// 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||{};$jscomp.scope={};$jscomp.ASSUME_ES5=false;$jscomp.ASSUME_NO_NATIVE_MAP=false;$jscomp.ASSUME_NO_NATIVE_SET=false;$jscomp.defineProperty=$jscomp.ASSUME_ES5||typeof Object.defineProperties=="function"?Object.defineProperty:function(target,property,descriptor){descriptor=descriptor;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","es3");$jscomp.SYMBOL_PREFIX="jscomp_symbol_";$jscomp.initSymbol=function(){$jscomp.initSymbol=function(){};if(!$jscomp.global["Symbol"])$jscomp.global["Symbol"]=$jscomp.Symbol};$jscomp.Symbol=function(){var counter=0;function Symbol(opt_description){return $jscomp.SYMBOL_PREFIX+(opt_description||"")+counter++}return Symbol}();
$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.initSymbolAsyncIterator=function(){$jscomp.initSymbol();var symbolAsyncIterator=$jscomp.global["Symbol"].asyncIterator;if(!symbolAsyncIterator)symbolAsyncIterator=$jscomp.global["Symbol"].asyncIterator=$jscomp.global["Symbol"]("asyncIterator");$jscomp.initSymbolAsyncIterator=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.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","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","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","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","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;var k=0;while(!(next=arrayLike.next()).done)result.push(opt_mapFn.call(opt_thisArg,next.value,k++))}else{var len=arrayLike.length;for(var i=
0;i<len;i++)result.push(opt_mapFn.call(opt_thisArg,arrayLike[i],i))}return result};return polyfill},"es6","es3");$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","es3");
$jscomp.polyfill("Array.prototype.includes",function(orig){if(orig)return orig;var includes=function(searchElement,opt_fromIndex){var array=this;if(array instanceof String)array=String(array);var len=array.length;var i=opt_fromIndex||0;if(i<0)i=Math.max(i+len,0);for(;i<len;i++){var element=array[i];if(element===searchElement||Object.is(element,searchElement))return true}return false};return includes},"es7","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","es3");$jscomp.polyfill("Array.of",function(orig){if(orig)return orig;var polyfill=function(var_args){return Array.from(arguments)};return polyfill},"es6","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},"es8","es3");$jscomp.makeIterator=function(iterable){$jscomp.initSymbolIterator();var iteratorFunction=iterable[Symbol.iterator];return iteratorFunction?iteratorFunction.call(iterable):$jscomp.arrayIterator(iterable)};$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];executingBatch[i]=null;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){for(var i=0;i<this.onSettledCallbacks_.length;++i)asyncExecutor.asyncExecute(this.onSettledCallbacks_[i]);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(callback)};function resolvingPromise(opt_value){if(opt_value instanceof PolyfillPromise)return opt_value;else return new PolyfillPromise(function(resolve,reject){resolve(opt_value)})}PolyfillPromise["resolve"]=resolvingPromise;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())resolvingPromise(iterRec.value).callWhenSettled_(resolve,reject)})};PolyfillPromise["all"]=function(thenablesOrValues){var iterator=$jscomp.makeIterator(thenablesOrValues);var iterRec=iterator.next();if(iterRec.done)return resolvingPromise([]);
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++;resolvingPromise(iterRec.value).callWhenSettled_(onFulfilled(resultsArray.length-1),rejectAll);iterRec=iterator.next()}while(!iterRec.done)})};return PolyfillPromise},"es6","es3");
$jscomp.polyfill("Promise.prototype.finally",function(orig){if(orig)return orig;var polyfill=function(onFinally){return this.then(function(value){var promise=Promise.resolve(onFinally());return promise.then(function(){return value})},function(reason){var promise=Promise.resolve(onFinally());return promise.then(function(){throw reason;})})};return polyfill},"es9","es3");
$jscomp.makeAsyncIterator=function(iterable){$jscomp.initSymbolAsyncIterator();var asyncIteratorFunction=iterable[Symbol.asyncIterator];if(asyncIteratorFunction!==undefined)return asyncIteratorFunction.call(iterable);return new $jscomp.AsyncIteratorFromSyncWrapper($jscomp.makeIterator(iterable))};
$jscomp.AsyncIteratorFromSyncWrapper=function(iterator){this[Symbol.asyncIterator]=function(){return this};this[Symbol.iterator]=function(){return iterator};this.next=function(param){return Promise.resolve(iterator.next(param))};if(iterator["throw"]!==undefined)this["throw"]=function(param){return Promise.resolve(iterator["throw"](param))};if(iterator["return"]!==undefined)this["return"]=function(param){return Promise.resolve(iterator["return"](param))}};
$jscomp.AsyncGeneratorWrapper$ActionEnum={YIELD_VALUE:0,YIELD_STAR:1,AWAIT_VALUE:2};$jscomp.AsyncGeneratorWrapper$ActionRecord=function(action,value){this.action=action;this.value=value};$jscomp.AsyncGeneratorWrapper$GeneratorMethod={NEXT:"next",THROW:"throw",RETURN:"return"};$jscomp.AsyncGeneratorWrapper$ExecutionFrame_=function(method,param,resolve,reject){this.method=method;this.param=param;this.resolve=resolve;this.reject=reject};
$jscomp.AsyncGeneratorWrapper$ExecutionNode_=function(frame,next){this.frame=frame;this.next=next};$jscomp.AsyncGeneratorWrapper$ExecutionQueue_=function(){this.head_=null;this.tail_=null};$jscomp.AsyncGeneratorWrapper$ExecutionQueue_.prototype.isEmpty=function(){return this.head_===null};$jscomp.AsyncGeneratorWrapper$ExecutionQueue_.prototype.first=function(){if(this.head_)return this.head_.frame;else throw new Error("no frames in executionQueue");};
$jscomp.AsyncGeneratorWrapper$ExecutionQueue_.prototype.drop=function(){if(this.head_){this.head_=this.head_.next;if(!this.head_)this.tail_=null}};$jscomp.AsyncGeneratorWrapper$ExecutionQueue_.prototype.enqueue=function(newFrame){var node=new $jscomp.AsyncGeneratorWrapper$ExecutionNode_(newFrame,null);if(this.tail_){this.tail_.next=node;this.tail_=node}else{this.head_=node;this.tail_=node}};
$jscomp.AsyncGeneratorWrapper=function(generator){this.generator_=generator;this.delegate_=null;this.executionQueue_=new $jscomp.AsyncGeneratorWrapper$ExecutionQueue_;$jscomp.initSymbolAsyncIterator();this[Symbol.asyncIterator]=function(){return this};var self=this;this.boundHandleDelegateResult_=function(record){self.handleDelegateResult_(record)};this.boundHandleDelegateError_=function(thrownError){self.handleDelegateError_(thrownError)};this.boundRejectAndClose_=function(err){self.rejectAndClose_(err)}};
$jscomp.AsyncGeneratorWrapper.prototype.enqueueMethod_=function(method,param){var self=this;return new Promise(function(resolve,reject){var wasEmpty=self.executionQueue_.isEmpty();self.executionQueue_.enqueue(new $jscomp.AsyncGeneratorWrapper$ExecutionFrame_(method,param,resolve,reject));if(wasEmpty)self.runFrame_()})};$jscomp.AsyncGeneratorWrapper.prototype.next=function(opt_value){return this.enqueueMethod_($jscomp.AsyncGeneratorWrapper$GeneratorMethod.NEXT,opt_value)};
$jscomp.AsyncGeneratorWrapper.prototype["return"]=function(value){return this.enqueueMethod_($jscomp.AsyncGeneratorWrapper$GeneratorMethod.RETURN,new $jscomp.AsyncGeneratorWrapper$ActionRecord($jscomp.AsyncGeneratorWrapper$ActionEnum.YIELD_VALUE,value))};$jscomp.AsyncGeneratorWrapper.prototype["throw"]=function(exception){return this.enqueueMethod_($jscomp.AsyncGeneratorWrapper$GeneratorMethod.THROW,exception)};
$jscomp.AsyncGeneratorWrapper.prototype.runFrame_=function(){if(!this.executionQueue_.isEmpty())try{if(this.delegate_)this.runDelegateFrame_();else this.runGeneratorFrame_()}catch(err){this.rejectAndClose_(err)}};
$jscomp.AsyncGeneratorWrapper.prototype.runGeneratorFrame_=function(){var self=this;var frame=this.executionQueue_.first();try{var genRec=this.generator_[frame.method](frame.param);if(genRec.value instanceof $jscomp.AsyncGeneratorWrapper$ActionRecord)switch(genRec.value.action){case $jscomp.AsyncGeneratorWrapper$ActionEnum.YIELD_VALUE:Promise.resolve(genRec.value.value).then(function(resolvedValue){frame.resolve({value:resolvedValue,done:genRec.done});self.executionQueue_.drop();self.runFrame_()},
function(e){frame.reject(e);self.executionQueue_.drop();self.runFrame_()})["catch"](this.boundRejectAndClose_);return;case $jscomp.AsyncGeneratorWrapper$ActionEnum.YIELD_STAR:self.delegate_=$jscomp.makeAsyncIterator(genRec.value.value);frame.method=$jscomp.AsyncGeneratorWrapper$GeneratorMethod.NEXT;frame.param=undefined;self.runFrame_();return;case $jscomp.AsyncGeneratorWrapper$ActionEnum.AWAIT_VALUE:Promise.resolve(genRec.value.value).then(function(resolvedValue){frame.method=$jscomp.AsyncGeneratorWrapper$GeneratorMethod.NEXT;
frame.param=resolvedValue;self.runFrame_()},function(thrownErr){frame.method=$jscomp.AsyncGeneratorWrapper$GeneratorMethod.THROW;frame.param=thrownErr;self.runFrame_()})["catch"](this.boundRejectAndClose_);return;default:throw new Error("Unrecognized AsyncGeneratorWrapper$ActionEnum");}else{frame.resolve(genRec);self.executionQueue_.drop();self.runFrame_()}}catch(e){frame.reject(e);self.executionQueue_.drop();self.runFrame_()}};
$jscomp.AsyncGeneratorWrapper.prototype.runDelegateFrame_=function(){if(!this.delegate_)throw new Error("no delegate to perform execution");var frame=this.executionQueue_.first();if(frame.method in this.delegate_)try{this.delegate_[frame.method](frame.param).then(this.boundHandleDelegateResult_,this.boundHandleDelegateError_)["catch"](this.boundRejectAndClose_)}catch(err){this.handleDelegateError_(err)}else{this.delegate_=null;this.runFrame_()}};
$jscomp.AsyncGeneratorWrapper.prototype.handleDelegateResult_=function(record){var frame=this.executionQueue_.first();if(record.done===true){this.delegate_=null;frame.method=$jscomp.AsyncGeneratorWrapper$GeneratorMethod.NEXT;frame.param=record.value;this.runFrame_()}else{frame.resolve({value:record.value,done:false});this.executionQueue_.drop();this.runFrame_()}};
$jscomp.AsyncGeneratorWrapper.prototype.handleDelegateError_=function(thrownError){var frame=this.executionQueue_.first();this.delegate_=null;frame.method=$jscomp.AsyncGeneratorWrapper$GeneratorMethod.THROW;frame.param=thrownError;this.runFrame_()};
$jscomp.AsyncGeneratorWrapper.prototype.rejectAndClose_=function(err){if(!this.executionQueue_.isEmpty()){this.executionQueue_.first().reject(err);this.executionQueue_.drop()}if(this.delegate_&&"return"in this.delegate_){this.delegate_["return"](undefined);this.delegate_=null}this.generator_["return"](undefined);this.runFrame_()};$jscomp.underscoreProtoCanBeSet=function(){var x={a:true};var y={};try{y.__proto__=x;return y.a}catch(e){}return false};
$jscomp.setPrototypeOf=typeof Object.setPrototypeOf=="function"?Object.setPrototypeOf:$jscomp.underscoreProtoCanBeSet()?function(target,proto){target.__proto__=proto;if(target.__proto__!==proto)throw new TypeError(target+" is not extensible");return target}:null;$jscomp.generator={};$jscomp.generator.ensureIteratorResultIsObject_=function(result){if(result instanceof Object)return;throw new TypeError("Iterator result "+result+" is not an object");};
$jscomp.generator.Context=function(){this.isRunning_=false;this.yieldAllIterator_=null;this.yieldResult=undefined;this.nextAddress=1;this.catchAddress_=0;this.finallyAddress_=0;this.abruptCompletion_=null;this.finallyContexts_=null};$jscomp.generator.Context.prototype.start_=function(){if(this.isRunning_)throw new TypeError("Generator is already running");this.isRunning_=true};$jscomp.generator.Context.prototype.stop_=function(){this.isRunning_=false};
$jscomp.generator.Context.prototype.jumpToErrorHandler_=function(){this.nextAddress=this.catchAddress_||this.finallyAddress_};$jscomp.generator.Context.prototype.next_=function(value){this.yieldResult=value};$jscomp.generator.Context.prototype.throw_=function(e){this.abruptCompletion_={exception:e,isException:true};this.jumpToErrorHandler_()};$jscomp.generator.Context.prototype["return"]=function(value){this.abruptCompletion_={"return":value};this.nextAddress=this.finallyAddress_};
$jscomp.generator.Context.prototype.jumpThroughFinallyBlocks=function(nextAddress){this.abruptCompletion_={jumpTo:nextAddress};this.nextAddress=this.finallyAddress_};$jscomp.generator.Context.prototype.yield=function(value,resumeAddress){this.nextAddress=resumeAddress;return{value:value}};
$jscomp.generator.Context.prototype.yieldAll=function(iterable,resumeAddress){var iterator=$jscomp.makeIterator(iterable);var result=iterator.next();$jscomp.generator.ensureIteratorResultIsObject_(result);if(result.done){this.yieldResult=result.value;this.nextAddress=resumeAddress;return}this.yieldAllIterator_=iterator;return this.yield(result.value,resumeAddress)};$jscomp.generator.Context.prototype.jumpTo=function(nextAddress){this.nextAddress=nextAddress};
$jscomp.generator.Context.prototype.jumpToEnd=function(){this.nextAddress=0};$jscomp.generator.Context.prototype.setCatchFinallyBlocks=function(catchAddress,finallyAddress){this.catchAddress_=catchAddress;if(finallyAddress!=undefined)this.finallyAddress_=finallyAddress};$jscomp.generator.Context.prototype.setFinallyBlock=function(finallyAddress){this.catchAddress_=0;this.finallyAddress_=finallyAddress||0};
$jscomp.generator.Context.prototype.leaveTryBlock=function(nextAddress,catchAddress){this.nextAddress=nextAddress;this.catchAddress_=catchAddress||0};$jscomp.generator.Context.prototype.enterCatchBlock=function(nextCatchBlockAddress){this.catchAddress_=nextCatchBlockAddress||0;var exception=this.abruptCompletion_.exception;this.abruptCompletion_=null;return exception};
$jscomp.generator.Context.prototype.enterFinallyBlock=function(nextCatchAddress,nextFinallyAddress,finallyDepth){if(!finallyDepth)this.finallyContexts_=[this.abruptCompletion_];else this.finallyContexts_[finallyDepth]=this.abruptCompletion_;this.catchAddress_=nextCatchAddress||0;this.finallyAddress_=nextFinallyAddress||0};
$jscomp.generator.Context.prototype.leaveFinallyBlock=function(nextAddress,finallyDepth){var preservedContext=this.finallyContexts_.splice(finallyDepth||0)[0];var abruptCompletion=this.abruptCompletion_=this.abruptCompletion_||preservedContext;if(abruptCompletion){if(abruptCompletion.isException)return this.jumpToErrorHandler_();if(abruptCompletion.jumpTo!=undefined&&this.finallyAddress_<abruptCompletion.jumpTo){this.nextAddress=abruptCompletion.jumpTo;this.abruptCompletion_=null}else this.nextAddress=
this.finallyAddress_}else this.nextAddress=nextAddress};$jscomp.generator.Context.prototype.forIn=function(object){return new $jscomp.generator.Context.PropertyIterator(object)};$jscomp.generator.Context.PropertyIterator=function(object){this.object_=object;this.properties_=[];for(var property in object)this.properties_.push(property);this.properties_.reverse()};
$jscomp.generator.Context.PropertyIterator.prototype.getNext=function(){while(this.properties_.length>0){var property=this.properties_.pop();if(property in this.object_)return property}return null};$jscomp.generator.Engine_=function(program){this.context_=new $jscomp.generator.Context;this.program_=program};
$jscomp.generator.Engine_.prototype.next_=function(value){this.context_.start_();if(this.context_.yieldAllIterator_)return this.yieldAllStep_(this.context_.yieldAllIterator_.next,value,this.context_.next_);this.context_.next_(value);return this.nextStep_()};
$jscomp.generator.Engine_.prototype.return_=function(value){this.context_.start_();var yieldAllIterator=this.context_.yieldAllIterator_;if(yieldAllIterator){var returnFunction="return"in yieldAllIterator?yieldAllIterator["return"]:function(v){return{value:v,done:true}};return this.yieldAllStep_(returnFunction,value,this.context_["return"])}this.context_["return"](value);return this.nextStep_()};
$jscomp.generator.Engine_.prototype.throw_=function(exception){this.context_.start_();if(this.context_.yieldAllIterator_)return this.yieldAllStep_(this.context_.yieldAllIterator_["throw"],exception,this.context_.next_);this.context_.throw_(exception);return this.nextStep_()};
$jscomp.generator.Engine_.prototype.yieldAllStep_=function(action,value,nextAction){try{var result=action.call(this.context_.yieldAllIterator_,value);$jscomp.generator.ensureIteratorResultIsObject_(result);if(!result.done){this.context_.stop_();return result}var resultValue=result.value}catch(e){this.context_.yieldAllIterator_=null;this.context_.throw_(e);return this.nextStep_()}this.context_.yieldAllIterator_=null;nextAction.call(this.context_,resultValue);return this.nextStep_()};
$jscomp.generator.Engine_.prototype.nextStep_=function(){while(this.context_.nextAddress)try{var yieldValue=this.program_(this.context_);if(yieldValue){this.context_.stop_();return{value:yieldValue.value,done:false}}}catch(e){this.context_.yieldResult=undefined;this.context_.throw_(e)}this.context_.stop_();if(this.context_.abruptCompletion_){var abruptCompletion=this.context_.abruptCompletion_;this.context_.abruptCompletion_=null;if(abruptCompletion.isException)throw abruptCompletion.exception;return{value:abruptCompletion["return"],
done:true}}return{value:undefined,done:true}};$jscomp.generator.Generator_=function(engine){this.next=function(opt_value){return engine.next_(opt_value)};this["throw"]=function(exception){return engine.throw_(exception)};this["return"]=function(value){return engine.return_(value)};$jscomp.initSymbolIterator();this[Symbol.iterator]=function(){return this}};
$jscomp.generator.createGenerator=function(generator,program){var result=new $jscomp.generator.Generator_(new $jscomp.generator.Engine_(program));if($jscomp.setPrototypeOf)$jscomp.setPrototypeOf(result,generator.prototype);return result};
$jscomp.asyncExecutePromiseGenerator=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.asyncExecutePromiseGeneratorFunction=function(generatorFunction){return $jscomp.asyncExecutePromiseGenerator(generatorFunction())};$jscomp.asyncExecutePromiseGeneratorProgram=function(program){return $jscomp.asyncExecutePromiseGenerator(new $jscomp.generator.Generator_(new $jscomp.generator.Engine_(program)))};
$jscomp.checkEs6ConformanceViaProxy=function(){try{var proxied={};var proxy=Object.create(new $jscomp.global["Proxy"](proxied,{"get":function(target,key,receiver){return target==proxied&&key=="q"&&receiver==proxy}}));return proxy["q"]===true}catch(err){return false}};$jscomp.USE_PROXY_FOR_ES6_CONFORMANCE_CHECKS=false;$jscomp.ES6_CONFORMANCE=$jscomp.USE_PROXY_FOR_ES6_CONFORMANCE_CHECKS&&$jscomp.checkEs6ConformanceViaProxy();
$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($jscomp.USE_PROXY_FOR_ES6_CONFORMANCE_CHECKS){if(NativeWeakMap&&$jscomp.ES6_CONFORMANCE)return NativeWeakMap}else if(isConformant())return NativeWeakMap;var prop=
"$jscomp_hidden_"+Math.random();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","es3");$jscomp.MapEntry=function(){this.previous;this.next;this.head;this.key;this.value};
$jscomp.polyfill("Map",function(NativeMap){function isConformant(){if($jscomp.ASSUME_NO_NATIVE_MAP||!NativeMap||typeof NativeMap!="function"||!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($jscomp.USE_PROXY_FOR_ES6_CONFORMANCE_CHECKS){if(NativeMap&&$jscomp.ES6_CONFORMANCE)return NativeMap}else if(isConformant())return NativeMap;$jscomp.initSymbol();$jscomp.initSymbolIterator();var idMap=new WeakMap;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){key=key===0?0:key;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","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","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","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","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","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","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","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","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","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){if(!max)return max;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","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","es3");$jscomp.polyfill("Math.log10",function(orig){if(orig)return orig;var polyfill=function(x){return Math.log(x)/Math.LN10};return polyfill},"es6","es3");
$jscomp.polyfill("Math.log2",function(orig){if(orig)return orig;var polyfill=function(x){return Math.log(x)/Math.LN2};return polyfill},"es6","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","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","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","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","es3");
$jscomp.polyfill("Number.EPSILON",function(orig){return Math.pow(2,-52)},"es6","es3");$jscomp.polyfill("Number.MAX_SAFE_INTEGER",function(){return 9007199254740991},"es6","es3");$jscomp.polyfill("Number.MIN_SAFE_INTEGER",function(){return-9007199254740991},"es6","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","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","es3");$jscomp.polyfill("Number.isNaN",function(orig){if(orig)return orig;var polyfill=function(x){return typeof x==="number"&&isNaN(x)};return polyfill},"es6","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","es3");$jscomp.polyfill("Number.parseFloat",function(orig){return orig||parseFloat},"es6","es3");$jscomp.polyfill("Number.parseInt",function(orig){return orig||parseInt},"es6","es3");
$jscomp.assign=typeof Object.assign=="function"?Object.assign: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};$jscomp.polyfill("Object.assign",function(orig){return orig||$jscomp.assign},"es6","es3");
$jscomp.polyfill("Object.entries",function(orig){if(orig)return orig;var entries=function(obj){var result=[];for(var key in obj)if($jscomp.owns(obj,key))result.push([key,obj[key]]);return result};return entries},"es8","es3");$jscomp.polyfill("Object.getOwnPropertySymbols",function(orig){if(orig)return orig;return function(){return[]}},"es6","es5");
$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("Object.getOwnPropertyDescriptors",function(orig){if(orig)return orig;var getOwnPropertyDescriptors=function(obj){var result={};var keys=Reflect.ownKeys(obj);for(var i=0;i<keys.length;i++)result[keys[i]]=Object.getOwnPropertyDescriptor(obj,keys[i]);return result};return getOwnPropertyDescriptors},"es8","es5");$jscomp.polyfill("Object.setPrototypeOf",function(orig){return orig||$jscomp.setPrototypeOf},"es6","es5");
$jscomp.polyfill("Object.values",function(orig){if(orig)return orig;var values=function(obj){var result=[];for(var key in obj)if($jscomp.owns(obj,key))result.push(obj[key]);return result};return values},"es8","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.objectCreate=$jscomp.ASSUME_ES5||typeof Object.create=="function"?Object.create:function(prototype){var ctor=function(){};ctor.prototype=prototype;return new ctor};
$jscomp.construct=function(){function reflectConstructWorks(){function Base(){}function Derived(){}new Base;Reflect.construct(Base,[],Derived);return new Base instanceof Base}if(typeof Reflect!="undefined"&&Reflect.construct){if(reflectConstructWorks())return Reflect.construct;var brokenConstruct=Reflect.construct;var patchedConstruct=function(target,argList,opt_newTarget){var out=brokenConstruct(target,argList);if(opt_newTarget)Reflect.setPrototypeOf(out,opt_newTarget.prototype);return out};return patchedConstruct}function construct(target,
argList,opt_newTarget){if(opt_newTarget===undefined)opt_newTarget=target;var proto=opt_newTarget.prototype||Object.prototype;var obj=$jscomp.objectCreate(proto);var apply=Function.prototype.apply;var out=apply.call(target,obj,argList);return out||obj}return construct}();$jscomp.polyfill("Reflect.construct",function(orig){return $jscomp.construct},"es6","es3");
$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($jscomp.ASSUME_ES5||typeof Object.isExtensible=="function")return Object.isExtensible;return function(){return true}},"es6","es3");
$jscomp.polyfill("Reflect.preventExtensions",function(orig){if(orig)return orig;if(!($jscomp.ASSUME_ES5||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;else if($jscomp.setPrototypeOf){var setPrototypeOf=$jscomp.setPrototypeOf;var polyfill=function(target,proto){try{setPrototypeOf(target,proto);return true}catch(e){return false}};return polyfill}else return null},"es6","es5");
$jscomp.polyfill("Set",function(NativeSet){function isConformant(){if($jscomp.ASSUME_NO_NATIVE_SET||!NativeSet||typeof NativeSet!="function"||!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($jscomp.USE_PROXY_FOR_ES6_CONFORMANCE_CHECKS){if(NativeSet&&$jscomp.ES6_CONFORMANCE)return NativeSet}else 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){value=value===0?0: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.keys=PolyfillSet.prototype.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","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","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","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","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","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","es3");
$jscomp.stringPadding=function(padString,padLength){var padding=padString!==undefined?String(padString):" ";if(!(padLength>0)||!padding)return"";var repeats=Math.ceil(padLength/padding.length);return padding.repeat(repeats).substring(0,padLength)};
$jscomp.polyfill("String.prototype.padEnd",function(orig){if(orig)return orig;var padEnd=function(targetLength,opt_padString){var string=$jscomp.checkStringArgs(this,null,"padStart");var padLength=targetLength-string.length;return string+$jscomp.stringPadding(opt_padString,padLength)};return padEnd},"es8","es3");
$jscomp.polyfill("String.prototype.padStart",function(orig){if(orig)return orig;var padStart=function(targetLength,opt_padString){var string=$jscomp.checkStringArgs(this,null,"padStart");var padLength=targetLength-string.length;return $jscomp.stringPadding(opt_padString,padLength)+string};return padStart},"es8","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","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){childCtor.prototype=$jscomp.objectCreate(parentCtor.prototype);childCtor.prototype.constructor=childCtor;if($jscomp.setPrototypeOf){var setPrototypeOf=$jscomp.setPrototypeOf;setPrototypeOf(childCtor,parentCtor)}else for(var p in parentCtor){if(p=="prototype")continue;if(Object.defineProperties){var descriptor=Object.getOwnPropertyDescriptor(parentCtor,p);if(descriptor)Object.defineProperty(childCtor,p,descriptor)}else childCtor[p]=parentCtor[p]}childCtor.superClass_=
parentCtor.prototype};
$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($jscomp.USE_PROXY_FOR_ES6_CONFORMANCE_CHECKS){if(NativeWeakSet&&$jscomp.ES6_CONFORMANCE)return NativeWeakSet}else 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","es3");
(function(){var Module=function(id,opt_exports){this.id=id;this.exports=opt_exports||{}};Module.prototype.exportAllFrom=function(other){var module=this;var define={};for(var key in other){if(key=="default"||key in module.exports||key in define)continue;define[key]={enumerable:true,get:function(key){return function(){return other[key]}}(key)}}$jscomp.global.Object.defineProperties(module.exports,define)};var CacheEntry=function(def,module,path){this.def=def;this.module=module;this.path=path;this.blockingDeps=
new Set};CacheEntry.prototype.load=function(){if(this.def){var def=this.def;this.def=null;callRequireCallback(def,this.module)}return this.module.exports};function callRequireCallback(callback,opt_module){var oldPath=currentModulePath;try{if(opt_module){currentModulePath=opt_module.id;callback.call(opt_module,createRequire(opt_module),opt_module.exports,opt_module)}else callback($jscomp.require)}finally{currentModulePath=oldPath}}var moduleCache=new Map;var currentModulePath="";function normalizePath(path){var components=
path.split("/");var i=0;while(i<components.length)if(components[i]==".")components.splice(i,1);else if(i&&components[i]==".."&&components[i-1]&&components[i-1]!="..")components.splice(--i,2);else i++;return components.join("/")}$jscomp.getCurrentModulePath=function(){return currentModulePath};function getCacheEntry(id){var cacheEntry=moduleCache.get(id);if(cacheEntry===undefined)throw new Error("Module "+id+" does not exist.");return cacheEntry}var ensureMap=new Map;var CallbackEntry=function(requireSet,
callback){this.requireSet=requireSet;this.callback=callback};function maybeNormalizePath(root,absOrRelativePath){if(absOrRelativePath.startsWith("./")||absOrRelativePath.startsWith("../"))return normalizePath(root+"/../"+absOrRelativePath);else return absOrRelativePath}function createRequire(opt_module){function require(absOrRelativePath){var absPath=absOrRelativePath;if(opt_module)absPath=maybeNormalizePath(opt_module.id,absPath);return getCacheEntry(absPath).load()}function requireEnsure(requires,
callback){if(currentModulePath)for(var i=0;i<requires.length;i++)requires[i]=maybeNormalizePath(currentModulePath,requires[i]);var blockingRequires=[];for(var i=0;i<requires.length;i++){var required=moduleCache.get(requires[i]);if(!required||required.blockingDeps.size)blockingRequires.push(requires[i])}if(blockingRequires.length){var requireSet=new Set(blockingRequires);var callbackEntry=new CallbackEntry(requireSet,callback);requireSet.forEach(function(require){var arr=ensureMap.get(require);if(!arr){arr=
[];ensureMap.set(require,arr)}arr.push(callbackEntry)})}else callback(require)}require.ensure=requireEnsure;return require}$jscomp.require=createRequire();$jscomp.hasModule=function(id){return moduleCache.has(id)};function markAvailable(absModulePath){var ensures=ensureMap.get(absModulePath);if(ensures){for(var i=0;i<ensures.length;i++){var entry=ensures[i];entry.requireSet["delete"](absModulePath);if(!entry.requireSet.size){ensures.splice(i--,1);callRequireCallback(entry.callback)}}if(!ensures.length)ensureMap["delete"](absModulePath)}}
$jscomp.registerModule=function(moduleDef,absModulePath,opt_shallowDeps){if(moduleCache.has(absModulePath))throw new Error("Module "+absModulePath+" has already been registered.");if(currentModulePath)throw new Error("Cannot nest modules.");var shallowDeps=opt_shallowDeps||[];for(var i=0;i<shallowDeps.length;i++)shallowDeps[i]=maybeNormalizePath(absModulePath,shallowDeps[i]);var blockingDeps=new Set;for(var i=0;i<shallowDeps.length;i++)getTransitiveBlockingDepsOf(shallowDeps[i]).forEach(function(transitive){blockingDeps.add(transitive)});
blockingDeps["delete"](absModulePath);var cacheEntry=new CacheEntry(moduleDef,new Module(absModulePath),absModulePath);moduleCache.set(absModulePath,cacheEntry);blockingDeps.forEach(function(blocker){addAsBlocking(cacheEntry,blocker)});if(!blockingDeps.size)markAvailable(cacheEntry.module.id);removeAsBlocking(cacheEntry)};function getTransitiveBlockingDepsOf(moduleId){var cacheEntry=moduleCache.get(moduleId);var blocking=new Set;if(cacheEntry)cacheEntry.blockingDeps.forEach(function(dep){getTransitiveBlockingDepsOf(dep).forEach(function(transitive){blocking.add(transitive)})});
else blocking.add(moduleId);return blocking}var blockingModulePathToBlockedModules=new Map;function addAsBlocking(blocked,blocker){if(blocked.module.id!=blocker){var blockedModules=blockingModulePathToBlockedModules.get(blocker);if(!blockedModules){blockedModules=new Set;blockingModulePathToBlockedModules.set(blocker,blockedModules)}blockedModules.add(blocked);blocked.blockingDeps.add(blocker)}}function removeAsBlocking(cacheEntry){var blocked=blockingModulePathToBlockedModules.get(cacheEntry.module.id);
if(blocked){blockingModulePathToBlockedModules["delete"](cacheEntry.module.id);blocked.forEach(function(blockedCacheEntry){blockedCacheEntry.blockingDeps["delete"](cacheEntry.module.id);cacheEntry.blockingDeps.forEach(function(blocker){addAsBlocking(blockedCacheEntry,blocker)});if(!blockedCacheEntry.blockingDeps.size){removeAsBlocking(blockedCacheEntry);markAvailable(blockedCacheEntry.module.id)}})}}$jscomp.registerAndLoadModule=function(moduleDef,absModulePath,shallowDeps){$jscomp.require.ensure([absModulePath],
function(require){require(absModulePath)});$jscomp.registerModule(moduleDef,absModulePath,shallowDeps)};$jscomp.registerEs6ModuleExports=function(absModulePath,exports){if(moduleCache.has(absModulePath))throw new Error("Module at path "+absModulePath+" is already registered.");var entry=new CacheEntry(null,new Module(absModulePath,exports),absModulePath);moduleCache.set(absModulePath,entry);markAvailable(absModulePath)};$jscomp.clearModules=function(){moduleCache.clear()}})();
(function(){var globalRef=function(){if(typeof window!="undefined")return window;else if(this)return this;else if(typeof global!="undefined")return global;else if(typeof self!="undefined")return self;else throw Error("Cannot infer global object.");}();var localJscomp=$jscomp;var globalJscomp=globalRef["$jscomp"];if(localJscomp==globalJscomp)return;if(globalJscomp)for(var key in globalJscomp)localJscomp[key]=globalJscomp[key];globalRef["$jscomp"]=localJscomp})();(function(window){var $wnd={"Error":{}};var $doc={},$moduleName,$moduleBase;function gY(){}function bY(){}function vb(){}function Fb(){}function qc(){}function qk(){}function ok(){}function sk(){}function uk(){}function wk(){}function yk(){}function Ak(){}function Ad(){}function Ck(){}function yr(){}function pt(){}function Zx(){}function lB(){}function $B(){}function gC(){}function qC(){}function GC(){}function gD(){}function qD(){}function xD(){}function J$(){}function z2(){}function b3(){}function u7(){}
function u8(){}function X8(){}function dab(){}function nbb(){}function icb(){}function efb(){}function jfb(){}function hgb(){}function ahb(){}function mhb(){}function ohb(){}function Jjb(){}function Sjb(){}function Wjb(){}function alb(){}function clb(){}function Hnb(){}function Pnb(){}function Tnb(){}function yob(){}function Xob(){}function apb(){}function Ppb(){}function Prb(){}function Gqb(){}function Mqb(){}function Lxb(){}function ozb(){}function Szb(){}function _zb(){}function bAb(){}function dAb(){}
function CAb(){}function FAb(){}function HAb(){}function PAb(){}function P2b(){}function U2b(){}function $2b(){}function EBb(){}function KBb(){}function pEb(){}function zYb(){}function wZb(){}function h_b(){}function m0b(){}function m3b(){}function d3b(){}function g3b(){}function sgc(){}function rkc(){}function vkc(){}function zkc(){}function Dkc(){}function Hkc(){}function Lkc(){}function Pkc(){}function Tkc(){}function Ttc(){}function rtc(){}function rDc(){}function uDc(){}function xDc(){}function ADc(){}
function auc(){}function iuc(){}function iEc(){}function dEc(){}function KEc(){}function _Ec(){}function Lwc(){}function Pwc(){}function eAc(){}function gAc(){}function nBc(){}function jCc(){}function Hcc(a){}function ekb(a){}function Ttb(a){Nd(a)}function hY(){NBb()}function Hzb(){zzb()}function Fp(){this.a=0}function gx(){this.a=8}function lc(a){this.a=a}function De(a){this.a=a}function Ve(a){this.a=a}function dh(a){this.a=a}function yj(a){this.a=a}function Kj(a){this.a=a}function Pj(a){this.a=
a}function gk(a){this.a=a}function Ek(a){this.a=a}function ml(a){this.a=a}function qo(a){this.a=a}function wq(a){this.a=a}function vr(a){this.a=a}function ys(a){this.a=a}function et(a){this.a=a}function Jt(a){this.a=a}function Mt(a){this.b=a}function sw(a){this.b=a}function Vw(a){this.a=a}function tv(a){this.a=a}function Ax(a){this.a=a}function Ex(a){this.a=a}function Wx(a){this.a=a}function by(a){this.a=a}function uz(a){this.a=a}function yz(a){this.a=a}function Lz(a){this.a=a}function Uz(a){this.a=
a}function Xz(a){this.a=a}function Dz(a){this.b=a}function sB(a){this.e=a}function VB(a){this.a=a}function V4(a){this.a=a}function Y$(a){this.a=a}function i2(a){this.a=a}function b5(a){this.a=a}function d5(a){this.a=a}function f5(a){this.a=a}function h5(a){this.a=a}function j5(a){this.a=a}function q8(a){this.a=a}function fC(a){this.c=a}function pY(a){this.e=a}function JX(a){return a}function r4(a,b){a.n=b}function s4(a,b){a.r=b}function C5(a,b){a.j=b}function n6(a,b){a.sc=b}function Isb(a,b){a.c=
b}function vIb(a,b){a.c=b}function wIb(a,b){a.d=b}function Lzb(a,b){a.d=b}function L2b(a,b){a.g=b}function H2b(a,b){a.f=b}function N2b(a,b){a.j=b}function b6b(a,b){a.j=b}function b3b(a,b){a.c=b}function a3b(a,b){a.b=b}function c3b(a,b){a.d=b}function Z5b(a,b){a.d=b}function rZb(a,b){a.a=b}function tZb(a,b){a.n=b}function uZb(a,b){a.p=b}function a6b(a,b){a.i=b}function f6b(a,b){a.k=b}function Nec(a,b){a.k=b}function $hc(a,b){a.a=b}function JEc(a,b){a.a=b}function uab(a){this.a=a}function Bab(a){this.a=
a}function zab(a){this.b=a}function Jdb(a){this.b=a}function rbb(a){this.a=a}function Pbb(a){this.a=a}function mcb(a){this.a=a}function Xeb(a){this.a=a}function dib(a){this.a=a}function djb(a){this.a=a}function Dnb(a){this.a=a}function Lnb(a){this.a=a}function uob(a){this.a=a}function Ntb(a){this.a=a}function xyb(a){this.a=a}function Zzb(a){this.a=a}function CBb(a){this.a=a}function wHb(a){this.a=a}function WNb(a){this.a=a}function b0b(a){this.a=a}function bfb(a){this.c=a}function Q2b(a){this.c=a}
function hRb(a){this.d=a}function h7b(a){this.a=a}function k7b(a){this.a=a}function q1b(a){this.a=a}function L6b(a){this.a=a}function O6b(a){this.a=a}function BVb(a){this.j=a}function Blc(a){this.a=a}function Vlc(a){this.a=a}function qgc(a){this.a=a}function Mmc(a){this.a=a}function bnc(a){this.a=a}function Toc(a){this.a=a}function rpc(a){this.a=a}function Ypc(a){this.a=a}function Ipc(a){this.d=a}function zfc(a){this.b=a}function nic(a){this.b=a}function Vqc(a){this.b=a}function cqc(a){this.a=a}function hqc(a){this.a=
a}function mqc(a){this.a=a}function Kqc(a){this.a=a}function $qc(a){this.a=a}function frc(a){this.a=a}function ltc(a){this.a=a}function puc(a){this.a=a}function zuc(a){this.a=a}function Luc(a){this.b=a}function $uc(a){this.b=a}function Bsc(a){this.c=a}function xvc(a){this.d=a}function Yvc(a){this.a=a}function bwc(a){this.a=a}function xwc(a){this.a=a}function Bwc(a){this.a=a}function Twc(a){this.a=a}function yxc(a){this.a=a}function tyc(a){this.a=a}function Mzc(a){this.a=a}function MAc(a){this.a=a}
function XAc(a){this.a=a}function ZAc(a){this.a=a}function EAc(a){this.c=a}function RCc(a){this.a=a}function NEc(a){this.a=a}function cFc(a){this.a=a}function bBb(a){return a}function CX(a){return a.e}function di(a){a.c=a.d.d}function o1(a){a.d=new jyc}function hx(a){Hk(a,EGc)}function q1(a,b){P0(a.c,b)}function U0(a,b){b&&a.Sg()}function tc(a){this.a=Nd(a)}function Nc(a){this.a=Nd(a)}function gl(a){this.a=Nd(a)}function cw(a){this.a=Nd(a)}function hw(a){this.a=Nd(a)}function Yw(a){this.a=Nd(a)}function rx(a){this.a=
Nd(a)}function nh(a){this.b=Nd(a)}function Pt(a){this.b=Nd(a)}function r3(a,b){asc(a.d,b)}function m4(a,b){fsc(a.d,b)}function u5(a,b){asc(a.e,b)}function e6(a,b){e8(a.Dd,b)}function Hrc(){nrc(this)}function ksc(){$rc(this)}function lsc(){$rc(this)}function HC(){JA.call(this)}function Roc(){Roc=bY;bFc()}function czc(){this.a=Zyc()}function tr(){this.a=new ksc}function Dr(){this.b=new ksc}function is(){this.b=new ksc}function es(){this.a=new vzc}function jB(){this.a=new vzc}function Uqb(a){a.e=new $zc}
function Akb(a){a.d=new jyc}function K8(){this.a=new $zc}function zm(a){lm();this.a=a}function Nr(a){lm();this.a=a}function Tr(a){lm();this.a=a}function gt(a){Km();this.a=a}function Aw(a){Km();this.a=a}function _9(a){V9();this.a=a}function lD(a){kD();jD.dg(a)}function Umc(a){return a&-a}function yu(a,b){a.e=b;b.b=a}function Leb(a,b){Seb(a.j,b)}function Ceb(a,b){orc(a.c,b)}function kgc(a,b,c){a.p[b]=c}function WEc(a,b){a.length=b}function Hlc(){HC.call(this)}function Jmc(){HC.call(this)}function nnc(){HC.call(this)}
function Aoc(){HC.call(this)}function Xwc(){HC.call(this)}function lAc(){HC.call(this)}function Ejb(){HC.call(this)}function CYb(){HC.call(this)}function Mlc(){JA.call(this)}function Nl(){Nl=bY;Ml=new Ol}function Eb(){Eb=bY;Db=new Fb}function MC(){MC=bY;LC=new vb}function pc(){pc=bY;oc=new qc}function wc(){wc=bY;vc=new xc}function iu(){iu=bY;hu=new ju}function Yx(){Yx=bY;Xx=new Zx}function dD(){dD=bY;cD=new gD}function dZb(){this.c=new uoc}function Abb(){this.a=new qyc}function cob(){this.a=new qyc}
function qyc(){this.a=new jyc}function ryc(){this.a=new kyc}function bDc(){this.a=new jyc}function cDc(){this.a=new kyc}function GDc(){this.a=new jyc}function PCc(){this.a=new KBc}function kyc(){hpc.call(this)}function jyc(){gpc.call(this)}function Byc(){gpc.call(this)}function h3b(){g3b.call(this)}function j3b(){g3b.call(this)}function l3b(){j3b.call(this)}function Sj(a){Kf.call(this,a)}function Qq(a){fq.call(this,a)}function Vq(a){fq.call(this,a)}function Xq(a){Sj.call(this,a)}function pu(a){Sj.call(this,
a)}function fr(a){$n.call(this,a)}function ly(a){$n.call(this,a)}function nr(a){Go.call(this,a)}function rw(a){hw.call(this,a)}function Pw(a){Pt.call(this,a)}function Rw(a){Pt.call(this,a)}function RA(a){KA.call(this,a)}function SA(a){RA.call(this,a)}function tC(a){RA.call(this,a)}function IC(a){RA.call(this,a)}function Gab(a){Eab();this.a=a}function kbb(a){jbb();this.a=a}function vbb(a){ubb();this.a=a}function Acb(a){zcb();this.a=a}function Rcb(a){Hcb();this.a=a}function cdb(a){_cb();this.b=a}function _fb(a){Zfb();
this.a=a}function Jqb(a){this.a=a;qhb()}function Vqb(a,b){nyc(a.a.e,b)}function Iqb(a,b){Glb(a.a,b,a)}function Vx(a,b,c){Ni(a.a,b,c)}function w1(a,b){P0(a.c,P1(b))}function GA(a,b){a.e=b;FA(a,b)}function kc(a,b){return b==a.a}function FB(a){return a.b<a.c}function XBb(a){VBb();this.a=a}function QZb(a){FZb();this.a=a}function B$b(a){g$b();this.a=a}function J$b(a){g$b();this.a=a}function P_b(a){g$b();this.a=a}function Y_b(a){g$b();this.a=a}function qtb(a){otb();this.c=a}function wBc(a){a.b=null;a.c=
0}function XX(){VX==null&&(VX=[])}function As(){As=bY;zn();Yx()}function N8(){N8=bY;M8=new jyc}function ef(){throw CX(new Aoc);}function Bl(){throw CX(new Aoc);}function mm(){throw CX(new Aoc);}function om(){throw CX(new Aoc);}function pm(){throw CX(new Aoc);}function Cn(){throw CX(new Aoc);}function jx(a){this.a=Hk(a,EGc)}function FRb(a){while(ERb(a));}function S5b(a,b){R5b(a.f,a,b)}function qx(a,b){a.a.ve().ae(b)}function jC(a,b){a.a=b;return a}function CC(a,b){a.a=b;return a}function kC(a,b){a.b=
b;return a}function DC(a,b){a.b=b;return a}function lC(a,b){a.d=b;return a}function FC(a,b){a.d=b;return a}function mC(a,b){a.e=b;return a}function nC(a,b){a.f=b;return a}function oC(a,b){a.g=b;return a}function pC(a,b){a.i=b;return a}function EC(a,b){a.c=b;return a}function e2(a,b){a.g=b;return a}function f2(a,b){a.i=b;return a}function g2(a,b){a.e=b;return a}function _d(a,b){return a.f-b.f}function bgc(a,b){return a.p[b]}function I$(a,b){return H$(a,b)}function Mtb(a,b,c){A$(a.a,b,c)}function Fjb(a){IC.call(this,
a)}function Hjb(a){KC.call(this,a)}function KYb(a){IC.call(this,a)}function NYb(a){IC.call(this,a)}function OYb(a){IC.call(this,a)}function xZb(a){IC.call(this,a)}function Glc(a){IC.call(this,a)}function Ilc(a){IC.call(this,a)}function Kmc(a){IC.call(this,a)}function onc(a){IC.call(this,a)}function Boc(a){IC.call(this,a)}function Klc(a){KA.call(this,a)}function Psc(a){Tsc(a,a.length)}function Qsc(a){Usc(a,a.length)}function xrc(a){return a.b==a.c}function yrc(a){return a.a[a.b]}function csc(a,b){return a.a[b]}
function CBc(a){return!!a&&a.b}function UB(a){return wC(),zC(a)}function zD(a,b){return smc(a,b)}function kY(a){return a==1||a==2}function Q4(a){return new cyb(a)}function Xy(a){lm();this.a=Nd(a)}function qu(a){Df(a);yu(a.a,a.a)}function xj(a,b,c){Vx(a.a,b,c.a)}function zu(a,b){a.Sf(b);b.Rf(a)}function Hsb(a,b){a.a=b;a.d=null}function Rsb(a,b){a.a=b;return a}function rVb(a,b){a.a=b;return a}function tVb(a,b){a.b=b;return a}function xdb(a,b){a.b=b;return a}function npb(a,b){a.n=b;return a}function xVb(a,
b){a.n=b;return a}function uVb(a,b){a.c=b;return a}function vVb(a,b){a.f=b;return a}function wVb(a,b){a.d=b;return a}function yVb(a,b){a.g=b;return a}function zVb(a,b){a.o=b;return a}function AVb(a,b){a.i=b;return a}function Y5b(a,b){a.c=b;return a}function Ldc(a,b){a.b=b;return a}function Mdc(a,b){a.c=b;return a}function Ndc(a,b){a.d=b;return a}function Odc(a,b){a.i=b;return a}function Pdc(a,b){a.g=b;return a}function Sdc(a,b){a.j=b;return a}function Vdc(a,b){a.k=b;return a}function Wdc(a,b){a.n=
b;return a}function wd(a){a.d=true;return a}function mx(a){this.a=a;this.b=2}function ox(a){this.a=a;this.b=2}function vkb(a){wkb.call(this,a)}function r7b(a){p6b.call(this,a)}function A7b(a){p6b.call(this,a)}function Acc(a){pbc.call(this,a)}function Jlc(a){Ilc.call(this,a)}function yoc(a){Ilc.call(this,a)}function xoc(a){Blc.call(this,a)}function uoc(){Blc.call(this,"")}function voc(){Blc.call(this,"")}function vnc(a){Fjb.call(this,a)}function VC(){VC=bY;!!(kD(),jD)}function Vyc(){Vyc=bY;Uyc=Xyc()}
function Mvc(a){Luc.call(this,a)}function Svc(a){Mvc.call(this,a)}function iwc(a){dvc.call(this,a)}function dFc(a){cFc.call(this,a)}function _rc(a,b,c){TEc(a.a,b,c)}function XEc(a,b){return FD(a,b)}function hmc(a){return a.e&&a.e()}function Ze(a){return Pe(a.a,a.b)}function Ef(a,b){return a.c.re(b)}function WAc(a,b){while(a.ff(b));}function Xn(a,b){return Kw(a.d,b)}function fp(a,b){return a.a.Xe(b)}function imc(a){gmc(a);return a.p}function jmc(a){gmc(a);return a.n}function sr(a,b){kr(a,b);return a}
function Ut(a,b){return a.a.Ud(b)}function Wy(a,b){return xb(a.a,b)}function Jw(a){return!a?null:a.g}function Ow(a){return!a?null:a.i}function dE(a){return a.l|a.m<<22}function LX(a,b){return EX(a,b)<0}function P8(a,b){return a.b.Yd(b)}function J8(a){a.b=false;return a}function Aeb(a){Arc(a.c);Arc(a.i)}function _tc(){throw CX(new lAc);}function Duc(){throw CX(new Aoc);}function Euc(){throw CX(new Aoc);}function Fuc(){throw CX(new Aoc);}function Iuc(){throw CX(new Aoc);}function Juc(){throw CX(new Aoc);
}function Zuc(){throw CX(new Aoc);}function dgb(){dgb=bY;cgb=new hgb}function l0b(){l0b=bY;k0b=new m0b}function Lrb(){Lrb=bY;Krb=new Prb}function Pzb(){Pzb=bY;Ozb=new Szb}function _Ab(){_Ab=bY;$Ab=new cBb}function bD(){SC!=0&&(SC=0);UC=-1}function qJb(a){a.a=a.i-a.f-a.r-1}function zpb(a){this.a=a;this.b=1}function Utb(){Nd(tLc);this.a=tLc}function $tc(){$tc=bY;Ztc=new auc}function KAc(){KAc=bY;JAc=new jyc}function QCc(a){this.a=new LBc(a)}function Kwc(a,b){return Rlc(a,b)}function q4b(a,b){a.d&&H2b(a.a,
b)}function r4b(a,b){a.d&&I2b(a.a,b)}function lic(a,b){a!=cic&&(a.a=b)}function _Ac(a,b){while(a.wj(b));}function ce(a,b){this.e=a;this.f=b}function $e(a,b){this.a=a;this.b=b}function bj(a,b){this.a=a;this.c=b}function gj(a,b){this.a=a;this.c=b}function pj(a,b){this.a=a;this.b=b}function Lk(a,b){this.a=a;this.b=b}function Qk(a,b){this.a=a;this.b=b}function Sk(a,b){this.a=a;this.b=b}function Zk(a,b){this.a=a;this.b=b}function _k(a,b){this.a=a;this.b=b}function Cl(a,b){this.a=a;this.b=b}function Gg(a,
b){this.b=a;this.a=b}function Bh(a,b){this.b=a;this.c=b}function mq(a,b){this.b=a;this.a=b}function qq(a,b){this.g=a;this.i=b}function Jq(a,b){this.b=a;this.a=b}function Cp(a,b){this.a=a;this.b=b}function ns(a,b){this.a=a;this.b=b}function oe(a,b){ce.call(this,a,b)}function Ro(a,b){return ixc(a.a,b)}function Yn(a,b){return uvc(a.d,b)}function Xu(a,b){return Woc(a.b,b)}function br(a,b){return a>b&&b<AGc}function Vb(a){return a>=65&&a<=90}function lA(a,b){return a.g[b%a.d]}function aA(a,b){this.a=a;
this.b=b}function qv(a,b){this.a=a;this.b=b}function Fv(a,b){this.a=a;this.f=b}function Fy(a,b){this.a=a;this.b=b}function pz(a,b){this.a=a;this.b=b}function bB(a,b){this.b=a;this.a=b}function JC(a,b){LA.call(this,a,b)}function _Y(a,b){ce.call(this,a,b)}function P_(a,b){ce.call(this,a,b)}function D2(a,b){k2.call(this,a,b)}function $2(a,b){ce.call(this,a,b)}function E$(a,b){this.a=a;this.b=b}function O4(a,b){this.d=a;this.c=b}function Y4(a,b){this.a=a;this.b=b}function loc(a,b){a.a+=b;return a}function moc(a,
b){a.a+=b;return a}function sVb(a){a.e=true;return a}function HB(a){return Anc(a.a,a.b)}function BY(a,b){return rzc(a.e,b)}function DY(a,b){return qzc(a.e,b)}function l5(a,b){return nyc(a.d,b)}function f6(a,b){return g8(a.Dd,b)}function g6(a,b){return h8(a.Dd,b)}function HX(a,b){return EX(a,b)==0}function _5(a,b){ce.call(this,a,b)}function A6(a,b){ce.call(this,a,b)}function F6(a,b){ce.call(this,a,b)}function M6(a,b){ce.call(this,a,b)}function S6(a,b){ce.call(this,a,b)}function Y6(a,b){ce.call(this,
a,b)}function b7(a,b){ce.call(this,a,b)}function s7(a,b){ce.call(this,a,b)}function z7(a,b){ce.call(this,a,b)}function F7(a,b){ce.call(this,a,b)}function L7(a,b){ce.call(this,a,b)}function T7(a,b){ce.call(this,a,b)}function Z7(a,b){ce.call(this,a,b)}function O9(a,b){ce.call(this,a,b)}function Z8(a,b){this.a=a;this.b=b}function hLb(a,b){return a.a.Yd(b)}function OZb(a,b){return a.a[b<<1]}function a0b(a,b){return Zn(a.a,b)}function gic(a,b){return a.b.He(b)}function fpc(a){return a.d.c+a.e.b}function Guc(a,
b){return a.b.Yd(b)}function Huc(a,b){return a.b.Zd(b)}function Kuc(a,b){return a.b.ee(b)}function svc(a,b){return a.d.Fe(b)}function uvc(a,b){return xb(a.d,b)}function Pvc(a,b){return a.b.Yd(b)}function VEc(a,b,c){a.splice(b,c)}function qob(a,b,c){Hlb(a.b,a,b,c)}function RYb(a,b,c){poc(a.c,b,0,c)}function xFb(a,b,c){Z5b(a,c.c-b.c)}function p4(a,b){l4(a,A3(b));b4(a)}function oyc(a,b){return a.a.re(b)}function Pe(a,b){return Ue(a.c,a,b)}function Ub(a){return a>=97&&a<=122}function t$b(a){g$b();this.a=
Sm(a)}function eyc(a){this.c=a;byc(this)}function Pl(){this.c=(Eb(),Eb(),Db)}function wEc(){tEc.call(this,null)}function KBc(){LBc.call(this,null)}function _q(){Vi.call(this,new jyc)}function my(a){zn();_n.call(this,a)}function py(a){oy();Go.call(this,a)}function cgc(a){Nd(a.j);return a.j}function Jdc(a){a.e=a.e|2;return a}function Rdc(a){a.e=a.e|8;return a}function aD(a){$wnd.clearTimeout(a)}function m6(a,b){a.lc=new De(Nd(b))}function Xab(a,b){return Dgb(b,a.b)}function Yab(a,b){return Dgb(b,a.f)}
function aC(a,b){return b.b+a.c.i.b}function Tab(a,b){this.a=a;this.b=b}function ybb(a,b){this.a=a;this.b=b}function Obb(a,b){this.f=a;this.b=b}function Yeb(a,b){this.a=a;this.b=b}function uib(a,b){this.a=a;this.b=b}function ucb(a,b){this.a=a;this.c=b}function Wcb(a,b){this.b=a;this.a=b}function Edb(a,b){this.b=a;this.a=b}function feb(a,b){this.b=a;this.a=b}function rfb(a,b){this.b=a;this.a=b}function rob(a,b){this.b=a;this.a=b}function mob(a,b){this.b=a;this.a=b}function wob(a,b){this.b=a;this.a=
b}function Npb(a,b){this.b=a;this.a=b}function flb(a,b){this.a=a;this.b=b}function Hrb(a,b){this.a=a;this.b=b}function _ob(a,b){this.j=a;this.i=b}function Usb(a,b){this.b=a;this.a=b}function ofb(a){this.a=a;this.b=PHc}function Cdb(a,b){ce.call(this,a,b)}function sib(a,b){ce.call(this,a,b)}function Eib(a,b){ce.call(this,a,b)}function Eqb(a,b){ce.call(this,a,b)}function Gpb(a,b){ce.call(this,a,b)}function Bsb(a,b){ce.call(this,a,b)}function $sb(a,b){ce.call(this,a,b)}function itb(a,b){ce.call(this,
a,b)}function Lyb(a,b){ce.call(this,a,b)}function lAb(a,b){ce.call(this,a,b)}function UAb(a,b){ce.call(this,a,b)}function jBb(a,b){ce.call(this,a,b)}function aEb(a,b){ce.call(this,a,b)}function uEb(a,b){ce.call(this,a,b)}function LEb(a,b){ce.call(this,a,b)}function QEb(a,b){ce.call(this,a,b)}function KIb(a,b){ce.call(this,a,b)}function gJb(a,b){ce.call(this,a,b)}function Gjb(a,b){JC.call(this,a,b)}function btb(){$sb.call(this,UIc,0)}function ktb(){itb.call(this,sLc,0)}function $Qb(a,b){ce.call(this,
a,b)}function NAb(a,b){this.b=a;this.a=b}function FIb(a,b){this.a=a;this.b=b}function HJb(a,b){this.a=a;this.b=b}function EJb(a,b){this.c=a;this.b=b}function FMb(a,b){this.c=a;this.b=b}function rUb(a,b){this.p=a;this.o=b}function GYb(a,b){this.b=a;this.a=b}function CZb(a,b){this.b=a;this.a=b}function QUb(a,b){ce.call(this,a,b)}function HVb(a,b){ce.call(this,a,b)}function XXb(a,b){ce.call(this,a,b)}function E_b(a,b){ce.call(this,a,b)}function u3b(a,b){ce.call(this,a,b)}function K7b(a,b){ce.call(this,
a,b)}function Qac(a,b){ce.call(this,a,b)}function A3b(a,b){return g2b(a.a,b)}function _jb(a,b){return Dgb(b,a.e)}function mRb(a,b){return b>=0&b<a.c}function TFb(a){return a>=48&&a<=55}function pZb(a){return a>=48&&a<=57}function h0b(a,b){g0b();return a[b]}function lfc(a,b){ce.call(this,a,b)}function Djc(a,b){ce.call(this,a,b)}function Fjc(){Djc.call(this,ZMc,0)}function Jjc(){Djc.call(this,YMc,1)}function Llc(a,b){LA.call(this,a,b)}function Lmc(a,b){JC.call(this,a,b)}function Loc(a,b){ce.call(this,
a,b)}function Soc(a,b){return Uoc(a.a,b)}function xlc(a,b){return Anc(a.a,b)}function Alc(a,b){return Wnc(a.a,b)}function nuc(a,b){return Woc(a.a,b)}function gxc(a,b){return Txc(a.a,b)}function Fpc(a){return a.b<a.d.ce()}function Efc(a,b,c,d){sp(a.a,b,c,d)}function _yc(a,b){return a.a.get(b)}function qzc(a,b){return Woc(a.c,b)}function Szc(a){return a.b!=a.c.a.b}function Cic(a,b){this.b=a;this.a=b}function Jxc(a,b){this.b=a;this.a=b}function yqc(a,b){this.d=a;this.e=b}function twc(a,b){this.a=a;this.b=
b}function HEc(a,b){this.a=a;this.b=b}function V4b(a,b){this.a=a;this.b=b}function T6b(a,b){this.c=a;this.b=b}function OEc(a,b){this.b=a;this.a=b}function CCc(a,b){ce.call(this,a,b)}function VAc(a){QAc.call(this,a,21)}function TEc(a,b,c){a.splice(b,0,c)}function EEc(a,b,c){b.gf(a.a.Ud(c))}function dec(a,b){Sd(!a.Ui());a.p=b}function hn(a,b){return a.wf().ge(b)}function jn(a,b){return a.wf().ee(b)}function gn(a,b){return xb(a.wf(),b)}function GB(a){return Anc(a.a,a.b++)}function rg(a){return!a?null:
a.We()}function wE(a){return a==null?null:a}function sE(a){return typeof a===AFc}function tE(a){return typeof a===BFc}function vE(a){return typeof a===DFc}function KX(a){return typeof a===BFc}function Zyc(){Vyc();return new Uyc}function Jh(a){Hh(a);return a.d.ce()}function G5(a){H5.call(this,a,false)}function Hob(a){O4.call(this,a,true)}function ltb(){itb.call(this,"V3",1)}function s$(a){this.a=a;this.c=false}function Znb(a){this.b=a;this.a=true}function Ytb(){this.a=IX(Date.now())}function RKb(){RKb=
bY;QKb=ee(PKb())}function Ptb(a,b){a.b=Stb(b,a.a,a.b)}function yFb(a,b){AFb(a,b.b.b,b.b.a)}function gLb(a,b){return a.a.Zd(b.a)}function _Rb(a){return $Rb(a)&&a!=42}function JZb(a,b){return a.a[b<<1|1]}function x5b(a){return!!a.b&&!a.b.e}function pJb(a,b){a.q[a.r++]=b;--a.b}function Bzb(a,b){a.a=Gn(b);return a}function Ezb(a,b){a.d=Sm(b);return a}function Fzb(a,b){a.e=Sm(b);return a}function Gzb(a,b){a.f=Sm(b);return a}function oEb(a,b){a.g=wo(b);return a}function ooc(a,b){a.a+=""+b;return a}function qoc(a,
b){a.a+=""+b;return a}function roc(a,b){a.a+=""+b;return a}function noc(a,b){return a.a+=""+b,a}function Wnc(a,b){return a.substr(b)}function ub(a,b){return wE(a)===wE(b)}function Xe(a,b){return Zb(a.a,a.e,b)}function kt(a){return Nd(a),new Sl(a)}function $u(){this.b=(Gw(12),new kyc)}function Sl(a){this.a=a;Pl.call(this)}function Vl(a){this.a=a;Pl.call(this)}function W$(a){this.a=new Up;this.b=a}function Kf(a){Fd(a.ce()==0);this.c=a}function woc(a){Blc.call(this,fY(a))}function rJb(a){sJb.call(this,
a,0,0)}function B7b(a,b){r6b.call(this,a,b)}function hBc(a,b){aBc.call(this,a,b)}function ukb(){wkb.call(this,new Bkb)}function Bpb(a){this.b=a;this.a=a.b.b}function f2b(a){return!!a.d&&!!a.d.k}function ID(a){return JD(a.l,a.m,a.h)}function iOb(a,b){return LNb(b,a.b.d)}function lRb(a,b){return RNb(a.i.b,b)}function o5b(a){return a.b?a.b.g:null}function w5b(a){return!!a.b&&!!a.b.e}function x6b(a){return a==-1?-1:a&aHc}function Gmc(a){return tE(a)?a:a.lj()}function Jnc(a,b){return a.indexOf(b)}function kxc(a,
b,c){return jxc(a,b,c)}function tRb(a,b,c,d){CJb(a.e,b,c,d)}function Ndb(a,b){$4b(a.c,b,o5b(a.c))}function B4b(a,b){y1b(a.a,b);a.e=true}function t4(a,b){b>1?a.N=1:a.N=b}function U5b(a,b){a.j=D6b(y6b(a.j),b)}function btc(a,b){Zsc(a,0,a.length,b)}function Om(a,b){zoc(b,0,a,0,b.length)}function z9(a,b){bpc(x9,a,b);return b}function pbc(a){qbc.call(this,a,null)}function $zc(){tyc.call(this,new vzc)}function _zc(){tyc.call(this,new wzc)}function fFc(){cFc.call(this,"UTF-8")}function Mpb(a){Npb.call(this,
a,false)}function Dsb(){Bsb.call(this,"LINE",0)}function vi(a,b,c){si.call(this,a,b,c)}function So(a,b,c){return kxc(a.a,b,c)}function st(a){return Ht(a.a._d(),a.b)}function N1b(a){return!a.d?null:a.d.b}function O1b(a){return!a.d?null:a.d.c}function T1b(a){return!a.d?null:a.d.g}function U1b(a){return!a.d?null:a.d.i}function V1b(a){return!a.d?null:a.d.j}function y6b(a){return a==-1?-1:a>>>12}function nbc(a){return rE(a,49)?a:null}function obc(a){return rE(a,49)?a:null}function INb(a){GNb();return Zn(hNb,
a)}function ecc(a){bbc();pbc.call(this,a)}function Dcc(a){bbc();Acc.call(this,a)}function zhc(a){bbc();lhc.call(this,a)}function Jhc(a){bbc();zhc.call(this,a)}function Qhc(a){bbc();Acc.call(this,a)}function Whc(a){bbc();Acc.call(this,a)}function Eic(a){bbc();Acc.call(this,a)}function Iic(a){bbc();Acc.call(this,a)}function plc(a){bbc();Acc.call(this,a)}function lr(a){$n.call(this,new Uz(a))}function hz(a,b){this.c=a;this.b=Nd(b)}function hrb(){this.a=null;this.b=null}function Lyc(a){this.a=Zyc();this.b=
a}function axc(a){return a<10?"0"+a:""+a}function nAc(a){return a!=null?Bb(a):0}function Fnc(a,b){return wE(a)===wE(b)}function zgc(a,b){return b?b:a.e.p[44]}function gB(a,b){var c;c=sC(b);fB(a,c)}function wub(a,b){uub();xub(a,b,!b.hd)}function YDc(a,b){if(LDc)return;a.b=b}function as(a,b){Km();this.a=a;this.b=b}function gs(a,b){Nd(b);jr(a,b);return a}function ts(a,b){Km();ns.call(this,a,b)}function Nq(a){this.a=a;nh.call(this,a)}function Sq(a){this.a=a;nh.call(this,a)}function mi(a){this.a=a;gi.call(this,
a)}function IB(a){this.a=a;this.c=a.length}function LCc(){CCc.call(this,"Tail",3)}function GCc(){CCc.call(this,"Head",1)}function xe(){oe.call(this,"IS_NULL",2)}function a8(a,b){IC.call(this,eZb(a,b))}function F0(){E0();G0.call(this,new b3)}function xab(a){this.a=a;this.b=new ksc}function Qab(a){this.b=a;this.a=new Hrc}function aob(a){this.b=a;this.a=new qyc}function Byb(a){this.b=a;this.a=new ksc}function xcb(a){this.b=new $zc;this.a=a}function jrb(a){this.c=new $zc;this.a=a}function Ssb(){this.a=
(J7b(),H7b);Roc()}function Bic(a){this.c=new jyc;this.d=a}function hOb(a,b){return new GYb(b,a.f)}function $bb(a,b){return bgc(P3(a.a),b)}function fLb(a,b){return a.a.Zd(Pxc(b))}function Nmc(a,b){return a<b?-1:a>b?1:0}function JD(a,b,c){return{l:a,m:b,h:c}}function cyc(a){return a.a<a.c.a.length}function hsc(a,b){atc(a.a,a.a.length,b)}function hEc(a,b){return new gEc(a.a,b)}function DEc(a,b,c){JEc(a,MEc(b,a.a,c))}function MEc(a,b,c){return CEc(a.a,b,c)}function rE(a,b){return a!=null&&oE(a,b)}function nrc(a){a.a=
BD(PU,RFc,1,8,5,1)}function $rc(a){a.a=BD(PU,RFc,1,0,5,1)}function DA(a){a.i=BD(RU,RFc,141,0,0,1)}function tBc(){uBc.call(this,"/","","")}function ICc(){CCc.call(this,"Range",2)}function Ae(){oe.call(this,"NOT_NULL",3)}function mBb(){mBb=bY;lBb=new Nc("/")}function g_b(){g_b=bY;g$b();f_b=new h_b}function jBc(){jBc=bY;jBc();iBc=new nBc}function Fc(){Fc=bY;Ec=Vmc(31);Dc=new Gc}function Vzc(a){this.c=a;this.b=a.a.b.a}function T8(a){N8();R8.call(this,null,a)}function U8(a){N8();S8.call(this,null,a)}function ju(){ce.call(this,
"INSTANCE",0)}function Esb(){Bsb.call(this,"REGION",1)}function xvb(){Hob.call(this,"es6ForOf")}function WAb(){UAb.call(this,"ESCAPE",0)}function KNb(a){GNb();return!!Zn(hNb,a)}function Fw(a,b){return new Tw(a._d(),b)}function Dt(a){return a.Od()?a.Pd():null}function rQb(a,b){return sRb(a.g,0).c==b}function rr(a,b){asc(a.a,Nd(b));return a}function fs(a,b){asc(a.b,Nd(b));return a}function wlb(a,b,c){a.i=b;a.p=c;a.d=null}function oZb(a){this.a=a;this.c=a.length}function TNb(a){this.b=a;this.a=UNb(a.a)}
function MYb(a){IC.call(this,"Width:"+a)}function Fd(a){if(!a)throw CX(new Ejb);}function Sd(a){if(!a)throw CX(new Jmc);}function av(a){if(!a)throw CX(new lAc);}function w4(a,b,c,d){q5(new _4(a,b,d,c))}function j2b(a){return!!a.d&&Y2b(a.d,4)}function l2b(a){return!!a.d&&Y2b(a.d,5)}function m2b(a){return!!a.d&&Y2b(a.d,6)}function n2b(a){return!!a.d&&Y2b(a.d,0)}function o2b(a){return!!a.d&&Y2b(a.d,3)}function p2b(a){return!!a.d&&Y2b(a.d,2)}function s2b(a){return!!a.d&&Y2b(a.d,1)}function bjc(a){return a.d.ce()-
a.e.ce()}function Npc(a){return a.a.ge(a.c=--a.b)}function pyc(a,b){return a.a.Je(b)!=null}function OCc(a,b){return a.a.Je(b)!=null}function Anc(a,b){return a.charCodeAt(b)}function Lc(a,b){return Jc(a,new uoc,b).a}function Ue(a,b,c){return new Ye(b,c,a.a)}function Ne(a,b){Nd(b);return new $e(a,b)}function Si(a,b){Nd(b);jAc(a.a,new yj(b))}function tzc(a,b){if(a.a){Hzc(b);Gzc(b)}}function CEc(a,b,c){a.a.Ue(b,c);return b}function Hdc(a){a.b=(kfc(),hfc);return a}function hoc(a){return ioc(a,0,a.length)}
function goc(a){return a==null?OFc:fY(a)}function p5b(a){return a==a.f.b?null:a.g}function ei(a){a.b.Qd();--a.d.f.d;Ih(a.d)}function Js(a){Dr.call(this);this.a=Nd(a)}function _s(a){is.call(this);this.a=Nd(a)}function Gz(a){this.a=a;Dz.call(this,a.a)}function $z(a,b){this.a=a;Pt.call(this,b)}function uh(a,b){this.a=a;nh.call(this,b)}function Hq(a,b){this.a=a;fq.call(this,b)}function kq(a,b){this.a=b;fq.call(this,a)}function Vt(a,b){this.a=b;Pt.call(this,a)}function Tw(a,b){this.a=b;Pt.call(this,a)}
function D3(a,b){Nd(a.J);return i8(a.W,b)}function Ht(a,b){Nd(b);return new Vt(a,b)}function F5(a,b){E5.call(this,a,a.lh(),b)}function R9(){O9.call(this,"MULTILINE",1)}function JA(){DA(this);EA(this);this.Xf()}function ggb(a,b){dgb();this.a=a;this.b=b}function Mbb(a,b){a.a=b;a.d=true;return a}function Nbb(a,b){a.g=b;a.e=true;return a}function IQb(a,b){a.d=kLb(a.d,b);return a}function Deb(a,b,c){orc(a.c,b);orc(a.i,c)}function LQb(a,b,c){CJb(a.c,kRb(a.g),b,c)}function lUb(a,b){mUb.call(this,a,b,null)}
function dtb(){$sb.call(this,"SYMBOLS",1)}function cBb(){ce.call(this,"RELATIVE",0)}function gnb(a){Rlb();return Uxc(Llb,a.k)}function qVb(a,b){a.k=b;return new pVb(a)}function ex(a){return Hk(2,EGc),new mx(a)}function fx(a){return Hk(2,EGc),new ox(a)}function a1b(a){return n1b((Pac(),P9b),a)}function o1b(a){return n1b((Pac(),Kac),a)}function Hmc(a){return tE(a)?xE(a):a.mj()}function SD(a){return a.l+a.m*$Gc+a.h*_Gc}function Lnc(a,b){return a.lastIndexOf(b)}function Knc(a,b,c){return a.indexOf(b,
c)}function c5b(a,b){b5b(a,b,a.b?a.b.g:null)}function Cgc(a,b){Dgc.call(this,a,b,null)}function dvc(a){Luc.call(this,a);this.a=a}function nvc(a){$uc.call(this,a);this.a=a}function jwc(a){xvc.call(this,a);this.a=a}function mwc(a){Mvc.call(this,a);this.a=a}function Njc(){Djc.call(this,"UNKNOWN",2)}function gCc(a){this.a=a;Vqc.call(this,a)}function R$b(a,b){g$b();this.b=a;this.a=b}function l_b(a,b){g$b();this.a=a;this.b=b}function r_b(a,b){g$b();this.a=a;this.b=b}function Ac(a,b){this.a=Nd(a);this.b=
Nd(b)}function ouc(a,b){return cpc(a.a,b)!=null}function Uxc(a,b){return!!b&&a.b[b.f]==b}function qFc(a){return a.$H||(a.$H=++pFc)}function be(a){return a.e!=null?a.e:""+a.f}function Lm(a,b){return new pr(a,a.ce(),b)}function rB(a,b){this.i=a;this.a=new IB(b)}function lf(a,b){Qd(b,a);this.d=a;this.c=b}function Vi(a){Fd(a.d.c+a.e.b==0);this.a=a}function iib(a){var b;for(b=a.j;b;b=b.j);}function vrc(a){var b;b=a.a[a.b];return b}function Qlc(){Qlc=bY;Olc=false;Plc=true}function Lrc(a){if(!a)throw CX(new Xwc);
}function kFc(a){if(!a)throw CX(new lAc);}function hFc(a){if(!a)throw CX(new Ejb);}function oD(a){kD();return parseInt(a)||-1}function rRb(a){sRb(a,0);return esc(a.d,0)}function qQb(a,b,c){return sRb(a.g,b).c==c}function GZb(a,b){return(Hsc(a.a,b)&1)==0}function xfb(a,b){return pBb(MAb(a.e,b).a)}function aFb(a,b){return bFb(a,$Eb(a,b.b))}function Inc(a,b){return Knc(a,boc(125),b)}function Vnc(a,b,c){return a.substr(b,c-b)}function Xnc(a,b,c){return a.substr(b,c-b)}function ci(a,b,c,d){Xh.call(this,
a,b,c,d)}function fgb(a){dgb();ggb.call(this,a,cgb)}function Qcc(a){pbc.call(this,a);Hcc(this)}function Q9(){O9.call(this,"SINGLELINE",0)}function T9(){O9.call(this,"SOURCELESS",2)}function OBb(){return(new Date).getTime()}function isc(a){return QEc(a.a,a.a.length)}function Gsc(a,b){return Isc(a,a.length,b)}function Hsc(a,b){return Jsc(a,a.length,b)}function e2b(a){return!!(!a.d?null:a.d.a)}function Jwc(a){Iwc();return a==Fwc?null:a}function Izc(a){Jzc.call(this,a,null,null)}function si(a,b,c){Kh.call(this,
a,b,c,null)}function hi(a,b){this.d=a;di(this);this.b=b}function hc(a,b){Fd(b>=a);this.b=a;this.a=b}function Xl(a,b){this.a=b;lf.call(this,a,0)}function T0(a,b){a.Kg();b&&a.Sg();a.r=false}function Hpc(a){a.d.je(a.c);a.b=a.c;a.c=-1}function epc(a){a.d=new Lyc(a);a.e=new czc}function Voc(a){a.d=new Lyc(a);a.e=new czc}function ozc(a){a.b=new Izc(a);a.c=new jyc}function o5(){this.c=new uoc;this.d=new qyc}function H8(a,b){this.a=a;this.c=b;this.b=0}function ydb(a){this.b=(Bdb(),zdb);this.a=a}function vrb(a){srb();
this.b=a;this.a=false}function eEc(a){return a.c.exec(a.a)!=null}function lJb(a){return a.g==a.d?a.c+a.a:a.a}function q6(a){return a.Bc||a.Bb==(X6(),U6)}function Dnc(a){return hoc(eFc(a,a.length))}function Grc(a){return a.c-a.b&a.a.length-1}function ll(a,b){var c;c=a.a;a.a=b;return c}function i5b(a){Nd(a.f);N5b(a.f,a);return a}function gmc(a){if(a.p!=null)return;wmc(a)}function Ywc(a){this.a=new $wnd.Date(RX(a))}function RDc(a,b){if(LDc)return;asc(a.a,b)}function Qsb(a,b,c){return new Tsb(b,c,a.a)}
function Txc(a,b){return rE(b,15)&&Uxc(a,b)}function Vxc(a,b){return rE(b,15)&&Wxc(a,b)}function zc(a,b){return a.a.Sd(b)||a.b.Sd(b)}function pE(a){return String.fromCharCode(a)}function Sf(a){return rE(a,58)?a.he():a._d()}function Gh(a){a.b?Gh(a.b):a.f.c.Ie(a.e,a.d)}function D5(a,b){Fd(!b||!a.k||a.k==b);a.k=b}function H5(a,b){F5.call(this,new Ojb(a),b)}function C7b(a,b){p6b.call(this,a);this.a=b}function BEc(a,b){tEc.call(this,a);this.a=b}function mic(){dic();nic.call(this,new KBc)}function kAc(){IC.call(this,
"no key found")}function re(){oe.call(this,"ALWAYS_TRUE",0)}function ue(){oe.call(this,"ALWAYS_FALSE",1)}function Ol(){Cl.call(this,(zn(),zn(),yn),0)}function cu(a){this.a=(Yt(),Xt);this.d=Nd(a)}function Ojb(a){this.a=new q1b(a.b);this.c=a}function mLb(a,b){return new qLb(wLb(a.a,b))}function jFb(a,b){return f5b(new p6b(b),a.s)}function nFb(a,b){return f5b(new Z6b(b),a.s)}function WC(a,b,c){return a.apply(b,c);var d}function k4(a,b,c){c.b=a;return _Cc(a.w,b,c)}function NZ(a,b){VZ((Pac(),F9b),b);j$(a,
b.b)}function E3(a){!a.J&&X3(a,new s6);return a.j}function uFc(){uFc=bY;rFc=new vb;tFc=new vb}function SUb(a){rUb.call(this,(WXb(),xWb),a)}function TUb(a){rUb.call(this,(WXb(),yWb),a)}function UUb(a){rUb.call(this,(WXb(),wWb),a)}function aVb(a){rUb.call(this,(WXb(),GWb),a)}function eVb(a){rUb.call(this,(WXb(),KWb),a)}function XVb(a){rUb.call(this,(WXb(),iXb),a)}function _Vb(a){rUb.call(this,(WXb(),nXb),a)}function aWb(a){rUb.call(this,(WXb(),oXb),a)}function eYb(a){rUb.call(this,(WXb(),BXb),a)}function jYb(a){rUb.call(this,
(WXb(),GXb),a)}function IYb(a){IC.call(this,"codePoint:"+a)}function Cfc(a){zfc.call(this,a);this.a=null}function Ffc(a){zfc.call(this,a);this.a=null}function nfc(a,b,c){ofc.call(this,a,b,c,b.B)}function uEc(a){tEc.call(this,null);this.a=a}function zpc(a){a.c.Qd();a.c=null;a.b=xpc(a)}function pzc(a){epc(a.c);a.b.b=a.b;a.b.a=a.b}function I2b(a,b){if(!t2b(a))return;a.b.i=b}function I3b(a,b){a.e=true;return G1b(a.a,b)}function Dqc(a,b){var c;c=b;return!!a.sj(c)}function rqc(a,b){var c;c=a.e;a.e=b;return c}
function Syc(a,b){var c;c=a[SMc];c.call(a,b)}function Tyc(a,b){var c;c=a[SMc];c.call(a,b)}function SEc(a,b){return XEc(new Array(b),a)}function fn(a,b){return b!=null&&a.wf().Yd(b)}function doc(a){return vE(a)?a.length:a.ej()}function Mc(a){Nd(a);return rE(a,423)?a:fY(a)}function Te(a){Nd(a);return new Re(new Ve(a))}function Oc(a,b,c){Nd(c);return new sd(c,a,b)}function pr(a,b,c){this.a=a;lf.call(this,b,c)}function sd(a,b,c){this.b=a;this.a=b;this.c=c}function Tz(a,b,c){this.b=a;this.a=b;this.c=c}
function YB(a,b,c){this.j=a;this.b=b;this.a=c}function Uk(a,b,c){this.c=b;this.b=c;this.a=a}function wY(a,b,c){ce.call(this,a,b);this.a=c}function LY(a,b,c){ce.call(this,a,b);this.a=c}function Lx(a,b){Sj.call(this,a);this.a=Nd(b)}function Hx(a,b){Kf.call(this,a);this.a=Nd(b)}function $$(a,b,c){this.a=a;this.c=b;this.b=c}function D9(a,b,c){this.b=a;this.c=b;this.a=c}function Ibb(a){Dbb();this.a=a;this.b=new Hrc}function qab(a){iab();this.a=a;this.b=new Hrc}function drb(a){$qb();this.a=a;this.b=new Hrc}
function orb(a){lrb();this.a=a;this.b=new jyc}function Go(a){lm();this.b=(Jtc(),new Mvc(a))}function $n(a){zn();this.d=(Jtc(),new xvc(a))}function lm(){lm=bY;new zm((Jtc(),Jtc(),Htc))}function BC(a){return new AC(a.d,a.c,a.a,a.b)}function C9(a,b){return rE(b,5)&&Fnc(b.b,a.b)}function Xtb(a){return PX(IX(Date.now()),a.a)}function Drb(a,b){return gLb(i6(a.a.J),r7(b))}function Jeb(a,b){Veb(a.j,b);asc(a.a,b);a.j=b}function SB(a,b){TB(a,"file",false);a.a+=""+b}function nzc(a,b){while(a.Od())b.gf(a.Pd())}
function p0b(a,b){return v0b((Pac(),M7b),a,b)}function q0b(a,b){return v0b((Pac(),N7b),a,b)}function B0b(a,b){return v0b((Pac(),v8b),a,b)}function F0b(a,b){return v0b((Pac(),N8b),a,b)}function Q0b(a,b){return v0b((Pac(),n9b),a,b)}function U0b(a,b){return v0b((Pac(),B9b),a,b)}function $0b(a,b){return v0b((Pac(),L9b),a,b)}function c1b(a,b){return v0b((Pac(),X9b),a,b)}function i1b(a){return new s7b((Pac(),rac),a)}function j1b(a){return new s7b((Pac(),sac),a)}function l1b(a,b){return v0b((Pac(),uac),
a,b)}function qLb(a){var b;this.a=(lm(),b=a,wo(b))}function RQb(a){this.b=a;this.a=(Km(),new tr)}function LYb(a){IC.call(this,"Precision: "+a)}function P3(a){!a.T&&(a.T=new mgc);return a.T}function v2b(a,b){!a.d&&(a.d=new $2b);a.d.a=b}function y2b(a,b){!a.d&&(a.d=new $2b);a.d.c=b}function A2b(a,b){!a.d&&(a.d=new $2b);a.d.g=b}function B2b(a,b){!a.d&&(a.d=new $2b);a.d.i=b}function C2b(a,b){!a.d&&(a.d=new $2b);a.d.j=b}function Asb(){Asb=bY;ysb=new Dsb;zsb=new Esb}function Zsb(){Zsb=bY;Xsb=new btb;Ysb=
new dtb}function htb(){htb=bY;ftb=new ktb;gtb=new ltb}function TAb(){TAb=bY;SAb=new WAb;RAb=new YAb}function dAc(){dAc=bY;bAc=new eAc;cAc=new gAc}function Jtc(){Jtc=bY;Htc=new Ttc;Itc=new iuc}function JHb(a){var b;b=a.n;a.n=null;return b}function Zn(a,b){return b==null?null:Lw(a.d,b)}function Mnc(a,b,c){return a.lastIndexOf(b,c)}function Mr(a,b){return nm(An(a.a)).ge(b).Ve()}function Me(a){return new Se(a.c,true,a.d,a.a)}function E6b(a){return new s7b((Pac(),rac),a)}function Wac(a){return new B7b((Pac(),
S7b),a)}function My(a){Nd(a);this.a=(Jtc(),new mwc(a))}function Tib(a,b,c){this.a=a;this.c=b;this.b=c}function Jrb(a,b,c){this.b=a;this.c=b;this.a=c}function Yvb(a,b,c){this.a=a;this.b=b;this.c=c}function EIb(a,b,c){this.c=a;this.b=b;this.a=c}function wpb(a,b){this.c=a;this.b=b.d;this.a=b}function zqb(a,b,c){ce.call(this,a,b);this.a=c}function Vyb(a,b,c){ce.call(this,a,b);this.a=c}function FEb(a,b,c){ce.call(this,a,b);this.a=c}function mUb(a,b,c){ce.call(this,a,b);this.a=c}function JUb(a,b,c){this.c=
a;this.a=b;this.b=c}function $1(a,b){_1.call(this,a,b,false,false)}function j$(a,b){while(b){i$(a,b,false);b=b.e}}function ZDc(a,b){if(LDc)return;!!b&&(a.d=b)}function njb(a,b){Fd(true);b.k=null;fsc(a.d,b)}function iLb(a,b){return new qLb(wLb(a.a,b.a))}function lLb(a,b){return new qLb(wLb(a.a,b.a))}function pLb(a,b){return new qLb(sLb(a.a,b.a))}function OKb(a){MKb();return ie((RKb(),QKb),a)}function F$b(a){g$b();Fd(a>=0&&a<=99);this.a=a}function a_b(a,b,c){this.a=a;this.c=b;this.b=c}function p6b(a){this.k=
a;this.f=null;this.j=-1}function s7b(a,b){p6b.call(this,a);q7b(this,b)}function Rcc(a,b){qbc.call(this,a,b);Hcc(this)}function tvb(){Hob.call(this,"lateConvertEs6")}function Kfc(a,b,c){ce.call(this,a,b);this.a=c}function ijc(a,b,c){return b==c||b==Zic(a.c,c)}function $1b(a){return(YJc&a.a)==AGc?a.i:null}function zrc(a){return a.a[a.c-1&a.a.length-1]}function O2b(a){!a.d&&(a.d=new $2b);Z2b(a.d,1)}function w2b(a){!a.d&&(a.d=new $2b);Z2b(a.d,4)}function D2b(a){!a.d&&(a.d=new $2b);Z2b(a.d,5)}function E2b(a){!a.d&&
(a.d=new $2b);Z2b(a.d,6)}function G2b(a){!a.d&&(a.d=new $2b);Z2b(a.d,0)}function J2b(a){!a.d&&(a.d=new $2b);Z2b(a.d,3)}function K2b(a){!a.d&&(a.d=new $2b);Z2b(a.d,2)}function gi(a){this.d=a;di(this);this.b=Sf(a.d)}function Xxc(a,b,c){this.a=a;this.b=b;this.c=c}function jzc(a,b,c){this.a=a;this.b=b;this.c=c}function msc(a){$rc(this);UEc(this.a,0,a.de())}function swc(a,b,c){return Nmc(a.Ih(b),a.Ih(c))}function rwc(a,b,c){return Kwc((Vzb(),b.a),c.a)}function OX(a,b){return FX(aE(KX(a)?QX(a):a,b))}function hcb(a){return a.k==
(Pac(),Z8b)||Ymb(a)}function Neb(a,b,c){Ueb(a.j,b,leb(a,b,false,c))}function Dgb(a,b){wgb();!!b&&(a.c=b,a);return a}function Tdc(a,b){a.k=Zfc(a.f,b,null);return a}function pmc(){var a;a=mmc(null);a.i=2;return a}function Xv(a){var b;b=new ksc;vt(b,a);return b}function uy(a){var b;b=new qyc;vt(b,a);return b}function B3(a){var b;b=a.J.H;b=b?b:a.g;return b}function mpb(a,b){a.r=b;a.a=P$(new W$(a.b),a.d)}function Kk(a,b){Nd(a);Nd(b);return new Lk(a,b)}function ot(a,b){Nd(a);Nd(b);return new tt(a,b)}function Zi(a,
b){if(!a)return 0;return ll(a,b)}function asc(a,b){a.a[a.a.length]=b;return true}function UEc(a,b,c){REc(c,0,a,b,c.length,false)}function Jzc(a,b,c){this.c=a;yqc.call(this,b,c)}function XNb(a,b,c){FMb.call(this,a,c);this.a=b}function U6b(a,b,c){T6b.call(this,a,c);this.a=b}function c7b(a,b,c){T6b.call(this,a,c);this.a=b}function Iub(){Hob.call(this,"Es6RewriteClass")}function evb(){Hob.call(this,"es6ConvertSuper")}function xc(){tc.call(this,"CharMatcher.none()")}function cyb(a){$xb();this.b=a;this.a=
new s$(a)}function uAc(a){this.b=new lsc;this.a=(Iwc(),a)}function Zr(a){this.b=a;this.a=An(this.b.a).sf()}function tt(a,b){this.a=a;this.b=b;Pl.call(this)}function Seb(a,b){Sd(!a.d);Sd(W0b(b));_4b(a.a,b)}function f$(a,b,c){xZ(a,(AMb(),qMb),c);e$(a,b,c)}function Jn(a,b){zn();Gk(a,b);return new qq(a,b)}function Rn(a,b){zn();return Gk(a,b),new Qy(a,b)}function SX(a){if(KX(a))return a|0;return dE(a)}function Qu(a){if(a.c.e!=a.a)throw CX(new Xwc);}function yv(a){if(a.e.c!=a.b)throw CX(new Xwc);}function eFb(a,
b){return!!a.b&&a.b.a.a.c<=b.b.c}function lCc(a,b){return!!b&&mCc(a,b.d)?b:null}function kFb(a,b,c){return f5b(new r6b(b,c),a.s)}function oFb(a,b,c){return f5b(new s7b(b,c),a.s)}function nLb(a,b){return new qLb(wLb(a.a,yo(b)))}function Ugb(a,b){return Unc(b,a.g+"_const"+sKc)}function mA(a,b){return b<a.e.length&&a.e[b]!=-1}function hib(a){return!a.j?a.b:hib(a.j)+"."+a.b}function PYb(a){throw CX(new JYb(a.b.b,zb(a.a)));}function tlb(a,b){Rlb();Uxc(Klb,b.k)&&orc(a.b,b)}function yec(a,b){!a.j&&(a.j=
new ksc);asc(a.j,b)}function jgc(a,b){hgc(a,b,b.$h(new uoc,false).a)}function OQb(a,b,c){PQb.call(this,a,b,c,0,false)}function Uub(){Hob.call(this,"RewritePolyfills")}function kjc(a,b){jjc.call(this,a,b);this.b=true}function Wqb(){Uqb(this);this.b=null;this.a=null}function g0b(){g0b=bY;f0b=$wnd.JSON.parse(j0b())}function Vac(){Vac=bY;Uac=new $wnd.RegExp("\\s")}function emc(){emc=bY;dmc=BD(zU,RFc,186,128,0,1)}function anc(){anc=bY;_mc=BD(IU,RFc,131,256,0,1)}function mnc(){mnc=bY;lnc=BD(LU,RFc,155,
256,0,1)}function CRb(a,b){a.d.a=BD(PU,RFc,1,0,5,1);a.f=b}function DJb(a,b,c,d){var e;e=eZb(c,d);a.Lh(b,e)}function n1b(a,b){Sd(V0b(b));return new r6b(a,b)}function ngc(a){a=a.zi();return!!a.Di()||mbc(a)}function dyc(a){a.b=a.a;byc(a);return a.c.b[a.b]}function nmc(a){var b;b=mmc(a);Amc(a,b);return b}function Hzc(a){a.a.b=a.b;a.b.a=a.a;a.a=a.b=null}function d2(a,b){a.c=b;a.d=b.Ac;a.b=b.Yb;return a}function TX(a){if(KX(a))return""+a;return eE(a)}function O3(a){!a.Q&&(a.Q=_3(a,BIc,0));return a.Q}function Jrc(a){Irc.call(this,
a.ce());Pc(this,a)}function R4(){O4.call(this,"validityCheck",false)}function ih(a){this.c=a;this.b=this.c.a.Ge()._d()}function yt(a){Nd(a);while(a.Od()){a.Pd();a.Qd()}}function C2(a){if(a.n>0){koc(a.i,10);++a.k;a.n=0}}function d4(a){a.N=0;_7(a.J);$3(a);e4(a);a.N=.15}function Yic(a){return a.d.vf(a.e.ce(),a.d.ce())}function DD(a){return Array.isArray(a)&&a.Cj===gY}function k2b(a){return(a.a&512)!=0||(a.a&rJc)!=0}function atc(a,b,c){jFc(b,a.length);Zsc(a,0,b,c)}function ikb(a){lY();jkb.call(this,a,
(Asb(),ysb))}function Q4b(a){P4b.call(this,new Q2b(a),a,false)}function Eub(){Hob.call(this,"Es6ExtractClasses")}function Jvb(){Hob.call(this,"rewriteGenerators")}function lkb(a,b){C$.call(this);this.a=a;this.b=b}function l6(a,b){Sd(b!=(p7(),m7));a.Wb=b==n7?o7:b}function ebc(a,b){return rE(b,27)&&lbc(a,b,false)}function Qfc(a,b,c){return Ofc(a,b,Xfc(a,true,c))}function Sfc(a,b,c){return Rfc(a,b,Xfc(a,true,c))}function B5b(a){return a.k==(Pac(),V9b)||a.k==R7b}function ixc(a,b){return Txc(a.a,b)?a.b[b.f]:
null}function soc(a,b){a.a+=ioc(b,0,b.length);return a}function f4b(a,b){B2b(a.a,b);a.e=true;return true}function clc(a,b){bbc();Qcc.call(this,a);this.a=b}function aAc(a){tyc.call(this,new vzc);Pc(this,a)}function Exc(a){this.c=a;this.a=new eyc(this.c.a)}function Uy(a){Km();this.a=(Jtc(),new zuc(Nd(a)))}function Ih(a){a.b?Ih(a.b):a.d.$d()&&a.f.c.Je(a.e)}function qE(a){return!Array.isArray(a)&&a.Cj===gY}function Ik(a,b){return new Uk(mEc(a).zj(),b,1296)}function dic(){dic=bY;cic=new nic((zn(),zn(),
yn))}function Yt(){Yt=bY;Xt=new Zt(BD(PU,RFc,1,0,5,1))}function N9(){N9=bY;L9=new Q9;K9=new R9;M9=new T9}function zY(a){var b;b=a;while(b.b)b=b.b;return b}function hD(a,b){!a&&(a=[]);a[a.length]=b;return a}function bjb(a){a.k==(Pac(),f8b)&&(a=a.b);return a}function Pi(a,b){var c;c=Lw(a.a,b);return!c?0:c.a}function Rsc(a,b){var c;for(c=0;c<b;++c)a[c]=-1}function Tsc(a,b){var c;for(c=0;c<b;++c)a[c]=-1}function Veb(a,b){if(!a.d&&!a.a.b){Sd(!b.d);a.d=b}}function yeb(a,b){if(b)return b;return new Web(a)}
function Ksb(a,b,c){return Qsb(Rsb(new Ssb,c),a,b)}function Pfc(a,b,c){return Ofc(a,b,Xfc(a,false,c))}function Ihc(a,b,c,d){return Tbc(a,b,c,d)||!b.ni()}function cpc(a,b){return vE(b)?dpc(a,b):Kyc(a.d,b)}function p6(a){return!a.hd&&!a.C&&a.Bb!=(X6(),U6)}function Re(a){Se.call(this,a,false,(wc(),vc),EFc)}function Zt(a){lf.call(this,0,0);this.a=a;this.b=0}function gpc(){this.d=new Lyc(this);this.e=new czc}function hpc(){this.d=new Lyc(this);this.e=new czc}function IDc(a,b){this.a=a;this.b=b;IX(Date.now())}
function zFb(a,b){y6b(a.j)==-1&&AFb(a,b.o.b,b.o.a)}function Qe(a,b){Nd(b);return new Se(a.c,a.b,b,a.a)}function jxc(a,b,c){Rxc(a.a,b);return mxc(a,b.f,c)}function Qzb(a,b,c,d){Pzb();Mzb.call(this,a,b,c,d)}function Xh(a,b,c,d){this.a=a;Kh.call(this,a,b,c,d)}function ni(a,b){this.a=a;hi.call(this,a,a.d.ie(b))}function $yc(a,b){return!(a.a.get(b)===undefined)}function An(a){if(a.e)return a.e;return a.e=a.xf()}function Bn(a){if(a.f)return a.f;return a.f=a.yf()}function nm(a){var b;b=a.c;return!b?a.c=
a.rf():b}function vf(a){var b;b=a.g;return!b?a.g=a.te():b}function P5b(a){var b;b=a.b;!!b&&N5b(a,b);return b}function PHb(a){var b;b=nJb(a.i);a.n=null;return b}function qmc(a){var b;b=mmc(a);b.o=a;b.i=1;return b}function Qxc(a,b){var c;c=Pxc(a);Ktc(c,b);return c}function Ssc(a,b,c){var d;for(d=0;d<b;++d)a[d]=c}function uA(a,b,c){tA.call(this,new nA(a,Ync(b)),c)}function CA(a,b,c){BA.call(this,new nA(a,Ync(b)),c)}function gwb(){Hob.call(this,"rewriteObjectSpread")}function swb(){O4.call(this,"es6ExternsCheck",
true)}function YAb(){UAb.call(this,"CANONICALIZE_ONLY",1)}function KA(a){DA(this);this.g=a;EA(this);this.Xf()}function wkb(a){this.b=new Hrc;this.c=a;this.a=true}function Eob(a){this.c=new jyc;this.b=a;this.a=true}function C$(){this.d=new uAc(new J$);this.c=new qyc}function Qib(){Qib=bY;Pib=new Tib(null,false,null)}function nZb(a){throw CX(new xZb(Xnc(a.a,a.d,a.b)));}function rA(a,b){return SX(GX(DX(MX(a.b.a,b),7),8))}function VD(a,b){return JD(a.l&b.l,a.m&b.m,a.h&b.h)}function fE(a,b){return JD(a.l^
b.l,a.m^b.m,a.h^b.h)}function Xoc(a,b){return Yoc(a,b,a.e)||Yoc(a,b,a.d)}function cnc(a,b){return EX(a,b)<0?-1:EX(a,b)>0?1:0}function J5b(a,b){return b!=null&&K5b(a,b,b.length)}function Bgc(a,b){a.e=b;rE(b,49)?a.d=b:a.d=null}function Usc(a,b){var c;for(c=0;c<b;++c)a[c]=null}function ae(a){var b,c;b=a.Aj;c=b.f;return c==CU?b:c}function oOb(a){var b;b=rRb(a.g);a.f=b.b.a;return b}function Sjc(a){_jc(new rkc,a.b)&&Yjc(a);return a.a}function lEb(a,b){a.d=(Qlc(),b?true:false);return a}function gw(a,b){var c;
c=a.a.ce();Qd(b,c);return c-b}function aB(a){var b;b=(a&1)==1;a=a>>1;return b?-a:a}function z5(a){if(a.g)return Sm(a.o);return x5(a).e}function OAc(a){if(!a.d){a.d=a.b._d();a.c=a.b.ce()}}function aBc(a,b){this.e=a;this.d=(b&64)!=0?b|xNc:b}function LBc(a){this.b=null;this.a=(Iwc(),!a?Fwc:a)}function Z6b(a){p6b.call(this,(Pac(),S9b));this.a=a}function os(a,b){Km();ns.call(this,a,en(new ltc(b)))}function xi(a,b,c){this.a=a;Kh.call(this,a,b,c,null)}function gzb(a,b,c){azb();this.b=a;this.a=b;this.c=c}
function Ylb(a,b,c){Rlb();return ymb(a,new Lnb(b),c)}function lFb(a,b,c,d){return f5b(new t6b(b,c,d),a.s)}function Sib(a,b){return b==a.c?a:new Tib(a.a,b,a.b)}function Ul(a){return new cu(new Xl(a.a.length,a.a))}function _ib(a,b,c){return c?"{"+cjb(a,c.a)+"} "+b:b}function Scc(a){bbc();return!a?null:rE(a,49)?a:null}function qcc(a,b,c){bbc();rcc.call(this,a,b,c,false)}function zub(a,b){uub();a.j.a.e!=0||s4(a,pLb(a.r,b))}function vFb(a,b){a.i&&a.d.uh(kLc,a.q,b.b.b+1,b.b.a)}function VZ(a,b){b.k!=a&&
u$(nHc+a+" but was "+b.k,b)}function Unc(a,b){return Fnc(a.substr(0,b.length),b)}function njc(a,b){return!!b.Fi()&&kbc(a.e,b.Fi().e)}function Woc(a,b){return vE(b)?_oc(a,b):!!Iyc(a.d,b)}function Z2b(a,b){var c;c=(Gd(b>=0,vNc),1<<b);a.o|=c}function nyc(a,b){var c;c=a.a.Ie(b,a);return c==null}function NCc(a,b){return a.a.Ie(b,(Qlc(),Olc))==null}function syc(a){this.a=(a.a.ce(),new kyc);Pc(this,a)}function aec(a){this.b=new p6b((Pac(),Z9b));this.a=a}function lEc(a,b,c){this.c=a;this.a=b;Jtc();this.b=
c}function SBb(){C$.call(this);this.a=S9((N9(),false))}function mbc(a){if(rE(a,78))return a.n;return false}function Nd(a){if(a==null)throw CX(new nnc);return a}function S9(a){var b;b=(lY(),new hkb);b.d=a;return b}function mxc(a,b,c){var d;d=a.b[b];a.b[b]=c;return d}function gsc(a,b,c){var d;d=a.a[b];a.a[b]=c;return d}function Uzc(a){Hzc(a.a);cpc(a.c.a.c,a.a.d);a.a=null}function BA(a,b){tA.call(this,a,b);Fd(a.c.length==64)}function DB(a,b,c,d,e){yB.call(this,a,b,c,d);this.a=e}function ieb(a,b,c,d){return l6b(G0b(heb(a,
b,c,d)),b)}function Heb(a,b,c,d){return l6b(f1b(heb(a,b,c,d)),b)}function MAb(a,b){return new NAb(a.b,a.b.c.Gh(a.a,b))}function oLb(a,b,c){return new qLb(sLb(a.a,Qxc(b,c)))}function ou(){iu();return ED(zD(pH,1),XFc,335,0,[hu])}function G3(a,b){if(!b)return null;return $Cc(a.w,b)}function V8(a){N8();iAc(M8,a,new X8);return Zoc(M8,a)}function Km(){Km=bY;lm();Jm=new jy((Jtc(),Jtc(),Htc))}function oy(){oy=bY;lm();ny=new py((Jtc(),Jtc(),Itc))}function V9(){V9=bY;U9=kLb((eLb(),SKb),(AMb(),uMb))}function z5b(a){return a.k==
(Pac(),Z8b)&&n5b(a,61)!=0}function muc(a,b){return apc(a.a,b,(Qlc(),Plc))==null}function Tdb(a,b){while(b.b)$db(a,P5b(b),null,null)}function Hnc(a,b,c,d,e){while(b<c)d[e++]=Anc(a,b++)}function Gpc(a){a.b<a.d.ce();return a.d.ge(a.c=a.b++)}function Op(a){var b;b=a.d;return!b?a.d=new wq(a):b}function yy(a){if(rE(a,329))return a;return new My(a)}function QEc(a,b){var c;c=a.slice(0,b);return FD(c,a)}function fw(a,b){var c;c=a.a.ce();Md(b,c);return c-1-b}function Qdc(a,b,c){a.g=b;a.e=c?a.e|4:a.e&-5;return a}
function cwb(){Hob.call(this,"rewriteAsyncIteration")}function $vb(){Hob.call(this,"rewriteAsyncFunctions")}function Gc(){tc.call(this,"CharMatcher.whitespace()")}function zcb(){zcb=bY;ycb=kLb((eLb(),SKb),(AMb(),FLb))}function _cb(){_cb=bY;$cb=kLb((eLb(),SKb),(AMb(),HLb))}function Kab(){Kab=bY;Jab=kLb((eLb(),SKb),(AMb(),HLb))}function Vab(){Vab=bY;Uab=kLb((eLb(),SKb),(AMb(),ULb))}function iab(){iab=bY;hab=kLb((eLb(),SKb),(AMb(),uMb))}function jbb(){jbb=bY;ibb=kLb((eLb(),SKb),(AMb(),SLb))}function Dbb(){Dbb=
bY;Cbb=kLb((eLb(),SKb),(AMb(),BLb))}function Gdb(){Gdb=bY;Fdb=kLb((eLb(),SKb),(AMb(),VLb))}function Zfb(){Zfb=bY;Yfb=kLb((eLb(),SKb),(AMb(),OLb))}function Fgb(){Fgb=bY;Egb=kLb((eLb(),SKb),(AMb(),RLb))}function Oqb(){Oqb=bY;Nqb=kLb((eLb(),SKb),(AMb(),CLb))}function srb(){srb=bY;rrb=kLb((eLb(),SKb),(AMb(),gMb))}function zzb(){zzb=bY;zn();Gk(RHc,IHc);new Qy(RHc,IHc)}function Tjb(a){this.b=new ksc;this.c=new ksc;this.a=a}function tpb(a){this.f=a;this.d=new ksc;this.c=new qyc}function jib(a,b){this.b=
a;this.j=b;this.q=(rib(),qib)}function Uvb(a,b,c){this.a=b;this.b=c;Hob.call(this,a)}function t7b(a,b,c,d){q6b.call(this,a,c,d);q7b(this,b)}function Dgc(a,b,c){Rcc.call(this,a,c);Bgc(this,Nd(b))}function Ijb(a,b,c){Fjb.call(this,a);this.b=b;this.a=c}function vwb(){Hob.call(this,"Es6ExtractClassExtends")}function zlc(a,b){ylc(a,b,b+1,String.fromCharCode(32))}function joc(a,b){return a.a+=String.fromCharCode(b),a}function koc(a,b){a.a+=String.fromCharCode(b);return a}function esc(a,b){var c;c=a.a[b];
VEc(a.a,b,1);return c}function Lcc(a){var b;b=new PCc;eic(a.Pi(),b);return b}function lFc(a){if(a==null)throw CX(new nnc);return a}function I5(a,b){return(lm(),hs(new is,a)).Mf(b).Nf()}function j6(a,b){return gLb(r7(a.Wb),b)&&!gLb(i6(a),b)}function k6(a,b){return hLb(r7(a.Wb),b)&&!hLb(i6(a),b)}function Zoc(a,b){return vE(b)?$oc(a,b):rg(Iyc(a.d,b))}function _nc(a,b){return vE(a)?a.charCodeAt(b):a.dj(b)}function Bd(a,b){return wE(a)===wE(b)||a!=null&&xb(a,b)}function iRb(a,b,c){return new FMb(b,SNb(a.i.b,
c,a.f))}function zA(){yA.call(this,new nA("base16()",Ync(KFc)))}function zn(){zn=bY;yn=new my(ED(zD(wW,1),pGc,54,0,[]))}function yd(a){this.b=new Ad;this.c=this.b;this.a=Nd(a)}function Ru(a){this.c=a;this.b=this.c.a;this.a=this.c.e}function Bs(a,b){As();$n.call(this,a);this.a=b;this.c=a}function ngb(a,b,c){this.a=a;this.c=b;this.d=c;Sd(true)}function Q8(a){N8();this.a=null;this.b=(lm(),new Xy(a))}function fnb(a){Rlb();return a.k!=(Pac(),F9b)&&gnb(a.f)}function Omb(a){Rlb();return a.k==(Pac(),d9b)||
a.k==c9b}function ueb(a,b){return Z0b(b+(a.r.b==0?"":"$"+a.r.b))}function wAb(a,b){!b?a.a=new PAb:a.a=b;Lzb(a.c,a.a)}function cjb(a,b){var c;c=new uoc;Zib(a,c,b);return c.a}function Ftc(a,b){var c;c=b+1;c>a.length&&(a.length=c)}function ZEc(a,b){var c;c=console[a];c.call(console,b)}function iZ(a,b){var c;c=l5b(a);b!=c&&u$(nHc+b+oHc+c,a)}function x4(a,b){!a.J&&X3(a,new s6);return y4(a,b,true)}function xUb(a,b){rUb.call(this,(WXb(),kWb),a);this.a=b}function tUb(a,b){rUb.call(this,(WXb(),gWb),a);this.a=
b}function uUb(a,b){rUb.call(this,(WXb(),hWb),a);this.a=b}function vUb(a,b){rUb.call(this,(WXb(),iWb),a);this.a=b}function wUb(a,b){rUb.call(this,(WXb(),jWb),a);this.a=b}function yUb(a,b){rUb.call(this,(WXb(),lWb),a);this.a=b}function zUb(a,b){rUb.call(this,(WXb(),mWb),a);this.a=b}function BUb(a,b){rUb.call(this,(WXb(),oWb),a);this.a=b}function CUb(a,b){rUb.call(this,(WXb(),pWb),a);this.a=b}function IUb(a,b){rUb.call(this,(WXb(),vWb),a);this.a=b}function _Ub(a,b){rUb.call(this,(WXb(),FWb),a);this.a=
b}function bVb(a,b){rUb.call(this,(WXb(),HWb),a);this.a=b}function iVb(a,b){rUb.call(this,(WXb(),OWb),a);this.a=b}function jVb(a,b){rUb.call(this,(WXb(),PWb),a);this.a=b}function oVb(a,b){rUb.call(this,(WXb(),QWb),a);this.a=b}function KVb(a,b){rUb.call(this,(WXb(),XWb),a);this.a=b}function MVb(a,b){rUb.call(this,(WXb(),ZWb),a);this.a=b}function TVb(a,b){rUb.call(this,(WXb(),eXb),a);this.a=b}function ZVb(a,b){rUb.call(this,(WXb(),lXb),a);this.a=b}function bWb(a,b){rUb.call(this,(WXb(),pXb),a);this.a=
b}function cWb(a,b){rUb.call(this,(WXb(),qXb),a);this.a=b}function dWb(a,b){rUb.call(this,(WXb(),rXb),a);this.a=b}function fWb(a,b){rUb.call(this,(WXb(),tXb),a);this.a=b}function _Xb(a,b){rUb.call(this,(WXb(),wXb),a);this.a=b}function aYb(a,b){rUb.call(this,(WXb(),xXb),a);this.a=b}function bYb(a,b){rUb.call(this,(WXb(),yXb),a);this.a=b}function dYb(a,b){rUb.call(this,(WXb(),AXb),a);this.a=b}function hYb(a,b){rUb.call(this,(WXb(),EXb),a);this.a=b}function iYb(a,b){rUb.call(this,(WXb(),FXb),a);this.a=
b}function kYb(a,b){rUb.call(this,(WXb(),HXb),a);this.a=b}function nYb(a,b){rUb.call(this,(WXb(),LXb),a);this.a=b}function oYb(a,b){rUb.call(this,(WXb(),MXb),a);this.a=b}function rYb(a,b){rUb.call(this,(WXb(),OXb),a);this.a=b}function vYb(a,b){rUb.call(this,(WXb(),SXb),a);this.a=b}function HMb(a,b){FMb.call(this,(jUb(),TSb),a);this.a=b}function mvb(){Hob.call(this,"es6RewriteRestAndSpread")}function Qub(){Hob.call(this,"Es6RewriteArrowFunction")}function fxc(a){Rc(a.a);a.b=BD(PU,RFc,1,a.b.length,
5,1)}function mCc(a,b){return ABc(a.c,a.f,b,a.b,a.a,a.e,a.d)}function aDc(a,b,c){return ZCc(a,b)?$Cc(a,b):_Cc(a,b,c)}function mEc(a){if(0>=a)return new wEc;return nEc(a-1)}function rEc(a){if(!a.b){sEc(a);a.c=true}else rEc(a.b)}function fi(a){Hh(a.d);if(a.d.d!=a.c)throw CX(new Xwc);}function Er(a){this.b=(Hk(a,"initialArraySize"),new lsc)}function qy(a){Go.call(this,a);this.a=(Jtc(),new mwc(a))}function uq(a,b,c,d){qq.call(this,a,c);this.a=b;this.f=d}function Au(a,b,c,d){qq.call(this,a,b);this.d=c;
this.a=d}function _1(a,b,c,d){ce.call(this,a,b);this.b=c;this.a=d}function s2(a,b,c,d){k2.call(this,c,d);this.a=a;this.c=b}function AC(a,b,c,d){this.d=a;this.c=b;this.a=c;this.b=d}function uC(a,b,c,d){this.c=a;this.d=b;this.b=c;this.a=d}function Se(a,b,c,d){this.c=a;this.b=b;this.d=c;this.a=d}function _4(a,b,c,d){this.a=a;this.b=b;this.d=c;this.c=d}function qbc(a,b){this.A=a;this.B=!b?Zfc(a,null,null):b}function sj(a){this.e=a;this.c=new Apc((new rpc(a.a)).a)}function k8(a){j8.call(this,(Km(),Nd(a),
Sm(new ltc(a))))}function Amb(a){Rlb();Fd(a.k==(Pac(),Dac));return y5b(a)}function Meb(a,b){Seb(a.j,b);Leb(a,keb(a,b));a.j.e=false}function mjb(a,b){asc(a.d,b);Fd(!a||!b.k||b.k==a);b.k=a}function yub(a,b,c){uub();a.j.a.e!=0||s4(a,oLb(a.r,b,c))}function psb(a,b,c,d,e){n4(a.a,msb(a,b,c,d,e,(O_(),L_)))}function qsb(a,b,c,d,e){n4(a.a,msb(a,b,c,d,e,(O_(),N_)))}function mFb(a,b,c,d,e){return f5b(new u6b(b,c,d,e),a.s)}function pFb(a,b){return f5b(new s7b((Pac(),rac),b),a.s)}function kUb(a){return a.a==null?
(GNb(),Zn(hNb,a)).c:a.a}function c7(){a7();return ED(zD(uK,1),XFc,265,0,[_6,$6])}function G6(){E6();return ED(zD(qK,1),XFc,264,0,[C6,D6])}function _2(){Z2();return ED(zD(_J,1),XFc,278,0,[X2,Y2])}function aBb(){_Ab();return ED(zD(pP,1),XFc,266,0,[$Ab])}function f1b(a){Sd(V0b(a));return new r6b((Pac(),iac),a)}function h1b(a){Sd(V0b(a));return new r6b((Pac(),pac),a)}function p1b(a){Sd(V0b(a));return new r6b((Pac(),Oac),a)}function u0b(a){Sd(V0b(a));return new r6b((Pac(),e8b),a)}function Zlc(a){var b;
b=a-10;return(b<0?48+a:97+b)&IFc}function Bnc(a,b){var c,d;c=a;d=b;return c==d?0:c<d?-1:1}function Vfc(a,b){var c;c=new aec(a);Ydc(c,b);return c.b}function RHb(a,b){a.n=!a.n?mJb(a.i):JHb(a);return a.n==b}function Xmc(a,b){while(b-- >0)a=a<<1|(a<0?1:0);return a}function wrc(a){var b;b=a.a[a.c-1&a.a.length-1];return b}function Vrc(a){this.d=a;this.a=this.d.b;this.b=this.d.c}function eSb(a,b){this.c=a;this.a=b;this.b=new TNb(this)}function s$b(a,b){this.e=a;this.d=b;this.a=this.e.length}function ylc(a,
b,c,d){a.a=Xnc(a.a,0,b)+(""+d)+Wnc(a.a,c)}function ldc(a,b,c,d){return Tbc(a,b,c,d)||a.d.ui(b,c,d)}function apc(a,b,c){return vE(b)?bpc(a,b,c):Jyc(a.d,b,c)}function Ofc(a,b,c){return Gdc(Pdc(Ndc(new Xdc(a),c),b))}function Ptc(a){Jtc();return!a?(Iwc(),Iwc(),Hwc):a.lf()}function lxc(a,b){return Vxc(a.a,b)?mxc(a,b.f,null):null}function mAc(a,b){return wE(a)===wE(b)||a!=null&&xb(a,b)}function aoc(a){return String.fromCharCode.apply(null,a)}function tvc(a){!a.b&&(a.b=new Svc(a.d.Ge()));return a.b}function vvc(a){!a.c&&
(a.c=new Mvc(a.d.ve()));return a.c}function wvc(a){!a.e&&(a.e=new Luc(a.d.Ke()));return a.e}function zi(a){var b;b=a.c;!b&&(a.c=b=new Kj(a));return b}function Ai(a){var b;b=a.d;!b&&(a.d=b=new Pj(a));return b}function A9(a,b){var c;c=new R8(a,b);bpc(x9,a,c);return c}function B9(a,b){var c;c=new S8(a,b);bpc(x9,a,c);return c}function D1(a,b){var c;c=q5b(b,81);!!c&&a.bh(c,(Z1(),U1))}function Rc(a){var b;for(b=a._d();b.Od();){b.Pd();b.Qd()}}function CJb(a,b,c,d){var e;a.d=true;e=eZb(c,d);a.Kh(b,e)}function Mzb(a,
b,c,d){this.e=a;this.f=b;this.d=c;this.g=d}function EYb(a,b,c,d){this.d=a;this.c=b;this.b=c;this.a=d}function fRb(a,b,c,d){ce.call(this,a,b);this.b=c;this.a=d}function BMb(a,b,c,d){ce.call(this,a,b);this.a=c;this.b=d}function eec(a,b,c){hec.call(this,a,b,c,false,null,false)}function _hc(a,b,c,d){this.c=a;this.e=b;this.b=c;this.d=d}function QAc(a,b){this.b=a;this.a=(b&4096)==0?b|64|xNc:b}function Mhb(a){this.a=a;this.b=!a.n?new $zc:new aAc(a.n)}function h2(a){this.c=new s6;this.a=new i2(this);this.f=
a}function wnc(a,b,c){this.a=WGc;this.d=a;this.b=b;this.c=c}function Mic(a,b){bbc();Cgc.call(this,a,a.p[44]);this.a=b}function dpc(a,b){return b==null?Kyc(a.d,null):bzc(a.e,b)}function jRb(a){return a.d.a.length==0?a.f:sRb(a,0).b.b.c}function S4b(a){if(!a)return new Q4b(true);return R4b(a)}function zEc(a,b){sEc(a);return new BEc(a,new FEc(b,a.a))}function ru(a){var b;return b=a.g,!b?a.g=new uh(a,a.c):b}function a7(){a7=bY;_6=new b7(kHc,0);$6=new b7("AUTO",1)}function Cjc(){Cjc=bY;zjc=new Fjc;Ajc=
new Jjc;Bjc=new Njc}function Iwc(){Iwc=bY;Fwc=new Lwc;Gwc=new Lwc;Hwc=new Pwc}function kD(){kD=bY;var a,b;b=!pD();a=new xD;jD=b?new qD:a}function PDc(a,b,c,d){var e;e=new IDc(b,c);e.c=d;QDc(a,e)}function eZb(a,b){var c;c=new dZb;QYb(c,a,b);return c.c.a}function r1(a,b){var c;for(c=b;c;c=c.e)a.bh(c,(Z1(),U1))}function vqb(a,b,c){var d;zqb.call(this,a,b,(d=c,Pac(),d))}function wqb(a,b,c){var d;zqb.call(this,a,b,(d=c,Pac(),d))}function xqb(a,b,c){var d;zqb.call(this,a,b,(d=c,Pac(),d))}function jkb(a,
b){pY.call(this,a);ekb(this);Nd(a);this.a=b}function Bub(){O4.call(this,"es6RewriteModuleToCjs",true)}function ivb(){Hob.call(this,"es6InjectRuntimeLibraries")}function kwb(){Hob.call(this,"rewriteExponentialOperator")}function G0b(a){Td(V0b(a),a);return new r6b((Pac(),T8b),a)}function kjb(a,b,c,d,e,f){return new fjb(a,null,b,c,e,d,f)}function eoc(a,b,c){return vE(a)?a.substr(b,c-b):a.fj(b,c)}function Nnc(a,b){return(new RegExp("^("+b+")$")).test(a)}function e5b(a){return!a.b?(Jtc(),Jtc(),Itc):new h7b(a.b)}
function h6(a){return a.Tb.Md((Qlc(),q7(a.Wb)?true:false))}function UX(a,b){return FX(fE(KX(a)?QX(a):a,KX(b)?QX(b):b))}function NY(){KY();return ED(zD(DJ,1),XFc,236,0,[HY,IY,JY])}function aZ(){$Y();return ED(zD(GJ,1),XFc,229,0,[YY,ZY,XY])}function Q_(){O_();return ED(zD(PJ,1),XFc,225,0,[L_,N_,M_])}function T6(){R6();return ED(zD(sK,1),XFc,221,0,[O6,P6,Q6])}function Z6(){X6();return ED(zD(tK,1),XFc,220,0,[V6,U6,W6])}function A7(){y7();return ED(zD(xK,1),XFc,222,0,[v7,x7,w7])}function G7(){E7();return ED(zD(yK,
1),XFc,219,0,[B7,D7,C7])}function M7(){K7();return ED(zD(zK,1),XFc,218,0,[H7,I7,J7])}function $7(){Y7();return ED(zD(BK,1),XFc,223,0,[W7,V7,X7])}function P9(){N9();return ED(zD(SK,1),XFc,157,0,[L9,K9,M9])}function _C(a){VC();$wnd.setTimeout(function(){throw a;},0)}function tEc(a){if(!a){this.b=null;new ksc}else this.b=a}function Ev(a){this.b=a;this.c=a;a.e=null;a.c=null;this.a=1}function EA(a){if(a.k){a.e!==IGc&&a.Xf();a.i=null}return a}function llb(a){while(!!a&&a.k!=(Pac(),lac))a=a.f;return a}function k5b(a,
b){var c;c=a.b;while(b>0){c=c.e;--b}return c}function l5b(a){var b,c;b=0;for(c=a.b;c;c=c.e)++b;return b}function Bgb(a,b,c){wgb();if(!a)return null;return b.p[c]}function Tsb(a,b,c){Jsb.call(this,a,c);this.a=b;this.d=null}function oxc(a){this.a=Sxc(a.a);this.b=QEc(a.b,a.b.length)}function rZ(a){VZ((Pac(),K8b),a);OZ(a.b);sZ(a.b?a.b.g:null)}function h2b(a){return(a.a&37)!=0||(!a.d?null:a.d.c)!=null}function _oc(a,b){return b==null?!!Iyc(a.d,null):$yc(a.e,b)}function vAb(a,b){return new NAb(a,AAb(a.e.Jh(bBb(b)),
a.d))}function THb(a,b){return f5b(new q6b(b,a.i.g,lJb(a.i)),a.k)}function jbc(a){return a.ni()||a.li()||a.mi()||a==a.A.p[57]}function khc(a){var b;Sd(a.Vi());b=Nd(a.Ri());return wFc(b)}function Stc(a){Jtc();return rE(a,72)?new iwc(a):new dvc(a)}function SDc(a,b){if(!JDc)return;XDc(a,(nDc(),jDc),b,null)}function VDc(a,b){if(!KDc)return;XDc(a,(nDc(),kDc),b,null)}function $Dc(a,b){if(!MDc)return;XDc(a,(nDc(),lDc),b,null)}function _Dc(a,b){if(!NDc)return;XDc(a,(nDc(),mDc),b,null)}function Ddb(){Bdb();
return ED(zD(zL,1),XFc,301,0,[zdb,Adb])}function Hpb(){Fpb();return ED(zD(mN,1),XFc,273,0,[Epb,Dpb])}function Fqb(){Dqb();return ED(zD(qN,1),XFc,272,0,[Cqb,Bqb])}function Csb(){Asb();return ED(zD(NN,1),XFc,185,0,[ysb,zsb])}function atb(){Zsb();return ED(zD(UN,1),XFc,194,0,[Xsb,Ysb])}function jtb(){htb();return ED(zD(XN,1),XFc,193,0,[ftb,gtb])}function Glb(a,b,c){var d;d=new Flb(a,c,new fgb(a));ylb(d,b)}function _B(a,b){var c,d;d=b.b;c=b.a;return d!=0?c:c+a.c.i.a}function IA(a,b){var c;c=imc(a.Aj);
return b==null?c:c+": "+b}function s3(a){var b;if(a.J.Dc){b=C3(a);Fnc(b,a.C)||(a.C=b)}}function BFb(a,b){$5b(a,y6b(b.j));U5b(a,x6b(b.j));Z5b(a,b.d)}function Opc(a,b){this.a=a;Ipc.call(this,a);a.ce();this.b=b}function gec(a,b,c,d,e){bbc();hec.call(this,a,b,c,d,e,false)}function kbc(a,b){var c;return c=new Cfc(false),dbc(a,b,0,c)}function iic(a){if(!a.a)return Km(),Km(),Jm;return a.a.Li()}function qpc(a,b){if(rE(b,54))return fg(a.a,b);return false}function Qvc(a,b){var c;c=a.b.ee(b);Rvc(c,a.b.ce());
return c}function ypc(a){var b;a.c=a.a;b=a.a.Pd();a.b=xpc(a);return b}function Rvc(a,b){var c;for(c=0;c<b;++c)a[c]=new bwc(a[c])}function xFc(){if(sFc==256){rFc=tFc;tFc=new vb;sFc=0}++sFc}function xxc(a,b){if(rE(b,54))return fg(a.a,b);return false}function Kzc(a,b){if(rE(b,54))return fg(a.a,b);return false}function dY(a){function b(){}b.prototype=a||{};return new b}function umc(a){if(a.kj())return null;var b=a.o;return $X[b]}function VAb(){TAb();return ED(zD(nP,1),XFc,190,0,[SAb,RAb])}function MEb(){KEb();
return ED(zD(KP,1),XFc,276,0,[JEb,IEb])}function REb(){PEb();return ED(zD(LP,1),XFc,275,0,[OEb,NEb])}function Al(a,b){var c;return c=Zn(a.a,b),!c?(Km(),Km(),Jm):c}function Bi(a,b){var c;return c=rE(b,213)?zi(b):b,zi(a).be(c)}function Iyc(a,b){return Gyc(a,b,Hyc(a,b==null?0:a.b.oj(b)))}function Td(a,b){if(!a)throw CX(new Kmc(b==null?OFc:fY(b)));}function Gd(a,b){if(!a)throw CX(new Fjb(b==null?OFc:fY(b)));}function xy(a,b){Od(a,"set1");Od(b,"set2");return new Fy(a,b)}function sp(a,b,c,d){Nd(b);Nd(c);
Nd(d);return rp(a,b).Ie(c,d)}function nY(a,b,c){if(!a.d)return b;return c.a+b+(vY(),sY).a}function nt(a){if(rE(a,21))return a.$d();return!a._d().Od()}function i6(a){if(a.lc.Kd())return a.lc.Jd();return r7(a.Wb)}function lx(a){return new Hx((Gw(a.a.a),new kyc),new hx(a.b))}function nx(a){return new Lx((Gw(a.a.a),new kyc),new jx(a.b))}function xE(a){return Math.max(Math.min(a,EFc),-2147483648)|0}function imb(a){Rlb();Td(a.k==(Pac(),lac),a);return q5b(a,89)}function zmb(a){Fd(a.k==(Pac(),k8b));return!!a.b&&
a.b.k==r8b}function o4(a,b){Sd(b.k==(Pac(),lac)||b.k==Z8b);l4(a,b);b4(a)}function Alb(a,b){var c,d;for(c=b.b;c;){d=c.e;zlb(a,c,b);c=d}}function Xbb(a,b,c){var d;d=t0b(b,c);a.d&&Y5b(d,c.c);return d}function Jkb(a,b,c){Bkb.call(this);this.a=a;this.c=b;this.b=c}function Qy(a,b){zn();fr.call(this,Rtc(Nd(a),Nd(b)));this.a=b}function qvb(){O4.call(this,"es6RelativizeImportPaths",true)}function Yub(){Hob.call(this,"Es6SplitVariableDeclarations")}function Rtb(){new jyc;this.a=new jyc;this.b=new Ttb(new Utb)}
function P4b(a,b,c){this.a=a;this.d=b;this.e=c;this.c=new qyc}function Nrb(a,b){this.a=a;this.b=b;this.c=wo(ot(b.Af(),Krb))}function T0b(a){Sd(a.length!=0);return new s7b((Pac(),v9b),a)}function W1b(a){if(!a.d||!a.d.n)return 0;return fpc(a.d.n.c)}function r2b(a,b){if(!a.d.s)return false;return qzc(a.d.s,b)}function $oc(a,b){return b==null?rg(Iyc(a.d,null)):_yc(a.e,b)}function Rfc(a,b,c){return Gdc(Jdc(Pdc(Ndc(new Xdc(a),c),b)))}function yJb(a){return wo(Ne(Qe(Te(new lc(44)),(Fc(),Dc)),a))}function i2b(a){return(a.a&
2)!=0||(a.a&512)!=0||(a.a&rJc)!=0}function Cnc(a,b){return Bnc(a.toLowerCase(),b.toLowerCase())}function eic(a,b){var c;c=(Jtc(),new puc(new Byc));fic(a,b,c)}function EBc(a,b){var c,d;c=b;d=new jCc;GBc(a,c,d);return d.d}function Gzc(a){var b;b=a.c.b.b;a.b=b;a.a=a.c.b;b.a=a.c.b.b=a}function Jp(a){a.i=0;Qsc(a.b);Qsc(a.c);a.a=null;a.e=null;++a.g}function GRb(a){while(WRb(mRb(a,a.f)?Anc(a.b,a.f):0))nRb(a)}function Rm(a){Km();Nd(a);return rE(a,21)?Sm(a):Qm(Xv(a._d()))}function Ps(){Ps=bY;lm();Os=(Yx(),
Xx);Ns=new qy(new QCc(Os))}function ne(){ne=bY;ke=new re;je=new ue;le=new xe;me=new Ae}function qe(){ne();return ED(zD(XE,1),XFc,140,0,[ke,je,le,me])}function B6(){z6();return ED(zD(pK,1),XFc,188,0,[w6,x6,y6,v6])}function N6(){L6();return ED(zD(rK,1),XFc,187,0,[I6,J6,K6,H6])}function NA(b){if(!(JGc in b))try{throw b;}catch(a){}return b}function elb(a){if(Fnc(a.a,a.b))return a.a;return a.b+":"+a.a}function nRb(a){if(!mRb(a,a.f))return 0;return Anc(a.b,a.f++)}function Ynb(a,b,c){if(a.a)throw CX(new Kmc(RKc+
b));p4(a.b,c)}function job(a,b,c){if(a.a)throw CX(new Kmc(RKc+b));p4(a.b,c)}function Z4b(a,b,c){Gd(!b.e,yNc);Gd(!b.g,zNc);b.g=b;b5b(a,b,c)}function hgc(a,b,c){Gd(c.indexOf("<")==-1,KNc);sp(a.t,a.o,c,b)}function blc(a,b,c){this.a=new ksc;this.i=a;this.g=b;this.k=c}function eyb(a,b,c,d){SY();this.b=a;this.c=b;this.d=c;this.a=d}function LA(a,b){DA(this);this.f=b;this.g=a;EA(this);this.Xf()}function vsb(a){this.e=new vzc;this.c=new nxc(DJ);this.d=Nd(a)}function Yq(){Xq.call(this,(Gw(12),new kyc));Fd(true);
this.a=2}function Mub(){Hob.call(this,"Es6RenameVariablesInParamLists")}function Btc(a){if(a<0)throw CX(new Ilc("bitIndex < 0: "+a));}function Crc(a,b){if(rrc(a,b)){Urc(a);return true}return false}function smc(a,b){var c=a.a=a.a||[];return c[b]||(c[b]=a.gj(b))}function qwc(a,b,c,d){var e;e=a.jf(c,d);return e!=0?e:b.jf(c,d)}function ew(a,b){var c,d;d=gw(a,b);c=a.a.ie(d);return new sw(c)}function Wbb(a,b){var c;c=b.Ph(false);a.d&&Y5b(c,b.c);return c}function Lhb(a,b){var c;Glb(a.a,b,a);r4(a.a,(lm(),
c=a.b,wo(c)))}function fbb(a){cbb();this.a=a;this.b=!gLb((eLb(),VKb),i6(a.J))}function hhb(a,b,c){this.c=($5(),Z5);this.a=a;this.e=b;this.d=c}function yB(a,b,c,d){sB.call(this,a);this.c=b;this.d=c;this.b=d}function avb(){Hob.call(this,"es6ConvertSuperConstructorCalls")}function owb(){Hob.call(this,"es6NormalizeShorthandProperties")}function Kv(a){av(a.e);a.c=a.a=a.e;a.e=a.e.e;--a.d;return a.a.f}function Jv(a){av(a.c);a.e=a.a=a.c;a.c=a.c.c;++a.d;return a.a.f}function Tzc(a){kFc(a.b!=a.c.a.b);a.a=a.b;
a.b=a.b.a;return a.a}function Ar(a,b,c){asc(a.b,(zn(),Gk(b,c),new qq(b,c)));return a}function j6b(a,b,c,d){var e;e=new uoc;i6b(a,e,b,c,d);return e.a}function Y2b(a,b){var c;c=(Gd(b>=0,vNc),1<<b);return(c&a.o)!=0}function G5b(a,b){var c;c=a.i;while(!!c&&b!=c.c)c=c.b;return c}function Hyc(a,b){var c;c=a.a.get(b);return c==null?new Array:c}function R1b(a){if(!a.d||!a.d.e)return 0;return a.d.e.a.length}function W0b(a){if(!X0b(a))return a.k==(Pac(),iac);return true}function dnb(a){Rlb();return a.k==(Pac(),
H9b)&&a.Rh().length!=0}function zIb(a,b,c){return!c?null:AIb(a,b,c,y6b(c.j),x6b(c.j))}function bpc(a,b,c){return b==null?Jyc(a.d,null,c):azc(a.e,b,c)}function FY(a,b){Sd(b.d==a);Sd(OY(rzc(a.e,b.b),b));uzc(a.e,b.b)}function Ts(a,b){Ps();Nd(a);return Nd(a),Us(a,new $uc(b.b._d()))}function Kc(a,b,c,d){return Lc(a,(Nd(d),new Ipc(new sd(d,b,c))))}function Fs(a){As();return new LBc((rE(a,237)?a:new gl(a)).kf())}function jEc(a){var b;b=new iEc;b.a=new $wnd.RegExp(a);return b}function Ct(a){var b;while(true){b=
a.Pd();if(!a.Od())return b}}function vZ(a){var b;VZ((Pac(),S8b),a);for(b=a.b;b;b=b.e)uZ(b)}function EZ(a){var b;VZ((Pac(),l9b),a);for(b=a.b;b;b=b.e)DZ(b)}function W2(a,b){Kd(D5b(a),uIc,a);Kd(D5b(b),uIc,b);r5b(a);r5b(b)}function y2(a,b){if(b||gLb(i6(a),(eLb(),cLb)))return 1;return 0}function kf(a){if(a.c>=a.d)throw CX(new lAc);return a.ge(a.c++)}function S0(a){if(a.r){a.Jg(";");a.Zg()}a.Lg();a.Sg();a.r=false}function f8(a,b){var c,d;for(d=b._d();d.Od();){c=d.Pd();e8(a,c)}}function wf(a,b,c){var d;
Nd(c);d=c;return!d.$d()&&Ff(a,b).Wd(d)}function Hlb(a,b,c,d){var e;e=new Flb(a,b,new fgb(a));Elb(e,c,d)}function H_b(a,b,c,d){g$b();this.a=a;this.d=b;this.c=c;this.b=d}function Trb(a){Iib();this.b=a;Lib.call(this,a.a);this.a=new $zc}function Nmb(a){Rlb();return a.k==(Pac(),k8b)&&!!a.f&&a.f.k==Z8b}function Myb(){Kyb();return ED(zD(NO,1),XFc,228,0,[Jyb,Iyb,Hyb])}function LIb(){JIb();return ED(zD(RP,1),XFc,249,0,[HIb,IIb,GIb])}function vEb(){tEb();return ED(zD(IP,1),XFc,231,0,[sEb,qEb,rEb])}function AIb(a,
b,c,d,e){return!c?null:f5b(new s6b(b,c,d,e),a.k)}function xAb(a,b,c){yAb.call(this,a,b,c,(_Ab(),$Ab),(TAb(),SAb))}function toc(a,b,c){a.a=Xnc(a.a,0,b)+(""+c)+Wnc(a.a,b);return a}function Apb(a){var b;b=a.b.e>a.a;a.a=a.b.b.b;++a.b.b.b;return b}function kRb(a){return lRb(a,a.d.a.length==0?a.f:sRb(a,0).b.b.c)}function DRb(a){while(cSb(mRb(a,a.f)?Anc(a.b,a.f):0)>=0)nRb(a)}function KRb(a){while(dSb(mRb(a,a.f)?Anc(a.b,a.f):0)>=0)nRb(a)}function KZb(a,b){if(!rE(b,16))return false;return Osc(a.a,b.a)}function n5b(a,
b){var c;c=G5b(a,b);if(!c)return 0;return c.Yh()}function fbc(a,b){var c;c=Et(b.fi().d._d());return Wic(a.fi(),c)}function zic(a,b,c,d){a.b=false;bpc(a.c,b,new Cic(c,d));return a}function fec(a){bbc();hec.call(this,a,null,null,false,null,true)}function Nlc(a){Llc.call(this,a==null?OFc:fY(a),rE(a,40)?a:null)}function Fvb(){Hob.call(this,"Es6RewriteBlockScopedDeclaration")}function Irc(a){nrc(this);WEc(this.a,Smc($wnd.Math.max(8,a))<<1)}function kEc(a){return a.replace(/[.?*+^$[\]\\(){}|-]/g,"\\$&")}
function U4b(){U4b=bY;T4b=new $wnd.RegExp("^[a-zA-Z_$][\\w$]*$")}function Z2(){Z2=bY;X2=new $2("INHERITS",0);Y2=new $2("MIXIN",1)}function E6(){E6=bY;C6=new F6("BROWSER",0);D6=new F6("CUSTOM",1)}function Oz(a){return a?new BEc(null,a.uf()):new BEc(null,a.uf())}function jy(a){Km();this.a=(Jtc(),rE(a,72)?new iwc(a):new dvc(a))}function Fg(a,b){var c;c=b.Ve();return new qq(c,a.b.Be(c,b.We()))}function RX(a){var b;if(KX(a)){b=a;return b==-0?0:b}return cE(a)}function y5(a){var b;if(!a.n){b=a.b.F;a.n=vAb(b,
a.i.a)}return a.n}function Kgb(a,b){var c;c=Xgb(b);if(c)return Tgb(a,c,b);return 0}function umb(a){var b,c;b=a;for(c=hmb(b);c;c=hmb(b))b=c;return b}function Lmb(a){Rlb();return a.k==(Pac(),Y8b)||a.k==W8b||a.k==X8b}function L7b(){J7b();return ED(zD(pT,1),XFc,224,0,[H7b,I7b,G7b])}function Lfc(){Jfc();return ED(zD(DT,1),XFc,240,0,[Gfc,Hfc,Ifc])}function mfc(){kfc();return ED(zD(xT,1),XFc,241,0,[jfc,hfc,ifc])}function Ejc(){Cjc();return ED(zD(fU,1),XFc,164,0,[zjc,Ajc,Bjc])}function xY(){vY();return ED(zD(BJ,
1),XFc,175,0,[rY,uY,sY,qY,tY])}function U7(){S7();return ED(zD(AK,1),XFc,170,0,[N7,Q7,O7,R7,P7])}function Kxb(a,b,c){roc(roc(roc(roc((a.a+="@",a),b)," {"),c),"}")}function KQb(a,b,c,d){!b?CJb(a.c,kRb(a.g),c,d):CJb(a.c,b.o.b,c,d)}function JQb(a,b,c,d){!b?CJb(a.c,kRb(a.g),c,d):CJb(a.c,b.b.b,c,d)}function kic(a,b,c){var d;d=a.b.He(b);!!d&&$hc(c,d.a);a.b.Ie(b,c)}function Tpc(a,b,c){mFc(b,c,a.ce());this.c=a;this.a=b;this.b=c-b}function prc(a,b){lFc(b);a.a[a.c]=b;a.c=a.c+1&a.a.length-1;urc(a)}function orc(a,
b){lFc(b);a.b=a.b-1&a.a.length-1;a.a[a.b]=b;urc(a)}function eOb(a,b){if(sRb(a.g,0).c==b)return aOb(a,b);return null}function Md(a,b){if(a<0||a>=b)throw CX(new Ilc(Cd(a,b)));return a}function Rd(a,b,c){if(a<0||b<a||b>c)throw CX(new Ilc(Ed(a,b,c)));}function ZCc(a,b){if(b==null)throw CX(new nnc);return Woc(a.a,b)}function $Cc(a,b){if(b==null)throw CX(new nnc);return Zoc(a.a,b)}function oY(a,b){if(!a.d)return b;return(vY(),qY).a+(""+b)+tY.a}function Jk(a,b,c){!!c&&Fd(true);return new Uk(mEc(a).zj(),
b,1301)}function If(a,b){var c,d;c=Mw(a.c,b);if(c){d=c.ce();c.Xd();a.d-=d}}function ujb(a,b){var c;c=new $zc;yjb(a);vt(c,Nd(b)._d());return c}function cpb(a){var b;b=new apb;p1(new J1(b),a,(Z1(),U1));return b}function Idc(a){a.b=(kfc(),ifc);a.d=new p6b((Pac(),Z9b));return a}function Xdc(a){this.a=(lm(),oy(),ny);this.b=(kfc(),jfc);this.f=a}function DUb(a,b,c){rUb.call(this,(WXb(),qWb),a);this.b=b;this.a=c}function GUb(a,b,c){rUb.call(this,(WXb(),tWb),a);this.b=b;this.a=c}function FUb(a,b,c){rUb.call(this,
(WXb(),sWb),a);this.a=b;this.b=c}function VUb(a,b,c){rUb.call(this,(WXb(),zWb),a);this.a=b;this.b=c}function dVb(a,b,c){rUb.call(this,(WXb(),JWb),a);this.a=b;this.b=c}function cVb(a,b,c){rUb.call(this,(WXb(),IWb),a);this.b=b;this.a=c}function fVb(a,b,c){rUb.call(this,(WXb(),LWb),a);this.b=b;this.a=c}function hVb(a,b,c){rUb.call(this,(WXb(),NWb),a);this.b=b;this.a=c}function PVb(a,b,c){rUb.call(this,(WXb(),aXb),a);this.b=b;this.a=c}function QVb(a,b,c){rUb.call(this,(WXb(),bXb),a);this.b=b;this.a=c}
function SVb(a,b,c){rUb.call(this,(WXb(),dXb),a);this.a=b;this.b=c}function JVb(a,b,c){rUb.call(this,(WXb(),WWb),a);this.a=b;this.b=c}function UVb(a,b,c){rUb.call(this,(WXb(),fXb),a);this.b=b;this.a=c}function VVb(a,b,c){rUb.call(this,(WXb(),gXb),a);this.b=b;this.a=c}function YVb(a,b,c){rUb.call(this,(WXb(),kXb),a);this.b=b;this.a=c}function $Vb(a,b,c){rUb.call(this,(WXb(),mXb),a);this.b=b;this.a=c}function eWb(a,b,c){rUb.call(this,(WXb(),sXb),a);this.b=b;this.a=c}function ZXb(a,b,c){rUb.call(this,
(WXb(),uXb),a);this.b=b;this.a=c}function fYb(a,b,c){rUb.call(this,(WXb(),CXb),a);this.b=b;this.a=c}function gYb(a,b,c){rUb.call(this,(WXb(),DXb),a);this.b=b;this.a=c}function mYb(a,b,c){rUb.call(this,(WXb(),KXb),a);this.a=b;this.b=c}function pYb(a,b,c){rUb.call(this,(WXb(),JXb),a);this.a=b;this.b=c}function $Xb(a,b,c){rUb.call(this,(WXb(),vXb),a);this.a=b;this.b=c}function tYb(a,b,c){rUb.call(this,(WXb(),RXb),a);this.a=b;this.b=c}function qYb(a,b,c){rUb.call(this,(WXb(),NXb),a);this.b=b;this.a=c}
function wYb(a,b,c){rUb.call(this,(WXb(),TXb),a);this.b=b;this.a=c}function xYb(a,b,c){rUb.call(this,(WXb(),UXb),a);this.b=b;this.a=c}function yYb(a,b,c){rUb.call(this,(WXb(),VXb),a);this.b=b;this.a=c}function SHb(a,b,c){a.n=!a.n?mJb(a.i):JHb(a);return a.n==b||a.n==c}function Mjb(a,b){if(!a.b){Njb(a,b);M5b(a.b,53,a.a)}return Nd(a.b)}function P1b(a,b){if(!a.b||!a.b.e)return null;return rzc(a.b.e,b)}function b2b(a,b){if(!a.b||!a.b.j)return null;return rzc(a.b.j,b)}function Z1b(a,b){if(!a.d||!a.d.n)return null;
return rzc(a.d.n,b)}function cFb(a,b){if(!CFb(b))return null;return bFb(a,$Eb(a,b.o))}function pic(a,b,c,d,e){if(a.a)return false;return cec(a,b,c,d,e)}function Rnc(a,b,c){c=foc(c);return a.replace(new RegExp(b,"g"),c)}function Wic(a,b){var c;c=Xic(a,b);return c==-1?bgc(a.b,44):a.c[c]}function QNb(a,b){var c;c=Hsc(a.a,b);if(c>=0)return c;return-c-2}function IBc(a,b){var c;c=1-b;a.a[c]=JBc(a.a[c],c);return JBc(a,b)}function Ff(a,b){var c;c=a.c.He(b);!c&&(c=a.ye(b));return a.Be(b,c)}function Qi(a){var b;
b=new Apc((new rpc(a.a)).a);return new bj(a,b)}function Ri(a){var b;b=new Apc((new rpc(a.a)).a);return new gj(a,b)}function eq(a){if(a.e.g!=a.b)throw CX(new Xwc);return!!a.c&&a.d>0}function u2b(a,b){if(b.d){!a.d&&(a.d=new $2b);a.d.o|=!b.d?0:b.d.o}}function V0(a){if(a.r){a.Jg(";");a.Zg();a.Sg();a.r=false}a.s=true}function t1(a,b){Td(b.k==(Pac(),k8b),b);a.c.Ng();r1(a,b.b);a.c.Pg()}function agc(a,b){return qzc(a.c,b)?rzc(a.c,b).Ke():(Km(),Km(),Jm)}function Tfc(a,b){return _fc(a,ED(zD(JT,1),NJc,27,0,
[b,a.p[25]]))}function zgb(a,b,c){wgb();n4(a,jjb(b,ugb,ED(zD(UU,1),FHc,2,6,[c])))}function Dob(a,b,c){var d;d=c.f;Sd(!!d);Sd(v5b(d,b));Hlb(a.b,a,b,c)}function ZC(a,b,c){var d;d=XC();try{return WC(a,b,c)}finally{$C(d)}}function _sc(a,b){var c;for(c=0;c<a.length;c++)a[c]=csc(b.a,c).a}function $Hb(a,b){return b==(fJb(),$Ib)?THb(a,(Pac(),dac)):ZHb(a,b)}function o6(a){return a.eb.Ld(a.Xb).Md((Qlc(),q7(a.Wb)?true:false))}function Uob(a,b,c){orc(a.f,new _ob(b,c));Fnc(b,EIc)||(a.d.a=false)}function aCc(a){bCc.call(this,
a,(BCc(),xCc),null,false,null,false)}function WBc(a){XBc.call(this,a,(BCc(),xCc),null,false,null,false)}function Grb(a){Brb();Hrb.call(this,a,Orb(i0b("js/polyfills.txt")))}function hkb(){lY();pY.call(this,null);ekb(this);this.a=(Asb(),ysb)}function Qvb(a){this.a=a;Hob.call(this,"Es6RewriteDestructuring")}function g2b(a,b){if(!a.d||!a.d.n)return false;return qzc(a.d.n,b)}function q2b(a,b){if(!a.d.q)return false;return dsc(a.d.q,b,0)!=-1}function kLb(a,b){if(a.a.Yd(b))return a;return new qLb(rLb(a.a,
b))}function B5(a){if(!a.a||!a.a.mh())return;Isb(a.a.mh(),(J7b(),G7b))}function gZb(a){if(a.b>=a.c)throw CX(nZb(a));return Anc(a.a,a.b++)}function v0b(a,b,c){Td(V0b(b),b);Td(V0b(c),c);return new t6b(a,b,c)}function RNb(a,b){var c;c=QNb(a,b);return new EYb(a.b,b,c,b-a.a[c])}function Zic(a,b){var c;c=Xic(a,b);return c==-1?a.b.p[44]:a.e.ge(c)}function q5b(a,b){var c;c=G5b(a,b);if(!c)return null;return c.Zh()}function oEc(a,b){if(a.a<=a.b){b.hf(a.a++);return true}return false}function poc(a,b,c,d){a.a+=
""+Xnc(b==null?OFc:fY(b),c,d);return a}function Jf(a,b,c,d){return rE(c,72)?new ci(a,b,c,d):new Xh(a,b,c,d)}function $fc(a,b,c){return new ojc(a,b,(Km(),Nd(c),Sm(new ltc(c))))}function Qtc(a){Jtc();var b;b=new ryc;b.a.Ie(a,b);return new Mvc(b)}function Nyc(a){this.e=a;this.b=this.e.a.entries();this.a=new Array}function FEc(a,b){hBc.call(this,b.ef(),b.df()&-6);this.a=a;this.b=b}function mZ(a,b){var c;VZ((Pac(),jac),b);for(c=b.b;c;c=c.e)g$(a,c)}function IZ(a,b){var c;VZ((Pac(),t9b),b);for(c=b.b;c;c=
c.e)HZ(a,c)}function YZ(a,b){var c;VZ((Pac(),U9b),b);for(c=b.b;c;c=c.e)ZZ(a,c)}function TZ(a,b){switch(b.k.f){case 29:OZ(b);break;case 26:AZ(a,b)}}function l4(a,b){if(n5b(b,94)!=0)return;T5b(b,a.b);++a.b;Ptb(a.c,b)}function WB(a){joc(a.b,34);dC(new fC(a.j),a);joc(a.b,59);joc(a.b,34)}function veb(a,b,c){if(b){Feb(a,null,b);Ueb(a.j,b,leb(a,b,false,c))}}function fGb(a,b,c){if(c){lGb(a,c,(AMb(),WLb));M5b(b,81,DFb(a.a,c))}}function A5b(a){return a.k==(Pac(),Z8b)&&n5b(a,61)!=0&&n5b(a,59)!=0}function IRb(a){while(Xlc(mRb(a,
a.f)?Anc(a.b,a.f):0,16)>=0)nRb(a)}function hZb(a){while(pZb(a.b<a.c?Anc(a.a,a.b):-1))gZb(a);return-1}function wgc(a,b){var c,d;c=b.e;d=c.Hi(a);if(d!=c)return d;return b}function d1b(a){Sd(a.k==(Pac(),H9b)||a.k==gac);return new r6b(Z9b,a)}function T5(a){this.a=new KBc;this.c=new ksc;this.d=new ksc;this.b=a}function Ye(a,b,c){this.a=c;this.f=a.d;this.d=a.b;this.b=a.a;this.e=b}function nKb(a,b,c,d,e){this.f=a;this.b=b;this.a=c;this.d=d;this.c=e}function hs(a,b){var c;if(b){c=b;a.b.a.length+c.ce()}kr(a,
b);return a}function Qd(a,b){if(a<0||a>b)throw CX(new Ilc(Dd(a,b,VFc)));return a}function G8(a,b){var c;c=b.b-a.b;if(c!=0)return c;c=a.c-b.c;return c}function Sm(a){Km();var b;if(rE(a,67)){b=a;return b.qf()}return Qm(a)}function S8(a,b){N8();var c;this.a=a;this.b=(lm(),c=new ltc(b),wo(c))}function gmb(a,b){Rlb();var c;c=a;while(!!c&&!b.Rd(c))c=c.f;return c}function ocb(a,b){var c;c=Z0b(b.a);a.e.d&&Y5b(c,$bb(a.e,31));return c}function sHb(a,b,c){return!c||c.$d()?jFb(a.a,(Pac(),J8b)):rHb(a,b,c)}function kBb(){iBb();
return ED(zD(qP,1),XFc,191,0,[eBb,fBb,gBb,hBb])}function gRb(){eRb();return ED(zD(hQ,1),XFc,200,0,[dRb,cRb,aRb,bRb])}function IVb(){GVb();return ED(zD(eR,1),XFc,206,0,[DVb,EVb,FVb,CVb])}function FCc(){BCc();return ED(zD(UW,1),XFc,147,0,[xCc,yCc,zCc,ACc])}function a6(){$5();return ED(zD(nK,1),XFc,158,0,[Z5,W5,V5,U5,Y5,X5])}function kg(a,b){return wE(b)===wE(a)?"(this Map)":b==null?OFc:fY(b)}function ogc(a,b,c,d){bbc();Tec.call(this,a,CJc,null,b,c,null,d,true)}function Jcc(a,b,c,d){var e;e=a.Zi(b,c,
false,d);lgc(a.A,b,a);return e}function m6b(a,b){var c;l6b(a,b);for(c=a.b;c;c=c.e)m6b(c,b);return a}function o6b(a,b){var c;n6b(a,b);for(c=a.b;c;c=c.e)o6b(c,b);return a}function lt(a,b){var c;Nd(a);return Bt((c=a.a.Ge()._d(),new cqc(c)),b)}function It(a){var b;Nd(a);if(rE(a,107)){b=a;return b}return new Jt(a)}function Sxc(a){var b;b=QEc(a.b,a.b.length);return new Xxc(a.a,b,a.c)}function Yu(a,b){var c;c=Stc(Xv(new Lv(a,b)));yt(new Lv(a,b));return c}function wy(a,b){var c;c=false;while(b.Od())c=c|a.ae(b.Pd());
return c}function F1(a,b){if(b.k==(Pac(),q8b))return F1(a,b.b);return ynb(b.k)}function _1b(a){if(!a.d||!a.d.q)return Km(),Km(),Jm;return Sm(a.d.q)}function d2b(a){if(!a.d||!a.d.s)return zn(),zn(),yn;return Gn(a.d.s)}function Qdb(a,b){if(!b||n5b(b,66)==0)return b;return deb(a,Mdb(a,b))}function nzb(a,b){if(!b)throw CX(new onc("Null type"));a.c=b;return a}function t2b(a){if(!a.c)return false;!a.b&&(a.b=new U2b);return true}function $s(a){Ps();return nk(),Nd(a),new lEc(new Ek(a),new qk,new sk)}function O_(){O_=
bY;L_=new P_(cHc,0);N_=new P_(dHc,1);M_=new P_(kHc,2)}function Dqb(){Dqb=bY;Cqb=new Eqb(kHc,0);Bqb=new Eqb("ALL_UNQUOTED",1)}function PEb(){PEb=bY;OEb=new QEb("STRICT",0);NEb=new QEb("SLOPPY",1)}function nDc(){nDc=bY;jDc=new rDc;kDc=new uDc;lDc=new xDc;mDc=new ADc}function DYb(a){if(!a.d)return"";return mt(Ne(Te(new lc(47)),a.d.c))}function Q1b(a){if(!a.d||!a.d.e)return Km(),Km(),Jm;return Stc(a.d.e)}function S1b(a){if(!a.d||!a.d.f)return Km(),Km(),Jm;return Stc(a.d.f)}function a2b(a){if(!a.d||!a.d.r)return Km(),
Km(),Jm;return Stc(a.d.r)}function DOb(a){if(qQb(a,0,(jUb(),LTb)))return aQb(a);return COb(a,1)}function bEc(a){ODc();if(LDc)return new aEc(null);return FDc(HDc(),a)}function qrc(a){if(a.b==a.c)return;a.a=BD(PU,RFc,1,8,5,1);a.b=0;a.c=0}function g4(a){if(a.J.hd){A4(a);j6(a.J,r7(a.J.Wb))&&z4(a)}else t3(a)}function df(a){Nd(a);if(rE(a,30))throw CX(a);if(rE(a,83))throw CX(a);}function $C(a){a&&fD((dD(),cD));--SC;if(a)if(UC!=-1){aD(UC);UC=-1}}function Dec(a){var b;b=new qyc;a._i()?Pc(b,Fec(a)):Pc(b,a.c);
return b}function v3(a,b,c){var d;d=xJb(b,a.J.rc,(KEb(),JEb),a.J.qc,c);return d}function Zlb(a){Rlb();var b,c;c=1;for(b=a.b;b;b=b.e)c+=Zlb(b);return c}function y5b(a){var b,c;b=0;for(c=a.b;!!c&&b<=3;c=c.e)++b;return b==3}function Pmb(a){switch(a.k.f){case 86:case 87:return true}return false}function ODc(){ODc=bY;LDc=true;JDc=false;KDc=false;NDc=false;MDc=false}function Qqb(a){Oqb();Nd(a);this.a=a;this.b=new Hrc;orc(this.b,new Wqb)}function fq(a){this.e=a;this.c=this.e.a;this.b=this.e.g;this.d=this.e.i}
function HNb(a,b,c,d){ce.call(this,a,b);this.c=c;this.b=d;this.a=NNb(d)}function IBb(a,b,c,d,e){sBb();yBb.call(this,a,b,null,d,e);this.a=Gn(c)}function Lgb(a,b,c,d){if(!b||b==c)return;Lgb(a,b.e,c,d);Mgb(a,b.b,c,d)}function J0b(a,b){Sd(V0b(a));Sd(V0b(b));return new t6b((Pac(),c9b),a,b)}function JNb(a,b){GNb();var c;c=Zn(gNb,a);return!!c&&(b||!c.a)?c:null}function Enc(a,b){var c;c=b.length;return Fnc(a.substr(a.length-c,c),b)}function Etc(a){var b;b=a.length-1;for(;b>=0&&(a[b]|0)==0;--b);return b}function SOb(a){var b;
aOb(a,(jUb(),qTb));b=COb(a,1);aOb(a,vSb);return b}function l6b(a,b){e6b(a,b);M5b(a,40,q5b(b,40));a.j=b.j;a.d=b.d;return a}function E1b(a,b){if(_1b(a).$d()){M2b(a,b,LGc);return true}return false}function D6b(a,b){return a<0||b<0?-1:(b&-4096)!=0?a<<12|aHc:a<<12|b&aHc}function meb(a,b,c){return Heb(a,c,hKc,ED(zD(nT,1),KHc,7,0,[Teb(b,c)]))}function yEc(a,b){var c;return b.b.Ud(AEc(a,b.c.Jd(),(c=new NEc(b),c)))}function osb(a){a=kEc(a);return jEc(Rnc(a,"\\{\\d+\\}","\\\\E.*\\\\Q"))}function a2(){Z1();
return ED(zD(SJ,1),XFc,135,0,[Y1,S1,X1,T1,V1,W1,U1])}function ofc(a,b,c,d){bbc();gec.call(this,a,null,null,c,d);this.a=Nd(b)}function nB(a,b){b.a.length==0?asc(a.i.c,null):asc(a.i.c,b);++a.b;a.c=0}function Lv(a,b){var c;this.f=a;this.b=b;c=Zoc(a.b,b);this.c=!c?null:c.b}function Ly(a,b){this.c=a;this.d=b;this.a=this.c._d();this.b=this.d._d()}function ezc(a){this.d=a;this.b=this.d.a.entries();this.a=this.b.next()}function vzc(){jyc.call(this);ozc(this);this.b.b=this.b;this.b.a=this.b}function wzc(){hpc.call(this);
ozc(this);this.b.b=this.b;this.b.a=this.b}function YC(b){VC();return function(){return ZC(b,this,arguments);var a}}function RC(){if(Date.now)return Date.now();return(new Date).getTime()}function bu(a){if(au(a)){a.c=a.a;return a.a.Pd()}else throw CX(new lAc);}function Sx(a,b){if(Ai(b).$d())return false;Si(b,new Wx(a));return true}function yab(a,b){var c;a.a=false;c=new Bab(a);Glb(a.b.a,b,c);return a.a}function Cr(a,b){var c,d;for(d=b._d();d.Od();){c=d.Pd();a.Kf(c)}return a}function Jpb(a,b){var c;
Ipb(a,b);for(c=b.b;c;c=c.e){Sd(c.f==b);Jpb(a,c)}}function lZ(a,b,c){var d;VZ((Pac(),t8b),b);for(d=b.b;d;d=d.e)kZ(a,d,c)}function mnb(a){Rlb();return a.k==(Pac(),Z8b)&&!(a.k==Z8b&&n5b(a,60)!=0)}function $mb(a){Rlb();return!!a&&(a.k==(Pac(),Jac)||a.k==z9b||a.k==x8b)}function dzb(a){azb();return kzb(nzb(mzb(lzb(new ozb,a),a),(kAb(),gAb)))}function fzb(a){azb();return kzb(nzb(mzb(lzb(new ozb,a),a),(kAb(),iAb)))}function mAb(){kAb();return ED(zD(dP,1),XFc,173,0,[iAb,hAb,jAb,fAb,gAb])}function tib(){rib();
return ED(zD(eM,1),XFc,178,0,[mib,pib,nib,oib,qib])}function v3b(){t3b();return ED(zD(_S,1),XFc,177,0,[q3b,p3b,r3b,s3b,o3b])}function RUb(){PUb();return ED(zD(EQ,1),XFc,181,0,[KUb,NUb,MUb,OUb,LUb])}function Bvb(){Hob.call(this,"Es6RewriteBlockScopedFunctionDeclaration")}function Pb(a){a.i=3;a.g=We(a);if(a.i!=2){a.i=0;return true}return false}function rf(a){a.f=3;a.e=Ky(a);if(a.f!=2){a.f=0;return true}return false}function w3b(a,b){if(F1b(a.a,b)){a.e=true;return true}else return false}function y3b(a,
b){if(J1b(a.a,b)){a.e=true;return true}else return false}function Y3b(a,b){if(H1b(a.a,b)){a.e=true;return true}else return false}function P3b(a,b){if(x2b(a.a,b)){a.e=true;return true}else return false}function x4b(a,b){if(K1b(a.a,b)){a.e=true;return true}else return false}function C4b(a,b){if(B1b(a.a,b)){a.e=true;return true}else return false}function L4b(a,b){if(M1b(a.a,b)){a.e=true;return true}else return false}function uzc(a,b){var c;c=cpc(a.c,b);if(c){Hzc(c);return c.e}return null}function Snc(a,
b,c){var d;c=foc(c);d=new RegExp(b);return a.replace(d,c)}function gEc(a,b){this.b=a;this.c=new $wnd.RegExp(a.source,"g");this.a=b}function uBc(a,b,c){this.b=a;this.d=b;this.e=c;this.c=this.d+(""+this.e)}function pEc(a,b){this.c=0;this.b=b;aBc.call(this,a,17493);this.a=this.c}function aEc(a){ODc();if(LDc)return;this.c=a;this.e=true;this.a=new ksc}function a4(a){a.J.wd!=(S7(),P7)&&!!a.S&&Uob(a.S,EIc,true);return new Ytb}function kA(a,b){var c;if(rE(b,244)){c=b;return Nsc(a.c,c.c)}return false}function s5(a,
b){if(dsc(a.d,b,0)==-1){asc(a.d,b);return true}return false}function t5(a,b){if(dsc(a.o,b,0)==-1){asc(a.o,b);return true}return false}function qB(a,b){if(FB(a.a)&&HB(a.a)==b){GB(a.a);return true}return false}function Udc(a,b){a.k=Zfc(a.f,(Km(),Nd(b),Sm(new ltc(b))),null);return a}function Ksc(a,b){var c,d;c=(d=a.slice(0,b),FD(d,a));c.length=b;return c}function keb(a,b){var c;c=l6b(new p6b((Pac(),m8b)),b);asc(a.q,c);return c}function Ybb(a,b,c){var d;d=v0b((Pac(),v8b),b,c);a.d&&Y5b(d,c.c);return d}
function uRb(a,b,c){tRb(a,lRb(a,a.d.a.length==0?a.f:sRb(a,0).b.b.c),b,c)}function seb(a,b){return l6b(Dgb(Z0b(gKc+(a.r.b==0?"":"$"+a.r.b)),a.g),b)}function qnb(a){Rlb();return l6b((Td(V0b(a),a),new r6b((Pac(),T8b),a)),a)}function Qfb(a){return a.k==(Pac(),pac)&&J5b((Sd(!!a.b&&!a.b.e),a.b),fHc)}function K0b(a,b){Sd(V0b(a));Sd(b.k==(Pac(),rac));return new t6b(d9b,a,b)}function O0b(a,b){Sd(V0b(a));Sd(b.k==(Pac(),k8b));return new t6b(h9b,a,b)}function q4(a,b){Od(b,"the error manager cannot be null");
a.j=new Ntb(b)}function mEb(a,b){if(!b)throw CX(new onc("Null runMode"));a.e=b;return a}function Od(a,b){if(a==null)throw CX(new onc(b==null?OFc:fY(b)));return a}function j7b(a){var b;if(!a.a)throw CX(new lAc);b=a.a;a.a=a.a.e;return b}function Mm(a){var b;b=(Nd(a),a?new msc(a):Xv(a._d()));Otc(b);return en(b)}function HD(a){var b,c,d;b=a&XGc;c=a>>22&XGc;d=a<0?YGc:0;return JD(b,c,d)}function omc(a,b,c){var d;d=mmc(a);Amc(a,d);d.i=c?8:0;d.f=b;d.e=c;return d}function gZ(a,b){var c;VZ((Pac(),n8b),b);MZ(b);
for(c=b.b;c;c=c.e)wZ(a,c)}function UZ(a,b){var c;VZ((Pac(),N9b),b);MZ(b);for(c=b.b;c;c=c.e)wZ(a,c)}function fZ(a,b){var c;VZ((Pac(),k8b),b);for(c=b.b;c;c=c.e)i$(a,c,false)}function P$(a,b){var c;Jp(a.a);a.c=a.b.b;c=g5b(b,false);N$(a,b,c);return a}function TB(a,b,c){c||(a.a+=",\n",a);a.a+='"';a.a+=""+b;a.a+='"';a.a+=":"}function Ixb(a,b,c){K1.call(this,a,b);Nd(c);this.b=c;this.a=new djb(false)}function Bkb(){Akb(this);this.i=null;this.e=true;this.g=new _q;this.f=this}function bz(a){this.d=a;this.c=
new Vzc(new Mzc(this.d.a));this.a=(iu(),hu)}function xt(a){if(a<0)throw CX(new Ilc(DGc+a+") must not be negative"));}function UY(a){if(!a.c)return false;return n5b(a.c,65)!=0||n5b(a.c,43)!=0}function S2b(a,b){if(a)return b?new V4b(g5b(a.a,false),a.b):a;return null}function czb(a,b){azb();return kzb(nzb(mzb(lzb(new ozb,b),a),(kAb(),fAb)))}function ezb(a,b){azb();return kzb(nzb(mzb(lzb(new ozb,b),a),(kAb(),hAb)))}function azb(){azb=bY;_yb=kzb(nzb(mzb(lzb(new ozb,IHc),IHc),(kAb(),iAb)))}function Fpb(){Fpb=
bY;Epb=new Gpb("LEGACY",0);Dpb=new Gpb("EXPORT_ALL",1)}function bFc(){bFc=bY;new fFc;new dFc("ISO-LATIN-1");new dFc("ISO-8859-1")}function Fbc(a,b){bbc();var c;return!a?!b:(c=new Cfc(false),dbc(a,b,0,c))}function LNb(a,b){GNb();var c;return c=Zn(gNb,a),!!(!!c&&(b||!c.a)?c:null)}function rzc(a,b){var c;c=Zoc(a.c,b);if(c){tzc(a,c);return c.e}return null}function Lec(a,b){if(Fnc(LHc,b)){Kec(a);return a.g}else return jic(a.t,b)}function sRb(a,b){while(a.d.a.length<=b)asc(a.d,BRb(a));return csc(a.d,b)}
function vRb(a,b,c){DJb(a.e,lRb(a,a.d.a.length==0?a.f:sRb(a,0).b.b.c),b,c)}function DGb(a,b){var c;c=jFb(a.a,(Pac(),T8b));_4b(c,DFb(a.a,b.a));return c}function sBc(a,b){!a.a?a.a=new xoc(a.d):roc(a.a,a.b);ooc(a.a,b);return a}function Is(a,b){var c,d;for(d=new Apc(b.a);d.b;){c=ypc(d);Br(a,c)}return a}function VA(a){if(a<=0)throw CX(new Fjb("x ("+a+") must be > 0"));return a}function Czb(a,b){if(b==null)throw CX(new onc("Null name"));a.b=b;return a}function f5b(a,b){Td(!a.i,"Node has existing properties.");
a.i=b.i;return a}function O5b(a){var b,c;c=a.b;for(b=a.b;b;b=b.e)b.f=null;a.b=null;return c}function _5b(a){var b;b=Q5b(a,a.i,37);b!=a.i&&(a.i=b);a.i=new U6b(37,1,a.i)}function g6b(a){var b;b=Q5b(a,a.i,30);b!=a.i&&(a.i=b);a.i=new U6b(30,1,a.i)}function p7b(a){var b;b=Q5b(a,a.i,36);b!=a.i&&(a.i=b);a.i=new U6b(36,1,a.i)}function hic(a){var b;if(!a.a)return null;b=a.a.Mi();return!b?null:b.Pi()}function pB(a){var b;if(!FB(a.a))return true;b=HB(a.a);return b==59||b==44}function dgc(a,b){var c;Gd(b.indexOf("<")==
-1,KNc);return c=a.o,Bp(a.t,c,b)}function Cqc(a,b){var c,d;c=b.Ve();d=a.sj(c);return!!d&&mAc(d.We(),b.We())}function C0b(a,b){Td(V0b(a),a);Td(V0b(b),b);return new t6b((Pac(),w8b),a,b)}function t0b(a,b){Td(F5b(a),a);Td(V0b(b),b);return new t6b((Pac(),T7b),a,b)}function Z0b(a){Xd(Jnc(a,boc(46))==-1,JHc,a);return new s7b((Pac(),H9b),a)}function Ufc(a,b){return _fc(a,ED(zD(JT,1),NJc,27,0,[b,a.p[45],a.p[25]]))}function ie(a,b){var c;c=a[":"+b];iFc(!!c,ED(zD(PU,1),RFc,1,5,[b]));return c}function _dc(a,
b){var c;c=new s7b((Pac(),H9b),"");c.c=b;_4b(a.b,c);return c}function LAc(a,b){var c;c=a0b(a.a,b);if(c==null)throw CX(new kAc);return c}function b$(a,b){var c;b.k==(Pac(),J8b)?(c=l5b(b),0!=c&&u$(lHc+c,b)):wZ(a,b)}function jjb(a,b,c){var d;return new gjb((d=q5b(a,51),!d?null:d.sg()),a,b,c)}function qlb(a,b,c){var d;return new gjb((d=q5b(a,51),!d?null:d.sg()),a,b,c)}function Kd(a,b,c){if(!a)throw CX(new Fjb(bf(b,ED(zD(PU,1),RFc,1,5,[c]))));}function Xd(a,b,c){if(!a)throw CX(new Kmc(bf(b,ED(zD(PU,1),
RFc,1,5,[c]))));}function V$b(a,b){g$b();this.a=(Km(),new jy($m(ED(zD(PU,1),RFc,1,5,[a,b]))))}function Xkb(a,b,c){n4(a.a,jjb(c,Vkb,ED(zD(UU,1),FHc,2,6,[be(GEb(b)),b.a])))}function _Qb(){ZQb();return ED(zD(fQ,1),XFc,163,0,[TQb,UQb,VQb,WQb,XQb,YQb])}function F_b(){D_b();return ED(zD(KS,1),XFc,165,0,[x_b,A_b,B_b,y_b,C_b,z_b])}function vmb(a){Rlb();var b;b=null;while(!b&&!!a){b=q5b(a,51);a=a.f}return b}function ibc(a){var b;if(a.v)return-1;a.v=true;b=a.yi();a.v=false;return b}function u4b(a,b,c){if(I1b(a.a,
b,c)){a.e=true;return true}else return false}function E4b(a,b,c){if(L1b(a.a,b,c)){a.e=true;return true}else return false}function I4b(a,b,c){if(D1b(a.a,b,c)){a.e=true;return true}else return false}function lcc(a,b,c,d){if(!dbc(a.b,b.b,c,d))return false;return mcc(a,b,c,d)}function FBc(a,b){var c;c=new jCc;c.c=true;c.d=b.We();return GBc(a,b.Ve(),c)}function NX(a){var b;if(KX(a)){b=0-a;if(!isNaN(b))return b}return FX(ZD(a))}function q7(a){switch(a.f){case 0:case 1:return false;default:return true}}
function nEb(a,b){if(!b)throw CX(new onc("Null strictMode"));a.f=b;return a}function nFc(a,b,c){if(a<0||b>c||b<a)throw CX(new yoc(ZNc+a+$Nc+b+YNc+c));}function mzb(a,b){if(b==null)throw CX(new onc("Null symbol"));a.b=b;return a}function iEb(a,b){if(!b)throw CX(new onc("Null annotations"));a.a=b;return a}function BD(a,b,c,d,e,f){var g;g=CD(e,d);e!=10&&ED(zD(a,f),b,c,e,g);return g}function AUb(a,b,c,d){rUb.call(this,(WXb(),nWb),a);this.a=b;this.b=c;this.c=d}function WUb(a,b,c,d){rUb.call(this,(WXb(),
AWb),a);this.c=b;this.b=c;this.a=d}function YUb(a,b,c,d){rUb.call(this,(WXb(),CWb),a);this.a=b;this.c=c;this.b=d}function $Ub(a,b,c,d){rUb.call(this,(WXb(),EWb),a);this.a=b;this.b=c;this.c=d}function kVb(a,b,c,d){rUb.call(this,(WXb(),RWb),a);this.c=b;this.b=c;this.a=d}function lVb(a,b,c,d){rUb.call(this,(WXb(),SWb),a);this.c=b;this.b=c;this.a=d}function mVb(a,b,c,d){rUb.call(this,(WXb(),TWb),a);this.c=b;this.b=c;this.a=d}function NVb(a,b,c,d){rUb.call(this,(WXb(),$Wb),a);this.a=b;this.c=c;this.b=
d}function lYb(a,b,c,d){rUb.call(this,(WXb(),IXb),a);this.a=b;this.b=c;this.c=d}function sYb(a,b,c,d){rUb.call(this,(WXb(),PXb),a);this.b=b;this.c=c;this.a=d}function uYb(a,b,c,d){rUb.call(this,(WXb(),QXb),a);this.c=b;this.a=c;this.b=d}function Rhb(a,b,c){this.f=new ksc;this.g=new jyc;this.a=a;this.c=b;this.i=c}function Kh(a,b,c,d){this.f=a;this.e=b;this.d=c;this.b=d;this.c=!d?null:d.d}function gjb(a,b,c,d){fjb.call(this,a,b,b?y6b(b.j):-1,b?x6b(b.j):-1,c,null,d)}function iCc(a,b){yqc.call(this,a,
b);this.a=BD(PW,pGc,196,2,0,1);this.b=true}function k1b(a,b){var c;Sd(V0b(b));c=new s7b((Pac(),sac),a);a5b(c,b);return c}function LHb(a,b){if(b==(fJb(),MIb)){a.g=(JIb(),HIb);return b}return KHb(a,b)}function W3b(a,b){if(!!b&&u1b(a.a,b)){a.e=true;return true}else return false}function a4b(a,b){if(!!b&&v1b(a.a,b)){a.e=true;return true}else return false}function i4b(a){if(l2b(a.a))return false;else{D2b(a.a);a.e=true;return true}}function j4b(a){if(m2b(a.a))return false;else{E2b(a.a);a.e=true;return true}}
function l4b(a){if(n2b(a.a))return false;else{G2b(a.a);a.e=true;return true}}function v4b(a){if(o2b(a.a))return false;else{J2b(a.a);a.e=true;return true}}function w4b(a){if(p2b(a.a))return false;else{K2b(a.a);a.e=true;return true}}function N4b(a){if(s2b(a.a))return false;else{O2b(a.a);a.e=true;return true}}function M3b(a){if(j2b(a.a))return false;else{w2b(a.a);a.e=true;return true}}function $3(a){if(a.J.wd!=(S7(),P7)){a.S=new Wob(a.q,a.A,a.J.wd);r3(a,a.S.d)}}function Urc(a){if(Drc(a.d,a.c)<0){a.a=
a.a-1&a.d.a.length-1;a.b=a.d.c}a.c=-1}function PAc(a,b){OAc(a);if(a.d.Od()){b.gf(a.d.Pd());return true}return false}function v5b(a,b){var c;for(c=a.b;c;c=c.e)if(b==c)return true;return false}function Dg(a,b){var c,d;c=Lw(a.a,b);if(!c)return null;d=b;return a.b.Be(d,c)}function A5(a){if(!a.a||!a.a.mh())return false;return a.a.mh().c==(J7b(),G7b)}function E1(a,b){if(q5b(b,78)){P0(a.c,":");a.c.Yg();a.bh(q5b(b,78),(Z1(),U1))}}function Keb(a,b){if(b.b){Glb(a.r.f.b,b,new bfb(a));while(b.b)Leb(a,P5b(b))}}
function qHb(a,b){var c;c=oFb(a.a,(Pac(),v9b),b.a);AFb(c,b.b.b,b.b.a);return c}function vd(a,b,c){var d,e;d=(e=new Ad,a.c=a.c.b=e,e);d.c=c;d.a=Nd(b);return a}function lbc(a,b,c){var d;d=c?new Cfc(true):new Cfc(false);return dbc(a,b,0,d)}function _Cc(a,b,c){if(b==null||c==null)throw CX(new nnc);return apc(a.a,b,c)}function lzb(a,b){if(b==null)throw CX(new onc("Null rawText"));a.a=b;return a}function kEb(a,b){if(!b)throw CX(new onc("Null languageMode"));a.c=b;return a}function Ob(a){var b;if(!Nb(a))throw CX(new lAc);
a.i=1;b=a.g;a.g=null;return b}function fmb(a){Rlb();while(!!a&&!(a.k==(Pac(),lac)||a.k==Z8b))a=a.f;return a}function FD(a,b){AD(b)!=10&&ED(zb(b),b.Bj,b.__elementTypeId$,AD(b),a);return a}function Ykb(a,b,c){Wkb();Nd(a);Nd(b);Nd(c);this.a=a;this.b=pLb(pLb(b,Skb),c)}function NKb(a,b,c,d,e,f){ce.call(this,a,b);this.d=c;this.c=d;this.b=e;this.a=f}function KC(a){DA(this);this.g=!a?null:IA(a,a.Wf());this.f=a;EA(this);this.Xf()}function yqb(){zqb.call(this,"REGISTER_BOOLEAN",0,"goog.tweak.registerBoolean")}
function Ibc(a){var b;if(a.Fi()){b=a.Fi();return _ic(b.B,cgc(b.A))}return false}function Y0b(a){var b;Sd(a.k==(Pac(),Z8b));b=new s7b(C9b,vJc);_4b(b,a);return b}function Zsc(a,b,c,d){var e;d=(Iwc(),!d?Fwc:d);e=a.slice(b,c);$sc(e,a,b,c,-b,d)}function uIb(a,b,c,d,e){var f,g;if(d){g=a.i.g;f=lJb(a.i);F3b(a.e,d,b,c,g,f,e)}}function Yhb(a,b,c,d){var e,f;f=Vhb(a,c,true);gib(f,new uib(b,(e=d,++a.a.b,e)))}function Zd(a,b,c,d){if(!a)throw CX(new Kmc(bf(b,ED(zD(PU,1),RFc,1,5,[c,d]))));}function M4b(a,b){if(!a.a.j){a.e=
true;N2b(a.a,b);return true}else return false}function cSb(a){switch(a){case 48:return 0;case 49:return 1;default:return-1}}function BCc(){BCc=bY;xCc=new CCc("All",0);yCc=new GCc;zCc=new ICc;ACc=new LCc}function K7(){K7=bY;H7=new L7(UIc,0);I7=new L7("LOCAL_ONLY",1);J7=new L7(LIc,2)}function Y7(){Y7=bY;W7=new Z7(kHc,0);V7=new Z7("CHECK",1);X7=new Z7("STRIP",2)}function kE(){kE=bY;gE=JD(XGc,XGc,524287);hE=JD(0,0,ZGc);iE=HD(1);HD(2);jE=HD(0)}function Atc(a){var b;b=((a-1)/31|0)+1;this.a=BD(AE,MGc,8,
0,15,1);WEc(this.a,b)}function IHb(a,b){var c;return!b?null:new V4b(b,(c=q5b(a.k,51),!c?null:c.sg()))}function eZ(a,b){var c;c=l5b(b);2!=c&&u$(mHc+c,b);wZ(a,b.b);wZ(a,b.b?b.b.g:null)}function jKb(a,b){a.a.vh(dMc+F7b(CMc,ED(zD(PU,1),RFc,1,5,[b])),a.b.sg(),a.d,a.c)}function kKb(a,b){a.a.vh(dMc+F7b(uMc,ED(zD(PU,1),RFc,1,5,[b])),a.b.sg(),a.d,a.c)}function lKb(a,b){a.a.vh(dMc+F7b(xMc,ED(zD(PU,1),RFc,1,5,[b])),a.b.sg(),a.d,a.c)}function mKb(a,b){a.a.vh(dMc+F7b(BMc,ED(zD(PU,1),RFc,1,5,[b])),a.b.sg(),a.d,
a.c)}function bbc(){bbc=bY;abc=(lm(),zo(ED(zD(PU,1),RFc,1,5,[GJc,"IArrayLike",AJc])))}function Y3(a,b){a.W=new k8(ED(zD(PO,1),RFc,167,0,[new Ftb(a,(y9(),Gn(x9))),b]))}function Fib(){Dib();return ED(zD(gM,1),XFc,148,0,[Bib,Cib,Aib,wib,zib,xib,yib])}function Wyb(){Uyb();return ED(zD(OO,1),XFc,146,0,[Pyb,Qyb,Ryb,Nyb,Syb,Tyb,Oyb])}function Ync(a){var b,c;c=a.length;b=BD(zE,JFc,8,c,15,1);Hnc(a,0,c,b,0);return b}function sAc(a){var b;b=a.b.a.length==0?null:a.b.a[0];b!=null&&tAc(a,0);return b}function dsc(a,
b,c){for(;c<a.a.length;++c)if(mAc(b,a.a[c]))return c;return-1}function AEc(a,b,c){var d;rEc(a);d=new KEc;d.a=b;a.a.Nd(new OEc(d,c));return d.a}function $Nb(a,b){var c,d;for(d=b.b._d();d.Od();){c=d.Pd();!c.b&&mOb(a,b.a,c.c)}}function ig(a,b){var c,d;for(d=b.Ge()._d();d.Od();){c=d.Pd();a.Ie(c.Ve(),c.We())}}function Kp(a,b){return!!Tp(a,b,SX(MX(vGc,Xmc(SX(MX(b==null?0:Bb(b),wGc)),15))))}function Yv(a){return rE(a,113)?Mm(a):rE(a,174)?a.a:rE(a,72)?new rw(a):new hw(a)}function uE(a){return a!=null&&(typeof a===
zFc||typeof a===CFc)&&!(a.Cj===gY)}function AD(a){return a.__elementTypeCategory$==null?10:a.__elementTypeCategory$}function rcb(a){this.e=a;this.c=new vzc;this.b=new su;this.a=new Yq;this.d=new su}function Apc(a){this.e=a;this.d=new ezc(this.e.e);this.a=this.d;this.b=xpc(this)}function ec(){this.a=Ync("0123456789_.");this.a.sort(cY(rtc.prototype.uj,rtc,[]))}function XA(a){if(EX(a,EFc)>0)return EFc;if(EX(a,LGc)<0)return LGc;return SX(a)}function K3b(a){if((a.a.a&1)!=0)return false;else{a.a.a|=1;a.e=
true;return true}}function $3b(a){if((a.a.a&8)!=0)return false;else{a.a.a|=8;a.e=true;return true}}function N6b(a){var b;if(!a.a.a)throw CX(new lAc);b=a.a.a;a.a.a=a.a.a.f;return b}function kOb(a){var b;b=null;rQb(a,(jUb(),wSb))&&(b=(aOb(a,wSb),eQb(a)));return b}function Lzc(a,b){var c;if(Kzc(a,b)){c=b.Ve();uzc(a.a,c);return true}return false}function Rxc(a,b){var c;c=b.f;if(!a.b[c]){a.b[c]=b;++a.c;return true}return false}function EY(a,b){var c;c=a;while(c){if(qzc(c.e,b))return true;c=c.b}return false}
function Zmc(a,b){var c;if(b==10||b<2||b>36)return""+a;return c=a,c.toString(b)}function wo(a){lm();var b;if(rE(a,134)&&!rE(a,245)){b=a;return b}return xo(a._d())}function cE(a){if(WD(a,(kE(),jE))<0)return-SD(ZD(a));return a.l+a.m*$Gc+a.h*_Gc}function F3(a){if(!a.j)return ED(zD(nM,1),zHc,61,0,[]);return B$(a.j.a,(O_(),L_))}function Q3(a){if(!a.j)return ED(zD(nM,1),zHc,61,0,[]);return B$(a.j.a,(O_(),N_))}function iFc(a,b){if(!a)throw CX(new Fjb(oFc("Enum constant undefined: %s",b)));}function Hd(a,
b,c){if(!a)throw CX(new Fjb(bf(b,ED(zD(PU,1),RFc,1,5,[cmc(c)]))));}function Id(a,b,c){if(!a)throw CX(new Fjb(bf(b,ED(zD(PU,1),RFc,1,5,[$mc(c)]))));}function Ud(a,b,c){if(!a)throw CX(new Kmc(bf(b,ED(zD(PU,1),RFc,1,5,[$mc(c)]))));}function q7b(a,b){if(null==b)throw CX(new Fjb("StringNode: str is null"));a.a=b}function jEb(a,b){if(!b)throw CX(new onc("Null jsDocParsingMode"));a.b=b;return a}function bHb(a,b){var c;c=jFb(a.a,(Pac(),iac));!!b.a&&_4b(c,DFb(a.a,b.a));return c}function w5(a,b){var c;c=Nd(a.a.kh(b));
Sd(c.k==(Pac(),lac));Nd(q5b(c,53));return c}function vt(a,b){var c;Nd(a);Nd(b);c=false;while(b.Od())c=c|a.Vd(b.Pd());return c}function kr(a,b){var c,d;Nd(b);for(d=b._d();d.Od();){c=d.Pd();a.Hf(Nd(c))}return a}function kZb(a,b){var c,d;c=gZb(a);b.b=c;if(c==116||c==84){d=gZb(a);b.c=d}return b}function m5b(a,b){var c,d;d=a.b;c=0;while(d){if(b==d)return c;d=d.e;++c}return-1}function nPb(a){var b,c;c=sRb(a.g,0).b.b;b=bOb(a);return new MVb(new GYb(c,a.f),b)}function xPb(a){var b,c;c=sRb(a.g,0).b.b;b=oOb(a);
return new TVb(new GYb(c,a.f),b)}function Kyb(){Kyb=bY;Jyb=new Lyb(kHc,0);Iyb=new Lyb("LOCAL",1);Hyb=new Lyb(UIc,2)}function $Y(){$Y=bY;YY=new _Y(kHc,0);ZY=new _Y("UNMAPPED",1);XY=new _Y("MAPPED",2)}function y7(){y7=bY;v7=new z7(LIc,0);x7=new z7("SENTINEL",1);w7=new z7("NORMAL",2)}function E7(){E7=bY;B7=new F7(UIc,0);D7=new F7(LIc,1);C7=new F7("MODULE_EXPORT",2)}function nk(){nk=bY;mk=new lEc(new ok,new uk,new wk);new lEc(new yk,new Ak,new Ck)}function ubb(){ubb=bY;tbb=nLb((eLb(),SKb),ED(zD(ZP,1),
XFc,28,0,[(AMb(),NLb),KLb]))}function r6(a){if(a.Bb==(X6(),U6))return false;return a.Ic||gLb((eLb(),VKb),i6(a))}function Ykc(a){if(!a.j){a.j=alc(a);!a.j&&(a.j=new Zjc(a.i,Sm(Zkc(a))))}return a.j}function fib(a,b,c){var d;!a.k&&(a.k=new ksc);d=new jib(b,a);c&&asc(a.k,d);return d}function Bfc(a,b,c,d){var e;e=Zoc(a.a,b);!e&&(e=new Byc);Jyc(e.d,c,d);apc(a.a,b,e)}function E3b(a,b,c,d,e,f){var g;if(a.b){g=new j3b;g.d=b;f3b(g,c,d,e,f);a3b(a.b,g)}}function XHb(a,b,c,d,e,f){var g;f?g=rIb(a,b):g=oIb(a,b);
uIb(a,c,d,g,e);return g}function POb(a,b){var c;c=(Km(),new tr);while(uQb(a))rr(c,OOb(a,b));return Sm(c.a)}function xRb(a,b){if((mRb(a,a.f)?Anc(a.b,a.f):0)==46){nRb(a);GRb(a)}return wRb(a,b)}function S0b(a,b){var c;Sd(a.k==(Pac(),v9b));Sd(W0b(b));c=new t6b(u9b,a,b);return c}function Mp(a,b){return Ow(Sp(a,b,SX(MX(vGc,Xmc(SX(MX(b==null?0:Bb(b),wGc)),15)))))}function t7(){p7();return ED(zD(vK,1),XFc,106,0,[d7,e7,f7,h7,g7,i7,j7,k7,l7,n7,m7])}function Aqb(){uqb();return ED(zD(pN,1),XFc,91,0,[rqb,sqb,
tqb,qqb,nqb,mqb,oqb,pqb])}function Znc(a,b){return b==(dAc(),dAc(),cAc)?a.toLocaleLowerCase():a.toLowerCase()}function Wxc(a,b){if(!!b&&a.b[b.f]==b){a.b[b.f]=null;--a.c;return true}return false}function Z3b(a){if((a.a.a&32)!=0)return false;else{a.a.a|=32;a.e=true;return true}}function s4b(a){if((a.a.a&64)!=0)return false;else{a.a.a|=64;a.e=true;return true}}function uJb(a){if((a&57296)!=0)return false;return a==10||a==13||a==8232||a==8233}function Gw(a){if(a<3){Hk(a,xGc);return a+1}if(a<AGc)return xE(a/
.75+1);return EFc}function Fbb(a,b){while(wE(Nd(a.f))!==wE(b))a=Nd((Rlb(),gmb(a.f,new Hnb)));return a}function geb(a,b,c){if(c){xrc(a.e)||++vrc(a.e).b;orc(a.k,c)}!!b&&orc(a.e,new Xeb(b))}function Ueb(a,b,c){Sd(c.k==(Pac(),k8b));Sd(!a.d);Veb(a,b);c5b(a.a,O5b(c));a.e=false}function Vbb(a,b,c){var d;d=c;while(d.f.k==(Pac(),u9b))d=d.f;$4b(d.f,b,d);p4(a.a,b)}function vlb(a){var b;b=a.g;Nd(b);Td((Rlb(),b.k==(Pac(),lac)||b.k==Z8b),b);o4(a.c,b)}function j5b(a){var b,c;for(b=a.b;b;){c=b.e;b.f=null;b.e=null;
b.g=null;b=c}a.b=null}function fD(a){var b,c;if(a.b){c=null;do{b=a.b;a.b=null;c=iD(b,c)}while(a.b);a.b=c}}function eD(a){var b,c;if(a.a){c=null;do{b=a.a;a.a=null;c=iD(b,c)}while(a.a);a.a=c}}function byc(a){var b;++a.a;for(b=a.c.a.length;a.a<b;++a.a)if(a.c.b[a.a])return}function bC(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 Cnb(a,b,c){Rlb();var d;b.yg(a);if(c.Rd(a))for(d=a.b;d;d=d.e)Cnb(d,b,c)}function nnb(a,b){Rlb();var c;a.k==(Pac(),Z8b)&&b.pg(a);for(c=a.b;c;c=
c.e)nnb(c,b)}function onb(a,b){Rlb();var c;a.k==(Pac(),Z8b)&&b.og(a);for(c=a.b;c;c=c.e)onb(c,b)}function V5b(a,b){var c;c=Q5b(a,a.i,78);c!=a.i&&(a.i=c);!!b&&(a.i=new c7b(78,b,a.i))}function d6b(a,b){var c;c=Q5b(a,a.i,51);c!=a.i&&(a.i=c);!!b&&(a.i=new c7b(51,b,a.i))}function fsc(a,b){var c;c=dsc(a,b,0);if(c==-1)return false;VEc(a.a,c,1);return true}function PRb(a){if((mRb(a,a.f)?Anc(a.b,a.f):0)==92)return LRb(a);nRb(a);return true}function lnb(a){Rlb();switch(a.f){case 63:case 64:return true;default:return false}}
function Lpb(a){if(a.a)throw CX(new Kmc("normalizeNodeType constraints violated"));}function qhb(){throw CX(new Boc("FunctionInformationMap.newBuilder not implemented"));}function pjb(){this.d=new ksc;this.a=new ksc;this.e="$singleton$";this.b=-1;this.c=-1}function j8(a){this.e=new jyc;this.b=new q8(this.e);this.c=new QCc(this.b);f8(this,a)}function xzc(a){jyc.call(this);ozc(this);this.b.b=this.b;this.b.a=this.b;ig(this,a)}function szb(a,b,c,d,e,f){qzb();this.b=a;this.c=b;this.d=c;this.e=d;this.f=
e;this.a=f}function ulb(a,b,c,d){var e,f;e=new gjb((f=q5b(b,51),!f?null:f.sg()),b,c,d);n4(a.c,e)}function iAc(a,b,c){var d;d=a.He(b);if(d==null){d=c.Ud(b);d!=null&&a.Ie(b,d)}return d}function R0b(a){var b,c;b=n1b((Pac(),o9b),a);c=Q5b(b,b.i,32);c!=b.i&&(b.i=c);return b}function znb(a){Rlb();var b;b=a.k==(Pac(),Z8b)?a.b?a.b.g:null:a;return Ylb(b,Aac,Nlb)}function HEb(){EEb();return ED(zD(JP,1),XFc,125,0,[xEb,yEb,zEb,AEb,BEb,wEb,CEb,DEb])}function Moc(){Koc();return ED(zD(XU,1),XFc,139,0,[Joc,Doc,Coc,
Eoc,Hoc,Foc,Goc,Ioc])}function vq(a,b){return Jw(Tp(a.a,b,SX(MX(vGc,Xmc(SX(MX(b==null?0:Bb(b),wGc)),15)))))}function KEb(){KEb=bY;JEb=new LEb("STOP_AFTER_ERROR",0);IEb=new LEb("KEEP_GOING",1)}function T5b(a,b){var c;c=Q5b(a,a.i,56);c!=a.i&&(a.i=c);b!=0&&(a.i=new U6b(56,b,a.i))}function hbc(a){var b;if(a.w)return false;else{a.w=true;b=a.gi();a.w=false;return b}}function O3b(a){if((a.a.a&256)!=0)return false;else{a.a.a|=256;a.e=true;return true}}function U3b(a){if((a.a.a&BGc)!=0)return false;else{a.a.a|=
BGc;a.e=true;return true}}function _3b(a){if((a.a.a&ZGc)!=0)return false;else{a.a.a|=ZGc;a.e=true;return true}}function O4b(a){if((a.a.a&OGc)!=0)return false;else{a.a.a|=OGc;a.e=true;return true}}function m4b(a){if((a.a.a&AKc)!=0)return false;else{a.a.a|=AKc;a.e=true;return true}}function V3b(a){if((a.a.a&TKc)!=0)return false;else{a.a.a|=TKc;a.e=true;return true}}function n4b(a){if((a.a.a&DIc)!=0)return false;else{a.a.a|=DIc;a.e=true;return true}}function nEc(a){var b,c;if(0>a)return new wEc;b=a+
1;c=new pEc(b,a);return new uEc(c)}function kfc(){kfc=bY;jfc=new lfc("ORDINARY",0);hfc=new lfc(FLc,1);ifc=new lfc(KLc,2)}function Vic(a,b){var c;c=ajc(a,b.e,b.d.ce());return Zfc(a.b,Uic(b.d,a.d),Uic(c,a.e))}function utc(a,b){var c;Btc(b);c=b/31|0;return c<a.a.length&&((a.a[c]|0)>>>b%31&1)==1}function rp(a,b){var c;c=rzc(a.a,b);if(!c){c=(Gw(a.b.a),new wzc);szc(a.a,b,c)}return c}function Pc(a,b){var c,d,e;c=false;for(e=b._d();e.Od();){d=e.Pd();c=c|a.Vd(d)}return c}function cY(a,b,c){var d=function(){return a.apply(d,
arguments)};b.apply(d,c);return d}function Kdc(a,b,c){a.k=Vic(a.k,Zfc(a.f,(Km(),new Uy(Nd(b))),new Uy(Nd(c))));return a}function mmc(a){var b;b=new kmc;b.p="Class$"+(a?"S"+a:""+b.k);b.b=b.p;b.n=b.p;return b}function N_b(a){var b;if(a<0)throw CX(new Mlc);b=1;while(a>=10){++b;a=a/10|0}return b}function F8(a,b){var c;for(c=0;c<a.length;c++)if(a[c].a==b)return true;return false}function WX(){XX();var a=VX;for(var b=0;b<arguments.length;b++)a.push(arguments[b])}function SZ(a,b,c){var d;VZ((Pac(),K9b),
b);for(d=b.b;d;d=d.e)c?bZ(a,d):i$(a,d,false)}function N0b(a,b,c){Sd(V0b(a));Sd(V0b(b));Sd(V0b(c));return new u6b((Pac(),g9b),a,b,c)}function Le(a){Id(true,"must be greater than zero: %s",2);return new Se(a.c,a.b,a.d,2)}function Mmb(a){Rlb();var b;Gd(a.k==(Pac(),lac),a);b=q5b(a,29);return!!b&&(b.a&16)!=0}function uf(a,b,c){var d,e;d=(e=a.f,!e?a.f=new Gg(a,a.c):e).He(b);return!!d&&d.Yd(c)}function ds(a,b,c){var d;Gk(b,c);d=rzc(a.a,b);!d&&szc(a.a,b,d=new ksc);d.Vd(c);return a}function C1b(a,b){!a.d&&
(a.d=new $2b);!a.d.r&&(a.d.r=new ksc);asc(a.d.r,b);return true}function x2b(a,b){!a.d&&(a.d=new $2b);if(a.d.b!=null)return false;a.d.b=b;return true}function b4b(a){if((a.a.a&8192)!=0)return false;else{a.a.a|=8192;a.e=true;return true}}function o4b(a){if((a.a.a&2048)!=0)return false;else{a.a.a|=2048;a.e=true;return true}}function Amc(a,b){var c;if(!a)return;b.o=a;var d=umc(b);if(!d){$X[a]=[b];return}d.Aj=b}function egb(a,b,c){var d;d=!c?new xsb(b):new wsb(c,b);lgb(new ngb(a.a,a.b,d));return d}function Pxc(a){var b,
c;c=(b=hmc(ae(a)),new Xxc(b,SEc(b,b.length),0));Rxc(c,a);return c}function Zbb(a){var b;b=b1b(ED(zD(nT,1),KHc,7,0,[]));a.d&&Y5b(b,P3(a.a).p[31]);return b}function VFb(a){var b;while(a.Od()){b=a.Pd();if(b.b==(PUb(),MUb))return b}return null}function Ql(a){var b,c,d,e;for(c=a,d=0,e=c.length;d<e;++d){b=c[d];Nd(b)}return new Vl(a)}function Yb(a,b){var c,d;c=0;for(d=0;d<b.length;d++)kc(a,b.charCodeAt(d))&&++c;return c}function M3(a,b,c){var d;if(c<1)return null;d=L3(a,b);if(d)return Gsb(d,c);return null}
function Hk(a,b){if(a<0)throw CX(new Fjb(b+" cannot be negative but was: "+a));return a}function Rtc(a,b){Jtc();var c;c=new kyc;vE(a)?bpc(c,a,b):Jyc(c.d,a,b);return new xvc(c)}function Wfc(a,b){return rE(b,210)||b.hi()?b:_fc(a,ED(zD(JT,1),NJc,27,0,[b,a.p[45]]))}function Yjb(){Yjb=bY;Xjb=nLb((eLb(),SKb),ED(zD(ZP,1),XFc,28,0,[(AMb(),KLb),bMb,vMb]))}function Smb(a){Rlb();var b;b=a.f;return b.k==(Pac(),j9b)||b.k==k9b&&(b.b?b.b.g:null)==a}function PBb(a){NBb();typeof console!==KJc&&typeof console.log!==
KJc&&console.log(a)}function ZX(a,b){typeof window===zFc&&typeof window["$gwt"]===zFc&&(window["$gwt"][a]=b)}function DHb(a,b){EHb(a,"msg.bad.fileoverview.visibility.annotation",b,a.i.g,lJb(a.i))}function ABb(a,b){sBb();var c;c=Nmc(b.length,a.length);if(c!=0)return c;return Bnc(a,b)}function VOb(a){var b;b=sRb(a.g,0).b.b;aOb(a,(jUb(),ITb));return new eVb(new GYb(b,a.f))}function qyb(a){if(a.d)return new fgb(a.a);else{a.b=new Byb(a);return new ggb(a.a,a.b)}}function _gb(a){switch(a.k.f){case 60:case 62:case 61:return true;
default:return false}}function nD(a){var b=/function(?:\s+([\w$]+))?\s*\(/;var c=b.exec(a);return c&&c[1]||UGc}function u4(a,b,c){var d;d=PX(IX(Date.now()),b.a);a.J.wd!=(S7(),P7)&&!!a.S&&Vob(a.S,c,d)}function cC(a,b,c){var d,e;e=aC(a,c.a);d=_B(a,c.a);(a.b<e||a.b==e&&a.a<d)&&eC(a,b,c,e,d)}function OVb(a,b,c,d,e){rUb.call(this,(WXb(),_Wb),a);this.a=b;this.b=c;this.d=d;this.c=e}function LVb(a,b,c,d,e){rUb.call(this,(WXb(),YWb),a);this.c=b;this.b=c;this.d=d;this.a=e}function RVb(a,b,c,d,e){rUb.call(this,
(WXb(),cXb),a);this.c=b;this.b=c;this.d=d;this.a=e}function nVb(a,b,c,d,e){rUb.call(this,(WXb(),UWb),a);this.d=b;this.b=c;this.c=d;this.a=e}function ZUb(a,b,c,d,e){rUb.call(this,(WXb(),DWb),a);this.d=b;this.b=c;this.c=d;this.a=e}function cYb(a,b,c,d,e){rUb.call(this,(WXb(),zXb),a);this.d=b;this.b=c;this.c=d;this.a=e}function EUb(a,b,c,d,e){rUb.call(this,(WXb(),rWb),a);this.c=b;this.b=c;this.a=d;this.d=e}function XUb(a,b,c,d,e){rUb.call(this,(WXb(),BWb),a);this.d=b;this.c=c;this.a=d;this.b=e}function ndc(a,
b,c,d){Qcc.call(this,a);this.d=b;this.c=rE(b,49)?b:null;this.b=c;this.a=d}function JYb(a,b){IC.call(this,"ConvertionType = "+String.fromCharCode(a)+" class = "+b)}function OY(a,b){if(!rE(b,298))return false;return Fnc(a.qg(),b.qg())&&xb(a.rg(),b.rg())}function Rlc(a,b){Qlc();return vE(a)?Bnc(a,b):tE(a)?Imc(a,b):sE(a)?a==b?0:a?1:-1:a.me(b)}function mZb(a,b,c){var d;b.p=c;d=a.b<a.c?Anc(a.a,a.b):-1;return d==46?lZb(a,b):kZb(a,b)}function M5b(a,b,c){var d;d=Q5b(a,a.i,b);d!=a.i&&(a.i=d);c!=null&&(a.i=
new c7b(b,c,a.i))}function $Eb(a,b){var c;c=null;while(!!a.b&&a.b.a.a.c<=b.b.c){c=a.b;a.b=VFb(a.j)}return c}function tIb(a,b){var c;if(a.e.d){c=NHb(a,b,a.f?0:2,false);b=c.b}else b=KHb(a,b);return b}function Lsc(a,b,c){var d,e;e=a.length;d=$wnd.Math.min(c,e);REc(a,0,b,0,d,true);return b}function trc(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 fd(a,b){var c,d;for(c=0,d=a.ce();c<d;++c)if(mAc(b,a.ge(c)))return c;return-1}function $jc(a,b){var c;for(c=0;c<b.ce();c++)if(!b.ge(c).ri())return false;
return true}function wtc(a){var b,c;b=Etc(a.a);if(b==-1)return 0;c=a.a[b]|0;return b*31+(32-Vmc(c))}function hQb(a){var b,c;b=sRb(a.g,0).b.b;c=cOb(a);return new nYb(new GYb(b,a.f),ZNb(a,c))}function r$b(a){var b;a.c=0;b=k$b(a);if(a.c<a.a)throw CX(new Fjb(Wnc(a.e,a.c)));return b}function Pd(a,b,c){if(a==null)throw CX(new onc(bf(b,ED(zD(PU,1),RFc,1,5,[c]))));return a}function fFb(a,b,c,d){b.p==(WXb(),tXb)&&(c.a&YJc)==aKc&&(d=kFb(a,(Pac(),q8b),d));return d}function Wmc(a){var b,c;if(a==0)return 32;else{c=
0;for(b=1;(b&a)==0;b<<=1)++c;return c}}function ar(a){var b;a=$wnd.Math.max(a,2);b=Smc(a);if(a>b){b<<=1;return b>0?b:AGc}return b}function Nb(a){Sd(a.i!=3);switch(a.i){case 0:return true;case 2:return false}return Pb(a)}function qf(a){Sd(a.f!=3);switch(a.f){case 2:return false;case 0:return true}return rf(a)}function sQb(a){switch(sRb(a.g,0).c.f){case 63:case 64:return true;default:return false}}function GQb(a){switch(sRb(a.g,0).c.f){case 68:case 69:return true;default:return false}}function Tlb(a){var b;
for(b=a.b.e;b;b=b.e)if(!amb(b,(ne(),je)))return false;return true}function ogb(a,b){var c;if(Nmb(b.d)){c=BY(b.b,a);return!c||TY(c)!=(Pac(),Z9b)}return true}function Ngb(a,b){var c;c=Xgb(b);Nd(c);Td((Rlb(),c.k!=(Pac(),F9b)&&gnb(c.f)),c);Ogb(a,c,b)}function slb(a,b){Nd(a.e);Nd(b);asc(a.n,b);Rlb();Uxc(Klb,b.k)&&orc(a.b,b);!!a.j&&a.j.sh(a)}function Kpb(a,b,c){if(a.a)Jpb(a,c);else{!!b&&Glb(a.b,b,new Ppb);!!c&&Glb(a.b,c,new Ppb)}}function dFb(a,b){if(b.d!=a.g){a.g=b.d;(a.g.a&CIc)!=0&&(a.c=true);return true}return false}
function UHb(a,b,c,d){var e;e=f5b(new t7b((Pac(),rac),b,c,d),a.k);Z5b(e,b.length);return e}function oJb(a){var b;b=kJb(a);if(b==47)return true;else{a.q[a.r++]=b;--a.b;return false}}function F1b(a,b){if(!t2b(a))return true;!a.b.a&&(a.b.a=new ksc);asc(a.b.a,b);return true}function G1b(a,b){if(!t2b(a))return true;if(a.b.b!=null)return false;a.b.b=b;return true}function J1b(a,b){if(!t2b(a))return true;!a.b.g&&(a.b.g=new ksc);asc(a.b.g,b);return true}function K1b(a,b){if(!t2b(a))return true;if(a.b.f!=
null)return false;a.b.f=b;return true}function M1b(a,b){if(!t2b(a))return true;if(a.b.k!=null)return false;a.b.k=b;return true}function RRb(a){if((mRb(a,a.f)?Anc(a.b,a.f):0)==92)return SRb(a,false);nRb(a);return true}function EDc(a,b){((ODc(),LDc)?null:b.c).length==0&&RDc(b,new dEc);bpc(a.a,LDc?null:b.c,b)}function n5(a){return a.c.a.length>KGc.length&&Fnc(KGc,Alc(a.c,a.c.a.length-KGc.length))}function OFb(a){if(a>=48&&a<=49)return a-48;throw CX(new Kmc(_Lc+String.fromCharCode(a)));}function UFb(a){if(a>=
48&&a<=55)return a-48;throw CX(new Kmc(_Lc+String.fromCharCode(a)));}function NBb(){NBb=bY;MBb=new U8(ED(zD(OK,1),RFc,5,0,[new D9(qKc,(O_(),L_),new Toc(""))]))}function TCb(){TCb=bY;SCb=new D9("JSC_USELESS_BLOCK",(O_(),M_),new Toc("Useless block."))}function c0(){c0=bY;b0=new D9("JSC_USELESS_CODE",(O_(),N_),new Toc("Suspicious code. {0}"))}function l0(){l0=bY;k0=new D9("JSC_UNREACHABLE_CODE",(O_(),N_),new Toc("unreachable code"))}function KY(){KY=bY;HY=new LY("ARGUMENTS",0,fHc);IY=new LY(gHc,1,hHc);
JY=new LY(iHc,2,jHc)}function R6(){R6=bY;O6=new S6(kHc,0);P6=new S6("USE_GLOBAL_TEMP",1);Q6=new S6("USE_IIFE",2)}function ccb(a){Ubb();this.c=new Cp(new vzc,new Fp);this.b=new qyc;this.e=new qyc;this.a=a}function k2(a,b){this.i=new voc;Sd(!!b);this.o=a<=0?EFc:a;this.j=false;this.p=b;this.g=null}function dEb(a,b,c,d,e,f,g){this.c=a;this.f=b;this.b=c;this.e=d;this.a=e;this.g=f;this.d=g}function F3b(a,b,c,d,e,f,g){var h;if(a.b){h=new m3b;h.d=b;h.a=g;f3b(h,c,d,e,f);c3b(a.b,h)}}function jpb(a,b,c){var d;
if(a.j){d="AST hashCode after "+b+": "+wFc(x4(a.b,c));VDc(gpb,d)}}function p8(a,b,c){var d;d=b.ph()-c.ph();if(d!=0)return d;return Zoc(a.a,c).a-Zoc(a.a,b).a}function bzc(a,b){var c;c=a.a.get(b);if(c===undefined)++a.c;else{Tyc(a.a,b);--a.b}return c}function Ft(a,b){var c;Nd(b);c=false;while(a.Od())if(b.Yd(a.Pd())){a.Qd();c=true}return c}function JBc(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 jAc(a,b){var c,d;for(d=new Apc((new rpc(a)).a);d.b;){c=ypc(d);
xj(b,c.Ve(),c.We())}}function y1b(a,b){var c;!a.d&&(a.d=new $2b);!!a.d.p&&(b=xy(b,a.d.p));a.d.p=(lm(),c=b,wo(c))}function tAc(a,b){var c;c=esc(a.b,a.b.a.length-1);if(b<a.b.a.length){gsc(a.b,b,c);qAc(a,b)}}function oQb(a){var b,c;c=sRb(a.g,0).b.b;b=nQb(a,1);fOb(a);return new vYb(new GYb(c,a.f),b)}function _hb(a,b){var c,d,e;e=B3(a.a.a);d=e.Bg(b);if(d)return true;c=e.Cg(b);return c!=null}function Zgb(a,b){var c,d,e;e=a;for(c=a,d=c.f;d!=b;c=d,d=c.f)_gb(d)&&c!=d.b&&(e=d);return e}function $ib(a,b,c){var d;
d=new uoc;d.a+="@";d.a+=b;d.a+=" {";Zib(a,d,c);d.a+="}";return d.a}function xnb(a){Rlb();var b;b=wnb(a);if(b==null)throw CX(new Klc("Unknown op "+a));return b}function mPb(a){var b;b=(Km(),new tr);while(!rQb(a,(jUb(),GSb)))rr(b,WPb(a));return Sm(b.a)}function I0b(a,b,c){Sd(a.k==(Pac(),H9b));Sd(b.k==Z9b);Sd(c.k==k8b);return new u6b(Z8b,a,b,c)}function byb(a,b,c){mZ(a.a,b);mZ(a.a,c);ayb(a,b,c);kY(a.b.X)&&ryb(new syb(a.b),b,c);_xb(a,b)}function r2(a){if(a.n>0){a.e=a.i.a.length;a.f=a.b;koc(a.i,10);a.n=
0;++a.k;a.b=a.i.a.length}}function B3b(a){return a.e&&((a.a.a&4096)!=0||(a.a.a&CIc)!=0||(a.a.a&DIc)!=0||(a.a.a&16)!=0)}function J3b(a){if((a.a.a&262144)!=0)return false;else{a.a.a|=262144;a.e=true;return true}}function Nvb(a,b){this.a=a;this.b=b;O4.call(this,"markUntranspilableFeaturesAsRemoved",true)}function zv(a){this.e=a;this.d=(Gw(vf(this.e).ce()),new ryc);this.c=this.e.a;this.b=this.e.c}function rhb(){throw CX(new Boc("FunctionInformationMap.Entry.newBuilder not implemented"));}function WA(a){if(!a)throw CX(new Glc("mode was UNNECESSARY, but rounding was necessary"));
}function b4(a){var b,c;for(c=new Bsc(a.d);c.a<c.c.a.length;){b=(c.b=c.a++,c.c.a[c.b]);b.Hg()}}function uZ(a){var b,c;VZ((Pac(),R8b),a);c=l5b(a);2!=c&&u$(mHc+c,a);for(b=a.b;b;b=b.e)OZ(b)}function DZ(a){var b,c;VZ((Pac(),k9b),a);c=l5b(a);2!=c&&u$(mHc+c,a);for(b=a.b;b;b=b.e)OZ(b)}function ty(a){var b,c,d;b=0;for(d=a._d();d.Od();){c=d.Pd();b+=c!=null?Bb(c):0;b=~~b}return b}function _ic(a,b){var c,d;for(d=a.d._d();d.Od();){c=d.Pd();if(c==b)return true}return false}function X5b(a,b){var c;c=Q5b(a,a.i,
29);c!=a.i&&(a.i=c);!!b&&(a.i=new c7b(29,b,a.i));return a}function R4b(a){var b;b=z1b(a,false);b.j==(t3b(),o3b)&&(b.j=null);return new P4b(b,a.c,true)}function Y1b(a){var b;if(!a.d||!a.d.n)return lm(),oy(),ny;return lm(),b=new Ypc(a.d.n),wo(b)}function MZ(a){var b;b=false;b=!!a.b;b||u$("Expected at least 1 children, but was "+l5b(a),a)}function Ntc(a){Jtc();var b,c;c=new ksc;for(b=0;b<a;++b)c.a[c.a.length]="";return new iwc(c)}function bCc(a,b,c,d,e,f){var g;this.c=a;g=new ksc;zBc(a,g,b,a.b,c,d,e,
f);this.a=new Opc(g,0)}function hA(a,b){var c,d;b=sA(a,b);d=BD(yE,GGc,8,rA(a,doc(b)),15,1);c=AA(a,d,b);return iA(d,c)}function MB(a,b){var c,d;c=rzc(a.g,b);if(c)d=c.a;else{d=fpc(a.g.c);szc(a.g,b,$mc(d))}return d}function Sc(a,b){var c,d;for(d=b._d();d.Od();){c=d.Pd();if(!a.Yd(c))return false}return true}function Sp(a,b,c){var d;for(d=a.b[c&a.f];d;d=d.b)if(c==d.a&&Bd(b,d.g))return d;return null}function Tp(a,b,c){var d;for(d=a.c[c&a.f];d;d=d.d)if(c==d.f&&Bd(b,d.i))return d;return null}function w3(a){var b;
b=new opb(a,a.S);a.J.ab==(z6(),v6)&&mpb(b,a.V);a.J.r&&(b.j=true);return b}function jr(a,b){var c,d,e,f;Nd(b);for(d=b,e=0,f=d.length;e<f;++e){c=d[e];fs(a,Nd(c))}return a}function HA(a,b){var c,d,e;e=b.length;c=BD(RU,RFc,141,e,0,1);for(d=0;d<e;++d)c[d]=b[d];a.i=c}function _Eb(a,b){var c;c=$Eb(a,b);return!!c&&c.c.indexOf("@")==-1?uFb(a,b,tFb(a,c)):bFb(a,c)}function nOb(a,b){if(b){IQb(a,(AMb(),wMb));a.b.e&&DJb(a.c,b.b.b,lLc,ED(zD(PU,1),RFc,1,5,[]))}}function cbb(){cbb=bY;bbb=pLb((eLb(),XKb),WKb);nLb(SKb,
ED(zD(ZP,1),XFc,28,0,[(AMb(),ULb),sMb]))}function Ubb(){Ubb=bY;Tbb=nLb((eLb(),SKb),ED(zD(ZP,1),XFc,28,0,[(AMb(),aMb),MLb]));Sbb=new icb}function SY(){SY=bY;RY=or(Qxc((Pac(),Jac),ED(zD(qT,1),XFc,13,0,[z9b,x8b,Z8b,s8b,r8b,j9b,Z9b])))}function jY(){jY=bY;iY=new D9("JSC_READ_ERROR",(O_(),L_),new Toc("Cannot read file {0}: {1}"))}function RCb(){RCb=bY;QCb=new D9("JSC_UNUSED_LABEL",(O_(),M_),new Toc("Unused label {0}."))}function J7b(){J7b=bY;H7b=new K7b("STRONG",0);I7b=new K7b("WEAK",1);G7b=new K7b("EXTERN",
2)}function _lb(a){Rlb();return $lb(a)||a.k==(Pac(),Z8b)||a.k==(Pac(),F9b)||a.k==(Pac(),jac)&&!a.f}function Jmb(a){Rlb();switch(a.k.f){case 156:case 109:return true;default:return Uxc(Llb,a.k)}}function j$b(a){switch(a){case 63:case 42:case 43:case 123:return true;default:return false}}function $gb(a){switch(a.k.f){case 95:case 47:case 119:if(B5b(a.b))return 1;default:return 0}}function knb(a){switch(a.k.f){case 79:return true;case 29:return Fnc(a.Rh(),KJc)}return false}function g4b(a){if((a.a.a&
33554432)!=0)return false;else{a.a.a|=33554432;a.e=true;return true}}function z4b(a){if((a.a.a&16777216)!=0)return false;else{a.a.a|=16777216;a.e=true;return true}}function $dc(a,b){var c;c=o5b(a.b);if(!!c&&n5b(c,30)!=0)return false;g6b(_dc(a,b));return true}function Nfb(a,b){var c,d,e;c=y0b(a,b);d=a.c;if(!d||!rE(d,138))return c;e=d.b.b;return c.c=e,c}function _jc(a,b){bbc();var c;for(c=0;c<b.ce();c++)if(a.Td(b.ge(c)))return true;return false}function hy(a,b){var c,d,e;e=0;for(d=It(new $uc(a.b.b._d()));d.Od();){c=
d.Pd();b[e++]=c}return b}function Dzb(a,b){if(b==null)throw CX(new onc("Null pathRelativeToClosureBase"));a.c=b;return a}function jjc(a,b){this.f=(Jtc(),new puc(new Byc));this.e=a;this.g=false;this.c=b;this.d=new Hrc}function q6b(a,b,c){this.k=a;this.f=null;this.j=b<0||c<0?-1:(c&-4096)!=0?b<<12|aHc:b<<12|c&aHc}function s6b(a,b,c,d){r6b.call(this,a,b);this.j=c<0||d<0?-1:(d&-4096)!=0?c<<12|aHc:c<<12|d&aHc}function L5b(a,b,c){var d;d=Q5b(a,a.i,b);d!=a.i&&(a.i=d);(c?1:0)!=0&&(a.i=new U6b(b,c?1:0,a.i))}
function W5b(a,b){var c;c=Q5b(a,a.i,66);c!=a.i&&(a.i=c);(b?1:0)!=0&&(a.i=new U6b(66,b?1:0,a.i))}function h6b(a,b){var c;c=Q5b(a,a.i,62);c!=a.i&&(a.i=c);(b?1:0)!=0&&(a.i=new U6b(62,b?1:0,a.i))}function c6b(a,b){var c;c=Q5b(a,a.i,58);c!=a.i&&(a.i=c);(b?1:0)!=0&&(a.i=new U6b(58,b?1:0,a.i))}function Mrb(a,b){return b.k==(Pac(),d9b)?a.c.Yd((b.b?b.b.g:null).Rh()):b.k==H9b&&a.c.Yd(b.Rh())}function LJb(a){return KJb(a)&&OKb(Xb(a)).a==2||KJb(a)&&OKb(Xb(a)).a==3||KJb(a)&&OKb(Xb(a)).a==4}function Q3b(a,b){if(b!=
null&&O1b(a.a)==null){y2b(a.a,b);a.e=true;return true}else return false}function h4b(a,b){if(b!=null&&V1b(a.a)==null){C2b(a.a,b);a.e=true;return true}else return false}function VNb(a){switch(a){case 10:case 13:case 8232:case 8233:return true;default:return false}}function ZRb(a){switch(a){case 10:case 13:case 8232:case 8233:return true;default:return false}}function cab(a){switch(a.k.f){case 98:case 86:case 87:case 115:return true;default:return false}}function FX(a){var b;b=a.h;if(b==0)return a.l+
a.m*$Gc;if(b==YGc)return a.l+a.m*$Gc-_Gc;return a}function IX(a){if(bHc<a&&a<_Gc)return a<0?$wnd.Math.ceil(a):$wnd.Math.floor(a);return FX(XD(a))}function FA(b,c){if(c!=null)try{c.__java$exception=b}catch(a){a=BX(a);if(!rE(a,40))throw CX(a);}}function BOb(a,b,c){var d;prc(a.e,c);rQb(a,(jUb(),oTb))?d=hPb(a):d=COb(a,b);Brc(a.e);return d}function iFb(a,b,c){a.e=kLb(a.e,c);hLb(a.a.c.a,c)||a.d.vh(XLc+GEb(c)+YLc+c,a.q,y6b(b.j),x6b(b.j))}function gFb(a,b,c){a.e=kLb(a.e,c);hLb(a.a.c.a,c)||a.d.vh(XLc+GEb(c)+
YLc+c,a.q,b.b.b.b+1,b.b.b.a)}function hFb(a,b,c){a.e=kLb(a.e,c);hLb(a.a.c.a,c)||a.d.vh(XLc+GEb(c)+YLc+c,a.q,b.o.b.b+1,b.o.b.a)}function Qtb(a,b){var c;c=cpc(a.a,b);if(c){c.a?c.a.b=c.b:a.b=c.b;c.b.a=c.a;c.a=null;c.b=null}}function O8(a,b){var c,d;for(d=b.b._d();d.Od();){c=d.Pd();if(!a.b.Yd(c))return false}return true}function Mec(a){var b;Fd(a._i()||a.f==(kfc(),ifc));b=Kec(a).Mi();if(!b)return null;return b.Ki()}function HDc(){var a;if(!DDc){DDc=new GDc;a=new aEc("");YDc(a,(nDc(),kDc));EDc(DDc,a)}return DDc}
function QX(a){var b,c,d,e;e=a;d=0;if(e<0){e+=_Gc;d=YGc}c=xE(e/$Gc);b=xE(e-c*$Gc);return JD(b,c,d)}function dbb(a,b){var c;if(!K5b(b,FJc,FJc.length))return false;c=CY(klb(a),FJc);return!c||!c.d.b}function LPb(a,b){switch(sRb(a.g,0).c.f){case 49:return zOb(a,b);case 45:default:return HPb(a,b)}}function zQb(a){switch(sRb(a.g,0).c.f){case 65:case 94:case 67:return true;default:return false}}function HQb(a){switch(sRb(a.g,0).c.f){case 25:case 30:case 38:return true;default:return false}}function DQb(a){switch(sRb(a.g,
0).c.f){case 70:case 71:case 72:return true;default:return false}}function e0b(a){var b;for(b=0;b<a.length;b++)if(a.charCodeAt(b)!=32)return a.substr(b);return a}function iA(a,b){var c;if(b==a.length)return a;else{c=BD(yE,GGc,8,b,15,1);zoc(a,0,c,0,b);return c}}function Sic(a,b){var c;c=a.d.ce()-a.e.ce();c<b.ce()&&(b=b.vf(0,c));return Zfc(a.b,a.d,Uic(a.e,b))}function d$(a){var b,c;VZ((Pac(),fac),a);c=l5b(a);(c<1||c>2)&&u$(sHc+c,a);for(b=a.b;b;b=b.e)k$(b)}function nfb(a){mfb();Gd(a.k==(Pac(),lac),a);
if(n5b(a,87)!=0)return false;return!!a.b&&a.b.k==F9b}function xIb(a){while(RHb(a,(fJb(),TIb))){!a.n?mJb(a.i):JHb(a);RHb(a,dJb)&&(!a.n?mJb(a.i):JHb(a))}}function Khb(a,b){var c;switch(b.k.f){case 146:Jhb(a,b);break;default:for(c=b.b;c;c=c.e)Khb(a,c)}}function $5b(a,b){var c;c=x6b(a.j);c==-1&&(c=0);a.j=b<0||c<0?-1:(c&-4096)!=0?b<<12|aHc:b<<12|c&aHc}function wLb(a,b){var c,d;d=a.$d()?(c=hmc(ZP),new Xxc(c,SEc(c,c.length),0)):Oxc(a);Pc(d,b);return d}function sLb(a,b){var c,d;d=a.$d()?(c=hmc(ZP),new Xxc(c,
SEc(c,c.length),0)):Oxc(a);Sg(d,b);return d}function Vv(a){var b,c,d;b=1;for(d=a._d();d.Od();){c=d.Pd();b=31*b+(c==null?0:Bb(c));b=~~b}return b}function xjb(a){var b,c,d,e,f;b=0;for(d=a.a,e=0,f=d.length;e<f;++e){c=d[e];b+=c.d.a.length}return b}function LAb(a,b,c,d,e){var f;f=a.b.c.Fh(a.a,b,c,d,e);if(f!=null)return new NAb(a.b,f);return null}function BHb(a,b,c){var d;a.b.vh("Missing type declaration.",(d=q5b(a.k,51),!d?null:d.sg()),b,c)}function HUb(a,b,c,d,e,f){rUb.call(this,(WXb(),uWb),a);this.d=
b;this.b=c;this.e=d;this.c=e;this.a=f}function gVb(a,b,c,d,e,f){rUb.call(this,(WXb(),MWb),a);this.d=b;this.e=c;this.a=d;this.b=e;this.c=f}function WVb(a,b,c,d,e,f){rUb.call(this,(WXb(),hXb),a);this.e=b;this.d=c;this.c=d;this.a=e;this.b=f}function Peb(a,b,c,d){Leb(a,Heb(a,d,"yieldAll",ED(zD(nT,1),KHc,7,0,[b,Teb(c,d)])));a.r.a.j.e=false}function gjc(a,b){var c,d;for(d=new Vrc(a.d);d.a!=d.b;){c=Trc(d);if(c==b)return true}return false}function fEc(a){var b,c;c=a.b.exec(a.a);if(c!=null){b=c[0];if(Fnc(b,
a.a))return true}return false}function H4b(a){if((a.a.a&16)==0&&(a.a.a&CIc)==0){a.a.a|=16;a.e=true;return true}else return false}function $Rb(a){switch(a){case 47:return false;case 92:case 91:return true;default:return!ZRb(a)}}function px(a,b){var c;if(b===a)return true;if(rE(b,103)){c=b;return xb(a.qe(),c.qe())}return false}function gp(a,b){var c;if(rE(b,54)){c=b;return Bd(a.a.Ve(),c.Ve())&&Bd(a.a.We(),c.We())}return false}function BX(a){var b;if(rE(a,40))return a;b=a&&a.__java$exception;if(!b){b=
new OC(a);lD(b)}return b}function rHb(a,b,c){var d,e,f;d=jFb(a.a,b);for(f=c._d();f.Od();){e=f.Pd();_4b(d,DFb(a.a,e))}return d}function rLb(a,b){var c,d;d=a.$d()?(c=hmc(ZP),new Xxc(c,SEc(c,c.length),0)):Oxc(a);Rxc(d,b);return d}function kkb(a,b){var c;c=new uoc;if(a!=null){c.a+=""+a;if(b>0){c.a+=":";c.a+=b}c.a+=": "}return c.a}function A1(a,b){var c;P0(a.c,"{");for(c=b.b;c;c=c.e){c!=b.b&&a.c.Wg();a.bh(c,(Z1(),U1))}P0(a.c,"}")}function vy(a,b){Nd(b);rE(b,213)&&(b=zi(b));return rE(b,39)&&b.ce()>a.ce()?
Ft(a._d(),b):wy(a,b._d())}function uOb(a){if(rQb(a,(jUb(),ZSb)))return tPb(a);if(rQb(a,MSb))return $Ob(a,true);return sOb(a)}function KPb(a){var b;if(qQb(a,0,(jUb(),pTb))){aOb(a,pTb);b=eQb(a);aOb(a,uSb)}else b=TPb(a);return b}function jQb(a){var b,c;b=sRb(a.g,0).b.b;c=hQb(a);if(!rQb(a,(jUb(),nTb)))return c;return gQb(a,b,c)}function jPb(a,b,c){prc(a.e,c);uVb(zVb(tVb(wVb(vVb(b,c.b),lOb(a)),gPb(a,0)),kOb(a)),hPb(a));Brc(a.e)}function Yac(a,b){var c;!!b&&(c=Q5b(a,a.i,78),c!=a.i&&(a.i=c),!!b&&(a.i=new c7b(78,
b,a.i)));return a}function Tc(a,b){var c,d,e;c=false;for(d=a._d();d.Od();){e=d.Pd();if(b.Yd(e)){d.Qd();c=true}}return c}function ED(a,b,c,d,e){e.Aj=a;e.Bj=b;e.Cj=gY;e.__elementTypeId$=c;e.__elementTypeCategory$=d;return e}function iC(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 UD(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 JD(c&XGc,d&XGc,e&YGc)}function bE(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 JD(c&
XGc,d&XGc,e&YGc)}function Ihb(a,b){var c,d;for(d=new Bsc(c2b(b));d.a<d.c.a.length;){c=(d.b=d.a++,d.c.a[d.b]);Khb(a,c)}}function mlb(a){var b,c;b=a.n.a.length;if(b>0)return csc(a.n,b-1);else{c=yrc(a.o);return c?c.d:null}}function H1b(a,b){a.a|=4096;if(!t2b(a))return true;if(a.b.c!=null)return false;a.b.c=b;return true}function X3b(a){if((a.a.a&CIc)==0&&(a.a.a&16)==0){a.a.a|=CIc;a.e=true;return true}else return false}function rOb(a){var b,c;c=sRb(a.g,0).b.b;aOb(a,(jUb(),BSb));b=sOb(a);return new tUb(new GYb(c,
a.f),b)}function w0b(a){var b;Xd(W0b(a),"Block node cannot contain %s",a.k);b=new r6b((Pac(),k8b),a);return b}function w1b(a){var b;if(!t2b(a))return null;!a.b.d&&(a.b.d=new ksc);b=new d3b;asc(a.b.d,b);return b}function F2b(a,b){var c;!a.d&&(a.d=new $2b);if(a.d.k)return false;a.d.k=(lm(),c=b,wo(c));return true}function lmb(a){Rlb();while(!!a&&a.k!=(Pac(),lac))a=a.f;return!!a&&a.k==(Pac(),lac)?q5b(a,53):null}function $kc(a){if(a.e)return bgc(a.i,50);else if(a.f)return a.b?bgc(a.i,5):bgc(a.i,44);return null}
function UDc(a){if(LDc)return BD(ZW,WNc,280,0,0,1);return jsc(a.a,BD(ZW,WNc,280,a.a.a.length,0,1))}function xpc(a){if(a.a.Od())return true;if(a.a!=a.d)return false;a.a=new Nyc(a.e.d);return a.a.Od()}function rrc(a,b){if(b==null)return false;while(a.a!=a.b)if(xb(b,Trc(a)))return true;return false}function ncc(a){var b,c;if(a.a)for(b=a.a.b;b;b=b.e){c=b.c;if(!!c&&hbc(c))return true}return false}function Gec(a){var b,c;c=a.b.a;if(c){b=c.b?c.b.g:null;if(!b||n5b(b,30)==0)return l5b(c)}return EFc}function $b(a,
b){var c;for(c=b.length-1;c>=0;c--)if(!zc(a,b.charCodeAt(c)))return false;return true}function teb(a){var b,c;for(c=new Vrc(a.e);c.a!=c.b;){b=Trc(c);if(b.b==0)return b.a;break}return null}function bl(b,c){Nd(b);try{return b.Yd(c)}catch(a){a=BX(a);if(rE(a,50))return false;else throw CX(a);}}function k4b(a,b){if(!((a.a.a&xNc)!=0||f2b(a.a))&&F2b(a.a,b)){a.e=true;return true}else return false}function cmc(a){var b;if(a<128){b=(emc(),dmc)[a];!b&&(b=dmc[a]=new Vlc(a));return b}return new Vlc(a)}function bnb(a){Rlb();
switch(a.k.f){case 91:case 86:case 87:case 98:return true;default:return false}}function Oob(a){var b;Sd(a.k==(Pac(),lac));b=q5b(a,51);if(rE(b,189))return Fsb(b),b.d.length;return 0}function bsc(a,b){var c,d;c=b.de();d=c.length;if(d==0)return false;UEc(a.a,a.a.length,c);return true}function aOb(a,b){var c;c=oOb(a);if(c.c!=b){JQb(a,c,aNc,ED(zD(PU,1),RFc,1,5,[b]));return null}return c}function CHb(a,b,c,d){var e;a.b.vh(F7b(b,ED(zD(PU,1),RFc,1,5,[])),(e=q5b(a.k,51),!e?null:e.sg()),c,d)}function wmb(a){Rlb();
var b,c;c=null;while(c==null&&!!a){c=(b=q5b(a,51),!b?null:b.sg());a=a.f}return c}function Arc(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 LZb(a){var b,c,d;b=0;for(c=0,d=$wnd.Math.min(16,a.a.length);c<d;++c)b=(b<<2)+a.a[c];return b}function yjb(a){var b,c,d,e,f;f=new jyc;for(c=a.a,d=0,e=c.length;d<e;++d){b=c[d];bpc(f,b.e,b)}return f}function XBc(a,b,c,d,e,f){var g;this.c=a;g=new ksc;zBc(a,g,b,a.b,c,d,e,f);this.a=new Opc(g,g.a.length)}function OB(a,
b,c,d){var e,f;Sd(b>=0);Sd(c>=0);a.f=new bB(b,c);e=new jB;f=sC(d);fB(e,f);iB(e,new VB(a))}function Ap(a,b,c){var d,e;return b!=null&&c!=null&&(e=Lw((d=a.c,!d?a.c=new yz(a):d),b),!!e&&Kw(e,c))}function Hw(a,b){var c;if(a===b)return true;else if(rE(b,51)){c=b;return sy(An(a),c.Ge())}return false}function NHb(a,b,c,d){if(b==(fJb(),RIb)||b==TIb||b==SIb)return new FIb("",b);return MHb(a,b,c,true,d)}function FZb(){FZb=bY;EZb=new QZb(BD(AE,MGc,8,0,15,1));DZb=new QZb(ED(zD(AE,1),MGc,8,15,[0,OGc]))}function ZA(){ZA=
bY;var a;YA=BD(AE,MGc,8,256,15,1);Psc(YA);for(a=0;a<64;a++)YA[FGc.charCodeAt(a)]=a}function wC(){wC=bY;vC=ED(zD(zE,1),JFc,8,15,[48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102])}function lY(){lY=bY;lm();zo(ED(zD(PU,1),RFc,1,5,["xterm","xterm-color","xterm-256color","screen-bce"]))}function X6(){X6=bY;V6=new Y6(kHc,0);U6=new Y6("GENERATE_IJS",1);W6=new Y6("RUN_IJS_CHECKS_LATE",2)}function Bdb(){Bdb=bY;zdb=new Cdb("REWRITE_ALL_OBJECT_PATTERNS",0);Adb=new Cdb("REWRITE_OBJECT_REST",1)}function Z_(){Z_=
bY;Y_=new D9("JSC_MISSING_PROVIDE",(O_(),N_),new Toc("missing goog.provide(''{0}'')"))}function hfb(a){this.b=a;this.a=new Vgb(a.b,new j5(a.b),new qyc,new xsb(new p6b((Pac(),lac))),a.b.J.f)}function Web(a){var b;this.g=a;this.f=new ksc;this.c=a.d++;this.a=l6b((b=new p6b((Pac(),k8b)),b),a.r.e)}function Oe(a,b){var c,d;Nd(b);c=Ue(a.c,a,b);d=new ksc;while(Nb(c))asc(d,Ob(c));return Jtc(),new iwc(d)}function Yoc(a,b,c){var d,e;for(e=c._d();e.Od();){d=e.Pd();if(a.nj(b,d.We()))return true}return false}function Ltc(a){Jtc();
var b,c,d;d=0;for(c=a._d();c.Od();){b=c.Pd();d=d+(b!=null?Bb(b):0);d=d|0}return d}function Oxc(a){var b,c,d,e;!a.$d();d=a._d();c=d.Pd();e=Pxc(c);while(d.Od()){b=d.Pd();Rxc(e,b)}return e}function Eg(a,b){var c,d;c=a.a.Je(b);if(!c)return null;d=a.b.xe();d.Wd(c);a.b.d-=c.ce();c.Xd();return d}function Mib(a,b){Iib();var c;if(B3(a).Gg(b))return true;c=b.b;return c.k==(Pac(),H9b)&&Hib.Yd(c.Rh())}function AFb(a,b,c){var d,e;if(y6b(a.j)==-1){e=b.b+1;$5b(a,e);d=b.a;a.j=D6b(y6b(a.j),d);Z5b(a,c.c-b.c)}}function sZ(a){var b,
c;VZ((Pac(),L8b),a);for(b=a.b;b;b=b.e){VZ(sac,b);$Z(b);c=l5b(b);0!=c&&u$(lHc+c,b)}}function aQb(a){var b,c;c=sRb(a.g,0).b.b;aOb(a,(jUb(),LTb));b=COb(a,1);return new dYb(new GYb(c,a.f),b)}function ZD(a){var b,c,d;b=~a.l+1&XGc;c=~a.m+(b==0?1:0)&XGc;d=~a.h+(b==0&&c==0?1:0)&YGc;return JD(b,c,d)}function PD(a){var b,c,d;b=~a.l+1&XGc;c=~a.m+(b==0?1:0)&XGc;d=~a.h+(b==0&&c==0?1:0)&YGc;a.l=b;a.m=c;a.h=d}function QD(a){var b,c;c=Vmc(a.h);if(c==32){b=Vmc(a.m);return b==32?Vmc(a.l)+32:b+20-10}else return c-12}
function Smc(a){var b;if(a<0)return LGc;else if(a==0)return 0;else{for(b=AGc;(b&a)==0;b>>=1);return b}}function bFb(a,b){var c;if(b){c=ZEb(a,b);nyc(a.k,b);if(!dFb(a,c))return uFb(a,b.a,z3b(c.e))}return null}function n6b(a,b){if(!q5b(a,51)){e6b(a,b);a.j=b.j;a.d=b.d}q5b(a,40)==null&&M5b(a,40,q5b(b,40));return a}function EPb(a){var b;b=(Km(),new tr);while(!rQb(a,(jUb(),tSb))&&!rQb(a,GSb))rr(b,WPb(a));return Sm(b.a)}function OPb(a,b){var c,d;d=sRb(a.g,0).b.b;aOb(a,(jUb(),LTb));c=VPb(a,b);return new yUb(new GYb(d,
a.f),c)}function vQb(a){switch(sRb(a.g,0).c.f){case 59:case 60:case 61:case 62:return true;default:return false}}function F5b(a){switch(a.k.f){case 29:case 26:case 27:case 93:case 94:return true;default:return false}}function Vmb(a){Rlb();switch(a.k.f){case 29:case 26:case 91:case 27:return Wmb(a);default:return false}}function NNb(a){GNb();switch(a.f){case 109:case 108:case 110:case 111:return true;default:return false}}function oj(a){var b,c;b=a.b.We();if(!b||b.a==0){c=Zoc(a.a.a.a,a.b.Ve());if(c)return c.a}return!b?
0:b.a}function mr(a){zn();var b,c;for(c=Nd(a).Ge()._d();c.Od();){b=c.Pd();Nd(b.Ve());Nd(b.We())}return new lr(a)}function mt(a){var b;if(rE(a,58)){b=a;if(b.$d())throw CX(new lAc);return b.ge(b.ce()-1)}return Ct(a._d())}function i0b(a){g0b();var b;b=h0b(f0b,a);if(b!=null)return b;throw CX(new IC("Resource not found: "+a));}function lrb(){lrb=bY;krb=new D9("JSC_JSON_UNEXPECTED_TOKEN",(O_(),L_),new Toc("Unexpected JSON token"))}function jgb(a,b,c){var d,e;for(e=new Bsc(bmb(c));e.a<e.c.a.length;){d=(e.b=
e.a++,e.c.a[e.b]);kgb(a,b,d)}}function DBc(a,b,c){var d,e;d=new iCc(b,c);e=new jCc;a.b=BBc(a,a.b,d,e);e.b||++a.c;a.b.b=false;return e.d}function azc(a,b,c){var d;d=a.a.get(b);a.a.set(b,c===undefined?null:c);d===undefined?++a.b:++a.c;return d}function Teb(a,b){var c;if(a.d)return Teb(a.d,b);c=l6b(Dgb(new Z6b(a.c),a.g.r.f.e),b);asc(a.f,c);return c}function eB(a,b){var c;do{if(b==0)return null;--b}while(csc(a.c,b)==null);c=csc(a.c,b);return dB(a,mt(c))}function X1b(a,b){if(!a.d||!a.d.n)return null;if(b>=
fpc(a.d.n.c))return null;return lt(new Ypc(a.d.n),b)}function TZb(a,b){FZb();if(a>b)throw CX(new Ilc(a+" > "+b));return new QZb(ED(zD(AE,1),MGc,8,15,[a,b+1]))}function Jd(a,b){if(!a)throw CX(new Fjb(bf("too many occurrences: %s",ED(zD(PU,1),RFc,1,5,[knc(b)]))));}function EHb(a,b,c,d,e){var f;a.b.vh(F7b(b,ED(zD(PU,1),RFc,1,5,[c])),(f=q5b(a.k,51),!f?null:f.sg()),d,e)}function MD(a,b,c,d,e){var f;f=_D(a,b);c&&PD(f);if(e){a=OD(a,b);d?GD=ZD(a):GD=JD(a.l,a.m,a.h)}return f}function Ic(a,b,c){Nd(b);if(c.Od()){noc(b,
Mc(c.Pd()));while(c.Od()){noc(b,a.a);noc(b,Mc(c.Pd()))}}return b}function Z3(a){var b,c,d;d=new lsc;for(c=It(new Ipc(a.a));c.Od();){b=c.Pd();asc(d,new H5(b,true))}return d}function Mtc(a){Jtc();var b,c,d;d=1;for(c=a._d();c.Od();){b=c.Pd();d=31*d+(b!=null?Bb(b):0);d=d|0}return d}function Ktc(a,b){Jtc();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.Vd(c)}return g}function Otc(a){var d;Jtc();var b,c;for(c=0,b=a.a.length-1;c<b;++c,--b){d=a.a[c];gsc(a,c,a.a[b]);a.a[b]=d}}function Frc(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 Erc(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 vGb(a,b){var c,d;d=jFb(a.a,(Pac(),m8b));if((!b.a?null:b.a.a)!=null){c=qHb(a,b.a);_4b(d,c)}return d}function yGb(a,b){var c,d;d=jFb(a.a,(Pac(),y8b));if((!b.a?null:b.a.a)!=null){c=qHb(a,b.a);_4b(d,c)}return d}function WBb(a){var b;b=new ksc;hLb(i6(a.a),(AMb(),dMb))||(uub(),asc(b,iub));wub(b,a.a);
vub(b,a.a);return b}function cGb(a){var b;if(!a)return false;b=a.k;return b==(Pac(),T8b)&&a.b.k==rac&&Wy((XEb(),SEb),a.b.Rh())}function ilb(a,b,c){if(!c)return"  "+b+": NULL";return"  "+b+"("+j6b(c,false,false,false)+"): "+jlb(a,c)}function u5b(a){var b,c;b=q5b(a,51);if(!b)return-1;c=y6b(a.j);if(c==-1)return-1;return b.Dh(c)+x6b(a.j)}function mdc(a,b){var c;c=a.d.ci(b);return c.ni()||c.li()||c.mi()||c==c.A.p[57]?null:new ndc(a.A,c,a.b,a.a)}function Hf(a,b){var c,d;c=a.c.Je(b);if(!c)return a.ze();
d=a.xe();d.Wd(c);a.d-=c.ce();c.Xd();return a.Ae(d)}function xBc(a,b){var c,d,e;e=a.b;while(e){c=a.a.jf(b,e.d);if(c==0)return e;d=c<0?0:1;e=e.a[d]}return null}function Zb(a,b,c){var d,e;e=b.length;Qd(c,e);for(d=c;d<e;d++)if(kc(a,b.charCodeAt(d)))return d;return-1}function Gu(a,b,c){var d,e;this.g=a;this.c=b;this.a=this;this.d=this;e=ar(c);d=BD(qH,pGc,246,e,0,1);this.b=d}function fjb(a,b,c,d,e,f,g){this.g=e;this.e=b;this.c=Soc(e.a,g);this.d=c;this.a=d;this.f=a;this.b=!f?e.c:f}function tA(a,b){this.b=
Nd(a);Kd(!b||!mA(a,b.a),"Padding character %s was already in alphabet",b);this.c=b}function EX(a,b){var c;if(KX(a)&&KX(b)){c=a-b;if(!isNaN(c))return c}return WD(KX(a)?QX(a):a,KX(b)?QX(b):b)}function L3(a,b){var c;if(b!=null){c=$Cc(a.w,new q1b(b));if(c)return c.a.mh();return $Cc(a.P,b)}return null}function wfb(a,b){Sd(b.k==(Pac(),j9b));if(b.b.e.k==m9b)return b.b.e.Rh();return xfb(a,(b.b?b.b.g:null).Rh())}function MQb(a,b){switch(b.p.f){case 28:case 29:a.f=b.o.b,CRb(a.g,a.f.c);return LPb(a,1);default:return b}}
function E5b(a){switch(a.k.f){case 29:return a.Rh().length!=0;case 26:return E5b(a.b);default:return false}}function MY(a){KY();switch(a){case fHc:return HY;case hHc:return IY;case jHc:return JY;default:return null}}function aqb(a,b){$pb();if(b!=(iBb(),hBb))return false;if(a.k==(Pac(),Z8b)&&dqb(a))return true;return false}function uFb(a,b,c){if(!!c&&(c.a&YJc)!=0){a.i=true;Fnc(jLb(a.e),"ts")&&a.d.uh(kLc,a.q,b.b.b+1,b.b.a)}return c}function N3b(a,b){if(!!b&&!h2b(a.a)&&(a.a.a&4)==0&&G4b(a,b)){a.a.a|=
4;a.e=true;return true}else return false}function occ(a){var b,c;if(a.a)for(b=a.a.b;b;b=b.e){c=b.c;if(!c||c.vi())return true}return!a.b||a.b.vi()}function LZ(a){var b;b=false;b=!(!!a.b&&!!a.b.e);b||u$("Expected no more than 1 children, but was "+l5b(a),a)}function pAc(a,b){var c;if(b*2+1>=a.b.a.length)return;pAc(a,2*b+1);c=2*b+2;c<a.b.a.length&&pAc(a,c);qAc(a,b)}function cZ(a,b){var c,d;VZ((Pac(),Q7b),b);for(c=b.b;c;c=c.e)c.k==J8b?(d=l5b(c),0!=d&&u$(lHc+d,c)):wZ(a,c)}function N1(a,b){var c,d;d=0;
c=a.b;for(;!!c&&d<b;c=c.e)c.k==(Pac(),k8b)?d+=N1(c,b-d):c.k==J8b||++d;return d}function Bp(a,b,c){var d,e;return b==null||c==null?null:(e=Lw((d=a.c,!d?a.c=new yz(a):d),b),!e?null:Lw(e,c))}function FHb(a,b,c,d){var e;a.b.vh(dMc+F7b(b,ED(zD(PU,1),RFc,1,5,[]))+eMc,(e=q5b(a.k,51),!e?null:e.sg()),c,d)}function yBb(a,b,c,d,e){sBb();Mzb.call(this,a,b,d,e);this.b=zBb(a);!c?this.c=(zn(),zn(),yn):this.c=tBb(c)}function SQb(a,b){this.d=a==(ZQb(),YQb);this.a=!(a==TQb||a==UQb);this.b=a==WQb||a==XQb;this.c=b;this.e=
a==TQb}function Zfc(a,b,c){!b&&(b=(Km(),Km(),Jm));!c&&(c=(Km(),Km(),Jm));return b.$d()&&c.$d()?a.d:new djc(a,b,c)}function ejb(a,b,c){switch(b.f){case 0:return fkb(c,a,false);case 1:return fkb(c,a,true);default:return null}}function Uic(a,b){var c;if(a.$d())return b;if(b.$d())return a;c=(Km(),new tr);kr(c,a);kr(c,b);return Sm(c.a)}function uGb(a,b){var c,d,e;e=jFb(a.a,(Pac(),k8b));for(d=b.a._d();d.Od();){c=d.Pd();_4b(e,DFb(a.a,c))}return e}function skb(a,b){var c,d,e;for(e=new Vrc(a.b);e.a!=e.b;){d=
Trc(e);c=d.zh(b);if(c!=null)return c}return null}function Pz(a,b){var c;if(b===a)return true;else if(rE(b,633)){c=b;return Rg(a.af(),c.af())}else return false}function yC(b,c){wC();var d;try{xC(c,b)}catch(a){a=BX(a);if(rE(a,99)){d=a;throw CX(new KC(d));}else throw CX(a);}}function x1b(a){!a.d&&(a.d=new $2b);!a.d.p?a.d.p=(lm(),new Xy(nJc)):a.d.p=hs(new is,a.d.p).Lf(nJc).Nf()}function bzb(a){azb();return yEc(zEc(a?new BEc(null,a.uf()):new BEc(null,a.uf()),new dAb),(Km(),nk(),nk(),mk))}function g1(a){return a==
95||a==36||(Tlc==null&&(Tlc=new RegExp(MFc,"i")),Tlc.test(String.fromCharCode(a)))}function zb(a){return vE(a)?UU:tE(a)?BU:sE(a)?yU:qE(a)?a.Aj:DD(a)?a.Aj:a.Aj||Array.isArray(a)&&zD(sJ,1)||sJ}function URb(a){var b;b=false;while(mRb(a,a.f)&&aSb(mRb(a,a.f)?Anc(a.b,a.f):0))ZRb(nRb(a))&&(b=true);return b}function yY(a){var b;b=a;while(b){if(b.d.k==(Pac(),Z8b)||Nmb(b.d)||!b.b||b.d.k==F9b)return b;b=b.b}return null}function KJb(a){var b,c,d,e;for(c=PKb(),d=0,e=c.length;d<e;++d){b=c[d];if(Fnc(b.d,a))return true}return false}
function gOb(a,b){var c;c=bOb(a);if(!c||!Fnc(c.a,b)){JQb(a,c,aNc,ED(zD(PU,1),RFc,1,5,[b]));return null}return c}function Vd(a,b,c){if(!a)throw CX(new Kmc(bf("line=%s, lineCount=%s",ED(zD(PU,1),RFc,1,5,[$mc(b),$mc(c)]))));}function p2(a,b){var c;roc(a.i,b);a.n+=b.length;c=Yb(new lc(10),b);if(c>0){a.k+=c;a.n=b.length-Lnc(b,boc(10))}}function D8(a,b){var c,d;d=BD(IK,RFc,327,b.length,0,1);for(c=0;c<b.length;c++)d[c]=Zoc(a.e,cmc(b[c]));return d}function n4(a,b){var c,d;c=b.b;if(a.W){d=i8(a.W,b);!!d&&(c=
d)}if(c!=(O_(),M_)){!a.J&&X3(a,new s6);Mtb(a.j,c,b)}}function Zac(a){var b,c;c=a._d();b=Z0b(c.Pd());while(c.Od())b=K0b(b,i1b(c.Pd()));return new B7b((Pac(),I9b),b)}function Mab(a){Kab();var b;this.b=a;b=new qyc;this.c=new Vgb(a,new j5(a),b,new xsb(new p6b((Pac(),lac))),a.J.f)}function tcb(a,b){var c,d;d=l6b(T0b(a.a),b);c=l6b((Sd(d.k==(Pac(),v9b)),new r6b(m8b,d)),b);R5b(b.f,b,c);a.d=true}function pZ(a,b,c){var d,e;e=Rac(c.k);e!=-1&&(d=l5b(c),e!=d&&u$(nHc+e+oHc+d,c));JZ(a,b,c.b);wZ(a,c.b?c.b.g:null)}
function cHb(a,b){var c;Fd(b.c==(jUb(),RTb));c=oFb(a.a,(Pac(),rac),sFb(a.a,b,false));AFb(c,b.b.b,b.b.a);return c}function nsb(a,b){var c,d;for(d=An(a.b)._d();d.Od();){c=d.Pd();if(fEc(hEc(c.Ve(),b)))return c.We()}return null}function _t(a){var b;while(!a.d||!a.d.Od())if(!!a.b&&!xrc(a.b))a.d=(b=Arc(a.b),b);else return null;return a.d}function dOb(a){var b;b=sRb(a.g,0);switch(b.c.f){case 101:case 100:return oOb(a);case 2:default:return cOb(a)}}function KOb(a){var b,c;c=sRb(a.g,0).b.b;aOb(a,(jUb(),oTb));
b=_Pb(a);aOb(a,tSb);return new BUb(new GYb(c,a.f),b)}function hPb(a){var b,c;c=sRb(a.g,0).b.b;aOb(a,(jUb(),oTb));b=_Pb(a);aOb(a,tSb);return new BUb(new GYb(c,a.f),b)}function xlb(a,b){var c;c=b.Wf();!!a.i&&(c=b.Wf()+KGc+ilb(a,"Node",a.e)+(!a.e?"":ilb(a,"Parent",a.e.f)));v4(c,b)}function z$(a){var b,c;b=new ksc;for(c=sAc(a.d);c;c=sAc(a.d)){a.wg(c.b,c.a);b.a[b.a.length]=c}oAc(a.d,b);a.vg()}function Wsc(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?Bb(b):0);f=f|0}return f}
function ee(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 Br(a,b){var c;if(rE(b,76)){Nd(b.Ve());Nd(b.We());c=b;asc(a.b,c)}else asc(a.b,Jn(b.Ve(),b.We()));return a}function az(a){var b;if(!a.a.Od()){a.b=Tzc(a.c);a.a=a.b.e.Ge()._d()}b=a.a.Pd();return new Tz(a.b.d,b.Ve(),b.We())}function gz(a){if(!!(!a.a||a.a.$d()&&qzc(a.c.a,a.b)?a.a=rzc(a.c.a,a.b):a.a)&&a.a.$d()){uzc(a.c.a,a.b);a.a=null}}function nxc(a){var b;this.a=(b=a.e&&a.e(),new Xxc(b,
SEc(b,b.length),0));this.b=BD(PU,RFc,1,this.a.a.length,5,1)}function su(){pu.call(this,(Gw(16),new wzc));Hk(2,EGc);this.b=2;this.a=new Au(null,null,0,null);yu(this.a,this.a)}function OC(a){MC();DA(this);EA(this);this.e=a;FA(this,a);this.g=a==null?OFc:fY(a);this.a="";this.b=a;this.a=""}function kmc(){this.k=fmc++;this.p=null;this.n=null;this.j=null;this.d=null;this.b=null;this.o=null;this.a=null}function Umb(a){Rlb();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 Gyc(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.nj(b,d.Ve()))return d}return null}function Lw(b,c){Nd(b);try{return b.He(c)}catch(a){a=BX(a);if(rE(a,1003)||rE(a,50))return null;else throw CX(a);}}function Mw(b,c){Nd(b);try{return b.Je(c)}catch(a){a=BX(a);if(rE(a,1003)||rE(a,50))return null;else throw CX(a);}}function Kw(b,c){Nd(b);try{return b.re(c)}catch(a){a=BX(a);if(rE(a,1003)||rE(a,50))return false;else throw CX(a);}}function cl(b,c){Nd(b);try{return b.ae(c)}catch(a){a=
BX(a);if(rE(a,1003)||rE(a,50))return false;else throw CX(a);}}function yo(a){lm();Nd(a);switch(a.length){case 0:return oy(),ny;case 1:return new Xy(a[0]);default:return zo(a)}}function SFb(a){switch(a.k.f){case 72:case 73:case 101:case 102:case 70:case 71:return true;default:return false}}function S$(a,b){if(n5b(b,94)!=0)throw CX(new Kmc(a+"existing scope is improperly marked as deleted:\n"+k6b(b)));}function Ysc(a,b,c,d,e,f,g,h){var i;i=c;while(f<g)i>=d||b<c&&h.jf(a[b],a[i])<=0?e[f++]=a[b++]:e[f++]=
a[i++]}function A$(a,b,c){var d;d=new E$(c,b);if(nyc(a.c,d)){rAc(a.d,d);b==(O_(),L_)?c.g.c==L_?++a.e:++a.f:b==N_&&++a.g}}function cPb(a,b,c){var d,e;aOb(a,(jUb(),XSb));e=pOb(a,1);aOb(a,uSb);d=$Pb(a);return new lVb(new GYb(b,a.f),c,e,d)}function EGb(a,b){var c;c=mFb(a.a,(Pac(),V8b),uHb(a,b.d,b),uHb(a,b.b,b),uHb(a,b.c,b));_4b(c,EFb(a.a,b.a));return c}function cbc(a,b,c){c&&a.ri()&&!a.vi()&&!a.Ei()&&!a.Di()&&!a.Ci()&&!a.Gi()&&!mbc(a)&&(b.a+="!",b);return a.$h(b,c)}function mOb(a,b,c){b==(jUb(),ySb)?
LQb(a,bNc,ED(zD(PU,1),RFc,1,5,[])):pUb(c)&&LQb(a,cNc,ED(zD(PU,1),RFc,1,5,[]))}function _Bb(){_Bb=bY;$Bb=new D9("JSC_DUPLICATE_CASE",(O_(),N_),new Toc("Duplicate case in a switch statement."))}function z6(){z6=bY;w6=new A6(kHc,0);x6=new A6("START",1);y6=new A6("START_AND_END",2);v6=new A6("EVERY_PASS",3)}function d6(){d6=bY;Ync("ABCDEFGHIJKLMNOPQRSTUVWXYZ$");Ync("_$");b6=(Km(),new Uy(Nd((g0b(),new u8))));c6=new u7}function jeb(a){Sd(fpc(a.n)==0);Sd(xrc(a.c));Sd(xrc(a.i));Sd(xrc(a.e));Sd(xrc(a.k));
Sd(a.o==0);Sd(a.a.a.length==0)}function p4b(a){if(!((a.a.a&xNc)!=0||f2b(a.a))&&(a.a.a&xNc)==0){a.a.a|=xNc;a.e=true;return true}else return false}function pcb(a,b,c){var d,e;e=K0b(ocb(a,b),i1b(c.Rh()));if(a.e.d){d=c.c;!d&&(d=$bb(a.e,44));e.c=d}m6b(e,c);return e}function p$(a,b){var c,d;xZ(a,(AMb(),yMb),b);VZ((Pac(),Fac),b);d=Rac(b.k);d!=-1&&(c=l5b(b),d!=c&&u$(nHc+d+oHc+c,b))}function DX(a,b){var c;if(KX(a)&&KX(b)){c=a+b;if(bHc<c&&c<_Gc)return c}return FX(UD(KX(a)?QX(a):a,KX(b)?QX(b):b))}function MX(a,
b){var c;if(KX(a)&&KX(b)){c=a*b;if(bHc<c&&c<_Gc)return c}return FX(YD(KX(a)?QX(a):a,KX(b)?QX(b):b))}function PX(a,b){var c;if(KX(a)&&KX(b)){c=a-b;if(bHc<c&&c<_Gc)return c}return FX(bE(KX(a)?QX(a):a,KX(b)?QX(b):b))}function cnb(a){Rlb();var b;if(a.k!=(Pac(),d9b))return false;b=a.b;return b.k==d9b&&Fnc((b.b?b.b.g:null).Rh(),LHc)}function vnb(a,b){Rlb();var c;c=(Xd(Jnc(a,boc(46))==-1,JHc,a),new s7b((Pac(),H9b),a));!!b&&l6b(c,b);return unb(c,b)}function uHb(a,b,c){var d;if(!b){d=jFb(a.a,(Pac(),J8b));
y6b(d.j)==-1&&AFb(d,c.o.b,c.o.a);return d}return DFb(a.a,b)}function qpb(a,b,c){var d;if(a.f.q&&a.b){d=100*($wnd.Math.abs(c-b)/b);d<.05?++a.a:a.a=0;return a.a<2}return true}function bPb(a,b,c){var d,e;gOb(a,"of");e=pOb(a,1);aOb(a,(jUb(),uSb));d=$Pb(a);return new kVb(new GYb(b,a.f),c,e,d)}function dPb(a,b,c){var d,e;gOb(a,"of");e=pOb(a,1);aOb(a,(jUb(),uSb));d=$Pb(a);return new mVb(new GYb(b,a.f),c,e,d)}function gA(b,c){var d;try{return hA(b,c)}catch(a){a=BX(a);if(rE(a,202)){d=a;throw CX(new Hjb(d));
}else throw CX(a);}}function UYb(a){if(tE(a.a))throw CX(new IC("Double.toHexString is outside the GWT subset"));else throw CX(PYb(a));}function u$(a,b){throw CX(new Kmc(a+". Reference node:\n"+k6b(b)+"\n Parent node:\n"+(b.f?k6b(b.f):" no parent ")));}function KHb(a,b){do{if(b==(fJb(),TIb)||b==RIb||b==SIb){a.g=(JIb(),HIb);return b}b=!a.n?mJb(a.i):JHb(a)}while(true)}function Ieb(a,b,c){if(!c)return heb(a,b,WHc,ED(zD(nT,1),KHc,7,0,[]));return heb(a,b,WHc,ED(zD(nT,1),KHc,7,0,[c]))}function Kcb(a,b){n4(a.a,
jjb(b,(wgb(),ugb),ED(zD(UU,1),FHc,2,6,["Computed property with non-qualified-name key"])))}function Lcb(a,b){var c,d,e;e=omb(b);d=(Rlb(),gmb(b,new Dnb((Pac(),Z8b))));if(!d)return;c=new Wcb(a,e);Glb(a.a,d,c)}function _fc(a,b){var c,d,e,f,g;c=new blc(a,30,false);for(e=b,f=0,g=e.length;f<g;++f){d=e[f];Xkc(c,d)}return Ykc(c)}function oGb(a,b){var c,d,e,f;f=jFb(a.a,(Pac(),Q7b));for(e=b.a._d();e.Od();){d=e.Pd();c=DFb(a.a,d);_4b(f,c)}return f}function gbc(a){var b,c,d;b=(lm(),new is);for(d=a.B.d._d();d.Od();){c=
d.Pd();asc(b.b,Nd(c))}return xo(new Bsc(b.b))}function s1(a,b){var c,d;c=false;for(d=b;d;d=d.e){d!=b&&a.c.Wg();u1(a,d,1,(Z1(),U1));c=d.k==(Pac(),J8b)}c&&a.c.Wg()}function A0b(a,b){var c,d;c=n1b((Pac(),q8b),a);d=Q5b(c,c.i,29);d!=c.i&&(c.i=d);!!b&&(c.i=new c7b(29,b,c.i));return c}function Trc(a){var b;kFc(a.a!=a.b);b=a.d.a[a.a];Lrc(a.b==a.d.c&&b!=null);a.c=a.a;a.a=a.a+1&a.d.a.length-1;return b}function z3b(a){var b;if(a.e){Sd(!!a.a);b=a.a;a.a=null;!b.j&&N2b(b,(t3b(),o3b));a.e=false;return b}else return null}
function Vfb(a){Mfb();this.c=a;this.a=null;this.b=null;this.d=null;this.f=null;this.g=null;this.i=null;this.e=null}function q5(b){var c;try{return b.gh()}catch(a){a=BX(a);if(rE(a,40)){c=a;df(c);throw CX(new KC(c));}else throw CX(a);}}function Uoc(a,b){var c,d;for(c=0;c<b.length;c++){d="{"+c+"}";while(a.indexOf(d)!=-1)a=Qnc(a,d,goc(b[c]))}return a}function oAb(a,b){var c,d;if(oyc(a.a,b))return;nyc(a.a,b);for(d=Ff(a.d,b)._d();d.Od();){c=d.Pd();oAb(a,c)}asc(a.c,b)}function _eb(a,b){var c,d;Sd(b.b.k==
(Pac(),v9b));d=$oc(a.c.n,b.b.Rh());if(d){c=b.k==m8b?d.a:d.b;Geb(a.c.r.a,b,c,a.a)}}function Xic(a,b){var c,d;d=$wnd.Math.min(a.d.ce(),a.e.ce());for(c=d-1;c>=0;c--)if(a.d.ge(c)==b)return c;return-1}function Vsc(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 Brc(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 NB(a,b){var c;if(b!=a.c){a.c=b;c=rzc(a.k,b);if(c)a.d=c.a;else{a.d=
fpc(a.k.c);szc(a.k,b,$mc(a.d))}}return a.d}function Hh(a){var b;if(a.b){Hh(a.b);if(a.b.d!=a.c)throw CX(new Xwc);}else if(a.d.$d()){b=a.f.c.He(a.e);!!b&&(a.d=b)}}function Q5b(a,b,c){var d;if(!b)return null;else if(b.c==c)return b.b;else{d=Q5b(a,b.b,c);return d!=b.b?b.Xh(d):b}}function S5(a,b){var c,d;R5(a,b,null);Fd(b.k==(Pac(),lac));c=q5b(b,89);if(c){d=jLb(c);Fnc(d,"es3")||DBc(a.a,"lang",d)}}function irb(a,b){Nd(a);Nd(b);Fd(b.k==(Pac(),Z8b));this.a=b;b.k==Z8b&&n5b(b,60)!=0?this.b=a.b:this.b=new jrb(this)}
function J1(a){o1(this);this.c=a;this.f=false;this.j=true;this.g=false;this.i=false;this.k=false;this.e=new djb(false)}function Fo(a){lm();switch(a.ce()){case 0:return oy(),ny;case 1:return new Xy(a._d().Pd());default:return new py(a)}}function or(a){lm();switch(a.c){case 0:return oy(),ny;case 1:return new Xy(Et(new eyc(a)));default:return new nr(a)}}function x3b(a,b){var c;if(!nyc(a.c,b))return false;c=U1b(a.a);c==null&&(c="");B2b(a.a,c+(""+b));a.e=true;return true}function Ky(a){var b;if(a.a.Od())return a.a.Pd();
while(a.b.Od()){b=a.b.Pd();if(!a.c.Yd(b))return b}return a.f=2,null}function hxc(a,b){var c,d;for(d=new eyc(a.a);d.a<d.c.a.length;){c=dyc(d);if(mAc(b,a.b[c.f]))return true}return false}function Jc(b,c,d){var e;try{Ic(b,c,d)}catch(a){a=BX(a);if(rE(a,99)){e=a;throw CX(new Nlc(e));}else throw CX(a);}return c}function eC(a,b,c,d,e){Sd(a.b<=d);Sd(a.b<d||a.a<e);if(a.b==d&&a.a==e)throw CX(new Jmc);b.bg(c,a.b,a.a,d,e);a.b=d;a.a=e}function _4b(a,b){var c;Ld(!b.f,b,b.f,a);Fd(!b.e);Fd(!b.g);if(!a.b){b.g=b;a.b=
b}else{c=a.b.g;c.e=b;b.g=c;a.b.g=b}b.f=a}function tHb(a,b,c){var d;if(!b){d=jFb(a.a,(Pac(),J8b));y6b(d.j)==-1&&AFb(d,c.o.b,c.o.a);return d}return PGb(a,b,false)}function _Gb(a,b){var c,d,e;e=new A7b((Pac(),eac));for(d=b.a._d();d.Od();){c=d.Pd();_4b(e,DFb(a.a,c))}return YEb(a.a,e)}function $mc(a){var b,c;if(a>-129&&a<128){b=a+128;c=(anc(),_mc)[b];!c&&(c=_mc[b]=new Mmc(a));return c}return new Mmc(a)}function Do(a,b,c,d,e,f,g){lm();var h;h=new lsc;Ktc(h,ED(zD(PU,1),RFc,1,5,[a,b,c,d,e,f]));Ktc(h,g);return xo(new Bsc(h))}
function QQb(a,b,c,d){d=$nc(d);Fnc(d.substr(0,21),"//# sourceMappingURL=")&&(a.b.i=d.substr(21));rr(a.a,new JUb(d,c,b))}function Aec(a,b,c){a.a+=$Hc;c&&b.ri()&&!b.vi()&&!b.Ei()&&!b.Di()&&!b.Ci()&&!b.Gi()&&!mbc(b)&&(a.a+="!",a);b.$h(a,c)}function iy(a,b){var c,d;c=a.b.b.ce();b.length<c&&(b=(d=Ksc(b,0),d.length=c,d));hy(a,b);b.length>c&&(b[c]=null);return b}function plb(a,b){var c,d,e;c=fmb(b);a.g=c;e=llb(c);e?wlb(a,q5b(e,53),(d=q5b(e,51),!d?null:d.sg())):wlb(a,null,"");a.f=e}function _A(a,b){var c;
b=b<0?(-b<<1)+1:b<<1;do{c=b&31;b>>>=5;b>0&&(c|=32);joc(a,(ZA(),FGc,FGc.charCodeAt(c)))}while(b>0)}function Vsb(a,b){var c;b.length!=0&&q5b(a,40)==null&&(c=Q5b(a,a.i,40),c!=a.i&&(a.i=c),b!=null&&(a.i=new c7b(40,b,a.i)))}function K1(a,b){o1(this);this.c=a;this.f=b.wc;this.j=b.xd;this.g=b.zc;this.i=r6(b);this.k=false;this.e=new djb(this.k)}function pUb(a){var b;b=a;while(b.p==(WXb(),tXb))b=b.a;switch(b.p.f){case 59:case 61:return true;default:return false}}function Ymb(a){Rlb();switch(a.k.f){case 72:case 73:case 101:case 102:case 71:case 70:return true;
default:return false}}function vZb(a){if(a.b==116||a.b==84)throw CX(new xZb(pE(a.b)+""+pE(a.c)));throw CX(new xZb(String.fromCharCode(a.b)));}function U$(a){Sd(a.k==(Pac(),jac));if(n5b(a,56)!=0)throw CX(new Kmc("Root nodes should never be marked as changed."));}function A_(){A_=bY;z_=new D9("JSC_USED_GLOBAL_THIS",(O_(),N_),new Toc("dangerous use of the global 'this' object"))}function ACb(){ACb=bY;zCb=new D9("JSC_MISSING_SEMICOLON",(O_(),M_),new Toc("Missing semicolon (fix with go/fixjs)"))}function n0(){n0=
bY;m0=new D9("JSC_UNUSED_PRIVATE_PROPERTY",(O_(),M_),new Toc("Private property {0} is never read"))}function Jfc(){Jfc=bY;Gfc=new Kfc("MATCH",0,true);Hfc=new Kfc("NOT_MATCH",1,false);Ifc=new Kfc("PROCESSING",2,true)}function sEc(a){if(a.b)sEc(a.b);else if(a.c)throw CX(new Kmc("Stream already terminated, can't be modified or used"));}function Imc(a,b){if(a<b)return-1;if(a>b)return 1;if(a==b)return a==0?Imc(1/a,1/b):0;return isNaN(a)?isNaN(b)?0:1:-1}function $ac(a,b){var c,d,e;if(nt(b))return a;c=new B7b((Pac(),
Y9b),a);for(e=b._d();e.Od();){d=e.Pd();_4b(c,d)}return c}function h5b(a,b,c){var d;b6b(b,a.j);Z5b(b,a.d);Y5b(b,a.c);a6b(b,a.i);if(c){d=q5b(a,29);!!d&&X5b(a,z1b(d,true))}return b}function a5b(a,b){var c;Fd(!b.f);Fd(!b.e);Fd(!b.g);b.f=a;b.e=a.b;if(!a.b)b.g=b;else{c=a.b.g;b.g=c;b.e=a.b;a.b.g=b}a.b=b}function SNb(a,b,c){var d,e;return new GYb((e=QNb(a,b),new EYb(a.b,b,e,b-a.a[e])),(d=QNb(a,c),new EYb(a.b,c,d,c-a.a[d])))}function dcb(a,b,c){Ubb();var d,e,f;e=q5b(a,29);if(!e){e=q5b(b,29);f=Q5b(b,b.i,29);
f!=b.i&&(b.i=f)}d=S4b(e);X5b(c,z3b(d))}function QZ(a,b,c){var d;MZ(c);for(d=c.b;d;d=d.e)PZ(a,b,d);b==(Pac(),z9b)?xZ(a,(AMb(),aMb),c):b==x8b&&xZ(a,(AMb(),MLb),c)}function Kib(a,b){var c;b.k==(Pac(),k8b)&&(b=b.f);if(b.k==h9b&&Ef(a.f,b)){c=b.f;(c.k==k8b||c.k==lac)&&wf(a.g,c,Ff(a.f,b))}}function Gt(a){var b,c;c=koc(new uoc,91);b=true;while(a.Od()){b||(c.a+=NFc,c);b=false;qoc(c,a.Pd())}return(c.a+="]",c).a}function Yfc(a,b){var c,d,e,f;f=b;c=new Bic(a);for(e=An(f)._d();e.Od();){d=e.Pd();zic(c,d.Ve(),d.We(),
null)}return Aic(c)}function $ic(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(hbc(b))return true}return false}function RFb(a){switch(a.k.f){case 72:case 73:case 101:case 102:case 70:case 71:case 67:return true;default:return false}}function dSb(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 en(a){Km();var b;switch(a.ce()){case 0:return Jm;case 1:return new Uy(Nd(a.ge(0)));default:b=a;return new jy(b)}}
function wjb(a,b,c){if(c==b||c!=b&&utc(a.c[c.c],b.c))return b;else if(b!=c&&utc(a.c[b.c],c.c))return c;return vjb(a,b,c)}function NRb(a){switch(mRb(a,a.f)?Anc(a.b,a.f):0){case 92:return LRb(a);case 91:return ORb(a);default:nRb(a);return true}}function u1b(a,b){!a.d&&(a.d=new $2b);!a.d.e&&(a.d.e=new lsc);if(dsc(a.d.e,b,0)!=-1)return false;asc(a.d.e,b);return true}function v1b(a,b){!a.d&&(a.d=new $2b);!a.d.f&&(a.d.f=new lsc);if(dsc(a.d.f,b,0)!=-1)return false;asc(a.d.f,b);return true}function z2b(a,
b){!a.d&&(a.d=new $2b);!a.d.d&&(a.d.d=new qyc);if(oyc(a.d.d,b))return false;else{nyc(a.d.d,b);return true}}function KGb(a,b){var c;c=jFb(a.a,(Pac(),h9b));_4b(c,DFb(a.a,b.a));_4b(c,EFb(a.a,b.c));!!b.b&&_4b(c,EFb(a.a,b.b));return c}function nHb(a,b){var c,d,e;e=(Km(),new tr);for(d=b.a._d();d.Od();){c=d.Pd();rr(e,DFb(a.a,c))}return YEb(a.a,_ac(Sm(e.a)))}function JJb(a,b){var c,d;$5b(b,y6b(b.j)+a.d);for(d=(!b.b?(Jtc(),Jtc(),Itc):new h7b(b.b))._d();d.Od();){c=d.Pd();JJb(a,c)}}function Aic(a){var b;if(a.b)return a.d.p[31];
b=(As(),new Js((Yx(),Xx)));Is(b,new rpc(a.c));return new sic(a.d,Hs(b),a.a)}function fY(a){var b;if(Array.isArray(a)&&a.Cj===gY)return imc(zb(a))+"@"+(b=Bb(a)>>>0,b.toString(16));return a.toString()}function sA(a,b){var c,d;Nd(b);if(!a.c)return b;d=a.c.a;for(c=doc(b)-1;c>=0;c--)if(_nc(b,c)!=d)break;return eoc(b,0,c+1)}function gHb(a,b){var c,d,e;e=kFb(a.a,(Pac(),wac),DFb(a.a,b.b));for(d=b.a._d();d.Od();){c=d.Pd();_4b(e,DFb(a.a,c))}return e}function yfb(a,b,c){var d;Sd(c.k==(Pac(),H9b));d=CY(b,c.Rh());
if(!!d&&!!d.c&&Smb(d.c)&&c!=d.c)return vfb(a,d.c);return null}function Beb(a,b){var c,d;for(d=new Bsc(b);d.a<d.c.a.length;){c=(d.b=d.a++,d.c.a[d.b]);Sd(c.k==(Pac(),v9b));dpc(a.n,c.Rh())}}function VRb(a,b,c,d,e){this.d=new ksc;this.g=a;this.e=b;this.a=c;this.i=d;this.b=d.a;this.c=d.a.length;this.f=e;this.j=0}function Mkb(a,b,c,d,e,f){this.b=new jyc;this.a=a;this.f=b;Fd(c.length!=0);this.d=c;this.e=d;e?this.c=this:this.c=f.yh()}function xsb(a){vsb.call(this,a);Gd(_lb(this.d)||this.d.k==(Pac(),lac)||
this.d.k==(Pac(),jac),this.d);this.b=null;this.a=0}function Lib(a){this.g=nx(fx((Hk(8,DKc),new gx)));this.e=new _q;this.f=lx(ex((Hk(8,DKc),new gx)));this.d=new Hrc;this.c=a}function lhc(a){bbc();Tec.call(this,a,null,null,new qcc(a,null,null),null,null,(kfc(),hfc),true);this.b.b=this;this.k=this}function rzb(a,b){qzb();return Bzb(Gzb(Fzb(Ezb(Dzb(Czb(new Hzb,b),a),(Km(),Km(),Jm)),(null,Jm)),(null,Jm)),(zn(),zn(),yn))}function qzb(){qzb=bY;pzb=Azb(Bzb(Gzb(Fzb(Ezb(Dzb(Czb(new Hzb,""),""),(Km(),Km(),Jm)),
(null,Jm)),(null,Jm)),(zn(),zn(),yn)))}function sBb(){sBb=bY;rBb=ED(zD(UU,1),FHc,2,6,["",zIc,".json"]);qBb=ED(zD(UU,1),FHc,2,6,[gLc,"/index.js","/index.json"])}function t3b(){t3b=bY;q3b=new u3b(MLc,0);p3b=new u3b(LLc,1);r3b=new u3b(NLc,2);s3b=new u3b(OLc,3);o3b=new u3b("INHERITED",4)}function Xsc(a,b,c,d){var e,f,g;for(e=b+1;e<c;++e)for(f=e;f>b&&d.jf(a[f-1],a[f])>0;--f){g=a[f];a[f]=a[f-1];a[f-1]=g}}function _0b(a,b){var c,d,e,f,g;g=new r6b((Pac(),N9b),a);for(d=b,e=0,f=d.length;e<f;++e){c=d[e];Sd(V0b(c));
_4b(g,c)}return g}function Zkb(a,b){var c,d;if(b.Td(a))return true;for(d=a.Nh()._d();d.Od();){c=d.Pd();if(Zkb(c,b))return true}return false}function Xg(a,b){var c,d,e;if(rE(b,54)){c=b;d=c.Ve();e=Lw(a.Ne(),d);return Bd(e,c.We())&&(e!=null||a.Ne().re(d))}return false}function LD(a,b){if(a.h==ZGc&&a.m==0&&a.l==0){b&&(GD=JD(0,0,0));return ID((kE(),iE))}b&&(GD=JD(a.l,a.m,a.h));return JD(0,0,0)}function jGb(a,b){if(Tac(b.Rh())){a.a.e=kLb(a.a.e,(AMb(),_Lb));a.a.a.c==(EEb(),xEb)&&a.a.d.vh(jLc,a.a.q,y6b(b.j),
x6b(b.j))}}function qGb(a,b){var c;hFb(a.a,b,(AMb(),ALb));c=kFb(a.a,(Pac(),gac),FFb(a.a,b.a));y6b(c.j)==-1&&AFb(c,b.o.b,b.o.a);return c}function HGb(a,b){var c,d,e;e=kFb(a.a,(Pac(),n8b),DFb(a.a,b.b));for(d=b.a.a._d();d.Od();){c=d.Pd();_4b(e,DFb(a.a,c))}return e}function ecb(a,b,c,d){Ubb();var e;if(a.k==(Pac(),x8b)&&!(b.k==X8b&&a==b.b)){dcb(a,c,d);e=S4b(q5b(d,29));K3b(e);X5b(d,z3b(e))}}function Bnb(a,b){var c;if(!q5b(a,51)){e6b(a,b);b6b(a,b.j)}q5b(a,40)==null&&M5b(a,40,q5b(b,40));for(c=a.b;c;c=c.e)Bnb(c,
b)}function L1b(a,b,c){if(!t2b(a))return true;!a.b.j&&(a.b.j=new vzc);if(!qzc(a.b.j,b)){szc(a.b.j,b,c);return true}return false}function jnb(a){Rlb();switch(a.f){case 24:case 79:case 25:case 21:case 22:case 20:case 19:return true;default:return false}}function Qm(a){var b;b=a.de();switch(b.length){case 0:return Jm;case 1:return new Uy(Nd(b[0]));default:return new jy($m(b))}}function M1(a){var b,c;for(b=a.b;b;b=b.e)if(b.k==(Pac(),k8b)){c=M1(b);if(c)return c}else if(b.k!=J8b)return b;return null}function qOb(a){var b,
c,d,e;e=sRb(a.g,0).b.b;b=CPb(a);while(sQb(a)){c=oOb(a);d=CPb(a);b=new AUb(new GYb(e,a.f),b,c,d)}return b}function CPb(a){var b,c,d,e;e=sRb(a.g,0).b.b;b=ZOb(a);while(zQb(a)){c=oOb(a);d=ZOb(a);b=new AUb(new GYb(e,a.f),b,c,d)}return b}function ZPb(a){var b,c,d,e;e=sRb(a.g,0).b.b;b=qOb(a);while(DQb(a)){c=oOb(a);d=qOb(a);b=new AUb(new GYb(e,a.f),b,c,d)}return b}function y0b(a,b){var c,d,e,f,g;g=new r6b((Pac(),n8b),a);for(d=b,e=0,f=d.length;e<f;++e){c=d[e];Td(V0b(c),c);_4b(g,c)}return g}function CY(a,b){var c,
d,e;c=b!=null?MY(b):null;if(c)return AY(a,c);d=a;while(d){e=rzc(d.e,b);if(e)return e;d=d.b}return null}function iJb(a,b){var c,d;c=a.p;if(c==a.o.length){d=BD(zE,JFc,8,a.o.length*2,15,1);zoc(a.o,0,d,0,c);a.o=d}a.o[c]=b&IFc;a.p=c+1}function lZb(a,b){var c;gZb(a);c=a.b<a.c?Anc(a.a,a.b):-1;if(c>=48&&c<=57){tZb(b,iZb(a));return kZb(a,b)}else throw CX(nZb(a));}function Phb(a,b){return a.e||(!!a.c&&Glb(a.a,a.c,new dib(a)),Glb(a.a,a.i,new dib(a)),a.e=true,a.d=null,undefined),$oc(a.g,b)}function Cgb(a,b){wgb();
return y3(a,QJc+Znc(RJc,(dAc(),bAc)),false),y0b(snb(a,"$jscomp.makeIterator"),ED(zD(nT,1),KHc,7,0,[b]))}function _Pb(a){var b;b=(Km(),new tr);while(qQb(a,0,(jUb(),RSb))||EQb(a)||rQb(a,bTb)||qQb(a,0,rSb))rr(b,$Pb(a));return Sm(b.a)}function bQb(a){var b;b=(Km(),new tr);while(qQb(a,0,(jUb(),RSb))||EQb(a)||rQb(a,bTb)||qQb(a,0,rSb))rr(b,$Pb(a));return Sm(b.a)}function A1b(a,b,c){!a.d&&(a.d=new $2b);!a.d.n&&(a.d.n=new vzc);if(qzc(a.d.n,c))return false;else{szc(a.d.n,c,b);return true}}function Flb(a,b,
c){this.o=new Hrc;this.n=new ksc;this.b=new Hrc;this.a=b;rE(b,422)&&(this.j=b);this.c=a;this.k=c;this.q=true}function E5(a,b,c){this.f=new ksc;this.e=new ksc;this.o=new ksc;this.d=new ksc;this.j=($5(),Z5);this.a=a;this.i=b;c&&B5(this)}function QB(){this.e=new ksc;this.k=new vzc;this.j=new vzc;this.g=new vzc;this.f=new bB(0,0);this.i=new bB(0,0);this.a=new vzc}function GVb(){GVb=bY;DVb=new HVb("DECLARATION",0);EVb=new HVb("EXPRESSION",1);FVb=new HVb("MEMBER",2);CVb=new HVb("ARROW",3)}function Qhb(a,
b,c){var d,e,f;e=(d=Jnc(b,boc(46)),d==-1?b:b.substr(0,d));return f=CY(c,e),!f&&!!a.d&&(f=CY(a.d,e)),!!f&&!f.d.b}function ytc(a,b){var c,d;if(a==b)return;Ftc(a.a,b.a.length-1);for(c=0;c<b.a.length;c++){d=b.a[c]|0;d!=0&&(a.a[c]=a.a[c]|0|d)}}function alc(a){var b,c;c=$kc(a);if(c)return a.c?null:c;b=a.a.a.length;return b>a.g?a.i.p[44]:b>1?null:b==1?a.a.a[0]:a.i.p[51]}function KZ(a){var b,c;VZ((Pac(),v9b),a);WZ(a)&&a.Rh().length==0&&u$(tHc,a);c=Rac(a.k);c!=-1&&(b=l5b(a),c!=b&&u$(nHc+c+oHc+b,a))}function OZ(a){var b,
c;VZ((Pac(),H9b),a);WZ(a)&&a.Rh().length==0&&u$(tHc,a);c=Rac(a.k);c!=-1&&(b=l5b(a),c!=b&&u$(nHc+c+oHc+b,a))}function Oi(a){var b,c,d,e;for(d=(e=(new hqc(a.a)).a.Ge()._d(),new mqc(e));d.a.Od();){c=(b=d.a.Pd(),b.We());c.a=0}Voc(a.a);a.b=0}function $m(a){Km();var b,c,d;for(c=0,d=a.length;c<d;c++)if(a[c]==null)throw CX(new onc("at index "+c));b=a;return new ltc(b)}function v$(a,b){if(a==null)throw CX(new onc("Null specifier"));this.a=a;if(b==null)throw CX(new onc("Null varName"));this.b=b}function mFc(a,
b,c){if(a<0||b>c)throw CX(new Ilc(ZNc+a+$Nc+b+", size: "+c));if(a>b)throw CX(new Fjb(ZNc+a+" > toIndex: "+b));}function Jsb(a,b){if(!a)throw CX(new Fjb("a source must have a name"));Fnc("/",wlc)?this.b=a:this.b=Qnc(a,wlc,"/");this.c=b}function qAb(a){this.f=new ksc;this.c=new ksc;this.a=new qyc;this.e=new vzc;this.b=new jyc;this.d=new su;bsc(this.f,a);pAb(this)}function F4b(a,b){if(!!b&&!((a.a.a&YJc)==aKc||(a.a.a&YJc)==LGc||(a.a.a&YJc)==yKc)){C1b(a.a,b);a.e=true;return true}return false}function FQb(a){switch(sRb(a.g,
0).c.f){case 9:case 26:case 24:case 63:case 64:case 77:case 76:return true;default:return false}}function BQb(a,b){var c;c=sRb(a.g,b).c;switch(c.f){case 2:case 101:case 100:return true;default:return GNb(),GNb(),!!Zn(hNb,c)}}function K6b(a,b,c){var d,e;for(e=0;e!=b;++e)c.a+="    ";noc(c,j6b(a,true,true,true));c.a+=KGc;for(d=a.b;d;d=d.e)K6b(d,b+1,c)}function y1(a,b,c,d,e){var f,g;for(g=b;g;g=g.e){f=g==b;if(f)u1(a,g,c?1:0,d);else{R0(a.c,e,true);u1(a,g,c?1:0,d.b?d:(Z1(),U1))}}}function Agb(a,b,c,d){wgb();
var e,f,g;if(!a)return null;e=b.p[c];g=(f=e.Fi(),!f?e:f.d);return new ojc(b,g,(Km(),new Uy(Nd(d))))}function TDc(a){var b,c;if(a.b)return a.b;c=LDc?null:a.d;while(c){b=LDc?null:c.b;if(b)return b;c=LDc?null:c.d}return nDc(),kDc}function Ncc(a,b){var c,d;for(c=a;c;c=c.Mi()){!!c.Fi()&&(c=c.Fi().d);d=new Cfc(false);if(dbc(c,b,0,d))return true}return false}function Qc(a,b,c){var d,e;for(e=a._d();e.Od();){d=e.Pd();if(wE(b)===wE(d)||b!=null&&xb(b,d)){c&&e.Qd();return true}}return false}function YEb(a,b){var c,
d;!!b.i||f5b(b,a.s);for(d=(!b.b?(Jtc(),Jtc(),Itc):new h7b(b.b))._d();d.Od();){c=d.Pd();YEb(a,c)}return b}function x0b(a){var b,c,d,e,f,g;c=(b=new p6b((Pac(),k8b)),b);for(e=a,f=0,g=e.length;f<g;++f){d=e[f];Sd(W0b(d));_4b(c,d)}return c}function Df(a){var b,c,d,e;for(c=(e=(new hqc(a.c)).a.Ge()._d(),new mqc(e));c.a.Od();){b=(d=c.a.Pd(),d.We());b.Xd()}a.c.Xd();a.d=0}function ojb(a){var b,c;for(c=new Bsc(a.d);c.a<c.c.a.length;){b=(c.b=c.a++,c.c.a[c.b]);Fd(true);b.k=null}a.d.a=BD(PU,RFc,1,0,5,1)}function e6b(a,
b){var c;if(!!b.i&&(!a.i||a.i.c==51&&!a.i.b)){c=b.i;while(c.b)c=c.b;if(c.c==51){a.i=c;return}}M5b(a,51,q5b(b,51))}function Rg(a,b){var c;if(wE(b)===wE(a))return true;if(!rE(b,39))return false;c=b;if(c.ce()!=a.ce())return false;return a.Zd(c)}function aFc(b){var c=b.e;function d(a){if(!a||a.length==0)return"";return"\t"+a.join("\n\t")}return c&&(c.stack||d(b[VGc]))}function Bb(a){return vE(a)?wFc(a):tE(a)?xE(a):sE(a)?a?1231:1237:qE(a)?a.Hd():DD(a)?qFc(a):!!a&&!!a.hashCode?a.hashCode():qFc(a)}function S7(){S7=
bY;N7=new T7(UIc,0);Q7=new T7("RAW_SIZE",1);O7=new T7("AST_SIZE",2);R7=new T7("TIMING_ONLY",3);P7=new T7(kHc,4)}function P0b(a,b,c){Td(a.k==(Pac(),H9b)||a.k==J8b,a);Td(b.k==k9b||b.k==m9b||b.k==J8b,b);Td(c.k==rac,c);return new u6b(j9b,a,b,c)}function N$(a,b,c){var d,e;(b.k==(Pac(),jac)||(Rlb(),b.k==lac||b.k==Z8b))&&Pp(a.a,b,c);d=b.b;e=c.b;while(d){N$(a,d,e);d=d.e;e=e.e}}function hnb(a){var b,c;b=a.b;if(b.k==(Pac(),d9b)||b.k==c9b){c=b.b?b.b.g:null;return c.k==rac&&Fnc("toString",c.Rh())}return false}
function UPb(a,b){var c,d,e,f;f=sRb(a.g,0).b.b;c=ZPb(a);while(CQb(a,b)){d=oOb(a);e=ZPb(a);c=new AUb(new GYb(f,a.f),c,d,e)}return c}function r0b(a){var b,c,d,e,f;b=new p6b((Pac(),Q7b));for(d=a,e=0,f=d.length;e<f;++e){c=d[e];Sd(c.k==J8b||V0b(c));_4b(b,c)}return b}function wFc(a){uFc();var b,c,d;c=":"+a;d=tFc[c];if(d!=null)return xE(d);d=rFc[c];b=d==null?vFc(a):xE(d);xFc();tFc[c]=b;return b}function pD(){if(Error.stackTraceLimit>0){$wnd.Error.stackTraceLimit=Error.stackTraceLimit=64;return true}return JGc in
new Error}function R$(a,b,c){var d;d=n5b(c,56);if(d==0||d<a.c)throw CX(new Kmc(b+"new scope not explicitly marked as changed:\n"+k6b(c)));}function $Yb(a){var b;if(a.a==null)b=OFc;else throw CX(new IC("Integer.toHexString is outside the GWT subset"));return SYb(a,b,0)}function Xyb(a,b){if(a==null)throw CX(new onc("Null prefix"));this.a=a;if(b==null)throw CX(new onc("Null replacement"));this.b=b}function bCb(){bCb=bY;aCb=new D9("JSC_USELESS_EMPTY_STATEMENT",(O_(),M_),new Toc("Useless empty statement. (fix with go/fixjs)"))}
function JIb(){JIb=bY;HIb=new KIb("SEARCHING_ANNOTATION",0);IIb=new KIb("SEARCHING_NEWLINE",1);GIb=new KIb("NEXT_IS_ANNOTATION",2)}function I1(a,b,c,d,e,f,g,h){var i,j;j=b.b;while(j.k==c)j=j.b;u1(a,j,g,e);i=j;do{i=i.f;R0(a.c,d,true);u1(a,i.b.e,h,f)}while(i!=b)}function I1b(a,b,c){if(!t2b(a))return true;!a.b.e&&(a.b.e=new vzc);if(qzc(a.b.e,b))return false;else{szc(a.b.e,b,c);return true}}function Dfc(a,b,c){!a.a&&(a.a=new Cp(new vzc,new Fp));if(Ap(a.a,b,c))return Bp(a.a,b,c);else{Efc(a,b,c,(Jfc(),
Ifc));return null}}function Ux(a,b,c,d){var e;Hk(c,"oldCount");Hk(d,"newCount");e=Lw(a.a,b);if((!e?0:e.a)==c){Ui(a,b,d);return true}else return false}function gKb(a,b){if(b.k!=(Pac(),H9b)){a.a.vh(dMc+F7b(uMc,ED(zD(PU,1),RFc,1,5,["name"])),a.b.sg(),a.d,a.c);return false}return true}function E0b(a,b){Td(a.k==(Pac(),H9b)||a.k==V9b||a.k==R7b||a.k==F8b,a);(a.k==V9b||a.k==R7b)&&(a=new r6b(F8b,a));return new r6b(b,a)}function Oec(a,b,c){if(!b)return false;if(a._i()&&b==(Xd(a._i()||a.f==(kfc(),ifc),wLc,a),
obc(a.k)))return false;return Qec(a,b,c)}function ajc(a,b,c){var d,e,f;f=c-b.ce();if(f>0){d=(Km(),new tr);kr(d,b);for(e=0;e<f;e++)rr(d,bgc(a.b,44));return Sm(d.a)}return b}function Fec(a){var b,c;c=a._i()?Mec(a):null;if(!c)return a.d;b=(Km(),new tr);sr(b,a.d);while(c){sr(b,c.d);c=Mec(c)}return Sm(b.a)}function klb(a){var b,c;c=yrc(a.o);for(b=0;b<a.n.a.length;b++){c=egb(a.k,csc(a.n,b),c);orc(a.o,c)}a.n.a=BD(PU,RFc,1,0,5,1);return c}function tFb(a,b){var c,d,e,f;d=b.c;e=b.a.b.b+1;c=b.a.b.a;f=new BIb(new sJb(d.substr(3),
e,c+3),d,b.a.b.c,a.s,a.a,a.d);return fIb(f)}function tp(a){var b,c,d,e,f;f=0;for(d=(e=(new hqc(a.a)).a.Ge()._d(),new mqc(e));d.a.Od();){c=(b=d.a.Pd(),b.We());f+=c.ce()}return f}function trb(a,b){var c,d;for(d=(!b.b?(Jtc(),Jtc(),Itc):new h7b(b.b))._d();d.Od();){c=d.Pd();if(c.k==(Pac(),pac)){urb(a,b);return}}}function Zjb(a,b){var c,d;for(d=(!b.b?(Jtc(),Jtc(),Itc):new h7b(b.b))._d();d.Od();){c=d.Pd();if(c.k==(Pac(),w8b)){$jb(a,b);return}}}function lHb(a,b){var c,d;d=b.a.sf();c=oFb(a.a,(Pac(),H9b),d.Pd());
while(d.Od())c=K0b(c,i1b(d.Pd()));return YEb(a.a,new B7b(Eac,c))}function YOb(a,b){var c,d,e,f;f=sRb(a.g,0).b.b;c=UPb(a,b);while(vQb(a)){d=oOb(a);e=UPb(a,b);c=new AUb(new GYb(f,a.f),c,d,e)}return c}function fQb(a){var b,c,d;d=sRb(a.g,0).b.b;aOb(a,(jUb(),aUb));b=bOb(a);aOb(a,ISb);c=eQb(a);fOb(a);return new mYb(new GYb(d,a.f),b,c)}function S3(a,b){var c,d;d=w5(b,a);c=q5b(d,29);if(!!c&&(c.a&CIc)!=0){_4b(a.q,d);B5(b);njb(b.k,b);asc(a.o,b);return true}return false}function wt(a,b){var c,d;Nd(a);Gd(b>=
0,"numberToAdvance must be nonnegative");for(d=0;d<b&&a.a.Od();d++){c=a.a.Pd();c.Ve()}return d}function RB(a,b){var c,d,e,f;e=0;for(d=new Vzc(new Mzc(b));d.b!=d.c.a.b;){c=Tzc(d);f=c.d;e!=0&&(a.a+=",",a);noc(a,(wC(),zC(f)));++e}}function e1b(a){var b,c,d,e,f;f=new p6b((Pac(),Z9b));for(c=a,d=0,e=c.length;d<e;++d){b=c[d];Sd(b.k==H9b||b.k==gac);_4b(f,b)}return f}function g1b(a){var b,c,d,e,f;f=new p6b((Pac(),jac));for(c=a,d=0,e=c.length;d<e;++d){b=c[d];Sd(b.k==jac||b.k==lac);_4b(f,b)}return f}function GZ(a){var b,
c,d;VZ((Pac(),s9b),a);for(b=a.b;b;b=b.e){VZ(I9b,b);c=Rac(b.k);c!=-1&&(d=l5b(b),c!=d&&u$(nHc+c+oHc+d,b));OZ(b.b)}}function R3(a){var b,c,d;d=false;for(c=Rm(kt(ot(new ltc(a.D.a),new Jjb)))._d();c.Od();){b=c.Pd();S3(a,b)&&(d=true)}d&&(C4(a.H),V3(a))}function A8(a){var b,c,d,e,f;a.e=(Gw(y8.length),new kyc);f=0;for(c=y8,d=0,e=c.length;d<e;++d){b=c[d];apc(a.e,cmc(b),new H8(b,f));++f}}function R8(a,b){N8();var c,d,e,f,g;g=(lm(),new is);for(d=b,e=0,f=d.length;e<f;++e){c=d[e];hs(g,c.b)}this.a=a;this.b=xo(new Bsc(g.b))}
function qbb(a,b,c){var d,e;for(e=c._d();e.Od();){d=e.Pd();d.k==(Pac(),rac)&&pbb(a,b,d);qbb(a,b,!d.b?(Jtc(),Jtc(),Itc):new h7b(d.b))}}function _kc(a,b,c){var d,e;e=!!b.Fi()&&(b.Fi(),true);d=!!c.Fi()&&(c.Fi(),true);return a.k&&!e&&!d?b.ti(c):b.ui(c,new Ffc(false),0)}function pdb(a,b,c,d){var e;!!d&&d.k==(Pac(),F8b)&&(d=d.f);switch(c.k.f){case 93:case 94:rdb(a,b,c,d);c==wrc(a.e).b&&(e=Brc(a.e),e)}}function z0b(a,b){var c;Sd(V0b(a));Sd(b.k==(Pac(),k8b));c=Q5b(b,b.i,39);c!=b.i&&(b.i=c);b.i=new U6b(39,
1,b.i);return new t6b(p8b,a,b)}function ggc(a,b,c){var d;d=Mdc(Idc(Jdc(new Xdc(a))),b);c.length>0&&(d.k=Zfc(d.f,(Km(),Nd(c),Sm(new ltc(c))),null),d);return Gdc(d)}function Ayb(a){var b,c,d;for(c=new Bsc(a.a);c.a<c.c.a.length;){b=(c.b=c.a++,c.c.a[c.b]);d=b.f;if(d){Nd(b.f);N5b(b.f,b);p4(a.b.a,d)}}}function d5b(a,b){var c,d,e;if(!b)return;Od(b.g,b);for(c=b;c;c=c.e){Fd(!c.f);c.f=a}e=b.g;if(a.b){d=a.b.g;b.g=d;e.e=a.b;a.b.g=e}a.b=b}function Mgb(a,b,c,d){if(!b||b==c)return;Td(!bnb(b),b);Mgb(a,b.e,c,d);if(!V0b(b))return;
if(Rgb(a,b,d.b)){d.b=true;d.a=Qgb(a,b,d.a)}}function k3b(a,b){if(!a&&!b)return true;if(!a&&!!b||!!a&&!b)return false;return a.d==b.d&&a.f==b.f&&a.e==b.e&&a.c==b.c&&a.b==b.b}function Gnc(a,b){if(b==null)return false;if(Fnc(a,b))return true;return a.length==b.length&&Fnc(a.toLowerCase(),b.toLowerCase())}function Tic(a,b,c,d,e){var f;f=false;if(!a.a&&!b.a){a.a=true;b.a=true;f=ejc(c,a,b,d,e)&&ejc(c,b,a,d,e);a.a=false;b.a=false}return f}function szc(a,b,c){var d,e,f;e=Zoc(a.c,b);if(!e){d=new Jzc(a,b,c);
apc(a.c,b,d);Gzc(d);return null}else{f=rqc(e,c);tzc(a,e);return f}}function Isc(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 Jsc(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 $A(a){var b,c,d,e,f,g;f=0;g=0;do{b=Anc(a.a,a.b++);d=(ZA(),e=YA[b],e);c=(d&32)!=0;d&=31;f=f+(d<<g);g=g+5}while(c);return aB(f)}function Ifb(a,b,c){this.i=a;this.a=b;this.g=
c;this.f=null;this.b=new KBc;this.c=new $zc;this.d=new qyc;this.e=y5(G3(b,q5b(c,53)))}function akb(a){Yjb();this.b=a;this.a=false;this.c=(!a.T&&(a.T=new mgc),a.T);this.e=Bgb(this.a,this.c,44);this.d=Bgb(this.a,this.c,38)}function Itb(a){this.a=new q1b(a);this.c=new Jsb(a,(J7b(),H7b));this.b=new p6b((Pac(),lac));M5b(this.b,53,this.a);d6b(this.b,this.c)}function rib(){rib=bY;mib=new sib(BKc,0);pib=new sib("OBJECTLIT",1);nib=new sib(CKc,2);oib=new sib("GET_SET",3);qib=new sib("OTHER",4)}function XC(){var a;
if(SC!=0){a=RC();if(a-TC>2E3){TC=a;UC=$wnd.setTimeout(bD,10)}}if(SC++==0){eD((dD(),cD));return true}return false}function t4b(a,b,c){if(!((a.a.a&YJc)==aKc||(a.a.a&YJc)==LGc||(a.a.a&YJc)==yKc)&&A1b(a.a,c,b)){a.e=true;return true}else return false}function G_b(a,b){if(rE(a.a,251)||rE(a.a,256)||rE(a.a,310)||rE(a.a,183)&&a.a.a.length>1){b.a+="(?:";a.a.Mh(b);b.a+=")"}else a.a.Mh(b)}function TGb(a,b){var c,d,e;e=kFb(a.a,(Pac(),N9b),DFb(a.a,b.b));if(b.a)for(d=b.a.a._d();d.Od();){c=d.Pd();_4b(e,DFb(a.a,c))}return e}
function Zjc(a,b){bbc();var c,d,e;pbc.call(this,a);this.b=b;e=new blc(a,30,true);for(d=b._d();d.Od();){c=d.Pd();Xkc(e,c)}this.a=Zkc(e)}function V$(a,b,c){var d,e;d=b.length==0?"":b+": ";e=new qyc;Rlb();Cnb(Mp(a.a,c),new Y$(e),(ne(),ke));Cnb(c,new $$(a,e,d),ke);Q$(a,d,e)}function Vdb(a,b){var c,d,e;d=Mdb(a,P5b(b));c=deb(a,d);if(d.k!=(Pac(),Oac)){a5b(b,Rdb(a,c));e=Q5b(b,b.i,66);e!=b.i&&(b.i=e);Leb(a.a,b)}}function QHb(a,b){var c,d;d=false;while(true){c=jJb(a.i);if(c==32)continue;else if(c==b){d=true;
break}else break}pJb(a.i,c);return d}function yBc(a,b,c){var d,e,f;e=null;f=a.b;while(f){d=a.a.jf(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 Jib(a,b){var c;if(Pi(a.e,b)>0)return true;c=yrc(a.d);if(!c.c)return false;while(!!c&&!!c.a){Gf(a.g,c.a,b);c=c.b}return true}function ymb(a,b,c){var d;if(b.Rd(a))return true;if(!c.Rd(a))return false;for(d=a.b;d;d=d.e)if(ymb(d,b,c))return true;return false}function cec(a,b,c,d,e){var f,g;if((gic(a.t,b)?1:0)!=0&&(g=a.Si(b),
!!g&&!g.b))return false;f=new _hc(b,c,d,e);kic(a.t,b,f);return true}function ioc(a,b,c){var d,e,f,g;f=b+c;nFc(b,f,a.length);g="";for(e=b;e<f;){d=$wnd.Math.min(e+1E4,f);g+=aoc(a.slice(e,d));e=d}return g}function zmc(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 mY(a,b){switch(b.f){case 0:return nY(a,cHc,(vY(),rY));case 1:return nY(a,dHc,(vY(),uY));default:return b.e!=null?b.e:""+b.f}}function CQb(a,b){switch(sRb(a.g,
0).c.f){case 54:case 55:case 57:case 56:case 17:return true;case 16:return b==1;default:return false}}function L3b(a){if(!((a.a.a&YJc)==aKc||(a.a.a&YJc)==LGc||(a.a.a&YJc)==yKc)&&!i2b(a.a)){a.a.a|=2;a.e=true;return true}else return false}function rpb(a){var b,c;for(c=new Bsc(a.d);c.a<c.c.a.length;){b=(c.b=c.a++,c.c.a[c.b]);if(fn((hpb(),epb),b.b))return true}return false}function knc(a){var b,c;if(EX(a,-129)>0&&EX(a,128)<0){b=SX(a)+128;c=(mnc(),lnc)[b];!c&&(c=lnc[b]=new bnc(a));return c}return new bnc(a)}
function iZb(a){var b;b=0;while(a.b<a.c&&pZb(Anc(a.a,a.b))){b=DX(MX(10,b),Anc(a.a,a.b++)-48);if(EX(b,EFc)>0)return hZb(a)}return SX(b)}function WOb(a){var b,c,d;d=sRb(a.g,0).b.b;aOb(a,(jUb(),HSb));c=bOb(a);aOb(a,oTb);b=XOb(a);aOb(a,tSb);return new fVb(new GYb(d,a.f),c,b)}function LOb(a,b){var c,d,e,f;f=sRb(a.g,0).b.b;b&&aOb(a,(jUb(),hTb));c=lOb(a);d=gPb(a,1);e=kOb(a);return new EUb(new GYb(f,a.f),b,c,d,e)}function q$(a,b){var c;Rlb();if(!!b&&(b.k==(Pac(),Jac)||b.k==z9b||b.k==x8b)){c=l5b(b);1!=c&&
u$(rHc+c,b);QZ(a,b.k,b)}else JZ(a,b.f.k,b)}function tmb(a){Rlb();var b;for(b=a;true;b=b.b){if(b.k==(Pac(),H9b)||b.k==Aac||b.k==vac)return b;Xd(b.k==d9b,"Not a getprop node: ",b)}}function t3(a){a.M=npb(w3(a),new zpb(a.N));ipb(a.M,(!a.L&&(a.L=new XBb(a.a)),new ksc));lpb(a.M,a.q,a.A);if(a.j.a.e!=0)return;a.M=null}function syb(a){pyb();this.e=new qyc;this.a=a;this.c=D3(a,new fjb("",null,0,0,kyb,null,ED(zD(UU,1),FHc,2,6,[])))==(O_(),L_);this.d=true}function hJb(){fJb();return ED(zD(UP,1),XFc,68,0,[SIb,
TIb,VIb,_Ib,eJb,YIb,cJb,WIb,aJb,XIb,bJb,PIb,OIb,MIb,ZIb,dJb,RIb,$Ib,QIb,NIb,UIb])}function Iib(){Iib=bY;Hib=(lm(),zo(ED(zD(PU,1),RFc,1,5,[TGc,BJc])));Gib=or(Qxc((Pac(),N7b),ED(zD(qT,1),XFc,13,0,[X9b,g9b,h9b,k8b,lac])))}function jFc(a,b){if(0>a)throw CX(new Fjb("fromIndex: 0 > toIndex: "+a));if(a>b)throw CX(new Jlc("fromIndex: 0, toIndex: "+a+YNc+b));}function e3b(a,b){if(!a&&!b)return true;if(!a&&!!b||!!a&&!b)return false;return k3b(a.a,b.a)&&i3b(a.c,b.c)&&k3b(a.b,b.b)&&n3b(a.d,b.d)}function ric(a,
b,c,d){if(Tbc(a,b,c,d))return true;if(a.A.p[31].ui(b,c,d))return true;if(!b.Di())return false;return Occ(a,b.Di(),c,d)}function D5b(a){switch(a.k.f){case 29:return a.Rh().length!=0;case 33:case 99:return true;case 26:return D5b(a.b);default:return false}}function jsc(a,b){var c,d;d=a.a.length;b.length<d&&(b=XEc(new Array(d),b));for(c=0;c<d;++c)b[c]=a.a[c];b.length>d&&(b[d]=null);return b}function ktc(a,b){var c,d;d=a.a.length;b.length<d&&(b=XEc(new Array(d),b));for(c=0;c<d;++c)b[c]=a.a[c];b.length>
d&&(b[d]=null);return b}function Drc(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;Lrc(c<e);if(c>=f){Erc(a,b);return-1}else{Frc(a,b);return 1}}function WGb(a,b){var c,d,e,f;hFb(a.a,b,(AMb(),OLb));f=jFb(a.a,(Pac(),V9b));for(d=b.a._d();d.Od();){c=d.Pd();e=XGb(a,c);_4b(f,e)}return f}function W2b(a,b){var c,d,e;e=null;if(a){e=new lsc;for(d=new Bsc(a);d.a<d.c.a.length;){c=(d.b=d.a++,d.c.a[d.b]);asc(e,S2b(c,b))}}return e}function Pfb(a,b){var c,d,e;c=M0b(a,b,ED(zD(UU,1),FHc,2,6,[]));e=
a.c;if(!e)return c;d=e.bi(b);!d&&rE(e,138)&&(d=Jec(e,b));return c.c=d,c}function z1b(a,b){var c;c=new P2b;c.d=!a.d?null:V2b(a.d,b);c.b=a.b;c.j=a.j;c.a=a.a;c.i=S2b(a.i,b);c.g=S2b(a.g,b);c.c=a.c;c.f=a.f;return c}function XDc(a,b,c,d){(JDc?b.mj()>=(TDc(a),800):KDc?b.mj()>=(nDc(),800):NDc?b.mj()>=(nDc(),900):MDc&&b.mj()>=(nDc(),1E3))&&PDc(a,b,c,d)}function WDc(a,b,c){(JDc?b.mj()>=(TDc(a),800):KDc?b.mj()>=(nDc(),800):NDc?b.mj()>=(nDc(),900):MDc&&b.mj()>=(nDc(),1E3))&&PDc(a,b,c,null)}function PZ(a,b,c){if(c.k==
(Pac(),H9b)){WZ(c)&&c.Rh().length==0&&u$(tHc,c);LZ(c);!!c.b&&wZ(a,c.b)}else c.k==F8b?qZ(a,b,c):u$(pHc+b+qHc,c)}function O1(b){var c;if(R1(b))try{c=Fmc(b);if(LX(c,{l:0,m:0,h:512}))return RX(c)}catch(a){a=BX(a);if(!rE(a,81))throw CX(a);}return NaN}function ZNb(a,b){var c;c=(Km(),new tr);rr(c,b?b.a:"");while(rQb(a,(jUb(),vTb))){aOb(a,vTb);b=bOb(a);if(!b)break;rr(c,b.a)}return Sm(c.a)}function Ujc(a,b){var c,d,e;d=new blc(a.A,30,false);for(c=0;c<a.b.ce();c++){e=a.b.ge(c);(e.vi()||e.mi()||!e.ti(b))&&Xkc(d,
e)}return Ykc(d)}function Ajb(a){var b,c,d,e;e=BD(AE,MGc,8,a.a.length,15,1);for(c=0;c<a.a.length;++c){b=a.c[c];for(d=c;d>=0;d=ztc(b,d-1))e[d]+=1}return e}function X2b(a,b){var c,d,e,f;e=null;if(a){e=new vzc;for(d=new Vzc(new Mzc(a));d.b!=d.c.a.b;){c=Tzc(d);f=c.e;szc(e,c.d,S2b(f,b))}}return e}function MPb(a,b){var c,d,e;e=sRb(a.g,0).b.b;c=NPb(a,b);if(rQb(a,(jUb(),ISb))){aOb(a,ISb);d=COb(a,1);c=new cVb(new GYb(e,a.f),c,d)}return c}function m5(a,b){var c,d;roc(a.c,b);c=-1;d=c;while((c=Knc(b,boc(10),
c+1))>=0){++a.b;d=c}d==-1?a.a+=b.length:a.a=b.length-(d+1);return a}function gdb(a,b){var c;c=b.k!=(Pac(),rac)||b.Th();return new r6b(E8b,new t6b(c?c9b:d9b,(Xd(Jnc(a,boc(46))==-1,JHc,a),new s7b(H9b,a)),b))}function r$(a,b){var c;Rlb();!!b&&(b.k==(Pac(),Jac)||b.k==z9b||b.k==x8b)?QZ(a,b.k,b):b.k==(Pac(),J8b)?(c=l5b(b),0!=c&&u$(lHc+c,b)):wZ(a,b)}function _pb(a,b){$pb();var c;if(b==(iBb(),hBb)){c=l5b(a)>=3?k5b(a,2):a.b.e;return c.k==(Pac(),S9b)?""+xE(c.Qh()):c.Rh()}return a.b.e.Rh()}function Kec(a){var b;
if(!a.g){b=a.Ri();b==null?Qec(a,a.A.p[44],null):Oec(a,new gec(a.A,a.Ri()+XJc,a.A.p[31],a.q,null),null)}return a.g.e}function YEc(a,b){(!b&&console.groupCollapsed!=null?console.groupCollapsed:console.group!=null?console.group:console.log).call(console,a)}function c2(a){if(!a.f)throw CX(new Kmc("Cannot build without root node being specified"));return b2(a.f,y2(a.c,a.d),a.c,a.i,a.g,a.b,a.a)}function lgc(a,b,c){var d,e;d=iAc(a.v,b,new qgc(a));ngc(c)&&(c=(!a.u&&(a.u=(e=new fec(a),e.s=true,e)),a.u));Xkc(d,
c);Nfc(a,b,c);dpc(a.f,b)}function rgb(a,b,c){var d,e;d=Dgb(r0b(ED(zD(nT,1),KHc,7,0,[])),b);for(e=a.b;e;e=e.e)e.k==(Pac(),rac)&&_4b(d,Dgb(i1b(q5b(e,71)),c));return d}function tnb(a,b,c){Rlb();var d,e;d=snb(a,b);Bnb(d,c);Fnc(hHc,q5b(d,40))||(e=Q5b(d,d.i,40),e!=d.i&&(d.i=e),d.i=new c7b(40,hHc,d.i));return d}function L6(){L6=bY;I6=new M6(LIc,0);J6=new M6("RELATIVIZE_IMPORT_PATHS",1);K6=new M6("TO_COMMON_JS_LIKE_MODULES",2);H6=new M6("COMPILE",3)}function HRb(a){if(Xlc(mRb(a,a.f)?Anc(a.b,a.f):0,16)<0){uRb(a,
"Hex digit expected",ED(zD(PU,1),RFc,1,5,[]));return false}nRb(a);return true}function rcc(a,b,c,d){bbc();pbc.call(this,a);this.a=!b?Xfc(a,true,ED(zD(JT,1),NJc,27,0,[this.A.p[44]])):b;this.b=!c?this.A.p[44]:c;this.c=d}function Vjc(a,b,c,d){var e,f,g;f=(_jc(new Hkc,a.b)&&Yjc(a),a.b);for(g=0;g<f.ce();g++){e=f.ge(g);if(dbc(e,b,c,d))return true}return false}function Xfc(a,b,c){var d,e,f;d=new aec(a);f=c.length-1;for(e=0;e<=f;e++)b&&e==f?$dc(d,c[e]):Zdc(d,ED(zD(JT,1),NJc,27,0,[c[e]]));return d.b}function xb(a,
b){return vE(a)?Fnc(a,b):tE(a)?wE(a)===wE(b):sE(a)?a===b:qE(a)?a.Fd(b):DD(a)?ub(a,b):!!a&&!!a.equals?a.equals(b):wE(a)===wE(b)}function U3(a,b,c,d){var e,f,g,h;e=new pjb;for(h=It(new Ipc(c.a));h.Od();){g=h.Pd();mjb(e,new G5(g))}f=new lsc;f.a[f.a.length]=e;W3(a,b,f,d)}function nmb(a){Rlb();switch(a.k.f){case 72:case 73:case 101:case 102:case 70:return a.b?a.b.g:null;case 71:return a.b;default:return null}}function MNb(a){GNb();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 WRb(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 Rob(a){var b,c,d;for(d=e5b(a.n)._d();d.Od();){b=d.Pd();a.k+=1;a.j+=Oob(b)}for(c=e5b(a.u)._d();c.Od();){b=c.Pd();a.v+=1;a.t+=Oob(b)}}function ZGb(a,b){var c,d,e,f;e=(Km(),new tr);for(d=b.a._d();d.Od();){c=d.Pd();rr(e,DFb(a.a,c))}f=DFb(a.a,b.b);return YEb(a.a,$ac(f,Sm(e.a)))}function cZb(a,b){b.a=b.a.substr(0,0)+"("+b.a.substr(1);
if(a.b.k){uZb(a.b,a.b.p-1);b=SYb(a,b,1);b.a+=")"}else{b.a+=")";b=SYb(a,b,0)}return b}function TPb(a){var b,c;b=sRb(a.g,0).b.b;if(rQb(a,(jUb(),oTb))){aOb(a,oTb);c=new _Xb(new GYb(b,a.f),vPb(a));aOb(a,tSb)}else c=iQb(a);return c}function Wgb(a,b,c){var d;if(b){d=a.c;return m6b(Dgb(t0b(Dgb((Xd(Jnc(c,boc(46))==-1,JHc,c),new s7b((Pac(),H9b),c)),d),a),d),a)}else return a}function zoc(a,b,c,d,e){var f,g;zb(a);zb(c);g=a.length;f=c.length;if(b<0||d<0||e<0||b+e>g||d+e>f)throw CX(new Hlc);e>0&&REc(a,b,c,d,e,
true)}function Yd(a,b,c){if(!a)throw CX(new Kmc(bf('Bad binary operator "%s": expected 2 arguments but got %s',ED(zD(PU,1),RFc,1,5,[b,$mc(c)]))));}function WZ(b){try{if(b.Rh()==null){u$(uHc,b);return false}}catch(a){a=BX(a);if(rE(a,44)){u$(uHc,b);return false}else throw CX(a);}return true}function X_(){X_=bY;W_=new D9("JSC_MISSING_RETURN_STATEMENT",(O_(),N_),new Toc("Missing return statement. Function expected to return {0}."))}function h4(a){var b;Sd(p6(a.J));b=(!a.L&&(a.L=new XBb(a.a)),new ksc);
if(b.a.length==0)return;a.M=w3(a);ipb(a.M,b);lpb(a.M,a.q,a.A);a.M=null}function hdb(a,b){var c,d;c=b.b?b.b.g:null;if(c.k!=(Pac(),k8b)){Nd(c.f);N5b(c.f,c);d=o6b(w0b((Sd(V0b(c)),new r6b(iac,c))),c);_4b(b,d);vlb(a)}}function mIb(a,b){var c;c=nIb(a,b);if(c)if(RHb(a,(fJb(),ZIb))){!a.n?mJb(a.i):JHb(a);xIb(a);b=!a.n?mJb(a.i):JHb(a);return sIb(a,b,c)}return c}function QRb(a,b){var c,d,e;d=a.f;while(mRb(a,a.f)&&!ZRb(mRb(a,a.f)?Anc(a.b,a.f):0))nRb(a);c=SNb(a.i.b,d,a.f);e=Xnc(a.b,d,a.f);QQb(a.a,b,c,e)}function rlb(a,
b){var c,d,e,f;!b&&!!a.j&&a.j.th(a);e=a.n.a.length;e>0?f=esc(a.n,e-1):f=(d=Arc(a.o),d).d;Rlb();Uxc(Klb,f.k)&&(c=Arc(a.b),c)}function Eeb(a,b,c,d){var e,f;for(f=new Bsc(b);f.a<f.c.a.length;){e=(f.b=f.a++,f.c.a[f.b]);Sd(e.k==(Pac(),v9b));bpc(a.n,e.Rh(),new Yeb(c,d))}}function yQb(a){var b;b=sRb(a.g,0);switch(b.c.f){case 18:case 2:case 49:case 65:case 54:case 47:return true;default:return GNb(),!!INb(b.c)}}function ndb(a,b,c,d,e,f){switch(c.k.f){case 93:ldb(a,b,c,d,e,f);break;case 94:mdb(a,b,c,d,e,f);
break;default:throw CX(new Kmc("unexpected"));}}function PUb(){PUb=bY;KUb=new QUb("BLOCK",0);NUb=new QUb("LINE",1);MUb=new QUb("JSDOC",2);OUb=new QUb("SHEBANG",3);LUb=new QUb("IMPORTANT",4)}function D4b(a,b){if(!!b&&!((a.a.a&YJc)==aKc||(a.a.a&YJc)==LGc||(a.a.a&YJc)==yKc)&&!a.a.g){L2b(a.a,b);a.e=true;return true}else return false}function Kmb(a){Rlb();var b;if(!!a&&(a.k==(Pac(),Jac)||a.k==z9b||a.k==x8b))for(b=a.b;b;b=b.e)if(b.k==(Pac(),F8b))return true;return false}function oAc(a,b){var c,d,e;e=a.b.a.length;
for(d=b._d();d.Od();){c=d.Pd();asc(a.b,lFc(c))}if(e!=a.b.a.length){pAc(a,0);return true}return false}function a$(a,b,c){var d,e;VZ((Pac(),sac),c);$Z(c);e=l5b(c);1!=e&&u$(rHc+e,c);d=c.b;switch(d.k.f){case 119:pZ(a,b,d);break;default:JZ(a,b,d)}}function GHb(a,b,c,d){var e;a.b.vh(dMc+F7b("msg.jsdoc.type.record.duplicate",ED(zD(PU,1),RFc,1,5,[b]))+eMc,(e=q5b(a.k,51),!e?null:e.sg()),c,d)}function Gmb(a,b){Rlb();var c;if(n5b(a,43)!=0)return true;if(a.k!=(Pac(),H9b)||!b)return false;c=CY(b,a.Rh());return!!c&&
(UY(c)||TY(c)==x8b)}function RJb(a,b){if(!IJb(a,b,(MKb(),rKb)))return false;if(!fKb(a,(Kd(b.k==(Pac(),n8b),tMc,b),k5b(b,1)))){lKb(a,rKb.d);return false}return true}function YJb(a,b){if(!IJb(a,b,(MKb(),CKb)))return false;if(!fKb(a,(Kd(b.k==(Pac(),n8b),tMc,b),k5b(b,1)))){lKb(a,CKb.d);return false}return true}function H3b(a,b){if(!!b&&!((a.a.a&YJc)==aKc||(a.a.a&YJc)==LGc||(a.a.a&YJc)==yKc)&&!e2b(a.a)){v2b(a.a,b);a.e=true;return true}else return false}function iHb(a,b){var c;Fd(b.c==(jUb(),kTb)||b.c==
UTb||b.c==VTb||b.c==WTb);c=pFb(a.a,sFb(a.a,b,true));M5b(c,71,b.a);AFb(c,b.b.b,b.b.a);return c}function Qmb(a){Rlb();var b;if(a.k==(Pac(),Z8b)&&Jmb(a.f)&&a.k==Z8b&&dnb(a.b)){b=a.f;return b.k==lac||b.k==F9b||b.f.k==Z8b||b.k==Q8b}return false}function EMb(a){var b,c,d,e,f,g;g=(b=hmc(ZP),new Xxc(b,SEc(b,b.length),0));for(d=DMb(),e=0,f=d.length;e<f;++e){c=d[e];c.b==a&&Rxc(g,c)}return g}function fZb(a,b,c,d,e){if(b==-2&&!e)throw CX(new NYb("<"));if(b>=a.length)throw CX(new NYb(Xnc(c.a,c.d,c.b)));if(b==
-2)return d;return a[b]}function amc(a,b,c){hFc(a>=0&&a<=PGc);if(a>=OGc){b[c++]=55296+(a-OGc>>10&QGc)&IFc;b[c]=56320+(a-OGc&QGc)&IFc;return 2}else{b[c]=a&IFc;return 1}}function bc(a){var b,c;c=ED(zD(zE,1),JFc,8,15,[92,117,0,0,0,0]);for(b=0;b<4;b++){c[5-b]=KFc.charCodeAt(a&15);a=a>>4&IFc}return ioc(c,0,c.length)}function e8(a,b){var c;if(rE(b,216)){c=b;c.a&&(a.a=c.a);f8(a,new msc(new RCc(c.c.a.qj())))}else{++a.d;apc(a.e,b,$mc(a.d));OCc(a.c,b);NCc(a.c,b)}}function Dlb(a,b,c,d){Nd(c);plb(a,b);if(klb(a)!=
d){a.e=b;Nd(a.e);orc(a.o,d);tlb(a,d.d);!!a.j&&a.j.sh(a);zlb(a,b,c);rlb(a,false)}else zlb(a,b,c)}function iBb(){iBb=bY;eBb=new jBb("BROWSER",0);fBb=new jBb("BROWSER_WITH_TRANSFORMED_PREFIXES",1);gBb=new jBb("NODE",2);hBb=new jBb("WEBPACK",3)}function VPb(a,b){var c;c=NPb(a,b);rQb(a,(jUb(),ISb))&&LQb(a,"A default value cannot be specified after '...'",ED(zD(PU,1),RFc,1,5,[]));return c}function oE(a,b){if(vE(a))return!!nE[b];else if(a.Bj)return!!a.Bj[b];else if(tE(a))return!!mE[b];else if(sE(a))return!!lE[b];
return false}function mxb(a,b){lxb();var c;c=b._h().fi();if(_ic(c,Nd(a.k)))return Wic(c,Nd(a.k));else if(_ic(c,Nd(a.n)))return Wic(c,Nd(a.n));return a.p[44]}function IJb(a,b,c){var d;d=(Kd(b.k==(Pac(),n8b),tMc,b),l5b(b)-1);if(d<c.c){mKb(a,c.d);return false}if(d>c.b){jKb(a,c.d);return false}return true}function pbb(a,b,c){var d,e,f;f=c.Rh();d=klb(b);while(d){e=Bp(a.a,d.d,f);if(e!=null){c.Wh(e);vlb(b);return}else if(qzc(d.e,f))return;else d=d.b}}function idb(a,b,c){var d,e,f;d=(Rlb(),e=dmb(b),!e?null:
q5b(e,29));!!d&&X1b(d,c)!=null?f=X1b(d,c):f=bKc+a.b++;Sd((U4b(),T4b.test(f)));return f}function Nxc(a){var b,c,d,e,f,g;g=a;b=g.a;f=g.b;e=SEc(f,f.length);for(d=0,c=f.length;d<c;++d)!f[d]&&(e[d]=b[d]);return new Xxc(b,e,b.length-g.c)}function Wd(a,b,c){if(!a)throw CX(new Kmc(bf("Bad GETELEM node: Expected 2 children but got %s. For node: %s",ED(zD(PU,1),RFc,1,5,[$mc(b),c]))));}function t_(){t_=bY;s_=new D9("JSC_MISSING_CONST_PROPERTY",(O_(),M_),new Toc("Private property {0} is never modified, use the @const annotation"))}
function j2(a,b,c,d){var e,f;if(a.j)for(f=new Bsc(a.g);f.a<f.c.a.length;){e=(f.b=f.a++,f.c.a[f.b]);e.c=l2(e.c,b,c,d);!!e.a&&(e.a=l2(e.a,b,c,d))}}function Ygb(a){var b,c,d;b=Xgb(a);Nd(b);c=b;d=c.f;while(d.k==(Pac(),u9b)){c=d;d=c.f}Td((Rlb(),d.k==jac||d.k==lac||d.k==k8b||d.k==F9b),d);return c}function cEb(a){var b,c,d;b=(zn(),new Dr);Cr(b,An((_Db(),$Db)));for(d=a._d();d.Od();){c=d.Pd();c.length!=0&&!Xn($Db,c)&&Ar(b,c,xDb)}return Mn(b.b)}function _ac(a){var b,c,d;Gd(!nt(a),"union must have at least one option");
b=new A7b((Pac(),Hac));for(d=a._d();d.Od();){c=d.Pd();_4b(b,c)}return b}function MFb(a,b){var c;if(b.k==(Pac(),iac)){c=b;while(c=c.f)if(c.k==Z8b)return;a.d.uh("return must be inside function",a.q,y6b(b.j),x6b(b.j))}}function gFc(a){switch(typeof a){case DFc:return wFc(a);case BFc:return xE(a);case AFc:return Qlc(),a?1231:1237;default:return a==null?0:qFc(a)}}function aSb(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 Gk(a,b){if(a==null)throw CX(new onc("null key in entry: null="+b));else if(b==null)throw CX(new onc("null value in entry: "+a+"=null"));}function leb(a,b,c,d){var e;Sd(!b.b);e=l6b(x0b(ED(zD(nT,1),KHc,7,0,[ieb(a,d,hKc,ED(zD(nT,1),KHc,7,0,[Teb(b,d)])),keb(a,d)])),d);c&&(b.b=e);return e}function Feb(a,b,c){var d,e,f,g;if(b){f=(d=Arc(a.e),d);Sd(f.b==0);Sd(f.a==b)}if(c){if(!xrc(a.e)){e=--vrc(a.e).b;Sd(e>=0)}g=(d=Arc(a.k),d);Sd(g==c)}}function Qeb(a,b){return l6b(Dgb(K0b(l6b(Dgb(Z0b(gKc+(a.r.b==
0?"":"$"+a.r.b)),a.g),b),l6b(new s7b((Pac(),rac),jKc),b)),a.r.f.g?a.g.Qi(jKc):null),b)}function PKb(){MKb();return ED(zD(XP,1),XFc,63,0,[oKb,pKb,qKb,sKb,tKb,uKb,vKb,wKb,rKb,yKb,xKb,zKb,AKb,BKb,CKb,FKb,EKb,DKb,GKb,HKb,IKb,JKb,KKb,LKb])}function WYb(a,b){var c,d,e;d=a.b.n;e=fY(a.a);if(e.indexOf(".")!=-1){c=Jnc(e,boc(46));c+d<e.length&&(e=e.substr(0,c+d+1));b.a+=""+e}else b.a+=""+e}function m1b(a,b){var c,d,e,f,g;Sd(V0b(a));g=new r6b((Pac(),wac),a);for(d=b,e=0,f=d.length;e<f;++e){c=d[e];Sd(c.k==p8b||
c.k==C8b);_4b(g,c)}return g}function Yjc(a){var b,c,d,e;e=new blc(a.A,30,false);d=new blc(a.A,30,true);for(c=a.b._d();c.Od();){b=c.Pd();Xkc(e,b);Xkc(d,b)}a.b=Zkc(e);a.a=Zkc(d)}function Up(){var a;Hk(16,xGc);a=ar(16);this.b=BD(rG,pGc,149,a,0,1);this.c=BD(rG,pGc,149,a,0,1);this.a=null;this.e=null;this.i=0;this.f=a-1;this.g=0}function Hs(a){var b,c,d;b=Fs(a.a);for(d=new Bsc(a.b);d.a<d.c.a.length;){c=(d.b=d.a++,d.c.a[d.b]);Gs(b,c)}return As(),new Bs((Jtc(),new jwc(b)),a.a)}function OHb(a){var b,c,d;qJb(a.i);
d=a.i.g;b=lJb(a.i)+1;c=$nc(PHb(a));c.length>0&&E3b(a.e,c,d,b,d,b+c.length);return new FIb(c,!a.n?mJb(a.i):JHb(a))}function _Hb(a,b){var c,d;switch(b.f){case 4:d=a.i.n;c=f5b(new t7b((Pac(),sac),d,a.i.g,lJb(a.i)),a.k);Z5b(c,d.length);return c;default:return null}}function FZ(a,b){switch(b.k.f){case 29:case 26:case 27:wZ(a,b);break;case 92:iZ(b.b,1);FZ(a,b.b);break;default:u$("Invalid INC/DEC target "+b.k,b)}}function x1(a,b){var c,d,e;d=b.Rh();e=n5b(b,54)!=0;if(e)q1(a,C1(a,b.Rh(),e));else{c=$oc(a.d,
d);if(c==null){c=C1(a,b.Rh(),e);bpc(a.d,d,c)}P0(a.c,c)}}function HOb(a,b){var c,d,e,f;f=sRb(a.g,0).b.b;c=YOb(a,b);while(rQb(a,(jUb(),fSb))){d=aOb(a,fSb);e=YOb(a,b);c=new AUb(new GYb(f,a.f),c,d,e)}return c}function IOb(a,b){var c,d,e,f;f=sRb(a.g,0).b.b;c=JOb(a,b);while(rQb(a,(jUb(),kSb))){d=aOb(a,kSb);e=JOb(a,b);c=new AUb(new GYb(f,a.f),c,d,e)}return c}function JOb(a,b){var c,d,e,f;f=sRb(a.g,0).b.b;c=HOb(a,b);while(rQb(a,(jUb(),nSb))){d=aOb(a,nSb);e=HOb(a,b);c=new AUb(new GYb(f,a.f),c,d,e)}return c}
function yPb(a,b){var c,d,e,f;f=sRb(a.g,0).b.b;c=IOb(a,b);while(rQb(a,(jUb(),hSb))){d=aOb(a,hSb);e=IOb(a,b);c=new AUb(new GYb(f,a.f),c,d,e)}return c}function zPb(a,b){var c,d,e,f;f=sRb(a.g,0).b.b;c=yPb(a,b);while(rQb(a,(jUb(),rTb))){d=aOb(a,rTb);e=yPb(a,b);c=new AUb(new GYb(f,a.f),c,d,e)}return c}function ygb(a,b){wgb();return y3(a,QJc+Znc("arrayFromIterator",(dAc(),bAc)),false),y0b(snb(a,"$jscomp.arrayFromIterator"),ED(zD(nT,1),KHc,7,0,[b]))}function y4b(a,b){if(!!b&&!$1b(a.a)&&!((a.a.a&YJc)==aKc||
(a.a.a&YJc)==LGc||(a.a.a&YJc)==yKc)){M2b(a.a,b,AGc);a.e=true;return true}else return false}function At(a,b){var c,d;while(a.Od()){if(!b.Od())return false;c=a.Pd();d=b.Pd();if(!(wE(c)===wE(d)||c!=null&&xb(c,d)))return false}return!b.Od()}function dGb(a){var b,c;Fd(a.k==(Pac(),lac));if(!a.b)return false;c=a.b;if(c.k!=T8b)return false;b=c.b;if(b.k!=n8b)return false;return J5b(b.b,vKc)}function DIb(a){var b,c;c=0;while(c<a.length){b=Anc(a,a.length-c-1);Vac();if(Uac.test(b))++c;else break}if(c==0)return a;
return Xnc(a,0,a.length-c)}function ylb(b,c){var d;try{plb(b,c);b.e=c;slb(b,c);zlb(b,c,null);rlb(b,false)}catch(a){a=BX(a);if(rE(a,83)||rE(a,44)){d=a;xlb(b,d)}else throw CX(a);}}function VBb(){VBb=bY;new D9("JSC_CANNOT_USE_PROTOTYPE_AND_VAR",(O_(),L_),new Toc("Rename prototypes and inline variables cannot be used together."))}function sJb(a,b,c){this.o=BD(zE,JFc,8,128,15,1);this.q=BD(AE,MGc,8,3,15,1);Nd(a);this.g=b;this.k=a;this.j=a.length;this.i=this.b=0;this.d=b;this.c=c}function Ui(a,b,c){var d,
e;Hk(c,"count");if(c==0){d=cpc(a.a,b);e=Zi(d,c)}else{d=Zoc(a.a,b);e=Zi(d,c);!d&&apc(a.a,b,new ml(c))}a.b=DX(a.b,c-e);return e}function RZ(a,b,c){var d,e;xZ(a,(AMb(),eMb),b);VZ((Pac(),J9b),b);e=Rac(b.k);e!=-1&&(d=l5b(b),e!=d&&u$(nHc+e+oHc+d,b));TZ(a,b.b);SZ(a,b.b?b.b.g:null,c)}function $5(){$5=bY;Z5=new _5(LIc,0);W5=new _5("GOOG",1);V5=new _5("ES6",2);U5=new _5("COMMONJS",3);Y5=new _5("JSON",4);X5=new _5("IMPORTED_SCRIPT",5)}function web(a,b,c){var d;d=new ksc;asc(d,Teb(b,c));--a.o!=0&&asc(d,l6b(new Z6b(a.o),
c));Meb(a,ieb(a,c,"leaveFinallyBlock",jsc(d,BD(nT,KHc,7,0,0,1))))}function VHb(a,b,c,d){var e,f;if(c!=-1&&d==0){f=lJb(a.i)-c;for(e=0;e<f;e++)b.a+=" "}else b.a.length>0&&(xlc(b,b.a.length-1)!=10||d==0)&&(b.a+=" ",b)}function Lkb(a,b){if(b.length==0)return b;b.indexOf(sKc)!=-1&&(b=Xnc(b,0,b.lastIndexOf(sKc)));a.a.Fg(b)&&(b="JSCompiler_"+b);return b+sKc+a.d+a.f.Jd()}function Stb(a,b,c){var d;d=rg(Iyc(b.d,a));if(c==d)return d;if(d){d.b.a=d.a;d.a.b=d.b;d.a=null}else{d=new Ttb(a);Jyc(b.d,a,d)}d.b=c;c.a=
d;c=d;return d}function gGb(a,b,c){var d;if(c){uFb(a.a,c.o,q5b(b,29));d=(lGb(a,c,(AMb(),zMb)),DFb(a.a,c));d.k==(Pac(),rac)&&(d=YEb(a.a,new C7b(rac,d.Rh())));V5b(b,d)}}function uQb(a){var b;b=sRb(a.g,0);switch(b.c.f){case 2:case 100:case 65:case 43:case 101:case 49:case 52:return true;default:return GNb(),!!INb(b.c)}}function qUb(a){var b;b=a;while(b.p==(WXb(),tXb))b=b.a;switch(b.p.f){case 26:case 46:case 55:case 59:case 61:case 74:return true;default:return false}}function Ydc(a,b){var c,d,e,f,g;
c=o5b(a.b);if(!!c&&n5b(c,30)!=0)return false;for(e=b,f=0,g=e.length;f<g;++f){d=e[f];_5b(_dc(a,Wfc(a.a,d)))}return true}function zBc(a,b,c,d,e,f,g,h){var i,j;if(!d)return;i=d.a[0];!!i&&zBc(a,b,c,i,e,f,g,h);ABc(a,c,d.d,e,f,g,h)&&b.Vd(d);j=d.a[1];!!j&&zBc(a,b,c,j,e,f,g,h)}function OD(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 JD(c,d,e)}function C4(a){var b,c;for(c=new Bsc(a);c.a<c.c.a.length;){b=(c.b=c.a++,c.c.a[c.b]);
b.d.a.length==0&&mjb(b,new G5(Ksb(b.e+"$fillFile","",(J7b(),H7b))))}}function KFb(a,b){var c;if(b.k==(Pac(),O9b)){c=b;while(c=c.f)if(c.k==Z8b)return;a.d.uh("new.target must be inside a function",a.q,y6b(b.j),x6b(b.j))}}function D1b(a,b,c){!a.d&&(a.d=new $2b);if(q2b(a,b))return false;if(!a.d.s)a.d.s=new vzc;else if(qzc(a.d.s,b))return false;szc(a.d.s,b,c);return true}function S3b(a,b){var c,d;for(d=new $uc(b.b._d());d.b.Od();){c=d.b.Pd();if((g2b(a.a,c)||Fnc(c,"*"))&&z2b(a.a,c))a.e=true;else return false}return true}
function fg(a,b){var c,d,e;c=b.Ve();e=b.We();d=a.He(c);if(!(wE(e)===wE(d)||e!=null&&xb(e,d)))return false;if(d==null&&!a.re(c))return false;return true}function Zdc(a,b){var c,d,e,f,g;c=o5b(a.b);if(!!c&&(n5b(c,37)!=0||n5b(c,30)!=0))return false;for(e=b,f=0,g=e.length;f<g;++f){d=e[f];_dc(a,d)}return true}function Iec(a){var b,c,d,e;e=new ksc;for(c=(d=a.b.a,d?!d.b?(Jtc(),Jtc(),Itc):new h7b(d.b):(Jtc(),Jtc(),Itc))._d();c.Od();){b=c.Pd();asc(e,b.c)}return e}function Pnc(a,b,c){var d,e,f,g;d=(e=b>>>0,
e.toString(16));f="\\u"+Wnc("0000",d.length)+d;g=String.fromCharCode(c);return a.replace(new RegExp(f,"g"),g)}function $nc(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 $d(a,b,c,d,e){if(!a)throw CX(new Kmc(bf("Incorrect source mappings order, previous : (%s,%s)\nnew : (%s,%s)",ED(zD(PU,1),RFc,1,5,[b,c,d,e]))));}function XFb(a){XEb();switch(a.f){case 98:return Pac(),Cac;case 99:return Pac(),U8b;default:throw CX(new Kmc(!a?
OFc:a.a==null?(GNb(),Zn(hNb,a)).c:a.a));}}function $Fb(a){XEb();switch(a.f){case 68:return Pac(),o9b;case 69:return Pac(),A8b;default:throw CX(new Kmc(!a?OFc:a.a==null?(GNb(),Zn(hNb,a)).c:a.a));}}function t5b(a){var b,c,d,e;b=0;for(e=a.i;e;e=e.b)++b;c=BD(yE,GGc,8,b,15,1);for(d=a.i;d;d=d.b){--b;c[b]=d.c}c.sort(cY(rtc.prototype.uj,rtc,[]));return c}function k6b(b){var c,d;try{d=new uoc;K6b(b,0,d);return d.a}catch(a){a=BX(a);if(rE(a,99)){c=a;throw CX(new IC("Should not happen\n"+c));}else throw CX(a);
}}function _lc(a){return String.fromCharCode(a).toUpperCase().charCodeAt(0)==a&&(Ulc==null&&(Ulc=new RegExp("[A-Z]","i")),Ulc.test(String.fromCharCode(a)))}function Qnc(a,b,c){var d,e;d=Rnc(b,"([/\\\\\\.\\*\\+\\?\\|\\(\\)\\[\\]\\{\\}$^])","\\\\$1");e=Rnc(Rnc(c,RGc,"\\\\\\\\"),"\\$","\\\\$");return Rnc(a,d,e)}function zt(a,b){if(b==null)while(a.a.Od()){if(a.a.Pd().We()==null)return true}else while(a.a.Od())if(xb(b,a.a.Pd().We()))return true;return false}function yA(a){var b;tA.call(this,a,null);this.a=
BD(zE,JFc,8,512,15,1);Fd(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 CD(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 R1(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 Hdb(a){Gdb();Nd(a);this.b=a;this.f=(!a.T&&(a.T=new mgc),a.T);this.g=false;this.i=
null;this.e=null;this.a=null;this.c=null;this.d=null;this.j=null}function opb(a,b){hpb();var c;this.b=a;this.d=a.A;this.p=b;this.i=new ksc;this.c=false;this.e=0;this.q=a.J.Ad;c=a.J.hc;c>0&&c<=100?this.g=c:this.g=100}function hec(a,b,c,d,e,f){Rcc.call(this,a,e);this.t=new mic;lic(this.t,this);this.o=b;this.q=d;this.n=f;d||!!c?(Sd(!this.Ui()),this.p=c):dec(this,a.p[31])}function Rdb(a,b){var c;if(!b)return null;c=W0b(b)?w0b(b):(Td(V0b(b),b),new r6b((Pac(),T8b),b));Glb(a.f.b,c,new bfb(a.a));Sd(!!c.b&&
!c.b.e);return P5b(c)}function Ffb(a,b){var c,d,e,f;e=bmb(b);for(d=new Bsc(e);d.a<d.c.a.length;){c=(d.b=d.a++,d.c.a[d.b]);Sd(c.k==(Pac(),H9b));f=c.Rh();DBc(a.b,f,new rfb(f,c))}}function kPb(a){var b,c,d,e;d=sRb(a.g,0).b.b;e=null;if(xQb(a)){b=gPb(a,0);aOb(a,(jUb(),iSb));c=eQb(a);e=new JVb(new GYb(d,a.f),b,c)}else e=AOb(a);return e}function H5b(a){var b,c,d;d=Q5b(a,a.i,85);d!=a.i&&(a.i=d);a.i=new U6b(85,1,a.i);for(c=(!a.b?(Jtc(),Jtc(),Itc):new h7b(a.b))._d();c.Od();){b=c.Pd();H5b(b)}}function foc(a){var b;
b=0;while(0<=(b=a.indexOf(XHc,b)))a.charCodeAt(b+1)==36?a=a.substr(0,b)+"$"+Wnc(a,++b):a=a.substr(0,b)+(""+Wnc(a,++b));return a}function qgb(a,b,c){var d,e,f;d=Dgb(r0b(ED(zD(nT,1),KHc,7,0,[])),b);for(e=a.b;e;e=e.e)if(e.k==(Pac(),rac)){f=Dgb(E6b(pgb(q5b(e,71))),c);_4b(d,f)}return d}function Vob(a,b,c){var d,e;e=(d=Arc(a.f),d);Sd(Fnc(b,e.j));asc(a.w,e);e.n=c;e.a=0;e.k=1;a.d.a&&(e.d=1);Fnc(b,FIc)?Tob(a,e):a.d.a&&a.D!=(S7(),R7)&&Sob(a,e)}function ICb(){ICb=bY;HCb=new D9("JSC_ILLEGAL_PROTOTYPE_MEMBER",
(O_(),M_),new Toc("Prototype property {0} should be a primitive, not an Array or Object."))}function tEb(){tEb=bY;sEb=new uEb("TYPES_ONLY",0);qEb=new uEb("INCLUDE_DESCRIPTIONS_NO_WHITESPACE",1);rEb=new uEb("INCLUDE_DESCRIPTIONS_WITH_WHITESPACE",2)}function _Nb(a,b){var c,d,e;d=b.b;c=b.a;if(d.o.a.b<c.o.b.b){a.f=d.o.a;CRb(a.g,a.f.c);e=d}else{LQb(a,"'=>' unexpected",ED(zD(PU,1),RFc,1,5,[]));e=b}return e}function Clb(a,b){var c,d;for(c=b.b;c;){d=c.e;if(c.k==(Pac(),w8b)){a.e=b;if(a.a.zg(a,c,b)){zlb(a,
c.b?c.b.g:null,c);a.e=b;a.a.Ag(a,c,b)}}else zlb(a,c,b);c=d}}function msb(a,b,c,d,e,f){var g;g=nsb(a,b);if(g)return new fjb(c,null,d,e,g,null,ED(zD(UU,1),FHc,2,6,[b]));return kjb(c,d,e,f,dsb,ED(zD(UU,1),FHc,2,6,[b]))}function zJb(){var a;if(vJb)return;a=NAc(sMc);vJb=yJb(LAc(a,"jsdoc.annotations"));wJb=yJb(LAc(a,"jsdoc.suppressions"));yJb(LAc(a,"compiler.reserved.vars"))}function zec(a,b,c,d){!!c.Gi()&&(c=Ujc(c.Gi(),a.A.p[45]));roc((d&&c.ri()&&!c.vi()&&!c.Ei()&&!c.Di()&&!c.Ci()&&!c.Gi()&&!mbc(c)&&(b.a+=
"!",b),c.$h(b,d)),"=")}function urc(a){var b,c,d;if(a.b!=a.c)return;d=a.a.length;c=Smc($wnd.Math.max(8,d))<<1;if(a.b!=0){b=SEc(a.a,c);trc(a,b,d);a.a=b;a.b=0}else WEc(a.a,c);a.c=d}function TD(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&XGc;a.m=d&XGc;a.h=e&YGc;return true}function xeb(a,b,c,d){var e,f;Feb(a,b,null);e=new ksc;asc(e,Teb(c,d));f=teb(a);!!f&&asc(e,Teb(f,d));Meb(a,ieb(a,d,"leaveTryBlock",jsc(e,BD(nT,KHc,7,0,0,1))))}function olb(a,
b,c){var d,e;a.g=b;wlb(a,q5b(b,53),(e=(d=q5b(b,51),!d?null:d.sg()),e||""));a.e=b;a.f=b;if(a.a.zg(a,b,c)){Alb(a,b);a.e=b;a.a.Ag(a,b,c)}a.g=null}function d4b(a){if((a.a.a&YJc)==aKc||(a.a.a&YJc)==LGc||(a.a.a&YJc)==yKc||(a.a.a&2)!=0||k2b(a.a)||(a.a.a&KKc)!=0)return false;a.a.a|=512;a.e=true;return true}function ABc(a,b,c,d,e,f,g){var h,i;if(b.xj()&&(i=a.a.jf(c,d),i<0||!e&&i==0))return false;if(b.yj()&&(h=a.a.jf(c,f),h>0||!g&&h==0))return false;return true}function kB(a,b,c,d){var e,f;while(true){f=((d-
c)/2|0)+c;e=a.a[f].Yf()-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 $Z(b){if(b.Th())try{b.Rh()}catch(a){a=BX(a);if(rE(a,34))u$("getString failed for"+b.k,b);else throw CX(a);}else WZ(b)&&b.Rh().length==0&&u$(tHc,b)}function B$(a,b){var c,d,e;c=new lsc;for(e=new EAc(a.d);e.a<e.c.b.a.length;){d=(e.b=e.a++,csc(e.c.b,e.b));d.b==b&&asc(c,d.a)}return jsc(c,BD(nM,zHc,61,0,0,1))}function z8(){z8=bY;x8=Ync("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ$");
y8=Ync("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_0123456789$")}function Gbb(a,b){var c,d,e;e=Q5b(b,b.i,85);e!=b.i&&(b.i=e);b.i=new U6b(85,1,b.i);for(d=(!b.b?(Jtc(),Jtc(),Itc):new h7b(b.b))._d();d.Od();){c=d.Pd();Gbb(a,c)}}function Dmb(a){Rlb();if(a.k==(Pac(),H9b))switch(a.f.k.f){case 100:case 88:case 78:return true;case 96:return a.f.b==a;case 65:return Emb(a.f)}return false}function anb(a){Rlb();var b,c,d;if(a.k==(Pac(),n8b)){b=a.b;if(b.k==d9b||b.k==c9b){c=b.b?b.b.g:null;if(!!c&&c.k==
rac){d=c.Rh();return Fnc(d,wJc)}}}return false}function C3b(a,b,c,d){var e,f;e=w1b(a.a);if(e){f=new l3b;Gd(b.charCodeAt(0)!=32&&Anc(b,b.length-1)!=32,wNc);f.d=b;f3b(f,c,d,c,d+b.length);e.a=f;a.e=true}a.b=e}function hjc(a,b,c){var d,e,f,g;g=c.zi().Fi();if(!g)return false;f=g.c;for(e=f._d();e.Od();){d=e.Pd();if(!!d.Ei()&&ijc(a,b,d.Ei()))return true}return false}function Pcc(a){var b,c,d;if(a.u){b=a.Mi();if(!b||b.Wi()){a.u=false;for(d=a.Li()._d();d.Od();){c=d.Pd();if(c.vi()){a.u=true;break}}}else a.u=
b.vi()}return a.u}function Sg(a,b){var c,d,e,f;f=a.ce();if(f<b.ce())for(c=a._d();c.Od();){d=c.Pd();b.Yd(d)&&c.Qd()}else for(e=b._d();e.Od();){d=e.Pd();a.ae(d)}return f!=a.ce()}function Eu(a){var b,c,d,e,f;if(br(a.f,a.b.length)){d=BD(qH,pGc,246,a.b.length*2,0,1);a.b=d;e=d.length-1;for(c=a.a;c!=a;c=c.Qf()){f=c;b=f.d&e;f.a=d[b];d[b]=f}}}function P1(a){var b,c,d;if(Umb(a))return a;d=new uoc;for(c=0;c<a.length;c++){b=a.charCodeAt(c);b>31&&b<127?(d.a+=String.fromCharCode(b),d):yC(d,b)}return d.a}function GX(a,
b){var c;if(KX(a)&&KX(b)){c=a/b;if(bHc<c&&c<_Gc)return c<0?$wnd.Math.ceil(c):$wnd.Math.floor(c)}return FX(KD(KX(a)?QX(a):a,KX(b)?QX(b):b,false))}function E8(){z8();var a;A8(this);a=(Gw(0),new ryc);this.f=a;this.d="";this.b=0;this.a=D8(this,x8);this.c=D8(this,y8);btc(this.a,null);btc(this.c,null);B8(this)}function zfb(a,b,c){var d,e;Sd(c.k==(Pac(),H9b));d=c.f;if(d.k==Q8b||d.k==R8b||d.k==j9b||d.k==k9b)return;e=yfb(a,klb(b),c);if(e!=null){S5b(c,snb(a.a,e));vlb(b)}}function wsb(a,b){vsb.call(this,b);
Nd(a);Gd(_lb(this.d),this.d);Kd(this.d!=a.d,"rootNode should not be the parent's root node: %s",this.d);this.b=a;this.a=a.a+1}function Zkc(a){var b,c;b=alc(a);if(b)return Km(),new Uy(Nd(b));c=$kc(a);if(!!c&&a.c)return Km(),new jy($m(ED(zD(PU,1),RFc,1,5,[c,a.i.p[45]])));return Sm(a.a)}function AY(a,b){var c,d,e;e=a;while(e){if(mnb(e.d)){d=ixc(e.c,b);!d&&kxc(e.c,b,d=new eyb(b.a,null,e,null));return d}c=BY(e,b.a);if(c)return c;e=e.b}return null}function oHb(a,b){var c,d,e;e=FFb(a.a,b.c);d=e.k==(Pac(),
V9b)||e.k==R7b?kFb(a.a,F8b,e):e;if(b.b){c=DFb(a.a,b.b);_4b(d,c);xFb(d,b.o.b,b.o.a)}gGb(a,d,b.a);return d}function YRb(a){if(a<=127)return a>=65&a<=90|a>=97&a<=122|a==95|a==36;return a==629||(Ulc==null&&(Ulc=new RegExp("[A-Z]","i")),Ulc.test(String.fromCharCode(a)))}function xtc(a,b){var c,d,e;Btc(b);c=b/31|0;d=a.a.length;if(c>=d)return-1;e=(a.a[c]|0)&EFc<<b%31;while(e==0){if(++c>=d)return-1;e=a.a[c]|0}return c*31+Wmc(e)}function Wv(a,b){var c,d;d=a.a.b.b.ce();if(b==null)for(c=0;c<d;c++){if(hn(a.b,
c)==null)return c}else for(c=0;c<d;c++)if(xb(b,hn(a.b,c)))return c;return-1}function a3(a){var b,c,d;b=a.b;if((K5b(b,vIc,vIc.length)||K5b(b,wIc,wIc.length))&&l5b(a)==3){c=b.e;d=c.e;if(D5b(c)&&D5b(d))return new W2((Z2(),c),d)}return null}function Eab(){Eab=bY;Dab=new D9("JSC_MISSING_ES6_EXTERNS",(O_(),L_),new Toc("Missing externs definition for Symbol. Did you forget to include the ES6 externs?"))}function w8(){w8=bY;v8=new D9("JSC_CONSTANT_REASSIGNED_VALUE_ERROR",(O_(),N_),new Toc("constant {0} assigned a value more than once.\nOriginal definition at {1}"))}
function pfb(a){var b,c;b=a.indexOf("://");if(b>-1){a=a.substr(b+3);c=Jnc(a,boc(47));c>-1&&(a=a.substr(c+1))}else Fnc(a.substr(0,1),"/")&&(a=a.substr(1));return a}function inb(a,b){var c,d,e;if(a.k==(Pac(),rac))return true;if(b.ig().Bd){e=a.c;if(e){d=b.kg().p[38];c=new Cfc(false);if(dbc(e,d,0,c))return true}}return false}function Izb(a,b,c){var d,e,f;f=a.g.Jh(c);uAb();if(Fnc(c.substr(0,2),MIc)||Fnc(c.substr(0,3),zLc)){e=b;d=e.lastIndexOf("/");f=nBb(e.substr(0,d+1)+(""+f))}return f}function WZb(a){FZb();
var b;if((a.length&1)!=0)throw CX(new Ejb);for(b=1;b<a.length;++b)if(a[b]<=a[b-1])throw CX(new Fjb(a[b]+" > "+a[b-1]));return new QZb(a)}function c4b(a){if(!((a.a.a&YJc)==aKc||(a.a.a&YJc)==LGc||(a.a.a&YJc)==yKc)&&!k2b(a.a)&&(a.a.a&2)==0){a.a.a|=512;a.a.a|=rJc;a.e=true;return true}else return false}function Nfc(a,b,c){var d,e,f,g;if(rE(c,49)&&c.Vi()){g=iAc(a.c,b,new sgc);f=c;g.Ie(f.Ri(),f)}else if(c.Gi())for(e=Sjc(c.Gi())._d();e.Od();){d=e.Pd();Nfc(a,b,d)}}function xo(a){lm();var b,c;if(!a.Od())return oy(),
ny;c=a.Pd();if(!a.Od())return new Xy(c);b=new $zc;nyc(b,Nd(c));do nyc(b,Nd(a.Pd()));while(a.Od());return Fo(b)}function WD(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 ayb(a,b,c){var d,e;d=new ohb;r3(a.b,d);Kpb(new Npb(a.b,true),null,c);if(kY(a.b.X)){Xnb(new Znb(a.b),b,c);if(a.b.X==1){e=new Eob(a.b);Dob(e,b,c)}}m4(a.b,d)}function _Ob(a){var b,c,d;d=sRb(a.g,0).b.b;c=cOb(a);b=null;if(qQb(a,
0,(jUb(),TSb))&&Fnc(sRb(a.g,0).a,"as")){gOb(a,"as");b=cOb(a)}return new hVb(new GYb(d,a.f),c,b)}function H0b(a,b,c,d){Sd(a.k==(Pac(),Jac)||a.k==z9b||a.k==x8b||a.k==J8b||V0b(a));Sd(b.k==J8b||V0b(b));Sd(c.k==J8b||V0b(c));Sd(d.k==k8b);return new v6b(V8b,a,b,c,d)}function D0b(a,b,c){if(a.k==(Pac(),H9b))Sd(!a.b);else{Sd(a.k==R7b||a.k==V9b);a=new r6b(F8b,a)}Xd(V0b(b),"%s can't be an expression",b);_4b(a,b);return new r6b(c,a)}function Rp(a){var b,c,d;d=a.b;if(br(a.i,d.length)){c=d.length*2;a.b=BD(rG,pGc,
149,c,0,1);a.c=BD(rG,pGc,149,c,0,1);a.f=c-1;a.i=0;for(b=a.a;b;b=b.c)Np(a,b,b);++a.g}}function B2(a,b){var c,d;if(a.n==0)for(c=0;c<a.a;c++){roc(a.i,"  ");a.n+=2}roc(a.i,b);a.n+=b.length;d=Yb(new lc(10),b);if(d>0){a.k+=d;a.n=b.length-Lnc(b,boc(10))}}function y4(a,b,c){var d,e;d=new h2(b);g2(d,(!a.T&&(a.T=new mgc),a.T));d2(d,a.J);f2(d,(e=q5b(b,51),!(!!e&&e.Eh())&&a.J.Bb==(X6(),U6)));e2(d,c&&o6(a.J));return c2(d)}function fdb(){fdb=bY;new D9("JSC_UNEXPECTED_DESTRUCTURING_REST_PARAMETER",(O_(),L_),new Toc("Es6RewriteDestructuring not expecting object pattern rest parameter"))}
function Rgb(a,b,c){var d;if(c){d=b.f;if(anb(d)&&b==d.b&&b.b.k==(Pac(),H9b)&&Ugb(a,b.b.Rh()))return false;return Vlb(b,a.c,a.e)}else return Rlb(),Wlb(b,false,a.b)}function AQb(a,b){var c;c=sRb(a.g,0).c;if((jUb(),TSb)==c||a.b.d&&NNb(c)||!a.b.c&&MNb(c)||rQb(a,LTb))return true;if(b!=2)return rQb(a,qTb)||rQb(a,oTb);return false}function L0b(a,b,c){var d,e,f,g,h;Sd(V0b(a));Sd(b.k==(Pac(),rac));h=new t6b(d9b,a,b);for(e=c,f=0,g=e.length;f<g;++f){d=e[f];Sd(d.k==rac);h=new t6b(d9b,h,d)}return h}function M0b(a,
b,c){var d,e,f,g,h;Sd(V0b(a));h=new t6b((Pac(),d9b),a,new s7b(rac,b));for(e=c,f=0,g=e.length;f<g;++f){d=e[f];h=new t6b(d9b,h,new s7b(rac,d))}return h}function Kcc(a){var b,c,d,e;c=a.Ri();if(c!=null){e=Jnc(c,boc(40));if(e!=-1){b=Lnc(c,boc(41));d=c.substr(0,e);return b+1%c.length==0?d:d+(""+c.substr(b+1))}}return c}function Bmb(a){Rlb();switch(a.k.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 unb(a,b){if(a.k==
(Pac(),V9b)||a.k==R7b){Nd(b);return l6b(E0b(l6b(new t6b(F8b,a,b),a),Jac),a)}else{Sd(a.k==H9b&&!a.b);!!b&&_4b(a,b);return l6b(E0b(a,Jac),a)}}function FFb(a,b){var c,d,e;c=_Eb(a,b.o);d=nGb(a.t,b);!!c&&(e=Q5b(d,d.i,29),e!=d.i&&(d.i=e),!!c&&(d.i=new c7b(29,c,d.i)),d);y6b(d.j)==-1&&AFb(d,b.o.b,b.o.a);return d}function aGb(a,b){var c,d;if(b.a.p==(WXb(),vWb)){c=b.a.a;d=mt(c);d.p==xXb&&a.a.d.uh("A rest parameter must be in a parameter list.",a.a.q,(XEb(),d.o.b.b+1),d.o.b.a)}}function R3b(a){if((a.a.a&YJc)==
aKc||(a.a.a&YJc)==LGc||(a.a.a&YJc)==yKc||(a.a.a&$Jc)!=0||(a.a.a&$Gc)!=0||(a.a.a&ZJc)!=0)return false;a.a.a|=$Jc;a.e=true;return true}function A4b(a){if((a.a.a&YJc)==aKc||(a.a.a&YJc)==LGc||(a.a.a&YJc)==yKc||(a.a.a&$Jc)!=0||(a.a.a&$Gc)!=0||(a.a.a&ZJc)!=0)return false;a.a.a|=$Gc;a.e=true;return true}function J3(a){var b,c,d,e;e=new qyc;if(a.A)for(d=e5b(a.A)._d();d.Od();){c=d.Pd();n5b(c,93)!=0&&nyc(e,L3(a,(b=q5b(c,51),!b?null:b.sg())))}return F3(a),Q3(a),new Mqb}function glb(a){var b,c;c=(mBb(),pBb((b=
Qnc(Qnc(Qnc(Qnc(Qnc(Pnc(Pnc(a,58,45),92,47)," ",LJc),"[","%5B"),"]","%5D"),"<","%3C"),">","%3E"),nBb(b))));return new flb(c,c)}function g5b(a,b){var c,d,e,f,g;g=a.Ph(b);c=null;d=null;if(a.b){for(e=a.b;e;e=e.e){f=g5b(e,b);f.f=g;if(!c){c=f;d=c}else{d.e=f;f.g=d;d=f}}c.g=d;d.e=null;g.b=c}return g}function Mcc(a,b){var c;c=a.Si(b);if(!c){if(a.mi()||a.ii())return a.A.p[5];else if(a.ni()||a.li()||a.mi()||a==a.A.p[57])return a.A.p[51];return a.A.p[44]}return c.e}function igc(a,b,c){var d,e,f;d=false;for(f=
b.t.b.ve()._d();f.Od();){e=f.Pd();if((c==c.A.p[57]||Pcc(c)||!!jic(c.t,e)?1:0)==0){d=true;nyc(a.b,e)}}d&&Pc(a.s,c.t.b.ve())}function Ld(a,b,c,d){if(!a)throw CX(new Fjb(bf("Cannot add already-owned child node.\nChild: %s\nExisting parent: %s\nNew parent: %s",ED(zD(PU,1),RFc,1,5,[b,c,d]))));}function dB(a,b){var c;if(b._f()==-1)return null;else{c=CC(EC(FC(new GC,a.e[b._f()]),b.ag()+1),b.$f()+1);b.Zf()!=-1&&DC(c,a.d[b.Zf()]);return new AC(c.d,c.c,c.a,c.b)}}function _bb(a,b,c){var d,e;while(!!b.b&&!!b.b.e){d=
b.b?b.b.g:null;e=l6b(E0b(i5b(d),(Pac(),Jac)),b);ecb(b,c,d,e);Z4b(c,e,b);p4(a.a,c)}ecb(b,c,b.b,b);f6b(b,(Pac(),Jac))}function ehb(a,b,c){var d,e;if(nfb(b))return true;if(!c){d=new mhb;Glb(a.a,b,d);if(d.a)return false}e=l6b(new p6b((Pac(),F9b)),b);c5b(e,O5b(b));_4b(b,e);return true}function kzb(a){var b;b="";a.b==null&&(b+=" symbol");a.a==null&&(b+=" rawText");!a.c&&(b+=" type");if(b.length!=0)throw CX(new Kmc(yLc+b));return new gzb(a.b,a.a,a.c)}function ZQb(){ZQb=bY;TQb=new $Qb("ES3",0);UQb=new $Qb("ES5",
1);VQb=new $Qb("ES6_OR_ES7",2);WQb=new $Qb("ES8_OR_GREATER",3);XQb=new $Qb("ES_NEXT",4);YQb=new $Qb(VLc,5)}function XRb(a){if(a<=127)return a>=65&a<=90|a>=97&a<=122|a>=48&a<=57|a==95|a==36;return YRb(a)||(Slc==null&&(Slc=new RegExp("\\d")),Slc.test(String.fromCharCode(a)))}function YX(b,c,d,e){XX();var f=VX;$moduleName=c;$moduleBase=d;AX=e;function g(){for(var a=0;a<f.length;a++)f[a]()}if(b)try{yFc(g)()}catch(a){b(c,a)}else yFc(g)()}function mD(a){var b,c,d,e;b="lD";c="PA";e=$wnd.Math.min(a.length,
5);for(d=e-1;d>=0;d--)if(Fnc(a[d].d,b)||Fnc(a[d].d,c)){a.length>=d+1&&a.splice(0,d+1);break}return a}function sGb(a,b){if(eFb(a.a,b.c.o)){(b.b.c==(jUb(),OTb)||b.b.c==PTb)&&hFb(a.a,b,(AMb(),RLb));return lFb(a.a,WFb(b.b.c),DFb(a.a,b.a),DFb(a.a,b.c))}else return tGb(a,b)}function hg(a,b,c){var d,e,f;for(e=a.Ge()._d();e.Od();){d=e.Pd();f=d.Ve();if(wE(b)===wE(f)||b!=null&&xb(b,f)){if(c){d=new yqc(d.Ve(),d.We());e.Qd()}return d}}return null}function AZ(a,b){var c,d,e;VZ((Pac(),d9b),b);d=Rac(b.k);d!=-1&&
(c=l5b(b),d!=c&&u$(nHc+d+oHc+c,b));wZ(a,b.b);e=b.b?b.b.g:null;VZ(rac,e);WZ(e)&&e.Rh().length==0&&u$(tHc,e)}function lGb(a,b,c){a.a.a.c!=(EEb(),DEb)&&a.a.d.vh("type syntax is only supported in ES6 typed mode: "+c,a.a.q,(XEb(),b.o.b.b+1),b.o.b.a);a.a.e=kLb(a.a.e,c);vFb(a.a,b.o)}function TOb(a,b){var c,d,e,f;f=sRb(a.g,0).b.b;c=zPb(a,b);if(rQb(a,(jUb(),DTb))){aOb(a,DTb);d=COb(a,b);aOb(a,wSb);e=COb(a,b);return new $Ub(new GYb(f,a.f),c,d,e)}return c}function B1b(a,b){!a.d&&(a.d=new $2b);if(r2b(a,b)||(a.a&
YJc)==LGc)return false;if(!a.d.q)a.d.q=new ksc;else if(dsc(a.d.q,b,0)!=-1)return false;asc(a.d.q,b);return true}function fic(a,b,c){var d,e,f,g;if(!c.Vd(a))return;b.Wd(a.b.ve());g=hic(a);!!g&&fic(g,b,c);for(e=It(new $uc(iic(a).a.b._d()));e.Od();){d=e.Pd();f=d.Pi();!!f&&fic(f,b,c)}}function vtc(a){var b,c,d,e;d=Etc(a.a);b=-2128831035^d;for(c=0;c<=d;c++){e=a.a[c]|0;b=b*TNc&-1^e&255;b=b*TNc&-1^e>>>8&255;b=b*TNc&-1^e>>>16&255;b=b*TNc&-1^e>>>24}return b}function jg(a){var b,c,d;d=new uBc(NFc,"{","}");
for(c=a.Ge()._d();c.Od();){b=c.Pd();sBc(d,kg(a,b.Ve())+"="+kg(a,b.We()))}return!d.a?d.c:d.e.length==0?d.a.a:d.a.a+(""+d.e)}function Bt(a,b){var c,d;xt(b);d=wt(a,b);if(!a.a.Od())throw CX(new Ilc(DGc+b+") must be less than the number of elements that remained ("+d+")"));return c=a.a.Pd(),c.Ve()}function q2(a){var b;if(a.n>a.o)if(a.d>a.b&&a.d<a.b+a.n){b=a.d;toc(a.i,b,String.fromCharCode(10));a.e=b;j2(a,a.k,b-a.b,true);++a.k;a.n-=b-a.b;a.f=a.b;a.b=b+1}else r2(a)}function Scb(a,b,c){var d,e;d=n5b(a,58)!=
0?b:c;d=o6b(g5b(d,false),a);H5b(d);if(a.k==(Pac(),w8b))return l6b(J0b(d,P5b(a)),a);else{e=a.b.b;return m6b(K0b(d,i1b(a.Rh())),e)}}function Ulb(a){var b,c,d,e;c=a.b;e=new uoc;for(d=c;d;d=d.e){b=d.k==(Pac(),Q9b)||knb(d)||d.k==J8b?"":xmb(d);if(b==null)return null;d!=c&&(e.a+=",",e);e.a+=""+b}return e.a}function pGb(a,b){var c,d,e,f;hFb(a.a,b,(AMb(),OLb));f=jFb(a.a,(Pac(),R7b));for(d=b.a._d();d.Od();){c=d.Pd();c.p==(WXb(),IWb)?e=zGb(a,c):e=FFb(a.a,c);_4b(f,e)}return f}function Xlc(a,b){if(b<2||b>36)return-1;
if(a>=48&&a<48+$wnd.Math.min(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 vY(){vY=bY;rY=new wY(cHc,0,"\u001b[31m");uY=new wY(dHc,1,"\u001b[35m");sY=new wY("NO_COLOR",2,"\u001b[39m");qY=new wY("BOLD",3,"\u001b[1m");tY=new wY("UNBOLD",4,"\u001b[0m")}function hZ(a,b){var c,d,e;VZ((Pac(),r8b),b);e=Rac(b.k);e!=-1&&(d=l5b(b),e!=d&&u$(nHc+e+oHc+d,b));c=b.b;c.k==H9b?OZ(c):c.k==R7b?dZ(a,r8b,c):_Z(a,r8b,c);fZ(a,b.b?b.b.g:null)}function $eb(a,b){var c,
d;c=l6b(ueb(a.c.r.a,"$jscomp$generator$arguments"),b);R5b(b.f,b,c);if(!a.c.b){d=l6b(D0b(c.Ph(false),b,(Pac(),Jac)),a.c.r.c);Ndb(a.c.r,d);a.c.b=true}}function wOb(a){var b,c,d;b=nQb(a,0);for(d=b.b._d();d.Od();){c=d.Pd();!!c.b&&LQb(a,"Ambient variable declaration may not have initializer",ED(zD(PU,1),RFc,1,5,[]))}return b}function H3(a){var b;if(!a.D||nt(kt(ot(new ltc(a.D.a),new Jjb))))throw CX(new Kmc("No inputs"));b=Dt(new cu(Ht(st(kt(ot(new ltc(a.D.a),new Jjb)).a),new pt)));return w5(b,a)}function cOb(a){var b;
b=oOb(a);if(b.c==(jUb(),TSb))return b;else{GNb();if(INb(b.c))return new HMb(b.b,INb(b.c).c);else JQb(a,b,aNc,ED(zD(PU,1),RFc,1,5,[TSb]))}return null}function LRb(a){nRb(a);if(ZRb(mRb(a,a.f)?Anc(a.b,a.f):0)){uRb(a,"New line not allowed in regular expression literal",ED(zD(PU,1),RFc,1,5,[]));return false}nRb(a);return true}function Xyc(){function b(){try{return(new Map).entries().next().done}catch(a){return false}}if(typeof Map===CFc&&Map.prototype.entries&&b())return Map;else return Yyc()}function TY(a){var b,
c;for(b=a.c;b;b=b.f)if(RY.Yd(b.k))return b.k;Zd((c=MY(a.b),!!c&&mnb(a.d.d)),"The nameNode for %s must be a descendant of one of: %s",a,RY);return null}function oZ(a,b){var c;xZ(a,(AMb(),KLb),b);VZ((Pac(),w8b),b);wZ(a,b.b);if(n5b(b,75)!=0){c=l5b(b);1!=c&&u$(rHc+c,b)}else{c=l5b(b);2!=c&&u$(mHc+c,b);yZ(a,b.b?b.b.g:null,false)}}function v4(a,b){var c,d,e;d="INTERNAL COMPILER ERROR.\nPlease report this problem.\n\n"+a;c=new JC(d,b);!!b&&HA(c,(b.i==null&&(b.i=(kD(),e=jD.eg(b),mD(e))),b.i));throw CX(c);
}function JGb(a,b){var c,d,e,f,g;f=jFb(a.a,(Pac(),b9b));for(e=new Vzc(new Mzc(b.a));e.b!=e.c.a.b;){d=Tzc(e);g=oFb(a.a,a9b,d.d.a);c=d.e;!!c&&_4b(g,DFb(a.a,c));_4b(f,g)}return f}function b5b(a,b,c){var d,e,f;if(!b)return;Fd(!c||c.f==a);Od(b.g,b);if(!c){d5b(a,b);return}for(d=b;d;d=d.e){Fd(!d.f);d.f=a}e=b.g;f=c.e;e.e=f;!f?a.b.g=e:f.g=e;c.e=b;b.g=c}function Wb(a){var b,c,d,e;e=a.length;for(d=0;d<e;d++)if(Vb(a.charCodeAt(d))){c=Ync(a);for(;d<e;d++){b=c[d];b>=65&&b<=90&&(c[d]=(b^32)&IFc)}return ioc(c,0,
c.length)}return a}function Xb(a){var b,c,d,e;e=a.length;for(d=0;d<e;d++)if(Ub(a.charCodeAt(d))){c=Ync(a);for(;d<e;d++){b=c[d];b>=97&&b<=122&&(c[d]=(b^32)&IFc)}return ioc(c,0,c.length)}return a}function Us(a,b){Ps();var c,d;Nd(a);if(!b.Od())return Nd(a),Os==a?Ns:new qy(new QCc(a));c=new QCc(a);while(b.Od()){d=b.Pd();Nd(d);c.a.Ie(d,(Qlc(),Olc))==null}return new qy(c)}function rnb(a,b){var c,d;c=(Xd(Jnc(b,boc(46))==-1,JHc,b),new s7b((Pac(),H9b),b));Z5b(c,b.length);B3(a).Dg(b)&&(d=Q5b(c,c.i,43),d!=c.i&&
(c.i=d),c.i=new U6b(43,1,c.i));return c}function Vzb(){Vzb=bY;Uzb=new D9("JSC_TRANSFORMED_PATH_IS_AMBIGUOUS",(O_(),L_),new Toc('Replacing "{0}" with "{1}" in the import path "{2}" is an ambiguous address ("{3}").'))}function DFb(a,b){var c,d,e;c=cFb(a,b);d=nGb(a.t,b);if(c){d=fFb(a,b,c,d);e=Q5b(d,d.i,29);e!=d.i&&(d.i=e);!!c&&(d.i=new c7b(29,c,d.i))}y6b(d.j)==-1&&AFb(d,b.o.b,b.o.a);return d}function QGb(a,b){var c,d,e;c=_Eb(a.a,b.b);kGb(a,b);d=oFb(a.a,(Pac(),H9b),b.a);!!c&&(e=Q5b(d,d.i,29),e!=d.i&&
(d.i=e),!!c&&(d.i=new c7b(29,c,d.i)),d);AFb(d,b.b.b,b.b.a);return d}function K4b(a){if((a.a.a&YJc)==aKc||(a.a.a&YJc)==LGc||(a.a.a&YJc)==yKc||k2b(a.a)||(a.a.a&$Jc)!=0||(a.a.a&$Gc)!=0||(a.a.a&ZJc)!=0)return false;a.a.a|=ZJc;a.e=true;return true}function cjc(a,b){var c,d,e;e=(Km(),new tr);sr(e,a.d.vf(0,a.e.ce()));for(c=a.e.ce();c<a.d.ce();c++){d=a.d.ge(c);!!d&&Guc(b.b,d)||(asc(e.a,Nd(d)),e)}return Zfc(a.b,Sm(e.a),a.e)}function Zab(a){Vab();this.c=a;this.a=false;this.e=(!a.T&&(a.T=new mgc),a.T);this.g=
Bgb(this.a,this.e,44);this.f=Bgb(this.a,this.e,38);this.b=Bgb(this.a,this.e,2);this.d=new E8}function afb(a,b){var c,d;c=Dgb(ueb(a.c.r.a,"$jscomp$generator$this"),b.c);R5b(b.f,b,c);if(!a.c.s){d=l6b(D0b(l6b(c.Ph(false),b),b,(Pac(),Jac)),a.c.r.c);Ndb(a.c.r,d);a.c.s=true}}function Tob(a,b){var c,d;Rob(a);if(a.D==(S7(),R7))return;b.c=a.q=a.b=Zlb(a.u);if(!(a.D==Q7||a.D==N7))return;c=cpb((d=a.u,a.D==N7,d));b.o=a.r=a.e=c.b;a.D==N7&&(b.g=a.s=a.o=0)}function aPb(a){var b,c;b=(Km(),new tr);aOb(a,(jUb(),oTb));
while(c=sRb(a.g,0).c,TSb==c||(GNb(),GNb(),!!Zn(hNb,c))){rr(b,_Ob(a));rQb(a,tSb)||aOb(a,xSb)}aOb(a,tSb);return Sm(b.a)}function rPb(a){var b,c;b=(Km(),new tr);aOb(a,(jUb(),oTb));while(c=sRb(a.g,0).c,TSb==c||(GNb(),GNb(),!!Zn(hNb,c))){rr(b,qPb(a));rQb(a,tSb)||aOb(a,xSb)}aOb(a,tSb);return Sm(b.a)}function _m(a,b,c,d,e,f,g,h,i,j,k,l,m){Km();var n;n=BD(PU,RFc,1,12+m.length,5,1);Om(n,ED(zD(PU,1),RFc,1,5,[a,b,c,d,e,f,g,h,i,j,k,l]));zoc(m,0,n,12,m.length);return new jy($m(n))}function PB(a){var b,c,d,e,f;
dC(new fC(a),new gC);c=0;f=0;for(e=new Bsc(a.e);e.a<e.c.a.length;){d=(e.b=e.a++,e.c.a[e.b]);if(d.f){++c;b=d.a.b;f=$wnd.Math.max(f,b)}}return f+a.i.b}function vfb(a,b){var c,d;c=b;while(c.k!=(Pac(),j9b))c=c.f;d=wfb(a,c);if(b.f.k==k9b)return d+"."+b.f.b.Rh();else if(b.k==m9b)return d;else{Sd(b.f.k==j9b);return d+".default"}}function Xqb(a,b){Uqb(this);this.b=b;b.k==(Pac(),Z8b)&&n5b(b,61)!=0?b.k==Z8b&&n5b(b,60)!=0?this.a=!a.a?this:a.a:this.a=this:b.k==Z8b&&n5b(b,60)!=0?this.a=a.a:this.a=null}function AHb(){AHb=
bY;yHb=(lm(),zo(ED(zD(PU,1),RFc,1,5,[jHc,fHc])));xHb=zo(ED(zD(PU,1),RFc,1,5,[bMc,cMc,"stable","mapped","xid"]));zHb=zo(ED(zD(PU,1),RFc,1,5,[BFc,DFc,AFc,ELc]))}function tQb(a){switch(sRb(a.g,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 O_b(a,b){if(b==EFc)switch(a){case 0:case 1:return 1;default:return 3+N_b(a)}if(a==0&&b==1)return 1;if(a==b){if(a==1)return 0;return 2+N_b(a)}return 3+N_b(a)+
N_b(b)}function r5b(a){var b,c;switch(a.k.f){case 29:c=a.Rh();return c.length==0?null:c;case 26:b=s5b(a,0);return b?b.a:null;case 33:return jHc;case 99:return hHc;default:return null}}function ctc(a){var b,c,d,e,f;if(a==null)return OFc;f=new uBc(NFc,"[","]");for(c=a,d=0,e=c.length;d<e;++d){b=c[d];sBc(f,""+b)}return!f.a?f.c:f.e.length==0?f.a.a:f.a.a+(""+f.e)}function itc(a){var b,c,d,e,f;if(a==null)return OFc;f=new uBc(NFc,"[","]");for(c=a,d=0,e=c.length;d<e;++d){b=c[d];sBc(f,""+b)}return!f.a?f.c:
f.e.length==0?f.a.a:f.a.a+(""+f.e)}function sy(b,c){var d;if(wE(b)===wE(c))return true;if(rE(c,39)){d=c;try{return b.ce()==d.ce()&&b.Zd(d)}catch(a){a=BX(a);if(rE(a,50))return false;else throw CX(a);}}return false}function e$(a,b,c){var d,e;VZ((Pac(),gac),c);e=Rac(c.k);e!=-1&&(d=l5b(c),e!=d&&u$(nHc+e+oHc+d,c));JZ(a,b,c.b);!!c.e&&u$("Rest parameters must come after all other parameters.",c)}function u1(a,b,c,d){var e;if(d.b&&b.k==(Pac(),n9b)||(Rlb(),jnb(b.k)&&(e=b.f,!!e&&e.k==(Pac(),P8b)&&e.b==b)||
F1(a,b)<c)){P0(a.c,"(");a.bh(b,(Z1(),U1));P0(a.c,")")}else a.bh(b,d)}function lab(a){var b,c,d,e;b=r5b(omb(a));c=Nd((Rlb(),gmb(a,new Hnb)));for(d=c.e;d;d=d.e){e=kab(d,b);if(e!=null)return e}throw CX(new Kmc("$jscomp.inherits() call not found."));}function Slb(a,b){Rlb();var c,d,e;Td(a.k==(Pac(),lac),a);c=(Td(a.k==lac,a),q5b(a,89));d=c?kLb(c,b):kLb((eLb(),SKb),b);e=Q5b(a,a.i,89);e!=a.i&&(a.i=e);!!d&&(a.i=new c7b(89,d,a.i))}function s0b(a,b,c){var d,e;Sd(a.k==(Pac(),H9b));Sd(b.k==Z9b);Sd(c.k==k8b||
V0b(c));d=new u6b(Z8b,a,b,c);Sd(d.k==Z8b);e=Q5b(d,d.i,60);e!=d.i&&(d.i=e);d.i=new U6b(60,1,d.i);return d}function EFb(a,b){var c,d,e;c=DFb(a,b);if(c.k!=(Pac(),k8b)){if(c.k==J8b)f6b(c,k8b);else{d=kFb(a,k8b,c);BFb(d,c);c=d}e=Q5b(c,c.i,39);e!=c.i&&(c.i=e);c.i=new U6b(39,1,c.i)}return c}function Ti(a,b,c){var d,e,f,g;if(c==0)return e=Lw(a.a,b),!e?0:e.a;Id(c>0,jGc,c);d=Zoc(a.a,b);if(!d)return 0;g=d.a;if(g>c)f=c;else{f=g;cpc(a.a,b)}d.a+=-f;a.b=PX(a.b,f);return g}function pVb(a){rUb.call(this,(WXb(),VWb),
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=Nd(a.j);this.b=Nd(a.b);this.n=a.o;this.c=Nd(a.c);this.e=a.e}function N5b(a,b){var c,d,e;Zd(b.f==a,BNc,a,b);Nd(b.g);c=a.b.g;e=b.g;d=b.e;if(a.b==b){a.b=d;!!d&&(d.g=c)}else if(b==c){a.b.g=e;e.e=null}else{e.e=d;d.g=e}b.e=null;b.g=null;b.f=null}function Hec(a){var b,c,d,e,f;b=0;c=0;for(e=(f=a.b.a,f?!f.b?(Jtc(),Jtc(),Itc):new h7b(f.b):(Jtc(),Jtc(),Itc))._d();e.Od();){d=e.Pd();++b;n5b(d,37)==0&&n5b(d,30)==0&&(c=b)}return c}function kAb(){kAb=
bY;iAb=new lAb("GOOG_REQUIRE_SYMBOL",0);hAb=new lAb("ES6_IMPORT",1);jAb=new lAb("PARSED_FROM_DEPS",2);fAb=new lAb("COMMON_JS",3);gAb=new lAb("COMPILER_MODULE",4)}function b1b(a){var b,c,d,e,f;b=new p6b((Pac(),U9b));for(d=a,e=0,f=d.length;e<f;++e){c=d[e];Sd(c.k==sac||c.k==C9b||c.k==e9b||c.k==mac);c.k==sac||Sd(!!c.b&&!c.b.e);_4b(b,c)}return b}function XZ(b){var c,d;VZ((Pac(),S9b),b);d=Rac(b.k);d!=-1&&(c=l5b(b),d!=c&&u$(nHc+d+oHc+c,b));try{b.Qh()}catch(a){a=BX(a);if(rE(a,34))u$("Invalid NUMBER node.",
b);else throw CX(a);}}function k$(b){var c,d;VZ((Pac(),rac),b);d=Rac(b.k);d!=-1&&(c=l5b(b),d!=c&&u$(nHc+d+oHc+c,b));try{b.Rh()}catch(a){a=BX(a);if(rE(a,34))u$("Invalid STRING node.",b);else throw CX(a);}}function l$(a,b){var c,d;VZ((Pac(),wac),b);MZ(b);wZ(a,b.b);d=0;for(c=b.b.e;c;c=c.e){m$(a,b.b?b.b.g:null);c.k==C8b&&++d}d>1&&u$("Expected at most 1 'default' in switch but was "+d,b)}function A3(a){var b;if(a.k==(Pac(),lac))return a;b=fmb(a.f);if(!b)throw CX(new Kmc("An enclosing scope is required for change reports but node "+
a+" doesn't have one."));return b}function h8(a,b){var c,d,e,f;for(f=(d=(new $qc(a.c.a)).a.Ge().b.rj(),new frc(d));f.a.Od();){e=(c=f.a.Pd(),c.Ve());if(e.oh(b))return true;else if(e.nh(b))return false}return false}function tdb(a,b){var c,d;d=(Xd(Jnc(KJc,boc(46))==-1,JHc,KJc),new s7b((Pac(),H9b),KJc));c=Q5b(d,d.i,85);c!=d.i&&(d.i=c);d.i=new U6b(85,1,d.i);return N0b(v0b(nac,a,d),b,g5b(a,false))}function $qb(){$qb=bY;Zqb=nLb((eLb(),SKb),ED(zD(ZP,1),XFc,28,0,[(AMb(),DLb),TLb]));Yqb=new D9("JSC_CANNOT_CONVERT_ASYNCGEN",
(O_(),L_),new Toc("Cannot convert async generator. {0}"))}function PJb(a,b){var c;b.k==(Pac(),P9b)?c=OJb(a,b.b):c=OJb(a,b.b)&&OJb(a,b.b.e);if(!c){a.a.vh(dMc+F7b(xMc,ED(zD(PU,1),RFc,1,5,[AFc])),a.b.sg(),a.d,a.c);return false}return true}function rAc(a,b){var c,d;lFc(b);d=a.b.a.length;asc(a.b,b);while(d>0){c=d;d=(d-1)/2|0;if(I$(csc(a.b,d),b)<=0){gsc(a.b,c,b);return true}gsc(a.b,c,csc(a.b,d))}gsc(a.b,d,b);return true}function acb(a){var b,c,d,e;if(a.b.a.ce()!=0)for(d=(e=(new Ypc(a.b.a)).a.Ge()._d(),
new cqc(e));d.a.Od();){c=(b=d.a.Pd(),b.Ve());c.k==(Pac(),x8b)&&_bb(a,c,c.f);f6b(c,Jac);p4(a.a,c)}}function beb(a,b){var c;Sd(n5b(b,66)==0);if(b.k==(Pac(),Z8b)){c=b.b.Rh();Sd(c.length!=0&&!Fnc(c.substr(0,26),eKc));$4b(a.c,b,o5b(a.c));return}Keb(a.a,b.k==k8b||n5b(b,39)!=0?b:w0b(b))}function Zmb(a){Rlb();var b;if(a.k==(Pac(),Z8b)){b=a.f;switch(b.k.f){case 86:case 87:case 98:return true;case 115:return(b.b?b.b.g:null)==a;default:return false}}else return false}function TRb(a){while(mRb(a,a.f))switch(mRb(a,
a.f)?Anc(a.b,a.f):0){case 96:return;case 92:SRb(a,true);break;case 36:if((mRb(a,a.f+1)?Anc(a.b,a.f+1):0)==123)return;default:nRb(a)}}function M2b(a,b,c){if((a.a&YJc)!=0)throw CX(new Kmc("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 G3b(a){if(!((a.a.a&YJc)==aKc||(a.a.a&YJc)==LGc||(a.a.a&YJc)==yKc)&&!k2b(a.a)&&(a.a.a&KKc)==0&&(a.a.a&32)==0&&a.a.j!=(t3b(),q3b)){a.a.a|=KKc;a.e=true;return true}return false}function Mn(a){zn();
var b,c,d;d=a.a.length;switch(d){case 0:return yn;case 1:b=Et(new Bsc(a));return Rn(b.Ve(),b.We());default:c=jsc(a,BD(wW,pGc,54,a.a.length,0,1));return new my(c)}}function Wob(a,b,c){this.d=new Gqb;this.f=new Hrc;this.w=new ksc;Gd(c!=(S7(),P7),"PerformanceTracker can't work without tracer data.");this.H=IX(Date.now());this.n=a;this.u=b;this.D=c}function zGb(a,b){var c,d,e;hFb(a.a,b,(AMb(),NLb));e=b.b;e.p==(WXb(),ZWb)?d=QGb(a,e.a):d=FFb(a.a,e);c=lFb(a.a,(Pac(),D8b),d,DFb(a.a,b.a));y6b(c.j)==-1&&AFb(c,
b.o.b,b.o.a);return c}function BZb(a){AZb();var b,c,d,e;b=MZb(a,yZb);if(b.a.length==0)return a;e=(FZb(),EZb);for(d=It(new $uc(zZb.a.b._d()));d.Od();){c=d.Pd();e=PZb(e,NZb(MZb(b,c.a),-c.b))}return PZb(a,e)}function Onc(a,b,c,d,e,f){var g,h;if(c<0||e<0)return false;if(c+f>a.length||e+f>d.length)return false;if(f<=0)return true;g=a.substr(c,f);h=d.substr(e,f);return b?Gnc(g,h):Fnc(g,h)}function n$(a,b){var c,d,e;xZ(a,(AMb(),vMb),b);VZ((Pac(),yac),b);for(c=b.b;c;c=c.e)c.k==rac?k$(c):(VZ(zac,c),d=Rac(c.k),
d!=-1&&(e=l5b(c),d!=e&&u$(nHc+d+oHc+e,c)),wZ(a,c.b),undefined)}function Elb(b,c,d){var e,f;try{e=c.f;Nd(e);plb(b,e);b.e=e;slb(b,e);zlb(b,c,e);Sd(d.f==e);zlb(b,d,e);rlb(b,false)}catch(a){a=BX(a);if(rE(a,83)||rE(a,44)){f=a;xlb(b,f)}else throw CX(a);}}function Fmb(a,b){Rlb();var c;c=b.f;if(c.k==(Pac(),d9b)&&b==(c.b?c.b.g:null))return a.Eg(b.Rh());else if(bnb(b))return a.Eg(b.Rh());else if(b.k==H9b)return a.Dg(b.Rh());return false}function Hmb(a){Rlb();switch(a.k.f){case 72:case 73:case 101:case 102:case 71:case 70:case 77:case 66:case 83:case 44:case 78:case 67:case 68:case 69:return true;
default:return false}}function Sob(a,b){var c,d,e;e=Zlb(a.u);b.b=a.b-e;a.b=b.c=e;if(!(a.D==(S7(),Q7)||a.D==N7))return;c=cpb((d=a.u,a.D==N7,d));e=c.b;b.e=a.e-e;a.e=b.o=e;if(a.D==N7){e=0;b.f=a.o-e;a.o=b.g=e}}function Frb(a,b,c){var d,e,f,g,h;h=b.b;while(!!h&&h!=c){g=h.e;Rlb();if(h.k==(Pac(),T8b)&&h.b.k==n8b){d=h.b;e=d.b;if(K5b(e,hLc,hLc.length)){f=xLb(e.e.e.e.Rh());Erb(a,f)&&Anb(b,h)}}h=g}}function yAb(a,b,c,d,e){uAb();Nd(a);Nd(b);Nd(d);Nd(e);this.f=d;this.e=e;this.a=new PAb;this.d=zAb(a,e);this.b=
BAb(ot(ot(b,new CAb),d),this.d,e);this.c=c.Hh(this.b,this.d,this.a,this.e)}function oPb(a){var b,c,d,e;e=sRb(a.g,0).b.b;aOb(a,(jUb(),USb));aOb(a,pTb);b=pOb(a,1);aOb(a,uSb);d=$Pb(a);c=null;if(rQb(a,FSb)){aOb(a,FSb);c=$Pb(a)}return new NVb(new GYb(e,a.f),b,d,c)}function iPb(a){var b,c,d;d=sRb(a.g,0).b.b;aOb(a,(GNb(),_Mb).b);c=!!eOb(a,(jUb(),MTb));b=xVb(new BVb((GVb(),DVb)),bOb(a));jPb(a,b,c?(eRb(),cRb):(eRb(),dRb));return qVb(b,new GYb(d,a.f))}function boc(a){var b,c;if(a>=OGc){b=55296+(a-OGc>>10&QGc)&
IFc;c=56320+(a-OGc&QGc)&IFc;return String.fromCharCode(b)+(""+String.fromCharCode(c))}else return String.fromCharCode(a&IFc)}function X4(a){var b,c,d,e,f;d=a.b.d;e=d.a.length;if(e==0)return"";b=new o5;for(c=0;c<e;c++){f=w5(d.a[c],a.a);if(!f)throw CX(new Fjb("Bad module: "+a.b.e));w4(a.a,b,c,f)}return b.c.a}function Ycb(a,b,c,d,e){this.g=a;this.d=b1b(ED(zD(nT,1),KHc,7,0,[]));this.e=b1b(ED(zD(nT,1),KHc,7,0,[]));this.j=new vzc;this.i=new vzc;this.b=new vzc;this.f=b;this.a=c;this.c=d;this.k=e}function Sgb(a,
b,c){var d;if(b.k==(Pac(),T7b)){d=b.b;switch(d.k.f){case 29:return true;case 26:return!Rgb(a,d.b,c);case 27:return!Rgb(a,d.b,c)&&!Rgb(a,d.b?d.b.g:null,c)}}return false}function dhb(a,b){var c;c=fhb(a,b);Fnc(c.substr(0,5),"goog.")&&t5((!a.d&&!!a.i&&(a.d=G3(a.c,a.i)),a.d),(azb(),_yb));t5((!a.d&&!!a.i&&(a.d=G3(a.c,a.i)),a.d),ezb(c,(b.b?b.b.g:null).Rh()))}function _Jb(a,b,c){var d;for(d=0;d<c;d++)if(!MJb(a,(Kd(b.k==(Pac(),n8b),tMc,b),k5b(b,d+1)))){a.a.vh(dMc+F7b(xMc,ED(zD(PU,1),RFc,1,5,[AFc])),a.b.sg(),
a.d,a.c);return false}return true}function eKb(a,b,c){var d;for(d=0;d<c;d++)if(!fKb(a,(Kd(b.k==(Pac(),n8b),tMc,b),k5b(b,d+1)))){a.a.vh(dMc+F7b(xMc,ED(zD(PU,1),RFc,1,5,[AFc])),a.b.sg(),a.d,a.c);return false}return true}function hKb(a,b,c){var d;for(d=0;d<c;d++)if(!gKb(a,(Kd(b.k==(Pac(),n8b),tMc,b),k5b(b,d+1)))){a.a.vh(dMc+F7b(xMc,ED(zD(PU,1),RFc,1,5,[AFc])),a.b.sg(),a.d,a.c);return false}return true}function v_(){v_=bY;u_=new D9("JSC_DEBUGGER_STATEMENT_PRESENT",(O_(),M_),new Toc("Using the debugger statement can halt your application if the user has a JavaScript debugger running."))}
function Zdb(a,b){var c,d,e;e=new ksc;while(b.k==(Pac(),u9b)){asc(e,P5b(b));b=P5b(b)}d=Ymb(b)?new Web(a.a):null;c=new Web(a.a);Eeb(a.a,e,c,d);$db(a,b,c,d);Beb(a.a,e);c!=a.a.j&&Jeb(a.a,c)}function Fxb(a,b,c,d,e){var f,g;g=b.ge(c);if(c<d)return cbc(g,new uoc,true).a;f=e==EFc&&c==b.ce()-1;if(f)return $Hc+cbc(Hxb(a,g),new uoc,true).a;return cbc(Hxb(a,g),new uoc,true).a+"="}function PQb(a,b,c,d,e){this.a=new RQb(this);this.e=new Hrc;this.d=(eLb(),SKb);this.b=a;this.c=b;this.g=new VRb(a.d,b,this.a,c,d);
prc(this.e,e?(eRb(),cRb):(eRb(),dRb));this.f=kRb(this.g)}function eRb(){eRb=bY;dRb=new fRb("NORMAL",0,false,false);cRb=new fRb("GENERATOR",1,true,false);aRb=new fRb("ASYNCHRONOUS",2,false,true);bRb=new fRb("ASYNCHRONOUS_GENERATOR",3,true,true)}function d_b(a,b,c,d,e){switch(a){case 8:e.a+="\\b";break;case 94:e.a+=c&&b?"\\^":"^";break;case 45:e.a+=c||d?"-":"\\-";break;case 92:case 93:koc((e.a+=XHc,e),a);break;default:h$b(a,e)}}function Nw(a){var b,c,d,e;e=koc((Hk(a.ce(),"size"),new voc),123);d=true;
for(c=An(a)._d();c.Od();){b=c.Pd();d||(e.a+=NFc,e);d=false;qoc(koc(qoc(e,b.Ve()),61),b.We())}return(e.a+="}",e).a}function A4(a){var b,c;c=(a.J.wd!=(S7(),P7)&&!!a.S&&Uob(a.S,IIc,true),new Ytb);try{!a.L&&(a.L=new XBb(a.a));Jtc();$tc()}finally{b=PX(IX(Date.now()),c.a);a.J.wd!=P7&&!!a.S&&Vob(a.S,IIc,b)}}function lpb(a,b,c){var d,e;a.k=0;a.o=0;if(a.n){a.o=(a.n.b-a.n.a)/a.i.a.length;a.k=a.n.a}for(e=new Bsc(a.i);e.a<e.c.a.length;){d=(e.b=e.a++,e.c.a[e.b]);d.ug(b,c);if(a.b.j.a.e!=0)return}}function uyb(a,
b,c){pyb();var d,e;if(b.f.k==(Pac(),Jac)&&(d=q5b(b,51),!!d&&d.Eh())&&_mb(b))return true;return zxb(),e=D3(a,jjb(c,pxb,ED(zD(UU,1),FHc,2,6,["dummy","dummy"]))),e==(O_(),M_)}function oBb(a){mBb();var b,c;c=zIc.length;if(Fnc(a.substr(a.length-c,c),zIc)){a=Xnc(a,0,a.length-3);b=".js.i".length;Fnc(a.substr(a.length-b,b),".js.i")&&(a=Xnc(a,0,a.length-5))}return a}function pBb(a){mBb();Fnc(a.substr(0,1),"/")&&(a=a.substr(1));return AIc+Qnc(Pnc(Pnc(Pnc(Pnc(Pnc(Pnc(Qnc(Snc(oBb(a),"^\\./",""),"/","$"),92,36),
64,36),43,36),45,95),58,95),46,95),LJc,"_")}function HBc(a,b,c,d){var e,f;f=b;e=f.d==null||a.a.jf(c.d,f.d)>0?1:0;while(f.a[e]!=c){f=f.a[e];e=a.a.jf(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 Uc(a){var b,c,d;d=new uBc(NFc,"[","]");for(c=a._d();c.Od();){b=c.Pd();sBc(d,wE(b)===wE(a)?"(this Collection)":b==null?OFc:fY(b))}return!d.a?d.c:d.e.length==0?d.a.a:d.a.a+(""+d.e)}function rIb(a,b){var c;if(b==(fJb(),WIb)){xIb(a);c=qIb(a,!a.n?mJb(a.i):JHb(a));if(c){xIb(a);
RHb(a,aJb)?!a.n?mJb(a.i):JHb(a):(FHb(a,hMc,a.i.g,lJb(a.i)),null)}return c}else return qIb(a,b)}function Osc(a,b){var c;if(wE(a)===wE(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 Nsc(a,b){var c;if(wE(a)===wE(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 c$(a,b){var c;VZ((Pac(),Z9b),b);
for(c=b.b;c;c=c.e)if(c.k==gac)f$(a,Z9b,c);else if(c.k==D8b){xZ(a,(AMb(),NLb),c);pZ(a,Z9b,c)}else c.k==H9b?OZ(c):c.k==R7b?dZ(a,Z9b,c):_Z(a,Z9b,c)}function kpb(b,c,d,e){var f;if(!b.r)return;try{byb(Q4(b.b),d,e);V$(b.a,c,b.d)}catch(a){a=BX(a);if(rE(a,44)){f=a;throw CX(new Lmc("Validity checks failed for pass: "+c,f));}else throw CX(a);}}function $Gb(a,b){var c,d,e;c=UGb(a,b.a);f6b(c,(Pac(),sac));if(b.b)a5b(c,DFb(a.a,b.b));else{e=c.Ph(false);d=Q5b(c,c.i,98);d!=c.i&&(c.i=d);c.i=new U6b(98,1,c.i);f6b(e,
H9b);a5b(c,e)}return c}function BPb(a,b,c,d,e,f){var g;g=uVb(zVb(tVb(wVb(rVb(yVb(vVb(AVb(xVb(new BVb((GVb(),FVb)),c),d),e),false),f),lOb(a)),gPb(a,1)),kOb(a)),new eVb(new GYb(b,a.f)));return qVb(g,new GYb(b,a.f))}function exc(){exc=bY;cxc=ED(zD(UU,1),FHc,2,6,["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]);dxc=ED(zD(UU,1),FHc,2,6,["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"])}function _X(){$X={};!Array.isArray&&(Array.isArray=function(a){return Object.prototype.toString.call(a)===
"[object Array]"});function b(){return(new Date).getTime()}!Date.now&&(Date.now=b)}function i8(a,b){var c,d,e,f,g;for(f=(d=(new $qc(a.c.a)).a.Ge().b.rj(),new frc(d));f.a.Od();){e=(c=f.a.Pd(),c.Ve());g=e.qh(b);if(g){if(a.a&&g==(O_(),L_))return O_(),N_;return g}}return null}function chb(a,b){var c,d;for(c=b.e;c;c=c.f)if(c.k==(Pac(),lac))return c;if(b.f==null)return null;d=K3(a.b,b.f);if(d){if(d.k!=(Pac(),lac))return null;Td(d.k==lac,d);return d}return null}function HHb(a,b){var c,d;for(d=new Bsc(b);d.a<
d.c.a.length;){c=(d.b=d.a++,d.c.a[d.b]);k2b(a.e.a)?W3b(a.e,c.c)||CHb(a,"msg.jsdoc.extends.duplicate",c.b,c.a):H3b(a.e,c.c)||FHb(a,fMc,c.b,c.a)}}function vPb(a){var b,c;c=(Km(),new tr);while(yQb(a)){rr(c,uPb(a));rQb(a,(jUb(),tSb))||(b=sRb(a.g,0).b.b.b>a.f.b,b||qQb(a,0,ITb)||qQb(a,0,tSb)||qQb(a,0,GSb)?fOb(a):aOb(a,xSb))}return Sm(c.a)}function Odb(a,b){Sd(b.k==(Pac(),k8b));if(!b.b)return false;switch((b.b?b.b.g:null).k.f){case 82:return Odb(a,b.b?b.b.g:null);case 0:case 39:case 75:case 74:return true;
default:return false}}function Cfb(a,b,c,d){var e,f;e=c.b;Rlb();if(!!e&&(e.k==(Pac(),Jac)||e.k==z9b||e.k==x8b))Ffb(a,e);else{Sd(e.k==(Pac(),Z8b)||e.k==s8b);f=e.b.Rh();DBc(a.b,f,new rfb(f,c))}R5b(d,c,i5b(e));vlb(b)}function Pab(a,b,c,d){var e,f,g,h;for(f=new Vrc(a.a);f.a!=f.b;){e=Trc(f);if(c!=e.a&&I5b(c,e.a)){h=CY(klb(b),c.Rh());if(!!h&&h.c==e.a){g=l6b(Y5b(Z0b(e.b),c.c),c);R5b(d,c,g);p4(a.b.b,g);return}}}}function kmb(a,b){Rlb();var c,d;Sd(a.k==(Pac(),U9b)||a.k==t8b);for(d=(!a.b?(Jtc(),Jtc(),Itc):
new h7b(a.b))._d();d.Od();){c=d.Pd();if((c.k==sac||c.k==C9b)&&Fnc(c.Rh(),b))return c.b}return null}function Dmc(a){Cmc==null&&(Cmc=new RegExp("^\\s*[+-]?(NaN|Infinity|((\\d+\\.?\\d*)|(\\.\\d+))([eE][+-]?\\d+)?[dDfF]?)\\s*$"));if(!Cmc.test(a))throw CX(new vnc(QNc+a+'"'));return parseFloat(a)}function ztc(a,b){var c,d;if(b==-1)return-1;Btc(b);c=b/31|0;if(c>=a.a.length)return wtc(a)-1;d=(a.a[c]|0)&EFc>>>31-b%31-1;while(d==0){if(--c<0)return-1;d=a.a[c]|0}return c*31+(32-Vmc(d))-1}function QDc(a,b){var c,
d,e,f,g,h,i;for(d=UDc(a),f=0,h=d.length;f<h;++f)cEc(b);i=!LDc&&a.e?LDc?null:a.d:null;while(i){for(c=UDc(i),e=0,g=c.length;e<g;++e)cEc(b);i=!LDc&&i.e?LDc?null:i.d:null}}function gg(a,b){var c,d,e;if(wE(b)===wE(a))return true;if(!rE(b,51))return false;e=b;if(a.ce()!=e.ce())return false;for(d=e.Ge()._d();d.Od();){c=d.Pd();if(!a.Ee(c))return false}return true}function _n(a){var b,c,d,e,f,g,h;b=new vzc;for(d=a,e=0,f=d.length;e<f;++e){c=d[e];g=Nd(c.Ve());h=szc(b,g,Nd(c.We()));if(h!=null)throw CX(new Fjb("duplicate key: "+
g));}this.d=(Jtc(),new xvc(b))}function iD(b,c){var d,e,f,g;for(e=0,f=b.length;e<f;e++){g=b[e];try{g[1]?g[0].Dj()&&(c=hD(c,g)):g[0].Dj()}catch(a){a=BX(a);if(rE(a,40)){d=a;VC();_C(rE(d,267)?d.cg():d)}else throw CX(a);}}return c}function $D(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 JD(c&XGc,d&XGc,e&YGc)}function omb(a){Rlb();var b,c,d;Td(a.k==(Pac(),Z8b)||a.k==s8b,a);d=a.f;switch(d.k.f){case 29:return d;
case 47:{b=d.b;return D5b(b)?b:null}default:c=a.b;return c.k==J8b||c.Rh().length==0?null:c}}function rtb(a,b){var c,d,e;if(Fnc(b.substr(0,29),"data:application/json;base64,")){c=gA((fA(),fA(),eA),b.substr(29));e=Dnc((d=c,Roc(),d));return Ksb(a.b+".inline.map",e,(J7b(),H7b))}return null}function RGb(a,b){var c,d,e,f;lGb(a,b,(AMb(),eMb));f=SGb(a,b.b);c=jFb(a.a,(Pac(),K9b));y6b(c.j)==-1&&AFb(c,b.o.b,b.o.a);for(e=b.a._d();e.Od();){d=e.Pd();_4b(c,DFb(a.a,d))}return lFb(a.a,J9b,f,c)}function U4(a){var b,
c,d,e,f;f=a4(a.a);try{b=new o5;if(a.a.A){c=0;if(q6(a.a.J))for(e=a.a.q.b;e;e=e.e)w4(a.a,b,c++,e);for(d=a.a.A.b;d;d=d.e)w4(a.a,b,c++,d)}return b.c.a}finally{u4(a.a,f,EIc)}}function Wzb(a,b,c,d,e){Vzb();var f,g;Mzb.call(this,a,b,c,d);g=yEc(zEc(new BEc(null,An(e).uf()),new _zb),$s(new twc(new Twc(new Bwc(new bAb)),new xwc((Iwc(),Iwc(),Gwc)))));this.a=(lm(),f=g,wo(f))}function GFb(a,b){var c,d,e,f;f=qFb(a,b);c=f5b(new s7b((Pac(),rac),""+f),a.s);d=bFb(a,$Eb(a,b.b));!!d&&(e=Q5b(c,c.i,29),e!=c.i&&(c.i=e),
!!d&&(c.i=new c7b(29,d,c.i)),c);AFb(c,b.b.b,b.b.a);return c}function coc(a){var b,c,d;d=new tBc;for(c=new Bsc(a);c.a<c.c.a.length;){b=(c.b=c.a++,c.c.a[c.b]);!d.a?d.a=new xoc(d.d):roc(d.a,d.b);ooc(d.a,b)}return!d.a?d.c:d.e.length==0?d.a.a:d.a.a+(""+d.e)}function dtc(a){var b,c,d,e,f;if(a==null)return OFc;f=new uBc(NFc,"[","]");for(c=a,d=0,e=c.length;d<e;++d){b=c[d];sBc(f,String.fromCharCode(b))}return!f.a?f.c:f.e.length==0?f.a.a:f.a.a+(""+f.e)}function Ni(a,b,c){var d,e,f,g;if(c==0)return e=Lw(a.a,
b),!e?0:e.a;Id(c>0,jGc,c);d=Zoc(a.a,b);if(!d){g=0;apc(a.a,b,new ml(c))}else{g=d.a;f=DX(g,c);Jd(EX(f,EFc)<=0,f);d.a+=c}a.b=DX(a.b,c);return g}function XB(a,b,c){var d,e,f,g;_A(a.b,c-a.c);a.c=c;if(b){e=NB(a.j,b.d);_A(a.b,e-a.g);a.g=e;g=b.c.b;f=b.c.a;_A(a.b,g-a.i);a.i=g;_A(a.b,f-a.f);a.f=f;if(b.b!=null){d=MB(a.j,b.b);_A(a.b,d-a.e);a.e=d}}}function NC(a){var b;if(a.c==null){b=wE(a.b)===wE(LC)?null:a.b;a.d=b==null?OFc:uE(b)?b==null?null:b.name:vE(b)?TGc:imc(zb(b));a.a=a.a+": "+(uE(b)?b==null?null:b.message:
b+"");a.c="("+a.d+") "+a.a}}function Vhb(a,b,c){var d,e,f,g;e=$oc(a.a.g,b);if(!e){d=Lnc(b,boc(46));if(d>=0){g=b.substr(0,d);f=Vhb(a,g,true);e=fib(f,b.substr(d+1),c)}else{e=new jib(b,null);asc(a.a.f,e)}bpc(a.a.g,b,e)}return e}function Xlb(a){var b;Kd(a.k==(Pac(),N9b),"Expected NEW node, got %s",a.k);if((n5b(a,42)&15)==15)return false;if((n5b(a,42)&15&11)==11&&Tlb(a))return false;b=a.b;return b.k!=H9b||!Jlb.Yd(b.Rh())}function YYb(a){var b,c;if(a.a==null)return a.b.k=false,SYb(a,OFc,0);b=null;if(rE(a.a,
155))b=new Ywc(a.a.a);else if(rE(a.a,292))b=a.a;else throw CX(PYb(a));c=new uoc;c.a+=""+b;return SYb(a,c,0)}function Q1(a){var b;if(a.k==(Pac(),u9b)){b=a.b?a.b.g:null;return b.k==k8b?N1(a,2)==1&&Q1(M1(a)):Q1(b)}else switch(a.k.f){case 100:case 88:case 65:case 96:case 71:return true;default:return false}}function $Jb(a,b){var c;if(!IJb(a,b,(MKb(),DKb)))return false;for(c=0;c<(Kd(b.k==(Pac(),n8b),tMc,b),l5b(b)-1);c++)if(!ZJb(a,(Kd(b.k==n8b,tMc,b),k5b(b,c+1)))){lKb(a,DKb.d);return false}return true}
function neb(a){var b,c,d;for(c=new Bsc(a.q);c.a<c.c.a.length;){b=(c.b=c.a++,c.c.a[c.b]);d=b==b.f.b?null:b.g;Sd(!!d);Sd(d.k==(Pac(),T8b));S5b(d,f1b(P5b(d)));Nd(b.f);N5b(b.f,b)}a.q.a=BD(PU,RFc,1,0,5,1)}function Mfb(){Mfb=bY;Kfb=new D9("BAD_REST_PARAMETER_ANNOTATION",(O_(),N_),new Toc('Missing "..." in type annotation for rest parameter.'));Lfb=nLb((eLb(),SKb),ED(zD(ZP,1),XFc,28,0,[(AMb(),qMb),sMb]))}function $lb(a){Rlb();var b;switch(a.k.f){case 82:b=a.f;return!!b&&!(b.k==(Pac(),p8b)||b.k==C8b)&&b.k!=
(Pac(),r8b);case 72:case 73:case 101:case 102:case 67:case 96:return true;default:return false}}function ttc(a,b){var c,d,e;if(wE(a)===wE(b))return true;if(!rE(b,283))return false;e=b;d=Etc(a.a);if(d!=Etc(e.a))return false;for(c=0;c<=d;c++)if((a.a[c]|0)!=(e.a[c]|0))return false;return true}function Mv(a,b,c){var d,e;this.f=a;d=Zoc(a.b,b);e=!d?0:d.a;Qd(c,e);if(c>=(e/2|0)){this.e=!d?null:d.c;this.d=e;while(c++<e)Kv(this)}else{this.c=!d?null:d.b;while(c-- >0)Jv(this)}this.b=b;this.a=null}function aE(a,
b){var c,d,e,f;b&=63;c=a.h&YGc;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 JD(d&XGc,e&XGc,f&YGc)}function Gfb(a,b,c,d){var e,f,g,h;for(f=e5b(c.b)._d();f.Od();){e=f.Pd();g=e.b.Rh();h=CY(klb(b),g);if(!!h&&Smb(h.c)){g=yfb(a,klb(b),e.b);Nd(g)}DBc(a.b,(e.b?e.b.g:null).Rh(),new rfb(g,e))}N5b(d,c);vlb(b)}function jmb(a,b){Rlb();var c,d;Sd(a.k==(Pac(),U9b));for(d=(!a.b?(Jtc(),Jtc(),Itc):new h7b(a.b))._d();d.Od();){c=
d.Pd();if(c.k==w8b&&c.b.Sh(b,false,true,false,false))return c.b?c.b.g:null}return null}function bZb(a,b){var c,d;d=a.b.n;d=0==d?1:d;tZb(a.b,d);c=Gmc(a.a);if(c==0){--d;tZb(a.b,d);WYb(a,b);return}c=$wnd.Math.abs(c);if(!isNaN(c)&&!isFinite(c)){d=a.b.n;--d;tZb(a.b,d);VYb(a,b);return}WYb(a,b)}function Zu(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=cpc(a.b,b.a);c.a=0;++a.c}else{c=Zoc(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 MGb(a,b){var c,d,
e;d=PGb(a,b.b,true);f6b(d,(Pac(),H9b));c=kFb(a.a,k9b,d);if(!b.a){e=Q5b(c,c.i,98);e!=c.i&&(c.i=e);c.i=new U6b(98,1,c.i);_4b(c,g5b(d,false))}else _4b(c,PGb(a,b.a,false));return c}function pRb(a){var b;b=(sRb(a,0),esc(a.d,0));(!mRb(a,a.f)||b.c!=(jUb(),tSb))&&tRb(a,lRb(a,a.f),"Expected '}' after expression in template literal",ED(zD(PU,1),RFc,1,5,[]));return qRb(a,(jUb(),WTb),VTb)}function Jyc(a,b,c){var d,e,f,g;g=b==null?0:a.b.oj(b);e=(d=a.a.get(g),d==null?new Array:d);if(e.length==0)a.a.set(g,e);else{f=
Gyc(a,b,e);if(f)return f.Xe(c)}e[e.length]=new yqc(b,c);++a.c;return null}function f4(a,b){var c,d,e,f;c=new ksc;for(f=new cu(Ht(st(b.a),new pt));au(f);){d=bu(f);c.a[c.a.length]=d}for(e=new Bsc(c);e.a<e.c.a.length;){d=(e.b=e.a++,e.c.a[e.b]);d.b=a;z5(d);C5(d,($5(),V5))}return c}function Vgb(a,b,c,d,e){Nd(a);Nd(b);Nd(c);this.b=a;this.d=b;this.c=c;this.e=d;this.a=e;this.i=(!a.T&&(a.T=new mgc),a.T).p[44];this.j=(!a.T&&(a.T=new mgc),a.T).p[45];this.f=(!a.T&&(a.T=new mgc),a.T).p[38]}function vBb(a,b,c){var d,
e,f,g,h,i,j;for(f=rBb,g=0,h=f.length;g<h;++g){e=f[g];j=c+(""+e);d=Izb(a,b,j);if(Xn(a.c,d)){j=Zn(a.c,d);if(Fnc(fLc,j))return null}i=Jzb(a,b,j);if(i!=null)return i}return null}function FOb(a){var b,c,d;d=sRb(a.g,0).b.b;gOb(a,ZHc);aOb(a,(jUb(),RSb));c=rQb(a,MTb);c&&aOb(a,MTb);b=sVb(xVb(new BVb((GVb(),DVb)),bOb(a)));jPb(a,b,c?(eRb(),bRb):(eRb(),aRb));return qVb(b,new GYb(d,a.f))}function Afc(a,b,c){!a.a&&(a.a=new Byc);if(Woc(a.a,b)&&Woc(Zoc(a.a,b),c))return Zoc(Zoc(a.a,b),c);else if(Woc(a.a,c)&&Woc(Zoc(a.a,
c),b))return Zoc(Zoc(a.a,c),b);else{Bfc(a,b,c,(Jfc(),Ifc));return null}}function Ed(a,b,c){if(a<0||a>c)return Dd(a,c,"start index");if(b<0||b>c)return Dd(b,c,"end index");return bf("end index (%s) must not be less than start index (%s)",ED(zD(PU,1),RFc,1,5,[$mc(b),$mc(a)]))}function zZ(a,b){b.k==(Pac(),Z8b)&&n5b(b,60)!=0&&xZ(a,(AMb(),BLb),b);n5b(b,59)!=0&&xZ(a,(AMb(),VLb),b);b.k==Z8b&&n5b(b,61)!=0&&xZ(a,(AMb(),CLb),b);b.k==Z8b&&n5b(b,61)!=0&&n5b(b,59)!=0&&xZ(a,(AMb(),DLb),b)}function JZ(a,b,c){switch(c.k.f){case 29:OZ(c);
break;case 93:dZ(a,b,c);break;case 94:_Z(a,b,c);break;case 26:case 27:BZ(a,b,c);break;case 92:JZ(a,b,(Sd(!!c.b&&!c.b.e),c.b));break;default:u$(pHc+b+qHc,c)}}function Brb(){Brb=bY;Arb=new D9("JSC_INSUFFICIENT_OUTPUT_VERSION",(O_(),M_),new Toc("Built-in ''{0}'' not supported in output version {1}"));zrb=(lm(),zo(ED(zD(PU,1),RFc,1,5,["goog.global.","window."])))}function CFb(a){var b;switch(a.p.f){case 6:case 20:case 67:case 77:return false;case 49:case 43:case 42:case 46:case 55:case 45:b=PFb(a);if(b.p==
(WXb(),tXb))return false;return true;default:return true}}function nJb(a){var b,c;for(;;){b=jJb(a);switch(b){case 42:if((c=jJb(a),a.q[a.r++]=c,--a.b,c)!=47){iJb(a,b);break}case -1:case 10:a.q[a.r++]=b;--a.b;a.n=ioc(a.o,0,a.p);a.p=0;return a.n;default:iJb(a,b)}}}function nZ(a,b){var c,d,e,f;e=Rac(b.k);e!=-1&&(d=l5b(b),e!=d&&u$(nHc+e+oHc+d,b));c=b.k;f=b.b;switch(f.k.f){case 29:OZ(f);break;case 26:case 27:BZ(a,c,f);break;default:u$(pHc+c+qHc,f)}wZ(a,b.b?b.b.g:null)}function x5(a){!a.c&&(a.c=v5(a));if(a.f.a.length!=
0||a.e.a.length!=0){a.c=Azb(Bzb(Fzb(Ezb(rzb(a.i.a,a.i.a),I5(a.c.d,a.e)),I5(a.c.e,a.f)),a.c.a));a.f.a=BD(PU,RFc,1,0,5,1);a.e.a=BD(PU,RFc,1,0,5,1)}return a.c}function Hbb(a,b,c,d){var e,f,g;Sd(c.k==(Pac(),Z8b));f=Q5b(c,c.i,60);f!=c.i&&(c.i=f);e=c.b?c.b.g:null;if(e.k!=k8b){i5b(e);e=o6b(w0b((Sd(V0b(e)),new r6b(iac,e))),e);_4b(c,e)}g=new Pbb(d);Glb(a.a,e,g);vlb(b)}function qeb(a,b,c,d){var e,f;geb(a,b,c);e=new ksc;if(!b){f="setFinallyBlock";asc(e,Teb(c,d))}else{f="setCatchFinallyBlocks";asc(e,Teb(b,d));
!!c&&asc(e,Teb(c,d))}Leb(a,ieb(a,d,f,jsc(e,BD(nT,KHc,7,0,0,1))))}function hHb(a,b){var c,d,e,f;hFb(a.a,b,(AMb(),vMb));f=jFb(a.a,(Pac(),yac));y6b(f.j)==-1&&AFb(f,b.o.b,b.o.a);e=!b.b?f:lFb(a.a,xac,DFb(a.a,b.b),f);for(d=b.a._d();d.Od();){c=d.Pd();_4b(f,DFb(a.a,c))}return e}function Tjc(a,b){var c,d,e,f;if(!b.vi()&&!b.Gi())for(f=0;f<a.b.ce();f++){c=a.b.ge(f);if(!c.vi()&&b.ti(c))return a}return d=(e=new Cfc(false),dbc(a,b,0,e)),d?a:ubc(_fc(a.A,ED(zD(JT,1),NJc,27,0,[a,b])))}function inc(a,b){var c,d,e,
f,g;g=1<<b;if(EX(LGc,a)<=0&&EX(a,EFc)<=0)return Zmc(SX(a),g);e=g-1;d=(64/b|0)+1;c=BD(zE,JFc,8,d,15,1);f=d;do{c[--f]=Zlc(SX(a)&e);a=OX(a,b)}while(EX(a,0)!=0);return ioc(c,f,d-f)}function wgb(){wgb=bY;ugb=new D9(qKc,(O_(),L_),new Toc("This code cannot be converted from ES6. {0}"));vgb=new D9("JSC_CANNOT_CONVERT_YET",L_,new Toc("ES6 transpilation of ''{0}'' is not yet implemented."))}function Cd(a,b){if(a<0)return bf(UFc,ED(zD(PU,1),RFc,1,5,[VFc,$mc(a)]));else if(b<0)throw CX(new Fjb(WFc+b));else return bf("%s (%s) must be less than size (%s)",
ED(zD(PU,1),RFc,1,5,[VFc,$mc(a),$mc(b)]))}function odb(a,b,c,d){var e,f;f=(Xd(Jnc(d,boc(46))==-1,JHc,d),new s7b((Pac(),H9b),d));X5b(f,q5b(c,29));R5b(c.f,c,f);e=D0b(c,(Xd(Jnc(d,boc(46))==-1,JHc,d),new s7b(H9b,d)),Jac);Z4b(a.b?a.b.g:null,e,b);return e}function sPb(a){var b,c,d,e,f;f=sRb(a.g,0).b.b;aOb(a,(jUb(),qTb));d=cOb(a);aOb(a,wSb);c=hQb(a);aOb(a,vSb);aOb(a,wSb);b=eQb(a);e=new WVb(new GYb(f,a.f),d,false,false,null,c);return new QVb(new GYb(f,a.f),e,b)}function $4b(a,b,c){var d;Gd(c.f==a,"The existing child node of the parent should not be null.");
Gd(!b.e,yNc);Gd(!b.g,zNc);Gd(!b.f,ANc);if(a.b==c){d=a.b.g;b.f=a;b.e=a.b;b.g=d;a.b.g=b;a.b=b}else Z4b(a,b,c.g)}function xgc(a,b){var c,d,e,f,g,h,i;i=false;e=b.d;c=Scc(e.Hi(a));e!=c&&(i=true);h=(Km(),new tr);for(g=b.c._d();g.Od();){f=g.Pd();d=f.Hi(a);f!=d&&(i=true);asc(h.a,Nd(d))}i&&(b=new ojc(a.e,c,Sm(h.a)));return b}function Rjc(a,b,c,d){var e,f,g;g=(_jc(new Hkc,b.b)&&Yjc(b),b.b);if(c==0&&(_jc(new Hkc,a.b)&&Yjc(a),a.b).ce()!=g.ce())return false;for(e=0;e<g.ce();e++){f=g.ge(e);if(!Vjc(a,f,c,d))return false}return true}
function aib(a){var b,c,d;Gd(a.k==(Pac(),n8b),a);if(!(!!a.b&&!!a.b.e&&a.b.e==(a.b?a.b.g:null)))return false;c=a.b;if(c.k!=d9b)return false;b=c.b;d=c.b.e;return d.k==rac&&Fnc("hasOwnProperty",d.Rh())&&D5b(b)}function vjb(a,b,c){var d,e,f,g,h,i;g=b.b;h=c.b;for(d=$wnd.Math.min(g,h)-1;d>=0;d--){i=csc(a.b,d);for(e=i.ce()-1;e>=0;e--){f=i.ge(e);if(b!=f&&utc(a.c[b.c],f.c)&&c!=f&&utc(a.c[c.c],f.c))return f}}return null}function jlb(a,b){var c,d,e,f,g;f=!b?a.p:(d=q5b(b,51),!d?null:d.sg());if(f==null)return"[source unknown]\n";
e=y6b(b.j);c=x6b(b.j);g=M3(a.c,f,e);g==null&&(g="[source unknown]");return f+":"+e+":"+c+KGc+g+KGc}function KCb(){KCb=bY;JCb=new D9("JSC_REDUNDANT_NULLABILITY_MODIFIER_JSDOC",(O_(),N_),new Toc("Type is already not null. Please remove the redundant '!'."));lm();zo(ED(zD(PU,1),RFc,1,5,[AFc,BFc,DFc,ELc,KJc]))}function u6b(a,b,c,d){Fd(!b.f);Fd(!b.e);Fd(!b.g);Fd(!c.f);Fd(!c.e);Fd(!c.g);Fd(!d.f);Fd(!d.e);Fd(!d.g);this.k=a;this.f=null;this.b=b;b.e=c;b.g=d;b.f=this;c.e=d;c.g=b;c.f=this;d.e=null;d.g=c;d.f=
this;this.j=-1}function jic(a,b){var c,d,e,f,g;g=a.b.He(b);if(g)return g;f=hic(a);if(f){g=jic(f,b);if(g)return g}for(d=It(new $uc(iic(a).a.b._d()));d.Od();){c=d.Pd();e=c.Pi();if(e){g=jic(e,b);if(g)return g}}return null}function Wjc(a,b,c,d){var e,f;if(b.vi()||_jc(new vkc,a.b))return true;if(b.hi())return true;for(f=0;f<a.b.ce();f++){e=a.b.ge(f);if(d==1&&(e.pi()||e.wi()))continue;if(!e.ui(b,c,d))return false}return true}function qAc(a,b){var c,d,e,f,g,h;c=a.b.a.length;e=csc(a.b,b);while(b*2+1<c){d=
(f=2*b+1,g=f+1,h=f,g<c&&I$(csc(a.b,g),csc(a.b,f))<0&&(h=g),h);if(I$(e,csc(a.b,d))<0)break;gsc(a.b,b,csc(a.b,d));b=d}gsc(a.b,b,e)}function REc(a,b,c,d,e,f){var g,h,i,j,k;if(a===c){a=a.slice(b,b+e);b=0}i=c;for(h=b,j=b+e;h<j;){g=$wnd.Math.min(h+1E4,j);e=g-h;k=a.slice(h,g);k.splice(0,0,d,f?e:0);Array.prototype.splice.apply(i,k);h=g;d+=e}}function WHb(a){var b,c;a.g=(JIb(),HIb);xIb(a);c=!a.n?mJb(a.i):JHb(a);if(a.e.d){b=MHb(a,c,a.f?0:1,false,false);c=b.b;b.a.length==0||I3b(a.e,b.a)}else c!=(fJb(),MIb)&&
c!=RIb&&I3b(a.e,"");return dIb(a,c,new ksc)}function l2(a,b,c,d){var e,f;f=a.b;e=a.a;if(d)return f==b&&e>=c?new bB(f+1,e-c):a;else if(f==b)return new bB(f-1,e+c);else if(f>b)throw CX(new Kmc("Cannot undo line cut on a previous line."));else return a}function wFb(a,b){var c,d,e;e=z3b(a.f);!!e&&(d=Q5b(b,b.i,29),d!=b.i&&(b.i=d),!!e&&(b.i=new c7b(29,e,b.i)),b);if(a.g){if(!!q5b(b,29)&&U1b(q5b(b,29))!=null){c=R4b(a.g);f4b(c,U1b(q5b(b,29)));a.g=z3b(c)}X5b(b,a.g)}}function jIb(a,b){var c,d;d=THb(a,(Pac(),
x9b));c=bIb(a,b);if(!c)return FHb(a,kMc,a.i.g,lJb(a.i)),null;xIb(a);if(!RHb(a,(fJb(),aJb)))return FHb(a,hMc,a.i.g,lJb(a.i)),null;!a.n?mJb(a.i):JHb(a);_4b(d,c);return d}function s5b(a,b){var c,d,e;e=(a.b?a.b.g:null).Rh();b+=1+e.length;if(a.b.k==(Pac(),d9b)){c=s5b(a.b,b);if(!c)return null}else{d=r5b(a.b);if(d==null)return null;c=new voc;c.a+=""+d}roc((c.a+=".",c),e);return c}function $sc(a,b,c,d,e,f){var g,h,i,j;g=d-c;if(g<7){Xsc(b,c,d,f);return}i=c+e;h=d+e;j=i+(h-i>>1);$sc(b,a,i,j,-e,f);$sc(b,a,j,
h,-e,f);if(f.jf(a[j-1],a[j])<=0){while(c<d)b[c++]=a[i++];return}Ysc(a,i,j,h,b,c,d,f)}function vFc(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+Anc(a,c++);b=b|0;return b}function Pdb(a){var b;if(a.f.k==(Pac(),n8b)&&!!(a==a.f.b?null:a.g)){b=a.f.b;if((a==a.f.b?null:a.g)==b&&!a.e&&K5b(b,dKc,dKc.length)){Sd((!a.f?null:a.f.f).k==iac);Sd(!(!a.f?null:a.f.f).e);return true}}return false}
function Oeb(a,b,c,d){var e;e=new ksc;asc(e,!b?l6b(Dgb((Xd(Jnc(KJc,boc(46))==-1,JHc,KJc),new s7b((Pac(),H9b),KJc)),a.r.f.j),d):b);asc(e,Teb(c,d));Leb(a.r.a,Heb(a,d,iIc,jsc(e,BD(nT,KHc,7,0,0,1))));a.r.a.j.e=false}function BIb(a,b,c,d,e,f){AHb();var g,h;this.i=a;h=e.b!=(tEb(),sEb);this.e=new Q4b(h);if(b!=null){r4b(this.e,b);q4b(this.e,c)}this.a=e.a;this.j=e.g;this.f=e.b==rEb;this.b=f;this.k=!d?(g=new p6b((Pac(),lac)),g):d}function dKb(a,b){if(!IJb(a,b,(MKb(),JKb)))return false;if((Kd(b.k==(Pac(),n8b),
tMc,b),k5b(b,1)).k!=rac){a.a.vh(dMc+F7b(uMc,ED(zD(PU,1),RFc,1,5,["name"])),a.b.sg(),a.d,a.c);lKb(a,JKb.d);return false}return true}function Dd(a,b,c){if(a<0)return bf(UFc,ED(zD(PU,1),RFc,1,5,[c,$mc(a)]));else if(b<0)throw CX(new Fjb(WFc+b));else return bf("%s (%s) must not be greater than size (%s)",ED(zD(PU,1),RFc,1,5,[c,$mc(a),$mc(b)]))}function hob(a,b){var c,d,e,f,g;if(b.b.k==(Pac(),H9b)){e=b.b;f6b(b,qmb(b));f=b.f;d=new p6b(J8b);R5b(f,b,d);c=l6b(t0b(l6b(e.Ph(false),e),b),b);X5b(c,q5b(b,29));g=
Q5b(b,b.i,29);g!=b.i&&(b.i=g);R5b(f,d,c);p4(a.b,c)}}function Hxb(a,b){var c,d;if(!b.xi())return b;d=b.zi();if(b.qi()){c=a.b.p[25];return _fc(a.b,(Km(),jn(new jy($m(ED(zD(PU,1),RFc,1,5,[d,c]))),BD(JT,NJc,27,0,0,1))))}return d.ni()||d.li()||d.mi()||d==d.A.p[57]?b:d}function Bec(a,b,c,d){if(a==b)return true;if(a.f!=b.f)return false;switch(a.f.f){case 1:return false;case 2:return Fnc(a.Ri(),b.Ri());case 0:return dbc(a.k,b.k,c,d)&&lcc(a.b,b.b,c,d);default:throw CX(new Mlc);}}function pmb(a){Rlb();var b,
c,d;if(a.k!=(Pac(),Z8b))return null;b=(c=omb(a),!c?null:r5b(c));if(b!=null)return b;d=a.f;switch(d.k.f){case 98:case 87:case 86:case 91:return d.Rh();case 30:return xmb(d)}return null}function PGb(a,b,c){var d,e,f;if(c)e=oFb(a.a,(Pac(),rac),b.a);else{d=aFb(a.a,b);kGb(a,b);e=oFb(a.a,(Pac(),H9b),b.a);!!d&&(f=Q5b(e,e.i,29),f!=e.i&&(e.i=f),!!d&&(e.i=new c7b(29,d,e.i)),e)}AFb(e,b.b.b,b.b.a);return e}function kib(a){var b;if(a.a){b=a.a.f;if(!b)return null;switch(b.k.f){case 65:case 47:case 96:return q5b(b,
29);case 76:case 100:case 88:return a.a==b.b?q5b(b,29):q5b(a.a,29);case 43:return q5b(a.a,29)}}return null}function JFb(a,b){var c,d;if(b.k==(Pac(),u9b)){c=b.b;for(d=b.f;!!d&&d.k!=Z8b;d=d.f)if(d.k==u9b&&Fnc(d.b.Rh(),c.Rh())){a.d.uh(eZb('Duplicate label "%s"',ED(zD(PU,1),RFc,1,5,[c.Rh()])),a.q,y6b(b.j),x6b(b.j));break}}}function _3(a,b,c){var d,e;d=new Itb(b);if(ZCc(a.w,d.a))throw CX(new Fjb("Conflicting externs name: "+b));e=new F5(d,true);k4(a,e.i,e);if(c==0){a5b(a.q,Nd(d.b));_rc(a.o,0,e)}else{_4b(a.q,
Nd(d.b));asc(a.o,e)}return e}function gQb(a,b,c){var d,e;aOb(a,(jUb(),nTb));++a.g.j;e=(Km(),new tr);d=eQb(a);asc(e.a,Nd(d));while(rQb(a,xSb)){aOb(a,xSb);d=eQb(a);!!d&&(asc(e.a,Nd(d)),e)}aOb(a,sSb);--a.g.j;return new eWb(new GYb(b,a.f),c,Sm(e.a))}function F7b(b,c){var d,e,f;dAc();f=(KAc(),NAc(FNc));try{d=LAc(f,b)}catch(a){a=BX(a);if(rE(a,360))throw CX(new IC("no message resource found for message property "+b));else throw CX(a);}e=new Toc(d);return Uoc(e.a,c)}function etc(a){var b,c,d,e,f;if(a==null)return OFc;
f=new uBc(NFc,"[","]");for(c=a,d=0,e=c.length;d<e;++d){b=c[d];!f.a?f.a=new xoc(f.d):roc(f.a,f.b);ooc(f.a,""+b)}return!f.a?f.c:f.e.length==0?f.a.a:f.a.a+(""+f.e)}function ftc(a){var b,c,d,e,f;if(a==null)return OFc;f=new uBc(NFc,"[","]");for(c=a,d=0,e=c.length;d<e;++d){b=c[d];!f.a?f.a=new xoc(f.d):roc(f.a,f.b);ooc(f.a,""+b)}return!f.a?f.c:f.e.length==0?f.a.a:f.a.a+(""+f.e)}function gtc(a){var b,c,d,e,f;if(a==null)return OFc;f=new uBc(NFc,"[","]");for(c=a,d=0,e=c.length;d<e;++d){b=c[d];!f.a?f.a=new xoc(f.d):
roc(f.a,f.b);ooc(f.a,""+b)}return!f.a?f.c:f.e.length==0?f.a.a:f.a.a+(""+f.e)}function jtc(a){var b,c,d,e,f;if(a==null)return OFc;f=new uBc(NFc,"[","]");for(c=a,d=0,e=c.length;d<e;++d){b=c[d];!f.a?f.a=new xoc(f.d):roc(f.a,f.b);ooc(f.a,""+b)}return!f.a?f.c:f.e.length==0?f.a.a:f.a.a+(""+f.e)}function Et(a){var b,c,d;b=a.Pd();if(!a.Od())return b;d=qoc(roc(new uoc,"expected one element but was: <"),b);for(c=0;c<4&&a.Od();c++)qoc((d.a+=NFc,d),a.Pd());a.Od()&&(d.a+=", ...",d);d.a+=">";throw CX(new Fjb(d.a));
}function dqb(a){var b;Fd(a.k==(Pac(),Z8b));if(!a.f)return false;b=a.f;if(b.k!=n8b)return false;if(!!b.b&&b.b.k==d9b&&b.b.b.k==n8b&&J5b(b.b.b.b,wKc)&&b.b.b.e.k==rac&&Fnc(b.b.b.e.Rh(),"then"))return true;return false}function GEb(a){EEb();var b,c,d,e;for(c=ED(zD(JP,1),XFc,125,0,[xEb,yEb,zEb,AEb,BEb,wEb,CEb,DEb]),d=0,e=c.length;d<e;++d){b=c[d];if(hLb(b.a,a))return b}throw CX(new Kmc("No input language mode supports feature: "+a));}function FGb(a,b){var c,d,e,f;f=jFb(a.a,(Pac(),Z9b));if(_Fb(a,b.a))for(d=
b.a._d();d.Od();){c=d.Pd();c.p==(WXb(),IWb)?e=zGb(a,c):e=FFb(a.a,c);Sd(e.k==H9b||e.k==gac||e.k==R7b||e.k==V9b||e.k==D8b);_4b(f,e)}return f}function Np(a,b,c){var d,e;d=b.a&a.f;b.b=a.b[d];a.b[d]=b;e=b.f&a.f;b.d=a.c[e];a.c[e]=b;if(!c){b.e=a.e;b.c=null;!a.e?a.a=b:a.e.c=b;a.e=b}else{b.e=c.e;!b.e?a.a=b:b.e.c=b;b.c=c.c;!b.c?a.e=b:b.c.e=b}++a.i;++a.g}function Hfb(a,b,c){(c.b?c.b.g:null).Rh().indexOf("://")!=-1&&n4(a.a,jjb(c,(wgb(),ugb),ED(zD(UU,1),FHc,2,6,["Module requests with protocols."])));nyc(a.c,new v$(pfb(MAb(b,
(c.b?c.b.g:null).Rh()).a),wfb(a,c)));nyc(a.d,c)}function CGb(a,b){var c,d,e,f;e=PGb(a,b.b,true);f6b(e,(Pac(),H9b));d=kFb(a.a,R8b,e);if(!b.a){f=Q5b(d,d.i,98);f!=d.i&&(d.i=f);d.i=new U6b(98,1,d.i);_4b(d,g5b(e,false))}else{c=PGb(a,b.a,true);f6b(c,H9b);_4b(d,c)}return d}function DPb(a,b){var c,d,e,f,g;e=sRb(a.g,0).b.b;!eOb(a,(jUb(),fTb))&&aOb(a,gTb);d=(f=sRb(a.g,0).b.b,g=bOb(a),new ZVb(new GYb(f,a.f),ZNb(a,g)));aOb(a,oTb);c=b?vOb(a):EPb(a);aOb(a,tSb);return new YVb(new GYb(e,a.f),d,c)}function Cec(a){var b,
c;a.u=true;if(a.j)for(c=new Bsc(a.j);c.a<c.c.a.length;){b=(c.b=c.a++,c.c.a[c.b]);Cec(b)}if(!a.q){(a._i()||a.f==(kfc(),ifc))&&(Xd(a._i()||a.f==(kfc(),ifc),wLc,a),obc(a.k)).Ji();!!a.g&&a.g.e.Ji()}}function cEc(a){var b,c,d;b=Fnc(typeof b,KJc)?null:new _Ec;if(!b)return;nDc();if(LGc>a.a.mj())return;c=(d=a.a.mj(),d>=1E3?"error":d>=900?"warn":d>=800?"info":"log");ZEc(c,a.b);!!a.c&&$Ec(b,c,a.c,"Exception: ",true)}function kIb(a){xIb(a);if(!RHb(a,(fJb(),OIb)))return THb(a,(Pac(),J8b));!a.n?mJb(a.i):JHb(a);
xIb(a);if(RHb(a,eJb)&&Fnc(oIc,a.i.n)){!a.n?mJb(a.i):JHb(a);return THb(a,(Pac(),Kac))}else return nIb(a,!a.n?mJb(a.i):JHb(a))}function vOb(a){var b;b=(Km(),new tr);while(qQb(a,0,(jUb(),eUb))||qQb(a,0,bTb)||qQb(a,0,ySb)||qQb(a,0,RSb)||qQb(a,0,rSb)||qQb(a,0,ZSb)||qQb(a,0,HSb)||qQb(a,0,fTb)||qQb(a,0,gTb)||qQb(a,0,MSb))rr(b,uOb(a));return Sm(b.a)}function vec(a,b,c,d){var e,f,g,h;for(h=b.t.b.ve()._d();h.Od();){g=h.Pd();if((a.ni()||a.li()||a.mi()||a==a.A.p[57]||Pcc(a)||!!a.Si(g)?1:0)==0)return false;e=
a.Qi(g);f=Mcc(b,g);if(!e.ui(f,c,d))return false}return true}function Koc(){Koc=bY;Joc=new Loc("UP",0);Doc=new Loc("DOWN",1);Coc=new Loc("CEILING",2);Eoc=new Loc("FLOOR",3);Hoc=new Loc("HALF_UP",4);Foc=new Loc("HALF_DOWN",5);Goc=new Loc("HALF_EVEN",6);Ioc=new Loc("UNNECESSARY",7)}function Gf(a,b,c){var d;d=a.c.He(b);if(!d){d=a.ye(b);if(d.Vd(c)){++a.d;a.c.Ie(b,d);return true}else throw CX(new Nlc("New Collection violated the Collection spec"));}else if(d.Vd(c)){++a.d;return true}else return false}function Gs(a,
b){As();var c,d,e,f;d=Nd(b.Ve());f=Nd(b.We());c=d;if(xBc(a,c)){e=(new Vqc(new nCc(a,(BCc(),ACc),d))).b.rj().Pd();throw CX(new Fjb("Duplicate keys in mappings "+e.Ve()+"="+e.We()+" and "+d+"="+f));}DBc(a,d,f)}function Q$(a,b,c){var d,e,f,g,h;for(h=(f=(new Ypc(c.a)).a.Ge()._d(),new cqc(f));h.a.Od();){g=(e=h.a.Pd(),e.Ve());d=vq(Op(a.a),g);if(n5b(d,94)!=0)continue;throw CX(new Kmc(b+"deleted scope was not reported:\n"+k6b(d)));}}function Udb(a,b,c,d){var e,f,g;g=new Web(a.a);c=yeb(a.a,c);d=yeb(a.a,d);
Jeb(a.a,g);e=P5b(b);Deb(a.a,c,d);$db(a,e,null,null);Aeb(a.a);Jeb(a.a,d);f=Rdb(a,Qdb(a,P5b(b)));Leb(a.a,l6b(O0b(f,leb(a.a,g,false,b)),b));Jeb(a.a,c)}function otb(){otb=bY;ntb=new D9("SOURCEMAP_RESOLVE_FAILED",(O_(),N_),new Toc("Failed to resolve sourcemap at {0}: {1}"));mtb=new D9("SOURCEMAP_PARSE_FAILED",N_,new Toc("Failed to parse malformed sourcemap in {0}: {1}"))}function htc(a){var b,c,d,e,f;if(a==null)return OFc;f=new uBc(NFc,"[","]");for(c=a,d=0,e=c.length;d<e;++d){b=c[d];!f.a?f.a=new xoc(f.d):
roc(f.a,f.b);ooc(f.a,""+TX(b))}return!f.a?f.c:f.e.length==0?f.a.a:f.a.a+(""+f.e)}function au(a){var b,c;while(!Nd(a.a).Od()){a.d=_t(a);if(!a.d)return false;a.a=a.d.Pd();if(rE(a.a,98)){c=a.a;a.a=c.a;!a.b&&(a.b=new Hrc);orc(a.b,a.d);if(c.b)while(!xrc(c.b))orc(a.b,(b=Brc(c.b),b));a.d=c.d}}return true}function dZ(a,b,c){var d,e;xZ(a,(AMb(),OLb),c);VZ((Pac(),R7b),c);for(d=c.b;d;d=d.e)switch(d.k.f){case 119:pZ(a,b,d);break;case 113:xZ(a,ALb,d);e$(a,b,d);break;case 80:e=l5b(d);0!=e&&u$(lHc+e,d);break;default:JZ(a,
b,d)}}function O$(a){var b,c;c=wmb(a);switch(a.k.f){case 85:return"SCRIPT: "+c;case 65:b=pmb(a);b==null&&(b="anonymous@"+y6b(a.j)+":"+x6b(a.j));return"FUNCTION: "+b+" in "+c;default:throw CX(new Kmc("unexpected Node type"));}}function kab(a,b){var c,d,e,f;if(a.k!=(Pac(),T8b))return null;c=a.b;if(c.k!=n8b)return null;e=c.b;if(!K5b(e,vIc,vIc.length))return null;d=Nd(e.e);if(b!=null&&K5b(d,b,b.length)){f=Nd(d.e);return r5b(f)}else return null}function PFb(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 mGb(a){var b,c,d,e;c=null;while(cGb(a.b)){b=P5b(a).b.Rh();!c&&(c=new is);asc(c.b,Nd(b))}if(c){e=xo(new Bsc(c.b));e.ce()==1&&e.Yd(PHc)&&(e=(XEb(),WEb));d=Q5b(a,a.i,48);d!=a.i&&(a.i=d);!!e&&(a.i=new c7b(48,e,a.i))}}function Fab(a){var b,c,d;Sd(a.k==(Pac(),jac));for(d=(!a.b?(Jtc(),Jtc(),Itc):new h7b(a.b))._d();d.Od();){c=d.Pd();Sd(c.k==lac);
uub();b=(Rlb(),Td(c.k==lac,c),q5b(c,89));if(!!b&&!gLb((eLb(),WKb),b))return true}return false}function spb(a){var b,c,d,e,f;d=new ksc;for(f=It(new $uc((hpb(),fpb).a.b._d()));f.Od();){e=f.Pd();for(c=new Bsc(a.d);c.a<c.c.a.length;){b=(c.b=c.a++,c.c.a[c.b]);if(Fnc(b.b,e)){d.a[d.a.length]=b;break}}}Tc(a.d,d);bsc(a.d,d)}function aIb(a,b){var c,d,e;c=_Hb(a,b);if(!c)return null;xIb(a);if(!RHb(a,(fJb(),OIb)))return c;!a.n?mJb(a.i):JHb(a);xIb(a);e=nIb(a,!a.n?mJb(a.i):JHb(a));if(!e)return null;d=THb(a,(Pac(),
u8b));_4b(d,c);_4b(d,e);return d}function fOb(a){var b;if(qQb(a,0,(jUb(),ITb))&&sRb(a.g,0).b.b.b==a.f.b){aOb(a,ITb);return}b=sRb(a.g,0).b.b.b>a.f.b;if(b||qQb(a,0,ITb)||qQb(a,0,tSb)||qQb(a,0,GSb))return;LQb(a,"Semi-colon expected",ED(zD(PU,1),RFc,1,5,[]))}function HZb(a,b){var c,d,e,f,g,h;h=a.a;e=b.a;f=0;c=0;g=h.length;d=e.length;while(c<d){if(f==g)return false;if(h[f+1]<=e[c])f+=2;else if(h[f]>e[c])return false;else if(h[f+1]>=e[c+1])c+=2;else return false}return c==d}function c0b(a){if(a.indexOf(":")!=
-1||a.indexOf("=")!=-1){if(Jnc(a,boc(58))==-1)return Jnc(a,boc(61));if(Jnc(a,boc(61))==-1)return Jnc(a,boc(58));return $wnd.Math.min(Jnc(a,boc(61)),Jnc(a,boc(58)))}return Jnc(a,boc(32))}function T3(a){var b,c,d,e,f;f=false;a.J.gc>1&&kt(ot(new ltc(a.D.a),new Jjb));for(d=Rm(kt(ot(new ltc(a.D.a),new Jjb)))._d();d.Od();){c=d.Pd();e=w5(c,a);b=q5b(e,29);if(!!b&&(b.a&DIc)!=0){njb(c.k,c);f=true}}f&&(C4(a.H),V3(a))}function C8(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+=pE(a.c[d].a);b=b/a.c.length|0}++a.b}while(Tac(c)||oyc(a.f,c));return c}function heb(a,b,c,d){var e,f;f=l6b(Dgb(K0b(l6b(Dgb(Z0b(gKc+(a.r.b==0?"":"$"+a.r.b)),a.g),b),l6b(new s7b((Pac(),rac),c),b)),a.r.f.g?a.g.Qi(c):null),b);e=l6b(y0b(f,d),b);a.r.f.g&&Y5b(e,f.c.Ci()?f.c.Ci().b.b:a.r.f.i);return e}function xZ(a,b,c){var d,e;d=q5b(c,51);!(!!d&&d.Eh())&&!hLb(a.a.r,b)&&u$("AST should not contain "+b,c);if(!a.c||!a.b)return;e=imb(a.b);(!e||!hLb(imb(a.b),b))&&
u$("SCRIPT node should be marked as containing feature "+b,a.b)}function Crb(a,b){var c,d,e,f,g,h,i;i=new Trb(a);Glb(a.a,b,i);if(i.a.a.ce()!=0){d=null;for(f=(g=(new Ypc(i.a.a)).a.Ge()._d(),new cqc(g));f.a.Od();){e=(c=f.a.Pd(),c.Ve());d=y3(a.a,e,false)}if(d){h=d.f;Frb(a,h,d.e);p4(a.a,h)}}}function LGb(a,b){var c,d,e;hFb(a.a,b,(AMb(),dMb));c=tHb(a,b.a,b);if(!b.d){d=sHb(a,(Pac(),l9b),b.b);y6b(d.j)==-1&&AFb(d,b.o.b,b.o.a)}else{d=oFb(a.a,(Pac(),m9b),b.d.a);yFb(d,b.d)}e=cHb(a,b.c);return mFb(a.a,(Pac(),
j9b),c,d,e)}function qPb(a){var b,c,d;d=sRb(a.g,0).b.b;c=cOb(a);b=null;if(qQb(a,0,(jUb(),TSb))&&Fnc(sRb(a.g,0).a,"as")){gOb(a,"as");b=bOb(a)}else iOb(a,c.a)&&JQb(a,null,aNc,ED(zD(PU,1),RFc,1,5,["as"]));return new PVb(new GYb(d,a.f),c,b)}function b_b(a){var b,c,d,e,f;b=0;for(d=0,e=a.a.length>>1;d<e;++d){f=a.a[d<<1];c=a.a[d<<1|1]-1;f<32||f>=127?b+=f>=256?6:4:++b;switch(c-f){case 0:continue;case 1:break;default:b+=1}c<32||c>=127?b+=c>=256?6:4:++b}return b}function D_b(){D_b=bY;x_b=new E_b("CAPTURING",
0);A_b=new E_b("NONCAPTURING",1);B_b=new E_b("POSITIVE_LOOKAHEAD",2);y_b=new E_b("NEGATIVE_LOOKAHEAD",3);C_b=new E_b("POSITIVE_LOOKBEHIND",4);z_b=new E_b("NEGATIVE_LOOKBEHIND",5)}function K3(a,b){var c,d,e,f;Nd(b);if(!a.A)return null;for(d=Ul(Ql(ED(zD(JU,1),RFc,19,0,[e5b(a.q),e5b(a.A)])));au(d);){e=bu(d);f=q5b(e,51);if((!f?null:f.sg())!=null&&Enc((c=q5b(e,51),!c?null:c.sg()),b))return e}return null}function nab(a,b){var c;switch(b){case "Error":case "EvalError":case "RangeError":case "ReferenceError":case "SyntaxError":case "TypeError":case "URIError":return c=
CY(klb(a),b),!(!!c&&!(!c.a||A5(c.a)));default:return false}}function bOb(a){var b,c;c=sRb(a.g,0).c;if((jUb(),TSb)==c||a.b.d&&NNb(c)||!a.b.c&&MNb(c))return cOb(a);else{JQb(a,sRb(a.g,0),aNc,ED(zD(PU,1),RFc,1,5,[TSb]));return b=sRb(a.g,0).c,TSb==b||(GNb(),GNb(),!!Zn(hNb,b))?cOb(a):null}}function r6b(a,b){Gd(!b.f,"new child has existing parent");Gd(!b.e,"new child has existing next sibling");Gd(!b.g,"new child has existing previous sibling");this.k=a;this.f=null;this.b=b;b.e=null;b.g=this.b;b.f=this;
this.j=-1}function Cxb(a,b){var c,d,e,f;if(!b)return null;d=b.f;c=null;if(d.k==(Pac(),T7b)){e=d.b;if(cnb(e)){f=dgc(a.b,r5b(e.b.b));c=f?f.Ki():null}}else d.k==s8b&&(c=d.c.Ci());return c?(Xd(c._i()||c.f==(kfc(),ifc),wLc,c),obc(c.k)):null}function BZ(a,b,c){if(b==(Pac(),x8b)||b==z9b||b==Jac||b==Z9b){u$(pHc+b+qHc,c);return}switch(c.k.f){case 26:AZ(a,c);break;case 27:eZ(a,c);break;default:throw CX(new Kmc("Expected GETPROP or GETELEM but instead got node "+c.k));}}function Mcb(a){var b,c,d,e;c=q5b(a,29);
if(c){b=a.k==(Pac(),e9b)||n5b(a,73)!=0;if(b&&!!((YJc&c.a)==AGc?c.i:null))return(YJc&c.a)==AGc?c.i:null;else{d=Y1b(c);if(d.ce()==1){e=Z1b(c,Et(Y1b(c)._d()));if(e)return e}}}return null}function sOb(a){var b;switch(sRb(a.g,0).c.f){case 14:b=tOb(a);fOb(a);break;case 29:b=NOb(a,false,true);break;case 31:b=WOb(a);break;case 110:case 111:b=DPb(a,true);break;case 25:case 38:case 30:default:b=wOb(a);fOb(a)}return b}function nCc(a,b,c){this.c=a;switch(b.f){case 2:if(a.a.jf(null,c)<0)throw CX(new Fjb("subMap: null less than "+
c));break;case 1:a.a.jf(null,null);break;case 3:a.a.jf(c,c)}this.f=b;this.b=c;this.a=true;this.e=null;this.d=false}function FDc(a,b){var c,d,e,f;c=$oc(a.a,b);if(!c){d=new aEc(b);e=(ODc(),LDc)?null:d.c;f=Xnc(e,0,$wnd.Math.max(0,Lnc(e,boc(46))));ZDc(d,FDc(a,f));(LDc?null:d.c).length==0&&RDc(d,new dEc);bpc(a.a,LDc?null:d.c,d);return d}return c}function eY(a,b){var c=$wnd;if(a==="")return c;var d=a.split(".");!(d[0]in c)&&c.execScript&&c.execScript("var "+d[0]);if(b){var e=b.prototype.Aj;e.g=b}for(var f;d.length&&
(f=d.shift());)c=c[f]=c[f]||!d.length&&b||{};return c}function c4(a){var b,c,d,e,f;R3(a);f=false;if(a.J._.b){for(c=new cu(Ht(st(kt(ot(new ltc(a.D.a),new Jjb)).a),new pt));au(c);){b=bu(c);for(e=x5(b).d._d();e.Od();){d=e.Pd();nyc(a.s,d)}}Cjb(a.D,a.J._);f=true}T3(a);f&&(C4(a.H),V3(a))}function Mdb(a,b){var c,d,e;Sd(n5b(b,66)!=0);if(b.k==(Pac(),Oac))return b;e=V0b(b);c=w0b(e?(Sd(V0b(b)),new r6b(iac,b)):b);Glb(a.f.b,b,new hfb(a.f));Glb(a.f.b,c,new jfb);d=i5b(c.b?c.b.g:null);$db(a,c,null,null);return e?
P5b(d):d}function hpb(){hpb=bY;gpb=bEc((gmc(lN),lN.p));fpb=(Km(),new jy($m(ED(zD(PU,1),RFc,1,5,["inlineFunctions",PIc,"deadAssignmentsElimination",OIc,"removeUnusedCode",RIc,QIc,VKc,WKc]))));epb=new jy($m(ED(zD(PU,1),RFc,1,5,[VKc,WKc])))}function Uyb(){Uyb=bY;Pyb=new Vyb("MAX",0,1);Qyb=new Vyb("MIN",1,100);Ryb=new Vyb("STRICT",2,100);Nyb=new Vyb(sLc,3,50);Syb=new Vyb("SUPPRESS_BY_WHITELIST",4,40);Tyb=new Vyb("SUPPRESS_DOC",5,20);Oyb=new Vyb("FILTER_BY_PATH",6,1)}function Kzb(a,b,c){var d,e,f,g;g=
zIc.length;Fnc(c.substr(c.length-g,g),zIc)||(c+=zIc);f=a.g.Jh(c);uAb();if(Fnc(c.substr(0,2),MIc)||Fnc(c.substr(0,3),zLc)){e=b;d=e.lastIndexOf("/");f=nBb(e.substr(0,d+1)+(""+f))}return AAb(f,a.f)}function XOb(a){var b,c,d,e,f;d=hOb(a,sRb(a.g,0).b.b);b=null;e=(Km(),new tr);while(f=sRb(a.g,0).c,(jUb(),TSb)==f||a.b.d&&NNb(f)||!a.b.c&&MNb(f)){c=nPb(a).a;b=new $Xb(d,c,null);asc(e.a,Nd(b));rQb(a,tSb)||aOb(a,xSb)}return Sm(e.a)}function U_b(a,b,c){g$b();Sd(b!=null);Gd(a==null||a.length!=0,"if '=' is present in a unicode property escape, the name cannot be empty");
Gd(b.length!=0,"unicode property escape value cannot be empty");this.b=a;this.c=b;this.a=c}function ojc(a,b,c){bbc();var d,e,f,g,h;Dgc.call(this,a,b,Sic(b.fi(),c));d=(Km(),new tr);e=true;for(g=Yic(b.fi())._d();g.Od();){f=g.Pd();h=Wic(this.B,f);asc(d.a,Nd(h));e=e&&h.vi()}this.c=Sm(d.a);this.a=e;this.b=new jjc(a,this.B)}function ed(a,b){var c,d,e,f,g;if(b===a)return true;if(!rE(b,58))return false;g=b;if(a.ce()!=g.ce())return false;f=g._d();for(d=a._d();d.Od();){c=d.Pd();e=f.Pd();if(!(wE(c)===wE(e)||
c!=null&&xb(c,e)))return false}return true}function Q5(a,b,c){var d,e;Fd(b.k==(Pac(),rac));Fd(c.k==Q8b||c.k==j9b);e=b.Rh();if(Fnc(e.substr(0,5),"goog:")){asc(a.d,fzb(e.substr(5)));return}d=LAb(a.b,e,a.b.a,y6b(b.j),x6b(b.j));!d&&(d=MAb(a.b,e));asc(a.d,ezb(pBb(d.a),b.Rh()))}function xGb(a,b){var c,d,e,f,g,h;g=jFb(a.a,(Pac(),v8b));h=b.a.ge(0).o.b;d=b.a.ge(1).o.a;AFb(g,h,d);for(f=b.a._d();f.Od();){e=f.Pd();c=l5b(g);if(c<2)_4b(g,DFb(a.a,e));else{d=e.o.a;g=lFb(a.a,v8b,g,DFb(a.a,e));AFb(g,h,d)}}return g}
function fIb(a){var b,c,d,e,f,g;xIb(a);f=!a.n?mJb(a.i):JHb(a);c=a.i.g;e=lJb(a.i);g=hIb(a,f);uIb(a,c,e,g,f==(fJb(),WIb));b=!g?null:new V4b(g,(d=q5b(a.k,51),!d?null:d.sg()));if(b){G4b(a.e,b);a.e.a.e=true;return z3b(a.e)}return null}function Vmc(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-xNc;b=d>>16&2;c+=b;a<<=b;d=a>>14;b=d&~(d>>1);return c+2-b}}function Dib(){Dib=bY;Bib=new Eib("SET_FROM_GLOBAL",
0);Cib=new Eib("SET_FROM_LOCAL",1);Aib=new Eib("PROTOTYPE_GET",2);wib=new Eib("ALIASING_GET",3);zib=new Eib("DIRECT_GET",4);xib=new Eib("CALL_GET",5);yib=new Eib("DELETE_PROP",6)}function tOb(a){var b,c,d,e;e=sRb(a.g,0).b.b;aOb(a,(GNb(),_Mb).b);c=!!eOb(a,(jUb(),MTb));d=bOb(a);return b=uVb(zVb(tVb(wVb(vVb(xVb(new BVb((GVb(),DVb)),d),c),lOb(a)),gPb(a,1)),kOb(a)),new eVb(new GYb(e,a.f))),qVb(b,new GYb(e,a.f))}function bZ(a,b){switch(b.k.f){case 76:case 100:case 88:QZ(a,b.k,b);break;case 65:yZ(a,b,true);
break;case 96:jZ(a,b,true),OZ(b.b);break;case 152:rZ(b);break;case 160:RZ(a,b,true);break;case 155:p$(a,b);break;case 109:tZ(a,b,true)}}function pOb(a,b){var c,d,e;e=sRb(a.g,0).b.b;d=COb(a,b);if(rQb(a,(jUb(),xSb))&&!qQb(a,1,LTb)){c=(Km(),new tr);asc(c.a,Nd(d));while(rQb(a,xSb)&&!qQb(a,1,LTb)){aOb(a,xSb);rr(c,COb(a,b))}return new IUb(new GYb(e,a.f),Sm(c.a))}return d}function Tx(a,b){var c,d,e;if(wE(b)===wE(a))return true;if(rE(b,632)){e=b;if(a.ce()!=e.ce()||a.Ge().ce()!=e.Ge().ce())return false;for(d=
e.Ge()._d();d.Od();){c=d.Pd();if(a.Qe(c.Te())!=c.Se())return false}return true}return false}function usb(a,b,c,d){var e,f;Fd(b.length!=0);Sd(!rzc(a.e,b));f=new eyb(b,c,a,(fpc(a.e.c),d));Xd(qzc(a.e,b)||!qzc(a.e,b)&&(!Nmb(a.d)||!DY(a.b,b)||(e=CY(a,b),!!e&&e.c.f.k==(Pac(),Z8b))),"Illegal shadow: %s",f.c);szc(a.e,b,f);return f}function tyb(a,b){pyb();var c,d,e;c=(Xd(Jnc(b,boc(46))==-1,JHc,b),new s7b((Pac(),H9b),b));B3(a).Dg(b)&&(d=Q5b(c,c.i,43),d!=c.i&&(c.i=d),c.i=new U6b(43,1,c.i));e=E0b(c,Jac);_4b(w5((!a.Q&&
(a.Q=_3(a,BIc,0)),a.Q),a),e);l4(a,A3(e));b4(a)}function Occ(a,b,c,d){var e,f;Fd(!a.Gi());Fd(!b.Gi());Kd(b.si(),"isStructuralSubtype should be called with structural supertype. Found %s",b);e=Dfc(c,a,b);if(e)return e.a;f=gdc(a,b,c,d);Efc(c,a,b,f?(Jfc(),Gfc):(Jfc(),Hfc));return f}function Kyc(a,b){var c,d,e,f,g;f=b==null?0:a.b.oj(b);d=(c=a.a.get(f),c==null?new Array:c);for(g=0;g<d.length;g++){e=d[g];if(a.b.nj(b,e.Ve())){if(d.length==1){d.length=0;Syc(a.a,f)}else d.splice(g,1);--a.c;return e.We()}}return null}
function S_b(a,b,c){switch(a){case 36:case 94:case 42:case 40:case 41:case 43:case 91:case 124:case 46:case 47:case 63:koc((c.a+=XHc,c),a);break;case 123:48<=b&&b<=57&&(c.a+=XHc,c);c.a+=String.fromCharCode(a);break;default:h$b(a,c)}}function Bjb(a){var b,c,d,e,f,g,h;b=BD(BV,RFc,283,a.a.length,0,1);for(f=0;f<a.a.length;++f){e=a.a[f];g=new Atc(f+1);b[f]=g;Btc(f);h=f/31|0;Ftc(g.a,h);g.a[h]=g.a[h]|0|1<<f%31;for(d=Sm(e.a)._d();d.Od();){c=d.Pd();ytc(g,b[c.c])}}return b}function Exb(a,b){var c;c=null;if(a){Gd(a.f.k==
(Pac(),Z9b),a);a.k==gac?a=(Sd(!!a.b&&!a.b.e),a.b):a.k==D8b&&(a=a.b);if(a.k==H9b)c=a;else{Td(a.k==V9b||a.k==R7b,a);c=null}}if(!c)return"p"+b;else{Td(c.k==(Pac(),H9b),c);return c.Rh()}}function NGb(a,b){var c,d,e,f,g;lGb(a,b,(AMb(),$Lb));f=PGb(a,b.c,false);fGb(a,f,b.b);g=sHb(a,(Pac(),s9b),b.d);c=jFb(a.a,t9b);y6b(c.j)==-1&&AFb(c,b.o.b,b.o.a);for(e=b.a._d();e.Od();){d=e.Pd();_4b(c,DFb(a.a,d))}return mFb(a.a,r9b,f,g,c)}function fHb(a,b){var c,d,e,f,g;f=jFb(a.a,(Pac(),C8b));c=jFb(a.a,k8b);g=Q5b(c,c.i,39);
g!=c.i&&(c.i=g);c.i=new U6b(39,1,c.i);y6b(c.j)==-1&&AFb(c,b.o.b,b.o.a);if(b.a)for(e=b.a._d();e.Od();){d=e.Pd();_4b(c,DFb(a.a,d))}_4b(f,c);return f}function I5b(a,b){if(!b||b.k!=a.k)return false;switch(a.k.f){case 29:return a.Rh().length!=0&&a.Rh()==b.Rh();case 33:case 99:return true;case 26:return(a.b?a.b.g:null).Rh()==(b.b?b.b.g:null).Rh()&&I5b(a.b,b.b);default:return false}}function Fl(a){var b,c,d,e,f,g,h;if(fpc(a.a.c)==0)return Nl(),Ml;b=new Er(fpc(a.a.c));g=0;for(d=new Vzc(a);d.b!=d.c.a.b;){c=
Tzc(d);e=c.d;h=c.e;f=Sm(h);if(!f.$d()){asc(b.b,(zn(),Gk(e,f),new qq(e,f)));g+=f.ce()}}return new Cl(Mn(b.b),g)}function T$(a,b,c){if(b.k==(Pac(),jac))return;if(n5b(b,56)>n5b(c,56)){if(X$(b,c))throw CX(new Kmc(a+"unchanged scope marked as changed: "+O$(b)));}else if(!X$(b,c))throw CX(new Kmc(a+"changed scope not marked as changed: "+O$(b)));}function kgb(a,b,c){var d,e,f;Xd(c.k==(Pac(),H9b)||c.k==m9b,"Invalid node for declareVar: %s",c);e=c.Rh();f=rzc(b.e,e);if(!!f&&f.c==c)return;d=G3(a.a,a.b);!!f||
!ogb(e,b)||(b.d.k==Z8b||Nmb(b.d))&&Fnc(e,fHc)?a.c.rh(b,e,c,d):usb(b,e,c,d)}function pnb(a,b){Rlb();var c,d,e,f,g,h,i;d=!(a.k==(Pac(),d9b)||a.k==c9b);c=y0b(a,ED(zD(nT,1),KHc,7,0,[]));i=Q5b(c,c.i,50);i!=c.i&&(c.i=i);(d?1:0)!=0&&(c.i=new U6b(50,d?1:0,c.i));for(f=b,g=0,h=f.length;g<h;++g){e=f[g];_4b(c,e)}return c}function Fsb(b){var c,d;if(b.d!=null)return;try{d=Tnc(b.a,KGc,-1);b.d=BD(AE,MGc,8,d.length,15,1);for(c=1;c<d.length;++c)b.d[c]=b.d[c-1]+d[c-1].length+1}catch(a){a=BX(a);if(rE(a,99)){b.d=BD(AE,
MGc,8,1,15,1);b.d[0]=0}else throw CX(a);}}function CIb(a){AHb();var b,c;b=hEb(nEb(kEb(lEb(oEb(iEb(mEb(jEb(nEb(kEb(new pEb,(EEb(),DEb)),(PEb(),OEb)),(tEb(),sEb)),(KEb(),JEb)),cEb((lm(),oy(),ny))),(null,ny)),false),xEb),NEb));c=new BIb(new rJb(a),a,0,null,b,(l0b(),k0b));return c}function xJb(a,b,c,d,e){var f;zJb();f=vJb;return hEb(nEb(lEb(kEb(oEb(mEb(jEb(iEb(lEb(oEb(iEb(mEb(jEb(nEb(kEb(new pEb,(EEb(),DEb)),(PEb(),OEb)),(tEb(),sEb)),(KEb(),JEb)),cEb((lm(),oy(),ny))),(null,ny)),false),cEb(f)),b),c),wJb),
a),d),e))}function R5b(a,b,c){var d,e,f;Gd(!c.e,yNc);Gd(!c.g,zNc);Gd(!c.f,ANc);Zd(b.f==a,BNc,a,b);n6b(c,b);c.f=a;e=b.e;f=b.g;d=a.b.g;if(b==f){a.b=c;a.b.g=c}else{b==a.b?a.b=c:f.e=c;b==d?a.b.g=c:e.g=c;c.g=f}c.e=e;b.e=null;b.g=null;b.f=null}function aY(a,b,c){var d=$X,h;var e=d[a];var f=e instanceof Array?e[0]:null;if(e&&!f)_=e;else{_=(h=b&&b.prototype,!h&&(h=$X[b]),dY(h));_.Bj=c;!b&&(_.Cj=gY);d[a]=_}for(var g=3;g<arguments.length;++g)arguments[g].prototype=_;f&&(_.Aj=f)}function Jhb(a,b){var c,d,e,
f;Td(b.k==(Pac(),w9b),b);for(e=b.b;e;e=e.e){if(e.k==u8b){d=e.b;f=d.e}else{d=e;f=null}Td(d.k==sac,d);c=d.Rh();(Fnc(c.substr(0,1),"'")||Fnc(c.substr(0,1),'"'))&&(c=Xnc(c,1,c.length-1));nyc(a.b,c);!!f&&Khb(a,f)}}function tBb(a){var b,c,d,e;b=(zn(),new Dr);for(e=An(a)._d();e.Od();){d=e.Pd();c=d.Ve();uAb();!Fnc(c.substr(0,"/".length),"/")&&!(Fnc(c.substr(0,MIc.length),MIc)||Fnc(c.substr(0,zLc.length),zLc))&&(c="/"+c);Ar(b,c,d.We())}return Mn(b.b)}function iQb(a){var b,c,d;c=sRb(a.g,0).b.b;if(rQb(a,(jUb(),
bUb))){aOb(a,bUb);d=bOb(a);b=(Km(),new tr);!!d&&rr(b,d.a);while(rQb(a,vTb)){aOb(a,vTb);d=bOb(a);if(!d)break;rr(b,d.a)}return new oYb(new GYb(c,a.f),Sm(b.a))}else return jQb(a)}function oIb(a,b){var c;if(b==(fJb(),WIb)){xIb(a);c=mIb(a,!a.n?mJb(a.i):JHb(a));if(c){xIb(a);RHb(a,aJb)?!a.n?mJb(a.i):JHb(a):(FHb(a,hMc,a.i.g,lJb(a.i)),null)}return c}else{FHb(a,"msg.jsdoc.missing.braces",a.i.g,lJb(a.i));return nIb(a,b)}}function Fu(a,b){var c,d,e,f;f=SX(MX(vGc,Xmc(SX(MX(b==null?0:Bb(b),wGc)),15)));c=f&a.b.length-
1;e=null;for(d=a.b[c];d;e=d,d=d.a)if(d.d==f&&Bd(d.i,b)){!e?a.b[c]=d.a:e.a=d.a;zu(d.c,d.f);yu(d.b,d.e);--a.f;++a.e;return true}return false}function LFb(a,b){var c,d;if(b.k==(Pac(),Z9b)){c=b.b;for(;c;c=c.e){if(c.k!=H9b)continue;d=c.e;for(;d;d=d.e)d.k==H9b&&Fnc(c.Rh(),d.Rh())&&a.d.vh(eZb('Duplicate parameter name "%s"',ED(zD(PU,1),RFc,1,5,[c.Rh()])),a.q,y6b(b.j),x6b(b.j))}}}function aHb(a,b){var c,d,e,f,g,h,i;i=b.a;f=pFb(a.a,rFb(i));AFb(f,i.b.b,i.b.a);g=kFb(a.a,(Pac(),fac),f);h=i.a;e=Lnc(h,boc(47));
c="";e<h.length&&(c=h.substr(e+1));vHb(a,b,c);if(c.length!=0){d=pFb(a.a,c);AFb(d,i.b.b,i.b.a);_4b(g,d)}return g}function Uv(a,b){var c,d,e;if(wE(b)===wE(Nd(a)))return true;if(!rE(b,58))return false;d=b;e=a.ce();if(e!=d.ce())return false;if(rE(d,72)){for(c=0;c<e;c++)if(!Bd(a.ge(c),d.ge(c)))return false;return true}else return At(a._d(),d._d())}function Blb(a,b){var c,d,e,f,g,h;e=b.b;f=e.e;c=f.e;g=(Rlb(),b.k==(Pac(),s8b)&&(!(b.k==s8b&&dnb(b.b))||!Jmb(b.f)));zlb(a,f,b);for(d=c.b;d;){h=d.e;d.k==w8b&&
zlb(a,d.b,d);d=h}g||zlb(a,e,b);a.e=b;slb(a,b);g&&zlb(a,e,b);zlb(a,c,b);rlb(a,false)}function rkb(a,b,c){var d,e,f,g;Td((Rlb(),$lb(c)||c.k==(Pac(),Z8b)||c.k==(Pac(),F9b)||c.k==(Pac(),jac)&&!c.f||c.k==(Pac(),lac)),c);for(g=(e=(new hqc(klb(b).e)).a.Ge()._d(),new mqc(e));g.a.Od();){f=(d=g.a.Pd(),d.We());yrc(a.b).wh(f.b,false)}}function Gsb(b,c){var d,e;Fsb(b);if(c>b.d.length)return null;c<1&&(c=1);e=b.d[c-1];d="";try{d=b.a}catch(a){a=BX(a);if(rE(a,99))return null;else throw CX(a);}return Knc(d,boc(10),
e)==-1?e>=d.length?null:d.substr(e):Xnc(d,e,Knc(d,boc(10),e))}function i3b(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.Sh(b.d,false,true,false,false))&&a.f==b.f&&a.e==b.e&&a.c==b.c&&a.b==b.b}function UA(a,b){var c,d,e;VA(a);switch(b.f){case 7:WA(a>0&(a&a-1)==0);case 1:case 3:return 31-Vmc(a);case 0:case 2:return 32-Vmc(a-1);case 5:case 4:case 6:d=Vmc(a);c=-1257966797>>>d;e=31-d;return e+(~~(c-
a)>>>31);default:throw CX(new Mlc);}}function o$(a,b){var c,d,e;VZ((Pac(),Dac),b);d=l5b(b);(d<2||d>3)&&u$(wHc+d,b);fZ(a,b.b);e=false;c=b.b.e;VZ(k8b,c);LZ(c);if(c.b){hZ(a,c.b);e=true}if(l5b(b)==3){fZ(a,b.b?b.b.g:null);e=true}e||u$("Missing catch or finally for try statement.",b)}function iob(a,b){var c,d,e;Fd(b.k==(Pac(),u9b));e=b.b?b.b.g:null;switch(e.k.f){case 83:case 82:case 72:case 73:case 101:case 70:case 71:return;default:d=(c=new p6b(k8b),c);n6b(d,e);R5b(b,e,d);a5b(d,e);job(a,"LABEL normalization",
b);return}}function HFb(a,b){var c,d,e;e=new Hrc;while(b){LFb(a,b);IFb(a,b);MFb(a,b);KFb(a,b);JFb(a,b);b.k==(Pac(),Z8b)&&b.f.k==k8b&&(!b.f?null:b.f.f).k!=Z8b&&iFb(a,b,(AMb(),FLb));d=b.e;c=b.b;if(c){!!d&&orc(e,d);b=c}else d?b=d:b=Arc(e)}Sd(e.b==e.c)}function YGb(a,b){var c,d,e,f,g;c=UGb(a,b.a);f6b(c,(Pac(),sac));e=b.b;if(!e){g=QGb(a,b.a);d=Q5b(c,c.i,98);d!=c.i&&(c.i=d);c.i=new U6b(98,1,c.i)}else g=(e.p==(WXb(),IWb)?f=zGb(a,e):e.p==ZWb?f=QGb(a,e.a):f=FFb(a.a,e),f);a5b(c,g);return c}function _D(a,b){var c,
d,e,f,g;b&=63;c=a.h;d=(c&ZGc)!=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?YGc:0;f=c>>b-22;e=a.m>>b-22|c<<44-b}else{g=d?YGc:0;f=d?XGc:0;e=c>>b-44}return JD(e&XGc,f&XGc,g&YGc)}function Ckb(a,b,c,d){Akb(this);Td((Rlb(),$lb(a)||a.k==(Pac(),Z8b)||a.k==(Pac(),F9b)||a.k==(Pac(),jac)&&!a.f),a);a.k==(Pac(),Z8b)&&Td(!c,a);this.i=a;this.e=false;this.g=b;if(c){Td(!$lb(a),a);this.f=this}else{Td($lb(a)||a.k==Z8b,a);this.f=d.f}}function e4b(a,b){if((a.a.a&2)!=0||k2b(a.a)||
(a.a.a&KKc)!=0||W1b(a.a)>0||(a.a.a&YJc)==AGc||e2b(a.a)||R1b(a.a)>0||T1b(a.a)!=null||!!a.a.g||(a.a.a&YJc)==aKc||(a.a.a&YJc)==LGc||(a.a.a&YJc)==yKc)return false;else{A2b(a.a,b);a.e=true;return true}}function J4b(a,b){if(!!b&&!((a.a.a&2)!=0||k2b(a.a)||(a.a.a&KKc)!=0||W1b(a.a)>0||(a.a.a&YJc)==AGc||e2b(a.a)||R1b(a.a)>0||T1b(a.a)!=null||!!a.a.g||(a.a.a&YJc)==aKc||(a.a.a&YJc)==LGc||(a.a.a&YJc)==yKc)&&E1b(a.a,b)){a.e=true;return true}return false}function gdc(a,b,c,d){var e,f,g,h,i,j;for(j=(f=(new $qc(Lcc(b).a)).a.Ge().b.rj(),
new frc(f));j.a.Od();){i=(e=j.a.Pd(),e.Ve());h=b.Qi(i);if(a.ei(i,false)==0){if(h.ji())continue;return false}g=a.Qi(i);if(!g.ui(h,c,d))return false}return true}function Emb(a){var b;if(!(a.k==(Pac(),Z8b)&&Jmb(a.f)&&a.k==Z8b&&dnb(a.b)))return false;b=a.f;while(b)switch(b.k.f){case 82:return b.f.k!=Z8b;case 65:case 85:case 156:case 109:case 112:return false;default:Td(b.k==u9b,b);b=b.f}return false}function ryb(a,b,c){var d,e,f,g,h,i,j;f=qyb(a);if(!a.d){h=new Flb(a.a,new xyb(a),f);ylb(h,b)}g=new Flb(a.a,
a,f);Elb(g,b,c);for(j=(e=(new Ypc(a.e.a)).a.Ge()._d(),new cqc(e));j.a.Od();){i=(d=j.a.Pd(),d.Ve());tyb(a.a,i);pyc(a.e,i)}!!a.b&&Ayb(a.b)}function UNb(a){var b,c,d,e;d=new ksc;asc(d,$mc(0));for(c=0;c<a.length;c++){b=a.charCodeAt(c);if(VNb(b)){c+1<a.length&&b==13&&a.charCodeAt(c+1)==10&&++c;asc(d,$mc(c+1))}}asc(d,$mc(EFc));return e=BD(AE,MGc,8,d.a.length,15,1),_sc(e,new WNb(d)),e}function AOb(a){var b,c,d;c=sRb(a.g,0).b.b;d=KPb(a);while(b=sRb(a.g,0).b.b.b>a.f.b,!(b||qQb(a,0,(jUb(),ITb))||qQb(a,0,(jUb(),
tSb))||qQb(a,0,(jUb(),GSb)))&&qQb(a,0,(jUb(),qTb))){aOb(a,(jUb(),qTb));aOb(a,vSb);d=new xUb(new GYb(c,a.f),d)}return d}function D3b(a,b,c,d,e){var f,g,h;if(a.b){h=new l3b;Gd(b.charCodeAt(0)!=32&&Anc(b,b.length-1)!=32,wNc);h.d=b;f3b(h,d,e,d,e+b.length);g=new h3b;f=new t7b((Pac(),H9b),b,d,e);Z5b(f,b.length);!!c&&e6b(f,c);g.d=f;f3b(g,d,e,d,e+b.length);b3b(a.b,g)}}function ghb(a,b){var c;Fd(b.k==(Pac(),lac));nfb(b)&&(a.c=($5(),V5));c=G3(a.a,q5b(b,53));z5(c).Yd((azb(),_yb))&&t5(c,_yb);Glb(a.a,b,a);a.c==
($5(),V5)?ehb(a,b,true):a.c==Z5&&false&&null.Dj(y5(c).a)&&(a.c=X5);u5(c,pBb(y5(c).a));C5(c,a.c);c.g=true}function Qpb(a){var b,c,d;Td(a.k==(Pac(),n8b),a);b=a.b;while(b.k==q8b)b=b.b;Rlb();b.k==d9b||b.k==c9b||(d=Q5b(a,a.i,50),d!=a.i&&(a.i=d),a.i=new U6b(50,1,a.i));b.k==H9b&&Fnc("eval",b.Rh())&&(c=Q5b(b,b.i,49),c!=b.i&&(b.i=c),b.i=new U6b(49,1,b.i))}function qZ(a,b,c){var d,e;e=l5b(c);(e<1||e>2)&&u$(sHc+e,c);d=c.b;switch(d.k.f){case 93:dZ(a,b,d);break;case 94:_Z(a,b,d);break;default:u$("Invalid destructuring lhs first child for "+
b+qHc,c)}!!c.b&&!!c.b.e&&c.b.e==(c.b?c.b.g:null)&&wZ(a,c.b.e)}function K0(a){var b,c,d;c=null;if(a.k==(Pac(),d9b))c=(a.b?a.b.g:null).Rh();else if(a.k==H9b){d=a.Rh();b=Lnc(d,boc(36));b!=-1&&(c=d.substr(b+1))}if(c!=null)if(Fnc(c,"inherits"))return Z2(),X2;else if(Fnc(c,"mixin"))return Z2(),Y2;return null}function Ggb(a){Fgb();this.a=a;this.e=null;this.f=null;this.d=null;this.c=null;this.b=Y5b(y0b(Y5b(K0b(Y5b((Xd(Jnc(rKc,boc(46))==-1,JHc,rKc),new s7b((Pac(),H9b),rKc)),this.d),Y5b(new s7b(rac,"pow"),
this.f)),this.c),ED(zD(nT,1),KHc,7,0,[])),this.e)}function dHb(a,b){var c,d,e,f,g,h;g=b.a;d=cHb(a,g);h=d.Rh();if(Jnc(h,boc(11))!=-1){f=g.b.b.c;c=g.b.a.c;f<a.a.r.length&&Xnc(a.a.r,f,$wnd.Math.min(a.a.r.length,c)).indexOf("\\v")!=-1&&(e=Q5b(d,d.i,54),e!=d.i&&(d.i=e),d.i=new U6b(54,1,d.i))}return d}function ORb(a){nRb(a);while(mRb(a,a.f)&&(mRb(a,a.f)?Anc(a.b,a.f):0)!=93&&!ZRb(mRb(a,a.f)?Anc(a.b,a.f):0))if(!PRb(a))return false;if((mRb(a,a.f)?Anc(a.b,a.f):0)!=93){uRb(a,"']' expected",ED(zD(PU,1),RFc,1,
5,[]));return false}nRb(a);return true}function NZb(a,b){var c,d,e,f,g;f=a.a.length;if(b==0||f==0)return a;if(b<0){e=a.a[0]+b;if(EX(e,LGc)<0)throw CX(new Hlc);}else{d=a.a[f-1]+b;if(EX(d,EFc)>0)throw CX(new Hlc);}g=BD(AE,MGc,8,f,15,1);for(c=f;--c>=0;)g[c]=a.a[c]+b;return new QZb(g)}function PNb(){GNb();return ED(zD(aQ,1),XFc,41,0,[JMb,KMb,LMb,OMb,PMb,RMb,SMb,TMb,UMb,ZMb,$Mb,_Mb,aNb,dNb,eNb,lNb,rNb,uNb,vNb,wNb,yNb,ANb,BNb,CNb,DNb,ENb,MMb,NMb,VMb,WMb,XMb,cNb,tNb,bNb,fNb,iNb,nNb,oNb,pNb,qNb,sNb,FNb,mNb,
xNb,YMb,QMb,zNb,jNb,kNb])}function jA(a,b){var c,d;if(b>127)throw CX(new SA((c=b>>>0,HGc+c.toString(16))));d=a.e[b];if(d==-1)if(b<=32||b==127)throw CX(new SA((c=b>>>0,HGc+c.toString(16))));else throw CX(new SA("Unrecognized character: "+String.fromCharCode(b)));return d}function Reb(a,b){this.r=a;this.n=new jyc;this.c=new Hrc;this.i=new Hrc;this.e=new Hrc;this.k=new Hrc;this.f=new qyc;this.a=new ksc;this.q=new ksc;this.p=new Web(this);Sd(this.p.c==0);this.j=new Web(this);Sd(this.j.c==1);asc(this.a,
this.j);this.g=b}function mrb(a,b,c){var d,e,f,g,h;for(e=(!c.b?(Jtc(),Jtc(),Itc):new h7b(c.b))._d();e.Od();){d=e.Pd();h=d.b;Sd(d.k==(Pac(),sac)&&(h.k==rac||h.k==U8b));f=d.Rh();Fnc(f.substr(0,2),MIc)&&(f=f.substr(2));g=h.k==rac?b+(""+h.Rh()):fLc;bpc(a.b,b+(""+f),g)}}function Mfc(){return ED(zD(ET,1),MGc,8,15,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,
67,68,69,70])}function jHb(a,b){var c,d,e,f,g;g=kFb(a.a,(Pac(),Dac),EFb(a.a,b.a));c=jFb(a.a,k8b);f=false;d=b.b;if(d){y6b(c.j)==-1&&AFb(c,d.o.b,d.o.a);f=true;_4b(c,DFb(a.a,d))}_4b(g,c);e=b.c;!!e&&_4b(g,EFb(a.a,e));!f&&!!e&&y6b(c.j)==-1&&AFb(c,e.o.b,e.o.a);return g}function MRb(a){if(!_Rb(mRb(a,a.f)?Anc(a.b,a.f):0)){uRb(a,"Expected regular expression first char",ED(zD(PU,1),RFc,1,5,[]));return false}if(!NRb(a))return false;while(mRb(a,a.f)&&$Rb(mRb(a,a.f)?Anc(a.b,a.f):0))if(!NRb(a))return false;return true}
function n3b(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.Sh(b.d,false,true,false,false))&&a.f==b.f&&a.e==b.e&&a.c==b.c&&a.b==b.b&&a.a==b.a}function Geb(a,b,c,d){var e;if(xrc(a.k)||vrc(a.k).c<c.c)e=hKc;else{Sd(vrc(a.k).c!=c.c);e="jumpThroughFinallyBlocks"}if(d==0){$4b(b.f,ieb(a,b,e,ED(zD(nT,1),KHc,7,0,[Teb(c,b)])),b);S5b(b,keb(a,b))}else S5b(b,Heb(a,b,e,ED(zD(nT,1),KHc,7,0,[Teb(c,b)])))}function xgb(a,
b){wgb();var c,d,e;e=(!a.T&&(a.T=new mgc),a.T);c=e.p[0];d=Y5b((y3(a,QJc+Znc("arrayFromIterable",(dAc(),bAc)),false),y0b(snb(a,"$jscomp.arrayFromIterable"),ED(zD(nT,1),KHc,7,0,[b]))),c);Y5b(d.b,Qfc(e,c,ED(zD(JT,1),NJc,27,0,[])));return d}function Vib(){Vib=bY;Uib=new D9("JSC_IMPLICITLY_NULLABLE_JSDOC",(O_(),M_),new Toc("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 Djb(a){var b,
c;new Byc;this.a=BD(rM,RFc,315,a.a.length,0,1);for(c=0;c<this.a.length;++c){b=a.a[c];Xd(b.c==-1,"Module index already set: %s",b);Id(c>=0,"Invalid module index: %s",c);b.c=c;this.a[c]=b}this.b=zjb(this);this.c=Bjb(this);Ajb(this)}function Cmb(a){Rlb();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 xBb(a,b,c){var d,
e,f;f="/".length;Fnc(c.substr(c.length-f,f),"/")&&(c=Xnc(c,0,c.length-1));for(d=0;d<qBb.length;d++){e=Jzb(a,b,c+(""+qBb[d]));if(e!=null)if(Fnc(qBb[d],gLc)){if(Xn(a.c,e))return vBb(a,b,Zn(a.c,e))}else return e}return null}function tJb(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 Vac(),!(a<=127?a==32||a==9||a==12||a==11:a==160)}}function wmc(a){if(a.jj()){var b=
a.c;b.kj()?a.p="["+b.o:!b.jj()?a.p="[L"+b.sg()+";":a.p="["+b.sg();a.b=b.hj()+"[]";a.n=b.ij()+"[]";return}var c=a.j;var d=a.d;d=d.split("/");a.p=zmc(".",[c,zmc("$",d)]);a.b=zmc(".",[c,zmc(".",d)]);a.n=d[d.length-1]}function y_(){y_=bY;x_=new D9("JSC_UNDEFINED_NAME",(O_(),N_),new Toc("{0} is never defined"));new D9("JSC_NAME_DEFINED_LATE",N_,new Toc("{0} defined before its owner. {1} is defined at {2}:{3}"));w_=new D9("JSC_STRICT_MODULE_DEP_QNAME",M_,new Toc(DHc))}function MJb(a,b){if(b.k!=(Pac(),H9b)&&
b.k!=rac){a.a.vh(dMc+F7b(uMc,ED(zD(PU,1),RFc,1,5,[DFc])),a.b.sg(),a.d,a.c);return false}if(b.Rh().length==0){a.a.vh(dMc+F7b(uMc,ED(zD(PU,1),RFc,1,5,["string parameter"])),a.b.sg(),a.d,a.c);return false}return true}function VYb(a,b){var c,d,e,f;e=new uoc;e.a+="0";if(a.b.n>0){e.a+=".";f=BD(zE,JFc,8,a.b.n,15,1);Ssc(f,f.length,48);e.a+=ioc(f,0,f.length)}e.a+="E+00";c=fY(a.a);roc(b,Pnc(c,69,101));if(a.b.i&&a.b.n==0){d=b.a.indexOf("e");b.a=Xnc(b.a,0,d)+"."+Wnc(b.a,d)}}function nlb(a,b,c){var d,e,f,g,h;
d=a.g;a.g=b;a.e=b;if(a.a.zg(a,b,c)){e=b.b;f=!!c&&(Rlb(),b.k==(Pac(),Z8b)&&Jmb(b.f)&&b.k==Z8b&&dnb(b.b));f&&zlb(a,e,b);a.e=b;slb(a,b);f||zlb(a,e,b);g=e.e;h=g.e;zlb(a,g,b);zlb(a,h,b);rlb(a,false);a.e=b;a.a.Ag(a,b,c)}a.g=d}function eHb(a,b){var c,d,e,f,g,h;f=b.a;g=kFb(a.a,(Pac(),p8b),DFb(a.a,f));c=jFb(a.a,k8b);h=Q5b(c,c.i,39);h!=c.i&&(c.i=h);c.i=new U6b(39,1,c.i);y6b(c.j)==-1&&AFb(c,b.o.b,b.o.a);if(b.b)for(e=b.b._d();e.Od();){d=e.Pd();_4b(c,DFb(a.a,d))}_4b(g,c);return g}function ZOb(a){var b,c,d,e;e=
sRb(a.g,0).b.b;b=kQb(a);if(rQb(a,(jUb(),OTb))){b.p==(WXb(),NXb)&&LQb(a,"Unary operator '%s' requires parentheses before '**'",ED(zD(PU,1),RFc,1,5,[b.b]));c=oOb(a);d=ZOb(a);return new AUb(new GYb(e,a.f),b,c,d)}else return b}function T3b(a,b){if(!!b&&!((a.a.a&2)!=0||k2b(a.a)||(a.a.a&KKc)!=0||W1b(a.a)>0||(a.a.a&YJc)==AGc||e2b(a.a)||R1b(a.a)>0||T1b(a.a)!=null||!!a.a.g||(a.a.a&YJc)==aKc||(a.a.a&YJc)==LGc||(a.a.a&YJc)==yKc)){M2b(a.a,b,yKc);a.e=true;return true}else return false}function G4b(a,b){if(!!b&&
!((a.a.a&2)!=0||k2b(a.a)||(a.a.a&KKc)!=0||W1b(a.a)>0||(a.a.a&YJc)==AGc||e2b(a.a)||R1b(a.a)>0||T1b(a.a)!=null||!!a.a.g||(a.a.a&YJc)==aKc||(a.a.a&YJc)==LGc||(a.a.a&YJc)==yKc)){M2b(a.a,b,aKc);a.e=true;return true}else return false}function E0(){E0=bY;new D9("JSC_REFLECT_OBJECTLIT_EXPECTED",(O_(),N_),new Toc("Object literal expected as second argument"));L0b((Xd(Jnc(IHc,boc(46))==-1,JHc,IHc),new s7b((Pac(),H9b),IHc)),new s7b(rac,"reflect"),ED(zD(nT,1),KHc,7,0,[new s7b(rac,"cache")]))}function sfb(a,b,
c,d){var e,f,g;e=snb(a.a,d.b);f=I0b((Xd(Jnc("",boc(46))==-1,JHc,""),new s7b((Pac(),H9b),"")),new p6b(Z9b),w0b((Sd(V0b(e)),new r6b(iac,e))));m6b(f,d.a);g=b1b(ED(zD(nT,1),KHc,7,0,[k1b(WJc,new p6b(Cac)),k1b(SHc,f)]));_4b(b,k1b(c,g));o4(a.a,f)}function kGb(a,b){var c,d;c=b.a;d=false;if(Tac(c)){a.a.e=kLb(a.a.e,(AMb(),QLb));d=a.a.a.c==(EEb(),xEb)}if(!!a.a.n&&a.a.n.Yd(c)){a.a.e=kLb(a.a.e,(AMb(),_Lb));d=a.a.a.c==(EEb(),xEb)}d&&a.a.d.uh("identifier is a reserved word",a.a.q,(XEb(),b.b.b.b+1),b.b.b.a)}function P0(a,
b){var c;V0(a);if(b.length==0)return;c=b.charCodeAt(0);(c==95||c==36||(Tlc==null&&(Tlc=new RegExp(MFc,"i")),Tlc.test(String.fromCharCode(c)))||c==92)&&g1(a.Vg())?a.Jg(" "):c==47&&a.Vg()==47?a.Jg(" "):(c==34||c==39)&&g1(a.Vg())&&a.Yg();a.Jg(b)}function bmb(a){Rlb();var b;Gd(!!a&&(a.k==(Pac(),Jac)||a.k==z9b||a.k==x8b)||a.k==(Pac(),Z9b)||Bmb(a)||a.k==(Pac(),r8b)||a.k==(Pac(),F8b)||a.k==(Pac(),D8b)||a.k==(Pac(),j9b)||a.k==(Pac(),Y8b)||a.k==(Pac(),W8b)||a.k==(Pac(),X8b),a);b=new ksc;mmb(a,b);return b}
function mHb(a,b){var c,d;d=ZFb(b.b.c);c=DFb(a.a,b.a);if(d==(Pac(),M9b)&&c.k==S9b){c.Uh(-c.Qh());return c}else{d==E8b&&!(c.k==d9b||c.k==c9b||c.k==H9b)&&a.a.d.uh("Invalid delete operand. Only properties can be deleted.",a.a.q,y6b(c.j),0);return kFb(a.a,d,c)}}function NPb(a,b){var c;if(qQb(a,0,(jUb(),qTb))||qQb(a,0,oTb))c=LPb(a,b);else{c=wPb(a);qUb(c)||LQb(a,eNc,ED(zD(PU,1),RFc,1,5,[]));b==0&&c.p!=(WXb(),ZWb)&&LQb(a,"Only an identifier or destructuring pattern is allowed here.",ED(zD(PU,1),RFc,1,5,
[]))}return c}function v6b(a,b,c,d,e){Fd(!b.f);Fd(!b.e);Fd(!b.g);Fd(!c.f);Fd(!c.e);Fd(!c.g);Fd(!d.f);Fd(!d.e);Fd(!d.g);Fd(!e.f);Fd(!e.e);Fd(!e.g);this.k=a;this.f=null;this.b=b;b.e=c;b.g=e;b.f=this;c.e=d;c.g=b;c.f=this;d.e=e;d.g=c;d.f=this;e.e=null;e.g=d;e.f=this;this.j=-1}function g$(a,b){var c,d,e,f;VZ((Pac(),lac),b);f=(d=q5b(b,51),!d?null:d.sg());!f&&u$("Missing 'source name' annotation.",b);e=q5b(b,53);!e&&u$("Missing 'input id' annotation.",b);a.b=b;if(!!b.b&&b.b.k==F9b){c=l5b(b);1!=c&&u$(rHc+
c,b);NZ(a,b.b)}else j$(a,b.b)}function NAc(a){KAc();var b,c,d;if(Fnc(FNc,a))d="rhino/Messages.properties";else if(Fnc(sMc,a))d="parsing/ParserConfig.properties";else throw CX(new IC("ResourceBundle not available: "+a));b=$oc(JAc,d);if(!b){c=i0b(d);b=new MAc(d0b(c));bpc(JAc,d,b)}return b}function Ipb(a,b){var c,d,e,f;if(Hmb(b)&&b.k!=(Pac(),u9b)&&b.k!=(Pac(),wac))for(d=b.b;d;d=d.e)if(Imb(b,d)&&d.k!=(Pac(),k8b)){e=l6b((c=new p6b((Pac(),k8b)),c),b);R5b(b,d,e);f=Q5b(e,e.i,39);f!=e.i&&(e.i=f);e.i=new U6b(39,
1,e.i);d.k==J8b||d5b(e,d);d=e;Lpb(a)}}function Gxb(a,b){var c,d,e;c=(Rlb(),d=dmb(b),!d?null:q5b(d,29));if(!c&&b.k!=(Pac(),Z8b))return"";e=b.c;return!e?"":e.Ci()?Dxb(a,b):(e.Bi(),!e.vi()&&!(e.ni()||e.li()||e.mi()||e==e.A.p[57])&&!e.wi()&&!e.ki()?"/** @type {"+cbc(b.c,new uoc,true).a+"} */\n":"")}function zAb(a,b){var c,d,e,f;c=new QCc(new Twc(new twc(new Bwc(new FAb),new HAb)));for(e=It(a.wf()._d());e.Od();){d=e.Pd();f=b.Jh(d);!Fnc(f.substr(0,1),"/")&&!(Fnc(f.substr(0,2),MIc)||Fnc(f.substr(0,3),zLc))&&
(f="/"+f);c.a.Ie(f,(Qlc(),Olc))==null}return Sm(c)}function Pec(a,b,c){var d;if(!!a.i&&a.i.k==(Pac(),s8b)){d=b.Ki();!!d&&(Sd(!(!!a.g||!a.u)),a.p=d)}if(b.Vi()||a.q||!!b.Oi()){if(!!a.g&&(a._i()||a.f==(kfc(),ifc))&&ebc(b,(Xd(a._i()||a.f==(kfc(),ifc),wLc,a),obc(a.k))))return;b=new eec(a.A,a.Ri()+XJc,b)}Oec(a,b,c)}function cB(a,b,c){var d,e;--b;--c;if(b<0||b>=a.c.a.length)return null;Sd(b>=0);Sd(c>=0);if(csc(a.c,b)==null)return eB(a,b);d=csc(a.c,b);Sd(d.a.length!=0);if(d.a[0].Yf()>c)return eB(a,b);e=kB(d,
c,0,d.a.length-1);Ud(e>=0,"unexpected:%s",e);return dB(a,d.a[e])}function v1(a,b,c,d,e){var f,g;f=e==(Z1(),X1);f&&P0(a.c,"(");q1(a,b.k==(Pac(),Z8b)&&n5b(b,61)!=0?tIc:CFc);if(n5b(b,59)!=0){P0(a.c,"*");c.Rh().length==0||a.c.Yg()}a.bh(c,U1);g=q5b(c,81);!!g&&a.bh(g,U1);a.bh(c.e,U1);E1(a,b);a.bh(d,U1);a.c.Rg(e==Y1);f&&P0(a.c,")")}function vub(a,b){uub();j6(b,(eLb(),ZKb))&&asc(a,qub);if(j6(b,XKb)){asc(a,new Uvb("markEs6FeaturesNotRequiringTranspilationAsRemoved",(AMb(),ELb),ED(zD(ZP,1),XFc,28,0,[iMb,lMb,
mMb])));asc(a,jub);asc(a,lub);asc(a,bub);asc(a,pub);asc(a,oub);asc(a,rub);asc(a,$tb)}}function XEb(){XEb=bY;WEb=(lm(),new Xy(PHc));SEb=WEb;UEb=Do(dIc,mJc,qIc,_Hc,eIc,cIc,ED(zD(UU,1),FHc,2,6,[hHc]));VEb=Do(dIc,mJc,qIc,_Hc,eIc,cIc,ED(zD(UU,1),FHc,2,6,[hHc,fIc,pIc,"let",RLc,SLc,TLc,ULc,WLc,iIc]));TEb=jEc("(/|(\n[ \t]*))\\*[ \t]*@[a-zA-Z]+[ \t\n{]")}function mcc(a,b,c,d){var e,f,g,h;g=a.a.b;e=b.a.b;while(!!g&&!!e){h=g.c;f=e.c;if(h){if(!!f&&!dbc(h,f,c,d))return false}else if(f)return false;if(n5b(g,37)!=
0!=(n5b(e,37)!=0))return false;if(n5b(g,30)!=0!=(n5b(e,30)!=0))return false;g=g.e;e=e.e}return g==e}function mjc(a,b){var c;Nd(b);if(!(!!b.Fi()&&kbc(a.e,b.Fi().e))){if(!b.Fi())if(Tbc(a,b,new Ffc(true),0))return a;else if(b.ti(a))return ubc(b);if(b.ri())return a.A.p[52];return a.A.p[51]}c=b.Fi();Nd(c);if(Tic(a.B,c.B,2,new Cfc(true),0))return a;return a.d}function ceb(a,b){var c,d,e,f;e=Q5b(b,b.i,66);e!=b.i&&(b.i=e);c=b.Ph(false);while(b.b){while(!!(f=P5b(b))&&n5b(f,66)==0)_4b(c,f);if(c.b){beb(a,c);
c=b.Ph(false)}if(f){Sd(n5b(f,66)!=0);a5b(f,Qdb(a,P5b(f)));d=Q5b(f,f.i,66);d!=f.i&&(f.i=d);_4b(c,f)}}!!c.b&&beb(a,c)}function _xb(a,b){var c;c=a.b.n;if(!c)return;Lhb(new Mhb(a.b),b);if(!sy(a.b.n,c)){n4(a.b,new fjb(null,null,-1,-1,Zxb,null,ED(zD(UU,1),FHc,2,6,[c.Id(),a.b.n.Id()])));throw CX(new Kmc("Validity Check failed: Extern properties changed from:\n"+c+"\nto:\n"+a.b.n));}}function uBb(a,b,c,d,e,f){var g,h;uAb();Fnc(c.substr(0,1),"/")||(Fnc(c.substr(0,2),MIc)||Fnc(c.substr(0,3),zLc))?g=(h=vBb(a,
b,c),h==null&&(h=xBb(a,b,c)),h):g=wBb(a,b,c);g==null&&a.d.xg((O_(),N_),new fjb(d,null,e,f,tAb,null,ED(zD(UU,1),FHc,2,6,[c])));return g}function EEb(){EEb=bY;xEb=new FEb(SIc,0,(eLb(),VKb));yEb=new FEb(TIc,1,WKb);zEb=new FEb("ECMASCRIPT6",2,YKb);AEb=new FEb("ECMASCRIPT7",3,$Kb);BEb=new FEb("ECMASCRIPT8",4,aLb);wEb=new FEb("ECMASCRIPT2018",5,UKb);CEb=new FEb("ES_NEXT",6,bLb);DEb=new FEb(VLc,7,cLb)}function fB(a,b){var c;if(b.i!=3)throw CX(new tC("Unknown version: "+b.i));c=b.b;if(c!=null&&c.length==
0)throw CX(new tC("File entry is empty"));if(b.f){hB(a,b,null);return}a.b=b.c;a.e=b.g;a.d=b.e;a.b>=0?a.c=new lsc:a.c=new ksc;ig(a.a,b.a);mB(new rB(a,b.d))}function X0b(a){switch(a.k.f){case 80:case 65:return true;case 82:case 74:case 96:case 88:case 75:case 89:case 71:case 84:case 72:case 73:case 101:case 102:case 66:case 83:case 100:case 67:case 39:case 44:case 76:case 70:case 77:return true;default:return false}}function pIb(a,b,c){var d,e,f,g;f=mIb(a,c);if(!f)return null;g=(d=new p6b((Pac(),k8b)),
d);e=1;_4b(g,f);while(RHb(a,(fJb(),PIb))){!a.n?mJb(a.i):JHb(a);xIb(a);f=mIb(a,!a.n?mJb(a.i):JHb(a));if(!f)return null;++e;_4b(g,f)}Fnc(b,GJc)&&e==1&&a5b(g,THb(a,dac));return g}function AJb(a){var b,c,d;c=a.c;b=a.f==(PEb(),OEb);d=null;switch(c.f){case 7:d=(ZQb(),YQb);break;case 0:d=(ZQb(),TQb);break;case 1:d=(ZQb(),UQb);break;case 2:case 3:d=(ZQb(),VQb);break;case 4:case 5:d=(ZQb(),WQb);break;case 6:d=(ZQb(),XQb)}return new SQb(Nd(d),b)}function jLb(a){if(gLb(VKb,a))return"es3";if(gLb(WKb,a))return"es5";
if(gLb(YKb,a))return"es6";if(gLb($Kb,a))return"es7";if(gLb(aLb,a))return"es8";if(gLb(UKb,a))return"es9";if(gLb(bLb,a))return DLc;if(gLb(cLb,a))return"ts";throw CX(new Kmc(a.a.Id()));}function HPb(a,b){var c,d;d=sRb(a.g,0).b.b;c=(Km(),new tr);aOb(a,(jUb(),oTb));while(BQb(a,0)||sRb(a.g,0).c==qTb){rr(c,IPb(a,b));if(rQb(a,xSb))aOb(a,xSb);else break}if(rQb(a,LTb)){IQb(a,(AMb(),hMb));rr(c,OPb(a,b))}aOb(a,tSb);return new cWb(new GYb(d,a.f),Sm(c.a))}function Sec(a,b,c){var d,e,f,g,h;e=null;if(mcc(a.b,b.b,
0,new Cfc(true)))e=a.b.a;else return null;f=c?a.b.b.di(b.b.b):a.b.b.ci(b.b.b);h=null;if(Fbc(a.k,b.k))h=a.k;else{d=c?a.k.di(b.k):a.k.ci(b.k);h=d}g=a.b.c||b.b.c;return Gdc(Wdc(Qdc(Ndc(new Xdc(a.A),e),f,g),h))}function Efb(a,b,c,d){var e,f,g,h,i;h=c.b?c.b.g:null;g=P0b(new p6b((Pac(),J8b)),new p6b(J8b),h.Ph(false));l6b(g,c);$4b(d,g,c);Bfb(a,b,g,d);i=xfb(a,h.Rh());for(f=e5b(c.b)._d();f.Od();){e=f.Pd();DBc(a.b,(e.b?e.b.g:null).Rh(),new rfb(i+"."+e.b.Rh(),e))}N5b(d,c);vlb(b)}function iKb(a,b){var c,d;if(!IJb(a,
b,(MKb(),KKb)))return false;d=(Kd(b.k==(Pac(),n8b),tMc,b),l5b(b)-1);for(c=0;c<d;c++)if(!fKb(a,(Kd(b.k==n8b,tMc,b),k5b(b,c+1)))){a.a.vh(dMc+F7b(xMc,ED(zD(PU,1),RFc,1,5,["union type"])),a.b.sg(),a.d,a.c);return false}return true}function djc(a,b,c){var d,e,f,g,h,i,j;Nd(b);Nd(c);Fd(c.ce()<=b.ce());this.b=a;this.d=b;this.e=c;g=new kjc(a,this);f=this.e.ce();e=this.d.ce();h=BD(JT,NJc,27,e,0,1);for(d=0;d<e;d++)if(d<f){i=this.d.ge(d);g.a=i;j=this.e.ge(d);h[d]=j.Hi(g)}else h[d]=a.p[44];this.c=h}function C1(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)+H1(a,b,e,i,"`",RGc,"$",c,false)+String.fromCharCode(g)}function oFc(a,b){var c,d,e,f;a=a;c=new voc;f=0;d=0;while(d<b.length){e=a.indexOf("%s",f);if(e==-1)break;roc(c,a.substr(f,e-f));qoc(c,b[d++]);f=e+2}roc(c,a.substr(f));if(d<b.length){c.a+=" [";qoc(c,b[d++]);while(d<b.length){c.a+=NFc;qoc(c,b[d++])}c.a+=
"]"}return c.a}function oeb(a,b,c){var d,e,f;Sd(c.k==(Pac(),H9b));geb(a,null,b);f=teb(a);nyc(a.f,c.Rh())&&Ndb(a.r,l6b(E0b(c.Ph(false),Jac),c));d=new ksc;!!f&&asc(d,Teb(f,c));e=heb(a,c,"enterCatchBlock",jsc(d,BD(nT,KHc,7,0,0,1)));Y5b(c,e.c);Leb(a,l6b(G0b(l6b(Dgb(t0b(c,e),e.c),c)),c))}function RD(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 Wmc(c);if(b==0&&d!=0&&c==0)return Wmc(d)+22;if(b!=
0&&d==0&&c==0)return Wmc(b)+44;return-1}function jZ(a,b,c){var d,e,f,g,h,i;xZ(a,(AMb(),HLb),b);VZ((Pac(),s8b),b);g=Rac(b.k);g!=-1&&(e=l5b(b),g!=e&&u$(nHc+g+oHc+e,b));h=b.b;h.k==J8b?(f=l5b(h),0!=f&&u$(lHc+f,h)):OZ(h);i=h.e;if(i.k==J8b){d=l5b(i);0!=d&&u$(lHc+d,i)}else{xZ(a,ILb,b);wZ(a,i)}lZ(a,b.b?b.b.g:null,c)}function g8(a,b){var c,d,e,f,g,h,i;j:for(i=b.b._d();i.Od();){h=i.Pd();g=(N8(),iAc(M8,h,new X8),Zoc(M8,h));for(f=(d=(new $qc(a.c.a)).a.Ge().b.rj(),new frc(d));f.a.Od();){e=(c=f.a.Pd(),c.Ve());
if(e.nh(g))continue j;else if(e.oh(g))return false}return false}return true}function Lp(a,b){var c,d,e,f,g;e=b.a&a.f;f=null;for(d=a.b[e];true;d=d.b){if(d==b){!f?a.b[e]=b.b:f.b=b.b;break}f=d}g=b.f&a.f;f=null;for(c=a.c[g];true;c=c.d){if(c==b){!f?a.c[g]=b.d:f.d=b.d;break}f=c}!b.e?a.a=b.c:b.e.c=b.c;!b.c?a.e=b.e:b.c.e=b.e;--a.i;++a.g}function jdb(a,b,c,d){var e,f,g;Fd((a.b?a.b.g:null)==b);g=(Xd(Jnc(c,boc(46))==-1,JHc,c),new s7b((Pac(),H9b),c));if(d.a.length!=0){f=new Bsc(d);e=gdb(c,(f.b=f.a++,f.c.a[f.b]));
while(f.a<f.c.a.length)e=B0b(e,gdb(c,(f.b=f.a++,f.c.a[f.b])));g=v0b(v8b,e,g)}o6b(g,b);return g}function Rfb(a,b){var c,d,e,f;Fd(b.k==(Pac(),Q7b));e=Ofb(a,b);e.a[0].k==Q7b?c=esc(e,0):c=Y5b(r0b(ED(zD(nT,1),KHc,7,0,[])),a.a);if(e.a.length==0)f=c;else{d=Y5b(K0b(c,new s7b(rac,nKc)),a.d);f=y0b(d,jsc(e,BD(nT,KHc,7,0,0,1)))}o6b(f,b);Y5b(f,a.a);R5b(b.f,b,f);p4(a.c,f)}function GCb(){GCb=bY;ECb=new D9("JSC_PRIMITIVE_OBJECT",(O_(),N_),new Toc("Explicit creation of a {0} object."));FCb=new D9("JSC_PRIMITIVE_OBJECT_DECLARATION",
N_,new Toc("Declaration of {0} object instead of primitive type."));lm();zo(ED(zD(PU,1),RFc,1,5,[BJc,DJc,TGc]))}function YPb(a){var b,c;c=gPb(a,0);c.a.ce()!=1&&KQb(a,c,"Setter must have exactly 1 parameter, found %d",ED(zD(PU,1),RFc,1,5,[$mc(c.a.ce())]));if(c.a.ce()>=1){b=c.a.ge(0);b.p==(WXb(),xXb)&&KQb(a,b,"Setter must not have a rest parameter",ED(zD(PU,1),RFc,1,5,[]))}return c}function f3b(a,b,c,d,e){if(b>d)throw CX(new Kmc("Recorded bad position information\nstart-line: "+b+KGc+"end-line: "+d));
else if(b==d&&c>=e)throw CX(new Kmc("Recorded bad position information\nline: "+b+KGc+"start-char: "+c+KGc+"end-char: "+e));a.f=b;a.e=c;a.c=d;a.b=e}function b2(a,b,c,d,e,f,g){var h,i,j;Sd(!!c.kd);j=b==0?new s2(f,c.vc,c.Zb,c.kd):new D2(c.Zb,c.kd);h=b==2?new Ixb(j,g.a.c,g.a.e):new K1(j,g.a.c);d&&P0(h.c,"/** @fileoverview @typeSummary */\n");e&&(P0(h.c,"'use strict';"),h.c.Sg());h.bh(a,(Z1(),U1));j.Qg();i=j.i.a;return i}function Whb(a,b){var c,d,e;if(!b)return rib(),qib;switch(b.k.f){case 96:return rib(),
mib;case 43:return rib(),pib;case 65:return rib(),nib;case 61:return Whb(a,b.b?b.b.g:null);case 60:c=b.b.e;d=Whb(a,c);if(d!=(rib(),qib))return d;e=c.e;return Whb(a,e)}return rib(),qib}function Jzb(a,b,c){var d,e,f,g,h;d=Izb(a,b,c);f=d;uAb();!Fnc(d.substr(0,"/".length),"/")&&!(Fnc(d.substr(0,MIc.length),MIc)||Fnc(d.substr(0,zLc.length),zLc))&&(f="/"+d);if(a.e.Yd(f))return d;for(h=a.f._d();h.Od();){g=h.Pd();e=g+(""+f);if(a.e.Yd(e))return d}return null}function hIb(a,b){var c,d;c=false;if(b==(fJb(),
QIb)){b=!a.n?mJb(a.i):JHb(a);if(b==aJb){a.n=b;return zIb(a,(Pac(),I8b),new p6b(J8b))}c=true}d=mIb(a,b);if(d){xIb(a);if(c)d=zIb(a,(Pac(),I8b),d);else if(RHb(a,UIb)){!a.n?mJb(a.i):JHb(a);xIb(a);d=zIb(a,(Pac(),O8b),d)}}return d}function CZ(a,b){var c,d,e;xZ(a,(AMb(),dMb),b);VZ((Pac(),j9b),b);d=Rac(b.k);d!=-1&&(c=l5b(b),d!=c&&u$(nHc+d+oHc+c,b));b.b.k==H9b?OZ(b.b):VZ(J8b,b.b);e=b.b.e;switch(e.k.f){case 106:EZ(e);break;case 108:WZ(e)&&e.Rh().length==0&&u$(tHc,e);break;default:VZ(J8b,e)}k$(k5b(b,2))}function Azb(a){var b;
b="";a.b==null&&(b+=" name");a.c==null&&(b+=" pathRelativeToClosureBase");!a.d&&(b+=" provides");!a.e&&(b+=" requires");!a.f&&(b+=" weakRequires");!a.a&&(b+=" loadFlags");if(b.length!=0)throw CX(new Kmc(yLc+b));return new szb(a.b,a.c,a.d,a.e,a.f,a.a)}function pHb(a,b){var c,d,e,f;switch(b.a.f){case 30:hFb(a.a,b,(AMb(),MLb));e=(Pac(),x8b);break;case 38:hFb(a.a,b,(AMb(),aMb));e=(Pac(),z9b);break;case 25:e=(Pac(),Jac);break;default:throw CX(new Jmc);}f=jFb(a.a,e);for(d=b.b._d();d.Od();){c=d.Pd();_4b(f,
FFb(a.a,c))}return f}function xQb(b){var c;if(b.b.d&&rQb(b,(jUb(),pTb))||rQb(b,(jUb(),nTb))){c=new PQb(b.b,new zYb,b.g.i,jRb(b.g),zrc(b.e).b);try{lOb(c);gPb(c,2);rQb(c,(jUb(),wSb))&&(aOb(c,wSb),eQb(c));return rQb(c,iSb)}catch(a){a=BX(a);if(rE(a,418))return false;else throw CX(a);}}return false}function Xib(){Xib=bY;Wib=new D9("JSC_J2CL_REFERENCE_EQUALITY",(O_(),N_),new Toc("Reference equality may not be used with the specified type: {0}"));zn();new my(ED(zD(wW,1),pGc,54,0,[(Gk(EKc,FKc),new qq(EKc,
FKc)),(Gk(GKc,HKc),new qq(GKc,HKc)),(Gk(IKc,JKc),new qq(IKc,JKc))]))}function DMb(){AMb();return ED(zD(ZP,1),XFc,28,0,[QLb,XLb,_Lb,rMb,tMb,wMb,ALb,BLb,ELb,FLb,HLb,ILb,JLb,KLb,MLb,NLb,OLb,SLb,ULb,VLb,aMb,bMb,fMb,iMb,lMb,mMb,qMb,sMb,uMb,vMb,dMb,RLb,CLb,xMb,gMb,hMb,DLb,TLb,kMb,nMb,oMb,pMb,yLb,zLb,GLb,LLb,PLb,WLb,YLb,ZLb,$Lb,cMb,eMb,jMb,yMb,zMb])}function fPb(a,b,c){var d,e,f;!c&&(c=new aWb(hOb(a,sRb(a.g,0).b.b)));aOb(a,(jUb(),ITb));rQb(a,ITb)?e=new aWb(hOb(a,sRb(a.g,0).b.b)):e=pOb(a,1);aOb(a,ITb);rQb(a,
uSb)?f=new aWb(hOb(a,sRb(a.g,0).b.b)):f=pOb(a,1);aOb(a,uSb);d=$Pb(a);return new nVb(new GYb(b,a.f),c,e,f,d)}function $hb(a,b,c,d,e){var f,g,h,i,j;if(bib(a,b,c,d))return;i=Vhb(a,d,e);j=new uib(b,(h=(Dib(),Cib),++a.a.b,h));gib(i,j);n5b(b,97)!=0;if(c.k==(Pac(),T7b)&&c.f.k!=T8b){f=new uib(b,(g=wib,++a.a.b,g));gib(i,f);Fd((j.b==wib||f.b==wib)&&(j.b==Bib||j.b==Cib||f.b==Bib||f.b==Cib))}}function eGb(a,b,c,d){var e,f;if(d){switch(d.f){case 42:e=(t3b(),s3b);break;case 41:e=(t3b(),r3b);break;case 40:e=(t3b(),
q3b);break;default:throw CX(new Kmc("Unexpected access modifier type"));}lGb(a,b,(AMb(),yLb));f=Q5b(c,c.i,84);f!=c.i&&(c.i=f);!!e&&(c.i=new c7b(84,e,c.i))}}function WJb(a,b){if(!IJb(a,b,(MKb(),AKb)))return false;if((Kd(b.k==(Pac(),n8b),tMc,b),k5b(b,1)).k!=rac){a.a.vh(dMc+F7b(uMc,ED(zD(PU,1),RFc,1,5,[IJc])),a.b.sg(),a.d,a.c);lKb(a,AKb.d);return false}if(!fKb(a,(Kd(b.k==n8b,tMc,b),k5b(b,2)))){lKb(a,AKb.d);return false}return true}function N4(a,b){var c,d;c=new msc(new ltc(Tnc(a,"/",0)));d=new msc(new ltc(Tnc(b,
"/",0)));c.a.length>0&&esc(c,c.a.length-1);while(c.a.length>0&&d.a.length>0)if(Fnc(d.a[0],"."))esc(d,0);else if(Fnc(d.a[0],"..")){esc(d,0);esc(c,c.a.length-1)}else break;bsc(c,d);return coc(c)}function lob(a,b){var c,d,e,f;for(c=b.b;c;c=f){f=c.e;Rlb();if(!!c&&(c.k==(Pac(),Jac)||c.k==z9b||c.k==x8b)){if(a.a&&!c.b)throw CX(new Kmc("Empty VAR node."));while(c.b!=(c.b?c.b.g:null)){d=c.b;N5b(c,d);e=l6b(new r6b(c.k,d),b);$4b(b,e,c);job(a,"VAR with multiple children",b)}}}}function ZFb(a){XEb();switch(a.f){case 76:return Pac(),
P9b;case 77:return Pac(),h8b;case 63:return Pac(),cac;case 64:return Pac(),M9b;case 9:return Pac(),E8b;case 24:return Pac(),Eac;case 26:return Pac(),Kac;default:throw CX(new Kmc(!a?OFc:a.a==null?(GNb(),Zn(hNb,a)).c:a.a));}}function XD(a){var b,c,d,e,f;if(isNaN(a))return kE(),jE;if(a<-9223372036854775808)return kE(),hE;if(a>=0x7fffffffffffffff)return kE(),gE;e=false;if(a<0){e=true;a=-a}d=0;if(a>=_Gc){d=xE(a/_Gc);a-=d*_Gc}c=0;if(a>=$Gc){c=xE(a/$Gc);a-=c*$Gc}b=xE(a);f=JD(b,c,d);e&&PD(f);return f}function Z1(){Z1=
bY;Y1=new $1("STATEMENT",0);S1=new $1("BEFORE_DANGLING_ELSE",1);X1=new $1("START_OF_EXPR",2);T1=new _1("IN_FOR_INIT_CLAUSE",3,true,false);V1=new _1("START_OF_ARROW_FN_BODY",4,false,true);W1=new _1("START_OF_ARROW_FN_IN_FOR_INIT",5,true,true);U1=new $1("OTHER",6)}function tGb(a,b){var c,d,e,f;f=null;c=null;e=null;while(b){(b.b.c==(jUb(),OTb)||b.b.c==PTb)&&hFb(a.a,b,(AMb(),RLb));e=c;c=kFb(a.a,WFb(b.b.c),DFb(a.a,b.c));y6b(c.j)==-1&&AFb(c,b.o.b,b.o.a);!!e&&a5b(e,c);if(rE(b.a,101))b=b.a;else{d=DFb(a.a,
b.a);a5b(c,d);b=null}!f&&(f=c)}return f}function AGb(a,b){var c,d,e,f,g,h;lGb(a,b,(AMb(),PLb));g=PGb(a,b.b,false);c=jFb(a.a,(Pac(),L8b));y6b(c.j)==-1&&AFb(c,b.o.b,b.o.a);for(e=b.a._d();e.Od();){d=e.Pd();f=DFb(a.a,d);if(n5b(f,98)!=0){N5b(f,f.b?f.b.g:null);h=Q5b(f,f.i,98);h!=f.i&&(f.i=h)}_4b(c,f)}return lFb(a.a,K8b,g,c)}function Q$b(a,b,c){var d,e,f,g,h,i,j,k,l,m;j=new uoc;k=MZb(b,a.a);while(true){f=0;l=null;g=b_b(b);for(i=An(c$b)._d();i.Od();){h=i.Pd();e=h.We();if(HZb(b,e)){m=PZb(IZb(b,e),k);d=b_b(m);
if(d<g){l=m;f=h.Ve().a;g=d}}}if(l){koc((j.a+=XHc,j),f);b=l}else break}return new a_b(c,b,j.a)}function NQb(a,b){var c;switch(b.p.f){case 62:c=b;break;case 26:c=new oVb(b.o,(Km(),new Uy(Nd(b))));break;case 48:case 56:a.f=b.o.b;CRb(a.g,a.f.c);c=gPb(a,0);break;default:KQb(a,b,"invalid arrow function parameters",ED(zD(PU,1),RFc,1,5,[]));c=new oVb(b.o,(Km(),Km(),Jm))}return c}function lPb(a,b){var c,d,e,f;gOb(a,SHc);if(BQb(a,0)){e=dOb(a);aOb(a,(jUb(),pTb));aOb(a,uSb);f=kOb(a);c=hPb(a);IQb(a,(AMb(),XLb));
return new LVb(hOb(a,b.d),e,b.c,f,c)}else{d=SOb(a);aOb(a,(jUb(),pTb));aOb(a,uSb);kOb(a);c=hPb(a);IQb(a,(AMb(),XLb));return new WUb(hOb(a,b.d),d,b.c,c)}}function FPb(a){var b,c,d,e;if(rQb(a,(jUb(),hTb)))if(qQb(a,1,vTb))return e=sRb(a.g,0).b.b,aOb(a,hTb),aOb(a,vTb),gOb(a,"target"),new _Vb(new GYb(e,a.f));else{d=sRb(a.g,0).b.b;aOb(a,hTb);c=FPb(a);b=null;rQb(a,pTb)&&(b=xOb(a));return new $Vb(new GYb(d,a.f),c,b)}else return APb(a)}function ygc(a,b){var c,d,e,f,g,h,i,j;h=false;j=new ksc;for(f=(_jc(new rkc,
b.b)&&Yjc(b),b.a)._d();f.Od();){e=f.Pd();i=e.Hi(a);i!=e&&(h=true);j.a[j.a.length]=i}if(h){g=new blc(a.e,30,false);for(d=new Bsc(j);d.a<d.c.a.length;){c=(d.b=d.a++,d.c.a[d.b]);Xkc(g,c)}return Ykc(g)}return b}function fhb(a,b){var c,d,e,f;d=(b.b?b.b.g:null).Rh();e=Fnc(d.substr(0,5),"goog:");if(e)return d.substr(5);else{f=LAb(y5((!a.d&&!!a.i&&(a.d=G3(a.c,a.i)),a.d)),d,(c=q5b(b,51),!c?null:c.sg()),y6b(b.j),x6b(b.j));!f&&(f=MAb(y5((!a.d&&!!a.i&&(a.d=G3(a.c,a.i)),a.d)),d));return pBb(f.a)}}function o$b(a,
b){var c,d,e;if(a.c+b>a.a)throw CX(new Fjb("Abbreviated hex escape "+Wnc(a.e,a.c)));e=0;while(--b>=0){c=Anc(a.e,a.c);if(48<=c&&c<=57)d=c-48;else if(97<=c&&c<=102)d=c+-87;else if(65<=c&&c<=70)d=c+-55;else throw CX(new Fjb(Wnc(a.e,a.c)));++a.c;e=e<<4|d}return e&IFc}function P$b(a){var b,c,d;b=IZb((FZb(),DZb),a.b);if(a.a.a.length!=0)if(MZb(b,a.a).a.length==0)return Q$b(a,a.b,false);else if(MZb(a.b,a.a).a.length==0)return Q$b(a,b,true);d=Q$b(a,a.b,false);c=Q$b(a,b,true);return(d.a?1:0)+d.b.length+b_b(d.c)<=
(c.a?1:0)+c.b.length+b_b(c.c)?d:c}function $Ec(a,b,c,d,e){var f,g,h,i,j;YEc(d+IA(c,c.Wf()),e);ZEc(b,aFc(c));f=c.f;!!f&&$Ec(a,b,f,"Caused by: ",false);for(h=(c.j==null&&(c.j=BD(VU,RFc,40,0,0,1)),c.j),i=0,j=h.length;i<j;++i){g=h[i];$Ec(a,b,g,"Suppressed: ",false)}console.groupEnd!=null&&console.groupEnd.call(console)}function fA(){fA=bY;eA=new CA("base64()",FGc,cmc(61));new CA("base64Url()","ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",cmc(61));new uA("base32()","ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",
cmc(61));new uA("base32Hex()","0123456789ABCDEFGHIJKLMNOPQRSTUV",cmc(61));new zA}function hGb(a,b){a.a.e=kLb(a.a.e,(AMb(),XLb));if(a.a.a.c==(EEb(),xEb)){a.a.d.uh("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.q,(XEb(),b.o.b.b+1),0);return true}return false}function iGb(a,b){a.a.e=kLb(a.a.e,(AMb(),rMb));if(a.a.a.c==(EEb(),xEb)){a.a.d.uh("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.q,(XEb(),b.o.b.b+1),0);return true}return false}function xC(a,b){var c;if(a>=OGc&&a<=PGc){c=(hFc(a>=0&&a<=PGc),a>=OGc?ED(zD(zE,1),JFc,8,15,[55296+(a-OGc>>10&QGc)&IFc,56320+(a-OGc&QGc)&IFc]):ED(zD(zE,1),JFc,8,15,[a&IFc]));xC(c[0],b);xC(c[1],b);return}joc(joc(joc(joc((b.a+="\\u",b),vC[a>>>12&15]),vC[a>>>8&15]),vC[a>>>4&15]),vC[a&15])}function cf(b){var c,d,e;try{return b==null?OFc:fY(b)}catch(a){a=BX(a);if(rE(a,44)){c=a;e=imc(zb(b))+"@"+(d=gFc(b)>>>0,d.toString(16));XDc(bEc("com.google.common.base.Strings"),
(nDc(),mDc),"Exception during lenientFormat for "+e,c);return"<"+e+" threw "+imc(c.Aj)+">"}else throw CX(a);}}function tfb(a){var b,c,d;if(a.b.c!=0){b=b1b(ED(zD(nT,1),KHc,7,0,[]));for(d=(new gCc(a.b)).b.rj();d.Od();){c=d.Pd();sfb(a,b,c.Ve(),c.We())}a5b(a.g,o6b(G0b(y0b(snb(a.a,"Object.defineProperties"),ED(zD(nT,1),KHc,7,0,[(Xd(Jnc(kKc,boc(46))==-1,JHc,kKc),new s7b((Pac(),H9b),kKc)),b]))),a.g))}}function Wmb(a){var b,c;c=a.f;b=!a.f?null:a.f.f;switch(c.k.f){case 93:return true;case 91:return b.k==(Pac(),
V9b);case 94:return a.k!=(Pac(),sac);case 115:if(a==c.b.e)return Wmb(c);return false;case 113:return Wmb(c);case 119:if(a==c.b)return Wmb(c);return false;default:return false}}function Xnb(a,b,c){var d,e,f,g,h;Glb(a.b,c,new uob(a));Hlb(a.b,new mob(a.b,a.a),b,c);f=new yob;g=new ggb(a.b,new aob(a));h=new Flb(a.b,f,g);Elb(h,b,c);e=new ukb;Hlb(a.b,e,b,c);qob(new rob(a.b,a.a),b,c);d=new cob;Glb(a.b,c,d);d.a.a.ce()==0||Glb(a.b,c,new wob(a,d.a));kY(a.b.X)||(a.b.X=1)}function aZb(a){var b,c,d;if(!rE(a.a,
217))return null;c=a.a;b=Gmc(c);d=null;if(isNaN(b))d="NaN";else if(b==Infinity)a.b.d?d="+Infinity":a.b.j?d=" Infinity":d=OKc;else if(b==-Infinity)a.b.g?d="(Infinity)":d="-Infinity";else return null;a.b.n=-1;a.b.k=false;return SYb(a,d,0)}function Vlb(a,b,c){Rlb();var d;switch(a.k.f){case 103:case 28:case 23:return true;case 29:return!Gmb(a,c)&&!b.Yd(a.Rh());case 26:case 27:return true;case 65:Td(!(a.k==(Pac(),Z8b)&&Jmb(a.f)&&a.k==Z8b&&dnb(a.b)),a);return false}for(d=a.b;d;d=d.e)if(Vlb(d,b,c))return true;
return false}function XJb(a,b){if(!IJb(a,b,(MKb(),BKb)))return false;if((Kd(b.k==(Pac(),n8b),tMc,b),k5b(b,1)).k!=rac){a.a.vh(dMc+F7b(uMc,ED(zD(PU,1),RFc,1,5,["property name"])),a.b.sg(),a.d,a.c);lKb(a,BKb.d);return false}if(!fKb(a,(Kd(b.k==n8b,tMc,b),k5b(b,2)))){lKb(a,BKb.d);return false}return true}function Xjc(a,b){var c,d,e,f,g,h,i;d=new blc(a.A,30,false);for(f=0;f<a.b.ce();f++){c=a.b.ge(f);c.ti(b)&&Xkc(d,c)}if(b.Gi()){i=b.Gi().b;for(e=0;e<i.ce();e++){g=i.ge(e);g.ti(a)&&Xkc(d,g)}}else b.ti(a)&&
Xkc(d,b);h=Ykc(d);return h.ni()?$jc(new zkc,a.b)&&b.ri()&&!b.ni()?a.A.p[52]:a.A.p[51]:h}function zo(a){lm();var b,c,d,e,f,g;g=new $zc;Ktc(g,a);for(c=(f=(new Ypc(g.a)).a.Ge()._d(),new cqc(f));c.a.Od();){b=(d=c.a.Pd(),d.Ve());Nd(b)}switch(g.a.ce()){case 0:return oy(),ny;case 1:return new Xy((e=(new Ypc(g.a)).a.Ge()._d(),d=(new cqc(e)).a.Pd(),d.Ve()));default:return new py(g)}}function Imb(a,b){Rlb();switch(a.k.f){case 71:return a.b==b;case 44:return a.b==b||(a.b?a.b.g:null)==b;case 72:case 73:case 101:case 102:case 70:case 83:case 77:case 78:return(a.b?
a.b.g:null)==b;case 66:case 67:case 68:return a.b!=b;case 69:return true;default:Td(Hmb(a),a);return false}}function RBb(a){q3();this.a=a;new jyc;this.u=new vzc;this.w=new bDc;this.P=new bDc;this.v=new bDc;new bDc;this.g=new F0;this.s=new qyc;this.I=(lsb(),new rsb(this));this.c=new Rtb;this.i=new Rtb;this.V=new R4;this.O=new Gqb;this.d=new ksc;new vzc;zn();new $zc;r3(this,this.O);this.G=new jyc}function xd(a){var b,c,d,e,f,g,h;f=a.d;d="";c=koc(roc(new voc,a.a),123);for(h=a.b.b;h;h=h.b){g=h.c;if(!f||
g!=null){c.a+=d;d=NFc;h.a!=null&&koc(roc(c,h.a),61);if(g!=null&&(zb(g).i&4)!=0){e=ED(zD(PU,1),RFc,1,5,[g]);b=Msc(e,new qyc);poc(c,b,1,b.length-1)}else c.a+=""+g}}return(c.a+="}",c).a}function j3(){j3=bY;new D9("JSC_UNSAFE_NAMESPACE",(O_(),N_),new Toc("incomplete alias created for namespace {0}"));i3=new D9("JSC_NAMESPACE_REDEFINED",N_,new Toc("namespace {0} should not be redefined"));new D9("JSC_UNSAFE_THIS",N_,new Toc("dangerous use of ''this'' in static method {0}"))}function bqb(a,b){$pb();var c;
if(K5b(b,XKc,XKc.length)||b.k==(Pac(),c9b)&&J5b(b.b,RHc)&&b.b.e.k==rac&&Fnc(b.b.e.Rh(),"exports")){c=CY(klb(a),RHc);if(!c||!c.a||A5(c.a))return true}else if(b.k==(Pac(),H9b)&&Fnc("exports",b.Rh())){c=CY(klb(a),b.Rh());if(!c||!c.d.b)return true}return false}function AAb(a,b){uAb();var c,d,e,f;e=a;!Fnc(e.substr(0,"/".length),"/")&&!(Fnc(e.substr(0,MIc.length),MIc)||Fnc(e.substr(0,zLc.length),zLc))&&(e="/"+e);for(d=b._d();d.Od();){c=d.Pd();if(Fnc(e.substr(0,c.length),c)){f=Wnc(e,c.length);if(Fnc(f.substr(0,
1),"/"))return f.substr(1)}}return a}function tPb(a){var b,c,d,e,f,g;e=sRb(a.g,0).b.b;aOb(a,(jUb(),ZSb));d=bOb(a);c=lOb(a);f=(Km(),new tr);if(rQb(a,NSb)){aOb(a,NSb);g=eQb(a);asc(f.a,Nd(g));while(rQb(a,xSb)){aOb(a,xSb);g=eQb(a);!!g&&(asc(f.a,Nd(g)),f)}}aOb(a,oTb);b=vPb(a);aOb(a,tSb);return new RVb(new GYb(e,a.f),d,c,Sm(f.a),b)}function bEb(){_Db();return ED(zD(EP,1),XFc,35,0,[wDb,UCb,VCb,ZCb,WCb,XCb,YCb,LDb,$Cb,_Cb,aDb,bDb,cDb,dDb,gDb,hDb,eDb,fDb,iDb,jDb,kDb,lDb,mDb,nDb,oDb,pDb,qDb,rDb,sDb,tDb,uDb,
vDb,yDb,zDb,ADb,BDb,xDb,CDb,DDb,EDb,FDb,GDb,HDb,IDb,JDb,KDb,MDb,NDb,ODb,PDb,QDb,RDb,SDb,TDb,UDb,VDb,WDb,XDb,YDb,ZDb])}function UGb(a,b){var c,d;if(!b)return oFb(a.a,(Pac(),H9b),aMc);else if(b.c==(jUb(),TSb))d=PGb(a,b,true);else if(b.c==mTb){d=GFb(a.a,b);c=Q5b(d,d.i,36);c!=d.i&&(d.i=c);d.i=new U6b(36,1,d.i)}else{d=cHb(a,b);c=Q5b(d,d.i,36);c!=d.i&&(d.i=c);d.i=new U6b(36,1,d.i)}Sd(d.k==(Pac(),rac));return d}function I3(a,b){switch(b.f){case 0:return EEb(),xEb;case 1:case 2:return EEb(),yEb;case 3:return EEb(),
zEb;case 4:return EEb(),DEb;case 5:return EEb(),AEb;case 6:return EEb(),BEb;case 7:return EEb(),wEb;case 8:return EEb(),CEb;default:throw CX(new Kmc("Unexpected language mode: "+a.J.Wb));}}function z4(a){var b,c,d,e;e=(a.J.wd!=(S7(),P7)&&!!a.S&&Uob(a.S,HIc,true),new Ytb);try{for(c=(!a.L&&(a.L=new XBb(a.a)),new Bsc(WBb(a.L)));c.a<c.c.a.length;){b=(c.b=c.a++,c.c.a[c.b]);if(a.j.a.e!=0)return;b.eh(a).ug(a.q,a.A)}}finally{d=PX(IX(Date.now()),e.a);a.J.wd!=P7&&!!a.S&&Vob(a.S,HIc,d)}}function zBb(a){var b,
c,d,e,f,g,h,i;g=new QCc(new EBb);for(d=a._d();d.Od();){c=d.Pd();e=Tnc(c,"/node_modules/",0);f="";for(b=0;b<e.length-1;b++){b+1<e.length&&(f+=e[b]+"/");g.a.Ie(f,(Qlc(),Olc))==null;f+=CLc}}return Ps(),h=g.a.Oe(),!h&&(h=Os),Us(h,(i=(new $qc(g.a)).a.Ge().b.rj(),new frc(i)))}function pQb(a,b){var c,d,e,f;f=sRb(a.g,0).b.b;aOb(a,(jUb(),iUb));d=false;c=null;e=sRb(a.g,0).b.b.b>a.f.b;if(!(e||qQb(a,0,ITb)||qQb(a,0,tSb)||qQb(a,0,GSb))){d=!!eOb(a,MTb);wQb(a)?c=COb(a,b):d&&LQb(a,"yield* requires an expression",
ED(zD(PU,1),RFc,1,5,[]))}return new yYb(new GYb(f,a.f),d,c)}function Gdc(a){var b,c,d,e,f;d=(a.e&4)!=0;e=(a.e&2)!=0;f=(a.e&8)!=0;c=!a.a.b.b.$d();c&&(a.n=a.f.p[44]);b=new Tec(a.f,a.c,a.j,new rcc(a.f,a.d,a.g,d),a.n,a.k,a.b,e);!!a.i&&Pec(b,a.i,null);f&&(b.b.b=(Xd(b.f==(kfc(),hfc)||b.f==ifc,wLc,b),obc(b.k)));c&&Nec(b,new ofc(a.f,b,e,cjc(a.k,a.a)));return b}function deb(a,b){var c,d,e,f,g,h;if(n5b(b,66)==0)return b;c=new Web(a.a);f=(h=new efb,Glb(a.f.b,b,h),Nd(h.a),h.a);e=Rdb(a,Qdb(a,P5b(f)));n5b(f,62)!=
0?Peb(a.a,e,c,f):Oeb(a.a,e,c,f);Jeb(a.a,c);g=Qeb(a.a,f);if(f==b)return g;R5b(f.f,f,g);while(g!=b){g=g.f;d=Q5b(g,g.i,66);d!=g.i&&(g.i=d)}return b}function RPb(a){var b,c,d,e,f;e=sRb(a.g,1).c;if(e==(jUb(),RTb)||e==mTb||e==TSb||(GNb(),GNb(),!!Zn(hNb,e)))return QOb(a,new hRb(sRb(a.g,0).b.b));else{d=sRb(a.g,0).b.b;aOb(a,MTb);c=SOb(a);b=new BVb((GVb(),EVb));jPb(a,b,(eRb(),cRb));f=qVb(b,new GYb(d,a.f));return new YUb(new GYb(d,a.f),null,c,f)}}function N3(a,b,c,d){var e,f,g,h,i,j,k;if(b==null)return null;
j=$Cc(a.v,b);if(!j)return null;e=ptb(j,a.j);if(!e)return null;g=cB(e,c,d+1);if(!g)return null;k=j.c.b;h=g.d;f=N4(k,h);i=L3(a,f);if(!i&&!!h){i=null;!!i&&aDc(a.P,f,i)}return BC(CC(FC(DC(CC(EC(FC(new GC,g.d),g.c),g.a),g.b),f),g.a-1))}function smb(a){Rlb();var b;b=a.f;switch(b.k.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.e;case 76:case 100:case 88:return a.b?a.b.g:null;case 95:return b.b?b.b.g:null;case 43:return a.b;case 65:case 96:return b}return null}
function t6(a){var b,c,d,e,f;d=(zn(),new Dr);for(c=new Apc((new rpc(a)).a);c.b;){b=ypc(c);e=b.Ve();f=b.We();if(sE(f))Ar(d,e,(Rlb(),f?new p6b((Pac(),Cac)):new p6b((Pac(),U8b))));else if(rE(f,131))Ar(d,e,new Z6b(f.a));else if(tE(f))Ar(d,e,new Z6b(f));else{Sd(vE(f));Ar(d,e,i1b(f))}}return Mn(d.b)}function lQb(a){var b,c,d,e,f;f=sRb(a.g,0).b.b;if(GQb(a)){e=oOb(a);d=kQb(a);return new sYb(new GYb(f,a.f),e,0,d)}else{b=wPb(a);if(GQb(a)&&(c=sRb(a.g,0).b.b.b>a.f.b,!(c||qQb(a,0,(jUb(),ITb))||qQb(a,0,(jUb(),
tSb))||qQb(a,0,(jUb(),GSb))))){e=oOb(a);return new sYb(new GYb(f,a.f),e,1,b)}else return b}}function KB(a,b){var c,d,e,f,g,h,i;f=false;i=fpc(a.k.c);c=new lsc;bsc(c,Ntc(i));for(e=new Vzc(new Mzc(a.j));e.b!=e.c.a.b;){d=Tzc(e);h=rzc(a.k,d.d);if(!!h&&h.a<i){gsc(c,h.a,d.e);f=true}}if(!f)return;TB(b,"sourcesContent",false);b.a+="[";for(g=0;g<i;g++){g!=0&&(b.a+=",",b);noc(b,UB(c.a[g]))}b.a+="]"}function gob(a,b){var c,d,e;Sd(b.f.k==(Pac(),Z8b));d=null;c=b.b;while(!!c&&(Rlb(),c.k==Z8b&&Jmb(c.f)&&c.k==Z8b&&
dnb(c.b))){d=c;c=c.e}while(c){e=c.e;Rlb();if(c.k==Z8b&&Jmb(c.f)&&c.k==Z8b&&dnb(c.b)){N5b(b,c);d=(!d?a5b(b,c):Z4b(b,c,d),c);job(a,"Move function declaration not at top of function",b)}c=e}}function bGb(a,b,c,d){var e,f,g;e=d.k==(Pac(),q8b)?d.b:d;F5b(e)||a.a.d.uh(eZb("Invalid %s %s operand.",ED(zD(PU,1),RFc,1,5,[c?"postfix":"prefix",b==o9b?"increment":"decrement"])),a.a.q,y6b(d.j),x6b(d.j));f=kFb(a.a,b,d);g=Q5b(f,f.i,32);g!=f.i&&(f.i=g);(c?1:0)!=0&&(f.i=new U6b(32,c?1:0,f.i));return f}function zlb(a,
b,c){var d;d=b.k;if(d==(Pac(),lac)){olb(a,b,c);return}else if(d==Z8b){nlb(a,b,c);return}a.e=b;if(!a.a.zg(a,b,c))return;d==s8b?Blb(a,b):d==t8b?Clb(a,b):d==F9b?(slb(a,b),Alb(a,b),rlb(a,false),undefined):a.q&&$lb(b)?(slb(a,b),Alb(a,b),rlb(a,false),undefined):Alb(a,b);a.e=b;a.a.Ag(a,b,c)}function $pb(){$pb=bY;Zpb=new D9("JSC_COMMONJS_UNKNOWN_REQUIRE_ENSURE_ERROR",(O_(),N_),new Toc("Unrecognized require.ensure call: {0}"));Ypb=new D9("JSC_COMMONJS_SUSPICIOUS_EXPORTS_ASSIGNMENT",N_,new Toc('Suspicious re-assignment of "exports" variable. Did you actually intend to export something?'))}
function UJb(a,b){var c,d,e;if(!IJb(a,b,(MKb(),IKb)))return false;e=(Kd(b.k==(Pac(),n8b),tMc,b),k5b(b,1));if(e.k!=rac){a.a.vh(dMc+F7b(vMc,ED(zD(PU,1),RFc,1,5,["native type"])),a.b.sg(),a.d,a.c);lKb(a,IKb.d);return false}d=(AHb(),c=CIb(e.Rh()),mIb(c,!c.n?mJb(c.i):JHb(c)));i5b(e);_4b(b,d);return true}function $Pb(a){var b;if(qQb(a,0,(jUb(),TSb))&&Fnc(sRb(a.g,0).a,ZHc)&&(b=sRb(a.g,1).b.b.b>sRb(a.g,0).b.a.b,!(b||qQb(a,1,ITb)||qQb(a,1,tSb)||qQb(a,1,GSb)))&&qQb(a,1,RSb))return FOb(a);if(qQb(a,0,RSb))return iPb(a);
if(qQb(a,0,rSb))return NOb(a,false,false);if(rQb(a,bTb))return oQb(a);return cQb(a)}function B1(a,b){var c,d,e,f;e=b.Rh();f=b.Th()||a.i&&Tac(e)||(U4b(),!T4b.test(e))||!Umb(e);if(f){d=O1(e);isNaN(d)?x1(a,b):a.c.Ig(d,b)}else{if(n5b(b,98)!=0){c=b.b;if(e!=null&&K5b(c,e,e.length)||c.k==(Pac(),D8b)&&J5b(c.b,e)){a.bh(c,(Z1(),U1));return}}P0(a.c,e)}if(b.b){P0(a.c,":");u1(a,b.b,1,(Z1(),U1))}}function Dfb(a,b,c,d){var e,f,g,h,i;e=c.b;g=null;(e.k==(Pac(),Z8b)||e.k==s8b)&&(g=(Rlb(),h=omb(e),!h?null:r5b(h)));
if(g!=null){f=i5b(e);R5b(d,c,f)}else{g="$$default";i=D0b((Xd(Jnc(g,boc(46))==-1,JHc,g),new s7b(H9b,g)),P5b(c),x8b);R5b(d,c,o6b(i,c));Slb(b.f,(AMb(),MLb))}DBc(a.b,aIc,new rfb(g,c));vlb(b)}function enb(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 40: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 79:case 21:case 22:case 12:return true;default:return false}}function uub(){uub=
bY;iub=new Bub;new qvb;mub=new $vb;nub=new cwb;tub=new gwb;qub=new kwb;dub=new owb;_tb=new swb;hub=new vwb;aub=new Eub;gub=new Iub;eub=new Mub;fub=new Qub;new Uub;kub=new Yub;$tb=new avb;Ztb=new evb;cub=new ivb;jub=new mvb;lub=new tvb;bub=new xvb;pub=new Bvb;oub=new Fvb;rub=new Jvb}function BGb(a,b){var c,d,e;hFb(a.a,b,(AMb(),dMb));c=null;if(b.e)Sd(!b.a&&!b.b);else if(b.a){Sd(!b.b);c=DFb(a.a,b.a)}else c=rHb(a,(Pac(),S8b),b.b);!c&&(c=jFb(a.a,(Pac(),J8b)));y6b(c.j)==-1&&AFb(c,b.o.b,b.o.a);d=kFb(a.a,
(Pac(),Q8b),c);if(b.c){e=cHb(a,b.c);_4b(d,e)}L5b(d,64,b.e);L5b(d,63,b.d);return d}function BBc(a,b,c,d){var e,f;if(!b)return c;else{e=a.a.jf(c.d,b.d);if(e==0){d.d=rqc(b,c.e);d.b=true;return b}f=e<0?0:1;b.a[f]=BBc(a,b.a[f],c,d);if(CBc(b.a[f]))if(CBc(b.a[1-f])){b.b=true;b.a[0].b=false;b.a[1].b=false}else CBc(b.a[f].a[f])?b=JBc(b,1-f):CBc(b.a[f].a[1-f])&&(b=IBc(b,1-f))}return b}function Ftb(a,b){var c,d;this.b=a;this.a=new jyc;for(d=An(b)._d();d.Od();){c=d.Pd();bpc(this.a,c.Ve(),new Z8(c.We(),(O_(),
M_)))}bpc(this.a,oJc,new Z8((y9(),q9),(O_(),M_)));bpc(this.a,jJc,new Z8(new T8(ED(zD(NK,1),RFc,57,0,[l9,p9])),M_));bpc(this.a,NIc,new Z8(new T8(ED(zD(NK,1),RFc,57,0,[d9,o9])),M_))}function eeb(a,b,c){var d,e,f;this.f=a;this.b=c;this.e=b.b?b.b.g:null;d=null;if(a.g){this.g=a.i;if(!!b.c&&!!b.c.Ci()){e=b.c.Ci();this.d=e.b.b;this.g=mxb(a.f,this.d)}f=dgc(a.f,"$jscomp.generator.Context");!f?d=a.f.p[31]:d=$fc(a.f,rE(f,49)?f:null,ED(zD(JT,1),NJc,27,0,[this.g]))}this.a=new Reb(this,d)}function Qob(a){var b,
c,d,e,f;f=new jyc;for(d=new Bsc(a.w);d.a<d.c.a.length;){c=(d.b=d.a++,d.c.a[d.b]);e=c.j;b=e==null?rg(Iyc(f.d,null)):_yc(f.e,e);if(!b){b=new _ob(e,c.i);e==null?Jyc(f.d,null,b):azc(f.e,e,b)}b.n=DX(b.n,c.n);b.a=$wnd.Math.max(b.a,c.a);++b.k;b.d+=c.d;b.b+=c.b;b.e+=c.e;b.f+=c.f}a.I=Gn(f)}function kJb(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=Anc(a.k,a.i++);if(b<=127){if(b==10||b==13){a.e=b;b=10}}else{Vac();
if(b>127)continue;if(uJb(b)){a.e=b;b=10}}a.a==-1&&(a.a=a.i-a.f-a.r-1);return b}}function ubc(a){var b,c,d,e,f,g,h;if(a.mi())return a.A.p[53];else if(a.Gi()){h=a.Gi();g=false;c=(_jc(new rkc,h.b)&&Yjc(h),h.a);for(f=0;f<c.ce();f++){b=c.ge(f);if(b.mi()){g=true;break}}if(g){d=new blc(a.A,30,false);Xkc(d,a.A.p[53]);for(e=0;e<c.ce();e++){b=c.ge(e);b.mi()||Xkc(d,b)}return Ykc(d)}}return a}function Q2(b){var c,d,e,f,g;if(b.k!=(Pac(),S9b))return null;g=vmb(b);if(!rE(g,189))return null;e=g;try{f=e.a}catch(a){a=
BX(a);if(rE(a,99))return null;else throw CX(a);}try{d=u5b(b)}catch(a$0){a$0=BX(a$0);if(rE(a$0,38))return null;else throw CX(a$0);}c=d+b.d;if(d<0||c>f.length)return null;return f.substr(d,c-d)}function j4(b,c){var d,e,f,g;f=new orb(b);for(e=new cu(Ht(st(c.a),new pt));au(e);){d=bu(e);if(!Enc(d.a.mh().b,".json"))continue;d.b=b;try{Hsb(d.a.mh(),"("+d.a.mh().a+")")}catch(a){a=BX(a);if(rE(a,99))continue;else throw CX(a);}g=Nd(w5(d,b));C5(d,($5(),Y5));Sd(g.k==(Pac(),lac));Glb(f.a,g,f)}return Gn(f.b)}function bIb(a,
b){var c,d,e,f,g;d=THb(a,(Pac(),w9b));f=new qyc;do{c=aIb(a,b);if(!c)return null;e=c.k==sac?c.Rh():c.b.Rh();g=f.a.Ie(e,f);g==null?_4b(d,c):GHb(a,e,a.i.g,lJb(a.i));xIb(a);if(!RHb(a,(fJb(),PIb)))break;!a.n?mJb(a.i):JHb(a);xIb(a);if(RHb(a,aJb))break;b=!a.n?mJb(a.i):JHb(a)}while(true);return d}function Jec(a,b){var c,d,e;if((gic(a.t,b)?1:0)==0){e=Fnc(wJc,b);d=Fnc("bind",b);if(e||d)Jcc(a,b,Eec(a,e),a.i);else if(Fnc(zJc,b)){c=new aec(a.A);Ydc(c,ED(zD(JT,1),NJc,27,0,[Tfc(a.A,jbc(a.k)?a.A.p[44]:a.k),Tfc(a.A,
a.A.p[31])]));Jcc(a,b,Gdc(Tdc(Pdc(Ndc(new Xdc(a.A),c.b),a.b.b),a.B.d)),a.i)}}return Mcc(a,b)}function bf(a,b){var c,d,e,f,g;a=a;for(e=0;e<b.length;e++)b[e]=cf(b[e]);c=new voc;g=0;d=0;while(d<b.length){f=a.indexOf("%s",g);if(f==-1)break;c.a+=""+a.substr(g,f-g);qoc(c,b[d++]);g=f+2}poc(c,a,g,a.length);if(d<b.length){c.a+=" [";qoc(c,b[d++]);while(d<b.length){c.a+=NFc;qoc(c,b[d++])}c.a+="]"}return c.a}function tZ(a,b,c){var d;xZ(a,(AMb(),dMb),b);VZ((Pac(),Q8b),b);if(n5b(b,64)!=0){d=l5b(b);2!=d&&u$(mHc+
d,b);VZ(J8b,b.b);k$(b.b.e)}else if(n5b(b,63)!=0){d=l5b(b);1!=d&&u$(rHc+d,b);wZ(a,b.b)}else{d=l5b(b);(d<1||d>2)&&u$(sHc+d,b);b.b.k==S8b?vZ(b.b):i$(a,b.b,c);!!b.b&&!!b.b.e&&b.b.e==(b.b?b.b.g:null)&&k$(b.b.e)}}function Rmb(a){Rlb();var b,c;switch(a.k.f){case 31:case 30:case 32:case 35:case 34:return true;case 92:case 19:case 79:case 22:return Rmb(a.b);case 29:c=a.Rh();return Fnc(KJc,c)||Fnc(OKc,c)||Fnc("NaN",c);case 117:for(b=a.b;b;b=b.e)if(b.k==(Pac(),zac))if(!Rmb(b.b))return false;return true}return false}
function ZJb(a,b){var c,d;if(b.k==(Pac(),U9b))for(d=(!b.b?(Jtc(),Jtc(),Itc):new h7b(b.b))._d();d.Od();){c=d.Pd();if(n5b(c,98)!=0){a.a.vh(dMc+F7b(uMc,ED(zD(PU,1),RFc,1,5,["property, missing type"])),a.b.sg(),a.d,a.c);return false}else if(!fKb(a,c.b))return false}else if(!fKb(a,b))return false;return true}function GPb(a){var b,c,d;d=sRb(a.g,0).b.b;c=(Km(),new tr);aOb(a,(jUb(),oTb));b=null;while(rQb(a,LTb)||BQb(a,0)||sRb(a.g,0).c==qTb||rQb(a,MTb)||Uxc(Qxc(CTb,ED(zD(mQ,1),XFc,18,0,[BTb,ATb])),sRb(a.g,
0).c)){b=null;rr(c,QPb(a));b=eOb(a,xSb);if(!b)break}aOb(a,tSb);nOb(a,b);return new bWb(new GYb(d,a.f),Sm(c.a))}function Qec(a,b,c){var d,e,f,g,h;f=!a.g?null:a.g.e;g=!!f;a.g=new _hc(LHc,b,true,!c?a.i:c);b.Xi(a);!!f&&f.Xi(null);if(a._i()||a.f==(kfc(),ifc)){h=Mec(a);!!h&&(!h.j&&(h.j=new ksc),asc(h.j,a));if(a.f==(kfc(),ifc))for(e=It(new $uc(a.c.a.b._d()));e.Od();){d=e.Pd();!!d.Ki()&&yec(d.Ki(),a)}}g&&Cec(a);return true}function Wkb(){Wkb=bY;Vkb=new D9("JSC_UNTRANSPILABLE",(O_(),L_),new Toc('Cannot convert {0} feature "{1}" to targeted output language. Either remove feature "{1}" or raise output level to {0}.'));
Ukb=nLb((eLb(),SKb),ED(zD(ZP,1),XFc,28,0,[(AMb(),kMb),nMb,oMb,pMb]));Tkb=iLb(SKb,Ukb);Skb=mLb(SKb,Nxc(Oxc(Tkb.a)))}function dC(a,b){var c,d,e,f,g,h,i,j;h=new Hrc;for(e=new Bsc(a.c.e);e.a<e.c.a.length;){d=(e.b=e.a++,e.c.a[e.b]);while(h.b!=h.c&&!bC(h.a[h.b],d)){g=(c=Arc(h),c);cC(a,b,g)}f=h.a[h.b];i=aC(a,d.e);j=_B(a,d.e);Sd(a.b<i||a.a<=j);(a.b<i||a.b==i&&a.a<j)&&eC(a,b,f,i,j);orc(h,d)}while(h.b!=h.c){d=(c=Arc(h),c);cC(a,b,d)}}function lOb(a){var b,c,d,e,f;if(!rQb(a,(jUb(),nTb)))return null;d=sRb(a.g,
0).b.b;aOb(a,nTb);++a.g.j;f=new vzc;do{c=bOb(a);b=null;if(rQb(a,NSb)){aOb(a,NSb);b=eQb(a)}szc(f,c,b);rQb(a,xSb)&&aOb(a,xSb)}while(e=sRb(a.g,0).c,TSb==e||a.b.d&&NNb(e)||!a.b.c&&MNb(e));aOb(a,sSb);--a.g.j;return new KVb(new GYb(d,a.f),f)}function Lab(a,b,c){var d;d=b.b.k==(Pac(),J8b);Rlb();if(b.k==s8b&&Jmb(b.f)&&b.k==s8b&&dnb(b.b)||d&&c.k==H9b||d&&c.k==T7b&&D5b(c.b)&&c.f.k==T8b)return false;if(Wlb(b,false,null)||Kgb(a.c,b)!=1){n4(a.b,jjb(b,(wgb(),ugb),ED(zD(UU,1),FHc,2,6,["class expression that cannot be extracted"])));
return false}return true}function wRb(a,b){switch(mRb(a,a.f)?Anc(a.b,a.f):0){case 101:case 69:nRb(a);switch(mRb(a,a.f)?Anc(a.b,a.f):0){case 43:case 45:nRb(a)}WRb(mRb(a,a.f)?Anc(a.b,a.f):0)||uRb(a,"Exponent part must contain at least one digit",ED(zD(PU,1),RFc,1,5,[]));GRb(a)}return new XNb((jUb(),mTb),Xnc(a.b,b,a.f),SNb(a.i.b,b,a.f))}function vgc(a,b){var c,d,e,f,g,h,i,j;if(!a.g||b.oi()||rE(b,137)||!b.Di())return b;if(nuc(a.f,b))return b;muc(a.f,b);f=false;e=new Bic(a.e);for(i=b.Ni()._d();i.Od();){h=
i.Pd();j=(g=b.Si(h),!g?null:g.d);d=b.Qi(h);c=d.Hi(a);d!=c&&(f=true);e.b=false;bpc(e.c,h,new Cic(c,j))}ouc(a.f,b);if(f)return Aic(e);return b}function tkb(a,b,c,d){var e,f,g,h;Rlb();f=c.f;if(!!f&&c.k==(Pac(),H9b)&&(f.k==(Pac(),R8b)&&c!=f.b||f.k==k9b&&c!=(f.b?f.b.g:null)))return;e=skb(a,c.Rh());if(e!=null){g=yrc(a.b);g.Ah()&&(h=Q5b(c,c.i,43),h!=c.i&&(c.i=h));c.Wh(e);if(a.a){vlb(b);d.k==(Pac(),Z8b)&&(d.k==Z8b&&Jmb(d.f)&&d.k==Z8b&&dnb(d.b))&&p4(b.c,d)}}}function hEb(a){var b;b="";!a.c&&(b+=" languageMode");
!a.f&&(b+=" strictMode");!a.b&&(b+=" jsDocParsingMode");!a.e&&(b+=" runMode");!a.a&&(b+=" annotations");!a.g&&(b+=" suppressionNames");a.d==null&&(b+=" parseInlineSourceMaps");if(b.length!=0)throw CX(new Kmc(yLc+b));return new dEb(a.c,a.f,a.b,a.e,a.a,a.g,a.d)}function ipb(a,b){var c,d,e,f;c=new tpb(a);for(e=new Bsc(b);e.a<e.c.a.length;){d=(e.b=e.a++,e.c.a[e.b]);if(d.c){if(c.d.a.length!=0){asc(a.i,c);c=new tpb(a)}asc(a.i,new wpb(a,d))}else{f=d.d;Kd(!oyc(c.c,f),"Already a pass with name '%s' in this loop",
f);nyc(c.c,f);asc(c.d,new wpb(c.f,d))}}c.d.a.length!=0&&asc(a.i,c)}function Erb(a,b){switch(jLb(b)){case "ts":return Drb(a,(p7(),g7));case "es9":return Drb(a,(p7(),k7));case "es8":return Drb(a,(p7(),j7));case "es7":return Drb(a,(p7(),i7));case "es6":case "es6-impl":return Drb(a,(p7(),h7));case "es5":return Drb(a,(p7(),e7));case "es3":return Drb(a,(p7(),d7));default:return false}}function gPb(a,b){var c,d,e;d=sRb(a.g,0).b.b;aOb(a,(jUb(),pTb));e=(Km(),new tr);while(AQb(a,b)){rr(e,JPb(a,b));if(!rQb(a,
uSb)){c=aOb(a,xSb);if(rQb(a,uSb)){IQb(a,(AMb(),xMb));a.b.b||JQb(a,c,"Invalid trailing comma in formal parameter list",ED(zD(PU,1),RFc,1,5,[]))}}}aOb(a,uSb);return new oVb(new GYb(d,a.f),Sm(e.a))}function xOb(a){var b,c,d;d=sRb(a.g,0).b.b;b=(Km(),new tr);aOb(a,(jUb(),pTb));while(qQb(a,0,LTb)||wQb(a)){rr(b,DOb(a));if(!rQb(a,uSb)){c=aOb(a,xSb);if(rQb(a,uSb)){IQb(a,(AMb(),xMb));a.b.b||JQb(a,c,"Invalid trailing comma in arguments list",ED(zD(PU,1),RFc,1,5,[]))}}}aOb(a,uSb);return new uUb(new GYb(d,a.f),
Sm(b.a))}function Zeb(a){var b,c,d,e,f,g,h,i;e=new ksc;for(i=(!a.b?(Jtc(),Jtc(),Itc):new h7b(a.b))._d();i.Od();){h=i.Pd();if(h.b){g=X5b(h.Ph(false),null);b=l6b(Dgb(t0b(g,P5b(h)),h.c),h);e.a[e.a.length]=b}}f=null;for(d=new Bsc(e);d.a<d.c.a.length;){c=(d.b=d.a++,d.c.a[d.b]);f=!f?c:l6b(Dgb(v0b((Pac(),v8b),f,c),c.c),c)}return f}function qRb(a,b,c){var d,e;d=a.f;TRb(a);!mRb(a,a.f)&&tRb(a,RNb(a.i.b,d),iNc,ED(zD(PU,1),RFc,1,5,[]));e=Xnc(a.b,d,a.f);switch(mRb(a,a.f)?Anc(a.b,a.f):0){case 96:nRb(a);return new XNb(b,
e,SNb(a.i.b,d-1,a.f));case 36:nRb(a);nRb(a);return new XNb(c,e,SNb(a.i.b,d-1,a.f));default:return new XNb(b,e,SNb(a.i.b,d-1,a.f))}}function V2b(a,b){var c,d,e;e=new $2b;e.a=S2b(a.a,b);e.e=W2b(a.e,b);e.f=W2b(a.f,b);e.n=X2b(a.n,b);e.r=W2b(a.r,b);e.q=!a.q?null:new msc(a.q);e.d=!a.d?null:new syc(a.d);e.s=!a.s?null:new xzc(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,wo(d));e.k=!a.k?null:(lm(),c=a.k,wo(c));e.g=a.g;e.o=a.o;return e}function Zcb(a,b){var c,d,e;c=a.b;e=c.e;Rlb();if(a.k==
(Pac(),s8b)&&Jmb(a.f)&&a.k==s8b&&dnb(a.b))return new Ycb(a,c.Rh(),false,c,e);else if(b.k==T7b&&b.f.k==T8b){d=r5b(b.b);if(d==null)return null;return new Ycb(b.f,d,true,c,e)}else return b.k==Q8b?new Ycb(a,c.Rh(),false,c,e):b.k==H9b?new Ycb(b.f,b.Rh(),true,c,e):null}function mgc(){this.t=new Cp(new vzc,new Fp);this.o=new p6b((Pac(),jac));this.q=new $zc;this.v=new jyc;this.s=new qyc;this.b=new qyc;this.c=new vzc;this.f=new jyc;new su;new ksc;this.d=new djc(this,(Km(),Km(),Jm),(null,Jm));this.p=BD(JT,
NJc,27,Mfc().length,0,1);epc(this.v);pzc(this.c);egc(this);pzc(this.t.a);fgc(this)}function Iw(a){var b,c,d,e,f,g,h,i,j;e=new Exc((new yxc(a)).a);if(!cyc(e.a))return zn(),zn(),yn;d=(e.b=dyc(e.a),new Jxc(e.c,e.b));h=d.a;j=d.b.b[d.a.f];Gk(h,j);b=ae(h);f=new nxc(b);Rxc(f.a,h);mxc(f,h.f,j);while(cyc(e.a)){c=(e.b=dyc(e.a),new Jxc(e.c,e.b));g=c.a;i=c.b.b[c.a.f];Gk(g,i);Rxc(f.a,g);mxc(f,g.f,i)}return mr(f)}function m$(a,b){var c,d,e,f;switch(b.k.f){case 68:VZ((Pac(),p8b),b);c=Rac(b.k);c!=-1&&(d=l5b(b),c!=
d&&u$(nHc+c+oHc+d,b));wZ(a,b.b);fZ(a,b.b?b.b.g:null);return;case 69:VZ((Pac(),C8b),b);e=Rac(b.k);e!=-1&&(f=l5b(b),e!=f&&u$(nHc+e+oHc+f,b));fZ(a,b.b?b.b.g:null);return;default:u$("Expected switch member but was "+b.k,b)}}function $fb(a,b,c){var d,e;if(!!b.b&&!!b.b.e&&(Rlb(),!(c.k==(Pac(),jac)||c.k==lac||c.k==k8b||c.k==F9b))){ulb(a,b,(wgb(),vgb),ED(zD(UU,1),FHc,2,6,["declaration with multiple destructuring children not in statement block"]));return}while(b.b!=(b.b?b.b.g:null)){d=i5b(b.b?b.b.g:null);
e=l6b(E0b(d,b.k),b);Z4b(c,e,b);vlb(a)}}function XPb(a,b){var c,d,e,f,g;gOb(a,"set");if(BQb(a,0)){f=dOb(a);d=YPb(a);g=kOb(a);!!g&&JQb(a,sRb(a.g,0),"setter should not have any returns",ED(zD(PU,1),RFc,1,5,[]));c=hPb(a);IQb(a,(AMb(),rMb));return new cYb(hOb(a,b.d),f,b.c,d,c)}else{e=SOb(a);d=YPb(a);c=hPb(a);IQb(a,(AMb(),rMb));return new ZUb(hOb(a,b.d),e,b.c,d,c)}}function Wyc(){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 SGb(a,b){var c,d,e,f,g;e=b.a;if(e.ce()==1){c=oFb(a.a,(Pac(),H9b),e.ge(0));y6b(c.j)==-1&&AFb(c,b.o.b,b.o.a);return c}else{f=e.sf();d=Z0b(f.Pd());y6b(d.j)==-1&&AFb(d,b.o.b,b.o.a);while(f.Od()){g=oFb(a.a,(Pac(),rac),f.Pd());y6b(g.j)==-1&&AFb(g,b.o.b,b.o.a);d=lFb(a.a,d9b,d,g);y6b(d.j)==-1&&AFb(d,b.o.b,b.o.a)}return d}}function VJb(a,
b){var c,d;d=(Kd(b.k==(Pac(),n8b),tMc,b),b.b.Rh());c=OKb(Xb(d));switch(c.f){case 1:return QJb(a,b);case 9:return TJb(a,b);case 10:return SJb(a,b);case 21:return dKb(a,b);case 8:return RJb(a,b);case 12:return WJb(a,b);case 13:return XJb(a,b);default:throw CX(new Kmc("Invalid type transformation operation"));}}function nQb(a,b){var c,d,e;d=sRb(a.g,0).b.b;e=sRb(a.g,0).c;switch(e.f){case 30:case 38:case 25:aOb(a,e);break;default:JQb(a,sRb(a.g,0),"expected declaration",ED(zD(PU,1),RFc,1,5,[]));return null}c=
(Km(),new tr);rr(c,mQb(a,e,b));while(rQb(a,(jUb(),xSb))){aOb(a,xSb);rr(c,mQb(a,e,b))}return new tYb(new GYb(d,a.f),e,Sm(c.a))}function R0(a,b,c){var d,e;V0(a);d=b.charCodeAt(0);e=a.Vg();(d==43||d==45)&&e==d?a.Jg(" "):(Ulc==null&&(Ulc=new RegExp("[A-Z]","i")),Ulc.test(String.fromCharCode(d))&&(e==95||e==36||(Tlc==null&&(Tlc=new RegExp(MFc,"i")),Tlc.test(String.fromCharCode(e))))?a.Jg(" "):(e==45&&d==62||e==60&&d==33)&&a.Jg(" "));a.Mg(b,c);c&&a.Xg()}function Ofb(a,b){var c,d,e,f;Fd(b.k==(Pac(),n8b)||
b.k==Q7b||b.k==N9b);e=new ksc;d=null;for(c=P5b(b);c;c=P5b(b))if(c.k==pac){f=P5b(c);if(f.k==Q7b)!d?d=f:c5b(d,O5b(f));else{if(d){e.a[e.a.length]=d;d=null}asc(e,xgb(a.c,f))}}else{!d&&(d=Y5b(r0b(ED(zD(nT,1),KHc,7,0,[])),a.a));_4b(d,c)}!!d&&(e.a[e.a.length]=d,true);return e}function xLb(a){eLb();switch(a){case "es3":return VKb;case "es5":return WKb;case "es6-impl":case "es6":return XKb;case "typeCheckSupported":return dLb;case "es7":return ZKb;case "es8":return _Kb;case "es2018":case "es9":return TKb;
case DLc:return bLb;case "ts":return cLb;default:throw CX(new Fjb("No such FeatureSet: "+a));}}function bib(a,b,c,d){var e,f,g,h,i;i=XJc.length;if(Fnc(d.substr(d.length-i,i),XJc)){g=1;h=Xnc(d,0,d.length-10)}else{f=d.indexOf(zKc);if(f==-1)return false;h=d.substr(0,f);g=2;f=Knc(d,boc(46),f+11);while(f>=0){++g;f=Knc(d,boc(46),f+1)}}if(!!c&&bnb(b))return true;for(e=0;e<g;e++){c=b;b=b.b}Yhb(a,b,h,(Dib(),Aib));return true}function eE(a){var b,c,d,e,f;if(a.l==0&&a.m==0&&a.h==0)return"0";if(a.h==ZGc&&a.m==
0&&a.l==0)return"-9223372036854775808";if(a.h>>19!=0)return"-"+eE(ZD(a));c=a;d="";while(!(c.l==0&&c.m==0&&c.h==0)){e=HD(1E9);c=KD(c,e,true);b=""+dE(GD);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 Nob(a){var b,c,d;if(a.I)return;a.i=IX(Date.now());Qob(a);for(c=An(a.I)._d();c.Od();){b=c.Pd();d=b.We();a.F=SX(DX(a.F,d.n));a.C=$wnd.Math.max(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}Sd(a.D==(S7(),R7)||a.q==a.a+a.b);Sd(!(a.D==
Q7||a.D==N7)||a.r==a.g+a.e);Sd(a.D!=N7||a.s==a.p+a.o)}function mB(a){var b,c,d,e;e=BD(AE,MGc,8,5,15,1);b=new ksc;while(FB(a.a))if(qB(a,59)){nB(a,b);b.a.length==0||(b=new ksc)}else{d=0;while(!pB(a)){e[d]=$A(a.a);++d}c=oB(a,e,d);Vd(a.i.b<0||a.b<a.i.b,a.b,a.i.b);Sd(c._f()==-1||c._f()<a.i.e.length);Sd(c.Zf()==-1||c.Zf()<a.i.d.length);b.a[b.a.length]=c;qB(a,44)}b.a.length==0||nB(a,b)}function BAb(a,b,c){var d,e,f,g,h;h=(lm(),new is);e=new qyc;for(g=Ht(a.a._d(),a.b);g.b.Od();){f=Ut(g,g.b.Pd());d=c.Jh(f);
if(!nyc(e,AAb(d,b)))throw CX(new Fjb("Duplicate module path after resolving: "+f));!Fnc(d.substr(0,1),"/")&&!(Fnc(d.substr(0,2),MIc)||Fnc(d.substr(0,3),zLc))&&(d="/"+d);asc(h.b,Nd(d))}return xo(new Bsc(h.b))}function wBb(a,b,c){var d,e,f,g,h;for(g=It(new $uc(a.b.b.b._d()));g.Od();){f=g.Pd();h=(uAb(),(!Fnc(b.substr(0,"/".length),"/")&&!(Fnc(b.substr(0,MIc.length),MIc)||Fnc(b.substr(0,zLc.length),zLc))?"/":"")+b);if(!Fnc(h.substr(0,f.length),f))continue;d=f+CLc+c;e=vBb(a,b,d);e==null&&(e=xBb(a,b,d));
if(e!=null)return e}return null}function OGb(a,b){var c,d;switch(b.a.c.f){case 100:return c=qFb(a.a,b.a),d=nFb(a.a,c),y6b(d.j)==-1&&AFb(d,b.o.b,b.o.a),d;case 101:return dHb(a,b);case 99:case 98:return jFb(a.a,XFb(b.a.c));case 97:return jFb(a.a,(Pac(),Q9b));case 102:return aHb(a,b);default:throw CX(new Kmc("Unexpected literal type: "+b.a.Aj+" type: "+b.a.c));}}function mQb(a,b,c){var d,e,f,g;f=sRb(a.g,0).b.b;g=null;if(qQb(a,0,(jUb(),qTb))||qQb(a,0,oTb))e=LPb(a,0);else{e=nPb(a);rQb(a,wSb)&&(g=(aOb(a,
wSb),eQb(a)))}d=null;rQb(a,ISb)?d=(aOb(a,ISb),COb(a,c)):c!=0&&(b==ySb?LQb(a,bNc,ED(zD(PU,1),RFc,1,5,[])):pUb(e)&&LQb(a,cNc,ED(zD(PU,1),RFc,1,5,[])));return new uYb(new GYb(f,a.f),e,g,d)}function Tec(a,b,c,d,e,f,g,h){bbc();gec.call(this,a,b,a.p[11],h,f);this.d=(Km(),Km(),Jm);this.c=(null,Jm);this.s=true;Fd(!c||c.k==(Pac(),Z8b)||c.k==(Pac(),s8b));Nd(d);this.i=c;this.f=g;switch(g.f){case 1:this.k=e?e:new nfc(a,this,h);break;case 0:this.k=e?e:a.p[44];break;case 2:this.k=e?e:new nfc(a,this,h)}this.b=d;
this.e=false}function NFb(a,b,c,d,e){var f;this.k=new qyc;this.e=(eLb(),SKb);this.r=a;this.j=e.sf();this.b=VFb(this.j);this.p=b;this.s=(f=new p6b((Pac(),lac)),d6b(f,this.p),f);this.f=new Q4b(c.b!=(tEb(),sEb));this.q=!b?null:b.sg();this.a=c;this.d=d;this.t=new wHb(this);c.f==(PEb(),OEb)?this.n=VEb:c.c==(EEb(),xEb)?this.n=null:this.n=UEb}function vHb(a,b,c){var d,e,f;for(f=Lm(new Aw(Nd(c)),0);f.c<f.d;){e=kf(f).a;switch(e){case 103:case 105:case 109:break;case 117:case 121:d=e==117?(AMb(),lMb):(AMb(),
mMb);hFb(a.a,b,d);break;case 115:hFb(a.a,b,(AMb(),kMb));break;default:a.a.d.uh("Invalid RegExp flag '"+String.fromCharCode(e)+"'",a.a.q,(XEb(),b.o.b.b+1),b.o.b.a)}}}function QYb(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p;f=new oZb(b);e=0;j=null;g=false;k=b.length;h=0;while(h<k){n=h;l=Knc(b,boc(37),h);m=l==-1?k:l;m>n&&poc(a.c,b,n,m);h=m;if(h<k){p=(f.d=h+1,f.b=h+1,jZb(f,new wZb));d=null;if(p.b!=37&&p.b!=110){i=p.a==-1?e++:p.a;d=fZb(c,i,f,j,g);j=d;g=true}o=TYb(a,p,d);o!=null&&RYb(a,o,doc(o));h=f.b}}}function p7(){p7=
bY;d7=new s7(SIc,0);e7=new s7(TIc,1);f7=new s7("ECMASCRIPT5_STRICT",2);h7=new s7("ECMASCRIPT_2015",3);g7=new s7("ECMASCRIPT6_TYPED",4);i7=new s7("ECMASCRIPT_2016",5);j7=new s7("ECMASCRIPT_2017",6);k7=new s7("ECMASCRIPT_2018",7);l7=new s7("ECMASCRIPT_NEXT",8);n7=new s7("STABLE",9);m7=new s7("NO_TRANSPILE",10);o7=j7}function iB(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=csc(a.c,f);if(h){e=h.a.length;for(g=0;g<e;g++){d=h.a[g];if(j){c=new bB(f,
d.Yf());JB(b.a,k,n,l,m,c);j=false}if(d._f()!=-1){j=true;k=a.e[d._f()];n=d.Zf()!=-1?a.d[d.Zf()]:null;l=new bB(d.ag(),d.$f());m=new bB(f,d.Yf())}}}}}function ZEb(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 BIb(new sJb(d.substr(3),f,c+3),d,g,a.s,a.a,a.d);vIb(e,a.f);wIb(e,a.g);b.b==(PUb(),LUb)&&b.c.length>0?(e.g=(JIb(),HIb),xIb(e),h=!e.n?mJb(e.i):JHb(e),i=MHb(e,h,0,false,true),j=" "+i.a,e.c?x3b(e.c,j):e.e.d?I3b(e.e,j):I3b(e.e,""),undefined):WHb(e);return e}function Y9(a,b,c,d){var e,
f,g,h,i,j,k;Td(c.k==(Pac(),n8b),c);Td(b.k==vac,b);f=(Rlb(),gmb(b,new Dnb(s8b)));k=f.b.e;if(!D5b(k))return;if(d.k==C9b&&Fnc(d.Rh(),vJc)){i=q5b(b,51);if(!!i&&i.Eh()||(e=(j=dmb(f),!j?null:q5b(j,29)),!!e&&((e.a&512)!=0||(e.a&rJc)!=0))){g=gmb(b,new Hnb);h=g.f;i5b(g);p4(a.a,h)}return}else throw CX(new Kmc(uJc));}function eob(a,b,c){var d,e,f,g,h;Sd(b.k==(Pac(),H9b)||b.k==rac||b.k==sac||b.k==e9b||b.k==mac);if(a.b.X==2)return;e=bnb(b);f=e||c.k==d9b&&(c.b?c.b.g:null)==b;if(b.k==H9b||f){d=n5b(b,43)!=0;if(!d&&
Fmb(B3(a.b),b)){if(a.a){g=b.Rh();throw CX(new Kmc(UKc+g+KGc+"  parent:"+k6b(b.f)));}h=Q5b(b,b.i,43);h!=b.i&&(b.i=h);b.i=new U6b(43,1,b.i)}}}function wQb(a){switch(sRb(a.g,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 _nb(a,b,c,d){var e,
f,g;if(b.b){N5b(c,b);g=b.b;N5b(b,g);e=t0b(b,g);X5b(e,q5b(c,29));n6b(e,c);f=(Rlb(),l6b((Td(V0b(e),e),new r6b((Pac(),T8b),e)),e));R5b(d,c,f);Ynb(a.b,SKc,f)}else{Rlb();if(d.k==(Pac(),jac)||d.k==lac||d.k==k8b||d.k==F9b)N5b(d,c);else if(d.k==X8b||d.k==Y8b){N5b(c,b);R5b(d,c,b)}else Td(d.k==u9b,d);Ynb(a.b,SKc,d)}}function zOb(a,b){var c,d,e;e=sRb(a.g,0).b.b;c=(Km(),new tr);aOb(a,(jUb(),qTb));while(rQb(a,xSb)||wQb(a))if(rQb(a,xSb)){d=sRb(a.g,0).b.b;aOb(a,xSb);rr(c,new aWb(new GYb(d,a.f)))}else{rr(c,MPb(a,
b));if(rQb(a,xSb))aOb(a,xSb);else break}if(rQb(a,LTb)){IQb(a,(AMb(),ALb));rr(c,OPb(a,b))}aOb(a,vSb);return new wUb(new GYb(e,a.f),Sm(c.a))}function Aub(a,b,c,d){uub();var e,f,g,h,i,j,k,l,m,n;if(j6(a.J,c)){j=i6(a.J);for(m=(!b.b?(Jtc(),Jtc(),Itc):new h7b(b.b))._d();m.Od();){l=m.Pd();i=(Rlb(),Td(l.k==(Pac(),lac),l),q5b(l,89));if(!!i&&!j.a.Zd(i.a))for(f=d,g=0,h=f.length;g<h;++g){e=f[g];k=Q5b(l,l.i,93);k!=l.i&&(l.i=k);l.i=new U6b(93,1,l.i);n=new Flb(a,e,new fgb(a));ylb(n,l)}}}}function nAb(a,b,c){var d,
e,f,g,h,i,j,k,l,m;Fd(Sc(a.f,b));g=new qyc;m=new Jrc(b);while(m.b!=m.c){h=(e=Arc(m),e);j=g.a.Ie(h,g);if(j==null)for(l=h.ih()._d();l.Od();){k=l.Pd();f=$oc(a.b,k);!!f&&(prc(m,f),true)}}d=(Km(),new tr);for(i=new Bsc(c?a.c:a.f);i.a<i.c.a.length;){h=(i.b=i.a++,i.c.a[i.b]);g.a.re(h)&&(asc(d.a,Nd(h)),d)}return Sm(d.a)}function YFb(a,b,c,d,e){var j;XEb();var f,g,h,i;h=new NFb(c,b,d,e,a.a);i=nGb(h.t,a);y6b(i.j)==-1&&AFb(i,a.o.b,a.o.a);if(a.a)for(g=a.a._d();g.Od();){f=g.Pd();(f.b==(PUb(),MUb)||f.b==LUb)&&!oyc(h.k,
f)?(j=ZEb(h,f),nyc(h.k,f),dFb(h,j),undefined):f.b==KUb&&eEc(hEc(TEb,f.c))&&h.d.vh(nLc,h.q,f.a.b.b+1,f.a.b.a)}wFb(h,i);HFb(h,i);h.o=i;return h}function v5(a){var b,c;Pd(a.b,"Expected setCompiler to be called first: %s",a);Pd(E3(a.b),"Expected compiler to call an error manager: %s",a);b=new T5(y5(a));c=w5(a,a.b);if(!c)return qzb(),pzb;S5(b,c);return qzb(),Azb(Bzb(Fzb(Ezb(Bzb(Gzb(Fzb(Ezb(Dzb(Czb(new Hzb,""),""),(Km(),Km(),Jm)),(null,Jm)),(null,Jm)),(zn(),zn(),yn)),b.c),b.d),b.a))}function yOb(a){var b,
c,d;c=sRb(a.g,0).b.b;b=(Km(),new tr);aOb(a,(jUb(),qTb));d=null;while(rQb(a,xSb)||rQb(a,LTb)||wQb(a)){d=null;if(rQb(a,xSb))rr(b,new aWb(hOb(a,sRb(a.g,0).b.b)));else if(rQb(a,LTb)){IQb(a,(AMb(),sMb));rr(b,aQb(a))}else rr(b,COb(a,1));rQb(a,vSb)||(d=aOb(a,xSb))}aOb(a,vSb);nOb(a,d);return new vUb(new GYb(c,a.f),Sm(b.a))}function kQb(a){var b,c,d,e,f;d=sRb(a.g,0).b.b;if(FQb(a)){c=oOb(a);b=kQb(a);return new qYb(new GYb(d,a.f),c,b)}else return qQb(a,0,(jUb(),TSb))&&Fnc(sRb(a.g,0).a,hNc)?(e=sRb(a.g,0).b.b,
(xrc(a.e)||!zrc(a.e).a)&&LQb(a,"'await' used in a non-async function context",ED(zD(PU,1),RFc,1,5,[])),gOb(a,hNc),f=kQb(a),new zUb(new GYb(e,a.f),f)):lQb(a)}function sZb(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 CX(new IC(""+b));!a.o&&(a.o=new voc);koc(a.o,b&IFc);return true}function Wu(a,
b,c,d){var e,f,g;g=new Fv(b,c);if(!a.a){a.a=a.e=g;apc(a.b,b,new Ev(g));++a.c}else if(!d){a.e.b=g;g.d=a.e;a.e=g;e=Zoc(a.b,b);if(!e){apc(a.b,b,e=new Ev(g));++a.c}else{++e.a;f=e.c;f.c=g;g.e=f;e.c=g}}else{e=Zoc(a.b,b);++e.a;g.d=d.d;g.e=d.e;g.b=d;g.c=d;!d.e?Zoc(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 AA(a,b,c){var d,e,f;Nd(b);c=sA(a,c);if(!lA(a.b,doc(c)))throw CX(new SA("Invalid input length "+doc(c)));d=0;for(f=0;f<doc(c);){e=jA(a.b,_nc(c,f++))<<18;e|=jA(a.b,_nc(c,f++))<<
12;b[d++]=e>>>16<<24>>24;if(f<doc(c)){e|=jA(a.b,_nc(c,f++))<<6;b[d++]=(e>>>8&255)<<24>>24;if(f<doc(c)){e|=jA(a.b,_nc(c,f++));b[d++]=(e&255)<<24>>24}}}return d}function ptb(b,c){var d,e,f,g,h,i;if(!b.a){b.a=true;i=b.c.b;try{g=b.c.a;d=new jB;h=sC(g);fB(d,h);b.b=d}catch(a){a=BX(a);if(rE(a,99)){e=a;f=new fjb(null,null,-1,-1,ntb,null,ED(zD(UU,1),FHc,2,6,[i,e.g]));Mtb(c,f.b,f)}else if(rE(a,127)){e=a;f=new fjb(null,null,-1,-1,mtb,null,ED(zD(UU,1),FHc,2,6,[i,e.g]));Mtb(c,f.b,f)}else throw CX(a);}}return b.b}
function UZb(a){FZb();var b,c,d,e,f,g,h,i;g=a.length;if(g==0)return BD(AE,MGc,8,0,15,1);a.sort(cY(rtc.prototype.uj,rtc,[]));h=1;for(d=1;d<g;++d){b=a[d];f=a[d-1];if(b==f)continue;b!=f+1&&++h}i=BD(AE,MGc,8,h*2,15,1);i[0]=a[0];e=0;for(c=1;e+2<i.length;++c){b=a[c];f=a[c-1];if(b==f)continue;if(b!=f+1){i[++e]=f+1;i[++e]=b}}i[++e]=a[g-1]+1;return i}function sic(a,b,c){bbc();var d,e,f,g;eec.call(this,a,null,null);this.a=false;this.s=true;for(g=It(new $uc((d=b.b,!d?b.b=Ts(b.a,vvc(b.c)):d).b.b._d()));g.Od();){f=
g.Pd();e=f==null?null:Lw(b.d,f);if(!e)throw CX(new Kmc("RecordProperty associated with a property should not be null!"));c?Jcc(this,f,e.b,e.a):pic(this,f,e.b,false,e.a)}this.a=true}function JB(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 bB(e.b+o,e.a+p);g=new bB(f.b+o,f.a+i)}l=new $B;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;$d(n>k||n==k&&m>=j,$mc(k),$mc(j),$mc(n),
$mc(m))}a.b=l;asc(a.e,l)}function nBb(a){mBb();var b,c,d,e,f,g,h,i,j;i=Tnc(a,"/",0);d=BD(UU,FHc,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(Fnc(e,"."))continue;if(Fnc(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 Lc(lBb,new Ipc(new ltc(Ksc(d,j))))}function ARb(a,b,c){while(mRb(a,a.f)&&(mRb(a,a.f)?Anc(a.b,a.f):0)!=c&&!ZRb(mRb(a,a.f)?Anc(a.b,a.f):0))if(!RRb(a))return new XNb((jUb(),
RTb),Xnc(a.b,b,a.f),SNb(a.i.b,b,a.f));(mRb(a,a.f)?Anc(a.b,a.f):0)!=c?tRb(a,RNb(a.i.b,b),"Unterminated string literal",ED(zD(PU,1),RFc,1,5,[])):nRb(a);return new XNb((jUb(),RTb),Xnc(a.b,b,a.f),SNb(a.i.b,b,a.f))}function rC(a){var b,c;c=a.offset.line;b=a.offset.column;if(a.map!=null&&a.url!=null)throw CX(new tC("Invalid map format: section may not have both 'map' and 'url'"));else if(a.url!=null)return new uC(0,a.url,c,b);else if(a.map!=null)return new uC(1,goc(a.map),c,b);throw CX(new tC("Invalid map format: section must have either 'map' or 'url'"));
}function rGb(a,b){var c,d,e,f,g,h,i;i=jFb(a.a,(Pac(),lac));for(d=b.b._d();d.Od();){c=d.Pd();_4b(i,DFb(a.a,c))}mGb(i);e=dGb(i);if(e||hLb(a.a.e,(AMb(),dMb))){f=jFb(a.a,F9b);y6b(f.j)==-1&&AFb(f,b.o.b,b.o.a);c5b(f,O5b(i));_4b(i,f);e?(h=Q5b(i,i.i,87),h!=i.i&&(i.i=h),i.i=new U6b(87,1,i.i)):(g=Q5b(i,i.i,99),g!=i.i&&(i.i=g),i.i=new U6b(99,1,i.i))}return i}function sdb(a){fdb();this.e=new Hrc;this.a=a.a;this.f=a.b;switch(this.f.f){case 0:this.d=nLb((eLb(),SKb),ED(zD(ZP,1),XFc,28,0,[(AMb(),NLb),OLb,ALb]));
this.c=kLb(this.d,hMb);break;case 1:this.d=kLb((eLb(),SKb),(AMb(),hMb));this.c=this.d;break;default:throw CX(new Nlc("Es6RewriteDestructuring cannot handle ObjectDestructuringRewriteMode "+this.f));}}function Pp(a,b,c){var d,e,f,g,h;d=SX(MX(vGc,Xmc(SX(MX(b==null?0:Bb(b),wGc)),15)));h=SX(MX(vGc,Xmc(SX(MX(c==null?0:Bb(c),wGc)),15)));f=Sp(a,b,d);if(!!f&&h==f.f&&Bd(c,f.i))return c;g=Tp(a,c,h);if(g)throw CX(new Fjb("value already present: "+c));e=new uq(b,d,c,h);if(f){Lp(a,f);Np(a,e,f);f.e=null;f.c=null;
return f.i}else{Np(a,e,null);Rp(a);return null}}function G0(a){var b;this.b=a;this.a=Do("goog.isDef","goog.isNull","goog.isDefAndNotNull","goog.isString","goog.isNumber","goog.isBoolean",ED(zD(UU,1),FHc,2,6,["goog.isFunction","goog.isArray","goog.isArrayLike","goog.isObject"]));b=(lm(),new is);gs(b,ED(zD(UU,1),FHc,2,6,["superClass_","instance_","getInstance"]));hs(b,(Km(),Km(),Jm));xo(new Bsc(b.b))}function emb(a){Rlb();var b,c;c=umb(a);b=c.f;if(b.k==(Pac(),gac)||b.k==D8b){b=b.f;Td(b.k==Z9b,b)}else if(b.k==
F8b){b=b.f;Td(!!b&&(b.k==Jac||b.k==z9b||b.k==x8b),b)}else if(b.k==s8b||b.k==Z8b)Td(a==b.b,a);else if(b.k==k9b){Td(a==b.b.e,a);b=!b.f?null:b.f.f;Td(b.k==j9b,b)}else Td(b.k==Z9b||!!b&&(b.k==Jac||b.k==z9b||b.k==x8b)||b.k==j9b||b.k==r8b,b);return b}function gfb(a,b){if(b.f.k==(Pac(),T8b))return;Kgb(a.a,b)!=0?Ngb(a.a,b):n4(a.b.b,jjb(b,(wgb(),ugb),ED(zD(UU,1),FHc,2,6,["Undecomposable expression: Please rewrite the yield or await as a separate statement.\nSee https://github.com/google/closure-compiler/wiki/FAQ#i-get-an-undecomposable-expression-error-for-my-yield-or-await-expression-what-do-i-do"])))}
function h$(a,b){var c,d,e;VZ((Pac(),pac),b);d=Rac(b.k);d!=-1&&(c=l5b(b),d!=c&&u$(nHc+d+oHc+c,b));e=b.f;switch(e.k.f){case 28:case 23:b==e.b&&u$("SPREAD node is not callable.",b);xZ(a,(AMb(),sMb),b);break;case 43:xZ(a,(AMb(),gMb),b);xZ(a,sMb,b);break;case 42:xZ(a,(AMb(),sMb),b);break;default:u$("SPREAD node should not be the child of a "+e.k+" node.",b)}}function ejc(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.ce();f++){n=o.ge(f);q=(h=Xic(b,n),h==-1?b.b.p[44]:b.c[h]);p=0;for(i=
0;i<l.ce();i++){k=l.ge(i);m=(g=Xic(c,k),g==-1?c.b.p[44]:c.c[g]);if(n==k){j=1;(dbc(q,m,a,d)||e==1&&q.ui(m,new Ffc(true),e)&&m.ui(m,new Ffc(true),e))&&(j=2);p!=2&&(p=j)}}if(p==1||p==0&&a!=2)return false}return true}function JRb(a){var b,c,d,e;c=a.f;nRb(a);nRb(a);while(mRb(a,a.f)&&((mRb(a,a.f)?Anc(a.b,a.f):0)!=42||(mRb(a,a.f+1)?Anc(a.b,a.f+1):0)!=47))nRb(a);if(mRb(a,a.f)){nRb(a);nRb(a);d=(PUb(),KUb);a.f-c>4&&(Anc(a.b,c+2)==42?d=MUb:Anc(a.b,c+2)==33&&(d=LUb));b=SNb(a.i.b,c,a.f);e=Xnc(a.b,c,a.f);QQb(a.a,
d,b,e)}else uRb(a,"unterminated comment",ED(zD(PU,1),RFc,1,5,[]))}function sIb(a,b,c){var d,e,f;f=THb(a,(Pac(),$9b));!!c&&_4b(f,c);d=null;do{if(d){xIb(a);b=!a.n?mJb(a.i):JHb(a);Sd(b==(fJb(),ZIb));xIb(a);b=!a.n?mJb(a.i):JHb(a)}d=nIb(a,b);if(!d)return null;_4b(f,d)}while(RHb(a,(fJb(),ZIb)));if(!c){xIb(a);if(!RHb(a,bJb))return FHb(a,lMc,a.i.g,lJb(a.i)),null;!a.n?mJb(a.i):JHb(a)}if(!!f.b&&!f.b.e){e=f.b;N5b(f,e);return e}return f}function J9(){J9=bY;H9=new D9("JSC_INVALIDATION",(O_(),M_),new Toc("Property disambiguator skipping all instances of property {0} because of type {1} node {2}. {3}"));
I9=new D9("JSC_INVALIDATION_TYPE",M_,new Toc("Property disambiguator skipping instances of property {0} on type {1}. {2}"));new D9("JSC_INVALID_RENAME_FUNCTION",L_,new Toc("{0} call is invalid: {1}"))}function fkb(a,b,c){var d,e,f,g,h,i,j,k,l;j=a.e;l=b.f;g=b.d;f=b.a;d=new uoc;e=new uoc;i=kkb(l,g);if(a.c){h=!j?null:N3(j,b.f,b.d,b.a);if(!h)e.a+=""+i;else{l=h.d;g=h.c;f=h.a;d.a+=""+i;d.a+="\nOriginally at:\n";roc(e,kkb(l,g))}}if(a.b){roc(e,mY(a,c?(O_(),N_):(O_(),L_)));e.a+=" - "}roc(e,b.c);roc(d,oY(a,
e.a));d.a+=KGc;k=gkb(a,b,l,g,f);k!=null&&(d.a+=""+k,d);return d.a}function r7(a){switch(a.f){case 0:return eLb(),VKb;case 1:case 2:return eLb(),WKb;case 3:return eLb(),YKb;case 5:return eLb(),$Kb;case 6:return eLb(),aLb;case 7:return eLb(),UKb;case 8:case 10:return eLb(),bLb;case 4:return eLb(),cLb;case 9:throw CX(new Boc("STABLE has different feature sets for language in and out. Use STABLE_IN or STABLE_OUT."));}throw CX(new Jmc);}function gkb(a,b,c,d,e){var f,g,h,i,j,k,l;f=new uoc;k=a.e;l=!k?null:
M3(k,c,d);if(l!=null){f.a+=""+l;f.a+=KGc;if(a.a==(Asb(),ysb)&&0<=e&&e<=l.length){for(i=0;i<e;i++){g=l.charCodeAt(i);Vac();Uac.test(g)?(f.a+=String.fromCharCode(g),f):(f.a+=" ",f)}if(!b.e)f.a+="^";else{j=$wnd.Math.max(1,$wnd.Math.min(b.e.d,l.length-e));for(h=0;h<j;h++)f.a+="^"}f.a+=KGc}}return f.a}function z1(a,b,c,d){var e,f,g,h;h=b;if(!d&&b.k!=(Pac(),k8b))throw CX(new Klc("Missing BLOCK child."));if(b.k==(Pac(),k8b)){f=N1(b,2);if(f==0){if(a.c._g()){S0(a.c);T0(a.c,a.c.Og(b,c==(Z1(),Y1)))}else a.c.Ug(true);
return}if(f==1){g=M1(b);e=a.c._g();if(e||Q1(g)){S0(a.c);a.bh(g,(Z1(),Y1));a.c.Zg();T0(a.c,a.c.Og(b,c==Y1));return}else h=g}}h.k==J8b?a.c.Ug(true):a.bh(h,c)}function jJb(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=Anc(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{Vac();if(b>127)continue;if(uJb(b)){a.e=b;b=10}}a.a==-1&&(a.a=
a.i-a.f-a.r-1);return b}}function oB(a,b,c){var d;switch(c){case 1:d=new sB(b[0]+a.c);a.c=d.e;return d;case 4:d=new yB(b[0]+a.c,b[1]+a.f,b[2]+a.g,b[3]+a.e);a.c=d.e;a.f=d._f();a.g=d.ag();a.e=d.$f();return d;case 5:d=new DB(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._f();a.g=d.ag();a.e=d.$f();a.d=d.Zf();return d;default:throw CX(new tC("Unexpected number of values for entry:"+c));}}function Uhb(a,b){var c,d,e,f,g,h;h=b.f;Sd(h.k==(Pac(),U9b));c=h.f;if(!c)return null;d=c.f;switch(c.k.f){case 29:if(!d||
(Rlb(),!(!!d&&(d.k==Jac||d.k==z9b||d.k==x8b))))return null;g=c.Rh();break;case 47:f=c.b;g=r5b(f);break;case 91:if(!!d&&d.k==U9b)g=Uhb(a,c);else return null;break;default:return null}if(g!=null){e=b.Rh();U4b();if(T4b.test(e))return g+"."+e}return null}function adb(a){var b,c,d,e;c=Od((Rlb(),gmb(a,new Hnb)),a);if(c==a)return true;else{b=a.f;if(!!c&&(c.k==(Pac(),Jac)||c.k==z9b||c.k==x8b)&&b.k==(Pac(),H9b)&&c==b.f&&!(b==b.f.b?null:b.g))return true;else if(c.k==(Pac(),T8b)&&c==b.f&&!(b==b.f.b?null:b.g)&&
!b.e&&b.k==T7b&&(e=a==a.f.b?null:a.g,!!e&&b==e.f&&!(e==e.f.b?null:e.g))){d=b.b;return!Wlb(d,false,null)}else return false}}function NJb(a){var b,c,d,e;c=hEb(nEb(kEb(lEb(oEb(iEb(mEb(jEb(nEb(kEb(new pEb,(EEb(),DEb)),(PEb(),OEb)),(tEb(),sEb)),(KEb(),JEb)),cEb((lm(),oy(),ny))),(null,ny)),false),zEb),NEb));e=BJb(a.b,a.f,c,a.a);b=e.a;if(b.k!=(Pac(),lac)||b.b.k!=T8b){a.a.vh(dMc+F7b(vMc,ED(zD(PU,1),RFc,1,5,[wMc])),a.b.sg(),a.d,a.c);return false}d=b.b.b;if(!fKb(a,d))return false;JJb(a,d);a.e=d;return true}
function K5b(a,b,c){var d,e,f;f=Mnc(b,boc(46),c-1)+1;switch(a.k.f){case 29:case 98:d=a.Rh();return f==0&&d.length!=0&&d.length==c&&Fnc(b.substr(0,d.length),d);case 33:return f==0&&4==c&&Fnc(b.substr(0,4),jHc);case 99:return f==0&&5==c&&Fnc(b.substr(0,5),hHc);case 26:e=(a.b?a.b.g:null).Rh();return f>1&&e.length==c-f&&Onc(e,false,0,b,f,c-f)&&K5b(a.b,b,f-1);default:return false}}function We(a){var b,c,d,e;c=a.c;while(a.c!=-1){e=c;d=Xe(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.Sd(Anc(a.e,e)))++e;while(b>e&&a.f.Sd(Anc(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.Sd(Anc(a.e,b-1)))--b}else--a.b;return Vnc(a.e,e,b)}return a.i=2,null}function dQb(a,b){var c,d,e,f,g;e=!b?sRb(a.g,0).b.b:b.o.b;f=oOb(a);c=(Km(),new tr);rr(c,new hYb(f.b,f));if(f.c==(jUb(),kTb))return new gYb(new GYb(e,a.f),b,Sm(c.a));d=pOb(a,1);rr(c,new iYb(d.o,d));while(!a.c.d){f=(g=pRb(a.g),a.f=g.b.a,g);if(f.c==LSb||f.c==
GSb)break;rr(c,new hYb(f.b,f));if(f.c==WTb)break;d=pOb(a,1);rr(c,new iYb(d.o,d))}return new gYb(new GYb(e,a.f),b,Sm(c.a))}function ebb(a,b,c){var d,e,f,g;f=c.b;e=f.e.Rh();if(dbb(b,f)){y3(a.a,PJc,false);g=(Rlb(),gmb(c,new Hnb));switch(e){case "iterator":{d=m6b(G0b(y0b(snb(a.a,"$jscomp.initSymbolIterator"),ED(zD(nT,1),KHc,7,0,[]))),g);$4b(g.f,d,g);p4(a.a,d);break}case "asyncIterator":{d=m6b(G0b(y0b(snb(a.a,"$jscomp.initSymbolAsyncIterator"),ED(zD(nT,1),KHc,7,0,[]))),g);$4b(g.f,d,g);p4(a.a,d);break}}}}
function qmb(a){Rlb();switch(a.k.f){case 48:return Pac(),i8b;case 49:return Pac(),j8b;case 50:return Pac(),g8b;case 51:return Pac(),A9b;case 52:return Pac(),kac;case 53:return Pac(),Iac;case 54:return Pac(),M7b;case 55:return Pac(),uac;case 56:return Pac(),G9b;case 59:return Pac(),P8b;case 57:return Pac(),G8b;case 58:return Pac(),E9b}throw CX(new Fjb("Not an assignment op:"+a));}function XYb(a){var b,c;if(a.a==null)return SYb(a,OFc,0);if(rE(a.a,186))return SYb(a,goc(a.a),0);else if(rE(a.a,131)){b=
Hmc(a.a);if(!(b>=0&&b<=PGc))throw CX(new IYb(b));c=b<OGc?String.fromCharCode(b&IFc):hoc((hFc(b>=0&&b<=PGc),b>=OGc?ED(zD(zE,1),JFc,8,15,[55296+(b-OGc>>10&QGc)&IFc,56320+(b-OGc&QGc)&IFc]):ED(zD(zE,1),JFc,8,15,[b&IFc])));return SYb(a,c,0)}else throw CX(PYb(a));}function Icc(a,b,c,d){var e,f,g,h,i,j,k;if(!!a.Fi()&&njc(a.Fi(),b))return Tic(a.fi(),b.fi(),c,d,0);k=Afc(d,a,b);if(k)return k.a;i=Lcc(a);j=Lcc(b);if(!Rg(j,i)){Bfc(d,a,b,(Jfc(),Hfc));return false}for(h=(f=(new $qc(i.a)).a.Ge().b.rj(),new frc(f));h.a.Od();){g=
(e=h.a.Pd(),e.Ve());if(!dbc(b.Qi(g),a.Qi(g),c,d)){Bfc(d,a,b,(Jfc(),Hfc));return false}}Bfc(d,a,b,(Jfc(),Gfc));return true}function aeb(a,b,c){var d,e,f,g,h,i,j,k;k=P5b(b);d=P5b(b);i=P5b(b);f=d.b?new Web(a.a):null;j=!i?null:new Web(a.a);g=yeb(a.a,c);qeb(a.a,f,j,k);$db(a,k,null,null);if(!i)xeb(a.a,f,g,k);else{Jeb(a.a,j);peb(a.a,f,j,i);$db(a,i,null,null);web(a.a,g,i)}if(d.b){Sd(d.b.k==(Pac(),r8b));Jeb(a.a,f);h=i5b(d.b.b);oeb(a.a,j,h);e=i5b(d.b.b);Sd(e.k==k8b);$db(a,e,null,null);veb(a.a,j,e)}Jeb(a.a,
g)}function peb(a,b,c,d){var e,f,g;Feb(a,b,c);f=teb(a);g=xrc(a.k)?null:vrc(a.k);e=new ksc;if(a.o==0){if(!!f||!!g){asc(e,!f?l6b(Dgb(new Z6b(0),a.r.f.e),d):Teb(f,d));!!g&&asc(e,Teb(g,d))}}else{asc(e,!f?l6b(Dgb(new Z6b(0),a.r.f.e),d):Teb(f,d));asc(e,!g?l6b(Dgb(new Z6b(0),a.r.f.e),d):Teb(g,d));asc(e,l6b(new Z6b(a.o),d))}Leb(a,ieb(a,d,"enterFinallyBlock",jsc(e,BD(nT,KHc,7,0,0,1))));++a.o}function Qp(a,b,c,d){var e,f,g,h,i;i=SX(MX(vGc,Xmc(SX(MX(b==null?0:Bb(b),wGc)),15)));e=SX(MX(vGc,Xmc(SX(MX(c==null?
0:Bb(c),wGc)),15)));h=Tp(a,b,i);g=Sp(a,c,e);if(!!h&&e==h.a&&Bd(c,h.g))return c;else if(!!g&&!d)throw CX(new Fjb("key already present: "+c));!!h&&Lp(a,h);!!g&&Lp(a,g);f=new uq(c,e,b,i);Np(a,f,g);if(g){g.e=null;g.c=null}if(h){h.e=null;h.c=null}Rp(a);return!h?null:h.g}function ND(a,b,c,d,e,f){var g,h,i,j,k,l,m;j=QD(b)-QD(a);g=$D(b,j);i=JD(0,0,0);while(j>=0){h=TD(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&&PD(i);if(f)if(d){GD=ZD(a);e&&(GD=bE(GD,(kE(),iE)))}else GD=JD(a.l,a.m,a.h);return i}function u3(a,b,c,d){var e,f;Sd(!a.A);try{U3(a,b,c,d);a.j.a.e!=0||q5(new h5(a));if(a.j.a.e==0){Td(!!a.D,xIc);Sd(a.j.a.e==0);Sd(true);q5(new b5(a));a.j.a.e!=0||(Td(!!a.D,xIc),Sd(a.j.a.e==0),Sd(true),q5(new d5(a)),undefined);q5(new f5(a))}}finally{e=(a.J.wd!=(S7(),P7)&&!!a.S&&Uob(a.S,yIc,true),new Ytb);z$(a.j.a);f=PX(IX(Date.now()),e.a);a.J.wd!=P7&&!!a.S&&
Vob(a.S,yIc,f)}return J3(a)}function Bxb(a,b){var c,d,e,f,g,h,i,j;g=new PCc;for(f=(j=(new Ypc(Dec(b).a)).a.Ge()._d(),new cqc(j));f.a.Od();){e=(c=f.a.Pd(),c.Ve());NCc(g,e.$h(new uoc,true).a)}for(i=(d=(new $qc(g.a)).a.Ge().b.rj(),new frc(d));i.a.Od();){h=(c=i.a.Pd(),c.Ve());a.a+=xLc;roc(roc(roc(roc((a.a+="@",a),eIc)," {"),h),"}");a.a+=KGc}b.f==(kfc(),ifc)&&b.e?(a.a+=" * @record\n",a):(a.a+=" * @interface\n",a)}function HZ(a,b){var c,d,e,f,g,h,i;switch(b.k.f){case 98:h=Rac(b.k),h!=-1&&(d=l5b(b),h!=d&&
u$(nHc+h+oHc+d,b));yZ(a,b.b,true);break;case 157:e=l5b(b),0!=e&&u$(lHc+e,b);break;case 158:i=Rac(b.k),i!=-1&&(f=l5b(b),i!=f&&u$(nHc+i+oHc+f,b));iZ(b.b,0);break;case 159:g=Rac(b.k),g!=-1&&(c=l5b(b),g!=c&&u$(nHc+g+oHc+c,b));break;default:u$("Interface contained member of invalid type "+b.k,b)}}function tgb(a,b,c){var d,e,f,g,h,i,j;i=P3(a.c);j=Bgb(c,i,38);h=l5b(b);if(h==0)S5b(b,Dgb(new s7b((Pac(),rac),'""'),j));else{f=P5b(b);Sd(f.k==(Pac(),rac));if(h==1)R5b(b.f,b,f);else{d=Dgb(p0b(f,P5b(P5b(b))),b.c);
for(g=2;g<h;g++){e=P5b(b);if(e.k==rac)if(e.Rh().length==0)continue;else g==2&&f.Rh().length==0&&(d=i5b(d.b.e));d=Dgb(p0b(d,e.k==rac?e:P5b(e)),b.c)}S5b(b,o6b(d,b))}}vlb(a)}function gib(a,b){var c,d,e;!a.n&&(a.n=new ksc);asc(a.n,b);switch(b.b.f){case 0:if(!a.d){a.d=b;kib(b)}++a.f;break;case 1:++a.g;c=!b.a?null:(Rlb(),d=dmb(b.a),!d?null:q5b(d,29));!!c&&(c.a&AKc)!=0&&++a.i;break;case 2:case 4:e=b.a;!!e&&e.k==(Pac(),d9b)&&e.f.k==(Pac(),T8b)&&q5b(e,29);++a.p;break;case 3:++a.a;++a.p;break;case 5:++a.c;
++a.p;break;case 6:++a.e;break;default:throw CX(new Jmc);}}function jCb(){jCb=bY;new D9("JSC_NON_DECLARATION_STATEMENT_IN_RECORD",(O_(),M_),new Toc("@record functions should not contain statements other than field declarations"));hCb=new D9("JSC_INTERFACE_FUNCTION_NOT_EMPTY",M_,new Toc("interface functions must have an empty body"));iCb=new D9("JSC_INTERFACE_SHOULD_NOT_TAKE_ARGS",M_,new Toc("Interface functions should not take any arguments"))}function Tnc(a,b,c){var d,e,f,g,h,i,j,k;d=new RegExp(b,
"g");j=BD(UU,FHc,2,0,6,1);e=0;k=a;g=null;while(true){i=d.exec(k);if(i==null||k==""||e==c-1&&c>0){j[e]=k;break}else{h=i.index;j[e]=k.substr(0,h);k=Xnc(k,h+i[0].length,k.length);d.lastIndex=0;if(g==k){j[e]=k.substr(0,1);k=k.substr(1)}g=k;++e}}if(c==0&&a.length>0){f=j.length;while(f>0&&j[f-1]=="")--f;f<j.length&&(j.length=f)}return j}function uAb(){uAb=bY;new D9("JSC_MODULE_CONFLICT",(O_(),N_),new Toc("File cannot be a combination of goog.provide, goog.module, and/or ES6 module: {0}"));tAb=new D9("JSC_JS_MODULE_LOAD_WARNING",
L_,new Toc('Failed to load module "{0}"'));sAb=new D9("JSC_INVALID_MODULE_PATH",L_,new Toc('Invalid module path "{0}" for resolution mode "{1}"'));rAb=new xAb((Km(),Km(),Jm),(null,Jm),(Pzb(),Ozb))}function Emc(a,b){var c,d,e,f,g;if(a==null)throw CX(new vnc(OFc));if(b<2||b>36)throw CX(new vnc("radix "+b+" out of range"));e=a.length;f=e>0&&(a.charCodeAt(0)==45||a.charCodeAt(0)==43)?1:0;for(c=f;c<e;c++)if(Xlc(a.charCodeAt(c),b)==-1)throw CX(new vnc(QNc+a+'"'));g=parseInt(a,b);d=g<LGc;if(isNaN(g))throw CX(new vnc(QNc+
a+'"'));else if(d||g>EFc)throw CX(new vnc(QNc+a+'"'));return g}function Xgb(a){var b,c,d,e;b=a;for(d=new O6b(new L6b(Nd(b.f)));d.a.a;){c=N6b(d);e=c.k;switch(e.f){case 84:case 66:case 67:case 0:case 39:Sd(b==c.b);return c;case 76:case 88:case 100:Sd(b==c.b);return c.f.k==(Pac(),V8b)&&c==c.f.b?c.f:c;case 72:if(b==c.b)return c;case 73:case 101:case 85:case 82:case 83:case 68:case 69:case 45:return null}b=c}throw CX(new Kmc("Unexpected AST structure."));}function Rec(a,b,c){var d,e,f,g,h,i,j,k,l;Nd(b);
e=new Cfc(false);if(dbc(a,b,0,e))return a;if(a.f==(kfc(),jfc)&&b.f==jfc&&!occ(a.b)&&!occ(b.b)){i=a.ti(b);j=b.ti(a);if(i&&!j)return c?b:a;else if(j&&!i)return c?a:b;l=Sec(a,b,c);if(l)return l}g=a.A.p[11];f=new Cfc(false);if(dbc(g,b,0,f))return c?b:a;else{d=new Cfc(false);if(dbc(g,a,0,d))return c?a:b}h=a.A.p[55];k=a.A.p[57];return c?h:k}function urb(a,b){var c,d,e,f,g,h,i;Fd(b.k==(Pac(),U9b));g=Bgb(a.a,P3(a.b),8);f=g;e=Dgb(y0b(snb(a.b,cKc),ED(zD(nT,1),KHc,7,0,[])),f);_4b(e,Dgb(b1b(ED(zD(nT,1),KHc,7,
0,[])),g));i=null;for(d=(!b.b?(Jtc(),Jtc(),Itc):new h7b(b.b))._d();d.Od();){c=d.Pd();if(c.k==pac){h=P5b(c);_4b(e,h);i=null}else{if(!i){i=Dgb(b1b(ED(zD(nT,1),KHc,7,0,[])),g);_4b(e,i)}_4b(i,i5b(c))}}o6b(e,b);R5b(b.f,b,e);p4(a.b,e)}function ZHb(a,b){var c;if(b==(fJb(),dJb))return THb(a,(Pac(),qac));else if(b==WIb){xIb(a);return jIb(a,!a.n?mJb(a.i):JHb(a))}else if(b==XIb){xIb(a);return sIb(a,!a.n?mJb(a.i):JHb(a),null)}else if(b==eJb){c=a.i.n;switch(c){case CFc:xIb(a);return cIb(a,!a.n?mJb(a.i):JHb(a));
case OFc:case KJc:return UHb(a,c,a.i.g,lJb(a.i));default:return qIb(a,b)}}a.n=b;return FHb(a,kMc,a.i.g,lJb(a.i)),null}function jab(a,b,c){var d,e,f,g,h,i,j;Gd(c.k==(Pac(),n8b),c);f=c.Ph(false);e=P5b(c);if(e.k==vac){i=m6b(K0b(snb(a.a,b),new s7b(rac,wJc)),e);_4b(f,i);h=Q5b(f,f.i,50);h!=f.i&&(f.i=h);Z4b(f,l6b(new p6b(Aac),e),i)}else{Td(e.k==d9b,e);d=Nd(e.b.e);Td(Fnc(d.Rh(),zJc),d);_4b(f,e);j=e.b;R5b(e,j,m6b(snb(a.a,b),j));g=c.b;Td(g.k==Q9b,g);N5b(c,g);_4b(f,l6b(new p6b(Aac),g))}while(c.b)_4b(f,P5b(c));
return f}function cKb(a,b){var c,d;d=(Kd(b.k==(Pac(),n8b),tMc,b),b.b.Rh());c=OKb(Xb(d));switch(c.f){case 19:return aKb(a,b);case 22:return iKb(a,b);case 11:return IJb(a,b,(MKb(),zKb));case 0:return IJb(a,b,(MKb(),oKb));case 23:return IJb(a,b,(MKb(),LKb));case 14:return YJb(a,b);case 18:return bKb(a,b);case 17:return $Jb(a,b);case 20:return UJb(a,b);default:throw CX(new Kmc("Invalid type expression"));}}function TA(a,b,c){var d,e,f,g,h,i;Nd(c);if(b==0)throw CX(new Glc("/ 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:WA(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=$wnd.Math.abs(h);e=d-($wnd.Math.abs(b)-d);e==0?g=c==(Koc(),Hoc)||c==Goc&(f&1)!=0:g=e>0;break;default:throw CX(new Mlc);}return g?f+i:f}function V3(a){var b,c,d,e,f;(new rpc(a.w.a)).a.Xd();for(e=new Bsc(a.o);e.a<e.c.a.length;){c=(e.b=e.a++,e.c.a[e.b]);b=c.i;f=(c.b=a,_Cc(a.w,b,c));!!f&&n4(a,new fjb(null,null,-1,-1,k3,null,ED(zD(UU,1),FHc,2,
6,[c.i.a])))}for(d=new cu(Ht(st(kt(ot(new ltc(a.D.a),new Jjb)).a),new pt));au(d);){c=bu(d);b=c.i;f=(c.b=a,_Cc(a.w,b,c));!!f&&n4(a,new fjb(null,null,-1,-1,l3,null,ED(zD(UU,1),FHc,2,6,[c.i.a])))}}function zjb(a){var b,c,d,e,f,g,h;h=new ksc;for(g=0;g<a.a.length;++g){f=a.a[g];Xd(f.b==-1,"Module depth already set: %s",f);e=0;for(c=Sm(f.a)._d();c.Od();){b=c.Pd();d=b.b;if(d<0)throw CX(new Ijb(eZb("Modules not in dependency order: %s preceded %s",ED(zD(PU,1),RFc,1,5,[f.e,b.e])),f,b));e=$wnd.Math.max(e,d+
1)}Id(e>=0,"invalid depth: %s",e);f.b=e;e==h.a.length&&asc(h,new ksc);h.a[e].Vd(f)}return h}function DCb(){DCb=bY;BCb=new D9("JSC_NULLABLE_RETURN",(O_(),M_),new Toc("This function''s return type is nullable, but it always returns a non-null value. Consider making the return type non-nullable."));CCb=new D9("JSC_NULLABLE_RETURN_WITH_NAME",M_,new Toc('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 Tmb(a){Rlb();
var b;switch(a.k.f){case 29:case 26:case 27:break;default:return false}b=a.f;if(!b)return false;switch(b.k.f){case 107:return(b.b?b.b.g:null)==a;case 76:case 100:case 88:case 113:case 45:case 105:case 63:case 64:case 78:return true;case 96:case 65:case 119:case 72:case 73:case 101:case 102:return b.b==a;case 93:case 91:case 115:return Vmb(a);default:return Bmb(b)&&b.b==a}}function cqb(a,b){$pb();if(a.k==(Pac(),n8b)&&!!a.b&&!!a.b.e&&a.b.e==(a.b?a.b.g:null))if(b==(iBb(),hBb)&&J5b(a.b,"__webpack_require__")&&
(a.b.e.k==S9b||a.b.e.k==rac))return true;else{if(J5b(a.b,UHc)&&a.b.e.k==rac)return true}else if(a.k==n8b&&l5b(a)==3&&b==(iBb(),hBb)&&J5b(a.b,"__webpack_require__.bind")&&a.b.e.k==Q9b&&((a.b?a.b.g:null).k==S9b||(a.b?a.b.g:null).k==rac))return true;return false}function n$b(a){var b,c,d;b=Anc(a.e,a.c++);switch(b){case 98:return 8;case 102:return 12;case 110:return 10;case 114:return 13;case 116:return 9;case 117:return o$b(a,4);case 118:return 11;case 120:return o$b(a,2);default:if(48<=b&&b<=55){c=
b-48&IFc;d=$wnd.Math.min(a.a,a.c+(b<=51?2:1)+(b==48?1:0));while(a.c<d){b=Anc(a.e,a.c);if(48<=b&&b<=55){c=(c<<3)+(b-48)&IFc;++a.c}else break}return c}return b}}function B8(a){var b,c,d;if("".length>0){if(!F8(a.a,"".charCodeAt(0))){b=BD(zE,JFc,8,a.a.length,15,1);for(c=0;c<b.length;c++)b[c]=a.a[c].a;throw CX(new Fjb("prefix must start with one of: "+dtc(b)));}for(d=1;d<"".length;++d){b=BD(zE,JFc,8,a.c.length,15,1);for(c=0;c<b.length;c++)b[c]=a.c[c].a;if(!F8(a.c,"".charCodeAt(d)))throw CX(new Fjb("prefix has invalid characters, must be one of: "+
dtc(b)));}}}function IGb(a,b){var c,d,e,f,g,h,i,j;f=new vzc;c=new vzc;g=null;h=null;if(_Fb(a,b.a.a))for(e=b.a.a._d();e.Od();){d=e.Pd();i=null;if(d.p==(WXb(),JXb)){j=d;i=DFb(a.a,j.b);d=j.a}switch(d.p.f){case 26:szc(f,d.a.a,i);break;case 81:lGb(a,d,(AMb(),jMb));szc(c,d.a.a.a,i);break;case 65:g=d.a.a.a;h=i;break;default:throw CX(new Kmc("Illegal parameter type: "+d.p));}}return YEb(a.a,Xac(DFb(a.a,b.b),f,c,g,h))}function pob(a,b){var c,d,e,f,g,h;Td(a.k==(Pac(),Z8b),a);Rlb();if(a.k==Z8b&&Jmb(a.f)&&a.k==
Z8b&&dnb(a.b)&&!Qmb(a)){e=a.b;f=e.Ph(false);g=l6b(E0b(f,Jac),a);e.Wh("");l4(b,A3(e));b4(b);h=a.f;N5b(h,a);a5b(h,g);l4(b,A3(g));b4(b);a5b(f,a);return true}else if(a.k==Z8b&&(Gd(a.k==Z8b,a),a.b?a.b.g:null).k!=k8b){d=(Gd(a.k==Z8b,a),a.b?a.b.g:null);c=w0b(f1b(i5b(d)));o6b(c,d);_4b(a,c);l4(b,A3(c));b4(b)}return false}function gCb(){gCb=bY;dCb=new D9("JSC_DUPLICATE_ENUM_VALUE",(O_(),M_),new Toc("The value {0} is duplicated in this enum."));cCb=new D9("JSC_COMPUTED_PROP_NAME_IN_ENUM",M_,new Toc("Computed property name used in enum."));
fCb=new D9("JSC_SHORTHAND_ASSIGNMENT_IN_ENUM",M_,new Toc("Shorthand assignment used in enum."));eCb=new D9("JSC_ENUM_PROP_NOT_CONSTANT",M_,new Toc("enum key {0} must be in ALL_CAPS."))}function _Z(a,b,c){var d,e,f;xZ(a,(AMb(),OLb),c);VZ((Pac(),V9b),c);for(d=c.b;d;d=d.e)switch(d.k.f){case 91:a$(a,b,d);break;case 113:xZ(a,hMb,d);e$(a,b,d);break;case 115:xZ(a,KLb,d);VZ(w8b,d);e=Rac(d.k);e!=-1&&(f=l5b(d),e!=f&&u$(nHc+e+oHc+f,d));wZ(a,d.b);(d.b?d.b.g:null).k==D8b?pZ(a,b,d.b?d.b.g:null):JZ(a,(d.b?d.b.g:
null).k,d.b?d.b.g:null);break;default:u$("Invalid object pattern child for "+b+qHc,c)}}function MOb(a){var b,c,d,e,f;c=false;d=(Km(),new tr);while(true){e=sRb(a.g,0).b.b;switch(sRb(a.g,0).c.f){case 4:aOb(a,(jUb(),pSb));b=pOb(a,1);aOb(a,wSb);f=bQb(a);rr(d,new FUb(new GYb(e,a.f),b,f));break;case 8:c?LQb(a,"Switch statements may have at most one default clause",ED(zD(PU,1),RFc,1,5,[])):c=true;aOb(a,(jUb(),CSb));aOb(a,wSb);rr(d,new bVb(new GYb(e,a.f),bQb(a)));break;default:return Sm(d.a)}}}function jZb(a,
b){var c,d,e;e=a.b;c=a.b<a.c?Anc(a.a,a.b):-1;if(c>=48&&c<=57){d=iZb(a);if((a.b<a.c?Anc(a.a,a.b):-1)==36){gZb(a);if(d==-1)throw CX(new NYb(Xnc(a.a,a.d,a.b)));rZb(b,$wnd.Math.max(0,d-1))}else if(c==48)a.b=e;else return mZb(a,b,d)}else if(c==60){b.a=-2;gZb(a)}while(sZb(b,a.b<a.c?Anc(a.a,a.b):-1))gZb(a);c=a.b<a.c?Anc(a.a,a.b):-1;return c>=48&&c<=57?mZb(a,b,iZb(a)):c==46?lZb(a,b):kZb(a,b)}function mfb(){mfb=bY;new D9("JSC_LHS_OF_GOOG_REQUIRE_MUST_BE_CONST",(O_(),L_),new Toc("The left side of a goog.require() must use ''const'' (not ''let'' or ''var'')"));
new D9("JSC_NAMESPACE_IMPORT_CANNOT_USE_STAR",L_,new Toc("Namespace imports ('goog:some.Namespace') cannot use import * as. Did you mean to import {0} from ''{1}'';?"));new D9("JSC_DUPLICATE_EXPORT",L_,new Toc("Duplicate export ''{0}''."))}function cib(a,b,c,d){var e,f,g,h,i;if(d.q!=(rib(),mib)||!c)return;f=null;if(c.k==(Pac(),s8b))f=c.b.e;else if(b.k==H9b||b.k==d9b){e=(Rlb(),Td(b.k==H9b||b.k==d9b,b),i=b.f,!!i&&(i.k==Jac||i.k==z9b||i.k==x8b)?b.b:i.k==T7b&&i.b==b?b.e:null);!!e&&e.k==s8b&&(f=e.b.e)}if(!f||
f.k==J8b||!(f.k==H9b||f.k==d9b))return;g=r5b(f);h=Vhb(a,g,true);!!h&&h.q==mib&&(Fd(h.q==mib&&d.q==mib),!h.o&&(h.o=new ksc),asc(h.o,d),d)}function pcc(a,b,c,d){var e,f,g,h,i,j,k,l,m,n;if(!rE(b,211))return false;f=b;if(!a.b.ui(f.b,c,d))return false;m=a.a.b;i=f.a.b;while(!!m&&!!i){n=m.c;j=i.c;if(n)if(!j||!j.ui(n,c,d))return false;l=n5b(m,30)!=0;h=n5b(i,30)!=0;k=l||n5b(m,37)!=0;g=h||n5b(i,37)!=0;if(!k&&g){e=h&&(!j||j.vi()||j.ni());if(!e)return false}l||(m=m.e);h||(i=i.e);if(l&&h){m=null;i=null}}return!m||
n5b(m,37)!=0||n5b(m,30)!=0||!!i}function Mob(){Mob=bY;new D9("JSC_INVALID_GETELEM_INDEX_ERROR",(O_(),N_),new Toc("Array index not integer: {0}"));Kob=new D9("JSC_INDEX_OUT_OF_BOUNDS_ERROR",N_,new Toc("Array index out of bounds: {0}"));Lob=new D9("JSC_NEGATING_A_NON_NUMBER_ERROR",N_,new Toc("Can''t negate non-numeric value: {0}"));Job=new D9("JSC_FRACTIONAL_BITWISE_OPERAND",N_,new Toc("Fractional bitwise operand: {0}"));$wnd.Math.pow(2,53)}function QFb(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;default:throw CX(new Kmc(_Lc+String.fromCharCode(a)));}}function SPb(a){var b,c,d,e,f,g;f=sRb(a.g,0).b.b;e=dOb(a);b=eOb(a,(jUb(),wSb));if(!b)if(e.c!=TSb)JQb(a,sRb(a.g,0),aNc,ED(zD(PU,1),RFc,1,5,[wSb]));else if(LNb(e.a,
false))JQb(a,e,"Cannot use keyword in short object literal",ED(zD(PU,1),RFc,1,5,[]));else if(qQb(a,0,ISb)){d=new MVb(new GYb(f,a.f),e);aOb(a,ISb);c=COb(a,1);return new cVb(new GYb(f,a.f),d,c)}g=!b?null:COb(a,1);return new $Xb(new GYb(f,a.f),e,g)}function Z9(a,b,c,d){var e,f,g,h,i;Td(c.k==(Pac(),d9b)||c.k==c9b,c);Td(b.k==vac,b);f=c.f;if(Tmb(c)){n4(a.a,jjb(c,(wgb(),vgb),ED(zD(UU,1),FHc,2,6,["assigning to a super property"])));return}e=(Rlb(),gmb(b,new Dnb(s8b)));i=e.b.e;if(!D5b(i))return;if(n5b(d,58)!=
0)S5b(b,m6b(g5b(i,false),b));else{g=Kc(new Nc(String.fromCharCode(46)),r5b(i),LHc,ED(zD(PU,1),RFc,1,5,[]));h=m6b(tnb(a.a,g,b),b);R5b(b.f,b,h)}p4(a.a,f)}function _qb(a,b,c){var d,e,f,g;Nd(c);Sd(c.k==(Pac(),Oac));Sd(!!b&&!!b.a);Sd(A5b(b.a));d=P5b(c);e=_0b(snb(a.a,_Kc),ED(zD(nT,1),KHc,7,0,[]));if(n5b(c,62)!=0){Nd(d);_4b(e,snb(a.a,"$jscomp.AsyncGeneratorWrapper$ActionEnum.YIELD_STAR"));_4b(e,d)}else{!d&&(d=(Rlb(),f=o1b(new Z6b(0)),f));_4b(e,snb(a.a,"$jscomp.AsyncGeneratorWrapper$ActionEnum.YIELD_VALUE"));
_4b(e,d)}o6b(e,c);a5b(c,e);g=Q5b(c,c.i,62);g!=c.i&&(c.i=g)}function X9(a,b,c){var d,e,f;Sd(b.k==(Pac(),vac));e=b;(e.f.k==c9b||e.f.k==d9b)&&(e=e.f);d=gmb(e,new dab);if(c.k==n8b)Y9(a,b,c,d);else if(c.k==d9b||c.k==c9b)c.b==b?c.f.k==n8b&&(Rlb(),f=c.f,!!f&&(f.k==n8b||f.k==N9b||f.k==xac)&&f.b==c)?$9(a,b,c,d):Z9(a,b,c,d):n4(a.a,jjb(b,(wgb(),vgb),ED(zD(UU,1),FHc,2,6,[tJc])));else if(c.k==N9b)throw CX(new Kmc(uJc));else n4(a.a,jjb(b,(wgb(),vgb),ED(zD(UU,1),FHc,2,6,[tJc])))}function Pcb(a,b,c){var d,e,f,g,
h,i,j,k;j=Scb(b,snb(a.a,c.f),snb(a.a,c.f+XJc));h=i5b(b.b?b.b.g:null);d=t0b(j,h);n6b(d,h);f=q5b(b,29);if(n5b(b,58)!=0&&znb(d.b?d.b.g:null)){g=S4b(f);D4b(g,new V4b(new r6b((Pac(),f8b),new p6b(dac)),(e=q5b(b,51),!e?null:e.sg())));f=z3b(g)}!!f&&(k=Q5b(d,d.i,29),k!=d.i&&(d.i=k),!!f&&(d.i=new c7b(29,f,d.i)),d);i=(Rlb(),l6b((Td(V0b(d),d),new r6b((Pac(),T8b),d)),d));Z4b(c.g.f,i,c.g);c.g=i}function i4(a){var b;a.J.Jc&&(SDc(p3,"Recording function information"),Sd(!a.f),a.e=GIc,a.f=(a.J.wd!=(S7(),P7)&&!!a.S&&
Uob(a.S,GIc,true),new Ytb),undefined,b=new Jqb(a),Iqb(b,a.A),null.Dj(),Td(!!a.f,"Tracer should not be null at the end of a pass."),u4(a,a.f,a.e),s3(a),a.e=null,a.f=null,a.J.ab==(z6(),v6)&&byb(new cyb(a),a.q,a.A),undefined,undefined);a.J.ab==(z6(),y6)&&byb(new cyb(a),a.q,a.A);a.N=1;!!a.S&&Pob(a.S)}function Gn(a){zn();var b,c,d,e,f,g,h,i,j;if(rE(a,133)&&!rE(a,353)){g=a;return g}else if(rE(a,199)){f=a;for(e=new Exc((new yxc(f)).a);cyc(e.a);){d=(e.b=dyc(e.a),new Jxc(e.c,e.b));Nd(d.a);Nd(d.b.b[d.a.f])}i=
mr(new oxc(f));return i}j=a.ce();switch(j){case 0:return yn;case 1:d=Et(a.Ge()._d());return Rn(d.Ve(),d.We());default:h=new vzc;for(c=a.Ge()._d();c.Od();){b=c.Pd();szc(h,Nd(b.Ve()),Nd(b.We()))}return new ly(h)}}function yZ(a,b,c){var d,e,f,g,h,i,j,k;VZ((Pac(),Z8b),b);f=Rac(b.k);f!=-1&&(e=l5b(b),f!=e&&u$(nHc+f+oHc+e,b));c$(a,b.b.e);g=b.b;d=b.b?b.b.g:null;if(b.k==Z8b&&n5b(b,60)!=0){VZ(H9b,g);WZ(g)&&g.Rh().length!=0&&u$("Expected empty string.",g);h=Rac(g.k);h!=-1&&(i=l5b(g),h!=i&&u$(nHc+h+oHc+i,g));
d.k==k8b?fZ(a,d):wZ(a,d)}else{VZ(H9b,g);WZ(g);j=Rac(g.k);j!=-1&&(k=l5b(g),j!=k&&u$(nHc+j+oHc+k,g));c?VZ(J8b,d):fZ(a,d)}zZ(a,b)}function snb(a,b){Rlb();var c,d,e,f,g,h,i,j;c=Jnc(b,boc(46));if(c==-1)return rnb(a,b);f=b.substr(0,c);Fnc(jHc,f)?e=new p6b((Pac(),Aac)):Fnc(hHc,f)?e=new p6b((Pac(),vac)):e=rnb(a,f);do{j=c+1;c=Knc(b,boc(46),j);g=c==-1?b.substr(j):b.substr(j,c-j);h=new s7b((Pac(),rac),g);Z5b(h,g.length);B3(a).Eg(g)&&(i=Q5b(h,h.i,43),i!=h.i&&(h.i=i),h.i=new U6b(43,1,h.i));d=e.d+1+g.length;e=
K0b(e,h);e.d=d}while(c!=-1);return e}function yIb(a,b){switch(b.f){case 13:return"@"+a.i.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 $Hc;case 20:return"=";case 4:return a.i.n;default:throw CX(new Kmc(b.e!=null?b.e:""+b.f));}}function t6b(a,b,c){Gd(!b.f,"first new child has existing parent");
Gd(!b.e,"first new child has existing next sibling");Gd(!b.g,"first new child has existing previous sibling");Gd(!c.f,"second new child has existing parent");Gd(!c.e,"second new child has existing next sibling");Gd(!c.g,"second new child has existing previous sibling");this.k=a;this.f=null;this.b=b;b.e=c;b.g=c;b.f=this;c.e=null;c.g=b;c.f=this;this.j=-1}function X3(a,b){var c,d;a.J=b;s4(a,r7(b.Wb));!a.j&&q4(a,new lkb((c=a.J.M,d=new ikb(a),d.d=c,d),p3));a.F=(uAb(),rAb);g6(a.J,(y9(),d9))?a.J.B=true:
f6(a.J,d9)?a.J.B=false:a.J.B||e6(a.J,new Z8(V8((lsb(),isb)),(O_(),M_)));a.J.t!=(O_(),M_)&&!f6(a.J,j9)&&e6(a.J,new Z8(j9,a.J.t));h6(a.J)&&e6(a.J,new Z8(g9,L_));!a.J.A&&!g6(a.J,e9)&&e6(a.J,new Z8(e9,M_));a.J.hd&&!g6(a.J,e9)&&e6(a.J,new Z8(e9,M_));b.B||(b.Bd=false);Y3(a,b.Dd)}function dmb(a){Rlb();var b,c;if(a.k==(Pac(),T8b))return dmb(a.b);b=q5b(a,29);if(!b){c=a.f;if(!c||a.k==T8b)return null;if(c.k==H9b)return dmb(c);else if(c.k==T7b)return dmb(c);else if(bnb(c)||c.k==w8b)return c;else if((c.k==Z8b||
c.k==s8b)&&a==c.b)return dmb(c);else if(!!c&&(c.k==Jac||c.k==z9b||c.k==x8b)&&!!c.b&&!c.b.e)return c;else if(c.k==g9b&&c.b!=a||c.k==X9b||c.k==N7b||c.k==v8b&&c.b!=a)return dmb(c)}return a}function NOb(a,b,c){var d,e,f,g,h,i,j,k;h=sRb(a.g,0).b.b;aOb(a,(jUb(),rSb));g=null;(!b||(k=sRb(a.g,0).c,TSb==k||a.b.d&&NNb(k)||!a.b.c&&MNb(k)))&&(g=bOb(a));e=lOb(a);i=null;if(rQb(a,NSb)){aOb(a,NSb);i=pOb(a,1)}f=(Km(),new tr);if(a.b.d&&rQb(a,VSb)){aOb(a,VSb);j=eQb(a);asc(f.a,Nd(j));while(rQb(a,xSb)){aOb(a,xSb);j=eQb(a);
!!j&&(asc(f.a,Nd(j)),f)}}aOb(a,oTb);d=POb(a,c);aOb(a,tSb);return new HUb(new GYb(h,a.f),g,e,i,Sm(f.a),d)}function qIb(a,b){var c,d,e,f,g;if(b!=(fJb(),eJb))return FHb(a,kMc,a.i.g,lJb(a.i)),null;f=a.i.n;d=a.i.g;c=lJb(a.i);while(RHb(a,TIb)&&Anc(f,f.length-1)==46){xIb(a);if(RHb(a,eJb)){!a.n?mJb(a.i):JHb(a);f+=a.i.n}}g=UHb(a,f,d,c);if(RHb(a,VIb)){!a.n?mJb(a.i):JHb(a);xIb(a);e=pIb(a,f,!a.n?mJb(a.i):JHb(a));if(e){a5b(g,e);xIb(a);if(!RHb(a,_Ib))return FHb(a,"msg.jsdoc.missing.gt",a.i.g,lJb(a.i)),null;!a.n?
mJb(a.i):JHb(a)}}return g}function bKb(a,b){var c;if(!IJb(a,b,(MKb(),GKb)))return false;if(!fKb(a,(Kd(b.k==(Pac(),n8b),tMc,b),k5b(b,1)))){lKb(a,GKb.d);return false}if((Kd(b.k==n8b,tMc,b),k5b(b,2)).k!=S9b){a.a.vh(dMc+F7b(uMc,ED(zD(PU,1),RFc,1,5,[VFc])),a.b.sg(),a.d,a.c);lKb(a,GKb.d);return false}c=(Kd(b.k==n8b,tMc,b),k5b(b,2)).Qh();if(c<0||c%1!=0){a.a.vh(dMc+F7b(uMc,ED(zD(PU,1),RFc,1,5,[VFc])),a.b.sg(),a.d,a.c);lKb(a,GKb.d);return false}return true}function unc(){unc=bY;var a;qnc=ED(zD(AE,1),MGc,8,
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]);rnc=BD(AE,MGc,8,37,15,1);snc=ED(zD(AE,1),MGc,8,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]);tnc=BD(BE,{3:1,631:1},8,37,14,1);for(a=2;a<=36;a++){rnc[a]=xE($wnd.Math.pow(a,qnc[a]));tnc[a]=GX({l:XGc,m:XGc,h:524287},rnc[a])}}function Tgb(a,b,c){var d,e,f,g,h,i,j,k;j=false;k=(Rlb(),Wlb(c,false,a.b));d=c;for(i=new O6b(new L6b(Nd(d.f)));i.a.a;){h=
N6b(i);if(h==b)return j?2:1;if(_gb(h))d!=h.b&&(j=true);else if(Sgb(a,h,k));else{e=$gb(h);for(g=e==0?h.b:h.b?h.b.g:null;g;g=e==0?g.e:g==g.f.b?null:g.g){if(g==d)break;if(Rgb(a,g,k)){k=true;j=true}}f=h.b;if(j&&h.k==(Pac(),n8b)&&(f.k==(Pac(),d9b)||f.k==c9b))return a.a?2:0}d=h}throw CX(new Kmc("Unexpected."));}function bcb(a,b,c,d){var e,f,g,h,i,j,k,l,m,n;k=klb(b);j=c.f;if((c.k==(Pac(),z9b)||c.k==x8b)&&!d.b&&(!j||j.k!=X8b)&&(e=gmb(c,Sbb),!!e&&e.k!=Z8b)){m=l6b((n=(Xd(Jnc(KJc,boc(46))==-1,JHc,KJc),new s7b(H9b,
KJc)),a.d&&Y5b(n,P3(a.a).p[45]),n),d);a5b(d,m);p4(a.a,m)}h=d.Rh();f=yY(k);if(k!=f){g=h;if(EY(f,h)||oyc(a.e,h)){do g=h+"$"+(""+(new j5(a.a)).a.U++);while(EY(f,g));d.Wh(g);p4(a.a,d);l=k.d;sp(a.c,l,h,g)}i=CY(k,h);FY(k,i);usb(f,g,d,i.a)}}function H$(a,b){var c,d,e,f,g,h,i;if(!b)return!a?0:1;if(a.b!=b.b)return _d(b.b,a.b);g=a.a.f;h=b.a.f;if(g!=null&&h!=null){i=Bnc(g,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 Bnc(a.a.c,b.a.c)}function YXb(){WXb();return ED(zD(FR,1),XFc,22,0,[uXb,VWb,oWb,SXb,QXb,KWb,OWb,$Wb,JWb,TXb,SWb,UWb,RXb,FWb,pWb,yXb,UXb,sWb,HWb,CXb,dXb,HXb,tWb,IXb,GWb,GXb,ZWb,eXb,iWb,pXb,wWb,yWb,xWb,YWb,zXb,vXb,zWb,AWb,CWb,DWb,iXb,vWb,nWb,EWb,NXb,PXb,fXb,mXb,hWb,qWb,uWb,cXb,kXb,lXb,LWb,gXb,tXb,PWb,BXb,jWb,lWb,qXb,QWb,AXb,oXb,xXb,jXb,MWb,NWb,_Wb,aXb,TWb,RWb,VXb,IWb,
DXb,EXb,FXb,LXb,MXb,JXb,rXb,sXb,kWb,wXb,OXb,WWb,XWb,hXb,BWb,KXb,gWb,bXb,rWb,nXb,mWb])}function QJb(a,b){if(!IJb(a,b,(MKb(),pKb)))return false;if(!OJb(a,(Kd(b.k==(Pac(),n8b),tMc,b),k5b(b,1)))){a.a.vh(dMc+F7b(xMc,ED(zD(PU,1),RFc,1,5,[yMc])),a.b.sg(),a.d,a.c);return false}if(!fKb(a,(Kd(b.k==n8b,tMc,b),k5b(b,2)))){a.a.vh(dMc+F7b(xMc,ED(zD(PU,1),RFc,1,5,[yMc])),a.b.sg(),a.d,a.c);return false}if(!fKb(a,(Kd(b.k==n8b,tMc,b),k5b(b,3)))){a.a.vh(dMc+F7b(xMc,ED(zD(PU,1),RFc,1,5,[yMc])),a.b.sg(),a.d,a.c);return false}return true}
function gIb(a,b){var c,d;if(b==(fJb(),WIb)){c=new qyc;while(true){if(RHb(a,eJb)){d=a.i.n;!yHb.Yd(d)&&!A3b(a.e,d)&&EHb(a,"msg.jsdoc.modifies.unknown",d,a.i.g,lJb(a.i));nyc(c,a.i.n);b=!a.n?mJb(a.i):JHb(a)}else{CHb(a,oMc,a.i.g,lJb(a.i));return b}if(RHb(a,ZIb))b=!a.n?mJb(a.i):JHb(a);else break}if(RHb(a,aJb)){b=!a.n?mJb(a.i):JHb(a);k4b(a.e,c)||CHb(a,"msg.jsdoc.modifies.duplicate",a.i.g,lJb(a.i))}else CHb(a,oMc,a.i.g,lJb(a.i))}return b}function lIb(a,b){var c,d;if(b!=(fJb(),WIb)){CHb(a,pMc,a.i.g,lJb(a.i));
return b}else{d=new qyc;while(true){if(RHb(a,eJb)){c=a.i.n;a.j.Yd(c)||EHb(a,"msg.jsdoc.suppress.unknown",c,a.i.g,lJb(a.i));nyc(d,a.i.n);b=!a.n?mJb(a.i):JHb(a)}else{CHb(a,pMc,a.i.g,lJb(a.i));return b}if(SHb(a,ZIb,PIb))b=!a.n?mJb(a.i):JHb(a);else break}if(RHb(a,aJb)){b=!a.n?mJb(a.i):JHb(a);B4b(a.e,d)}else CHb(a,pMc,a.i.g,lJb(a.i));return LHb(a,!a.n?mJb(a.i):JHb(a))}}function a0(){a0=bY;__=new D9("JSC_REGEXP_REFERENCE",(O_(),N_),new Toc("References to the global RegExp object prevents optimization of regular expressions."));
$_=new D9("JSC_MALFORMED_REGEXP",N_,new Toc("Malformed Regular Expression: {0}"));Do("$1","$2","$3","$4","$5","$6",ED(zD(UU,1),FHc,2,6,["$7","$8","$9","$_","$input","input","lastMatch","lastParen","leftContext","rightContext","global","ignoreCase","lastIndex","multiline","source"]))}function Hcb(){Hcb=bY;Gcb=nLb((eLb(),SKb),ED(zD(ZP,1),XFc,28,0,[(AMb(),HLb),ILb,JLb,fMb]));Fcb=new D9("JSC_DYNAMIC_EXTENDS_TYPE",(O_(),L_),new Toc("The class in an extends clause must be a qualified name."));Dcb=new D9("CLASS_REASSIGNMENT",
L_,new Toc("Class names defined inside a function cannot be reassigned."));Ecb=new D9("CONFLICTING_GETTER_SETTER_TYPE",L_,new Toc("The types of the getter and setter for property ''{0}'' do not match."))}function SYb(a,b,c){var d,e,f,g,h,i,j,k,l;j=c;k=a.b.p;h=a.b.n;d=doc(b);if(h>=0){d=$wnd.Math.min(d,h);rE(b,31)?(l=b.a.length,d<l?b.a=Xnc(b.a,0,d):d>l&&(b.a+=hoc(BD(zE,JFc,8,d-l,15,1))),undefined):b=eoc(b,0,d)}k>0&&(k=$wnd.Math.max(doc(b),k));if(d>=k)return b;e=32;a.b.k?a.b.b==100?e=48:e=48:j=0;f=BD(zE,
JFc,8,k-d,15,1);Ssc(f,f.length,e);g=a.b.f;i=rE(b,31)?b:new woc(b);g?(i.a+=ioc(f,0,f.length),i):toc(i,j,ioc(f,0,f.length));return i}function d0b(a){var b,c,d,e,f,g,h,i;h=Tnc(a,"\r?\n",0);b=(zn(),new Dr);for(e=0;e<h.length;++e){g=h[e];if(g.length==0||Fnc(g.substr(0,1),"#")||Fnc(g.substr(0,1),"!"))continue;c="";d=c0b(g);if(d==-1)continue;f=$nc(g.substr(0,d));g=e0b(g.substr(d+1));while(true){i=XHc.length;if(Fnc(g.substr(g.length-i,i),XHc)){c+=Xnc(g,0,g.length-1);if(e+1==h.length)break;g=e0b(h[++e])}else{c+=
g;break}}asc(b.b,(Gk(f,c),new qq(f,c)))}return new b0b(Mn(b.b))}function LB(a,b,c){var d,e,f,g,h,i,j;g=PB(a)+1;b.a+="{\n";TB(b,"version",true);b.a+="3";SB(b,(wC(),zC(c)));TB(b,"lineCount",false);b.a+=""+g;TB(b,"mappings",false);WB(new YB(a,b,g));TB(b,"sources",false);b.a+="[";RB(b,a.k);b.a+="]";KB(a,b);TB(b,"names",false);b.a+="[";RB(b,a.g);b.a+="]";for(f=(i=(new Ypc(a.a)).a.Ge()._d(),new cqc(i));f.a.Od();){e=(d=f.a.Pd(),d.Ve());h=rzc(a.a,e);vE(h)?j=zC(h):j=fY(h);TB(b,e,false);b.a+=""+j}b.a+="\n}\n"}
function x3(a,b,c,d,e,f,g,h){var i,j,k,l,m,n,o;k=new ksc;if(!d.ae(b)){c&&b.j==($5(),Z5)&&C5(b,($5(),X5));return k}j=new hhb(a,g,h);ghb(j,Nd(w5(b,a)));c&&b.j==($5(),Z5)&&C5(b,($5(),X5));bpc(a.G,pBb(y5(b).a),b.j);i=new ksc;bsc(i,bzb(z5(b)));bsc(i,Sm(b.d));for(o=new Bsc(i);o.a<o.c.a.length;){n=(o.b=o.a++,o.c.a[o.b]);m=null;l=false;if(f.re(n))m=f.He(n);else if(e.re(n)){l=true;m=e.He(n)}!!m&&bsc(k,x3(a,m,l,d,e,f,g,h))}k.a[k.a.length]=b;return k}function kHb(a,b){var c,d;if(b.a.ce()==1){c=b.a.ge(0);switch(c){case "any":d=
YEb(a.a,new A7b((Pac(),P7b)));break;case BFc:d=YEb(a.a,new A7b((Pac(),T9b)));break;case AFc:d=YEb(a.a,new A7b((Pac(),l8b)));break;case DFc:d=YEb(a.a,new A7b((Pac(),tac)));break;case oIc:d=YEb(a.a,new A7b((Pac(),Lac)));break;case KJc:d=YEb(a.a,new A7b((Pac(),Gac)));break;default:d=YEb(a.a,Zac(b.a))}}else d=YEb(a.a,Zac(b.a));y6b(d.j)==-1&&AFb(d,b.o.b,b.o.a);return d}function EQb(a){switch(sRb(a.g,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 fKb(a,b){var c,d;if(!(b.k==(Pac(),H9b)||b.k==rac||b.k==n8b)){a.a.vh(dMc+F7b(vMc,ED(zD(PU,1),RFc,1,5,[wMc])),a.b.sg(),a.d,a.c);return false}if(b.k==H9b||b.k==rac)return true;d=(Kd(b.k==n8b,tMc,b),b.b.Rh());if(!KJb(d)){a.a.vh(dMc+F7b(vMc,ED(zD(PU,1),RFc,1,5,[wMc])),a.b.sg(),a.d,a.c);return false}c=OKb(Xb(d));switch(c.a){case 0:return cKb(a,b);case 1:return VJb(a,b);default:throw CX(new Kmc("Invalid type transformation expression"));}}function hmb(a){var b,c,d;Td(F5b(Nd(a)),
a);c=Od(a.f,a);d=c.b==a;if(c.k==(Pac(),D8b)||c.k==gac){Td(d,c);a=c;c=Nd(a.f);d=a==c.b}switch(c.k.f){case 94:case 93:return c;case 115:Td(!d,c);case 91:b=Od(c.f,c);Td(b.k==V9b,b);return b;case 45:case 100:case 88:case 105:case 78:case 76:return null;case 65:case 96:Td(d,a);return null;case 73:case 101:case 95:case 102:Td(d,a);return null;case 107:Td(!d,c);return null;default:Td(Bmb(c)&&d,c);return null}}function Eec(a,b){var c,d,e,f,g,h,i,j,k;g=!b;d=Tdc(Pdc(new Xdc(a.A),b?a.b.b:(c=Tdc(Pdc(new Xdc(a.A),
a.b.b),a.B.d),Gdc(c))),a.B.d);h=a.b.a;if(h){i=g5b(h,false);k=new s7b((Pac(),H9b),"thisType");Y5b(k,Ufc(a.A,jbc(a.k)?a.A.p[44]:a.k));a5b(i,k);if(g)for(e=k.e;e;e=e.e){j=Q5b(e,e.i,37);j!=e.i&&(e.i=j);e.i=new U6b(37,1,e.i)}else if(b){f=k.e;(!f||n5b(f,37)!=0||n5b(f,30)!=0)&&(j=Q5b(k,k.i,37),j!=k.i&&(k.i=j),k.i=new U6b(37,1,k.i))}d.d=i}return Gdc(d)}function xub(a,b,c){asc(a,new Nvb(r7(b.Wb),i6(b)));if(j6(b,(eLb(),TKb))){asc(a,nub);asc(a,tub)}if(j6(b,_Kb)){asc(a,new Uvb("markTrailingCommasInParameterListsRemoved",
(AMb(),xMb),ED(zD(ZP,1),XFc,28,0,[])));asc(a,mub)}if(j6(b,XKb)){c&&asc(a,_tb);asc(a,dub);asc(a,hub);asc(a,Ztb);asc(a,eub);asc(a,kub);asc(a,new Qvb((Bdb(),zdb)));asc(a,fub);asc(a,aub);asc(a,gub);asc(a,cub)}else if(k6(b,(AMb(),hMb))){asc(a,eub);asc(a,kub);asc(a,new Qvb((Bdb(),Adb)))}}function Q0(a,b){var c,d,e,f,g,h;f=a.Vg();e=b==0&&1/b<0;(b<0||e)&&f==45&&P0(a," ");if(e)P0(a,"-0");else if(RX(IX(b))==b){g=IX(b);d=g;c=0;if($wnd.Math.abs(b)>=100)while(HX(MX(GX(d,10),IX($wnd.Math.pow(10,c+1))),g)){d=GX(d,
10);++c}if(c>2)P0(a,TX(d)+"E"+c);else{h=EX(g,0)<0?NX(g):g;EX(h,1E12)>0&&inc(h,4).length+2<(""+TX(h)).length?P0(a,(EX(g,0)<0?"-":"")+"0x"+inc(h,4)):P0(a,""+TX(g))}}else P0(a,Snc(Qnc(""+b,".0E","E"),"^(-?)0\\.","$1."))}function Xac(a,b,c,d,e){var f,g,h,i,j,k,l;g=new B7b((Pac(),$8b),a);Nd(b);Nd(c);for(j=new Vzc(new Mzc(b));j.b!=j.c.a.b;){h=Tzc(j);f=Z0b(h.d);_4b(g,Yac(f,h.e))}for(i=new Vzc(new Mzc(c));i.b!=i.c.a.b;){h=Tzc(i);f=Z0b(h.d);l=Q5b(f,f.i,80);l!=f.i&&(f.i=l);f.i=new U6b(80,1,f.i);_4b(g,Yac(f,
h.e))}if(d!=null){k=new r6b(gac,(Xd(Jnc(d,boc(46))==-1,JHc,d),new s7b(H9b,d)));_4b(g,(!!e&&(l=Q5b(k,k.i,78),l!=k.i&&(k.i=l),!!e&&(k.i=new c7b(78,e,k.i))),k))}return g}function ROb(a,b,c){var d,e,f,g,h,i;f=sRb(a.g,0).b.b;aOb(a,b);d=(Km(),new tr);while(rQb(a,(jUb(),QSb))||rQb(a,USb))rQb(a,QSb)?rr(d,(g=sRb(a.g,0).b.b,aOb(a,QSb),aOb(a,pTb),h=sRb(a.g,0).c,TSb==h||a.b.d&&NNb(h)||!a.b.c&&MNb(h)?nPb(a):LPb(a,1),gOb(a,"of"),COb(a,1),aOb(a,uSb),new SUb(new GYb(g,a.f)))):rr(d,(i=sRb(a.g,0).b.b,aOb(a,USb),aOb(a,
pTb),COb(a,1),aOb(a,uSb),new TUb(new GYb(i,a.f))));COb(a,1);aOb(a,c);return new UUb((e=new GYb(f,a.f),Sm(d.a),e))}function oRb(a){var b;a.f=a.d.a.length==0?a.f:sRb(a,0).b.b.c;a.d.a=BD(PU,RFc,1,0,5,1);b=a.f;nRb(a);if(!MRb(a))return new XNb((jUb(),ETb),Xnc(a.b,b,a.f),SNb(a.i.b,b,a.f));if((mRb(a,a.f)?Anc(a.b,a.f):0)!=47){uRb(a,"Expected '/' in regular expression literal",ED(zD(PU,1),RFc,1,5,[]));return new XNb((jUb(),ETb),Xnc(a.b,b,a.f),SNb(a.i.b,b,a.f))}nRb(a);while(XRb(mRb(a,a.f)?Anc(a.b,a.f):0))nRb(a);
return new XNb((jUb(),ETb),Xnc(a.b,b,a.f),SNb(a.i.b,b,a.f))}function bSb(b){var c,d,e,f;while(b.indexOf(XHc)!=-1){e=Jnc(b,boc(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(Xlc(b.charCodeAt(d),16)>=0)++d;if(b.charCodeAt(d)!=125)return null;f=b.substr(e+3,d-(e+3));++d}c=Emc(f,16)&IFc;if(!XRb(c))return null;b=b.substr(0,e)+String.fromCharCode(c)+b.substr(d)}catch(a){a=BX(a);if(rE(a,81)||rE(a,328))return null;else throw CX(a);
}}return b}function fgc(a){jgc(a,a.p[0]);jgc(a,a.p[3]);jgc(a,a.p[2]);jgc(a,a.p[17]);jgc(a,a.p[19]);jgc(a,a.p[14]);jgc(a,a.p[6]);jgc(a,a.p[22]);jgc(a,a.p[20]);jgc(a,a.p[24]);jgc(a,a.p[25]);hgc(a,a.p[25],"Null");jgc(a,a.p[27]);jgc(a,a.p[26]);jgc(a,a.p[31]);jgc(a,a.p[29]);jgc(a,a.p[34]);jgc(a,a.p[36]);jgc(a,a.p[38]);jgc(a,a.p[39]);jgc(a,a.p[41]);hgc(a,a.p[42],LNc);jgc(a,a.p[45]);hgc(a,a.p[45],"Undefined");hgc(a,a.p[45],oIc);hgc(a,a.p[11],CJc);hgc(a,a.p[54],"Global")}function G1(a,b,c){switch(b.k.f){case 96:case 149:case 152:case 160:U0(a.c,
c==(Z1(),Y1));break;case 65:(b.b?b.b.g:null).k==(Pac(),J8b)?a.c.Ug(true):a.c.Rg(c==(Z1(),Y1));break;case 156:b.f.k!=(Pac(),K9b)&&G1(a,b.b,c);break;case 109:b.f.k!=(Pac(),K9b)&&b.b.k!=B8b&&G1(a,b.b,c);break;case 115:!!b.b&&!b.b.e&&a.c.Ug(true);break;case 98:case 86:case 87:o5b(b.b).k==(Pac(),J8b)&&a.c.Ug(true);break;case 157:a.c.Ug(true);break;default:c==(Z1(),Y1)&&a.c.Ug(false)}}function Icb(a,b){var c,d,e,f,g,h,i;g=n5b(b,58)!=0?a.d:a.e;h=b.k==(Pac(),w8b)?jmb(g,b.b):kmb(g,b.Rh());if(!h){h=b1b(ED(zD(nT,
1),KHc,7,0,[k1b("configurable",new p6b(Cac)),k1b(WJc,new p6b(Cac))]));b.k==w8b?_4b(g,C0b(g5b(b.b,false),h)):_4b(g,k1b(b.Rh(),h))}d=b.b?b.b.g:null;e=S4b((Rlb(),f=dmb(d),!f?null:q5b(f,29)));D4b(e,new V4b(new r6b(f8b,i1b(a.f)),(c=q5b(b,51),!c?null:c.sg())));i=k1b(b.k==e9b||n5b(b,73)!=0?SHc:"set",i5b(d));X5b(i,z3b(e));_4b(h,i);o6b(h,b)}function VGb(a,b){var c,d,e,f,g;g=jFb(a.a,(Pac(),U9b));f=false;for(d=b.a._d();d.Od();){c=d.Pd();if(c.p==(WXb(),IWb)){a.a.d.uh("Default value cannot appear at top level of an object literal.",
a.a.q,(XEb(),c.o.b.b+1),0);continue}else if(c.p==YWb&&hGb(a,c))continue;else if(c.p==zXb&&iGb(a,c))continue;e=DFb(a.a,c);e.k!=w8b&&!e.Th()&&e.k!=pac&&!a.a.c&&jGb(a,e);e.k==pac&&hFb(a.a,c,(AMb(),gMb));n5b(e,98)!=0&&(f=true);_4b(g,e)}f&&hFb(a.a,b,(AMb(),SLb));return g}function h$b(a,b){g$b();switch(a){case 0:b.a+="\\0";break;case 12:b.a+="\\f";break;case 9:b.a+="\\t";break;case 10:b.a+="\\n";break;case 13:b.a+="\\r";break;case 92:b.a+=RGc;break;default:if(a<32||a>=127)if(a>=256){b.a+="\\u";koc(b,tNc.charCodeAt(a>>
12&15));koc(b,tNc.charCodeAt(a>>8&15));koc(b,tNc.charCodeAt(a>>4&15));koc(b,tNc.charCodeAt(a&15))}else{b.a+="\\x";koc(b,tNc.charCodeAt(a>>4&15));koc(b,tNc.charCodeAt(a&15))}else b.a+=String.fromCharCode(a)}}function Thb(a,b){var c,d,e;e=a;for(d=new O6b(new L6b(Nd(a.f)));d.a.a;){c=N6b(d);switch(c.k.f){case 41:case 84:case 76:case 100:case 88:case 66:case 70:case 72:case 73:case 25:case 79:case 19:case 20:case 21:case 22:return Dib(),zib;case 60:if(c.b==e)return Dib(),zib;break;case 47:if(!J5b(c.b,
b))return Dib(),wib;break;case 29:if(!Fnc(b,c.Rh()))return Dib(),wib;break;case 28:if(c.b!=e)return Dib(),wib;break;case 24:return Dib(),yib}e=c}return Dib(),wib}function Njb(b,c){var d,e,f,g,h;f=new Tjb(c.hg());try{g=BJb(b.c,b.c.a,c.jg(b.c.c==(J7b(),G7b)?1:0),f);b.b=g.a;c.ig();if(g.b!=null&&c.ig().cd){c.ig();h=rtb(b.c,g.b);!!h&&c.gg(b.c.b,new qtb(h))}}catch(a){a=BX(a);if(rE(a,99)){e=a;c.ng(new fjb(null,null,-1,-1,(jY(),iY),null,ED(zD(UU,1),FHc,2,6,[b.c.b,e.g])))}else throw CX(a);}!b.b?b.b=(d=new p6b((Pac(),
lac)),d):c.mg(b.b);if(f.b.a.length!=0||f.c.a.length!=0){g=(Sm(f.b),Sm(f.c),new Sjb);M5b(b.b,86,g)}d6b(b.b,b.c)}function Rlb(){Rlb=bY;Jlb=Do(AJc,"Date","Error",GJc,EJc,"XMLHttpRequest",ED(zD(UU,1),FHc,2,6,[]));Ilb=Do(GJc,AJc,TGc,DJc,BJc,EJc,ED(zD(UU,1),FHc,2,6,["Error"]));Olb=(lm(),zo(ED(zD(PU,1),RFc,1,5,["toString","valueOf"])));Plb=zo(ED(zD(PU,1),RFc,1,5,["test","exec"]));Qlb=zo(ED(zD(PU,1),RFc,1,5,["match","replace","search","split"]));Klb=Qxc((Pac(),Z8b),ED(zD(qT,1),XFc,13,0,[lac,F9b,jac]));Llb=
Qxc(lac,ED(zD(qT,1),XFc,13,0,[F9b,k8b,u9b,K9b,t9b]));Mlb=new Pnb;Nlb=new Tnb}function IZb(a,b){var c,d,e,f,g,h,i,j,k,l,m;g=a.a;m=b.a;h=g.length;l=m.length;if(h==0||l==0)return a;d=BD(AE,MGc,8,g.length,15,1);f=0;k=0;c=0;j=g[0];while(f<h)if(j>=g[f+1])f+=2;else if(j<g[f])j=g[f];else if(k<l&&j>=m[k]){j=m[k+1];k+=2}else{e=k<l?$wnd.Math.min(g[f+1],m[k]):g[f+1];if(c!=0&&d[c-1]==j)d[c-1]=j;else{if(c==d.length){i=BD(AE,MGc,8,c*2,15,1);zoc(d,0,i,0,c);d=i}d[c++]=j;d[c++]=e}j=e}if(c!=d.length){i=Lsc(d,BD(AE,
MGc,8,c,15,1),c);d=i}return new QZb(d)}function eQb(a){var b,c,d,e;b=sRb(a.g,0).b.b;c=sRb(a.g,0).c;if(!((jUb(),TSb)==c||a.b.d&&NNb(c)||!a.b.c&&MNb(c))&&!Uxc(Qxc(fUb,ED(zD(mQ,1),XFc,18,0,[pTb,oTb,bUb])),sRb(a.g,0).c)){LQb(a,"Unexpected token '%s' in type expression",ED(zD(PU,1),RFc,1,5,[sRb(a.g,0).c]));return new nYb(new GYb(b,a.f),(Km(),new Uy(Nd("error"))))}d=kPb(a);if(!rQb(a,kSb))return d;e=(Km(),new tr);asc(e.a,Nd(d));do{aOb(a,kSb);rr(e,AOb(a))}while(rQb(a,kSb));return new rYb(new GYb(b,a.f),Sm(e.a))}
function hB(b,c,d){var e,f,g,h,i,j,k;!d&&(d=new lB);try{if(c.c>=0||c.d!=null||c.g!=null||c.e!=null)throw CX(new tC("Invalid map format"));g=new QB;for(k=c.f._d();k.Od();){j=k.Pd();h=j.d;j.c==0&&(h=null);if(h==null)throw CX(new tC("Unable to retrieve: "+j.d));OB(g,j.b,j.a,h)}i=new uoc;try{LB(g,i,c.b)}catch(a){a=BX(a);if(rE(a,99)){e=a;throw CX(new KC(e));}else throw CX(a);}gB(b,i.a)}catch(a$1){a$1=BX(a$1);if(rE(a$1,99)){f=a$1;throw CX(new tC("IO exception: "+f));}else throw CX(a$1);}}function pgb(a){var b,
c,d,e,f;e=new uoc;for(d=0;d<a.length;){b=Anc(a,d++);if(b==92){c=Anc(a,d++);switch(c){case 116:e.a+="\t";break;case 110:e.a+=KGc;break;case 114:e.a+="\r";break;case 102:e.a+="\f";break;case 98:e.a+="\b";break;case 117:f=Emc(a.substr(d,d+4-d),16);koc(e,f&IFc);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 Yib(a,b,c){var d,e,f,g,h,i,j;f=false;b.a+=
"function(";d=c.b;if(d.k==(Pac(),N9b)){b.a+="new:";Zib(a,b,d.b);f=true}else if(d.k==Aac){b.a+="this:";Zib(a,b,d.b);f=true}else if(d.k==J8b){b.a+=")";return}else if(d.k!=Z9b){b.a+="):";Zib(a,b,d);return}i=null;d.k==Z9b?i=d:d.e.k==Z9b&&(i=d.e);if(i){e=true;for(h=(!i.b?(Jtc(),Jtc(),Itc):new h7b(i.b))._d();h.Od();){g=h.Pd();(!e||f)&&(b.a+=",",b);Zib(a,b,g);e=false}}b.a+=")";j=c.b?c.b.g:null;if(j.k!=J8b){b.a+=":";Zib(a,b,j)}}function $xb(){$xb=bY;new D9("JSC_CANNOT_PARSE_GENERATED_CODE",(O_(),L_),new Toc("Internal compiler error. Cannot parse generated code: {0}"));
new D9("JSC_GENERATED_BAD_CODE",L_,new Toc("Internal compiler error. Generated bad code.----------------------------------------\nExpected:\n{0}\n----------------------------------------\nActual:\n{1}"));Zxb=new D9("JSC_EXTERN_PROPERTIES_CHANGED",L_,new Toc("Internal compiler error. Extern properties modified from:\n{0}\nto:\n{1}"))}function Xhb(a,b,c,d){var e,f,g;if(bib(a,b,c,d))return;switch(c.k.f){case 84:case 66:case 41:case 25:case 79:case 19:case 20:case 21:case 96:case 22:g=(Dib(),zib);break;
case 28:b==c.b?g=(Dib(),xib):_hb(a,c)?g=(Dib(),zib):g=(Dib(),wib);break;case 23:g=b==c.b?(Dib(),zib):(Dib(),wib);break;case 61:case 62:g=Thb(c,d);break;case 60:b!=c.b?g=Thb(c,d):g=(Dib(),zib);break;case 24:g=(Dib(),yib);break;default:g=(Dib(),wib)}f=Vhb(a,d,true);gib(f,new uib(b,(e=g,++a.a.b,e)))}function V_(){V_=bY;Te(new lc(46));new Nc(String.fromCharCode(46));U_=new D9("JSC_MISSING_REQUIRE_WARNING",(O_(),M_),new Toc(EHc));S_=new D9("JSC_MISSING_REQUIRE_FOR_GOOG_SCOPE",M_,new Toc(EHc));T_=new D9("JSC_MISSING_REQUIRE_STRICT_WARNING",
M_,new Toc(EHc));R_=new D9("JSC_EXTRA_REQUIRE_WARNING",M_,new Toc("extra require: ''{0}'' is never referenced in this file"));lm();zo(ED(zD(PU,1),RFc,1,5,["goog.testing.asserts","goog.testing.jsunit","goog.testing.JsTdTestCaseAdapter"]))}function iIb(a,b){var c,d,e;e=THb(a,(Pac(),Z9b));c=false;d=null;if(b!=(fJb(),bJb)){do{if(d){!a.n?mJb(a.i):JHb(a);xIb(a);b=!a.n?mJb(a.i):JHb(a)}if(b==QIb){xIb(a);if(RHb(a,bJb))d=THb(a,I8b);else{xIb(a);d=zIb(a,I8b,nIb(a,!a.n?mJb(a.i):JHb(a)));xIb(a)}c=true}else{d=nIb(a,
b);if(RHb(a,UIb)){xIb(a);!a.n?mJb(a.i):JHb(a);d=zIb(a,O8b,d)}}if(!d)return null;_4b(e,d);if(c)break}while(RHb(a,PIb))}if(c&&RHb(a,PIb))return FHb(a,"msg.jsdoc.function.varargs",a.i.g,lJb(a.i)),null;return e}function aKb(a,b){var c,d,e;if(!IJb(a,b,(MKb(),HKb)))return false;e=(Kd(b.k==(Pac(),n8b),tMc,b),l5b(b)-1);c=(Kd(b.k==n8b,tMc,b),k5b(b,1));if(c.k!=H9b&&c.k!=rac){a.a.vh(dMc+F7b(uMc,ED(zD(PU,1),RFc,1,5,["type name or type variable"])),a.b.sg(),a.d,a.c);a.a.vh(dMc+F7b(xMc,ED(zD(PU,1),RFc,1,5,[EMc])),
a.b.sg(),a.d,a.c);return false}for(d=1;d<e;d++)if(!fKb(a,(Kd(b.k==n8b,tMc,b),k5b(b,d+1)))){a.a.vh(dMc+F7b(xMc,ED(zD(PU,1),RFc,1,5,[EMc])),a.b.sg(),a.d,a.c);return false}return true}function Zhb(a,b,c,d,e,f){var g,h,i,j,k,l,m,n;if(bib(a,b,c,d))return;j=Vhb(a,d,f);j.q==(rib(),oib)||(j.q=e);n5b(b,97)!=0;cib(a,b,c,j);k=new uib(b,(i=(Dib(),Bib),++a.a.b,i));gib(j,k);if(c.k==(Pac(),T7b)&&c.f.k!=T8b){g=new uib(b,(h=wib,++a.a.b,h));gib(j,g);Fd((k.b==wib||g.b==wib)&&(k.b==Bib||k.b==Cib||g.b==Bib||g.b==Cib))}else(l=
smb(b),m=(Rlb(),n=dmb(b),!n?null:q5b(n,29)),!!m&&!!l&&((m.a&2)!=0&&l.k==Z8b||((m.a&512)!=0||(m.a&rJc)!=0)&&l.k==Z8b||(m.a&YJc)==yKc&&l.k==U9b))&&iib(j)}function bec(a,b,c){var d,e,f,g,h,i,j,k;if(a.Vi())return roc(b,c?Kcc(a):a.Ri());if(!a.s)return b.a+=c?"?":"{...}",b;a.s=false;j=new PCc;for(d=a;!!d&&!d.Wi()&&j.a.ce()<=10;d=d.Mi())Pc(j,d.Ni());b.a+="{";k=!c&&j.a.ce()>2;g=0;for(i=(f=(new $qc(j.a)).a.Ge().b.rj(),new frc(f));i.a.Od();){h=(e=i.a.Pd(),e.Ve());g>0&&(b.a+=",",b);k?(b.a+="\n  ",b):g>0&&(b.a+=
" ",b);roc((b.a+=""+h,b),": ");cbc(a.Qi(h),b,c);++g;if(!c&&g==10){b.a+=", ...";break}}k&&(b.a+=KGc,b);b.a+="}";a.s=true;return b}function wGb(a,b){var c,d,e,f,g,h,i,j;hFb(a.a,b,(AMb(),HLb));h=tHb(a,b.d,b);fGb(a,h,b.b);j=uHb(a,b.e,b);j.k==(Pac(),J8b)||(a.a.e=kLb(a.a.e,ILb));g=sHb(a,i9b,b.c);c=jFb(a.a,t8b);y6b(c.j)==-1&&AFb(c,b.o.b,b.o.a);for(e=b.a._d();e.Od();){d=e.Pd();(d.p==(WXb(),hXb)||d.p==BWb)&&lGb(a,d,cMb);(d.p==AWb||d.p==DWb||d.p==YWb||d.p==zXb)&&(a.a.e=kLb(a.a.e,JLb));_4b(c,DFb(a.a,d))}f=mFb(a.a,
s8b,h,j,c);if(g.k!=J8b){lGb(a,b,YLb);i=Q5b(f,f.i,82);i!=f.i&&(f.i=i);!!g&&(f.i=new c7b(82,g,f.i))}return f}function wPb(a){var b,c,d,e,f;f=sRb(a.g,0).b.b;e=FPb(a);if(!rE(e,391)||!!e.a)while(qQb(a,0,(jUb(),pTb))||qQb(a,0,qTb)||qQb(a,0,vTb)||qQb(a,0,kTb)||qQb(a,0,UTb))switch(sRb(a.g,0).c.f){case 47:b=xOb(a);e=new DUb(new GYb(f,a.f),e,b);break;case 49:aOb(a,qTb);d=pOb(a,1);aOb(a,vSb);e=new VVb(new GYb(f,a.f),e,d);break;case 51:aOb(a,vTb);c=cOb(a);e=new UVb(new GYb(f,a.f),e,c);break;case 107:case 104:e=
dQb(a,e);break;default:throw CX(new Nlc("unexpected case: "+sRb(a.g,0).c));}return e}function uqb(){uqb=bY;var a,b;rqb=(Pac(),new yqb);sqb=new xqb("REGISTER_NUMBER",1,(b="goog.tweak.registerNumber",b));tqb=new xqb("REGISTER_STRING",2,(a="goog.tweak.registerString",a));qqb=new vqb("OVERRIDE_DEFAULT_VALUE",3,"goog.tweak.overrideDefaultValue");nqb=new vqb("GET_COMPILER_OVERRIDES",4,"goog.tweak.getCompilerOverrides_");mqb=new wqb("GET_BOOLEAN",5,"goog.tweak.getBoolean");oqb=new wqb("GET_NUMBER",6,"goog.tweak.getNumber");
pqb=new wqb("GET_STRING",7,"goog.tweak.getString")}function XGb(a,b){var c,d,e,f,g,h,i,j,k,l;switch(b.p.f){case 74:return d=zGb(a,b),e=d.b,f=oFb(a.a,(Pac(),sac),e.Rh()),BFb(f,e),g=Q5b(f,f.i,98),g!=f.i&&(f.i=g),f.i=new U6b(98,1,f.i),_4b(f,d),f;case 35:return YGb(a,b);case 36:c=b;return hFb(a.a,c,(AMb(),KLb)),h=DFb(a.a,c.a),i=c.b,j=(i.p==(WXb(),IWb)?k=zGb(a,i):i.p==ZWb?k=QGb(a,i.a):k=FFb(a.a,i),k),l=lFb(a.a,(Pac(),w8b),h,j),y6b(l.j)==-1&&AFb(l,c.o.b,c.o.a),l;default:Td(b.p==(WXb(),lWb),b);hFb(a.a,b,
(AMb(),hMb));return qGb(a,b)}}function mmb(a,b){var c;switch(a.k.f){case 105:mmb(a.b,b);mmb(a.b.e,b);return;case 76:case 88:case 100:case 94:case 93:case 45:case 106:for(c=a.b;c;c=c.e)mmb(c,b);return;case 95:case 119:case 78:case 113:case 92:mmb(a.b,b);return;case 107:case 115:case 91:mmb(a.b?a.b.g:null,b);return;case 29:case 108:b.Vd(a);return;case 26:case 27:b.Vd(a);return;case 80:return;case 73:case 101:case 102:mmb(a.b,b);return;default:if(Bmb(a))mmb(a.b,b);else throw CX(new Kmc("Invalid node in lhs: "+
a));}}function Orb(a){Lrb();var b,c,d,e,f,g,h,i;e=new es;g=(zn(),new Dr);for(c=Ze(Ne(Me(Te(new lc(10))),a));Nb(c);){b=Ob(c);i=Oe(Me(Te(new lc(32))),$nc(b));if(i.b.ce()==1&&i.a.ge(0).length==0)continue;else if(i.b.ce()<3)throw CX(new Fjb("Invalid table: too few tokens on line: "+b));h=i.a.ge(0);f=new Jrb(xLb(i.a.ge(1)),xLb(i.a.ge(2)),i.b.ce()>3?i.a.ge(3):"");h.indexOf(zKc)!=-1?ds(e,Rnc(h,".*\\.prototype\\.",""),f):(asc(g.b,(Gk(h,f),new qq(h,f))),g)}return new Nrb((d=new Mzc(e.a),Fl(d)),Mn(g.b))}function i6b(a,
b,c,d,e){var f,g,h,i,j,k;qoc(b,a.k);if(rE(a,10)){b.a+=" ";roc(b,a.Rh())}else if(a.k==(Pac(),Z8b)){b.a+=" ";!a.b||a.b.k!=H9b?(b.a+="<invalid>",b):roc(b,a.b.Rh())}else if(a.k==S9b){b.a+=" ";loc(b,a.Qh())}if(c){h=y6b(a.j);if(h!=-1){b.a+=" ";b.a+=h}if(a.d!=0){b.a+=" [length: ";moc(b,a.d);b.a+="]"}}if(d){g=t5b(a);for(f=0;f<g.length;f++){i=g[f];k=G5b(a,i);b.a+=" [";roc(b,F6b(i));b.a+=": ";b.a+=""+k;b.a+="]"}}if(e&&!!a.c){j=a.c.$h(new uoc,false).a;if(j!=null){b.a+=" : ";b.a+=""+j}}}function IPb(a,b){var c,
d,e,f,g,h,i,j,k;h=sRb(a.g,0).b.b;if(sRb(a.g,0).c==(jUb(),qTb)){f=SOb(a);aOb(a,wSb);k=MPb(a,b);return new VUb(new GYb(h,a.f),f,k)}i=sRb(a.g,0).c;if(TSb==i||(GNb(),GNb(),!!Zn(hNb,i))){g=cOb(a);if(!rQb(a,wSb)){d=g;LNb(d.a,false)&&LQb(a,gNc,ED(zD(PU,1),RFc,1,5,[g]));if(rQb(a,ISb)){e=new MVb(new GYb(h,a.f),d);aOb(a,ISb);c=COb(a,1);return new cVb(new GYb(h,a.f),e,c)}return new $Xb(new GYb(h,a.f),g,null)}}else g=xPb(a).a;aOb(a,wSb);j=MPb(a,b);return new $Xb(new GYb(h,a.f),g,j)}function oUb(){jUb();return ED(zD(mQ,
1),XFc,18,0,[GSb,LSb,TSb,mSb,pSb,qSb,zSb,ASb,CSb,DSb,ESb,FSb,PSb,QSb,RSb,USb,XSb,YSb,hTb,FTb,TTb,XTb,YTb,_Tb,bUb,eUb,fUb,gUb,hUb,rSb,ySb,HSb,MSb,NSb,WSb,STb,VSb,ZSb,bTb,sTb,ATb,BTb,CTb,QTb,iUb,oTb,tSb,pTb,uSb,qTb,vSb,vTb,ITb,xSb,nTb,sSb,aTb,SSb,iSb,JSb,iTb,KSb,jTb,wTb,cTb,MTb,OTb,tTb,yTb,eTb,$Sb,GTb,cUb,fSb,kSb,nSb,jSb,ZTb,hSb,rTb,DTb,wSb,ISb,xTb,dTb,NTb,PTb,uTb,_Sb,HTb,dUb,gSb,lSb,oSb,JTb,KTb,zTb,lTb,$Tb,OSb,mTb,RTb,ETb,LTb,UTb,VTb,WTb,kTb,aUb,BSb,fTb,gTb])}function BJb(b,c,d,e){var f,g,h,i,j,k,
l,m,n,o,p,q,r,s;o=b.sg();try{j=new eSb(o,c);k=d.e==(KEb(),IEb);f=new EJb(e,k);g=AJb(d);l=new OQb(g,f,j);q=(r=sRb(l.g,0).b.b,s=mPb(l),aOb(l,(jUb(),GSb)),new ZXb(new GYb(r,l.f),s,Sm(l.a.a.a)));n=null;Km();i=l.d;if(!f.d||k){h=YFb(q,b,c,d,e);n=h.o;i=iLb(i,h.e);m=Q5b(n,n.i,89);m!=n.i&&(n.i=m);!!i&&(n.i=new c7b(89,i,n.i));d.b!=(tEb(),sEb)&&Sm(l.a.a.a)}return new HJb(n,l.i)}catch(a){a=BX(a);if(rE(a,40)){p=a;throw CX(new JC('Exception parsing "'+o+'"',p));}else throw CX(a);}}function crb(a,b,c,d){var e,f,
g,h;d.k==(Pac(),d9b)||n4(a.a,jjb(d,Yqb,ED(zD(UU,1),FHc,2,6,["super only allowed with getprop (like super.foo(), not super['foo']())"])));Fd(c.k==vac);Fd(!!b&&!!b.b&&A5b(b.b.a.a));Gd(!!b.a,aLc);Nd(b.b);g=c.e;h=dLc+g.Rh();e=pnb((Xd(Jnc(h,boc(46))==-1,JHc,h),new s7b(H9b,h)),ED(zD(nT,1),KHc,7,0,[]));f=d.f;if(f.k==n8b&&f.b==d){e=K0b(e,new s7b(rac,wJc));Z4b(f,l6b((Xd(Jnc(bLc,boc(46))==-1,JHc,bLc),new s7b(H9b,bLc)),d),d);b.b.d=true}m6b(e,d);R5b(f,d,e);nyc(b.b.c,g.Rh());o4(a.a,b.a)}function pPb(a){var b,
c,d,e,f,g,h,i,j,k;j=sRb(a.g,0).b.b;aOb(a,(jUb(),WSb));if(rQb(a,RTb)){f=aOb(a,RTb);fOb(a);return new OVb(new GYb(j,a.f),null,null,null,f)}b=null;h=null;c=null;i=true;k=sRb(a.g,0).c;if(TSb==k||a.b.d&&NNb(k)||!a.b.c&&MNb(k)){b=bOb(a);rQb(a,xSb)?aOb(a,xSb):i=false}else if(KNb(sRb(a.g,0).c)){d=oOb(a);JQb(a,d,gNc,ED(zD(PU,1),RFc,1,5,[d]))}if(i)if(rQb(a,MTb)){aOb(a,MTb);gOb(a,"as");h=bOb(a)}else c=rPb(a);gOb(a,bIc);g=aOb(a,RTb);e=!g?null:g;fOb(a);return new OVb(new GYb(j,a.f),b,c,h,e)}function _Yb(a){var b,
c,d,e;d=0;c=new uoc;b=a.b.b;if(rE(a.a,155))e=a.a.a;else if(rE(a.a,131))e=a.a.a;else throw CX(PYb(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?qoc(c,a.a):(c.a+=TX(e),c);if(EX(e,0)<0)if(a.b.g)return cZb(a,c);else a.b.k&&++d;else if(a.b.d){toc(c,0,String.fromCharCode(43));d+=1}else if(a.b.j){toc(c,0,String.fromCharCode(32));d+=1}}else{rE(a.a,131)&&(e=FX(VD(KX(e)?QX(e):e,KX(sNc)?QX(sNc):sNc)));111==b?roc(c,inc(e,3)):roc(c,inc(e,4))}return SYb(a,c,d)}function nIb(a,b){var c,
d,e;e=a.i.g;d=lJb(a.i);if(b==(fJb(),$Ib)){b=!a.n?mJb(a.i):JHb(a);if(b==PIb||b==UIb||b==cJb||b==aJb||b==bJb||b==ZIb||b==_Ib||b==RIb||b==TIb||b==SIb){a.n=b;return THb(a,(Pac(),dac))}return AIb(a,(Pac(),dac),ZHb(a,b),e,d)}else if(b==NIb)return AIb(a,(Pac(),f8b),ZHb(a,!a.n?mJb(a.i):JHb(a)),e,d);else{c=ZHb(a,b);e=a.i.g;d=lJb(a.i);if(c)if(RHb(a,$Ib)){!a.n?mJb(a.i):JHb(a);return AIb(a,(Pac(),dac),c,e,d)}else if(RHb(a,NIb)){!a.n?mJb(a.i):JHb(a);return AIb(a,(Pac(),f8b),c,e,d)}return c}}function Ncb(a,b){var c,
d,e,f,g,h,i,j,k;(b.a.a&ZJc)==0&&(b.a.a&$Jc)==0&&(b.a.a&$Gc)==0&&A4b(b);if(a){(f=!a.d?null:a.d.p,!f?(Jtc(),Jtc(),Itc):f).$d()||B4b(b,(e=!a.d?null:a.d.p,!e?(Jtc(),Jtc(),Itc):e));for(d=Y1b(a)._d();d.Od();){c=d.Pd();t4b(b,c,Z1b(a,c));u4b(b,c,P1b(a,c))}for(j=a2b(a)._d();j.Od();){i=j.Pd();F4b(b,i);E4b(b,i,b2b(a,i))}k=a.j;!!k&&k!=(t3b(),o3b)&&M4b(b,k);(a.a&256)!=0&&O3b(b);(!a.d?null:a.d.b)!=null&&N1b(b.a)==null&&P3b(b,!a.d?null:a.d.b);u2b(b.a,a);for(h=_1b(a)._d();h.Od();){g=h.Pd();C4b(b,g)}}}function c2b(a){var b,
c,d,e,f,g,h,i,j;e=new ksc;!!a.i&&asc(e,a.i.a);!!a.g&&asc(e,a.g.a);if(a.d){!!a.d.a&&asc(e,a.d.a.a);if(a.d.e)for(d=new Bsc(a.d.e);d.a<d.c.a.length;){c=(d.b=d.a++,d.c.a[d.b]);!!c&&asc(e,c.a)}if(a.d.f)for(d=new Bsc(a.d.f);d.a<d.c.a.length;){c=(d.b=d.a++,d.c.a[d.b]);!!c&&asc(e,c.a)}if(a.d.n)for(h=(f=(new hqc(a.d.n)).a.Ge()._d(),new mqc(f));h.a.Od();){g=(b=h.a.Pd(),b.We());!!g&&asc(e,g.a)}if(a.d.r)for(j=new Bsc(a.d.r);j.a<j.c.a.length;){i=(j.b=j.a++,j.c.a[j.b]);!!i&&asc(e,i.a)}}return e}function MZb(a,
b){var c,d,e,f,g,h,i,j,k,l,m,n;e=a.a;h=b.a;d=e.length;g=h.length;if(d==0)return a;if(g==0)return b;c=0;f=0;j=BD(AE,MGc,8,$wnd.Math.min(d,g),15,1);k=0;m=$wnd.Math.min(e[0],h[0]);while(c<d&&f<g)if(e[c+1]<=m)c+=2;else if(h[f+1]<=m)f+=2;else{n=$wnd.Math.max(e[c],h[f]);if(m<n)m=n;else{i=$wnd.Math.min(e[c+1],h[f+1]);if(k!=0&&m==j[k-1])j[k-1]=i;else{if(k==j.length){l=BD(AE,MGc,8,k*2,15,1);zoc(j,0,l,0,k);j=l}j[k++]=m;j[k++]=i}m=i}}if(k!=j.length){l=Lsc(j,BD(AE,MGc,8,k,15,1),k);j=l}return new QZb(j)}function $4(a){var b,
c,d,e,f,g,h,i,j,k;if(a.a.J.Cc){a.b.c.a.length>0&&!n5(a.b)&&m5(a.b,KGc);Sd(a.d.k==(Pac(),lac));c=a.a.J.Lb;f=q5b(a.d,53).a;k=(d=q5b(a.d,51),!d?null:d.sg());Sd(k!=null);Sd(k.length!=0);c=Qnc(Qnc(Qnc(c,"%name%",kEc(f)),"%num%",""+a.c),"%n%",KGc);m5(m5(a.b,c),KGc)}if(q5b(a.d,29)){i=U1b(q5b(a.d,29));i!=null&&l5(a.b,i)&&m5(m5(m5(a.b,"/*\n"),i),"*/\n")}b=y4(a.a,a.d,a.c==0);if(b.length!=0){m5(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||m5(a.b,";")}return null}
function _$b(a,b){var c,d,e,f,g,h;if(a.c.a.length==0)if(!a.a&&a.b.length==2){roc(b,a.b);return}else if(a.c.a.length==0&&a.b.length==0){roc(b,a.a?"[\\S\\s]":"(?!)");return}b.a+="[";a.a&&(b.a+="^",b);roc(b,a.b);g=!a.a&&a.b.length==0;c=false;for(e=0,f=a.c.a.length>>1;e<f;++e){h=OZb(a.c,e)&IFc;d=JZb(a.c,e)-1&IFc;switch(d-h){case 0:h==45?c=true:d_b(h,g,e==0,e+1==f,b);break;case 1:d_b(h,g,e==0,false,b);d_b(d,g,false,e+1==f,b);break;default:d_b(h,g,e==0,false,b);b.a+="-";d_b(d,g,false,true,b)}}c&&(b.a+=
"-",b);b.a+="]"}function xmb(a){var b,c,d,e,f,g;switch(a.k.f){case 31:case 91:return a.Rh();case 117:g="";for(c=a.b;c;c=c.e)if(c.k==(Pac(),rac))g=g+c.Rh();else if(c.k==zac){d=c.b;e=xmb(d);if(e==null)return null;g=g+e}return g;case 29:f=a.Rh();if(Fnc(KJc,f)||Fnc(OKc,f)||Fnc("NaN",f))return f;break;case 30:return""+a.Qh();case 34:return jIc;case 35:return kIc;case 32:return OFc;case 79:return KJc;case 19:b=rmb(a.b);if(b!=(Cjc(),Bjc))return b.cj(true)?jIc:kIc;break;case 42:return Ulb(a);case 43:return"[object Object]"}return null}
function PCb(){PCb=bY;OCb=new D9("JSC_REQUIRES_NOT_SORTED",(O_(),N_),new Toc("goog.require() statements are not sorted. (Fix with go/fixjs) The correct order is:\n\n{0}\n"));NCb=new D9("JSC_PROVIDES_NOT_SORTED",N_,new Toc("goog.provide() statements are not sorted. (Fix with go/fixjs) The correct order is:\n\n{0}\n"));MCb=new D9("JSC_PROVIDES_AFTER_REQUIRES",N_,new Toc("goog.provide() statements should be before goog.require() statements."));LCb=new D9("JSC_DUPLICATE_REQUIRE",N_,new Toc("''{0}'' required more than once."))}
function oab(a,b){var c;switch(b){case AJc:case "ArrayBuffer":case BJc:case "DataView":case "Date":case "Float32Array":case CJc:case "Generator":case "GeneratorFunction":case "Int16Array":case "Int32Array":case "Int8Array":case "InternalError":case "Map":case DJc:case "Promise":case "Proxy":case EJc:case "Set":case TGc:case FJc:case "TypedArray":case "Uint16Array":case "Uint32Array":case "Uint8Array":case "Uint8ClampedArray":case "WeakMap":case "WeakSet":return c=CY(klb(a),b),!(!!c&&!(!c.a||A5(c.a)));
default:return false}}function bdb(a,b,c){var d,e,f,g,h;f=(mBb(),Qnc(Pnc(Pnc(Pnc(Pnc(Pnc(Pnc(Qnc(Snc(oBb((d=Qnc(Qnc(Qnc(Qnc(Qnc(Pnc(Pnc(q5b(c,51).sg(),58,45),92,47)," ",LJc),"[","%5B"),"]","%5D"),"<","%3C"),">","%3E"),nBb(d))),"^\\./",""),"/","$"),92,36),64,36),43,36),45,95),58,95),46,95),LJc,"_")+"$classextends$var"+a.a++);h=(Rlb(),gmb(c,new Hnb));g=c.b.e;S5b(g,l6b((Xd(Jnc(f,boc(46))==-1,JHc,f),new s7b((Pac(),H9b),f)),g));e=o6b(D0b((Xd(Jnc(f,boc(46))==-1,JHc,f),new s7b(H9b,f)),g,x8b),g);$4b(h.f,
e,h);Slb(gmb(c,new Dnb(lac)),(AMb(),MLb));p4(b.c,c)}function Axb(a,b){var c,d,e,f,g,h,i,j,k;j=(Xd(b._i()||b.f==(kfc(),ifc),wLc,b),obc(b.k)).Ti();if(j){k=(Xd(j._i()||j.f==(kfc(),ifc),wLc,j),obc(j.k));if(!Fnc(k.$h(new uoc,false).a,GJc)){a.a+=xLc;Kxb(a,eIc,k.$h(new uoc,true).a);a.a+=KGc}}e=new PCc;for(h=(i=(new Ypc(Dec(b).a)).a.Ge()._d(),new cqc(i));h.a.Od();){f=(c=h.a.Pd(),c.Ve());NCc(e,f.$h(new uoc,true).a)}for(g=(d=(new $qc(e.a)).a.Ge().b.rj(),new frc(d));g.a.Od();){f=(c=g.a.Pd(),c.Ve());a.a+=xLc;
roc(roc(roc(roc((a.a+="@",a),fIc)," {"),f),"}");a.a+=KGc}a.a+=" * @constructor\n"}function ugc(a,b){var c,d,e,f,g,h,i,j,k,l,m,n;if(b.q)return b;if(b.f!=(kfc(),jfc)&&!b._i())return b;i=false;h=jbc(b.k)?b.A.p[44]:b.k;e=zgc(a,h.Hi(a));h!=e&&(i=true);g=b.b.b;d=g.Hi(a);g!=d&&(i=true);l=new aec(a.e);for(n=(k=b.b.a,k?!k.b?(Jtc(),Jtc(),Itc):new h7b(k.b):(Jtc(),Jtc(),Itc))._d();n.Od();){m=n.Pd();f=m.c;c=f.Hi(a);f!=c&&(i=true);n5b(m,37)!=0?Ydc(l,ED(zD(JT,1),NJc,27,0,[c])):n5b(m,30)!=0?$dc(l,c):Zdc(l,ED(zD(JT,
1),NJc,27,0,[c]))}if(i){j=Gdc(Tdc(Wdc(Pdc(Ndc(Ldc(new Xdc(a.e),b.f),l.b),d),e),Yic(b.B)));return j}return b}function q$b(b,c){var d,e,f,g,h,i,j;if(b.c==b.a)return c;switch(Anc(b.e,b.c)){case 43:++b.c;i=1;h=EFc;break;case 42:++b.c;i=0;h=EFc;break;case 63:++b.c;i=0;h=1;break;case 123:++b.c;j=b.c;f=Inc(b.e,j);if(f<0){b.c=j-1;return c}e=Xnc(b.e,j,f);b.c=f+1;d=Jnc(e,boc(44));try{i=Emc(d>=0?e.substr(0,d):e,10);h=d>=0?d+1!=e.length?Emc(e.substr(d+1),10):EFc:i}catch(a){a=BX(a);if(rE(a,81))i=h=-1;else throw CX(a);
}if(i<0||i>h){b.c=j-1;return c}break;default:return c}g=true;if(b.c<b.a&&Anc(b.e,b.c)==63){g=false;++b.c}return new H_b(c,i,h,g)}function W3(b,c,d,e){var f;X3(b,e);d.a.length==0?n4(b,new fjb(null,null,-1,-1,m3,null,ED(zD(UU,1),FHc,2,6,[]))):d.a[0].d.a.length==0&&d.a.length>1&&n4(b,new fjb(null,null,-1,-1,n3,null,ED(zD(UU,1),FHc,2,6,[d.a[0].e])));C4(d);b.o=Z3(c);b.H=d;try{b.D=new Djb(d)}catch(a){a=BX(a);if(rE(a,316)){f=a;n4(b,new fjb(null,null,-1,-1,o3,null,ED(zD(UU,1),FHc,2,6,[f.b.e,f.a.e])));return}else throw CX(a);
}xjb(b.D);new cDc;ig(b.v,b.J.Nb);V3(b);b.A=g1b(ED(zD(nT,1),KHc,7,0,[]));b.q=g1b(ED(zD(nT,1),KHc,7,0,[]));b.k=g1b(ED(zD(nT,1),KHc,7,0,[b.q,b.A]))}function ufb(a){var b,c,d,e,f,g,h,i,j,k,l,m,n;if(a.c.a.ce()!=0){for(d=(h=(new Ypc(a.d.a)).a.Ge()._d(),new cqc(h));d.a.Od();){c=(b=d.a.Pd(),b.Ve());Nd(c.f);N5b(c.f,c)}e=new qyc;for(j=(g=(new Ypc(a.c.a)).a.Ge()._d(),new cqc(g));j.a.Od();){i=(b=j.a.Pd(),b.Ve());n=i.b;f=e.a.Ie(n,e);if(f==null){k=y0b((Xd(Jnc(lKc,boc(46))==-1,JHc,lKc),new s7b((Pac(),H9b),lKc)),
ED(zD(nT,1),KHc,7,0,[i1b(i.a)]));l=Q5b(k,k.i,50);l!=k.i&&(k.i=l);k.i=new U6b(50,1,k.i);m=D0b((Xd(Jnc(n,boc(46))==-1,JHc,n),new s7b(H9b,n)),k,Jac);o6b(m,a.g);Z4b(a.g,m,a.f);a.f=m}}}}function dIb(a,b,c){var d,e;while(true)switch(b.f){case 13:if(a.g==(JIb(),HIb)){a.g=IIb;b=YHb(a,b,c)}else b=!a.n?mJb(a.i):JHb(a);break;case 16:d=true;HHb(a,c);if(B3b(a.e)){a.d=z3b(a.e);e=a.d.j;switch(e.f){case 0:case 2:DHb(a,Wb(e.e!=null?e.e:""+e.f));d=false}}return d;case 0:z3b(a.e);CHb(a,"msg.unexpected.eof",a.i.g,lJb(a.i));
HHb(a,c);return false;case 1:a.g==(JIb(),IIb)&&(a.g=HIb);b=!a.n?mJb(a.i):JHb(a);break;default:if(b==(fJb(),dJb)&&a.g==(JIb(),HIb))b=!a.n?mJb(a.i):JHb(a);else{a.g=(JIb(),IIb);b=KHb(a,!a.n?mJb(a.i):JHb(a))}}}function qdb(a,b){var c,d,e,f,g,h,i,j,k;Fd(b.k==(Pac(),V9b)||b.k==R7b);k=bKc+a.b++;if(Lmb(b.f)){i=b.f;c=i.b?i.b.g:null;d=E0b((Xd(Jnc(k,boc(46))==-1,JHc,k),new s7b(H9b,k)),Jac);o6b(d,b);R5b(i,b,d);h=G0b(t0b(b,(Xd(Jnc(k,boc(46))==-1,JHc,k),new s7b(H9b,k))));o6b(h,b);a5b(c,h)}else{g=b.f;Sd(g.k==F8b);
e=g.f;i=e.f;Sd((Rlb(),i.k==Y8b||i.k==W8b||i.k==X8b));c=i.b?i.b.g:null;R5b(e,g,l6b((Xd(Jnc(k,boc(46))==-1,JHc,k),new s7b(H9b,k)),b));f=e.k;d=D0b(i5b(b),(Xd(Jnc(k,boc(46))==-1,JHc,k),new s7b(H9b,k)),f);o6b(d,b);j=w0b(d);R5b(c.f,c,j);_4b(j,c)}}function _mb(a){Rlb();var b,c,d,e,f,g,h,i;f=(g=dmb(a),!g?null:q5b(g,29));if(!!f&&c2b(f).a.length!=0)return false;e=a.f.k==(Pac(),x8b)||!!f&&((f.a&37)!=0||(!f.d?null:f.d.c)!=null);c=q5b(a,51);if(!(!!c&&c.Eh())&&!e)return false;if($mb(a.f)){i=a;d=a.b}else if(a.k==
T8b){b=a.b;if(b.k!=T7b||b.b.k!=d9b)return false;i=b.b;d=b.b?b.b.g:null}else if(a.k==d9b){h=a.f;if(h.k!=T7b||h.f.k!=T8b)return false;i=a;d=h.b?h.b.g:null}else return false;if(!d||!i)return false;if(d.k==U9b)return true;return d.k==X9b&&I5b(i,d.b)&&(d.b?d.b.g:null).k==U9b}function Ebb(a,b,c){var d,e,f,g,h;g=c.f;if(c.e){f=Y5b((Xd(Jnc(UJc,boc(46))==-1,JHc,UJc),new s7b((Pac(),H9b),UJc)),c.g);h=D0b(f,Y5b(new p6b(Aac),c.g),x8b);Slb(b.f,(AMb(),MLb));o6b(h,g);Gbb(a,h);!c.c?a5b(g,h):Z4b(g,h,c.c);p4(a.a,h)}if(c.d){f=
Y5b((Xd(Jnc(VJc,boc(46))==-1,JHc,VJc),new s7b((Pac(),H9b),VJc)),c.a);d=D0b(f,Y5b((Xd(Jnc(fHc,boc(46))==-1,JHc,fHc),new s7b(H9b,fHc)),c.a),x8b);Slb(b.f,(AMb(),MLb));a5b(g,d);e=new Q4b(false);G4b(e,new V4b(new r6b(f8b,new s7b(rac,"Arguments")),"<Es6RewriteArrowFunction>"));X5b(d,z3b(e));o6b(d,g);p4(a.a,d)}}function fJb(){fJb=bY;SIb=new gJb("EOF",0);TIb=new gJb("EOL",1);VIb=new gJb("LEFT_ANGLE",2);_Ib=new gJb("RIGHT_ANGLE",3);eJb=new gJb(qMc,4);YIb=new gJb("LEFT_SQUARE",5);cJb=new gJb("RIGHT_SQUARE",
6);WIb=new gJb("LEFT_CURLY",7);aJb=new gJb("RIGHT_CURLY",8);XIb=new gJb("LEFT_PAREN",9);bJb=new gJb("RIGHT_PAREN",10);PIb=new gJb("COMMA",11);OIb=new gJb("COLON",12);MIb=new gJb(rMc,13);ZIb=new gJb("PIPE",14);dJb=new gJb("STAR",15);RIb=new gJb("EOC",16);$Ib=new gJb("QMARK",17);QIb=new gJb("ELLIPSIS",18);NIb=new gJb("BANG",19);UIb=new gJb("EQUALS",20)}function Jcb(a,b,c){var d,e,f,g,h,i;for(h=new Vzc(new Mzc(b.j));h.b!=h.c.a.b;){f=Tzc(h);e=f.d;d=K0b(snb(a.a,b.f+XJc),new s7b((Pac(),rac),e));X5b(d,f.e);
d=o6b((Td(V0b(d),d),new r6b(T8b,d)),b.c);Z4b(c.f,d,c);c=d}for(i=new Vzc(new Mzc(b.b));i.b!=i.c.a.b;){f=Tzc(i);e=f.d;d=K0b(snb(a.a,b.f),new s7b((Pac(),rac),e));X5b(d,f.e);d=o6b((Td(V0b(d),d),new r6b(T8b,d)),b.c);Z4b(c.f,d,c);c=d}for(g=new Vzc(new Mzc(b.i));g.b!=g.c.a.b;){f=Tzc(g);e=f.d;d=J0b(snb(a.a,b.f+XJc),snb(a.a,e));X5b(d,f.e);d=o6b((Td(V0b(d),d),new r6b((Pac(),T8b),d)),b.c);Z4b(c.f,d,c);c=d}}function Rib(a,b,c,d){var e;e=d==c.b;switch(c.k.f){case 92:return a;case 46:return d==(c.b?c.b.g:null)?
a:a.c?a:new Tib(a.a,true,a.b);case 60:case 62:return e?new Tib(c,true,a.a?a:null):a;case 61:return e?new Tib(c,false,a.a?a:null):a;case 66:return e?new Tib(c,true,a.a?a:null):Pib;case 41:case 47:return e==a.c?a:new Tib(a.a,e,a.b);case 25:case 19:case 4:case 5:case 36:case 37:return a.c?a:new Tib(a.a,true,a.b);case 28:return Sib(a,!e&&Mib(b,c));case 81:return Pib;default:return Rlb(),c.k!=(Pac(),F9b)&&gnb(c.f)?Pib:a.c?new Tib(a.a,false,a.b):a}}function uPb(a){var b,c,d,e,f,g,h,i;h=sRb(a.g,0).b.b;e=
!!eOb(a,(jUb(),MTb));g=null;i=sRb(a.g,0).c;if(i==hTb)return LOb(a,true);else if(i==TSb||(GNb(),GNb(),!!Zn(hNb,i)))g=cOb(a);else if(i==qTb)return sPb(a);else if(i==nTb||i==pTb)return LOb(a,false);f=false;if(rQb(a,DTb)){aOb(a,DTb);f=true}if(rQb(a,pTb)||rQb(a,nTb)){d=(b=uVb(zVb(tVb(wVb(rVb(yVb(vVb(AVb(xVb(new BVb((GVb(),FVb)),g),false),e),f),null),lOb(a)),gPb(a,1)),kOb(a)),new eVb(new GYb(h,a.f))),qVb(b,new GYb(h,a.f)));return d}else{c=kOb(a);return new WVb(new GYb(h,a.f),g,false,f,null,c)}}function _Fb(a,
b){var c,d,e,f,g,h;f=false;c=true;for(d=0;d<b.ce();d++){e=b.ge(d);g=null;if(e.p==(WXb(),JXb)){h=e;g=DFb(a.a,h.b);e=h.a}switch(e.p.f){case 26:if(f){a.a.d.uh("A required parameter cannot follow an optional parameter.",a.a.q,(XEb(),e.o.b.b+1),e.o.b.a);c=false}break;case 81:f=true;break;case 65:if(d!=b.ce()-1){a.a.d.uh("A rest parameter must be last in a parameter list.",a.a.q,(XEb(),e.o.b.b+1),e.o.b.a);c=false}if(!!g&&g.k!=(Pac(),S7b)){a.a.d.uh("A rest parameter must be of an array type.",a.a.q,(XEb(),
e.o.b.b+1),e.o.b.a);c=false}}}return c}function rmb(a){var b;switch(a.k.f){case 117:if(!!a.b&&!a.b.e)return Cjc(),a.b.Rh().length!=0?Ajc:zjc;break;case 31:return Cjc(),a.Rh().length>0?Ajc:zjc;case 30:return Cjc(),a.Qh()!=0?Ajc:zjc;case 19:return rmb(a.b?a.b.g:null).bj();case 32:case 34:return Cjc(),zjc;case 79:if(!Wlb(a.b,false,null))return Cjc(),zjc;break;case 29:b=a.Rh();if(Fnc(KJc,b)||Fnc("NaN",b))return Cjc(),zjc;else if(Fnc(OKc,b))return Cjc(),Ajc;break;case 35:case 38:return Cjc(),Ajc;case 65:case 96:case 23:case 42:case 43:if(!Wlb(a,
false,null))return Cjc(),Ajc}return Cjc(),Bjc}function vpb(b,c,d){var e,f;if(!gLb(b.a.fh(),b.c.b.r)){_Dc((hpb(),gpb),"Skipping pass "+b.b);VDc(gpb,"pass supports: "+b.a.fh()+"\ncurrent AST contains: "+b.c.b.r);return}SDc((hpb(),gpb),"Running pass "+b.b);!!b.c.r&&(b.c.a=P$(new W$(b.c.b),b.c.d));!!b.c.p&&Uob(b.c.p,b.b,b.a.c);b.d=new Ytb;b.a.eh(b.c.b).ug(c,d);s3(b.c.b);try{if(!b.c.n)t4(b.c.b,-1);else{b.c.k+=b.c.o;t4(b.c.b,b.c.k)}f=Xtb(b.d);!!b.c.p&&Vob(b.c.p,b.b,f);jpb(b.c,b.b,d);kpb(b.c,b.b,c,d)}catch(a){a=
BX(a);if(rE(a,25)){e=a;throw CX(new JC("Validity check failed for "+b.b,e));}else throw CX(a);}}function eIb(a,b){var c,d;c=bMc;if(b==(fJb(),WIb)){if(RHb(a,eJb)){d=a.i.n;!xHb.Yd(d)&&!A3b(a.e,d)&&EHb(a,"msg.jsdoc.idgen.unknown",d,a.i.g,lJb(a.i));c=d;b=!a.n?mJb(a.i):JHb(a)}else{CHb(a,mMc,a.i.g,lJb(a.i));return b}RHb(a,aJb)?b=!a.n?mJb(a.i):JHb(a):CHb(a,mMc,a.i.g,lJb(a.i))}switch(c){case bMc:_3b(a.e)||CHb(a,nMc,a.i.g,lJb(a.i));break;case cMc:J3b(a.e)||CHb(a,nMc,a.i.g,lJb(a.i));break;case "stable":z4b(a.e)||
CHb(a,nMc,a.i.g,lJb(a.i));break;case "xid":O4b(a.e)||CHb(a,nMc,a.i.g,lJb(a.i));break;case "mapped":g4b(a.e)||CHb(a,nMc,a.i.g,lJb(a.i))}return b}function l$b(a){var b,c,d,e,f,g,h,i,j,k;Sd(Anc(a.e,a.c)==91);++a.c;g=Jnc(a.d,boc(105))>=0;f=a.c<a.a&&Anc(a.e,a.c)==94;f&&++a.c;j=(FZb(),EZb);e=EZb;while(a.c<a.a&&Anc(a.e,a.c)!=93){b=Anc(a.e,a.c);if(b==92){++a.c;h=Anc(a.e,a.c);d=Zn((g$b(),c$b),cmc(h));if(d){++a.c;j=PZb(j,d);continue}k=n$b(a)}else{k=b;++a.c}c=k;if(a.c+1<a.a&&Anc(a.e,a.c)==45&&Anc(a.e,a.c+1)!=
93){++a.c;b=Anc(a.e,a.c);if(b==92){++a.c;c=n$b(a)}else{c=b;++a.c}}i=TZb(k,c);j=PZb(j,i);GZb((g$b(),$Zb),k)&&GZb($Zb,c)&&(e=PZb(e,MZb(i,$Zb)));g&&(j=BZb(j))}++a.c;f&&(j=IZb(DZb,j));return new R$b(j,e)}function kob(a,b){var c,d,e,f,g,h,i,j,k;if(n5b(b,63)!=0)return;c=b.b;Rlb();if(!!c&&(c.k==(Pac(),Jac)||c.k==z9b||c.k==x8b)||c.k==(Pac(),Z8b)&&Jmb(c.f)&&(c.k==Z8b&&dnb(c.b))||c.k==(Pac(),s8b)&&Jmb(c.f)&&(c.k==s8b&&dnb(c.b))){N5b(b,c);g=l6b(new p6b((Pac(),S8b)),b);a5b(b,g);if(c.k==s8b||c.k==Z8b){j=Qtc(c.b);
$4b(b.f,c,b)}else{j=bmb(c);for(e=(!c.b?(Jtc(),Jtc(),Itc):new h7b(c.b))._d();e.Od();){d=e.Pd();N5b(c,d);k=l6b(new r6b(c.k,d),b);$4b(b.f,k,b)}}for(i=j._d();i.Od();){h=i.Pd();f=l6b(new p6b(R8b),h);a5b(f,h.Ph(false));a5b(f,h.Ph(false));_4b(g,f)}p4(a.b,b.f)}}function COb(a,b){var c,d,e,f,g,h,i,j;if(rQb(a,(jUb(),iUb))&&zrc(a.e).b)return pQb(a,b);f=sRb(a.g,0).b.b;c=TOb(a,b);if(jOb(a,c)){a.f=c.o.b;CRb(a.g,a.f.c);return EOb(a,b)}if(rQb(a,iSb))return c.p==(WXb(),qWb)?_Nb(a,c):(g=NQb(a,c),h=sRb(a.g,0).b.b.b>
a.f.b,(h||qQb(a,0,ITb)||qQb(a,0,tSb)||qQb(a,0,GSb))&&LQb(a,dNc,ED(zD(PU,1),RFc,1,5,[])),aOb(a,iSb),i=BOb(a,b,(eRb(),dRb)),j=uVb(tVb(new BVb((GVb(),CVb)),g),i),qVb(j,hOb(a,g.o.b)));if(tQb(a)){c=MQb(a,c);qUb(c)||LQb(a,eNc,ED(zD(PU,1),RFc,1,5,[]));d=oOb(a);e=COb(a,b);return new AUb(new GYb(f,a.f),c,d,e)}return c}function YD(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&XGc;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&aHc)<<8;u=v+w+A;p+=m>>22;m&=XGc;u+=p>>22;p&=XGc;u&=YGc;return JD(m,p,u)}function EOb(a,b){var c,d,e,f,g,h,i;i=sRb(a.g,0).b.b;gOb(a,ZHc);g=sRb(a.g,0).b.b.b>a.f.b;(g||qQb(a,0,(jUb(),ITb))||qQb(a,0,(jUb(),
tSb))||qQb(a,0,(jUb(),GSb)))&&LQb(a,"No newline allowed between `async` and arrow function parameter list",ED(zD(PU,1),RFc,1,5,[]));d=null;if(rQb(a,(jUb(),pTb)))d=gPb(a,0);else{h=nPb(a);d=new oVb(h.o,(Km(),new Uy(Nd(h))))}f=sRb(a.g,0).b.b.b>a.f.b;(f||qQb(a,0,ITb)||qQb(a,0,tSb)||qQb(a,0,GSb))&&LQb(a,dNc,ED(zD(PU,1),RFc,1,5,[]));aOb(a,iSb);c=BOb(a,b,(eRb(),aRb));e=uVb(tVb(sVb(new BVb((GVb(),CVb))),d),c);return qVb(e,new GYb(i,a.f))}function Wdb(a,b,c,d){var e,f,g,h,i,j,k,l;j=Qdb(a,P5b(b));f=b.b;h=f.e;
e=h.e;if(n5b(f,66)==0&&n5b(h,66)==0&&n5b(e,66)==0){a5b(b,j);k=Q5b(b,b.i,66);k!=b.i&&(b.i=k);beb(a,b);return}if(j.k!=(Pac(),J8b)){V0b(j)&&(j=l6b((Td(V0b(j),j),new r6b(T8b,j)),j));beb(a,j)}l=new Web(a.a);i=yeb(a.a,d);g=yeb(a.a,c);Jeb(a.a,l);if(f.k!=J8b){f=Rdb(a,Qdb(a,i5b(f)));Leb(a.a,l6b(O0b(l6b(Dgb(n1b(P9b,f),a.f.a),f),leb(a.a,g,true,b)),b))}Deb(a.a,g,i);$db(a,i5b(e),null,null);Aeb(a.a);Jeb(a.a,i);if(h.k!=J8b){h=Qdb(a,i5b(h));beb(a,l6b((Td(V0b(h),h),new r6b(T8b,h)),h))}Neb(a.a,l,b);Jeb(a.a,g)}function OOb(a,
b){var c,d;if(rQb(a,(jUb(),ITb)))return VOb(a);else{d=new hRb(sRb(a.g,0).b.b);d.b=b;d.a=a.b.d&&Uxc(Qxc(CTb,ED(zD(mQ,1),XFc,18,0,[BTb,ATb])),sRb(a.g,0).c)?oOb(a).c:null;d.c=!!eOb(a,QTb);return qQb(a,0,TSb)&&Fnc(sRb(a.g,0).a,SHc)&&(BQb(a,1)||sRb(a.g,1).c==qTb)?lPb(a,d):qQb(a,0,TSb)&&Fnc(sRb(a.g,0).a,"set")&&(BQb(a,1)||sRb(a.g,1).c==qTb)?XPb(a,d):qQb(a,0,TSb)&&Fnc(sRb(a.g,0).a,ZHc)&&(c=sRb(a.g,1).b.b.b>sRb(a.g,0).b.a.b,!(c||qQb(a,1,ITb)||qQb(a,1,tSb)||qQb(a,1,GSb)))&&(BQb(a,1)||sRb(a.g,1).c==qTb||qQb(a,
1,MTb)&&(BQb(a,2)||sRb(a.g,2).c==qTb))?GOb(a,d):QOb(a,d)}}function sC(b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q;c=new qC;f=null;try{f=$wnd.JSON.parse(b)}catch(a){a=BX(a);if(rE(a,44)){d=a;throw CX(new tC("JSON parse exception: "+d));}else throw CX(a);}q=f;pC(c,q.version);kC(c,q.file);c.c=-1;lC(c,q.mappings);if(q.sections!=null){l=(Km(),new tr);for(n=q.sections,o=0,p=n.length;o<p;++o){m=n[o];rr(l,rC(m))}nC(c,Sm(l.a))}else c.f=null;oC(c,q.sources);mC(c,q.names);e=new vzc;k=$wnd.Object.keys(q);for(h=k,i=0,
j=h.length;i<j;++i){g=h[i];Fnc(g.substr(0,2),"x_")&&szc(e,g,q[g])}jC(c,(Jtc(),new xvc(e)));return new iC(c.i,c.c,c.b,c.d,c.g,c.e,c.f,c.a)}function pAb(a){var b,c,d,e,f,g,h,i,j,k,l,m;for(l=new Bsc(a.f);l.a<l.c.a.length;){j=(l.b=l.a++,l.c.a[l.b]);g=j.hh();c=Dt(g._d());(c==null||g.ce()==1&&Fnc(c.substr(0,7),AIc))&&szc(a.e,(mBb(),pBb((b=Qnc(Qnc(Qnc(Qnc(Qnc(Pnc(Pnc(j.sg(),58,45),92,47)," ",LJc),"[","%5B"),"]","%5D"),"<","%3C"),">","%3E"),nBb(b)))),j);for(f=j.hh()._d();f.Od();){e=f.Pd();bpc(a.b,e,j)}}for(m=
new Bsc(a.f);m.a<m.c.a.length;){j=(m.b=m.a++,m.c.a[m.b]);for(i=j.ih()._d();i.Od();){h=i.Pd();d=$oc(a.b,h);!!d&&Gf(a.d,j,d)}}for(k=new Bsc(a.f);k.a<k.c.a.length;){j=(k.b=k.a++,k.c.a[k.b]);oAb(a,j)}a.a.a.Xd();qu(a.d)}function X$(a,b){var c,d,e,f;if(!a||!b)return!a&&!b;if(!a.Sh(b,false,false,false,true))return false;if(l5b(a)!=l5b(b))return false;if(a.k==(Pac(),Z8b)&&b.k==Z8b){Rlb();if((a.k==Z8b&&Jmb(a.f)&&a.k==Z8b&&dnb(a.b))!=(b.k==Z8b&&Jmb(b.f)&&b.k==Z8b&&dnb(b.b)))return false}if(!!a.f&&a.f.k==Z9b)if(n5b(a,
96)!=0!=(n5b(b,96)!=0))return false;e=a.b;c=b.b;while(!!e&&!!c){if(e.k==Z8b||e.k==lac){if(c.k!=e.k)return false;if(e.k==Z8b&&(Rlb(),e.k==Z8b&&Jmb(e.f)&&e.k==Z8b&&dnb(e.b))){f=e.b.Rh();d=c.b.Rh();if(!Fnc(f,d))return false}}else if(!X$(e,c))return false;e=e.e;c=c.e}return true}function KD(a,b,c){var d,e,f,g,h,i;if(b.l==0&&b.m==0&&b.h==0)throw CX(new Glc("divide by zero"));if(a.l==0&&a.m==0&&a.h==0){c&&(GD=JD(0,0,0));return JD(0,0,0)}if(b.h==ZGc&&b.m==0&&b.l==0)return LD(a,c);i=false;if(b.h>>19!=0){b=
ZD(b);i=!i}g=RD(b);f=false;e=false;d=false;if(a.h==ZGc&&a.m==0&&a.l==0){e=true;f=true;if(g==-1){a=ID((kE(),gE));d=true;i=!i}else{h=_D(a,g);i&&PD(h);c&&(GD=JD(0,0,0));return h}}else if(a.h>>19!=0){f=true;a=ZD(a);d=true;i=!i}if(g!=-1)return MD(a,g,i,f,c);if(WD(a,b)<0){c&&(f?GD=ZD(a):GD=JD(a.l,a.m,a.h));return JD(0,0,0)}return ND(d?a:JD(a.l,a.m,a.h),b,i,f,e,c)}function tD(a,b){var c,d,e,f,g,h,i,j,k;j="";if(b.length==0)return a.fg(WGc,UGc,-1,-1);k=$nc(b);Fnc(k.substr(0,3),"at ")&&(k=k.substr(3));k=k.replace(/\[.*?\]/g,
"");g=k.indexOf("(");if(g==-1){g=k.indexOf("@");if(g==-1){j=k;k=""}else{j=$nc(k.substr(g+1));k=$nc(k.substr(0,g))}}else{c=k.indexOf(")",g);j=k.substr(g+1,c-(g+1));k=$nc(k.substr(0,g))}g=Jnc(k,boc(46));g!=-1&&(k=k.substr(g+1));(k.length==0||Fnc(k,"Anonymous function"))&&(k=UGc);h=Lnc(j,boc(58));e=Mnc(j,boc(58),h-1);i=-1;d=-1;f=WGc;if(h!=-1&&e!=-1){f=j.substr(0,e);i=oD(j.substr(e+1,h-(e+1)));d=oD(j.substr(h+1))}return a.fg(f,k,i,d)}function jOb(a,b){var c,d,e,f,g,h,i;if(b.p==(WXb(),ZWb)){f=b.a;return Fnc(f.a,
ZHc)&&(h=sRb(a.g,0).b.b.b>a.f.b,!(h||qQb(a,0,(jUb(),ITb))||qQb(a,0,(jUb(),tSb))||qQb(a,0,(jUb(),GSb))))&&(i=sRb(a.g,0).c,(jUb(),TSb)==i||a.b.d&&NNb(i)||!a.b.c&&MNb(i))&&(g=sRb(a.g,1).b.b.b>sRb(a.g,0).b.a.b,!(g||qQb(a,1,(jUb(),ITb))||qQb(a,1,(jUb(),tSb))||qQb(a,1,(jUb(),GSb))))&&qQb(a,1,(jUb(),iSb))}else if(b.p==qWb){d=b;e=d.b;c=d.a;return e.p==ZWb&&Fnc(e.a.a,ZHc)&&e.o.a.b==c.o.b.b&&(g=sRb(a.g,0).b.b.b>a.f.b,!(g||qQb(a,0,(jUb(),ITb))||qQb(a,0,(jUb(),tSb))||qQb(a,0,(jUb(),GSb))))&&rQb(a,(jUb(),iSb))}else return false}
function ZBb(){ZBb=bY;Do("goog.object.forEach","goog.object.filter","goog.object.map","goog.object.some","goog.object.every","goog.object.getCount",ED(zD(UU,1),FHc,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.transpose"]));YBb=new D9("JSC_ARRAY_PASSED_TO_GOOG_OBJECT",
(O_(),N_),new Toc("{0} expects an object, not an array. Did you mean to use goog.array?"))}function UOb(a){var b,c,d;if(sRb(a.g,1).c==(jUb(),QSb))return ROb(a,pTb,uSb);d=sRb(a.g,0).b.b;aOb(a,pTb);if(rQb(a,uSb)){aOb(a,uSb);if(rQb(a,iSb))return new oVb(new GYb(d,a.f),(Km(),Km(),Jm));else{LQb(a,fNc,ED(zD(PU,1),RFc,1,5,[]));return new XVb(new GYb(d,a.f))}}if(rQb(a,LTb)){b=(Km(),new Uy(Nd(JPb(a,0))));aOb(a,uSb);if(rQb(a,iSb))return new oVb(new GYb(d,a.f),b);else{LQb(a,fNc,ED(zD(PU,1),RFc,1,5,[]));return new XVb(new GYb(d,
a.f))}}c=pOb(a,1);if(rQb(a,xSb)){aOb(a,xSb);c=new IUb(new GYb(d,a.f),(Km(),new jy($m(ED(zD(PU,1),RFc,1,5,[c,JPb(a,0)])))))}aOb(a,uSb);return new fWb(new GYb(d,a.f),c)}function i0(){i0=bY;h0=new D9("JSC_SUSPICIOUS_SEMICOLON",(O_(),N_),new Toc("If this if/for/while really shouldn''t have a body, use '{}'"));d0=new D9("JSC_SUSPICIOUS_NAN",N_,new Toc("Comparison against NaN is always false. Did you mean isNaN()?"));f0=new D9("JSC_SUSPICIOUS_IN",N_,new Toc('Use of the "in" keyword on non-object types throws an exception.'));
e0=new D9("JSC_SUSPICIOUS_INSTANCEOF_LEFT",N_,new Toc('"instanceof" with left non-object operand is always false.'));g0=new D9("JSC_SUSPICIOUS_NEGATED_LEFT_OPERAND_OF_IN_OPERATOR",N_,new Toc("Suspicious negated left operand of 'in' operator."))}function OJb(a,b){var c;if(b.k==(Pac(),N7b)||b.k==X9b||b.k==P9b)return PJb(a,b);if(b.k!=n8b){a.a.vh(dMc+F7b(vMc,ED(zD(PU,1),RFc,1,5,[AFc])),a.b.sg(),a.d,a.c);return false}if(!LJb((Kd(b.k==n8b,tMc,b),b.b.Rh()))){a.a.vh(dMc+F7b(uMc,ED(zD(PU,1),RFc,1,5,["boolean predicate"])),
a.b.sg(),a.d,a.c);return false}c=OKb(Xb((Kd(b.k==n8b,tMc,b),b.b.Rh())));if(!IJb(a,b,c))return false;switch(c.a){case 3:return eKb(a,b,(Kd(b.k==n8b,tMc,b),l5b(b)-1));case 2:return _Jb(a,b,(Kd(b.k==n8b,tMc,b),l5b(b)-1));case 4:return hKb(a,b,(Kd(b.k==n8b,tMc,b),l5b(b)-1));default:throw CX(new Kmc("Invalid boolean expression"));}}function $9(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o;Td(c.k==(Pac(),d9b)||c.k==c9b,c);Td(b.k==vac,b);h=c.f;Sd(h.k==n8b);g=(Rlb(),gmb(b,new Dnb(s8b)));n=g.b.e;if(!D5b(n))return;f=
c;o=new p6b(Aac);l=Q5b(o,o.i,85);l!=o.i&&(o.i=l);o.i=new U6b(85,1,o.i);e=new s7b(rac,wJc);m=Q5b(e,e.i,85);m!=e.i&&(e.i=m);e.i=new U6b(85,1,e.i);if(n5b(d,58)!=0){R5b(f,b,m6b(g5b(n,false),b));f=K0b(i5b(f),e);a5b(h,f);Z4b(h,o,f);o6b(h,c)}else{j=Kc(new Nc(String.fromCharCode(46)),r5b(n),LHc,ED(zD(PU,1),RFc,1,5,[]));i=m6b(snb(a.a,j),b);R5b(b.f,b,i);f=K0b(i5b(f),e);a5b(h,f);Z4b(h,o,f);k=Q5b(h,h.i,50);k!=h.i&&(h.i=k);o6b(h,c)}p4(a.a,h)}function Srb(a,b,c){var d,e,f,g,h,i,j,k;if(D5b(c)&&Mrb(a.b.b,c)){h=r5b(c);
f=false;for(e=(Brb(),zrb)._d();e.Od();){d=e.Pd();if(Fnc(h.substr(0,d.length),d)){h=Wnc(h,d.length);f=true;break}}i=Zn(a.b.b.b,h);!!i&&!f&&(k=tmb(c),k.k!=(Pac(),H9b)||!!CY(klb(b),k.Rh()))&&(i=null);if(!!i&&!Jib(a,h)){Erb(a.b,i.c)||ulb(b,c,Arb,ED(zD(UU,1),FHc,2,6,[h,jLb(i6(a.b.a.J))]));!Erb(a.b,i.b)&&i.a.length!=0&&nyc(a.a,i.a);return}}if(c.k==(Pac(),d9b)&&(c.b?c.b.g:null).k==rac){h=(c.b?c.b.g:null).Rh();g=Al(a.b.b.a,h);if(!g.$d()&&!Jib(a,"."+h))for(j=g._d();j.Od();){i=j.Pd();!Erb(a.b,i.b)&&i.a.length!=
0&&nyc(a.a,i.a)}}return}function kZ(a,b,c){var d,e,f,g,h,i,j,k,l,m,n;switch(b.k.f){case 98:xZ(a,(AMb(),bMb),b);$Z(b);j=Rac(b.k);j!=-1&&(e=l5b(b),j!=e&&u$(nHc+j+oHc+e,b));n=b.b;c?yZ(a,n,true):yZ(a,n,false);break;case 86:case 87:xZ(a,(AMb(),JLb),b);$Z(b);k=Rac(b.k);k!=-1&&(f=l5b(b),k!=f&&u$(nHc+k+oHc+f,b));m=b.b;c?yZ(a,m,true):yZ(a,m,false);break;case 157:g=l5b(b);0!=g&&u$(lHc+g,b);break;case 115:oZ(a,b);break;case 158:l=Rac(b.k);l!=-1&&(h=l5b(b),l!=h&&u$(nHc+l+oHc+h,b));iZ(b.b,0);break;case 159:i=
Rac(b.k);i!=-1&&(d=l5b(b),i!=d&&u$(nHc+i+oHc+d,b));break;case 80:break;default:u$("Class contained member of invalid type "+b.k,b)}}function ZYb(a){var b,c,d,e,f;if(a.a==null)return a.b.k=false,SYb(a,OFc,0);if(!tE(a.a))throw CX(PYb(a));e=aZb(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 uoc;switch(b){case 97:case 65:UYb(a);break;case 101:case 69:VYb(a,d);break;case 102:WYb(a,d);break;case 103:case 71:bZb(a,d);break;default:throw CX(vZb(a.b));}a.b.n=-1;f=0;if(45==
d.a.charCodeAt(0)){if(a.b.g)return cZb(a,d)}else{if(a.b.j){toc(d,0,String.fromCharCode(32));++f}if(a.b.d){toc(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 SYb(a,d,f)}function PZb(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q;o=a.a;p=b.a;l=o.length;m=p.length;if(l==0)return b;if(m==0)return a;n=BD(AE,MGc,8,l+m,15,1);i=0;j=0;k=0;while(i<l&&j<m){c=o[i];d=o[i+1];e=p[j];f=p[j+1];if(d<e){n[k++]=c;n[k++]=d;i+=2}else if(f<c){n[k++]=e;n[k++]=f;j+=
2}else{q=$wnd.Math.min(c,e);h=$wnd.Math.max(d,f);i+=2;j+=2;while(i<l||j<m)if(i<l&&o[i]<=h){h=$wnd.Math.max(h,o[i+1]);i+=2}else if(j<m&&p[j]<=h){h=$wnd.Math.max(h,p[j+1]);j+=2}else break;n[k++]=q;n[k++]=h}}if(i<l){zoc(o,i,n,k,l-i);k+=l-i}else if(j<m){zoc(p,j,n,k,m-j);k+=m-j}if(k!=n.length){g=Lsc(n,BD(AE,MGc,8,k,15,1),k);n=g}return new QZb(n)}function xbc(a,b){var c,d,e;if(!!a.Ci()&&!!b.Ci())return Rec(a.Ci(),b.Ci(),false);else{d=new Cfc(false);if(dbc(a,b,0,d))return a;else if(a.vi()||b.vi())return c=
new Cfc(false),dbc(a,b,0,c)?a:a.A.p[44];else if(a.Gi())return Xjc(a.Gi(),b);else if(b.Gi())return Xjc(b.Gi(),a);else if(a.Fi())return mjc(a.Fi(),b);else if(b.Fi())return mjc(b.Fi(),a);else if(a.ti(b))return ubc(a);else if(b.ti(a))return ubc(b);else if(a.Di())return qic(a.Di(),b);else if(b.Di())return qic(b.Di(),a)}if(a.Ai()){e=mdc(a.Ai(),b);if(e)return e}else if(b.Ai()){e=mdc(b.Ai(),a);if(e)return e}if(a.ri()&&b.ri())return a.A.p[52];return a.A.p[51]}function zC(a){wC();var b,c,d;d=new voc;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+=RGc;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:Onc(a,true,c+1,"/script",0,7)?(d.a+="\\u003c",d):Onc(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):yC(d,b)}}d.a+='"';return d.a}function z3(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p;R3(a);f=new ksc;j=new jyc;i=new jyc;for(h=new cu(Ht(st(kt(ot(new ltc(a.D.a),new Jjb)).a),new pt));au(h);){g=bu(h);x5(g).d.$d()&&(f.a[f.a.length]=g,true);bpc(i,elb(glb(y5(g).a)),g);for(o=x5(g).d._d();o.Od();){n=o.Pd();Fnc(n.substr(0,7),AIc)||(n==null?Jyc(j.d,null,g):azc(j.e,n,g))}}for(l=(m=(new Ypc(a.J._.a.a)).a.Ge()._d(),new cqc(m));l.a.Od();){k=(c=l.a.Pd(),c.Ve());g=
$oc(j,elb(k));!g&&(g=$oc(i,elb(k)));!!g&&(f.a[f.a.length]=g,true)}p=uy(new cu(Ht(st(kt(ot(new ltc(a.D.a),new Jjb)).a),new pt)));for(e=new Bsc(f);e.a<e.c.a.length;){d=(e.b=e.a++,e.c.a[e.b]);x3(a,d,false,p,i,j,b,false)}}function lgb(a){var b,c,d,e,f;f=a.d.d;a.b=lmb(f);switch(f.k.f){case 65:{e=f.b;b=e.e;Sd(b.k==(Pac(),Z9b));jgb(a,a.d,b);d=e.Rh();d.length!=0&&(Rlb(),f.k==Z8b&&!(f.k==Z8b&&Jmb(f.f)&&f.k==Z8b&&dnb(f.b))&&!Zmb(f))&&kgb(a,a.d,e);return}case 96:{c=f.b;c.k!=(Pac(),J8b)&&(Rlb(),f.k==s8b&&(!(f.k==
s8b&&dnb(f.b))||!Jmb(f.f)))&&kgb(a,a.d,c);return}case 81:case 85:Td(!a.d.b,a.d);mgb(a,f,a.d,a.d);return;case 112:mgb(a,f,a.d,a.d);return;case 72:case 101:case 102:case 73:case 67:mgb(a,f,null,a.d);return;case 82:Rlb();f.k==(Pac(),k8b)&&!!f.f&&f.f.k==Z8b?mgb(a,f,a.d,a.d):mgb(a,f,null,a.d);return;default:throw CX(new IC("Illegal scope root: "+f));}}function mab(a,b){var c,d,e,f,g,h,i,j,k;if(!a.c)return false;i=Phb(a.c,b);if(!i)return false;d=i.d;if(!d)for(k=(!i.n?(Km(),Km(),Jm):i.n)._d();k.Od();){j=
k.Pd();(j.b==(Dib(),Bib)||j.b==Cib)&&(d=j)}if(!d)return false;f=d.a;g=q5b(f,51);if(!!g&&g.Eh())return false;c=f.f;e=null;if(c.k==(Pac(),Z8b))e=c;else{Rlb();if(!!c&&(c.k==Jac||c.k==z9b||c.k==x8b)&&f.k==H9b)if(f.b)e=Nd(f.b);else return false;else if(c.k==T7b&&c.b==f)e=Nd(c.b.e);else if(c.k==U9b&&!!f.b&&!f.b.e)e=Nd(f.b);else throw CX(new Kmc("Unexpected declaration format:\n"+k6b(c)));}if(e.k==Z8b){h=Nd(k5b(e,2));return!yab(new zab(a),h)}else return D5b(e)&&mab(a,r5b(e))}function V0b(a){switch(a.k.f){case 65:case 96: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 104:case 3:case 1:case 20:case 2:case 28:case 92: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 114:case 31:case 14:case 99:case 117:case 116:case 33:case 25:case 35:case 12:case 79:case 103:return true;
default:return false}}function eFc(a,b){var c,d,e,f,g,h,i,j,k;e=0;for(i=0;i<b;){++e;d=a[i];if((d&192)==128)throw CX(new Fjb(XNc));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 CX(new Fjb(XNc));if(i>b)throw CX(new Ilc(XNc));}f=BD(zE,JFc,8,e,15,1);k=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 CX(new Fjb("Invalid UTF8 sequence at "+(h-1)+", byte="+(j=c>>>0,j.toString(16))));d=d<<6|c&63}k+=amc(d,f,k)}return f}function ERb(a){var b;b=URb(a);if(mRb(a,a.f))switch(mRb(a,a.f)?Anc(a.b,a.f):0){case 47:switch(mRb(a,a.f+1)?Anc(a.b,a.f+1):0){case 47:QRb(a,(PUb(),NUb));return true;case 42:JRb(a);return true}break;case 60:if((mRb(a,a.f+1)?Anc(a.b,a.f+1):0)==33&&(mRb(a,a.f+2)?Anc(a.b,a.f+2):0)==45&&(mRb(a,a.f+3)?Anc(a.b,a.f+3):0)==45){vRb(a,kNc,ED(zD(PU,1),RFc,1,5,[]));
QRb(a,(PUb(),NUb));return true}break;case 45:if(b&&(mRb(a,a.f+1)?Anc(a.b,a.f+1):0)==45&&(mRb(a,a.f+2)?Anc(a.b,a.f+2):0)==62){vRb(a,kNc,ED(zD(PU,1),RFc,1,5,[]));QRb(a,(PUb(),NUb));return true}break;case 35:if(a.f==0&&(mRb(a,a.f+1)?Anc(a.b,a.f+1):0)==33){QRb(a,(PUb(),OUb));return true}}return false}function g$b(){g$b=bY;new l_b((g_b(),f_b),false);XZb=TZb(48,57);e$b=TZb(65,90);a$b=TZb(97,122);b$b=PZb(e$b,a$b);f$b=PZb(PZb(XZb,b$b),(FZb(),new QZb(UZb(ED(zD(AE,1),MGc,8,15,[95])))));_Zb=IZb(DZb,f$b);d$b=
new QZb(UZb(ED(zD(AE,1),MGc,8,15,[9,10,11,12,13,32,160,5760,6158,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288,65279])));ZZb=new QZb(UZb(ED(zD(AE,1),MGc,8,15,[9,10,11,12,13,32])));$Zb=IZb(d$b,ZZb);c$b=(zn(),Ar(new Dr,cmc(100),XZb)).Jf(cmc(68),IZb(DZb,XZb)).Jf(cmc(115),d$b).Jf(cmc(83),IZb(DZb,d$b)).Jf(cmc(119),f$b).Jf(cmc(87),_Zb).If();YZb=new R$b(IZb(DZb,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[10,13,8232,8233])))),EZb)}function JPb(a,b){var c,d,e,f,g,h,i;e=sRb(a.g,0).b.b;
d=null;if(rQb(a,(jUb(),LTb)))d=(i=sRb(a.g,0).b.b,aOb(a,LTb),new aYb(new GYb(i,a.f),VPb(a,0)));else{f=sRb(a.g,0).c;if(TSb==f||a.b.d&&NNb(f)||!a.b.c&&MNb(f)){d=nPb(a);if(rQb(a,DTb)){aOb(a,DTb);d=new dWb(new GYb(e,a.f),d)}}else if(b!=2&&(qQb(a,0,qTb)||qQb(a,0,oTb)))d=LPb(a,0);else throw CX(new Kmc("parseParameterCalled() without confirming a parameter exists."));}g=null;h=null;if(rQb(a,wSb)){if(qQb(a,1,RTb)){aOb(a,wSb);g=xPb(a)}else g=(aOb(a,wSb),eQb(a));h=hOb(a,sRb(a.g,0).b.b)}if(b==0&&d.p!=(WXb(),
xXb)&&rQb(a,ISb)){aOb(a,ISb);c=COb(a,1);d=new cVb(new GYb(e,a.f),d,c)}!!g&&(d=new pYb(h,d,g));return d}function nA(b,c){var d,e,f,g,h,i,j;this.f=Nd(b);this.c=Nd(c);try{this.a=UA(c.length,(Koc(),Ioc))}catch(a){a=BX(a);if(rE(a,195)){f=a;throw CX(new Gjb("Illegal alphabet length "+c.length,f));}else throw CX(a);}g=$wnd.Math.min(8,Umc(this.a));try{this.d=8/g|0;this.b=this.a/g|0}catch(a$2){a$2=BX(a$2);if(rE(a$2,195)){f=a$2;throw CX(new Gjb("Illegal alphabet "+ioc(c,0,c.length),f));}else throw CX(a$2);
}e=BD(yE,GGc,8,128,15,1);Rsc(e,e.length);for(i=0;i<c.length;i++){d=c[i];Hd(d<e.length,"Non-ASCII character: %s",d);Hd(e[d]==-1,"Duplicate character: %s",d);e[d]=i<<24>>24}this.e=e;j=BD(zX,{1073:1,3:1},8,this.d,16,1);for(h=0;h<this.b;h++)j[TA(h*8,this.a,(Koc(),Coc))]=true;this.g=j}function Ydb(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o;e=Qdb(a,P5b(b));i=b.b;f=i.e;if(n5b(i,66)==0&&(!f||n5b(f,66)==0)){a5b(b,e);n=Q5b(b,b.i,66);n!=b.i&&(b.i=n);beb(a,b);return}i5b(i);!f?f=l6b((d=new p6b((Pac(),k8b)),d),b):i5b(f);
if(n5b(i,66)!=0&&n5b(f,66)==0){e=l6b(Dgb(n1b((Pac(),P9b),e),a.f.a),e);o=i;i=f;f=o}if(n5b(i,66)==0){h=yeb(a.a,c);k=leb(a.a,h,false,i);while(k.b){l=P5b(k);n=Q5b(l,l.i,67);n!=l.i&&(l.i=n);l.i=new U6b(67,1,l.i);_4b(i,l)}beb(a,l6b(O0b(e,i),b));$db(a,f,null,null);Jeb(a.a,h);return}j=new Web(a.a);g=yeb(a.a,c);e=Rdb(a,e);m=leb(a.a,j,true,b);Leb(a.a,l6b(O0b(Rdb(a,e),m),b));$db(a,f,null,null);Neb(a.a,g,f);Jeb(a.a,j);$db(a,i,null,null);Jeb(a.a,g)}function gqb(){gqb=bY;bEc("com.google.javascript.jscomp.ProcessDefines");
lm();zo(ED(zD(PU,1),RFc,1,5,["COMPILED","goog.DEBUG"]));fqb=new D9("JSC_UNKNOWN_DEFINE_WARNING",(O_(),N_),new Toc("unknown @define variable {0}"));new D9("JSC_INVALID_DEFINE_TYPE_ERROR",L_,new Toc("@define tag only permits literal types"));eqb=new D9("JSC_INVALID_DEFINE_INIT_ERROR",L_,new Toc("illegal initialization of @define variable {0}"));new D9("JSC_NON_GLOBAL_DEFINE_INIT_ERROR",L_,new Toc("@define variable {0} assignment must be global"));new D9("JSC_DEFINE_NOT_ASSIGNABLE_ERROR",L_,new Toc("@define variable {0} cannot be reassigned due to code at {1}."));
new Toc("line {0} of {1}")}function IFb(a,b){var c,d;if(b.k==(Pac(),m8b)||b.k==y8b){c=b.b;if(c){d=b.f;while(d.k!=u9b||!Fnc(d.b.Rh(),c.Rh())){if(d.k==Z8b||d.k==lac){a.d.uh(eZb('undefined label "%s"',ED(zD(PU,1),RFc,1,5,[c.Rh()])),a.q,y6b(b.j),x6b(b.j));break}d=d.f}d.k==u9b&&Fnc(d.b.Rh(),c.Rh())&&b.k==y8b&&!SFb(d.b?d.b.g:null)&&a.d.uh("continue can only use labeles of iteration statements",a.q,y6b(b.j),x6b(b.j))}else if(b.k==y8b){d=b.f;while(!SFb(d)){if(d.k==Z8b||d.k==lac){a.d.uh("continue must be inside loop",
a.q,y6b(b.j),x6b(b.j));break}d=d.f}}else{d=b.f;while(!RFb(d)){if(d.k==Z8b||d.k==lac){a.d.uh("unlabelled break must be inside loop or switch",a.q,y6b(b.j),x6b(b.j));break}d=d.f}}}}function Qgb(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q;k=b.f;g=Bmb(k)&&k.k!=(Pac(),T7b)&&k.b==b;e=null;if(g&&(Rlb(),b.k==(Pac(),d9b)||b.k==c9b))for(i=(!b.b?(Jtc(),Jtc(),Itc):new h7b(b.b))._d();i.Od();){h=i.Pd();if(h.k!=(Pac(),rac)&&!(h.k==H9b&&(Gmb(h,a.e)||oyc(a.c,h.Rh())))){d=Qgb(a,h,c);!e&&(e=d)}}n=(q=a.g+"_const"+sKc+(""+
a.d.a.U++),nyc(a.c,q),q);l=l6b((Xd(Jnc(n,boc(46))==-1,JHc,n),new s7b((Pac(),H9b),n)),b);Y5b(l,b.c);if(g){Td(b.k==H9b||(Rlb(),b.k==d9b||b.k==c9b),b);j=n6b(Dgb(new p6b(qmb(k)),k.c),k);m=k.b?k.b.g:null;f6b(k,T7b);R5b(k,m,j);a5b(j,l);_4b(j,m);o=g5b(b,false)}else{R5b(k,b,l);o=b}p=vnb(n,o);Y5b(p.b,o.c);f=c.f;$4b(f,p,c);!e&&(e=p);Sd(e.k==Jac);return e}function Sfb(a,b){var c,d,e,f,g,h;if(b.k==(Pac(),Q7b))Rfb(a,b);else if(b.k==n8b)Tfb(a,b);else{Gd(b.k==N9b,b);Fd(b.k==N9b);c=P5b(b);d=Ofb(a,b);d.a[0].k==Q7b?
e=esc(d,0):e=Y5b(r0b(ED(zD(nT,1),KHc,7,0,[])),a.a);a5b(e,Y5b(new p6b(Q9b),a.f));f=d.a.length==0?e:Y5b(y0b(Y5b(K0b(e,new s7b(rac,nKc)),a.d),jsc(d,BD(nT,KHc,7,0,0,1))),a.a);gLb((eLb(),VKb),i6(a.c.J))&&zgb(a.c,b,'"..." passed to a constructor (consider using --language_out=ES5)');g=Pfb(Y5b(M0b(Pfb(Y5b((Xd(Jnc(CJc,boc(46))==-1,JHc,CJc),new s7b(H9b,CJc)),a.e),LHc),"bind",ED(zD(UU,1),FHc,2,6,[])),a.i),zJc);h=Y5b(_0b(Nfb(g,ED(zD(nT,1),KHc,7,0,[c,f])),ED(zD(nT,1),KHc,7,0,[])),b.c);o6b(h,b);R5b(b.f,b,h);p4(a.c,
h)}}function QBb(a,b,c){NBb();var d,e,f,g,h,i,j,k;k=OBb();g=new s6;l6(g,(p7(),j7));g.Tb=new De(Nd((Qlc(),true)));switch(c){case DLc:case "es9":h=(eLb(),bLb);break;case "es8":h=(eLb(),_Kb);break;case "es7":h=(eLb(),ZKb);break;case "es6":h=(eLb(),XKb);break;case "es5":h=(eLb(),WKb);break;default:h=(eLb(),VKb)}m6(g,oLb(h,(AMb(),dMb),ED(zD(ZP,1),XFc,28,0,[])));g.eb=new De(Nd(false));g.hd=true;f=Ksb("externs.js","var window;",(J7b(),H7b));j=Ksb(b,a,H7b);g.Ac=true;g.Ic=true;J8(g._);e6(g,new Z8(MBb,(O_(),
M_)));n6(g,(TAb(),RAb));d=new RBb(g);q4(d,new SBb);u3(d,(Km(),new Uy(Nd(f))),new Uy(Nd(j)),g);i=q5(new V4(d));e=OBb();PBb("Transpiled "+b+" in "+(e-k)/1E3+" seconds");return i}function yRb(a,b,c){var d,e,f,g,h,i,j;j=new uoc;j.a+=String.fromCharCode(c);e=c==92;d=false;h=e?1:0;c=mRb(a,a.f)?Anc(a.b,a.f):0;while(XRb(c)||c==92||c==123&&h==2||c==125&&d){c==92&&(e=true);(c==92||h>0)&&++h;c==123&&(d=true);if(c==125||h>=6&&!d){d=false;h=0}koc(j,nRb(a));c=mRb(a,a.f)?Anc(a.b,a.f):0}i=j.a;if(e){i=bSb(i);if(i==
null){tRb(a,lRb(a,a.f),jNc,ED(zD(PU,1),RFc,1,5,[]));return iRb(a,(jUb(),LSb),b)}}g=i.charCodeAt(0);if(!YRb(g)){tRb(a,RNb(a.i.b,b),"Character '%c' (U+%04X) is not a valid identifier start char",ED(zD(PU,1),RFc,1,5,[cmc(g),$mc(g)]));return iRb(a,(jUb(),LSb),b)}f=JNb(i,a.g);if(f)return new FMb(f.b,SNb(a.i.b,b,a.f));return new HMb(SNb(a.i.b,b,a.f),i)}function sgb(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;n=P3(a.c);q=Bgb(c,n,38);d=Agb(c,n,0,q);r=Bgb(c,n,20);s=b.b?b.b.g:null;m=rgb(s,d,q);h=qgb(s,r,q);
k=new V4b((AHb(),l=CIb("!ITemplateArray"),mIb(l,!l.n?mJb(l.i):JHb(l))),"<Es6TemplateLiterals.java>");j=new Q4b(false);G4b(j,k);p=Dgb(A0b(h,z3b(j)),r);f=Dgb(Z0b("$jscomp$templatelit$"+(""+(new j5(a.c)).a.U++)),r);t=o6b(D0b(f,p,(Pac(),Jac)),b);o=(Rlb(),gmb(b,new Dnb(lac)));a5b(o,t);p4(a.c,t);i=o6b(G0b(Dgb(t0b(Dgb(K0b(f.Ph(false),Dgb(new s7b(rac,"raw"),q)),d),m),d)),b);Z4b(o,i,t);e=Dgb(y0b(P5b(b),ED(zD(nT,1),KHc,7,0,[f.Ph(false)])),b.c);for(g=s.b;g;g=g.e)g.k==rac||_4b(e,P5b(g));o6b(e,s);L5b(e,50,e.b.k!=
d9b);R5b(b.f,b,e);vlb(a)}function Msc(a,b){var c,d,e,f,g,h,i,j,k,l;if(a==null)return OFc;i=b.a.Ie(a,b);if(i!=null)return"[...]";c=new uBc(NFc,"[","]");for(e=a,f=0,g=e.length;f<g;++f){d=e[f];if(d!=null&&(zb(d).i&4)!=0)if(Array.isArray(d)&&(k=AD(d),!(k>=14&&k<=16)))if(b.a.re(d)){!c.a?c.a=new xoc(c.d):roc(c.a,c.b);ooc(c.a,"[...]")}else{h=(d==null||Array.isArray(d)&&(l=AD(d),!(l>=14&&l<=16)),d);j=new syc(b);sBc(c,Msc(h,j))}else rE(d,1073)?sBc(c,jtc(d)):rE(d,420)?sBc(c,ctc(d)):rE(d,79)?sBc(c,dtc(d)):rE(d,
1081)?sBc(c,itc(d)):rE(d,9)?sBc(c,gtc(d)):rE(d,631)?sBc(c,htc(d)):rE(d,1082)?sBc(c,ftc(d)):rE(d,1083)&&sBc(c,etc(d));else sBc(c,d==null?OFc:fY(d))}return!c.a?c.c:c.e.length==0?c.a.a:c.a.a+(""+c.e)}function rFb(a){var b,c,d,e,f,g;g=a.a;d=Lnc(g,boc(47));c=Jnc(g,boc(92));if(c==-1)return g.substr(1,d-1);e=new uoc;f=1;while(c!=-1){e.a+=""+(g==null?OFc:g).substr(f,c-f);++c;b=g.charCodeAt(c);switch(b){case 94:case 36:case 92:case 47:case 46:case 42:case 43:case 63:case 40:case 41:case 91:case 93:case 123:case 125:case 124:case 45:case 98:case 66:case 99:case 100:case 68:case 102:case 110:case 112:case 80:case 114:case 115:case 83:case 116:case 117:case 118:case 119:case 87:case 120:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:e.a+=
XHc;default:e.a+=String.fromCharCode(b)}f=c+1;c=Knc(g,boc(92),f)}e.a+=""+(g==null?OFc:g).substr(f,d-f);return e.a}function kdb(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s;g=null;d=c.b?c.b.g:null;f=0;n=null;for(o=b.b;o;o=n,f++){n=o.e;if(o.k==(Pac(),D8b)){k=P5b(o);i=q5b(k,29);q=Q5b(k,k.i,29);q!=k.i&&(k.i=q);e=P5b(o);h=false;k.k==H9b&&(e.k==H9b?h=Fnc(KJc,e.Rh()):e.k==Kac&&(h=Rmb(e.b)));if(h)l=g5b(k,false);else{l=k.k==H9b?k:Z0b(idb(a,c,f));j=g5b(k,false);s=tdb(g5b(l,false),e);m=k.k==H9b?G0b(t0b(j,s)):
D0b(j,s,Jac);o6b(m,o);Z4b(d,m,g);g=m}R5b(b,o,l);r=Q5b(l,l.i,37);r!=l.i&&(l.i=r);l.i=new U6b(37,1,l.i);p=Q5b(l,l.i,29);p!=l.i&&(l.i=p);!!i&&(l.i=new c7b(29,i,l.i));o4(a.a,c)}else if(o.k==V9b||o.k==R7b){g=odb(c,g,o,idb(a,c,f));o4(a.a,c)}else if(o.k==gac&&B5b(o.b)){g=odb(c,g,o.b,idb(a,c,f));o4(a.a,c)}}}function GBc(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 iCc(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.jf(b,l.d);e=d<0?0:1;d==0&&(!c.c||mAc(l.e,
c.d))&&(g=l);if(!(!!l&&l.b)&&!CBc(l.a[e]))if(CBc(l.a[1-e]))m=m.a[j]=JBc(l,e);else if(!CBc(l.a[1-e])){n=m.a[1-j];if(n)if(!CBc(n.a[1-j])&&!CBc(n.a[j])){m.b=false;n.b=true;l.b=true}else{f=h.a[1]==m?1:0;CBc(n.a[j])?h.a[f]=IBc(m,j):CBc(n.a[1-j])&&(h.a[f]=JBc(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 iCc(l.d,l.e);HBc(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 Pgb(a,b,c,d){var e,
f,g,h,i,j,k,l,m,n,o,p,q,r,s;n=b.f;q=a.g+sKc+(""+a.d.a.U++);i=b.b;p=i.e;m=b.b?b.b.g:null;j5b(b);g=null;s=l6b((f=new p6b((Pac(),k8b)),f),b);h=l6b((e=new p6b(k8b),e),b);switch(b.k.f){case 60:g=i;a5b(s,qnb(Wgb(p,d,q)));a5b(h,qnb(Wgb(m,d,q)));break;case 62:g=Wgb(i,d,q);a5b(s,qnb(Wgb(m,d,q)));break;case 61:g=Wgb(i,d,q);a5b(h,qnb(Wgb(m,d,q)));break;default:throw CX(new Kmc("Unexpected expression: "+b));}h.b?k=(Sd(V0b(g)),Sd(s.k==k8b),Sd(h.k==k8b),new u6b(h9b,g,s,h)):k=O0b(g,s);n6b(k,b);if(d){r=o6b(vnb(q,
null),b);Y5b(r.b,a.j);l=c.f;$4b(l,r,c);Z4b(l,k,r);o=Dgb((Xd(Jnc(q,boc(46))==-1,JHc,q),new s7b(H9b,q)),b.c);R5b(n,b,o)}else{Fd(n.k==T8b);j=n.f;R5b(j,n,k)}return k}function dbc(a,b,c,d){var e,f,g,h;if(!b)return false;else if(a==b)return true;if(a.mi()&&b.mi())return true;h=a.vi();g=b.vi();if(h||g)if(c==2)return true;else if(c==1)return h&&g;else if(h&&g&&a.oi()^b.oi())return false;if(!!a.Gi()&&!!b.Gi())return Rjc(a.Gi(),b.Gi(),c,d);if(!!a.Ci()&&!!b.Ci())return Bec(a.Ci(),b.Ci(),c,d);if(!Tic(a.fi(),
b.fi(),c,d,0))return false;if(d.b&&a.si()&&b.si()||!!a.Di()&&!!b.Di())return Icc(rE(a,49)?a:null,rE(b,49)?b:null,c,d);if(a.oi()&&b.oi()){f=(rE(a,49)?a:null).Ri();e=(rE(b,49)?b:null).Ri();if(f==null&&e==null);else return f==e}if(!!a.Ei()&&!!b.Ei())return false;if(rE(a,137))return dbc(a.e,b,c,d);if(rE(b,137))return dbc(a,b.e,c,d);return false}function TYb(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 OFc;case 100:if(rE(a.a,
131)||rE(a.a,155)){e=fY(a.a);return e}}qZb(a.b,a.a);switch(b.b){case 66:case 98:f=(sE(a.a)?e=fY(a.a):a.a==null?e=jIc:e=kIc,SYb(a,e,0));break;case 72:case 104:f=$Yb(a);break;case 83:case 115:f=(d=goc(a.a),SYb(a,d,0));break;case 67:case 99:f=XYb(a);break;case 100:case 111:case 120:case 88:f=_Yb(a);break;case 65:case 97:case 69:case 101:case 102:case 71:case 103:f=ZYb(a);break;case 37:f=SYb(a,"%",0);break;case 110:f=KGc;break;case 116:case 84:f=YYb(a);break;default:throw CX(vZb(b));}_lc(b.b)&&f!=null&&
(f=Xb(fY(f)));return f}function Xmb(a,b){var c,d,e,f;switch(a.k.f){case 92:return Xmb(a.b,b);case 42:for(d=a.b;d;d=d.e)if(d.k!=(Pac(),J8b)&&!Xmb(d,b))return false;return true;case 38:for(e=a.b;e;e=e.e)if(!Xmb(e,b))return false;return true;case 43:for(f=a.b;f;f=f.e)if(f.k==(Pac(),C9b)||Pmb(f)){if(!b)return false}else if(f.k==w8b){if(!Xmb(f.b,b)||!Xmb(f.b?f.b.g:null,b))return false}else if(f.k==pac){if(!Xmb((Sd(!!f.b&&!f.b.e),f.b),b))return false}else{Td(f.k==sac,f);if(!Xmb((Sd(!!f.b&&!f.b.e),f.b),
b))return false}return true;case 65:return b&&!(a.k==(Pac(),Z8b)&&Jmb(a.f)&&a.k==Z8b&&dnb(a.b));case 117:for(c=a.b;c;c=c.e)if(c.k==(Pac(),zac))if(!Xmb(c.b,b))return false;return true;default:return Rmb(a)}}function WPb(a){var b,c,d;if(qQb(a,0,(jUb(),WSb)))return pPb(a);if(qQb(a,0,MSb))return $Ob(a,false);if(qQb(a,0,ZSb))return tPb(a);if(qQb(a,0,HSb))return WOb(a);if(qQb(a,0,aUb)&&(c=sRb(a.g,1).b.b.b>sRb(a.g,0).b.a.b,!(c||qQb(a,1,ITb)||qQb(a,1,tSb)||qQb(a,1,GSb)))&&qQb(a,1,TSb)&&qQb(a,2,ISb))return fQb(a);
if(qQb(a,0,BSb)&&(d=sRb(a.g,1).b.b.b>sRb(a.g,0).b.a.b,!(d||qQb(a,1,ITb)||qQb(a,1,tSb)||qQb(a,1,GSb)))&&(qQb(a,1,eUb)||qQb(a,1,bTb)||qQb(a,1,ySb)||qQb(a,1,RSb)||qQb(a,1,rSb)||qQb(a,1,HSb)||qQb(a,1,fTb)||qQb(a,1,gTb)))return rOb(a);if((qQb(a,0,fTb)||qQb(a,0,gTb))&&(b=sRb(a.g,1).b.b.b>sRb(a.g,0).b.a.b,!(b||qQb(a,1,ITb)||qQb(a,1,tSb)||qQb(a,1,GSb)))&&qQb(a,1,TSb))return DPb(a,false);return $Pb(a)}function Afb(a,b){var c,d,e,f,g,h,i,j,k;d=(c=new p6b((Pac(),k8b)),c);d5b(d,O5b(a.g));a5b(d,G0b(i1b(a.i.b)));
g=I0b((Xd(Jnc("",boc(46))==-1,JHc,""),new s7b(H9b,"")),e1b(ED(zD(nT,1),KHc,7,0,[(Xd(Jnc(lKc,boc(46))==-1,JHc,lKc),new s7b(H9b,lKc)),(Xd(Jnc(kKc,boc(46))==-1,JHc,kKc),new s7b(H9b,kKc)),(Xd(Jnc(mKc,boc(46))==-1,JHc,mKc),new s7b(H9b,mKc))])),d);k=new p6b(Q7b);for(j=(h=(new Ypc(a.c.a)).a.Ge()._d(),new cqc(h));j.a.Od();){i=(e=j.a.Pd(),e.Ve());_4b(k,i1b(i.a))}f=G0b(y0b(K0b((Xd(Jnc(fKc,boc(46))==-1,JHc,fKc),new s7b(H9b,fKc)),new s7b(rac,"registerAndLoadModule")),ED(zD(nT,1),KHc,7,0,[g,i1b(pfb(vAb(a.a.F,
(!b.d&&!!b.i&&(b.d=G3(b.c,b.i)),b.d).i.a).a)),k])));_4b(a.g,o6b(f,a.g));o4(a.a,a.g);o4(a.a,g);vlb(b)}function Bfb(a,b,c,d){var e,f,g,h;switch(c.k.f){case 105:Hfb(a,y5((!b.d&&!!b.i&&(b.d=G3(b.c,b.i)),b.d)),c);break;case 109:n5b(c,63)!=0?Dfb(a,b,c,d):n5b(c,64)!=0?(e=c.b?c.b.g:null,f=P0b(new p6b((Pac(),J8b)),new p6b(J8b),e.Ph(false)),l6b(f,c),$4b(d,f,c),Bfb(a,b,f,d),g=xfb(a,e.Rh()),S5b(c,m6b(G0b(y0b(K0b((Xd(Jnc(mKc,boc(46))==-1,JHc,mKc),new s7b(H9b,mKc)),new s7b(rac,"exportAllFrom")),ED(zD(nT,1),KHc,
7,0,[(Xd(Jnc(g,boc(46))==-1,JHc,g),new s7b(H9b,g))]))),c)),vlb(b),undefined):!!c.b&&!!c.b.e&&c.b.e==(c.b?c.b.g:null)?Efb(a,b,c,d):c.b.k==(Pac(),S8b)?Gfb(a,b,c,d):Cfb(a,b,c,d);break;case 85:Sd(a.g==c);h=c.b;Sd(h.k==(Pac(),F9b));Nd(h.f);N5b(h.f,h);d5b(c,O5b(h));ufb(a);tfb(a);Afb(a,b);break;case 29:zfb(a,b,c)}}function Sac(){Pac();return ED(zD(qT,1),XFc,13,0,[iac,i8b,j8b,g8b,N8b,L9b,B9b,y9b,f9b,_8b,A9b,kac,Iac,M7b,uac,G9b,G8b,E9b,P8b,P9b,h8b,cac,M9b,N9b,E8b,Eac,d9b,c9b,n8b,H9b,S9b,rac,Q9b,Aac,U8b,Cac,
nac,oac,fac,Bac,n9b,q9b,Q7b,U9b,Dac,Z9b,v8b,T7b,W7b,X7b,V7b,$7b,b8b,d8b,U7b,c8b,a8b,Y7b,_7b,Z7b,g9b,X9b,N7b,o9b,A8b,Z8b,h9b,wac,p8b,C8b,Mac,H8b,V8b,X8b,m8b,y8b,Jac,Nac,r8b,Kac,J8b,jac,k8b,u9b,T8b,lac,e9b,mac,x8b,z8b,v9b,sac,q8b,R7b,V9b,F8b,s8b,t8b,C9b,vac,z9b,Y8b,W8b,Oac,e8b,j9b,l9b,k9b,m9b,Q8b,S8b,R8b,F9b,gac,pac,w8b,xac,yac,zac,D8b,O9b,tac,l8b,T9b,$8b,Y9b,Hac,P7b,R9b,Lac,hac,I9b,W9b,eac,Gac,S7b,a9b,b9b,O7b,$9b,qac,M8b,dac,I8b,f8b,O8b,w9b,x9b,u8b,r9b,s9b,t9b,K8b,L8b,i9b,Fac,B8b,D9b,p9b,o8b,J9b,K9b,
_9b,aac,bac])}function cIb(a,b){var c,d,e,f,g,h,i,j;if(b!=(fJb(),XIb)){a.n=b;return FHb(a,"msg.jsdoc.missing.lp",a.i.g,lJb(a.i)),null}d=THb(a,(Pac(),Z8b));h=null;xIb(a);if(!RHb(a,bJb)){b=!a.n?mJb(a.i):JHb(a);e=true;if(b==eJb){j=a.i.n;g=Fnc(jHc,j);f=Fnc("new",j);if(g||f){if(RHb(a,OIb)){!a.n?mJb(a.i):JHb(a);xIb(a);c=zIb(a,g?Aac:N9b,$Hb(a,!a.n?mJb(a.i):JHb(a)));if(!c)return null;a5b(d,c)}else return FHb(a,"msg.jsdoc.missing.colon",a.i.g,lJb(a.i)),null;if(RHb(a,PIb)){!a.n?mJb(a.i):JHb(a);xIb(a);b=!a.n?
mJb(a.i):JHb(a)}else e=false}}if(e){h=iIb(a,b);if(!h)return null}}!!h&&_4b(d,h);xIb(a);if(!RHb(a,bJb))return FHb(a,lMc,a.i.g,lJb(a.i)),null;xIb(a);!a.n?mJb(a.i):JHb(a);i=kIb(a);if(!i)return null;else _4b(d,i);return d}function PPb(a){var b,c,d,e,f,g;switch(sRb(a.g,0).c.f){case 29:return NOb(a,true,false);case 35:return b=sRb(a.g,0).b.b,aOb(a,(jUb(),STb)),new eYb(new GYb(b,a.f));case 21:return c=sRb(a.g,0).b.b,aOb(a,(jUb(),XTb)),new jYb(new GYb(c,a.f));case 2:case 108:case 109:case 110:case 111:return nPb(a);
case 100:case 101:case 98:case 99:case 97:return xPb(a);case 107:case 104:return dQb(a,null);case 49:return sRb(a.g,1).c==(jUb(),QSb)?ROb(a,qTb,vSb):yOb(a);case 45:return GPb(a);case 47:return UOb(a);case 94:case 95:return d=sRb(a.g,0).b.b,e=(g=oRb(a.g),a.f=g.b.a,g),new TVb(new GYb(d,a.f),e);default:return f=sRb(a.g,0).b.b,oOb(a),LQb(a,"primary expression expected",ED(zD(PU,1),RFc,1,5,[])),new XVb(new GYb(f,a.f))}}function Qcb(a,b,c){var d,e,f,g,h,i,j;if(b.k==(Pac(),w8b)&&n5b(b,58)!=0){n4(a.a,jjb(b,
(wgb(),vgb),ED(zD(UU,1),FHc,2,6,["Static computed property"])));return}if(b.k==w8b&&!D5b(b.b)){Kcb(a,b.b);return}j=Mcb(b);Icb(c,b);if(b.k==w8b){Sd(n5b(b,58)==0);i=c.i;h=r5b(b.b)}else{i=n5b(b,58)!=0?c.b:c.j;h=b.Rh()}d=rzc(i,h);e=!d?null:(YJc&d.a)==aKc?d.i:null;if(!!e&&!!j&&!(!!j&&j.a.Sh(e.a,false,true,false,false)))n4(a.a,jjb(b,Ecb,ED(zD(UU,1),FHc,2,6,[h])));else{g=new Q4b(false);if(!!q5b(b,29)&&(q5b(b,29).a&BGc)!=0){U3b(g);M4b(g,(t3b(),s3b))}!!q5b(b,29)&&(q5b(b,29).a&64)!=0?s4b(g):!j&&(j=new V4b(new p6b(dac),
(f=q5b(b,51),!f?null:f.sg())));!!j&&G4b(g,new V4b(g5b(j.a,false),j.b));n5b(b,58)!=0&&b.k!=w8b&&m4b(g);szc(i,h,z3b(g))}}function eLb(){eLb=bY;var a;SKb=new qLb((a=hmc(ZP),new Xxc(a,SEc(a,a.length),0)));VKb=mLb(SKb,EMb(0));WKb=mLb(VKb,EMb(1));YKb=mLb(WKb,EMb(2));XKb=oLb(YKb,(AMb(),dMb),ED(zD(ZP,1),XFc,28,0,[]));$Kb=mLb(YKb,EMb(3));ZKb=oLb($Kb,dMb,ED(zD(ZP,1),XFc,28,0,[]));aLb=mLb($Kb,EMb(4));_Kb=oLb(aLb,dMb,ED(zD(ZP,1),XFc,28,0,[]));UKb=mLb(aLb,EMb(5));TKb=oLb(UKb,dMb,ED(zD(ZP,1),XFc,28,0,[]));bLb=
mLb(UKb,EMb(6));cLb=mLb(bLb,EMb(7));dLb=oLb(oLb(oLb(oLb(oLb(oLb(oLb(oLb(oLb(_Kb,ALb,ED(zD(ZP,1),XFc,28,0,[])),CLb,ED(zD(ZP,1),XFc,28,0,[])),HLb,ED(zD(ZP,1),XFc,28,0,[])),ILb,ED(zD(ZP,1),XFc,28,0,[])),JLb,ED(zD(ZP,1),XFc,28,0,[])),NLb,ED(zD(ZP,1),XFc,28,0,[])),OLb,ED(zD(ZP,1),XFc,28,0,[])),dMb,ED(zD(ZP,1),XFc,28,0,[])),fMb,ED(zD(ZP,1),XFc,28,0,[]))}function fob(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s;for(e=b.b;e;e=s){s=e.e;j=!c?e:c;k=!c?b:d;switch(e.k.f){case 83:fob(a,e,j,k);break;case 73:case 101:h=
e.b;if(h.k==(Pac(),Jac)){l=h.b;if(l.k==F8b){m=bmb(l);for(o=new Bsc(m);o.a<o.c.a.length;){n=(o.b=o.a++,o.c.a[o.b]);Xd(n.k==H9b,"lhs in destructuring declaration should be a simple name.",n);p=l6b(Z0b(n.Rh()),n);r=l6b(E0b(p,Jac),n);$4b(k,r,j)}f=P5b(l);R5b(e,h,f)}else{q=h;n=q.b.Ph(false);R5b(h.f,h,n);$4b(k,q,j)}job(a,"FOR-IN var declaration",b)}break;case 72:if(e.b.k!=(Pac(),J8b)){i=e.b;if(i.k==z9b||i.k==x8b||i.k==s8b||i.k==Z8b)return;g=new p6b(J8b);n6b(g,e);R5b(e,i,g);i.k==Jac?q=i:q=(Rlb(),l6b((Td(V0b(i),
i),new r6b(T8b,i)),i));$4b(k,q,j);job(a,"FOR initializer",b)}}}}function arb(a,b,c){var d,e,f,g,h,i,j,k,l,m,n;Fd(!!b);Gd(!!b.a,aLc);Nd(b.b);n=b.b;h=b.a;f=h.b?h.b.g:null;Od(f,h);j=(e=new p6b((Pac(),k8b)),e);n.d&&_4b(j,m6b(D0b((Xd(Jnc(bLc,boc(46))==-1,JHc,bLc),new s7b(H9b,bLc)),new p6b(Aac),x8b),f));n.b&&_4b(j,m6b(D0b((Xd(Jnc(cLc,boc(46))==-1,JHc,cLc),new s7b(H9b,cLc)),(Xd(Jnc(fHc,boc(46))==-1,JHc,fHc),new s7b(H9b,fHc)),x8b),f));for(l=(i=(new Ypc(n.c.a)).a.Ge()._d(),new cqc(i));l.a.Od();){k=(g=l.a.Pd(),
g.Ve());d=s0b((Xd(Jnc("",boc(46))==-1,JHc,""),new s7b(H9b,"")),new p6b(Z9b),K0b(new p6b(vac),new s7b(rac,k)));o4(a.a,d);Slb(c.f,(AMb(),BLb));m=dLc+k;_4b(j,D0b((Xd(Jnc(m,boc(46))==-1,JHc,m),new s7b(H9b,m)),d,x8b))}o6b(j,f);d5b(f,O5b(j));if(n.d||n.b||n.c.a.ce()!=0){o4(a.a,h);Slb(c.f,(AMb(),MLb))}}function Xdb(a,b,c,d){var e,f,g,h,i,j,k,l,m,n;f=Qdb(a,i5b(b.b.e));n=b.b;e=b.b.e;if(n5b(n,66)==0&&n5b(e,66)==0){Z4b(b,f,n);m=Q5b(b,b.i,66);m!=b.i&&(b.i=m);beb(a,b);return}if(i5b(n).k==(Pac(),Jac)){Sd(n5b(n,
66)==0);k=n;Sd(!k.b.b);n=k.b.Ph(false)}else k=l6b(new p6b(Jac),n);h=l6b(ueb(a.a,"$jscomp$generator$forin$"+(""+(new j5(a.f.b)).a.U++)),n);a5b(h,heb(a.a,n,"forIn",ED(zD(nT,1),KHc,7,0,[f])));l=a.f.g?nbc(h.b.c):null;h.c=l;_4b(k,h);i=l6b(Dgb(K0b(h.Ph(false),l6b(new s7b(rac,"getNext"),f)),a.f.g?l.Qi("getNext"):null),f);g=l6b(Dgb($0b(l6b(Dgb(t0b(Dgb(n,a.f.d),l6b(Dgb(y0b(i,ED(zD(nT,1),KHc,7,0,[])),a.f.d),f)),a.f.d),f),l6b(Dgb(new p6b(Q9b),a.f.c),h)),a.f.a),f);W5b(g,n5b(n,66)!=0);j=l6b(H0b(k,g,l6b(new p6b(J8b),
b),i5b(e)),b);Wdb(a,j,c,d)}function C3(a){var b,c,d,e,f,g,h,i,j,k,l,m;e=a.J.rb;j=a.J.D;b=new uoc;if(e.a.a.$d()&&j.a.a.$d())return q5(new V4(a));if(!e.a.a.$d()){Nd(a.q);Nd(a.A);for(g=Ul(Ql(ED(zD(JU,1),RFc,19,0,[e5b(a.q),e5b(a.A)])));au(g);){f=bu(g);d=(c=q5b(f,51),!c?null:c.sg());for(l=It(new $uc(e.a.b._d()));l.Od();){k=l.Pd();if((new RegExp("^("+k+")$")).test(d)){m="// "+d+KGc+(!a.J&&X3(a,new s6),y4(a,f,true));b.a+=m;break}}}if(b.a.length==0)throw CX(new IC("No files matched any of: "+e));}if(!j.a.a.$d()){for(i=
new Bsc(a.H);i.a<i.c.a.length;){h=(i.b=i.a++,i.c.a[i.b]);for(l=It(new $uc(j.a.b._d()));l.Od();){k=l.Pd();if(Nnc(h.e,k)){m="// module '"+h.e+"'\n"+q5(new Y4(a,h));b.a+=m;break}}}if(b.a.length==0)throw CX(new IC("No modules matched any of: "+j));}return b.a}function MHb(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o;f=new uoc;o=-1;n=-1;if(d){qJb(a.i);o=a.i.g;n=lJb(a.i)+1;k=PHb(a);c!=0&&(k=$nc(k));f.a+=""+k;a.g=(JIb(),HIb);b=!a.n?mJb(a.i):JHb(a)}i=false;l=-1;do switch(b.f){case 15:if(i){l=lJb(a.i)+1;i=false}else{VHb(a,
f,l,c);l=-1;f.a+="*"}b=!a.n?mJb(a.i):JHb(a);while(b==(fJb(),dJb)){if(l!=-1){VHb(a,f,l,c);l=-1}f.a+="*";b=!a.n?mJb(a.i):JHb(a)}continue;case 1:c!=2&&(f.a+=KGc,f);i=true;l=0;b=!a.n?mJb(a.i):JHb(a);continue;default:i=false;a.g=(JIb(),HIb);j=b==(fJb(),RIb);if(!j){VHb(a,f,l,c);l=-1}if(b==RIb||b==SIb||b==MIb&&!e){m=f.a;c!=0&&(m=$nc(m));if(d&&m.length!=0){h=a.i.g;g=lJb(a.i);E3b(a.e,m,o,n,h,g)}return new FIb(m,b)}roc(f,yIb(a,b));k=PHb(a);c!=0&&(k=DIb(k));f.a+=""+k;b=!a.n?mJb(a.i):JHb(a)}while(true)}function GOb(a,
b){var c,d,e,f,g,h,i;gOb(a,ZHc);e=rQb(a,(jUb(),MTb));e&&aOb(a,MTb);if(BQb(a,0)){i=sRb(a.g,0).c;if(TSb==i||(GNb(),GNb(),!!Zn(hNb,i))){g=cOb(a);c=rVb(xVb(AVb(vVb(sVb(new BVb((GVb(),FVb))),e),b.c),g),b.a);if(b.b){uVb(zVb(tVb(wVb(c,lOb(a)),gPb(a,1)),kOb(a)),new eVb(hOb(a,b.d)));fOb(a)}else jPb(a,c,e?(eRb(),bRb):(eRb(),aRb));return qVb(c,hOb(a,g.b.b))}else{h=xPb(a);c=AVb(vVb(sVb(new BVb((GVb(),EVb))),e),b.c);jPb(a,c,e?(eRb(),bRb):(eRb(),aRb));d=qVb(c,hOb(a,h.o.b));return new YUb(hOb(a,h.o.b),b.a,h,d)}}else if(a.b.d&&
qQb(a,0,qTb)&&qQb(a,1,TSb)&&qQb(a,2,wSb)){f=sPb(a);fOb(a);return f}else{h=SOb(a);c=AVb(vVb(sVb(new BVb((GVb(),EVb))),e),b.c);jPb(a,c,e?(eRb(),bRb):(eRb(),aRb));d=qVb(c,hOb(a,h.o.b));return new YUb(hOb(a,h.o.b),b.a,h,d)}}function k$b(a){var b,c,d,e,f,g;b=null;f=null;h:while(a.c<a.a){d=Anc(a.e,a.c);switch(d){case 91:c=l$b(a);break;case 40:c=p$b(a);break;case 41:break h;case 92:c=m$b(a);break;case 94:case 36:c=new B$b(d);++a.c;break;case 46:c=(g$b(),YZb);++a.c;break;case 124:c=(g_b(),f_b);break;default:g=
a.c;e=a.c+1;i:while(e<a.a)switch(Anc(a.e,e)){case 91:case 40:case 41:case 92:case 94:case 36:case 124:case 46:case 42:case 43:case 63:case 123:break i;default:if(e+1>=a.a||!j$b(Anc(a.e,e+1)))++e;else break i}c=new P_b(Xnc(a.e,g,e));a.c=e}a.c<a.a&&j$b(Anc(a.e,a.c))&&(c=q$b(a,c));!f?f=c:f=new V$b(f,c);if(a.c<a.a&&Anc(a.e,a.c)==124){!b&&(b=(Km(),new tr));asc(b.a,Nd(f));f=null;++a.c}}!f&&(f=(g_b(),f_b));if(b){asc(b.a,Nd(f));return new t$b(Sm(b.a))}else return f}function Gyb(){Gyb=bY;Dyb=new D9("JSC_REFERENCE_BEFORE_DECLARE",
(O_(),N_),new Toc("Variable referenced before declaration: {0}"));Eyb=new D9("JSC_REDECLARED_VARIABLE",N_,new Toc("Redeclared variable: {0}"));new D9("JSC_REFERENCE_BEFORE_DECLARE_ERROR",L_,new Toc("Illegal variable reference before declaration: {0}"));new D9("JSC_REASSIGNED_CONSTANT",L_,new Toc("Constant reassigned: {0}"));new D9("JSC_REDECLARED_VARIABLE_ERROR",L_,new Toc("Illegal redeclared variable: {0}"));new D9("JSC_DECLARATION_NOT_DIRECTLY_IN_BLOCK",L_,new Toc("Block-scoped declaration not directly within block: {0}"));
Fyb=new D9("JSC_UNUSED_LOCAL_ASSIGNMENT",M_,new Toc("Value assigned to local variable {0} is never read"));or(Qxc((Pac(),h9b),ED(zD(qT,1),XFc,13,0,[V8b,X8b,Y8b,Mac])))}function Fmc(a){var b,c,d,e,f,g,h,i,j,k,l;if(a==null)throw CX(new vnc(OFc));j=a;f=a.length;i=false;if(f>0){b=a.charCodeAt(0);if(b==45||b==43){a=a.substr(1);--f;i=b==45}}if(f==0)throw CX(new vnc(QNc+j+'"'));while(a.length>0&&a.charCodeAt(0)==48){a=a.substr(1);--f}if(f>(unc(),snc)[10])throw CX(new vnc(QNc+j+'"'));for(e=0;e<f;e++)if(Xlc(a.charCodeAt(e),
10)==-1)throw CX(new vnc(QNc+j+'"'));l=0;g=qnc[10];k=rnc[10];h=NX(tnc[10]);c=true;d=f%g;if(d>0){l=-parseInt(a.substr(0,d),10);a=a.substr(d);f-=d;c=false}while(f>=g){d=parseInt(a.substr(0,g),10);a=a.substr(g);f-=g;if(c)c=false;else{if(EX(l,h)<0)throw CX(new vnc(QNc+j+'"'));l=MX(l,k)}l=PX(l,d)}if(EX(l,0)>0)throw CX(new vnc(QNc+j+'"'));if(!i){l=NX(l);if(EX(l,0)<0)throw CX(new vnc(QNc+j+'"'));}return l}function $db(a,b,c,d){var e,f,g,h;Sd(W0b(b));Sd(!b.f);if(n5b(b,66)==0){beb(a,b);return}switch(b.k.f){case 83:Zdb(a,
b);break;case 82:Tdb(a,b);break;case 84:Vdb(a,b);break;case 76:ceb(a,b);break;case 0:a5b(b,Ieb(a.a,b,Rdb(a,Qdb(a,P5b(b)))));Leb(a.a,b);a.a.j.e=false;break;case 39:a5b(b,Rdb(a,Qdb(a,P5b(b))));Leb(a.a,b);a.a.j.e=false;break;case 66:Ydb(a,b,c);break;case 72:Wdb(a,b,c,d);break;case 73:Xdb(a,b,c,d);break;case 70:e=yeb(a.a,d);f=yeb(a.a,c);Jeb(a.a,e);g=Rdb(a,Qdb(a,P5b(b)));h=P5b(b);Leb(a.a,l6b(O0b(l6b(Dgb(n1b((Pac(),P9b),g),a.f.a),g),leb(a.a,f,true,b)),b));Deb(a.a,f,e);$db(a,h,null,null);Aeb(a.a);Neb(a.a,
e,b);Jeb(a.a,f);break;case 71:Udb(a,b,c,d);break;case 44:aeb(a,b,c);break;case 67:_db(a,b,c);break;default:Xd(false,"Unsupported token: %s ",b.k)}}function qic(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;if(b.Di()){r=b.Di();f=new Bic(a.A);f.a=false;i=a.A.p[51];for(p=a.t.b.ve()._d();p.Od();){n=p.Pd();t=Mcc(a,n);m=null;if((r==r.A.p[57]||Pcc(r)||!!jic(r.t,n)?1:0)==0)m=t;else{q=Mcc(r,n);m=t.ci(q);g=new Cfc(false);if(dbc(m,i,0,g))return i}zic(f,n,m,(j=jic(a.t,n),!j?null:j.d))}for(o=r.t.b.ve()._d();o.Od();){n=
o.Pd();(a==a.A.p[57]||Pcc(a)||!!jic(a.t,n)?1:0)!=0||zic(f,n,Mcc(r,n),(j=jic(r.t,n),!j?null:j.d))}return Aic(f)}h=a.A.p[52];s=a.A.p[31].ci(b);if(!(s.ni()||s.li()||s.mi()||s==s.A.p[57]))for(l=a.t.b.ve()._d();l.Od();){k=l.Pd();m=Mcc(a,k);f=new blc(a.A,30,false);for(d=agc(a.A,k)._d();d.Od();){c=d.Pd();e=c.Qi(k);!!e&&(g=new Cfc(false),!dbc(c,a,0,g))&&c.ti(b)&&e.ti(m)&&Xkc(f,c)}h=h.di(Ykc(f))}return h}function Zib(a,b,c){var d,e,f,g,h,i,j;if(a.a&&q5b(c,40)!=null){roc(b,q5b(c,40));return}if(c.k==(Pac(),
f8b)){b.a+="!";Zib(a,b,c.b)}else if(c.k==O8b){Zib(a,b,c.b);b.a+="="}else if(c.k==$9b){b.a+="(";g=c.b?c.b.g:null;for(d=c.b;d;d=d.e){Zib(a,b,d);d!=g&&(b.a+="|",b)}b.a+=")"}else if(c.k==I8b){b.a+=$Hc;!!c.b&&c.b.k!=J8b&&Zib(a,b,c.b)}else if(c.k==qac)b.a+="*";else if(c.k==dac){b.a+="?";!!c.b&&Zib(a,b,c.b)}else if(c.k==Z8b)Yib(a,b,c);else if(c.k==x9b){b.a+="{";i=c.b;h=i.b?i.b.g:null;for(e=i.b;e;e=e.e){if(e.b){roc(roc(b,e.b.Rh()),":");Zib(a,b,e.b?e.b.g:null)}else roc(b,e.Rh());e!=h&&(b.a+=",",b)}b.a+="}"}else if(c.k==
Kac)b.a+=oIc;else if(c.b){roc(roc(b,c.Rh()),"<");d=c.b;f=d.b?d.b.g:null;for(j=d.b;j;j=j.e){Zib(a,b,j);j!=f&&(b.a+=",",b)}b.a+=">"}else roc(b,c.Rh())}function nrb(a,b,c){var d,e,f,g,h,i,j,k,l,m;if(!(!!c.b&&!c.b.e)||c.b.k!=(Pac(),T8b)){n4(a.a,qlb(c,krb,ED(zD(UU,1),FHc,2,6,[])));return}j=i5b(c.b.b);d=c.b;!!d&&N5b(c,d);k=pBb(y5((!b.d&&!!b.i&&(b.d=G3(b.c,b.i)),b.d)).a);a5b(c,l6b(D0b(l6b((Xd(Jnc(k,boc(46))==-1,JHc,k),new s7b((Pac(),H9b),k)),j),j,Jac),j));a5b(c,o6b(G0b(y0b(K0b((Xd(Jnc(IHc,boc(46))==-1,JHc,
IHc),new s7b(H9b,IHc)),new s7b(rac,THc)),ED(zD(nT,1),KHc,7,0,[new s7b(rac,k)]))),c));i=(!b.d&&!!b.i&&(b.d=G3(b.c,b.i)),b.d).a.mh().b;m=gLc.length;if(Fnc(i.substr(i.length-m,m),gLc)&&j.k==U9b){l=a.a.J.oc;for(h=It(new $uc(l.a.b._d()));h.Od();){g=h.Pd();f=kmb(j,g);if(!!f&&(f.k==rac||f.k==U9b)){e=Xnc(i,0,i.length-12);if(f.k==rac){bpc(a.b,i,e+(""+f.Rh()));break}else if(f.k==U9b){Td(Fnc(g,"browser"),g);mrb(a,e,f)}}}}vlb(b)}function Tfb(a,b){var c,d,e,f,g,h,i,j,k,l,m,n;Fd(b.k==(Pac(),n8b));e=b.b;f=(Rlb(),
Wlb(e,false,null));N5b(b,e);if(!!b.b&&!b.b.e&&Qfb((Sd(!!b.b&&!b.b.e),b.b)))l=P5b(P5b(b));else{k=Ofb(a,b);Sd(k.a.length!=0);if(k.a.length==1)l=esc(k,0);else{c=k.a[0].k==Q7b?esc(k,0):Y5b(r0b(ED(zD(nT,1),KHc,7,0,[])),a.a);g=Y5b(K0b(c,new s7b(rac,nKc)),a.d);l=Y5b(y0b(g,jsc(k,BD(nT,KHc,7,0,0,1))),a.a)}Y5b(l,a.a)}if(f&&e.k==d9b){m=e.b.c;i=Y5b(Z0b("$jscomp$spread$args"+(""+(new j5(a.c)).a.U++)),m);j=E0b(g5b(i,false),Jac);n=gmb(b,new Hnb);o6b(j,n);$4b(n.f,j,n);a5b(e,Y5b(t0b(g5b(i,false),P5b(e)),m));d=y0b(Pfb(e,
zJc),ED(zD(nT,1),KHc,7,0,[g5b(i,false),l]))}else{h=e.k==d9b?g5b(e.b,false):Y5b(new p6b(Q9b),a.f);d=y0b(Pfb(e,zJc),ED(zD(nT,1),KHc,7,0,[h,l]))}Y5b(d,b.c);o6b(d,b);R5b(b.f,b,d);p4(a.c,d)}function mgb(a,b,c,d){var e,f,g,h,i,j,k;switch(b.k.f){case 76:!!c&&jgb(a,c,b);return;case 100:case 88:!!d&&jgb(a,d,b);return;case 105:jgb(a,c,b);return;case 109:mgb(a,b.b,c,d);return;case 65:{Rlb();if(b.k==(Pac(),Z8b)&&!(b.k==Z8b&&Jmb(b.f)&&b.k==Z8b&&dnb(b.b))&&!Zmb(b)||!d)return}i=b.b.Rh();if(i.length==0)return;kgb(a,
d,b.b);return;case 96:{Rlb();if(b.k==(Pac(),s8b)&&(!(b.k==s8b&&dnb(b.b))||!Jmb(b.f))||!d)return}g=b.b.Rh();if(g.length==0)return;kgb(a,d,b.b);return;case 78:Td(!!b.b&&!!b.b.e&&b.b.e==(b.b?b.b.g:null),b);!!d&&jgb(a,d,b);e=b.b.e;mgb(a,e,c,d);return;case 85:a.b=q5b(b,53);break;case 112:if(!c.b)return}j=!!d&&b==d.d;h=!j&&$lb(b);if(h&&!c)return;if(Hmb(b)||(Rlb(),b.k==(Pac(),jac)||b.k==lac||b.k==k8b||b.k==F9b))for(f=b.b;f;){k=f.e;mgb(a,f,c,h?null:d);f=k}}function zeb(a){var b,c,d,e,f,g;Td(a.a.a.length!=
0,a.a);for(c=new Bsc(a.a);c.a<c.c.a.length;){b=(c.b=c.a++,c.c.a[c.b]);if(b.d){while(b.d.d)b.d=b.d.d;!!b.b&&b.f.a.length==1&&(b.d.b=b.b);b.b=null;for(g=new Bsc(b.f);g.a<g.c.a.length;){f=(g.b=g.a++,g.c.a[g.b]);f.Uh(b.d.c)}bsc(b.d.f,b.f);b.f.a=BD(PU,RFc,1,0,5,1)}}d=new Bsc(a.a);e=(d.b=d.a++,d.c.a[d.b]);Sd(e.c==1);while(d.a<d.c.a.length){b=(d.b=d.a++,d.c.a[d.b]);if(b.f.a.length==0){Sd(!b.b);if(e.e){c5b(e.a,O5b(b.a));e.e=b.e}esc(d.c,d.a=d.b);d.b=-1;continue}if(b.b){Sd(!b.d);if(b.f.a.length==1&&!b.e){S5b(b.b,
b.a);esc(d.c,d.a=d.b);d.b=-1;continue}}if(e.d==b){Sd(e.e);Sd(!e.a.b);Sd(!b.d);c5b(e.a,O5b(b.a));e.e=b.e;for(g=new Bsc(b.f);g.a<g.c.a.length;){f=(g.b=g.a++,g.c.a[g.b]);f.Uh(e.c)}e.d=b.d;bsc(e.f,b.f);esc(d.c,d.a=d.b);d.b=-1;continue}e=b}}function SJb(a,b){var c,d,e,f,g;if(!IJb(a,b,(MKb(),xKb)))return false;if(!fKb(a,(Kd(b.k==(Pac(),n8b),tMc,b),k5b(b,1)))){lKb(a,(c=xKb.d,Kd(b.k==n8b,tMc,b),k5b(b,1),c));return false}if((Kd(b.k==n8b,tMc,b),k5b(b,2)).k!=Z8b){kKb(a,(d=zMc,Kd(b.k==n8b,tMc,b),k5b(b,2),d));
lKb(a,(c=xKb.d,Kd(b.k==n8b,tMc,b),k5b(b,2),c));return false}e=(Kd(b.k==n8b,tMc,b),k5b(b,2));g=(Kd(e.k==Z8b,AMc,e),l5b(e.b.e));if(g<2){a.a.vh(dMc+F7b(BMc,ED(zD(PU,1),RFc,1,5,[zMc])),a.b.sg(),a.d,a.c);lKb(a,(c=xKb.d,Kd(b.k==n8b,tMc,b),k5b(b,2),c));return false}if(g>2){a.a.vh(dMc+F7b(CMc,ED(zD(PU,1),RFc,1,5,[zMc])),a.b.sg(),a.d,a.c);lKb(a,(c=xKb.d,Kd(b.k==n8b,tMc,b),k5b(b,2),c));return false}f=(Kd(e.k==Z8b,AMc,e),k5b(e,2));if(!fKb(a,f)){a.a.vh(dMc+F7b(xMc,ED(zD(PU,1),RFc,1,5,[DMc])),a.b.sg(),a.d,a.c);
return false}return true}function TJb(a,b){var c,d,e,f,g;if(!IJb(a,b,(MKb(),yKb)))return false;if(!fKb(a,(Kd(b.k==(Pac(),n8b),tMc,b),k5b(b,1)))){lKb(a,(c=yKb.d,Kd(b.k==n8b,tMc,b),k5b(b,1),c));return false}if((Kd(b.k==n8b,tMc,b),k5b(b,2)).k!=Z8b){kKb(a,(d=zMc,Kd(b.k==n8b,tMc,b),k5b(b,2),d));lKb(a,(c=yKb.d,Kd(b.k==n8b,tMc,b),k5b(b,2),c));return false}e=(Kd(b.k==n8b,tMc,b),k5b(b,2));g=(Kd(e.k==Z8b,AMc,e),l5b(e.b.e));if(g<1){a.a.vh(dMc+F7b(BMc,ED(zD(PU,1),RFc,1,5,[zMc])),a.b.sg(),a.d,a.c);lKb(a,(c=yKb.d,
Kd(b.k==n8b,tMc,b),k5b(b,2),c));return false}if(g>1){a.a.vh(dMc+F7b(CMc,ED(zD(PU,1),RFc,1,5,[zMc])),a.b.sg(),a.d,a.c);lKb(a,(c=yKb.d,Kd(b.k==n8b,tMc,b),k5b(b,2),c));return false}f=(Kd(e.k==Z8b,AMc,e),k5b(e,2));if(!fKb(a,f)){a.a.vh(dMc+F7b(xMc,ED(zD(PU,1),RFc,1,5,[DMc])),a.b.sg(),a.d,a.c);return false}return true}function W9(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o;o=c.b.e;g=c.b?c.b.g:null;if(o.k==(Pac(),J8b)){k=(Rlb(),I0b((Xd(Jnc("",boc(46))==-1,JHc,""),new s7b(H9b,"")),new p6b(Z9b),(d=new p6b(k8b),d)));
o4(a.a,k);n=Y0b(k)}else{if(!D5b(o))return;e=(d=new p6b(k8b),d);j=q5b(c,51);if(!(!!j&&j.Eh())&&(f=(Rlb(),m=dmb(c),!m?null:q5b(m,29)),!(!!f&&((f.a&512)!=0||(f.a&rJc)!=0)))){i=G0b(pnb(new p6b(vac),ED(zD(nT,1),KHc,7,0,[h1b((Xd(Jnc(fHc,boc(46))==-1,JHc,fHc),new s7b(H9b,fHc)))])));a5b(e,i);Slb(b.f,(AMb(),uMb));Slb(b.f,sMb)}h=I0b((Xd(Jnc("",boc(46))==-1,JHc,""),new s7b(H9b,"")),d1b((Xd(Jnc(sJc,boc(46))==-1,JHc,sJc),new s7b(H9b,sJc))),e);o4(a.a,h);n=Y0b(h);l=new Q4b(false);t4b(l,sJc,new V4b(new r6b(I8b,new p6b(dac)),
"<Es6ConvertSuper>"));X5b(n,z3b(l))}o6b(n,c);H5b(n);a5b(g,n);Slb(b.f,(AMb(),bMb));p4(a.a,n)}function Tbc(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q;Nd(a);if(b.vi())return true;if(b.hi())return true;if(lbc(a,b,c.b))return true;if(b.Gi()){q=b.Gi();e=(_jc(new Hkc,q.b)&&Yjc(q),q.b);for(g=0;g<e.ce();g++){f=e.ge(g);if(a.ui(f,c,d))return true}return false}if(d==1&&(a.pi()||a.wi()))return true;p=a.fi();n=b.fi();l=true;k=rE(b,49)?b:null;if(!!k&&abc.Yd(k.Ri())){j=a.A.g;o=(i=Xic(p,j),i==-1?p.b.p[44]:p.c[i]);m=(h=
Xic(n,j),h==-1?n.b.p[44]:n.c[h]);l=o.ui(m,c,d)||m.ui(o,c,d)}else if(Ibc(b)){j=cgc(a.A);o=(i=Xic(p,j),i==-1?p.b.p[44]:p.c[i]);m=(h=Xic(n,j),h==-1?n.b.p[44]:n.c[h]);l=o.ui(m,c,d)}else l=Tic(p,n,2,new Cfc(true),d);if(!l)return false;if(c.b&&a.ri()&&b.si())return Occ(rE(a,49)?a:null,rE(b,49)?b:null,c,d);if(a.Fi())return a.Fi().d.ui(b,c,d);if(rE(b,137))return a.ui(b.e,c,d);return false}function C5b(a,b,c,d,e,f){var g,h,i,j,k,l,m,n,o,p;if(a.k!=b.k||l5b(a)!=l5b(b)||a.Aj!=b.Aj)return false;if(c&&!Fbc(a.c,
b.c))return false;if(e&&!R2b(q5b(a,29),q5b(b,29)))return false;p=q5b(a,78);o=q5b(b,78);if((!!p||!!o)&&(!p||!o||!C5b(p,o,c,d,e,false)))return false;if(a.k==(Pac(),o9b)||a.k==A8b){i=n5b(a,32);j=n5b(b,32);if(i!=j)return false}else if(a.k==rac||a.k==sac){if(a.k==sac){k=n5b(a,36);l=n5b(b,36);if(k!=l)return false}m=n5b(a,54);n=n5b(b,54);if(m!=n)return false}else if(a.k==n8b){if(n5b(a,50)!=0!=(n5b(b,50)!=0))return false}else if(a.k==Z8b)if((a.k==Z8b&&n5b(a,60)!=0)!=(b.k==Z8b&&n5b(b,60)!=0))return false;
if(f){if(n5b(a,42)!=n5b(b,42))return false;if(n5b(a,96)!=0!=(n5b(b,96)!=0))return false}if(d)for(g=a.b,h=b.b;g;g=g.e,h=h.e)if(!g.Sh(h,c,d,e,f))return false;return true}function p$b(a){var b,c,d,e;Sd(Anc(a.e,a.c)==40);d=a.c;++a.c;if(a.c<a.a&&Anc(a.e,a.c)==63)if(a.c+1<a.a){c=Anc(a.e,a.c+1);switch(c){case 58:a.c+=2;e=(D_b(),A_b);break;case 61:a.c+=2;e=(D_b(),B_b);break;case 33:a.c+=2;e=(D_b(),y_b);break;case 60:if(a.c+2<a.a&&Anc(a.e,a.c+2)==61){a.c+=3;e=(D_b(),C_b);break}else if(a.c+2<a.a&&Anc(a.e,a.c+
2)==33){a.c+=3;e=(D_b(),z_b);break}default:throw CX(new Fjb(uNc+Wnc(a.e,d)));}}else throw CX(new Fjb(uNc+Wnc(a.e,d)));else e=(D_b(),x_b);b=k$b(a);if(a.c<a.a&&Anc(a.e,a.c)==41)++a.c;else throw CX(new Fjb("Unclosed parenthetical group: "+Wnc(a.e,d)));switch(e.f){case 0:++a.b;return new J$b(b);case 1:return b;case 2:return new l_b(b,true);case 3:return new l_b(b,false);case 4:return new r_b(b,true);case 5:return new r_b(b,false)}throw CX(new Nlc("Unrecognized ParentheticalType "+e));}function Dxb(a,
b){var c,d,e,f,g,h,i,j,k,l,m,n;m=b.c;Sd(b.k==(Pac(),Z8b)||!!m.Ci());if(!m||m.vi())return"";d=m.Ci();if(ebc(m,a.b.p[11]))return"/** @type {!Function} */\n";k=new xoc("/**\n");h=null;!!b&&b.k==Z8b&&(h=(Rlb(),Fd(b.k==Z8b),b.b.e).b);g=Hec(d);f=Gec(d);c=Rm(Iec(d));for(e=0;e<c.ce();e++){k.a+=xLc;Kxb(k,"param",Fxb(a,c,e,g,f));i=Exb(h,e);roc(roc((k.a+=" ",k),i),KGc);!!h&&(h=h.e)}j=d.b.b;if(!!j&&!(j.ni()||j.li()||j.mi()||j==j.A.p[57])&&d.f!=(kfc(),ifc)&&!(d._i()&&j.wi())){k.a+=xLc;Kxb(k,WHc,cbc(j,new uoc,
true).a);k.a+=KGc}if(d._i())Axb(k,d);else if(d.f==(kfc(),ifc))Bxb(k,d);else{l=jbc(d.k)?d.A.p[44]:d.k;if(!!l&&!l.vi()&&!l.wi())if(!b||!ebc(l,Cxb(a,b))){k.a+=xLc;Kxb(k,jHc,cbc(l,new uoc,true).a);k.a+=KGc}}n=gbc(d);if(!n.$d()){k.a+=" * @template ";Jc(new Nc(","),k,st(ot(n,new Lxb)));k.a+=KGc}k.a+=" */\n";return k.a}function amb(a,b){switch(a.k.f){case 47:return Rmb(a.b?a.b.g:null)||b.Rd(a)&&amb(a.b?a.b.g:null,b);case 46:return amb(a.b?a.b.g:null,b);case 62:case 61:return amb(a.b,b)&&amb(a.b?a.b.g:null,
b);case 60:return amb(a.b.e,b)&&amb(a.b?a.b.g:null,b);case 33:case 99:return b.Rd(a);case 29:return Rmb(a)||b.Rd(a);case 27:case 26:return b.Rd(a);case 28:return Td(a.k==(Pac(),n8b)||a.k==xac,a),(n5b(a,42)&16)>0||hnb(a)||b.Rd(a);case 116:return Td(a.k==(Pac(),n8b)||a.k==xac,a),(n5b(a,42)&16)>0||b.Rd(a);case 23:return Td(a.k==(Pac(),N9b),a),(n5b(a,42)&15&13)==13||b.Rd(a);case 24:case 63:case 64:case 96:case 65:case 38:case 80:case 42:case 43:case 117:return true;case 92:return amb(a.b,b);case 114:case 103:case 104:return false;
default:if(Bmb(a)||enb(a.k)||Rmb(a))return true;throw CX(new Kmc("Unexpected expression node: "+a+"\n parent:"+a.f));}}function _db(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r;a5b(b,Qdb(a,P5b(b)));m=false;for(g=b.b.e;g;g=g.e)if(n5b(g,66)!=0){m=true;break}if(!m){p=Q5b(b,b.i,66);p!=b.i&&(b.i=p);beb(a,b);return}j=new ksc;e=true;for(f=b.b.e;f;f=f.e){if(f.k!=(Pac(),C8b)&&n5b(f.b,66)!=0){n4(a.f.b,jjb(b,(wgb(),vgb),ED(zD(UU,1),FHc,2,6,["Case statements that contain yields"])));return}d=f.b?f.b.g:null;if(!d.b||
e&&n5b(d,66)==0)continue;e=Odb(a,d);l=new Web(a.a);l6b(l.a,d);n=w0b(meb(a.a,l,d));p=Q5b(n,n.i,39);p!=n.i&&(n.i=p);n.i=new U6b(39,1,n.i);q=Q5b(n,n.i,67);q!=n.i&&(n.i=q);n.i=new U6b(67,1,n.i);R5b(d.f,d,n);asc(j,new feb(l,d));r=Q5b(f,f.i,66);r!=f.i&&(f.i=r)}k=yeb(a.a,c);o=Q5b(b,b.i,66);o!=b.i&&(b.i=o);beb(a,b);Neb(a.a,k,b);Ceb(a.a,k);for(i=new Bsc(j);i.a<i.c.a.length;){h=(i.b=i.a++,i.c.a[i.b]);l=h.b;Jeb(a.a,l);$db(a,h.a,null,null)}Arc(a.a.c);Jeb(a.a,k)}function Yyc(){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[SMc]=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(!Wyc()){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[SMc]=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 y3(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q;m=c||!a.J.hd;if(qzc(a.u,b)||!m)return a.B;k=i0b("js/"+b+zIc);d=(!a.J&&X3(a,new s6),p=Ksb(" [synthetic:"+b+"] ",k,(J7b(),H7b)),Km(),new Uy(Nd(p)),q=new G5(p),k4(a,q.i,q),Nd(w5(q,
a)));for(j=d.b;!!j&&j.k==(Pac(),T8b)&&j.b.k==(Pac(),rac);j=d.b){f=j.b.Rh();o=Oe(Le(Te(new lc(32))),f);switch(o.a.ge(0)){case "use":break;case UHc:y3(a,o.a.ge(1),c);break;case sIc:n=E0b(Z0b(o.a.ge(1)),(Pac(),Jac));h=new Q4b(false);x1b(h.a);h.e=true;X5b(n,z3b(h));_4b(w5((!a.R&&(a.R=_3(a,"{SyntheticVarsAtEnd}",1)),a.R),a),n);break;default:throw CX(new IC("Bad directive: "+f));}N5b(d,j)}kY(a.X)&&(Glb(a,d,new mob(a,false)),Glb(a,d,new vkb(new Jkb(B3(a),new j5(a),"jscomp_"+b+"_"))));i=d.b?d.b.g:null;for(e=
d.b;e;e=e.e)onb(e,a);g=O5b(d);if(!g)return a.B;l=H3(a);!a.B?d5b(l,g):b5b(l,g,a.B);a.B=i;szc(a.u,b,i);l4(a,A3(l));b4(a);return i}function reb(a,b){var c,d,e;zeb(a);(a.a.a.length==2||a.a.a.length==3)&&_4b(b,o6b(O0b(Dgb(F0b(l6b(Dgb(K0b(l6b(Dgb(Z0b(gKc+(a.r.b==0?"":"$"+a.r.b)),a.g),b),l6b(new s7b((Pac(),rac),iKc),b)),a.r.f.g?a.g.Qi(iKc):null),b),Dgb(new Z6b(1),a.r.f.e)),a.r.f.a),esc(a.a,0).a),b));a.a.a.length==2&&_4b(b,o6b(O0b(Dgb($0b(l6b(Dgb(K0b(l6b(Dgb(Z0b(gKc+(a.r.b==0?"":"$"+a.r.b)),a.g),b),l6b(new s7b((Pac(),
rac),iKc),b)),a.r.f.g?a.g.Qi(iKc):null),b),Dgb(new Z6b(a.a.a[1].c),a.r.f.e)),a.r.f.a),esc(a.a,0).a),b));if(a.a.a.length==1){c5b(b,O5b(esc(a.a,0).a));neb(a);return}e=l6b(m1b(l6b(Dgb(K0b(l6b(Dgb(Z0b(gKc+(a.r.b==0?"":"$"+a.r.b)),a.g),b),l6b(new s7b((Pac(),rac),iKc),b)),a.r.f.g?a.g.Qi(iKc):null),b),ED(zD(nT,1),KHc,7,0,[])),b);_4b(b,e);for(d=new Bsc(a.a);d.a<d.c.a.length;){c=(d.b=d.a++,d.c.a[d.b]);_4b(e,l6b(z0b(l6b(Dgb(new Z6b(c.c),c.g.r.f.e),c.a),c.a),c.a))}a.a.a=BD(PU,RFc,1,0,5,1)}function rsb(a){lsb();
this.a=a;this.b=(zn(),Ar(new Dr,jEc(lLc),hsb)).Jf(osb('Duplicate parameter name "{0}"'),Vrb).Jf(jEc("Unnecessary escape:.*"),jsb).Jf(jEc("^invalid param name.*"),Zrb).Jf(osb(F7b(mLc,ED(zD(PU,1),RFc,1,5,[]))),Urb).Jf(jEc("^"+kEc(nLc)),$rb).Jf(jEc("^Keywords and reserved words are not allowed as unquoted property.*"),Xrb).Jf(jEc("^Too many template parameters"),gsb).Jf(jEc(".*Type annotations should have curly braces.*"),_rb).Jf(jEc("Missing type declaration\\."),asb).Jf(jEc(".*Unknown type.*"),ksb).Jf(jEc("^Bad type annotation.*"),
isb).Jf(jEc("Too deep recursion while parsing"),esb).Jf(jEc("^Octal .*literal.*"),Yrb).Jf(jEc("^String continuations.*"),fsb).Jf(jEc("^This language feature is only supported for .*"),bsb).Jf(jEc("^type syntax is only supported in ES6 typed mode.*"),Wrb).Jf(jEc("^Can only have JSDoc or inline type.*"),csb).If()}function wnb(a){Rlb();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 79:return oIc;case 25:return PKc;case 41:return QKc;default:return null}}function QOb(a,b){var c,d,e,f,g,h,i,j,k,l;h=!!eOb(a,(jUb(),MTb));if(BQb(a,0)){l=sRb(a.g,0).c;if(TSb==l||(GNb(),GNb(),!!Zn(hNb,l))){k=null;j=cOb(a);LNb(j.a,false)&&IQb(a,(AMb(),_Lb))}else{j=null;k=xPb(a)}}else{if(a.b.d&&qQb(a,0,qTb)&&qQb(a,1,TSb)&&qQb(a,2,wSb)){g=sPb(a);fOb(a);return g}k=SOb(a);j=null}if(!a.b.d||rQb(a,pTb)||rQb(a,nTb)){if(!k){i=(GVb(),FVb);c=b.a}else{i=
(GVb(),EVb);c=null}if(b.b){f=BPb(a,b.d,j,b.c,h,b.a);fOb(a)}else{d=rVb(AVb(xVb(new BVb(i),j),b.c),c);jPb(a,d,h?(eRb(),cRb):(eRb(),dRb));f=qVb(d,hOb(a,b.d))}return i==(GVb(),FVb)?f:new YUb(hOb(a,b.d),b.a,k,f)}else{h&&LQb(a,"Member variable cannot be prefixed by '*' (generator function)",ED(zD(PU,1),RFc,1,5,[]));e=kOb(a);rQb(a,ISb)&&LQb(a,"Member variable initializers ('=') are not supported",ED(zD(PU,1),RFc,1,5,[]));fOb(a);return!k?new WVb(hOb(a,b.d),j,b.c,false,b.a,e):new XUb(hOb(a,b.d),k,b.c,b.a,
e)}}function $Ob(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p;l=sRb(a.g,0).b.b;f=false;g=false;h=false;k=true;aOb(a,(jUb(),MSb));c=null;d=null;switch(sRb(a.g,0).c.f){case 65:g=true;n=rRb(a.g);a.f=n.b.a;break;case 2:c=FOb(a);break;case 14:c=b?tOb(a):iPb(a);k=b;break;case 29:c=NOb(a,false,b);k=false;break;case 37:c=tPb(a);k=false;break;case 31:c=WOb(a);k=false;break;case 110:case 111:c=DPb(a,b);k=false;break;case 109:c=rOb(a);k=false;break;case 8:f=true;m=rRb(a.g);a.f=m.b.a;c=pOb(a,1);k=false;break;case 45:h=
true;d=aPb(a);break;case 108:c=fQb(a);break;case 25:case 38:case 30:default:c=b?wOb(a):nQb(a,1)}j=null;if(g||h&&qQb(a,0,TSb)&&Fnc(sRb(a.g,0).a,bIc)){gOb(a,bIc);j=aOb(a,RTb)}else if(h)for(p=d._d();p.Od();){o=p.Pd();e=o.b;iOb(a,e.a)&&JQb(a,e,gNc,ED(zD(PU,1),RFc,1,5,[e.a]))}(k||(i=sRb(a.g,0).b.b.b>a.f.b,i||qQb(a,0,ITb)||qQb(a,0,tSb)||qQb(a,0,GSb)))&&fOb(a);return new gVb(new GYb(l,a.f),f,g,c,d,j)}function R5(a,b,c){var d,e,f;switch(b.k.f){case 28:if(!!b.b&&!!b.b.e&&b.b.e==(b.b?b.b.g:null)&&b.b.k==(Pac(),
d9b)&&J5b(b.b.b,IHc)){dsc(a.d,(azb(),_yb),0)!=-1||asc(a.d,_yb);e=b.b;d=b.b?b.b.g:null;switch((e.b?e.b.g:null).Rh()){case RHc:DBc(a.a,RHc,IHc);case THc:if(d.k!=(Pac(),rac))return;asc(a.c,d.Rh());return;case UHc:if(d.k!=(Pac(),rac))return;asc(a.d,fzb(d.Rh()));return;case QHc:b=d.b?d.b.g:null;break;default:return}}else if(c.k==(Pac(),d9b)&&K5b(c,KIc,KIc.length)&&c.f.k==n8b){d=c.f.b.e;if(d.k!=rac)return;asc(a.c,d.Rh())}break;case 112:if(n5b(c,87)==0){asc(a.c,pBb(a.b.a));DBc(a.a,RHc,"es6")}break;case 105:Q5(a,
b.b?b.b.g:null,b);return;case 109:Rlb();Fd(b.k==(Pac(),Q8b));!!b.b&&!!b.b.e&&b.b.e==(b.b?b.b.g:null)&&Q5(a,b.b?b.b.g:null,b);return;case 76:J5b(b.b,IHc)&&_mb(b.b)&&asc(a.c,IHc);break;case 84:case 88:case 82:case 85:case 29:case 95:case 100:break;default:return}for(f=b.b;f;f=f.e)R5(a,f,b)}function Ogb(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=Zgb(c,b);h=(Rlb(),Wlb(k,false,a.b));e=Ygb(k);o=new ahb;o.b=h;o.a=e;for(g=null,d=k,m=d.f;m!=b;g=d,d=m,m=d.f){Sd(!_gb(m)||d==m.b);if(m.k==(Pac(),
T7b))if(Sgb(a,m,o.b));else{i=m.b;p=i.k;if(i!=d){Sd(i.k==d9b||i.k==c9b);p==c9b&&Mgb(a,i.b?i.b.g:null,null,o);Mgb(a,i.b,null,o)}}else if(m.k==n8b&&Omb(m.b)){f=m.b;Mgb(a,f.e,d,o);if(Rgb(a,f,o.b)&&f.b!=g){Td(a.a,"Object method calls can not be decomposed.");o.b=true;n=(Gd(m.k==n8b,m),q=m.b,Gd(q.k==d9b||q.k==c9b,q),r=q.c,s=null,!!r&&(s=r.Ci()?Jec(r.Ci(),wJc):a.i),t=Qgb(a,q,o.a),o.a=t,u=t.b.b,Gd(u.k==d9b||u.k==c9b,u),v=Qgb(a,u.b,o.a),o.a=v,w=v.b,A=t.b,B=o6b(y0b(Dgb(K0b(A.Ph(false),Dgb(new s7b(rac,wJc),
a.f)),s),ED(zD(nT,1),KHc,7,0,[w.Ph(false)])),m),Y5b(B,m.c),P5b(m),!!m.b&&c5b(B,O5b(m)),R5b(m.f,m,B),B);m=n}}else m.k==U9b?Lgb(a,m.b,d,o):Mgb(a,m.b,d,o)}if(k==c);else{l=k.f;j=l.k!=(Pac(),T8b);Pgb(a,k,e,j)}}function QPb(a){var b,c,d,e,f,g;f=sRb(a.g,0).c;if(f==(jUb(),MTb))return RPb(a);else if(rQb(a,LTb)){IQb(a,(AMb(),gMb));return aQb(a)}else if(f==RTb||f==mTb||f==TSb||(GNb(),!!Zn(hNb,f)))return qQb(a,0,TSb)&&Fnc(sRb(a.g,0).a,SHc)&&(BQb(a,1)||sRb(a.g,1).c==qTb)?lPb(a,new hRb(sRb(a.g,0).b.b)):qQb(a,0,
TSb)&&Fnc(sRb(a.g,0).a,"set")&&(BQb(a,1)||sRb(a.g,1).c==qTb)?XPb(a,new hRb(sRb(a.g,0).b.b)):qQb(a,0,TSb)&&Fnc(sRb(a.g,0).a,ZHc)&&(c=sRb(a.g,1).b.b.b>sRb(a.g,0).b.a.b,!(c||qQb(a,1,ITb)||qQb(a,1,tSb)||qQb(a,1,GSb)))&&(BQb(a,1)||sRb(a.g,1).c==qTb||qQb(a,1,MTb)&&(BQb(a,2)||sRb(a.g,2).c==qTb))?GOb(a,new hRb(sRb(a.g,0).b.b)):sRb(a.g,1).c==pTb?QOb(a,new hRb(sRb(a.g,0).b.b)):SPb(a);else if(f==qTb){e=sRb(a.g,0).b.b;d=SOb(a);if(rQb(a,wSb)){aOb(a,wSb);g=COb(a,1);return new VUb(new GYb(e,a.f),d,g)}else{b=new BVb((GVb(),
EVb));jPb(a,b,(eRb(),dRb));g=qVb(b,new GYb(e,a.f));return new YUb(new GYb(e,a.f),null,d,g)}}else throw CX(new IC(mGc));}function qFb(a,b){var c,d,e,f,g,h,i,j;j=b.a;g=b.b;f=j.length;Sd(f>0);Sd(j.charCodeAt(0)!=45&&j.charCodeAt(0)!=43);if(j.charCodeAt(0)==46)return Dmc("0"+j);else if(j.charCodeAt(0)==48&&f>1)switch(j.charCodeAt(1)){case 46:case 101:case 69:return Dmc(j);case 98:case 66:{gFb(a,b,(AMb(),ELb));i=0;d=1;while(++d<f)i=i*2+OFb(j.charCodeAt(d));return i}case 111:case 79:{gFb(a,b,(AMb(),iMb));
i=0;d=1;while(++d<f)i=i*8+UFb(j.charCodeAt(d));return i}case 120:case 88:{i=0;d=1;while(++d<f)i=i*16+QFb(j.charCodeAt(d));return i}case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:h=0;c=0;while(++c<f){e=j.charCodeAt(c);if(e>=48&&e<=55)h=h*8+UFb(e);else{a.d.uh(ZLc,a.q,g.b.b+1,g.b.a);return 0}}a.a.f==(PEb(),OEb)?a.d.uh($Lc,a.q,g.b.b+1,g.b.a):a.d.vh($Lc,a.q,g.b.b+1,g.b.a);return h;case 56:case 57:a.d.uh(ZLc,a.q,g.b.b+1,g.b.a);return 0;default:throw CX(new Kmc("Unexpected character in number literal: "+
pE(j.charCodeAt(1))));}else return Dmc(j)}function ZZ(a,b){var c,d,e,f,g,h,i,j,k,l,m;switch(b.k.f){case 86:xZ(a,(AMb(),XLb),b);VZ((Pac(),e9b),b);c=Rac(b.k);c!=-1&&(d=l5b(b),c!=d&&u$(nHc+c+oHc+d,b));$Z(b);e=b.b;yZ(a,e,false);e.b.Rh().length==0||u$(vHc,b);f=e.b.e;!!f.b&&u$("get methods must not have parameters.",b);return;case 87:xZ(a,(AMb(),rMb),b);VZ((Pac(),mac),b);g=Rac(b.k);g!=-1&&(h=l5b(b),g!=h&&u$(nHc+g+oHc+h,b));$Z(b);i=b.b;yZ(a,i,false);i.b.Rh().length==0||u$(vHc,b);j=i.b.e;!!j.b&&!j.b.e||u$("set methods must have exactly one parameter.",
b);return;case 91:VZ((Pac(),sac),b);$Z(b);k=l5b(b);1!=k&&u$(rHc+k,b);wZ(a,b.b);n5b(b,98)!=0&&xZ(a,(AMb(),SLb),b);return;case 98:kZ(a,b,false);n5b(b,58)!=0&&u$("Keys in an object literal should not be static.",b);return;case 115:xZ(a,(AMb(),KLb),b);VZ((Pac(),w8b),b);l=Rac(b.k);l!=-1&&(m=l5b(b),l!=m&&u$(nHc+l+oHc+m,b));wZ(a,b.b);wZ(a,b.b?b.b.g:null);return;case 114:h$(a,b);return;default:u$("Expected object literal key expression but was "+b.k,b)}}function Anb(a,b){Rlb();var c,d;if(a.k==(Pac(),Dac)&&
y5b(a)&&b==(a.b?a.b.g:null))zmb((Fd(a.k==Dac),a.b.e))?N5b(a,b):j5b(b);else if(b.k==r8b){d=!b.f?null:b.f.f;Sd((Fd(d.k==Dac),y5b(d)));i5b(b)}else{c=b.f;if(c.k==Dac&&c.b.e==b){d=b.f;Sd((Fd(d.k==Dac),y5b(d)));j5b(b)}else if(b.k==k8b)j5b(b);else if(a.k==jac||a.k==lac||a.k==k8b||a.k==F9b||b.k==p8b||b.k==C8b||b.k==C9b)N5b(a,b);else if(!!a&&(a.k==Jac||a.k==z9b||a.k==x8b)||a.k==T8b)if(!!a.b&&!!a.b.e)N5b(a,b);else{N5b(a,b);Anb(a.f,a)}else if(a.k==u9b&&b==(a.b?a.b.g:null)){N5b(a,b);Anb(a.f,a)}else if(a.k==V8b)R5b(a,
b,new p6b(J8b));else if(a.k==V9b)N5b(a,b);else if(a.k==R7b)b==(a.b?a.b.g:null)?N5b(a,b):R5b(a,b,new p6b(J8b));else if(a.k==F8b){N5b(a,b);!!a.f.b&&Anb(a.f,a)}else if(a.k==gac)i5b(a);else if(a.k==Z9b)N5b(a,b);else if(a.k==j9b)if(b==a.b)R5b(a,b,new p6b(J8b));else throw CX(new Kmc("Invalid attempt to remove: "+b+" from "+a));else throw CX(new Kmc("Invalid attempt to remove node: "+b+" of "+a));}}function APb(a){var b,c,d,e,f,g,h,i,j,k,l,m,n;f=sRb(a.g,0).b.b;qQb(a,0,(jUb(),TSb))&&Fnc(sRb(a.g,0).a,ZHc)&&
(c=sRb(a.g,1).b.b.b>sRb(a.g,0).b.a.b,!(c||qQb(a,1,ITb)||qQb(a,1,tSb)||qQb(a,1,GSb)))&&qQb(a,1,RSb)?e=(g=sRb(a.g,0).b.b,gOb(a,ZHc),aOb(a,RSb),h=rQb(a,MTb),h&&aOb(a,MTb),i=sVb(xVb(new BVb((GVb(),EVb)),(j=sRb(a.g,0).c,TSb==j||a.b.d&&NNb(j)||!a.b.c&&MNb(j)?cOb(a):null))),jPb(a,i,h?(eRb(),bRb):(eRb(),aRb)),qVb(i,new GYb(g,a.f))):qQb(a,0,RSb)?e=(k=sRb(a.g,0).b.b,aOb(a,(GNb(),_Mb).b),l=!!eOb(a,MTb),m=xVb(new BVb((GVb(),EVb)),(n=sRb(a.g,0).c,TSb==n||a.b.d&&NNb(n)||!a.b.c&&MNb(n)?cOb(a):null)),jPb(a,m,l?(eRb(),
cRb):(eRb(),dRb)),qVb(m,new GYb(k,a.f))):e=PPb(a);while(qQb(a,0,qTb)||qQb(a,0,vTb)||qQb(a,0,kTb)||qQb(a,0,UTb))switch(sRb(a.g,0).c.f){case 49:aOb(a,qTb);d=pOb(a,1);aOb(a,vSb);e=new VVb(new GYb(f,a.f),e,d);break;case 51:aOb(a,vTb);b=cOb(a);e=new UVb(new GYb(f,a.f),e,b);break;case 107:case 104:e=dQb(a,e);break;default:throw CX(new IC(mGc));}return e}function _7(a){if(a.v!=(O_(),M_)&&!a.u)throw CX(new a8("Cannot check use of goog.getCssName because of empty blacklist.",ED(zD(PU,1),RFc,1,5,[])));if(a.Tc&&
!a.Sc)throw CX(new a8("remove_unused_prototype_props_in_externs requires remove_unused_prototype_props to be turned on.",ED(zD(PU,1),RFc,1,5,[])));if(a.Fb==(K7(),J7)&&a.bc!=-1)throw CX(new a8("max_function_size_after_inlining has no effect if inlining is disabled.",ED(zD(PU,1),RFc,1,5,[])));if(a.W){if(!gLb(i6(a),(eLb(),WKb)))throw CX(new a8("Dart requires --language_out=ES5 or higher.",ED(zD(PU,1),RFc,1,5,[])));a.g=false;a.db=false}if(a.Tc&&a.kb)throw CX(new a8("remove_unused_prototype_props_in_externs and export_local_property_definitions cannot be used together.",
ED(zD(PU,1),RFc,1,5,[])));if((p7(),g7)==a.Wb){g0b();if(h0b(f0b,"/javascript/tools/jscompiler/allow-type-syntax.txt")==null)throw CX(new a8("type syntax is not yet generally available, please contact jscomp-team@",ED(zD(PU,1),RFc,1,5,[])));}}function $jb(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s;Fd(b.k==(Pac(),U9b));k=new ksc;d=b.b;g=b.c;while(d)if(n5b(d,73)!=0||n5b(d,74)!=0){wgb();n4(a.b,jjb(d,vgb,ED(zD(UU,1),FHc,2,6,["computed getter/setter in an object literal"])));return}else if(d.k==e9b||d.k==
mac)d=d.e;else{e=d.e;N5b(b,d);k.Vd(d);d=e}f="$jscomp$compprop"+(""+(new j5(a.b)).a.U++);k=rE(k,113)?Mm(k):rE(k,174)?k.a:rE(k,72)?new rw(k):new hw(k);l=Dgb((Xd(Jnc(f,boc(46))==-1,JHc,f),new s7b(H9b,f)),g);for(i=k._d();i.Od();){h=i.Pd();if(h.k==w8b){j=P5b(h);q=P5b(h);r=q.c;l=Dgb(B0b(Dgb(t0b(_jb(a,J0b(Dgb((Xd(Jnc(f,boc(46))==-1,JHc,f),new s7b(H9b,f)),g),j)),q),r),l),g)}else{p=P5b(h);r=p.c;f6b(h,rac);Y5b(h,a.d);o=h.Th()?c9b:d9b;c=Dgb(new t6b(o,Dgb((Xd(Jnc(f,boc(46))==-1,JHc,f),new s7b(H9b,f)),g),h),r);
l=Dgb(B0b(Dgb(t0b(c,p),r),l),g)}}n=b;while(Rlb(),!(n.k!=F9b&&gnb(n.f)))n=n.f;o6b(l,b);R5b(b.f,b,l);m=Bgb(a.a,a.c,8);s=D0b(Dgb((Xd(Jnc(f,boc(46))==-1,JHc,f),new s7b(H9b,f)),g),(wgb(),!!m&&(b.c=m,b),b),Jac);o6b(s,n);$4b(n.f,s,n);p4(a.b,s)}function MKb(){MKb=bY;oKb=new NKb(UIc,0,"all",0,0,0);pKb=new NKb("COND",1,"cond",3,3,1);qKb=new NKb("EQ",2,"eq",2,2,3);sKb=new NKb("ISCTOR",3,"isCtor",1,1,3);tKb=new NKb("ISDEFINED",4,"isDefined",1,1,4);uKb=new NKb("ISRECORD",5,"isRecord",1,1,3);vKb=new NKb("ISTEMPLATIZED",
6,"isTemplatized",1,1,3);wKb=new NKb("ISUNKNOWN",7,"isUnknown",1,1,3);rKb=new NKb(FMc,8,"instanceOf",1,1,1);yKb=new NKb("MAPUNION",9,"mapunion",2,2,1);xKb=new NKb("MAPRECORD",10,"maprecord",2,2,1);zKb=new NKb(LIc,11,"none",0,0,0);AKb=new NKb("PRINTTYPE",12,"printType",2,2,1);BKb=new NKb("PROPTYPE",13,"propType",2,2,1);CKb=new NKb("RAWTYPEOF",14,"rawTypeOf",1,1,0);FKb=new NKb("SUB",15,"sub",2,2,3);EKb=new NKb("STREQ",16,"streq",2,2,2);DKb=new NKb("RECORD",17,"record",1,EFc,0);GKb=new NKb("TEMPLATETYPEOF",
18,"templateTypeOf",2,2,0);HKb=new NKb(QLc,19,rIc,2,EFc,0);IKb=new NKb("TYPEEXPR",20,"typeExpr",1,1,0);JKb=new NKb("TYPEOFVAR",21,"typeOfVar",1,1,1);KKb=new NKb("UNION",22,"union",2,EFc,0);LKb=new NKb("UNKNOWN",23,GMc,0,0,0)}function SRb(a,b){var c,d,e;nRb(a);if(!mRb(a,a.f)){uRb(a,"Unterminated string literal escape sequence",ED(zD(PU,1),RFc,1,5,[]));return false}if(ZRb(mRb(a,a.f)?Anc(a.b,a.f):0)){d=nRb(a);d==13&&(mRb(a,a.f)?Anc(a.b,a.f):0)==10&&nRb(a);return true}e=nRb(a);switch(e){case 39:case 34:case 96:case 92:case 98:case 102:case 110:case 114:case 116:case 118:return true;
case 48:if(b&&dSb(mRb(a,a.f)?Anc(a.b,a.f):0)>=0){uRb(a,jNc,ED(zD(PU,1),RFc,1,5,[]));return false}return true;case 49:case 50:case 51:case 52:case 53:case 54:case 55:if(b){uRb(a,jNc,ED(zD(PU,1),RFc,1,5,[]));return false}break;case 120:return HRb(a)&&HRb(a);case 117:if((mRb(a,a.f)?Anc(a.b,a.f):0)==123){nRb(a);if((mRb(a,a.f)?Anc(a.b,a.f):0)==125){uRb(a,"Empty unicode escape",ED(zD(PU,1),RFc,1,5,[]));return false}c=true;while((mRb(a,a.f)?Anc(a.b,a.f):0)!=125&&c)c=c&&HRb(a);nRb(a);return c}else return HRb(a)&&
HRb(a)&&HRb(a)&&HRb(a)}if(e==47);else if(b);else vRb(a,"Unnecessary escape: '\\%s' is equivalent to just '%s'",ED(zD(PU,1),RFc,1,5,[cmc(e),cmc(e)]));return true}function H1(a,b,c,d,e,f,g,h,i){var j,k,l;l=new voc;for(k=0;k<b.length;k++){j=b.charCodeAt(k);switch(j){case 0:l.a+="\\x00";break;case 11:h?(l.a+="\\v",l):(l.a+="\\x0B",l);break;case 8:l.a+="\\b";break;case 12:l.a+="\\f";break;case 10:l.a+="\\n";break;case 13:l.a+="\\r";break;case 9:l.a+="\\t";break;case 92:l.a+=f;break;case 34:l.a+=c;break;
case 39:l.a+=d;break;case 36:l.a+=g;break;case 96:l.a+=e;break;case 8232:l.a+="\\u2028";break;case 8233:l.a+="\\u2029";break;case 61:a.j||i?(l.a+=String.fromCharCode(j),l):(l.a+="\\x3d",l);break;case 38:a.j||i?(l.a+=String.fromCharCode(j),l):(l.a+="\\x26",l);break;case 62:if(!a.j&&!i){l.a+="\\x3e";break}k>=2&&(b.charCodeAt(k-1)==45&&b.charCodeAt(k-2)==45||b.charCodeAt(k-1)==93&&b.charCodeAt(k-2)==93)?(l.a+="\\x3e",l):(l.a+=String.fromCharCode(j),l);break;case 60:if(!a.j&&!i){l.a+="\\x3c";break}Onc(b,
true,k+1,"/script",0,7)?(l.a+="\\x3c",l):Onc(b,false,k+1,"!--",0,3)?(l.a+="\\x3c",l):(l.a+=String.fromCharCode(j),l);break;default:j>31&&j<127?(l.a+=String.fromCharCode(j),l):yC(l,j)}}return l.a}function ldb(a,b,c,d,e,f){var g,h,i,j,k,l,m,n,o,p,q;if(a.f==(Bdb(),Adb))if(xrc(a.e)||!zrc(a.e).a)return;p=bKc+a.b++;o=D0b((Xd(Jnc(p,boc(46))==-1,JHc,p),new s7b((Pac(),H9b),p)),Cgb(a.a,i5b(d)),Jac);o6b(o,c);$4b(f.f,o,f);for(h=c.b;h;h=l){l=h.e;if(h.k==J8b){m=G0b(y0b(K0b((Xd(Jnc(p,boc(46))==-1,JHc,p),new s7b(H9b,
p)),new s7b(rac,MJc)),ED(zD(nT,1),KHc,7,0,[])));o6b(m,h);$4b(f.f,m,f);continue}if(h.k==D8b){n=bKc+a.b++;q=D0b((Xd(Jnc(n,boc(46))==-1,JHc,n),new s7b(H9b,n)),K0b(y0b(K0b((Xd(Jnc(p,boc(46))==-1,JHc,p),new s7b(H9b,p)),new s7b(rac,MJc)),ED(zD(nT,1),KHc,7,0,[])),new s7b(rac,OJc)),Jac);o6b(q,h);$4b(f.f,q,f);i=i5b(h.b);k=tdb((Xd(Jnc(n,boc(46))==-1,JHc,n),new s7b(H9b,n)),i5b(h.b?h.b.g:null))}else if(h.k==gac){i=i5b(h.b);k=ygb(a.a,(Xd(Jnc(p,boc(46))==-1,JHc,p),new s7b(H9b,p)))}else{i=i5b(h);k=K0b(y0b(K0b((Xd(Jnc(p,
boc(46))==-1,JHc,p),new s7b(H9b,p)),new s7b(rac,MJc)),ED(zD(nT,1),KHc,7,0,[])),new s7b(rac,OJc))}if(e.k==T7b){g=t0b(i,k);j=(Td(V0b(g),g),new r6b(T8b,g))}else j=D0b(i,k,e.k);o6b(j,c);$4b(f.f,j,f);pdb(a,b,i,i.f)}i5b(f);vlb(b)}function WFb(a){XEb();switch(a.f){case 74:return Pac(),i8b;case 75:return Pac(),j8b;case 73:return Pac(),g8b;case 59:return Pac(),N8b;case 60:return Pac(),L9b;case 54:return Pac(),B9b;case 56:return Pac(),y9b;case 55:return Pac(),f9b;case 57:return Pac(),_8b;case 70:return Pac(),
A9b;case 71:return Pac(),kac;case 72:return Pac(),Iac;case 63:return Pac(),M7b;case 64:return Pac(),uac;case 65:return Pac(),G9b;case 94:return Pac(),G8b;case 67:return Pac(),E9b;case 66:return Pac(),P8b;case 61:return Pac(),nac;case 62:return Pac(),oac;case 16:return Pac(),n9b;case 17:return Pac(),q9b;case 53:return Pac(),v8b;case 82:return Pac(),T7b;case 92:return Pac(),W7b;case 93:return Pac(),X7b;case 91:return Pac(),V7b;case 88:return Pac(),$7b;case 89:return Pac(),b8b;case 90:return Pac(),d8b;
case 83:return Pac(),U7b;case 84:return Pac(),c8b;case 85:return Pac(),a8b;case 86:return Pac(),Z7b;case 95:return Pac(),Y7b;case 87:return Pac(),_7b;case 79:return Pac(),X9b;case 78:return Pac(),N7b;default:throw CX(new Kmc(!a?OFc:a.a==null?(GNb(),Zn(hNb,a)).c:a.a));}}function rdb(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o;Rlb();if(!!d&&(d.k==(Pac(),Jac)||d.k==z9b||d.k==x8b)&&!Lmb(d.f))ndb(a,b,c,c.e,d,d);else if(d.k==(Pac(),T7b))d.f.k==T8b?ndb(a,b,c,c.e,d,d.f):(e=bKc+a.b++,f=i5b(d.b?d.b.g:null),g=D0b((Xd(Jnc(e,
boc(46))==-1,JHc,e),new s7b(H9b,e)),f,z9b),Slb(b.f,(AMb(),aMb)),h=t0b(i5b(d.b),(Xd(Jnc(e,boc(46))==-1,JHc,e),new s7b(H9b,e))),i=(Td(V0b(h),h),new r6b(T8b,h)),j=f1b((Xd(Jnc(e,boc(46))==-1,JHc,e),new s7b(H9b,e))),k=x0b(ED(zD(nT,1),KHc,7,0,[g,i,j])),l=y0b(s0b((Xd(Jnc("",boc(46))==-1,JHc,""),new s7b(H9b,"")),new p6b(Z9b),k),ED(zD(nT,1),KHc,7,0,[])),Slb(b.f,BLb),o6b(l,d),m=Q5b(l,l.i,50),m!=l.i&&(l.i=m),l.i=new U6b(50,1,l.i),R5b(d.f,d,l),onb(l,a.a),ndb(a,b,h.b,h.b?h.b.g:null,h,i),undefined);else if(d.k==
gac||d.k==sac||d.k==R7b||d.k==D8b||d.k==w8b);else if(d.k==Y8b||d.k==W8b||d.k==X8b||Lmb(d.f))qdb(a,c);else if(d.k==r8b){n=bKc+a.b++;o=c.e;S5b(c,(Xd(Jnc(n,boc(46))==-1,JHc,n),new s7b(H9b,n)));a5b(o,D0b(c,(Xd(Jnc(n,boc(46))==-1,JHc,n),new s7b(H9b,n)),z9b));Slb(b.f,(AMb(),aMb))}else throw CX(new Kmc("unexpected parent"));}function GGb(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r;g=b.j==(GVb(),DVb);i=b.j==FVb;e=b.j==CVb;f=b.e;h=b.f;j=b.c.p==(WXb(),KWb);h&&hFb(a.a,b,(AMb(),VLb));i&&hFb(a.a,b,(AMb(),bMb));e&&
hFb(a.a,b,(AMb(),BLb));f&&hFb(a.a,b,(AMb(),CLb));h&&f&&hFb(a.a,b,(AMb(),DLb));l=b.k;if(l)m=QGb(a,l);else{if(g||i){a.a.d.uh("unnamed function statement",a.a.q,(XEb(),b.o.b.b+1),b.o.b.a);m=oFb(a.a,(Pac(),H9b),"__missing_name__")}else m=oFb(a.a,(Pac(),H9b),"");y6b(m.j)==-1&&AFb(m,b.o.b,b.o.a)}n=jFb(a.a,(Pac(),Z8b));i&&m.Wh("");_4b(n,m);fGb(a,n.b,b.d);_4b(n,DFb(a.a,b.b));gGb(a,n,b.n);d=DFb(a.a,b.c);if(!e&&!j&&d.k!=k8b){Sd(a.a.a.e==(KEb(),IEb));d=(c=new p6b(k8b),c)}mGb(d);_4b(n,d);p=Q5b(n,n.i,59);p!=n.i&&
(n.i=p);(h?1:0)!=0&&(n.i=new U6b(59,h?1:0,n.i));Sd(n.k==Z8b);q=Q5b(n,n.i,60);q!=n.i&&(n.i=q);(e?1:0)!=0&&(n.i=new U6b(60,e?1:0,n.i));Sd(n.k==Z8b);r=Q5b(n,n.i,61);r!=n.i&&(n.i=r);(f?1:0)!=0&&(n.i=new U6b(61,f?1:0,n.i));L5b(n,80,b.g);if(i){y6b(n.j)==-1&&AFb(n,b.o.b,b.o.a);k=oFb(a.a,C9b,l.a);_4b(k,n);c6b(k,b.i);eGb(a,b,k,b.a);V5b(n,q5b(n,78));AFb(k,l.b.b,l.b.a);o=k}else o=n;return o}function pyb(){pyb=bY;lyb=new D9("JSC_UNDEFINED_VARIABLE",(O_(),L_),new Toc("variable {0} is undeclared"));oyb=new D9("JSC_VIOLATED_MODULE_DEPENDENCY",
L_,new Toc("module {0} cannot reference {2}, defined in module {1}, since {1} loads after {0}"));hyb=new D9("JSC_MISSING_MODULE_DEPENDENCY",N_,new Toc("missing module dependency; module {0} should depend on module {1} because it references {2}"));jyb=new D9("JSC_STRICT_MODULE_DEPENDENCY",M_,new Toc(DHc));iyb=new D9("JSC_NAME_REFERENCE_IN_EXTERNS",N_,new Toc("accessing name {0} in externs has no effect. Perhaps you forgot to add a var keyword?"));kyb=new D9("JSC_UNDEFINED_EXTERN_VAR_ERROR",N_,new Toc("name {0} is not defined in the externs."));
nyb=new D9("JSC_VAR_MULTIPLY_DECLARED_ERROR",L_,new Toc("Variable {0} declared more than once. First occurrence: {1}"));myb=new D9("JSC_VAR_ARGUMENTS_SHADOWED_ERROR",L_,new Toc('Shadowing "arguments" is not allowed'));gyb=new D9("JSC_BLOCK_SCOPED_DECL_MULTIPLY_DECLARED_ERROR",L_,new Toc("Duplicate let / const / class / function declaration in the same scope is not allowed."))}function ynb(a){Rlb();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 103: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 104:case 23:case 24:case 25:case 79:case 19:case 20:case 21:case 22:return 15;case 63:case 64:return 16;case 28:case 27:case 26:case 120:case 42:case 93:case 119:case 95:case 80:case 34:case 65:case 96:case 149:case 29:case 32:case 30:case 43:case 94:case 38:case 113:case 114:case 31:case 91:case 157:case 158:case 159:case 33:case 99:case 35:case 116:case 117:case 126:return 17;
case 124:return 18;case 135:case 125:return 19;case 121:case 123:case 122:case 127:case 133:case 128:case 131:case 134:case 136:return 20;case 92:return 21;default:throw CX(new Kmc("Unknown precedence for "+a));}}function Xkc(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p;if(b.ni())return a;a.e=a.e||b.hi();a.c=a.c||b.wi();g=rE(b,210);a.f=a.f||g;g&&(a.b=a.b&&b.ii());if(!a.e&&!a.f)if(b.Gi()){o=b.Gi();c=(_jc(new Hkc,o.b)&&Yjc(o),o.b);for(f=0;f<c.ce();f++){p=c.ge(f);Xkc(a,p)}}else{if(a.a.a.length>a.g)return a;
if(!!b.Ci()&&a.d!=-1){j=csc(a.a,a.d).Ci();l=Rec(b.Ci(),j,true);gsc(a.a,a.d,l);a.j=null;return a}e=0;h=new Bsc(a.a);while(h.a<h.c.a.length){k=false;d=(h.b=h.a++,h.c.a[h.b]);if(b.vi()||d.vi()||b.mi()||d.mi()||hbc(b)||hbc(d)){if(lbc(b,d,a.k))return a}else if(!!b.Fi()||!!d.Fi())if(d.Fi())if(b.Fi()){Sd(!!d.Fi()&&!!b.Fi());m=b.Fi();n=d.Fi();if(kbc(n.e,m.e))if(Tic(b.fi(),d.fi(),0,new Cfc(true),0))return a;else{i=n.d;return Xkc(a,i)}}else _kc(a,d,b)&&(k=true);else{if(_kc(a,b,d))return a}else if(_kc(a,b,d)){!!b.Di()&&
!!d.Di()&&igc(a.i,b.Di(),d.Di());return a}else if(_kc(a,d,b)){!!d.Di()&&!!b.Di()&&igc(a.i,d.Di(),b.Di());k=true}if(k){esc(h.c,h.a=h.b);h.b=-1;if(e==a.d)a.d=-1;else if(e<a.d){--a.d;--e}}++e}if(b.Ci()){Sd(a.d==-1);a.d=a.a.a.length}asc(a.a,b);a.j=null}else a.j=null;return a}function Pqb(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p;j=Nd(c.b);Sd(j.k==(Pac(),Z8b));o=Q5b(j,j.i,61);o!=j.i&&(j.i=o);i=j.b?j.b.g:null;h=(e=new p6b(k8b),e);R5b(j,i,h);if(c.d){_4b(h,D0b((Xd(Jnc(YKc,boc(46))==-1,JHc,YKc),new s7b(H9b,YKc)),
new p6b(Aac),x8b));Slb(b.f,(AMb(),MLb))}if(c.c){_4b(h,D0b((Xd(Jnc(ZKc,boc(46))==-1,JHc,ZKc),new s7b(H9b,ZKc)),(Xd(Jnc(fHc,boc(46))==-1,JHc,fHc),new s7b(H9b,fHc)),x8b));Slb(b.f,(AMb(),MLb))}for(m=(k=(new Ypc(c.e.a)).a.Ge()._d(),new cqc(k));m.a.Od();){l=(f=m.a.Pd(),f.Ve());d=s0b((Xd(Jnc("",boc(46))==-1,JHc,""),new s7b(H9b,"")),new p6b(Z9b),K0b(new p6b(vac),new s7b(rac,l)));o4(a.a,d);Slb(b.f,(AMb(),BLb));p=$Kc+l;_4b(h,D0b((Xd(Jnc(p,boc(46))==-1,JHc,p),new s7b(H9b,p)),d,x8b));Slb(b.f,MLb)}i.k==k8b||(i=
l6b(w0b(l6b((Sd(V0b(i)),new r6b(iac,i)),i)),i));g=I0b((Xd(Jnc("",boc(46))==-1,JHc,""),new s7b(H9b,"")),new p6b(Z9b),i);n=Q5b(g,g.i,59);n!=g.i&&(g.i=n);g.i=new U6b(59,1,g.i);o4(a.a,g);Slb(b.f,(AMb(),VLb));_4b(h,f1b(y0b(K0b((Xd(Jnc(fKc,boc(46))==-1,JHc,fKc),new s7b(H9b,fKc)),new s7b(rac,"asyncExecutePromiseGeneratorFunction")),ED(zD(nT,1),KHc,7,0,[g]))));o6b(h,i);p4(a.a,h)}function cmb(a,b){var c,d,e,f;Td(a.k==(Pac(),n8b)||a.k==xac,a);if((n5b(a,42)&15)==15)return false;if((n5b(a,42)&15&11)==11&&Tlb(a))return false;
c=a.b;if(c.k==H9b){e=c.Rh();if(Ilb.Yd(e))return false}else if(c.k==d9b){if(!!a.b&&!a.b.e&&Olb.Yd((c.b?c.b.g:null).Rh()))return false;if((n5b(a,42)&15&13)==13&&amb(c.b,(ne(),je)))return false;if(c.b.k==H9b&&D5b(c)&&Fnc(c.b.Rh(),rKc))switch((c.b?c.b.g:null).Rh()){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.e)}if(!!b&&!b.lg())if(c.b.k==fac&&Plb.Yd((c.b?c.b.g:null).Rh()))return false;else if(inb(c.b,b)){d=(c.b?c.b.g:null).Rh();f=c.e;if(f)if(f.k==rac){if(Qlb.Yd(d))return false}else if(f.k==fac)if(Fnc("replace",d))return f.e.k!=rac;else if(Qlb.Yd(d))return false}}return true}function zRb(a,b){switch(mRb(a,a.f)?Anc(a.b,a.f):0){case 98:case 66:nRb(a);cSb(mRb(a,a.f)?Anc(a.b,a.f):0)>=0||uRb(a,"Binary Integer Literal must contain at least one digit",ED(zD(PU,1),RFc,1,5,[]));
DRb(a);return new XNb((jUb(),mTb),Xnc(a.b,b,a.f),SNb(a.i.b,b,a.f));case 111:case 79:nRb(a);dSb(mRb(a,a.f)?Anc(a.b,a.f):0)>=0||uRb(a,"Octal Integer Literal must contain at least one digit",ED(zD(PU,1),RFc,1,5,[]));KRb(a);((mRb(a,a.f)?Anc(a.b,a.f):0)==56||(mRb(a,a.f)?Anc(a.b,a.f):0)==57)&&uRb(a,ZLc,ED(zD(PU,1),RFc,1,5,[]));return new XNb((jUb(),mTb),Xnc(a.b,b,a.f),SNb(a.i.b,b,a.f));case 120:case 88:nRb(a);Xlc(mRb(a,a.f)?Anc(a.b,a.f):0,16)>=0||uRb(a,"Hex Integer Literal must contain at least one digit",
ED(zD(PU,1),RFc,1,5,[]));IRb(a);return new XNb((jUb(),mTb),Xnc(a.b,b,a.f),SNb(a.i.b,b,a.f));case 101:case 69:return wRb(a,b);case 46:return xRb(a,b);case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:GRb(a);if((mRb(a,a.f)?Anc(a.b,a.f):0)==46){nRb(a);GRb(a)}return new XNb((jUb(),mTb),Xnc(a.b,b,a.f),SNb(a.i.b,b,a.f));default:return new XNb((jUb(),mTb),Xnc(a.b,b,a.f),SNb(a.i.b,b,a.f))}}function q3(){q3=bY;jY();o3=new D9("JSC_MODULE_DEPENDENCY_ERROR",(O_(),L_),new Toc("Bad dependency: {0} -> {1}. Modules must be listed in dependency order."));
new D9("JSC_MISSING_ENTRY_ERROR",L_,new Toc('required entry point "{0}" never provided'));new D9("JSC_MISSING_MODULE_ERROR",L_,new Toc('unknown module "{0}" specified in entry point spec'));new D9("JSC_INCONSISTENT_MODULE_DEFINITIONS",L_,new Toc("Serialized module definitions are not consistent with the module definitions supplied in the command line"));new D9("JSC_OPTIMIZE_LOOP_ERROR",L_,new Toc("Exceeded max number of optimization iterations: {0}"));new D9("JSC_MOTION_ITERATIONS_ERROR",L_,new Toc("Exceeded max number of code motion iterations: {0}"));
p3=bEc("com.google.javascript.jscomp");new Nc(wlc);m3=new D9("JSC_EMPTY_MODULE_LIST_ERROR",L_,new Toc("At least one module must be provided"));n3=new D9("JSC_EMPTY_ROOT_MODULE_ERROR",L_,new Toc("Root module ''{0}'' must contain at least one source code input"));l3=new D9("JSC_DUPLICATE_INPUT",L_,new Toc("Duplicate input: {0}"));k3=new D9("JSC_DUPLICATE_EXTERN_INPUT",L_,new Toc("Duplicate extern input: {0}"))}function Cjb(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;v=Rm(kt(ot(new ltc(a.a),
new Jjb)));H=new qAb(v);f=ujb(a,kt(ot(new ltc(a.a),new Jjb)));n=new jyc;for(j=v._d();j.Od();){h=j.Pd();for(B=I5(h.c?h.c.d:(Km(),Km(),Jm),h.e)._d();B.Od();){A=B.Pd();A==null?Jyc(n.d,null,h):azc(n.e,A,h)}s=pBb(y5(h).a);d=_yc(n.e,s);d!=null?d:azc(n.e,s,h)}for(k=v._d();k.Od();){h=k.Pd();for(D=Sm(h.d)._d();D.Od();){C=D.Pd();(C==null?!!Iyc(n.d,null):$yc(n.e,C))&&nyc(f,C==null?rg(Iyc(n.d,null)):_yc(n.e,C))}}c=nAb(H,v,b.b);g=new $u;for(l=(w=(new Ypc(f.a)).a.Ge()._d(),new cqc(w));l.a.Od();){h=(e=l.a.Pd(),
e.Ve());o=h.k;Nd(o);Wu(g,o,h,null)}for(q=new Ipc(new ltc(a.a));q.b<q.d.ce();){o=(q.b<q.d.ce(),q.d.ge(q.c=q.b++));ojb(o)}u=new ksc;new qyc;for(r=(G=g.g,!G?g.g=new tv(g):G)._d();r.Od();){o=r.Pd();I=nAb(H,new qv(g,o),b.b);for(m=I._d();m.Od();){h=m.Pd();t=h.k;if(!t){Fd(!o||!h.k||h.k==o);h.k=o}else{Fd(true);h.k=null;D5(h,wjb(a,t,o))}}}u=c;for(i=u._d();i.Od();){h=i.Pd();o=h.k;!!o&&(asc(o.d,h),Fd(!o||!h.k||h.k==o),h.k=o)}F=(Km(),new tr);for(p=new Ipc(new ltc(a.a));p.b<p.d.ce();){o=(p.b<p.d.ce(),p.d.ge(p.c=
p.b++));sr(F,o.d)}return Sm(F.a)}function lqb(){lqb=bY;var a,b,c,d;new Ac(new Ac(new hc(97,122),new hc(65,90)),new ec);kqb=new D9("JSC_UNKNOWN_TWEAK_WARNING",(O_(),N_),new Toc("no tweak registered with ID {0}"));new D9("JSC_TWEAK_MULTIPLY_REGISTERED_ERROR",L_,new Toc("Tweak {0} has already been registered."));new D9("JSC_NON_LITERAL_TWEAK_ID_ERROR",L_,new Toc("tweak ID must be a string literal"));hqb=new D9("JSC_INVALID_TWEAK_DEFAULT_VALUE_WARNING",N_,new Toc("tweak {0} registered with {1} must have a default value that is a literal of type {2}"));
new D9("JSC_NON_GLOBAL_TWEAK_INIT_ERROR",L_,new Toc("tweak declaration {0} must occur in the global scope"));new D9("JSC_TWEAK_OVERRIDE_AFTER_REGISTERED_ERROR",L_,new Toc("Cannot override the default value of tweak {0} after it has been registered"));jqb=new D9("JSC_TWEAK_WRONG_GETTER_TYPE_WARNING",N_,new Toc("tweak getter function {0} used for tweak registered using {1}"));new D9("JSC_INVALID_TWEAK_ID_ERROR",L_,new Toc("tweak ID contains illegal characters. Only letters, numbers, _ and . are allowed"));
iqb=new jyc;for(b=(uqb(),ED(zD(pN,1),XFc,91,0,[rqb,sqb,tqb,qqb,nqb,mqb,oqb,pqb])),c=0,d=b.length;c<d;++c){a=b[c];bpc(iqb,a.a,a)}}function Rac(a){Pac();switch(a.f){case 138:case 42:case 144:case 82:case 81:case 74:case 28:case 148:case 88:case 75:case 89:case 143:case 141:case 145:case 72:case 66:case 146:case 147:case 23:case 43:case 45:case 139:case 142:case 38:case 0:case 85:case 140:case 91:case 67:case 117:case 44:case 76:case 103:return-1;case 80:case 34:case 108:case 90:case 157:case 29:case 32:case 30:case 31:case 33:case 35:return 0;
case 20:case 159:case 92:case 64:case 69:case 24:case 84:case 86:case 63:case 158:case 98:case 131:case 22:case 19:case 21:case 113:case 87:case 114:case 118:case 39:case 25:case 155:case 79: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 78:case 46:case 115:case 119:case 16:case 71:case 152:case 4:case 18:case 9:case 27:case 26:case 8:case 40:case 41:case 83:case 7:case 10:case 6:case 17:case 15:case 160:case 5:case 61:case 11:case 36:case 37:case 14:case 116:case 12:case 70:case 77:return 2;
case 96:case 73:case 101:case 102:case 65:case 60:case 105:case 149:return 3;default:throw CX(new Kmc("No arity defined for "+a));}}function m$b(a){var b,c,d,e,f,g,h,i,j;Sd(Anc(a.e,a.c)==92);i=a.c;++a.c;b=Anc(a.e,a.c);if(b==98||b==66){++a.c;return new Y_b(b)}else if((b==112||b==80)&&a.d.indexOf("u")!=-1){e=b==80;++a.c;if(a.c<a.a&&Anc(a.e,a.c)==123){d=new uoc;while(++a.c<a.a&&((b=Anc(a.e,a.c))==95||97<=b&&b<=122||65<=b&&b<=90||48<=b&&b<=57))d.a+=String.fromCharCode(b);if(a.c<a.a&&b==125){++a.c;return new U_b(null,
d.a,e)}else if(a.c<a.a&&b==61){h=new uoc;while(++a.c<a.a&&((b=Anc(a.e,a.c))==95||97<=b&&b<=122||65<=b&&b<=90||48<=b&&b<=57))h.a+=String.fromCharCode(b);if(a.c<a.a&&b==125){++a.c;return new U_b(d.a,h.a,e)}else throw CX(new Fjb("Malformed Unicode Property Escape: expected '}' after "+Xnc(a.e,i,a.c)));}else throw CX(new Fjb("Malformed Unicode Property Escape: expected '=' or '}' after "+Xnc(a.e,i,a.c)));}else throw CX(new Fjb("Malformed Unicode Property Escape: expected '{' after "+Xnc(a.e,i,a.c)));
}else if(49<=b&&b<=57){++a.c;g=b-48;if(a.b>=g){if(a.c<a.a){f=Anc(a.e,a.c);if(48<=f&&f<=57){j=g*10+(f-48);if(a.b>=j){++a.c;g=j}}}return new F$b(g)}else return new P_b(String.fromCharCode(g<=7?g&IFc:b))}else{c=Zn((g$b(),c$b),cmc(b));if(c){++a.c;return new R$b(c,(FZb(),EZb))}return new P_b(""+pE(n$b(a)))}}function mJb(a){var b,c,d;a.p=0;for(;;){for(;;){a.a=-1;b=jJb(a);if(b==-1)return fJb(),SIb;else if(b==10)return fJb(),TIb;else{Vac();if(!(b<=127?b==32||b==9||b==12||b==11:b==160))break}}switch(b){case 64:do{b=
jJb(a);if(b<=90?65<=b:97<=b&&b<=122)iJb(a,b);else{a.q[a.r++]=b;--a.b;a.n=ioc(a.o,0,a.p);a.p=0;return fJb(),MIb}}while(true);case 42:return oJb(a)?(fJb(),RIb):(fJb(),dJb);case 44:return fJb(),PIb;case 62:return fJb(),_Ib;case 40:return fJb(),XIb;case 41:return fJb(),bJb;case 123:return fJb(),WIb;case 125:return fJb(),aJb;case 91:return fJb(),YIb;case 93:return fJb(),cJb;case 63:return fJb(),$Ib;case 33:return fJb(),NIb;case 58:return fJb(),OIb;case 61:return fJb(),UIb;case 124:return fJb(),ZIb;case 60:return fJb(),
VIb;case 46:b=jJb(a);if(b==60)return fJb(),VIb;else{if(b==46){b=jJb(a);if(b==46)return fJb(),QIb;else iJb(a,46)}a.q[a.r++]=b;b=46}default:{c=b;iJb(a,b);d=jJb(a);if(tJb(d)){do{c=d;d=jJb(a);if(c==46&&d==60){a.q[a.r++]=d;--a.b;a.q[a.r++]=c;--a.b;a.n=ioc(a.o,0,a.p);a.p=0;return fJb(),eJb}else if(tJb(d))iJb(a,c);else{a.q[a.r++]=d;--a.b;iJb(a,c);a.n=ioc(a.o,0,a.p);a.p=0;return fJb(),eJb}}while(true)}else{a.q[a.r++]=d;--a.b;a.n=ioc(a.o,0,a.p);a.p=0;return fJb(),eJb}}}}}function qZb(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 CX(new IC("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 CX(new IC("IllegalFormatFlagsException:"+m));else throw CX(new IC("FormatFlagsConversionMismatchException:"+m+","+pE(a.b)));if((a.f||a.k)&&a.p==-1)throw CX(new OYb("-"+pE(a.b)));if(!d&&a.a!=-1)throw CX(new KYb(a.o?a.o.a:""));if(!h&&a.n!=-1)throw CX(new LYb(a.n));if(!k&&a.p!=-1)throw CX(new MYb(a.p));if(a.d&&
a.j)throw CX(new KYb("the '+' and ' ' flags are incompatible"));if(a.f&&a.k)throw CX(new KYb("the '-' and '0' flags are incompatible"));}function Ufb(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w;j=d.e;v=m5b(d,c);t=c.b.Rh();p=(Xd(Jnc(t,boc(46))==-1,JHc,t),new s7b((Pac(),H9b),t));w=Q5b(p,p.i,30);w!=p.i&&(p.i=w);p.i=new U6b(30,1,p.i);X5b(p,q5b(c,29));R5b(d,c,p);l=q5b(c,29);k=(Rlb(),m=dmb(d.f),!m?null:q5b(m,29));l?u=(YJc&l.a)==aKc?l.i:null:k?u=Z1b(k,t):u=null;!!u&&u.a.k!=I8b&&n4(a.c,jjb(c,Kfb,ED(zD(UU,
1),FHc,2,6,[])));if(!j.b){vlb(b);return}r=Y5b((Xd(Jnc(oKc,boc(46))==-1,JHc,oKc),new s7b(H9b,oKc)),a.a);i=Y5b((Xd(Jnc(pKc,boc(46))==-1,JHc,pKc),new s7b(H9b,pKc)),a.g);s=l6b((e=new p6b(k8b),e),j);o=(Xd(Jnc(t,boc(46))==-1,JHc,t),new s7b(H9b,t));n=o6b(D0b(o,r,z9b),j);a5b(s,n);Slb(b.f,(AMb(),aMb));for(g=(!j.b?(Jtc(),Jtc(),Itc):new h7b(j.b))._d();g.Od();){f=g.Pd();_4b(s,i5b(f))}q=D0b(g5b(r,false),Y5b(r0b(ED(zD(nT,1),KHc,7,0,[])),a.a),Jac);a5b(j,o6b(q,c));h=o6b(H0b(D0b(g5b(i,false),Y5b(new Z6b(v),a.g),Jac),
Y5b(U0b(g5b(i,false),Y5b(K0b((Xd(Jnc(fHc,boc(46))==-1,JHc,fHc),new s7b(H9b,fHc)),new s7b(rac,"length")),a.g)),a.b),Y5b(R0b(g5b(i,false)),a.g),w0b(G0b(Y5b(t0b(J0b(g5b(r,false),Y5b(l1b(g5b(i,false),Y5b(new Z6b(v),a.g)),a.g)),Y5b(J0b((Xd(Jnc(fHc,boc(46))==-1,JHc,fHc),new s7b(H9b,fHc)),g5b(i,false)),a.g)),a.g)))),c);Z4b(j,h,q);_4b(j,s);p4(a.c,s)}function brb(a,b,c){var d,e,f,g,h,i,j,k,l,m,n;e=a.c++;g="$jscomp$forAwait$tempIterator"+e;m="$jscomp$forAwait$tempResult"+e;Td(!!c.f,"Cannot replace parentless for-await-of");
h=P5b(c);n=P5b(c);k=P5b(c);f=o6b(D0b((Xd(Jnc(g,boc(46))==-1,JHc,g),new s7b((Pac(),H9b),g)),pnb(snb(a.a,"$jscomp.makeAsyncIterator"),ED(zD(nT,1),KHc,7,0,[n])),x8b),n);l=D0b((Xd(Jnc(m,boc(46))==-1,JHc,m),new s7b(H9b,m)),(Nd(b.a),A5b(b.a)?p1b(_0b(snb(a.a,_Kc),ED(zD(nT,1),KHc,7,0,[snb(a.a,eLc),pnb(M0b((Xd(Jnc(g,boc(46))==-1,JHc,g),new s7b(H9b,g)),MJc,ED(zD(UU,1),FHc,2,6,[])),ED(zD(nT,1),KHc,7,0,[]))]))):u0b(pnb(M0b((Xd(Jnc(g,boc(46))==-1,JHc,g),new s7b(H9b,g)),MJc,ED(zD(UU,1),FHc,2,6,[])),ED(zD(nT,1),
KHc,7,0,[])))),x8b);d=O0b(M0b((Xd(Jnc(m,boc(46))==-1,JHc,m),new s7b(H9b,m)),"done",ED(zD(UU,1),FHc,2,6,[])),w0b(new p6b(m8b)));if(F5b(h))i=G0b(t0b(h,M0b((Xd(Jnc(m,boc(46))==-1,JHc,m),new s7b(H9b,m)),OJc,ED(zD(UU,1),FHc,2,6,[]))));else{Rlb();if(!!h&&(h.k==Jac||h.k==z9b||h.k==x8b)){_4b(h.b,M0b((Xd(Jnc(m,boc(46))==-1,JHc,m),new s7b(H9b,m)),OJc,ED(zD(UU,1),FHc,2,6,[])));i=h}else throw CX(new Nlc("unexpected for-await-of lhs"));}o6b(i,h);j=H0b(f,new p6b(J8b),new p6b(J8b),x0b(ED(zD(nT,1),KHc,7,0,[l,d,i,
k.k==k8b?k:l6b(w0b(k),k)])));R5b(c.f,c,j);o6b(j,c);p4(a.a,j)}function K_(){K_=bY;I_=new D9("JSC_MISPLACED_MSG_ANNOTATION",(O_(),M_),new Toc("Misplaced message annotation. @desc, @hidden, and @meaning annotations should only be on message nodes."));H_=new D9("JSC_MISPLACED_ANNOTATION",N_,new Toc("Misplaced {0} annotation. {1}"));B_=new D9("JSC_ANNOTATION_DEPRECATED",N_,new Toc("The {0} annotation is deprecated. {1}"));E_=new D9("JSC_DISALLOWED_MEMBER_JSDOC",N_,new Toc("Class level JSDocs (@interface, @extends, etc.) are not allowed on class members"));
C_=new D9("JSC_ARROW_FUNCTION_AS_CONSTRUCTOR",L_,new Toc("Arrow functions cannot be used as constructors"));D_=new D9("JSC_DEFAULT_PARAM_MUST_BE_MARKED_OPTIONAL",L_,new Toc("Inline JSDoc on default parameters must be marked as optional"));G_=new D9("JSC_INVALID_NO_SIDE_EFFECT_ANNOTATION",L_,new Toc("@nosideeffects may only appear in externs files."));F_=new D9("JSC_INVALID_MODIFIES_ANNOTATION",L_,new Toc("@modifies may only appear in externs files."));new D9("JSC_INVALID_DEFINE_ON_LET",L_,new Toc("variables annotated with @define may only be declared with VARs, ASSIGNs, or CONSTs"));
J_=new D9("JSC_MISPLACED_SUPPRESS",N_,new Toc("@suppress annotation not allowed here. See https://github.com/google/closure-compiler/wiki/@suppress-annotations"))}function Sdb(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o;j=a.e.f;Sd(n5b(j,59)!=0);n=Q5b(j,j.i,59);n!=j.i&&(j.i=n);m=a.f.g?Pfc(a.f.f,_fc(a.f.f,ED(zD(JT,1),NJc,27,0,[a.f.j,Yfc(a.f.f,Rn(OJc,a.g))])),ED(zD(JT,1),NJc,27,0,[a.a.g])):null;i=(c=new p6b((Pac(),k8b)),c);if(Pdb(j)){d=j==j.f.b?null:j.g;Sd(d.k==d9b);a.c=(!j.f?null:j.f.f).f;Td(a.c.k==k8b,a.c);
e=(Rlb(),gmb(a.c,new Dnb(Z8b)));Td(e.k==Z8b,e);d.b.e.Wh("asyncExecutePromiseGeneratorProgram");k=d.c;!!k&&!!k.Ci()&&Y5b(d,Pfc(a.f.f,k.Ci().b.b,ED(zD(JT,1),NJc,27,0,[m])));l=a.e.f;_4b(p5b(a.e),seb(a.a,a.e));S5b(a.e,i)}else{e=j;h=j.b;Sd(h.k==H9b);h.Rh().length==0&&h.Wh(ueb(a.a,eKc).a);l=I0b((Xd(Jnc("",boc(46))==-1,JHc,""),new s7b(H9b,"")),d1b(seb(a.a,a.e)),i);f=M0b(Dgb(M0b(Dgb((Xd(Jnc(fKc,boc(46))==-1,JHc,fKc),new s7b(H9b,fKc)),a.f.i),"generator",ED(zD(UU,1),FHc,2,6,[])),a.f.i),"createGenerator",ED(zD(UU,
1),FHc,2,6,[]));a.f.g&&Y5b(f,Pfc(a.f.f,a.d,ED(zD(JT,1),NJc,27,0,[m])));a.c=w0b(m6b(f1b(Dgb(y0b(f,ED(zD(nT,1),KHc,7,0,[Dgb(h.Ph(false),j.c),l])),a.d)),a.e));S5b(a.e,a.c)}l.c=m;o4(a.f.b,l);Glb(a.f.b,a.e,new jfb);o=!Odb(a,a.e);while(a.e.b)$db(a,P5b(a.e),null,null);g=(b=new p6b(k8b),b);o&&_4b(g,ieb(a.a,a.e,"jumpToEnd",ED(zD(nT,1),KHc,7,0,[])));Ueb(a.a.j,a.a.p,g);a.a.j.e=true;reb(a.a,i);jeb(a.a);o4(a.f.b,e)}function zxb(){zxb=bY;uxb=new D9("JSC_INVALID_CAST",(O_(),N_),new Toc("invalid cast - must be a subtype or supertype\nfrom: {0}\nto  : {1}"));
xxb=new D9("JSC_TYPE_MISMATCH",N_,new Toc(XIc));vxb=new D9("JSC_INVALID_OPERAND_TYPE",M_,new Toc(XIc));wxb=new D9("JSC_MISSING_EXTENDS_TAG",N_,new Toc("Missing @extends tag on type {0}"));pxb=new D9("JSC_DUP_VAR_DECLARATION",N_,new Toc("variable {0} redefined, original definition at {1}:{2}"));qxb=new D9("JSC_DUP_VAR_DECLARATION_TYPE_MISMATCH",N_,new Toc("variable {0} redefined with type {1}, original definition at {2}:{3} with type {4}"));txb=new D9("JSC_INTERFACE_METHOD_NOT_IMPLEMENTED",N_,new Toc("property {0} on interface {1} is not implemented by type {2}"));
rxb=new D9("JSC_HIDDEN_INTERFACE_PROPERTY_MISMATCH",N_,new Toc("mismatch of the {0} property on type {1} and the type of the property it overrides from interface {2}\noriginal: {3}\noverride: {4}"));nxb=new D9("JSC_ABSTRACT_METHOD_NOT_IMPLEMENTED",N_,new Toc("property {0} on abstract class {1} is not implemented by type {2}"));yxb=new D9("JSC_UNKNOWN_TYPEOF_VALUE",N_,new Toc("unknown type: {0}"));sxb=new D9("JSC_ILLEGAL_PROPERTY_ACCESS",N_,new Toc("Cannot do {0} access on a {1}"));oxb=new U8(ED(zD(OK,
1),RFc,5,0,[nxb,uxb,xxb,wxb,pxb,qxb,txb,rxb,yxb,sxb]))}function Wlb(a,b,c){Rlb();var d,e,f,g,h,i,j;switch(a.k.f){case 39:case 103:case 109:case 76:case 100:case 88:return true;case 43:if(b)return true;for(i=a.b;i;i=i.e)for(f=i.b;f;f=f.e)if(Wlb(f,b,c))return true;return false;case 42:case 38:if(b)return true;break;case 114:h=(Sd(!!a.b&&!a.b.e),a.b);if(h.k!=(Pac(),Q7b))return true;break;case 29:if(a.b)return true;break;case 65:return b||a.k==(Pac(),Z8b)&&Jmb(a.f)&&a.k==Z8b&&dnb(a.b);case 96:return b||
a.k==(Pac(),s8b)&&Jmb(a.f)&&a.k==s8b&&dnb(a.b)||Wlb(a.b.e,b,c)||Wlb(a.b?a.b.g:null,b,c);case 97:for(j=a.b;j;j=j.e)if(j.k==(Pac(),w8b)&&Wlb(j.b,b,c))return true;return false;case 23:if(b)return true;if(!Xlb(a))break;return true;case 28:if(!cmb(a,c))break;return true;case 116:return cmb(a,c);case 92:case 62:case 82:case 81:case 84:case 60:case 66:case 45:case 30:case 61:case 33:case 35:case 34:case 32:case 31:case 91:case 67:case 118:case 44:case 80:case 117:case 115:break;default:if(enb(a.k))break;
if(Bmb(a)){d=a.b;if(d.k==(Pac(),H9b))return true;if(Wlb(a.b,b,c)||Wlb(a.b?a.b.g:null,b,c))return true;if(d.k==d9b||d.k==c9b){g=d.b;if(amb(g,(ne(),je)))return false;while(g.k==d9b||g.k==c9b)g=g.b;return!Xmb(g,true)}else return!Xmb(d,true)}return true}for(e=a.b;e;e=e.e)if(Wlb(e,b,c))return true;return false}function Shb(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o;h=c.f;f=false;l=(rib(),qib);k=true;switch(c.k.f){case 86:case 87:case 91:case 98:g=null;h.k==(Pac(),U9b)?g=Uhb(a,c):h.k==t8b&&(g=(m=c.f,Sd(m.k==t8b),
n=(Rlb(),o=omb(m.f),!o?null:r5b(o)),n==null?null:n+"."+c.Rh()));if(g==null)return;f=true;switch(c.k.f){case 98:l=Whb(a,c.b);c.f.k==t8b&&n5b(c,58)==0&&(k=false);break;case 91:l=Whb(a,c.b);break;case 86:case 87:l=oib;break;default:throw CX(new Kmc("unexpected:"+c));}break;case 29:switch(h.k.f){case 76:case 100:case 88:f=true;j=c.b;l=!j?qib:Whb(a,j);break;case 47:if(h.b==c){f=true;l=Whb(a,c.e)}break;case 26:return;case 65:d=h.f;if(!d||(Rlb(),h.k==(Pac(),Z8b)&&!(h.k==Z8b&&Jmb(h.f)&&h.k==Z8b&&dnb(h.b))&&
!Zmb(h)))return;f=true;l=nib;break;case 78:case 63:case 64:f=true;l=qib;break;case 96:if(h.b==c){f=true;l=mib}break;case 91:case 93:case 119:case 115:case 113:if(Vmb(c)){f=true;l=qib}break;default:if(Bmb(h)&&h.b==c){f=true;l=qib}}g=c.Rh();break;case 26:if(h)switch(h.k.f){case 47:if(h.b==c){f=true;l=Whb(a,c.e)}break;case 63:case 64:f=true;l=qib;break;case 26:return;default:if(Bmb(h)&&h.b==c){f=true;l=qib}}if(!D5b(c))return;g=r5b(c);break;case 28:if(aib(c)){i=r5b(c.b.b);Vhb(a,i,true)}return;default:return}if(!Qhb(a.a,
g,b))return;if(f){e=yY(b);!e.b?Zhb(a,c,h,g,l,k):$hb(a,c,h,g,k)}else Xhb(a,c,h,g)}function Pob(a){var b,c,d,e,f,g;Nob(a);e=new ksc;bsc(e,An(a.I));Jtc();hsc(e,new Xob);Kc(new Nc(KGc),"\nTOTAL:","Start time(ms): "+TX(a.H),ED(zD(PU,1),RFc,1,5,["End time(ms): "+TX(a.i),"Wall time(ms): "+TX(PX(a.i,a.H)),"Passes runtime(ms): "+a.F,"Max mem usage (measured after each pass)(MB): "+a.C,"#Runs: "+a.G,"#Changing runs: "+a.c,"#Loopable runs: "+a.B,"#Changing loopable runs: "+a.A,"Estimated AST reduction(#nodes): "+
a.a,"Estimated Reduction(bytes): "+a.g,"Estimated GzReduction(bytes): "+a.p,"Estimated AST size(#nodes): "+a.b,"Estimated Size(bytes): "+a.e,"Estimated GzSize(bytes): "+a.o]));Kc(new Nc(KGc),"\n\nInputs:","JS lines:   "+a.t,ED(zD(PU,1),RFc,1,5,["JS sources: "+a.v,"Extern lines:   "+a.j,"Extern sources: "+a.k+"\n\n"]));for(c=new Bsc(e);c.a<c.c.a.length;){b=(c.b=c.a++,c.c.a[c.b]);d=b.Ve();f=b.We();eZb("%s,%d,%d,%d,%d,%d,%d,%d\n",ED(zD(PU,1),RFc,1,5,[d,knc(f.n),$mc(f.a),$mc(f.k),$mc(f.d),$mc(f.b),$mc(f.e),
$mc(f.f)]))}Kc(new Nc(KGc),"Log:","pass,runtime,allocMem,codeChanged,astReduction,reduction,gzReduction,astSize,size,gzSize\n",ED(zD(PU,1),RFc,1,5,[]));for(g=new Bsc(a.w);g.a<g.c.a.length;){f=(g.b=g.a++,g.c.a[g.b]);eZb("%s,%d,%d,%b,%d,%d,%d,%d,%d,%d\n",ED(zD(PU,1),RFc,1,5,[f.j,knc(f.n),$mc(f.a),(Qlc(),f.d==1?true:false),$mc(f.b),$mc(f.e),$mc(f.f),$mc(f.c),$mc(f.o),$mc(f.g)]))}}function lsb(){lsb=bY;dsb=new D9("JSC_PARSE_ERROR",(O_(),L_),new Toc(iLc));isb=new D9("JSC_TYPE_PARSE_ERROR",N_,new Toc(XIc));
ksb=new D9("JSC_UNRECOGNIZED_TYPE_ERROR",N_,new Toc(XIc));_rb=new D9("JSC_JSDOC_MISSING_BRACES_WARNING",M_,new Toc(XIc));asb=new D9("JSC_JSDOC_MISSING_TYPE_WARNING",M_,new Toc(XIc));gsb=new D9("JSC_TOO_MANY_TEMPLATE_PARAMS",M_,new Toc(XIc));hsb=new D9("JSC_TRAILING_COMMA",L_,new Toc("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."));Vrb=new D9("JSC_DUPLICATE_PARAM",
L_,new Toc(iLc));jsb=new D9("JSC_UNNECESSARY_ESCAPE",M_,new Toc(iLc));Zrb=new D9("JSC_INVALID_PARAM",N_,new Toc(iLc));Urb=new D9("JSC_BAD_JSDOC_ANNOTATION",N_,new Toc(iLc));$rb=new D9("JSC_JSDOC_IN_BLOCK_COMMENT",N_,new Toc(iLc));Xrb=new D9("JSC_INVALID_ES3_PROP_NAME",N_,new Toc(jLc));esb=new D9("JSC_PARSE_TREE_TOO_DEEP",L_,new Toc("Parse tree too deep."));Yrb=new D9("JSC_INVALID_OCTAL_LITERAL",N_,new Toc("This style of octal literal is not supported in strict mode."));fsb=new D9("JSC_STRING_CONTINUATION",
N_,new Toc(XIc));bsb=new D9("JSC_LANGUAGE_FEATURE",L_,new Toc("{0}."));Wrb=new D9("JSC_ES6_TYPED",L_,new Toc("{0}. Use --language_in=ECMASCRIPT6_TYPED to enable ES6 typed features."));csb=new D9("JSC_MISPLACED_TYPE_SYNTAX",L_,new Toc(kLc))}function ePb(a){var b,c,d,e,f;e=sRb(a.g,0).b.b;aOb(a,(jUb(),QSb));b=qQb(a,0,TSb)&&Fnc(sRb(a.g,0).a,hNc);b&&gOb(a,hNc);aOb(a,pTb);if(HQb(a)){f=nQb(a,0);if(rQb(a,XSb)){b&&LQb(a,"for-await-of is the only allowed asynchronous iteration",ED(zD(PU,1),RFc,1,5,[]));f.b.ce()>
1&&LQb(a,"for-in statement may not have more than one variable declaration",ED(zD(PU,1),RFc,1,5,[]));c=f.b.ge(0);!!c.b&&(a.b.a?LQb(a,"for-in statement may not have initializer",ED(zD(PU,1),RFc,1,5,[])):DJb(a.c,c.o.b,"for-in statement should not have initializer",ED(zD(PU,1),RFc,1,5,[])));return cPb(a,e,f)}else if(qQb(a,0,TSb)&&Fnc(sRb(a.g,0).a,"of")){f.b.ce()>1&&(b?LQb(a,"for-await-of statement may not have more than one variable declaration",ED(zD(PU,1),RFc,1,5,[])):LQb(a,"for-of statement may not have more than one variable declaration",
ED(zD(PU,1),RFc,1,5,[])));c=f.b.ge(0);!!c.b&&(b?LQb(a,"for-await-of statement may not have initializer",ED(zD(PU,1),RFc,1,5,[])):LQb(a,"for-of statement may not have initializer",ED(zD(PU,1),RFc,1,5,[])));return b?bPb(a,e,f):dPb(a,e,f)}else{$Nb(a,f);return fPb(a,e,f)}}if(rQb(a,ITb))return fPb(a,e,null);d=pOb(a,0);if(rQb(a,XSb)||rQb(a,ISb)||qQb(a,0,TSb)&&Fnc(sRb(a.g,0).a,"of")){d=MQb(a,d);qUb(d)||LQb(a,eNc,ED(zD(PU,1),RFc,1,5,[]))}if(rQb(a,XSb)||qQb(a,0,TSb)&&Fnc(sRb(a.g,0).a,"of"))if(d.p!=(WXb(),
nWb)&&d.p!=vWb)return rQb(a,XSb)?cPb(a,e,d):b?bPb(a,e,d):dPb(a,e,d);return fPb(a,e,d)}function R2b(a,b){var c,d,e,f,g,h,i,j;if(!a&&!b)return true;if(!a||!b)return false;if(!mAc(Y1b(a),Y1b(b)))return false;for(h=Y1b(a)._d();h.Od();){g=h.Pd();if(!mAc(Z1b(a,g),Z1b(b,g)))return false}if((!a.b||!a.b.d?(Km(),Km(),Jm):a.b.d).ce()!=(!b.b||!b.b.d?(Km(),Km(),Jm):b.b.d).ce())return false;c=(!a.b||!a.b.d?(Km(),Km(),Jm):a.b.d)._d();d=(!b.b||!b.b.d?(Km(),Km(),Jm):b.b.d)._d();while(c.Od())if(!e3b(c.Pd(),d.Pd()))return false;
return mAc(!a.b?null:a.b.a,!b.b?null:b.b.a)&&mAc(!a.d?null:a.d.a,!b.d?null:b.d.a)&&(!a.b?null:a.b.b)==(!b.b?null:b.b.b)&&(!a.b?null:a.b.c)==(!b.b?null:b.b.c)&&mAc(S1b(a),S1b(b))&&mAc((YJc&a.a)==yKc?a.i:null,(YJc&b.a)==yKc?b.i:null)&&mAc(Q1b(a),Q1b(b))&&(!a.d?null:a.d.g)==(!b.d?null:b.d.g)&&(!a.d?null:a.d.i)==(!b.d?null:b.d.i)&&(!a.d?null:a.d.j)==(!b.d?null:b.d.j)&&mAc((f=!a.d?null:a.d.k,!f?(Jtc(),Jtc(),Itc):f),(e=!b.d?null:b.d.k,!e?(Jtc(),Jtc(),Itc):e))&&(!a.b?null:a.b.i)==(!b.b?null:b.b.i)&&(!a.d?
0:a.d.o)==(!b.d?0:b.d.o)&&mAc(!a.b?null:a.b.g,!b.b?null:b.b.g)&&(!a.b?null:a.b.f)==(!b.b?null:b.b.f)&&mAc((YJc&a.a)==AGc?a.i:null,(YJc&b.a)==AGc?b.i:null)&&mAc((j=!a.d?null:a.d.p,!j?(Jtc(),Jtc(),Itc):j),(i=!b.d?null:b.d.p,!i?(Jtc(),Jtc(),Itc):i))&&mAc(_1b(a),_1b(b))&&mAc(a.g,b.g)&&mAc(a2b(a),a2b(b))&&mAc((YJc&a.a)==LGc?a.i:null,(YJc&b.a)==LGc?b.i:null)&&mAc((YJc&a.a)==aKc?a.i:null,(YJc&b.a)==aKc?b.i:null)&&(!a.b?null:a.b.k)==(!b.b?null:b.b.k)&&mAc(a.j,b.j)&&a.a==b.a}function Yxb(){Yxb=bY;Qxb=(bbc(),
"(Proxy)");Wxb=new D9("JSC_MALFORMED_TYPEDEF",(O_(),N_),new Toc("Typedef for {0} does not have any type information"));Sxb=new D9("JSC_ENUM_INITIALIZER_NOT_ENUM",N_,new Toc("enum initializer must be an object literal or an enum"));new D9("JSC_INVALID_ENUM_KEY",N_,new Toc("enum key must be a string or numeric literal"));Pxb=new D9("JSC_CTOR_INITIALIZER_NOT_CTOR",N_,new Toc("Constructor {0} must be initialized at declaration"));Txb=new D9("JSC_IFACE_INITIALIZER_NOT_IFACE",N_,new Toc("Interface {0} must be initialized at declaration"));
Oxb=new D9("JSC_REFLECT_CONSTRUCTOR_EXPECTED",N_,new Toc("Constructor expected as first argument"));Xxb=new D9("JSC_UNKNOWN_LENDS",N_,new Toc("Variable {0} not declared before @lends annotation."));Vxb=new D9("JSC_LENDS_ON_NON_OBJECT",N_,new Toc("May only lend properties to object types. {0} has type {1}."));Uxb=new D9("JSC_INCOMPATIBLE_ALIAS_ANNOTATION",N_,new Toc("Annotation {0} on {1} incompatible with aliased type."));Rxb=new D9("JSC_DYNAMIC_EXTENDS_WITHOUT_JSDOC",N_,new Toc("The right-hand side of an extends clause must be a qualified name, or else @extends must be specified in JSDoc"));
new D9("JSC_CONFLICTING_GETTER_SETTER_TYPE",N_,new Toc("The types of the getter and setter for property ''{0}'' do not match.\ngetter type is: {1}\nsetter type is: {2}"));new S8(Qxb,ED(zD(OK,1),RFc,5,0,[Wxb,Sxb,Pxb,Txb,Oxb,Xxb,Vxb,Uxb,Rxb]))}function Etb(){Etb=bY;Dtb=new D9("JSC_USE_OF_WITH",(O_(),N_),new Toc("The 'with' statement cannot be used in strict mode."));Atb=new D9("JSC_EVAL_DECLARATION",N_,new Toc('"eval" cannot be redeclared in strict mode'));ztb=new D9("JSC_EVAL_ASSIGNMENT",N_,new Toc('the "eval" object cannot be reassigned in strict mode'));
vtb=new D9("JSC_ARGUMENTS_DECLARATION",N_,new Toc('"arguments" cannot be redeclared in strict mode'));stb=new D9("JSC_ARGUMENTS_ASSIGNMENT",N_,new Toc('the "arguments" object cannot be reassigned in strict mode'));ttb=new D9("JSC_ARGUMENTS_CALLEE_FORBIDDEN",N_,new Toc('"arguments.callee" cannot be used in strict mode'));utb=new D9("JSC_ARGUMENTS_CALLER_FORBIDDEN",N_,new Toc('"arguments.caller" cannot be used in strict mode'));Ctb=new D9("JSC_FUNCTION_CALLER_FORBIDDEN",N_,new Toc("A function''s \"caller\" property cannot be used in strict mode"));
Btb=new D9("JSC_FUNCTION_ARGUMENTS_PROP_FORBIDDEN",N_,new Toc("A function''s \"arguments\" property cannot be used in strict mode"));wtb=new D9("JSC_BAD_FUNCTION_DECLARATION",N_,new Toc("functions can only be declared at top level or immediately within another function in ES5 strict mode"));xtb=new D9("JSC_DELETE_VARIABLE",N_,new Toc("variables, functions, and arguments cannot be deleted in strict mode"));ytb=new D9("JSC_DUPLICATE_OBJECT_KEY",L_,new Toc('Object literal contains illegal duplicate key "{0}", disallowed in strict mode'));
new D9("JSC_DUPLICATE_CLASS_METHODS",L_,new Toc('Class contains duplicate method name "{0}"'))}function sFb(a,b,c){var d,e,f,g,h,i,j,k,l;l=b.a;l=Rnc(l,"\r\n?",KGc);k=c?0:1;f=Jnc(l,boc(92));if(f==-1)return c?l:Xnc(l,1,l.length-1);j=new uoc;while(f!=-1){j.a+=""+(l==null?OFc:l).substr(k,f-k);f+=1;d=l.charCodeAt(f);switch(d){case 98:j.a+="\b";break;case 102:j.a+="\f";break;case 110:j.a+=KGc;break;case 114:j.a+="\r";break;case 116:j.a+="\t";break;case 118:j.a+="\x0B";break;case 10:gFb(a,b,(AMb(),tMb));
a.d.vh("String continuations are not recommended. See https://google.github.io/styleguide/jsguide.html#features-strings-no-line-continuations",a.q,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:f+1<l.length&&TFb(l.charCodeAt(f+1))?f+2<l.length&&TFb(l.charCodeAt(f+2))?i=3:i=2:i=1;if(a.a.f==(PEb(),OEb)||c)if(d==48&&i==1);else a.d.vh("Octal literals in strings are not supported in this language mode.",a.q,b.b.b.b+1,b.b.b.a);koc(j,Emc(l.substr(f,f+i-f),8)&IFc);
f+=i-1;break;case 120:koc(j,QFb(l.charCodeAt(f+1))*16+QFb(l.charCodeAt(f+2))&IFc);f+=2;break;case 117:{if(l.charCodeAt(f+1)!=123){g=f+5;h=l.substr(f+1,g-(f+1))}else{g=f+2;while(Xlc(l.charCodeAt(g),16)>=0)++g;h=l.substr(f+2,g-(f+2));++g}}e=Emc(h,16);if(e>PGc){a.d.uh("Undefined Unicode code-point",a.q,b.b.b.b+1,b.b.b.a);j.a+="\\u{";j.a+=""+h;j.a+="}"}else soc(j,(hFc(e>=0&&e<=PGc),e>=OGc?ED(zD(zE,1),JFc,8,15,[55296+(e-OGc>>10&QGc)&IFc,56320+(e-OGc&QGc)&IFc]):ED(zD(zE,1),JFc,8,15,[e&IFc])));f=g-1;break;
case 39:case 34:case 92:default:j.a+=String.fromCharCode(d)}k=f+1;f=Knc(l,boc(92),k)}poc(j,l,k,c?l.length:l.length-1);return j.a}function yCb(){yCb=bY;mCb=new D9("JSC_CONSTRUCTOR_DISALLOWED_JSDOC",(O_(),M_),new Toc("Setting visibility on constructors is not yet supported.\nSee https://github.com/google/closure-compiler/issues/2761\n"));lCb=new D9("JSC_CLASS_DISALLOWED_JSDOC",M_,new Toc("@constructor annotations are redundant on classes."));pCb=new D9("JSC_MISSING_JSDOC",M_,new Toc("Function must have JSDoc."));
qCb=new D9("JSC_MISSING_PARAMETER_JSDOC",M_,new Toc("Parameter must have JSDoc."));sCb=new D9("JSC_MIXED_PARAM_JSDOC_STYLES",M_,new Toc("Functions may not use both @param annotations and inline JSDoc"));rCb=new D9("JSC_MISSING_RETURN_JSDOC",M_,new Toc("Function with non-trivial return must have JSDoc indicating the return type."));tCb=new D9("JSC_MUST_BE_PRIVATE",M_,new Toc("Property {0} must be marked @private"));uCb=new D9("JSC_MUST_HAVE_TRAILING_UNDERSCORE",M_,new Toc("Private property {0} should end with ''_''"));
vCb=new D9("JSC_OPTIONAL_PARAM_NOT_MARKED_OPTIONAL",M_,new Toc("Parameter {0} is optional so its type must end with ="));xCb=new D9("JSC_WRONG_NUMBER_OF_PARAMS",M_,new Toc("Wrong number of @param annotations"));oCb=new D9("JSC_INCORRECT_PARAM_NAME",M_,new Toc("Incorrect param name. Are your @param annotations in the wrong order?"));nCb=new D9("JSC_EXTERNS_FILES_SHOULD_BE_ANNOTATED",M_,new Toc("Externs files should be annotated with @externs in the @fileoverview block."));wCb=new D9("JSC_PREFER_BACKTICKS_TO_AT_SIGN_CODE",
M_,new Toc("Use `some_code` instead of '{'@code some_code'}'."));kCb=new U8(ED(zD(OK,1),RFc,5,0,[lCb,mCb,pCb,qCb,sCb,rCb,tCb,uCb,vCb,xCb,oCb,nCb,wCb]))}function Wab(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;K=P5b(b);r=P5b(b);e=P5b(b);I=a.g;if(a.a){s=nbc(r.c._h());!!s&&(I=fbc(s,a.e.p[17]))}v=Agb(a.a,a.e,19,I);t=a.a?(F=Mcc(v?v:null,MJc),!F?null:F.Hi((v?v:null).b)).Ci():null;l=a.a?t.b.b:null;J=q5b(K,29);p=Dgb(Z0b("$jscomp$iter$"+(""+(new j5(a.c)).a.U++)),v);G=Q5b(p,p.i,85);
G!=p.i&&(p.i=G);p.i=new U6b(85,1,p.i);j=Dgb(y0b(Dgb(K0b(g5b(p,false),Yab(a,new s7b((Pac(),rac),MJc))),t),ED(zD(nT,1),KHc,7,0,[])),l);u="$jscomp$key$";Rlb();!!K&&(K.k==Jac||K.k==z9b||K.k==x8b)?u+=K.b.Rh():K.k==H9b?u+=K.Rh():u+=C8(a.d);q=Dgb((Xd(Jnc(u,boc(46))==-1,JHc,u),new s7b(H9b,u)),l);H=Q5b(q,q.i,85);H!=q.i&&(q.i=H);q.i=new U6b(85,1,q.i);f=Cgb(a.c,r);if(a.a){C=Xkc(Xkc(Xkc(new blc(a.e,30,false),a.e.p[38]),a.e.p[19]),a.e.p[17]);d=dgc(a.e,"Arguments");!!d&&Xkc(C,d);w=Pfc(a.e,v,ED(zD(JT,1),NJc,27,
0,[Ykc(C)]));k=f.b;k.c=w;Y5b(k.b,a.e.p[44]);Y5b(k.b.e,a.e.p[38]);f.c=v}n=D0b(Dgb(g5b(p,false),p.c),f,Jac);o=g5b(q,false);a5b(o,g5b(j,false));_4b(n,o);g=Xab(a,a1b(Xab(a,K0b(g5b(q,false),Yab(a,new s7b(rac,"done"))))));m=Dgb(t0b(g5b(q,false),g5b(j,false)),l);if(!!K&&(K.k==Jac||K.k==z9b||K.k==x8b)){i=K.k;h=Y5b(new r6b(i,l6b(Z0b(K.b.Rh()),K.b)),I);_4b(h.b,Dgb(K0b(g5b(q,false),Yab(a,new s7b(rac,OJc))),I));D=Q5b(h,h.i,29);D!=h.i&&(h.i=D);!!J&&(h.i=new c7b(29,J,h.i))}else{h=Dgb(t0b(Dgb(X5b(g5b(K,false),null),
I),Dgb(K0b(g5b(q,false),Yab(a,new s7b(rac,OJc))),I)),I);D=Q5b(h,h.i,29);D!=h.i&&(h.i=D);!!J&&(h.i=new c7b(29,J,h.i));h=(Td(V0b(h),h),new r6b(T8b,h))}A=l6b(x0b(ED(zD(nT,1),KHc,7,0,[h,e])),e);B=H0b(n,g,m,A);o6b(B,b);R5b(c,b,B);p4(a.c,B)}function Hhb(){Hhb=bY;vhb=new D9("JSC_EXTENDS_WITHOUT_TYPEDEF",(O_(),N_),new Toc("@extends used without @constructor or @interface for {0}"));uhb=new D9("JSC_EXTENDS_NON_OBJECT",N_,new Toc("{0} @extends non-object type {1}"));zhb=new D9("JSC_RESOLVED_TAG_EMPTY",N_,new Toc("Could not resolve type in {0} tag of {1}"));
whb=new D9("JSC_IMPLEMENTS_WITHOUT_CONSTRUCTOR",N_,new Toc("@implements used without @constructor or @interface for {0}"));thb=new D9("JSC_CONSTRUCTOR_REQUIRED",N_,new Toc("{0} used without @constructor for {1}"));Ghb=new D9("JSC_VAR_ARGS_MUST_BE_LAST",N_,new Toc("variable length argument must be last"));yhb=new D9("JSC_OPTIONAL_ARG_AT_END",N_,new Toc("optional arguments must be at the end"));xhb=new D9("JSC_INEXISTENT_PARAM",N_,new Toc("parameter {0} does not appear in {1}''s parameter list"));Fhb=
new D9("JSC_TYPE_REDEFINITION",N_,new Toc("attempted re-definition of type {0}\nfound   : {1}\nexpected: {2}"));Bhb=new D9("JSC_TEMPLATE_TRANSFORMATION_ON_CLASS",N_,new Toc("Template type transformation {0} not allowed on classes or interfaces"));Chb=new D9("JSC_TEMPLATE_TYPE_DUPLICATED",N_,new Toc("Only one parameter type must be the template type"));Dhb=new D9("JSC_TEMPLATE_TYPE_EXPECTED",N_,new Toc("The template type must be a parameter type"));Ehb=new D9("JSC_THIS_TYPE_NON_OBJECT",N_,new Toc("@this type of a function must be an object\nActual type: {0}"));
Ahb=new D9("JSC_SAME_INTERFACE_MULTIPLE_IMPLEMENTS",N_,new Toc("Cannot @implement the same interface more than once\nRepeated interface: {0}"));shb=new U8(ED(zD(OK,1),RFc,5,0,[vhb,uhb,zhb,whb,thb,Ghb,yhb,xhb,Fhb,Bhb,Chb,Dhb,Ehb,Ahb]))}function GNb(){GNb=bY;var a,b,c,d,e,f;JMb=new HNb("BREAK",0,"break",(jUb(),mSb));KMb=new HNb("CASE",1,"case",pSb);LMb=new HNb(PMc,2,"catch",qSb);OMb=new HNb(QMc,3,lIc,zSb);PMb=new HNb(RMc,4,nIc,ASb);RMb=new HNb(sLc,5,aIc,CSb);SMb=new HNb("DELETE",6,SMc,DSb);TMb=new HNb("DO",
7,"do",ESb);UMb=new HNb("ELSE",8,"else",FSb);ZMb=new HNb(TMc,9,VHc,PSb);$Mb=new HNb("FOR",10,"for",QSb);_Mb=new HNb(CKc,11,CFc,RSb);aNb=new HNb("IF",12,"if",USb);dNb=new HNb("IN",13,"in",XSb);eNb=new HNb(FMc,14,QKc,YSb);lNb=new HNb("NEW",15,"new",hTb);rNb=new HNb(PLc,16,WHc,FTb);uNb=new HNb(UMc,17,"switch",TTb);vNb=new HNb(iHc,18,jHc,XTb);wNb=new HNb("THROW",19,"throw",YTb);yNb=new HNb("TRY",20,"try",_Tb);ANb=new HNb(VMc,21,PKc,bUb);BNb=new HNb("VAR",22,"var",eUb);CNb=new HNb("VOID",23,oIc,fUb);DNb=
new HNb("WHILE",24,gIc,gUb);ENb=new HNb("WITH",25,"with",hUb);MMb=new HNb(BKc,26,dIc,rSb);NMb=new HNb("CONST",27,mJc,ySb);VMb=new HNb(GLc,28,qIc,HSb);WMb=new HNb(ILc,29,_Hc,MSb);XMb=new HNb(HLc,30,eIc,NSb);cNb=new HNb(WMc,31,cIc,WSb);tNb=new HNb(gHc,32,hHc,STb);bNb=new HNb(JLc,33,fIc,VSb);fNb=new HNb(KLc,34,pIc,ZSb);iNb=new HNb("LET",35,"let",bTb);nNb=new HNb(LLc,36,RLc,sTb);oNb=new HNb(MLc,37,SLc,ATb);pNb=new HNb(NLc,38,TLc,BTb);qNb=new HNb(OLc,39,ULc,CTb);sNb=new HNb("STATIC",40,WLc,QTb);FNb=new HNb("YIELD",
41,iIc,iUb);mNb=new HNb(XMc,42,OFc,lTb);xNb=new HNb(YMc,43,kIc,$Tb);YMb=new HNb(ZMc,44,jIc,OSb);QMb=new HNb($Mc,45,sIc,BSb);zNb=new HNb(QLc,46,rIc,aUb);jNb=new HNb("MODULE",47,RHc,fTb);kNb=new HNb(_Mc,48,"namespace",gTb);a=(zn(),new Dr);b=new nxc(mQ);for(d=PNb(),e=0,f=d.length;e<f;++e){c=d[e];Ar(a,c.c,c);jxc(b,c.b,c)}gNb=Mn(a.b);hNb=Iw(b)}function e4(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;b=a.J.ab!=(z6(),w6);j5b(a.q);j5b(a.A);u=(a.J.wd!=(S7(),P7)&&!!a.S&&Uob(a.S,FIc,true),new Ytb);try{for(f=
new Bsc(a.o);f.a<f.c.a.length;){d=(f.b=f.a++,f.c.a[f.b]);n=Nd(w5(d,a));if(a.j.a.e!=0)return null;_4b(a.q,n)}if(hLb(r7(a.J.Wb),(AMb(),dMb))){m=null;switch(a.J.cc.f){case 0:m=(Pzb(),Ozb);break;case 2:m=new CBb(j4(a,kt(ot(new ltc(a.D.a),new Jjb))));break;case 3:m=new KBb;break;case 1:m=new Zzb(a.J.q)}a.F=new yAb(a.J.dc,kt(ot(new ltc(a.D.a),new Jjb)),m,(_Ab(),$Ab),a.J.sc)}else a.F=(uAb(),rAb);if(a.J._.b)z3(a,hLb(r7(a.J.Wb),dMb));else if(j6(a.J,(eLb(),YKb))){hLb(r7(a.J.Wb),dMb)&&f4(a,kt(ot(new ltc(a.D.a),
new Jjb)));j=new jyc;for(g=new cu(Ht(st(kt(ot(new ltc(a.D.a),new Jjb)).a),new pt));au(g);){d=bu(g);if(I5(d.c?d.c.d:(Km(),Km(),Jm),d.e).$d()){l=vAb(a.F,d.a.mh().b);bpc(j,pBb(l.a),d)}}k=new jyc;for(h=new cu(Ht(st(kt(ot(new ltc(a.D.a),new Jjb)).a),new pt));au(h);){d=bu(h);for(q=(azb(),yEc(zEc(Oz(I5(d.c?d.c.e:(Km(),Km(),Jm),d.f)),new dAb),(Km(),nk(),nk(),mk)))._d();q.Od();){p=q.Pd();(p==null?!!Iyc(j.d,null):$yc(j.e,p))&&!(p==null?!!Iyc(k.d,null):$yc(k.e,p))&&bpc(k,p,p==null?rg(Iyc(j.d,null)):_yc(j.e,
p))}}for(i=(o=(new hqc(k)).a.Ge()._d(),new mqc(o));i.a.Od();){d=(c=i.a.Pd(),c.We());C5(d,($5(),X5))}}!!a.F&&wAb(a.F,a);c4(a);if(a.j.a.e!=0)return null;a.J.gc>1&&kt(ot(new ltc(a.D.a),new Jjb));for(e=new cu(Ht(st(kt(ot(new ltc(a.D.a),new Jjb)).a),new pt));au(e);){d=bu(e);n=Nd(w5(d,a));if(b){byb(new cyb(a),a.q,a.A);if(a.j.a.e!=0)return null}if(a.J.mb){s=new Usb(d.i.a,a.J.ab!=w6);t=new Flb(a,s,new fgb(a));ylb(t,n)}if(Mmb(n)){B5(d);_4b(a.q,n)}else _4b(a.A,n)}if(a.j.a.e!=0)return null;return a.k}finally{s3(a);
r=PX(IX(Date.now()),u.a);a.J.wd!=P7&&!!a.S&&Vob(a.S,FIc,r)}}function q_(){q_=bY;j_=new D9("JSC_DEPRECATED_VAR",(O_(),M_),new Toc("Variable {0} has been deprecated."));k_=new D9("JSC_DEPRECATED_VAR_REASON",M_,new Toc("Variable {0} has been deprecated: {1}"));l_=new D9("JSC_DEPRECATED_PROP",M_,new Toc("Property {0} of type {1} has been deprecated."));m_=new D9("JSC_DEPRECATED_PROP_REASON",M_,new Toc("Property {0} of type {1} has been deprecated: {2}"));h_=new D9("JSC_DEPRECATED_CLASS",M_,new Toc("Class {0} has been deprecated."));
i_=new D9("JSC_DEPRECATED_CLASS_REASON",M_,new Toc("Class {0} has been deprecated: {1}"));a_=new D9("JSC_BAD_PACKAGE_PROPERTY_ACCESS",L_,new Toc("Access to package-private property {0} of {1} not allowed here."));b_=new D9("JSC_BAD_PRIVATE_GLOBAL_ACCESS",L_,new Toc("Access to private variable {0} not allowed outside file {1}."));c_=new D9("JSC_BAD_PRIVATE_PROPERTY_ACCESS",N_,new Toc("Access to private property {0} of {1} not allowed here."));d_=new D9("JSC_BAD_PROTECTED_PROPERTY_ACCESS",N_,new Toc("Access to protected property {0} of {1} not allowed here."));
new D9("JSC_BAD_PROPERTY_OVERRIDE_IN_FILE_WITH_FILEOVERVIEW_VISIBILITY",L_,new Toc("Overridden property {0} in file with fileoverview visibility {1} must explicitly redeclare superclass visibility"));o_=new D9("JSC_PRIVATE_OVERRIDE",N_,new Toc("Overriding private property of {0}."));n_=new D9("JSC_EXTEND_FINAL_CLASS",L_,new Toc("{0} is not allowed to extend final class {1}."));p_=new D9("JSC_VISIBILITY_MISMATCH",N_,new Toc("Overriding {0} property of {1} with {2} property."));f_=new D9("JSC_CONSTANT_PROPERTY_REASSIGNED_VALUE",
N_,new Toc("constant property {0} assigned a value more than once"));e_=new D9("JSC_CONSTANT_PROPERTY_DELETED",N_,new Toc("constant property {0} cannot be deleted"));g_=new D9("JSC_CONVENTION_MISMATCH",N_,new Toc("Declared access conflicts with access convention."))}function wZ(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o;switch(b.k.f){case 120:xZ(a,(AMb(),fMb),b);d=l5b(b);0!=d&&u$(lHc+d,b);return;case 99:xZ(a,(AMb(),uMb),b);e=l5b(b);0!=e&&u$(lHc+e,b);return;case 34:case 32:case 33:case 35:f=l5b(b);0!=f&&u$(lHc+
f,b);return;case 24:case 21:case 22:case 19:case 25:case 79:case 20:case 92:g=l5b(b);1!=g&&u$(rHc+g,b);wZ(a,b.b);return;case 63:case 64:c=l5b(b);1!=c&&u$(rHc+c,b);FZ(a,b.b);return;case 47:h=Rac(b.k);h!=-1&&(i=l5b(b),h!=i&&u$(nHc+h+oHc+i,b));JZ(a,b.k,b.b);wZ(a,b.b?b.b.g:null);return;case 59:xZ(a,(AMb(),RLb),b);nZ(a,b);return;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 58:nZ(a,b);return;case 60:j=l5b(b);3!=j&&u$("Expected 3 children, but was "+j,b);k=b.b;wZ(a,
k);wZ(a,k.e);wZ(a,b.b?b.b.g:null);return;case 31:k$(b);return;case 30:XZ(b);return;case 29:OZ(b);return;case 18:xZ(a,(AMb(),RLb),b);eZ(a,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:eZ(a,b);return;case 26:AZ(a,b);return;case 42:cZ(a,b);return;case 43:YZ(a,b);return;case 38:d$(b);return;case 28:gZ(a,b);return;case 114:h$(a,b);return;case 23:UZ(a,
b);return;case 65:yZ(a,b,false);return;case 96:jZ(a,b,false);return;case 117:n$(a,b);return;case 116:xZ(a,(AMb(),vMb),b);VZ((Pac(),xac),b);l=Rac(b.k);l!=-1&&(m=l5b(b),l!=m&&u$(nHc+l+oHc+m,b));wZ(a,b.b);n$(a,b.b?b.b.g:null);return;case 103:xZ(a,(AMb(),VLb),b);VZ((Pac(),Oac),b);n=l5b(b);(n<0||n>1)&&u$("Expected child count in [0, 1], but was "+n,b);!!b.b&&wZ(a,b.b);return;case 104:xZ(a,(AMb(),CLb),b);VZ((Pac(),e8b),b);o=(Rlb(),gmb(b,new Dnb(Z8b)));(!o||!(o.k==Z8b&&n5b(o,61)!=0))&&u$("'await' expression is not within an async function",
b);return;default:u$("Expected expression but was "+b.k,b)}}function F6b(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_all";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 fIc;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";case 94:return"DELETED";case 95:return"module_alias";case 96:return"is_unused_parameter";case 97:return"module_export";case 98:return"is_shorthand_property";case 99:return"es6_module";default:throw CX(new Kmc("unexpected prop id "+a));}}function Ocb(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B;Lcb(a,c);t=Zcb(c,d);if(!t||t.f==null)throw CX(new Kmc("Can only convert classes that are declarations or the right hand side of a simple assignment: "+
c));if(t.k.k!=(Pac(),J8b)&&!D5b(t.k)){n4(a.a,jjb(t.k,Fcb,ED(zD(UU,1),FHc,2,6,[])));return}Xd(fnb(t.g),"insertion point must be a statement: %s",t.g);h=null;i=null;f=c.b?c.b.g:null;for(s=(!f.b?(Jtc(),Jtc(),Itc):new h7b(f.b))._d();s.Od();){r=s.Pd();if(r.k==w8b&&(n5b(r,73)!=0||n5b(r,74)!=0)||r.k==e9b||r.k==mac)Qcb(a,r,t);else if(r.k==C9b&&Fnc(r.Rh(),vJc)){i=q5b(r,29);h=i5b(r.b);t.a||R5b(h,h.b,t.c.Ph(false))}else if(r.k==J8b);else{Xd(r.k==C9b||r.k==w8b,"Unexpected class member:",r);Xd(n5b(r,75)==0,"Member variables should have been transpiled earlier:",
r);Pcb(a,r,t)}}if(t.e.b){y3(a.a,SJc,false);k=G0b(y0b(snb(a.a,_Jc),ED(zD(nT,1),KHc,7,0,[snb(a.a,t.f+XJc),t.e])));o6b(k,c);Z4b(t.g.f,k,t.g);t.g=k}if(t.d.b){y3(a.a,SJc,false);k=G0b(y0b(snb(a.a,_Jc),ED(zD(nT,1),KHc,7,0,[snb(a.a,t.f),t.d])));o6b(k,c);Z4b(t.g.f,k,t.g);t.g=k}Nd(h);e=(Rlb(),q=dmb(c),!q?null:q5b(q,29));u=S4b(e);L3b(u);l=gmb(c,new Hnb);if(t.k.k!=J8b){A=r5b(t.k);if(k2b(u.a))W3b(u,new V4b(new r6b(f8b,new s7b(rac,A)),(m=q5b(t.k,51),!m?null:m.sg())));else{n=q5b(c,51);if(!(!!n&&n.Eh())){g=n6b(snb(a.a,
t.f),t.c);w=g5b(t.k,false);o=y0b(snb(a.a,vIc),ED(zD(nT,1),KHc,7,0,[g,w]));p=(Td(V0b(o),o),new r6b(T8b,o));y3(a.a,"es6/util/inherits",false);o6b(p,t.k);Z4b(l.f,p,l)}H3b(u,new V4b(new r6b(f8b,new s7b(rac,A)),(m=q5b(t.k,51),!m?null:m.sg())))}}Jcb(a,t,l);Ncb(i,u);if(c.k!=F9b&&gnb(c.f)){h.b.Wh("");j=D0b(t.c.Ph(false),h,z9b);o6b(j,c);R5b(d,c,j);Slb(b.f,(AMb(),aMb))}else R5b(d,c,h);nnb(c,a.a);if(h.k!=F9b&&gnb(h.f))X5b(h,z3b(u));else if(d.k==H9b){B=d.f;X5b(B,z3b(u))}else if(h.f.k==H9b){B=!h.f?null:h.f.f;
X5b(B,z3b(u))}else if(d.k==T7b)X5b(d,z3b(u));else throw CX(new Kmc("Unexpected parent node "+d));v=Q5b(h,h.i,92);v!=h.i&&(h.i=v);h.i=new U6b(92,1,h.i);vlb(b)}function mdb(a,b,c,d,e,f){var 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;H=bKc+a.b++;F=null;C=null;if(!!c.b&&(c.b?c.b.g:null).k==(Pac(),gac)){C=new ksc;F=bKc+a.b++}else if(a.f==(Bdb(),Adb))if(!zrc(a.e).a){--a.b;return}G=o6b(D0b((Xd(Jnc(H,boc(46))==-1,JHc,H),new s7b((Pac(),H9b),H)),i5b(d),Jac),c);if(e.k==x8b){r=new Q4b(false);K3b(r);X5b(G,
z3b(r))}$4b(f.f,G,f);for(h=c.b;h;h=w){w=h.e;if(h.k==sac){if(!h.b){s=Z0b(h.Rh());n6b(s,h);_4b(h,s)}n=new t6b(h.Th()?c9b:d9b,(Xd(Jnc(H,boc(46))==-1,JHc,H),new s7b(H9b,H)),i1b(h.Rh()));I=P5b(h);if(I.k==D8b){t=P5b(I);j=P5b(I);v=tdb(n,j)}else{t=I;v=n}if(C){B=i1b(h.Rh());h.Th()&&p7b(B);C.a[C.a.length]=B}}else if(h.k==w8b){o=(h.b?h.b.g:null).k==D8b;i=null;j=null;A=P5b(h);if(o){i=h.b?h.b.g:null;t=P5b(i);j=P5b(i)}else t=P5b(h);if(C){l=bKc+a.b++;k=D0b((Xd(Jnc(l,boc(46))==-1,JHc,l),new s7b(H9b,l)),A,Jac);o6b(k,
h);$4b(f.f,k,f);A=(Xd(Jnc(l,boc(46))==-1,JHc,l),new s7b(H9b,l));asc(C,(Xd(Jnc(l,boc(46))==-1,JHc,l),new s7b(H9b,l)))}if(o){m=J0b((Xd(Jnc(H,boc(46))==-1,JHc,H),new s7b(H9b,H)),A);q=bKc+a.b++;p=D0b((Xd(Jnc(q,boc(46))==-1,JHc,q),new s7b(H9b,q)),m,Jac);o6b(p,h);$4b(f.f,p,f);v=tdb((Xd(Jnc(q,boc(46))==-1,JHc,q),new s7b(H9b,q)),j)}else v=J0b((Xd(Jnc(H,boc(46))==-1,JHc,H),new s7b(H9b,H)),A)}else if(h.k==D8b){t=P5b(h);j=P5b(h);n=K0b((Xd(Jnc(H,boc(46))==-1,JHc,H),new s7b(H9b,H)),i1b(t.Rh()));v=tdb(n,j);!!C&&
asc(C,j1b(t.Rh()))}else if(h.k==gac){if(w)throw CX(new Kmc("object rest may not be followed by any properties"));g=y0b(snb(a.a,cKc),ED(zD(nT,1),KHc,7,0,[]));_4b(g,b1b(ED(zD(nT,1),KHc,7,0,[])));_4b(g,(Xd(Jnc(H,boc(46))==-1,JHc,H),new s7b(H9b,H)));D=D0b((Xd(Jnc(F,boc(46))==-1,JHc,F),new s7b(H9b,F)),g,Jac);o6b(D,c);Z4b(f.f,D,G);t=Z0b((Sd(!!h.b&&!h.b.e),h.b).Rh());v=jdb(c,h,F,C)}else throw CX(new Kmc("unexpected child"));Rlb();if(!!e&&(e.k==Jac||e.k==z9b||e.k==x8b))u=D0b(t,v,e.k);else if(e.k==T7b)u=G0b(t0b(t,
v));else throw CX(new Kmc("not reached"));o6b(u,h);$4b(f.f,u,f);pdb(a,b,t,t.f)}i5b(f);vlb(b)}function pab(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=c.a;q=c.b;if(q.a.length==0)return;h=q5b(d,51);if(!!h&&h.Eh())for(o=new Bsc(q);o.a<o.c.a.length;){n=(o.b=o.a++,o.c.a[o.b]);g=(Rlb(),gmb(n,new Hnb));f=g.f;Nd(g.f);N5b(g.f,g);p4(a.a,f)}else{r=lab(d);if(Fnc(r,GJc)&&(l=CY(klb(b),r),!(!!l&&!(!l.a||A5(l.a)))))for(o=new Bsc(q);o.a<o.c.a.length;){n=(o.b=o.a++,o.c.a[o.b]);s=l6b(new p6b((Pac(),Aac)),
n);R5b(n.f,n,s);p4(a.a,s)}else if(oab(b,r))n4(a.a,jjb(d,(wgb(),ugb),ED(zD(UU,1),FHc,2,6,["extending native class: "+r])));else if(nab(b,r))for(o=new Bsc(q);o.a<o.c.a.length;){n=(o.b=o.a++,o.c.a[o.b]);k=jab(a,r,n);t=(Rlb(),gmb(n,new Hnb));u=t.f;Td(u.k==(Pac(),k8b),u);v=o6b(E0b((Xd(Jnc(HJc,boc(46))==-1,JHc,HJc),new s7b(H9b,HJc)),Jac),n);$4b(u,v,t);w=t0b((Xd(Jnc(HJc,boc(46))==-1,JHc,HJc),new s7b(H9b,HJc)),k);A=t0b(K0b(new p6b(Aac),new s7b(rac,IJc)),K0b((Xd(Jnc(HJc,boc(46))==-1,JHc,HJc),new s7b(H9b,HJc)),
new s7b(rac,IJc)));B=q0b(Q0b(new s7b(rac,JGc),(Xd(Jnc(HJc,boc(46))==-1,JHc,HJc),new s7b(H9b,HJc))),t0b(K0b(new p6b(Aac),new s7b(rac,JGc)),K0b((Xd(Jnc(HJc,boc(46))==-1,JHc,HJc),new s7b(H9b,HJc)),new s7b(rac,JGc))));C=o6b(B0b(B0b(v0b(v8b,w,A),B),new p6b(Aac)),n);R5b(n.f,n,C);p4(a.a,C)}else if(mab(a,r))for(o=new Bsc(q);o.a<o.c.a.length;){n=(o.b=o.a++,o.c.a[o.b]);k=jab(a,r,n);p=n.f;!!p.b&&!p.b.e&&(Rlb(),p.k!=(Pac(),F9b)&&gnb(p.f))?R5b(p,n,k):R5b(p,n,l6b(B0b(k,l6b(new p6b((Pac(),Aac)),n)),n));p4(a.a,p)}else{e=
Nd(k5b(d,2));i=e.b;j=q.a[0];if(!!e.b&&!e.b.e&&i.k==(Pac(),T8b)&&!!i.b&&!i.b.e&&i.b==j){Td(q.a.length==1,d);R5b(e,i,o6b(f1b(c1b(jab(a,r,q.a[0]),new p6b((Pac(),Aac)))),i))}else{m=new uab(q);Glb(a.a,e,m);a5b(e,m6b(E0b((Xd(Jnc(JJc,boc(46))==-1,JHc,JJc),new s7b((Pac(),H9b),JJc)),Jac),e));_4b(e,m6b(f1b((Xd(Jnc(JJc,boc(46))==-1,JHc,JJc),new s7b(H9b,JJc))),e));for(o=new Bsc(q);o.a<o.c.a.length;){n=(o.b=o.a++,o.c.a[o.b]);k=jab(a,r,n);S5b(n,o6b(t0b((Xd(Jnc(JJc,boc(46))==-1,JHc,JJc),new s7b(H9b,JJc)),c1b(k,
new p6b(Aac))),n))}}p4(a.a,e)}}}function qcb(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;if(fpc(a.c.c)==0)return;for(u=(L=(new Ypc(a.c)).a.Ge()._d(),new cqc(L));u.a.Od();){t=(h=u.a.Pd(),h.Ve());v=rzc(a.c,t);F=Zbb(a.e);for(Y=(M=(new Ypc(v.b.a)).a.Ge()._d(),new cqc(M));Y.a.Od();){W=(g=Y.a.Pd(),g.Ve());_4b(F,k1b(W.b,pcb(a,v,W.c)))}V=Xbb(a.e,ocb(a,v),F);D=m6b(D0b(ocb(a,v),Zbb(a.e),(Pac(),Jac)),t);Vbb(a.e,D,t);if(t.k==V8b){p=t.b;R5b(t,p,new p6b(J8b));
if(p.k!=J8b){Rlb();!!p&&(p.k==Jac||p.k==z9b||p.k==x8b)||(p=l6b((Td(V0b(p),p),new r6b(T8b,p)),p));Vbb(a.e,p,t)}o=k5b(t,2);if(o.k==J8b)R5b(t,o,o6b(V,t));else{O=new p6b(J8b);R5b(t,o,O);R5b(t,O,o6b(Ybb(a.e,V,o),t))}}else{r=v.a;s=nmb(t);if(Z=t.f,$=Z.k==u9b?Z.b.Rh():null,ab=new ucb(r,$),Glb(a.e.a,nmb(t),ab),ab.d){q=l6b((c=new p6b(k8b),c),s);d5b(q,O5b(s));a5b(s,l6b(S0b(l6b((Sd(r.length!=0),new s7b(v9b,r)),s),q),s))}_4b(s,o6b((Td(V0b(V),V),new r6b(T8b,V)),t))}p4(a.e.a,t);for(X=(K=(new Ypc(v.b.a)).a.Ge()._d(),
new cqc(K));X.a.Od();){W=(g=X.a.Pd(),g.Ve());for(Q=Ff(a.d,W)._d();Q.Od();){P=Q.Pd();Td(t.k!=Y8b,t);if(t.k==X8b&&t.b==P.f){Td(P==W.c,P);R=P.f;Td((Rlb(),!!R&&(R.k==Jac||R.k==z9b||R.k==x8b)),R);Td(P.k==H9b,P);w=P.Ph(false);a.e.d&&Y5b(w,$bb(a.e,38));a5b(t.b?t.b.g:null,o6b(G0b(Xbb(a.e,pcb(a,v,P),w)),P))}else{if($mb(P.f)){f=P.f;l=f.f;_bb(a.e,f,l);f=P.f;if(P.b){A=Wbb(a.e,P);b=Xbb(a.e,A,P5b(P));dcb(f,P,f);ecb(f,l,P,f);X5b(b,q5b(f,29));S=o6b((Td(V0b(b),b),new r6b(T8b,b)),f);R5b(l,f,S);P=A}else N5b(l,f);pyc(a.e.b,
f);p4(a.e.a,l)}P.f.k==n8b&&P.f.b==P&&L5b(P.f,50,false);e=fmb(P);S5b(P,pcb(a,v,P));!!e&&o4(a.e.a,e)}}}}for(j=ru(a.b)._d();j.Od();){i=j.Pd();U=new p6b((Pac(),iac));J=Ff(a.b,i);G=BD(nT,KHc,7,J.ce(),0,1);H=BD(nT,KHc,7,J.ce(),0,1);m=0;I=BD(JT,NJc,27,J.ce(),0,1);for(C=J._d();C.Od();){B=C.Pd();N=ocb(a,B);G[m]=N;a.e.d&&(I[m]=Nd(N.c));H[m]=ocb(a,B);++m}n=I0b((Xd(Jnc("",boc(46))==-1,JHc,""),new s7b(H9b,"")),e1b(G),w0b(U));if(a.e.d){k=new Xdc(P3(a.e.a));Pdc(Ndc(Sdc((k.c="",k),n),Xfc(P3(a.e.a),false,I)),i.c);
Y5b(n,Gdc(k))}o4(a.e.a,n);d=y0b(n,H);a.e.d&&Y5b(d,i.c);T=Q5b(d,d.i,50);T!=d.i&&(d.i=T);d.i=new U6b(50,1,d.i);Rlb();i.k==Z8b&&Jmb(i.f)&&i.k==Z8b&&dnb(i.b)?S=o6b(D0b(Z0b(i.b.Rh()),d,Jac),i):S=o6b(d,i);R5b(i.f,i,S);a5b(U,i);p4(a.e.a,S)}}function s6(){d6();this.eb=(Eb(),Eb(),Db);this.lc=(null,Db);this.Xb=(null,Db);this.Bb=(X6(),V6);this.rc=(tEb(),sEb);this._=new K8;this.dc=(Km(),new Uy(Nd(MIc)));this.ub=(null,Jm);this.rb=(null,Jm);this.D=(null,Jm);this.Dd=new k8(ED(zD(PO,1),RFc,167,0,[]));this.kd=(Zsb(),
Xsb);this.ld=(htb(),ftb);this.md=(Jtc(),Jtc(),Htc);this.O=b6;this.Tb=(null,Db);this.jb=(L6(),H6);this.Wb=(p7(),j7);this.gb=(E6(),C6);this.q=(zn(),zn(),yn);this.cc=(iBb(),eBb);this.oc=new jy($m(ED(zD(PU,1),RFc,1,5,["browser",RHc,"main"])));this.sc=(TAb(),SAb);this.hd=false;this.ab=(z6(),w6);this.r=false;this.A=false;this.w=false;this.B=false;this.s=(O_(),M_);this.p=L_;this.t=M_;this.v=M_;this.u=null;this.N=false;this.ob=null;this.tb=false;this.G=false;this.X=false;this.Eb=false;this.Fb=(K7(),J7);this.bc=
-1;this.o=false;this.n=false;this.Ib=false;this.Q=false;this.pc=false;this.S=false;this.Gb=false;this.Jb=false;this.Hb=false;this.jd=false;this.pb=false;this.Mc=false;this.qb=(R6(),O6);this.Sc=false;this.Tc=false;this.Pc=false;this.Qc=false;this.Uc=false;this.Rc=false;this.L=false;this.I=false;this.e=(null,Itc);this.d="";this.b=false;this.nc=false;this.P=false;this.dd=false;this.Cd=(Kyb(),Jyb);this.Gc=(Dqb(),Cqb);this.Vb=false;this.yb=false;this.gd=false;this.xc=false;this.Vc=null;this.K=(E7(),D7);
this.J=false;this.bb=false;this.db=false;this.g=false;this.j=($Y(),YY);this.lb=false;this.Z=true;this.fc=new E8;this.ed=false;this.fd=null;this.ud=null;this.td=null;this.$b=null;this._b=false;this.F=false;this.yc=false;this.i=false;this.uc=null;this.tc=(Fpb(),Epb);this.W=false;this.Ub=(a7(),$6);this.Kc=false;this.Oc=false;this.Lc=false;this.rd=(null,Itc);this.pd=(null,Itc);this.od=(null,Itc);this.qd=(null,Itc);this.V=null;this.ac=false;this.$=new jyc;this.yd=(Y7(),W7);this.zd=new jyc;this.ec=false;
this.k="";this.Jc=false;this.C=false;this.mc=(y7(),w7);this.wb=false;this.xb=true;this.kb=false;this.T=null;this.U=null;this.Ec=false;this.zb=(null,yn);this.Zc=(null,Htc);this._c="";this.ad=(null,Itc);this.Fc=new jyc;this.Nb=(null,yn);this.Rb=null;this.Qb=false;this.Pb=false;this.Sb="";this.zc=false;this.Cc=false;this.Ac=false;this.Yb=false;this.vc=false;this.wd=(S7(),P7);this.M=false;this.hb=(N9(),L9);this.Y=null;this.mb=false;this.c=c6;this.ib=null;this.Dc=false}function cQb(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(sRb(a.g,0).c.f){case 45:return KOb(a);case 30:case 25:return oQb(a);case 52:return VOb(a);case 15:return oPb(a);case 10:return c=sRb(a.g,0).b.b,aOb(a,(jUb(),ESb)),d=$Pb(a),aOb(a,gUb),aOb(a,pTb),e=pOb(a,1),aOb(a,uSb),rQb(a,ITb)&&aOb(a,ITb),new dVb(new GYb(c,a.f),d,e);case 27:return f=sRb(a.g,0).b.b,aOb(a,(jUb(),gUb)),aOb(a,pTb),g=pOb(a,1),aOb(a,uSb),h=$Pb(a),new wYb(new GYb(f,a.f),g,h);case 13:return ePb(a);case 6:return i=
sRb(a.g,0).b.b,aOb(a,(jUb(),zSb)),j=null,k=sRb(a.g,0).b.b.b>a.f.b,k||qQb(a,0,ITb)||qQb(a,0,tSb)||qQb(a,0,GSb)||(j=(l=sRb(a.g,0).c,TSb==l||a.b.d&&NNb(l)||!a.b.c&&MNb(l)?cOb(a):null)),fOb(a),new _Ub(new GYb(i,a.f),j);case 3:return m=sRb(a.g,0).b.b,aOb(a,(jUb(),mSb)),n=null,o=sRb(a.g,0).b.b.b>a.f.b,o||qQb(a,0,ITb)||qQb(a,0,tSb)||qQb(a,0,GSb)||(n=(p=sRb(a.g,0).c,TSb==p||a.b.d&&NNb(p)||!a.b.c&&MNb(p)?cOb(a):null)),fOb(a),new CUb(new GYb(m,a.f),n);case 19:return q=sRb(a.g,0).b.b,aOb(a,(jUb(),FTb)),r=null,
s=sRb(a.g,0).b.b.b>a.f.b,s||qQb(a,0,ITb)||qQb(a,0,tSb)||qQb(a,0,GSb)||(r=pOb(a,1)),fOb(a),new bYb(new GYb(q,a.f),r);case 28:return t=sRb(a.g,0).b.b,aOb(a,(jUb(),hUb)),aOb(a,pTb),u=pOb(a,1),aOb(a,uSb),v=$Pb(a),new xYb(new GYb(t,a.f),u,v);case 20:return w=sRb(a.g,0).b.b,aOb(a,(jUb(),TTb)),aOb(a,pTb),A=pOb(a,1),aOb(a,uSb),aOb(a,oTb),B=MOb(a),aOb(a,tSb),new fYb(new GYb(w,a.f),A,B);case 22:return C=sRb(a.g,0).b.b,aOb(a,(jUb(),YTb)),D=null,F=sRb(a.g,0).b.b.b>a.f.b,F||qQb(a,0,ITb)||qQb(a,0,tSb)||qQb(a,0,
GSb)?LQb(a,"semicolon/newline not allowed after 'throw'",ED(zD(PU,1),RFc,1,5,[])):D=pOb(a,1),fOb(a),new kYb(new GYb(C,a.f),D);case 23:return G=sRb(a.g,0).b.b,aOb(a,(jUb(),_Tb)),H=KOb(a),I=null,rQb(a,qSb)&&(I=(P=sRb(a.g,0).b.b,aOb(a,qSb),aOb(a,pTb),qQb(a,0,qTb)||qQb(a,0,oTb)?Q=LPb(a,0):Q=nPb(a),aOb(a,uSb),R=KOb(a),new GUb(new GYb(P,a.f),Q,R))),J=null,rQb(a,PSb)&&(J=(S=sRb(a.g,0).b.b,aOb(a,PSb),T=KOb(a),new jVb(new GYb(S,a.f),T))),!I&&!J&&LQb(a,"'catch' or 'finally' expected.",ED(zD(PU,1),RFc,1,5,[])),
new lYb(new GYb(G,a.f),H,I,J);case 7:return K=sRb(a.g,0).b.b,aOb(a,(jUb(),ASb)),fOb(a),new aVb(new GYb(K,a.f));default:{b=sRb(a.g,0).c;if(((jUb(),TSb)==b||a.b.d&&NNb(b)||!a.b.c&&MNb(b))&&qQb(a,1,wSb))return L=sRb(a.g,0).b.b,M=bOb(a),aOb(a,wSb),new SVb(new GYb(L,a.f),M,$Pb(a))}return N=sRb(a.g,0).b.b,O=pOb(a,1),fOb(a),new iVb(new GYb(N,a.f),O)}}function O0(){O0=bY;new D9("JSC_GOOG_MODULE_INVALID_MODULE_NAMESPACE",(O_(),L_),new Toc("goog.module parameter must be string literals"));new D9("JSC_GOOG_MODULE_INVALID_PROVIDE_NAMESPACE",
L_,new Toc("goog.provide parameter must be a string literal."));new D9("JSC_GOOG_MODULE_INVALID_REQUIRE_NAMESPACE",L_,new Toc("goog.require parameter must be a string literal."));new D9("JSC_GOOG_MODULE_INVALID_FORWARD_DECLARE_NAMESPACE",L_,new Toc("goog.forwardDeclare parameter must be a string literal."));new D9("JSC_GOOG_MODULE_INVALID_GET_NAMESPACE",L_,new Toc("goog.module.get parameter must be a string literal."));new D9("JSC_GOOG_MODULE_INVALID_PROVIDE_CALL",L_,new Toc("goog.provide can not be called in goog.module."));
new D9("JSC_GOOG_MODULE_INVALID_GET_CALL_SCOPE",L_,new Toc("goog.module.get can not be called in global scope."));new D9("JSC_GOOG_MODULE_INVALID_GET_ALIAS",L_,new Toc("goog.module.get should not be aliased."));new D9("JSC_GOOG_MODULE_INVALID_EXPORT_COMPUTED_PROPERTY",L_,new Toc("Computed properties are not yet supported in goog.module exports."));N0=new D9("JSC_USELESS_USE_STRICT_DIRECTIVE",M_,new Toc("'use strict' is unnecessary in goog.module files."));new D9("JSC_DUPLICATE_MODULE",L_,new Toc("Duplicate module: {0}"));
new D9("JSC_DUPLICATE_NAMESPACE",L_,new Toc("Duplicate namespace: {0}"));M0=new D9("JSC_MISSING_MODULE_OR_PROVIDE",L_,new Toc('Required namespace "{0}" never defined.'));new D9(OHc,L_,new Toc('Required namespace "{0}" not provided yet.'));new D9("JSC_IMPORT_INLINING_SHADOWS_VAR",L_,new Toc('Inlining of reference to import "{1}" shadows var "{0}".'));new D9("JSC_ILLEGAL_DESTRUCTURING_DEFAULT_EXPORT",L_,new Toc("Destructuring import only allowed for importing module with named exports.\nSee https://github.com/google/closure-compiler/wiki/goog.module-style"));
new D9("JSC_ILLEGAL_DESTRUCTURING_NOT_EXPORTED",L_,new Toc('Destructuring import reference to name "{0}" was not exported in module {1}'));lm();new Xy(PHc);K0b((Xd(Jnc(IHc,boc(46))==-1,JHc,IHc),new s7b((Pac(),H9b),IHc)),new s7b(rac,"forwardDeclare"));K0b((Xd(Jnc(IHc,boc(46))==-1,JHc,IHc),new s7b(H9b,IHc)),new s7b(rac,QHc));L0=K0b((Xd(Jnc(IHc,boc(46))==-1,JHc,IHc),new s7b(H9b,IHc)),new s7b(rac,RHc));K0b(L0,new s7b(rac,"declareLegacyNamespace"));K0b(g5b(L0,false),new s7b(rac,SHc));K0b((Xd(Jnc(IHc,boc(46))==
-1,JHc,IHc),new s7b(H9b,IHc)),new s7b(rac,THc));K0b((Xd(Jnc(IHc,boc(46))==-1,JHc,IHc),new s7b(H9b,IHc)),new s7b(rac,UHc))}function i$(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;switch(b.k.f){case 83:VZ((Pac(),u9b),b);i=Rac(b.k);i!=-1&&(j=l5b(b),i!=j&&u$(nHc+i+oHc+j,b));KZ(b.b);i$(a,b.b?b.b.g:null,false);return;case 82:fZ(a,b);return;case 65:c?yZ(a,b,true):(VZ((Pac(),Z8b),b),k=Rac(b.k),k!=-1&&(l=l5b(b),k!=l&&u$(nHc+k+oHc+l,b)),OZ(b.b),c$(a,b.b.e),fZ(a,b.b?b.b.g:null),
zZ(a,b),b.f.k==k8b&&(!b.f?null:b.f.f).k!=Z8b&&xZ(a,(AMb(),FLb),b),undefined);return;case 77:VZ((Pac(),Nac),b);m=Rac(b.k);m!=-1&&(n=l5b(b),m!=n&&u$(nHc+m+oHc+n,b));wZ(a,b.b);fZ(a,b.b?b.b.g:null);return;case 72:VZ((Pac(),V8b),b);o=l5b(b);4!=o&&u$("Expected 4 children, but was "+o,b);r$(a,b.b);b$(a,b.b.e);b$(a,k5b(b,2));fZ(a,b.b?b.b.g:null);return;case 73:VZ((Pac(),X8b),b);p=Rac(b.k);p!=-1&&(q=l5b(b),p!=q&&u$(nHc+p+oHc+q,b));q$(a,b.b);wZ(a,b.b.e);fZ(a,b.b?b.b.g:null);return;case 101:xZ(a,(AMb(),ULb),
b);VZ((Pac(),Y8b),b);r=Rac(b.k);r!=-1&&(s=l5b(b),r!=s&&u$(nHc+r+oHc+s,b));q$(a,b.b);wZ(a,b.b.e);fZ(a,b.b?b.b.g:null);return;case 102:xZ(a,(AMb(),TLb),b);xZ(a,CLb,b);VZ((Pac(),W8b),b);t=Rac(b.k);t!=-1&&(u=l5b(b),t!=u&&u$(nHc+t+oHc+u,b));q$(a,b.b);wZ(a,b.b.e);fZ(a,b.b?b.b.g:null);return;case 70:VZ((Pac(),Mac),b);v=Rac(b.k);v!=-1&&(w=l5b(b),v!=w&&u$(nHc+v+oHc+w,b));wZ(a,b.b);fZ(a,b.b?b.b.g:null);return;case 71:VZ((Pac(),H8b),b);A=Rac(b.k);A!=-1&&(B=l5b(b),A!=B&&u$(nHc+A+oHc+B,b));fZ(a,b.b);wZ(a,b.b?
b.b.g:null);return;case 67:l$(a,b);return;case 66:VZ((Pac(),h9b),b);C=l5b(b);(C<2||C>3)&&u$(wHc+C,b);wZ(a,b.b);fZ(a,b.b.e);l5b(b)==3&&fZ(a,b.b?b.b.g:null);return;case 88:for(e=(!b.b?(Jtc(),Jtc(),Itc):new h7b(b.b))._d();e.Od();){d=e.Pd();d.k==(Pac(),F8b)?(g=l5b(d),2!=g&&u$(mHc+g,d)):(h=l5b(d),1!=h&&u$(rHc+h,d))}case 76:case 100:QZ(a,b.k,b);return;case 84:VZ((Pac(),T8b),b);D=Rac(b.k);D!=-1&&(F=l5b(b),D!=F&&u$(nHc+D+oHc+F,b));wZ(a,b.b);return;case 0:VZ((Pac(),iac),b);LZ(b);!!b.b&&wZ(a,b.b);return;case 39:VZ((Pac(),
Bac),b);G=Rac(b.k);G!=-1&&(H=l5b(b),G!=H&&u$(nHc+G+oHc+H,b));wZ(a,b.b);return;case 44:o$(a,b);return;case 74:VZ((Pac(),m8b),b);LZ(b);!!b.b&&KZ(b.b);return;case 75:VZ((Pac(),y8b),b);LZ(b);!!b.b&&KZ(b.b);return;case 80:case 89:f=l5b(b);0!=f&&u$(lHc+f,b);return;case 96:jZ(a,b,c);OZ(b.b);return;case 105:CZ(a,b);return;case 109:tZ(a,b,c);return;case 149:xZ(a,(AMb(),$Lb),b);VZ((Pac(),r9b),b);I=Rac(b.k);I!=-1&&(J=l5b(b),I!=J&&u$(nHc+I+oHc+J,b));K=b.b;OZ(K);L=K.e;L.k==J8b?(M=l5b(L),0!=M&&u$(lHc+M,L)):GZ(L);
IZ(a,b.b?b.b.g:null);return;case 152:rZ(b);return;case 155:p$(a,b);return;case 156:xZ(a,(AMb(),zLb),b);VZ((Pac(),B8b),b);bZ(a,b.b);return;case 160:RZ(a,b,c);return;default:u$("Expected statement but was "+b.k+".",b)}}function _Db(){_Db=bY;wDb=new aEb("NG_INJECT",0);UCb=new aEb("ABSTRACT",1);VCb=new aEb("AUTHOR",2);ZCb=new aEb("CUSTOM_ELEMENT",3);WCb=new aEb("CONSISTENTIDGENERATOR",4);XCb=new aEb("CONSTANT",5);YCb=new aEb(FLc,6);LDb=new aEb("RECORD",7);$Cb=new aEb("DEFINE",8);_Cb=new aEb("DEPRECATED",
9);aDb=new aEb("DESC",10);bDb=new aEb("DICT",11);cDb=new aEb("DISPOSES",12);dDb=new aEb(GLc,13);gDb=new aEb(HLc,14);hDb=new aEb("EXTERNS",15);eDb=new aEb(ILc,16);fDb=new aEb("EXPOSE",17);iDb=new aEb("FILE_OVERVIEW",18);jDb=new aEb("FINAL",19);kDb=new aEb("HIDDEN",20);lDb=new aEb("IDGENERATOR",21);mDb=new aEb(JLc,22);nDb=new aEb("IMPLICIT_CAST",23);oDb=new aEb("INHERIT_DOC",24);pDb=new aEb(KLc,25);qDb=new aEb("LENDS",26);rDb=new aEb("LICENSE",27);sDb=new aEb("MEANING",28);tDb=new aEb("MIXIN_CLASS",
29);uDb=new aEb("MIXIN_FUNCTION",30);vDb=new aEb("MODIFIES",31);yDb=new aEb("NO_COLLAPSE",32);zDb=new aEb("NO_COMPILE",33);ADb=new aEb("NO_INLINE",34);BDb=new aEb("NO_SIDE_EFFECTS",35);xDb=new aEb("NOT_IMPLEMENTED",36);CDb=new aEb("OVERRIDE",37);DDb=new aEb(LLc,38);EDb=new aEb("PARAM",39);FDb=new aEb("POLYMER",40);GDb=new aEb("POLYMER_BEHAVIOR",41);HDb=new aEb("PRESERVE",42);IDb=new aEb(MLc,43);JDb=new aEb(NLc,44);KDb=new aEb(OLc,45);MDb=new aEb(PLc,46);NDb=new aEb("SEE",47);ODb=new aEb("STABLEIDGENERATOR",
48);PDb=new aEb("STRUCT",49);QDb=new aEb("SUPPRESS",50);RDb=new aEb("TEMPLATE",51);SDb=new aEb(iHc,52);TDb=new aEb("THROWS",53);UDb=new aEb(QLc,54);VDb=new aEb("TYPEDEF",55);WDb=new aEb("TYPE_SUMMARY",56);XDb=new aEb("UNRESTRICTED",57);YDb=new aEb("VERSION",58);ZDb=new aEb("WIZACTION",59);$Db=Ar(new Dr,"ngInject",wDb).Jf("abstract",UCb).Jf("argument",EDb).Jf("author",VCb).Jf("consistentIdGenerator",WCb).Jf(mJc,XCb).Jf("constant",XCb).Jf(vJc,YCb).Jf("customElement",ZCb).Jf("copyright",rDb).Jf("define",
$Cb).Jf(hJc,_Cb).Jf("desc",aDb).Jf("dict",bDb).Jf("disposes",cDb).Jf(qIc,dDb).Jf(_Hc,eDb).Jf("expose",fDb).Jf(eIc,gDb).Jf("externs",hDb).Jf("fileoverview",iDb).Jf("final",jDb).Jf("hidden",kDb).Jf("idGenerator",lDb).Jf(fIc,mDb).Jf("implicitCast",nDb).Jf("inheritDoc",oDb).Jf(pIc,pDb).Jf("record",LDb).Jf("lends",qDb).Jf("license",rDb).Jf("meaning",sDb).Jf("mixinClass",tDb).Jf("mixinFunction",uDb).Jf("modifies",vDb).Jf("nocollapse",yDb).Jf("nocompile",zDb).Jf("noinline",ADb).Jf("nosideeffects",BDb).Jf("override",
CDb).Jf("owner",VCb).Jf(RLc,DDb).Jf("param",EDb).Jf("polymer",FDb).Jf("polymerBehavior",GDb).Jf("preserve",HDb).Jf(SLc,IDb).Jf(TLc,JDb).Jf(ULc,KDb).Jf(WHc,MDb).Jf("returns",MDb).Jf("see",NDb).Jf("stableIdGenerator",ODb).Jf("struct",PDb).Jf("suppress",QDb).Jf("template",RDb).Jf(jHc,SDb).Jf(LKc,TDb).Jf(rIc,UDb).Jf("typedef",VDb).Jf("typeSummary",WDb).Jf("unrestricted",XDb).Jf("version",YDb).Jf("wizaction",ZDb).If()}function ajb(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;g=false;k=new ksc;k.a[k.a.length]=
"/**";(b.a&CIc)!=0?(k.a[k.a.length]="@externs",true):(b.a&16)!=0&&(k.a[k.a.length]="@typeSummary",true);(b.a&BGc)!=0?(k.a[k.a.length]="@export",true):!!b.j&&b.j!=(t3b(),o3b)&&asc(k,"@"+be(b.j).toLowerCase());(b.a&KKc)!=0&&(k.a[k.a.length]="@abstract",true);(!b.d?null:b.d.g)!=null&&asc(k,"@lends {"+(!b.d?null:b.d.g)+"}");(b.a&1)!=0&&(b.a&4)==0&&(k.a[k.a.length]="@const",true);(b.a&32)!=0&&(k.a[k.a.length]="@final",true);d=!b.d?null:b.d.c;d!=null&&(k.a[k.a.length]="@desc "+d+KGc,true);(b.a&$Jc)!=0&&
(k.a[k.a.length]="@dict",true);(b.a&$Gc)!=0&&(k.a[k.a.length]="@struct",true);(b.a&ZJc)!=0&&(k.a[k.a.length]="@unrestricted ",true);(b.a&2)!=0&&(k.a[k.a.length]="@constructor",true);((b.a&512)!=0||(b.a&rJc)!=0)&&(b.a&rJc)==0&&(k.a[k.a.length]="@interface",true);((b.a&512)!=0||(b.a&rJc)!=0)&&(b.a&rJc)!=0&&(k.a[k.a.length]="@record",true);if(!b.d?null:b.d.a){g=true;s=bjb((!b.d?null:b.d.a).a);asc(k,$ib(a,eIc,s))}for(r=Q1b(b)._d();r.Od();){p=r.Pd();g=true;s=bjb(p.a);asc(k,$ib(a,eIc,s))}for(q=S1b(b)._d();q.Od();){p=
q.Pd();g=true;s=bjb(p.a);asc(k,$ib(a,fIc,s))}if(b.g){g=true;s=bjb(b.g.a);asc(k,$ib(a,jHc,s))}if(W1b(b)>0){g=true;for(i=Y1b(b)._d();i.Od();){h=i.Pd();asc(k,"@param "+_ib(a,h,Z1b(b,h)))}}if((b.a&YJc)==AGc){g=true;asc(k,$ib(a,WHc,((YJc&b.a)==AGc?b.i:null).a))}a2b(b).$d()||asc(k,$ib(a,LKc,a2b(b).ge(0).a));j=_1b(b);if(!j.$d()){asc(k,MKc+Lc(new Nc(String.fromCharCode(44)),j._d()));g=true}t=d2b(b);if(!t.$d()){g=true;for(f=An(t)._d();f.Od();){e=f.Pd();h=e.Ve();o=c2(new h2(e.We()));k.a[k.a.length]=MKc+h+" := "+
o+" =:"}}(b.a&64)!=0&&(k.a[k.a.length]="@override",true);(b.a&YJc)==aKc&&(b.a&4)==0&&(b.e?asc(k,cjb(a,((YJc&b.a)==aKc?b.i:null).a)):asc(k,$ib(a,rIc,((YJc&b.a)==aKc?b.i:null).a)));(b.a&4)!=0&&asc(k,$ib(a,"define",((YJc&b.a)==aKc?b.i:null).a));(b.a&YJc)==LGc&&asc(k,$ib(a,"typedef",((YJc&b.a)==LGc?b.i:null).a));(b.a&YJc)==yKc&&asc(k,$ib(a,qIc,((YJc&b.a)==yKc?b.i:null).a));(b.a&8192)!=0&&(k.a[k.a.length]="@implicitCast",true);(b.a&AKc)!=0&&(k.a[k.a.length]="@nocollapse",true);n=(m=!b.d?null:b.d.p,!m?
(Jtc(),Jtc(),Itc):m);if(!n.$d()){c=n.ee(BD(UU,FHc,2,0,6,1));btc(c,(Yx(),Xx));asc(k,"@suppress {"+Lc(new Nc(String.fromCharCode(44)),new Ipc(new ltc(c)))+"}");g=true}if((b.a&256)!=0){asc(k,"@deprecated "+(!b.d?null:b.d.b));g=true}if(!!b.d&&Y2b(b.d,3)){g=true;k.a[k.a.length]="@polymer"}if(!!b.d&&Y2b(b.d,2)){g=true;k.a[k.a.length]="@polymerBehavior"}if(!!b.d&&Y2b(b.d,6)){g=true;k.a[k.a.length]="@mixinFunction"}if(!!b.d&&Y2b(b.d,5)){g=true;k.a[k.a.length]="@mixinClass"}if(!!b.d&&Y2b(b.d,4)){g=true;k.a[k.a.length]=
"@customElement"}k.a[k.a.length]="*/";l=new uoc;g?Jc(new Nc("\n "),l,new Bsc(k)):Jc(new Nc(" "),l,new Bsc(k));l.a+=g?KGc:" ";return l.a}function Xpb(){Xpb=bY;new D9("JSC_NULL_ARGUMENT_ERROR",(O_(),L_),new Toc('method "{0}" called without an argument'));new D9("JSC_EXPECTED_OBJECTLIT_ERROR",L_,new Toc('method "{0}" expected an object literal argument'));new D9("JSC_EXPECTED_STRING_ERROR",L_,new Toc('method "{0}" expected an object string argument'));new D9("JSC_INVALID_ARGUMENT_ERROR",L_,new Toc('method "{0}" called with invalid argument'));
new D9("JSC_INVALID_CSS_NAME_MAP_STYLE_ERROR",L_,new Toc("Invalid CSS name map style {0}"));new D9("JSC_TOO_MANY_ARGUMENTS_ERROR",L_,new Toc('method "{0}" called with more than one argument'));new D9("JSC_DUPLICATE_NAMESPACE_ERROR",L_,new Toc('namespace "{0}" cannot be provided twice'));new D9("JSC_WEAK_NAMESPACE_TYPE",N_,new Toc("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 D9("JSC_CLASS_NAMESPACE_ERROR",L_,new Toc("\"{0}\" cannot be both provided and declared as a class. Try var {0} = class '{'...'}'"));new D9("JSC_FUNCTION_NAMESPACE_ERROR",L_,new Toc('"{0}" cannot be both provided and declared as a function'));Vpb=new D9("JSC_MISSING_PROVIDE_ERROR",L_,new Toc('required "{0}" namespace never provided'));Upb=new D9(OHc,L_,new Toc('required "{0}" namespace not provided yet'));Tpb=new D9("JSC_INVALID_PROVIDE_ERROR",L_,new Toc('"{0}" is not a valid {1} qualified name'));
new D9("JSC_INVALID_DEFINE_NAME_ERROR",L_,new Toc('"{0}" is not a valid JS identifier name'));new D9("JSC_INVALID_MISSING_DEFINE_ANNOTATION",L_,new Toc("Missing @define annotation"));new D9("JSC_XMODULE_REQUIRE_ERROR",N_,new Toc('namespace "{0}" is required in module {2} but provided in module {1}. Is module {2} missing a dependency on module {1}?'));Spb=new D9("JSC_INVALID_CLOSURE_CALL_ERROR",L_,new Toc("Closure dependency methods(goog.provide, goog.require, etc) must be called at file scope."));
new D9("JSC_NON_STRING_PASSED_TO_SET_CSS_NAME_MAPPING_ERROR",L_,new Toc("goog.setCssNameMapping only takes an object literal with string values"));new D9("INVALID_CSS_RENAMING_MAP",N_,new Toc("Invalid entries in css renaming map: {0}"));new D9("JSC_GOOG_BASE_CLASS_ERROR",L_,new Toc("incorrect use of goog.base: {0}"));new D9("JSC_BASE_CLASS_ERROR",L_,new Toc("incorrect use of {0}.base: {1}"));new D9("JSC_CLOSURE_DEFINES_ERROR",L_,new Toc("Invalid CLOSURE_DEFINES definition"));new D9("JSC_INVALID_FORWARD_DECLARE",
L_,new Toc("Malformed goog.forwardDeclaration"));Wpb=new D9("JSC_USE_OF_GOOG_BASE",M_,new Toc("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 AMb(){AMb=bY;QLb=new BMb("ES3_KEYWORDS_AS_IDENTIFIERS",0,"ES3 keywords as identifiers",1);XLb=new BMb("GETTER",
1,"getters",1);_Lb=new BMb("KEYWORDS_AS_PROPERTIES",2,"reserved words as properties",1);rMb=new BMb("SETTER",3,"setters",1);tMb=new BMb("STRING_CONTINUATION",4,"string continuation",1);wMb=new BMb("TRAILING_COMMA",5,"trailing comma",1);ALb=new BMb("ARRAY_PATTERN_REST",6,"array pattern rest",2);BLb=new BMb("ARROW_FUNCTIONS",7,"arrow function",2);ELb=new BMb("BINARY_LITERALS",8,"binary literal",2);FLb=new BMb("BLOCK_SCOPED_FUNCTION_DECLARATION",9,"block-scoped function declaration",2);HLb=new BMb("CLASSES",
10,dIc,2);ILb=new BMb("CLASS_EXTENDS",11,"class extends",2);JLb=new BMb("CLASS_GETTER_SETTER",12,"class getters/setters",2);KLb=new BMb("COMPUTED_PROPERTIES",13,"computed property",2);MLb=new BMb("CONST_DECLARATIONS",14,"const declaration",2);NLb=new BMb("DEFAULT_PARAMETERS",15,"default parameter",2);OLb=new BMb("DESTRUCTURING",16,"destructuring",2);SLb=new BMb("EXTENDED_OBJECT_LITERALS",17,"extended object literal",2);ULb=new BMb("FOR_OF",18,"for-of loop",2);VLb=new BMb("GENERATORS",19,"generator",
2);aMb=new BMb("LET_DECLARATIONS",20,"let declaration",2);bMb=new BMb("MEMBER_DECLARATIONS",21,"member declaration",2);fMb=new BMb(HMc,22,hIc,2);iMb=new BMb("OCTAL_LITERALS",23,"octal literal",2);lMb=new BMb("REGEXP_FLAG_U",24,"RegExp flag 'u'",2);mMb=new BMb("REGEXP_FLAG_Y",25,"RegExp flag 'y'",2);qMb=new BMb("REST_PARAMETERS",26,"rest parameter",2);sMb=new BMb("SPREAD_EXPRESSIONS",27,"spread expression",2);uMb=new BMb(gHc,28,hHc,2);vMb=new BMb("TEMPLATE_LITERALS",29,"template literal",2);dMb=new BMb("MODULES",
30,"modules",2);RLb=new BMb("EXPONENT_OP",31,"exponent operator (**)",3);CLb=new BMb("ASYNC_FUNCTIONS",32,tIc,4);xMb=new BMb("TRAILING_COMMA_IN_PARAM_LIST",33,"trailing comma in param list",4);gMb=new BMb("OBJECT_LITERALS_WITH_SPREAD",34,"object literals with spread",5);hMb=new BMb("OBJECT_PATTERN_REST",35,"object pattern rest",5);DLb=new BMb("ASYNC_GENERATORS",36,"async generator functions",5);TLb=new BMb(IMc,37,"for-await-of loop",5);kMb=new BMb("REGEXP_FLAG_S",38,"RegExp flag 's'",5);nMb=new BMb("REGEXP_LOOKBEHIND",
39,"RegExp Lookbehind",5);oMb=new BMb("REGEXP_NAMED_GROUPS",40,"RegExp named groups",5);pMb=new BMb("REGEXP_UNICODE_PROPERTY_ESCAPE",41,"RegExp unicode property escape",5);yLb=new BMb("ACCESSIBILITY_MODIFIER",42,"accessibility modifier",7);zLb=new BMb(JMc,43,"ambient declaration",7);GLb=new BMb(KMc,44,"call signature",7);LLb=new BMb("CONSTRUCTOR_SIGNATURE",45,"constructor signature",7);PLb=new BMb(GLc,46,qIc,7);WLb=new BMb("GENERICS",47,"generics",7);YLb=new BMb(JLc,48,fIc,7);ZLb=new BMb(LMc,49,"index signature",
7);$Lb=new BMb(KLc,50,pIc,7);cMb=new BMb("MEMBER_VARIABLE_IN_CLASS",51,"member variable in class",7);eMb=new BMb(MMc,52,"namespace declaration",7);jMb=new BMb(NMc,53,"optional parameter",7);yMb=new BMb(OMc,54,"type alias",7);zMb=new BMb("TYPE_ANNOTATION",55,"type annotation",7)}function Tac(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=OFc;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=oIc;d=true;break g;case 119:b="with";d=true;break g}break g;case 5:switch(e.charCodeAt(2)){case 97:b=dIc;d=true;break g;case 101:b="break";d=true;break g;case 105:b=gIc;d=true;break g;case 108:b=jIc;d=true;break g;case 110:c=e.charCodeAt(0);if(c==99){b=mJc;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=hHc;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=SMc;d=true}else if(c==114){b=WHc;d=true}break g;case 104:b=LKc;d=true;break g;case 109:b=cIc;d=true;break g;case 111:b="double";d=true;break g;case 116:b=WLc;d=true;break g;case 117:b=ULc;d=true;break g;case 119:b="switch";
d=true;break g;case 120:b=_Hc;d=true;break g;case 121:b=PKc;d=true;break g}break g;case 7:switch(e.charCodeAt(1)){case 97:b=RLc;d=true;break g;case 101:b=aIc;d=true;break g;case 105:b=VHc;d=true;break g;case 111:b=AFc;d=true;break g;case 114:b=SLc;d=true;break g;case 120:b=eIc;d=true;break g}break g;case 8:switch(e.charCodeAt(0)){case 97:b="abstract";d=true;break g;case 99:b=lIc;d=true;break g;case 100:b=nIc;d=true;break g;case 102:b=CFc;d=true;break g;case 118:b="volatile";d=true;break g}break g;
case 9:c=e.charCodeAt(0);if(c==105){b=pIc;d=true}else if(c==112){b=TLc;d=true}else if(c==116){b="transient";d=true}break g;case 10:c=e.charCodeAt(1);if(c==109){b=fIc;d=true}else if(c==110){b=QKc;d=true}break g;case 12:b="synchronized";d=true;break g}if(b!=null&&b!=e&&!Fnc(b,e))return false}return d}function x0(){x0=bY;new D9("JSC_AT_EXPORT_IN_GOOG_MODULE",(O_(),L_),new Toc("@export has no effect here"));o0=new D9("JSC_AT_EXPORT_IN_NON_LEGACY_GOOG_MODULE",L_,new Toc("@export is not allowed here in a non-legacy goog.module. Consider using goog.exportSymbol instead."));
q0=new D9("JSC_GOOG_MODULE_IN_NON_MODULE",L_,new Toc("goog.module() call must be the first statement in a module."));p0=new D9("JSC_DECLARE_LEGACY_NAMESPACE_IN_NON_MODULE",L_,new Toc("goog.module.declareLegacyNamespace may only be called in a goog.module."));new D9("JSC_GOOG_MODULE_REFERENCES_THIS",L_,new Toc("The body of a goog.module cannot reference 'this'."));new D9("JSC_GOOG_MODULE_USES_THROW",L_,new Toc("The body of a goog.module cannot use 'throw'."));new D9("JSC_MODULE_USES_GOOG_MODULE_GET",
L_,new Toc("It's illegal to use a 'goog.module.get' at the module top-level. Did you mean to use goog.require instead?"));new D9("JSC_DUPLICATE_NAME_SHORT_REQUIRE",L_,new Toc("Found multiple goog.require statements importing identifier ''{0}''."));new D9("JSC_INVALID_DESTRUCTURING_REQUIRE",L_,new Toc("Destructuring goog.require must be a simple object pattern."));new D9("JSC_INVALID_DESTRUCTURING_FORWARD_DECLARE",L_,new Toc("Cannot destructure a forward-declared type"));u0=new D9("JSC_LET_GOOG_REQUIRE",
M_,new Toc("Module imports must be constant. Please use 'const' instead of 'let'."));new D9("JSC_MULTIPLE_MODULES_IN_FILE",L_,new Toc("There should only be a single goog.module() statement per file."));new D9("JSC_MODULE_AND_PROVIDES",L_,new Toc("A file using goog.module() may not also use goog.provide() statements."));new D9("JSC_ONE_REQUIRE_PER_DECLARATION",L_,new Toc("There may only be one goog.require() per var/let/const declaration."));r0=new D9("JSC_INCORRECT_SHORTNAME_CAPITALIZATION",M_,new Toc("The capitalization of short name {0} is incorrect; it should be {1}."));
new D9("JSC_EXPORT_NOT_A_MODULE_LEVEL_STATEMENT",L_,new Toc("Exports must be a statement at the top-level of a module"));new D9("JSC_EXPORT_REPEATED_ERROR",L_,new Toc("Name cannot be exported multiple times. Previous export on line {0}."));new D9("JSC_REFERENCE_TO_MODULE_GLOBAL_NAME",L_,new Toc("References to the global name of a module are not allowed. Perhaps you meant exports?"));v0=new D9("JSC_REFERENCE_TO_FULLY_QUALIFIED_IMPORT_NAME",M_,new Toc("Reference to fully qualified import name ''{0}''. Imports in goog.module should use the return value of goog.require / goog.forwardDeclare instead."));
w0=new D9("JSC_REFERENCE_TO_SHORT_IMPORT_BY_LONG_NAME_INCLUDING_SHORT_NAME",M_,new Toc("Reference to fully qualified import name ''{0}''. Please use the short name ''{1}'' instead."));s0=new D9("JSC_JSDOC_REFERENCE_TO_FULLY_QUALIFIED_IMPORT_NAME",M_,new Toc("Reference to fully qualified import name ''{0}'' in JSDoc. Imports in goog.module should use the return value of goog.require / goog.forwardDeclare instead."));t0=new D9("JSC_JSDOC_REFERENCE_TO_SHORT_IMPORT_BY_LONG_NAME_INCLUDING_SHORT_NAME",
M_,new Toc("Reference to fully qualified import name ''{0}'' in JSDoc. Please use the short name ''{1}'' instead."));new D9("JSC_REQUIRE_NOT_AT_TOP_LEVEL",L_,new Toc("goog.require() must be called at file scope."))}function WXb(){WXb=bY;uXb=new XXb("PROGRAM",0);VWb=new XXb("FUNCTION_DECLARATION",1);oWb=new XXb("BLOCK",2);SXb=new XXb("VARIABLE_STATEMENT",3);QXb=new XXb("VARIABLE_DECLARATION",4);KWb=new XXb("EMPTY_STATEMENT",5);OWb=new XXb("EXPRESSION_STATEMENT",6);$Wb=new XXb("IF_STATEMENT",7);JWb=
new XXb("DO_WHILE_STATEMENT",8);TXb=new XXb("WHILE_STATEMENT",9);SWb=new XXb("FOR_IN_STATEMENT",10);UWb=new XXb("FOR_STATEMENT",11);RXb=new XXb("VARIABLE_DECLARATION_LIST",12);FWb=new XXb("CONTINUE_STATEMENT",13);pWb=new XXb("BREAK_STATEMENT",14);yXb=new XXb("RETURN_STATEMENT",15);UXb=new XXb("WITH_STATEMENT",16);sWb=new XXb("CASE_CLAUSE",17);HWb=new XXb("DEFAULT_CLAUSE",18);CXb=new XXb("SWITCH_STATEMENT",19);dXb=new XXb("LABELLED_STATEMENT",20);HXb=new XXb("THROW_STATEMENT",21);tWb=new XXb(PMc,22);
IXb=new XXb("TRY_STATEMENT",23);GWb=new XXb("DEBUGGER_STATEMENT",24);GXb=new XXb("THIS_EXPRESSION",25);ZWb=new XXb("IDENTIFIER_EXPRESSION",26);eXb=new XXb("LITERAL_EXPRESSION",27);iWb=new XXb("ARRAY_LITERAL_EXPRESSION",28);pXb=new XXb("OBJECT_LITERAL_EXPRESSION",29);wWb=new XXb("COMPREHENSION",30);yWb=new XXb("COMPREHENSION_IF",31);xWb=new XXb("COMPREHENSION_FOR",32);YWb=new XXb("GET_ACCESSOR",33);zXb=new XXb("SET_ACCESSOR",34);vXb=new XXb("PROPERTY_NAME_ASSIGNMENT",35);zWb=new XXb("COMPUTED_PROPERTY_DEFINITION",
36);AWb=new XXb("COMPUTED_PROPERTY_GETTER",37);CWb=new XXb("COMPUTED_PROPERTY_METHOD",38);DWb=new XXb("COMPUTED_PROPERTY_SETTER",39);iXb=new XXb("MISSING_PRIMARY_EXPRESSION",40);vWb=new XXb("COMMA_EXPRESSION",41);nWb=new XXb("BINARY_OPERATOR",42);EWb=new XXb("CONDITIONAL_EXPRESSION",43);NXb=new XXb("UNARY_EXPRESSION",44);PXb=new XXb("UPDATE_EXPRESSION",45);fXb=new XXb("MEMBER_EXPRESSION",46);mXb=new XXb("NEW_EXPRESSION",47);hWb=new XXb("ARGUMENT_LIST",48);qWb=new XXb("CALL_EXPRESSION",49);uWb=new XXb("CLASS_DECLARATION",
50);cXb=new XXb("INTERFACE_DECLARATION",51);kXb=new XXb(MMc,52);lXb=new XXb("NAMESPACE_NAME",53);LWb=new XXb("ENUM_DECLARATION",54);gXb=new XXb("MEMBER_LOOKUP_EXPRESSION",55);tXb=new XXb("PAREN_EXPRESSION",56);PWb=new XXb(TMc,57);BXb=new XXb("SUPER_EXPRESSION",58);jWb=new XXb(lNc,59);lWb=new XXb("ASSIGNMENT_REST_ELEMENT",60);qXb=new XXb(mNc,61);QWb=new XXb("FORMAL_PARAMETER_LIST",62);AXb=new XXb("SPREAD_EXPRESSION",63);oXb=new XXb(XMc,64);xXb=new XXb("REST_PARAMETER",65);jXb=new XXb("MODULE_IMPORT",
66);MWb=new XXb("EXPORT_DECLARATION",67);NWb=new XXb("EXPORT_SPECIFIER",68);_Wb=new XXb("IMPORT_DECLARATION",69);aXb=new XXb("IMPORT_SPECIFIER",70);TWb=new XXb("FOR_OF_STATEMENT",71);RWb=new XXb("FOR_AWAIT_OF_STATEMENT",72);VXb=new XXb("YIELD_EXPRESSION",73);IWb=new XXb("DEFAULT_PARAMETER",74);DXb=new XXb("TEMPLATE_LITERAL_EXPRESSION",75);EXb=new XXb("TEMPLATE_LITERAL_PORTION",76);FXb=new XXb("TEMPLATE_SUBSTITUTION",77);LXb=new XXb("TYPE_NAME",78);MXb=new XXb("TYPE_QUERY",79);JXb=new XXb("TYPED_PARAMETER",
80);rXb=new XXb(NMc,81);sXb=new XXb("PARAMETERIZED_TYPE_TREE",82);kWb=new XXb(nNc,83);wXb=new XXb(oNc,84);OXb=new XXb(pNc,85);WWb=new XXb(qNc,86);XWb=new XXb(rNc,87);hXb=new XXb("MEMBER_VARIABLE",88);BWb=new XXb("COMPUTED_PROPERTY_MEMBER_VARIABLE",89);KXb=new XXb(OMc,90);gWb=new XXb(JMc,91);bXb=new XXb(LMc,92);rWb=new XXb(KMc,93);nXb=new XXb("NEW_TARGET_EXPRESSION",94);mWb=new XXb("AWAIT_EXPRESSION",95)}function jUb(){jUb=bY;GSb=new mUb("END_OF_FILE",0,"End of File");LSb=new mUb(cHc,1,"error");TSb=
new mUb("IDENTIFIER",2,"identifier");mSb=new lUb("BREAK",3);pSb=new lUb("CASE",4);qSb=new lUb(PMc,5);zSb=new lUb(QMc,6);ASb=new lUb(RMc,7);CSb=new lUb(sLc,8);DSb=new lUb("DELETE",9);ESb=new lUb("DO",10);FSb=new lUb("ELSE",11);PSb=new lUb(TMc,12);QSb=new lUb("FOR",13);RSb=new lUb(CKc,14);USb=new lUb("IF",15);XSb=new lUb("IN",16);YSb=new lUb(FMc,17);hTb=new lUb("NEW",18);FTb=new lUb(PLc,19);TTb=new lUb(UMc,20);XTb=new lUb(iHc,21);YTb=new lUb("THROW",22);_Tb=new lUb("TRY",23);bUb=new lUb(VMc,24);eUb=
new lUb("VAR",25);fUb=new lUb("VOID",26);gUb=new lUb("WHILE",27);hUb=new lUb("WITH",28);rSb=new lUb(BKc,29);ySb=new lUb("CONST",30);HSb=new lUb(GLc,31);MSb=new lUb(ILc,32);NSb=new lUb(HLc,33);WSb=new lUb(WMc,34);STb=new lUb(gHc,35);VSb=new lUb(JLc,36);ZSb=new lUb(KLc,37);bTb=new lUb("LET",38);sTb=new lUb(LLc,39);ATb=new lUb(MLc,40);BTb=new lUb(NLc,41);CTb=new lUb(OLc,42);QTb=new lUb("STATIC",43);iUb=new lUb("YIELD",44);oTb=new mUb("OPEN_CURLY",45,"{");tSb=new mUb("CLOSE_CURLY",46,"}");pTb=new mUb("OPEN_PAREN",
47,"(");uSb=new mUb("CLOSE_PAREN",48,")");qTb=new mUb("OPEN_SQUARE",49,"[");vSb=new mUb("CLOSE_SQUARE",50,"]");vTb=new mUb("PERIOD",51,".");ITb=new mUb("SEMI_COLON",52,";");xSb=new mUb("COMMA",53,",");nTb=new mUb("OPEN_ANGLE",54,"<");sSb=new mUb("CLOSE_ANGLE",55,">");aTb=new mUb("LESS_EQUAL",56,"<=");SSb=new mUb("GREATER_EQUAL",57,">=");iSb=new mUb("ARROW",58,"=>");JSb=new mUb("EQUAL_EQUAL",59,"==");iTb=new mUb("NOT_EQUAL",60,"!=");KSb=new mUb("EQUAL_EQUAL_EQUAL",61,"===");jTb=new mUb("NOT_EQUAL_EQUAL",
62,"!==");wTb=new mUb("PLUS",63,"+");cTb=new mUb("MINUS",64,"-");MTb=new mUb("STAR",65,"*");OTb=new mUb("STAR_STAR",66,"**");tTb=new mUb("PERCENT",67,"%");yTb=new mUb("PLUS_PLUS",68,"++");eTb=new mUb("MINUS_MINUS",69,"--");$Sb=new mUb("LEFT_SHIFT",70,"<<");GTb=new mUb("RIGHT_SHIFT",71,">>");cUb=new mUb("UNSIGNED_RIGHT_SHIFT",72,">>>");fSb=new mUb("AMPERSAND",73,"&");kSb=new mUb("BAR",74,"|");nSb=new mUb("CARET",75,"^");jSb=new mUb("BANG",76,"!");ZTb=new mUb("TILDE",77,"~");hSb=new mUb("AND",78,"&&");
rTb=new mUb("OR",79,"||");DTb=new mUb("QUESTION",80,"?");wSb=new mUb("COLON",81,":");ISb=new mUb("EQUAL",82,"=");xTb=new mUb("PLUS_EQUAL",83,"+=");dTb=new mUb("MINUS_EQUAL",84,"-=");NTb=new mUb("STAR_EQUAL",85,"*=");PTb=new mUb("STAR_STAR_EQUAL",86,"**=");uTb=new mUb("PERCENT_EQUAL",87,"%=");_Sb=new mUb("LEFT_SHIFT_EQUAL",88,"<<=");HTb=new mUb("RIGHT_SHIFT_EQUAL",89,">>=");dUb=new mUb("UNSIGNED_RIGHT_SHIFT_EQUAL",90,">>>=");gSb=new mUb("AMPERSAND_EQUAL",91,"&=");lSb=new mUb("BAR_EQUAL",92,"|=");oSb=
new mUb("CARET_EQUAL",93,"^=");JTb=new mUb("SLASH",94,"/");KTb=new mUb("SLASH_EQUAL",95,"/=");zTb=new mUb("POUND",96,"#");lTb=new lUb(XMc,97);$Tb=new lUb(YMc,98);OSb=new lUb(ZMc,99);mTb=new mUb("NUMBER",100,"number literal");RTb=new mUb(qMc,101,"string literal");ETb=new mUb("REGULAR_EXPRESSION",102,"regular expression literal");LTb=new mUb("SPREAD",103,$Hc);UTb=new mUb("TEMPLATE_HEAD",104,"template head");VTb=new mUb("TEMPLATE_MIDDLE",105,"template middle");WTb=new mUb("TEMPLATE_TAIL",106,"template tail");
kTb=new mUb("NO_SUBSTITUTION_TEMPLATE",107,"no substitution template");aUb=new lUb(QLc,108);BSb=new lUb($Mc,109);fTb=new lUb("MODULE",110);gTb=new lUb(_Mc,111)}function BRb(a){var b,c;FRb(a);b=a.f;if(!mRb(a,a.f))return iRb(a,(jUb(),GSb),b);c=nRb(a);switch(c){case 123:return iRb(a,(jUb(),oTb),b);case 125:return iRb(a,(jUb(),tSb),b);case 40:return iRb(a,(jUb(),pTb),b);case 41:return iRb(a,(jUb(),uSb),b);case 91:return iRb(a,(jUb(),qTb),b);case 93:return iRb(a,(jUb(),vSb),b);case 46:if(WRb(mRb(a,a.f)?
Anc(a.b,a.f):0))return GRb(a),wRb(a,b);if((mRb(a,a.f)?Anc(a.b,a.f):0)==46&&(mRb(a,a.f+1)?Anc(a.b,a.f+1):0)==46){nRb(a);nRb(a);return iRb(a,(jUb(),LTb),b)}return iRb(a,(jUb(),vTb),b);case 59:return iRb(a,(jUb(),ITb),b);case 44:return iRb(a,(jUb(),xSb),b);case 126:return iRb(a,(jUb(),ZTb),b);case 63:return iRb(a,(jUb(),DTb),b);case 58:return iRb(a,(jUb(),wSb),b);case 60:switch(mRb(a,a.f)?Anc(a.b,a.f):0){case 60:nRb(a);if((mRb(a,a.f)?Anc(a.b,a.f):0)==61){nRb(a);return iRb(a,(jUb(),_Sb),b)}return iRb(a,
(jUb(),$Sb),b);case 61:nRb(a);return iRb(a,(jUb(),aTb),b);default:return iRb(a,(jUb(),nTb),b)}case 62:if(a.j>0)return iRb(a,(jUb(),sSb),b);switch(mRb(a,a.f)?Anc(a.b,a.f):0){case 62:nRb(a);switch(mRb(a,a.f)?Anc(a.b,a.f):0){case 61:nRb(a);return iRb(a,(jUb(),HTb),b);case 62:nRb(a);if((mRb(a,a.f)?Anc(a.b,a.f):0)==61){nRb(a);return iRb(a,(jUb(),dUb),b)}return iRb(a,(jUb(),cUb),b);default:return iRb(a,(jUb(),GTb),b)}case 61:nRb(a);return iRb(a,(jUb(),SSb),b);default:return iRb(a,(jUb(),sSb),b)}case 61:switch(mRb(a,
a.f)?Anc(a.b,a.f):0){case 61:nRb(a);if((mRb(a,a.f)?Anc(a.b,a.f):0)==61){nRb(a);return iRb(a,(jUb(),KSb),b)}return iRb(a,(jUb(),JSb),b);case 62:nRb(a);return iRb(a,(jUb(),iSb),b);default:return iRb(a,(jUb(),ISb),b)}case 33:if((mRb(a,a.f)?Anc(a.b,a.f):0)==61){nRb(a);if((mRb(a,a.f)?Anc(a.b,a.f):0)==61){nRb(a);return iRb(a,(jUb(),jTb),b)}return iRb(a,(jUb(),iTb),b)}return iRb(a,(jUb(),jSb),b);case 42:if((mRb(a,a.f)?Anc(a.b,a.f):0)==61){nRb(a);return iRb(a,(jUb(),NTb),b)}else if((mRb(a,a.f)?Anc(a.b,a.f):
0)==42){nRb(a);if((mRb(a,a.f)?Anc(a.b,a.f):0)==61){nRb(a);return iRb(a,(jUb(),PTb),b)}else return iRb(a,(jUb(),OTb),b)}return iRb(a,(jUb(),MTb),b);case 37:if((mRb(a,a.f)?Anc(a.b,a.f):0)==61){nRb(a);return iRb(a,(jUb(),uTb),b)}return iRb(a,(jUb(),tTb),b);case 94:if((mRb(a,a.f)?Anc(a.b,a.f):0)==61){nRb(a);return iRb(a,(jUb(),oSb),b)}return iRb(a,(jUb(),nSb),b);case 47:if((mRb(a,a.f)?Anc(a.b,a.f):0)==61){nRb(a);return iRb(a,(jUb(),KTb),b)}return iRb(a,(jUb(),JTb),b);case 43:switch(mRb(a,a.f)?Anc(a.b,
a.f):0){case 43:nRb(a);return iRb(a,(jUb(),yTb),b);case 61:nRb(a);return iRb(a,(jUb(),xTb),b);default:return iRb(a,(jUb(),wTb),b)}case 45:switch(mRb(a,a.f)?Anc(a.b,a.f):0){case 45:nRb(a);return iRb(a,(jUb(),eTb),b);case 61:nRb(a);return iRb(a,(jUb(),dTb),b);default:return iRb(a,(jUb(),cTb),b)}case 38:switch(mRb(a,a.f)?Anc(a.b,a.f):0){case 38:nRb(a);return iRb(a,(jUb(),hSb),b);case 61:nRb(a);return iRb(a,(jUb(),gSb),b);default:return iRb(a,(jUb(),fSb),b)}case 124:switch(mRb(a,a.f)?Anc(a.b,a.f):0){case 124:nRb(a);
return iRb(a,(jUb(),rTb),b);case 61:nRb(a);return iRb(a,(jUb(),lSb),b);default:return iRb(a,(jUb(),kSb),b)}case 35:return iRb(a,(jUb(),zTb),b);case 48:return zRb(a,b);case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return GRb(a),xRb(a,b);case 34:case 39:return ARb(a,b,c);case 96:return!mRb(a,a.f)&&tRb(a,RNb(a.i.b,b),iNc,ED(zD(PU,1),RFc,1,5,[])),qRb(a,(jUb(),kTb),UTb);default:return yRb(a,b,c)}}function Pac(){Pac=bY;iac=new Qac(PLc,0);i8b=new Qac("BITOR",1);j8b=new Qac("BITXOR",
2);g8b=new Qac("BITAND",3);N8b=new Qac("EQ",4);L9b=new Qac("NE",5);B9b=new Qac("LT",6);y9b=new Qac("LE",7);f9b=new Qac("GT",8);_8b=new Qac("GE",9);A9b=new Qac("LSH",10);kac=new Qac("RSH",11);Iac=new Qac("URSH",12);M7b=new Qac("ADD",13);uac=new Qac("SUB",14);G9b=new Qac("MUL",15);G8b=new Qac("DIV",16);E9b=new Qac("MOD",17);P8b=new Qac("EXPONENT",18);P9b=new Qac("NOT",19);h8b=new Qac("BITNOT",20);cac=new Qac("POS",21);M9b=new Qac("NEG",22);N9b=new Qac("NEW",23);E8b=new Qac("DELPROP",24);Eac=new Qac(VMc,
25);d9b=new Qac("GETPROP",26);c9b=new Qac("GETELEM",27);n8b=new Qac("CALL",28);H9b=new Qac("NAME",29);S9b=new Qac("NUMBER",30);rac=new Qac(qMc,31);Q9b=new Qac(XMc,32);Aac=new Qac(iHc,33);U8b=new Qac(ZMc,34);Cac=new Qac(YMc,35);nac=new Qac("SHEQ",36);oac=new Qac("SHNE",37);fac=new Qac("REGEXP",38);Bac=new Qac("THROW",39);n9b=new Qac("IN",40);q9b=new Qac(FMc,41);Q7b=new Qac("ARRAYLIT",42);U9b=new Qac("OBJECTLIT",43);Dac=new Qac("TRY",44);Z9b=new Qac("PARAM_LIST",45);v8b=new Qac("COMMA",46);T7b=new Qac("ASSIGN",
47);W7b=new Qac("ASSIGN_BITOR",48);X7b=new Qac("ASSIGN_BITXOR",49);V7b=new Qac("ASSIGN_BITAND",50);$7b=new Qac("ASSIGN_LSH",51);b8b=new Qac("ASSIGN_RSH",52);d8b=new Qac("ASSIGN_URSH",53);U7b=new Qac("ASSIGN_ADD",54);c8b=new Qac("ASSIGN_SUB",55);a8b=new Qac("ASSIGN_MUL",56);Y7b=new Qac("ASSIGN_DIV",57);_7b=new Qac("ASSIGN_MOD",58);Z7b=new Qac("ASSIGN_EXPONENT",59);g9b=new Qac("HOOK",60);X9b=new Qac("OR",61);N7b=new Qac("AND",62);o9b=new Qac("INC",63);A8b=new Qac("DEC",64);Z8b=new Qac(CKc,65);h9b=new Qac("IF",
66);wac=new Qac(UMc,67);p8b=new Qac("CASE",68);C8b=new Qac("DEFAULT_CASE",69);Mac=new Qac("WHILE",70);H8b=new Qac("DO",71);V8b=new Qac("FOR",72);X8b=new Qac("FOR_IN",73);m8b=new Qac("BREAK",74);y8b=new Qac(QMc,75);Jac=new Qac("VAR",76);Nac=new Qac("WITH",77);r8b=new Qac(PMc,78);Kac=new Qac("VOID",79);J8b=new Qac("EMPTY",80);jac=new Qac("ROOT",81);k8b=new Qac("BLOCK",82);u9b=new Qac("LABEL",83);T8b=new Qac("EXPR_RESULT",84);lac=new Qac("SCRIPT",85);e9b=new Qac("GETTER_DEF",86);mac=new Qac("SETTER_DEF",
87);x8b=new Qac("CONST",88);z8b=new Qac(RMc,89);v9b=new Qac("LABEL_NAME",90);sac=new Qac("STRING_KEY",91);q8b=new Qac("CAST",92);R7b=new Qac(lNc,93);V9b=new Qac(mNc,94);F8b=new Qac("DESTRUCTURING_LHS",95);s8b=new Qac(BKc,96);t8b=new Qac("CLASS_MEMBERS",97);C9b=new Qac("MEMBER_FUNCTION_DEF",98);vac=new Qac(gHc,99);z9b=new Qac("LET",100);Y8b=new Qac("FOR_OF",101);W8b=new Qac(IMc,102);Oac=new Qac("YIELD",103);e8b=new Qac("AWAIT",104);j9b=new Qac(WMc,105);l9b=new Qac("IMPORT_SPECS",106);k9b=new Qac("IMPORT_SPEC",
107);m9b=new Qac("IMPORT_STAR",108);Q8b=new Qac(ILc,109);S8b=new Qac("EXPORT_SPECS",110);R8b=new Qac("EXPORT_SPEC",111);F9b=new Qac("MODULE_BODY",112);gac=new Qac("REST",113);pac=new Qac("SPREAD",114);w8b=new Qac("COMPUTED_PROP",115);xac=new Qac("TAGGED_TEMPLATELIT",116);yac=new Qac("TEMPLATELIT",117);zac=new Qac("TEMPLATELIT_SUB",118);D8b=new Qac("DEFAULT_VALUE",119);O9b=new Qac(HMc,120);tac=new Qac("STRING_TYPE",121);l8b=new Qac("BOOLEAN_TYPE",122);T9b=new Qac("NUMBER_TYPE",123);$8b=new Qac(qNc,
124);Y9b=new Qac("PARAMETERIZED_TYPE",125);Hac=new Qac(pNc,126);P7b=new Qac("ANY_TYPE",127);R9b=new Qac("NULLABLE_TYPE",128);Lac=new Qac("VOID_TYPE",129);hac=new Qac("REST_PARAMETER_TYPE",130);I9b=new Qac("NAMED_TYPE",131);W9b=new Qac(NMc,132);eac=new Qac(oNc,133);Gac=new Qac("UNDEFINED_TYPE",134);S7b=new Qac(nNc,135);a9b=new Qac("GENERIC_TYPE",136);b9b=new Qac(rNc,137);O7b=new Qac(rMc,138);$9b=new Qac("PIPE",139);qac=new Qac("STAR",140);M8b=new Qac("EOC",141);dac=new Qac("QMARK",142);I8b=new Qac("ELLIPSIS",
143);f8b=new Qac("BANG",144);O8b=new Qac("EQUALS",145);w9b=new Qac("LB",146);x9b=new Qac("LC",147);u8b=new Qac("COLON",148);r9b=new Qac(KLc,149);s9b=new Qac("INTERFACE_EXTENDS",150);t9b=new Qac("INTERFACE_MEMBERS",151);K8b=new Qac(GLc,152);L8b=new Qac("ENUM_MEMBERS",153);i9b=new Qac(JLc,154);Fac=new Qac(OMc,155);B8b=new Qac($Mc,156);D9b=new Qac("MEMBER_VARIABLE_DEF",157);p9b=new Qac(LMc,158);o8b=new Qac(KMc,159);J9b=new Qac(_Mc,160);K9b=new Qac("NAMESPACE_ELEMENTS",161);_9b=new Qac("PLACEHOLDER1",
162);aac=new Qac("PLACEHOLDER2",163);bac=new Qac("PLACEHOLDER3",164)}function egc(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,ib,jb,kb,lb,mb;g=new Dcc(a);a.p[2]=g;C=new Qhc(a);a.p[25]=C;M=new Whc(a);a.p[26]=M;bb=new Eic(a);a.p[38]=bb;fb=new Iic(a);a.p[41]=fb;lb=new clc(a,false);a.p[44]=lb;h=new clc(a,true);a.p[5]=h;mb=new plc(a);a.p[45]=mb;b=new ecc(a);a.p[50]=b;a.i=new Mic(a,"IObject#KEY1");a.g=new Mic(a,"IObject#VALUE");
a.a=new Mic(a,"T");a.n=new Mic(a,"VALUE");a.e=new Mic(a,"VALUE");a.k=new Mic(a,"VALUE");a.j=new Mic(a,QLc);a.r=new Mic(a,QLc);ib=new gec(a,null,null,true,null);a.p[46]=ib;q=ggc(a,"IObject",ED(zD(aU,1),NJc,86,0,[a.i,a.g]));a.p[21]=q;kgc(a,22,(Xd(q.f==(kfc(),hfc)||q.f==ifc,wLc,q),obc(q.k)));O=Gdc(Udc(Rdc(Ndc(Mdc(Hdc(Jdc(new Xdc(a))),GJc),Vfc(a,ED(zD(JT,1),NJc,27,0,[b])))),ED(zD(aU,1),NJc,86,0,[a.i,a.g])));Oec(O,ib,null);a.p[32]=O;kgc(a,33,Kec(O));T=(Xd(O.f==hfc||O.f==ifc,wLc,O),obc(O.k));a.p[31]=T;
k=Gdc(Odc(Pdc(Ndc(Mdc(Hdc(Jdc(new Xdc(a))),CJc),Xfc(a,true,ED(zD(JT,1),NJc,27,0,[b]))),lb),T));Pec(k,T,null);a.p[10]=k;l=Kec(k);a.p[12]=l;B=new zhc(a);a.p[51]=B;w=new lhc(a);a.p[52]=w;A=new Jhc(a);a.p[53]=A;c=Gdc(Vdc(Rdc(Ndc(Mdc(Hdc(Jdc(new Xdc(a))),AJc),Xfc(a,true,ED(zD(JT,1),NJc,27,0,[b])))),new djc(a,(Km(),new jy($m(ED(zD(PU,1),RFc,1,5,[a.g,a.a])))),new Uy(Nd(a.a)))));Kec(c);a.p[1]=c;d=(Xd(c.f==hfc||c.f==ifc,wLc,c),obc(c.k));a.p[0]=d;r=Gdc(Ndc(Mdc(Hdc(Jdc(new Xdc(a))),"ITemplateArray"),new p6b((Pac(),
Z9b))));kgc(a,20,(Xd(r.f==hfc||r.f==ifc,wLc,r),obc(r.k)));s=ggc(a,"Iterable",ED(zD(aU,1),NJc,86,0,[a.k]));a.p[16]=s;kgc(a,17,(Xd(s.f==hfc||s.f==ifc,wLc,s),obc(s.k)));t=ggc(a,"Iterator",ED(zD(aU,1),NJc,86,0,[a.n]));a.p[18]=t;kgc(a,19,(Xd(t.f==hfc||t.f==ifc,wLc,t),obc(t.k)));m=ggc(a,"Generator",ED(zD(aU,1),NJc,86,0,[a.e]));a.p[13]=m;kgc(a,14,(Xd(m.f==hfc||m.f==ifc,wLc,m),obc(m.k)));u=ggc(a,"IThenable",ED(zD(aU,1),NJc,86,0,[a.j]));a.p[23]=u;kgc(a,24,(Xd(u.f==hfc||u.f==ifc,wLc,u),obc(u.k)));hb=Yfc(a,
(zn(),zn(),Gk("then",lb),new Qy("then",lb)));Nd(LNc);nyc(a.q,LNc);a.p[42]=hb;W=Pfc(a,lb,ED(zD(JT,1),NJc,27,0,[Ofc(a,lb,Vfc(a,ED(zD(JT,1),NJc,27,0,[_fc(a,ED(zD(JT,1),NJc,27,0,[a.r,$fc(a,(Xd(u.f==hfc||u.f==ifc,wLc,u),obc(u.k)),ED(zD(JT,1),NJc,27,0,[a.r])),hb,C]))]))),Ofc(a,lb,Vfc(a,ED(zD(JT,1),NJc,27,0,[b])))]));V=(Xd(Jnc("",boc(46))==-1,JHc,""),new s7b(H9b,""));V.c=W;U=Gdc(Kdc(Udc(Ndc(Mdc(Hdc(Jdc(new Xdc(a))),"Promise"),(Sd(V.k==H9b||V.k==gac),new r6b(Z9b,V))),ED(zD(aU,1),NJc,86,0,[a.r])),a.j,a.r));
a.p[30]=U;kgc(a,29,(Xd(U.f==hfc||U.f==ifc,wLc,U),obc(U.k)));e=Gdc(Pdc(Ndc(Mdc(Hdc(Jdc(new Xdc(a))),BJc),Vfc(a,ED(zD(JT,1),NJc,27,0,[b]))),g));Kec(e);a.p[4]=e;f=(Xd(e.f==hfc||e.f==ifc,wLc,e),obc(e.k));a.p[3]=f;i=Gdc(Pdc(Ndc(Mdc(Hdc(Jdc(new Xdc(a))),"Date"),Vfc(a,ED(zD(JT,1),NJc,27,0,[lb,lb,lb,lb,lb,lb,lb]))),bb));Kec(i);a.p[7]=i;j=(Xd(i.f==hfc||i.f==ifc,wLc,i),obc(i.k));a.p[6]=j;F=Gdc(Pdc(Ndc(Mdc(Hdc(Jdc(new Xdc(a))),DJc),Vfc(a,ED(zD(JT,1),NJc,27,0,[b]))),M));Kec(F);a.p[28]=F;G=(Xd(F.f==hfc||F.f==
ifc,wLc,F),obc(F.k));a.p[27]=G;X=Gdc(Rdc(Ndc(Mdc(Hdc(Jdc(new Xdc(a))),EJc),Vfc(a,ED(zD(JT,1),NJc,27,0,[b,b])))));Kec(X);a.p[35]=X;Y=(Xd(X.f==hfc||X.f==ifc,wLc,X),obc(X.k));a.p[34]=Y;Z=Gdc(Pdc(Ndc(Mdc(Hdc(Jdc(new Xdc(a))),TGc),Vfc(a,ED(zD(JT,1),NJc,27,0,[b]))),bb));Kec(Z);a.p[37]=Z;$=(Xd(Z.f==hfc||Z.f==ifc,wLc,Z),obc(Z.k));a.p[36]=$;db=Gdc(Pdc(Ndc(Mdc(Hdc(Jdc(new Xdc(a))),FJc),Vfc(a,ED(zD(JT,1),NJc,27,0,[b]))),fb));Kec(db);a.p[40]=db;eb=(Xd(db.f==hfc||db.f==ifc,wLc,db),obc(db.k));a.p[39]=eb;D=_fc(a,
ED(zD(JT,1),NJc,27,0,[C,mb]));a.p[59]=D;S=_fc(a,ED(zD(JT,1),NJc,27,0,[T,fb]));a.p[60]=S;P=_fc(a,ED(zD(JT,1),NJc,27,0,[T,M,bb]));a.p[61]=P;Q=_fc(a,ED(zD(JT,1),NJc,27,0,[T,M,bb,g]));a.p[62]=Q;R=_fc(a,ED(zD(JT,1),NJc,27,0,[T,M,bb,g,fb]));a.p[63]=R;I=_fc(a,ED(zD(JT,1),NJc,27,0,[M,bb,g]));a.p[64]=I;J=_fc(a,ED(zD(JT,1),NJc,27,0,[M,bb,g,fb]));a.p[65]=J;L=_fc(a,ED(zD(JT,1),NJc,27,0,[M,fb]));a.p[66]=L;ab=_fc(a,ED(zD(JT,1),NJc,27,0,[bb,fb]));a.p[67]=ab;H=_fc(a,ED(zD(JT,1),NJc,27,0,[M,bb]));a.p[68]=H;K=_fc(a,
ED(zD(JT,1),NJc,27,0,[M,bb,fb]));a.p[69]=K;cb=_fc(a,ED(zD(JT,1),NJc,27,0,[$,bb]));a.p[47]=cb;N=_fc(a,ED(zD(JT,1),NJc,27,0,[G,M]));a.p[48]=N;gb=_fc(a,ED(zD(JT,1),NJc,27,0,[eb,fb]));a.p[49]=gb;kb=Qfc(a,lb,ED(zD(JT,1),NJc,27,0,[lb]));a.p[56]=kb;jb=new ogc(a,new qcc(a,Xfc(a,true,ED(zD(JT,1),NJc,27,0,[lb])),lb),lb,hfc);k.k=jb;Sd(!(!!jb.g||!jb.u));jb.p=l;a.p[55]=jb;a.p[11]=jb;v=Sfc(a,B,ED(zD(JT,1),NJc,27,0,[b]));a.p[57]=v;o=Gdc(Pdc(Ndc(Mdc(Hdc(Jdc(new Xdc(a))),"global this"),Xfc(a,false,ED(zD(JT,1),NJc,
27,0,[b]))),M));n=(Xd(o.f==hfc||o.f==ifc,wLc,o),obc(o.k));a.p[54]=n;p=Sfc(a,b,ED(zD(JT,1),NJc,27,0,[B]));a.p[58]=p;lgc(a,LHc,O)}function y9(){y9=bY;u9=new D9("JSC_UNUSED",(O_(),N_),new Toc(XIc));Do(YIc,ZIc,$Ic,_Ic,aJc,bJc,ED(zD(UU,1),FHc,2,6,[cJc,dJc,eJc,fJc,gJc]));x9=new jyc;B9("moduleLoad",ED(zD(OK,1),RFc,5,0,[(uAb(),tAb),($pb(),Ypb),Zpb]));j9=B9("globalThis",ED(zD(OK,1),RFc,5,0,[(A_(),z_)]));B9(hJc,ED(zD(OK,1),RFc,5,0,[(q_(),j_),k_,l_,m_,h_,i_]));B9("underscore",ED(zD(OK,1),RFc,5,0,[(yCb(),tCb),
uCb]));w9=B9("visibility",ED(zD(OK,1),RFc,5,0,[b_,c_,a_,d_,n_,o_,p_,g_]));z9("accessControls",w9);B9("nonStandardJsDocs",ED(zD(OK,1),RFc,5,0,[(lsb(),Urb),Zrb,$rb]));B9("invalidCasts",ED(zD(OK,1),RFc,5,0,[(zxb(),uxb)]));z9(iJc,new S8(iJc,ED(zD(OK,1),RFc,5,0,[u9])));B9("strictModuleDepCheck",ED(zD(OK,1),RFc,5,0,[(pyb(),jyb),(y_(),w_)]));B9("violatedModuleDep",ED(zD(OK,1),RFc,5,0,[oyb]));B9("externsValidation",ED(zD(OK,1),RFc,5,0,[iyb,kyb]));B9("ambiguousFunctionDecl",ED(zD(OK,1),RFc,5,0,[(Etb(),wtb)]));
B9("unknownDefines",ED(zD(OK,1),RFc,5,0,[(gqb(),fqb)]));B9("tweakValidation",ED(zD(OK,1),RFc,5,0,[(lqb(),hqb),jqb,kqb]));B9("missingOverride",ED(zD(OK,1),RFc,5,0,[(lxb(),Mwb),Nwb]));l9=B9(jJc,ED(zD(OK,1),RFc,5,0,[Uwb,Vwb,dxb]));B9("j2clChecks",ED(zD(OK,1),RFc,5,0,[(Xib(),Wib)]));B9("missingReturn",ED(zD(OK,1),RFc,5,0,[(X_(),W_)]));B9("internetExplorerChecks",ED(zD(OK,1),RFc,5,0,[hsb]));t9=B9("undefinedVars",ED(zD(OK,1),RFc,5,0,[lyb]));s9=B9("undefinedNames",ED(zD(OK,1),RFc,5,0,[x_]));B9("checkDebuggerStatement",
ED(zD(OK,1),RFc,5,0,[(v_(),u_)]));B9("checkRegExp",ED(zD(OK,1),RFc,5,0,[(a0(),__),$_]));d9=A9(NIc,ED(zD(NK,1),RFc,57,0,[oxb,Bwb,(Hhb(),shb),j9]));z9(bJc,new S8(bJc,ED(zD(OK,1),RFc,5,0,[u9])));z9(cJc,new S8(cJc,ED(zD(OK,1),RFc,5,0,[u9])));z9(aJc,new S8(aJc,ED(zD(OK,1),RFc,5,0,[u9])));z9(kJc,new S8(kJc,ED(zD(OK,1),RFc,5,0,[u9])));B9("tooManyTypeParams",ED(zD(OK,1),RFc,5,0,[gsb]));z9(lJc,new S8(lJc,ED(zD(OK,1),RFc,5,0,[u9])));B9(_Ic,ED(zD(OK,1),RFc,5,0,[hxb]));p9=B9(eJc,ED(zD(OK,1),RFc,5,0,[exb,fxb,
gxb]));r9=B9(fJc,ED(zD(OK,1),RFc,5,0,[vxb]));o9=A9(gJc,ED(zD(NK,1),RFc,57,0,[p9,r9]));n9=B9(YIc,ED(zD(OK,1),RFc,5,0,[hxb]));e9=B9("checkVars",ED(zD(OK,1),RFc,5,0,[lyb,nyb,(Gyb(),Dyb),Eyb]));B9("uselessCode",ED(zD(OK,1),RFc,5,0,[(c0(),b0),(l0(),k0)]));B9(mJc,ED(zD(OK,1),RFc,5,0,[e_,f_,(w8(),v8)]));B9("accessControlsConst",ED(zD(OK,1),RFc,5,0,[e_,f_]));B9("constantProperty",ED(zD(OK,1),RFc,5,0,[e_,f_]));B9("typeInvalidation",ED(zD(OK,1),RFc,5,0,[(J9(),H9),I9]));f9=B9(nJc,ED(zD(OK,1),RFc,5,0,[(j3(),
i3),nyb,pxb,qxb,Lwb,Eyb]));B9("es3",ED(zD(OK,1),RFc,5,0,[Xrb,hsb]));i9=B9("es5StrictUncommon",ED(zD(OK,1),RFc,5,0,[Yrb,Vrb,Dtb,Atb,ztb,vtb,stb,xtb,ytb]));h9=B9("es5StrictReflection",ED(zD(OK,1),RFc,5,0,[ttb,utb,Ctb,Btb]));g9=A9("es5Strict",ED(zD(NK,1),RFc,57,0,[i9,h9]));m9=B9("missingProvide",ED(zD(OK,1),RFc,5,0,[(Z_(),Y_),(O0(),M0)]));B9("unrecognizedTypeError",ED(zD(OK,1),RFc,5,0,[ksb]));B9(oJc,ED(zD(OK,1),RFc,5,0,[(V_(),U_)]));A9(dJc,ED(zD(NK,1),RFc,57,0,[n9,s9,t9,m9,V8(zhb),V8((Xpb(),Vpb)),l9,
f9,V8(eqb),V8((Eab(),Dab)),V8(tAb)]));q9=B9("strictMissingRequire",ED(zD(OK,1),RFc,5,0,[U_,S_,T_]));B9("legacyGoogScopeRequire",ED(zD(OK,1),RFc,5,0,[S_,R_]));B9("extraRequire",ED(zD(OK,1),RFc,5,0,[R_]));B9("misplacedTypeAnnotation",ED(zD(OK,1),RFc,5,0,[(K_(),C_),D_,E_,G_,F_,H_,I_]));B9("misplacedMsgAnnotation",ED(zD(OK,1),RFc,5,0,[I_]));B9("misplacedSuppress",ED(zD(OK,1),RFc,5,0,[J_]));B9("suspiciousCode",ED(zD(OK,1),RFc,5,0,[(_Bb(),$Bb),(i0(),h0),d0,f0,e0,g0,Hwb,Ypb]));B9("functionParams",ED(zD(OK,
1),RFc,5,0,[xhb,yhb]));B9("deprecatedAnnotations",ED(zD(OK,1),RFc,5,0,[B_]));v9=B9("unusedPrivateMembers",ED(zD(OK,1),RFc,5,0,[(n0(),m0)]));B9("unusedLocalVariables",ED(zD(OK,1),RFc,5,0,[Fyb]));k9=B9("jsdocMissingConst",ED(zD(OK,1),RFc,5,0,[(t_(),s_)]));B9("jsdocMissingType",ED(zD(OK,1),RFc,5,0,[asb]));B9("unnecessaryEscape",ED(zD(OK,1),RFc,5,0,[jsb]));A9("lintChecks",ED(zD(NK,1),RFc,57,0,[kCb,new U8(ED(zD(OK,1),RFc,5,0,[(bCb(),aCb),(gCb(),cCb),dCb,eCb,fCb,(jCb(),hCb),iCb,(ACb(),zCb),(GCb(),ECb),
FCb,(ICb(),HCb),(KCb(),JCb),(PCb(),LCb),OCb,NCb,MCb,(RCb(),QCb),(TCb(),SCb),(x0(),p0),q0,r0,u0,s0,t0,v0,w0,N0,_rb]))]));B9("strictModuleChecks",ED(zD(OK,1),RFc,5,0,[o0,u0,s0,t0,v0,w0]));c9=B9($Ic,ED(zD(OK,1),RFc,5,0,[(ZBb(),YBb),(DCb(),BCb),CCb,(Vib(),Uib)]));A9(ZIc,ED(zD(NK,1),RFc,57,0,[c9,v9,k9]));B9("useOfGoogBase",ED(zD(OK,1),RFc,5,0,[Wpb]));B9("closureDepMethodUsageChecks",ED(zD(OK,1),RFc,5,0,[Spb]));B9("transitionalSuspiciousCodeWarnings",ED(zD(OK,1),RFc,5,0,[(Mob(),Kob),Lob,Job]));B9("lateProvide",
ED(zD(OK,1),RFc,5,0,[Upb]));B9("missingPolyfill",ED(zD(OK,1),RFc,5,0,[(Brb(),Arb)]));B9("invalidProvide",ED(zD(OK,1),RFc,5,0,[Tpb]));B9("es6Typed",ED(zD(OK,1),RFc,5,0,[csb]));z9(pJc,new S8(pJc,ED(zD(OK,1),RFc,5,0,[u9])))}function lxb(){lxb=bY;new D9("JSC_INTERNAL_ERROR_UNEXPECTED_TOKEN",(O_(),L_),new Toc("Internal Error: TypeCheck doesn''t know how to handle {0}"));Hwb=new D9("JSC_DETERMINISTIC_TEST",N_,new Toc("condition always evaluates to {2}\nleft : {0}\nright: {1}"));Twb=new D9("JSC_INEXISTENT_ENUM_ELEMENT",
N_,new Toc("element {0} does not exist on this enum"));Uwb=new D9("JSC_INEXISTENT_PROPERTY",N_,new Toc(uLc));dxb=new D9("JSC_POSSIBLE_INEXISTENT_PROPERTY",M_,new Toc(uLc));Vwb=new D9("JSC_INEXISTENT_PROPERTY_WITH_SUGGESTION",M_,new Toc(vLc));exb=new D9("JSC_STRICT_INEXISTENT_PROPERTY",M_,new Toc(uLc));gxb=new D9("JSC_STRICT_INEXISTENT_UNION_PROPERTY",M_,new Toc("Property {0} not defined on all member types of {1}"));fxb=new D9("JSC_STRICT_INEXISTENT_PROPERTY_WITH_SUGGESTION",M_,new Toc(vLc));bxb=
new D9("JSC_NOT_A_CONSTRUCTOR",N_,new Toc("cannot instantiate non-constructor"));Wwb=new D9("JSC_INSTANTIATE_ABSTRACT_CLASS",N_,new Toc("cannot instantiate abstract class"));Dwb=new D9("JSC_BAD_TYPE_FOR_BIT_OPERATION",N_,new Toc("operator {0} cannot be applied to {1}"));cxb=new D9("JSC_NOT_FUNCTION_TYPE",N_,new Toc("{0} expressions are not callable"));Gwb=new D9("JSC_CONSTRUCTOR_NOT_CALLABLE",N_,new Toc('Constructor {0} should be called with the "new" keyword'));Awb=new D9("JSC_ABSTRACT_SUPER_METHOD_NOT_CALLABLE",
N_,new Toc("Abstract super method {0} cannot be called"));Lwb=new D9("JSC_FUNCTION_MASKS_VARIABLE",N_,new Toc("function {0} masks variable (IE bug)"));_wb=new D9("JSC_MULTIPLE_VAR_DEF",N_,new Toc("declaration of multiple variables with shared type information"));Iwb=new D9("JSC_ENUM_DUP",L_,new Toc("enum element {0} already defined"));Zwb=new D9("JSC_INVALID_INTERFACE_MEMBER_DECLARATION",N_,new Toc("interface members can only be empty property declarations, empty functions{0}"));Xwb=new D9("JSC_INTERFACE_METHOD_NOT_EMPTY",
N_,new Toc("interface member functions must have an empty body"));Ewb=new D9("JSC_CONFLICTING_EXTENDED_TYPE",N_,new Toc("{1} cannot extend this type; {0}s can only extend {0}s"));Jwb=new D9("JSC_ES5_CLASS_EXTENDING_ES6_CLASS",N_,new Toc("ES5 class {0} cannot extend ES6 class {1}"));new D9("JSC_INTERFACE_EXTENDS_LOOP",N_,new Toc("extends loop involving {0}, loop: {1}"));Fwb=new D9("JSC_CONFLICTING_IMPLEMENTED_TYPE",N_,new Toc("{0} cannot implement this type; an interface can only extend, but not implement interfaces"));
Cwb=new D9("JSC_IMPLEMENTS_NON_INTERFACE",N_,new Toc("can only implement interfaces"));Nwb=new D9("JSC_HIDDEN_SUPERCLASS_PROPERTY",M_,new Toc("property {0} already defined on superclass {1}; use @override to override it"));Mwb=new D9("JSC_HIDDEN_INTERFACE_PROPERTY",M_,new Toc("property {0} already defined on interface {1}; use @override to override it"));Owb=new D9("JSC_HIDDEN_SUPERCLASS_PROPERTY_MISMATCH",N_,new Toc("mismatch of the {0} property type and the type of the property it overrides from superclass {1}\noriginal: {2}\noverride: {3}"));
ixb=new D9("JSC_UNKNOWN_OVERRIDE",N_,new Toc("property {0} not defined on any superclass of {1}"));Ywb=new D9("JSC_INTERFACE_METHOD_OVERRIDE",N_,new Toc("property {0} is already defined by the {1} extended interface"));hxb=new D9("JSC_UNKNOWN_EXPR_TYPE",N_,new Toc("could not determine the type of this expression"));jxb=new D9("JSC_UNRESOLVED_TYPE",N_,new Toc("could not resolve the name {0} to a type"));kxb=new D9("JSC_WRONG_ARGUMENT_COUNT",N_,new Toc("Function {0}: called with {1} argument(s). Function requires at least {2} argument(s){3}."));
Pwb=new D9("JSC_ILLEGAL_IMPLICIT_CAST",N_,new Toc("Illegal annotation on {0}. @implicitCast may only be used in externs."));Swb=new D9("JSC_INCOMPATIBLE_EXTENDED_PROPERTY_TYPE",N_,new Toc("Interface {0} has a property {1} with incompatible types in its super interfaces {2} and {3}"));Kwb=new D9("JSC_EXPECTED_THIS_TYPE",N_,new Toc('"{0}" must be called with a "this" type'));$wb=new D9("JSC_IN_USED_WITH_STRUCT",N_,new Toc("Cannot use the IN operator with structs"));Rwb=new D9("JSC_ILLEGAL_PROPERTY_CREATION",
N_,new Toc("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.)"));Qwb=new D9("JSC_ILLEGAL_OBJLIT_KEY",N_,new Toc("Illegal key, the object literal is a {0}"));axb=new D9("JSC_NON_STRINGIFIABLE_OBJECT_KEY",N_,new Toc('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.'));zwb=new D9("JSC_ABSTRACT_METHOD_IN_CONCRETE_CLASS",N_,
new Toc("Abstract methods can only appear in abstract classes. Please declare the class as @abstract"));Bwb=new U8(ED(zD(OK,1),RFc,5,0,[Hwb,Twb,Uwb,dxb,Vwb,bxb,Wwb,Dwb,cxb,Gwb,Lwb,_wb,Iwb,Zwb,Xwb,Ewb,Fwb,Cwb,Owb,ixb,Ywb,jxb,kxb,Pwb,Swb,Kwb,$wb,Rwb,Qwb,axb,zwb,Awb,Jwb,(lsb(),isb),ksb,(Yxb(),Xxb),Vxb,Pxb,Txb,(Hhb(),Ehb)]))}function nGb(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;switch(b.p.f){case 42:return sGb(a,b);case 28:return oGb(a,
b);case 75:return hHb(a,b);case 76:return iHb(a,b.a);case 77:return kFb(a.a,(Pac(),zac),DFb(a.a,b.a));case 44:return mHb(a,b);case 2:return uGb(a,b);case 14:return vGb(a,b);case 49:return HGb(a,b);case 17:return eHb(a,b);case 18:return fHb(a,b);case 22:return lFb(a.a,(Pac(),r8b),DFb(a.a,b.b),EFb(a.a,b.a));case 13:return yGb(a,b);case 8:return lFb(a.a,(Pac(),H8b),EFb(a.a,b.a),DFb(a.a,b.b));case 5:return jFb((d=a,b,d).a,(Pac(),J8b));case 6:return DGb(a,b);case 24:return jFb((e=a,b,e).a,(Pac(),z8b));
case 25:return jFb((f=a,b,f).a,(Pac(),Aac));case 11:return EGb(a,b);case 10:return h=DFb(a.a,b.c),mFb(a.a,(Pac(),X8b),h,DFb(a.a,b.b),EFb(a.a,b.a));case 1:return GGb(a,b);case 55:return lFb(a.a,(Pac(),c9b),DFb(a.a,b.b),DFb(a.a,b.a));case 46:return i=DFb(a.a,b.b),j=b.a,k=UGb(a,j),!k.Th()&&!a.a.c&&jGb(a,k),lFb(a.a,(Pac(),d9b),i,k);case 43:return mFb(a.a,(Pac(),g9b),DFb(a.a,b.a),DFb(a.a,b.b),DFb(a.a,b.c));case 7:return KGb(a,b);case 20:return l=DFb(a.a,b.b),l.k==(Pac(),Z8b)?a.a.d.uh("Functions can only be declared at top level or inside a block.",
a.a.q,(XEb(),b.o.b.b+1),b.o.b.a):l.k==s8b&&a.a.d.uh("Classes can only be declared at top level or inside a block.",a.a.q,(XEb(),b.o.b.b+1),b.o.b.a),lFb(a.a,u9b,qHb(a,b.a),l);case 56:return aGb(a,b),DFb(a.a,b.a);case 26:return PGb(a,b.a,false);case 47:return TGb(a,b);case 29:return VGb(a,b);case 36:return hFb(a.a,b,(AMb(),KLb)),lFb(a.a,(Pac(),w8b),DFb(a.a,b.a),DFb(a.a,b.b));case 37:return hFb(a.a,b,(AMb(),KLb)),m=DFb(a.a,b.c),n=DFb(a.a,b.a),o=I0b((Xd(Jnc("",boc(46))==-1,JHc,""),new s7b((Pac(),H9b),
"")),new p6b(Z9b),n),o6b(o,n),p=lFb(a.a,w8b,m,o),q=Q5b(p,p.i,73),q!=p.i&&(p.i=q),p.i=new U6b(73,1,p.i),L5b(p,58,b.b),p;case 89:return hFb(a.a,b,(AMb(),KLb)),lGb(a,b,cMb),r=kFb(a.a,(Pac(),w8b),DFb(a.a,b.d)),gGb(a,r,b.b),s=Q5b(r,r.i,75),s!=r.i&&(r.i=s),r.i=new U6b(75,1,r.i),M5b(r,84,b.a),c6b(r,b.c),eGb(a,b,r,b.a),r;case 38:return hFb(a.a,b,(AMb(),KLb)),t=lFb(a.a,(Pac(),w8b),DFb(a.a,b.c),DFb(a.a,b.b)),u=Q5b(t,t.i,72),u!=t.i&&(t.i=u),t.i=new U6b(72,1,t.i),b.b.i&&(v=Q5b(t,t.i,58),v!=t.i&&(t.i=v),t.i=new U6b(58,
1,t.i)),eGb(a,b,t,b.a),t;case 39:return hFb(a.a,b,(AMb(),KLb)),w=DFb(a.a,b.d),A=FGb(a,b.c),zFb(A,b.c),B=DFb(a.a,b.a),C=I0b((Xd(Jnc("",boc(46))==-1,JHc,""),new s7b((Pac(),H9b),"")),A,B),o6b(C,B),D=lFb(a.a,w8b,w,C),F=Q5b(D,D.i,74),F!=D.i&&(D.i=F),D.i=new U6b(74,1,D.i),L5b(D,58,b.b),D;case 15:return bHb(a,b);case 45:return G=$Fb(b.b.c),H=DFb(a.a,b.a),bGb(a,G,b.c==1,H);case 0:return rGb(a,b);case 27:return OGb(a,b);case 19:return gHb(a,b);case 21:return kFb(a.a,(Pac(),Bac),DFb(a.a,b.a));case 23:return jHb(a,
b);case 3:return nGb(a.a.t,b.a);case 12:return pHb(a,b);case 4:return oHb(a,b);case 9:return lFb(a.a,(Pac(),Mac),DFb(a.a,b.b),EFb(a.a,b.a));case 16:return lFb(a.a,(Pac(),Nac),DFb(a.a,b.b),EFb(a.a,b.a));case 41:return xGb(a,b);case 64:return jFb((g=a,b,g).a,(Pac(),J8b));case 57:return EFb(a.a,b.a);case 40:return oFb((c=a,b,c).a,(Pac(),H9b),aMc);case 35:return $Gb(a,b);case 33:return I=UGb(a,b.c),f6b(I,(Pac(),e9b)),J=DFb(a.a,b.a),K=oFb(a.a,H9b,""),zFb(K,b.a),L=jFb(a.a,Z9b),zFb(L,b.a),M=mFb(a.a,Z8b,
K,L,J),zFb(M,b.a),a5b(I,M),gGb(a,M,b.d),c6b(I,b.b),I;case 34:return N=UGb(a,b.d),f6b(N,(Pac(),mac)),O=FGb(a,b.c),zFb(O,b.c),P=DFb(a.a,b.a),Q=oFb(a.a,H9b,""),yFb(Q,b.d),R=mFb(a.a,Z8b,Q,O,P),zFb(R,b.a),a5b(N,R),c6b(N,b.b),N;case 62:return FGb(a,b);case 50:return wGb(a,b);case 58:return hFb(a.a,b,(AMb(),uMb)),jFb(a.a,(Pac(),vac));case 94:return hFb(a.a,b,(AMb(),fMb)),jFb(a.a,(Pac(),O9b));case 73:return S=jFb(a.a,(Pac(),Oac)),!!b.a&&_4b(S,DFb(a.a,b.a)),h6b(S,b.b),S;case 95:return hFb(a.a,b,(AMb(),CLb)),
T=jFb(a.a,(Pac(),e8b)),_4b(T,DFb(a.a,b.a)),T;case 71:return hFb(a.a,b,(AMb(),ULb)),U=DFb(a.a,b.c),mFb(a.a,(Pac(),Y8b),U,DFb(a.a,b.b),EFb(a.a,b.a));case 72:return hFb(a.a,b,(AMb(),TLb)),V=DFb(a.a,b.c),mFb(a.a,(Pac(),W8b),V,DFb(a.a,b.b),EFb(a.a,b.a));case 67:return BGb(a,b);case 68:return CGb(a,b);case 69:return LGb(a,b);case 70:return MGb(a,b);case 59:return pGb(a,b);case 61:return WGb(a,b);case 60:return qGb(a,b);case 32:case 31:case 30:return a.a.d.uh("unsupported language feature: array/generator comprehensions",
a.a.q,(XEb(),b.o.b.b+1),b.o.b.a),oFb(a.a,(Pac(),H9b),aMc);case 74:return zGb(a,b);case 65:return hFb(a.a,b,(AMb(),qMb)),W=FFb(a.a,b.a),(W.k==(Pac(),V9b)||W.k==R7b)&&hFb(a.a,b.a,OLb),kFb(a.a,gac,W);case 63:return hFb(a.a,b,(AMb(),sMb)),kFb(a.a,(Pac(),pac),DFb(a.a,b.a));case 78:return kHb(a,b);case 80:return X=DFb(a.a,b.a),gGb(a,X,b.b),X;case 81:return lGb(a,b,(AMb(),jMb)),Y=DFb(a.a,b.a),Z=Q5b(Y,Y.i,80),Z!=Y.i&&(Y.i=Z),Y.i=new U6b(80,1,Y.i),Y;case 82:return ZGb(a,b);case 83:return YEb(a.a,Wac(DFb(a.a,
b.a)));case 84:return _Gb(a,b);case 85:return nHb(a,b);case 86:return IGb(a,b);case 79:return lHb(a,b);case 87:return JGb(a,b);case 88:return $=oFb(a.a,(Pac(),D9b),b.e.a),gGb(a,$,b.b),c6b($,b.d),L5b($,80,b.c),eGb(a,b,$,b.a),$;case 51:return NGb(a,b);case 54:return AGb(a,b);case 90:return lGb(a,b,(AMb(),yMb)),ab=oFb(a.a,(Pac(),Fac),b.a.a),a5b(ab,DFb(a.a,b.b)),ab;case 91:return lGb(a,b,(AMb(),zLb)),kFb(a.a,(Pac(),B8b),DFb(a.a,b.a));case 52:return RGb(a,b);case 92:return lGb(a,b,(AMb(),ZLb)),bb=DFb(a.a,
b.b),cb=q5b(bb,78),cb.k!=(Pac(),T9b)&&cb.k!=tac&&a.a.d.uh("Index signature parameter type must be 'string' or 'number'",a.a.q,(XEb(),b.b.o.b.b+1),b.b.o.b.a),db=kFb(a.a,p9b,bb),gGb(a,db,b.a),db;case 93:return lGb(a,b,b.c?(AMb(),LLb):(AMb(),GLb)),eb=kFb(a.a,(Pac(),o8b),DFb(a.a,b.a)),gGb(a,eb,b.d),fGb(a,eb,b.b),L5b(eb,83,b.c),eb}return a.a.d.uh("Unsupported syntax: "+b.p,a.a.q,(XEb(),b.o.b.b+1),0),jFb(a.a,(Pac(),J8b))}function YHb(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,kb,lb,mb,nb,ob,pb,qb,rb,sb,tb;u=a.i.g;i=lJb(a.i);e=a.i.n;d=Zn(a.a,e);if(!d||e.length==0)EHb(a,mLc,e,a.i.g,lJb(a.i));else{C3b(a.e,e,u,i);switch(d.f){case 0:n2b(a.e.a)?CHb(a,"msg.jsdoc.nginject.extra",a.i.g,lJb(a.i)):l4b(a.e);return LHb(a,!a.n?mJb(a.i):JHb(a));case 1:G3b(a.e)||FHb(a,fMc,a.i.g,lJb(a.i));return LHb(a,!a.n?mJb(a.i):JHb(a));case 2:if(a.e.d){g=OHb(a);f=g.a;f.length==0?CHb(a,"msg.jsdoc.authormissing",a.i.g,lJb(a.i)):w3b(a.e,
f);b=g.b}else b=LHb(a,!a.n?mJb(a.i):JHb(a));return b;case 4:J3b(a.e)||CHb(a,"msg.jsdoc.consistidgen",a.i.g,lJb(a.i));return LHb(a,!a.n?mJb(a.i):JHb(a));case 57:K4b(a.e)||FHb(a,fMc,a.i.g,lJb(a.i));return LHb(a,!a.n?mJb(a.i):JHb(a));case 49:A4b(a.e)||FHb(a,fMc,a.i.g,lJb(a.i));return LHb(a,!a.n?mJb(a.i):JHb(a));case 11:R3b(a.e)||FHb(a,fMc,a.i.g,lJb(a.i));return LHb(a,!a.n?mJb(a.i):JHb(a));case 6:L3b(a.e)||(k2b(a.e.a)?FHb(a,gMc,a.i.g,lJb(a.i)):FHb(a,fMc,a.i.g,lJb(a.i)));return LHb(a,!a.n?mJb(a.i):JHb(a));
case 7:c4b(a.e)||FHb(a,"msg.jsdoc.record",a.i.g,lJb(a.i));return LHb(a,!a.n?mJb(a.i):JHb(a));case 9:O3b(a.e)||CHb(a,"msg.jsdoc.deprecated",a.i.g,lJb(a.i));J=NHb(a,b,a.f?0:2,false);I=J.a;I.length>0&&P3b(a.e,I);b=J.b;return b;case 25:d4b(a.e)||((a.e.a.a&2)!=0?FHb(a,gMc,a.i.g,lJb(a.i)):FHb(a,fMc,a.i.g,lJb(a.i)));return LHb(a,!a.n?mJb(a.i):JHb(a));case 10:if(O1b(a.e.a)!=null){CHb(a,"msg.jsdoc.desc.extra",a.i.g,lJb(a.i));return LHb(a,!a.n?mJb(a.i):JHb(a))}else{k=NHb(a,b,a.f?0:2,false);j=k.a;Q3b(a.e,j);
b=k.b;return b}case 18:l="";if(a.e.d&&!QHb(a,64)){m=NHb(a,b,a.f?0:1,false);l=m.a;b=m.b}else b=LHb(a,!a.n?mJb(a.i):JHb(a));Y3b(a.e,l)||CHb(a,"msg.jsdoc.fileoverview.extra",a.i.g,lJb(a.i));return b;case 27:case 42:H=NHb(a,b,0,true);G=H.a;G.length>0&&!!a.c&&x3b(a.c,G);b=H.b;return b;case 13:b=!a.n?mJb(a.i):JHb(a);u=a.i.g;i=lJb(a.i);hb=null;if(b!=(fJb(),TIb)&&b!=RIb){lb=XHb(a,b,a.i.g,lJb(a.i),b==WIb,false);if(!!lb&&lb.k==(Pac(),rac)){ib=lb.Rh();zHb.Yd(ib)||(lb=zIb(a,(Pac(),f8b),lb))}hb=!lb?null:new V4b(lb,
(P=q5b(a.k,51),!P?null:P.sg()))}else a.n=b;!hb&&(hb=IHb(a,UHb(a,BFc,a.i.g,lJb(a.i))));T3b(a.e,hb)||a.b.vh(dMc+F7b(fMc,ED(zD(PU,1),RFc,1,5,[]))+eMc,(Q=q5b(a.k,51),!Q?null:Q.sg()),u,i);return LHb(a,!a.n?mJb(a.i):JHb(a));case 17:V3b(a.e)||CHb(a,"msg.jsdoc.expose",a.i.g,lJb(a.i));return LHb(a,!a.n?mJb(a.i):JHb(a));case 15:X3b(a.e)||CHb(a,"msg.jsdoc.externs",a.i.g,lJb(a.i));return LHb(a,!a.n?mJb(a.i):JHb(a));case 56:H4b(a.e)||CHb(a,"msg.jsdoc.typesummary",a.i.g,lJb(a.i));return LHb(a,!a.n?mJb(a.i):JHb(a));
case 14:case 22:xIb(a);b=!a.n?mJb(a.i):JHb(a);u=a.i.g;i=lJb(a.i);v=false;if(b==(fJb(),WIb)){b=!a.n?mJb(a.i):JHb(a);v=true}if(b==eJb){lb=XHb(a,b,u,i,v,true);u=a.i.g;i=lJb(a.i);lb=zIb(a,(Pac(),f8b),lb);hb=!lb?null:new V4b(lb,(P=q5b(a.k,51),!P?null:P.sg()));if(d==(_Db(),gDb))asc(c,new EIb(hb,a.i.g,lJb(a.i)));else{Sd(d==mDb);a4b(a.e,hb)||a.b.vh(dMc+F7b("msg.jsdoc.implements.duplicate",ED(zD(PU,1),RFc,1,5,[]))+eMc,(O=q5b(a.k,51),!O?null:O.sg()),u,i)}b=!a.n?mJb(a.i):JHb(a);v?b!=aJb?FHb(a,hMc,a.i.g,lJb(a.i)):
b=!a.n?mJb(a.i):JHb(a):b!=TIb&&b!=SIb&&b!=RIb&&FHb(a,"msg.end.annotation.expected",a.i.g,lJb(a.i))}else a.b.vh(dMc+F7b("msg.no.type.name",ED(zD(PU,1),RFc,1,5,[]))+eMc,(O=q5b(a.k,51),!O?null:O.sg()),u,i);b=LHb(a,b);return b;case 20:$3b(a.e)||CHb(a,"msg.jsdoc.hidden",a.i.g,lJb(a.i));return LHb(a,!a.n?mJb(a.i):JHb(a));case 26:xIb(a);v=false;if(RHb(a,(fJb(),WIb))){b=!a.n?mJb(a.i):JHb(a);v=true}if(RHb(a,eJb)){b=!a.n?mJb(a.i):JHb(a);e4b(a.e,a.i.n)||FHb(a,"msg.jsdoc.lends.incompatible",a.i.g,lJb(a.i))}else FHb(a,
"msg.jsdoc.lends.missing",a.i.g,lJb(a.i));v&&!RHb(a,aJb)&&FHb(a,hMc,a.i.g,lJb(a.i));return LHb(a,!a.n?mJb(a.i):JHb(a));case 28:A=NHb(a,b,a.f?0:2,false);w=A.a;b=A.b;h4b(a.e,w)||CHb(a,"msg.jsdoc.meaning.extra",a.i.g,lJb(a.i));return b;case 33:n4b(a.e)||CHb(a,"msg.jsdoc.nocompile",a.i.g,lJb(a.i));return LHb(a,!a.n?mJb(a.i):JHb(a));case 32:m4b(a.e)||CHb(a,"msg.jsdoc.nocollapse",a.i.g,lJb(a.i));return LHb(a,!a.n?mJb(a.i):JHb(a));case 34:o4b(a.e)||CHb(a,"msg.jsdoc.noinline",a.i.g,lJb(a.i));return LHb(a,
!a.n?mJb(a.i):JHb(a));case 36:return LHb(a,!a.n?mJb(a.i):JHb(a));case 24:case 37:s4b(a.e)||FHb(a,"msg.jsdoc.override",a.i.g,lJb(a.i));return LHb(a,!a.n?mJb(a.i):JHb(a));case 40:o2b(a.e.a)?CHb(a,"msg.jsdoc.polymer.extra",a.i.g,lJb(a.i)):v4b(a.e);return LHb(a,!a.n?mJb(a.i):JHb(a));case 41:p2b(a.e.a)?CHb(a,"msg.jsdoc.polymerBehavior.extra",a.i.g,lJb(a.i)):w4b(a.e);return LHb(a,!a.n?mJb(a.i):JHb(a));case 3:j2b(a.e.a)?CHb(a,"msg.jsdoc.customElement.extra",a.i.g,lJb(a.i)):M3b(a.e);return LHb(a,!a.n?mJb(a.i):
JHb(a));case 29:l2b(a.e.a)?CHb(a,"msg.jsdoc.mixinClass.extra",a.i.g,lJb(a.i)):i4b(a.e);return LHb(a,!a.n?mJb(a.i):JHb(a));case 30:m2b(a.e.a)?CHb(a,"msg.jsdoc.mixinFunction.extra",a.i.g,lJb(a.i)):j4b(a.e);return LHb(a,!a.n?mJb(a.i):JHb(a));case 53:{xIb(a);b=!a.n?mJb(a.i):JHb(a);u=a.i.g;i=lJb(a.i);hb=null;if(b==(fJb(),WIb)){hb=IHb(a,XHb(a,b,a.i.g,lJb(a.i),b==WIb,false));if(!hb)return LHb(a,!a.n?mJb(a.i):JHb(a))}b=JHb(a);F4b(a.e,hb);r=QHb(a,64);if(a.e.d&&!r){k=NHb(a,b,a.f?0:2,false);j=k.a;j.length>0&&
E4b(a.e,hb,j);b=k.b}else b=LHb(a,!a.n?mJb(a.i):JHb(a));return b}case 39:xIb(a);b=!a.n?mJb(a.i):JHb(a);u=a.i.g;i=lJb(a.i);hb=null;o=false;if(b==(fJb(),WIb)){hb=IHb(a,(Fd(b==WIb),qb=a.i.g,rb=lJb(a.i),sb=(Fd(b==WIb),xIb(a),tb=hIb(a,!a.n?mJb(a.i):JHb(a)),!!tb&&(RHb(a,aJb)?!a.n?mJb(a.i):JHb(a):(FHb(a,hMc,a.i.g,lJb(a.i)),null)),tb),uIb(a,qb,rb,sb,true),sb));if(!hb)return LHb(a,!a.n?mJb(a.i):JHb(a));xIb(a);b=!a.n?mJb(a.i):JHb(a);u=a.i.g;i=lJb(a.i);o=true}B=null;s=YIb==b;s&&(b=!a.n?mJb(a.i):JHb(a));if(eJb!=
b)a.b.vh(dMc+F7b("msg.missing.variable.name",ED(zD(PU,1),RFc,1,5,[]))+eMc,(O=q5b(a.k,51),!O?null:O.sg()),u,i);else{o||BHb(a,a.i.g,lJb(a.i));B=a.i.n;if(s){b=!a.n?mJb(a.i):JHb(a);if(UIb==b){b=!a.n?mJb(a.i):JHb(a);eJb==b&&(b=!a.n?mJb(a.i):JHb(a))}cJb!=b?(FHb(a,"msg.jsdoc.missing.rb",a.i.g,lJb(a.i)),null):!!hb&&(hb=hb.a.k==(Pac(),O8b)||hb.a.k==I8b?hb:new V4b(new r6b(O8b,hb.a),hb.b))}U4b();if(T4b.test(B))t4b(a.e,B,hb)||(A3b(a.e,B)?a.b.vh(dMc+F7b("msg.dup.variable.name",ED(zD(PU,1),RFc,1,5,[B]))+eMc,(P=
q5b(a.k,51),!P?null:P.sg()),u,i):a.b.vh(dMc+F7b(fMc,ED(zD(PU,1),RFc,1,5,[B]))+eMc,(O=q5b(a.k,51),!O?null:O.sg()),u,i));else{a.b.vh(F7b("msg.invalid.variable.name",ED(zD(PU,1),RFc,1,5,[B])),(O=q5b(a.k,51),!O?null:O.sg()),u,i);B=null}}if(B==null){b=LHb(a,b);return b}D3b(a.e,B,a.k,u,i);if(a.e.d&&b!=MIb){F=NHb(a,b,a.f?0:2,false);D=F.a;D.length>0&&u4b(a.e,B,D);b=F.b}else b!=RIb&&b!=SIb&&(b=LHb(a,!a.n?mJb(a.i):JHb(a)));return b;case 35:p4b(a.e)||CHb(a,"msg.jsdoc.nosideeffects",a.i.g,lJb(a.i));return LHb(a,
!a.n?mJb(a.i):JHb(a));case 31:b=gIb(a,!a.n?mJb(a.i):JHb(a));return b;case 23:b4b(a.e)||FHb(a,"msg.jsdoc.implicitcast",a.i.g,lJb(a.i));return LHb(a,!a.n?mJb(a.i):JHb(a));case 47:if(a.e.d){L=OHb(a);K=L.a;K.length==0?CHb(a,"msg.jsdoc.seemissing",a.i.g,lJb(a.i)):y3b(a.e,K);b=L.b}else b=LHb(a,!a.n?mJb(a.i):JHb(a));return b;case 48:z4b(a.e)||CHb(a,"msg.jsdoc.stableidgen",a.i.g,lJb(a.i));return LHb(a,!a.n?mJb(a.i):JHb(a));case 50:b=lIb(a,!a.n?mJb(a.i):JHb(a));return b;case 51:{bb=a.i.g;$=lJb(a.i);ab=NHb(a,
b,1,false);db=ab.a;mb="";t=false;nb=true;if(db.indexOf(":=")!=-1){gb=db.indexOf(":=");cb=db.substr(0,gb);if(db.indexOf("=:")!=-1){t=true;eb=db.indexOf("=:");mb=$nc(db.substr(gb+2,eb-(gb+2)))}else{nb=false;a.b.vh(dMc+F7b("msg.jsdoc.typetransformation.missing.delimiter",ED(zD(PU,1),RFc,1,5,[]))+eMc,(O=q5b(a.k,51),!O?null:O.sg()),bb,$)}}else db.indexOf(KGc)!=-1?cb=Xnc(db,0,Jnc(db,boc(10))):cb=db;C=Oe(Qe(Te(new lc(44)),(Fc(),Dc)),cb);if(C.b.ce()==1&&C.a.ge(0).length==0)a.b.vh(dMc+F7b("msg.jsdoc.templatemissing",
ED(zD(PU,1),RFc,1,5,[]))+eMc,(O=q5b(a.k,51),!O?null:O.sg()),bb,$);else for(jb=new $uc(C.b._d());jb.b.Od();){ib=jb.b.Pd();ib.length!=0&&$b(new Ac((pc(),oc),new lc(95)),ib)?t||C4b(a.e,ib)||a.b.vh(dMc+F7b(iMc,ED(zD(PU,1),RFc,1,5,[]))+eMc,(P=q5b(a.k,51),!P?null:P.sg()),bb,$):a.b.vh(dMc+F7b("msg.jsdoc.template.invalid.type.name",ED(zD(PU,1),RFc,1,5,[]))+eMc,(O=q5b(a.k,51),!O?null:O.sg()),bb,$)}if(t){C.b.ce()>1&&a.b.vh(dMc+F7b("msg.jsdoc.typetransformation.with.multiple.names",ED(zD(PU,1),RFc,1,5,[]))+
eMc,(P=q5b(a.k,51),!P?null:P.sg()),bb,$);if(mb.length==0){nb=false;a.b.vh(dMc+F7b("msg.jsdoc.typetransformation.expression.missing",ED(zD(PU,1),RFc,1,5,[]))+eMc,(O=q5b(a.k,51),!O?null:O.sg()),bb,$)}if(nb){fb=new nKb(mb,q5b(a.k,51),a.b,bb,$);NJb(fb)&&!I4b(a.e,C.a.ge(0),fb.e)&&a.b.vh(dMc+F7b(iMc,ED(zD(PU,1),RFc,1,5,[]))+eMc,(O=q5b(a.k,51),!O?null:O.sg()),bb,$)}}b=ab.b;return b}case 21:b=eIb(a,!a.n?mJb(a.i):JHb(a));return b;case 59:N4b(a.e)||CHb(a,"msg.jsdoc.wizaction",a.i.g,lJb(a.i));return LHb(a,!a.n?
mJb(a.i):JHb(a));case 12:{ab=OHb(a);C=Oe(Qe(Te(new lc(44)),(Fc(),Dc)),ab.a);C.a.$d()||C.a.ge(0).length==0?FHb(a,"msg.jsdoc.disposeparameter.missing",a.i.g,lJb(a.i)):S3b(a.e,C)||FHb(a,"msg.jsdoc.disposeparameter.error",a.i.g,lJb(a.i));b=ab.b;return b}case 58:pb=OHb(a);ob=pb.a;ob.length==0?CHb(a,"msg.jsdoc.versionmissing",a.i.g,lJb(a.i)):L4b(a.e,ob)||CHb(a,"msg.jsdoc.extraversion",a.i.g,lJb(a.i));b=pb.b;return b;case 5:case 19:case 8:case 16:case 46:case 38:case 43:case 44:case 45:case 52:case 54:case 55:u=
a.i.g;i=lJb(a.i);kb=null;p=QHb(a,123);q=d==(_Db(),DDb)||d==IDb||d==JDb||d==KDb||d==XCb||d==jDb||d==eDb;h=q||d==MDb;hb=null;d==MDb&&!p&&BHb(a,a.i.g,lJb(a.i));if(p||!h){xIb(a);b=!a.n?mJb(a.i):JHb(a);kb=XHb(a,b,a.i.g,lJb(a.i),b==(fJb(),WIb),false);d==SDb&&(kb=zIb(a,(Pac(),f8b),kb));hb=!kb?null:new V4b(kb,(O=q5b(a.k,51),!O?null:O.sg()))}n=!hb&&!h;if(!n){(!!hb&&q||d==UDb)&&!G4b(a.e,hb)&&a.b.vh(dMc+F7b(fMc,ED(zD(PU,1),RFc,1,5,[]))+eMc,(P=q5b(a.k,51),!P?null:P.sg()),u,i);r=QHb(a,64);switch(d.f){case 5:K3b(a.e)||
CHb(a,"msg.jsdoc.const",a.i.g,lJb(a.i));break;case 19:Z3b(a.e)||FHb(a,"msg.jsdoc.final",a.i.g,lJb(a.i));break;case 8:N3b(a.e,hb)||a.b.vh(F7b("msg.jsdoc.define",ED(zD(PU,1),RFc,1,5,[])),(S=q5b(a.k,51),!S?null:S.sg()),u,i);if(!r)return tIb(a,b);break;case 16:U3b(a.e)?M4b(a.e,(t3b(),s3b))||a.b.vh(F7b(jMc,ED(zD(PU,1),RFc,1,5,[])),(T=q5b(a.k,51),!T?null:T.sg()),u,i):a.b.vh(F7b("msg.jsdoc.export",ED(zD(PU,1),RFc,1,5,[])),(U=q5b(a.k,51),!U?null:U.sg()),u,i);if(!r)return tIb(a,b);break;case 43:M4b(a.e,(t3b(),
q3b))||a.b.vh(F7b(jMc,ED(zD(PU,1),RFc,1,5,[])),(V=q5b(a.k,51),!V?null:V.sg()),u,i);if(!r)return tIb(a,b);break;case 38:M4b(a.e,(t3b(),p3b))||a.b.vh(F7b(jMc,ED(zD(PU,1),RFc,1,5,[])),(W=q5b(a.k,51),!W?null:W.sg()),u,i);if(!r)return tIb(a,b);break;case 44:M4b(a.e,(t3b(),r3b))||a.b.vh(F7b(jMc,ED(zD(PU,1),RFc,1,5,[])),(X=q5b(a.k,51),!X?null:X.sg()),u,i);if(!r)return tIb(a,b);break;case 45:M4b(a.e,(t3b(),s3b))||a.b.vh(F7b(jMc,ED(zD(PU,1),RFc,1,5,[])),(Y=q5b(a.k,51),!Y?null:Y.sg()),u,i);if(!r)return tIb(a,
b);break;case 46:!hb&&(hb=IHb(a,THb(a,(Pac(),dac))));if(!y4b(a.e,hb)){a.b.vh(dMc+F7b(fMc,ED(zD(PU,1),RFc,1,5,[]))+eMc,(Z=q5b(a.k,51),!Z?null:Z.sg()),u,i);break}if(a.e.d&&!r){N=NHb(a,b,a.f?0:2,false);M=N.a;M.length>0&&x4b(a.e,M);b=N.b}else b=LHb(a,!a.n?mJb(a.i):JHb(a));return b;case 52:D4b(a.e,hb)||a.b.vh(dMc+F7b(fMc,ED(zD(PU,1),RFc,1,5,[]))+eMc,(R=q5b(a.k,51),!R?null:R.sg()),u,i);break;case 55:J4b(a.e,hb)||a.b.vh(dMc+F7b(fMc,ED(zD(PU,1),RFc,1,5,[]))+eMc,(O=q5b(a.k,51),!O?null:O.sg()),u,i)}}return LHb(a,
!a.n?mJb(a.i):JHb(a))}}return!a.n?mJb(a.i):JHb(a)}function p1(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;if(a.g&&!!q5b(b,29)){G=ajb(a.e,q5b(b,29));Fnc(G,"/** */ ")||P0(a.c,G)}cb=b.k;N=wnb(cb);p=l5b(b);t=b.b;H=b.b?b.b.g:null;if(N!=null&&t!=H){Yd(p==2,N,p);O=F1(a,b);Y=c.b?c:(Z1(),U1);K=(c==(Z1(),X1)||c.a)&&t.k==(Pac(),V9b);b.k==(Pac(),T7b)&&K&&P0(a.c,"(");if(Bmb(b)||cb==P8b){u1(a,t,O+1,c);R0(a.c,N,true);u1(a,H,O,Y)}else I1(a,
b,cb,N,c,Y,O,O+1);b.k==T7b&&K&&P0(a.c,")");return}a.c.ah(b);switch(cb.f){case 44:{Sd(t.e.k==(Pac(),k8b)&&!w5b(t.e));Sd(p>=2&&p<=3);P0(a.c,"try");a.bh(t,(Z1(),U1));n=t.e.b;!!n&&a.bh(n,U1);if(p==3){a.c.Yg();P0(a.c,VHc);a.bh(H,U1)}break}case 78:Td(p==2,b);a.c.Yg();P0(a.c,"catch");a.c.Yg();P0(a.c,"(");a.bh(t,(Z1(),U1));P0(a.c,")");a.bh(H,U1);break;case 39:Td(p==1,b);P0(a.c,"throw");a.c.Yg();a.bh(t,(Z1(),U1));a.c.Ug(true);break;case 0:P0(a.c,WHc);if(p==1){a.c.Yg();if(a.g&&!!q5b(t,29)){P0(a.c,"(");a.bh(t,
(Z1(),U1));P0(a.c,")")}else a.bh(t,(Z1(),U1))}else Td(p==0,b);a.c.Ug(false);break;case 76:P0(a.c,"var ");y1(a,t,false,c.b?c:(Z1(),U1),",");(!b.f||(Rlb(),b.k!=(Pac(),F9b)&&gnb(b.f)))&&a.c.Ug(false);break;case 88:P0(a.c,"const ");y1(a,t,false,c.b?c:(Z1(),U1),",");(!b.f||(Rlb(),b.k!=(Pac(),F9b)&&gnb(b.f)))&&a.c.Ug(false);break;case 100:P0(a.c,"let ");y1(a,t,false,c.b?c:(Z1(),U1),",");(!b.f||(Rlb(),b.k!=(Pac(),F9b)&&gnb(b.f)))&&a.c.Ug(false);break;case 90:Td(b.Rh().length!=0,b);w1(a,b.Rh());break;case 95:a.bh(t,
(Z1(),U1));if(t!=H){Td(p==2,b);R0(a.c,"=",true);a.bh(H,U1)}break;case 29:a.k&&q5b(b,40)!=null?w1(a,q5b(b,40)):w1(a,b.Rh());n5b(b,80)!=0&&P0(a.c,"?");E1(a,b);if(!!t&&t.k!=(Pac(),J8b)){Td(p==1,b);R0(a.c,"=",true);t.k==(Pac(),v8b)||t.k==q8b&&t.b.k==v8b?u1(a,t,ynb(T7b),(Z1(),U1)):u1(a,t,0,c.b?c:(Z1(),U1))}break;case 42:P0(a.c,"[");s1(a,t);P0(a.c,"]");break;case 93:P0(a.c,"[");s1(a,t);P0(a.c,"]");E1(a,b);break;case 45:P0(a.c,"(");y1(a,t,true,(Z1(),U1),",");P0(a.c,")");break;case 119:a.bh(t,(Z1(),U1));
E1(a,b);R0(a.c,"=",true);u1(a,t.e,1,U1);break;case 46:Td(p==2,b);I1(a,b,(Pac(),v8b),",",c,c.b?c:(Z1(),U1),0,0);break;case 30:Td(p==0,b);a.c.Ig(b.Qh(),b);break;case 25:case 79:case 19:case 20:case 21:{Td(p==1,b);R0(a.c,xnb(cb),false);u1(a,t,ynb(cb),(Z1(),U1));break}case 22:{Td(p==1,b);if(b.b.k==(Pac(),S9b))a.c.Ig(-b.b.Qh(),b.b);else{R0(a.c,xnb(cb),false);u1(a,t,ynb(cb),(Z1(),U1))}break}case 60:{Td(p==3,b);O=ynb(cb);Y=c.b?c:(Z1(),U1);u1(a,t,O+1,c);R0(a.c,"?",true);u1(a,t.e,1,Y);R0(a.c,":",true);u1(a,
H,1,Y);break}case 38:if(t.k!=(Pac(),rac)||H.k!=rac)throw CX(new Klc("Expected children to be strings"));W="/"+H1(a,t.Rh(),'"',"'","`",XHc,"$",false,true)+"/";if(p==2)q1(a,W+H.Rh());else{Td(p==1,b);P0(a.c,W)}break;case 65:{if(b.Aj!=nT)throw CX(new Klc(YHc));Td(p==3,b);b.k==(Pac(),Z8b)&&n5b(b,60)!=0?(Td(t.Rh().length==0,t),db=(eb=b.f,!!eb&&(Rlb(),Cmb(eb.k)||jnb(eb.k)||lnb(eb.k)||eb.k==xac||eb.k==d9b||(eb.k==c9b||eb.k==n8b||eb.k==g9b)&&(fb=b.f,!!fb&&b==fb.b))),db&&P0(a.c,"("),gb=q5b(t,81),!!gb&&a.bh(gb,
(Z1(),U1)),b.k==Z8b&&n5b(b,61)!=0&&P0(a.c,ZHc),a.bh(t.e,(Z1(),U1)),E1(a,b),R0(a.c,"=>",true),H.k==k8b?a.bh(H,U1):u1(a,H,ynb(v8b)+1,c.b?W1:V1),a.c.Rg(c==Y1),db&&P0(a.c,")"),undefined):v1(a,b,t,H,c);break}case 113:P0(a.c,$Hc);a.bh(t,(Z1(),U1));E1(a,b);break;case 114:P0(a.c,$Hc);a.bh(b.b,(Z1(),U1));break;case 109:P0(a.c,_Hc);n5b(b,63)!=0&&P0(a.c,aIc);if(n5b(b,64)!=0){P0(a.c,"*");Td(!!t&&t.k==(Pac(),J8b),b)}else a.bh(t,(Z1(),U1));if(p==2){P0(a.c,bIc);a.bh(H,(Z1(),U1))}G1(a,t,c);break;case 105:P0(a.c,
cIc);Z=t.e;if(t.k!=(Pac(),J8b)){a.bh(t,(Z1(),U1));Z.k==J8b||a.c.Wg()}Z.k==J8b||a.bh(Z,(Z1(),U1));(t.k!=J8b||Z.k!=J8b)&&P0(a.c,bIc);a.bh(H,(Z1(),U1));a.c.Ug(false);break;case 110:case 106:P0(a.c,"{");for(j=t;j;j=j.e){j!=t&&a.c.Wg();a.bh(j,(Z1(),U1))}P0(a.c,"}");break;case 111:case 107:a.bh(t,(Z1(),U1));if(n5b(b,98)!=0&&Fnc(t.Rh(),H.Rh()))break;P0(a.c,"as");a.bh(H,U1);break;case 108:P0(a.c,"*");P0(a.c,"as");q1(a,b.Rh());break;case 96:{Td(p==3,b);q=c==(Z1(),X1);q&&P0(a.c,"(");J=t;$=t.e;I=H;P0(a.c,dIc);
J.k==(Pac(),J8b)||a.bh(J,U1);A=q5b(t,81);!!A&&a.bh(A,U1);if($.k!=J8b){P0(a.c,eIc);a.bh($,U1)}D=q5b(b,82);if(D){P0(a.c,fIc);o=D.b;a.bh(o,U1);while(o=o.e){P0(a.c,",");a.c.Yg();a.bh(o,U1)}}a.bh(I,U1);U0(a.c,c==Y1);q&&P0(a.c,")")}break;case 97:case 151:case 161:S0(a.c);for(k=t;k;k=k.e){a.bh(k,(Z1(),U1));G1(a,k,c);a.c.Sg()}T0(a.c,false);break;case 153:S0(a.c);for(l=t;l;l=l.e){a.bh(l,(Z1(),U1));!!l.e&&P0(a.c,",");a.c.Sg()}T0(a.c,false);break;case 86:case 87:case 98:case 157:{Sd(b.f.k==(Pac(),U9b)||b.f.k==
t8b||b.f.k==t9b||b.f.k==eac||b.f.k==p9b);e=q5b(b,84);!!e&&q1(a,(e.e!=null?e.e:""+e.f).toLowerCase()+" ");n5b(b,58)!=0&&P0(a.c,"static ");b.k==C9b&&z5b(b.b)&&P0(a.c,"async ");if(b.k!=D9b&&n5b(b.b,59)!=0){Td(cb==C9b,b);P0(a.c,"*")}switch(cb.f){case 86:Td(!t.b.e.b,b);P0(a.c,"get ");break;case 87:Td(x5b(t.b.e),b);P0(a.c,"set ")}J=b.Rh();if(b.k==D9b){q1(a,b.Rh());n5b(b,80)!=0&&P0(a.c,"?");E1(a,b)}else{Td(p==1,b);Td(t.k==Z8b,t);Td(t.b.Rh().length==0,t);u=t;P=u.b.e;h=u.b?u.b.g:null;if(!b.Th()&&(U4b(),T4b.test(J))&&
Umb(J)){P0(a.c,J);D1(a,u.b)}else{r=O1(J);isNaN(r)?x1(a,b):a.c.Ig(r,b)}n5b(u,80)!=0&&P0(a.c,"?");a.bh(P,(Z1(),U1));E1(a,u);a.bh(h,U1)}break}case 85:case 112:case 82:case 81:{if(b.Aj!=nT)throw CX(new Klc(YHc));V=b.k==(Pac(),k8b)&&n5b(b,38)==0;V&&S0(a.c);U=cb==lac||cb==k8b&&!V&&b.f.k==lac;for(m=t;m;m=m.e){a.bh(m,(Z1(),Y1));(m.k==Z8b||m.k==s8b)&&a.c.Zg();U&&a.c.$g()}V&&T0(a.c,a.c.Og(b,c==(Z1(),Y1)));break}case 72:Td(p==4,b);P0(a.c,"for");a.c.Yg();P0(a.c,"(");Rlb();!!t&&(t.k==(Pac(),Jac)||t.k==z9b||t.k==
x8b)?a.bh(t,(Z1(),T1)):u1(a,t,0,(Z1(),T1));P0(a.c,";");t.e.k==(Pac(),J8b)||a.c.Yg();a.bh(t.e,(Z1(),U1));P0(a.c,";");t.e.e.k==J8b||a.c.Yg();a.bh(t.e.e,U1);P0(a.c,")");z1(a,H,c==S1?S1:U1,false);break;case 73:Td(p==3,b);P0(a.c,"for");a.c.Yg();P0(a.c,"(");a.bh(t,(Z1(),U1));P0(a.c,"in");a.bh(t.e,U1);P0(a.c,")");z1(a,H,c==S1?S1:U1,false);break;case 101:Td(p==3,b);P0(a.c,"for");a.c.Yg();P0(a.c,"(");a.bh(t,(Z1(),U1));a.c.Yg();P0(a.c,"of");a.c.Yg();a.bh(t.e,U1);P0(a.c,")");z1(a,H,c==S1?S1:U1,false);break;
case 102:Td(p==3,b);P0(a.c,"for await");a.c.Yg();P0(a.c,"(");a.bh(t,(Z1(),U1));a.c.Yg();P0(a.c,"of");a.c.Yg();a.bh(t.e,U1);P0(a.c,")");z1(a,H,c==S1?S1:U1,false);break;case 71:Td(p==2,b);P0(a.c,"do");z1(a,t,(Z1(),U1),false);a.c.Yg();P0(a.c,gIc);a.c.Yg();P0(a.c,"(");a.bh(H,U1);P0(a.c,")");a.c.Ug(false);break;case 70:Td(p==2,b);P0(a.c,gIc);a.c.Yg();P0(a.c,"(");a.bh(t,(Z1(),U1));P0(a.c,")");z1(a,H,c==S1?S1:U1,false);break;case 80:Td(p==0,b);break;case 26:{if(a.k&&q5b(b,40)!=null){J5b(b.b,"$jscomp.scope")&&
b.f.k==(Pac(),T7b)&&P0(a.c,"var ");w1(a,q5b(b,40));break}Ud(p==2,"Bad GETPROP: expected 2 children, but got %s",p);Td(H.k==(Pac(),rac),"Bad GETPROP: RHS should be STRING");K=t.k==S9b;K&&P0(a.c,"(");u1(a,t,ynb(cb),c);K&&P0(a.c,")");if(a.i&&Tac(H.Rh())){P0(a.c,"[");a.bh(H,(Z1(),U1));P0(a.c,"]")}else{P0(a.c,".");w1(a,H.Rh())}break}case 27:Wd(p==2,p,b);u1(a,t,ynb(cb),c);P0(a.c,"[");a.bh(t.e,(Z1(),U1));P0(a.c,"]");break;case 77:Td(p==2,b);P0(a.c,"with(");a.bh(t,(Z1(),U1));P0(a.c,")");z1(a,H,c==S1?S1:U1,
false);break;case 63:case 64:{Td(p==1,b);M=cb==(Pac(),o9b)?"++":"--";R=n5b(b,32)!=0;if(R){u1(a,t,ynb(cb),c);R0(a.c,M,false)}else{R0(a.c,M,false);a.bh(t,(Z1(),U1))}break}case 28:if(t.k==(Pac(),H9b)&&Fnc("eval",t.Rh())&&n5b(t,49)==0||n5b(b,50)!=0&&(Rlb(),t.k==d9b||t.k==c9b)){P0(a.c,"(0,");u1(a,t,ynb(v8b),(Z1(),U1));P0(a.c,")")}else u1(a,t,ynb(cb),c);g=t.e;P0(a.c,"(");y1(a,g,true,(Z1(),U1),",");P0(a.c,")");break;case 66:Td(p==2||p==3,b);B=p==3;f=c==(Z1(),S1)&&!B;f&&S0(a.c);P0(a.c,"if");a.c.Yg();P0(a.c,
"(");a.bh(t,U1);P0(a.c,")");if(B){z1(a,t.e,S1,false);a.c.Yg();P0(a.c,"else");z1(a,H,c==S1?S1:U1,false)}else z1(a,t.e,U1,false);f&&T0(a.c,false);break;case 32:Td(p==0,b);P0(a.c,OFc);break;case 33:Td(p==0,b);P0(a.c,jHc);break;case 99:Td(p==0,b);P0(a.c,hHc);break;case 120:Td(p==0,b);P0(a.c,hIc);break;case 103:P0(a.c,iIc);if(n5b(b,62)!=0){Nd(t);P0(a.c,"*")}if(t){a.c.Yg();u1(a,t,ynb(cb),(Z1(),U1))}break;case 104:P0(a.c,"await ");u1(a,t,ynb(cb),(Z1(),U1));break;case 34:Td(p==0,b);P0(a.c,jIc);break;case 35:Td(p==
0,b);P0(a.c,kIc);break;case 75:Td(p<=1,b);P0(a.c,lIc);if(p==1){if(t.k!=(Pac(),v9b))throw CX(new Klc(mIc));P0(a.c," ");a.bh(t,(Z1(),U1))}a.c.Ug(false);break;case 89:Td(p==0,b);P0(a.c,nIc);a.c.Ug(false);break;case 74:Td(p<=1,b);P0(a.c,"break");if(p==1){if(t.k!=(Pac(),v9b))throw CX(new Klc(mIc));P0(a.c," ");a.bh(t,(Z1(),U1))}a.c.Ug(false);break;case 84:Td(p==1,b);a.bh(t,(Z1(),X1));a.c.Ug(false);break;case 23:P0(a.c,"new ");S=ynb(cb);T=ynb(t.k);T==S&&(S=S+1);Ylb(t,(Pac(),n8b),(Rlb(),Mlb))&&(S=ynb(t.k)+
1);u1(a,t,S,(Z1(),U1));L=t.e;if(L){P0(a.c,"(");y1(a,L,true,U1,",");P0(a.c,")")}break;case 91:B1(a,b);break;case 31:Xd(p==0,"String node %s may not have children",b);x1(a,b);break;case 24:Td(p==1,b);P0(a.c,"delete ");a.bh(t,(Z1(),U1));break;case 43:{K=c==(Z1(),X1)||c.a;K&&P0(a.c,"(");P0(a.c,"{");for(m=t;m;m=m.e){m!=t&&a.c.Wg();Td((Rlb(),m.k==(Pac(),sac)||m.k==e9b||m.k==mac||m.k==C9b||m.k==w8b||m.k==pac),m);a.bh(m,U1)}P0(a.c,"}");K&&P0(a.c,")");break}case 115:d=q5b(b,84);!!d&&q1(a,(d.e!=null?d.e:""+
d.f).toLowerCase()+" ");n5b(b,58)!=0&&P0(a.c,"static ");if(n5b(b,73)!=0)P0(a.c,"get ");else if(n5b(b,74)!=0)P0(a.c,"set ");else{H.k==(Pac(),Z8b)&&n5b(H,61)!=0&&P0(a.c,ZHc);n5b(H,59)!=0&&P0(a.c,"*")}P0(a.c,"[");a.bh(t,(Z1(),U1));P0(a.c,"]");E1(a,b);if(n5b(b,72)!=0||n5b(b,73)!=0||n5b(b,74)!=0){v=t.e;Q=v.b.e;h=v.b?v.b.g:null;a.bh(Q,U1);a.bh(h,U1)}else{F=b.f.k==(Pac(),t8b);C=t.e;if(C){Td(!F,"initializers should only exist in object literals, not classes");R0(a.c,":",false);a.bh(C,U1)}else Td(n5b(b,75)!=
0,b)}break;case 94:A1(a,b);E1(a,b);break;case 67:P0(a.c,"switch(");a.bh(t,(Z1(),U1));P0(a.c,")");S0(a.c);r1(a,t.e);T0(a.c,c==Y1);break;case 68:Td(p==2,b);P0(a.c,"case ");a.bh(t,(Z1(),U1));t1(a,H);break;case 69:Td(p==1,b);P0(a.c,aIc);t1(a,t);break;case 83:Td(p==2,b);if(t.k!=(Pac(),v9b))throw CX(new Klc(mIc));a.bh(t,(Z1(),U1));P0(a.c,":");H.k==k8b||a.c.Yg();z1(a,H,c==S1?S1:U1,true);break;case 92:if(a.g){P0(a.c,"(");a.bh(t,(Z1(),U1));P0(a.c,")")}else a.bh(t,c);break;case 116:a.bh(t,(Z1(),X1));a.bh(t.e,
U1);break;case 117:P0(a.c,"`");for(i=t;i;i=i.e)if(i.k==(Pac(),rac))q1(a,H1(a,i.Rh(),'"',"'","\\`",RGc,"\\$",false,false));else{a.c.Jg("${");a.bh(i.b,(Z1(),X1));P0(a.c,"}")}P0(a.c,"`");break;case 121:P0(a.c,DFc);break;case 122:P0(a.c,AFc);break;case 123:P0(a.c,BFc);break;case 127:P0(a.c,"any");break;case 129:P0(a.c,oIc);break;case 131:a.bh(t,(Z1(),U1));break;case 135:u1(a,t,ynb((Pac(),S7b)),c);P0(a.c,"[]");break;case 124:X=t;P0(a.c,"(");y1(a,t.e,true,(Z1(),U1),",");P0(a.c,")");R0(a.c,"=>",true);a.bh(X,
U1);break;case 126:y1(a,t,true,(Z1(),U1),"|");break;case 133:P0(a.c,"{");y1(a,t,false,(Z1(),U1),",");P0(a.c,"}");break;case 125:a.bh(t,(Z1(),U1));P0(a.c,"<");y1(a,t.e,true,U1,",");P0(a.c,">");break;case 137:P0(a.c,"<");y1(a,t,false,(Z1(),Y1),",");P0(a.c,">");break;case 136:w1(a,b.Rh());if(b.b){P0(a.c,eIc);a.c.Yg();a.bh(b.b,(Z1(),U1))}break;case 149:{Td(p==3,b);J=t;bb=t.e;I=H;P0(a.c,pIc);a.bh(J,(Z1(),U1));A=q5b(J,81);!!A&&a.bh(A,U1);if(bb.k!=(Pac(),J8b)){P0(a.c,eIc);ab=bb.b;a.bh(ab,U1);while(ab=ab.e){P0(a.c,
",");a.c.Yg();a.bh(ab,U1)}}a.bh(I,U1)}break;case 152:{Td(p==2,b);J=t;I=H;P0(a.c,qIc);a.bh(J,(Z1(),U1));a.bh(I,U1);break}case 160:{Td(p==2,b);J=t;s=H;P0(a.c,"namespace");a.bh(J,(Z1(),U1));a.bh(s,U1);break}case 155:P0(a.c,rIc);q1(a,b.Rh());R0(a.c,"=",true);a.bh(H,(Z1(),U1));a.c.Ug(true);break;case 156:P0(a.c,sIc);a.bh(t,(Z1(),U1));G1(a,b,c);break;case 158:P0(a.c,"[");a.bh(t,(Z1(),U1));P0(a.c,"]");E1(a,b);a.c.Ug(true);break;case 159:n5b(b,83)!=0&&P0(a.c,"new ");w=q5b(b,81);!!w&&a.bh(w,(Z1(),U1));a.bh(t,
(Z1(),U1));E1(a,b);a.c.Ug(true);break;default:throw CX(new IC("Unknown token "+cb+KGc+k6b(b)));}a.c.Tg(b)}function AZb(){AZb=bY;yZb=WZb(ED(zD(AE,1),MGc,8,15,[65,91,97,123,181,182,192,215,216,223,224,247,248,304,306,312,313,329,330,383,384,397,398,411,412,426,428,442,444,446,447,448,452,496,497,545,546,564,570,575,577,592,595,597,598,600,601,602,603,604,608,609,611,612,616,618,619,620,623,624,626,627,629,630,637,638,640,641,643,644,648,653,658,659,837,838,891,894,902,903,904,907,908,909,910,912,913,
930,931,944,945,975,976,978,981,983,984,PFc,1013,1014,1015,1020,1021,1154,1162,1300,1329,1367,1377,1415,4256,4294,7549,7550,7680,7830,7835,7836,7840,7930,7936,7958,7960,7966,7968,8006,8008,8014,8017,8018,8019,8020,8021,8022,8023,8024,8025,8026,8027,8028,8029,8030,8031,8062,8112,8114,8120,8124,8126,8127,8136,8140,8144,8146,8152,8156,8160,8162,8165,8166,8168,8173,8184,8188,8498,8499,8526,8527,8544,8576,8579,8581,9398,9450,11264,11311,11312,11359,11360,11373,11381,11383,11392,11492,11520,11558,65313,
65339,65345,65371]));TZb(65,90);zZb=_m(new CZb(-10795,(FZb(),new QZb(UZb(ED(zD(AE,1),MGc,8,15,[570]))))),new CZb(-10792,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[574])))),new CZb(-10743,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[619])))),new CZb(-10727,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[637])))),new CZb(-7264,WZb(ED(zD(AE,1),MGc,8,15,[4256,4294]))),new CZb(-7205,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[921])))),new CZb(-3814,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[7549])))),new CZb(-743,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[181])))),
new CZb(-219,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[439])))),new CZb(-218,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[422,425,430])))),new CZb(-217,WZb(ED(zD(AE,1),MGc,8,15,[433,435]))),new CZb(-214,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[415])))),ED(zD(xS,1),RFc,12,0,[new CZb(-213,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[413])))),new CZb(-211,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[406,412])))),new CZb(-210,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[385])))),new CZb(-209,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[407])))),new CZb(-207,new QZb(UZb(ED(zD(AE,
1),MGc,8,15,[404])))),new CZb(-206,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[390])))),new CZb(-205,WZb(ED(zD(AE,1),MGc,8,15,[393,395,403,404]))),new CZb(-203,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[400])))),new CZb(-202,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[399])))),new CZb(-195,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[384])))),new CZb(-163,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[410])))),new CZb(-130,WZb(ED(zD(AE,1),MGc,8,15,[414,415,891,894]))),new CZb(-128,WZb(ED(zD(AE,1),MGc,8,15,[8056,8058]))),new CZb(-126,WZb(ED(zD(AE,1),
MGc,8,15,[8060,8062]))),new CZb(-121,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[255])))),new CZb(-112,WZb(ED(zD(AE,1),MGc,8,15,[8058,8060]))),new CZb(-100,WZb(ED(zD(AE,1),MGc,8,15,[8054,8056]))),new CZb(-97,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[405])))),new CZb(-96,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[917])))),new CZb(-86,WZb(ED(zD(AE,1),MGc,8,15,[922,923,8050,8054]))),new CZb(-84,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[837])))),new CZb(-80,WZb(ED(zD(AE,1),MGc,8,15,[929,930,BGc,1040]))),new CZb(-79,new QZb(UZb(ED(zD(AE,
1),MGc,8,15,[398])))),new CZb(-74,WZb(ED(zD(AE,1),MGc,8,15,[8048,8050]))),new CZb(-71,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[581])))),new CZb(-69,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[580])))),new CZb(-64,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[908])))),new CZb(-63,WZb(ED(zD(AE,1),MGc,8,15,[910,912]))),new CZb(-62,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[914])))),new CZb(-59,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[7776])))),new CZb(-57,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[920])))),new CZb(-56,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[447])))),
new CZb(-54,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[928])))),new CZb(-48,WZb(ED(zD(AE,1),MGc,8,15,[1329,1367,11264,11311]))),new CZb(-47,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[934])))),new CZb(-38,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[902])))),new CZb(-37,WZb(ED(zD(AE,1),MGc,8,15,[904,907]))),new CZb(-32,WZb(ED(zD(AE,1),MGc,8,15,[65,91,192,215,216,223,913,930,931,940,1040,1072,65313,65339]))),new CZb(-31,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[931])))),new CZb(-28,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[8498])))),new CZb(-26,
WZb(ED(zD(AE,1),MGc,8,15,[9398,9424]))),new CZb(-16,WZb(ED(zD(AE,1),MGc,8,15,[8544,8560]))),new CZb(-15,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[1216])))),new CZb(-8,WZb(ED(zD(AE,1),MGc,8,15,[7936,7944,7952,7958,7968,7976,7984,7992,8E3,8006,8017,8018,8019,8020,8021,8022,8023,8024,8032,8040,8112,8114,8144,8146,8160,8162]))),new CZb(-7,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[cGc,8165])))),new CZb(-2,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[452,455,458,497])))),new CZb(-1,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[256,258,260,262,
264,266,268,270,272,274,276,278,280,282,284,286,288,290,292,294,296,298,300,302,306,308,310,313,315,317,319,321,323,325,327,330,332,334,336,338,340,342,344,346,348,350,352,354,356,358,360,362,364,366,368,370,372,374,377,379,381,386,388,391,395,401,408,416,418,420,423,428,431,435,437,440,444,452,455,458,461,463,465,467,469,471,473,475,478,480,482,484,486,488,490,492,494,497,500,504,506,508,510,512,514,516,518,520,522,524,526,528,530,532,534,536,538,540,542,546,548,550,552,554,556,558,560,562,571,577,
582,584,586,588,590,984,986,988,990,992,994,996,998,1E3,1002,1004,1006,1015,1018,1120,1122,1124,1126,1128,1130,1132,1134,1136,1138,1140,1142,1144,1146,1148,1150,1152,1162,1164,1166,1168,1170,1172,1174,1176,1178,1180,1182,1184,1186,1188,1190,1192,1194,1196,1198,1200,1202,1204,1206,1208,1210,1212,1214,1217,1219,1221,1223,1225,1227,1229,1232,1234,1236,1238,1240,1242,1244,1246,1248,1250,1252,1254,1256,1258,1260,1262,1264,1266,1268,1270,1272,1274,1276,1278,1280,1282,1284,1286,1288,1290,1292,1294,1296,
1298,7680,7682,7684,7686,7688,7690,7692,7694,7696,7698,7700,7702,7704,7706,7708,7710,7712,7714,7716,7718,7720,7722,7724,7726,7728,7730,7732,7734,7736,7738,7740,7742,7744,7746,7748,7750,7752,7754,7756,7758,7760,7762,7764,7766,7768,7770,7772,7774,7776,7778,7780,7782,7784,7786,7788,7790,7792,7794,7796,7798,7800,7802,7804,7806,7808,7810,7812,7814,7816,7818,7820,7822,7824,7826,7828,7840,7842,7844,7846,7848,7850,7852,7854,7856,7858,7860,7862,7864,7866,7868,7870,7872,7874,7876,7878,7880,7882,7884,7886,7888,
7890,7892,7894,7896,7898,7900,7902,7904,7906,7908,7910,7912,7914,7916,7918,7920,7922,7924,7926,7928,8579,11360,11367,11369,11371,11381,11392,11394,11396,11398,11400,11402,11404,11406,11408,11410,11412,11414,11416,11418,11420,11422,11424,11426,11428,11430,11432,11434,11436,11438,11440,11442,11444,11446,11448,11450,11452,11454,11456,11458,11460,11462,11464,11466,11468,11470,11472,11474,11476,11478,11480,11482,11484,11486,11488,11490])))),new CZb(1,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[257,259,261,263,265,
267,269,271,273,275,277,279,281,283,285,287,289,291,293,295,297,299,301,303,307,309,311,314,316,318,320,322,324,326,328,331,333,335,337,339,341,343,345,347,349,351,353,355,357,359,361,363,365,367,369,371,373,375,378,380,382,387,389,392,396,402,409,417,419,421,424,429,432,436,438,441,445,453,456,459,462,464,466,468,470,472,474,476,479,481,483,485,487,489,491,493,495,498,501,505,507,509,511,513,515,517,519,521,523,525,527,529,531,533,535,537,539,541,543,547,549,551,553,555,557,559,561,563,572,578,583,
585,587,589,591,985,987,989,991,993,995,997,999,1001,1003,1005,1007,1016,1019,1121,1123,1125,1127,1129,1131,1133,1135,1137,1139,1141,1143,1145,1147,1149,1151,1153,1163,1165,1167,1169,1171,1173,1175,1177,1179,1181,1183,1185,1187,1189,1191,1193,1195,1197,1199,1201,1203,1205,1207,1209,1211,1213,1215,1218,1220,1222,1224,1226,1228,1230,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,
7681,7683,7685,7687,7689,7691,7693,7695,7697,7699,7701,7703,7705,7707,7709,7711,7713,7715,7717,7719,7721,7723,7725,7727,7729,7731,7733,7735,7737,7739,7741,7743,7745,7747,7749,7751,7753,7755,7757,7759,7761,7763,7765,7767,7769,7771,7773,7775,7777,7779,7781,7783,7785,7787,7789,7791,7793,7795,7797,7799,7801,7803,7805,7807,7809,7811,7813,7815,7817,7819,7821,7823,7825,7827,7829,7841,7843,7845,7847,7849,7851,7853,7855,7857,7859,7861,7863,7865,7867,7869,7871,7873,7875,7877,7879,7881,7883,7885,7887,7889,7891,
7893,7895,7897,7899,7901,7903,7905,7907,7909,7911,7913,7915,7917,7919,7921,7923,7925,7927,7929,8580,11361,11368,11370,11372,11382,11393,11395,11397,11399,11401,11403,11405,11407,11409,11411,11413,11415,11417,11419,11421,11423,11425,11427,11429,11431,11433,11435,11437,11439,11441,11443,11445,11447,11449,11451,11453,11455,11457,11459,11461,11463,11465,11467,11469,11471,11473,11475,11477,11479,11481,11483,11485,11487,11489,11491])))),new CZb(2,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[454,457,460,499])))),new CZb(7,
new QZb(UZb(ED(zD(AE,1),MGc,8,15,[1017,8172])))),new CZb(8,WZb(ED(zD(AE,1),MGc,8,15,[7944,7952,7960,7966,7976,7984,7992,8E3,8008,8014,8025,8026,8027,8028,8029,8030,8031,8032,8040,8048,8120,8122,8152,8154,8168,8170]))),new CZb(15,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[1231])))),new CZb(16,WZb(ED(zD(AE,1),MGc,8,15,[8560,8576]))),new CZb(26,WZb(ED(zD(AE,1),MGc,8,15,[9424,9450]))),new CZb(28,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[8526])))),new CZb(31,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[962])))),new CZb(32,WZb(ED(zD(AE,
1),MGc,8,15,[97,123,224,247,248,255,945,962,963,972,1072,1104,65345,65371]))),new CZb(37,WZb(ED(zD(AE,1),MGc,8,15,[941,944]))),new CZb(38,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[940])))),new CZb(47,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[981])))),new CZb(48,WZb(ED(zD(AE,1),MGc,8,15,[1377,1415,11312,11359]))),new CZb(54,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[982])))),new CZb(56,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[503])))),new CZb(57,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[977])))),new CZb(59,new QZb(UZb(ED(zD(AE,1),MGc,8,
15,[7835])))),new CZb(62,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[976])))),new CZb(63,WZb(ED(zD(AE,1),MGc,8,15,[973,975]))),new CZb(64,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[972])))),new CZb(69,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[649])))),new CZb(71,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[652])))),new CZb(74,WZb(ED(zD(AE,1),MGc,8,15,[8122,8124]))),new CZb(79,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[477])))),new CZb(80,WZb(ED(zD(AE,1),MGc,8,15,[1009,cGc,1104,1120]))),new CZb(84,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[921])))),new CZb(86,
WZb(ED(zD(AE,1),MGc,8,15,[1008,1009,8136,8140]))),new CZb(96,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[1013])))),new CZb(97,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[502])))),new CZb(100,WZb(ED(zD(AE,1),MGc,8,15,[8154,8156]))),new CZb(112,WZb(ED(zD(AE,1),MGc,8,15,[8170,8172]))),new CZb(121,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[376])))),new CZb(126,WZb(ED(zD(AE,1),MGc,8,15,[8186,8188]))),new CZb(128,WZb(ED(zD(AE,1),MGc,8,15,[8184,8186]))),new CZb(130,WZb(ED(zD(AE,1),MGc,8,15,[544,545,1021,BGc]))),new CZb(163,new QZb(UZb(ED(zD(AE,
1),MGc,8,15,[573])))),new CZb(195,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[579])))),new CZb(202,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[601])))),new CZb(203,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[603])))),new CZb(205,WZb(ED(zD(AE,1),MGc,8,15,[598,600,608,609]))),new CZb(206,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[596])))),new CZb(207,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[611])))),new CZb(209,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[616])))),new CZb(210,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[595])))),new CZb(211,new QZb(UZb(ED(zD(AE,1),
MGc,8,15,[617,623])))),new CZb(213,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[626])))),new CZb(214,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[629])))),new CZb(217,WZb(ED(zD(AE,1),MGc,8,15,[650,652]))),new CZb(218,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[640,643,648])))),new CZb(219,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[658])))),new CZb(743,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[924])))),new CZb(3814,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[11363])))),new CZb(7205,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[8126])))),new CZb(7264,WZb(ED(zD(AE,1),MGc,
8,15,[11520,11558]))),new CZb(10727,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[11364])))),new CZb(10743,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[11362])))),new CZb(10792,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[11366])))),new CZb(10795,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[11365]))))]));_m(new CZb(-10743,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[619])))),new CZb(-10727,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[637])))),new CZb(-3814,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[7549])))),new CZb(-743,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[181])))),new CZb(-195,
new QZb(UZb(ED(zD(AE,1),MGc,8,15,[384])))),new CZb(-163,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[410])))),new CZb(-130,WZb(ED(zD(AE,1),MGc,8,15,[414,415,891,894]))),new CZb(-128,WZb(ED(zD(AE,1),MGc,8,15,[8056,8058]))),new CZb(-126,WZb(ED(zD(AE,1),MGc,8,15,[8060,8062]))),new CZb(-121,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[255])))),new CZb(-112,WZb(ED(zD(AE,1),MGc,8,15,[8058,8060]))),new CZb(-100,WZb(ED(zD(AE,1),MGc,8,15,[8054,8056]))),ED(zD(xS,1),RFc,12,0,[new CZb(-97,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[405])))),
new CZb(-86,WZb(ED(zD(AE,1),MGc,8,15,[8050,8054]))),new CZb(-84,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[837])))),new CZb(-74,WZb(ED(zD(AE,1),MGc,8,15,[8048,8050]))),new CZb(-56,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[447])))),new CZb(-8,WZb(ED(zD(AE,1),MGc,8,15,[7936,7944,7952,7958,7968,7976,7984,7992,8E3,8006,8017,8018,8019,8020,8021,8022,8023,8024,8032,8040,8112,8114,8144,8146,8160,8162]))),new CZb(-7,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[cGc,8165])))),new CZb(1,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[257,259,261,263,
265,267,269,271,273,275,277,279,281,283,285,287,289,291,293,295,297,299,301,303,307,309,311,314,316,318,320,322,324,326,328,331,333,335,337,339,341,343,345,347,349,351,353,355,357,359,361,363,365,367,369,371,373,375,378,380,382,387,389,392,396,402,409,417,419,421,424,429,432,436,438,441,445,453,456,459,462,464,466,468,470,472,474,476,479,481,483,485,487,489,491,493,495,498,501,505,507,509,511,513,515,517,519,521,523,525,527,529,531,533,535,537,539,541,543,547,549,551,553,555,557,559,561,563,572,578,
583,585,587,589,591,985,987,989,991,993,995,997,999,1001,1003,1005,1007,1016,1019,1121,1123,1125,1127,1129,1131,1133,1135,1137,1139,1141,1143,1145,1147,1149,1151,1153,1163,1165,1167,1169,1171,1173,1175,1177,1179,1181,1183,1185,1187,1189,1191,1193,1195,1197,1199,1201,1203,1205,1207,1209,1211,1213,1215,1218,1220,1222,1224,1226,1228,1230,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,
1299,7681,7683,7685,7687,7689,7691,7693,7695,7697,7699,7701,7703,7705,7707,7709,7711,7713,7715,7717,7719,7721,7723,7725,7727,7729,7731,7733,7735,7737,7739,7741,7743,7745,7747,7749,7751,7753,7755,7757,7759,7761,7763,7765,7767,7769,7771,7773,7775,7777,7779,7781,7783,7785,7787,7789,7791,7793,7795,7797,7799,7801,7803,7805,7807,7809,7811,7813,7815,7817,7819,7821,7823,7825,7827,7829,7841,7843,7845,7847,7849,7851,7853,7855,7857,7859,7861,7863,7865,7867,7869,7871,7873,7875,7877,7879,7881,7883,7885,7887,7889,
7891,7893,7895,7897,7899,7901,7903,7905,7907,7909,7911,7913,7915,7917,7919,7921,7923,7925,7927,7929,8580,11361,11368,11370,11372,11382,11393,11395,11397,11399,11401,11403,11405,11407,11409,11411,11413,11415,11417,11419,11421,11423,11425,11427,11429,11431,11433,11435,11437,11439,11441,11443,11445,11447,11449,11451,11453,11455,11457,11459,11461,11463,11465,11467,11469,11471,11473,11475,11477,11479,11481,11483,11485,11487,11489,11491])))),new CZb(2,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[454,457,460,499])))),
new CZb(15,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[1231])))),new CZb(16,WZb(ED(zD(AE,1),MGc,8,15,[8560,8576]))),new CZb(26,WZb(ED(zD(AE,1),MGc,8,15,[9424,9450]))),new CZb(28,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[8526])))),new CZb(31,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[962])))),new CZb(32,WZb(ED(zD(AE,1),MGc,8,15,[97,123,224,247,248,255,945,962,963,972,1072,1104,65345,65371]))),new CZb(37,WZb(ED(zD(AE,1),MGc,8,15,[941,944]))),new CZb(38,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[940])))),new CZb(47,new QZb(UZb(ED(zD(AE,
1),MGc,8,15,[981])))),new CZb(48,WZb(ED(zD(AE,1),MGc,8,15,[1377,1415,11312,11359]))),new CZb(54,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[982])))),new CZb(57,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[977])))),new CZb(59,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[7835])))),new CZb(62,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[976])))),new CZb(63,WZb(ED(zD(AE,1),MGc,8,15,[973,975]))),new CZb(64,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[972])))),new CZb(69,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[649])))),new CZb(71,new QZb(UZb(ED(zD(AE,1),MGc,8,15,
[652])))),new CZb(79,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[477])))),new CZb(80,WZb(ED(zD(AE,1),MGc,8,15,[1009,cGc,1104,1120]))),new CZb(86,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[1008])))),new CZb(96,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[1013])))),new CZb(202,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[601])))),new CZb(203,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[603])))),new CZb(205,WZb(ED(zD(AE,1),MGc,8,15,[598,600,608,609]))),new CZb(206,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[596])))),new CZb(207,new QZb(UZb(ED(zD(AE,1),MGc,8,15,
[611])))),new CZb(209,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[616])))),new CZb(210,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[595])))),new CZb(211,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[617,623])))),new CZb(213,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[626])))),new CZb(214,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[629])))),new CZb(217,WZb(ED(zD(AE,1),MGc,8,15,[650,652]))),new CZb(218,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[640,643,648])))),new CZb(219,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[658])))),new CZb(7205,new QZb(UZb(ED(zD(AE,1),MGc,8,15,
[8126])))),new CZb(7264,WZb(ED(zD(AE,1),MGc,8,15,[11520,11558]))),new CZb(10792,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[11366])))),new CZb(10795,new QZb(UZb(ED(zD(AE,1),MGc,8,15,[11365]))))]))}function j0b(){var a;a=new uoc;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// base types require them to be part of their definition (such as Array).\\n\\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 the suppression when the compiler understands\\n// \\"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 {?=} opt_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 * @implements {Iterable<?>}\\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, when running in a browser environment. But\\n * we need it in order for the type checker to typecheck the \\"arguments\\"\\n * variable in a function correctly.\\n *\\n * TODO(tbreisacher): There should be a separate \'arguments\' variable of type\\n * `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 * @throws {URIError} when used wrongly.\\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 * @throws {URIError} when used wrongly.\\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 * @throws {URIError} if one attempts to encode a surrogate which is not part of\\n * a high-low pair.\\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 * @throws {URIError} if one attempts to encode a surrogate which is not part of\\n * a high-low pair.\\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 `parseInt` without `base` is strictly\\n * banned in Google. If you really want to parse octal or hex based on the\\n * leader, then pass `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 * Returns the object\'s `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 * @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 comma.\\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// T';
a.a+='ODO(bradfordcsmith): remove \\"undefined\\" from the var_args of push\\n/**\\n * Mutates an array by appending the given elements and returning the new\\n * length of the array.\\n *\\n * @param {...(T|undefined)} 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_compareFn 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_compareFn) {};\\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 * @const {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 * @const {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 * @const {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/NaN\\n */\\nNumber.NaN;\\n\\n/**\\n * @const {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 * @const {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.mozilla.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';
a.a+="\\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 * @const {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/E\\n */\\nMath.E;\\n\\n/**\\n * @const {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/LN2\\n */\\nMath.LN2;\\n\\n/**\\n * @const {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/LN10\\n */\\nMath.LN10;\\n\\n/**\\n * @const {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/LOG2E\\n */\\nMath.LOG2E;\\n\\n/**\\n * @const {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/LOG10E\\n */\\nMath.LOG10E;\\n\\n/**\\n * @const {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/PI\\n */\\nMath.PI;\\n\\n/**\\n * @const {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 * @const {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 * @implements {Iterable<string>}\\n * @param {*=} opt_str\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/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/e";
a.a+="n-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} pattern\\n * @param {string|Function} replacement\\n * @return {string}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace\\n */\\nString.prototype.replace = function(pattern, replacement) {};\\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} pattern\\n * @return {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/search\\n */\\nString.prototype.search = function(pattern) {};\\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 * @throws {SyntaxError} if opt_pattern is an invalid pattern.\\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 {?RegExpResult}\\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/**\\n * @constructor\\n * @extends {Array<string>}\\n */\\nvar RegExpResult = function() {};\\n\\n\\n/** @type {number} */\\nRegExpResult.prototype.index;\\n\\n\\n/** @type {string} */\\nRegExpResult.prototype.input;\\n\\n\\n/** @type {number} */\\nRegExpResult.prototype.length;\\n\\n\\n/**\\n * Not actually part of ES3; was added in 2018.\\n * https://github.com/tc39/proposal-regexp-named-groups\\n *\\n * @type {!Object<string, string>}\\n */\\nRegExpResult.prototype.groups;\\n\\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 the regular expression uses lastIndex.\\n * @type {boolean}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/sticky\\n */\\nRegExp.prototype.sticky;\\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 * The flags the regex was created with.\\n * @type {string}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/flags\\n */\\nRegExp.prototype.flags;\\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 ";
a.a+='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_constructor){};\\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","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 * @record\\n * @template THIS\\n */\\nfunction ObjectPropertyDescriptor() {}\\n\\n/** @type {(*|undefined)} */\\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|symbol} 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 {T} obj\\n * @param {string|symbol} prop\\n * @return {!ObjectPropertyDescriptor<T>|undefined}\\n * @nosideeffects\\n * @template T\\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(this:?, 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(this:?, 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 * @interface\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Generator\\n * @extends {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\\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 * Returns the wrapped primitive value of this Number object.\\n * @return {number}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/valueOf\\n * @override\\n */\\nNumber.prototype.valueOf = function() {};\\n\\n\\n/**\\n * Pads the end of the string so that it reaches the given length.\\n * NOTE: this is an ES2017 (ES8) extern.\\n *\\n * @param {number} targetLength The target length.\\n * @param {string=} opt_padString The string to pad with.\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padEnd\\n */\\nString.prototype.padEnd = function(targetLength, opt_padString) {};\\n\\n/**\\n * Pads the start of the string so that it reaches the given length.\\n * NOTE: this is an ES2017 (ES8) extern.\\n *\\n * @param {number} targetLength The target length.\\n * @param {string=} opt_padString The string to pad with.\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padStart\\n */\\nString.prototype.padStart = function(targetLength, opt_padString) {};\\n\\n/**\\n * Repeats the string the given number of times.\\n *\\n * @pa';
a.a+="ram {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 {...number} 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 * @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 */\\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 * @param {number} length The length in bytes\\n * @constructor\\n * @throws {Error}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer\\n */\\nfunction SharedArrayBuffer(length) {}\\n\\n/** @type {number} */\\nSharedArrayBuffer.prototype.byteLength;\\n\\n/**\\n * @param {number} begin\\n * @param {number=} opt_end\\n * @return {!SharedArrayBuffer}\\n * @nosideeffects\\n */\\nSharedArrayBuffer.prototype.slice = function(begin, opt_end) {};\\n\\n\\n/**\\n * @typedef {!ArrayBuffer|!ArrayBufferView}\\n */\\nvar BufferSource;\\n\\n\\n/**\\n * @constructor\\n * @implements {IArrayLike<number>}\\n * @implements {Iterable<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 * NOTE: this is an ES2016 (ES7) extern.\\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/** @override */\\nTypedArray.prototype[Symbol.iterator] = function() {};\\n\\n/**\\n * @param {number|ArrayBufferView|Array<number>|ArrayBuffer|SharedArrayBuffer}\\n *     length or array or buffer\\n * @param {number=} opt_byteOffset\\n * @param {number=} opt_length\\n * @constructor\\n * @extends {TypedArray}\\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|SharedArrayBuffer}\\n *     length or array or buffer\\n * @param {number=} opt_byteOffset\\n * @param {number=} opt_length\\n * @constructor\\n * @extends {TypedArray}\\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|SharedArrayBuffer}\\n *     length or array or buffer\\n * @param {number=} opt_byteOffset\\n * @param {number=} opt_length\\n * @constructor\\n * @extends {TypedArray}\\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|SharedArrayBuffer}\\n *     length or array or buffer\\n * @param {number=} opt_byteOffset\\n * @param {number=} opt_length\\n * @constructor\\n * @extends {TypedArray}\\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|SharedArrayBuffer}\\n *   ";
a.a+="  length or array or buffer\\n * @param {number=} opt_byteOffset\\n * @param {number=} opt_length\\n * @constructor\\n * @extends {TypedArray}\\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|SharedArrayBuffer}\\n *     length or array or buffer\\n * @param {number=} opt_byteOffset\\n * @param {number=} opt_length\\n * @constructor\\n * @extends {TypedArray}\\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/Reference/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|SharedArrayBuffer}\\n *     length or array or buffer\\n * @param {number=} opt_byteOffset\\n * @param {number=} opt_length\\n * @constructor\\n * @extends {TypedArray}\\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|SharedArrayBuffer}\\n *     length or array or buffer\\n * @param {number=} opt_byteOffset\\n * @param {number=} opt_length\\n * @constructor\\n * @extends {TypedArray}\\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|SharedArrayBuffer}\\n *     length or array or buffer\\n * @param {number=} opt_byteOffset\\n * @param {number=} opt_length\\n * @constructor\\n * @extends {TypedArray}\\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|SharedArrayBuffer} buffer\\n * @param {number=} opt_byteOffset\\n * @param {number=} opt_byteLength\\n * @constructor\\n * @extends {ArrayBufferView}\\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 * @param {function()} callback\\n * @return {!Promise<TYPE>}\\n */\\nPromise.prototype.finally = function(callback) {};\\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<T>}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/values\\n */\\nArray.prototype.values;\\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} predicateFn\\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(predicateFn, opt_this) {};\\n\\n\\n/**\\n * @param {!function(this:S, T, number, !Array<T>): boolean} predicateFn\\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(predicateFn, opt_this) {};\\n\\n\\n/**\\n * @param {T} value\\n * @param {number=} opt_begin\\n * @param {number=} opt_end\\n * @return {!Array<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 {!Array<T>}\\n */\\nArray.prototype.copyWithin = function(target, start, opt_end) {};\\n\\n\\n/**\\n * NOTE: this is an ES2016 (ES7) extern.\\n * @param {T} searchElement\\n * @param {number=} opt_fromIndex\\n * @return {boolean}\\n * @this {!IArrayLike<T>|string}\\n * @template T\\n * @nosideeffects\\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 `parseInt` without `base` is strictly\\n * banned in Google. If you really want to parse octal or hex based on the\\n * leader, then pass `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 *";
a.a+=' @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|null|undefined)} 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 * NOTE: this is an ES2017 (ES8) extern.\\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 * NOTE: this is an ES2017 (ES8) extern.\\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 = function(obj) {};\\n\\n/**\\n * NOTE: this is an ES2017 (ES8) extern.\\n * @param {!Object} obj\\n * @return {!Object<!ObjectPropertyDescriptor>} descriptors\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/getOwnPropertyDescriptors\\n * @throws {Error}\\n * @template T\\n */\\nObject.getOwnPropertyDescriptors = 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} targetFn\\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(targetFn, thisArg, argList) {};\\n\\n/**\\n * @param {function(new: ?, ...?)} targetConstructorFn\\n * @param {!Array<?>} argList\\n * @param {function(new: TARGET, ...?)=} opt_newTargetConstructorFn\\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(targetConstructorFn, argList, opt_newTargetConstructorFn) {};\\n\\n/**\\n * @param {!Object} target\\n * @param {string} propertyKey\\n * @param {!ObjectPropertyDescriptor} 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\\n\\n/**\\n * @const\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Atomics\\n */\\nvar Atomics = {};\\n\\n/**\\n * @param {!TypedArray} typedArray\\n * @param {number} index\\n * @param {number} value\\n * @return {number}\\n */\\nAtomics.add = function(typedArray, index, value) {}\\n\\n/**\\n * @param {!TypedArray} typedArray\\n * @param {number} index\\n * @param {number} value\\n * @return {number}\\n */\\nAtomics.and = function(typedArray, index, value) {}\\n\\n/**\\n * @param {!TypedArray} typedArray\\n * @param {number} index\\n * @param {number} expectedValue\\n * @param {number} replacementValue\\n * @return {number}\\n */\\nAtomics.compareExchange = function(typedArray, index, expectedValue,\\n    replacementValue) {}\\n\\n/**\\n * @param {!TypedArray} typedArray\\n * @param {number} index\\n * @param {number} value\\n * @return {number}\\n */\\nAtomics.exchange = function(typedArray, index, value) {}\\n\\n/**\\n * @param {number} size\\n * @return {boolean}\\n */\\nAtomics.isLockFree = function(size) {}\\n\\n/**\\n * @param {!TypedArray} typedArray\\n * @param {number} index\\n * @return {number}\\n */\\nAtomics.load = function(typedArray, index) {}\\n\\n/**\\n * @param {!TypedArray} typedArray\\n * @param {number} index\\n * @param {number} value\\n * @return {number}\\n */\\nAtomics.or = function(typedArray, index, value) {}\\n\\n/**\\n * @param {!TypedArray} typedArray\\n * @param {number} index\\n * @param {number} value\\n * @return {number}\\n */\\nAtomics.store = function(typedArray, index, value) {}\\n\\n/**\\n * @param {!TypedArray} typedArray\\n * @param {number} index\\n * @param {number} value\\n * @return {number}\\n */\\nAtomics.sub = function(typedArray, index, value) {}\\n\\n/**\\n * @param {!Int32Array} typedArray\\n * @param {number} index\\n * @param {number} value\\n * @param {number=} timeout\\n * @return {String}\\n */\\nAtomics.wait = function(typedArray, index, value, timeout) {}\\n\\n/**\\n * @param {!Int32Array} typedArray\\n * @param {number} index\\n * @param {number} count\\n * @return {number}\\n */\\nAtomics.wake = function(typedArray, index, count) {}\\n\\n/**\\n * @param {!TypedArray} typedArray\\n * @param {number} index\\n * @param {number} value\\n * @return {number}\\n */\\nAtomics.xor = function(typedArray, index, value) {}\\n\\n\\n/**\\n * @see https://tc39.github.io/proposal-async-iteration/\\n * @const {symbol}\\n */\\nSymbol.asyncIterator;\\n\\n\\n/**\\n * @interface\\n * @extends {AsyncIterable<VALUE>}\\n * @template VALUE\\n * @see https://tc39.github.io/proposal-async-iteration/\\n */\\nfunction AsyncIterator() {}\\n\\n/**\\n * @param {?=} opt_value\\n * @return {!Promise<!IIterableResult<VALUE>>}\\n */\\nAsyncIterator.prototype.next;\\n\\n\\n/**\\n * @interface\\n * @template VALUE\\n */\\nfunction AsyncIterable() {}\\n\\n\\n/**\\n * @return {!AsyncIterator<VALUE>}\\n */\\nAsyncIterable.prototype[Symbol.asyncIterator] = function() {};\\n\\n/**\\n * @interface\\n * @see https://tc39.github.io/proposal-async-iteration/\\n * @extends {AsyncIterator<VALUE>}\\n * @template VALUE\\n */\\nfunction AsyncGenerator() {}\\n\\n/**\\n * @param {?=} opt_value\\n * @return {!Promise<!IIterableResult<VALUE>>}\\n * @override\\n */\\nAsyncGenerator.prototype.next = function(opt_value) {};\\n\\n/**\\n * @param {VALUE} value\\n * @return {!Promise<!IIterableResult<VALUE>>}\\n */\\nAsyncGenerator.prototype.return = function(value) {};\\n\\n/**\\n * @param {?} exception\\n * @return {!Promise<!IIterableResult<VALUE>>}\\n */\\nAsyncGenerator.prototype.throw = function(exception) {};\\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 * @nosideeffects\\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 = function() {};\\n\\n/**\\n * @param {KEY} key\\n * @return {boolean}\\n */\\nMap.prototype.delete = function(key) {};\\n\\n/**\\n * @return {!IteratorIterable<!Array<KEY|VALUE>>}\\n * @nosideeffects\\n */\\nMap.prototype.entries = function() {};\\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 = function(callback, opt_thisArg) {};\\n\\n/**\\n * @param {KEY} key\\n * @return {VALUE}\\n * @nosideeffects\\n */\\nMap.prototype.get = function(key) {};\\n\\n/**\\n * @param {KEY} key\\n * @return {boolean}\\n * @nosideeffects\\n */\\nMap.prototype.has = function(key) {};\\n\\n/**\\n * @return {!IteratorIterable<KEY>}\\n * @nosideeffects\\n */\\nMap.prototype.keys = function() {};\\n\\n/**\\n * @param {KEY} key\\n * @param {VALUE} value\\n * @return {THIS}\\n * @this {THIS}\\n * @template THIS\\n */\\nMap.prototype.set = function(key, value) {};\\n\\n/**\\n * @type {number}\\n * (readonly)\\n */\\nMap.prototype.size;\\n\\n/**\\n * @return {!IteratorIterable<VALUE>}\\n * @nosideeffects\\n */\\nMap.prototype.values = function() {};\\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 * @nosideeffects\\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 = function() {};\\n\\n/**\\n * @param {KEY} key\\n * @return {boolean}\\n */\\nWeakMap.prototype.delete = function(key) {};\\n\\n/**\\n * @param {KEY} key\\n * @return {VALUE}\\n * @nosideeffects\\n */\\nWeakMap.prototype.get = function(key) {};\\n\\n/**\\n * @param {KEY} key\\n * @return {boolean}\\n * @nosideeffects\\n */\\nWeakMap.prototype.has = function(key) {};\\n\\n/**\\n * @param {KEY} key\\n * @param {VALUE} value\\n * @return {THIS}\\n * @this {THIS}\\n * @template THIS\\n */\\nWeakMap.prototype.set = function(key, value) {};\\n\\n/**\\n * @constructor @struct\\n * @param {Iterable<VALUE>|Array<VALUE>=} opt_iterable\\n * @implements {Iterable<VALUE>}\\n * @template VALUE\\n * @nosideeffects\\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 = function(value) {};\\n\\n/**\\n * @return {void}\\n */\\nSet.prototype.clear = function() {};\\n\\n/**\\n * @param {VALUE} value\\n * @return {boolean}\\n */\\nSet.prototype.delete = function(value) {};\\n\\n/**\\n * @return {!IteratorIterable<!Array<VALUE>>} Where each array has two entries:\\n *     [value, value]\\n * @nosideeffects\\n */\\nSet.prototype.entries = function() {};\\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 = function(callback, opt_thisArg) {};\\n\\n/**\\n * @param {VALUE} value\\n * @return {boolean}\\n * @nosideeffects\\n */\\nSet.prototype.has = function(value) {};\\n\\n/**\\n * @type {number} (readonly)\\n */\\nSet.prototype.size;\\n\\n/**\\n * @return {!IteratorIterable<VALUE>}\\n * @nosideeffects\\n */\\nSet.prototype.keys = function() {};\\n\\n/**\\n * @return {!IteratorIterable<VALUE>}\\n * @nosideeffects\\n */\\nSet.prototype.values = function() {};\\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 * @nosideeffects\\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 = function(value) {};\\n\\n/**\\n * @return {void}\\n */\\nWeakSet.prototype.clear = function() {};\\n\\n/**\\n * @param {VALUE} value\\n * @return {boolean}\\n */\\nWeakSet.prototype.delete = function(value) {};\\n\\n/**\\n * @param {VALUE} value\\n * @return {boolean}\\n * @nosideeffects\\n */\\nWeakSet.prototype.has = function(value) {};\\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}';
a.a+=' 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 * @see https://dom.spec.whatwg.org/#interface-eventtarget\\n */\\nfunction EventTarget() {}\\n\\n/**\\n * @param {string} type\\n * @param {EventListener|function(!Event):(boolean|undefined)} listener\\n * @param {(boolean|!AddEventListenerOptions)=} opt_options\\n * @return {undefined}\\n * @see https://dom.spec.whatwg.org/#dom-eventtarget-addeventlistener\\n */\\nEventTarget.prototype.addEventListener = function(type, listener, opt_options) {\\n};\\n\\n/**\\n * @param {string} type\\n * @param {EventListener|function(!Event):(boolean|undefined)} listener\\n * @param {(boolean|!EventListenerOptions)=} opt_options\\n * @return {undefined}\\n * @see https://dom.spec.whatwg.org/#dom-eventtarget-removeeventlistener\\n */\\nEventTarget.prototype.removeEventListener = function(\\n    type, listener, opt_options) {};\\n\\n/**\\n * @param {!Event} evt\\n * @return {boolean}\\n * @see https://dom.spec.whatwg.org/#dom-eventtarget-dispatchevent\\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 interfaces 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 * @record\\n * @see https://dom.spec.whatwg.org/#dictdef-eventinit\\n */\\nfunction EventInit() {}\\n\\n/** @type {(undefined|boolean)} */\\nEventInit.prototype.bubbles;\\n\\n/** @type {(undefined|boolean)} */\\nEventInit.prototype.cancelable;\\n\\n/** @type {(undefined|boolean)} */\\nEventInit.prototype.composed;\\n\\n\\n/**\\n * @constructor\\n * @param {string} type\\n * @param {EventInit=} opt_eventInitDict\\n */\\nfunction Event(type, opt_eventInitDict) {}\\n\\n/**\\n * @const {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Events/ecma-script-binding.html\\n */\\nEvent.CAPTURING_PHASE;\\n\\n/**\\n * @const {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Events/ecma-script-binding.html\\n */\\nEvent.AT_TARGET;\\n\\n/**\\n * @const {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Events/ecma-script-binding.html\\n */\\nEvent.BUBBLING_PHASE;\\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 * @record\\n * @extends {EventInit}\\n * @template T\\n * @see https://dom.spec.whatwg.org/#dictdef-customeventinit\\n */\\nfunction CustomEventInit() {}\\n\\n/** @type {(T|undefined)} */\\nCustomEventInit.prototype.detail;\\n\\n/**\\n * @constructor\\n * @extends {Event}\\n * @param {string} type\\n * @param {CustomEventInit<T>=} opt_eventInitDict\\n * @template T\\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 {T} detail\\n * @return {undefined}\\n */\\nCustomEvent.prototype.initCustomEvent = function(\\n    eventType, bubbles, cancelable, detail) {};\\n\\n/**\\n * @type {T}\\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 * @record\\n * @extends {EventInit}\\n * @see https://w3c.github.io/uievents/#idl-uieventinit\\n */\\nfunction UIEventInit() {}\\n\\n/** @type {undefined|?Window} */\\nUIEventInit.prototype.view;\\n\\n/** @type {undefined|number} */\\nUIEventInit.prototype.detail;\\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 * @record\\n * @extends {UIEventInit}\\n * @see https://w3c.github.io/uievents/#dictdef-eventmodifierinit\\n */\\nfunction EventModifierInit() {}\\n\\n/** @type {undefined|boolean} */\\nEventModifierInit.prototype.ctrlKey;\\n\\n/** @type {undefined|boolean} */\\nEventModifierInit.prototype.shiftKey;\\n\\n/** @type {undefined|boolean} */\\nEventModifierInit.prototype.altKey;\\n\\n/** @type {undefined|boolean} */\\nEventModifierInit.prototype.metaKey;\\n\\n/** @type {undefined|boolean} */\\nEventModifierInit.prototype.modifierAltGraph;\\n\\n/** @type {undefined|boolean} */\\nEventModifierInit.prototype.modifierCapsLock;\\n\\n/** @type {undefined|boolean} */\\nEventModifierInit.prototype.modifierFn;\\n\\n/** @type {undefined|boolean} */\\nEventModifierInit.prototype.modifierFnLock;\\n\\n/** @type {undefined|boolean} */\\nEventModifierInit.prototype.modifierHyper;\\n\\n/** @type {undefined|boolean} */\\nEventModifierInit.prototype.modifierNumLock;\\n\\n/** @type {undefined|boolean} */\\nEventModifierInit.prototype.modifierScrollLock;\\n\\n/** @type {undefined|boolean} */\\nEventModifierInit.prototype.modifierSuper;\\n\\n/** @type {undefined|boolean} */\\nEventModifierInit.prototype.modifierSymbol;\\n\\n/** @type {undefined|boolean} */\\nEventModifierInit.prototype.modifierSymbolLock;\\n\\n/**\\n * @record\\n * @extends {EventModifierInit}\\n * @see https://w3c.github.io/uievents/#idl-mouseeventinit\\n */\\nfunction MouseEventInit() {}\\n\\n/** @type {undefined|number} */\\nMouseEventInit.prototype.screenX;\\n\\n/** @type {undefined|number} */\\nMouseEventInit.prototype.screenY;\\n\\n/** @type {undefined|number} */\\nMouseEventInit.prototype.clientX;\\n\\n/** @type {undefined|number} */\\nMouseEventInit.prototype.clientY;\\n\\n/** @type {undefined|number} */\\nMouseEventInit.prototype.button;\\n\\n/** @type {undefined|number} */\\nMouseEventInit.prototype.buttons;\\n\\n/** @type {undefined|?EventTarget} */\\nMouseEventInit.prototype.relatedTarget;\\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 * @record\\n * @extends {EventModifierInit}\\n * @see https://w3c.github.io/uievents/#idl-keyboardeventinit\\n */\\nfunction KeyboardEventInit() {}\\n\\n/** @type {undefined|string} */\\nKeyboardEventInit.prototype.key;\\n\\n/** @type {undefined|string} */\\nKeyboardEventInit.prototype.code;\\n\\n/** @type {undefined|number} */\\nKeyboardEventInit.prototype.location;\\n\\n/** @type {undefined|boolean} */\\nKeyboardEventInit.prototype.repeat;\\n\\n/** @type {undefined|boolean} */\\nKeyboardEventInit.prototype.isComposing;\\n\\n/** @type {undefined|string} */\\nKeyboardEventInit.prototype.char;\\n\\n/** @type {undefined|string} */\\nKeyboardEventInit.prototype.locale;\\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 * @record\\n * @extends {UIEventInit}\\n * @see https://w3c.github.io/uievents/#idl-focuseventinit\\n */\\nfunction FocusEventInit() {}\\n\\n/** @type {undefined|?EventTarget} */\\nFocusEventInit.prototype.relatedTarget;\\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/';
a.a+='#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\\n/**\\n * @record\\n * @extends {UIEventInit}\\n * @see https://w3c.github.io/uievents/#idl-inputeventinit\\n * @see https://w3c.github.io/input-events/#interface-InputEvent\\n */\\nfunction InputEventInit() {}\\n\\n/** @type {undefined|?string} */\\nInputEventInit.prototype.data;\\n\\n/** @type {undefined|boolean} */\\nInputEventInit.prototype.isComposing;\\n\\n/** @type {undefined|string} */\\nInputEventInit.prototype.inputType;\\n\\n/** @type {undefined|?DataTransfer} */\\nInputEventInit.prototype.dataTransfer;\\n\\n\\n// TODO(charleyroy): Add getTargetRanges() once a consensus has been made\\n// regarding how to structure these values. See\\n// https://github.com/w3c/input-events/issues/38.\\n/**\\n * @constructor\\n * @extends {UIEvent}\\n * @param {string} type\\n * @param {InputEventInit=} opt_eventInitDict\\n * @see https://www.w3.org/TR/uievents/#interface-inputevent\\n * @see https://w3c.github.io/input-events/#interface-InputEvent\\n */\\nfunction InputEvent(type, opt_eventInitDict) {}\\n\\n/** @type {string} */\\nInputEvent.prototype.data;\\n\\n/** @type {boolean} */\\nInputEvent.prototype.isComposed;\\n\\n/** @type {string} */\\nInputEvent.prototype.inputType;\\n\\n/** @type {?DataTransfer} */\\nInputEvent.prototype.dataTransfer;\\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;\\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 {?EventTarget=} relatedTargetArg\\n */\\nEvent.prototype.initMouseEvent = function(typeArg, canBubbleArg, cancelableArg, viewArg, detailArg, screenXArg, screenYArg, clientXArg, clientYArg, ctrlKeyArg, altKeyArg, shiftKeyArg, metaKeyArg, buttonArg, relatedTargetArg) {};\\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.isPrimary;\\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 f';
a.a+='or 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 * @record\\n * @extends {EventInit}\\n * @see https://w3c.github.io/deviceorientation/spec-source-orientation.html#deviceorientation\\n */\\nfunction DeviceOrientationEventInit() {}\\n\\n/** @type {number|undefined} */\\nDeviceOrientationEventInit.prototype.alpha;\\n\\n/** @type {number|undefined} */\\nDeviceOrientationEventInit.prototype.beta;\\n\\n/** @type {number|undefined} */\\nDeviceOrientationEventInit.prototype.gamma;\\n\\n/** @type {boolean|undefined} */\\nDeviceOrientationEventInit.prototype.absolute;\\n\\n/**\\n * @constructor\\n * @extends {Event}\\n * @param {string} type\\n * @param {!DeviceOrientationEventInit=} opt_eventInitDict\\n */\\nfunction DeviceOrientationEvent(type, opt_eventInitDict) {}\\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/web_app_manifest.js":"/*\\n * Copyright 2017 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 web app manifest APIs.\\n *\\n * @see https://www.w3.org/TR/appmanifest/\\n * @externs\\n */\\n\\n/**\\n * @see https://www.w3.org/TR/appmanifest/#beforeinstallpromptevent-interface\\n * @constructor\\n * @extends {Event}\\n */\\nfunction BeforeInstallPromptEvent() {}\\n\\n/** @type {!Promise<{outcome: !AppBannerPromptOutcome}>} */\\nBeforeInstallPromptEvent.prototype.userChoice;\\n\\n/** @return {!Promise<!PromptResponseObject>} */\\nBeforeInstallPromptEvent.prototype.prompt = function() {};\\n\\n/**\\n * @typedef {string}\\n * @see https://www.w3.org/TR/appmanifest/#appbannerpromptoutcome-enum\\n * Possible values: \'accepted\', \'dismissed\'\\n */\\nvar AppBannerPromptOutcome;\\n\\n/** @typedef {{userChoice: !AppBannerPromptOutcome}} */\\nvar PromptResponseObject;\\n\\n/** @type {?function(!BeforeInstallPromptEvent)} */\\nWindow.prototype.onbeforeinstallprompt;\\n\\n/** @type {?function(!Event)} */\\nWindow.prototype.onappinstalled;\\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 * @param {string=} message\\n * @param {string=} name\\n * @see https://heycam.github.io/webidl/#idl-DOMException\\n */\\nfunction DOMException(message, name) {}\\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/** @override */\\nNode.prototype.addEventListener = function(type, listener, opt_options) {};\\n\\n/** @override */\\nNode.prototype.removeEventListener = function(type, listener, opt_options) {};\\n\\n/** @override */\\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.w3.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 {!HTMLHtmlElement}\\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';
a.a+='}\\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 * @param {?function(this:S, T, number, !NodeList<T>): ?} callback\\n * @param {S=} opt_thisobj\\n * @this {NodeList<T>}\\n * @template T,S\\n * @return {undefined}\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/NodeList/forEach\\n */\\nNodeList.prototype.forEach = function(callback, opt_thisobj) {};\\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 * An Element always contains a non-null NamedNodeMap containing the attributes\\n * of this node.\\n * @type {!NamedNodeMap<!Attr>}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-attributes\\n */\\nElement.prototype.attributes;\\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 * @param {string=} contents Optional textual content.\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1312295772\\n */\\nfunction Text(contents) {}\\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-1004215813\\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/** @override */\\nWindow.prototype.addEventListener = function(type, listener, opt_options) {};\\n\\n/** @override */\\nWindow.prototype.removeEventListener = function(type, listener, opt_options) {};\\n\\n/** @override */\\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\\n//  https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onerror\\n/**\\n * @type {?function (string, string, number, number, !Error):?}\\n */\\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 ';
a.a+='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 {Node} root\\n * @param {number=} whatToShow\\n * @param {NodeFilter=} filter\\n * @param {boolean=} entityReferenceExpansion\\n * @return {!NodeIterator}\\n * @see https://www.w3.org/TR/2000/REC-DOM-Level-2-Traversal-Range-20001113/traversal.html#Traversal-Document\\n * @see https://dom.spec.whatwg.org/#interface-document\\n * @nosideeffects\\n */\\nDocument.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 https://www.w3.org/TR/2000/REC-DOM-Level-2-Traversal-Range-20001113/traversal.html#Traversal-Document\\n * @see https://dom.spec.whatwg.org/#interface-document\\n * @nosideeffects\\n */\\nDocument.prototype.createTreeWalker = function(\\n    root, whatToShow, filter, entityReferenceExpansion) {};\\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 * @implements {Iterable<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 * @extends {HTMLCollection<HTMLOptionElement>}\\n * @see https://html.spec.whatwg.org/multipage/common-dom-interfaces.html#htmloptionscollection\\n */\\nfunction HTMLOptionsCollection() {}\\n\\n/**\\n * @type {number}\\n * @see https://html.spec.whatwg.org/multipage/common-dom-interfaces.html#dom-htmloptionscollection-length\\n * @nosideeffects\\n */\\nHTMLOptionsCollection.prototype.length;\\n\\n/**\\n * @param {HTMLOptionElement|HTMLOptGroupElement} element\\n * @param {HTMLElement|number=} before\\n * @return {undefined}\\n * @see https://html.spec.whatwg.org/multipage/common-dom-interfaces.html#dom-htmloptionscollection-add\\n */\\nHTMLOptionsCollection.prototype.add = function(element, before) {};\\n\\n/**\\n * NOTE(tjgq): The HTMLOptionsCollection#item method is inherited from\\n * HTMLCollection, but it must be declared explicitly to work around an error\\n * when building a jsinterop library for GWT.\\n * @param {number} index\\n * @return {HTMLOptionElement}\\n * @override\\n * @nosideeffects\\n */\\nHTMLOptionsCollection.prototype.item = function(index) {};\\n\\n/**\\n * @param {number} index\\n * @return {undefined}\\n * @see https://html.spec.whatwg.org/multipage/common-dom-interfaces.html#dom-htmloptionscollection-remove\\n */\\nHTMLOptionsCollection.prototype.remove = 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 * @param {string=} opt_mimeType\\n * @param {string=} opt_replace\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-72161170\\n * Even though official spec says \\"no parameters\\" some old browsers might take\\n * optional parameters: https://msdn.microsoft.com/en-us/library/ms536652(v=vs.85).aspx\\n * @override\\n */\\nHTMLDocument.prototype.open = function(opt_mimeType, opt_replace) {};\\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/** @typedef {{\\n  createNodeIterator: function(Node, number=, NodeFilter=, boolean=) : NodeIterator,\\n  createTreeWalker: function(Node, number=, NodeFilter=, boolean=) : TreeWalker\\n}} */\\nvar TraversalDocument;\\n\\n/**\\n * @record\\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-77253168\\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://';
a.a+="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.cols;\\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";
a.a+=" {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 * @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/referrerPolicy\\n */\\nHTMLImageElement.prototype.referrerPolicy;\\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 */\\nfunction 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 */\\nHTMLObjectElem";
a.a+="ent.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 {?function(!Event)}\\n */\\nHTMLScriptElement.prototype.onreadystatechange;\\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-20000510/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";
a.a+=' * @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.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';
a.a+='.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 * @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\\n/**\\n * @param {...(!Node|string)} nodes\\n * @return {undefined}\\n * @see https://dom.spec.whatwg.org/#dom-childnode-replacewith\\n */\\nDocumentType.prototype.replaceWith = function(nodes) {};\\n\\n/**\\n * @param {...(!Node|string)} nodes\\n * @return {undefined}\\n * @see https://dom.spec.whatwg.org/#dom-childnode-replacewith\\n */\\nElement.prototype.replaceWith = function(nodes) {};\\n\\n/**\\n * @param {...(!Node|string)} nodes\\n * @return {undefined}\\n * @see https://dom.spec.whatwg.org/#dom-childnode-replacewith\\n */\\nCharacterData.prototype.replaceWith = function(nodes) {};\\n\\n/**\\n * @return {!Array<string>}\\n * @see https://dom.spec.whatwg.org/#dom-element-getattributenames\\n */\\nElement.prototype.getAttributeNames = function() {};\\n\\n/**\\n * @param {...(!Node|string)} nodes\\n * @return {undefined}\\n * @see https://dom.spec.whatwg.org/#dom-parentnode-append\\n */\\nElement.prototype.append = function(nodes) {};\\n\\n/**\\n * @param {...(!Node|string)} nodes\\n * @return {undefined}\\n * @see https://dom.spec.whatwg.org/#dom-parentnode-append\\n */\\nDocument.prototype.append = function(nodes) {};\\n\\n/**\\n * @param {...(!Node|string)} nodes\\n * @return {undefined}\\n * @see https://dom.spec.whatwg.org/#dom-parentnode-append\\n */\\nDocumentFragment.prototype.append = function(nodes) {};\\n\\n/**\\n * @param {...(!Node|string)} nodes\\n * @return {undefined}\\n * @see https://dom.spec.whatwg.org/#dom-parentnode-prepend\\n */\\nElement.prototype.prepend = function(nodes) {};\\n\\n/**\\n * @param {...(!Node|string)} nodes\\n * @return {undefined}\\n * @see https://dom.spec.whatwg.org/#dom-parentnode-prepend\\n */\\nDocument.prototype.prepend = function(nodes) {};\\n\\n/**\\n * @param {...(!Node|string)} nodes\\n * @return {undefined}\\n * @see https://dom.spec.whatwg.org/#dom-parentnode-prepend\\n */\\nDocumentFragment.prototype.prepend = function(nodes) {};\\n\\n/**\\n * @param {...(!Node|string)} nodes\\n * @return {undefined}\\n * @see https://dom.spec.whatwg.org/#dom-childnode-before\\n */\\nElement.prototype.before = function(nodes) {};\\n\\n/**\\n * @param {...(!Node|string)} nodes\\n * @return {undefined}\\n * @see https://dom.spec.whatwg.org/#dom-childnode-before\\n */\\nDocumentType.prototype.before = function(nodes) {};\\n\\n/**\\n * @param {...(!Node|string)} nodes\\n * @return {undefined}\\n * @see https://dom.spec.whatwg.org/#dom-childnode-before\\n */\\nCharacterData.prototype.before = function(nodes) {};\\n\\n/**\\n * @param {...(!Node|string)} nodes\\n * @return {undefined}\\n * @see https://dom.spec.whatwg.org/#dom-childnode-after\\n */\\nElement.prototype.after = function(nodes) {};\\n\\n/**\\n * @param {...(!Node|string)} nodes\\n * @return {undefined}\\n * @see https://dom.spec.whatwg.org/#dom-childnode-after\\n */\\nDocumentType.prototype.after = function(nodes) {};\\n\\n/**\\n * @param {...(!Node|string)} nodes\\n * @return {undefined';
a.a+='}\\n * @see https://dom.spec.whatwg.org/#dom-childnode-after\\n */\\nCharacterData.prototype.after = function(nodes) {};\\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 permissions 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 {!Window}\\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;\\n\\n/**\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Document/defaultView\\n * @type {?Window}\\n */\\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 = functio';
a.a+="n(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 * @see 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 * @see https://bugzilla.mozilla.org/show_bug.cgi?id=548397\\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 * Inserts the given HTML Element into the node at the location.\\n * @param {string} sWhere Where to insert the HTML text, one of 'beforeBegin',\\n *     'afterBegin', 'beforeEnd', 'afterEnd'.\\n * @param {!Element} sElement DOM Element to insert.\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/insertAdjacentElement\\n * @return {?Element} The element that was inserted, or null, if the\\n *     insertion failed.\\n */\\nNode.prototype.insertAdjacentElement = function(sWhere, sElement) {};\\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 * @type {number|undefined}\\n */\\nWindow.prototype.screenLeft;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms534389(VS.85).aspx\\n * @type {number|undefined}\\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.microsof";
a.a+="t.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 = function() {};\\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 https://msdn.microsoft.com/en-us/ie/dn265046(v=vs.94)\\n * @const {!Object}\\n */\\nWindow.prototype.msCrypto;\\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 * @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 * @return {?Element}\\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 * @type {!Element}\\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 * @type {?Window}\\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 * @type {!HTMLCollection<!HTMLScriptElement>}\\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 * @type {?CSSStyleDeclaration}\\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";
a.a+='/**\\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 * @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 * @type {string}\\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 https://cs.chromium.org/search/?q=%22interface+MemoryInfo%22+file:idl+file:WebKit+package:chromium&type=cs\\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 https://console.spec.whatwg.org/\\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, extentN';
a.a+='ode, 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\\n/**\\n * @return {!Promise<boolean>}\\n * @nosideeffects\\n * @see https://webkit.org/blog/8124/introducing-storage-access-api\\n */\\nDocument.prototype.hasStorageAccess = function() {};\\n\\n/**\\n * @return {!Promise<boolean>}\\n * @see https://webkit.org/blog/8124/introducing-storage-access-api\\n */\\nDocument.prototype.requestStorageAccess = function() {};\\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 * 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 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 * @implements {Iterable<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 * @deprecated\\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.htm';
a.a+="l#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-Level-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 * @see https://bugzilla.mozilla.org/show_bug.cgi?id=548397\\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 *";
a.a+=" @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 * @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}\\";
a.a+="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 animations\\n\\n/**\\n * @type {string|number}\\n * @see https://www.w3.org/TR/css-animations-1/#animation\\n */\\nCSSProperties.prototype.animation;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/css-animations-1/#animation-delay\\n */\\nCSSProperties.prototype.animationDelay;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/css-animations-1/#animation-direction\\n */\\nCSSProperties.prototype.animationDirection;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/css-animations-1/#animation-duration\\n */\\nCSSProperties.prototype.animationDuration;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/css-animations-1/#animation-fill-mode\\n */\\nCSSProperties.prototype.animationFillMode;\\n\\n/**\\n * @type {string|number}\\n * @see https://www.w3.org/TR/css-animations-1/#animation-iteration-count\\n */\\nCSSProperties.prototype.animationIterationCount;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/css-animations-1/#animation-name\\n */\\nCSSProperties.prototype.animationName;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/css-animations-1/#animation-play-state\\n */\\nCSSProperties.prototype.animationPlayState;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/css-animations-1/#animation-timing-function\\n */\\nCSSProperties.prototype.animationTimingFunction;\\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.prototype.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 * @implements {EventTarget}\\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/** @override Not available in some browsers; use addListener instead. */\\nMediaQueryList.prototype.addEventListener = function(\\n    type, listener, opt_options) {};\\n\\n/** @override Not available in old browsers; use removeListener instead. */\\nMediaQueryList.prototype.removeEventListener = function(\\n    type, listener, opt_options) {};\\n\\n/** @override */\\nMediaQueryList.prototype.dispatchEvent = function(evt) {};\\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 {!IArrayLike<!Element>}\\n * @see http://www.w3.org/TR/cssom-view/#dom-document-elementsfrompoint\\n */\\nDocument.prototype.elementsFromPoint = 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.pr";
a.a+='ototype.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 * Set of possible string values: \'error\', \'loaded\', \'loading\', \'unloaded\'.\\n * @typedef {string}\\n * @see http://dev.w3.org/csswg/css-font-loading/#enumdef-fontfaceloadstatus\\n */\\nvar FontFaceLoadStatus;\\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 * Set of possible string values: \'loaded\', \'loading\'.\\n * @typedef {string}\\n * @see http://dev.w3.org/csswg/css-font-loading/#enumdef-fontfacesetloadstatus\\n */\\nvar FontFaceSetLoadStatus;\\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 {?function (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)} callback\\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(callback, 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\\n\\n/**\\n * @record\\n * @see http://dev.w3.org/csswg/css-animations/#csskeyframerule\\n */\\nfunction CSSKeyframeRule() {}\\n\\n/**\\n * @type {string}\\n * @see https://drafts.csswg.org/css-animations/#dom-csskeyframerule-keytext\\n */\\nCSSKeyframeRule.prototype.keyText;\\n\\n/**\\n * @type {!CSSStyleDeclaration}\\n * @see https://drafts.csswg.org/css-animations/#dom-csskeyframerule-style\\n */\\nCSSKeyframeRule.prototype.style;\\n\\n\\n/**\\n * @record\\n * @see http://dev.w3.org/csswg/css-animations/#csskeyframesrule\\n */\\nfunction CSSKeyframesRule() {}\\n\\n/**\\n * @see https://drafts.csswg.org/css-animations/#dom-csskeyframesrule-name\\n * @type {string}\\n */\\nCSSKeyframesRule.prototype.name;\\n\\n/**\\n * @see https://drafts.csswg.org/css-animations/#dom-csskeyframesrule-cssrules\\n * @type {!CSSRuleList}\\n */\\nCSSKeyframesRule.prototype.cssRules;\\n\\n/**\\n * @see https://drafts.csswg.org/css-animations/#dom-csskeyframesrule-findrule\\n * @param {string} key The key text for the rule to find.\\n * @return {?CSSKeyframeRule}\\n */\\nCSSKeyframesRule.prototype.findRule = function(key) {};\\n\\n/**\\n * @see https://drafts.csswg.org/css-animations/#dom-csskeyframesrule-appendrule\\n * @param {string} rule The text for the rule to append.\\n */\\nCSSKeyframesRule.prototype.appendRule = function(rule) {};\\n\\n/**\\n * @see https://drafts.csswg.org/css-animations/#dom-csskeyframesrule-deleterule\\n * @param {string} key The key text for the rule to delete.\\n */\\nCSSKeyframesRule.prototype.deleteRule = function(key) {};\\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 */\\nCSSProp';
a.a+='erties.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.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.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 {st';
a.a+="ring} */ 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.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} */ CS";
a.a+='SProperties.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_legacy.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,strictMissingProperties}\\n * NOTE: This definition should be marked \\\\@const, and when it is we can remove\\n * the \\"strictMissingProperties\\" suppression.\\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/es6_proxy.js":"/*\\n * Copyright 2018 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 Proxy objects.\\n * @see https://tc39.github.io/ecma262/#sec-proxy-objects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy\\n * @externs\\n */\\n\\n\\n/**\\n * @record\\n * @template TARGET\\n * @see https://tc39.github.io/ecma262/#sec-proxy-object-internal-methods-and-internal-slots\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy/handler\\n */\\nfunction ProxyHandler() {}\\n\\n/**\\n * @type {(function(TARGET):?Object)|undefined}\\n * @see https://tc39.github.io/ecma262/#sec-proxy-object-internal-methods-and-internal-slots-getprototypeof\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy/handler/getPrototypeOf\\n */\\nProxyHandler.prototype.getPrototypeOf /* = function(target) {} */;\\n\\n/**\\n * @type {(function(TARGET, ?Object):boolean)|undefined}\\n * @see https://tc39.github.io/ecma262/#sec-proxy-object-internal-methods-and-internal-slots-setprototypeof-v\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy/handler/setPrototypeOf\\n */\\nProxyHandler.prototype.setPrototypeOf /* = function(target, proto) {} */;\\n\\n/**\\n * @type {(function(TARGET):boolean)|undefined}\\n * @see https://tc39.github.io/ecma262/#sec-proxy-object-internal-methods-and-internal-slots-isextensible\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy/handler/isExtensible\\n */\\nProxyHandler.prototype.isExtensible /* = function(target) {} */;\\n\\n/**\\n * @type {(function(TARGET):boolean)|undefined}\\n * @see https://tc39.github.io/ecma262/#sec-proxy-object-internal-methods-and-internal-slots-preventextensions\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy/handler/preventExtensions\\n */\\nProxyHandler.prototype.preventExtensions /* = function(target) {} */;\\n\\n/**\\n * @type {(function(TARGET, (string|symbol)):(!ObjectPropertyDescriptor|undefined))|undefined}\\n * @see https://tc39.github.io/ecma262/#sec-proxy-object-internal-methods-and-internal-slots-getownproperty-p\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy/handler/getOwnPropertyDescriptor\\n */\\nProxyHandler.prototype.getOwnPropertyDescriptor /* = function(target, prop) {} */;\\n\\n/**\\n * @type {(function(TARGET, (string|symbol), !ObjectPropertyDescriptor):boolean)|undefined}\\n * @see https://tc39.github.io/ecma262/#sec-proxy-object-internal-methods-and-internal-slots-defineownproperty-p-desc\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy/handler/defineProperty\\n */\\nProxyHandler.prototype.defineProperty /* = function(target, prop, desc) {} */;\\n\\n/**\\n * @type {(function(TARGET, (string|symbol)):boolean)|undefined}\\n * @see https://tc39.github.io/ecma262/#sec-proxy-object-internal-methods-and-internal-slots-hasproperty-p\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy/handler/has\\n */\\nProxyHandler.prototype.has /* = function(target, prop) {} */;\\n\\n/**\\n * @type {(function(TARGET, (string|symbol), !Object):*)|undefined}\\n * @see https://tc39.github.io/ecma262/#sec-proxy-object-internal-methods-and-internal-slots-get-p-receiver\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy/handler/get\\n */\\nProxyHandler.prototype.get /* = function(target, prop, receiver) {} */;\\n\\n/**\\n * @type {(function(TARGET, (string|symbol), *, !Object):boolean)|undefined}\\n * @see https://tc39.github.io/ecma262/#sec-proxy-object-internal-methods-and-internal-slots-set-p-v-receiver\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy/handler/set\\n */\\nProxyHandler.prototype.set /* = function(target, prop, value, receiver) {} */;\\n\\n/**\\n * @type {(function(TARGET, (string|symbol)):boolean)|undefined}\\n * @see https://tc39.github.io/ecma262/#sec-proxy-object-internal-methods-and-internal-slots-delete-p\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy/handler/deleteProperty\\n */\\nProxyHandler.prototype.deleteProperty /* = function (target, prop) {} */;\\n\\n/**\\n * @type {(function(TARGET):!Array<(string|symbol)>)|undefined}\\n * @see https://tc39.github.io/ecma262/#sec-proxy-object-internal-methods-and-internal-slots-ownpropertykeys\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy/handler/ownKeys\\n */\\nProxyHandler.prototype.ownKeys /* = function(target) {} */;\\n\\n/**\\n * @type {(function(TARGET, *, !Array):*)|undefined}\\n * @see https://tc39.github.io/ecma262/#sec-proxy-object-internal-methods-and-internal-slots-call-thisargument-argumentslist\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy/handler/apply\\n */\\nProxyHandler.prototype.apply /* = function(target, thisArg, argList) {} */;\\n\\n/**\\n * @type {(function(TARGET, !Array, function(new: ?, ...?)):!Object)|undefined}\\n * @see https://tc39.github.io/ecma262/#sec-proxy-object-internal-methods-and-internal-slots-construct-argumentslist-newtarget\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy/handler/construct\\n */\\nProxyHandler.prototype.construct /* = function(target, argList, newTarget) {} */;\\n\\n\\n/**\\n * @constructor\\n * @param {TARGET} target\\n * @param {!ProxyHandler<TARGET>} handler\\n * @template TARGET\\n * @see https://tc39.github.io/ecma262/#sec-proxy-constructor\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy#Syntax\\n */\\nfunction Proxy(target, handler) {}\\n\\n/**\\n * @param {TARGET} target\\n * @param {!ProxyHandler<TARGET>} handler\\n * @return {{proxy: !Proxy<TARGET>, revoke: function():void}}\\n * @template TARGET\\n * @see https://tc39.github.io/ecma262/#sec-proxy.revocable\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy/revocable\\n */\\nProxy.revocable = function(target, handler) {};\\n","externs/fido.js":"/*\\n * Copyright 2018 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 from the FIDO Specifications\\n * @see https://fidoalliance.org/download/\\n *\\n * @externs\\n * @author arnarbi@gmail.com (Arnar Birgisson)\\n */\\n\\n/**\\n * U2F JavaScript API namespace\\n * @see https://fidoalliance.org/specs/fido-u2f-v1.2-ps-20170411/fido-u2f-javascript-api-v1.2-ps-20170411.html\\n * @const\\n */\\nvar u2f = {};\\n\\n/**\\n * Data object for a single sign request.\\n * @typedef {string}\\n */\\nu2f.Transport;\\n\\n/**\\n * Data object for a registered key.\\n * @typedef {{\\n *   version: string,\\n *   keyHandle: string,\\n *   transports: (!Array<!u2f.Transport>|undefined),\\n *   appId: ?string\\n * }}\\n */\\nu2f.RegisteredKey;\\n\\n/**\\n * An error object for responses\\n * @typedef {{\\n *   errorCode: number,\\n *   errorMessage: ?string\\n * }}\\n */\\nu2f.Error;\\n\\n/**\\n * Data object for a sign response.\\n * @typedef {{\\n *   keyHandle: string,\\n *   signatureData: string,\\n *   clientData: string\\n * }}\\n */\\nu2f.SignResponse;\\n\\n/**\\n * @typedef {{\\n *   version: string,\\n *   challenge: string\\n * }}\\n */\\nu2f.RegisterRequest\\n\\n/**\\n * @param {string} appId\\n * @param {string} challenge\\n * @param {!Array<!u2f.RegisteredKey>} registeredKeys\\n * @param {function((!u2f.Error|!u2f.SignResponse))} callback\\n * @param {number=} opt_timeoutSeconds\\n */\\nu2f.sign = function(\\n    appId, challenge, registeredKeys, callback, opt_timeoutSeconds) {};\\n\\n/**\\n * @param {string} appId\\n * @param {!Array<!u2f.RegisterRequest>} registerRequests\\n * @param {!Array<!u2f.RegisteredKey>} registeredKeys\\n * @param {function((!u2f.Error|!u2f.SignResponse))} callback\\n * @param {number=} opt_timeoutSeconds\\n */\\nu2f.register = function(\\n    appId, registerRequests, registeredKeys, callback, opt_timeoutSeconds) {};\\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/** @record */\\nfunction BlobPropertyBag() {};\\n\\n/** @type {(string|undefined)} */\\nBlobPropertyBag.prototype.type;\\n\\n/**\\n * @see http://dev.w3.org/2006/webapi/FileAPI/#dfn-Blob\\n * @param {Array<ArrayBuffer|ArrayBufferView|Blob|string>=} opt_blobParts\\n * @param {BlobPropertyBag=} 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-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.prototy';
a.a+="pe.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 https://wicg.github.io/entries-api/#dom-file-webkitrelativepath\\n * @type {string}\\n */\\nFile.prototype.webkitRelativePath;\\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/** @override */\\nFileReader.prototype.addEventListener = function(type, listener, opt_options) {\\n};\\n\\n/** @override */\\nFileReader.prototype.removeEventListener = function(\\n    type, listener, opt_options) {};\\n\\n/** @override */\\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\\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-requestFileSyste";
a.a+='m\\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\\n\\n/**\\n * @type {!StorageQuota}\\n * @see https://developer.chrome.com/apps/offline_storage\\n */\\nNavigator.prototype.webkitPersistentStorage;\\n\\n/**\\n * @type {!StorageQuota}\\n * @see https://developer.chrome.com/apps/offline_storage\\n */\\nNavigator.prototype.webkitTemporaryStorage;\\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 `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 `url` to the layer specified by\\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 `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 `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 subtree 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(';
a.a+=');\\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/** @type {?HTMLSlotElement} */\\nNode.prototype.assignedSlot;\\n\\n/**\\n * @type {string}\\n * @see https://dom.spec.whatwg.org/#dom-element-slot\\n */\\nElement.prototype.slot;\\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/** @type {boolean} */\\nNode.prototype.isConnected;\\n\\n/**\\n * @type {boolean}\\n * @see https://html.spec.whatwg.org/multipage/scripting.html#the-script-element\\n */\\nHTMLScriptElement.prototype.async;\\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 * @see https://www.w3.org/TR/mediacapture-fromelement/\\n * @param {number=} opt_framerate\\n * @return {!MediaStream}\\n * @throws {Error}\\n * */\\nHTMLCanvasElement.prototype.captureStream = function(opt_framerate) {};\\n\\n/**\\n * @typedef {HTMLImageElement|HTMLVideoElement|HTMLCanvasElement|ImageBitmap}\\n */\\nvar CanvasImageSource;\\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 * @constructor\\n * @implements {CanvasPathMethods}\\n * @see https://html.spec.whatwg.org/multipage/scripting.html#path2d-objects\\n */\\nfunction Path2D() {}\\n\\n/**\\n * @return {undefined}\\n * @override\\n */\\nPath2D.prototype.closePath = function() {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @return {undefined}\\n * @override\\n */\\nPath2D.prototype.moveTo = function(x, y) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @return {undefined}\\n * @override\\n */\\nPath2D.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 */\\nPath2D.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 * @override\\n */\\nPath2D.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 */\\nPath2D.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 */\\nPath2D.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=} optAnticlockwise\\n * @return {undefined}\\n * @override\\n */\\nPath2D.prototype.arc = function(\\n    x, y, radius, startAngle, endAngle, optAnticlockwise) {};\\n\\n/**\\n * @param {Path2D} path\\n * @return {undefined}\\n */\\nPath2D.prototype.addPath = function(path) {};\\n\\n/**\\n * @interface\\n * @see https://www.w3.org/TR/2dcontext/#canvasdrawingstyles\\n */\\nfunction CanvasDrawingStyles() {}\\n\\n/** @type {number} */\\nCanvasDrawingStyles.prototype.lineWidth;\\n\\n/** @type {string} */\\nCanvasDrawingStyles.prototype.lineCap;\\n\\n/** @type {string} */\\nCanvasDrawingStyles.prototype.lineJoin;\\n\\n/** @type {number} */\\nCanvasDrawingStyles.prototype.miterLimit;\\n\\n/**\\n * @param {Array<number>} segments\\n * @return {undefined}\\n */\\nCanvasDrawingStyles.prototype.setLineDash;\\n\\n/**\\n * @return {!Array<number>}\\n */\\nCanvasDrawingStyles.prototype.getLineDash;\\n\\n/** @type {string} */\\nCanvasDrawingStyles.prototype.font;\\n\\n/** @type {string} */\\nCanvasDrawingStyles.prototype.textAlign;\\n\\n/** @type {string} */\\nCanvasDrawingStyles.prototype.textBaseline;\\n\\n/**\\n * @constructor\\n * @implements {CanvasDrawingStyles}\\n * @implements {CanvasPathMethods}\\n * @see http://www.w3.org/TR/2dcontext/#canvasrenderingcontext2d\\n */\\nfunction CanvasRenderingContext2D() {}\\n\\n/** @const {!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 {CanvasImageSource} image\\n * @param {string} repetition\\n * @return {?CanvasPattern}\\n * @throws {Error}\\n * @see https://html.spec.whatwg.org/multipage/scripting.html#dom-context-2d-createpattern\\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 {Path2D|string=} optFillRuleOrPath\\n * @param {string=} optFillRule\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.fill = function(optFillRuleOrPath, optFillRule) {};\\n\\n/**\\n * @param {Path2D=} optStroke\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.stroke = function(optStroke) {};\\n\\n/**\\n * @param {Element} element\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.drawFocusIfNeeded = function(element) {};\\n\\n/**\\n * @param {Path2D|string=} optFillRuleOrPath\\n * @param {string=} optFillRule\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.clip = function(optFillRuleOrPath, optFillRule) {};\\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 {CanvasImageSource} 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 * @throws {Error}\\n * @nosideeffects\\n */\\nCanvasRenderingContext2D.prototype.createImageData = function(sw, sh) {};\\n\\n/**\\n * @param {number} sx\\n';
a.a+=" * @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} */\\nCanvasRenderingContext2D.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/** @const {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/** @const {Uint8ClampedArray} */\\nImageData.prototype.data;\\n\\n/** @const {number} */\\nImageData.prototype.width;\\n\\n/** @const {number} */\\nImageData.prototype.height;\\n\\n/**\\n * @see https://www.w3.org/TR/html51/webappapis.html#webappapis-images\\n * @interface\\n */\\nfunction ImageBitmap() {}\\n\\n/**\\n * @type {number}\\n * @const\\n */\\nImageBitmap.prototype.width;\\n\\n/**\\n * @type {number}\\n * @const\\n */\\nImageBitmap.prototype.height;\\n\\n/**\\n * @param {(!HTMLCanvasElement|!Blob|!HTMLVideoElement|!HTMLImageElement|!ImageBitmap|!CanvasRenderingContext2D|!ImageData)} image\\n * @param {number=} opt_sx\\n * @param {number=} opt_sy\\n * @param {number=} opt_sw\\n * @param {number=} opt_sh\\n * @return {!Promise<!ImageBitmap>}\\n * @see https://www.w3.org/TR/html51/webappapis.html#webappapis-images\\n */\\nfunction createImageBitmap(image, opt_sx, opt_sy, opt_sw, opt_sh) {}\\n\\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 * @type {string}\\n * @see https://html.spec.whatwg.org/multipage/embedded-content.html#dom-img-currentsrc\\n */\\nHTMLImageElement.prototype.currentSrc;\\n\\n/**\\n * @type {string}\\n * @see https://html.spec.whatwg.org/multipage/images.html#image-decoding-hint\\n */\\nHTMLImageElement.prototype.decoding;\\n\\n/**\\n * @return {!Promise<undefined>}\\n * @see https://html.spec.whatwg.org/multipage/embedded-content.html#dom-img-decode\\n */\\nHTMLImageElement.prototype.decode;\\n\\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 * @return {?Selection}\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/DocumentOrShadowRoot/getSelection\\n * @nosideeffects\\n */\\nDocument.prototype.getSelection = function() {};\\n\\n/**\\n * @type {string}\\n * @see https://html.spec.whatwg.org/multipage/dom.html#current-document-readiness\\n */\\nDocument.prototype.readyState;\\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/** @override */\\nDOMApplicationCache.prototype.addEventListener = function(\\n    type, listener, opt_options) {};\\n\\n/** @override */\\nDOMApplicationCache.prototype.removeEventListener = function(\\n    type, listener, opt_options) {};\\n\\n/** @override */\\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/** @override */\\nWebWorker.prototype.addEventListener = function(type, listener, opt_options) {};\\n\\n/** @override */\\nWebWorker.prototype.removeEventListener = function(\\n    type, listener, opt_options) {};\\n\\n/** @override */\\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<*>): void}\\n */\\nWebWorker.prototype.onmessage;\\n\\n/**\\n * Sent when the worker thread encounters an error.\\n * @type {?function(!ErrorEvent): void}\\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/** @override */\\nWorker.prototype.addEventListener = function(type, listener, opt_options) {};\\n\\n/** @override */\\nWorker.prototype.removeEventListener = function(type, listener, opt_options) {};\\n\\n/** @override */\\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";
a.a+=" * @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<*>): void}\\n */\\nWorker.prototype.onmessage;\\n\\n/**\\n * Sent when the worker thread encounters an error.\\n * @type {?function(!ErrorEvent): void}\\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/** @override */\\nSharedWorker.prototype.addEventListener = function(\\n    type, listener, opt_options) {};\\n\\n/** @override */\\nSharedWorker.prototype.removeEventListener = function(\\n    type, listener, opt_options) {};\\n\\n/** @override */\\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 * @type {?function(!ErrorEvent): void}\\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(!ErrorEvent): void}\\n */\\nWorkerGlobalScope.prototype.onerror;\\n\\n/**\\n * Sent when the worker goes offline.\\n * @type {?function(!Event): void}\\n */\\nWorkerGlobalScope.prototype.onoffline;\\n\\n/**\\n * Sent when the worker goes online.\\n * @type {?function(!Event): void}\\n */\\nWorkerGlobalScope.prototype.ononline;\\n\\n/** @type {!WorkerPerformance} */\\nWorkerGlobalScope.prototype.performance;\\n\\n/** @type {!WorkerNavigator} */\\nWorkerGlobalScope.prototype.navigator;\\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 {undefined}\\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<*>): void}\\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 {!Array<string>|undefined} */\\nHTMLElement.observedAttributes;\\n\\n/**\\n * @param {!Document} oldDocument\\n * @param {!Document} newDocument\\n */\\nHTMLElement.prototype.adoptedCallback = function(oldDocument, newDocument) {};\\n\\n/**\\n * @param {!{mode: string}} options\\n * @return {!ShadowRoot}\\n */\\nHTMLElement.prototype.attachShadow = function(options) {};\\n\\n/**\\n * @param {string} attributeName\\n * @param {?string} oldValue\\n * @param {?string} newValue\\n * @param {?string} namespace\\n */\\nHTMLElement.prototype.attributeChangedCallback = function(attributeName, oldValue, newValue, namespace) {};\\n\\n/** @type {function()|undefined} */\\nHTMLElement.prototype.connectedCallback;\\n\\n/** @type {Element} */\\nHTMLElement.prototype.contextMenu;\\n\\n/** @type {function()|undefined} */\\nHTMLElement.prototype.disconnectedCallback;\\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/**\\n * Cryptographic nonce used by Content Security Policy.\\n * @see https://html.spec.whatwg.org/multipage/dom.html#elements-in-the-dom:noncedelement\\n * @type {?string}\\n */\\nHTMLElement.prototype.nonce;\\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/**\\n * @type {Window}\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLIFrameElement/contentWindow\\n */\\nHTMLIFrameElement.prototype.contentWindow;\\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/** @const {number} */\\nHTMLMediaElement.NETWORK_EMPTY;  // = 0\\n\\n/** @const {number} */\\nHTMLMediaElement.NETWORK_IDLE;  // = 1\\n\\n/** @const {number} */\\nHTMLMediaElement.NETWORK_LOADING;  // = 2\\n\\n/** @const {number} */\\nHTMLMediaElement.NETWORK_NO_SOURCE;  // = 3\\n\\n/** @const {number} */\\nHTMLMediaElement.HAVE_NOTHING;  // = 0\\n\\n/** @const {number} */\\nHTMLMediaElement.HAVE_METADATA;  // = 1\\n\\n/** @const {number} */\\nHTMLMediaElement.HAVE_CURRENT_DATA;  // = 2\\n\\n/** @const {number} */\\nHTMLMediaElement.HAVE_FUTURE_DATA;  // = 3\\n\\n/** @const {number} */\\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/** @type {?MediaStream} */\\nHTMLMediaElement.prototype.srcObject;\\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 {string} */\\nHTMLMediaElement.prototype.preload;\\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 {?Promise<undefined>} This is a *nullable* Promise on purpose unlike\\n *     the HTML5 spec because supported older browsers (incl. Smart TVs) don't\\n *     return a Promise.\\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 * The ID of the audio device through which output is being delivered, or an\\n * empty string if using the default device.\\n *\\n * Implemented as a draft spec in Chrome 49+.\\n *\\n * @see https://w3c.github.io";
a.a+="/mediacapture-output/#htmlmediaelement-extensions\\n * @type {string}\\n */\\nHTMLMediaElement.prototype.sinkId;\\n\\n/**\\n * Sets the audio device through which output should be delivered.\\n *\\n * Implemented as a draft spec in Chrome 49+.\\n *\\n * @param {string} sinkId The ID of the audio output device, or empty string\\n * for default device.\\n *\\n * @see https://w3c.github.io/mediacapture-output/#htmlmediaelement-extensions\\n * @return {!Promise<void>}\\n */\\nHTMLMediaElement.prototype.setSinkId = function(sinkId) {};\\n\\n\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see https://html.spec.whatwg.org/multipage/dom.html#htmlunknownelement\\n * @see https://html.spec.whatwg.org/multipage/scripting.html#customized-built-in-element-restrictions\\n * @see https://w3c.github.io/webcomponents/spec/custom/#custom-elements-api\\n */\\nfunction HTMLUnknownElement() {}\\n\\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/** @override */\\nTextTrack.prototype.addEventListener = function(\\n    type, listener, opt_useCapture) {};\\n\\n/** @override */\\nTextTrack.prototype.dispatchEvent = function(evt) {};\\n\\n/** @override */\\nTextTrack.prototype.removeEventListener = function(\\n    type, listener, opt_options) {};\\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/**\\n * @see https://w3c.github.io/webvtt/#vttregion\\n * @constructor\\n */\\nfunction VTTRegion() {}\\n\\n/** @type {string} */\\nVTTRegion.prototype.id;\\n\\n/** @type {number} */\\nVTTRegion.prototype.width;\\n\\n/** @type {number} */\\nVTTRegion.prototype.lines;\\n\\n/** @type {number} */\\nVTTRegion.prototype.regionAnchorX;\\n\\n/** @type {number} */\\nVTTRegion.prototype.regionAnchorY;\\n\\n/** @type {number} */\\nVTTRegion.prototype.viewportAnchorX;\\n\\n/** @type {number} */\\nVTTRegion.prototype.viewportAnchorY;\\n\\n/**\\n * @see https://w3c.github.io/webvtt/#enumdef-scrollsetting\\n * @type {string}\\n */\\nVTTRegion.prototype.scroll;\\n\\n\\n\\n/**\\n * @see http://dev.w3.org/html5/webvtt/#the-vttcue-interface\\n * @constructor\\n * @extends {TextTrackCue}\\n * @param {number} startTime\\n * @param {number} endTime\\n * @param {string} text\\n */\\nfunction VTTCue(startTime, endTime, text) {}\\n\\n/** @type {?VTTRegion} */\\nVTTCue.prototype.region;\\n\\n/**\\n * @see https://w3c.github.io/webvtt/#enumdef-directionsetting\\n * @type {string}\\n */\\nVTTCue.prototype.vertical;\\n\\n/** @type {boolean} */\\nVTTCue.prototype.snapToLines;\\n\\n/** @type {(number|string)} */\\nVTTCue.prototype.line;\\n\\n/**\\n * @see https://w3c.github.io/webvtt/#enumdef-linealignsetting\\n * @type {string}\\n */\\nVTTCue.prototype.lineAlign;\\n\\n/** @type {(number|string)} */\\nVTTCue.prototype.position;\\n\\n/**\\n * @see https://w3c.github.io/webvtt/#enumdef-positionalignsetting\\n * @type {string}\\n */\\nVTTCue.prototype.positionAlign;\\n\\n/** @type {number} */\\nVTTCue.prototype.size;\\n\\n/**\\n * @see https://w3c.github.io/webvtt/#enumdef-alignsetting\\n * @type {string}\\n */\\nVTTCue.prototype.align;\\n\\n/** @type {string} */\\nVTTCue.prototype.text;\\n\\n/** @return {!DocumentFragment} */\\nVTTCue.prototype.getCueAsHTML = function() {};\\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://cs.chromium.org/chromium/src/third_party/WebKit/Source/core/html/media/HTMLMediaElement.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 * @see https://html.spec.whatwg.org/multipage/media.html#error-codes\\n */\\nfunction MediaError() {}\\n\\n/** @type {number} */\\nMediaError.prototype.code;\\n\\n/** @type {string} */\\nMediaError.prototype.message;\\n\\n/**\\n * The fetching process for the media resource was aborted by the user agent at\\n * the user's request.\\n * @type {number}\\n */\\nMediaError.MEDIA_ERR_ABORTED;\\n\\n/**\\n * A network error of some description caused the user agent to stop fetching\\n * the media resource, after the resource was established to be usable.\\n * @type {number}\\n */\\nMediaError.MEDIA_ERR_NETWORK;\\n\\n/**\\n * An error of some description occurred while decoding the media resource,\\n * after the resource was established to be usable.\\n * @type {number}\\n */\\nMediaError.MEDIA_ERR_DECODE;\\n\\n/**\\n * The media resource indicated by the src attribute was not suitable.\\n * @type {number}\\n */\\nMediaError.MEDIA_ERR_SRC_NOT_SUPPORTED;\\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/** @override */\\nMessagePort.prototype.addEventListener = function(type, listener, opt_options) {\\n};\\n\\n/** @override */\\nMessagePort.prototype.removeEventListener = function(\\n    type, listener, opt_options) {};\\n\\n/** @override */\\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 * @typedef {Window|MessagePort|ServiceWorker}\\n * @see https://html.spec.whatwg.org/multipage/comms.html#messageeventsource\\n */\\nvar MessageEventSource;\\n\\n\\n/**\\n * @record\\n * @extends {EventInit}\\n * @template T\\n * @see https://html.spec.whatwg.org/multipage/comms.html#messageeventinit\\n */\\nfunction MessageEventInit() {}\\n\\n/** @type {T|undefined} */\\nMessageEventInit.prototype.data;\\n\\n/** @type {(string|undefined)} */\\nMessageEventInit.prototype.origin;\\n\\n/** @type {(string|undefined)} */\\nMessageEventInit.prototype.lastEventId;\\n\\n/** @type {(?MessageEventSource|undefined)} */\\nMessageEventInit.prototype.source;\\n\\n/** @type {(!Array<MessagePort>|undefined)} */\\nMessageEventInit.prototype.ports;\\n\\n\\n/**\\n * @see https://html.spec.whatwg.org/multipage/comms.html#messageevent\\n * @constructor\\n * @extends {Event}\\n * @param {string} type\\n * @param {MessageEventInit<T>=} opt_eventInitDict\\n * @template T\\n */\\nfunction MessageEvent(type, opt_eventInitDict) {}\\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 {?MessageEventSource=} 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 {?MessageEventSource=} 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/**\\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, opt_options) {};\\n\\n/** @override */\\nBroadcastChannel.prototype.dispatchEvent = function(evt) {};\\n\\n/** @override */\\nBroadcastChannel.prototype.removeEventListener = function(\\n    type, listener, opt_options) {};\\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 * @record\\n * @extends {MouseEventInit}\\n * @see https://w3c.github.io/uievents/#idl-wheeleventinit\\n */\\nfunction WheelEventInit() {}\\n\\n/** @type {undefined|number} */\\nWheelEventInit.prototype.deltaX;\\n\\n/** @type {undefined|number} */\\nWheelEventInit.prototype.deltaY;\\n\\n/** @type {undefined|number} */\\nWheelEventInit.prototype.deltaZ;\\n\\n/** @type {undefined|number} */\\nWheelEventInit.prototype.deltaMode;\\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 Wheel";
a.a+="Event(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 * @record\\n * @extends {MouseEventInit}\\n * @see http://w3c.github.io/html/editing.html#dictdef-drageventinit\\n */\\nfunction DragEventInit() {}\\n\\n/** @type {undefined|?DataTransfer} */\\nDragEventInit.prototype.dataTransfer;\\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 * @record\\n * @extends {EventInit}\\n * @see https://www.w3.org/TR/progress-events/#progresseventinit\\n */\\nfunction ProgressEventInit() {}\\n\\n/** @type {undefined|boolean} */\\nProgressEventInit.prototype.lengthComputable;\\n\\n/** @type {undefined|number} */\\nProgressEventInit.prototype.loaded;\\n\\n/** @type {undefined|number} */\\nProgressEventInit.prototype.total;\\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/** @override */\\nWebSocket.prototype.addEventListener = function(type, listener, opt_options) {};\\n\\n/** @override */\\nWebSocket.prototype.removeEventListener = function(\\n    type, listener, opt_options) {};\\n\\n/** @override */\\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-proposal/history-based-api.html\\n * @type {string}\\n */\\nHistory.prototype.scrollRestoration;\\n\\n/**\\n * Add history property to Window.\\n *\\n * @type {!History}\\n */\\nWindow.prototype.history;\\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/** @override */\\nXMLHttpRequestEventTarget.prototype.addEventListener = function(\\n    type, listener, opt_options) {};\\n\\n/** @override */\\nXMLHttpRequestEventTarget.prototype.removeEventListener = function(\\n    type, listener, opt_options) {};\\n\\n/** @override */\\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<string, string>}\\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 * Replaces token with newToken.\\n * @param {string} token The CSS class to replace.\\n * @param {string} newToken The new CSS class to use.\\n * @return {undefined}\\n */\\nDOMTokenList.prototype.replace = function(token, newToken) {};\\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 no";
a.a+="t 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 * @return {!IteratorIterable<string>} An iterator to go through all values of\\n *     the key/value pairs contained in this object.\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/DOMTokenList/values\\n */\\nDOMTokenList.prototype.values = 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 * Can return null when hidden.\\n * See https://html.spec.whatwg.org/multipage/forms.html#dom-lfe-labels\\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 * Can return null when hidden.\\n * See https://html.spec.whatwg.org/multipage/forms.html#dom-lfe-labels\\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 * Can return null when hidden.\\n * See https://html.spec.whatwg.org/multipage/forms.html#dom-lfe-labels\\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 * Can return null when hidden.\\n * See https://html.spec.whatwg.org/multipage/forms.html#dom-lfe-labels\\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 {boolean} */\\nDocument.prototype.webkitFullscreenEnabled;\\n\\n/** @type {Element} */\\nDocument.prototype.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} */\\nDocument.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(new:Element, ...*)} a constructor for the new tag.\\n * @deprecated document.registerElement() is deprecated in favor of customElements.define()\\n */\\nDocument.prototype.registerElement = function(type, options) {};\\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 * @deprecated This method has been removed and will be removed soon from this file.\\n */\\nDocument.prototype.register = function(type, options) {};\\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 * @type {?HTMLScriptElement}\\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 * @param {number} x\\n * @param {number} y\\n * @return {!IArrayLike<!Element>}\\n * @nosideeffects\\n */\\nShadowRoot.prototype.elementsFromPoint = 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 {!NodeL";
a.a+="ist<!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 * @record\\n * @extends {EventInit}\\n * @see https://www.w3.org/TR/html5/webappapis.html#erroreventinit\\n */\\nfunction ErrorEventInit() {}\\n\\n/** @type {undefined|string} */\\nErrorEventInit.prototype.message;\\n\\n/** @type {undefined|string} */\\nErrorEventInit.prototype.filename;\\n\\n/** @type {undefined|number} */\\nErrorEventInit.prototype.lineno;\\n\\n/** @type {undefined|number} */\\nErrorEventInit.prototype.colno;\\n\\n/** @type {*} */\\nErrorEventInit.prototype.error;\\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 * @type {string}\\n * @see https://html.spec.whatwg.org/#attr-link-as\\n * @see https://w3c.github.io/preload/#as-attribute\\n */\\nHTMLLinkElement.prototype.as;\\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 * @return {boolean}\\n * @see https://html.spec.whatwg.org/multipage/iframe-embed-object.html#the-object-element\\n */\\nHTMLObjectElement.prototype.checkValidity;\\n\\n/**\\n * @param {string} message\\n * @see https://html.spec.whatwg.org/multipage/iframe-embed-object.html#the-object-element\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.setCustomValidity;\\n\\n/**\\n * @type {string}\\n * @see https://html.spec.whatwg.org/multipage/iframe-embed-object.html#the-object-element\\n */\\nHTMLObjectElement.prototype.validationMessage;\\n\\n/**\\n * @type {!ValidityState}\\n * @see https://html.spec.whatwg.org/multipage/iframe-embed-object.html#the-object-element\\n */\\nHTMLObjectElement.prototype.validity;\\n\\n/**\\n * @type {boolean}\\n * @see https://html.spec.whatwg.org/multipage/iframe-embed-object.html#the-object-element\\n */\\nHTMLObjectElement.prototype.willValidate;\\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 * @constructor\\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/**\\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 * @type {number}\\n * @see https://developers.google.com/web/updates/2017/12/device-memory\\n * https://github.com/w3c/device-memory\\n */\\nNavigator.prototype.deviceMemory;\\n\\n/**\\n * @type {!StorageManager}\\n * @see https://storage.spec.whatwg.org\\n */\\nNavigator.prototype.storage;\\n\\n/**\\n * @param {!ShareData=} data\\n * @return {!Promise<undefined>}\\n * @see https://wicg.github.io/web-share/#share-method\\n */\\nNavigator.prototype.share = function(data) {};\\n\\n/**\\n * @type {number}\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/NavigatorConcurrentHardware/hardwareConcurrency\\n */\\nNavigator.prototype.hardwareConcurrency;\\n\\n/**\\n * @constructor\\n * @see https://html.spec.whatwg.org/multipage/workers.html#the-workernavigator-object\\n */\\nfunction WorkerNavigator() {}\\n\\n/**\\n * @type {number}\\n * @see https://developers.google.com/web/updates/2017/12/device-memory\\n * https://github.com/w3c/device-memory\\n */\\nWorkerNavigator.prototype.deviceMemory;\\n\\n/**\\n * @type {nu";
a.a+='mber}\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/NavigatorConcurrentHardware/hardwareConcurrency\\n */\\nWorkerNavigator.prototype.hardwareConcurrency;\\n\\n/**\\n * @record\\n * @see https://wicg.github.io/web-share/#sharedata-dictionary\\n */\\nfunction ShareData() {}\\n\\n/** @type {string|undefined} */\\nShareData.prototype.title;\\n\\n/** @type {string|undefined} */\\nShareData.prototype.text;\\n\\n/** @type {string|undefined} */\\nShareData.prototype.url;\\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\\n/**\\n * @see https://html.spec.whatwg.org/multipage/scripting.html#custom-elements\\n * @constructor\\n */\\nfunction CustomElementRegistry() {}\\n\\n/**\\n * @param {string} tagName\\n * @param {!function(new:HTMLElement)} klass\\n * @param {{extends: string}=} options\\n * @return {undefined}\\n */\\nCustomElementRegistry.prototype.define = function (tagName, klass, options) {};\\n\\n/**\\n * @param {string} tagName\\n * @return {?function(new:HTMLElement)}\\n */\\nCustomElementRegistry.prototype.get = function(tagName) {};\\n\\n/**\\n * @param {string} tagName\\n * @return {Promise<!function(new:HTMLElement)>}\\n */\\nCustomElementRegistry.prototype.whenDefined = function(tagName) {};\\n\\n/** @type {!CustomElementRegistry} */\\nvar customElements;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n */\\nfunction HTMLSlotElement() {}\\n\\n/**\\n * @param {!{flatten: boolean}=} options\\n * @return {!Array<!Node>}\\n */\\nHTMLSlotElement.prototype.assignedNodes = function(options) {};\\n\\n/** @type {boolean} */\\nEvent.prototype.composed;\\n\\n/**\\n * @return {!Array<!(Element|ShadowRoot|Document|Window)>}\\n */\\nEvent.prototype.composedPath = function() {};\\n\\n/**\\n * @constructor\\n * @param {{\\n *     firesTouchEvents: (string|undefined),\\n *     pointerMovementScrolls: (string|undefined)\\n *   }=} opt_options\\n */\\nfunction InputDeviceCapabilities(opt_options){}\\n\\n/** @type {boolean} */\\nInputDeviceCapabilities.prototype.firesTouchEvents;\\n\\n/** @type {boolean} */\\nInputDeviceCapabilities.prototype.pointerMovementScrolls;\\n\\n/** @type {?InputDeviceCapabilities} */\\nMouseEvent.prototype.sourceCapabilities;\\n\\n/**\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/VisualViewport\\n * @constructor\\n * @implements {EventTarget}\\n */\\nfunction VisualViewport() {}\\n\\n/** @type {number} */\\nVisualViewport.prototype.offsetLeft;\\n\\n/** @type {number} */\\nVisualViewport.prototype.offsetTop;\\n\\n/** @type {number} */\\nVisualViewport.prototype.pageLeft;\\n\\n/** @type {number} */\\nVisualViewport.prototype.pageTop;\\n\\n/** @type {number} */\\nVisualViewport.prototype.width;\\n\\n/** @type {number} */\\nVisualViewport.prototype.height;\\n\\n/** @type {number} */\\nVisualViewport.prototype.scale;\\n\\n/** @override */\\nVisualViewport.prototype.addEventListener = function(type, listener,\\n    opt_options) {};\\n\\n/** @override */\\nVisualViewport.prototype.removeEventListener = function(type, listener,\\n    opt_options) {};\\n\\n/** @override */\\nVisualViewport.prototype.dispatchEvent = function(evt) {};\\n\\n/** @type {?function(!Event)} */\\nVisualViewport.prototype.onresize;\\n\\n/** @type {?function(!Event)} */\\nVisualViewport.prototype.onscroll;\\n\\n/**\\n * @see https://storage.spec.whatwg.org/\\n * @constructor\\n */\\nfunction StorageManager() {}\\n\\n/** @return {!Promise<boolean>} */\\nStorageManager.prototype.persisted = function() {};\\n\\n/** @return {!Promise<boolean>} */\\nStorageManager.prototype.persist = function() {};\\n\\n/** @return {!Promise<StorageEstimate>} */\\nStorageManager.prototype.estimate = function() {};\\n\\n/**\\n * @see https://storage.spec.whatwg.org/\\n * @typedef {{\\n *   usage: number,\\n *   quota: number\\n * }}\\n */\\nvar StorageEstimate;\\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/intersection_observer.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 Externs for Intersection Observer objects.\\n * @see https://wicg.github.io/IntersectionObserver/\\n * @externs\\n * @author robadurbin@google.com (Rob Durbin)\\n */\\n\\n// TODO(robadurbin): Once the Intersection Observer spec is adopted by W3C, add\\n// a w3c_ prefix to this file\'s name.\\n\\n\\n/**\\n * These contain the information provided from a change event.\\n * @see https://wicg.github.io/IntersectionObserver/#intersection-observer-entry\\n * @record\\n */\\nfunction IntersectionObserverEntry() {}\\n\\n/**\\n * The time the change was observed.\\n * @see https://wicg.github.io/IntersectionObserver/#dom-intersectionobserverentry-time\\n * @type {number}\\n * @const\\n */\\nIntersectionObserverEntry.prototype.time;\\n\\n/**\\n * The root intersection rectangle, if target belongs to the same unit of\\n * related similar-origin browsing contexts as the intersection root, null\\n * otherwise.\\n * @see https://wicg.github.io/IntersectionObserver/#dom-intersectionobserverentry-rootbounds\\n * @type {{top: number, right: number, bottom: number, left: number,\\n *     height: number, width: number}}\\n * @const\\n */\\nIntersectionObserverEntry.prototype.rootBounds;\\n\\n/**\\n * The rectangle describing the element being observed.\\n * @see https://wicg.github.io/IntersectionObserver/#dom-intersectionobserverentry-boundingclientrect\\n * @type {!{top: number, right: number, bottom: number, left: number,\\n *     height: number, width: number}}\\n * @const\\n */\\nIntersectionObserverEntry.prototype.boundingClientRect;\\n\\n/**\\n * The rectangle describing the intersection between the observed element and\\n * the viewport.\\n * @see https://wicg.github.io/IntersectionObserver/#dom-intersectionobserverentry-intersectionrect\\n * @type {!{top: number, right: number, bottom: number, left: number,\\n *     height: number, width: number}}\\n * @const\\n */\\nIntersectionObserverEntry.prototype.intersectionRect;\\n\\n/**\\n * Ratio of intersectionRect area to boundingClientRect area.\\n * @see https://wicg.github.io/IntersectionObserver/#dom-intersectionobserverentry-intersectionratio\\n * @type {!number}\\n * @const\\n */\\nIntersectionObserverEntry.prototype.intersectionRatio;\\n\\n/**\\n * The Element whose intersection with the intersection root changed.\\n * @see https://wicg.github.io/IntersectionObserver/#dom-intersectionobserverentry-target\\n * @type {!Element}\\n * @const\\n */\\nIntersectionObserverEntry.prototype.target;\\n\\n/**\\n * Whether or not the target is intersecting with the root.\\n * @see https://wicg.github.io/IntersectionObserver/#dom-intersectionobserverentry-isintersecting\\n * @type {boolean}\\n * @const\\n */\\nIntersectionObserverEntry.prototype.isIntersecting;\\n\\n/**\\n * Callback for the IntersectionObserver.\\n * @see https://wicg.github.io/IntersectionObserver/#intersection-observer-callback\\n * @typedef {function(!Array<!IntersectionObserverEntry>,!IntersectionObserver)}\\n */\\nvar IntersectionObserverCallback;\\n\\n/**\\n * Options for the IntersectionObserver.\\n * @see https://wicg.github.io/IntersectionObserver/#intersection-observer-init\\n * @typedef {{\\n *   threshold: (!Array<number>|number|undefined),\\n *   root: (!Element|undefined),\\n *   rootMargin: (string|undefined)\\n * }}\\n */\\nvar IntersectionObserverInit;\\n\\n/**\\n * This is the constructor for Intersection Observer objects.\\n * @see https://wicg.github.io/IntersectionObserver/#intersection-observer-interface\\n * @param {!IntersectionObserverCallback} handler The callback for the observer.\\n * @param {!IntersectionObserverInit=} opt_options The object defining the\\n *     thresholds, etc.\\n * @constructor\\n */\\nfunction IntersectionObserver(handler, opt_options) {};\\n\\n/**\\n * The root Element to use for intersection, or null if the observer uses the\\n * implicit root.\\n * @see https://wicg.github.io/IntersectionObserver/#dom-intersectionobserver-root\\n * @type {?Element}\\n * @const\\n */\\nIntersectionObserver.prototype.root;\\n\\n/**\\n * Offsets applied to the intersection root\u2019s bounding box, effectively growing\\n * or shrinking the box that is used to calculate intersections.\\n * @see https://wicg.github.io/IntersectionObserver/#dom-intersectionobserver-rootmargin\\n * @type {!string}\\n * @const\\n */\\nIntersectionObserver.prototype.rootMargin;\\n\\n/**\\n * A list of thresholds, sorted in increasing numeric order, where each\\n * threshold is a ratio of intersection area to bounding box area of an observed\\n * target.\\n * @see https://wicg.github.io/IntersectionObserver/#dom-intersectionobserver-thresholds\\n * @type {!Array.<!number>}\\n * @const\\n */\\nIntersectionObserver.prototype.thresholds;\\n\\n/**\\n * This is used to set which element to observe.\\n * @see https://wicg.github.io/IntersectionObserver/#dom-intersectionobserver-observe\\n * @param {!Element} element The element to observe.\\n * @return {undefined}\\n */\\nIntersectionObserver.prototype.observe = function(element) {};\\n\\n/**\\n * This is used to stop observing a given element.\\n * @see https://wicg.github.io/IntersectionObserver/#dom-intersectionobserver-unobserve\\n * @param {!Element} element The elmenent to stop observing.\\n * @return {undefined}\\n */\\nIntersectionObserver.prototype.unobserve = function(element) {};\\n\\n/**\\n * Disconnect.\\n * @see https://wicg.github.io/IntersectionObserver/#dom-intersectionobserver-disconnect\\n */\\nIntersectionObserver.prototype.disconnect = function() {};\\n\\n/**\\n * Take records.\\n * @see https://wicg.github.io/IntersectionObserver/#dom-intersectionobserver-takerecords\\n * @return {!Array.<!IntersectionObserverEntry>}\\n */\\nIntersectionObserver.prototype.takeRecords = function() {};\\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 encapsulat';
a.a+='e 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/mediakeys.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 MediaKey externs.\\n * Based on {@link http://goo.gl/blgtZZ EME draft 12 March 2015}.\\n * @externs\\n */\\n\\n\\n/**\\n * @typedef {{contentType: string, robustness: string}}\\n * @see https://w3c.github.io/encrypted-media/#mediakeysystemmediacapability-dictionary\\n */\\nvar MediaKeySystemMediaCapability;\\n\\n\\n/** @typedef {{\\n *   label: (string|undefined),\\n *   initDataTypes: (!Array<string>|undefined),\\n *   audioCapabilities: (!Array<!MediaKeySystemMediaCapability>|undefined),\\n *   videoCapabilities: (!Array<!MediaKeySystemMediaCapability>|undefined),\\n *   distinctiveIdentifier: (string|undefined),\\n *   persistentState: (string|undefined),\\n *   sessionTypes: (!Array<string>|undefined)\\n * }}\\n * @see https://w3c.github.io/encrypted-media/#mediakeysystemconfiguration-dictionary\\n */\\nvar MediaKeySystemConfiguration;\\n\\n\\n/**\\n * @param {string} keySystem\\n * @param {!Array<!MediaKeySystemConfiguration>} supportedConfigurations\\n * @return {!Promise<!MediaKeySystemAccess>}\\n * @see https://w3c.github.io/encrypted-media/#navigator-extension-requestmediakeysystemaccess\\n */\\nNavigator.prototype.requestMediaKeySystemAccess =\\n    function(keySystem, supportedConfigurations) {};\\n\\n\\n/** @const {MediaKeys} */\\nHTMLMediaElement.prototype.mediaKeys;\\n\\n\\n/**\\n * @param {MediaKeys} mediaKeys\\n * @return {!Promise}\\n * @see https://w3c.github.io/encrypted-media/#widl-HTMLMediaElement-setMediaKeys-Promise-void--MediaKeys-mediaKeys\\n */\\nHTMLMediaElement.prototype.setMediaKeys = function(mediaKeys) {};\\n\\n\\n\\n/**\\n * @interface\\n * @see https://w3c.github.io/encrypted-media/#mediakeysystemaccess-interface\\n */\\nfunction MediaKeySystemAccess() {}\\n\\n\\n/** @return {!Promise<!MediaKeys>} */\\nMediaKeySystemAccess.prototype.createMediaKeys = function() {};\\n\\n\\n/** @return {!MediaKeySystemConfiguration} */\\nMediaKeySystemAccess.prototype.getConfiguration = function() {};\\n\\n\\n/** @const {string} */\\nMediaKeySystemAccess.prototype.keySystem;\\n\\n\\n\\n/**\\n * @interface\\n * @see https://w3c.github.io/encrypted-media/#mediakeys-interface\\n */\\nfunction MediaKeys() {}\\n\\n\\n/**\\n * @param {string=} opt_sessionType defaults to \\"temporary\\"\\n * @return {!MediaKeySession}\\n * @throws {TypeError} if opt_sessionType is invalid.\\n */\\nMediaKeys.prototype.createSession = function(opt_sessionType) {};\\n\\n\\n/**\\n * @param {!BufferSource} serverCertificate\\n * @return {!Promise}\\n */\\nMediaKeys.prototype.setServerCertificate = function(serverCertificate) {};\\n\\n\\n\\n/**\\n * @interface\\n * @see https://w3c.github.io/encrypted-media/#mediakeystatusmap-interface\\n */\\nfunction MediaKeyStatusMap() {}\\n\\n\\n/** @const {number} */\\nMediaKeyStatusMap.prototype.size;\\n\\n\\n/**\\n * Array entry 0 is the key, 1 is the value.\\n * @return {!Iterator<!Array<!BufferSource|string>>}\\n */\\nMediaKeyStatusMap.prototype.entries = function() {};\\n\\n\\n/**\\n * The function is called with each value.\\n * @param {function(string, !BufferSource)} callback A callback function to run for\\n *     each media key. The first parameter is the key status; the second\\n *     parameter is the key ID.\\n * @return {undefined}\\n */\\nMediaKeyStatusMap.prototype.forEach = function(callback) {};\\n\\n\\n/**\\n * @param {!BufferSource} keyId\\n * @return {string|undefined}\\n */\\nMediaKeyStatusMap.prototype.get = function(keyId) {};\\n\\n\\n/**\\n * @param {!BufferSource} keyId\\n * @return {boolean}\\n */\\nMediaKeyStatusMap.prototype.has = function(keyId) {};\\n\\n\\n/**\\n * @return {!Iterator<!BufferSource>}\\n */\\nMediaKeyStatusMap.prototype.keys = function() {};\\n\\n\\n/**\\n * @return {!Iterator<string>}\\n */\\nMediaKeyStatusMap.prototype.values = function() {};\\n\\n\\n\\n/**\\n * @interface\\n * @extends {EventTarget}\\n * @see https://w3c.github.io/encrypted-media/#mediakeysession-interface\\n */\\nfunction MediaKeySession() {}\\n\\n\\n/** @const {string} */\\nMediaKeySession.prototype.sessionId;\\n\\n\\n/** @const {number} */\\nMediaKeySession.prototype.expiration;\\n\\n\\n/** @const {!Promise} */\\nMediaKeySession.prototype.closed;\\n\\n\\n/** @const {!MediaKeyStatusMap} */\\nMediaKeySession.prototype.keyStatuses;\\n\\n\\n/**\\n * @param {string} initDataType\\n * @param {!BufferSource} initData\\n * @return {!Promise}\\n */\\nMediaKeySession.prototype.generateRequest = function(initDataType, initData) {};\\n\\n\\n/**\\n * @param {string} sessionId\\n * @return {!Promise<boolean>}}\\n */\\nMediaKeySession.prototype.load = function(sessionId) {};\\n\\n\\n/**\\n * @param {!BufferSource} response\\n * @return {!Promise}\\n */\\nMediaKeySession.prototype.update = function(response) {};\\n\\n\\n/** @return {!Promise} */\\nMediaKeySession.prototype.close = function() {};\\n\\n\\n/** @return {!Promise} */\\nMediaKeySession.prototype.remove = function() {};\\n\\n\\n/**\\n * @override\\n */\\nMediaKeySession.prototype.addEventListener = function(\\n    type, listener, opt_options) {};\\n\\n\\n/**\\n * @override\\n */\\nMediaKeySession.prototype.removeEventListener = function(\\n    type, listener, opt_options) {};\\n\\n\\n/**\\n * @override\\n * @return {boolean}\\n */\\nMediaKeySession.prototype.dispatchEvent = function(evt) {};\\n\\n/**\\n * @record\\n * @extends {EventInit}\\n */\\nfunction MediaKeyMessageEventInit() {};\\n\\n/** @type {string} */\\nMediaKeyMessageEventInit.prototype.messageType;\\n\\n/** @type {!ArrayBuffer} */\\nMediaKeyMessageEventInit.prototype.message;\\n\\n\\n/**\\n * @constructor\\n * @param {string} type\\n * @param {MediaKeyMessageEventInit} eventInitDict\\n * @extends {Event}\\n * @see https://w3c.github.io/encrypted-media/#mediakeymessageevent\\n */\\nfunction MediaKeyMessageEvent(type, eventInitDict) {}\\n\\n\\n/** @const {string} */\\nMediaKeyMessageEvent.prototype.messageType;\\n\\n\\n/** @const {!ArrayBuffer} */\\nMediaKeyMessageEvent.prototype.message;\\n\\n\\n/** @const {!MediaKeySession} */\\nMediaKeyMessageEvent.prototype.target;\\n\\n/**\\n * @record\\n * @extends {EventInit}\\n */\\nfunction MediaEncryptedEventInit() {};\\n\\n/** @type {(string | undefined)} */\\nMediaEncryptedEventInit.prototype.initDataType;\\n\\n/** @type {(ArrayBuffer | undefined)} */\\nMediaEncryptedEventInit.prototype.initData;\\n\\n/**\\n * @constructor\\n * @param {string} type\\n * @param {MediaEncryptedEventInit=} opt_eventInitDict\\n * @extends {Event}\\n * @see https://w3c.github.io/encrypted-media/#mediaencryptedevent\\n */\\nfunction MediaEncryptedEvent(type, opt_eventInitDict) {}\\n\\n\\n/** @const {string} */\\nMediaEncryptedEvent.prototype.initDataType;\\n\\n\\n/** @const {ArrayBuffer} */\\nMediaEncryptedEvent.prototype.initData;\\n\\n\\n/** @const {!HTMLMediaElement} */\\nMediaEncryptedEvent.prototype.target;\\n\\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/** @override */\\nMediaSource.prototype.addEventListener = function(type, listener, opt_options) {\\n};\\n\\n/** @override */\\nMediaSource.prototype.removeEventListener = function(\\n    type, listener, opt_options) {};\\n\\n/** @override */\\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.prototype.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/** @override */\\nSourceBuffer.prototype.addEventListener = function(\\n    type, listener, opt_options) {};\\n\\n/** @override */\\nSourceBuffer.prototype.removeEventListener = function(\\n    type, listener, opt_options) {};\\n\\n/** @override */\\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 * Set of possible values: \'hidden\', \'visible\', \'prerender\', \'unloaded\'.\\n * @typedef {string}\\n * @see http://www.w3.org/TR/page-visibility/#VisibilityState\\n */\\nvar VisibilityState;\\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';
a.a+='@google.com (Devlin Cronin)\\n */\\n\\n/**\\n * @constructor\\n * @implements {Iterable<!Array<string>>}\\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_abort.js":"/*\\n * Copyright 2018 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 AbortController\\n * @see https://dom.spec.whatwg.org/#aborting-ongoing-activities\\n * @externs\\n */\\n\\n\\n\\n/**\\n * @record\\n * @extends {EventTarget}\\n * @see https://dom.spec.whatwg.org/#interface-AbortSignal\\n */\\nfunction AbortSignal() {}\\n\\n/** @type {boolean} */\\nAbortSignal.prototype.aborted;\\n\\n/** @type {?function(!Event)} */\\nAbortSignal.prototype.onabort;\\n\\n\\n\\n/**\\n * @constructor\\n * @see https://dom.spec.whatwg.org/#interface-abortcontroller\\n */\\nfunction AbortController() {}\\n\\n/** @const {!AbortSignal} */\\nAbortController.prototype.signal;\\n\\n/** @const {function()} */\\nAbortController.prototype.abort;\\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): undefined} 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/**\\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 08 December 2015.\\n * @see http://www.w3.org/TR/webaudio/\\n *\\n * @externs\\n */\\n\\n/**\\n * @implements {EventTarget}\\n * @constructor\\n */\\nfunction BaseAudioContext() {}\\n\\n/** @type {!AudioDestinationNode} */\\nBaseAudioContext.prototype.destination;\\n\\n/** @type {number} */\\nBaseAudioContext.prototype.sampleRate;\\n\\n/** @type {number} */\\nBaseAudioContext.prototype.currentTime;\\n\\n/** @type {!AudioListener} */\\nBaseAudioContext.prototype.listener;\\n\\n/**\\n * @type {string}\\n * See https://www.w3.org/TR/webaudio/#BaseAudioContext for valid values\\n */\\nBaseAudioContext.prototype.state;\\n\\n/**\\n * @param {number} numberOfChannels\\n * @param {number} length\\n * @param {number} sampleRate\\n * @return {!AudioBuffer}\\n */\\nBaseAudioContex';
a.a+="t.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 */\\nBaseAudioContext.prototype.decodeAudioData =\\n    function(audioData, successCallback, errorCallback) {};\\n\\n/**\\n * @return {!AudioBufferSourceNode}\\n */\\nBaseAudioContext.prototype.createBufferSource = function() {};\\n\\n/**\\n * @deprecated Use createAudioWorker instead\\n * @param {number=} bufferSize\\n * @param {number=} numberOfInputChannels_opt\\n * @param {number=} numberOfOutputChannels_opt\\n * @return {!ScriptProcessorNode}\\n */\\nBaseAudioContext.prototype.createScriptProcessor = function(bufferSize,\\n    numberOfInputChannels_opt, numberOfOutputChannels_opt) {};\\n\\n/**\\n * @return {!AnalyserNode}\\n */\\nBaseAudioContext.prototype.createAnalyser = function() {};\\n\\n/**\\n * @return {!GainNode}\\n */\\nBaseAudioContext.prototype.createGain = function() {};\\n\\n/**\\n * @param {number=} maxDelayTime\\n * @return {!DelayNode}\\n */\\nBaseAudioContext.prototype.createDelay = function(maxDelayTime) {};\\n\\n/**\\n * @return {!BiquadFilterNode}\\n */\\nBaseAudioContext.prototype.createBiquadFilter = function() {};\\n\\n/**\\n * @return {!WaveShaperNode}\\n */\\nBaseAudioContext.prototype.createWaveShaper = function() {};\\n\\n/**\\n * @deprecated Use BaseAudioContext#createSpatialPanner or BaseAudioContext#createStereoPanner\\n * @return {!PannerNode}\\n */\\nBaseAudioContext.prototype.createPanner = function() {};\\n\\n/**\\n * @return {!StereoPannerNode}\\n */\\nBaseAudioContext.prototype.createStereoPanner = function() {};\\n\\n/**\\n * @return {!ConvolverNode}\\n */\\nBaseAudioContext.prototype.createConvolver = function() {};\\n\\n/**\\n * @param {number=} numberOfOutputs\\n * @return {!ChannelSplitterNode}\\n */\\nBaseAudioContext.prototype.createChannelSplitter = function(numberOfOutputs) {};\\n\\n/**\\n * @param {number=} numberOfInputs\\n * @return {!ChannelMergerNode}\\n */\\nBaseAudioContext.prototype.createChannelMerger = function(numberOfInputs) {};\\n\\n/**\\n * @return {!DynamicsCompressorNode}\\n */\\nBaseAudioContext.prototype.createDynamicsCompressor = function() {};\\n\\n/**\\n * @return {!OscillatorNode}\\n */\\nBaseAudioContext.prototype.createOscillator = function() {};\\n\\n/**\\n * @param {!Float32Array} real\\n * @param {!Float32Array} imag\\n * @return {!PeriodicWave}\\n */\\nBaseAudioContext.prototype.createPeriodicWave = function(real, imag) {};\\n\\n/**\\n * @return {!Promise<void>}\\n */\\nBaseAudioContext.prototype.resume = function() {};\\n\\n/**\\n * @return {!Promise<void>}\\n */\\nBaseAudioContext.prototype.suspend = function() {};\\n\\n/**\\n * @return {!Promise<void>}\\n */\\nBaseAudioContext.prototype.close = function() {};\\n\\n/** @type {?function(!Event)} */\\nBaseAudioContext.prototype.onstatechange;\\n\\n/**\\n * @param  {string} scriptURL\\n * @return {!Promise<!AudioWorker>}\\n */\\nBaseAudioContext.prototype.createAudioWorker = function(scriptURL) {};\\n\\n/**\\n * @param  {!IArrayLike<number>} feedforward\\n * @param  {!IArrayLike<number>} feedback\\n * @return {!IIRFilterNode}\\n */\\nBaseAudioContext.prototype.createIIRFilter = function(feedforward, feedback) {};\\n\\n/**\\n * @return {!SpatialPannerNode}\\n */\\nBaseAudioContext.prototype.createSpatialPanner = function() {};\\n\\n/**\\n * @record\\n * @see https://webaudio.github.io/web-audio-api/#idl-def-AudioContextOptions\\n */\\nfunction AudioContextOptions() {};\\n\\n/** @type {(undefined|string|number)} */\\nAudioContextOptions.prototype.latencyHint;\\n\\n/** @type {(undefined|number)} */\\nAudioContextOptions.prototype.sampleRate;\\n\\n/**\\n * Includes the non-standard contextOptions optional options parameter\\n * implemented by Chrome and Firefox.\\n * @param {!AudioContextOptions=} contextOptions\\n * @constructor\\n * @extends {BaseAudioContext}\\n */\\nfunction AudioContext(contextOptions) {}\\n\\n/**\\n * @param {!HTMLMediaElement} mediaElement\\n * @return {!MediaElementAudioSourceNode}\\n */\\nAudioContext.prototype.createMediaElementSource = function(mediaElement) {};\\n\\n/**\\n * @return {!MediaStreamAudioDestinationNode}\\n */\\nAudioContext.prototype.createMediaStreamDestination = function() {};\\n\\n/**\\n * @param {!MediaStream} mediaStream\\n * @return {!MediaStreamAudioSourceNode}\\n */\\nAudioContext.prototype.createMediaStreamSource = function(mediaStream) {};\\n\\n/**\\n * @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 * @deprecated Use createGain instead.\\n * @return {!GainNode}\\n */\\nAudioContext.prototype.createGainNode = function() {};\\n\\n/**\\n * @deprecated Use createDelay instead.\\n * @param {number=} maxDelayTime\\n * @return {!DelayNode}\\n */\\nAudioContext.prototype.createDelayNode = function(maxDelayTime) {};\\n\\n/**\\n * @param {number} numberOfChannels\\n * @param {number} length\\n * @param {number} sampleRate\\n * @constructor\\n * @extends {BaseAudioContext}\\n */\\nfunction OfflineAudioContext(numberOfChannels, length, sampleRate) {}\\n\\n/**\\n * @return {!Promise<!AudioBuffer>}\\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 * @implements {EventTarget}\\n * @see https://www.w3.org/TR/webaudio/#the-audionode-interface\\n */\\nfunction AudioNode() {}\\n\\n/**\\n * @override\\n */\\nAudioNode.prototype.addEventListener = function(type, listener,\\n    opt_useCapture) {};\\n\\n/**\\n * @override\\n */\\nAudioNode.prototype.removeEventListener = function(type, listener,\\n    opt_useCapture) {};\\n\\n/**\\n * @override\\n * @return {boolean}\\n */\\nAudioNode.prototype.dispatchEvent = function(evt) {};\\n\\n/**\\n * @param {!AudioNode|!AudioParam} destination\\n * @param {number=} output\\n * @param {number=} input\\n * @return {AudioNode|void}\\n */\\nAudioNode.prototype.connect = function(destination, output, input) {};\\n\\n/**\\n * @param {!AudioNode|!AudioParam|number=} destination\\n * @param {number=} output\\n * @param {number=} input\\n */\\nAudioNode.prototype.disconnect = function(destination, output, input) {};\\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/**\\n * @type {string}\\n * See https://www.w3.org/TR/webaudio/#the-audionode-interface for valid values\\n */\\nAudioNode.prototype.channelCountMode;\\n\\n/**\\n * @type {string}\\n * See https://www.w3.org/TR/webaudio/#the-audionode-interface for valid values\\n */\\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 * @deprecated Use AudioDestinationNode#maxChannelCount\\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 * @deprecated\\n * @type {number}\\n */\\nAudioParam.prototype.maxValue;\\n\\n/**\\n * @deprecated\\n * @type {number}\\n */\\nAudioParam.prototype.minValue;\\n\\n/** @type {number} */\\nAudioParam.prototype.defaultValue;\\n\\n/**\\n * @deprecated\\n * @type {number}\\n */\\nAudioParam.prototype.units;\\n\\n/**\\n * @param {number} value\\n * @param {number} startTime\\n * @return {!AudioParam}\\n * @throws {!TypeError} if startTime is negative or not a finite number\\n */\\nAudioParam.prototype.setValueAtTime = function(value, startTime) {};\\n\\n/**\\n * @param {number} value\\n * @param {number} endTime\\n * @return {!AudioParam}\\n * @throws {!TypeError} if endTime is negative or not a finite number\\n */\\nAudioParam.prototype.linearRampToValueAtTime = function(value, endTime) {};\\n\\n/**\\n * @param {number} value\\n * @param {number} endTime\\n * @return {!AudioParam}\\n * @throws {!TypeError} if endTime is negative or not a finite number\\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 * @throws {!TypeError} if startTime is negative or not a finite number, or\\n * timeConstant is not strictly positive\\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 * @throws {!TypeError} if startTime is negative or not a finite number\\n */\\nAudioParam.prototype.setValueCurveAtTime = function(values, startTime,\\n    duration) {};\\n\\n/**\\n * @param {number} startTime\\n * @return {!AudioParam}\\n * @throws {!TypeError} if startTime is negative or not a finite number\\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 {!AudioParam} */\\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 * @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 * @param  {!Float32Array} destination\\n * @param  {number} channelNumber\\n * @param  {number=} startInChannel\\n */\\nAudioBuffer.prototype.copyFromChannel = function(destination,\\n    channelNumber, startInChannel) {};\\n\\n/**\\n * @param  {!Float32Array} source\\n * @param  {number} channelNumber\\n * @param  {number=} startInChannel\\n */\\nAudioBuffer.prototype.copyToChannel = function(source, channelNumber,\\n    startInChannel) {};\\n\\n/**\\n * @constructor\\n * @extends {AudioNode}\\n */\\nfunction AudioBufferSourceNode() {}\\n\\n/**\\n * @deprecated\\n * @const {number}\\n */\\nAudioBufferSourceNode.prototype.UNSCHEDULED_STATE;\\n\\n/**\\n * @deprecated\\n * @const {number}\\n */\\nAudioBufferSourceNode.prototype.SCHEDULED_STATE;\\n\\n/**\\n * @deprecated\\n * @const {number}\\n */\\nAudioBufferSourceNode.prototype.PLAYING_STATE;\\n\\n/**\\n * @deprecated\\n * @const {number}\\n */\\nAudioBufferSourceNode.prototype.FINISHED_STATE;\\n\\n/**\\n * @deprecated\\n * @type {number}\\n */\\nAudioBufferSourceNode.prototype.playbackState;\\n\\n/** @type {AudioBuffer} */\\nAudioBufferSourceNode.prototype.buffer;\\n\\n/**\\n * @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/** @type {?function(!Event)} */\\nAudioBufferSourceNode.prototype.onended;\\n\\n/** @type {!AudioParam} */\\nAudioBufferSourceNode.prototype.detune;\\n\\n/**\\n * @param {number=} when\\n * @param {number=} opt_offset\\n * @param {number=} opt_duration\\n * @throws {!TypeError} if any parameter is negative\\n */\\nAudioBufferSourceNode.prototype.start = function(when, opt_offset,\\n    opt_duration) {};\\n\\n/**\\n * @param {number=} when\\n * @throws {!TypeError} if when is negative\\n */\\nAudioBufferSourceNode.prototype.stop = function(when) {};\\n\\n/**\\n * @deprecated Use AudioBufferSourceNode#start\\n * @param {number} when\\n * @return {undefined}\\n */\\nAudioBufferSourceNode.prototype.noteOn = function(when) {};\\n\\n/**\\n * @param {number=} when\\n * @param {number=} opt_offset\\n * @param {number=} opt_duration\\n * @deprecated Use AudioBufferSourceNode#start\\n */\\nAudioBufferSourceNode.prototype.noteGrainOn = function(when, opt_offset,\\n    opt_duration) {};\\n\\n/**\\n * @param {number} when\\n * @deprecated Use AudioBufferSourceNode#stop\\n */\\nAudioBufferSourceNode.prototype.noteOff = function(when) {};\\n\\n/**\\n * @constructor\\n * @extends {AudioNode}\\n */\\nfunction MediaElementAudioSourceNode() {}\\n\\n/**\\n * @constructor\\n */\\nfunction AudioWorker() {}\\n\\n/** @type {?function(!Event)} */\\nAudioWorker.prototype.onloaded;\\n\\n/** @type {?function(!Event)} */\\nAudioWorker.prototype.onmessage;\\n\\n/** @type {!Array<!AudioWorkerParamDescriptor>} */\\nAudioWorker.prototype.parameters;\\n\\n/**\\n * @param  {string} name\\n * @param  {number} defaultValue\\n * @return {!AudioParam}\\n */\\nAudioWorker.prototype.addParameter = function(name, defaultValue) {};\\n\\n/**\\n * @param  {number} numberOfInputs\\n * @param  {number} numberOfOutputs\\n * @return {!AudioWorkerNode}\\n */\\nAudioWorker.prototype.createNode = function(numberOfInputs, numberOfOutputs) {};\\n\\n/**\\n * @param  {*} message\\n * @param  {!Array<!Transferable>=} transfer\\n */\\nAudioWorker.prototype.postMessage = function(message, transfer) {};\\n\\n/**\\n * @param  {string} name\\n */\\nAudioWorker.prototype.removeParameter = function(name) {};\\n\\n/**\\n */\\nAudioWorker.prototype.terminate = function() {};\\n\\n/**\\n * @constructor\\n * @extends {AudioNode}\\n */\\nfunction AudioWorkerNode() {}\\n\\n/** @type {?function(!Event)} */\\nAudioWorkerNode.prototype.onmessage;\\n\\n/**\\n * @param  {*} message\\n * @param  {!Array<!Transferable>=} transfer\\n */\\nAudioWorkerNode.prototype.postMessage = function(message, transfer) {};\\n\\n/**\\n * @constructor\\n */\\nfunction AudioWorkerParamDescriptor() {}\\n\\n/** @type {number} */\\nAudioWorkerParamDescriptor.prototype.defaultValue;\\n\\n/** @type {string} */\\nAudioWorkerParamDescriptor.prototype.name;\\n\\n/**\\n * @constructor\\n */\\nfunction AudioWorkerGlobalScope() {}\\n\\n/** @type {?function(!Event)} */\\nAudioWorkerGlobalScope.prototype.onaudioprocess;\\n\\n/** @type {?function(!Event)} */\\nAudioWorkerGlobalScope.prototype.onnodecreate;\\n\\n/** @type {!Array<!AudioWorkerParamDescriptor>} */\\nAudioWorkerGlobalScope.prototype.parameters;\\n\\n/** @type {number} */\\nAudioWorkerGlobalScope.prototype.sampleRate;\\n\\n/**\\n * @param  {string} name\\n * @param  {number} defaultValue\\n * @return {!AudioParam}\\n */\\nAudioWorkerGlobalScope.prototype.addParameter = function(name, defaultValue) {};\\n\\n/**\\n * @param  {string} name\\n */\\nAudioWorkerGlobalScope.prototype.removeParameter = function(name) {};\\n\\n/**\\n * @constructor\\n */\\nfunction AudioWorkerNodeProcessor() {}\\n\\n/** @type {?function(!Event)} */\\nAudioWorkerNodeProcessor.prototype.onmessage;\\n\\n/**\\n * @param  {*} message\\n * @param  {!Array<!Transferable>=} transfer\\n */\\nAudioWorkerNodeProcessor.prototype.postMessage = function(message, transfer) {};\\n\\n/**\\n * @constructor\\n * @extends {AudioNode}\\n * @deprecated Use AudioWorkerNode\\n */\\nfunction JavaScriptAudioNode() {}\\n\\n/**\\n * @type {EventListener|(function(!AudioProcessingEvent):(boolean|undefined))}\\n * @deprecated Use AudioWorkerNode\\n */\\nJavaScriptAudioNode.prototype.onaudioprocess;\\n\\n/**\\n * @type {number}\\n * @deprecated Use AudioWorkerNode\\n */\\nJavaScriptAudioNode.prototype.bufferSize;\\n\\n/**\\n * @constructor\\n * @extends {AudioNode}\\n * @deprecated Use AudioWorkerNode\\n */\\nfunction ScriptProcessorNode() {}\\n\\n/**\\n * @type {EventListener|(function(!AudioProcessingEvent):(boolean|undefined))}\\n * @deprecated Use AudioWorke";
a.a+='rNode\\n */\\nScriptProcessorNode.prototype.onaudioprocess;\\n\\n/**\\n * @type {number}\\n * @deprecated Use AudioWorkerNode\\n */\\nScriptProcessorNode.prototype.bufferSize;\\n\\n/**\\n * @constructor\\n * @extends {Event}\\n */\\nfunction AudioWorkerNodeCreationEvent() {}\\n\\n/** @type {!Array} */\\nAudioWorkerNodeCreationEvent.prototype.inputs;\\n\\n/** @type {!AudioWorkerNodeProcessor} */\\nAudioWorkerNodeCreationEvent.prototype.node;\\n\\n/** @type {!Array} */\\nAudioWorkerNodeCreationEvent.prototype.outputs;\\n\\n/**\\n * @constructor\\n * @extends {Event}\\n */\\nfunction AudioProcessEvent() {}\\n\\n/** @type {!Float32Array} */\\nAudioProcessEvent.prototype.inputs;\\n\\n/** @type {!AudioWorkerNodeProcessor} */\\nAudioProcessEvent.prototype.node;\\n\\n/** @type {!Float32Array} */\\nAudioProcessEvent.prototype.outputs;\\n\\n/** @type {!Object} */\\nAudioProcessEvent.prototype.parameters;\\n\\n/** @type {number} */\\nAudioProcessEvent.prototype.playbackTime;\\n\\n/**\\n * @constructor\\n * @extends {Event}\\n * @deprecated Use AudioProcessEvent\\n */\\nfunction AudioProcessingEvent() {}\\n\\n/**\\n * @type {!ScriptProcessorNode}\\n * @deprecated Use AudioProcessEvent\\n */\\nAudioProcessingEvent.prototype.node;\\n\\n/**\\n * @type {number}\\n * @deprecated Use AudioProcessEvent\\n */\\nAudioProcessingEvent.prototype.playbackTime;\\n\\n/**\\n * @type {!AudioBuffer}\\n * @deprecated Use AudioProcessEvent\\n */\\nAudioProcessingEvent.prototype.inputBuffer;\\n\\n/**\\n * @type {!AudioBuffer}\\n * @deprecated Use AudioProcessEvent\\n */\\nAudioProcessingEvent.prototype.outputBuffer;\\n\\n/**\\n * @deprecated\\n * @constructor\\n * @extends {AudioNode}\\n */\\nfunction AudioPannerNode() {}\\n\\n/**\\n * @deprecated\\n * @const {number}\\n */\\nAudioPannerNode.prototype.EQUALPOWER;\\n\\n/**\\n * @deprecated\\n * @const {number}\\n */\\nAudioPannerNode.prototype.HRTF;\\n\\n/**\\n * @deprecated\\n * @const {number}\\n */\\nAudioPannerNode.prototype.SOUNDFIELD;\\n\\n/**\\n * @deprecated\\n * @const {number}\\n */\\nAudioPannerNode.prototype.LINEAR_DISTANCE;\\n\\n/**\\n * @deprecated\\n * @const {number}\\n */\\nAudioPannerNode.prototype.INVERSE_DISTANCE;\\n\\n/**\\n * @deprecated\\n * @const {number}\\n */\\nAudioPannerNode.prototype.EXPONENTIAL_DISTANCE;\\n\\n/**\\n * @deprecated\\n * @type {number|string}\\n */\\nAudioPannerNode.prototype.panningModel;\\n\\n/**\\n * @deprecated\\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 * @deprecated\\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 * @deprecated\\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/**\\n * @deprecated\\n * @type {number|string}\\n */\\nAudioPannerNode.prototype.distanceModel;\\n\\n/**\\n * @deprecated\\n * @type {number}\\n */\\nAudioPannerNode.prototype.refDistance;\\n\\n/**\\n * @deprecated\\n * @type {number}\\n */\\nAudioPannerNode.prototype.maxDistance;\\n\\n/**\\n * @deprecated\\n * @type {number}\\n */\\nAudioPannerNode.prototype.rolloffFactor;\\n\\n/**\\n * @deprecated\\n * @type {number}\\n */\\nAudioPannerNode.prototype.coneInnerAngle;\\n\\n/**\\n * @deprecated\\n * @type {number}\\n */\\nAudioPannerNode.prototype.coneOuterAngle;\\n\\n/**\\n * @deprecated\\n * @type {number}\\n */\\nAudioPannerNode.prototype.coneOuterGain;\\n\\n/**\\n * @deprecated\\n * @type {!AudioGain}\\n */\\nAudioPannerNode.prototype.coneGain;\\n\\n/**\\n * @deprecated\\n * @type {!AudioGain}\\n */\\nAudioPannerNode.prototype.distanceGain;\\n\\n/**\\n * @constructor\\n * @extends {AudioNode}\\n */\\nfunction PannerNode() {}\\n\\n/** @type {number} */\\nPannerNode.prototype.coneInnerAngle;\\n\\n/** @type {number} */\\nPannerNode.prototype.coneOuterAngle;\\n\\n/** @type {number} */\\nPannerNode.prototype.coneOuterGain;\\n\\n/**\\n * @type {string}\\n * See https://www.w3.org/TR/webaudio/#the-pannernode-interface for valid values\\n */\\nPannerNode.prototype.distanceModel;\\n\\n/** @type {number} */\\nPannerNode.prototype.maxDistance;\\n\\n/**\\n * @type {string}\\n * See https://www.w3.org/TR/webaudio/#the-pannernode-interface for valid values\\n */\\nPannerNode.prototype.panningModel;\\n\\n/** @type {number} */\\nPannerNode.prototype.refDistance;\\n\\n/** @type {number} */\\nPannerNode.prototype.rolloffFactor;\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} z\\n */\\nPannerNode.prototype.setOrientation = function(x, y, z) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} z\\n */\\nPannerNode.prototype.setPosition = function(x, y, z) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} z\\n */\\nPannerNode.prototype.setVelocity = function(x, y, z) {};\\n\\n/**\\n * @constructor\\n * @deprecated Use SpatialListener\\n */\\nfunction AudioListener() {}\\n\\n/**\\n * @type {number}\\n * @deprecated Use SpatialListener\\n */\\nAudioListener.prototype.gain;\\n\\n/**\\n * @type {number}\\n * @deprecated Use SpatialListener\\n */\\nAudioListener.prototype.dopplerFactor;\\n\\n/**\\n * @type {number}\\n * @deprecated Use SpatialListener\\n */\\nAudioListener.prototype.speedOfSound;\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} z\\n * @deprecated Use SpatialListener\\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 * @deprecated Use SpatialListener\\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 * @deprecated Use SpatialListener\\n */\\nAudioListener.prototype.setVelocity = function(x, y, z) {};\\n\\n/**\\n * @constructor\\n * @extends {AudioNode}\\n */\\nfunction SpatialPannerNode() {}\\n\\n/** @type {number} */\\nSpatialPannerNode.prototype.coneInnerAngle;\\n\\n/** @type {number} */\\nSpatialPannerNode.prototype.coneOuterAngle;\\n\\n/** @type {number} */\\nSpatialPannerNode.prototype.coneOuterGain;\\n\\n/**\\n * @type {string}\\n * See https://www.w3.org/TR/webaudio/#the-pannernode-interface for valid values\\n */\\nSpatialPannerNode.prototype.distanceModel;\\n\\n/** @type {number} */\\nSpatialPannerNode.prototype.maxDistance;\\n\\n/** @type {!AudioParam} */\\nSpatialPannerNode.prototype.orientationX;\\n\\n/** @type {!AudioParam} */\\nSpatialPannerNode.prototype.orientationY;\\n\\n/** @type {!AudioParam} */\\nSpatialPannerNode.prototype.orientationZ;\\n\\n/**\\n * @type {string}\\n * See https://www.w3.org/TR/webaudio/#the-pannernode-interface for valid values\\n */\\nSpatialPannerNode.prototype.panningModel;\\n\\n/** @type {!AudioParam} */\\nSpatialPannerNode.prototype.positionX;\\n\\n/** @type {!AudioParam} */\\nSpatialPannerNode.prototype.positionY;\\n\\n/** @type {!AudioParam} */\\nSpatialPannerNode.prototype.positionZ;\\n\\n/** @type {number} */\\nSpatialPannerNode.prototype.refDistance;\\n\\n/** @type {number} */\\nSpatialPannerNode.prototype.rolloffFactor;\\n\\n/**\\n * @constructor\\n */\\nfunction SpatialListener() {}\\n\\n/** @type {!AudioParam} */\\nSpatialListener.prototype.forwardX;\\n\\n/** @type {!AudioParam} */\\nSpatialListener.prototype.forwardY;\\n\\n/** @type {!AudioParam} */\\nSpatialListener.prototype.forwardZ;\\n\\n/** @type {!AudioParam} */\\nSpatialListener.prototype.positionX;\\n\\n/** @type {!AudioParam} */\\nSpatialListener.prototype.positionY;\\n\\n/** @type {!AudioParam} */\\nSpatialListener.prototype.positionZ;\\n\\n/** @type {!AudioParam} */\\nSpatialListener.prototype.upX;\\n\\n/** @type {!AudioParam} */\\nSpatialListener.prototype.upY;\\n\\n/** @type {!AudioParam} */\\nSpatialListener.prototype.upZ;\\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 * @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 */\\nAnalyserNode.prototype.getFloatFrequencyData = function(array) {};\\n\\n/**\\n * @param {!Uint8Array} array\\n */\\nAnalyserNode.prototype.getByteFrequencyData = function(array) {};\\n\\n/**\\n * @param {!Uint8Array} array\\n */\\nAnalyserNode.prototype.getByteTimeDomainData = function(array) {};\\n\\n/**\\n * @param {!Float32Array} array\\n */\\nAnalyserNode.prototype.getFloatTimeDomainData = 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 ChannelSplitterNode() {}\\n\\n/**\\n * @constructor\\n * @extends {ChannelSplitterNode}\\n * @deprecated Use ChannelSplitterNode\\n *\\n * This constructor has been added for backwards compatibility.\\n */\\nfunction AudioChannelSplitter() {}\\n\\n/**\\n * @constructor\\n * @extends {AudioNode}\\n */\\nfunction ChannelMergerNode() {}\\n\\n/**\\n * @constructor\\n * @extends {ChannelMergerNode}\\n * @deprecated Use ChannelMergerNode\\n *\\n * This constructor has been added for backwards compatibility.\\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 {number} */\\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 * @param {Float32Array} frequencyHz\\n * @param {Float32Array} magResponse\\n * @param {Float32Array} phaseResponse\\n * @return {undefined}\\n */\\nBiquadFilterNode.prototype.getFrequencyResponse = function(\\n    frequencyHz, magResponse, phaseResponse) {};\\n\\n/**\\n * @constructor\\n * @extends {AudioNode}\\n */\\nfunction IIRFilterNode() {}\\n\\n/**\\n * @param {!Float32Array} frequencyHz\\n * @param {!Float32Array} magResponse\\n * @param {!Float32Array} phaseResponse\\n * @return {undefined}\\n */\\nIIRFilterNode.prototype.getFrequencyResponse = function(\\n    frequencyHz, 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 * @deprecated\\n * @constructor\\n */\\nfunction WaveTable() {}\\n\\n/**\\n * @constructor\\n * @extends {AudioNode}\\n */\\nfunction OscillatorNode() {}\\n\\n/**\\n * @type {string}\\n * See https://www.w3.org/TR/webaudio/#the-oscillatornode-interface for valid values\\n */\\nOscillatorNode.prototype.type;\\n\\n/**\\n * @deprecated\\n * @type {number}\\n */\\nOscillatorNode.prototype.playbackState;\\n\\n/** @type {!AudioParam} */\\nOscillatorNode.prototype.frequency;\\n\\n/** @type {!AudioParam} */\\nOscillatorNode.prototype.detune;\\n\\n/**\\n * @param {number=} when\\n */\\nOscillatorNode.prototype.start = function(when) {};\\n\\n/**\\n * @param {number=} when\\n */\\nOscillatorNode.prototype.stop = function(when) {};\\n\\n/**\\n * @deprecated\\n * @param {!WaveTable} waveTable\\n */\\nOscillatorNode.prototype.setWaveTable = function(waveTable) {};\\n\\n/**\\n * @param {!PeriodicWave} periodicWave\\n */\\nOscillatorNode.prototype.setPeriodicWave = function(periodicWave) {};\\n\\n/** @type {?function(!Event)} */\\nOscillatorNode.prototype.onended;\\n\\n/**\\n * @constructor\\n */\\nfunction PeriodicWave() {}\\n\\n/**\\n * @constructor\\n * @extends {AudioNode}\\n */\\nfunction MediaStreamAudioSourceNode() {}\\n\\n/**\\n * @constructor\\n * @extends {AudioNode}\\n */\\nfunction MediaStreamAudioDestinationNode() {}\\n\\n/** @type {!MediaStream} */\\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 * @constructor\\n * @extends {PannerNode}\\n */\\nfunction webkitPannerNode() {}\\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 */\\nAudio.prototype.mozSetup = function(channels, rate) {};\\n\\n/**\\n * @param {Array|Float32Array} buffer\\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_composition_event.js":"/*\\n * Copyright 2018 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 th';
a.a+='e 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 Composition Events specification.\\n * @externs\\n */\\n\\n/**\\n * The `CompositionEvent` interface provides specific contextual information\\n * associated with Composition Events.\\n * @see https://www.w3.org/TR/uievents/#interface-compositionevent\\n * @record\\n * @extends {UIEventInit}\\n */\\nfunction CompositionEventInit() {}\\n\\n/**\\n * `data` holds the value of the characters generated by an input method. This\\n * MAY be a single Unicode character or a non-empty sequence of Unicode\\n * characters. This attribute MAY be the empty string. The un-initialized value\\n * of this attribute MUST be \\"\\" (the empty string).\\n * @type {string}\\n */\\nCompositionEventInit.prototype.data;\\n\\n/**\\n * Composition Events provide a means for inputing text in a supplementary or\\n * alternate manner than by Keyboard Events, in order to allow the use of\\n * characters that might not be commonly available on keyboard. For example,\\n * Composition Events might be used to add accents to characters despite their\\n * absence from standard US keyboards, to build up logograms of many Asian\\n * languages from their base components or categories, to select word choices\\n * from a combination of key presses on a mobile device keyboard, or to convert\\n * voice commands into text using a speech recognition processor.\\n *\\n * Conceptually, a composition session consists of one `compositionstart` event,\\n * one or more `compositionupdate` events, and one `compositionend` event, with\\n * the value of the data attribute persisting between each stage of this event\\n * chain during each session.\\n *\\n * Not all IME systems or devices expose the necessary data to the DOM, so the\\n * active composition string (the \\"Reading Window\\" or \\"candidate selection\\" menu\\n * option) might not be available through this interface, in which case the\\n * selection MAY be represented by the empty string.\\n *\\n * @see https://www.w3.org/TR/uievents/#events-compositionevents\\n * @param {string} type\\n * @param {!CompositionEventInit=} opt_eventInitDict\\n * @extends {UIEvent}\\n * @constructor\\n */\\nfunction CompositionEvent(type, opt_eventInitDict) {}\\n\\n/**\\n * Initializes attributes of a `CompositionEvent` object. This method has the\\n * same behavior as `UIEvent.initUIEvent()`. The value of `detail` remains\\n * undefined.\\n *\\n * @see https://www.w3.org/TR/uievents/#idl-interface-CompositionEvent-initializers\\n * @param {string} typeArg\\n * @param {boolean} canBubbleArg\\n * @param {boolean} cancelableArg\\n * @param {?Window} viewArg\\n * @param {string} dataArg\\n * @param {string} localeArg\\n * @return {undefined}\\n */\\nCompositionEvent.prototype.initCompositionEvent = function(\\n    typeArg, canBubbleArg, cancelableArg, viewArg, dataArg, localeArg) {};\\n\\n/**\\n * @type {string}\\n */\\nCompositionEvent.prototype.data;\\n\\n/**\\n * @type {string}\\n */\\nCompositionEvent.prototype.locale;\\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.firstElementChild;\\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 */\\n';
a.a+="Geolocation.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 * @record\\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 * @record\\n * @see http://www.w3.org/TR/geolocation-API/#position\\n */\\nfunction GeolocationPosition() {}\\n/** @type {GeolocationCoordinates} */\\nGeolocationPosition.prototype.coords;\\n/** @type {number} */\\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 * @record\\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 and IndexedDB API 2.0.\\n * In Chrome all the IndexedDB classes are prefixed with 'webkit'.\\n * In order to access constants and static methods of these classes they must\\n * be duplicated with the prefix here.\\n * @see http://www.w3.org/TR/2015/REC-IndexedDB-20150108/\\n * @see https://www.w3.org/TR/2017/WD-IndexedDB-2-20170313/\\n *\\n * @externs\\n * @author guido.tapia@picnet.com.au (Guido Tapia)\\n * @author vobruba.martin@gmail.com (Martin Vobruba)\\n */\\n\\n/** @type {!IDBFactory} */\\nvar indexedDB;\\n\\n/** @type {!IDBFactory|undefined} */\\nWindow.prototype.moz_indexedDB;\\n\\n/** @type {!IDBFactory|undefined} */\\nWindow.prototype.mozIndexedDB;\\n\\n/** @type {!IDBFactory|undefined} */\\nWindow.prototype.webkitIndexedDB;\\n\\n/** @type {!IDBFactory|undefined} */\\nWindow.prototype.msIndexedDB;\\n\\n\\n\\n/**\\n * Possible values: 'readonly', 'readwrite', 'versionchange'\\n *\\n * @typedef {string}\\n * @see https://www.w3.org/TR/IndexedDB/#idl-def-IDBTransactionMode\\n */\\nvar IDBTransactionMode;\\n\\n\\n/**\\n * Possible values: 'pending', 'done'\\n *\\n * @typedef {string}\\n * @see https://www.w3.org/TR/IndexedDB/#idl-def-IDBRequestReadyState\\n */\\nvar IDBRequestReadyState;\\n\\n\\n/**\\n * Possible values: 'next', 'nextunique', 'prev', 'prevunique'\\n *\\n * @typedef {string}\\n * @see https://www.w3.org/TR/IndexedDB/#idl-def-IDBCursorDirection\\n */\\nvar IDBCursorDirection;\\n\\n\\n/**\\n * @record\\n * @see https://www.w3.org/TR/IndexedDB/#idl-def-IDBIndexParameters\\n */\\nfunction IDBIndexParameters(){};\\n\\n/** @type {(undefined|boolean)} */\\nIDBIndexParameters.prototype.unique;\\n\\n/** @type {(undefined|boolean)} */\\nIDBIndexParameters.prototype.multiEntry;\\n\\n\\n/**\\n * @record\\n * @extends {EventInit}\\n * @see https://www.w3.org/TR/IndexedDB/#idl-def-IDBVersionChangeEventInit\\n */\\nfunction IDBVersionChangeEventInit(){};\\n\\n/** @type {(undefined|number)} */\\nIDBVersionChangeEventInit.prototype.oldVersion;\\n\\n/** @type {(undefined|number|null)} */\\nIDBVersionChangeEventInit.prototype.newVersion;\\n\\n\\n\\n/**\\n * @record\\n * @see https://www.w3.org/TR/IndexedDB/#idl-def-IDBObjectStoreParameters\\n */\\nfunction IDBObjectStoreParameters() {};\\n\\n/** @type {(undefined|string|!Array<string>|null)} */\\nIDBObjectStoreParameters.prototype.keyPath;\\n\\n/** @type {(undefined|boolean)} */\\nIDBObjectStoreParameters.prototype.autoIncrement;\\n\\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 * @param {*} first\\n * @param {*} second\\n * @return {number}\\n */\\nIDBFactory.prototype.cmp = function(first, second) {};\\n\\n\\n/**\\n * @constructor\\n * @implements {EventTarget}\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBRequest\\n * @see https://www.w3.org/TR/IndexedDB-2/#request-api\\n */\\nfunction IDBRequest() {}\\n\\n/** @override */\\nIDBRequest.prototype.addEventListener = function(type, listener, opt_options) {\\n};\\n\\n/** @override */\\nIDBRequest.prototype.removeEventListener = function(\\n    type, listener, opt_options) {};\\n\\n/** @override */\\nIDBRequest.prototype.dispatchEvent = function(evt) {};\\n\\n\\n/**\\n * @constructor\\n * @extends {IDBRequest}\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBRequest\\n * @see https://www.w3.org/TR/IndexedDB-2/#request-api\\n */\\nfunction webkitIDBRequest() {}\\n\\n/**\\n * @type {!IDBRequestReadyState}\\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|?DOMException} */\\nIDBRequest.prototype.error; // readonly\\n\\n/** @type {?IDBObjectStore|?IDBIndex|?IDBCursor} */\\nIDBRequest.prototype.source; // readonly\\n\\n/** @type {?IDBTransaction} */\\nIDBRequest.prototype.transaction; // readonly\\n\\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/**\\n * @constructor\\n * @implements {EventTarget}\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBDatabase\\n * @see https://www.w3.org/TR/IndexedDB-2/#database-interface\\n */\\nfunction IDBDatabase() {}\\n\\n/**\\n * @type {string}\\n * @const\\n */\\nIDBDatabase.prototype.name;\\n\\n/**\\n * @type {number}\\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 {!IDBObjectStoreParameters=} 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|!Array<string>|!DOMStringList)} storeNames The stores to open\\n *     in this transaction.\\n * @param {!IDBTransactionMode=} 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(!Event)}\\n */\\nIDBDatabase.prototype.onabort;\\n\\n/**\\n * @type {?function(!Event)}\\n */\\nIDBDatabase.prototype.onclose;\\n\\n/**\\n * @type {?function(!Event)}\\n */\\nIDBDatabase.prototype.onerror;\\n\\n/**\\n * @type {?function(!IDBVersionChangeEvent)}\\n */\\nIDBDatabase.prototype.onversionchange;\\n\\n/** @override */\\nIDBDatabase.prototype.addEventListener = function(type, listener, opt_options) {\\n};\\n\\n/** @override */\\nIDBDatabase.prototype.removeEventListener = function(\\n    type, listener, opt_options) {};\\n\\n/** @override */\\nIDBDatabase.prototype.dispatchEvent = function(evt) {};\\n\\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 * @see https://www.w3.org/TR/IndexedDB-2/#key-construct\\n * @typedef {number|string|!Date|!Array<?>|!BufferSource}\\n */\\nvar IDBKeyType;\\n\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBObjectStore\\n * @see https://www.w3.org/TR/IndexedDB-2/#object-store-interface\\n */\\nfunction IDBObjectStore() {}\\n\\n/**\\n * @type {string}\\n */\\nIDBObjectStore.prototype.name;\\n\\n/**\\n * @type {*}\\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 */\\nIDBObjectStore.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|!IDBKeyRange} 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 *     Nullable because IE <11 has problems with undefined.\\n * @param {!IDBCursorDirection=} 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 {!IDBIndexParameters=} 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 * @param {(!IDBKeyType|IDBKeyRange)=} query\\n * @return {!IDBRequest} The IDBRequest object.\\n * @see https://www.w3.org/TR/IndexedDB-2/#dom-idbobjectstore-getkey\\n */\\nIDBObjectStore.prototype.getKey = function(query) {};\\n\\n/**\\n * @param {(!IDBKeyType|IDBKeyRange)=} query\\n * @param {number=} count\\n * @return {!IDBRequest} The IDBRequest object.\\n * @see https://www.w3.org/TR/IndexedDB-2/#dom-idbobjectstore-getall\\n */\\nIDBObjectStore.prototype.getAll = function(query, count) {};\\n\\n/**\\n * @param {(!IDBKeyType|IDBKeyRange)=} query\\n * @param {number=} count\\n * @return {!IDBRequest} The IDBRequest object.\\n * @see https://www.w3.org/TR/IndexedDB-2/#dom-idbobjectstore-getallkeys\\n */\\nIDBObjectStore.prototype.getAllKeys = function(query, count) {};\\n\\n/**\\n * @param {(!IDBKeyType|IDBKeyRange)=} query\\n * @param {!IDBCursorDirection=} direction\\n * @return {!IDBRequest} The IDBRequest object.\\n * @see https://www.w3.org/TR/IndexedDB-2/#dom-idbobjectstore-openkeycursor\\n */\\nIDBObjectStore.prototype.openKeyCursor = function(query, direction) {};\\n\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBIndex\\n * @see https://www.w3.org/TR/IndexedDB-2/#index-interface\\n */\\nfunction IDBIndex() {}\\n\\n/**\\n * @type {string}\\n */\\nIDBIndex.prototype.name;\\n\\n/**\\n * @type {!IDBObjectStore}\\n * @const\\n */\\nIDBIndex.prototype.objectStore;\\n\\n/**\\n * @type {*}\\n * @const\\n */\\nIDBIndex.prototype.keyPath;\\n\\n/**\\n * @type {boolean}\\n * @const\\n */\\nIDBIndex.prototype.multiEntry;\\n\\n/**\\n * @type {boolean}\\n * @const\\n */\\nIDBIndex.prototype.unique;\\n\\n/**\\n * @param {(!IDBKeyType|?IDBKeyRange)=} range The range of the cursor.\\n *     Nullable because IE <11 has problems with undefined.\\n * @param {!IDBCursorDirection=} direction The direction of cursor enumeration.\\n * @return {!IDBRequest} The IDBRequest object.\\n */\\nIDBIndex.prototype.openCursor = function(range, direction) {};\\n\\n/**\\n * @param {(!IDBKeyType|?IDBKeyRange)=} range The range of the cursor.\\n *     Nullable because IE <11 has problems with undefined.\\n * @param {!IDBCursorDirection=} 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 * @param {(!IDBKeyType|!IDBKeyRange)=} query\\n * @param {number=} count\\n * @return {!IDBRequest}\\n * @see https://www.w3.org/TR/IndexedDB-2/#dom-idbindex-getall\\n */\\nIDBIndex.prototype.getAll = function(query, count) {};\\n\\n/**\\n * @param {(!IDBKeyType|!IDBKeyRange)=} query\\n * @param {number=} count\\n * @return {!IDBRequest}\\n * @see https://www.w3.org/TR/IndexedDB-2/#dom-idbindex-getallkeys\\n */\\nIDBIndex.prototype.getAllKeys = function(query, count) {};\\n\\n/**\\n * @param {(!IDBKeyType|!IDBKeyRange)=} opt_key\\n * @return {!IDBRequest}\\n */\\nIDBIndex.prototype.count = function(opt_key) {};\\n\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBCursor\\n * @see https://www.w3.org/TR/IndexedDB-2/#cursor-interface\\n */\\nfunction IDBCursor() {}\\n\\n/**\\n * @constructor\\n * @extends {IDBCursor}\\n * @see http://www.w3.org/TR/Ind";
a.a+='exedDB/#idl-def-IDBCursor\\n * @see https://www.w3.org/TR/IndexedDB-2/#cursor-interface\\n */\\nfunction webkitIDBCursor() {}\\n\\n/**\\n * @type {(!IDBObjectStore|!IDBIndex)}\\n * @const\\n */\\nIDBCursor.prototype.source;\\n\\n/**\\n * @type {!IDBCursorDirection}\\n * @const\\n */\\nIDBCursor.prototype.direction;\\n\\n/**\\n * @type {!IDBKeyType}\\n * @const\\n */\\nIDBCursor.prototype.key;\\n\\n/**\\n * @type {!IDBKeyType}\\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 {!IDBKeyType} key\\n * @param {!IDBKeyType} primaryKey\\n * @return {undefined}\\n * @see https://www.w3.org/TR/IndexedDB-2/#dom-idbcursor-continueprimarykey\\n */\\nIDBCursor.prototype.continuePrimaryKey = function(key, primaryKey) {};\\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/**\\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/**\\n * @constructor\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBTransaction\\n * @see https://www.w3.org/TR/IndexedDB-2/#transaction\\n */\\nfunction IDBTransaction() {}\\n\\n/**\\n * @constructor\\n * @extends {IDBTransaction}\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBTransaction\\n * @see https://www.w3.org/TR/IndexedDB-2/#transaction\\n */\\nfunction webkitIDBTransaction() {}\\n\\n/**\\n * @type {!DOMStringList}\\n * @const\\n */\\nIDBTransaction.prototype.objectStoreNames;\\n\\n/**\\n * @type {!IDBTransactionMode}\\n * @const\\n */\\nIDBTransaction.prototype.mode;\\n\\n/**\\n * @type {!IDBDatabase}\\n * @const\\n */\\nIDBTransaction.prototype.db;\\n\\n/**\\n * @type {!DOMError|!DOMException}\\n */\\nIDBTransaction.prototype.error;\\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(!Event)}\\n */\\nIDBTransaction.prototype.onabort;\\n\\n/**\\n * @type {?function(!Event)}\\n */\\nIDBTransaction.prototype.oncomplete;\\n\\n/**\\n * @type {?function(!Event)}\\n */\\nIDBTransaction.prototype.onerror;\\n\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBKeyRange\\n * @see https://www.w3.org/TR/IndexedDB-2/#keyrange\\n */\\nfunction IDBKeyRange() {}\\n\\n/**\\n * @constructor\\n * @extends {IDBKeyRange}\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBKeyRange\\n * @see https://www.w3.org/TR/IndexedDB-2/#keyrange\\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 {boolean}\\n * @const\\n */\\nIDBKeyRange.prototype.lowerOpen;\\n\\n/**\\n * @type {boolean}\\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} 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 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} 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} key\\n * @return {boolean}\\n * @see https://www.w3.org/TR/IndexedDB-2/#dom-idbkeyrange-includes\\n */\\nIDBKeyRange.prototype.includes = function(key) {};\\n\\n\\n/**\\n * @param {string} type\\n * @param {!IDBVersionChangeEventInit=} opt_eventInit\\n * @constructor\\n * @extends {Event}\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBVersionChangeEvent\\n */\\nfunction IDBVersionChangeEvent(type, opt_eventInit) {}\\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/**\\n * @param {string} type\\n * @param {!IDBVersionChangeEventInit=} opt_eventInit\\n * @constructor\\n * @extends {IDBVersionChangeEvent}\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBVersionChangeEvent\\n */\\nfunction webkitIDBVersionChangeEvent(type, opt_eventInit) {}\\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 * @record\\n * @extends {EventInit}\\n * @see https://www.w3.org/TR/webmidi/#midimessageeventinit-interface\\n */\\nfunction MIDIMessageEventInit() {}\\n\\n/** @type {undefined|number} */\\nMIDIMessageEventInit.prototype.receivedTime;\\n\\n/** @type {undefined|!Uint8Array} */\\nMIDIMessageEventInit.prototype.data;\\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 * @record\\n * @extends {EventInit}\\n * @see https://www.w3.org/TR/webmidi/#idl-def-MIDIConnectionEventInit\\n */\\nfunction MIDIConnectionEventInit() {}\\n\\n/** @type {undefined|!MIDIPort} */\\nMIDIConnectionEventInit.prototype.port;\\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/** @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 * https://www.w3.org/TR/resource-timing-2/#performanceresourcetiming\\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/** @type {number|undefined} */\\nPerformanceResourceTiming.prototype.transferSize;\\n/** @type {number|undefined} */\\nPerformanceResourceTiming.prototype.encodedBodySize;\\n/** @type {number|undefined} */\\nPerformanceResourceTiming.prototype.decodedBodySize;\\n/** @type {number|undefined} */\\nPerformanceResourceTiming.prototype.workerStart;\\n/** @type {string} */ PerformanceResourceTiming.prototype.nextHopProtocol;\\n\\n/**\\n * Possible values are \'navigate\', \'reload\', \'back_forward\', and \'prerender\'.\\n * See https://w3c.github.io/navigation-timing/#sec-performance-navigation-types\\n * @typedef {string}\\n */\\nvar NavigationType;\\n\\n/**\\n * https://w3c.github.io/navigation-timing/#sec-PerformanceNavigationTiming\\n * @constructor\\n * @extends {PerformanceResourceTiming}\\n */\\nfunction PerformanceNavigationTiming() {}\\n/** @type {number} */ PerformanceNavigationTiming.prototype.unloadEventStart;\\n/** @type {number} */ PerformanceNavigationTiming.prototype.unloadEventEnd;\\n/** @type {number} */ PerformanceNavigationTiming.prototype.domInteractive;\\n/** @type {number} */ PerformanceNavigationTiming.prototype\\n    .domContentLoadedEventStart;\\n/** @type {number} */ PerformanceNavigationTiming.prototype\\n    .domContentLoadedEventEnd;\\n/** @type {number} */ PerformanceNavigationTiming.prototype.domComplete;\\n/** @type {number} */ PerformanceNavigationTiming.prototype.loadEventStart;\\n/** @type {number} */ PerformanceNavigationTiming.prototype.loadEventEnd;\\n/** @type {NavigationType} */ PerformanceNavigationTiming.prototype.type;\\n/** @type {number} */ PerformanceNavigationTiming.prototype.redirectCount;\\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} */ PerformanceNa';
a.a+="vigation.prototype.type;\\n/** @type {number} */ PerformanceNavigation.prototype.redirectCount;\\n\\n/**\\n * https://w3c.github.io/longtasks/#taskattributiontiming\\n * @constructor\\n * @extends {PerformanceEntry}\\n */\\nfunction TaskAttributionTiming() {}\\n/** @type {string} */ TaskAttributionTiming.prototype.containerId;\\n/** @type {string} */ TaskAttributionTiming.prototype.containerName;\\n/** @type {string} */ TaskAttributionTiming.prototype.containerSrc;\\n/** @type {string} */ TaskAttributionTiming.prototype.containerType;\\n\\n/**\\n * https://w3c.github.io/longtasks/#performancelongtasktiming\\n * @constructor\\n * @extends {PerformanceEntry}\\n */\\nfunction PerformanceLongTaskTiming() {}\\n/** @type {!Array<!TaskAttributionTiming>} */\\nPerformanceLongTaskTiming.prototype.attribution;\\n\\n\\n/** @constructor */\\nfunction Performance() {}\\n\\n/** @type {PerformanceTiming} */\\nPerformance.prototype.timing;\\n\\n/** @type {PerformanceNavigation} */\\nPerformance.prototype.navigation;\\n\\n/** @type {number} */\\nPerformance.prototype.timeOrigin;\\n\\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 * A callback that is invoked when the resourcetimingbufferfull event is fired.\\n * @type {?function(Event)}\\n */\\nPerformance.prototype.onresourcetimingbufferfull = 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 `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 `PerformanceEntry`s with this name.\\n * @param {string=} opt_entryType Only return `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// Nonstandard. Only available in Blink.\\n// Returns more granular results with the --enable-memory-info flag.\\n/** @type {MemoryInfo} */ 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 = function(\\n    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\\n/**\\n * @constructor\\n * @extends {Performance}\\n */\\nfunction WorkerPerformance() {}\\n\\n/**\\n * @typedef {function(!PerformanceObserverEntryList, !PerformanceObserver): void}\\n */\\nvar PerformanceObserverCallback;\\n\\n/**\\n * See:\\n * https://w3c.github.io/performance-timeline/#the-performanceobserver-interface\\n * @constructor\\n * @param {!PerformanceObserverCallback} callback\\n */\\nfunction PerformanceObserver(callback) {}\\n\\n/**\\n * @param {!PerformanceObserverInit} options\\n */\\nPerformanceObserver.prototype.observe = function(options) {};\\n\\n/** @return {void} */\\nPerformanceObserver.prototype.disconnect = function() {};\\n\\n/**\\n * @record\\n */\\nfunction PerformanceObserverInit() {}\\n\\n/** @type {undefined|!Array<string>} */\\nPerformanceObserverInit.prototype.entryTypes;\\n/** @type {undefined|boolean} */\\nPerformanceObserverInit.prototype.buffered;\\n\\n/**\\n * @constructor\\n */\\nfunction PerformanceObserverEntryList() {}\\n\\n/** @return {!Array<!PerformanceEntry>} */\\nPerformanceObserverEntryList.prototype.getEntries = function() {};\\n/**\\n * @param {string} type\\n * @return {!Array<!PerformanceEntry>}\\n */\\nPerformanceObserverEntryList.prototype.getEntriesByName = function(type) {};\\n/**\\n * @param {string} name\\n * @param {string=} opt_type\\n * @return {!Array<!PerformanceEntry>}\\n */\\nPerformanceObserverEntryList.prototype.getEntriesByType = function(\\n    name, opt_type) {};\\n\",\"externs/w3c_netinfo.js\":\"/*\\n * Copyright 2017 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 Externs for the Network Information API.\\n * @externs\\n */\\n\\n/**\\n * @see http://wicg.github.io/netinfo/#-dfn-networkinformation-dfn-interface\\n * @constructor\\n */\\nfunction NetworkInformation() {}\\n\\n/** @type {ConnectionType} */\\nNetworkInformation.prototype.type;\\n\\n/** @type {EffectiveConnectionType} */\\nNetworkInformation.prototype.effectiveType;\\n\\n/** @type {Megabit} */\\nNetworkInformation.prototype.downlinkMax;\\n\\n/** @type {Megabit} */\\nNetworkInformation.prototype.downlink;\\n\\n/** @type {Millisecond} */\\nNetworkInformation.prototype.rtt;\\n\\n/** @type {?function(Event)} */\\nNetworkInformation.prototype.onchange;\\n\\n/**\\n * @typedef {number}\\n */\\nvar Megabit;\\n\\n/**\\n * @typedef {number}\\n */\\nvar Millisecond;\\n\\n/**\\n * Enum of:\\n * 'bluetooth',\\n * 'cellular',\\n * 'ethernet',\\n * 'mixed',\\n * 'none',\\n * 'other',\\n * 'unknown',\\n * 'wifi',\\n * 'wimax'\\n * @typedef {string}\\n */\\nvar ConnectionType;\\n\\n/**\\n * Enum of:\\n * '2g',\\n * '3g',\\n * '4g',\\n * 'slow-2g'\\n * @typedef {string}\\n */\\nvar EffectiveConnectionType;\\n\\n/** @type {!NetworkInformation} */\\nNavigator.prototype.connection;\\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 * Set of possible values: 'geolocation', 'notifications', 'push', 'midi'.\\n * @typedef {string}\\n * @see https://w3c.github.io/permissions/#idl-def-PermissionName\\n */\\nvar PermissionName;\\n\\n\\n/**\\n * Set of possible values: 'granted', 'denied', 'prompt'.\\n * @typedef {string}\\n * @see https://w3c.github.io/permissions/#idl-def-PermissionState\\n */\\nvar PermissionState;\\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/** @override */\\nPermissionStatus.prototype.addEventListener = function(\\n    type, listener, opt_options) {};\\n\\n/** @override */\\nPermissionStatus.prototype.removeEventListener = function(\\n    type, listener, opt_options) {};\\n\\n/** @override */\\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 * @param {number} pointerId\\n * @see https://www.w3.org/TR/pointerevents/#widl-Element-setPointerCapture-void-long-pointerId\\n */\\nElement.prototype.setPointerCapture = function(pointerId) {};\\n\\n/**\\n * @param {number} pointerId\\n * @see https://www.w3.org/TR/pointerevents/#widl-Element-releasePointerCapture-void-long-pointerId\\n */\\nElement.prototype.releasePointerCapture = function(pointerId) {};\\n\\n\\n/**\\n * @record\\n * @extends {MouseEventInit}\\n * @see https://www.w3.org/TR/pointerevents/#idl-def-PointerEventInit\\n */\\nfunction PointerEventInit() {}\\n\\n/** @type {undefined|number} */\\nPointerEventInit.prototype.pointerId;\\n\\n/** @type {undefined|number} */\\nPointerEventInit.prototype.width;\\n\\n/** @type {undefined|number} */\\nPointerEventInit.prototype.height;\\n\\n/** @type {undefined|number} */\\nPointerEventInit.prototype.pressure;\\n\\n/** @type {undefined|number} */\\nPointerEventInit.prototype.tiltX;\\n\\n/** @type {undefined|number} */\\nPointerEventInit.prototype.tiltY;\\n\\n/** @type {undefined|string} */\\nPointerEventInit.prototype.pointerType;\\n\\n/** @type {undefined|boolean} */\\nPointerEventInit.prototype.isPrimary;\\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\\n/**\\n * @see https://w3c.github.io/pointerevents/extension.html\\n * @return {!Array<!PointerEvent>}\\n */\\nPointerEvent.prototype.getCoalescedEvents = function() {};\\n\\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// constants on the constructor\\n\\n/**\\n * @const {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-compareHow\\n */\\nRange.START_TO_START = 0;\\n\\n/**\\n * @const {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-compareHow\\n */\\nRange.START_TO_END = 1;\\n\\n/**\\n * @const {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-compareHow\\n */\\nRange.END_TO_END = 2;\\n\\n/**\\n * @const {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-compareHow\\n */\\nRange.END_TO_START = 3;\\n\\n// constants repeated on the prototype\\n\\n/**\\n * @const {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 * @const {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 * @const {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-compareHow\\n */\\nRange.prototype.END_TO_END = 2;\\n\\n/**\\n * @const {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 * @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";
a.a+='.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 * @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 https://www.w3.org/TR/webrtc/\\n * @see https://tools.ietf.org/html/draft-ietf-rtcweb-jsep-19\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/WebRTC_API\\n * @see https://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 {https://www.w3.org/TR/mediacapture-streams/\\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 * @see https://w3c.github.io/mediacapture-image/#mediasettingsrange-section\\n */\\nfunction MediaSettingsRange() {}\\n\\n/**\\n * @type {number}\\n * @const\\n */\\nMediaSettingsRange.prototype.max;\\n\\n/**\\n * @type {number}\\n * @const\\n */\\nMediaSettingsRange.prototype.min;\\n\\n/**\\n * @type {number}\\n * @const\\n */\\nMediaSettingsRange.prototype.step;\\n\\n/**\\n * @interface\\n * @see https://www.w3.org/TR/mediacapture-streams/#idl-def-MediaTrackCapabilities\\n * @see https://w3c.github.io/mediacapture-image/#mediatrackcapabilities-section\\n */\\nfunction MediaTrackCapabilities() {}\\n\\n/** @type {number} */\\nMediaTrackCapabilities.prototype.width;\\n\\n/** @type {number} */\\nMediaTrackCapabilities.prototype.height;\\n\\n/** @type {number} */\\nMediaTrackCapabilities.prototype.aspectRatio;\\n\\n/** @type {number} */\\nMediaTrackCapabilities.prototype.frameRate;\\n\\n/** @type {!Array<string>} */\\nMediaTrackCapabilities.prototype.facingMode;\\n\\n/** @type {number} */\\nMediaTrackCapabilities.prototype.volume;\\n\\n/** @type {number} */\\nMediaTrackCapabilities.prototype.sampleRate;\\n\\n/** @type {number} */\\nMediaTrackCapabilities.prototype.sampleSize;\\n\\n/** @type {!Array<boolean>} */\\nMediaTrackCapabilities.prototype.echoCancellation;\\n\\n/** @type {number} */\\nMediaTrackCapabilities.prototype.latency;\\n\\n/** @type {number} */\\nMediaTrackCapabilities.prototype.channelCount;\\n\\n/** @type {string} */\\nMediaTrackCapabilities.prototype.deviceId;\\n\\n/** @type {string} */\\nMediaTrackCapabilities.prototype.groupId;\\n\\n/** @type {!Array<string>} */\\nMediaTrackCapabilities.prototype.whiteBalanceMode;\\n\\n/** @type {!Array<string>} */\\nMediaTrackCapabilities.prototype.exposureMode;\\n\\n/** @type {!Array<string>} */\\nMediaTrackCapabilities.prototype.focusMode;\\n\\n/** @type {!MediaSettingsRange} */\\nMediaTrackCapabilities.prototype.exposureCompensation;\\n\\n/** @type {!MediaSettingsRange} */\\nMediaTrackCapabilities.prototype.colorTemperature\\n\\n/** @type {!MediaSettingsRange} */\\nMediaTrackCapabilities.prototype.iso\\n\\n/** @type {!MediaSettingsRange} */\\nMediaTrackCapabilities.prototype.brightness\\n\\n/** @type {!MediaSettingsRange} */\\nMediaTrackCapabilities.prototype.contrast\\n\\n/** @type {!MediaSettingsRange} */\\nMediaTrackCapabilities.prototype.saturation\\n\\n/** @type {!MediaSettingsRange} */\\nMediaTrackCapabilities.prototype.sharpness\\n\\n/** @type {!MediaSettingsRange} */\\nMediaTrackCapabilities.prototype.zoom\\n\\n/** @type {boolean} */\\nMediaTrackCapabilities.prototype.torch\\n\\n/**\\n * @interface\\n * @see https://www.w3.org/TR/mediacapture-streams/#media-track-settings\\n * @see https://w3c.github.io/mediacapture-image/#mediatracksettings-section\\n */\\nfunction MediaTrackSettings() {}\\n\\n/** @type {number} */\\nMediaTrackSettings.prototype.width;\\n\\n/** @type {number} */\\nMediaTrackSettings.prototype.height;\\n\\n/** @type {number} */\\nMediaTrackSettings.prototype.aspectRatio;\\n\\n/** @type {number} */\\nMediaTrackSettings.prototype.frameRate;\\n\\n/** @type {string} */\\nMediaTrackSettings.prototype.facingMode;\\n\\n/** @type {number} */\\nMediaTrackSettings.prototype.volume;\\n\\n/** @type {number} */\\nMediaTrackSettings.prototype.sampleRate;\\n\\n/** @type {number} */\\nMediaTrackSettings.prototype.sampleSize;\\n\\n/** @type {boolean} */\\nMediaTrackSettings.prototype.echoCancellation;\\n\\n/** @type {number} */\\nMediaTrackSettings.prototype.latency;\\n\\n/** @type {number} */\\nMediaTrackSettings.prototype.channelCount;\\n\\n/** @type {string} */\\nMediaTrackSettings.prototype.deviceId;\\n\\n/** @type {string} */\\nMediaTrackSettings.prototype.groupId;\\n\\n/** @type {string} */\\nMediaTrackSettings.prototype.whiteBalanceMode;\\n\\n/** @type {string} */\\nMediaTrackSettings.prototype.exposureMode;\\n\\n/** @type {string} */\\nMediaTrackSettings.prototype.focusMode;\\n\\n/** @type {!Array<{x: number, y: number}>} */\\nMediaTrackSettings.prototype.pointsOfInterest;\\n\\n/** @type {number} */\\nMediaTrackSettings.prototype.exposureCompensation;\\n\\n/** @type {number} */\\nMediaTrackSettings.prototype.colorTemperature\\n\\n/** @type {number} */\\nMediaTrackSettings.prototype.iso\\n\\n/** @type {number} */\\nMediaTrackSettings.prototype.brightness\\n\\n/** @type {number} */\\nMediaTrackSettings.prototype.contrast\\n\\n/** @type {number} */\\nMediaTrackSettings.prototype.saturation\\n\\n/** @type {number} */\\nMediaTrackSettings.prototype.sharpness\\n\\n/** @type {number} */\\nMediaTrackSettings.prototype.zoom\\n\\n/** @type {boolean} */\\nMediaTrackSettings.prototype.torch\\n\\n\\n/**\\n * @interface\\n * @see https://w3c.github.io/mediacapture-main/#media-track-supported-constraints\\n */\\nfunction MediaTrackSupportedConstraints() {}\\n\\n/** @type {boolean|undefined} */\\nMediaTrackSupportedConstraints.prototype.width;\\n\\n/** @type {boolean|undefined} */\\nMediaTrackSupportedConstraints.prototype.height;\\n\\n/** @type {boolean|undefined} */\\nMediaTrackSupportedConstraints.prototype.aspectRatio;\\n\\n/** @type {boolean|undefined} */\\nMediaTrackSupportedConstraints.prototype.frameRate;\\n\\n/** @type {boolean|undefined} */\\nMediaTrackSupportedConstraints.prototype.facingMode;\\n\\n/** @type {boolean|undefined} */\\nMediaTrackSupportedConstraints.prototype.volume;\\n\\n/** @type {boolean|undefined} */\\nMediaTrackSupportedConstraints.prototype.sampleRate;\\n\\n/** @type {boolean|undefined} */\\nMediaTrackSupportedConstraints.prototype.sampleSize;\\n\\n/** @type {boolean|undefined} */\\nMediaTrackSupportedConstraints.prototype.echoCancellation;\\n\\n/** @type {boolean|undefined} */\\nMediaTrackSupportedConstraints.prototype.autoGainControl;\\n\\n/** @type {boolean|undefined} */\\nMediaTrackSupportedConstraints.prototype.noiseSuppression;\\n\\n/** @type {boolean|undefined} */\\nMediaTrackSupportedConstraints.prototype.latency;\\n\\n/** @type {boolean|undefined} */\\nMediaTrackSupportedConstraints.prototype.channelCount;\\n\\n/** @type {boolean|undefined} */\\nMediaTrackSupportedConstraints.prototype.deviceId;\\n\\n/** @type {boolean|undefined} */\\nMediaTrackSupportedConstraints.prototype.groupId;\\n\\n\\n/**\\n * @interface\\n * @extends {EventTarget}\\n * @see https://www.w3.org/TR/mediacapture-streams/#mediastreamtrack\\n */\\nfunction MediaStreamTrack() {}\\n\\n/**\\n * @param {!function(!Array<!SourceInfo>)} callback\\n * @return {undefined}\\n * @deprecated Use MediaDevices.enumerateDevices().\\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 {string}\\n * @see https://crbug.com/653531\\n * @see https://wicg.github.io/mst-content-hint/\\n */\\nMediaStreamTrack.prototype.contentHint;\\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 * @type {?function(!Event)}\\n */\\nMediaStreamTrack.prototype.onoverconstrained;\\n\\n/**\\n * Applies the specified set of constraints to the track, if any specified; or\\n * if no constraints are specified, removes all constraints from the track.\\n *\\n * @param {MediaTrackConstraints=} constraints Constraints to apply to the\\n *   track.\\n * @return {!Promise<void>} A |Promise| that is resolved when the constraints\\n *   have been applied, or rejected if there was an error applying the\\n *   constraints.\\n */\\nMediaStreamTrack.prototype.applyConstraints = function(constraints) {};\\n\\n/**\\n * @return {!MediaStreamTrack}\\n */\\nMediaStreamTrack.prototype.clone = function() {};\\n\\n/** @return {void} */\\nMediaStreamTrack.prototype.stop = function() {};\\n\\n/** @return {!MediaTrackCapabilities} */\\nMediaStreamTrack.prototype.getCapabilities = function() {};\\n\\n/** @return {!MediaTrackConstraints} */\\nMediaStreamTrack.prototype.getConstraints = function() {};\\n\\n/** @return {!MediaTrackSettings} */\\nMediaStreamTrack.prototype.getSettings = function() {};\\n\\n/**\\n * @typedef {{track: MediaStreamTrack}}\\n */\\nvar MediaStreamTrackEventInit;\\n\\n\\n/**\\n * @param {string} type\\n * @param {!MediaStreamTrackEventInit} eventInitDict\\n * @constructor\\n * @extends {Event}\\n * @see https://www.w3.org/TR/mediacapture-streams/#mediastreamtrackevent\\n */\\nfunction MediaStreamTrackEvent(type, eventInitDict) {}\\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 https://www.w3.org/TR/mediacapture-streams/#mediastream\\n */\\nfunction MediaStream(streamOrTracks) {}\\n\\n/**\\n * @override\\n */\\nMediaStream.prototype.addEventListener = function(type, listener,\\n    opt_useCapture) {};\\n\\n/**\\n * @override\\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 */\\';
a.a+='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 * @typedef {{tone: string}}\\n * @see https://www.w3.org/TR/webrtc/#dom-rtcdtmftonechangeeventinit\\n */\\nvar RTCDTMFToneChangeEventInit;\\n\\n\\n/**\\n * @param {string} type\\n * @param {!RTCDTMFToneChangeEventInit} eventInitDict\\n * @constructor\\n * @extends {Event}\\n * @see https://www.w3.org/TR/webrtc/#dom-rtcdtmftonechangeevent\\n */\\nfunction RTCDTMFToneChangeEvent(type, eventInitDict) {}\\n\\n/**\\n * @const {string}\\n */\\nRTCDTMFToneChangeEvent.prototype.tone;\\n\\n\\n/**\\n * @interface\\n * @see https://www.w3.org/TR/webrtc/#rtcdtmfsender\\n */\\nfunction RTCDTMFSender() {}\\n\\n/**\\n * @param {string} tones\\n * @param {number=} opt_duration\\n * @param {number=} opt_interToneGap\\n */\\nRTCDTMFSender.prototype.insertDTMF =\\n    function(tones, opt_duration, opt_interToneGap) {};\\n\\n/**\\n * @type {?function(!RTCDTMFToneChangeEvent)}\\n */\\nRTCDTMFSender.prototype.ontonechange;\\n\\n/**\\n * @const {string}\\n */\\nRTCDTMFSender.prototype.toneBuffer;\\n\\n\\n/**\\n * @interface\\n * @see https://www.w3.org/TR/webrtc/#rtcrtpsender-interface\\n */\\nfunction RTCRtpSender() {}\\n\\n/**\\n * @const {!RTCDTMFSender}\\n */\\nRTCRtpSender.prototype.dtmf;\\n\\n/**\\n * @const {!MediaStreamTrack}\\n */\\nRTCRtpSender.prototype.track;\\n\\n/**\\n * @param {!MediaStreamTrack} track\\n */\\nRTCRtpSender.prototype.replaceTrack = function(track) {};\\n\\n\\n/**\\n * @return {!Object}\\n */\\nRTCRtpSender.prototype.getParameters = function() {};\\n\\n\\n/**\\n * @param {!Object} params\\n * @return {!Promise<undefined>}\\n */\\nRTCRtpSender.prototype.setParameters = function(params) {};\\n\\n\\n/**\\n * @interface\\n * @see https://www.w3.org/TR/webrtc/#dom-rtcrtpcontributingsource\\n */\\nfunction RTCRtpContributingSource() {}\\n\\n/**\\n * @type {?number}\\n */\\nRTCRtpContributingSource.prototype.source;\\n\\n/**\\n * @type {?Date}\\n */\\nRTCRtpContributingSource.prototype.timestamp;\\n\\n\\n/**\\n * @interface\\n * @see https://www.w3.org/TR/webrtc/#rtcrtpreceiver-interface\\n */\\nfunction RTCRtpReceiver() {}\\n\\n/**\\n * @const {!MediaStreamTrack}\\n */\\nRTCRtpReceiver.prototype.track;\\n\\n/**\\n * @return {!Array<!RTCRtpContributingSource>}\\n */\\nRTCRtpReceiver.prototype.getContributingSources = function() {};\\n\\n/**\\n * @return {!Array<!RTCRtpContributingSource>}\\n */\\nRTCRtpReceiver.prototype.getSynchronizationSources = function() {};\\n\\n/**\\n * @see https://www.w3.org/TR/webrtc/#dom-rtcrtptransceiverinit\\n * @record\\n */\\nfunction RTCRtpTransceiverInit() {}\\n\\n/**\\n * The direction of the `RTCRtpTransceiver`. Defaults to \\"sendrecv\\".\\n * @type {?RTCRtpTransceiverDirection|undefined}\\n */\\nRTCRtpTransceiverInit.prototype.direction;\\n\\n/**\\n * The streams to add to the tranceiver\'s sender.\\n * @type {?Array<!MediaStream>|undefined}\\n */\\nRTCRtpTransceiverInit.prototype.streams;\\n\\n/**\\n * @type {?Array<!RTCRtpEncodingParameters>|undefined}\\n */\\nRTCRtpTransceiverInit.prototype.sendEncodings;\\n\\n/**\\n * @see https://www.w3.org/TR/webrtc/#dom-rtcrtpencodingparameters\\n * @record\\n */\\nfunction RTCRtpEncodingParameters() {}\\n\\n/**\\n * @type {?number|undefined}\\n */\\nRTCRtpEncodingParameters.prototype.codecPayloadType;\\n\\n/**\\n * Possible values are \\"disabled\\" and \\"enabled\\".\\n * @type {?string|undefined}\\n */\\nRTCRtpEncodingParameters.prototype.dtx;\\n\\n/**\\n * @type {?boolean|undefined}\\n */\\nRTCRtpEncodingParameters.prototype.active;\\n\\n/**\\n * Possible values are \\"very-low\\", \\"low\\" (default), \\"medium\\", and \\"high\\".\\n * @type {?string|undefined}\\n */\\nRTCRtpEncodingParameters.prototype.priority;\\n\\n/**\\n * @type {?number|undefined}\\n */\\nRTCRtpEncodingParameters.prototype.ptime;\\n\\n/**\\n * @type {?number|undefined}\\n */\\nRTCRtpEncodingParameters.prototype.maxBitrate;\\n\\n/**\\n * @type {?number|undefined}\\n */\\nRTCRtpEncodingParameters.prototype.maxFramerate;\\n\\n/**\\n * @type {?string|number}\\n */\\nRTCRtpEncodingParameters.prototype.rid;\\n\\n/**\\n * @type {?number|number}\\n */\\nRTCRtpEncodingParameters.prototype.scaleResolutionDownBy;\\n\\n/**\\n * @interface\\n * @see https://www.w3.org/TR/webrtc/#rtcrtptransceiver-interface\\n */\\nfunction RTCRtpTransceiver() {}\\n\\n/**\\n * @const {?string}\\n */\\nRTCRtpTransceiver.prototype.mid;\\n\\n/**\\n * @const {boolean}\\n */\\nRTCRtpTransceiver.prototype.stopped;\\n\\n/**\\n * @const {!RTCRtpTransceiverDirection}\\n */\\nRTCRtpTransceiver.prototype.direction;\\n\\n/**\\n * @const {?RTCRtpTransceiverDirection}\\n */\\nRTCRtpTransceiver.prototype.currentDirection;\\n\\n/**\\n * @param {!RTCRtpTransceiverDirection} direction\\n */\\nRTCRtpTransceiver.prototype.setDirection = function(direction) {};\\n\\n/**\\n */\\nRTCRtpTransceiver.prototype.stop = function() {};\\n\\n/**\\n * @const {?RTCRtpSender}\\n */\\nRTCRtpTransceiver.prototype.sender;\\n\\n/**\\n * @const {?RTCRtpReceiver}\\n */\\nRTCRtpTransceiver.prototype.receiver;\\n\\n/**\\n * @see https://w3c.github.io/mediacapture-main/getusermedia.html#dom-longrange\\n * @record\\n */\\nfunction LongRange() {}\\n\\n/**\\n * @type {number|undefined}\\n */\\nLongRange.prototype.max;\\n\\n/**\\n * @type {number|undefined}\\n */\\nLongRange.prototype.min;\\n\\n/**\\n * @see https://w3c.github.io/mediacapture-main/getusermedia.html#dom-doublerange\\n * @record\\n */\\nfunction DoubleRange() {}\\n\\n/**\\n * @type {number|undefined}\\n */\\nDoubleRange.prototype.max;\\n\\n/**\\n * @type {number|undefined}\\n */\\nDoubleRange.prototype.min;\\n\\n\\n/**\\n * @see https://w3c.github.io/mediacapture-main/getusermedia.html#dom-constrainbooleanparameters\\n * @record\\n */\\nfunction ConstrainBooleanParameters() {}\\n\\n/**\\n * @type {boolean|undefined}\\n */\\nConstrainBooleanParameters.prototype.exact;\\n\\n/**\\n * @type {boolean|undefined}\\n */\\nConstrainBooleanParameters.prototype.ideal;\\n\\n/**\\n * @see https://w3c.github.io/mediacapture-main/getusermedia.html#dom-constraindomstringparameters\\n * @record\\n */\\nfunction ConstrainDOMStringParameters() {}\\n\\n/**\\n * @type {string|Array<string>|undefined}\\n */\\nConstrainDOMStringParameters.prototype.exact;\\n\\n/**\\n * @type {string|Array<string>|undefined}\\n */\\nConstrainDOMStringParameters.prototype.ideal;\\n\\n/**\\n * @see https://w3c.github.io/mediacapture-main/getusermedia.html#dom-constraindoublerange\\n * @record\\n * @extends {DoubleRange}\\n */\\nfunction ConstrainDoubleRange() {}\\n\\n/**\\n * @type {number|undefined}\\n */\\nConstrainDoubleRange.prototype.exact;\\n\\n/**\\n * @type {number|undefined}\\n */\\nConstrainDoubleRange.prototype.ideal;\\n\\n\\n/**\\n * @see https://w3c.github.io/mediacapture-main/getusermedia.html#dom-constrainlongrange\\n * @record\\n * @extends {LongRange}\\n */\\nfunction ConstrainLongRange() {}\\n\\n/**\\n * @type {number|undefined}\\n */\\nConstrainLongRange.prototype.exact;\\n\\n/**\\n * @type {number|undefined}\\n */\\nConstrainLongRange.prototype.ideal;\\n\\n/**\\n * @see https://w3c.github.io/mediacapture-main/getusermedia.html#dom-constrainboolean\\n * @typedef {boolean|ConstrainBooleanParameters}\\n */\\nvar ConstrainBoolean;\\n\\n/**\\n * @see https://w3c.github.io/mediacapture-main/getusermedia.html#dom-constraindomString\\n * @typedef {string|Array<string>|ConstrainDOMStringParameters}\\n */\\nvar ConstrainDOMString;\\n\\n/**\\n * @see https://w3c.github.io/mediacapture-main/getusermedia.html#dom-constraindouble\\n * @typedef {number|ConstrainDoubleRange}\\n */\\nvar ConstrainDouble;\\n\\n/**\\n * @see https://w3c.github.io/mediacapture-main/getusermedia.html#dom-constrainlong\\n * @typedef {number|ConstrainLongRange}\\n */\\nvar ConstrainLong;\\n\\n\\n/**\\n * @see https://w3c.github.io/mediacapture-main/getusermedia.html#dom-mediatrackconstraintset\\n * @record\\n * @private\\n */\\nfunction MediaTrackConstraintSet() {}\\n\\n/**\\n * @type {ConstrainBoolean|undefined}\\n */\\nMediaTrackConstraintSet.prototype.autoGainControl;\\n\\n/**\\n * @type {ConstrainDouble|undefined}\\n */\\nMediaTrackConstraintSet.prototype.aspectRatio;\\n\\n/**\\n * @type {ConstrainLong|undefined}\\n */\\nMediaTrackConstraintSet.prototype.channelCount;\\n\\n/**\\n * @type {ConstrainDOMString|undefined}\\n */\\nMediaTrackConstraintSet.prototype.deviceId;\\n\\n/**\\n * @type {ConstrainBoolean|undefined}\\n */\\nMediaTrackConstraintSet.prototype.echoCancellation;\\n\\n/**\\n * @type {ConstrainDOMString|undefined}\\n */\\nMediaTrackConstraintSet.prototype.facingMode;\\n\\n/**\\n * @type {ConstrainDouble|undefined}\\n */\\nMediaTrackConstraintSet.prototype.frameRate;\\n\\n/**\\n * @type {ConstrainDOMString|undefined}\\n */\\nMediaTrackConstraintSet.prototype.groupId;\\n\\n/**\\n * @type {ConstrainLong|undefined}\\n */\\nMediaTrackConstraintSet.prototype.height;\\n\\n/**\\n * @type {ConstrainDouble|undefined}\\n */\\nMediaTrackConstraintSet.prototype.latency;\\n\\n/**\\n * @type {ConstrainBoolean|undefined}\\n */\\nMediaTrackConstraintSet.prototype.noiseSuppression;\\n\\n/**\\n * @type {ConstrainLong|undefined}\\n */\\nMediaTrackConstraintSet.prototype.sampleRate;\\n\\n/**\\n * @type {ConstrainLong|undefined}\\n */\\nMediaTrackConstraintSet.prototype.sampleSize;\\n\\n/**\\n * @type {ConstrainDouble|undefined}\\n */\\nMediaTrackConstraintSet.prototype.volume;\\n\\n/**\\n * @type {ConstrainLong|undefined}\\n */\\nMediaTrackConstraintSet.prototype.width;\\n\\n\\n/**\\n * @record\\n * @extends {MediaTrackConstraintSet}\\n */\\nfunction MediaTrackConstraints() {}\\n\\n/**\\n * @type {Array<!MediaTrackConstraintSet>|undefined}\\n */\\nMediaTrackConstraints.prototype.advanced;\\n\\n/**\\n * @see https://w3c.github.io/mediacapture-main/getusermedia.html#media-track-constraints\\n * @record\\n */\\nfunction MediaStreamConstraints() {}\\n\\n/**\\n * @type {boolean|MediaTrackConstraints|undefined}\\n */\\nMediaStreamConstraints.prototype.audio;\\n\\n/**\\n * @type {boolean|MediaTrackConstraints|undefined}\\n */\\nMediaStreamConstraints.prototype.video;\\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 https://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 * @record\\n * @see https://www.w3.org/TR/mediastream-recording/#dictdef-mediarecorderoptions\\n */\\nfunction MediaRecorderOptions() {}\\n\\n/** @type {(string|undefined)} */\\nMediaRecorderOptions.prototype.mimeType\\n\\n/** @type {(number|undefined)} */\\nMediaRecorderOptions.prototype.audioBitsPerSecond\\n\\n/** @type {(number|undefined)} */\\nMediaRecorderOptions.prototype.videoBitsPerSecond\\n\\n/** @type {(number|undefined)} */\\nMediaRecorderOptions.prototype.bitsPerSecond\\n\\n/**\\n * @see https://www.w3.org/TR/mediastream-recording/#mediarecorder-api\\n * @param {!MediaStream} stream\\n * @param {MediaRecorderOptions=} options\\n * @implements {EventTarget}\\n * @constructor\\n */\\nfunction MediaRecorder(stream, options) {}\\n\\n/**\\n * @override\\n */\\nMediaRecorder.prototype.addEventListener = function(type, listener,\\n    opt_useCapture) {};\\n\\n/**\\n * @override\\n */\\nMediaRecorder.prototype.removeEventListener = function(type, listener,\\n    opt_useCapture) {};\\n\\n/**\\n * @override\\n * @return {boolean}\\n */\\nMediaRecorder.prototype.dispatchEvent = function(evt) {};\\n\\n/**\\n * @type {!MediaStream}\\n */\\nMediaRecorder.prototype.stream;\\n\\n/**\\n * @type {string}\\n */\\nMediaRecorder.prototype.mimeType;\\n\\n/**\\n * @type {string}\\n */\\nMediaRecorder.prototype.state;\\n\\n/**\\n * @type {(function(!Event)|undefined)}\\n */\\nMediaRecorder.prototype.onstart;\\n\\n/**\\n * @type {(function(!Event)|undefined)}\\n */\\nMediaRecorder.prototype.onstop;\\n\\n/**\\n * @type {(function(!Event)|undefined)}\\n */\\nMediaRecorder.prototype.ondataavailable;\\n\\n/**\\n * @type {(function(!Event)|undefined)}\\n */\\nMediaRecorder.prototype.onpause;\\n\\n/**\\n * @type {(function(!Event)|undefined)}\\n */\\nMediaRecorder.prototype.onresume;\\n\\n/**\\n * @type {(function(!Event)|undefined)}\\n */\\nMediaRecorder.prototype.onerror;\\n\\n/**\\n * @type {number}\\n */\\nMediaRecorder.prototype.videoBitsPerSecond;\\n\\n/**\\n * @type {number}\\n */\\nMediaRecorder.prototype.audioBitsPerSecond;\\n\\n/**\\n * @param {number=} timeslice\\n */\\nMediaRecorder.prototype.start = function(timeslice) {};\\n\\n/** @return {void} */\\nMediaRecorder.prototype.stop = function() {};\\n\\n/** @return {void} */\\nMediaRecorder.prototype.pause = function() {};\\n\\n/** @return {void} */\\nMediaRecorder.prototype.resume = function() {};\\n\\n/** @return {void} */\\nMediaRecorder.prototype.requestData = function() {};\\n\\n/**\\n * @param {string} type\\n * @return {boolean}\\n */\\nMediaRecorder.isTypeSupported = function(type) {};\\n\\n/**\\n * @interface\\n * @see https://w3c.github.io/mediacapture-image/##photosettings-section\\n */\\nfunction PhotoSettings() {}\\n\\n/**\\n * @type {string}\\n */\\nPhotoSettings.prototype.fillLightMode;\\n\\n/**\\n * @type {number}\\n */\\nPhotoSettings.prototype.imageHeight;\\n\\n/**\\n * @type {number}\\n */\\nPhotoSettings.prototype.imageWidth;\\n\\n/**\\n * @type {boolean}\\n */\\nPhotoSettings.prototype.redEyeReduction;\\n\\n/**\\n * @interface\\n * @see https://w3c.github.io/mediacapture-image/##photocapabilities-section\\n */\\nfunction PhotoCapabilities() {}\\n\\n/**\\n * @type {string}\\n * @const\\n */\\nPhotoCapabilities.prototype.redEyeReduction;\\n\\n/**\\n * @type {!MediaSettingsRange}\\n * @const\\n */\\nPhotoCapabilities.prototype.imageHeight;\\n\\n/**\\n * @type {!MediaSettingsRange}\\n * @const\\n */\\nPhotoCapabilities.prototype.imageWidth;\\n\\n/**\\n * @type {!Array<!string>}\\n * @const\\n */\\nPhotoCapabilities.prototype.fillLightMode;\\n\\n/**\\n * @see https://w3c.github.io/mediacapture-image/\\n * @param {';
a.a+="!MediaStreamTrack} videoTrack\\n * @constructor\\n */\\nfunction ImageCapture(videoTrack) {}\\n\\n/**\\n * @param {!PhotoSettings=} photoSettings\\n * @return {!Promise<!Blob>}\\n */\\nImageCapture.prototype.takePhoto = function(photoSettings) {};\\n\\n/**\\n * @return {!Promise<!PhotoCapabilities>}\\n */\\nImageCapture.prototype.getPhotoCapabilities = function() {};\\n\\n/**\\n * @return {!Promise<!ImageBitmap>}\\n */\\nImageCapture.prototype.grabFrame = function() {};\\n\\n/**\\n * @type {!MediaStreamTrack}\\n * @const\\n */\\nImageCapture.prototype.track;\\n\\n/**\\n * @see https://www.w3.org/TR/webrtc/#rtctrackevent\\n * @param {string} type\\n * @param {!Object} eventInitDict\\n * @constructor\\n */\\nfunction RTCTrackEvent(type, eventInitDict) {}\\n\\n/**\\n * @type {?RTCRtpReceiver}\\n * @const\\n */\\nRTCTrackEvent.prototype.receiver;\\n\\n/**\\n * @type {?MediaStreamTrack}\\n * @const\\n */\\nRTCTrackEvent.prototype.track;\\n\\n/**\\n * @type {?Array<!MediaStream>}\\n * @const\\n */\\nRTCTrackEvent.prototype.streams;\\n\\n/**\\n * @type {?RTCRtpTransceiver}\\n * @const\\n */\\nRTCTrackEvent.prototype.transceiver;\\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 * Possible values are \\\"sendrecv\\\", \\\"sendonly\\\", \\\"recvonly\\\", and \\\"inactive\\\".\\n * @typedef {string}\\n * @see https://www.w3.org/TR/webrtc/#dom-rtcrtptransceiverdirection\\n */\\nvar RTCRtpTransceiverDirection;\\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/**\\n * @see https://w3c.github.io/mediacapture-main/#dom-mediadevices-getsupportedconstraints\\n * @return {!MediaTrackSupportedConstraints}\\n */\\nMediaDevices.prototype.getSupportedConstraints = function()  {}\\n\\n/** @const {!MediaDevices} */\\nNavigator.prototype.mediaDevices;\\n\\n/**\\n * @typedef {string}\\n * @see https://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 https://www.w3.org/TR/webrtc/#rtcsessiondescription-class\\n */\\nfunction RTCSessionDescription(descriptionInitDict) {}\\n\\n/**\\n * @type {?RTCSdpType}\\n * @see https://www.w3.org/TR/webrtc/#dom-rtcsessiondescription-type\\n */\\nRTCSessionDescription.prototype.type;\\n\\n/**\\n * @type {?string}\\n * @see https://www.w3.org/TR/webrtc/#dom-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/** @record */\\nfunction RTCIceCandidateInit() {};\\n\\n/** @type {?string|undefined} */\\nRTCIceCandidateInit.prototype.candidate;\\n\\n/** @type {(?string|undefined)} */\\nRTCIceCandidateInit.prototype.sdpMid;\\n\\n/** @type {(?number|undefined)} */\\nRTCIceCandidateInit.prototype.sdpMLineIndex;\\n\\n/** @type {(string|undefined)} */\\nRTCIceCandidateInit.prototype.usernameFragment;\\n\\n/**\\n * @param {!RTCIceCandidateInit=} candidateInitDict  The RTCIceCandidateInit dictionary.\\n * @constructor\\n * @see https://www.w3.org/TR/webrtc/#rtcicecandidate-interface\\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 {{urls: string}|{urls: !Array<!string>}}\\n * @private\\n * @see https://www.w3.org/TR/webrtc/#rtciceserver-dictionary\\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|!Array<!string>}\\n */\\nRTCIceServerInterface_.prototype.urls;\\n\\n/**\\n * @type {?string}\\n */\\nRTCIceServerInterface_.prototype.username;\\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// Note: Below are Map like methods supported by WebRTC statistics\\n// specification-compliant RTCStatsReport. Currently only implemented by\\n// Mozilla.\\n// See https://www.w3.org/TR/webrtc/#rtcstatsreport-object for definition.\\n/**\\n * @param {function(this:SCOPE, Object, string, MAP)} callback\\n * @param {SCOPE=} opt_thisObj The value of \\\"this\\\" inside callback function.\\n * @this {MAP}\\n * @template MAP,SCOPE\\n * @readonly\\n */\\nRTCStatsReport.prototype.forEach = function(callback, opt_thisObj) {};\\n\\n/**\\n * @param {string} key\\n * @return {Object}\\n * @readonly\\n */\\nRTCStatsReport.prototype.get = function(key) {};\\n\\n/**\\n * @return {!IteratorIterable<string>}\\n * @readonly\\n */\\nRTCStatsReport.prototype.keys = function() {};\\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 * @extends {EventTarget}\\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 {Object}\\n * @property {boolean=} [ordered=true]\\n * @property {number=} maxPacketLifeTime\\n * @property {number=} maxRetransmits\\n * @property {string=} [protocol=\\\"\\\"]\\n * @property {boolean=} [negotiated=false]\\n * @property {number=} id\\n * @property {string=} [priority='low']\\n * see https://www.w3.org/TR/webrtc/#dom-rtcdatachannelinit for documentation\\n * Type inconsistencies due to Closure limitations:\\n * maxPacketLifeTime should be UnsignedShort\\n * maxRetransmits should be UnsignedShort\\n * protocol should be USVString\\n * id should be UnsignedShort\\n * In WebIDL priority is an enum with values 'very-low', 'low',\\n * 'medium' and 'high', but there is no mechanism in Closure for describing\\n * a specialization of the string type.\\n */\\nvar RTCDataChannelInitDictionary_;\\n\\n/**\\n * @typedef {RTCDataChannelInitInterface_|RTCDataChannelInitRecord_|RTCDataChannelInitDictionary_}\\n */\\nvar RTCDataChannelInit;\\n\\n/**\\n * @typedef {{expires: number}}\\n */\\nvar RTCCertificate;\\n\\n/**\\n * @param {RTCConfiguration} configuration\\n * @param {!MediaConstraints=} constraints\\n * @constructor\\n * @implements {EventTarget}\\n */\\nfunction RTCPeerConnection(configuration, constraints) {}\\n\\n/**\\n * @param {Object} keygenAlgorithm\\n * @return {Promise<RTCCertificate>}\\n */\\nRTCPeerConnection.generateCertificate = function (keygenAlgorithm) {};\\n\\n/**\\n * @override\\n */\\nRTCPeerConnection.prototype.addEventListener = function(\\n    type, listener, opt_useCapture) {};\\n\\n/**\\n * @override\\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=} errorCallback\\n * @param {!MediaConstraints=} constraints\\n * @return {!Promise<!RTCSessionDescription>|undefined}\\n */\\nRTCPeerConnection.prototype.createOffer = function(successCallbackOrConstraints,\\n    errorCallback, constraints) {};\\n\\n/**\\n * @param {(!RTCSessionDescriptionCallback|!MediaConstraints)=}\\n *    successCallbackOrConstraints\\n * @param {!RTCPeerConnectionErrorCallback=} errorCallback\\n * @param {!MediaConstraints=} constraints\\n * @return {!Promise<!RTCSessionDescription>|undefined}\\n */\\nRTCPeerConnection.prototype.createAnswer =\\n    function(successCallbackOrConstraints, errorCallback, constraints) {};\\n\\n/**\\n * @param {!RTCSessionDescription} description\\n * @param {!RTCVoidCallback=} successCallback\\n * @param {!RTCPeerConnectionErrorCallback=} errorCallback\\n * @return {!Promise<!RTCSessionDescription>}\\n */\\nRTCPeerConnection.prototype.setLocalDescription = function(description,\\n    successCallback, errorCallback) {};\\n\\n/**\\n * @param {!RTCSessionDescription} description\\n * @param {!RTCVoidCallback=} successCallback\\n * @param {!RTCPeerConnectionErrorCallback=} errorCallback\\n * @return {!Promise<!RTCSessionDescription>}\\n */\\nRTCPeerConnection.prototype.setRemoteDescription = function(description,\\n    successCallback, errorCallback) {};\\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)=} errorCallback\\n * @return {!Promise|undefined}\\n */\\nRTCPeerConnection.prototype.addIceCandidate = function(candidate, successCallback, errorCallback) {};\\n\\n/**\\n * @type {!RTCIceGatheringState}\\n * Read only.\\n */\\nRTCPeerConnection.prototype.iceGatheringState;\\n\\n/**\\n * @type ";
a.a+='{!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 * @return {!Array<!RTCRtpReceiver>}\\n */\\nRTCPeerConnection.prototype.getReceivers = 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 * @param {!MediaStreamTrack|string} trackOrKind\\n * @param {?RTCRtpTransceiverInit=} init\\n * @return {!RTCRtpTransceiver}\\n */\\nRTCPeerConnection.prototype.addTransceiver = function(trackOrKind, init) {};\\n\\n/**\\n * Returns the list of transceivers are currently attached to this peer.\\n *\\n * @return {!Array<!RTCRtpTransceiver>}\\n */\\nRTCPeerConnection.prototype.getTransceivers = function() {};\\n\\n/**\\n * @return {!RTCConfiguration}\\n */\\nRTCPeerConnection.prototype.getConfiguration = function() {};\\n\\n/**\\n * @param {!RTCConfiguration} configuration\\n * @return {undefined}\\n */\\nRTCPeerConnection.prototype.setConfiguration = function(configuration) {};\\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// TODO(rjogrady): Per w3c spec, getStats() should always return a Promise.\\n// Remove RTCStatsReport from the return value once Firefox supports that.\\n/**\\n * Firefox\' getstats is synchronous and returns a much simpler\\n * {!RTCStatsReport} Map-like object.\\n * @param {!RTCStatsCallback=} successCallback\\n * @param {MediaStreamTrack=} selector\\n * @return {undefined|!RTCStatsReport|!Promise<!RTCStatsReport>}\\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(!RTCTrackEvent)}\\n */\\nRTCPeerConnection.prototype.ontrack;\\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 * @nosideeffects\\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/**\\n *  Set of possible string values: \'installing\', \'installed\', \'activating\',\\n * \'activated\', \'redundant\'.\\n *  @typedef {string}\\n */\\nvar ServiceWorkerState;\\n\\n/**\\n * @see https://w3c.github.io/ServiceWorker/#navigationpreloadmanager\\n * @constructor\\n */\\nfunction NavigationPreloadManager() {}\\n\\n/** @return {!Promise<void>} */\\nNavigationPreloadManager.prototype.enable = function() {};\\n\\n/** @return {!Promise<void>} */\\nNavigationPreloadManager.prototype.disable = function() {};\\n\\n/**\\n * @param {string=} value\\n * @return {!Promise<void>}\\n */\\nNavigationPreloadManager.prototype.setHeaderValue = function(value) {};\\n\\n/** @return {!Promise<NavigationPreloadState>} */\\nNavigationPreloadManager.prototype.getState = function() {};\\n\\n/**\\n *  @typedef {{\\n *   enabled: (boolean|undefined),\\n *   headerValue: (string|undefined)\\n * }}\\n */\\nvar NavigationPreloadState;\\n\\n/** @record */\\nfunction PushSubscriptionOptions() {}\\n\\n/** @type {ArrayBuffer|undefined} */\\nPushSubscriptionOptions.prototype.applicationServerKey;\\n\\n/** @type {boolean|undefined} */\\nPushSubscriptionOptions.prototype.userVisibleOnly;\\n\\n/** @record */\\nfunction PushSubscriptionOptionsInit() {}\\n\\n/** @type {BufferSource|string|undefined} */\\nPushSubscriptionOptionsInit.prototype.applicationServerKey;\\n\\n/** @type {boolean|undefined} */\\nPushSubscriptionOptionsInit.prototype.userVisibleOnly;\\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/** @type {!PushSubscriptionOptions} */\\nPushSubscription.prototype.options;\\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 {PushSubscriptionOptionsInit=} 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 * @see https://wicg.github.io/BackgroundSync/spec/#sync-manager-interface\\n * @constructor\\n */\\nfunction SyncManager() {}\\n\\n/**\\n * @param {string} tag\\n * @return {!Promise<void>}\\n */\\nSyncManager.prototype.register = function(tag) {}\\n\\n/**\\n * @return {!Promise<Array<string>>}\\n */\\nSyncManager.prototype.getTags = function() {}\\n\\n/**\\n * @see https://wicg.github.io/BackgroundSync/spec/#sync-event\\n * @constructor\\n * @extends{ExtendableEvent}\\n */\\nfunction SyncEvent() {}\\n\\n/** @type {string} */\\nSyncEvent.prototype.tag;\\n\\n/** @type {boolean} */\\nSyncEvent.prototype.lastChance;\\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 {NavigationPreloadManager} */\\nServiceWorkerRegistration.prototype.navigationPreload;\\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 https://wicg.github.io/BackgroundSync/spec/#service-worker-registration-extensions\\n * @type {!SyncManager}\\n */\\nServiceWorkerRegistration.prototype.sync;\\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)} */\\nServi';
a.a+='ceWorkerContainer.prototype.oncontrollerchange;\\n\\n/** @type {?function(!ErrorEvent)} */\\nServiceWorkerContainer.prototype.onerror;\\n\\n/**\\n * @typedef {{scope: (string|undefined), useCache: (boolean|undefined), updateViaCache: (string|undefined)}}\\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|undefined} */\\nServiceWorkerGlobalScope.prototype.indexedDB;\\n\\n/**\\n * While not strictly correct, this should be effectively correct. Notification\\n * is the Notification constructor but calling it from the Service Worker throws\\n * (https://notifications.spec.whatwg.org/#constructors) so its only use is as\\n * an object holding some static properties (note that requestPermission is only\\n * exposed to window context - https://notifications.spec.whatwg.org/#api).\\n *\\n * @type {{\\n *   permission: string,\\n *   maxActions: number,\\n * }}\\n */\\nServiceWorkerGlobalScope.prototype.Notification;\\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/** @type {string} */\\nServiceWorkerClient.prototype.id;\\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 * @param {string} url\\n * @return {!Promise<!ServiceWorkerClient>}\\n */\\nServiceWorkerClient.prototype.navigate = function(url) {};\\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/**\\n * @param {string} id\\n * @return {!Promise<!ServiceWorkerClient|undefined>}\\n */\\nServiceWorkerClients.prototype.get = function(id) {};\\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 {ExtendableEvent}\\n */\\nfunction FetchEvent(type, opt_eventInitDict) {}\\n\\n/** @type {!Request} */\\nFetchEvent.prototype.request;\\n\\n/**\\n * @type {!Promise<Response>}\\n */\\nFetchEvent.prototype.preloadResponse;\\n\\n/**\\n * @type {!ServiceWorkerClient}\\n * @deprecated\\n */\\nFetchEvent.prototype.client;\\n\\n/** @type {?string} */\\nFetchEvent.prototype.clientId;\\n\\n/** @type {!boolean} */\\nFetchEvent.prototype.isReload;\\n\\n/** @type {?string} */\\nFetchEvent.prototype.targetClientId;\\n\\n/** @type {?string} */\\nFetchEvent.prototype.reservedClientId;\\n\\n/**\\n * @param {(Response|IThenable<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 *   preloadResponse: (!Promise<Response>),\\n *   client: (!ServiceWorkerClient|undefined),\\n *   isReload: (!boolean|undefined)\\n * }}\\n */\\nvar FetchEventInit;\\n\\n\\n/**\\n * @see https://www.w3.org/TR/service-workers/#extendablemessage-event-interface\\n * @param {string} type\\n * @param {!ExtendableMessageEventInit<T>=} opt_eventInitDict\\n * @constructor\\n * @extends {ExtendableEvent}\\n * @template T\\n */\\nfunction ExtendableMessageEvent(type, opt_eventInitDict) {};\\n\\n/** @type {T} */\\nExtendableMessageEvent.prototype.data;\\n\\n/** @type {string} */\\nExtendableMessageEvent.prototype.origin;\\n\\n/** @type {string} */\\nExtendableMessageEvent.prototype.lastEventId;\\n\\n/** @type {?ServiceWorkerClient|?ServiceWorker|?MessagePort} */\\nExtendableMessageEvent.prototype.source;\\n\\n/** @type {?Array<!MessagePort>} */\\nExtendableMessageEvent.prototype.ports;\\n\\n\\n/**\\n * @see https://www.w3.org/TR/service-workers/#extendablemessage-event-init-dictionary\\n * @record\\n * @extends {ExtendableEventInit}\\n * @template T\\n */\\nfunction ExtendableMessageEventInit() {};\\n\\n/** @type {T} */\\nExtendableMessageEventInit.prototype.data;\\n\\n/** @type {string|undefined} */\\nExtendableMessageEventInit.prototype.origin;\\n\\n/** @type {string|undefined} */\\nExtendableMessageEventInit.prototype.lastEventId;\\n\\n/** @type {!ServiceWorkerClient|!ServiceWorker|!MessagePort|undefined} */\\nExtendableMessageEventInit.prototype.source;\\n\\n/** @type {!Array<!MessagePort>|undefined} */\\nExtendableMessageEventInit.prototype.ports;\\n","externs/w3c_speech.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 Speech Input 2010 draft API and the\\n * 2012 Web Speech draft API (in progress).\\n * 2010 Speech Input API:\\n * http://www.w3.org/2005/Incubator/htmlspeech/2010/10/google-api-draft.html\\n * 2012 Web Speech API:\\n * http://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html\\n * This file contains only those functions/properties that are actively\\n * used in the Voice Search experiment. Because the draft is under discussion\\n * and constantly evolving, this file does not attempt to stay in sync with it.\\n *\\n * @externs\\n * @author manas@google.com (Manas Tungare)\\n */\\n\\n// W3C Speech Input API implemented in Chrome M12\\n/**\\n * @constructor\\n * @extends {UIEvent}\\n */\\nfunction SpeechInputEvent() {}\\n\\n/** @type {SpeechInputResultList} */\\nSpeechInputEvent.prototype.results;\\n\\n\\n/**\\n * @constructor\\n */\\nfunction SpeechInputResultList() {}\\n\\n/** @type {number} */\\nSpeechInputResultList.prototype.length;\\n\\n\\n/**\\n * @constructor\\n */\\nfunction SpeechInputResult() {}\\n\\n/** @type {string} */\\nSpeechInputResult.prototype.utterance;\\n\\n/** @type {number} */\\nSpeechInputResult.prototype.confidence;\\n\\n\\n// HTMLInputElement\\n/** @type {boolean} */\\nHTMLInputElement.prototype.webkitspeech;\\n\\n/** @type {?function (Event)} */\\nHTMLInputElement.prototype.onwebkitspeechchange;\\n\\n\\n\\n// W3C Web Speech API implemented in Chrome M23\\n/**\\n * @constructor\\n * @implements {EventTarget}\\n */\\nfunction SpeechRecognition() {}\\n\\n/** @override */\\nSpeechRecognition.prototype.addEventListener =\\n  function(type, listener, opt_options) {};\\n\\n/** @override */\\nSpeechRecognition.prototype.removeEventListener =\\n  function(type, listener, opt_options) {};\\n\\n/** @override */\\nSpeechRecognition.prototype.dispatchEvent = function(evt) {};\\n\\n/** @type {SpeechGrammarList} */\\nSpeechRecognition.prototype.grammars;\\n\\n/** @type {string} */\\nSpeechRecognition.prototype.lang;\\n\\n/** @type {boolean} */\\nSpeechRecognition.prototype.continuous;\\n\\n/** @type {boolean} */\\nSpeechRecognition.prototype.interimResults;\\n\\n/** @type {number} */\\nSpeechRecognition.prototype.maxAlternatives;\\n\\n/** @type {string} */\\nSpeechRecognition.prototype.serviceURI;\\n\\n/** @type {function()} */\\nSpeechRecognition.prototype.start;\\n\\n/** @type {function()} */\\nSpeechRecognition.prototype.stop;\\n\\n/** @type {function()} */\\nSpeechRecognition.prototype.abort;\\n\\n/** @type {?function(!Event)} */\\nSpeechRecognition.prototype.onaudiostart;\\n\\n/** @type {?function(!Event)} */\\nSpeechRecognition.prototype.onsoundstart;\\n\\n/** @type {?function(!Event)} */\\nSpeechRecognition.prototype.onspeechstart;\\n\\n/** @type {?function(!Event)} */\\nSpeechRecognition.prototype.onspeechend;\\n\\n/** @type {?function(!Event)} */\\nSpeechRecognition.prototype.onsoundend;\\n\\n/** @type {?function(!Event)} */\\nSpeechRecognition.prototype.onaudioend;\\n\\n/** @type {?function(!SpeechRecognitionEvent)} */\\nSpeechRecognition.prototype.onresult;\\n\\n/** @type {?function(!SpeechRecognitionEvent)} */\\nSpeechRecognition.prototype.onnomatch;\\n\\n/** @type {?function(!SpeechRecognitionError)} */\\nSpeechRecognition.prototype.onerror;\\n\\n/** @type {?function(!Event)} */\\nSpeechRecognition.prototype.onstart;\\n\\n/** @type {?function(!Event)} */\\nSpeechRecognition.prototype.onend;\\n\\n\\n/**\\n * @constructor\\n * @extends {Event}\\n */\\nfunction SpeechRecognitionError() {}\\n\\n/** @type {string} */\\nSpeechRecognitionError.prototype.error;\\n\\n/** @type {string} */\\nSpeechRecognitionError.prototype.message;\\n\\n\\n/**\\n * @constructor\\n */\\nfunction SpeechRecognitionAlternative() {}\\n\\n/** @type {string} */\\nSpeechRecognitionAlternative.prototype.transcript;\\n\\n/** @type {number} */\\nSpeechRecognitionAlternative.prototype.confidence;\\n\\n\\n/**\\n * @constructor\\n */\\nfunction SpeechRecognitionResult() {}\\n\\n/**\\n * @type {number}\\n */\\nSpeechRecognitionResult.prototype.length;\\n\\n/**\\n * @type {function(number): SpeechRecognitionAlternative}\\n */\\nSpeechRecognitionResult.prototype.item = function(index) {};\\n\\n/**\\n * @type {boolean}\\n */\\nSpeechRecognitionResult.prototype.isFinal;\\n\\n\\n/**\\n * @constructor\\n */\\nfunction SpeechRecognitionResultList() {}\\n\\n/**\\n * @type {number}\\n */\\nSpeechRecognitionResultList.prototype.length;\\n\\n/**\\n * @type {function(number): SpeechRecognitionResult}\\n */\\nSpeechRecognitionResultList.prototype.item = function(index) {};\\n\\n\\n/**\\n * @constructor\\n * @extends {Event}\\n */\\nfunction SpeechRecognitionEvent() {}\\n\\n/** @type {number} */\\nSpeechRecognitionEvent.prototype.resultIndex;\\n\\n/** @type {SpeechRecognitionResultList} */\\nSpeechRecognitionEvent.prototype.resul';
a.a+='ts;\\n\\n/** @type {*} */\\nSpeechRecognitionEvent.prototype.interpretation;\\n\\n/** @type {Document} */\\nSpeechRecognitionEvent.prototype.emma;\\n\\n\\n/**\\n * @constructor\\n */\\nfunction SpeechGrammar() {}\\n\\n/** @type {string} */\\nSpeechGrammar.prototype.src;\\n\\n/** @type {number} */\\nSpeechGrammar.prototype.weight;\\n\\n\\n/**\\n * @constructor\\n */\\nfunction SpeechGrammarList() {}\\n\\n/**\\n * @type {number}\\n */\\nSpeechGrammarList.prototype.length;\\n\\n/**\\n * @type {function(number): SpeechGrammar}\\n */\\nSpeechGrammarList.prototype.item = function(index) {};\\n\\n/**\\n * @type {function(string, number)}\\n */\\nSpeechGrammarList.prototype.addFromUri = function(src, weight) {};\\n\\n/**\\n * @type {function(string, number)}\\n */\\nSpeechGrammarList.prototype.addFromString = function(str, weight) {};\\n\\n\\n// Webkit implementations of Web Speech API\\n/**\\n * @constructor\\n * @extends {SpeechGrammarList}\\n */\\nfunction webkitSpeechGrammarList() {}\\n\\n\\n/**\\n * @constructor\\n * @extends {SpeechGrammar}\\n */\\nfunction webkitSpeechGrammar() {}\\n\\n\\n/**\\n * @constructor\\n * @extends {SpeechRecognitionEvent}\\n */\\nfunction webkitSpeechRecognitionEvent() {}\\n\\n\\n/**\\n * @constructor\\n * @extends {SpeechRecognitionError}\\n */\\nfunction webkitSpeechRecognitionError() {}\\n\\n\\n/**\\n * @constructor\\n * @extends {SpeechRecognition}\\n */\\nfunction webkitSpeechRecognition() {}\\n\\n\\n\\n// W3C Web Speech Synthesis API is implemented in Chrome M33\\n/**\\n * @type {SpeechSynthesis}\\n * @see https://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html#tts-section\\n */\\nvar speechSynthesis;\\n\\n\\n/**\\n * @constructor\\n * @param {string} text\\n */\\nfunction SpeechSynthesisUtterance(text) {}\\n\\n/** @type {string} */\\nSpeechSynthesisUtterance.prototype.text;\\n\\n/** @type {string} */\\nSpeechSynthesisUtterance.prototype.lang;\\n\\n/** @type {number} */\\nSpeechSynthesisUtterance.prototype.pitch;\\n\\n/** @type {number} */\\nSpeechSynthesisUtterance.prototype.rate;\\n\\n/** @type {SpeechSynthesisVoice} */\\nSpeechSynthesisUtterance.prototype.voice;\\n\\n/** @type {number} */\\nSpeechSynthesisUtterance.prototype.volume;\\n\\n/**\\n * @param {Event} event\\n */\\nSpeechSynthesisUtterance.prototype.onstart = function(event) {};\\n\\n/**\\n * @param {Event} event\\n */\\nSpeechSynthesisUtterance.prototype.onend = function(event) {};\\n\\n\\n/**\\n * @constructor\\n */\\nfunction SpeechSynthesisVoice() {}\\n\\n/** @type {string} */\\nSpeechSynthesisVoice.prototype.voiceURI;\\n\\n/** @type {string} */\\nSpeechSynthesisVoice.prototype.name;\\n\\n/** @type {string} */\\nSpeechSynthesisVoice.prototype.lang;\\n\\n/** @type {boolean} */\\nSpeechSynthesisVoice.prototype.localService;\\n\\n/** @type {boolean} */\\nSpeechSynthesisVoice.prototype.default;\\n\\n\\n/**\\n * @constructor\\n * @extends {Array<!SpeechSynthesisVoice>}\\n */\\nfunction SpeechSynthesisVoiceList() {}\\n\\n\\n/**\\n * @interface\\n * @extends {EventTarget}\\n */\\nfunction SpeechSynthesis() {}\\n\\n/**\\n * @param {SpeechSynthesisUtterance} utterance\\n * @return {undefined}\\n */\\nSpeechSynthesis.prototype.speak = function(utterance) {};\\n\\n/** @type {function()} */\\nSpeechSynthesis.prototype.cancel;\\n\\n/** @type {function()} */\\nSpeechSynthesis.prototype.pause;\\n\\n/** @type {function()} */\\nSpeechSynthesis.prototype.resume;\\n\\n/**\\n * @return {SpeechSynthesisVoiceList}\\n */\\nSpeechSynthesis.prototype.getVoices = function() {};\\n\\n/**\\n * @param {Event} event\\n * @see https://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi-errata.html\\n */\\nSpeechSynthesis.prototype.onvoiceschanged = function(event) {};\\n","externs/w3c_touch_event.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 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 * @record\\n * @extends {UIEventInit}\\n */\\nfunction TouchEventInit() {}\\n\\n/** @type {undefined|?EventTarget} */\\nTouchEventInit.prototype.relatedTarget;\\n\\n/** @type {undefined|!Array<?Touch>} */\\nTouchEventInit.prototype.touches;\\n\\n/** @type {undefined|!Array<?Touch>} */\\nTouchEventInit.prototype.targetTouches;\\n\\n/** @type {undefined|!Array<?Touch>} */\\nTouchEventInit.prototype.changedTouches;\\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_vibration.js":"/*\\n * Copyright 2017 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 Vibration API based on \\"W3C Recommendation 18 October 2016\\"\\n * @see https://www.w3.org/TR/2016/REC-vibration-20161018/\\n *\\n * @externs\\n * @author vobruba.martin@gmail.com (Martin Vobruba)\\n */\\n\\n\\n/**\\n * @typedef {number|!Array<number>}\\n * @see https://www.w3.org/TR/2016/REC-vibration-20161018/#idl-def-vibratepattern\\n */\\nvar VibratePattern;\\n\\n\\n/**\\n * @param {!VibratePattern} pattern\\n * @return {boolean}\\n * @see https://www.w3.org/TR/2016/REC-vibration-20161018/#idl-def-navigator-vibrate(vibratepattern)\\n */\\nNavigator.prototype.vibrate = function(pattern) {};\\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 * @typedef {webCrypto.AlgorithmIdentifier}\\n * @see http://www.w3.org/TR/WebCryptoAPI/#dfn-HashAlgorithmIdentifier\\n */\\nwebCrypto.HashAlgorithmIdentifier;\\n\\n\\n/**\\n * @typedef {Uint8Array}\\n * @see https://www.w3.org/TR/WebCryptoAPI/#dfn-BigInteger\\n */\\nwebCrypto.BigInteger;\\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 * @constructor\\n * @see https://www.w3.org/TR/WebCryptoAPI/#keypair\\n */\\nwebCrypto.CryptoKeyPair = function() {};\\n\\n\\n/**\\n * @type {!webCrypto.CryptoKey}\\n */\\nwebCrypto.CryptoKeyPair.prototype.publicKey;\\n\\n\\n/**\\n * @type {!webCrypto.CryptoKey}\\n */\\nwebCrypto.CryptoKeyPair.prototype.privateKey;\\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>} Id';
a.a+='entifies 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 * @record\\n * @extends webCrypto.Algorithm\\n * @see https://www.w3.org/TR/WebCryptoAPI/#dfn-RsaKeyGenParams\\n */\\nwebCrypto.RsaKeyGenParams;\\n/**\\n * @type {number}\\n */\\nwebCrypto.RsaKeyGenParams.prototype.modulusLength;\\n/**\\n * @type {webCrypto.BigInteger}\\n */\\nwebCrypto.RsaKeyGenParams.prototype.publicExponent;\\n\\n\\n/**\\n * @record\\n * @extends webCrypto.RsaKeyGenParams\\n * @see https://www.w3.org/TR/WebCryptoAPI/#dfn-RsaHashedKeyGenParams\\n */\\nwebCrypto.RsaHashedKeyGenParams;\\n/**\\n * @type {webCrypto.HashAlgorithmIdentifier}\\n */\\nwebCrypto.RsaHashedKeyGenParams.prototype.hash;\\n\\n\\n/**\\n * @record\\n * @extends webCrypto.KeyAlgorithm\\n * @see https://www.w3.org/TR/WebCryptoAPI/#dfn-RsaKeyAlgorithm\\n */\\nwebCrypto.RsaKeyAlgorithm;\\n/**\\n * @type {number}\\n */\\nwebCrypto.RsaKeyAlgorithm.prototype.modulusLength;\\n/**\\n * @type {webCrypto.BigInteger}\\n */\\nwebCrypto.RsaKeyAlgorithm.prototype.publicExponent;\\n\\n\\n/**\\n * @record\\n * @extends webCrypto.RsaKeyAlgorithm\\n * @see https://www.w3.org/TR/WebCryptoAPI/#dfn-RsaHashedKeyAlgorithm\\n */\\nwebCrypto.RsaHashedKeyAlgorithm;\\n/**\\n * @type {webCrypto.KeyAlgorithm}\\n */\\nwebCrypto.RsaHashedKeyAlgorithm.prototype.hash;\\n\\n\\n/**\\n * @record\\n * @extends webCrypto.Algorithm\\n * @see https://www.w3.org/TR/WebCryptoAPI/#dfn-RsaHashedImportParams\\n */\\nwebCrypto.RsaHashedImportParams;\\n/**\\n * @type {webCrypto.HashAlgorithmIdentifier}\\n */\\nwebCrypto.RsaHashedImportParams.prototype.hash;\\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<!ArrayBuffer>} Ciphertext generated by the encryption of\\n *     the 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<!ArrayBuffer>} 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<!ArrayBuffer>} 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<boolean>} Returns if the signature operating has been\\n *     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<!ArrayBuffer>} returns the hash on success.\\n */\\nwebCrypto.SubtleCrypto.prototype.digest = function(algorithm, data) {};\\n\\n\\n/**\\n * @param {!webCrypto.AlgorithmIdentifier|webCrypto.RsaHashedKeyGenParams}\\n *     algorithm Supported 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, wrapKey,\\n *     unwrapKey.\\n * @return {!Promise<!webCrypto.CryptoKey|!webCrypto.CryptoKeyPair>} returns the\\n *     generated key.\\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<!webCrypto.CryptoKey|!webCrypto.CryptoKeyPair>} returns the\\n *     generated key.\\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<!ArrayBuffer>} returns the generated bits.\\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|webCrypto.RsaHashedImportParams}\\n *     algorithm Supported values are: AES-CTR, AES-CBC, AES-GCM, RSA-OAEP,\\n *     AES-KW, HMAC, 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<!webCrypto.CryptoKey>} returns the generated key.\\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<!ArrayBuffer|!webCrypto.JsonWebKey>} returns the key in the\\n *     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<!ArrayBuffer>} returns the wrapped key in the requested\\n *     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<!webCrypto.CryptoKey>} returns the unwrapped key.\\n */\\nwebCrypto.SubtleCrypto.prototype.unwrapKey = function(format, wrappedKey,\\n    unwrappingKey, unwrapAlgorithm, unwrappedKeyAlgorithm, extractable,\\n    keyUsages) {};\\n\\n\\n/**\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Crypto\\n * @interface\\n */\\nwebCrypto.Crypto = function() {};\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/window.crypto.getRandomValues\\n * @param {!ArrayBufferView} typedArray\\n * @return {!ArrayBufferView}\\n * @throws {Error}\\n */\\nwebCrypto.Crypto.prototype.getRandomValues = function(typedArray) {};\\n\\n/**\\n * @type {?webCrypto.SubtleCrypto}\\n * @see http://www.w3.org/TR/WebCryptoAPI/#Crypto-attribute-subtle\\n */\\nwebCrypto.Crypto.prototype.subtle;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/window.crypto\\n * @type {!webCrypto.Crypto|undefined}\\n */\\nvar crypto;\\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 * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult\\n */\\nfunction XPathResult() {}\\n\\n/**\\n * @type {boole';
a.a+='an} {@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/** @override */\\nXMLHttpRequest.prototype.addEventListener = function(\\n    type, listener, opt_options) {};\\n\\n/** @override */\\nXMLHttpRequest.prototype.removeEventListener = function(\\n    type, listener, opt_options) {};\\n\\n/** @override */\\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(!Event)}\\n * @see http://www.w3.org/TR/XMLHttpRequest/#handler-xhr-onreadystatechange\\n */\\nXMLHttpRequest.prototype.onreadystatechange;\\n\\n/**\\n * @type {?function(!Event)}\\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/**\\n * @type {boolean}\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Window/isSecureContext\\n * @const\\n */\\nvar isSecureContext;\\n\\n/**\\n * @type {!VisualViewport}\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Window/visualViewport\\n * @const\\n */\\nvar visualViewport;\\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 * @param {*} message\\n * @see https://developer.mozilla.org/en/DOM/window.alert\\n * @return {undefined}\\n */\\nfunction alert(message) {}\\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 * @param {...?} var_args\\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, var_args) {}\\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.setInterval\\n * @see https://html.spec.whatwg.org/multipage/webappapis.html#timers\\n */\\nfunction setInterval(callback, opt_delay, var_args) {}\\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 {{\\n *     dir: (string|undefined),\\n *     lang: (string|undefined),\\n *     body: (string|undefined),\\n *     tag: (string|undefined),\\n *     image: (string|undefined),\\n *     icon: (string|undefined),\\n *     badge: (string|undefined),\\n *     vibrate: (!Array<number>|undefined),\\n *     timestamp: (number|undefined),\\n *     renotify: (boolean|undefined),\\n *     silent: (boolean|undefined),\\n *     requireInteraction: (boolean|undefined),\\n *     data: (*|undefined),\\n *     actions: (!Array<!NotificationAction>|undefined),\\n * }}\\n * TODO(rsk): change the type of data to a serializable object\\n * (https://html.spec.whatwg.org/multipage/structured-data.html).\\n *\\n * @see http://notifications.spec.whatwg.org/#notification\\n */\\nvar NotificationOptions;\\n\\n/**\\n * @typedef {{action: string, title: string, icon: (string|undefined)}}\\n * @see https://notifications.spec.whatwg.org/#dictdef-notificationoptions\\n */\\nvar NotificationAction;\\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} ';
a.a+='*/ 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/** @override */\\nNotification.prototype.addEventListener = function(\\n    type, listener, opt_options) {};\\n\\n/** @override */\\nNotification.prototype.removeEventListener = function(\\n    type, listener, opt_options) {};\\n\\n/** @override */\\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 * @type {*}\\n */\\nNotification.prototype.data;\\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\\n/** @type {string} */\\nNotificationEvent.prototype.action;\\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 */\\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;\\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 {n';
a.a+="umber} */\\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.RENDERBUFFER_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;\\";
a.a+="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} */\\nWebGLRenderingContext.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() {};";
a.a+="\\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} 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|boolean} 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 */\\nWebGLRendering";
a.a+="Context.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 {undefined}\\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 */\\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 * @extends {Event}\\n */\\nfunction WebGLContextEvent(eventType) {}\\n\\n/**\\n * @type {string}\\n */\\nWebGLContextEvent.prototype.statusMessage;\\n\\n\\n/**\\n * @constructor\\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 */\\nfunction WebGLObject() {}\\n\\n\\n/**\\n * @constructor\\n * @extends {WebGLObject}\\n */\\nfunction WebGLBuffer() {}\\n\\n\\n/**\\n * @constructor\\n * @extends {WebGLObject}\\n */\\nfunction WebGLFramebuffer() {}\\n\\n\\n/**\\n * @constructor\\n * @extends {WebGLObject}\\n */\\nfunction WebGLProgram() {}\\n\\n\\n/**\\n * @constructor\\n * @extends {WebGLObject}\\n */\\nfunction WebGLRenderbuffer() {}\\n\\n\\n/**\\n * @constructor\\n * @extends {WebGLObject}\\n */\\nfunction WebGLShader() {}\\n\\n\\n/**\\n * @constructor\\n * @extends {WebGLObject}\\n */\\nfunction WebGLTexture() {}\\n\\n\\n/**\\n * @constructor\\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 */\\nfunction WebGLUniformLocation() {}\\n\\n\\n/**\\n * @see http://www.khronos.org/registry/webgl/extensions/OES_texture_float/\\n * @constructor\\n */\\nfunction OES_texture_float() {}\\n\\n\\n/**\\n * @see http://www.khronos.org/registry/webgl/extensions/OES_texture_half_float/\\n * @constructor\\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 */\\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 */\\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 * @extends {WebGLObject}\\n */\\nfunction WebGLVertexArrayObjectOES() {}\\n\\n\\n/**\\n * @see http://www.khronos.org/registry/webgl/extensions/OES_vertex_array_object/\\n * @constructor\\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 */\\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 */\\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 */\\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 */\\nfunction OES_depth_texture() {}\\n\\n\\n/**\\n * @see http://www.khronos.org/registry/webgl/extensions/OES_element_index_uint/\\n * @constructor\\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 */\\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 */\\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/** @ty";
a.a+='pe {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 */\\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/webgl2.js":"/*\\n * Copyright 2018 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 2.0 spec.\\n *\\n * This relies on webgl.js and html5.js being included for WebGL1, Canvas and\\n * Typed Array support.\\n *\\n * @externs\\n */\\n\\n\\n/**\\n * @constructor\\n * @extends {WebGLRenderingContext}\\n */\\nfunction WebGL2RenderingContext() {}\\n\\n\\n\\n/** @type {number} */\\nWebGL2RenderingContext.UNPACK_ROW_LENGTH;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.UNPACK_SKIP_ROWS;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.UNPACK_SKIP_PIXELS;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.PACK_ROW_LENGTH;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.PACK_SKIP_ROWS;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.PACK_SKIP_PIXELS;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.COLOR;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.DEPTH;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.STENCIL;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.RED;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.RGB8;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.RGBA8;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.RGB10_A2;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.TEXTURE_BINDING_3D;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.UNPACK_SKIP_IMAGES;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.UNPACK_IMAGE_HEIGHT;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.TEXTURE_3D;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.TEXTURE_WRAP_R;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.MAX_3D_TEXTURE_SIZE;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.UNSIGNED_INT_2_10_10_10_REV;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.MAX_ELEMENTS_VERTICES;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.MAX_ELEMENTS_INDICES;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.TEXTURE_MIN_LOD;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.TEXTURE_MAX_LOD;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.TEXTURE_BASE_LEVEL;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.TEXTURE_MAX_LEVEL;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.MIN;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.MAX;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.DEPTH_COMPONENT24;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.MAX_TEXTURE_LOD_BIAS;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.TEXTURE_COMPARE_MODE;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.TEXTURE_COMPARE_FUNC;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.CURRENT_QUERY;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.QUERY_RESULT;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.QUERY_RESULT_AVAILABLE;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.STREAM_READ;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.STREAM_COPY;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.STATIC_READ;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.STATIC_COPY;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.DYNAMIC_READ;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.DYNAMIC_COPY;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.MAX_DRAW_BUFFERS;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.DRAW_BUFFER0;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.DRAW_BUFFER1;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.DRAW_BUFFER2;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.DRAW_BUFFER3;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.DRAW_BUFFER4;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.DRAW_BUFFER5;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.DRAW_BUFFER6;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.DRAW_BUFFER7;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.DRAW_BUFFER8;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.DRAW_BUFFER9;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.DRAW_BUFFER10;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.DRAW_BUFFER11;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.DRAW_BUFFER12;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.DRAW_BUFFER13;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.DRAW_BUFFER14;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.DRAW_BUFFER15;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.MAX_FRAGMENT_UNIFORM_COMPONENTS;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.MAX_VERTEX_UNIFORM_COMPONENTS;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.SAMPLER_3D;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.SAMPLER_2D_SHADOW;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.FRAGMENT_SHADER_DERIVATIVE_HINT;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.PIXEL_PACK_BUFFER;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.PIXEL_UNPACK_BUFFER;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.PIXEL_PACK_BUFFER_BINDING;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.PIXEL_UNPACK_BUFFER_BINDING;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.FLOAT_MAT2x3;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.FLOAT_MAT2x4;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.FLOAT_MAT3x2;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.FLOAT_MAT3x4;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.FLOAT_MAT4x2;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.FLOAT_MAT4x3;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.SRGB;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.SRGB8;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.SRGB8_ALPHA8;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.COMPARE_REF_TO_TEXTURE;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.RGBA32F;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.RGB32F;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.RGBA16F;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.RGB16F;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.VERTEX_ATTRIB_ARRAY_INTEGER;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.MAX_ARRAY_TEXTURE_LAYERS;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.MIN_PROGRAM_TEXEL_OFFSET;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.MAX_PROGRAM_TEXEL_OFFSET;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.MAX_VARYING_COMPONENTS;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.TEXTURE_2D_ARRAY;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.TEXTURE_BINDING_2D_ARRAY;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.R11F_G11F_B10F;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.UNSIGNED_INT_10F_11F_11F_REV;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.RGB9_E5;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.UNSIGNED_INT_5_9_9_9_REV;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.TRANSFORM_FEEDBACK_BUFFER_MODE;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.TRANSFORM_FEEDBACK_VARYINGS;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.TRANSFORM_FEEDBACK_BUFFER_START;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.TRANSFORM_FEEDBACK_BUFFER_SIZE;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.RASTERIZER_DISCARD;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS = 0x8C8A;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.INTERLEAVED_ATTRIBS;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.SEPARATE_ATTRIBS;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.TRANSFORM_FEEDBACK_BUFFER;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.TRANSFORM_FEEDBACK_BUFFER_BINDING;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.RGBA32UI;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.RGB32UI;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.RGBA16UI;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.RGB16UI;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.RGBA8UI;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.RGB8UI;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.RGBA32I;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.RGB32I;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.RGBA16I;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.RGB16I;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.RGBA8I;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.RGB8I;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.RED_INTEGER;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.RGB_INTEGER;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.RGBA_INTEGER;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.SAMPLER_2D_ARRAY;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.SAMPLER_2D_ARRAY_SHADOW;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.SAMPLER_CUBE_SHADOW;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.UNSIGNED_INT_VEC2;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.UNSIGNED_INT_VEC3;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.UNSIGNED_INT_VEC4;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.INT_SAMPLER_2D;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.INT_SAMPLER_3D;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.INT_SAMPLER_CUBE;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.INT_SAMPLER_2D_ARRAY;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.UNSIGNED_INT_SAMPLER_2D;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.UNSIGNED_INT_SAMPLER_3D;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.UNSIGNED_INT_SAMPLER_CUBE;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.UNSIGNED_INT_SAMPLER_2D_ARRAY;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.DEPTH_COMPONENT32F;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.DEPTH32F_STENCIL8;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.FLOAT_32_UNSIGNED_INT_24_8_REV;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.FRAMEBUFFER_ATTACHMENT_RED_SIZE;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.FRAMEBUFFER_ATTACHMENT_GREEN_SIZE;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.FRAMEBUFFER_ATTACHMENT_BLUE_SIZE;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.FRAMEBUFFER_DEFAULT;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.DEPTH_STENCIL_ATTACHMENT;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.DEPTH_STENCIL;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.UNSIGNED_INT_24_8;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.DEPTH24_STENCIL8;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.UNSIGNED_NORMALIZED;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.DRAW_FRAMEBUFFER_BINDING;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.READ_FRAMEBUFFER;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.DRAW_FRAMEBUFFER;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.READ_FRAMEBUFFER_BINDING;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.RENDERBUFFER_SAMPLES;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.MAX_COLOR_ATTACHMENTS;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.COLOR_ATTACHMENT1;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.COLOR_ATTACHMENT2;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.COLOR_ATTACHMENT3;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.COLOR_ATTACHMENT4;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.COLOR_ATTACHMENT5;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.COLOR_ATTACHMENT6;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.COLOR_ATTACHMENT7;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.COLOR_ATTACHMENT8;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.COLOR_ATTACHMENT9;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.COLOR_ATTACHMENT10;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.COLOR_ATTACHMENT11;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.COLOR_ATTACHMENT12;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.COLOR_ATTACHMENT13;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.COLOR_ATTACHMENT14;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.COLOR_ATTACHMENT15;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.FRAMEBUFFER_INCOMPLETE_MULTI';
a.a+="SAMPLE;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.MAX_SAMPLES;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.HALF_FLOAT;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.RG;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.RG_INTEGER;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.R8;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.RG8;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.R16F;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.R32F;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.RG16F;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.RG32F;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.R8I;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.R8UI;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.R16I;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.R16UI;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.R32I;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.R32UI;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.RG8I;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.RG8UI;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.RG16I;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.RG16UI;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.RG32I;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.RG32UI;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.VERTEX_ARRAY_BINDING;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.R8_SNORM;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.RG8_SNORM;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.RGB8_SNORM;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.RGBA8_SNORM;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.SIGNED_NORMALIZED;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.COPY_READ_BUFFER;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.COPY_WRITE_BUFFER;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.COPY_READ_BUFFER_BINDING;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.COPY_WRITE_BUFFER_BINDING;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.UNIFORM_BUFFER;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.UNIFORM_BUFFER_BINDING;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.UNIFORM_BUFFER_START;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.UNIFORM_BUFFER_SIZE;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.MAX_VERTEX_UNIFORM_BLOCKS;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.MAX_FRAGMENT_UNIFORM_BLOCKS;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.MAX_COMBINED_UNIFORM_BLOCKS;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.MAX_UNIFORM_BUFFER_BINDINGS;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.MAX_UNIFORM_BLOCK_SIZE;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.UNIFORM_BUFFER_OFFSET_ALIGNMENT;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.ACTIVE_UNIFORM_BLOCKS;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.UNIFORM_TYPE;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.UNIFORM_SIZE;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.UNIFORM_BLOCK_INDEX;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.UNIFORM_OFFSET;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.UNIFORM_ARRAY_STRIDE;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.UNIFORM_MATRIX_STRIDE;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.UNIFORM_IS_ROW_MAJOR;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.UNIFORM_BLOCK_BINDING;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.UNIFORM_BLOCK_DATA_SIZE;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.UNIFORM_BLOCK_ACTIVE_UNIFORMS;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.INVALID_INDEX;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.MAX_VERTEX_OUTPUT_COMPONENTS;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.MAX_FRAGMENT_INPUT_COMPONENTS;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.MAX_SERVER_WAIT_TIMEOUT;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.OBJECT_TYPE;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.SYNC_CONDITION;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.SYNC_STATUS;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.SYNC_FLAGS;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.SYNC_FENCE;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.SYNC_GPU_COMMANDS_COMPLETE;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.UNSIGNALED;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.SIGNALED;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.ALREADY_SIGNALED;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.TIMEOUT_EXPIRED;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.CONDITION_SATISFIED;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.WAIT_FAILED;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.SYNC_FLUSH_COMMANDS_BIT;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.VERTEX_ATTRIB_ARRAY_DIVISOR;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.ANY_SAMPLES_PASSED;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.ANY_SAMPLES_PASSED_CONSERVATIVE;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.SAMPLER_BINDING;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.RGB10_A2UI;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.INT_2_10_10_10_REV;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.TRANSFORM_FEEDBACK;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.TRANSFORM_FEEDBACK_PAUSED;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.TRANSFORM_FEEDBACK_ACTIVE;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.TRANSFORM_FEEDBACK_BINDING;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.TEXTURE_IMMUTABLE_FORMAT;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.MAX_ELEMENT_INDEX;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.TEXTURE_IMMUTABLE_LEVELS;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.TIMEOUT_IGNORED;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.MAX_CLIENT_WAIT_TIMEOUT_WEBGL;\\n\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.UNPACK_ROW_LENGTH;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.UNPACK_SKIP_ROWS;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.UNPACK_SKIP_PIXELS;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.PACK_ROW_LENGTH;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.PACK_SKIP_ROWS;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.PACK_SKIP_PIXELS;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.COLOR;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.DEPTH;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.STENCIL;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.RED;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.RGB8;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.RGBA8;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.RGB10_A2;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.TEXTURE_BINDING_3D;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.UNPACK_SKIP_IMAGES;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.UNPACK_IMAGE_HEIGHT;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.TEXTURE_3D;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.TEXTURE_WRAP_R;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.MAX_3D_TEXTURE_SIZE;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.UNSIGNED_INT_2_10_10_10_REV;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.MAX_ELEMENTS_VERTICES;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.MAX_ELEMENTS_INDICES;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.TEXTURE_MIN_LOD;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.TEXTURE_MAX_LOD;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.TEXTURE_BASE_LEVEL;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.TEXTURE_MAX_LEVEL;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.MIN;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.MAX;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.DEPTH_COMPONENT24;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.MAX_TEXTURE_LOD_BIAS;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.TEXTURE_COMPARE_MODE;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.TEXTURE_COMPARE_FUNC;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.CURRENT_QUERY;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.QUERY_RESULT;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.QUERY_RESULT_AVAILABLE;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.STREAM_READ;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.STREAM_COPY;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.STATIC_READ;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.STATIC_COPY;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.DYNAMIC_READ;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.DYNAMIC_COPY;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.MAX_DRAW_BUFFERS;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.DRAW_BUFFER0;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.DRAW_BUFFER1;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.DRAW_BUFFER2;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.DRAW_BUFFER3;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.DRAW_BUFFER4;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.DRAW_BUFFER5;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.DRAW_BUFFER6;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.DRAW_BUFFER7;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.DRAW_BUFFER8;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.DRAW_BUFFER9;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.DRAW_BUFFER10;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.DRAW_BUFFER11;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.DRAW_BUFFER12;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.DRAW_BUFFER13;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.DRAW_BUFFER14;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.DRAW_BUFFER15;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.MAX_FRAGMENT_UNIFORM_COMPONENTS;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.MAX_VERTEX_UNIFORM_COMPONENTS;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.SAMPLER_3D;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.SAMPLER_2D_SHADOW;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.FRAGMENT_SHADER_DERIVATIVE_HINT;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.PIXEL_PACK_BUFFER;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.PIXEL_UNPACK_BUFFER;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.PIXEL_PACK_BUFFER_BINDING;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.PIXEL_UNPACK_BUFFER_BINDING;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.FLOAT_MAT2x3;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.FLOAT_MAT2x4;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.FLOAT_MAT3x2;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.FLOAT_MAT3x4;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.FLOAT_MAT4x2;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.FLOAT_MAT4x3;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.SRGB;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.SRGB8;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.SRGB8_ALPHA8;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.COMPARE_REF_TO_TEXTURE;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.RGBA32F;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.RGB32F;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.RGBA16F;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.RGB16F;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.VERTEX_ATTRIB_ARRAY_INTEGER;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.MAX_ARRAY_TEXTURE_LAYERS;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.MIN_PROGRAM_TEXEL_OFFSET;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.MAX_PROGRAM_TEXEL_OFFSET;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.MAX_VARYING_COMPONENTS;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.TEXTURE_2D_ARRAY;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.TEXTURE_BINDING_2D_ARRAY;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.R11F_G11F_B10F;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.UNSIGNED_INT_10F_11F_11F_REV;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.RGB9_E5;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.UNSIGNED_INT_5_9_9_9_REV;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.TRANSFORM_FEEDBACK_BUFFER_MODE;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.TRANSFORM_FEEDBACK_VARYINGS;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.TRANSFORM_FEEDBACK_BUFFER_START;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.TRANSFORM_FEEDBACK_BUFFER_SIZE;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.RASTERIZER_DISCARD;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS =\\n    0x8C8A;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.INTERLEAVED_ATTRIBS;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.SEPARATE_ATTRIBS;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.TRANSFORM_FEEDBACK_BUFFER;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.TRANSFORM_FEEDBACK_BUFFER_BINDING;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.RGBA32UI;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.RGB32UI;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.RGBA16UI;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.RGB16UI;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.RGBA8UI;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.RGB8UI;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.RGBA32I;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.RGB32I;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.RGBA16I;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.RGB16I;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.RGBA8I;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.RGB8I;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.RED_INTEGER;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.RGB_INTEGER;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.RGBA_INTEGER;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.SAMPLER_2D_ARRAY;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.SAMPLER_2D_ARRAY_SHADOW;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.SAMPLER_CUBE_SHADOW;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.UNSIGNED_INT_VEC2;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.UNSIGNED_INT_VEC3;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.UNSIGNED_INT_VEC4;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.INT_SAMPLER_2D;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.INT_SAMPLER_3D;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.INT_SAMPLER_CUBE;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.INT_SAMPLER_2D_ARRAY;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.UNSIGNED_INT_SAMPLER_2D;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.UNSIGNED_INT_SAMPLER_3D;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.UNSIGNED_INT_SAMPLER_CUBE;\\n\\n/** @type {number} */\\nWebGL2Rende";
a.a+="ringContext.prototype.UNSIGNED_INT_SAMPLER_2D_ARRAY;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.DEPTH_COMPONENT32F;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.DEPTH32F_STENCIL8;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.FLOAT_32_UNSIGNED_INT_24_8_REV;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.FRAMEBUFFER_ATTACHMENT_RED_SIZE;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.FRAMEBUFFER_ATTACHMENT_GREEN_SIZE;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.FRAMEBUFFER_ATTACHMENT_BLUE_SIZE;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.FRAMEBUFFER_DEFAULT;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.DEPTH_STENCIL_ATTACHMENT;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.DEPTH_STENCIL;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.UNSIGNED_INT_24_8;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.DEPTH24_STENCIL8;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.UNSIGNED_NORMALIZED;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.DRAW_FRAMEBUFFER_BINDING;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.READ_FRAMEBUFFER;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.DRAW_FRAMEBUFFER;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.READ_FRAMEBUFFER_BINDING;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.RENDERBUFFER_SAMPLES;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.MAX_COLOR_ATTACHMENTS;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.COLOR_ATTACHMENT1;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.COLOR_ATTACHMENT2;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.COLOR_ATTACHMENT3;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.COLOR_ATTACHMENT4;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.COLOR_ATTACHMENT5;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.COLOR_ATTACHMENT6;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.COLOR_ATTACHMENT7;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.COLOR_ATTACHMENT8;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.COLOR_ATTACHMENT9;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.COLOR_ATTACHMENT10;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.COLOR_ATTACHMENT11;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.COLOR_ATTACHMENT12;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.COLOR_ATTACHMENT13;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.COLOR_ATTACHMENT14;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.COLOR_ATTACHMENT15;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.FRAMEBUFFER_INCOMPLETE_MULTISAMPLE;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.MAX_SAMPLES;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.HALF_FLOAT;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.RG;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.RG_INTEGER;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.R8;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.RG8;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.R16F;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.R32F;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.RG16F;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.RG32F;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.R8I;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.R8UI;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.R16I;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.R16UI;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.R32I;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.R32UI;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.RG8I;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.RG8UI;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.RG16I;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.RG16UI;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.RG32I;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.RG32UI;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.VERTEX_ARRAY_BINDING;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.R8_SNORM;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.RG8_SNORM;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.RGB8_SNORM;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.RGBA8_SNORM;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.SIGNED_NORMALIZED;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.COPY_READ_BUFFER;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.COPY_WRITE_BUFFER;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.COPY_READ_BUFFER_BINDING;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.COPY_WRITE_BUFFER_BINDING;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.UNIFORM_BUFFER;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.UNIFORM_BUFFER_BINDING;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.UNIFORM_BUFFER_START;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.UNIFORM_BUFFER_SIZE;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.MAX_VERTEX_UNIFORM_BLOCKS;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.MAX_FRAGMENT_UNIFORM_BLOCKS;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.MAX_COMBINED_UNIFORM_BLOCKS;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.MAX_UNIFORM_BUFFER_BINDINGS;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.MAX_UNIFORM_BLOCK_SIZE;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.UNIFORM_BUFFER_OFFSET_ALIGNMENT;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.ACTIVE_UNIFORM_BLOCKS;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.UNIFORM_TYPE;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.UNIFORM_SIZE;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.UNIFORM_BLOCK_INDEX;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.UNIFORM_OFFSET;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.UNIFORM_ARRAY_STRIDE;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.UNIFORM_MATRIX_STRIDE;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.UNIFORM_IS_ROW_MAJOR;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.UNIFORM_BLOCK_BINDING;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.UNIFORM_BLOCK_DATA_SIZE;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.UNIFORM_BLOCK_ACTIVE_UNIFORMS;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.INVALID_INDEX;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.MAX_VERTEX_OUTPUT_COMPONENTS;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.MAX_FRAGMENT_INPUT_COMPONENTS;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.MAX_SERVER_WAIT_TIMEOUT;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.OBJECT_TYPE;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.SYNC_CONDITION;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.SYNC_STATUS;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.SYNC_FLAGS;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.SYNC_FENCE;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.SYNC_GPU_COMMANDS_COMPLETE;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.UNSIGNALED;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.SIGNALED;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.ALREADY_SIGNALED;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.TIMEOUT_EXPIRED;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.CONDITION_SATISFIED;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.WAIT_FAILED;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.SYNC_FLUSH_COMMANDS_BIT;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.VERTEX_ATTRIB_ARRAY_DIVISOR;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.ANY_SAMPLES_PASSED;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.ANY_SAMPLES_PASSED_CONSERVATIVE;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.SAMPLER_BINDING;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.RGB10_A2UI;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.INT_2_10_10_10_REV;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.TRANSFORM_FEEDBACK;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.TRANSFORM_FEEDBACK_PAUSED;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.TRANSFORM_FEEDBACK_ACTIVE;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.TRANSFORM_FEEDBACK_BINDING;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.TEXTURE_IMMUTABLE_FORMAT;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.MAX_ELEMENT_INDEX;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.TEXTURE_IMMUTABLE_LEVELS;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.TIMEOUT_IGNORED;\\n\\n/** @type {number} */\\nWebGL2RenderingContext.prototype.MAX_CLIENT_WAIT_TIMEOUT_WEBGL;\\n\\n/* Buffer objects */\\n\\n/**\\n * @param {number} target\\n * @param {?ArrayBufferView|?ArrayBuffer|number} data\\n * @param {number} usage\\n * @param {number=} opt_srcOffset\\n * @param {number=} opt_length\\n * @return {undefined}\\n * @override\\n */\\nWebGL2RenderingContext.prototype.bufferData = function(\\n    target, data, usage, opt_srcOffset, opt_length) {};\\n\\n/**\\n * @param {number} target\\n * @param {number} offset\\n * @param {?ArrayBufferView|?ArrayBuffer} data\\n * @param {number=} opt_srcOffset\\n * @param {number=} opt_length\\n * @return {undefined}\\n * @override\\n */\\nWebGL2RenderingContext.prototype.bufferSubData = function(\\n    target, offset, data, opt_srcOffset, opt_length) {};\\n\\n/**\\n * @param {number} readTarget\\n * @param {number} writeTarget\\n * @param {number} readOffset\\n * @param {number} writeOffset\\n * @param {number} size\\n * @return {undefined}\\n */\\nWebGL2RenderingContext.prototype.copyBufferSubData = function(\\n    readTarget, writeTarget, readOffset, writeOffset, size) {};\\n\\n/**\\n * @param {number} target\\n * @param {number} srcByteOffset\\n * @param {?ArrayBufferView|?ArrayBuffer} dstBuffer\\n * @param {number=} opt_dstOffset\\n * @param {number=} opt_length\\n * @return {undefined}\\n */\\nWebGL2RenderingContext.prototype.getBufferSubData = function(\\n    target, srcByteOffset, dstBuffer, opt_dstOffset, opt_length) {};\\n\\n/* Framebuffer objects */\\n\\n/**\\n * @param {number} srcX0\\n * @param {number} srcY0\\n * @param {number} srcX1\\n * @param {number} srcY1\\n * @param {number} dstX0\\n * @param {number} dstY0\\n * @param {number} dstX1\\n * @param {number} dstY1\\n * @param {number} mask\\n * @param {number} filter\\n * @return {undefined}\\n */\\nWebGL2RenderingContext.prototype.blitFramebuffer = function(\\n    srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter) {};\\n\\n/**\\n * @param {number} target\\n * @param {number} attachment\\n * @param {?WebGLTexture} texture\\n * @param {number} level\\n * @param {number} layer\\n * @return {undefined}\\n */\\nWebGL2RenderingContext.prototype.framebufferTextureLayer = function(\\n    target, attachment, texture, level, layer) {};\\n\\n/**\\n * @param {number} target\\n * @param {!Array<number>} attachments\\n * @return {undefined}\\n */\\nWebGL2RenderingContext.prototype.invalidateFramebuffer = function(\\n    target, attachments) {};\\n\\n/**\\n * @param {number} target\\n * @param {!Array<number>} attachments\\n * @param {number} x\\n * @param {number} y\\n * @param {number} width\\n * @param {number} height\\n * @return {undefined}\\n */\\nWebGL2RenderingContext.prototype.invalidateSubFramebuffer = function(\\n    target, attachments, x, y, width, height) {};\\n\\n/**\\n * @param {number} src\\n * @return {undefined}\\n */\\nWebGL2RenderingContext.prototype.readBuffer = function(src) {};\\n\\n/* Renderbuffer objects */\\n\\n/**\\n * @param {number} target\\n * @param {number} internalformat\\n * @param {number} pname\\n * @return {*}\\n * @nosideeffects\\n */\\nWebGL2RenderingContext.prototype.getInternalformatParameter = function(\\n    target, internalformat, pname) {};\\n\\n/**\\n * @param {number} target\\n * @param {number} samples\\n * @param {number} internalformat\\n * @param {number} width\\n * @param {number} height\\n * @return {undefined}\\n */\\nWebGL2RenderingContext.prototype.renderbufferStorageMultisample = function(\\n    target, samples, internalformat, width, height) {};\\n\\n/* Texture objects */\\n\\n/**\\n * @param {number} target\\n * @param {number} levels\\n * @param {number} internalformat\\n * @param {number} width\\n * @param {number} height\\n * @return {undefined}\\n */\\nWebGL2RenderingContext.prototype.texStorage2D = function(\\n    target, levels, internalformat, width, height) {};\\n\\n/**\\n * @param {number} target\\n * @param {number} levels\\n * @param {number} internalformat\\n * @param {number} width\\n * @param {number} height\\n * @param {number} depth\\n * @return {undefined}\\n */\\nWebGL2RenderingContext.prototype.texStorage3D = function(\\n    target, levels, internalformat, width, height, depth) {};\\n\\n/**\\n * @param {number} target\\n * @param {number} level\\n * @param {number} internalformat\\n * @param {number} formatOrWidth\\n * @param {number} typeOrHeight\\n * @param {?ImageData|?HTMLImageElement|?HTMLCanvasElement|?HTMLVideoElement|number} imgOrBorder\\n * @param {number=} opt_format\\n * @param {number=} opt_type\\n * @param {?ArrayBufferView|?ImageData|?HTMLImageElement|?HTMLCanvasElement|?HTMLVideoElement|number=} opt_imgOrOffset\\n * @param {number=} opt_srcOffset\\n * @return {undefined}\\n * @override\\n */\\nWebGL2RenderingContext.prototype.texImage2D = function(\\n    target, level, internalformat, formatOrWidth, typeOrHeight, imgOrBorder,\\n    opt_format, opt_type, opt_imgOrOffset, opt_srcOffset) {};\\n\\n/**\\n * @param {number} target\\n * @param {number} level\\n * @param {number} xoffset\\n * @param {number} yoffset\\n * @param {number} formatOrWidth\\n * @param {number} typeOrHeight\\n * @param {?ImageData|?HTMLImageElement|?HTMLCanvasElement|?HTMLVideoElement|number} dataOrFormat\\n * @param {number=} opt_type\\n * @param {?ArrayBufferView|?ImageData|?HTMLImageElement|?HTMLCanvasElement|?HTMLVideoElement|number=} opt_imgOrOffset\\n * @param {number=} opt_srcOffset\\n * @return {undefined}\\n * @override\\n */\\nWebGL2RenderingContext.prototype.texSubImage2D = function(\\n    target, level, xoffset, yoffset, formatOrWidth, typeOrHeight, dataOrFormat,\\n    opt_type, opt_imgOrOffset, opt_srcOffset) {};\\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} depth\\n * @param {number} border\\n * @param {number} format\\n * @param {number} type\\n * @param {?ArrayBufferView|?ImageData|?HTMLImageElement|?HTMLCanvasElement|?HTMLVideoElement|number} srcData\\n * @param {number=} opt_srcOffset\\n * @return {undefined}\\n */\\nWebGL2RenderingContext.prototype.texImage3D = function(\\n    target, level, internalformat, width, height, depth, border, for";
a.a+="mat, type,\\n    srcData, opt_srcOffset) {};\\n\\n/**\\n * @param {number} target\\n * @param {number} level\\n * @param {number} xoffset\\n * @param {number} yoffset\\n * @param {number} zoffset\\n * @param {number} width\\n * @param {number} height\\n * @param {number} depth\\n * @param {number} format\\n * @param {number} type\\n * @param {?ArrayBufferView|?ImageData|?HTMLImageElement|?HTMLCanvasElement|?HTMLVideoElement|number} srcData\\n * @param {number=} opt_srcOffset\\n * @return {undefined}\\n */\\nWebGL2RenderingContext.prototype.texSubImage3D = function(\\n    target, level, xoffset, yoffset, zoffset, width, height, depth, format,\\n    type, srcData, opt_srcOffset) {};\\n\\n/**\\n * @param {number} target\\n * @param {number} level\\n * @param {number} xoffset\\n * @param {number} yoffset\\n * @param {number} zoffset\\n * @param {number} x\\n * @param {number} y\\n * @param {number} width\\n * @param {number} height\\n * @return {undefined}\\n */\\nWebGL2RenderingContext.prototype.copyTexSubImage3D = function(\\n    target, level, xoffset, yoffset, zoffset, x, y, width, height) {};\\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|number} srcDataOrSize\\n * @param {number=} opt_srcOffset\\n * @param {number=} opt_srcLengthOverride\\n * @return {undefined}\\n * @override\\n */\\nWebGL2RenderingContext.prototype.compressedTexImage2D = function(\\n    target, level, internalformat, width, height, border, srcDataOrSize,\\n    opt_srcOffset, opt_srcLengthOverride) {};\\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} depth\\n * @param {number} border\\n * @param {!ArrayBufferView|number} srcDataOrSize\\n * @param {number=} opt_srcOffset\\n * @param {number=} opt_srcLengthOverride\\n * @return {undefined}\\n */\\nWebGL2RenderingContext.prototype.compressedTexImage3D = function(\\n    target, level, internalformat, width, height, depth, border, srcDataOrSize,\\n    opt_srcOffset, opt_srcLengthOverride) {};\\n\\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|number} srcDataOrSize\\n * @param {number=} opt_srcOffset\\n * @param {number=} opt_srcLengthOverride\\n * @return {undefined}\\n * @override\\n */\\nWebGL2RenderingContext.prototype.compressedTexSubImage2D = function(\\n    target, level, xoffset, yoffset, width, height, format, srcDataOrSize,\\n    opt_srcOffset, opt_srcLengthOverride) {};\\n\\n\\n/**\\n * @param {number} target\\n * @param {number} level\\n * @param {number} xoffset\\n * @param {number} yoffset\\n * @param {number} zoffset\\n * @param {number} width\\n * @param {number} height\\n * @param {number} depth\\n * @param {number} format\\n * @param {!ArrayBufferView|number} srcDataOrSize\\n * @param {number=} opt_srcOffset\\n * @param {number=} opt_srcLengthOverride\\n * @return {undefined}\\n */\\nWebGL2RenderingContext.prototype.compressedTexSubImage3D = function(\\n    target, level, xoffset, yoffset, zoffset, width, height, depth, format,\\n    srcDataOrSize, opt_srcOffset, opt_srcLengthOverride) {};\\n\\n/* Programs and shaders */\\n\\n/**\\n * @param {!WebGLProgram} program\\n * @param {string} name\\n * @return {number}\\n * @nosideeffects\\n */\\nWebGL2RenderingContext.prototype.getFragDataLocation = function(\\n    program, name) {};\\n\\n/* Uniforms */\\n\\n/**\\n * @param {?WebGLUniformLocation} location\\n * @param {number} v0\\n * @return {undefined}\\n */\\nWebGL2RenderingContext.prototype.uniform1ui = function(location, v0) {};\\n\\n/**\\n * @param {?WebGLUniformLocation} location\\n * @param {number} v0\\n * @param {number} v1\\n * @return {undefined}\\n */\\nWebGL2RenderingContext.prototype.uniform2ui = function(location, v0, v1) {};\\n\\n/**\\n * @param {?WebGLUniformLocation} location\\n * @param {number} v0\\n * @param {number} v1\\n * @param {number} v2\\n * @return {undefined}\\n */\\nWebGL2RenderingContext.prototype.uniform3ui = function(location, v0, v1, v2) {};\\n\\n/**\\n * @param {?WebGLUniformLocation} location\\n * @param {number} v0\\n * @param {number} v1\\n * @param {number} v2\\n * @param {number} v3\\n * @return {undefined}\\n */\\nWebGL2RenderingContext.prototype.uniform4ui = function(\\n    location, v0, v1, v2, v3) {};\\n\\n\\n/**\\n * @param {?WebGLUniformLocation} location\\n * @param {?Float32Array|?Array<number>} data\\n * @param {number=} opt_srcOffset\\n * @param {number=} opt_srcLength\\n * @return {undefined}\\n * @override\\n */\\nWebGL2RenderingContext.prototype.uniform1fv = function(\\n    location, data, opt_srcOffset, opt_srcLength) {};\\n\\n/**\\n * @param {?WebGLUniformLocation} location\\n * @param {?Float32Array|?Array<number>} data\\n * @param {number=} opt_srcOffset\\n * @param {number=} opt_srcLength\\n * @return {undefined}\\n * @override\\n */\\nWebGL2RenderingContext.prototype.uniform2fv = function(\\n    location, data, opt_srcOffset, opt_srcLength) {};\\n\\n/**\\n * @param {?WebGLUniformLocation} location\\n * @param {?Float32Array|?Array<number>} data\\n * @param {number=} opt_srcOffset\\n * @param {number=} opt_srcLength\\n * @return {undefined}\\n * @override\\n */\\nWebGL2RenderingContext.prototype.uniform3fv = function(\\n    location, data, opt_srcOffset, opt_srcLength) {};\\n\\n/**\\n * @param {?WebGLUniformLocation} location\\n * @param {?Float32Array|?Array<number>} data\\n * @param {number=} opt_srcOffset\\n * @param {number=} opt_srcLength\\n * @return {undefined}\\n * @override\\n */\\nWebGL2RenderingContext.prototype.uniform4fv = function(\\n    location, data, opt_srcOffset, opt_srcLength) {};\\n\\n/**\\n * @param {?WebGLUniformLocation} location\\n * @param {?Int32Array|?Array<number>|?Array<boolean>} data\\n * @param {number=} opt_srcOffset\\n * @param {number=} opt_srcLength\\n * @return {undefined}\\n * @override\\n */\\nWebGL2RenderingContext.prototype.uniform1iv = function(\\n    location, data, opt_srcOffset, opt_srcLength) {};\\n\\n/**\\n * @param {?WebGLUniformLocation} location\\n * @param {?Int32Array|?Array<number>|?Array<boolean>} data\\n * @param {number=} opt_srcOffset\\n * @param {number=} opt_srcLength\\n * @return {undefined}\\n * @override\\n */\\nWebGL2RenderingContext.prototype.uniform2iv = function(\\n    location, data, opt_srcOffset, opt_srcLength) {};\\n\\n/**\\n * @param {?WebGLUniformLocation} location\\n * @param {?Int32Array|?Array<number>|?Array<boolean>} data\\n * @param {number=} opt_srcOffset\\n * @param {number=} opt_srcLength\\n * @return {undefined}\\n * @override\\n */\\nWebGL2RenderingContext.prototype.uniform3iv = function(\\n    location, data, opt_srcOffset, opt_srcLength) {};\\n\\n/**\\n * @param {?WebGLUniformLocation} location\\n * @param {?Int32Array|?Array<number>|?Array<boolean>} data\\n * @param {number=} opt_srcOffset\\n * @param {number=} opt_srcLength\\n * @return {undefined}\\n * @override\\n */\\nWebGL2RenderingContext.prototype.uniform4iv = function(\\n    location, data, opt_srcOffset, opt_srcLength) {};\\n\\n\\n/**\\n * @param {?WebGLUniformLocation} location\\n * @param {!Uint32Array|!Array<number>|!Array<boolean>} data\\n * @param {number=} opt_srcOffset\\n * @param {number=} opt_srcLength\\n * @return {undefined}\\n */\\nWebGL2RenderingContext.prototype.uniform1uiv = function(\\n    location, data, opt_srcOffset, opt_srcLength) {};\\n\\n/**\\n * @param {?WebGLUniformLocation} location\\n * @param {!Uint32Array|!Array<number>|!Array<boolean>} data\\n * @param {number=} opt_srcOffset\\n * @param {number=} opt_srcLength\\n * @return {undefined}\\n */\\nWebGL2RenderingContext.prototype.uniform2uiv = function(\\n    location, data, opt_srcOffset, opt_srcLength) {};\\n\\n/**\\n * @param {?WebGLUniformLocation} location\\n * @param {!Uint32Array|!Array<number>|!Array<boolean>} data\\n * @param {number=} opt_srcOffset\\n * @param {number=} opt_srcLength\\n * @return {undefined}\\n */\\nWebGL2RenderingContext.prototype.uniform3uiv = function(\\n    location, data, opt_srcOffset, opt_srcLength) {};\\n\\n/**\\n * @param {?WebGLUniformLocation} location\\n * @param {!Uint32Array|!Array<number>|!Array<boolean>} data\\n * @param {number=} opt_srcOffset\\n * @param {number=} opt_srcLength\\n * @return {undefined}\\n */\\nWebGL2RenderingContext.prototype.uniform4uiv = function(\\n    location, data, opt_srcOffset, opt_srcLength) {};\\n\\n/**\\n * @param {?WebGLUniformLocation} location\\n * @param {boolean} transpose\\n * @param {?Float32Array|?Array<number>} data\\n * @param {number=} opt_srcOffset\\n * @param {number=} opt_srcLength\\n * @return {undefined}\\n * @override\\n */\\nWebGL2RenderingContext.prototype.uniformMatrix2fv = function(\\n    location, transpose, data, opt_srcOffset, opt_srcLength) {};\\n\\n/**\\n * @param {?WebGLUniformLocation} location\\n * @param {boolean} transpose\\n * @param {!Float32Array|!Array<number>} data\\n * @param {number=} opt_srcOffset\\n * @param {number=} opt_srcLength\\n * @return {undefined}\\n */\\nWebGL2RenderingContext.prototype.uniformMatrix3x2fv = function(\\n    location, transpose, data, opt_srcOffset, opt_srcLength) {};\\n\\n/**\\n * @param {?WebGLUniformLocation} location\\n * @param {boolean} transpose\\n * @param {!Float32Array|!Array<number>} data\\n * @param {number=} opt_srcOffset\\n * @param {number=} opt_srcLength\\n * @return {undefined}\\n */\\nWebGL2RenderingContext.prototype.uniformMatrix4x2fv = function(\\n    location, transpose, data, opt_srcOffset, opt_srcLength) {};\\n\\n/**\\n * @param {?WebGLUniformLocation} location\\n * @param {boolean} transpose\\n * @param {!Float32Array|!Array<number>} data\\n * @param {number=} opt_srcOffset\\n * @param {number=} opt_srcLength\\n * @return {undefined}\\n */\\nWebGL2RenderingContext.prototype.uniformMatrix2x3fv = function(\\n    location, transpose, data, opt_srcOffset, opt_srcLength) {};\\n\\n/**\\n * @param {?WebGLUniformLocation} location\\n * @param {boolean} transpose\\n * @param {?Float32Array|?Array<number>} data\\n * @param {number=} opt_srcOffset\\n * @param {number=} opt_srcLength\\n * @return {undefined}\\n * @override\\n */\\nWebGL2RenderingContext.prototype.uniformMatrix3fv = function(\\n    location, transpose, data, opt_srcOffset, opt_srcLength) {};\\n\\n/**\\n * @param {?WebGLUniformLocation} location\\n * @param {boolean} transpose\\n * @param {!Float32Array|!Array<number>} data\\n * @param {number=} opt_srcOffset\\n * @param {number=} opt_srcLength\\n * @return {undefined}\\n */\\nWebGL2RenderingContext.prototype.uniformMatrix4x3fv = function(\\n    location, transpose, data, opt_srcOffset, opt_srcLength) {};\\n\\n/**\\n * @param {?WebGLUniformLocation} location\\n * @param {boolean} transpose\\n * @param {!Float32Array|!Array<number>} data\\n * @param {number=} opt_srcOffset\\n * @param {number=} opt_srcLength\\n * @return {undefined}\\n */\\nWebGL2RenderingContext.prototype.uniformMatrix2x4fv = function(\\n    location, transpose, data, opt_srcOffset, opt_srcLength) {};\\n\\n/**\\n * @param {?WebGLUniformLocation} location\\n * @param {boolean} transpose\\n * @param {!Float32Array|!Array<number>} data\\n * @param {number=} opt_srcOffset\\n * @param {number=} opt_srcLength\\n * @return {undefined}\\n */\\nWebGL2RenderingContext.prototype.uniformMatrix3x4fv = function(\\n    location, transpose, data, opt_srcOffset, opt_srcLength) {};\\n\\n/**\\n * @param {?WebGLUniformLocation} location\\n * @param {boolean} transpose\\n * @param {?Float32Array|?Array<number>} data\\n * @param {number=} opt_srcOffset\\n * @param {number=} opt_srcLength\\n * @return {undefined}\\n * @override\\n */\\nWebGL2RenderingContext.prototype.uniformMatrix4fv = function(\\n    location, transpose, data, opt_srcOffset, opt_srcLength) {};\\n\\n/* Vertex attribs */\\n\\n/**\\n * @param {number} index\\n * @param {number} x\\n * @param {number} y\\n * @param {number} z\\n * @param {number} w\\n * @return {undefined}\\n */\\nWebGL2RenderingContext.prototype.vertexAttribI4i = function(\\n    index, x, y, z, w) {};\\n\\n/**\\n * @param {number} index\\n * @param {!Int32Array|!Array<number>|!Array<boolean>} values\\n * @return {undefined}\\n */\\nWebGL2RenderingContext.prototype.vertexAttribI4iv = function(index, values) {};\\n\\n/**\\n * @param {number} index\\n * @param {number} x\\n * @param {number} y\\n * @param {number} z\\n * @param {number} w\\n * @return {undefined}\\n */\\nWebGL2RenderingContext.prototype.vertexAttribI4ui = function(\\n    index, x, y, z, w) {};\\n\\n/**\\n * @param {number} index\\n * @param {!Uint32Array|!Array<number>|!Array<boolean>} values\\n * @return {undefined}\\n */\\nWebGL2RenderingContext.prototype.vertexAttribI4uiv = function(index, values) {};\\n\\n/**\\n * @param {number} index\\n * @param {number} size\\n * @param {number} type\\n * @param {number} stride\\n * @param {number} offset\\n * @return {undefined}\\n */\\nWebGL2RenderingContext.prototype.vertexAttribIPointer = function(\\n    index, size, type, stride, offset) {};\\n\\n/* Writing to the drawing buffer */\\n\\n/**\\n * @param {number} index\\n * @param {number} divisor\\n * @return {undefined}\\n */\\nWebGL2RenderingContext.prototype.vertexAttribDivisor = function(\\n    index, divisor) {};\\n\\n/**\\n * @param {number} mode\\n * @param {number} first\\n * @param {number} count\\n * @param {number} instanceCount\\n * @return {undefined}\\n */\\nWebGL2RenderingContext.prototype.drawArraysInstanced = function(\\n    mode, first, count, instanceCount) {};\\n\\n/**\\n * @param {number} mode\\n * @param {number} count\\n * @param {number} type\\n * @param {number} offset\\n * @param {number} instanceCount\\n * @return {undefined}\\n */\\nWebGL2RenderingContext.prototype.drawElementsInstanced = function(\\n    mode, count, type, offset, instanceCount) {};\\n\\n/**\\n * @param {number} mode\\n * @param {number} start\\n * @param {number} end\\n * @param {number} count\\n * @param {number} type\\n * @param {number} offset\\n * @return {undefined}\\n */\\nWebGL2RenderingContext.prototype.drawRangeElements = function(\\n    mode, start, end, count, type, offset) {};\\n\\n/* Reading back pixels */\\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|number} dstDataOrOffset\\n * @param {number=} opt_dstOffset\\n * @return {undefined}\\n * @override\\n */\\nWebGL2RenderingContext.prototype.readPixels = function(\\n    x, y, width, height, format, type, dstDataOrOffset, opt_dstOffset) {};\\n\\n/* Multiple Render Targets */\\n\\n/**\\n * @param {!Array<number>} buffers\\n * @return {undefined}\\n */\\nWebGL2RenderingContext.prototype.drawBuffers = function(buffers) {};\\n\\n\\n/**\\n * @param {number} buffer\\n * @param {number} drawbuffer\\n * @param {!Float32Array|!Array<number>} values\\n * @param {number=} opt_srcOffset\\n * @return {undefined}\\n */\\nWebGL2RenderingContext.prototype.clearBufferfv = function(\\n    buffer, drawbuffer, values, opt_srcOffset) {};\\n\\n/**\\n * @param {number} buffer\\n * @param {number} drawbuffer\\n * @param {!Int32Array|!Array<number>|!Array<boolean>} values\\n * @param {number=} opt_srcOffset\\n * @return {undefined}\\n */\\nWebGL2RenderingContext.prototype.clearBufferiv = function(\\n    buffer, drawbuffer, values, opt_srcOffset) {};\\n\\n/**\\n * @param {number} buffer\\n * @param {number} drawbuffer\\n * @param {!Uint32Array|!Array<number>|!Array<boolean>} values\\n * @param {number=} opt_srcOffset\\n * @return {undefined}\\n */\\nWebGL2RenderingContext.prototype.clearBufferuiv = function(\\n    buffer, drawbuffer, values, opt_srcOffset) {};\\n\\n/**\\n * @param {number} buffer\\n * @param {number} drawbuffer\\n * @param {number} depth\\n * @param {number} stencil\\n * @return {undefined}\\n */\\nWebGL2RenderingContext.prototype.clearBufferfi = function(\\n    buffer, drawbuffer, depth, stencil) {};\\n\\n/* Query Objects */\\n\\n/**\\n * @return {?WebGLQuery}\\n */\\nWebGL2RenderingContext.prototype.createQuery = function() {};\\n\\n/**\\n * @param {?WebGLQuery} query\\n * @return {undefined}\\n */\\nWebGL2RenderingContext.prototype.deleteQuery = function(query) {};\\n\\n/**\\n * @param {?WebGLQuery} query\\n * @return {boolean}\\n */\\nWebGL2RenderingContext.prototype.isQuery = function(query) {};\\n\\n/**\\n * @param {number} target\\n * @param {!WebGLQuery} query\\n * @return {undefined}\\n */\\nWebGL2RenderingContext.prototype.beginQuery = function(target, query) {};\\n\\n/**\\n * @param {number} target\\n * @return {undefined}\\n */\\nWebGL2RenderingContext.prototype.";
a.a+="endQuery = function(target) {};\\n\\n/**\\n * @param {number} target\\n * @param {number} pname\\n * @return {?WebGLQuery}\\n * @nosideeffects\\n */\\nWebGL2RenderingContext.prototype.getQuery = function(target, pname) {};\\n\\n/**\\n * @param {!WebGLQuery} query\\n * @param {number} pname\\n * @return {*}\\n */\\nWebGL2RenderingContext.prototype.getQueryParameter = function(query, pname) {};\\n\\n/* Sampler Objects */\\n\\n/**\\n * @return {?WebGLSampler}\\n */\\nWebGL2RenderingContext.prototype.createSampler = function() {};\\n\\n/**\\n * @param {?WebGLSampler} sampler\\n * @return {undefined}\\n */\\nWebGL2RenderingContext.prototype.deleteSampler = function(sampler) {};\\n\\n/**\\n * @param {?WebGLSampler} sampler\\n * @return {boolean}\\n */\\nWebGL2RenderingContext.prototype.isSampler = function(sampler) {};\\n\\n/**\\n * @param {number} unit\\n * @param {?WebGLSampler} sampler\\n * @return {undefined}\\n */\\nWebGL2RenderingContext.prototype.bindSampler = function(unit, sampler) {};\\n\\n/**\\n * @param {!WebGLSampler} sampler\\n * @param {number} pname\\n * @param {number} param\\n * @return {undefined}\\n */\\nWebGL2RenderingContext.prototype.samplerParameteri = function(\\n    sampler, pname, param) {};\\n\\n/**\\n * @param {!WebGLSampler} sampler\\n * @param {number} pname\\n * @param {number} param\\n * @return {undefined}\\n */\\nWebGL2RenderingContext.prototype.samplerParameterf = function(\\n    sampler, pname, param) {};\\n\\n/**\\n * @param {!WebGLSampler} sampler\\n * @param {number} pname\\n * @return {*}\\n * @nosideeffects\\n */\\nWebGL2RenderingContext.prototype.getSamplerParameter = function(\\n    sampler, pname) {};\\n\\n/* Sync objects */\\n\\n/**\\n * @param {number} condition\\n * @param {number} flags\\n * @return {?WebGLSync}\\n */\\nWebGL2RenderingContext.prototype.fenceSync = function(condition, flags) {};\\n\\n/**\\n * @param {?WebGLSync} sync\\n * @return {boolean}\\n */\\nWebGL2RenderingContext.prototype.isSync = function(sync) {};\\n\\n/**\\n * @param {?WebGLSync} sync\\n * @return {undefined}\\n */\\nWebGL2RenderingContext.prototype.deleteSync = function(sync) {};\\n\\n/**\\n * @param {!WebGLSync} sync\\n * @param {number} flags\\n * @param {number} timeout\\n * @return {undefined}\\n */\\nWebGL2RenderingContext.prototype.clientWaitSync = function(\\n    sync, flags, timeout) {};\\n\\n/**\\n * @param {!WebGLSync} sync\\n * @param {number} flags\\n * @param {number} timeout\\n * @return {undefined}\\n */\\nWebGL2RenderingContext.prototype.waitSync = function(sync, flags, timeout) {};\\n\\n/**\\n * @param {!WebGLSync} sync\\n * @param {number} pname\\n * @return {*}\\n */\\nWebGL2RenderingContext.prototype.getSyncParameter = function(sync, pname) {};\\n\\n/* Transform Feedback */\\n\\n/**\\n * @return {?WebGLTransformFeedback}\\n */\\nWebGL2RenderingContext.prototype.createTransformFeedback = function() {};\\n\\n/**\\n * @param {?WebGLTransformFeedback} tf\\n * @return {undefined}\\n */\\nWebGL2RenderingContext.prototype.deleteTransformFeedback = function(tf) {};\\n\\n/**\\n * @param {?WebGLTransformFeedback} tf\\n * @return {boolean}\\n */\\nWebGL2RenderingContext.prototype.isTransformFeedback = function(tf) {};\\n\\n/**\\n * @param {number} target\\n * @param {?WebGLTransformFeedback} tf\\n * @return {undefined}\\n */\\nWebGL2RenderingContext.prototype.bindTransformFeedback = function(\\n    target, tf) {};\\n\\n/**\\n * @param {number} primitiveMode\\n * @return {undefined}\\n */\\nWebGL2RenderingContext.prototype.beginTransformFeedback = function(\\n    primitiveMode) {};\\n\\n/**\\n * @return {undefined}\\n */\\nWebGL2RenderingContext.prototype.endTransformFeedback = function() {};\\n\\n/**\\n * @param {!WebGLProgram} program\\n * @param {!Array<string>} varyings\\n * @param {number} bufferMode\\n * @return {undefined}\\n */\\nWebGL2RenderingContext.prototype.transformFeedbackVaryings = function(\\n    program, varyings, bufferMode) {};\\n\\n/**\\n * @param {!WebGLProgram} program\\n * @param {number} index\\n * @return {?WebGLActiveInfo}\\n * @nosideeffects\\n */\\nWebGL2RenderingContext.prototype.getTransformFeedbackVarying = function(\\n    program, index) {};\\n\\n/**\\n * @return {undefined}\\n */\\nWebGL2RenderingContext.prototype.pauseTransformFeedback = function() {};\\n\\n/**\\n * @return {undefined}\\n */\\nWebGL2RenderingContext.prototype.resumeTransformFeedback = function() {};\\n\\n/* Uniform Buffer Objects and Transform Feedback Buffers */\\n\\n/**\\n * @param {number} target\\n * @param {number} index\\n * @param {?WebGLBuffer} buffer\\n * @return {undefined}\\n */\\nWebGL2RenderingContext.prototype.bindBufferBase = function(\\n    target, index, buffer) {};\\n\\n/**\\n * @param {number} target\\n * @param {number} index\\n * @param {?WebGLBuffer} buffer\\n * @param {number} offset\\n * @param {number} size\\n * @return {undefined}\\n */\\nWebGL2RenderingContext.prototype.bindBufferRange = function(\\n    target, index, buffer, offset, size) {};\\n\\n/**\\n * @param {number} target\\n * @param {number} index\\n * @return {*}\\n */\\nWebGL2RenderingContext.prototype.getIndexedParameter = function(\\n    target, index) {};\\n\\n/**\\n * @param {!WebGLProgram} program\\n * @param {!Array<string>} uniformNames\\n * @return {!Array<number>}\\n */\\nWebGL2RenderingContext.prototype.getUniformIndices = function(\\n    program, uniformNames) {};\\n\\n/**\\n * @param {!WebGLProgram} program\\n * @param {!Array<number>} uniformIndices\\n * @param {number} pname\\n * @return {*}\\n */\\nWebGL2RenderingContext.prototype.getActiveUniforms = function(\\n    program, uniformIndices, pname) {};\\n\\n/**\\n * @param {!WebGLProgram} program\\n * @param {string} uniformBlockName\\n * @return {number}\\n * @nosideeffects\\n */\\nWebGL2RenderingContext.prototype.getUniformBlockIndex = function(\\n    program, uniformBlockName) {};\\n\\n/**\\n * @param {!WebGLProgram} program\\n * @param {number} uniformBlockIndex\\n * @param {number} pname\\n * @return {*}\\n */\\nWebGL2RenderingContext.prototype.getActiveUniformBlockParameter = function(\\n    program, uniformBlockIndex, pname) {};\\n\\n/**\\n * @param {!WebGLProgram} program\\n * @param {number} uniformBlockIndex\\n * @return {?string}\\n * @nosideeffects\\n */\\nWebGL2RenderingContext.prototype.getActiveUniformBlockName = function(\\n    program, uniformBlockIndex) {};\\n\\n/**\\n * @param {!WebGLProgram} program\\n * @param {number} uniformBlockIndex\\n * @param {number} uniformBlockBinding\\n * @return {undefined}\\n */\\nWebGL2RenderingContext.prototype.uniformBlockBinding = function(\\n    program, uniformBlockIndex, uniformBlockBinding) {};\\n\\n/* Vertex Array Objects */\\n\\n/**\\n * @return {?WebGLVertexArrayObject}\\n */\\nWebGL2RenderingContext.prototype.createVertexArray = function() {};\\n\\n/**\\n * @param {?WebGLVertexArrayObject} vertexArray\\n * @return {undefined}\\n */\\nWebGL2RenderingContext.prototype.deleteVertexArray = function(vertexArray) {};\\n\\n/**\\n * @param {?WebGLVertexArrayObject} vertexArray\\n * @return {boolean}\\n */\\nWebGL2RenderingContext.prototype.isVertexArray = function(vertexArray) {};\\n\\n/**\\n * @param {?WebGLVertexArrayObject} array\\n * @return {undefined}\\n */\\nWebGL2RenderingContext.prototype.bindVertexArray = function(array) {};\\n\\n\\n/**\\n * @constructor\\n * @extends {WebGLObject}\\n */\\nfunction WebGLQuery() {}\\n\\n\\n/**\\n * @constructor\\n * @extends {WebGLObject}\\n */\\nfunction WebGLSampler() {}\\n\\n\\n/**\\n * @constructor\\n * @extends {WebGLObject}\\n */\\nfunction WebGLSync() {}\\n\\n\\n/**\\n * @constructor\\n * @extends {WebGLObject}\\n */\\nfunction WebGLTransformFeedback() {}\\n\\n\\n/**\\n * @constructor\\n * @extends {WebGLObject}\\n */\\nfunction WebGLVertexArrayObject() {}\\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 * @typedef {string}\\n * @see https://w3c.github.io/webappsec-referrer-policy/#enumdef-referrerpolicy\\n * Possible values: '', 'no-referrer', 'no-referrer-when-downgrade',\\n *  'same-origin', 'origin', 'strict-origin', 'origin-when-cross-origin',\\n *  'strict-origin-when-cross-origin', 'unsafe-url'\\n */\\nvar ReferrerPolicy;\\n\\n\\n/**\\n * @typedef {!Headers|!Array<!Array<string>>|!Object<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 {!IteratorIterable<!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 {!IteratorIterable<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 */\\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/** @type {boolean} */\\nRequest.prototype.isHistoryNavigation;\\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.integrity;\\n\\n/** @type {(undefined|!AbortSignal)} */\\nRequestInit.prototype.signal;\\n\\n/** @type {(undefined|null)} */\\nRequestInit.prototype.window;\\n\\n/**\\n * @typedef {string}\\n * @see https://fetch.spec.whatwg.org/#requesttype\\n *  Possible values: '', 'audio', 'font', 'image', 'script', 'style',\\n *  'track', 'video'\\n */\\nvar FetchRequestType;\\n\\n\\n/**\\n * @typedef {string}\\n * @see https://fetch.spec.whatwg.org/#requestdestination\\n * Possible values: '', 'document', 'embed', 'font', 'image', 'manifest',\\n *  'media', 'object', 'report', 'script', 'serviceworker', 'sharedworker',\\n *  'style', 'worker', 'xslt'\\n */\\nvar RequestDestination;\\n\\n\\n/**\\n * @typedef {string}\\n * @see https://fetch.spec.whatwg.org/#requestmode\\n * Possible values: 'navigate', 'same-origin', 'no-cors', 'cors'\\n */\\nvar RequestMode ;\\n\\n\\n/**\\n * @typedef {string}\\n * @see https://fetch.spec.whatwg.org/#requestcredentials\\n * Possible values: 'omit', 'same-origin', 'include'\\n */\\nvar RequestCredentials;\\n\\n\\n/**\\n * @typedef {string}\\n * @see https://fetch.spec.whatwg.org/#requestcache\\n *  Possible values: 'default', 'no-store', 'reload', 'no-cache', 'force-cache',\\n * 'only-if-cached'\\n */\\nvar RequestCache;\\n\\n\\n/**\\n * @typedef {string}\\n * @see https://fetch.spec.whatwg.org/#requestredirect\\n * Possible values: 'follow', 'error', 'manual'\\n */\\nvar RequestRedirect;\\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 * @typedef {string}\\n * @";
a.a+='see https://fetch.spec.whatwg.org/#responsetype\\n * Possible values: \'basic\', \'cors\', \'default\', \'error\', \'opaque\',\\n *  \'opaqueredirect\'\\n */\\nvar ResponseType;\\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 * The TransformStreamDefaultController class has methods that allow\\n * manipulation of the associated ReadableStream and WritableStream.\\n *\\n * This class cannot be directly constructed and is instead passed by the\\n * TransformStream to the methods of its transformer.\\n *\\n * @interface\\n * @see https://streams.spec.whatwg.org/#ts-default-controller-class\\n */\\nfunction TransformStreamDefaultController() {};\\n\\n/**\\n * @type {number}\\n * @see https://streams.spec.whatwg.org/#ts-default-controller-desired-size\\n */\\nTransformStreamDefaultController.prototype.desiredSize;\\n\\n/**\\n * @param {*} chunk\\n * @return {undefined}\\n * @see https://streams.spec.whatwg.org/#ts-default-controller-enqueue\\n */\\nTransformStreamDefaultController.prototype.enqueue = function(chunk) {};\\n\\n/**\\n * @param {*} reason\\n * @return {undefined}\\n * @see https://streams.spec.whatwg.org/#ts-default-controller-error\\n */\\nTransformStreamDefaultController.prototype.error = function(reason) {};\\n\\n/**\\n * @return {undefined}\\n * @see https://streams.spec.whatwg.org/#ts-default-controller-terminate\\n */\\nTransformStreamDefaultController.prototype.terminate = function() {};\\n\\n\\n/**\\n * @record\\n * @see https://streams.spec.whatwg.org/#transformer-api\\n */\\nfunction TransformStreamTransformer() {};\\n\\n/**\\n * @type {(undefined|\\n *     function(!TransformStreamDefaultController):(!IThenable<*>|undefined))}\\n */\\nTransformStreamTransformer.prototype.start;\\n\\n/**\\n * @type {(undefined|\\n *     function(*,\\n * !TransformStreamDefaultController):(!IThenable<*>|undefined))}\\n */\\nTransformStreamTransformer.prototype.transform;\\n\\n/**\\n * @type {(undefined|\\n *     function(!TransformStreamDefaultController):(!IThenable<*>|undefined))}\\n */\\nTransformStreamTransformer.prototype.flush;\\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 {undefined|boolean} */\\nPipeOptions.prototype.preventClose;\\n\\n/** @type {undefined|boolean} */\\nPipeOptions.prototype.preventAbort;\\n\\n/** @type {undefined|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;\\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/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 = $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.a+="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/includes';\\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', '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   * @suppress {reportUnknownTypes}\\n   */\\n  var polyfill = function() {\\n    return $jscomp.iteratorFromArray(\\n        this, function(i, v) { return [i, v]; });\\n  };\\n\\n  return polyfill;\\n}, 'es6', '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\\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   * @suppress {reportUnknownTypes, strictPrimitiveOperators}\\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', '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   * @suppress {reportUnknownTypes}\\n   */\\n  var polyfill = function(callback, opt_thisArg) {\\n    return $jscomp.findInternal(this, callback, opt_thisArg).v;\\n  };\\n\\n  return polyfill;\\n}, 'es6', '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   * @suppress {reportUnknownTypes}\\n   */\\n  var polyfill = function(callback, opt_thisArg) {\\n    return $jscomp.findInternal(this, callback, opt_thisArg).i;\\n  };\\n\\n  return polyfill;\\n}, 'es6', '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, number): 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   * @suppress {reportUnknownTypes}\\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      var k = 0;\\n      while (!(next = arrayLike.next()).done) {\\n        result.push(\\n            opt_mapFn.call(/** @type {?} */ (opt_thisArg), next.value, k++));\\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], i));\\n      }\\n    }\\n    return result;\\n  };\\n\\n  return polyfill;\\n}, 'es6', 'es3');\\n\",\"js/es6/array/includes.js\":\"/*\\n * Copyright 2017 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/object/is';\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Array.prototype.includes', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Polyfills Array.prototype.includes.\\n   *\\n   * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/includes\\n   *\\n   * @this {!IArrayLike<T>}\\n   * @param {T} searchElement\\n   * @param {number=} opt_fromIndex\\n   * @return {boolean}\\n   * @template T\\n   * @suppress {reportUnknownTypes}\\n   */\\n  var includes = function(searchElement, opt_fromIndex) {\\n    var array = this;\\n    if (array instanceof String) {\\n      array = /** @type {!IArrayLike} */ (String(array));\\n    }\\n    var len = array.length;\\n    var i = opt_fromIndex || 0;\\n    if (i < 0) {\\n      i = Math.max(i + len, 0);\\n    }\\n    for (; i < len; i++) {\\n      var element = array[i];\\n      if (element === searchElement || Object.is(element, searchElement)) {\\n        return true;\\n      }\\n    }\\n    return false;\\n  };\\n\\n  return includes;\\n}, 'es7', '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', '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', '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// NOTE: Although Array.prototype.values was added to the 2015 edition of the\\n// spec, we consider it an \\\"ES8\\\" feature because many browsers which are\\n// otherwise ES6-compatible, have not implemented it due to web compatibility\\n// issues. See https://bugs.chromium.org/p/chromium/issues/detail?id=615873\\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   * @suppress {reportUnknownTypes}\\n   */\\n  var polyfill = function() {\\n    return $jscomp.ite";
a.a+="ratorFromArray(this, function(k, v) { return v; });\\n  };\\n\\n  return polyfill;\\n}, 'es8', 'es3');\\n\",\"js/es6/async_generator_wrapper.js\":\"/*\\n * Copyright 2018 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 logic for transpiled Async Generators.\\n * @suppress {uselessCode}\\n */\\n'require base';\\n'require es6/promise';\\n'require es6/symbol';\\n'require es6/util/makeasynciterator';\\n\\n\\n/** @enum {number} */\\n$jscomp.AsyncGeneratorWrapper$ActionEnum = {\\n  /** Yield the value from the wrapper generator */\\n  YIELD_VALUE: 0,\\n  /** Yield each value from a delegate generator */\\n  YIELD_STAR: 1,\\n  /** Resolve the value as a Promise and continue execution */\\n  AWAIT_VALUE: 2,\\n};\\n\\n/**\\n * @param {!$jscomp.AsyncGeneratorWrapper$ActionEnum} action\\n * @param {VALUE} value\\n * @constructor\\n * @template VALUE\\n * @struct\\n * @suppress {reportUnknownTypes}\\n */\\n$jscomp.AsyncGeneratorWrapper$ActionRecord = function(action, value) {\\n  /**\\n   * @public\\n   * @const\\n   * @type {!$jscomp.AsyncGeneratorWrapper$ActionEnum}\\n   */\\n  this.action = action;\\n\\n  /**\\n   * @public\\n   * @const\\n   * @type {VALUE}\\n   */\\n  this.value = /** @type {VALUE} */ (value);\\n};\\n\\n/** @enum {string} */\\n$jscomp.AsyncGeneratorWrapper$GeneratorMethod = {\\n  NEXT: 'next', THROW: 'throw', RETURN: 'return',\\n};\\n\\n/**\\n * Records the details of a call to `next()`, `throw()`, or `return()`.\\n *\\n * One of these objects will be created for each call.\\n *\\n * @param {$jscomp.AsyncGeneratorWrapper$GeneratorMethod} method\\n *    Method to call on generator\\n * @param {?} param\\n *    Parameter for method called on generator\\n *\\n * @param {function(!IIterableResult<VALUE>)} resolve\\n *    Function to resolve the Promise associated with this frame.\\n * @param {function(?)} reject\\n *    Function to reject the Promise associated with this frame.\\n *\\n * @constructor\\n * @private\\n * @template VALUE\\n * @suppress {reportUnknownTypes}\\n */\\n$jscomp.AsyncGeneratorWrapper$ExecutionFrame_ = function(\\n    method, param, resolve, reject) {\\n  /** @type {$jscomp.AsyncGeneratorWrapper$GeneratorMethod} */\\n  this.method = method;\\n  /** @type {?} */\\n  this.param = param;\\n  /** @type {function(!IIterableResult<VALUE>)} */\\n  this.resolve = resolve;\\n  /** @type {function(?)} */\\n  this.reject = reject;\\n};\\n\\n/**\\n * @param {!$jscomp.AsyncGeneratorWrapper$ExecutionFrame_<VALUE>} frame\\n *    The frame at this position in the queue\\n * @param {$jscomp.AsyncGeneratorWrapper$ExecutionNode_<VALUE>} next\\n *    The node containing the frame to be executed after this one completes\\n *\\n * @constructor\\n * @private\\n * @template VALUE\\n */\\n$jscomp.AsyncGeneratorWrapper$ExecutionNode_ = function(frame, next) {\\n  /** @type {!$jscomp.AsyncGeneratorWrapper$ExecutionFrame_<VALUE>} */\\n  this.frame = frame;\\n  /** @type {$jscomp.AsyncGeneratorWrapper$ExecutionNode_<VALUE>} */\\n  this.next = next;\\n};\\n\\n/**\\n * A minimalistic queue backed by a linked-list.\\n *\\n * @constructor\\n * @private\\n * @template VALUE\\n */\\n$jscomp.AsyncGeneratorWrapper$ExecutionQueue_ = function() {\\n  /**\\n   * @type {$jscomp.AsyncGeneratorWrapper$ExecutionNode_<VALUE>}\\n   * @private\\n   */\\n  this.head_ = null;\\n\\n  /**\\n   *\\n   * @type {$jscomp.AsyncGeneratorWrapper$ExecutionNode_<VALUE>}\\n   * @private\\n   */\\n  this.tail_ = null;\\n};\\n\\n/**\\n * @return {boolean}\\n */\\n$jscomp.AsyncGeneratorWrapper$ExecutionQueue_.prototype.isEmpty = function() {\\n  return this.head_ === null;\\n};\\n\\n/**\\n * Returns the current head frame if it exists, otherwise throws Error.\\n *\\n * @return {!$jscomp.AsyncGeneratorWrapper$ExecutionFrame_<VALUE>}\\n * @throws {Error} if the queue is empty\\n */\\n$jscomp.AsyncGeneratorWrapper$ExecutionQueue_.prototype.first = function() {\\n  if (this.head_) {\\n    return this.head_.frame;\\n  } else {\\n    throw new Error('no frames in executionQueue');\\n  }\\n};\\n\\n/**\\n * Drops the current head frame off the head of the queue. Performs same\\n * operations as a theoretical \\\"pop\\\", but saves time by not storing or returning\\n * the popped frame.\\n *\\n * If the queue is empty, no operation is performed.\\n */\\n$jscomp.AsyncGeneratorWrapper$ExecutionQueue_.prototype.drop = function() {\\n  if (this.head_) {\\n    this.head_ = this.head_.next;\\n    if (!this.head_) {\\n      this.tail_ = null;\\n    }\\n  }\\n};\\n\\n/**\\n * @param {!$jscomp.AsyncGeneratorWrapper$ExecutionFrame_<VALUE>} newFrame\\n *    the new frame to be executed after all frames currently in the queue\\n */\\n$jscomp.AsyncGeneratorWrapper$ExecutionQueue_.prototype.enqueue = function(\\n    newFrame) {\\n  var node = new $jscomp.AsyncGeneratorWrapper$ExecutionNode_(newFrame, null);\\n  if (this.tail_) {\\n    this.tail_.next = node;\\n    this.tail_ = node;\\n  } else {\\n    this.head_ = node;\\n    this.tail_ = node;\\n  }\\n};\\n\\n/**\\n * @constructor\\n * @implements {AsyncGenerator<VALUE>}\\n * @implements {AsyncIterable<VALUE>}\\n * @template VALUE\\n * @suppress {reportUnknownTypes}\\n */\\n$jscomp.AsyncGeneratorWrapper = function(\\n    /** @type {!Generator<$jscomp.AsyncGeneratorWrapper$ActionRecord<VALUE>>} */\\n    generator) {\\n  /** @private */\\n  this.generator_ = generator;\\n\\n  /**\\n   * @private\\n   * @type {AsyncIterator<VALUE>}\\n   */\\n  this.delegate_ = null;\\n\\n  /**\\n   * @type {!$jscomp.AsyncGeneratorWrapper$ExecutionQueue_<VALUE>}\\n   * @private\\n   */\\n  this.executionQueue_ = new $jscomp.AsyncGeneratorWrapper$ExecutionQueue_();\\n\\n  $jscomp.initSymbolAsyncIterator();\\n\\n  /** @type {$jscomp.AsyncGeneratorWrapper<VALUE>} */\\n  this[Symbol.asyncIterator] =\\n      /** @return {$jscomp.AsyncGeneratorWrapper<VALUE>} */ function() {\\n        return this;\\n      };\\n\\n  var self = this;\\n\\n  /**\\n   * @this {undefined}\\n   * @param {!IIterableResult<VALUE>} record\\n   * @private\\n   */\\n  this.boundHandleDelegateResult_ = function(record) {\\n    self.handleDelegateResult_(record);\\n  };\\n\\n  /**\\n   * @this {undefined}\\n   * @param {*} thrownError\\n   * @private\\n   */\\n  this.boundHandleDelegateError_ = function(thrownError) {\\n    self.handleDelegateError_(thrownError);\\n  };\\n\\n  /**\\n   * @this {undefined}\\n   * @param {*} err\\n   * @private\\n   */\\n  this.boundRejectAndClose_ = function(err) {\\n    self.rejectAndClose_(err);\\n  };\\n};\\n\\n/**\\n * @param {!$jscomp.AsyncGeneratorWrapper$GeneratorMethod} method\\n * @param {?} param\\n * @return {!Promise<!IIterableResult<VALUE>>}\\n * @private\\n * @suppress {reportUnknownTypes}\\n */\\n$jscomp.AsyncGeneratorWrapper.prototype.enqueueMethod_ = function(\\n    method, param) {\\n  var self = this;\\n  return new Promise(function(resolve, reject) {\\n    var wasEmpty = self.executionQueue_.isEmpty();\\n    self.executionQueue_.enqueue(\\n        new $jscomp.AsyncGeneratorWrapper$ExecutionFrame_(\\n            method, param, resolve, reject));\\n    if (wasEmpty) {\\n      self.runFrame_();\\n    }\\n  });\\n};\\n\\n/**\\n * @override\\n * @param {?=} opt_value\\n * @return {!Promise<!IIterableResult<VALUE>>}\\n * @suppress {reportUnknownTypes}\\n */\\n$jscomp.AsyncGeneratorWrapper.prototype.next = function(opt_value) {\\n  return this.enqueueMethod_(\\n      $jscomp.AsyncGeneratorWrapper$GeneratorMethod.NEXT, opt_value);\\n};\\n\\n/**\\n * @override\\n * @param {VALUE} value\\n * @return {!Promise<!IIterableResult<VALUE>>}\\n * @suppress {reportUnknownTypes}\\n */\\n$jscomp.AsyncGeneratorWrapper.prototype.return = function(value) {\\n  return this.enqueueMethod_(\\n      $jscomp.AsyncGeneratorWrapper$GeneratorMethod.RETURN,\\n      new $jscomp.AsyncGeneratorWrapper$ActionRecord(\\n          $jscomp.AsyncGeneratorWrapper$ActionEnum.YIELD_VALUE, value));\\n};\\n\\n/**\\n * @override\\n * @param {*=} exception\\n * @return {!Promise<!IIterableResult<VALUE>>}\\n * @suppress {reportUnknownTypes}\\n */\\n$jscomp.AsyncGeneratorWrapper.prototype.throw = function(exception) {\\n  return this.enqueueMethod_(\\n      $jscomp.AsyncGeneratorWrapper$GeneratorMethod.THROW, exception);\\n};\\n\\n/**\\n * Recursively executes all frames in the executionQueue until it is empty.\\n * Frames that are added to the queue while execution is being performed will\\n * be executed when they are reached.\\n *\\n * In order to guarantee each frame in the entire queue will be processed\\n * exactly once, each branch in runDelegateFrame and runGeneratorFrame should\\n * conclude with the following specification:\\n *\\n * If the frame is ready to be resolved/rejected:\\n *\\n *  1. Resolve or reject the frame.\\n *  2. Drop the frame from the head of the queue.\\n *  3. End with a call to runFrame.\\n *\\n * Otherwise, if another action must be performed:\\n *\\n *  1. Mutate the frame's method and param to reflect the next action.\\n *  2. End with a call to runFrame.\\n *\\n * @private\\n * @suppress {reportUnknownTypes}\\n */\\n$jscomp.AsyncGeneratorWrapper.prototype.runFrame_ = function() {\\n  if (!this.executionQueue_.isEmpty()) {\\n    try {\\n      if (this.delegate_) {\\n        this.runDelegateFrame_();\\n      } else {\\n        this.runGeneratorFrame_();\\n      }\\n    } catch (err) {\\n      this.rejectAndClose_(err);\\n    }\\n  }\\n};\\n\\n/**\\n * For safety, all branches should meet invariants listed in runFrame.\\n *\\n * @private\\n * @suppress {reportUnknownTypes}\\n */\\n$jscomp.AsyncGeneratorWrapper.prototype.runGeneratorFrame_ = function() {\\n  var self = this;\\n  var frame = this.executionQueue_.first();\\n  try {\\n    var genRec = this.generator_[frame.method](frame.param);\\n    if (genRec.value instanceof $jscomp.AsyncGeneratorWrapper$ActionRecord) {\\n      switch (genRec.value.action) {\\n        case $jscomp.AsyncGeneratorWrapper$ActionEnum.YIELD_VALUE:\\n          Promise.resolve(genRec.value.value)\\n              .then(\\n                  function(resolvedValue) {\\n                    frame.resolve({value: resolvedValue, done: genRec.done});\\n                    self.executionQueue_.drop();\\n                    self.runFrame_();\\n                  },\\n                  function(e) {\\n                    frame.reject(e);\\n                    self.executionQueue_.drop();\\n                    self.runFrame_();\\n                  })\\n              .catch(this.boundRejectAndClose_);\\n          return;\\n\\n        case $jscomp.AsyncGeneratorWrapper$ActionEnum.YIELD_STAR:\\n          self.delegate_ = $jscomp.makeAsyncIterator(genRec.value.value);\\n          frame.method = $jscomp.AsyncGeneratorWrapper$GeneratorMethod.NEXT;\\n          frame.param = undefined;\\n          self.runFrame_();\\n          return;\\n\\n        case $jscomp.AsyncGeneratorWrapper$ActionEnum.AWAIT_VALUE:\\n          Promise.resolve(genRec.value.value)\\n              .then(\\n                  function(resolvedValue) {\\n                    frame.method =\\n                        $jscomp.AsyncGeneratorWrapper$GeneratorMethod.NEXT;\\n                    frame.param = resolvedValue;\\n                    self.runFrame_();\\n                  },\\n                  function(thrownErr) {\\n                    frame.method =\\n                        $jscomp.AsyncGeneratorWrapper$GeneratorMethod.THROW;\\n                    frame.param = thrownErr;\\n                    self.runFrame_();\\n                  })\\n              .catch(this.boundRejectAndClose_);\\n          return;\\n\\n        default:\\n          throw new Error('Unrecognized AsyncGeneratorWrapper$ActionEnum');\\n      }\\n    }\\n    else {\\n      frame.resolve(genRec);\\n      self.executionQueue_.drop();\\n      self.runFrame_();\\n    }\\n  } catch (e) {\\n    frame.reject(e);\\n    self.executionQueue_.drop();\\n    self.runFrame_();\\n  }\\n};\\n\\n\\n/**\\n * For safety, all branches should meet invariants listed in runFrame.\\n *\\n * @private\\n * @suppress {reportUnknownTypes}\\n */\\n$jscomp.AsyncGeneratorWrapper.prototype.runDelegateFrame_ = function() {\\n  if (!this.delegate_) {\\n    throw new Error(\\\"no delegate to perform execution\\\");\\n  }\\n  var frame = this.executionQueue_.first();\\n  if (frame.method in this.delegate_) {\\n    try {\\n      this.delegate_[frame.method](frame.param)\\n          .then(this.boundHandleDelegateResult_, this.boundHandleDelegateError_)\\n          .catch(this.boundRejectAndClose_);\\n    } catch (err) {\\n      this.handleDelegateError_(err);\\n    }\\n  } else {\\n    this.delegate_ = null;\\n    this.runFrame_();\\n  }\\n};\\n\\n/**\\n * @param {!IIterableResult<VALUE>} record\\n * @private\\n * @suppress {reportUnknownTypes}\\n */\\n$jscomp.AsyncGeneratorWrapper.prototype.handleDelegateResult_ = function(\\n    record) {\\n  var frame = this.executionQueue_.first();\\n  if (record.done === true) {\\n    // Delegate is done. Its return value becomes the value of the `yield*`\\n    // expression. We must continue the async generator as if next() were called\\n    // with that value here.\\n    this.delegate_ = null;\\n    frame.method = $jscomp.AsyncGeneratorWrapper$GeneratorMethod.NEXT;\\n    frame.param = record.value;\\n    this.runFrame_();\\n  } else {\\n    frame.resolve({value: record.value, done: false});\\n    this.executionQueue_.drop();\\n    this.runFrame_();\\n  }\\n};\\n\\n/**\\n * @param {*} thrownError\\n * @private\\n * @suppress {reportUnknownTypes}\\n */\\n$jscomp.AsyncGeneratorWrapper.prototype.handleDelegateError_ = function(\\n    thrownError) {\\n  var frame = this.executionQueue_.first();\\n  // The delegate threw an exception or rejected a promise, so we must continue\\n  // our generator as if the `yield *` threw the exception.\\n  this.delegate_ = null;\\n  frame.method = $jscomp.AsyncGeneratorWrapper$GeneratorMethod.THROW;\\n  frame.param = thrownError;\\n  this.runFrame_();\\n};\\n\\n/**\\n * Rejects the current frame and closes the generator.\\n *\\n * @param {*} err Error causing the rejection\\n * @private\\n */\\n$jscomp.AsyncGeneratorWrapper.prototype.rejectAndClose_ = function(err) {\\n  if (!this.executionQueue_.isEmpty()) {\\n    this.executionQueue_.first().reject(err);\\n    this.executionQueue_.drop();\\n  }\\n\\n  if (this.delegate_ && 'return' in this.delegate_) {\\n    this.delegate_['return'](undefined);\\n    this.delegate_ = null;\\n  }\\n  this.generator_['return'](undefined);\\n\\n  // Keep processing all frames remaining in the queue.\\n  // Note: Some of these frames might be throw requests, but our backing\\n  // generator will handle these appropriately.\\n  this.runFrame_();\\n};\\n\",\"js/es6/conformance.js\":\"/*\\n * Copyright 2017 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/global';\\n\\n\\n/**\\n * @fileoverview Check one of the most obscure features of ES6 as a proxy\\n * for full conformance.  If this is enabled, this test is used instead of\\n * larger, more specific conformance tests.\\n */\\n\\n/**\\n * Check ES6 conformance by checking an obscure detail of Proxy that\\n * wasn't implemented correctly until after all other ES6 features in\\n * most browsers.\\n * @return {boolean} Whether Proxy works correctly.\\n * @suppress {reportUnknownTypes}\\n */\\n$jscomp.checkEs6ConformanceViaProxy = function() {\\n  try {\\n    var proxied = {};\\n    var proxy = Object.create(new $jscomp.global['Proxy'](proxied, {\\n      'get': function (target, key, receiver) {\\n        return target == proxied && key == 'q' && receiver == proxy;\\n      }\\n    }));\\n    return proxy['q'] === true;\\n  } catch (err) {\\n    return false;\\n  }\\n};\\n\\n/**\\n * If this is true, assume that a runtime";
a.a+=" which implements Proxy also\\n * implements the rest of the ECMAScript 2015 spec.\\n * @define {boolean}\\n */\\n$jscomp.USE_PROXY_FOR_ES6_CONFORMANCE_CHECKS = false;\\n\\n/**\\n * Whether the runtime implements the entire ECMAScript 2015 spec.\\n * @const {boolean}\\n */\\n$jscomp.ES6_CONFORMANCE =\\n    $jscomp.USE_PROXY_FOR_ES6_CONFORMANCE_CHECKS &&\\n    $jscomp.checkEs6ConformanceViaProxy();\\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'require es6/promise';\\n'require es6/generator_engine';\\n\\n/**\\n * Handles 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$this = this;\\n *   let $jscomp$async$arguments = arguments;\\n *   let $jscomp$async$super$get$x = () => super.x;\\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 *     // - super.x replaced with $jscomp$async$super$get$x()\\n *     // - super.x(5) replaced with  $jscomp$async$super$get$x()\\n *     //      .call($jscomp$async$this, 5)\\n *   }\\n *   return $jscomp.executeAsyncGenerator($jscomp$async$generator());\\n * }\\n * ```\\n * @param {!Generator<?>} generator\\n * @return {!Promise<?>}\\n * @suppress {reportUnknownTypes}\\n */\\n$jscomp.asyncExecutePromiseGenerator = 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\\n/**\\n * Handles the execution of a generator function returning promises.\\n *\\n * An async function, foo(a, b), will be rewritten as:\\n *\\n * ```\\n * function foo(a, b) {\\n *   let $jscomp$async$this = this;\\n *   let $jscomp$async$arguments = arguments;\\n *   let $jscomp$async$super$get$x = () => super.x;\\n *   return $jscomp.asyncExecutePromiseGeneratorFunction(\\n *       function* () {\\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 *         // - super.x replaced with $jscomp$async$super$get$x()\\n *         // - super.x(5) replaced with  $jscomp$async$super$get$x()\\n *         //      .call($jscomp$async$this, 5)\\n *       });\\n * }\\n * ```\\n * @param {function(): !Generator<?>} generatorFunction\\n * @return {!Promise<?>}\\n * @suppress {reportUnknownTypes}\\n */\\n$jscomp.asyncExecutePromiseGeneratorFunction = function(generatorFunction) {\\n  return $jscomp.asyncExecutePromiseGenerator(generatorFunction());\\n};\\n\\n/**\\n * Handles the execution of a state machine program that represents transpiled\\n * async function.\\n *\\n * @final\\n * @param {function(!$jscomp.generator.Context<?>): (void|{value: ?})} program\\n * @return {!Promise<?>}\\n * @suppress {reportUnknownTypes, visibility}\\n */\\n$jscomp.asyncExecutePromiseGeneratorProgram = function(program) {\\n  return $jscomp.asyncExecutePromiseGenerator(\\n      new $jscomp.generator.Generator_(\\n          new $jscomp.generator.Engine_(\\n              program)));\\n};\\n\",\"js/es6/generator_engine.js\":\"/*\\n * Copyright 2018 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/symbol';\\n'require es6/util/setprototypeof';\\n'require es6/util/makeiterator';\\n\\n/**\\n * @fileoverview Implementation for $jscomp.generator\\n *\\n * This closure-compiler internal JavaScript library provides an ES3-compatible\\n * API for writing generator functions using a minimum of boilerplate.\\n *\\n * Example:\\n * ```javascript\\n * // yields numbers starting with the given value, then incrementing by the\\n * // value supplied to the next() method until the computed value is <= min or\\n * // >= max. Then it returns the total number of times it yielded.\\n * // If the client code calls throw(), the error will be logged and then\\n * // yielded, but the generator won't terminate.\\n * function *es6Definition(start, min, max) {\\n *   let currentValue = start;\\n *   let yieldCount = 0;\\n *   while (currentValue > min && currentValue < max) {\\n *     try {\\n *       currentValue += yield(currentValue);\\n *     } catch (e) {\\n *       yield(e);\\n *       console.log('client threw error', e);\\n *     } finally {\\n *       yieldCount++;\\n *     }\\n *   }\\n *   return [yieldCount, currentValue];\\n * }\\n *\\n * function es3Definition(start, min, max) {\\n *   var currentValue;\\n *   var yieldCount;\\n *   var e;\\n *\\n *   return $jscomp.generator.createGenerator(\\n *       es3Definition,\\n *       function (context$) {\\n *         switch (context$.nextAddress) {\\n *           case 1: // execution always starts with 1\\n *             currentValue = start;\\n *             yieldCount = 0;\\n *             // fall-through\\n *\\n *           case 2:\\n *             if (!(currentValue > min && currentValue < max)) {\\n *               // exit while loop:\\n *               return context$.jumpTo(3);\\n *             }\\n *             // try {\\n *             JSCompiler_temp_const$jscomp$1 = currentValue;\\n *             context$.setCatchFinallyBlocks(4, 5);\\n *             return context$.yield(currentValue, 7);\\n *\\n *           case 7:\\n *             currentValue =\\n *                 JSCompiler_temp_const$jscomp$1 + context$.yieldResult;\\n *             // fall-through: execute finally block\\n *\\n *           case 5: // finally block start\\n *             context$.enterFinallyBlock();\\n *             yieldCount++;\\n *             return context$.leaveFinallyBlock(6);\\n *\\n *           case 4: // catch block start\\n *             e = context$.enterCatchBlock();\\n *             return context$.yield(e, 8);\\n *\\n *           case 8: // finish catch block\\n *             console.log('client threw error', e);\\n *             return context$.jumpTo(5);\\n *\\n *           case 6:\\n *             context$.jumpTo(2);\\n *             break;\\n *\\n *           case 3:\\n *             // come back here when while loop block exits\\n *             return context$.return([yieldCount, currentValue]);\\n *         }\\n *       }\\n *   });\\n * };\\n * ```\\n */\\n\\n/** @const */\\n$jscomp.generator = {};\\n\\n/**\\n * Ensures that the iterator result is actually an object.\\n *\\n * @private\\n * @final\\n * @param {*} result\\n * @return {void}\\n * @throws {TypeError} if the result is not an instenace of Object.\\n */\\n$jscomp.generator.ensureIteratorResultIsObject_ = function(result) {\\n  if (result instanceof Object) {\\n    return;\\n  }\\n  throw new TypeError('Iterator result ' + result + ' is not an object');\\n};\\n\\n\\n/**\\n * Tracks state machine state used by generator.Engine.\\n *\\n * @template VALUE\\n * @constructor\\n * @final\\n * @struct\\n */\\n$jscomp.generator.Context = function() {\\n  /**\\n   * Whether the generator program is being executed at the moment in the\\n   * current context. Is used to prevent reentrancy.\\n   *\\n   * @private\\n   * @type {boolean}\\n   */\\n  this.isRunning_ = false;\\n\\n  /**\\n   * An iterator that should yield all its values before the main program can\\n   * continue.\\n   *\\n   * @private\\n   * @type {?Iterator<VALUE>}\\n   */\\n  this.yieldAllIterator_ = null;\\n\\n  /**\\n   * The value that will be sent to the program as the result of suspended\\n   * yield expression.\\n   *\\n   * @type {?}\\n   */\\n  this.yieldResult = undefined;\\n\\n  /**\\n   * The next address where the state machine execution should be resumed.\\n   *\\n   * <p>Program execution starts at 1 and ends at 0.\\n   *\\n   * @type {number}\\n   */\\n  this.nextAddress = 1;\\n\\n  /**\\n   * The address that should be executed once an exception is thrown.\\n   *\\n   * <p>Value of 0 means no catch block exist that would handles an exception.\\n   *\\n   * @private\\n   * @type {number}\\n   */\\n  this.catchAddress_ = 0;\\n\\n  /**\\n   * The address that should be executed once the result is being returned\\n   * or if the exception is thrown and there is no catchAddress specified.\\n   *\\n   * <p>Value of 0 means no finally block is set.\\n   *\\n   * @private\\n   * @type {number}\\n   */\\n  this.finallyAddress_ = 0;\\n\\n  /**\\n   * Stores information for the runtime propagation of values and control\\n   * flow such as the behaviour of statements (break, continue, return and\\n   * throw) that perform nonlocal transfers of control.\\n   *\\n   * @private\\n   * @type {null|{return: VALUE}|{exception, isException: boolean}|{jumpTo: number}}.\\n   */\\n  this.abruptCompletion_ = null;\\n\\n  /**\\n   * The preserved abruptCompletion_ when entering a `finally` block. If\\n   * the `finally` block completes normally the preserved abruptCompletion_ is\\n   * restored:\\n   * <pre>\\n   * try {\\n   * } finally {  // nesting level 0\\n   *   // abruptCompletion_ is saved in finallyContexts_[0]\\n   *   try {\\n   *   } finally {  // nesting level 1\\n   *     // abruptCompletion_ is saved in finallyContexts_[1]\\n   *     ...\\n   *     // abruptCompletion_ is restored from finallyContexts_[1]\\n   *   }\\n   *   // abruptCompletion_ is restored from finallyContexts_[0]\\n   * }\\n   * <pre>\\n   *\\n   * @private\\n   * @type {?Array<null|{return: VALUE}|{exception, isException: boolean}|{jumpTo: number}>}.\\n   */\\n  this.finallyContexts_ = null;\\n};\\n\\n/**\\n * Marks generator program as being run.\\n *\\n * @private\\n * @final\\n * @return {void}\\n * @throws {TypeError} if generator is already running.\\n */\\n$jscomp.generator.Context.prototype.start_ = function() {\\n  if (this.isRunning_) {\\n    throw new TypeError('Generator is already running');\\n  }\\n  this.isRunning_ = true;\\n};\\n\\n/**\\n *\\n *\\n * @private\\n * @final\\n * @return {void}\\n */\\n$jscomp.generator.Context.prototype.stop_ = function() {\\n  this.isRunning_ = false;\\n};\\n\\n/**\\n * Transfers program execution to an appropriate catch/finally block that\\n * should be executed if exception occurs.\\n *\\n * @private\\n * @final\\n * @return {void}\\n */\\n$jscomp.generator.Context.prototype.jumpToErrorHandler_ = function() {\\n  this.nextAddress = this.catchAddress_ || this.finallyAddress_;\\n};\\n\\n/**\\n * Sets the result of suspended yield expression.\\n *\\n * @private\\n * @final\\n * @param {?=} value The value to send to the generator.\\n * @return {void}\\n * @suppress {reportUnknownTypes}\\n */\\n$jscomp.generator.Context.prototype.next_ = function(value) {\\n  this.yieldResult = value;\\n};\\n\\n/**\\n * Throws exception as the result of suspended yield.\\n *\\n * @private\\n * @final\\n * @param {?} e\\n * @return {void}\\n * @suppress {reportUnknownTypes}\\n */\\n$jscomp.generator.Context.prototype.throw_ = function(e) {\\n  this.abruptCompletion_ = {exception: e, isException: true};\\n  this.jumpToErrorHandler_();\\n};\\n\\n/**\\n * Returns a value as the result of generator function.\\n *\\n * @final\\n * @param {VALUE=} value\\n * @return {void}\\n * @suppress {reportUnknownTypes}\\n */\\n$jscomp.generator.Context.prototype.return = function(value) {\\n  this.abruptCompletion_ = {return: /** @type {VALUE} */ (value)};\\n  this.nextAddress = this.finallyAddress_;\\n};\\n\\n/**\\n * Changes the context so the program execution will continue from the given\\n * state after executing nessesary pending finally blocks first.\\n *\\n * @final\\n * @param {number} nextAddress The state that should be run.\\n * @return {void}\\n */\\n$jscomp.generator.Context.prototype.jumpThroughFinallyBlocks = function(\\n    nextAddress) {\\n  this.abruptCompletion_ = {jumpTo: nextAddress};\\n  this.nextAddress = this.finallyAddress_;\\n};\\n\\n/**\\n * Pauses the state machine program assosiated with generator function to yield\\n * a value.\\n *\\n * @final\\n * @param {VALUE} value The value to return from the generator function via\\n *     the iterator protocol.\\n * @param {number} resumeAddress The address where the program should resume.\\n * @return {{value: VALUE}}\\n * @suppress {reportUnknownTypes}\\n */\\n$jscomp.generator.Context.prototype.yield = function(value, resumeAddress) {\\n  this.nextAddress = resumeAddress;\\n  return {value: value};\\n};\\n\\n/**\\n * Causes the state machine program to yield all values from an iterator.\\n *\\n * @final\\n * @param {string|!Iterator<VALUE>|!Iterable<VALUE>|!Arguments<VALUE>} iterable\\n *     Iterator to yeild all values from.\\n * @param {number} resumeAddress The address where the program should resume.\\n * @return {void | {value: VALUE}}\\n * @suppress {reportUnknownTypes}\\n */\\n$jscomp.generator.Context.prototype.yieldAll = function(\\n    iterable, resumeAddress) {\\n  /** @const @type {!Iterator<VALUE>} */ var iterator =\\n      $jscomp.makeIterator(iterable);\\n  /** @const */ var result = iterator.next();\\n  $jscomp.generator.ensureIteratorResultIsObject_(result);\\n  if (result.done) {\\n    // If `someGenerator` in `x = yield *someGenerator` completes immediately,\\n    // x is the return value of that generator.\\n    this.yieldResult = result.value;\\n    this.nextAddress = resumeAddress;\\n    return;\\n  }\\n  this.yieldAllIterator_ = iterator;\\n  return this.yield(result.value, resumeAddress);\\n};\\n\\n/**\\n * Changes the context so the program execution will continue from the given\\n * state.\\n *\\n * @final\\n * @param {number} nextAddress The state the program should continue\\n * @return {void}\\n */\\n$jscomp.generator.Context.prototype.jumpTo = function(nextAddress) {\\n  this.nextAddress = nextAddress;\\n};\\n\\n/**\\n * Changes the context so the program execution ends.\\n *\\n * @final\\n * @return {void}\\n */\\n$jscomp.generator.Context.prototype.jumpToEnd = function() {\\n  this.nextAddress = 0;\\n};\\n\\n/**\\n * Sets catch / finally handlers.\\n * Used for try statements with catch blocks.\\n *\\n * @final\\n * @param {number} catchAddress The address of the catch block.\\n * @param {number=} finallyAddress The address of the finally block.\\n * @return {void}\\n */\\n$jscomp.generator.Context.prototype.setCatchFinallyBlocks = function(\\n    catchAddress, finallyAddress) {\\n  this.catchAddress_ = catchAddress;\\n  if (finallyAddress != undefined) {\\n    this.finallyAddress_ = finallyAddress;\\n  }\\n};\\n\\n/**\\n * Sets finally handler.\\n * Used for try statements without catch blocks.\\n *\\n * @const\\n * @param {number=} finallyAddress The address of the finally block or 0.\\n * @return {void}\\n */\\n$jscomp.generator.Context.prototype.setFinallyBlock = function(finallyAddress) {\\n  this.catchAddress_ = 0;\\n  this.finallyAddress_ = finallyAddress || 0;\\n};\\n\\n/**\\n * Sets a catch handler and jumps to the next address.\\n * Used for try statements without finally blocks.\\n *\\n * @final\\n * @param {number} nextAddress The state that should be run next.\\n * @param {number=} catchAd";
a.a+="dress The address of the catch block or 0.\\n * @return {void}\\n */\\n$jscomp.generator.Context.prototype.leaveTryBlock = function(\\n    nextAddress, catchAddress) {\\n  this.nextAddress = nextAddress;\\n  this.catchAddress_ = catchAddress || 0;\\n};\\n\\n/**\\n * Initializes exception variable in the beginning of catch block.\\n *\\n * @final\\n * @param {number=} nextCatchBlockAddress The address of the next catch block\\n *     that is preceded by no finally blocks.\\n * @return {?} Returns an exception that was thrown from \\\"try\\\" block.\\n * @suppress {reportUnknownTypes}\\n */\\n$jscomp.generator.Context.prototype.enterCatchBlock = function(\\n    nextCatchBlockAddress) {\\n  this.catchAddress_ = nextCatchBlockAddress || 0;\\n  /** @const */ var exception =\\n      /** @type {{exception, isException: boolean}} */ (this.abruptCompletion_)\\n          .exception;\\n  this.abruptCompletion_ = null;\\n  return exception;\\n};\\n\\n/**\\n * Saves the current throw context which will be restored at the end of finally\\n * block.\\n *\\n * @final\\n * @param {number=} nextCatchAddress\\n * @param {number=} nextFinallyAddress\\n * @param {number=} finallyDepth The nesting level of current \\\"finally\\\" block.\\n * @return {void}\\n */\\n$jscomp.generator.Context.prototype.enterFinallyBlock = function(\\n    nextCatchAddress, nextFinallyAddress, finallyDepth) {\\n  if (!finallyDepth) {\\n    this.finallyContexts_ = [this.abruptCompletion_];\\n  } else {\\n    /**\\n     * @type {!Array<null|{return: VALUE}|{exception, isException: boolean}|{jumpTo: number}>}\\n     */\\n    (this.finallyContexts_)[finallyDepth] = this.abruptCompletion_;\\n  }\\n  this.catchAddress_ = nextCatchAddress || 0;\\n  this.finallyAddress_ = nextFinallyAddress || 0;\\n};\\n\\n/**\\n * Figures out whether the program execution should continue normally, or jump\\n * to the closest catch/finally block.\\n *\\n * @final\\n * @param {number} nextAddress The state that should be run next.\\n * @param {number=} finallyDepth The nesting level of current \\\"finally\\\" block.\\n * @return {void}\\n * @suppress {strictMissingProperties}\\n */\\n$jscomp.generator.Context.prototype.leaveFinallyBlock = function(\\n    nextAddress, finallyDepth) {\\n  // There could be trailing finally contexts if a nested finally throws an\\n  // exception or return.\\n  // e.g.\\n  // try {\\n  //   ...\\n  //   return 1;\\n  // } finally {\\n  //   // finallyDepth == 0\\n  //   // finallyContext == [{return: 1}]\\n  //   try {\\n  //     ...\\n  //     try {\\n  //       throw new Error(2);\\n  //     } finally {\\n  //       // finallyDepth == 1\\n  //       // finallyContext == [{return: 1}, {exception: Error(2)}]\\n  //       try {\\n  //         throw new Error(3);\\n  //       } finally {\\n  //         // finallyDepth == 2\\n  //         // finallyContext == [\\n  //         //     {return: 1},\\n  //         //     {exception: Error(2)},\\n  //         //     {exception: Error(3)}\\n  //         // ]\\n  //         throw new Error(4); // gets written in abruptCompletion_\\n  //         // leaveFinallyBlock() never gets called here\\n  //       }\\n  //       // leaveFinallyBlock() never gets called here\\n  //     }\\n  //   } catch (e) {\\n  //      // swallow error\\n  //      // abruptCompletion becomes null\\n  //   } finally {\\n  //     // finallyDepth == 1\\n  //     // finallyContext == [\\n  //     //     {return: 1},\\n  //     //     null, // overwritten, because catch swallowed the error\\n  //     //     {exception: Error(3)}  // left over\\n  //     // ]\\n  //     // leaveFinallyBlock() called here\\n  //     // finallyContext == [{return: 1}]\\n  //     // abruptCompletion == null\\n  //   }\\n  //   // leaveFinallyBlock() called here\\n  //   // finallyContext = []\\n  //   // abruptCompletion == {return: 1};\\n  // }\\n  /** @const */ var preservedContext =\\n      /**\\n       * @type {!Array<null|{return: VALUE}|{exception, isException: boolean}|{jumpTo: number}>}\\n       */\\n      (this.finallyContexts_).splice(finallyDepth || 0)[0];\\n  /** @const */ var abruptCompletion = this.abruptCompletion_ =\\n      this.abruptCompletion_ || preservedContext;\\n  if (abruptCompletion) {\\n    if (abruptCompletion.isException) {\\n      return this.jumpToErrorHandler_();\\n    }\\n    // Check if there is a pending break/continue jump that is not preceded by\\n    // finally blocks that should be executed before.\\n    // We always generate case numbers for the start and end of loops before\\n    // numbers for anything they contain, so any finally blocks within will be\\n    // guaranteed to have higher addresses than the loop break and continue\\n    // positions.\\n    // e.g.\\n    // l1: while (...) {            // generated addresses: 100: break l1;\\n    //       try {                  // generated addresses: 101: finally,\\n    //         try {                // generated addresses: 102: finally,\\n    //           l2: while (...) {  // generated addresses: 103: break l2;\\n    //\\n    //                 if (...) {\\n    //                   break l1;  // becomes\\n    //                              // $context.jumpThroughFinallyBlocks(101),\\n    //                              // since 2 finally blocks must be crossed\\n    //                 }\\n    //                 break l2;    // becomes $context.jumpTo(103)\\n    //               }\\n    //         } finally {\\n    //           // When leaving this finally block:\\n    //           // 1. We keep the abrupt completion indicating 'break l1'\\n    //           // 2. We jump to the enclosing finally block.\\n    //         }\\n    //       } finally {\\n    //         // When leaving this finally block:\\n    //         // 1. We complete the abruptCompletion indicating 'break l1' by\\n    //         //   jumping to the loop start address.\\n    //         // 2. Abrupt completion is now null, so normal execution\\n    //         //   continues from there.\\n    //       }\\n    //     }\\n    if (abruptCompletion.jumpTo != undefined &&\\n        this.finallyAddress_ < abruptCompletion.jumpTo) {\\n      this.nextAddress = abruptCompletion.jumpTo;\\n      this.abruptCompletion_ = null;\\n    } else {\\n      this.nextAddress = this.finallyAddress_;\\n    }\\n  } else {\\n    this.nextAddress = nextAddress;\\n  }\\n};\\n\\n/**\\n * Is used in transpilation of `for in` statements.\\n *\\n * <p><code>for (var i in obj) {...}</code> becomes:\\n * <pre>\\n * for (var i, $for$in = context$.forIn(obj);\\n *      (i = $for$in.getNext()) != null;\\n *      ) {\\n *   ...\\n * }\\n * </pre>\\n *\\n * @final\\n * @param {?} object\\n * @return {!$jscomp.generator.Context.PropertyIterator}\\n * @suppress {reportUnknownTypes}\\n */\\n$jscomp.generator.Context.prototype.forIn = function(object) {\\n  return new $jscomp.generator.Context.PropertyIterator(object);\\n};\\n\\n/**\\n * @constructor\\n * @final\\n * @struct\\n * @param {?} object\\n * @suppress {reportUnknownTypes}\\n */\\n$jscomp.generator.Context.PropertyIterator = function(object) {\\n  /**\\n   * @private\\n   * @const\\n   * @type {?}\\n   */\\n  this.object_ = object;\\n\\n  /**\\n   * @private\\n   * @const\\n   * @type {!Array<string>}\\n   */\\n  this.properties_ = [];\\n\\n  for (var property in /** @type {!Object} */ (object)) {\\n    this.properties_.push(property);\\n  }\\n  this.properties_.reverse();\\n};\\n\\n/**\\n * Returns the next object's property that is still valid.\\n *\\n * @final\\n * @return {?string}\\n * @suppress {reportUnknownTypes}\\n */\\n$jscomp.generator.Context.PropertyIterator.prototype.getNext = function() {\\n  // The JS spec does not require that properties added after the loop begins\\n  // be included in the loop, but it does require that the current property\\n  // must still exist on the object when the loop iteration starts.\\n  while (this.properties_.length > 0) {\\n    /** @const */ var property = this.properties_.pop();\\n    if (property in /** @type {!Object} */ (this.object_)) {\\n      return property;\\n    }\\n  }\\n  return null;\\n};\\n\\n/**\\n * Engine handling execution of a state machine associated with the generator\\n * program and its context.\\n *\\n * @private\\n * @template VALUE\\n * @constructor\\n * @final\\n * @struct\\n * @param {function(!$jscomp.generator.Context<VALUE>): (void|{value: VALUE})} program\\n */\\n$jscomp.generator.Engine_ = function(program) {\\n  /**\\n   * @private\\n   * @const\\n   * @type {!$jscomp.generator.Context<VALUE>}\\n   */\\n  this.context_ = new $jscomp.generator.Context();\\n\\n  /**\\n   * @private\\n   * @const\\n   * @type {function(!$jscomp.generator.Context<VALUE>): (void|{value: VALUE})}\\n   */\\n  this.program_ = program;\\n};\\n\\n/**\\n * Returns an object with two properties done and value.\\n * You can also provide a parameter to the next method to send a value to the\\n * generator.\\n *\\n * @private\\n * @final\\n * @param {?=} value The value to send to the generator.\\n * @return {!IIterableResult<VALUE>}\\n * @suppress {reportUnknownTypes}\\n */\\n$jscomp.generator.Engine_.prototype.next_ = function(value) {\\n  this.context_.start_();\\n  if (this.context_.yieldAllIterator_) {\\n    return this.yieldAllStep_(\\n        this.context_.yieldAllIterator_.next, value, this.context_.next_);\\n  }\\n  this.context_.next_(value);\\n  return this.nextStep_();\\n};\\n\\n/**\\n * Attempts to finish the generator with a given value.\\n *\\n * @private\\n * @final\\n * @param {VALUE} value The value to return.\\n * @return {!IIterableResult<VALUE>}\\n * @suppress {reportUnknownTypes}\\n */\\n$jscomp.generator.Engine_.prototype.return_ = function(value) {\\n  this.context_.start_();\\n  /** @const */ var yieldAllIterator = this.context_.yieldAllIterator_;\\n  if (yieldAllIterator) {\\n    /** @const @type {function(VALUE): !IIterableResult<VALUE>} */ var\\n        returnFunction =\\n            'return' in yieldAllIterator ? yieldAllIterator['return'] :\\n                                           function(v) {\\n                                             return {value: v, done: true};\\n                                           };\\n    return this.yieldAllStep_(returnFunction, value, this.context_.return);\\n  }\\n  this.context_.return(value);\\n  return this.nextStep_();\\n};\\n\\n/**\\n * Resumes the execution of a generator by throwing an error into it and\\n * returns an object with two properties done and value.\\n *\\n * @private\\n * @final\\n * @param {?} exception The exception to throw.\\n * @return {!IIterableResult<VALUE>}\\n * @suppress {reportUnknownTypes}\\n */\\n$jscomp.generator.Engine_.prototype.throw_ = function(exception) {\\n  this.context_.start_();\\n  if (this.context_.yieldAllIterator_) {\\n    return this.yieldAllStep_(\\n        this.context_.yieldAllIterator_['throw'], exception,\\n        this.context_.next_);\\n  }\\n  this.context_.throw_(exception);\\n  return this.nextStep_();\\n};\\n\\n/**\\n * Redirects next/throw/return method calls to an iterator passed to \\\"yield *\\\".\\n *\\n * @private\\n * @final\\n * @template T\\n * @param {function(this:Iterator<VALUE>, T): !IIterableResult<VALUE>} action\\n * @param {T} value\\n * @param {function(this:$jscomp.generator.Context, VALUE): void} nextAction\\n * @return {!IIterableResult<VALUE>}\\n * @suppress {reportUnknownTypes}\\n */\\n$jscomp.generator.Engine_.prototype.yieldAllStep_ = function(\\n    action, value, nextAction) {\\n  try {\\n    /** @const */ var result = action.call(\\n        /** @type {!Iterator<VALUE>} */ (this.context_.yieldAllIterator_),\\n        value);\\n    $jscomp.generator.ensureIteratorResultIsObject_(result);\\n    if (!result.done) {\\n      this.context_.stop_();\\n      return result;\\n    }\\n    // After `x = yield *someGenerator()` x is the return value of the\\n    // generator, not a value passed to this generator by the next() method.\\n    /** @const */ var resultValue = result.value;\\n  } catch (e) {\\n    this.context_.yieldAllIterator_ = null;\\n    this.context_.throw_(e);\\n    return this.nextStep_();\\n  }\\n  this.context_.yieldAllIterator_ = null;\\n  nextAction.call(this.context_, resultValue);\\n  return this.nextStep_();\\n};\\n\\n/**\\n * Continues/resumes program execution until the next suspension point (yield).\\n *\\n * @private\\n * @final\\n * @return {!IIterableResult<VALUE>}\\n * @suppress {reportUnknownTypes, strictMissingProperties}\\n */\\n$jscomp.generator.Engine_.prototype.nextStep_ = function() {\\n  while (this.context_.nextAddress) {\\n    try {\\n      /** @const */ var yieldValue = this.program_(this.context_);\\n      if (yieldValue) {\\n        this.context_.stop_();\\n        return {value: yieldValue.value, done: false};\\n      }\\n    } catch (e) {\\n      this.context_.yieldResult = undefined;\\n      this.context_.throw_(e);\\n    }\\n  }\\n\\n  this.context_.stop_();\\n  if (this.context_.abruptCompletion_) {\\n    /** @const */ var abruptCompletion = this.context_.abruptCompletion_;\\n    this.context_.abruptCompletion_ = null;\\n    if (abruptCompletion.isException) {\\n      throw abruptCompletion.exception;\\n    }\\n    return {value: abruptCompletion.return, done: true};\\n  }\\n  return {value: /** @type {?} */ (undefined), done: true};\\n};\\n\\n/**\\n * The Generator object that is returned by a generator function and it\\n * conforms to both the iterable protocol and the iterator protocol.\\n *\\n * @private\\n * @template VALUE\\n * @constructor\\n * @final\\n * @implements {Generator<VALUE>}\\n * @param {!$jscomp.generator.Engine_<VALUE>} engine\\n * @suppress {reportUnknownTypes}\\n */\\n$jscomp.generator.Generator_ = function(engine) {\\n  /** @const @override */\\n  this.next = function(opt_value) {\\n    return engine.next_(opt_value);\\n  };\\n\\n  /** @const @override */\\n  this.throw = function(exception) {\\n    return engine.throw_(exception);\\n  };\\n\\n  /** @const @override */\\n  this.return = function(value) {\\n    return engine.return_(value);\\n  };\\n\\n  $jscomp.initSymbolIterator();\\n\\n  /** @this {$jscomp.generator.Generator_<VALUE>} */\\n  this[Symbol.iterator] = function() {\\n    return this;\\n  };\\n\\n  // TODO(skill): uncomment once Symbol.toStringTag is polyfilled:\\n  // this[Symbol.toStringTag] = 'Generator';\\n};\\n\\n/**\\n * Creates a generator backed up by Engine running a given program.\\n *\\n * @final\\n * @template VALUE\\n * @param {function(this:?, ...): (!Iterator<VALUE>|!Iterable<VALUE>)} generator\\n * @param {function(!$jscomp.generator.Context<VALUE>): (void|{value: VALUE})} program\\n * @return {!Generator<VALUE>}\\n * @suppress {reportUnknownTypes}\\n */\\n$jscomp.generator.createGenerator = function(generator, program) {\\n  /** @const */ var result =\\n      new $jscomp.generator.Generator_(new $jscomp.generator.Engine_(program));\\n  // The spec says that `myGenFunc() instanceof myGenFunc` must be true.\\n  // We'll make this work by setting the prototype before calling the\\n  // constructor every time. All of the methods of the object are defined on the\\n  // instance by the constructor, so this does no harm.\\n  // We also cast Generator_ to Object to hide dynamic inheritance from\\n  // jscompiler, it makes ConformanceRules$BanUnknownThis happy.\\n  if ($jscomp.setPrototypeOf) {\\n    /** @type {function(!Object, ?Object): !Object} */ ($jscomp.setPrototypeOf)(\\n        result, generator.prototype);\\n  }\\n  return result;\\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/conformance';\\n'require es6/symbol';\\n'require es6/util/makeiterator';\\n'require es6/weakmap';\\n'require util/defines';\\n'require util/owns';\\n'require util/polyfill';\\n\\n\\n/**\\n * Internal record type for entries.\\n * @record\\n * @template KEY, VALUE\\n * @suppress {reportUnknownTypes}\\n */\\n$jscomp.MapEntry = function() {\\n  /** @type {!$jscomp.MapEntry<KEY, VALUE>} */\\n  this.previous;\\n  /** @type {!$jscomp.MapEntry<KEY, VALUE>} */\\n  this.next;\\n  /** @type {?Object} */\\n  this.head;\\n  /** @type {KEY} */\\n  this.key;\\n  /** @type {VALUE} */\\n  this.value;\\n};\\n\\n\\n$jscomp.polyfill('Map',\\n    /**\\n     * @param {*} NativeMap\\n ";
a.a+="    * @return {*}\\n     * @suppress {reportUnknownTypes}\\n     */\\n    function(NativeMap) {\\n\\n  /**\\n   * Checks conformance of the existing Map.\\n   * @return {boolean} True if the browser's implementation conforms.\\n   * @suppress {missingProperties} \\\"entries\\\" unknown prototype\\n   */\\n  function isConformant() {\\n    if ($jscomp.ASSUME_NO_NATIVE_MAP ||\\n        !NativeMap ||\\n        typeof NativeMap != \\\"function\\\" ||\\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\\n  if ($jscomp.USE_PROXY_FOR_ES6_CONFORMANCE_CHECKS) {\\n    if (NativeMap && $jscomp.ES6_CONFORMANCE) return NativeMap;\\n  } else {\\n    if (isConformant()) return NativeMap;\\n  }\\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   * 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<!$jscomp.MapEntry<KEY, VALUE>>>} */\\n    this.data_ = {};\\n\\n    /** @private {!$jscomp.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    // normalize -0/+0 to +0\\n    key = key === 0 ? 0 : key;\\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      };\\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(this, /** @return {!Array<(KEY|VALUE)>} */ function(\\n        /** !$jscomp.MapEntry<KEY, VALUE> */ entry) {\\n      return ([entry.key, entry.value]);\\n    });\\n  };\\n\\n\\n  /** @override */\\n  PolyfillMap.prototype.keys = function() {\\n    return makeIterator(this, /** @return {KEY} */ function(\\n        /** !$jscomp.MapEntry<KEY, VALUE> */ entry) {\\n      return entry.key;\\n    });\\n  };\\n\\n\\n  /** @override */\\n  PolyfillMap.prototype.values = function() {\\n    return makeIterator(this, /** @return {VALUE} */ function(\\n        /** !$jscomp.MapEntry<KEY, VALUE> */ entry) {\\n      return entry.value;\\n    });\\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<!$jscomp.MapEntry<KEY, VALUE>>|undefined),\\n   *           index: number,\\n   *           entry: (!$jscomp.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(!$jscomp.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 {!$jscomp.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 {!$jscomp.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', '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 * @suppress {uselessCode}\\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/expm1';\\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', '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', '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', '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', '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', 'es3');\\n\",\"js/es6/math/cosh.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, ";
a.a+='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\', \'es3\');\\n","js/es6/math/expm1.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 Implements Math.expm1 polyfill\\n * @suppress {uselessCode}\\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\', \'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, 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      if (!max) return max; // Handle 0 and NaN before trying to divide.\\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\', \'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\', \'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\', \'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\', \'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\', \'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\', \'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\', \'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\', \'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\', \'es3\');\\n","js/es6/modules/runtime.js":"/*\\n * Copyright 2018 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 Light weight implementation of a module loader that is based on\\n * CommonJS.\\n *\\n * This is meant to be used by the Closure Library to help debug load transpiled\\n * ES6 modules. Closure can transpile ES6 modules to a function that is\\n * compatible with registerModule';
a.a+=". Then it can call the global $jscomp.require\\n * when it wants to retrieve a reference to the module object.\\n *\\n * Example:\\n * \\\"import {x} from './other.js'; export {x as Y}; use(x);\\\"\\n *\\n * Might be transpiled as:\\n *\\n * $jscomp.registerModule(function($$exports, $$require, $$module) {\\n *   Object.defineProperties($$exports, {\\n *     Y: enumerable: true, get: function() { return module$other.x }\\n *   });\\n *   const module$other = $$require('./other.js');\\n *   use(module$other.x);\\n * }, 'example.js', ['./other.js']);\\n *\\n * @suppress {uselessCode} The require statements below are not useless.\\n */\\n\\n'require base';\\n'require es6/map';\\n'require es6/set';\\n'require util/global';\\n\\n(function() {\\n/**\\n * @param {string} id\\n * @param {?=} opt_exports\\n *\\n * @struct @constructor @final\\n */\\nvar Module = function(id, opt_exports) {\\n  /** @const {string} */\\n  this.id = id;\\n  /** @type {?} */\\n  this.exports = opt_exports || {};\\n};\\n\\n\\n/**\\n * @param {?} other\\n */\\nModule.prototype.exportAllFrom = function(other) {\\n  var module = this;\\n  var define = {};\\n  for (var key in other) {\\n    if (key == 'default' || key in module.exports || key in define) {\\n      continue;\\n    }\\n    define[key] = {\\n      enumerable: true,\\n      get: (function(key) {\\n        return function() {\\n          return other[key];\\n        };\\n      })(key)\\n    };\\n  }\\n  $jscomp.global.Object.defineProperties(module.exports, define);\\n};\\n\\n\\n/**\\n * @param {?function(function(string), ?, !Module)} def The module definition\\n *     function which has the arguments (require, exports, module).\\n * @param {!Module} module\\n * @param {string} path\\n *\\n * @struct @constructor @final\\n */\\nvar CacheEntry = function(def, module, path) {\\n  /** @type {?function(function(string), ?, !Module)} */\\n  this.def = def;\\n  /** @type {!Module} */\\n  this.module = module;\\n  /** @type {string} */\\n  this.path = path;\\n  /** @const {!Set<string>} */\\n  this.blockingDeps = new Set();\\n};\\n\\n\\n/**\\n * Loads the module by calling its module definition function if it has not\\n * already been loaded.\\n *\\n * @return {?} The module's exports property.\\n */\\nCacheEntry.prototype.load = function() {\\n  if (this.def) {\\n    var def = this.def;\\n    this.def = null;\\n    callRequireCallback(def, this.module);\\n  }\\n\\n  return this.module.exports;\\n};\\n\\n\\n/**\\n * @param {function(function(string), ?, !Module)|function(function(string))}\\n *     callback A module definition function with arguments (require, exports,\\n *     module) or a require.ensure callback which has the argument (require).\\n * @param {!Module=} opt_module If provided then the callback is assumed to be\\n *     this module's definition function.\\n */\\nfunction callRequireCallback(callback, opt_module) {\\n  var oldPath = currentModulePath;\\n\\n  try {\\n    if (opt_module) {\\n      currentModulePath = opt_module.id;\\n      callback.call(\\n          opt_module, createRequire(opt_module), opt_module.exports,\\n          opt_module);\\n    } else {\\n      callback($jscomp.require);\\n    }\\n  } finally {\\n    currentModulePath = oldPath;\\n  }\\n}\\n\\n\\n/** @type {!Map<string, !CacheEntry>} */\\nvar moduleCache = new Map();\\n\\n\\n/** @type {string} */\\nvar currentModulePath = '';\\n\\n\\n/**\\n * Normalize a file path by removing redundant \\\"..\\\" and extraneous \\\".\\\" file\\n * path components.\\n *\\n * @param {string} path\\n * @return {string}\\n */\\nfunction normalizePath(path) {\\n  var components = path.split('/');\\n  var i = 0;\\n  while (i < components.length) {\\n    if (components[i] == '.') {\\n      components.splice(i, 1);\\n    } else if (\\n        i && components[i] == '..' && components[i - 1] &&\\n        components[i - 1] != '..') {\\n      components.splice(--i, 2);\\n    } else {\\n      i++;\\n    }\\n  }\\n  return components.join('/');\\n}\\n\\n\\n/** @return {?string} */\\n$jscomp.getCurrentModulePath = function() {\\n  return currentModulePath;\\n};\\n\\n\\n/**\\n * @param {string} id\\n * @return {!CacheEntry}\\n */\\nfunction getCacheEntry(id) {\\n  var cacheEntry = moduleCache.get(id);\\n  if (cacheEntry === undefined) {\\n    throw new Error('Module ' + id + ' does not exist.');\\n  }\\n  return cacheEntry;\\n}\\n\\n\\n/**\\n * Map of absolute module path to list of require.ensure callbacks waiting for\\n * the given module to load.\\n *\\n * @const {!Map<string, !Array<!CallbackEntry>>}\\n */\\nvar ensureMap = new Map();\\n\\n\\n/**\\n * @param {!Set<string>} requireSet\\n * @param {function(function(string))} callback\\n *\\n * @struct @constructor @final\\n */\\nvar CallbackEntry = function(requireSet, callback) {\\n  /** @const */\\n  this.requireSet = requireSet;\\n  /** @const */\\n  this.callback = callback;\\n};\\n\\n\\n/**\\n * Normalizes two paths if the second is relative.\\n *\\n * @param {string} root\\n * @param {string} absOrRelativePath\\n * @return {string}\\n */\\nfunction maybeNormalizePath(root, absOrRelativePath) {\\n  if (absOrRelativePath.startsWith('./') ||\\n      absOrRelativePath.startsWith('../')) {\\n    return normalizePath(root + '/../' + absOrRelativePath);\\n  } else {\\n    return absOrRelativePath;\\n  }\\n}\\n\\n\\n/**\\n * Creates a require function which resolves paths against the given module, if\\n * any.\\n *\\n * @param {!Module=} opt_module\\n * @return {function(string):?}\\n */\\nfunction createRequire(opt_module) {\\n  /**\\n   * @param {string} absOrRelativePath\\n   * @return {?}\\n   */\\n  function require(absOrRelativePath) {\\n    var absPath = absOrRelativePath;\\n    if (opt_module) {\\n      absPath = maybeNormalizePath(opt_module.id, absPath);\\n    }\\n    return getCacheEntry(absPath).load();\\n  }\\n\\n  /**\\n   * @param {!Array<string>} requires\\n   * @param {function(function(string))} callback\\n   */\\n  function requireEnsure(requires, callback) {\\n    if (currentModulePath) {\\n      for (var i = 0; i < requires.length; i++) {\\n        requires[i] = maybeNormalizePath(currentModulePath, requires[i]);\\n      }\\n    }\\n\\n    var blockingRequires = [];\\n    for (var i = 0; i < requires.length; i++) {\\n      var required = moduleCache.get(requires[i]);\\n      if (!required || required.blockingDeps.size) {\\n        blockingRequires.push(requires[i]);\\n      }\\n    }\\n\\n    if (blockingRequires.length) {\\n      var requireSet = new Set(blockingRequires);\\n      var callbackEntry = new CallbackEntry(requireSet, callback);\\n      requireSet.forEach(function(require) {\\n        var arr = ensureMap.get(require);\\n        if (!arr) {\\n          arr = [];\\n          ensureMap.set(require, arr);\\n        }\\n        arr.push(callbackEntry);\\n      });\\n    } else {\\n      callback(require);\\n    }\\n  }\\n  require.ensure = requireEnsure;\\n\\n  return require;\\n}\\n\\n\\n/** @const {function(string): ?} */\\n$jscomp.require = createRequire();\\n\\n\\n/**\\n * @param {string} id\\n * @return {boolean}\\n */\\n$jscomp.hasModule = function(id) {\\n  return moduleCache.has(id);\\n};\\n\\n\\n/**\\n * Marks the given module as being available and calls any require.ensure\\n * callbacks waiting for it.\\n *\\n * @param {string} absModulePath\\n */\\nfunction markAvailable(absModulePath) {\\n  var ensures = ensureMap.get(absModulePath);\\n\\n  if (ensures) {\\n    for (var i = 0; i < ensures.length; i++) {\\n      var entry = ensures[i];\\n      entry.requireSet.delete(absModulePath);\\n      if (!entry.requireSet.size) {\\n        ensures.splice(i--, 1);\\n        callRequireCallback(entry.callback);\\n      }\\n    }\\n\\n    if (!ensures.length) {\\n      ensureMap.delete(absModulePath);\\n    }\\n  }\\n}\\n\\n\\n/**\\n * Registers a CommonJS-like module for use with this runtime. Does not execute\\n * the module until it is required.\\n *\\n * @param {function(function(string), ?, !Module)} moduleDef The module\\n *     definition.\\n * @param {string} absModulePath\\n * @param {!Array<string>=} opt_shallowDeps List of dependencies this module\\n *     directly depends on. Paths can be relative to the given module. This\\n *     module will considered available until all of its dependencies are also\\n *     available for require.\\n */\\n$jscomp.registerModule = function(moduleDef, absModulePath, opt_shallowDeps) {\\n  if (moduleCache.has(absModulePath)) {\\n    throw new Error(\\n        'Module ' + absModulePath + ' has already been registered.');\\n  }\\n\\n  if (currentModulePath) {\\n    throw new Error('Cannot nest modules.');\\n  }\\n\\n  var shallowDeps = opt_shallowDeps || [];\\n  for (var i = 0; i < shallowDeps.length; i++) {\\n    shallowDeps[i] = maybeNormalizePath(absModulePath, shallowDeps[i]);\\n  }\\n\\n  var /** !Set<string> */ blockingDeps = new Set();\\n  for (var i = 0; i < shallowDeps.length; i++) {\\n    getTransitiveBlockingDepsOf(shallowDeps[i]).forEach(function(transitive) {\\n      blockingDeps.add(transitive);\\n    });\\n  }\\n\\n  // Make sure this module isn't blocking itself in the event of a cycle.\\n  blockingDeps.delete(absModulePath);\\n\\n  var cacheEntry =\\n      new CacheEntry(moduleDef, new Module(absModulePath), absModulePath);\\n  moduleCache.set(absModulePath, cacheEntry);\\n\\n  blockingDeps.forEach(function(blocker) {\\n    addAsBlocking(cacheEntry, blocker);\\n  });\\n\\n  if (!blockingDeps.size) {\\n    markAvailable(cacheEntry.module.id);\\n  }\\n\\n  removeAsBlocking(cacheEntry);\\n};\\n\\n\\n/**\\n * @param {string} moduleId\\n * @return {!Set<string>}\\n */\\nfunction getTransitiveBlockingDepsOf(moduleId) {\\n  var cacheEntry = moduleCache.get(moduleId);\\n  var /** !Set<string> */ blocking = new Set();\\n\\n  if (cacheEntry) {\\n    cacheEntry.blockingDeps.forEach(function(dep) {\\n      getTransitiveBlockingDepsOf(dep).forEach(function(transitive) {\\n        blocking.add(transitive);\\n      });\\n    });\\n  } else {\\n    blocking.add(moduleId);\\n  }\\n\\n  return blocking;\\n}\\n\\n\\n/** @const {!Map<string, !Set<!CacheEntry>>} */\\nvar blockingModulePathToBlockedModules = new Map();\\n\\n\\n/**\\n * @param {!CacheEntry} blocked\\n * @param {string} blocker\\n */\\nfunction addAsBlocking(blocked, blocker) {\\n  if (blocked.module.id != blocker) {\\n    var blockedModules = blockingModulePathToBlockedModules.get(blocker);\\n\\n    if (!blockedModules) {\\n      blockedModules = new Set();\\n      blockingModulePathToBlockedModules.set(blocker, blockedModules);\\n    }\\n\\n    blockedModules.add(blocked);\\n    blocked.blockingDeps.add(blocker);\\n  }\\n}\\n\\n\\n/**\\n * Marks the given module as no longer blocking any modules. Instead marks the\\n * module's blockers as blocking these modules. If this totally unblocks a\\n * module it is marked as available.\\n *\\n * @param {!CacheEntry} cacheEntry\\n */\\nfunction removeAsBlocking(cacheEntry) {\\n  var blocked = blockingModulePathToBlockedModules.get(cacheEntry.module.id);\\n\\n  if (blocked) {\\n    blockingModulePathToBlockedModules.delete(cacheEntry.module.id);\\n\\n    blocked.forEach(function(blockedCacheEntry) {\\n      blockedCacheEntry.blockingDeps.delete(cacheEntry.module.id);\\n\\n      cacheEntry.blockingDeps.forEach(function(blocker) {\\n        addAsBlocking(blockedCacheEntry, blocker);\\n      });\\n\\n      if (!blockedCacheEntry.blockingDeps.size) {\\n        removeAsBlocking(blockedCacheEntry);\\n        markAvailable(blockedCacheEntry.module.id);\\n      }\\n    });\\n  }\\n}\\n\\n\\n/**\\n * Forces module evaluation as soon as it is available for require.\\n *\\n * @param {function(function(string), ?, !Module)} moduleDef\\n * @param {string} absModulePath\\n * @param {!Array<string>} shallowDeps\\n * @suppress {strictMissingProperties} \\\"ensure\\\" is not declared.\\n */\\n$jscomp.registerAndLoadModule = function(\\n    moduleDef, absModulePath, shallowDeps) {\\n  $jscomp.require.ensure([absModulePath], function(require) {\\n    require(absModulePath);\\n  });\\n  $jscomp.registerModule(moduleDef, absModulePath, shallowDeps);\\n};\\n\\n\\n/**\\n * Registers an object as if it is the exports of an ES6 module so that it may\\n * be retrieved via $jscomp.require.\\n *\\n * Used by Closure Library in the event that only some ES6 modules need\\n * transpilation.\\n *\\n * @param {string} absModulePath\\n * @param {?} exports\\n */\\n$jscomp.registerEs6ModuleExports = function(absModulePath, exports) {\\n  if (moduleCache.has(absModulePath)) {\\n    throw new Error(\\n        'Module at path ' + absModulePath + ' is already registered.');\\n  }\\n\\n  var entry =\\n      new CacheEntry(null, new Module(absModulePath, exports), absModulePath);\\n  moduleCache.set(absModulePath, entry);\\n  markAvailable(absModulePath);\\n};\\n\\n\\n/**\\n * Hook to clear all loaded modules. Meant to only be used by tests.\\n */\\n$jscomp.clearModules = function() {\\n  moduleCache.clear();\\n};\\n})();\\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', 'es6');\\n$jscomp.polyfill('String.prototype.normalize', null, 'es6', 'es6');\\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'require es6/number/parsefloat';\\n'require es6/number/parseint';\\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', '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', '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', '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\\\" ";
a.a+="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', '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/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/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', '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', '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', 'es3');\\n\",\"js/es6/number/parsefloat.js\":\"/*\\n * Copyright 2017 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.parseFloat', function(orig) {\\n  return orig || parseFloat;\\n}, 'es6', 'es3');\\n\",\"js/es6/number/parseint.js\":\"/*\\n * Copyright 2017 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.parseInt', function(orig) {\\n  return orig || parseInt;\\n}, 'es6', '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/entries';\\n'require es6/object/getownpropertydescriptors';\\n'require es6/object/getownpropertysymbols';\\n'require es6/object/is';\\n'require es6/object/setprototypeof';\\n'require es6/object/values';\\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/**\\n * @fileoverview\\n * @suppress {uselessCode}\\n */\\n'require es6/util/assign';\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Object.assign', function(orig) {\\n  return orig || $jscomp.assign;\\n}, 'es6', 'es3');\\n\",\"js/es6/object/entries.js\":\"/*\\n * Copyright 2017 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.entries', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Returns an array of [key, value] arrays, one for each entry\\n   * in the given object.\\n   *\\n   * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/entries\\n   *\\n   * @param {!Object<KEY, VALUE>} obj\\n   * @return {!Array<!Array<KEY|VALUE>>}\\n   * @template KEY, VALUE\\n   */\\n  var entries = function(obj) {\\n    var result = [];\\n    for (var key in obj) {\\n      if ($jscomp.owns(obj, key)) {\\n        result.push([key, obj[key]]);\\n      }\\n    }\\n    return result;\\n  };\\n\\n  return entries;\\n}, 'es8', 'es3');\\n\",\"js/es6/object/getownpropertydescriptors.js\":\"/*\\n * Copyright 2017 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/ownkeys';\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Object.getOwnPropertyDescriptors', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Polyfills Object.getOwnPropertyDescriptors.\\n   *\\n   * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/entries\\n   *\\n   * @param {!Object} obj\\n   * @return {!Object<!ObjectPropertyDescriptor>}\\n   */\\n  var getOwnPropertyDescriptors = function(obj) {\\n    var result = {};\\n    var keys = Reflect.ownKeys(obj);\\n    for (var i = 0; i < keys.length; i++) {\\n      result[keys[i]] = Object.getOwnPropertyDescriptor(obj, keys[i]);\\n    }\\n    return result;\\n  };\\n\\n  return getOwnPropertyDescriptors;\\n}, 'es8', 'es5');\\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', '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', '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/**\\n * @fileoverview\\n * @suppress {uselessCode}\\n */\\n'require util/polyfill';\\n'require es6/util/setprototypeof';\\n\\n\\n$jscomp.polyfill('Object.setPrototypeOf', function(orig) {\\n  // Note that $jscomp.setPrototypeOf will be `null` if it isn't possible to\\n  // implement this method.\\n  return orig || $jscomp.setPrototypeOf;\\n}, 'es6', 'es5');\\n\",\"js/es6/object/values.js\":\"/*\\n * Copyright 2017 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.values', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Returns an array of values from the given object.\\n   *\\n   * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/values\\n   *\\n   * @param {!Object<KEY, VALUE>} obj\\n   * @return {!Array<VALUE>}\\n   * @template KEY, VALUE\\n   */\\n  var values = function(obj) {\\n    var result = [];\\n    for (var key in obj) {\\n      if ($jscomp.owns(obj, key)) {\\n        result.push(obj[key]);\\n      }\\n    }\\n    return result;\\n  };\\n\\n  return values;\\n}, 'es8', 'es3');\\n\",\"js/es6/promise.js\":\"/*\\n * Copyright 2018 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";
a.a+=" Promise polyfills.\\n */\\n'require es6/promise/promise';\\n'require es6/promise/finally';\\n\",\"js/es6/promise/finally.js\":\"/*\\n * Copyright 2018 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/promise/promise';\\n\\n$jscomp.polyfill('Promise.prototype.finally', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * @this {!Promise<VALUE>}\\n   * @param {function():?} onFinally\\n   * @return {!Promise<VALUE>}\\n   * @template VALUE\\n   * @suppress {reportUnknownTypes}\\n   */\\n  var polyfill = function(onFinally) {\\n    return this.then(\\n        function(value) {\\n          var promise = Promise.resolve(onFinally());\\n          return promise.then(function () { return value; });\\n        },\\n        function(reason) {\\n          var promise = Promise.resolve(onFinally());\\n          return promise.then(function () { throw reason; });\\n        });\\n  };\\n\\n  return polyfill;\\n}, 'es9', 'es3');\\n\",\"js/es6/promise/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 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',\\n    /**\\n     * @param {*} NativePromise\\n     * @return {*}\\n     * @suppress {reportUnknownTypes}\\n     */\\n    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 `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 `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 {function(!Function, number)} */\\n  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 /** !Array<?function()> */ 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 = /** @type {function()} */ (executingBatch[i]);\\n        executingBatch[i] = null;  // 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 asynchronously executed when this promise\\n     * 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    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   * @suppress {strictMissingProperties} obj.then\\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      for (var i = 0; i < this.onSettledCallbacks_.length; ++i) {\\n        asyncExecutor.asyncExecute(this.onSettledCallbacks_[i]);\\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 /** !PolyfillPromise */ 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(callback);\\n    }\\n  };\\n\\n  // called locally, so give it a name\\n  function resolvingPromise(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  PolyfillPromise['resolve'] = resolvingPromise;\\n\\n\\n  PolyfillPromise['reject'] = function(opt_reason) {\\n    return new PolyfillPromise(function(resolve, reject) {\\n      reject(opt_reason);\\n    });\\n  };\\n\\n\\n  PolyfillPromise['race'] = function(thenablesOrValues) {\\n    return new PolyfillPromise(function(resolve, reject) {\\n      var iterator = $jscomp.makeIterator(thenablesOrValues);\\n      for (var /** !IIterableResult<*> */ iterRec = iterator.next();\\n           !iterRec.done;\\n           iterRec = iterator.next()) {\\n        // Using resolvingPromise() allows us to treat all elements the same\\n        // way.\\n        // NOTE: resolvingPromise(promise) always returns the argument\\n        // unchanged.\\n        // Using .callWhenSettled_() instead of .then() avoids creating an\\n        // unnecessary extra promise.\\n        resolvingPromise(iterRec.value).callWhenSettled_(resolve, reject);\\n      }\\n    });\\n  };\\n\\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 resolvingPromise([]);\\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 resolvingPromise() allows us to treat all elements the same\\n          // way.\\n          // NOTE: resolvingPromise(promise) always returns the argument\\n          // unchanged. Using .callWhenSettled_() instead of .then() avoids\\n          // creating";
a.a+=" an unnecessary extra promise.\\n          resolvingPromise(iterRec.value)\\n              .callWhenSettled_(\\n                  onFulfilled(resultsArray.length - 1), rejectAll);\\n          iterRec = iterator.next();\\n        } while (!iterRec.done);\\n      });\\n    }\\n  };\\n\\n  return PolyfillPromise;\\n}, 'es6', '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   * @suppress {reportUnknownTypes}\\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/**\\n * @fileoverview\\n * @suppress {uselessCode}\\n */\\n\\n'require es6/util/construct';\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Reflect.construct', function(orig) {\\n  // NOTE: This is just Reflect.construct if it's present and functional.\\n  return $jscomp.construct;\\n}, 'es6', 'es3');\\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 returns 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   * @suppress {reportUnknownTypes}\\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/defines';\\n'require util/polyfill';\\n\\n\\n$jscomp.polyfill('Reflect.isExtensible', function(orig) {\\n  if (orig) return orig;\\n  if ($jscomp.ASSUME_ES5 || 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',\\n    /**\\n     * @param {*} orig\\n     * @return {*}\\n     * @suppress {reportUnknownTypes}\\n     */\\n    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/defines';\\n'require util/polyfill';\\n\\n\\n$jscomp.polyfill('Reflect.preventExtensions', function(orig) {\\n  if (orig) return orig;\\n\\n  if (!($jscomp.ASSUME_ES5 || 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";
a.a+="/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/**\\n * @fileoverview\\n * @suppress {uselessCode}\\n */\\n'require util/polyfill';\\n'require es6/util/setprototypeof';\\n\\n\\n$jscomp.polyfill(\\n    'Reflect.setPrototypeOf',\\n    /**\\n     * These annotations are intended to match the signature of\\n     * $jscomp.polyfill(). Being more specific makes the compiler unhappy.\\n     * @suppress {reportUnknownTypes}\\n     * @param {?*} orig\\n     * @return {*}\\n     */\\n    function(orig) {\\n      if (orig) {\\n        return orig;\\n      } else if ($jscomp.setPrototypeOf) {\\n        /** @const {!function(!Object,?Object):!Object} */\\n        var setPrototypeOf = $jscomp.setPrototypeOf;\\n        /**\\n         * @param {!Object} target\\n         * @param {?Object} proto\\n         * @return {boolean}\\n         */\\n        var polyfill = function(target, proto) {\\n          try {\\n            setPrototypeOf(target, proto);\\n            return true;\\n          } catch (e) {\\n            return false;\\n          }\\n        };\\n        return polyfill;\\n      } else {\\n        // it isn't possible to implement this method\\n        return null;\\n      }\\n    },\\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/conformance';\\n'require es6/map';\\n'require es6/symbol';\\n'require util/defines';\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Set',\\n    /**\\n     * @param {*} NativeSet\\n     * @return {*}\\n     * @suppress {reportUnknownTypes}\\n     */\\n    function(NativeSet) {\\n\\n  /**\\n   * Checks conformance of the existing Set.\\n   * @return {boolean} True if the browser's implementation conforms.\\n   * @suppress {missingProperties} \\\"entries\\\" unknown prototype\\n   */\\n  function isConformant() {\\n    if ($jscomp.ASSUME_NO_NATIVE_SET ||\\n        !NativeSet ||\\n        typeof NativeSet != \\\"function\\\" ||\\n        !NativeSet.prototype.entries ||\\n        typeof Object.seal != 'function') {\\n      return false;\\n    }\\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\\n  if ($jscomp.USE_PROXY_FOR_ES6_CONFORMANCE_CHECKS) {\\n    if (NativeSet && $jscomp.ES6_CONFORMANCE) return NativeSet;\\n  } else {\\n    if (isConformant()) return NativeSet;\\n  }\\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    // normalize -0/+0 to +0\\n    value = value === 0 ? 0 : 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  /** @override */\\n  PolyfillSet.prototype.keys = PolyfillSet.prototype.values;\\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', '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/padend';\\n'require es6/string/padstart';\\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', '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', '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', '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 sub";
a.a+="string, 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', 'es3');\\n\",\"js/es6/string/padend.js\":\"/*\\n * Copyright 2017 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/stringpadding';\\n'require util/polyfill';\\n\\n$jscomp.polyfill('String.prototype.padEnd', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Polyfills String.prototype.padEnd.\\n   *\\n   * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padEnd\\n   *\\n   * @this {string}\\n   * @param {number} targetLength\\n   * @param {string=} opt_padString\\n   * @return {string}\\n   */\\n  var padEnd = function(targetLength, opt_padString) {\\n    var string = $jscomp.checkStringArgs(this, null, 'padStart');\\n    var padLength = targetLength - string.length;\\n    return string + $jscomp.stringPadding(opt_padString, padLength);\\n  };\\n\\n  return padEnd;\\n}, 'es8', 'es3');\\n\",\"js/es6/string/padstart.js\":\"/*\\n * Copyright 2017 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'require util/stringpadding';\\n\\n$jscomp.polyfill('String.prototype.padStart', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Polyfills String.prototype.padStart.\\n   *\\n   * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padStart\\n   *\\n   * @this {string}\\n   * @param {number} targetLength\\n   * @param {string=} opt_padString\\n   * @return {string}\\n   */\\n  var padStart = function(targetLength, opt_padString) {\\n    var string = $jscomp.checkStringArgs(this, null, 'padStart');\\n    var padLength = targetLength - string.length;\\n    return $jscomp.stringPadding(opt_padString, padLength) + string;\\n  };\\n\\n  return padStart;\\n}, 'es8', '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', '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', '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/**\\n * Produces \\\"symbols\\\" (actually just unique strings).\\n * @param {string=} opt_description\\n * @return {symbol}\\n */\\n$jscomp.Symbol = /** @type {function(): !Function} */ (function() {\\n  var counter = 0;\\n  /**\\n   * @param {string=} opt_description\\n   * @return {symbol}\\n   * @suppress {reportUnknownTypes}\\n   */\\n  function Symbol(opt_description) {\\n    return /** @type {?} */ (\\n        $jscomp.SYMBOL_PREFIX + (opt_description || '') + (counter++));\\n  }\\n  return Symbol;\\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);\\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 * Initializes Symbol.asyncIterator (if it's not already defined)\\n * @suppress {reportUnknownTypes}\\n */\\n$jscomp.initSymbolAsyncIterator = function() {\\n  $jscomp.initSymbol();\\n  var symbolAsyncIterator = $jscomp.global['Symbol'].asyncIterator;\\n  if (!symbolAsyncIterator) {\\n    symbolAsyncIterator = $jscomp.global['Symbol'].asyncIterator =\\n        $jscomp.global['Symbol']('asyncIterator');\\n  }\\n\\n  // Only need to do this once. All future calls are no-ops.\\n  $jscomp.initSymbolAsyncIterator = 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 * @suppress {reportUnknownTypes}\\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/assign.js\":\"/*\\n * Copyright 2018 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\\n * @suppress {uselessCode}\\n */\\n'require util/owns';\\n\\n/**\\n * Equivalent to the Object.assign() method, but guaranteed to be available for use in code\\n * generated by the compiler.\\n *\\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 *\\n * @final\\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$jscomp.assign = (typeof Object.assign == 'function') ?\\n    Object.assign :\\n    /**\\n     * @param {!Object} target\\n     * @param {...?Object} var_args\\n     * @return {!Object}\\n     * @suppress {reportUnknownTypes}\\n     */\\n    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\",\"js/es6/util/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/**\\n * @fileoverview\\n * @suppress {uselessCode}\\n */\\n\\n'require util/objectcreate';\\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";
a.a+=" The constructor to instantiate.\\n * @return {TARGET} The result of the function call.\\n * @template TARGET\\n */\\n$jscomp.construct = /** @type {function(): !Function} */ (function() {\\n\\n  // Check for https://github.com/Microsoft/ChakraCore/issues/3217\\n  /** @return {boolean} */\\n  function reflectConstructWorks() {\\n    /** @constructor */ function Base() {}\\n    /** @constructor */ function Derived() {}\\n    new Base();\\n    Reflect.construct(Base, [], Derived);\\n    return new Base() instanceof Base;\\n  }\\n\\n  if (typeof Reflect != 'undefined' && Reflect.construct) {\\n    if (reflectConstructWorks()) return Reflect.construct;\\n    var brokenConstruct = Reflect.construct;\\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     * @suppress {reportUnknownTypes}\\n     */\\n    var patchedConstruct = function(target, argList, opt_newTarget) {\\n      var out = brokenConstruct(target, argList);\\n      if (opt_newTarget) Reflect.setPrototypeOf(out, opt_newTarget.prototype);\\n      return out;\\n    };\\n    return patchedConstruct;\\n  }\\n\\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   * @suppress {reportUnknownTypes}\\n   */\\n  function construct(target, argList, opt_newTarget) {\\n    if (opt_newTarget === undefined) opt_newTarget = target;\\n    var proto = opt_newTarget.prototype || Object.prototype;\\n    var obj = $jscomp.objectCreate(proto);\\n    var apply = Function.prototype.apply;\\n    var out = apply.call(target, obj, argList);\\n    return out || obj;\\n  }\\n  return construct;\\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 * @suppress {uselessCode}\\n */\\n'require base';\\n'require util/objectcreate';\\n'require es6/util/setprototypeof';\\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 * @suppress {strictMissingProperties} 'superClass_' is not defined on Function\\n */\\n$jscomp.inherits = function(childCtor, parentCtor) {\\n  childCtor.prototype = $jscomp.objectCreate(parentCtor.prototype);\\n  /** @override */ childCtor.prototype.constructor = childCtor;\\n  if ($jscomp.setPrototypeOf) {\\n    // avoid null dereference warning\\n    /** @const {!Function} */\\n    var setPrototypeOf = $jscomp.setPrototypeOf;\\n    setPrototypeOf(childCtor, parentCtor);\\n  } else {\\n    // setPrototypeOf is not available so we need to copy the static\\n    // methods to the child\\n    for (var p in parentCtor) {\\n      if (p == 'prototype') {\\n        // Don't copy parentCtor.prototype to childCtor.\\n        continue;\\n      }\\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\\n  childCtor.superClass_ = parentCtor.prototype;\\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/**\\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|reportUnknownTypes}\\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/makeasynciterator.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 * Creates an iterator for the given iterable.\\n *\\n * @param {string|!AsyncIterable<T>|!Iterable<T>|!Iterator<T>|!Arguments<T>} iterable\\n * @return {AsyncIterator<T>}\\n * @template T\\n * @suppress {reportUnknownTypes}\\n */\\n$jscomp.makeAsyncIterator = function(iterable) {\\n  $jscomp.initSymbolAsyncIterator();\\n  var asyncIteratorFunction = (iterable)[Symbol.asyncIterator];\\n  if (asyncIteratorFunction !== undefined) {\\n    return asyncIteratorFunction.call(iterable);\\n  }\\n  return new $jscomp.AsyncIteratorFromSyncWrapper($jscomp.makeIterator(\\n      /** @type {string|!Iterable<T>|!Iterator<T>|!Arguments<T>} */\\n      (iterable)));\\n};\\n\\n/**\\n *\\n * @param {!Iterator<T>} iterator\\n * @constructor\\n * @implements {AsyncIterator<T>}\\n * @template T\\n * @suppress {reportUnknownTypes}\\n */\\n$jscomp.AsyncIteratorFromSyncWrapper = function(iterator) {\\n  /**\\n   * @return {!AsyncIterator<T>}\\n   */\\n  this[Symbol.asyncIterator] = function() {\\n    return this;\\n  };\\n\\n  /**\\n   * @return {!Iterator<T>}\\n   */\\n  this[Symbol.iterator] = function() {\\n    return iterator;\\n  };\\n\\n  /**\\n   * @param {?=} param\\n   * @return {!Promise<!IIterableResult<T>>}\\n   */\\n  this.next = function(param) {\\n    return Promise.resolve(iterator.next(param));\\n  };\\n\\n  if (iterator['throw'] !== undefined) {\\n    /**\\n     * @param {?} param\\n     * @return {!Promise<!IIterableResult<T>>}\\n     */\\n    this['throw'] = function(param) {\\n      return Promise.resolve(iterator['throw'](param));\\n    };\\n  }\\n\\n  if (iterator['return'] !== undefined) {\\n    /**\\n     * @param {T} param\\n     * @return {!Promise<!IIterableResult<T>>}\\n     */\\n    this['return'] = function(param) {\\n      return Promise.resolve(iterator['return'](param));\\n    };\\n  }\\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|!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/util/setprototypeof.js\":\"/*\\n * Copyright 2017 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\\n * @suppress {uselessCode}\\n */\\n\\n/**\\n * @suppress {missingProperties,reportUnknownTypes}\\n * @return {boolean}\\n */\\n$jscomp.underscoreProtoCanBeSet = function() {\\n  var x = {a: true};\\n  var y = {};\\n  try {\\n    y.__proto__ = x;\\n    return y.a;\\n  } catch (e) {\\n    // __proto__ property is readonly (possibly IE 10?)\\n  }\\n  return false;\\n};\\n\\n/**\\n * If we can implement it, this will be a function that attempts to set the\\n * prototype of an object, otherwise it will be `null`.\\n *\\n * It returns the first argument if successful. Throws a `TypeError` if the\\n * object is not extensible.\\n *\\n * @type {null|function(!Object, ?Object): !Object}\\n */\\n$jscomp.setPrototypeOf = (typeof Object.setPrototypeOf == 'function') ?\\n    Object.setPrototypeOf :\\n    $jscomp.underscoreProtoCanBeSet() ?\\n    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    null;\\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/conformance';\\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',\\n    /**\\n     * @param {*} NativeWeakMap\\n     * @return {*}\\n     * @suppress {reportUnknownTypes}\\n     */\\n    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 ($jscomp.USE_PROXY_FOR_ES6_CONFORMANCE_CHECKS) {\\n    if (NativeWeakMap && $jscomp.ES6_CONFORMANCE) return NativeWeakMap;\\n  } else {\\n    if (isConformant()) return NativeWeakMap;\\n  }\\n\\n  var prop = '$jscomp_hidden_' + Math.random();\\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    ";
a.a+="}\\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', '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/conformance';\\n'require es6/symbol';\\n'require es6/util/makeiterator';\\n'require util/polyfill';\\n'require es6/weakmap';\\n\\n$jscomp.polyfill('WeakSet',\\n    /**\\n     * @param {*} NativeWeakSet\\n     * @return {*}\\n     * @suppress {reportUnknownTypes}\\n     */\\n    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 ($jscomp.USE_PROXY_FOR_ES6_CONFORMANCE_CHECKS) {\\n    if (NativeWeakSet && $jscomp.ES6_CONFORMANCE) return NativeWeakSet;\\n  } else {\\n    if (isConformant()) return NativeWeakSet;\\n  }\\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) {\\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', '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/**\\n * @fileoverview Assorted runtime logic code and polyfills.\\n * @suppress {uselessCode}\\n */\\n'require es6/array';\\n'require es6/async_generator_wrapper';\\n'require es6/execute_async_generator';\\n'require es6/generator_engine';\\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/modules.js\":\"/*\\n * Copyright 2018 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\\n * @suppress {uselessCode}\\n */\\n\\n'require es6/modules/runtime';\\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 * @suppress {uselessCode} The require statements below are not useless.\\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 * @suppress {strictMissingProperties}\\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 * @suppress {uselessCode}\\n */\\n$jscomp.typecheck.ExternClassChecker_.trackOpenOnWindow = function(win) {\\n  // Declare the property we add to the window object.\\n  // NOTE: we add a declaration in a \\\"if (false) ...\\\" to ensure we\\n  // don't reference \\\"Window\\\" on platforms that don't have a global\\n  // Window object (node, service workers, etc).\\n  if (false) {\\n    /** @type {boolean} */\\n    Window.prototype.tracked;\\n  }\\n\\n  if (win.tracked) {\\n    return;\\n  }\\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.ExternClassC";
a.a+="hecker_.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 *\\n * This does not work when strict mode is enabled.\\n *\\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 {boolean} 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.typecheck.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 * @suppress {reportUnknownTypes}\\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 * @suppress {reportUnknownTypes}\\n */\\n'require util/defines';\\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 * Refuses to define properties on Array.prototype and Object.prototype,\\n * since we 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 * @suppress {reportUnknownTypes}\\n */\\n$jscomp.defineProperty =\\n    $jscomp.ASSUME_ES5 || typeof Object.defineProperties == 'function' ?\\n    Object.defineProperty :\\n    function(target, property, descriptor) {\\n      descriptor = /** @type {!ObjectPropertyDescriptor} */ (descriptor);\\n      // NOTE: This is currently never called with a descriptor outside\\n      // the control of the compiler.  If we ever decide to polyfill either\\n      // Object.defineProperty or Reflect.defineProperty for ES3, we should\\n      // explicitly check for `get` or `set` on the descriptor and throw a\\n      // TypeError, since it's impossible to properly polyfill it.\\n      if (target == Array.prototype || target == Object.prototype) return;\\n      target[property] = descriptor.value;\\n    };\\n\",\"js/util/defines.js\":\"/*\\n * Copyright 2017 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 * Whether to assume ES5 is available.  This enables removing several\\n * internal polyfills, which must otherwise be detected at runtime.\\n * @define {boolean}\\n */\\n$jscomp.ASSUME_ES5 = false;\\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/**\\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\",\"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 {!ObjectPropertyDescriptor|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 * @suppress {reportUnknownTypes}\\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|reportUnknownTypes}\\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/objectcreate.js\":\"/*\\n * Copyright 2017 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 a partial internal polyfill for Object.create.\\n */\\n'require util/defines';\\n\\n\\n/**\\n * Polyfill for Object.create() method:\\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/create\\n *\\n * Does not implement the second argument.\\n * @param {!Object} prototype\\n * @return {!Object}\\n */\\n$jscomp.objectCreate =\\n    ($jscomp.ASSUME_ES5 || typeof Object.create == 'function') ?\\n    Object.create :\\n    function(prototype) {\\n      /** @constructor */\\n      var ctor = function() {};\\n      ctor.prototype = prototype;\\n      return new ctor();\\n    };\\n\",\"js/util/owns.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed";
a.a+=' 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 Qualified name of the class or method to polyfill,\\n *     e.g. \'Array.prototype.includes\' or \'Map\'.\\n * @param {?function(*): *} polyfill A function that takes the current browser\\n *     implementation of the target and returns an optional new polyfill\\n *     implementation.  If null is returned, then no polyfill will be added.  A\\n *     null argument for this parameter indicates that the function will not be\\n *     polyfilled, and is only useful for `build_polyfill_table.js` bookkeeping.\\n * @param {string} fromLang The language level in which the target is expected\\n *     to already be present in the browser.  The compiler requires that\\n *     `languageOut < fromLang` before injecting a polyfill (i.e. if the\\n *     specified output language already includes the feature then there\'s no\\n *     need to polyfill it).\\n * @param {string} toLang The language level required by the polyfill\\n *     implementation.  The compiler will issue an error if a polyfill is\\n *     required, but `languageOut < toLang`.  Additionally, the\\n *     `build_polyfill_table.js` script audits the polyfill dependency tree to\\n *     ensure that no polyfill with a lower `toLang` depends on one with a\\n *     higher `toLang`.\\n * @suppress {reportUnknownTypes}\\n * @noinline\\n * NOTE: We prevent inlining so RemoveUnusedPolyfills can always recognize this\\n * call.\\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","js/util/reflectobject.js":"/*\\n * Copyright 2017 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 * Definition for object reflection.\\n *\\n * Internal compiler version of closure library goog.reflect.object.\\n *\\n * Use this if you have an object literal whose keys need to have the same names\\n * as the properties of some class even after they are renamed by the compiler.\\n *\\n * @param {?Object} type class, interface, or record\\n * @param {T} object Object literal whose properties must be renamed\\n *     consistently with type\\n * @return {T} The object literal.\\n * @template T\\n */\\n$jscomp.reflectObject = function(type, object) {\\n  return object;\\n};\\n","js/util/stringpadding.js":"/*\\n * Copyright 2017 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/string/repeat\';\\n\\n/**\\n * Repeats the given string as necessary to reach the given length,\\n * truncating any extra characters.\\n * @param {string|undefined} padString\\n * @param {number} padLength\\n * @return {string}\\n */\\n$jscomp.stringPadding = function(padString, padLength) {\\n  var padding = padString !== undefined ? String(padString) : \' \';\\n  if (!(padLength > 0) || !padding) return \'\';\\n  var repeats = Math.ceil(padLength / padding.length);\\n  return padding.repeat(repeats).substring(0, padLength);\\n};\\n","js/polyfills.txt":"Array.from es6 es3 es6/array/from\\nArray.of es6 es3 es6/array/of\\nArray.prototype.copyWithin es6 es3 es6/array/copywithin\\nArray.prototype.entries es6 es3 es6/array/entries\\nArray.prototype.fill es6 es3 es6/array/fill\\nArray.prototype.find es6 es3 es6/array/find\\nArray.prototype.findIndex es6 es3 es6/array/findindex\\nArray.prototype.includes es7 es3 es6/array/includes\\nArray.prototype.keys es6 es3 es6/array/keys\\nArray.prototype.values es8 es3 es6/array/values\\nMap es6 es3 es6/map\\nMath.acosh es6 es3 es6/math/acosh\\nMath.asinh es6 es3 es6/math/asinh\\nMath.atanh es6 es3 es6/math/atanh\\nMath.cbrt es6 es3 es6/math/cbrt\\nMath.clz32 es6 es3 es6/math/clz32\\nMath.cosh es6 es3 es6/math/cosh\\nMath.expm1 es6 es3 es6/math/expm1\\nMath.hypot es6 es3 es6/math/hypot\\nMath.imul es6 es3 es6/math/imul\\nMath.log10 es6 es3 es6/math/log10\\nMath.log1p es6 es3 es6/math/log1p\\nMath.log2 es6 es3 es6/math/log2\\nMath.sign es6 es3 es6/math/sign\\nMath.sinh es6 es3 es6/math/sinh\\nMath.tanh es6 es3 es6/math/tanh\\nMath.trunc es6 es3 es6/math/trunc\\nNumber.EPSILON es6 es3 es6/number/constants\\nNumber.MAX_SAFE_INTEGER es6 es3 es6/number/constants\\nNumber.MIN_SAFE_INTEGER es6 es3 es6/number/constants\\nNumber.isFinite es6 es3 es6/number/isfinite\\nNumber.isInteger es6 es3 es6/number/isinteger\\nNumber.isNaN es6 es3 es6/number/isnan\\nNumber.isSafeInteger es6 es3 es6/number/issafeinteger\\nNumber.parseFloat es6 es3 es6/number/parsefloat\\nNumber.parseInt es6 es3 es6/number/parseint\\nObject.assign es6 es3 es6/object/assign\\nObject.entries es8 es3 es6/object/entries\\nObject.getOwnPropertyDescriptors es8 es5 es6/object/getownpropertydescriptors\\nObject.getOwnPropertySymbols es6 es5 es6/object/getownpropertysymbols\\nObject.is es6 es3 es6/object/is\\nObject.setPrototypeOf es6 es5 es6/object/setprototypeof\\nObject.values es8 es3 es6/object/values\\nPromise es6 es3 es6/promise/promise\\nPromise.prototype.finally es9 es3 es6/promise/finally\\nProxy es6 es6\\nReflect.apply es6 es3 es6/reflect/apply\\nReflect.construct es6 es3 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 es3 es6/set\\nString.fromCodePoint es6 es3 es6/string/fromcodepoint\\nString.prototype.codePointAt es6 es3 es6/string/codepointat\\nString.prototype.endsWith es6 es3 es6/string/endswith\\nString.prototype.includes es6 es3 es6/string/includes\\nString.prototype.normalize es6 es6\\nString.prototype.padEnd es8 es3 es6/string/padend\\nString.prototype.padStart es8 es3 es6/string/padstart\\nString.prototype.repeat es6 es3 es6/string/repeat\\nString.prototype.startsWith es6 es3 es6/string/startswith\\nString.raw es6 es6\\nWeakMap es6 es3 es6/weakmap\\nWeakSet es6 es3 es6/weakset\\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    appliesMixin,\\\\\\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    docsNotRequired,\\\\\\n    docs-private,\\\\\\n    element,\\\\\\n    enhance,\\\\\\n    enhanceable,\\\\\\n    enum,\\\\\\n    event,\\\\\\n    eventOf,\\\\\\n    eventType,\\\\\\n    example,\\\\\\n    exception,\\\\\\n    exec,\\\\\\n    export,\\\\\\n    exportDoc,\\\\\\n    exportInterface,\\\\\\n    expose,\\\\\\n    externs,\\\\\\n    field,\\\\\\n    file,\\\\\\n    fires,\\\\\\n    function,\\\\\\n    global,\\\\\\n    hassoydelcall,\\\\\\n    hassoydeltemplate,\\\\\\n    hideconstructor, \\\\\\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    moddedBy,\\\\\\n    model,\\\\\\n    modifies,\\\\\\n    mods,\\\\\\n    module,\\\\\\n    multiElement,\\\\\\n    name,\\\\\\n    namespace,\\\\\\n    ngInject,\\\\\\n    ngdoc,\\\\\\n    noalias,\\\\\\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    typeSummary,\\\\\\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    checkEventfulObjectDisposal,\\\\\\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    lintChecks,\\\\\\n    messageConventions,\\\\\\n    misplacedTypeAnnotation,\\\\\\n    missingOverride, \\\\\\n    missingPolyfill, \\\\\\n    missingProperties,\\\\\\n    missingProvide,\\\\\\n    missingRequire,\\\\\\n    missingReturn,\\\\\\n    moduleLoad,\\\\\\n    newCheckTypes,\\\\\\n    newCheckTypesAllChecks,\\\\\\n    nonStandardJsDocs,\\\\\\n    reportUnknownTypes,\\\\\\n    strictCheckTypes,\\\\\\n    strictMissingProperties,\\\\\\n    strictModuleDepCheck,\\\\\\n    strictPrimitiveOperators,\\\\\\n    suspiciousCode,\\\\\\n    transitionalSuspiciousCodeWarnings,\\\\\\n    undefinedNames,\\\\\\n    undefinedVars,\\\\\\n    underscore,\\\\\\n    unknownDefines,\\\\\\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 - overwritten by Norton Identity Protection\'s Chrome extension.\\n# ga,_gaq - global variable names used by Google Analytics.\\n# sun - May cause issues in older browsers with remnants of Java support.\\n# TODO(tbreisacher): Remove \'ga\' and \'_gaq\' if/when we enable\\n# --isolation_mode=IIFE by default.\\ncompiler.reserved.vars = i,j,s,$,$j,o,ga,_gaq,sun\\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 th';
a.a+='e 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.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.extends.duplicate =\\\\\\n    duplicate @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.typesummary =\\\\\\n    extra @typeSummary tag\\n\\nmsg.jsdoc.nocompile =\\\\\\n    extra @nocompile tag\\n\\nmsg.jsdoc.nocollapse =\\\\\\n    extra @nocollapse tag\\n\\nmsg.jsdoc.noinline =\\\\\\n    extra @noinline 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.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.polymer.extra =\\\\\\n    extra @polymer tag\\n\\nmsg.jsdoc.customElement.extra =\\\\\\n    extra @customElement tag\\n\\nmsg.jsdoc.mixinClass.extra =\\\\\\n    extra @mixinClass tag\\n\\nmsg.jsdoc.mixinFunction.extra =\\\\\\n    extra @mixinFunction 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.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 zFc="object",AFc="boolean",BFc="number",CFc="function",DFc="string",EFc=2147483647,FFc={330:1,3:1},GFc="use Optional.orNull() instead of Optional.or(null)",HFc={37:1},IFc=65535,JFc={79:1,3:1},KFc="0123456789ABCDEF",LFc={136:1,56:1,52:1},MFc="[A-Z\\d]",NFc=", ",OFc="null",PFc=1011,QFc={19:1,21:1},RFc={3:1,4:1},SFc=1027,TFc={19:1,21:1,58:1},UFc="%s (%s) must not be negative",VFc="index",WFc="negative size: ",XFc={3:1,14:1,4:1},YFc={56:1,140:1,3:1,24:1,15:1,52:1},ZFc={19:1},$Fc={107:1,
37:1},_Fc={107:1,37:1,151:1},aGc={103:1,3:1},bGc={51:1},cGc=1010,dGc={19:1,21:1,39:1},eGc="no calls to next() since the last call to remove()",fGc={19:1,21:1,58:1,72:1},gGc={37:1,151:1},hGc={19:1,21:1,39:1,152:1},iGc={19:1,21:1,314:1,39:1,152:1},jGc="occurrences cannot be negative: %s",kGc={160:1,54:1},lGc={88:1},mGc="unreachable",nGc={67:1,3:1,19:1,21:1},oGc={67:1,113:1,3:1,19:1,21:1,58:1,72:1},pGc={3:1,4:1,96:1},qGc={133:1,3:1,51:1},rGc={67:1,134:1,3:1,19:1,21:1,39:1},sGc={54:1},tGc={633:1,3:1},
uGc={439:1,3:1},vGc=461845907,wGc=-862048943,xGc="expectedSize",yGc={3:1,51:1},zGc="value already present: %s",AGc=1073741824,BGc=1024,CGc={184:1,88:1},DGc="position (",EGc="expectedValuesPerKey",FGc="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",GGc={420:1,3:1},HGc="Unrecognized character: 0x",IGc="__noinit__",JGc="stack",KGc="\n",LGc=-2147483648,MGc={9:1,3:1},NGc={1005:1},OGc=65536,PGc=1114111,QGc=1023,RGc="\\\\",SGc={3:1,44:1,30:1,40:1},TGc="String",UGc="anonymous",VGc="fnStack",
WGc="Unknown",XGc=4194303,YGc=1048575,ZGc=524288,$Gc=4194304,_Gc=17592186044416,aHc=4095,bHc=-17592186044416,cHc="ERROR",dHc="WARNING",eHc={287:1,3:1},fHc="arguments",gHc="SUPER",hHc="super",iHc="THIS",jHc="this",kHc="OFF",lHc="Expected 0 children, but was ",mHc="Expected 2 children, but was ",nHc="Expected ",oHc=" children, but was ",pHc="Invalid child for ",qHc=" node",rHc="Expected 1 children, but was ",sHc="Expected child count in [1, 2], but was ",tHc="Expected non-empty string.",uHc="Expected non-null string.",
vHc="Expected unnamed function expression.",wHc="Expected child count in [2, 3], but was ",xHc={47:1},yHc=1000003,zHc={640:1,3:1,4:1},AHc={105:1},BHc=1045,CHc={23:1},DHc="cannot reference {2} because of a missing module dependency\ndefined in module {1}, referenced from module {0}",EHc="missing require: ''{0}''",FHc={3:1,4:1,29:1},GHc={3:1},HHc="Array.isArray",IHc="goog",JHc="Invalid name '%s'. Did you mean to use NodeUtil.newQName?",KHc={26:1,3:1,4:1},LHc="prototype",MHc="goog.addSingletonGetter",
NHc="goog$addSingletonGetter",OHc="JSC_LATE_PROVIDE_ERROR",PHc="use strict",QHc="loadModule",RHc="module",SHc="get",THc="provide",UHc="require",VHc="finally",WHc="return",XHc="\\",YHc="Unexpected Node subclass.",ZHc="async",$Hc="...",_Hc="export",aIc="default",bIc="from",cIc="import",dIc="class",eIc="extends",fIc="implements",gIc="while",hIc="new.target",iIc="yield",jIc="false",kIc="true",lIc="continue",mIc="Unexpected token type. Should be LABEL_NAME.",nIc="debugger",oIc="void",pIc="interface",qIc=
"enum",rIc="type",sIc="declare",tIc="async function",uIc="Expected qualified name, found: %s",vIc="$jscomp.inherits",wIc="$jscomp$inherits",xIc="No inputs. Did you call init() or initModules()?",yIc="generateReport",zIc=".js",AIc="module$",BIc="{SyntheticVarsDeclar}",CIc=32768,DIc=131072,EIc="toSource",FIc="parseInputs",GIc="recordFunctionInformation",HIc="runTranspileOnlyPasses",IIc="runWhitespaceOnlyPasses",JIc={48:1},KIc="goog.module.declareNamespace",LIc="NONE",MIc="./",NIc="checkTypes",OIc="collapseObjectLiterals",
PIc="inlineVariables",QIc="removeUnusedClassProperties",RIc="removeUnusedPrototypeProperties",SIc="ECMASCRIPT3",TIc="ECMASCRIPT5",UIc="ALL",VIc={167:1,3:1},WIc={3:1,105:1},XIc="{0}",YIc="reportUnknownTypes",ZIc="analyzerChecks",$Ic="analyzerChecksInternal",_Ic="oldReportUnknownTypes",aJc="newCheckTypes",bJc="newCheckTypesCompatibility",cJc="newCheckTypesExtraChecks",dJc="missingSourcesWarnings",eJc="strictMissingProperties",fJc="strictPrimitiveOperators",gJc="strictCheckTypes",hJc="deprecated",iJc=
"fileoverviewTags",jJc="missingProperties",kJc="newCheckTypesAllChecks",lJc="checkEventfulObjectDisposal",mJc="const",nJc="duplicate",oJc="missingRequire",pJc="duplicateZipContents",qJc={157:1,3:1,24:1,15:1},rJc=134217728,sJc="var_args",tJc="Only calls to super or to a method of super are supported.",uJc="This should never happen. Did Es6SuperCheck fail to run?",vJc="constructor",wJc="call",xJc={47:1,23:1},yJc={56:1,52:1},zJc="apply",AJc="Array",BJc="Boolean",CJc="Function",DJc="Number",EJc="RegExp",
FJc="Symbol",GJc="Object",HJc="$jscomp$tmp$error",IJc="message",JJc="$jscomp$super$this",KJc="undefined",LJc="%20",MJc="next",NJc={36:1,3:1,4:1},OJc="value",PJc="es6/symbol",QJc="es6/util/",RJc="makeIterator",SJc="util/global",TJc="ES5 getters/setters (consider using --language_out=ES5)",UJc="$jscomp$this",VJc="$jscomp$arguments",WJc="enumerable",XJc=".prototype",YJc=-536870912,ZJc=2097152,$Jc=8388608,_Jc="$jscomp.global.Object.defineProperties",aKc=536870912,bKc="$jscomp$destructuring$var",cKc="Object.assign",
dKc="$jscomp.asyncExecutePromiseGeneratorFunction",eKc="$jscomp$generator$function",fKc="$jscomp",gKc="$jscomp$generator$context",hKc="jumpTo",iKc="nextAddress",jKc="yieldResult",kKc="$$exports",lKc="$$require",mKc="$$module",nKc="concat",oKc="$jscomp$restParams",pKc="$jscomp$restIndex",qKc="JSC_CANNOT_CONVERT",rKc="Math",sKc="$jscomp$",tKc={23:1,422:1},uKc="goog.provide",vKc="goog.module",wKc="__webpack_require__.e",xKc={1004:1},yKc=1610612736,zKc=".prototype.",AKc=67108864,BKc="CLASS",CKc="FUNCTION",
DKc="expectedKeys",EKc="java.lang.Integer",FKc="java/lang/Integer.impl.java.js",GKc="java.lang.Float",HKc="java/lang/Float.impl.java.js",IKc="goog.math.Long",JKc="closure/goog/math/long.js",KKc=268435456,LKc="throws",MKc="@template ",NKc={1007:1},OKc="Infinity",PKc="typeof",QKc="instanceof",RKc="Normalize constraints violated:\n",SKc="Duplicate VAR declaration",TKc=1048576,UKc="Unexpected const change.\n  name: ",VKc="peepholeOptimizations",WKc="removeUnreachableCode",XKc="module.exports",YKc=
"$jscomp$async$this",ZKc="$jscomp$async$arguments",$Kc="$jscomp$async$super$get$",_Kc="$jscomp.AsyncGeneratorWrapper$ActionRecord",aLc="Cannot prepend declarations to root scope",bLc="$jscomp$asyncIter$this",cLc="$jscomp$asyncIter$arguments",dLc="$jscomp$asyncIter$super$get$",eLc="$jscomp.AsyncGeneratorWrapper$ActionEnum.AWAIT_VALUE",fLc="$jscomp$browser$blacklisted",gLc="/package.json",hLc="$jscomp.polyfill",iLc="Parse error. {0}",jLc="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.",
kLc="Can only have JSDoc or inline type annotations, not both",lLc="Trailing comma is not legal in an ECMA-262 object initializer",mLc="msg.bad.jsdoc.tag",nLc="Non-JSDoc comment has annotations. Did you mean to start it with '/**'?",oLc={185:1,3:1,24:1,15:1},pLc={189:1,1072:1,3:1},qLc={56:1,194:1,3:1,24:1,15:1,52:1},rLc={193:1,3:1,24:1,15:1},sLc="DEFAULT",tLc="-beginning-",uLc="Property {0} never defined on {1}",vLc="Property {0} never defined on {1}. Did you mean {2}?",wLc="Expected a constructor; got %s",
xLc=" * ",yLc="Missing required properties:",zLc="../",ALc={190:1,3:1,24:1,15:1},BLc={184:1,266:1,3:1,24:1,15:1,88:1},CLc="node_modules/",DLc="es_next",ELc="symbol",FLc="CONSTRUCTOR",GLc="ENUM",HLc="EXTENDS",ILc="EXPORT",JLc="IMPLEMENTS",KLc="INTERFACE",LLc="PACKAGE",MLc="PRIVATE",NLc="PROTECTED",OLc="PUBLIC",PLc="RETURN",QLc="TYPE",RLc="package",SLc="private",TLc="protected",ULc="public",VLc="TYPESCRIPT",WLc="static",XLc="This language feature is only supported for ",YLc=" mode or better: ",ZLc=
"Invalid octal digit in octal literal.",$Lc="Octal integer literals are not supported in strict mode.",_Lc="unexpected: ",aMc="__missing_expression__",bMc="unique",cMc="consistent",dMc="Bad type annotation. ",eMc=" See https://github.com/google/closure-compiler/wiki/Bad-Type-Annotation for more information.",fMc="msg.jsdoc.incompat.type",gMc="msg.jsdoc.interface.constructor",hMc="msg.jsdoc.missing.rc",iMc="msg.jsdoc.template.name.declared.twice",jMc="msg.jsdoc.extra.visibility",kMc="msg.jsdoc.type.syntax",
lMc="msg.jsdoc.missing.rp",mMc="msg.jsdoc.idgen.bad",nMc="msg.jsdoc.idgen.duplicate",oMc="msg.jsdoc.modifies",pMc="msg.jsdoc.suppress",qMc="STRING",rMc="ANNOTATION",sMc="com.google.javascript.jscomp.parsing.ParserConfig",tMc="Expected a call node, found %s",uMc="msg.jsdoc.typetransformation.invalid",vMc="msg.jsdoc.typetransformation.invalid.expression",wMc="type transformation",xMc="msg.jsdoc.typetransformation.invalid.inside",yMc="conditional",zMc="map function",AMc="Expected a function node, found %s",
BMc="msg.jsdoc.typetransformation.missing.param",CMc="msg.jsdoc.typetransformation.extra.param",DMc="map function body",EMc="template type operation",FMc="INSTANCEOF",GMc="unknown",HMc="NEW_TARGET",IMc="FOR_AWAIT_OF",JMc="AMBIENT_DECLARATION",KMc="CALL_SIGNATURE",LMc="INDEX_SIGNATURE",MMc="NAMESPACE_DECLARATION",NMc="OPTIONAL_PARAMETER",OMc="TYPE_ALIAS",PMc="CATCH",QMc="CONTINUE",RMc="DEBUGGER",SMc="delete",TMc="FINALLY",UMc="SWITCH",VMc="TYPEOF",WMc="IMPORT",XMc="NULL",YMc="TRUE",ZMc="FALSE",$Mc=
"DECLARE",_Mc="NAMESPACE",aNc="'%s' expected",bNc="const variables must have an initializer",cNc="destructuring must have an initializer",dNc="No newline allowed before '=>'",eNc="invalid assignment target",fNc="invalid parenthesized expression",gNc="cannot use keyword '%s' here.",hNc="await",iNc="Unterminated template literal",jNc="Invalid escape sequence",kNc="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.",
lNc="ARRAY_PATTERN",mNc="OBJECT_PATTERN",nNc="ARRAY_TYPE",oNc="RECORD_TYPE",pNc="UNION_TYPE",qNc="FUNCTION_TYPE",rNc="GENERIC_TYPE_LIST",sNc=4294967295,tNc="0123456789abcdef",uNc="Malformed parenthetical: ",vNc="Bit index should be non-negative integer",wNc="String has leading or trailing whitespace",xNc=16384,yNc="The new child node has next siblings.",zNc="The new child node has previous siblings.",ANc="The new child node already has a parent.",BNc="%s is not the parent of %s",CNc="Number node not created with Node.newNumber",
DNc="String node not created with Node.newString",ENc=" is not a string node",FNc="com.google.javascript.rhino.Messages",GNc={27:1,3:1},HNc={27:1,49:1,3:1},INc={27:1,49:1,78:1,3:1},JNc={138:1,27:1,49:1,78:1,3:1},KNc="Type names cannot contain template annotations.",LNc="Thenable",MNc={27:1,49:1,137:1,3:1},NNc={164:1,3:1,24:1,15:1},ONc={3:1,44:1,75:1,30:1,40:1},PNc={3:1,83:1,40:1},QNc='For input string: "',RNc={24:1,192:1},SNc={3:1,19:1,21:1,58:1,72:1},TNc=16777619,UNc={3:1,19:1,21:1,39:1},VNc={3:1,
24:1,15:1,147:1},WNc={3:1,4:1,1074:1},XNc="Invalid UTF8 sequence",YNc=", length: ",ZNc="fromIndex: ",$Nc=", toIndex: ";var _,$X,VX,AX=-1;$wnd.goog=$wnd.goog||{};$wnd.goog.global=$wnd.goog.global||$wnd;_X();aY(1,null,{},vb);_.Fd=function wb(a){return ub(this,a)};_.Gd=function yb(){return this.Aj};_.Hd=function Ab(){return qFc(this)};_.Id=function Cb(){var a;return imc(zb(this))+"@"+(a=Bb(this)>>>0,a.toString(16))};_.equals=function(a){return this.Fd(a)};_.hashCode=function(){return this.Hd()};_.toString=
function(){return this.Id()};var lE,mE,nE;aY(440,1,{},kmc);_.gj=function lmc(a){var b;b=new kmc;b.i=4;a>1?b.c=smc(this,a-1):b.c=this;return b};_.hj=function rmc(){gmc(this);return this.b};_.sg=function tmc(){return imc(this)};_.ij=function vmc(){return jmc(this)};_.jj=function xmc(){return(this.i&4)!=0};_.kj=function ymc(){return(this.i&1)!=0};_.Id=function Bmc(){return((this.i&2)!=0?"interface ":(this.i&1)!=0?"":"class ")+(gmc(this),this.p)};_.i=0;_.k=0;var fmc=1;var PU=nmc(1);var AU=nmc(440);aY(330,
1,FFc);var SE=nmc(330);aY(712,330,FFc,Fb);_.Fd=function Gb(a){return a===this};_.Jd=function Hb(){throw CX(new Kmc("Optional.get() cannot be called on an absent value"));};_.Hd=function Ib(){return 2040732332};_.Kd=function Jb(){return false};_.Ld=function Kb(a){return Nd(a)};_.Md=function Lb(a){return Od(a,GFc)};_.Id=function Mb(){return"Optional.absent()"};var Db;var CE=nmc(712);aY(788,1,HFc);_.Nd=function Qb(a){nzc(this,a)};_.Od=function Rb(){return Nb(this)};_.Pd=function Sb(){return Ob(this)};
_.Qd=function Tb(){throw CX(new Aoc);};_.i=1;var DE=nmc(788);aY(136,1,LFc);_.Rd=function _b(a){return this.Sd(a.a)};_.Fd=function ac(a){return this===a};_.Td=function cc(a){return this.Sd(a.a)};_.Id=function dc(){var a;return imc(this.Aj)+"@"+(a=Bb(this)>>>0,a.toString(16))};var NE=nmc(136);aY(786,136,LFc,ec);_.Sd=function fc(a){return Gsc(this.a,a)>=0};_.Id=function gc(){var a,b,c,d,e;e=new xoc('CharMatcher.anyOf("');for(b=this.a,c=0,d=b.length;c<d;++c){a=b[c];roc(e,bc(a))}e.a+='")';return e.a};
var EE=nmc(786);aY(1049,136,LFc);var FE=nmc(1049);aY(479,1049,LFc,hc);_.Sd=function ic(a){return this.b<=a&&a<=this.a};_.Id=function jc(){return"CharMatcher.inRange('"+bc(this.b)+"', '"+bc(this.a)+"')"};_.a=0;_.b=0;var GE=nmc(479);aY(121,1049,LFc,lc);_.Sd=function mc(a){return kc(this,a)};_.Id=function nc(){return"CharMatcher.is('"+bc(this.a)+"')"};_.a=0;var HE=nmc(121);aY(785,136,LFc,qc);_.Sd=function rc(a){return Tlc==null&&(Tlc=new RegExp(MFc,"i")),Tlc.test(String.fromCharCode(a))};_.Id=function sc(){return"CharMatcher.javaLetterOrDigit()"};
var oc;var IE=nmc(785);aY(478,1049,LFc);_.Id=function uc(){return this.a};var JE=nmc(478);aY(783,478,LFc,xc);_.Sd=function yc(a){return false};var vc;var KE=nmc(783);aY(351,136,LFc,Ac);_.Sd=function Bc(a){return zc(this,a)};_.Id=function Cc(){return"CharMatcher.or("+this.a+NFc+this.b+")"};var LE=nmc(351);aY(784,478,LFc,Gc);_.Sd=function Hc(a){return Anc("\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>>>Ec)==a};var Dc,Ec=0;var ME=nmc(784);aY(84,1,{},Nc);var PE=nmc(84);var JU=pmc();aY(PFc,1,QFc);_.Vd=function Vc(a){throw CX(new Boc("Add not supported on this collection"));};_.Wd=function Wc(a){return Pc(this,a)};_.Xd=function Xc(){Rc(this)};_.Yd=function Yc(a){return Qc(this,a,false)};_.Zd=function Zc(a){return Sc(this,a)};_.$d=function $c(){return this.ce()==0};_.ae=function _c(a){return Qc(this,a,true)};_.be=function ad(a){return Tc(this,a)};_.de=function bd(){return this.ee(BD(PU,
RFc,1,this.ce(),5,1))};_.ee=function cd(a){var b,c,d,e;e=this.ce();a.length<e&&(a=XEc(new Array(e),a));d=a;c=this._d();for(b=0;b<e;++b)d[b]=c.Pd();a.length>e&&(a[e]=null);return a};_.Id=function dd(){return Uc(this)};var $U=nmc(PFc);aY(SFc,PFc,TFc);_.fe=function gd(a,b){throw CX(new Boc("Add not supported on this list"));};_.Vd=function hd(a){this.fe(this.ce(),a);return true};_.Xd=function jd(){this.ke(0,this.ce())};_.Fd=function kd(a){return ed(this,a)};_.Hd=function ld(){return Mtc(this)};_._d=
function md(){return new Ipc(this)};_.he=function nd(){return this.ie(0)};_.ie=function od(a){return new Opc(this,a)};_.je=function pd(a){throw CX(new Boc("Remove not supported on this list"));};_.ke=function qd(a,b){var c,d;d=this.ie(a);for(c=a;c<b;++c){d.Pd();d.Qd()}};_.le=function rd(a,b){return new Tpc(this,a,b)};var fV=nmc(SFc);aY(454,SFc,TFc,sd);_.ge=function td(a){switch(a){case 0:return this.a;case 1:return this.c;default:return this.b[a-2]}};_.ce=function ud(){return this.b.length+2};var OE=
nmc(454);aY(233,1,{},yd);_.Id=function zd(){return xd(this)};_.d=false;var RE=nmc(233);aY(452,1,{},Ad);var QE=nmc(452);aY(15,1,{3:1,24:1,15:1});_.me=function de(a){return this.f-a.f};_.Fd=function fe(a){return this===a};_.Hd=function ge(){return qFc(this)};_.Id=function he(){return be(this)};_.f=0;var CU=nmc(15);aY(140,15,YFc);_.Td=function pe(a){return this.Rd(a)};var je,ke,le,me;var XE=omc(140,CU,qe);aY(978,140,YFc,re);_.Rd=function se(a){return true};_.Id=function te(){return"Predicates.alwaysTrue()"};
var TE=omc(978,XE,null);aY(979,140,YFc,ue);_.Rd=function ve(a){return false};_.Id=function we(){return"Predicates.alwaysFalse()"};var UE=omc(979,XE,null);aY(980,140,YFc,xe);_.Rd=function ye(a){return a==null};_.Id=function ze(){return"Predicates.isNull()"};var VE=omc(980,XE,null);aY(981,140,YFc,Ae);_.Rd=function Be(a){return a!=null};_.Id=function Ce(){return"Predicates.notNull()"};var WE=omc(981,XE,null);aY(214,330,{330:1,214:1,3:1},De);_.Fd=function Ee(a){var b;if(rE(a,214)){b=a;return xb(this.a,
b.a)}return false};_.Jd=function Fe(){return this.a};_.Hd=function Ge(){return 1502476572+Bb(this.a)};_.Kd=function He(){return true};_.Ld=function Ie(a){Nd(a);return this};_.Md=function Je(a){Od(a,GFc);return this.a};_.Id=function Ke(){return"Optional.of("+this.a+")"};var YE=nmc(214);aY(238,1,{},Re,Se);_.a=0;_.b=false;var bF=nmc(238);aY(787,1,{},Ve);var $E=nmc(787);aY(789,788,HFc);_.b=0;_.c=0;_.d=false;var aF=nmc(789);aY(790,789,HFc,Ye);var ZE=nmc(790);aY(791,1,ZFc,$e);_._d=function _e(){return Ze(this)};
_.Id=function af(){return koc(Jc(new Nc(NFc),koc(new uoc,91),Pe(this.a,this.b)),93).a};var _E=nmc(791);aY(107,1,$Fc);_.Nd=function ff(a){nzc(this,a)};_.Qd=function gf(){ef()};var MI=nmc(107);aY(1026,107,_Fc);_.Qd=function jf(){ef()};_.ne=function hf(a){throw CX(new Aoc);};var NI=nmc(1026);aY(268,1026,_Fc);_.Od=function mf(){return this.c<this.d};_.oe=function nf(){return this.c>0};_.Pd=function of(){return kf(this)};_.pe=function pf(){if(this.c<=0)throw CX(new lAc);return this.ge(--this.c)};_.c=0;
_.d=0;var cF=nmc(268);aY(709,107,$Fc);_.Od=function sf(){return qf(this)};_.Pd=function tf(){var a;if(!qf(this))throw CX(new lAc);this.f=1;a=this.e;this.e=null;return a};_.f=1;var dF=nmc(709);aY(1052,1,{103:1});_.qe=function xf(){var a;return a=this.f,!a?this.f=this.se():a};_.Fd=function yf(a){return px(this,a)};_.Hd=function zf(){return Bb(this.qe())};_.$d=function Af(){return this.ce()==0};_.ve=function Bf(){return vf(this)};_.Id=function Cf(){return fY(this.qe())};var AF=nmc(1052);aY(493,1052,
aGc);_.Xd=function Lf(){Df(this)};_.re=function Mf(a){return Ef(this,a)};_.se=function Nf(){return new Gg(this,this.c)};_.ye=function Of(a){return this.xe()};_.te=function Pf(){return new uh(this,this.c)};_.ze=function Qf(){return this.Ae(this.xe())};_.ue=function Rf(a){return Ff(this,a)};_.we=function Tf(a){return Hf(this,a)};_.ce=function Uf(){return this.d};_.Ae=function Vf(a){return Jtc(),new Luc(a)};_.Be=function Wf(a,b){return new Kh(this,a,b,null)};_.d=0;var sF=nmc(493);aY(835,493,aGc);_.xe=
function Yf(){return this.a.Jd()};_.ze=function Zf(){return Jtc(),Jtc(),Htc};_.ue=function _f(a){return Ff(this,a)};_.we=function bg(a){return Hf(this,a)};_.qe=function Xf(){var a;return a=this.f,!a?this.f=new Gg(this,this.c):a};_.Fd=function $f(a){return px(this,a)};_.Ce=function ag(a){return Ff(this,a)};_.De=function cg(a){return Hf(this,a)};_.Ae=function dg(a){return Stc(a)};_.Be=function eg(a,b){return Jf(this,a,b,null)};var eF=nmc(835);aY(1028,1,bGc);_.Xd=function lg(){this.Ge().Xd()};_.Ee=function mg(a){return fg(this,
a)};_.re=function ng(a){return!!hg(this,a,false)};_.Fe=function og(a){var b,c,d;for(c=this.Ge()._d();c.Od();){b=c.Pd();d=b.We();if(wE(a)===wE(d)||a!=null&&xb(a,d))return true}return false};_.Fd=function pg(a){return gg(this,a)};_.He=function qg(a){return rg(hg(this,a,false))};_.Hd=function sg(){return Ltc(this.Ge())};_.$d=function tg(){return this.ce()==0};_.ve=function ug(){return new Ypc(this)};_.Ie=function vg(a,b){throw CX(new Boc("Put not supported on this map"));};_.Je=function wg(a){return rg(hg(this,
a,true))};_.ce=function xg(){return this.Ge().ce()};_.Id=function yg(){return jg(this)};_.Ke=function zg(){return new hqc(this)};var nV=nmc(1028);aY(1053,1028,bGc);_.Ge=function Ag(){var a;a=this.c;return!a?this.c=this.Le():a};_.ve=function Bg(){var a;a=this.d;return!a?this.d=new nh(this):a};_.Ke=function Cg(){var a;a=this.e;return!a?this.e=new Yw(this):a};var RH=nmc(1053);aY(243,1053,bGc,Gg);_.He=function Lg(a){return Dg(this,a)};_.Je=function Og(a){return Eg(this,a)};_.Xd=function Hg(){this.a==
this.b.c?this.b.Xd():yt(new ih(this))};_.re=function Ig(a){return Kw(this.a,a)};_.Me=function Jg(){return new dh(this)};_.Le=function(){return this.Me()};_.Fd=function Kg(a){return this===a||gg(this.a,a)};_.Hd=function Mg(){return Ltc(this.a.Ge())};_.ve=function Ng(){return this.b.ve()};_.ce=function Pg(){return this.a.ce()};_.Id=function Qg(){return jg(this.a)};var hF=nmc(243);aY(cGc,PFc,dGc);_.Fd=function Tg(a){return Rg(this,a)};_.Hd=function Ug(){return Ltc(this)};_.be=function Vg(a){return Sg(this,
a)};var vV=nmc(cGc);aY(1037,cGc,dGc);_.be=function Wg(a){return vy(this,a)};var uI=nmc(1037);aY(1038,1037,dGc);_.Xd=function Yg(){this.Ne().Xd()};_.Yd=function Zg(a){return Xg(this,a)};_.$d=function $g(){return this.Ne().$d()};_.ae=function _g(a){var b;if(this.Yd(a)){b=a;return this.Ne().ve().ae(b.Ve())}return false};_.be=function ah(b){try{return vy(this,Nd(b))}catch(a){a=BX(a);if(rE(a,34))return wy(this,b._d());else throw CX(a);}};_.ce=function bh(){return this.Ne().ce()};var MH=nmc(1038);aY(842,
1038,dGc,dh);_.Yd=function eh(a){return bl(this.a.a.Ge(),a)};_._d=function fh(){return new ih(this.a)};_.Ne=function gh(){return this.a};_.ae=function hh(a){var b;if(!bl(this.a.a.Ge(),a))return false;b=a;If(this.a.b,b.Ve());return true};var fF=nmc(842);aY(499,1,HFc,ih);_.Nd=function jh(a){nzc(this,a)};_.Pd=function lh(){var a;return a=this.b.Pd(),this.a=a.We(),Fg(this.c,a)};_.Od=function kh(){return this.b.Od()};_.Qd=function mh(){Td(!!this.a,eGc);this.b.Qd();this.c.b.d-=this.a.ce();this.a.Xd();this.a=
null};var gF=nmc(499);aY(282,1037,dGc,nh);_.Xd=function oh(){this.b.Xd()};_.Yd=function ph(a){return this.b.re(a)};_.$d=function qh(){return this.b.$d()};_._d=function rh(){return new Pw(this.b.Ge()._d())};_.ae=function sh(a){if(this.b.re(a)){this.b.Je(a);return true}return false};_.ce=function th(){return this.b.ce()};var PH=nmc(282);aY(294,282,dGc,uh);_.Xd=function vh(){var a;yt((a=this.b.Ge()._d(),new Bh(this,a)))};_.Zd=function wh(a){return this.b.ve().Zd(a)};_.Fd=function xh(a){return this===
a||xb(this.b.ve(),a)};_.Hd=function yh(){return Bb(this.b.ve())};_._d=function zh(){var a;return a=this.b.Ge()._d(),new Bh(this,a)};_.ae=function Ah(a){var b,c;c=0;b=this.b.Je(a);if(b){c=b.ce();b.Xd();this.a.d-=c}return c>0};var jF=nmc(294);aY(500,1,HFc,Bh);_.Nd=function Ch(a){nzc(this,a)};_.Od=function Dh(){return this.c.Od()};_.Pd=function Eh(){this.a=this.c.Pd();return this.a.Ve()};_.Qd=function Fh(){var a;Td(!!this.a,eGc);a=this.a.We();this.c.Qd();this.b.a.d-=a.ce();a.Xd();this.a=null};var iF=
nmc(500);aY(293,PFc,QFc,Kh);_.Vd=function Lh(a){var b,c;Hh(this);c=this.d.$d();b=this.d.Vd(a);if(b){++this.f.d;c&&Gh(this)}return b};_.Wd=function Mh(a){var b,c,d;if(a.$d())return false;d=(Hh(this),this.d.ce());b=this.d.Wd(a);if(b){c=this.d.ce();this.f.d+=c-d;d==0&&Gh(this)}return b};_.Xd=function Nh(){var a;a=(Hh(this),this.d.ce());if(a==0)return;this.d.Xd();this.f.d-=a;Ih(this)};_.Yd=function Oh(a){Hh(this);return this.d.Yd(a)};_.Zd=function Ph(a){Hh(this);return this.d.Zd(a)};_.Fd=function Qh(a){if(a===
this)return true;Hh(this);return xb(this.d,a)};_.Hd=function Rh(){Hh(this);return Bb(this.d)};_._d=function Sh(){Hh(this);return new gi(this)};_.ae=function Th(a){var b;Hh(this);b=this.d.ae(a);if(b){--this.f.d;Ih(this)}return b};_.be=function Uh(a){var b,c,d;if(a.$d())return false;d=(Hh(this),this.d.ce());b=this.d.be(a);if(b){c=this.d.ce();this.f.d+=c-d;Ih(this)}return b};_.ce=function Vh(){return Jh(this)};_.Id=function Wh(){Hh(this);return fY(this.d)};var mF=nmc(293);aY(497,293,TFc,Xh);_.fe=function Yh(a,
b){var c;Hh(this);c=this.d.$d();this.d.fe(a,b);++this.a.d;c&&Gh(this)};_.ge=function Zh(a){Hh(this);return this.d.ge(a)};_.he=function $h(){Hh(this);return new mi(this)};_.ie=function _h(a){Hh(this);return new ni(this,a)};_.je=function ai(a){var b;Hh(this);b=this.d.je(a);--this.a.d;Ih(this);return b};_.le=function bi(a,b){Hh(this);return Jf(this.a,this.e,this.d.le(a,b),!this.b?this:this.b)};var oF=nmc(497);aY(841,497,fGc,ci);var kF=nmc(841);aY(367,1,HFc,gi);_.Nd=function ii(a){nzc(this,a)};_.Od=function ji(){fi(this);
return this.b.Od()};_.Pd=function ki(){fi(this);return this.b.Pd()};_.Qd=function li(){ei(this)};var lF=nmc(367);aY(498,367,gGc,mi,ni);_.Qd=function ri(){ei(this)};_.ne=function oi(a){var b;b=Jh(this.a)==0;(fi(this),this.b).ne(a);++this.a.a.d;b&&Gh(this.a)};_.oe=function pi(){return(fi(this),this.b).oe()};_.pe=function qi(){return(fi(this),this.b).pe()};var nF=nmc(498);aY(496,293,hGc,si);_.Oe=function ti(){return this.Pe().Oe()};_.Pe=function ui(){return this.d};var rF=nmc(496);aY(840,496,iGc,vi);
_.Pe=function wi(){return this.d};var pF=nmc(840);aY(495,293,dGc,xi);_.be=function yi(a){var b,c,d;if(a.$d())return false;d=(Hh(this),this.d.ce());b=vy(this.d,a);if(b){c=this.d.ce();this.a.d+=c-d;Ih(this)}return b};var qF=nmc(495);aY(1064,PFc,{632:1,19:1,21:1});_.Vd=function Ci(a){return Ni(this,a,1),true};_.Wd=function Di(a){return Nd(this),Nd(a),rE(a,213)?Sx(this,a):!a.$d()&&vt(this,a._d())};_.Yd=function Ei(a){var b;return b=Lw(this.a,a),(!b?0:b.a)>0};_.Ge=function Fi(){return Ai(this)};_.Fd=function Gi(a){return Tx(this,
a)};_.Hd=function Hi(){return Bb(this.Ge())};_.$d=function Ii(){return Ai(this).$d()};_.ae=function Ji(a){return this.Re(a,1)>0};_.Re=function Ki(a,b){throw CX(new Aoc);};_.be=function Li(a){return Bi(this,a)};_.Id=function Mi(){return fY(Ai(this))};var DF=nmc(1064);aY(970,1064,{632:1,3:1,19:1,21:1});_.Xd=function Wi(){Oi(this)};_.Qe=function Xi(a){return Pi(this,a)};_.Ge=function Yi(){return Ai(this)};_._d=function $i(){return new sj(this)};_.Re=function _i(a,b){return Ti(this,a,b)};_.ce=function aj(){return XA(this.b)};
_.b=0;var yF=nmc(970);aY(972,1,HFc,bj);_.Nd=function cj(a){nzc(this,a)};_.Od=function dj(){return this.c.b};_.Pd=function ej(){var a;a=ypc(this.c);this.b=a;return a.Ve()};_.Qd=function fj(){Td(!!this.b,eGc);this.a.b=PX(this.a.b,ll(this.b.We(),0));zpc(this.c);this.b=null};var tF=nmc(972);aY(973,1,HFc,gj);_.Nd=function hj(a){nzc(this,a)};_.Pd=function jj(){var a;return a=ypc(this.c),this.b=a,new pj(this,a)};_.Od=function ij(){return this.c.b};_.Qd=function kj(){Td(!!this.b,eGc);this.a.b=PX(this.a.b,
ll(this.b.We(),0));zpc(this.c);this.b=null};var vF=nmc(973);var fI=pmc();aY(1056,1,{1006:1});_.Fd=function lj(a){var b;if(rE(a,1006)){b=a;return this.Se()==b.Se()&&Bd(this.Te(),b.Te())}return false};_.Hd=function mj(){var a;a=this.Te();return(a==null?0:Bb(a))^this.Se()};_.Id=function nj(){var a,b;b=goc(this.Te());a=this.Se();return a==1?b:b+" x "+a};var hI=nmc(1056);aY(308,1056,{308:1,1006:1},pj);_.Se=function qj(){return oj(this)};_.Te=function rj(){return this.b.Ve()};var uF=nmc(308);aY(971,1,HFc,
sj);_.Nd=function tj(a){nzc(this,a)};_.Od=function uj(){return this.d>0||this.c.b};_.Pd=function vj(){if(this.d==0){this.b=ypc(this.c);this.d=this.b.We().a}--this.d;this.a=true;return this.b.Ve()};_.Qd=function wj(){var a;Td(this.a,eGc);a=this.b.We().a;if(a<=0)throw CX(new Xwc);(this.b.We().a+=-1)==0&&zpc(this.c);this.e.b=PX(this.e.b,1);this.a=false};_.a=false;_.d=0;var wF=nmc(971);aY(974,1,{},yj);_.Ue=function zj(a,b){xj(this,a,b)};var xF=nmc(974);var wW=pmc();aY(160,1,kGc);_.Fd=function Aj(a){var b;
if(rE(a,54)){b=a;return Bd(this.Ve(),b.Ve())&&Bd(this.We(),b.We())}return false};_.Hd=function Bj(){var a,b;a=this.Ve();b=this.We();return(a==null?0:Bb(a))^(b==null?0:Bb(b))};_.Xe=function Cj(a){throw CX(new Aoc);};_.Id=function Dj(){return this.Ve()+"="+this.We()};var zF=nmc(160);aY(1054,1037,dGc);_.Xd=function Ej(){Oi(this.a)};_.Yd=function Fj(a){return Pi(this.a,a)>0};_.Zd=function Gj(a){return Sc(this.a,a)};_.$d=function Hj(){return Ai(this.a).$d()};_.ae=function Ij(a){return Ti(this.a,a,EFc)>
0};_.ce=function Jj(){return Ai(this.a).ce()};var iI=nmc(1054);aY(843,1054,dGc,Kj);_._d=function Lj(){return Qi(this.a)};var BF=nmc(843);aY(1055,1037,dGc);_.Xd=function Mj(){Oi(this.a)};_.Yd=function Nj(a){var b,c;if(rE(a,308)){c=a;if(oj(c)<=0)return false;b=Pi(this.a,c.b.Ve());return b==oj(c)}return false};_.ae=function Oj(a){var b,c,d,e;if(rE(a,308)){c=a;b=c.b.Ve();d=oj(c);if(d!=0){e=this.a;return Ux(e,b,d,0)}}return false};var jI=nmc(1055);aY(844,1055,dGc,Pj);_._d=function Qj(){return Ri(this.a)};
_.ce=function Rj(){return fpc(this.a.a)};var CF=nmc(844);aY(366,493,aGc);_.xe=function Uj(){return this.Ye()};_.ze=function Vj(){return Jtc(),Jtc(),Itc};_.ue=function Xj(a){return Ff(this,a)};_.we=function Zj(a){return Hf(this,a)};_.qe=function Tj(){var a;return a=this.f,!a?this.f=this.se():a};_.Fd=function Wj(a){return px(this,a)};_.Ze=function Yj(a){return Ff(this,a)};_.$e=function $j(a){return Hf(this,a)};_.Ae=function _j(a){return Jtc(),new Mvc(a)};_.Be=function ak(a,b){return new xi(this,a,b)};
var EF=nmc(366);aY(1061,1,{633:1});_.af=function bk(){var a;return a=this.d,!a?this.d=new gk(this):a};_.Xd=function ck(){yt(this.af().a._e())};_.Fd=function dk(a){return Pz(this,a)};_.Hd=function ek(){return Ltc(this.af())};_.Id=function fk(){return jg(this.bf())};var GF=nmc(1061);aY(513,cGc,dGc,gk);_.Xd=function hk(){this.a.Xd()};_.Yd=function ik(a){var b,c;if(rE(a,257)){b=a;c=Lw(this.a.bf(),b.b);return!!c&&bl(c.Ge(),new qq(b.a,b.c))}return false};_._d=function jk(){return this.a._e()};_.ae=function kk(a){var b,
c;if(rE(a,257)){b=a;c=Lw(this.a.bf(),b.b);return!!c&&cl(c.Ge(),new qq(b.a,b.c))}return false};_.ce=function lk(){return this.a.ce()};var FF=nmc(513);aY(1071,1052,{103:1});var HF=nmc(1071);var mk;aY(886,1,{},ok);_.Jd=function pk(){return Km(),new tr};var IF=nmc(886);aY(893,1,{},qk);_.Ue=function rk(a,b){asc(a.b,Nd(b))};var JF=nmc(893);aY(894,1,lGc,sk);_.Ud=function tk(a){return Us(a.a,new Bsc(a.b))};var KF=nmc(894);aY(887,1,{},uk);_.Ue=function vk(a,b){rr(a,b)};var LF=nmc(887);aY(888,1,lGc,wk);_.Ud=
function xk(a){return Sm(a.a)};var MF=nmc(888);aY(889,1,{},yk);_.Jd=function zk(){return lm(),new is};var NF=nmc(889);aY(890,1,{},Ak);_.Ue=function Bk(a,b){a.Lf(b)};var OF=nmc(890);aY(891,1,lGc,Ck);_.Ud=function Dk(a){return a.Nf()};var PF=nmc(891);aY(892,1,{},Ek);_.Jd=function Fk(){return nk(),new _s(this.a)};var QF=nmc(892);aY(911,1,{},Lk);_.df=function Mk(){return this.a.df()&-262};_.ef=function Nk(){return this.a.ef()};_.Nd=function Ok(a){this.a.Nd(new Sk(a,this.b))};_.ff=function Pk(a){return this.a.ff(new Qk(a,
this.b))};var WF=nmc(911);aY(912,1,{},Qk);_.gf=function Rk(a){this.a.gf(this.b.Ud(a))};var RF=nmc(912);aY(913,1,{},Sk);_.gf=function Tk(a){this.a.gf(this.b.Ud(a))};var SF=nmc(913);aY(511,1,{},Uk);_.df=function Vk(){return 16464|this.b};_.ef=function Wk(){return this.a.ef()};_.Nd=function Xk(a){this.a.vj(new _k(a,this.c))};_.ff=function Yk(a){return this.a.wj(new Zk(a,this.c))};_.b=0;var VF=nmc(511);aY(909,1,{},Zk);_.hf=function $k(a){this.a.gf(this.b.Of(a))};var TF=nmc(909);aY(910,1,{},_k);_.hf=function al(a){this.a.gf(this.b.Of(a))};
var UF=nmc(910);aY(237,1,{237:1,105:1});_.Fd=function dl(a){return this===a};_.lf=function fl(){return new Twc(this)};_.kf=function el(){return new by(this)};var mI=nmc(237);aY(345,237,{345:1,237:1,3:1,105:1},gl);_.jf=function hl(a,b){return this.a.jf(a,b)};_.Fd=function il(a){var b;if(a===this)return true;if(rE(a,345)){b=a;return this.a.Fd(b.a)}return false};_.Hd=function jl(){return Bb(this.a)};_.Id=function kl(){return fY(this.a)};var XF=nmc(345);aY(312,1,{312:1,3:1},ml);_.Fd=function nl(a){return rE(a,
312)&&a.a==this.a};_.Hd=function ol(){return this.a};_.Id=function pl(){return""+this.a};_.a=0;var YF=nmc(312);aY(997,1071,aGc);_.qe=function ql(){return this.a};_.ue=function vl(a){return this.mf(a)};_.ve=function wl(){return this.a.Af()};_.we=function yl(a){return this.nf(a)};_.Xd=function rl(){throw CX(new Aoc);};_.re=function sl(a){return Xn(this.a,a)};_.se=function tl(){throw CX(new Nlc("should never be called"));};_.te=function ul(){throw CX(new Nlc(mGc));};_.nf=function xl(a){throw CX(new Aoc);
};_.ce=function zl(){return this.b};_.b=0;var YG=nmc(997);aY(629,997,aGc,Cl);_.qe=function Dl(){return this.a};_.Fd=function El(a){return px(this,a)};_.mf=function Gl(a){return Al(this,a)};_.ue=function Hl(a){var b;return b=Zn(this.a,a),!b?(Km(),Km(),Jm):b};_.Ce=function Il(a){var b;return b=Zn(this.a,a),!b?(Km(),Km(),Jm):b};_.nf=function Jl(a){return Bl()};_.we=function Kl(a){return Bl()};_.De=function Ll(a){return Bl()};var NG=nmc(629);aY(1001,629,aGc,Ol);var Ml;var ZF=nmc(1001);aY(332,1,ZFc);_.Id=
function Rl(){return Gt(Od(this,GFc)._d())};var bG=nmc(332);aY(721,332,ZFc,Sl);_._d=function Tl(){return new cu(Ht(st(this.a),new pt))};var $F=nmc(721);aY(722,332,ZFc,Vl);_._d=function Wl(){return Ul(this)};var aG=nmc(722);aY(723,268,_Fc,Xl);_.ge=function Yl(a){return this.a[a]._d()};var _F=nmc(723);aY(1031,1,{});_.Id=function Zl(){return fY(this.of())};var kG=nmc(1031);aY(1032,1031,QFc);_.of=function dm(){return this.pf()};_.Vd=function $l(a){return this.pf(),Duc()};_.Wd=function _l(a){return this.pf(),
Euc()};_.Xd=function am(){this.pf(),Fuc()};_.Yd=function bm(a){return this.pf().Yd(a)};_.Zd=function cm(a){return this.pf().Zd(a)};_.$d=function em(){return this.pf().b.$d()};_._d=function fm(){return this.pf()._d()};_.ae=function gm(a){return this.pf(),Iuc()};_.be=function hm(a){return this.pf(),Juc()};_.ce=function im(){return this.pf().b.ce()};_.de=function jm(){return this.pf().de()};_.ee=function km(a){return this.pf().ee(a)};var cG=nmc(1032);aY(67,PFc,nGc);_._d=function wm(){return this.sf()};
_.Vd=function qm(a){return mm()};_.Wd=function rm(a){throw CX(new Aoc);};_.qf=function sm(){return nm(this)};_.Xd=function tm(){throw CX(new Aoc);};_.Yd=function um(a){return a!=null&&Qc(this,a,false)};_.rf=function vm(){switch(this.ce()){case 0:return Km(),Km(),Jm;case 1:return Km(),new Uy(Nd(this.sf().Pd()));default:return new os(this,this.de())}};_.ae=function xm(a){return om()};_.be=function ym(a){return pm()};var HG=nmc(67);aY(450,67,nGc,zm);_._d=function Em(){return It(this.a._d())};_.Yd=function Am(a){return a!=
null&&this.a.Yd(a)};_.Zd=function Bm(a){return this.a.Zd(a)};_.$d=function Cm(){return this.a.$d()};_.sf=function Dm(){return It(this.a._d())};_.ce=function Fm(){return this.a.ce()};_.de=function Gm(){return this.a.de()};_.ee=function Hm(a){return this.a.ee(a)};_.Id=function Im(){return fY(this.a)};var dG=nmc(450);aY(113,67,oGc);_._d=function Wm(){return this.sf()};_.he=function Xm(){return this.tf(0)};_.ie=function Zm(a){return this.tf(a)};_.uf=function bn(){return new QAc(this,16)};_.le=function dn(a,
b){return this.vf(a,b)};_.fe=function Nm(a,b){throw CX(new Aoc);};_.qf=function Pm(){return this};_.Fd=function Tm(a){return Uv(this,a)};_.Hd=function Um(){return Vv(this)};_.sf=function Vm(){return this.tf(0)};_.tf=function Ym(a){return Lm(this,a)};_.je=function an(a){throw CX(new Aoc);};_.vf=function cn(a,b){var c;return en((c=new cw(this),new Tpc(c,a,b)))};var Jm;var OG=nmc(113);aY(1034,113,oGc);_._d=function rn(){return It(this.wf()._d())};_.le=function un(a,b){return en(this.wf().le(a,b))};_.Yd=
function kn(a){return fn(this,a)};_.Zd=function ln(a){return this.wf().Zd(a)};_.Fd=function mn(a){return gn(this,a)};_.ge=function nn(a){return hn(this,a)};_.Hd=function on(){return Bb(this.wf())};_.$d=function pn(){return this.wf().$d()};_.sf=function qn(){return It(this.wf()._d())};_.ce=function sn(){return this.wf().ce()};_.vf=function tn(a,b){return en(this.wf().le(a,b))};_.de=function vn(){return this.wf().ee(BD(PU,RFc,1,this.wf().ce(),5,1))};_.ee=function wn(a){return jn(this,a)};_.Id=function xn(){return fY(this.wf())};
var eG=nmc(1034);aY(133,1,qGc);_.Ge=function Kn(){return An(this)};_.ve=function Qn(){return this.Af()};_.Ke=function Wn(){return this.Bf()};_.Xd=function Dn(){throw CX(new Aoc);};_.re=function En(a){return this.He(a)!=null};_.Fe=function Fn(a){return this.Bf().Yd(a)};_.yf=function Hn(){return new Nr(this)};_.zf=function In(){return new Tr(this)};_.Fd=function Ln(a){return Hw(this,a)};_.Hd=function Nn(){return An(this).Hd()};_.$d=function On(){return this.ce()==0};_.Af=function Pn(){return Bn(this)};
_.Ie=function Sn(a,b){return Cn()};_.Je=function Tn(a){throw CX(new Aoc);};_.Id=function Un(){return Nw(this)};_.Bf=function Vn(){if(this.g)return this.g;return this.g=this.zf()};_.e=null;_.f=null;_.g=null;var yn;var WG=nmc(133);aY(232,133,qGc);_.re=function ao(a){return Xn(this,a)};_.Fe=function bo(a){return svc(this.d,a)};_.xf=function co(){return Fo(new qo(this))};_.yf=function eo(){return Fo(vvc(this.d))};_.zf=function fo(){return lm(),new zm(wvc(this.d))};_.Fd=function go(a){return Yn(this,a)};
_.He=function ho(a){return Zn(this,a)};_.Hd=function io(){return Bb(this.d.d)};_.$d=function jo(){return this.d.d.$d()};_.ce=function ko(){return this.d.d.ce()};_.Id=function lo(){return fY(this.d.d)};var gG=nmc(232);aY(1033,1032,dGc);_.of=function mo(){return this.Cf()};_.pf=function no(){return this.Cf()};_.Fd=function oo(a){return a===this||this.Cf().Fd(a)};_.Hd=function po(){return this.Cf().Hd()};var lG=nmc(1033);aY(707,1033,dGc,qo);_.of=function so(){return tvc(this.a.d)};_.pf=function to(){return tvc(this.a.d)};
_.Yd=function ro(a){if(rE(a,54)&&a.Ve()==null)return false;return Pvc(tvc(this.a.d),a)};_.Cf=function uo(){return tvc(this.a.d)};_.ee=function vo(a){var b;b=Qvc(tvc(this.a.d),a);tvc(this.a.d).b.ce()<b.length&&(b[tvc(this.a.d).b.ce()]=null);return b};var fG=nmc(707);aY(134,67,rGc);_._d=function Co(){return this.sf()};_.uf=function Eo(){return new QAc(this,1)};_.Fd=function Ao(a){return sy(this,a)};_.Hd=function Bo(){return ty(this)};var $G=nmc(134);aY(340,134,rGc);_._d=function Mo(){return this.sf()};
_.Yd=function Ho(a){return a!=null&&Guc(this.b,a)};_.Zd=function Io(a){return Huc(this.b,a)};_.Hd=function Jo(){return Bb(this.b.b)};_.$d=function Ko(){return this.b.b.$d()};_.sf=function Lo(){return It(new $uc(this.b.b._d()))};_.ce=function No(){return this.b.b.ce()};_.de=function Oo(){return this.b.b.de()};_.ee=function Po(a){return Kuc(this.b,a)};_.Id=function Qo(){return fY(this.b.b)};var hG=nmc(340);aY(1050,1031,bGc);_.of=function Wo(){return this.a};_.Xd=function To(){fxc(this.a)};_.re=function Uo(a){return gxc(this.a,
a)};_.Fe=function Vo(a){return hxc(this.a,a)};_.Ge=function Xo(){return new yxc(this.a)};_.Fd=function Yo(a){return a===this||gg(this.a,a)};_.He=function Zo(a){return Ro(this,a)};_.Hd=function $o(){return Ltc(new yxc(this.a))};_.$d=function _o(){return this.a.a.c==0};_.ve=function ap(){return new Ypc(this.a)};_.Ie=function bp(a,b){return So(this,a,b)};_.Je=function cp(a){return lxc(this.a,a)};_.ce=function dp(){return this.a.a.c};_.Ke=function ep(){return new hqc(this.a)};var jG=nmc(1050);aY(1062,
1031,sGc);_.of=function hp(){return this.a};_.Fd=function ip(a){return this.a.Fd(a)};_.Ve=function jp(){return this.a.Ve()};_.We=function kp(){return this.a.We()};_.Hd=function lp(){return this.a.Hd()};_.Xe=function mp(a){return fp(this,a)};var iG=nmc(1062);aY(1035,1033,hGc);_.of=function op(){return this.a};_.pf=function pp(){return this.a};_.Cf=function qp(){return this.a};_.Oe=function np(){return this.a.a.Oe()};var mG=nmc(1035);aY(923,1061,tGc);_._e=function up(){return new bz(this)};_.af=function vp(){var a;
return a=this.d,!a?this.d=new gk(this):a};_.Xd=function wp(){pzc(this.a)};_.Df=function xp(a){return a!=null&&Kw(this.a,a)};_.bf=function yp(){var a;return a=this.c,!a?this.c=new yz(this):a};_.ce=function zp(){return tp(this)};var II=nmc(923);aY(299,923,tGc,Cp);_.Df=function Dp(a){return a!=null&&Kw(this.a,a)};_.Fd=function Ep(a){return Pz(this,a)};var oG=nmc(299);aY(300,1,uGc,Fp);_.Jd=function Gp(){return Gw(this.a),new wzc};_.a=0;var nG=nmc(300);aY(1057,1028,bGc);_.Xd=function Hp(){yt(this.Ef())};
_.Ge=function Ip(){return new Vw(this)};var OH=nmc(1057);aY(873,1057,yGc,Up);_.Ke=function cq(){var a;return a=this.d,new Nq(!a?this.d=new wq(this):a)};_.Xd=function Vp(){Jp(this)};_.re=function Wp(a){return!!Sp(this,a,SX(MX(vGc,JX(Xmc(SX(MX(JX(a==null?0:Bb(a)),wGc)),15)))))};_.Fe=function Xp(a){return Kp(this,a)};_.Ef=function Yp(){return new kq(this,this)};_.He=function Zp(a){return Mp(this,a)};_.ve=function $p(){return new Sq(this)};_.Ie=function _p(a,b){return Pp(this,a,b)};_.Je=function aq(a){var b;
b=Sp(this,a,SX(MX(vGc,Xmc(SX(MX(a==null?0:Bb(a),wGc)),15))));if(!b)return null;else{Lp(this,b);b.e=null;b.c=null;return b.i}};_.ce=function bq(){return this.i};_.cf=function dq(){var a;return a=this.d,new Nq(!a?this.d=new wq(this):a)};_.f=0;_.g=0;_.i=0;var AG=nmc(873);aY(295,1,HFc);_.Nd=function gq(a){nzc(this,a)};_.Od=function hq(){return eq(this)};_.Pd=function iq(){var a;if(!eq(this))throw CX(new lAc);a=this.c;this.c=a.c;this.f=a;--this.d;return this.Ff(a)};_.Qd=function jq(){if(this.e.g!=this.b)throw CX(new Xwc);
Td(!!this.f,eGc);Lp(this.e,this.f);this.b=this.e.g;this.f=null};_.b=0;_.d=0;_.f=null;var xG=nmc(295);aY(878,295,HFc,kq);_.Ff=function lq(a){return new mq(this,a)};var qG=nmc(878);aY(879,160,kGc,mq);_.Ve=function nq(){return this.a.g};_.We=function oq(){return this.a.i};_.Xe=function pq(a){var b,c,d;c=this.a.i;d=SX(MX(vGc,Xmc(SX(MX(a==null?0:Bb(a),wGc)),15)));if(d==this.a.f&&(wE(a)===wE(c)||a!=null&&xb(a,c)))return a;Kd(!Tp(this.b.a,a,d),zGc,a);Lp(this.b.a,this.a);b=new uq(this.a.g,this.a.a,a,d);Np(this.b.a,
b,this.a);this.a.e=null;this.a.c=null;this.b.b=this.b.a.g;this.b.f==this.a&&(this.b.f=b);this.a=b;return c};var pG=nmc(879);aY(76,160,{160:1,76:1,3:1,54:1},qq);_.Ve=function rq(){return this.g};_.We=function sq(){return this.i};_.Xe=function tq(a){throw CX(new Aoc);};var IG=nmc(76);aY(149,76,{160:1,149:1,76:1,3:1,54:1},uq);_.a=0;_.f=0;var rG=nmc(149);aY(370,1057,yGc,wq);_.Ke=function Fq(){return new Sq(this.a)};_.Xd=function xq(){Jp(this.a)};_.re=function yq(a){return Kp(this.a,a)};_.Ef=function zq(){return new Hq(this,
this.a)};_.He=function Aq(a){return vq(this,a)};_.ve=function Bq(){return new Nq(this)};_.Ie=function Cq(a,b){return Qp(this.a,a,b,false)};_.Je=function Dq(a){var b;b=Tp(this.a,a,SX(MX(vGc,Xmc(SX(MX(a==null?0:Bb(a),wGc)),15))));if(!b)return null;else{Lp(this.a,b);b.e=null;b.c=null;return b.g}};_.ce=function Eq(){return this.a.i};_.cf=function Gq(){return new Sq(this.a)};var wG=nmc(370);aY(876,295,HFc,Hq);_.Ff=function Iq(a){return new Jq(this,a)};var tG=nmc(876);aY(877,160,kGc,Jq);_.Ve=function Kq(){return this.a.i};
_.We=function Lq(){return this.a.g};_.Xe=function Mq(a){var b,c,d;d=this.a.g;b=SX(MX(vGc,Xmc(SX(MX(a==null?0:Bb(a),wGc)),15)));if(b==this.a.a&&(wE(a)===wE(d)||a!=null&&xb(a,d)))return a;Kd(!Sp(this.b.a.a,a,b),zGc,a);Lp(this.b.a.a,this.a);c=new uq(a,b,this.a.i,this.a.f);this.a=c;Np(this.b.a.a,c,null);this.b.b=this.b.a.a.g;return d};var sG=nmc(877);aY(371,282,dGc,Nq);_._d=function Oq(){return new Qq(this.a.a)};_.ae=function Pq(a){var b;b=Tp(this.a.a,a,SX(MX(vGc,Xmc(SX(MX(a==null?0:Bb(a),wGc)),15))));
if(!b)return false;else{Lp(this.a.a,b);return true}};var vG=nmc(371);aY(875,295,HFc,Qq);_.Ff=function Rq(a){return a.i};var uG=nmc(875);aY(369,282,dGc,Sq);_._d=function Tq(){return new Vq(this.a)};_.ae=function Uq(a){var b;b=Sp(this.a,a,SX(MX(vGc,Xmc(SX(MX(a==null?0:Bb(a),wGc)),15))));if(!b)return false;else{Lp(this.a,b);b.e=null;b.c=null;return true}};var zG=nmc(369);aY(874,295,HFc,Vq);_.Ff=function Wq(a){return a.g};var yG=nmc(874);aY(975,366,aGc);var BG=nmc(975);aY(621,975,aGc,Yq);_.xe=function Zq(){return Gw(this.a),
new ryc};_.Ye=function $q(){return Gw(this.a),new ryc};_.a=2;var CG=nmc(621);aY(213,970,{213:1,632:1,3:1,19:1,21:1},_q);var DG=nmc(213);aY(1025,113,oGc);_.Yd=function cr(a){return this.Gf().Yd(a)};_.$d=function dr(){return this.Gf().$d()};_.ce=function er(){return this.Gf().ce()};var EG=nmc(1025);aY(782,232,qGc);_.Bf=function gr(){return lm(),new Xy(this.a)};_.Ke=function hr(){return lm(),new Xy(this.a)};_.cf=function ir(){return lm(),new Xy(this.a)};var FG=nmc(782);aY(BGc,1,{});var GG=nmc(BGc);aY(793,
232,qGc,lr);var JG=nmc(793);aY(808,340,rGc,nr);var KG=nmc(808);aY(689,268,_Fc,pr);_.ge=function qr(a){return this.a.ge(a)};var LG=nmc(689);aY(45,BGc,{45:1},tr);_.Hf=function ur(a){return asc(this.a,Nd(a)),this};var MG=nmc(45);aY(321,107,$Fc,vr);_.Od=function wr(){return this.a.Od()};_.Pd=function xr(){return this.a.Pd().Ve()};var PG=nmc(321);aY(688,1,lGc,yr);_.Ud=function zr(a){return a.Ve()};var QG=nmc(688);aY(124,1,{},Dr,Er);_.If=function Fr(){return Mn(this.b)};_.Jf=function Gr(a,b){return Ar(this,
a,b)};_.Kf=function Hr(a){return Br(this,a)};var RG=nmc(124);aY(1048,134,rGc);_._d=function Kr(){var a;return a=An(this.a).sf(),new vr(a)};_.rf=function Ir(){return new gt(this)};_.sf=function Jr(){var a;return(a=this.c,!a?this.c=new gt(this):a).sf()};_.uf=function Lr(){return Ik(this.ce(),new et(this))};var hH=nmc(1048);aY(780,1048,rGc,Nr);_._d=function Qr(){var a;return a=An(this.a).sf(),new vr(a)};_.Yd=function Or(a){return this.a.re(a)};_.sf=function Pr(){var a;return a=An(this.a).sf(),new vr(a)};
_.ce=function Rr(){return this.a.ce()};_.uf=function Sr(){return Kk(An(this.a).uf(),new yr)};var SG=nmc(780);aY(797,67,nGc,Tr);_._d=function Xr(){return new Zr(this)};_.qf=function Ur(){var a;a=nm(An(this.a));return new as(this,a)};_.Yd=function Vr(a){return a!=null&&zt(new Zr(this),a)};_.sf=function Wr(){return new Zr(this)};_.ce=function Yr(){return this.a.ce()};var VG=nmc(797);aY(356,107,$Fc,Zr);_.Od=function $r(){return this.a.Od()};_.Pd=function _r(){return this.a.Pd().We()};var TG=nmc(356);
aY(798,1025,oGc,as);_.Gf=function bs(){return this.a};_.ge=function cs(a){return this.b.ge(a).We()};var UG=nmc(798);aY(991,1,{},es);var XG=nmc(991);aY(112,BGc,{112:1},is);_.Hf=function js(a){return this.Lf(a)};_.Lf=function ks(a){return fs(this,a)};_.Mf=function ls(a){return hs(this,a)};_.Nf=function ms(){return xo(new Bsc(this.b))};var ZG=nmc(112);aY(347,1025,oGc,os);_.ie=function ss(a){return Lm(this.b,a)};_.Gf=function ps(){return this.a};_.ge=function qs(a){return hn(this.b,a)};_.tf=function rs(a){return Lm(this.b,
a)};var nI=nmc(347);aY(966,347,oGc,ts);_.Gf=function vs(){return this.a};_._d=function ws(){return Lm(this.b,0)};_.Yd=function us(a){return(a==null?-1:Wv(this,a))>=0};_.uf=function xs(){return Jk(this.a.b.b.ce(),new ys(this.b),this.a.a.a.Oe())};var aH=nmc(966);aY(967,1,{},ys);_.Of=function zs(a){return hn(this.a,a)};var _G=nmc(967);aY(353,232,{133:1,353:1,3:1,51:1},Bs);_.yf=function Cs(){return Ts(this.a,vvc(this.c))};_.Af=function Ds(){var a;return a=this.b,!a?this.b=Ts(this.a,vvc(this.c)):a};_.ve=
function Es(){var a;return a=this.b,!a?this.b=Ts(this.a,vvc(this.c)):a};var cH=nmc(353);aY(792,124,{},Js);_.If=function Ks(){return Hs(this)};_.Jf=function Ls(a,b){return asc(this.b,(zn(),Gk(a,b),new qq(a,b))),this};_.Kf=function Ms(a){return Br(this,a),this};var bH=nmc(792);aY(375,340,{67:1,134:1,375:1,3:1,19:1,21:1,39:1,152:1});_._d=function Ws(){return It(new $uc(this.b.b._d()))};_.uf=function Xs(){return new VAc(this)};_.Oe=function Qs(){return this.a.a.Oe()};_.Yd=function Rs(a){return a!=null&&
Guc(this.a,a)};_.Zd=function Ss(a){var b,c;for(c=a._d();c.Od();){b=c.Pd();if(b==null)return false}return Huc(this.a,a)};_.sf=function Vs(){return It(new $uc(this.b.b._d()))};_.de=function Ys(){return hy(this,BD(PU,RFc,1,this.b.b.ce(),5,1))};_.ee=function Zs(a){return iy(this,a)};var Ns,Os;var eH=nmc(375);aY(456,112,{112:1,456:1},_s);_.Hf=function at(a){return asc(this.b,Nd(a)),this};_.Lf=function bt(a){return asc(this.b,Nd(a)),this};_.Mf=function ct(a){return hs(this,a),this};_.Nf=function dt(){return Us(this.a,
new Bsc(this.b))};var dH=nmc(456);aY(781,1,{},et);_.Of=function ft(a){return Mr(this.a,a)};var fH=nmc(781);aY(476,1025,oGc,gt);_.Gf=function ht(){return this.a};_.ge=function it(a){return Mr(this.a,a)};_.ce=function jt(){return this.a.a.ce()};var gH=nmc(476);aY(119,1,CGc,pt);_.Ud=function qt(a){return a._d()};_.Fd=function rt(a){return this===a};var iH=nmc(119);aY(720,332,ZFc,tt);_._d=function ut(){return st(this)};var jH=nmc(720);aY(739,107,$Fc,Jt);_.Od=function Kt(){return this.a.Od()};_.Pd=function Lt(){return this.a.Pd()};
var lH=nmc(739);aY(462,107,$Fc,Mt);_.Od=function Nt(){return!this.a};_.Pd=function Ot(){if(this.a)throw CX(new lAc);this.a=true;return this.b};_.a=false;var kH=nmc(462);aY(234,1,HFc);_.Nd=function Qt(a){nzc(this,a)};_.Od=function Rt(){return this.b.Od()};_.Pd=function St(){return this.Pf(this.b.Pd())};_.Qd=function Tt(){this.b.Qd()};var LI=nmc(234);aY(740,234,HFc,Vt);_.Pf=function Wt(a){return Ut(this,a)};var mH=nmc(740);aY(738,268,_Fc,Zt);_.ge=function $t(a){return this.a[this.b+a]};_.b=0;var Xt;
var nH=nmc(738);aY(98,1,{98:1,37:1},cu);_.Nd=function du(a){nzc(this,a)};_.Od=function eu(){return au(this)};_.Pd=function fu(){return bu(this)};_.Qd=function gu(){Td(!!this.c,eGc);this.c.Qd();this.c=null};var oH=nmc(98);aY(335,15,{335:1,3:1,24:1,15:1,37:1},ju);_.Nd=function ku(a){nzc(this,a)};_.Od=function lu(){return false};_.Pd=function mu(){throw CX(new lAc);};_.Qd=function nu(){Td(false,eGc)};var hu;var pH=omc(335,CU,ou);aY(920,366,aGc);var tH=nmc(920);aY(297,920,aGc,su);_.xe=function uu(){return Gw(this.b),
new _zc};_.Xd=function tu(){qu(this)};_.Ye=function vu(){return Gw(this.b),new _zc};_.ye=function wu(a){return new Gu(this,a,this.b)};_.ve=function xu(){return ru(this)};_.b=2;var uH=nmc(297);aY(246,76,{160:1,76:1,246:1,1077:1,3:1,54:1},Au);_.Qf=function Bu(){return this.f};_.Rf=function Cu(a){this.c=a};_.Sf=function Du(a){this.f=a};_.d=0;var qH=nmc(246);aY(921,1037,{1077:1,19:1,21:1,39:1},Gu);_.Vd=function Hu(a){var b,c,d,e,f;f=SX(MX(vGc,Xmc(SX(MX(a==null?0:Bb(a),wGc)),15)));b=f&this.b.length-1;
e=this.b[b];for(c=e;c;c=c.a)if(c.d==f&&Bd(c.i,a))return false;d=new Au(this.c,a,f,e);zu(this.d,d);d.f=this;this.d=d;yu(this.g.a.b,d);yu(d,this.g.a);this.b[b]=d;++this.f;++this.e;Eu(this);return true};_.Xd=function Iu(){var a,b;Qsc(this.b);this.f=0;for(a=this.a;a!=this;a=a.Qf()){b=a;yu(b.b,b.e)}this.a=this;this.d=this;++this.e};_.Yd=function Ju(a){var b,c;c=SX(MX(vGc,Xmc(SX(MX(a==null?0:Bb(a),wGc)),15)));for(b=this.b[c&this.b.length-1];b;b=b.a)if(b.d==c&&Bd(b.i,a))return true;return false};_.Qf=function Ku(){return this.a};
_._d=function Lu(){return new Ru(this)};_.ae=function Mu(a){return Fu(this,a)};_.Rf=function Nu(a){this.d=a};_.Sf=function Ou(a){this.a=a};_.ce=function Pu(){return this.f};_.e=0;_.f=0;var sH=nmc(921);aY(922,1,HFc,Ru);_.Nd=function Su(a){nzc(this,a)};_.Od=function Tu(){return Qu(this),this.b!=this.c};_.Pd=function Uu(){var a,b;Qu(this);if(this.b==this.c)throw CX(new lAc);a=this.b;b=a.i;this.d=a;this.b=a.f;return b};_.Qd=function Vu(){Qu(this);Td(!!this.d,eGc);Fu(this.c,this.d.i);this.a=this.c.e;this.d=
null};_.a=0;var rH=nmc(922);aY(491,1052,aGc,$u);_.qe=function _u(){var a;return a=this.f,!a?this.f=new rx(this):a};_.Fd=function fv(a){return px(this,a)};_.ue=function gv(a){return new qv(this,a)};_.we=function jv(a){return Yu(this,a)};_.Xd=function bv(){this.a=null;this.e=null;epc(this.b);this.d=0;++this.c};_.re=function cv(a){return Xu(this,a)};_.se=function dv(){return new rx(this)};_.te=function ev(){return new tv(this)};_.Ce=function hv(a){return new qv(this,a)};_.$d=function iv(){return!this.a};
_.De=function kv(a){return Yu(this,a)};_.ce=function lv(){return this.d};_.c=0;_.d=0;var BH=nmc(491);aY(1040,SFc,TFc);_.fe=function mv(a,b){var c;c=this.ie(a);c.ne(b)};_.ge=function nv(b){var c;c=this.ie(b);try{return c.Pd()}catch(a){a=BX(a);if(rE(a,73))throw CX(new Ilc("Can't get element "+b));else throw CX(a);}};_._d=function ov(){return new Mv(this.a,this.b,0)};_.je=function pv(b){var c,d;c=this.ie(b);try{d=c.Pd();c.Qd();return d}catch(a){a=BX(a);if(rE(a,73))throw CX(new Ilc("Can't remove element "+
b));else throw CX(a);}};var uV=nmc(1040);aY(365,1040,TFc,qv);_.ie=function rv(a){return new Mv(this.a,this.b,a)};_.ce=function sv(){var a;a=Zoc(this.a.b,this.b);return!a?0:a.a};var wH=nmc(365);aY(492,1037,dGc,tv);_.Yd=function uv(a){return Xu(this.a,a)};_._d=function vv(){return new zv(this.a)};_.ae=function wv(a){return!Yu(this.a,a).a.$d()};_.ce=function xv(){return fpc(this.a.b)};var vH=nmc(492);aY(834,1,HFc,zv);_.Nd=function Av(a){nzc(this,a)};_.Od=function Bv(){yv(this);return!!this.c};_.Pd=function Cv(){yv(this);
av(this.c);this.a=this.c;nyc(this.d,this.a.a);do this.c=this.c.b;while(!!this.c&&!nyc(this.d,this.c.a));return this.a.a};_.Qd=function Dv(){yv(this);Td(!!this.a,eGc);yt(new Lv(this.e,this.a.a));this.a=null;this.b=this.e.c};_.b=0;var xH=nmc(834);aY(364,1,{364:1},Ev);_.a=0;var yH=nmc(364);aY(833,160,kGc,Fv);_.Ve=function Gv(){return this.a};_.We=function Hv(){return this.f};_.Xe=function Iv(a){var b;b=this.f;this.f=a;return b};var zH=nmc(833);aY(242,1,gGc,Lv,Mv);_.Nd=function Ov(a){nzc(this,a)};_.ne=
function Nv(a){this.e=Wu(this.f,this.b,a,this.c);++this.d;this.a=null};_.Od=function Pv(){return!!this.c};_.oe=function Qv(){return!!this.e};_.Pd=function Rv(){return Jv(this)};_.pe=function Sv(){return Kv(this)};_.Qd=function Tv(){Td(!!this.a,eGc);if(this.a!=this.c){this.e=this.a.e;--this.d}else this.c=this.a.c;Zu(this.f,this.a);this.a=null};_.d=0;var AH=nmc(242);aY(725,SFc,TFc);_.fe=function Zv(a,b){this.a.fe(a,b)};_.Yd=function $v(a){return this.a.Yd(a)};_.ge=function _v(a){return this.a.ge(a)};
_.je=function aw(a){return this.a.je(a)};_.ce=function bw(){return this.a.ce()};var DH=nmc(725);aY(726,725,fGc);var EH=nmc(726);aY(728,726,fGc,cw);_.ie=function dw(a){return this.a.ie(a)};var CH=nmc(728);aY(174,SFc,{174:1,19:1,21:1,58:1},hw);_.fe=function iw(a,b){this.a.fe(gw(this,a),b)};_.Xd=function jw(){this.a.Xd()};_.ge=function kw(a){return this.a.ge(fw(this,a))};_._d=function lw(){return ew(this,0)};_.ie=function mw(a){return ew(this,a)};_.je=function nw(a){return this.a.je(fw(this,a))};_.ke=
function ow(a,b){(Rd(a,b,this.a.ce()),Yv(this.a.le(gw(this,b),gw(this,a)))).Xd()};_.ce=function pw(){return this.a.ce()};_.le=function qw(a,b){return Rd(a,b,this.a.ce()),Yv(this.a.le(gw(this,b),gw(this,a)))};var HH=nmc(174);aY(457,174,{174:1,19:1,21:1,58:1,72:1},rw);var FH=nmc(457);aY(727,1,gGc,sw);_.Nd=function uw(a){nzc(this,a)};_.ne=function tw(a){this.b.ne(a);this.b.pe();this.a=false};_.Od=function vw(){return this.b.oe()};_.oe=function ww(){return this.b.Od()};_.Pd=function xw(){if(!this.b.oe())throw CX(new lAc);
this.a=true;return this.b.pe()};_.pe=function yw(){if(!this.b.Od())throw CX(new lAc);this.a=true;return this.b.Pd()};_.Qd=function zw(){Td(this.a,eGc);this.b.Qd();this.a=false};_.a=false;var GH=nmc(727);aY(333,113,oGc,Aw);_.ge=function Bw(a){return Md(a,this.a.length),cmc(Anc(this.a,a))};_.le=function Ew(a,b){return Rd(a,b,this.a.length),new Aw(Nd(Xnc(this.a,a,b)))};_.ce=function Cw(){return this.a.length};_.vf=function Dw(a,b){return Rd(a,b,this.a.length),new Aw(Nd(Xnc(this.a,a,b)))};var IH=nmc(333);
aY(715,234,HFc,Pw);_.Pf=function Qw(a){return a.Ve()};var JH=nmc(715);aY(716,234,HFc,Rw);_.Pf=function Sw(a){return a.We()};var KH=nmc(716);aY(717,234,HFc,Tw);_.Pf=function Uw(a){return new qq(a,this.a.Ud(a))};var LH=nmc(717);aY(714,1038,dGc,Vw);_._d=function Ww(){return this.a.Ef()};_.Ne=function Xw(){return this.a};var NH=nmc(714);aY(713,PFc,QFc,Yw);_.Xd=function Zw(){this.a.Xd()};_.Yd=function $w(a){return this.a.Fe(a)};_.$d=function _w(){return this.a.$d()};_._d=function ax(){return new Rw(this.a.Ge()._d())};
_.ae=function bx(b){var c,d;try{return Qc(this,b,true)}catch(a){a=BX(a);if(rE(a,34)){for(d=this.a.Ge()._d();d.Od();){c=d.Pd();if(Bd(b,c.We())){this.a.Je(c.Ve());return true}}return false}else throw CX(a);}};_.be=function cx(b){var c,d,e;try{return Tc(this,Nd(b))}catch(a){a=BX(a);if(rE(a,34)){e=new qyc;for(d=this.a.Ge()._d();d.Od();){c=d.Pd();b.Yd(c.We())&&nyc(e,c.Ve())}return this.a.ve().be(e)}else throw CX(a);}};_.ce=function dx(){return this.a.ce()};var QH=nmc(713);aY(1067,1,{});var _H=nmc(1067);
aY(1070,1,{});var YH=nmc(1070);aY(627,1070,{},gx);_.a=0;var SH=nmc(627);aY(992,1,uGc,hx);_.Jd=function ix(){return new lsc};var TH=nmc(992);aY(993,1,uGc,jx);_.Jd=function kx(){return Gw(this.a),new ryc};_.a=0;var UH=nmc(993);aY(1068,1067,{});var VH=nmc(1068);aY(994,1068,{},mx);_.b=0;var WH=nmc(994);aY(1069,1067,{});var ZH=nmc(1069);aY(995,1069,{},ox);_.b=0;var XH=nmc(995);aY(494,1053,bGc,rx);_.He=function vx(a){return this.a.re(a)?this.a.ue(a):null};_.Je=function yx(a){return this.a.re(a)?this.a.we(a):
null};_.Xd=function sx(){this.a.Xd()};_.re=function tx(a){return this.a.re(a)};_.Me=function ux(){return new Ax(this)};_.Le=function(){return this.Me()};_.$d=function wx(){return this.a.$d()};_.ve=function xx(){return this.a.ve()};_.ce=function zx(){return this.a.ve().ce()};var cI=nmc(494);aY(838,1038,dGc,Ax);_._d=function Bx(){return Fw(this.a.a.ve(),new Ex(this))};_.Ne=function Cx(){return this.a};_.ae=function Dx(a){var b;if(!Xg(this,a))return false;b=a;qx(this.a,b.Ve());return true};var bI=nmc(838);
aY(839,1,CGc,Ex);_.Ud=function Fx(a){return this.a.a.a.ue(a)};_.Fd=function Gx(a){return this===a};var aI=nmc(839);aY(836,835,aGc,Hx);_.Tf=function Jx(){return this.a.Jd()};_.xe=function(){return this.Tf()};_.se=function Ix(){return new Gg(this,this.c)};_.te=function Kx(){return new uh(this,this.c)};var dI=nmc(836);aY(837,366,aGc,Lx);_.Tf=function Nx(){return this.a.Jd()};_.xe=function(){return this.Tf()};_.se=function Mx(){return new Gg(this,this.c)};_.Uf=function Ox(){return this.a.Jd()};_.Ye=function(){return this.Uf()};
_.te=function Px(){return new uh(this,this.c)};_.Ae=function Qx(a){return rE(a,314)?yy(a):rE(a,152)?(Jtc(),new mwc(a)):(Jtc(),new Mvc(a))};_.Be=function Rx(a,b){return rE(b,314)?new vi(this,a,b):rE(b,152)?new si(this,a,b):new xi(this,a,b)};var eI=nmc(837);aY(845,1,{},Wx);var gI=nmc(845);aY(895,237,{237:1,3:1,105:1},Zx);_.jf=function $x(a,b){return Nd(a),Nd(b),Rlc(a,b)};_.kf=function _x(){var a;a=this.a;!a&&(a=this.a=new by(this));return a};_.Id=function ay(){return"Ordering.natural()"};var Xx;var kI=
nmc(895);aY(313,237,{313:1,237:1,3:1,105:1},by);_.jf=function cy(a,b){if(wE(a)===wE(b))return 0;if(a==null)return-1;if(b==null)return 1;return this.a.jf(a,b)};_.Fd=function dy(a){var b;if(a===this)return true;if(rE(a,313)){b=a;return this.a.Fd(b.a)}return false};_.Hd=function ey(){return Bb(this.a)^957692532};_.kf=function fy(){return this};_.Id=function gy(){return this.a+".nullsFirst()"};var lI=nmc(313);aY(114,1034,oGc,jy);_.wf=function ky(){return this.a};var oI=nmc(114);aY(277,232,qGc,ly,my);
var pI=nmc(277);aY(341,340,rGc,py);var ny;var qI=nmc(341);aY(245,375,{67:1,134:1,375:1,245:1,3:1,19:1,21:1,39:1,152:1},qy);_.rf=function ry(){return new ts(this,(Km(),en(new ltc(hy(this,BD(PU,RFc,1,this.b.b.ce(),5,1))))))};var rI=nmc(245);aY(1036,cGc,dGc);_._d=function Cy(){return new Ly(this.a,this.b)};_.Vd=function zy(a){throw CX(new Aoc);};_.Wd=function Ay(a){throw CX(new Aoc);};_.Xd=function By(){throw CX(new Aoc);};_.ae=function Dy(a){throw CX(new Aoc);};_.be=function Ey(a){throw CX(new Aoc);
};var vI=nmc(1036);aY(708,1036,dGc,Fy);_._d=function Iy(){return new Ly(this.a,this.b)};_.Yd=function Gy(a){return this.a.Yd(a)||this.b.Yd(a)};_.$d=function Hy(){return this.a.$d()&&this.b.$d()};_.ce=function Jy(){var a,b,c;c=this.a.ce();for(b=this.b._d();b.Od();){a=b.Pd();this.a.Yd(a)||++c}return c};var tI=nmc(708);aY(451,709,$Fc,Ly);var sI=nmc(451);aY(329,1035,{329:1,3:1,19:1,21:1,314:1,39:1,152:1},My);_.of=function Ny(){return this.a};_.pf=function Oy(){return this.a};_.Cf=function Py(){return this.a};
var wI=nmc(329);aY(350,782,qGc,Qy);_.Bf=function Ry(){return lm(),new Xy(this.a)};_.Ke=function Sy(){return lm(),new Xy(this.a)};_.cf=function Ty(){return lm(),new Xy(this.a)};var xI=nmc(350);aY(69,1034,oGc,Uy);_.wf=function Vy(){return this.a};var yI=nmc(69);aY(90,134,rGc,Xy);_._d=function $y(){return new Mt(this.a)};_.Yd=function Yy(a){return Wy(this,a)};_.sf=function Zy(){return new Mt(this.a)};_.ce=function _y(){return 1};var zI=nmc(90);aY(924,1,HFc,bz);_.Nd=function cz(a){nzc(this,a)};_.Pd=function ez(){return az(this)};
_.Od=function dz(){return Szc(this.c)||this.a.Od()};_.Qd=function fz(){this.a.Qd();if(this.b.e.$d()){Uzc(this.c);this.b=null}};var AI=nmc(924);aY(512,1057,bGc,hz);_.Xd=function iz(){var a;a=!this.a||this.a.$d()&&qzc(this.c.a,this.b)?this.a=rzc(this.c.a,this.b):this.a;!!a&&a.Xd();gz(this)};_.re=function jz(a){var b;b=!this.a||this.a.$d()&&qzc(this.c.a,this.b)?this.a=rzc(this.c.a,this.b):this.a;return a!=null&&!!b&&Kw(b,a)};_.Ef=function kz(){var a,b;b=!this.a||this.a.$d()&&qzc(this.c.a,this.b)?this.a=
rzc(this.c.a,this.b):this.a;if(!b)return iu(),hu;a=b.Ge()._d();return new pz(this,a)};_.He=function lz(a){var b;b=!this.a||this.a.$d()&&qzc(this.c.a,this.b)?this.a=rzc(this.c.a,this.b):this.a;return a!=null&&!!b?Lw(b,a):null};_.Ie=function mz(a,b){Nd(a);Nd(b);if(!!this.a&&!this.a.$d())return this.a.Ie(a,b);return sp(this.c,this.b,a,b)};_.Je=function nz(a){var b,c;b=!this.a||this.a.$d()&&qzc(this.c.a,this.b)?this.a=rzc(this.c.a,this.b):this.a;if(!b)return null;c=Mw(b,a);gz(this);return c};_.ce=function oz(){var a;
a=!this.a||this.a.$d()&&qzc(this.c.a,this.b)?this.a=rzc(this.c.a,this.b):this.a;return!a?0:a.ce()};var GI=nmc(512);aY(927,1,HFc,pz);_.Nd=function qz(a){nzc(this,a)};_.Pd=function sz(){return new uz(this.b.Pd())};_.Od=function rz(){return this.b.Od()};_.Qd=function tz(){this.b.Qd();gz(this.a)};var BI=nmc(927);aY(928,1062,sGc,uz);_.of=function vz(){return this.a};_.Fd=function wz(a){return gp(this,a)};_.Xe=function xz(a){return fp(this,Nd(a))};var CI=nmc(928);aY(382,1053,bGc,yz);_.He=function Bz(a){return this.a.Df(a)?
new hz(this.a,a):null};_.Je=function Cz(a){return a==null?null:uzc(this.a.a,a)};_.re=function zz(a){return this.a.Df(a)};_.Me=function Az(){return new Gz(this)};_.Le=function(){return this.Me()};var FI=nmc(382);aY(925,1037,dGc);_.Xd=function Ez(){pzc(this.b.a)};_.$d=function Fz(){return fpc(this.b.a.c)==0};var HI=nmc(925);aY(926,925,dGc,Gz);_.Yd=function Hz(a){var b;if(rE(a,54)){b=a;return b.Ve()!=null&&rE(b.We(),51)&&bl(new Mzc(this.a.a.a),b)}return false};_._d=function Iz(){return Fw(new Ypc(this.a.a.a),
new Lz(this))};_.ae=function Jz(a){var b;if(rE(a,54)){b=a;return b.Ve()!=null&&rE(b.We(),51)&&Lzc(new Mzc(this.a.a.a),b)}return false};_.ce=function Kz(){return fpc(this.a.a.a.c)};var EI=nmc(926);aY(929,1,CGc,Lz);_.Ud=function Mz(a){return new hz(this.a.a.a,a)};_.Fd=function Nz(a){return this===a};var DI=nmc(929);aY(1066,1,{1078:1});_.Fd=function Qz(a){var b;if(a===this)return true;if(rE(a,257)){b=a;return Bd(this.b,b.b)&&Bd(this.a,b.a)&&Bd(this.c,b.c)}return false};_.Hd=function Rz(){return Wsc(ED(zD(PU,
1),RFc,1,5,[this.b,this.a,this.c]))};_.Id=function Sz(){return"("+this.b+","+this.a+")="+this.c};var JI=nmc(1066);aY(257,1066,{1078:1,257:1,3:1},Tz);var KI=nmc(257);aY(819,1050,bGc,Uz);_.of=function Vz(){return this.a};_.Ge=function Wz(){var a;a=this.b;if(a)return a;return this.b=new Xz(this)};var SI=nmc(819);aY(820,1038,dGc,Xz);_._d=function Yz(){var a;return new $z(this,(a=(new Ypc(this.a.a)).a.Ge()._d(),new cqc(a)))};_.Ne=function Zz(){return this.a};var RI=nmc(820);aY(821,234,HFc,$z);_.Pf=function _z(a){return new aA(this,
a)};var QI=nmc(821);aY(822,160,kGc,aA);_.Ve=function bA(){return this.b};_.We=function cA(){return Ro(this.a.a.a,this.b)};_.Xe=function dA(a){return So(this.a.a.a,this.b,a)};var OI=nmc(822);aY(1058,1,{});var eA;var YI=nmc(1058);aY(244,1,{244:1},nA);_.Fd=function oA(a){return kA(this,a)};_.Hd=function pA(){return Vsc(this.c)};_.Id=function qA(){return this.f};_.a=0;_.b=0;_.d=0;var TI=nmc(244);aY(150,1058,{150:1},uA);_.Fd=function vA(a){var b;if(rE(a,150)){b=a;return kA(this.b,b.b)&&Bd(this.c,b.c)}return false};
_.Hd=function wA(){return Vsc(this.b.c)^Wsc(ED(zD(PU,1),RFc,1,5,[this.c]))};_.Id=function xA(){var a;a=new xoc("BaseEncoding.");roc(a,this.b.f);8%this.b.a!=0&&(!this.c?(a.a+=".omitPadding()",a):roc(qoc((a.a+=".withPadChar('",a),this.c),"')"));return a.a};var XI=nmc(150);aY(506,150,{150:1},zA);var UI=nmc(506);aY(372,150,{150:1},CA);var VI=nmc(372);aY(40,1,{3:1,40:1});_.Vf=function MA(a){return new Error(a)};_.Wf=function OA(){return this.g};_.Xf=function PA(){var a,b,c;c=this.g==null?null:this.g.replace(new RegExp(KGc,
"g"),"\u200b\n");b=(a=imc(this.Aj),c==null?a:a+": "+c);GA(this,NA(this.Vf(b)));lD(this)};_.Id=function QA(){return IA(this,this.Wf())};_.e=IGc;_.k=true;var VU=nmc(40);aY(44,40,{3:1,44:1,40:1});var EU=nmc(44);aY(99,44,{99:1,3:1,44:1,40:1});var tU=nmc(99);aY(202,99,{202:1,99:1,3:1,44:1,40:1},SA);var WI=nmc(202);var YA;aY(118,1,{},bB);_.a=0;_.b=0;var ZI=nmc(118);aY(468,1,{},jB);_.b=0;_.c=null;var eJ=nmc(468);aY(763,1,{},lB);var $I=nmc(763);aY(764,1,{},rB);_.b=0;_.c=0;_.d=0;_.e=0;_.f=0;_.g=0;var _I=nmc(764);
aY(469,1,NGc,sB);_.Yf=function tB(){return this.e};_.Zf=function uB(){return-1};_.$f=function vB(){return-1};_._f=function wB(){return-1};_.ag=function xB(){return-1};_.e=0;var cJ=nmc(469);aY(470,469,NGc,yB);_.Zf=function zB(){return-1};_.$f=function AB(){return this.b};_._f=function BB(){return this.c};_.ag=function CB(){return this.d};_.b=0;_.c=0;_.d=0;var dJ=nmc(470);aY(766,470,NGc,DB);_.Zf=function EB(){return this.a};_.a=0;var aJ=nmc(766);aY(765,1,{},IB);_.b=0;_.c=0;var bJ=nmc(765);aY(776,1,
{},QB);_.c=null;_.d=-1;var kJ=nmc(776);aY(777,1,{},VB);var fJ=nmc(777);aY(779,1,{},YB);_.bg=function ZB(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&&joc(this.b,44);XB(this,a,c);this.d=b;this.c=c}else Sd(!a);for(f=b;f<=d&&f<this.a;f++){if(f==d)break;joc(this.b,59)}};_.a=0;_.c=0;_.d=-1;_.e=0;_.f=0;_.g=0;_.i=0;var gJ=nmc(779);aY(473,1,{473:1},$B);_.f=false;var iJ=nmc(473);aY(474,1,{},fC);_.a=0;_.b=0;var hJ=nmc(474);aY(778,1,{},gC);_.bg=function hC(a,b,c,d,e){!!a&&(a.f=
true)};var jJ=nmc(778);aY(799,1,{},iC);_.c=0;_.i=0;var mJ=nmc(799);aY(800,1,{},qC);_.c=0;_.i=0;var lJ=nmc(800);aY(1183,1,{});aY(127,44,{127:1,3:1,44:1,40:1},tC);var nJ=nmc(127);aY(362,1,{362:1},uC);_.a=0;_.b=0;_.c=0;var oJ=nmc(362);var vC;aY(475,1,{},AC);_.a=0;_.c=0;var qJ=nmc(475);aY(436,1,{},GC);_.a=0;_.b=null;_.c=0;_.d=null;var pJ=nmc(436);aY(30,44,SGc,IC,JC,KC);var QU=nmc(30);aY(320,30,SGc);var KU=nmc(320);aY(684,320,SGc);var uJ=nmc(684);aY(267,684,{267:1,3:1,44:1,30:1,40:1},OC);_.Wf=function PC(){NC(this);
return this.c};_.cg=function QC(){return wE(this.b)===wE(LC)?null:this.b};var LC;var rJ=nmc(267);var sJ=nmc(0);aY(1008,1,{});var tJ=nmc(1008);var SC=0,TC=0,UC=-1;aY(724,1008,{},gD);var cD;var vJ=nmc(724);var jD;aY(1022,1,{});var zJ=nmc(1022);aY(685,1022,{},qD);_.dg=function rD(a){var b={},j;var c=[];a[VGc]=c;var d=arguments.callee.caller;while(d){var e=(kD(),d.name||(d.name=nD(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}};_.eg=function sD(a){var b,c,d,e;d=(kD(),a&&a[VGc]?a[VGc]:[]);c=d.length;e=BD(RU,RFc,141,c,0,1);for(b=0;b<c;b++)e[b]=new wnc(d[b],null,-1);return e};var wJ=nmc(685);aY(QGc,1022,{});_.dg=function uD(a){};_.fg=function vD(a,b,c,d){return new wnc(b,a+"@"+d,c<0?-1:c)};_.eg=function wD(a){var b,c,d,e,f,g,h;e=(kD(),h=a.e,h&&h.stack?h.stack.replace("\u200b\n"," ").split(KGc):[]);f=BD(RU,RFc,141,0,0,1);b=0;d=e.length;if(d==0)return f;g=tD(this,e[0]);Fnc(g.d,UGc)||(f[b++]=g);for(c=1;c<d;c++)f[b++]=
tD(this,e[c]);return f};var yJ=nmc(QGc);aY(686,QGc,{},xD);_.fg=function yD(a,b,c,d){return new wnc(b,a,-1)};var xJ=nmc(686);var GD;var gE,hE,iE,jE;aY(643,1,{});_.X=0;var iY;var AJ=nmc(643);aY(460,1,{});_.d=false;var CJ=nmc(460);aY(175,15,{175:1,3:1,24:1,15:1},wY);var qY,rY,sY,tY,uY;var BJ=omc(175,CU,xY);aY(287,1,eHc);_.Id=function GY(){return"Scope@"+this.d};var EJ=nmc(287);aY(236,15,{236:1,3:1,24:1,15:1},LY);var HY,IY,JY;var DJ=omc(236,CU,NY);aY(298,1,{298:1});_.Fd=function PY(a){return OY(this,
a)};_.Hd=function QY(){return Wsc(ED(zD(PU,1),RFc,1,5,[this.qg(),this.rg()]))};var KN=nmc(298);aY(380,298,{380:1,298:1,3:1});_.sg=function VY(){return this.b};_.qg=function(){return this.sg()};_.tg=function WY(){return this.d.d};_.rg=function(){return this.tg()};var RY;var FJ=nmc(380);aY(229,15,{229:1,3:1,24:1,15:1},_Y);var XY,YY,ZY;var GJ=omc(229,CU,aZ);aY(363,1,xHc,s$);_.ug=function t$(a,b){!!a&&mZ(this,a);!!b&&mZ(this,b)};_.c=false;var HJ=nmc(363);aY(630,1,{630:1});var PL=nmc(630);aY(419,630,{419:1,
630:1},v$);_.Fd=function w$(a){var b;if(a===this)return true;if(rE(a,419)){b=a;return Fnc(this.a,b.a)&&Fnc(this.b,b.b)}return false};_.Hd=function x$(){var a;a=1;a*=yHc;a^=wFc(this.a);a*=yHc;a^=wFc(this.b);return a};_.Id=function y$(){return"ModuleRequest{specifier="+this.a+NFc+"varName="+this.b+"}"};var IJ=nmc(419);aY(427,1,{});_.xg=function D$(a,b){A$(this,a,b)};_.e=0;_.f=0;_.g=0;var LJ=nmc(427);aY(428,1,{428:1},E$);_.Fd=function F$(a){if(a==null)return false;return Bb(a)==Wsc(ED(zD(PU,1),RFc,1,
5,[this.b,this.a.c,this.a.f,$mc(this.a.d),$mc(this.a.a)]))};_.Hd=function G$(){return Wsc(ED(zD(PU,1),RFc,1,5,[this.b,this.a.c,this.a.f,$mc(this.a.d),$mc(this.a.a)]))};var JJ=nmc(428);aY(638,1,AHc,J$);_.jf=function K$(a,b){return I$(a,b)};_.Fd=function L$(a){return this===a};_.lf=function M$(){return new Twc(this)};var KJ=nmc(638);aY(485,1,{},W$);_.c=0;var OJ=nmc(485);aY(810,1,{},Y$);_.yg=function Z$(a){Rlb();(a.k==(Pac(),lac)||a.k==Z8b)&&nyc(this.a,a)};var MJ=nmc(810);aY(811,1,{},$$);_.yg=function _$(a){var b;
if(a.k==(Pac(),jac))U$(a);else{Rlb();if(a.k==lac||a.k==Z8b){b=Mp(this.a.a,a);pyc(this.c,b);S$(this.b,a);!b?R$(this.a,this.b,a):T$(this.b,a,b)}}};var NJ=nmc(811);var a_,b_,c_,d_,e_,f_,g_,h_,i_,j_,k_,l_,m_,n_,o_,p_;var MM=pmc();aY(BHc,1,CHc);_.zg=function r_(a,b,c){return true};var IM=nmc(BHc);var s_;var u_;var w_,x_;var z_;var B_,C_,D_,E_,F_,G_,H_,I_,J_;aY(225,15,{225:1,3:1,24:1,15:1},P_);var L_,M_,N_;var PJ=omc(225,CU,Q_);var R_,S_,T_,U_;var W_;var Y_;var $_,__;var b0;var d0,e0,f0,g0,h0;aY(1042,1,
CHc);_.Ag=function j0(a,b,c){};var JM=nmc(1042);var k0;var m0;var o0,p0,q0,r0,s0,t0,u0,v0,w0;aY(744,1,GHc);_.Bg=function y0(a){return a3(a)};_.Cg=function z0(a){return null};_.Dg=function A0(a){return false};_.Eg=function B0(a){return false};_.Fg=function C0(a){return Fnc(a.substr(0,6),"$super")};_.Gg=function D0(a){return J5b(a.b,HHc)};var bK=nmc(744);aY(431,744,GHc,F0);_.Bg=function H0(a){var b,c,d,e,f;c=a3(a);if(c)return c;b=a.b;f=K0(b);if(f){d=null;e=a.b?a.b.g:null;if(y5b(a))d=b.e;else return null;
if(f==(Z2(),Y2)){if(!(e.k==(Pac(),d9b)&&Fnc((e.b?e.b.g:null).Rh(),LHc)))return null;if(!(d.k==d9b&&Fnc((d.b?d.b.g:null).Rh(),LHc)))return null;d=d.b;e=e.b}if(!!d&&E5b(d)&&E5b(e))return new W2(d,e)}return null};_.Cg=function I0(a){var b;b=a.b;if(!!a.b&&!!a.b.e&&a.b.e==(a.b?a.b.g:null)&&(K5b(b,MHc,MHc.length)||K5b(b,NHc,NHc.length)))return r5b(b.e);return null};_.Gg=function J0(a){Fd(a.k==(Pac(),n8b));return this.a.Yd(r5b(a.b))||J5b(a.b,HHc)};var QJ=nmc(431);var L0,M0,N0;aY(471,1,{});_.Ig=function W0(a,
b){Q0(this,a)};_.Kg=function X0(){this.Jg("}")};_.Lg=function Y0(){this.Jg("{")};_.Mg=function Z0(a,b){this.Jg(a)};_.Ng=function $0(){this.Jg(":")};_.Og=function _0(a,b){return b};_.Pg=function a1(){};_.Qg=function b1(){};_.Rg=function c1(a){this.q=true;a&&this.Sg()};_.Sg=function d1(){};_.Tg=function e1(a){};_.Ug=function f1(a){if(a){this.Jg(";");this.Zg();this.r=false}else this.s&&(this.r=true)};_.Wg=function h1(){P0(this,",");this.Zg()};_.Xg=function i1(){};_.Yg=function j1(){};_.Zg=function k1(){this.Xg()};
_.$g=function l1(){};_._g=function m1(){return false};_.ah=function n1(a){};_.q=false;_.r=false;_.s=false;var RJ=nmc(471);aY(349,1,{},J1,K1);_.bh=function L1(a,b){p1(this,a,b)};_.f=false;_.g=false;_.i=false;_.j=false;_.k=false;var TJ=nmc(349);aY(135,15,{135:1,3:1,24:1,15:1},$1,_1);_.a=false;_.b=false;var S1,T1,U1,V1,W1,X1,Y1;var SJ=omc(135,CU,a2);aY(435,1,{},h2);_.b=false;_.d=false;_.g=false;_.i=false;var VJ=nmc(435);aY(814,1,{},i2);var UJ=nmc(814);aY(488,471,{});_.Tg=function m2(a){var b,c;if(this.j&&
!null.Dj()&&null.Dj().Ej==a){null.Dj();c=this.k;b=this.n;Sd(c>=0);new bB(c,b)}};_.Vg=function n2(){return this.i.a.length>0?xlc(this.i,this.i.a.length-1):0};_.ah=function o2(a){var b,c,d,e;Sd(!!this.p);Sd(!!a);if(this.j&&(b=q5b(a,51),(!b?null:b.sg())!=null)&&y6b(a.j)>0&&true){d=this.k;c=this.n;Sd(d>=0);e=new z2;e.b=a;e.c=new bB(d,c);null.Dj();null.Dj()}};_.j=false;_.k=0;_.n=0;_.o=0;var YJ=nmc(488);aY(813,488,{},s2);_.Jg=function t2(a){p2(this,a)};_.Qg=function u2(){var a;if(!this.c)return;if(this.n>
(this.o/2|0)){p2(this,";");r2(this)}else if(this.e>0){zlc(this.i,this.e);this.b=this.f;this.n=this.i.a.length-this.b;a=this.e-this.f+1;j2(this,this.k,a,false);--this.k;this.e=0;this.f=0;p2(this,";");r2(this)}};_.Xg=function v2(){q2(this)};_.Zg=function w2(){var a,b;if(this.a)if(this.q){r2(this);this.q=false}b=this.i.a.length;if(this.d==b-1){a=xlc(this.i,b-1);a==59&&(this.d=b)}q2(this)};_.$g=function x2(){this.d=this.i.a.length};_.a=false;_.b=0;_.c=false;_.d=0;_.e=0;_.f=0;var WJ=nmc(813);aY(487,1,
{487:1},z2);_.Id=function A2(){return"Mapping: start "+this.c+", end "+this.a+", node "+this.b};var XJ=nmc(487);aY(812,488,{},D2);_.Ig=function E2(b,c){var d,e;if(b==0&&1/b<0){Q0(this,b);return}e=Q2(c);if(e==null){Q0(this,b);return}b<0&&(e="-"+e);try{d=Dmc(e)}catch(a){a=BX(a);if(rE(a,81)){Q0(this,b);return}else throw CX(a);}if(b!=d){Q0(this,b);return}P0(this,e)};_.Jg=function F2(a){B2(this,a)};_.Kg=function G2(){V0(this);C2(this);--this.a;B2(this,"}")};_.Lg=function H2(){(this.i.a.length>0?xlc(this.i,
this.i.a.length-1):0)!=32&&(this.i.a.length>0?xlc(this.i,this.i.a.length-1):0)!=10&&P0(this," ");B2(this,"{");++this.a};_.Mg=function I2(a,b){(this.i.a.length>0?xlc(this.i,this.i.a.length-1):0)!=32&&b&&a.charCodeAt(0)!=44&&B2(this," ");B2(this,a);b&&B2(this," ")};_.Ng=function J2(){B2(this,":");++this.a;C2(this)};_.Og=function K2(a,b){var c,d;Td(a.k==(Pac(),k8b),a);c=a.f;d=c.k;switch(d.f){case 65:case 71:return false;case 44:return a!=c.b;case 78:return!Amb(!c.f?null:c.f.f);case 66:return a==(c.b?
c.b.g:null)}return true};_.Pg=function L2(){--this.a};_.Qg=function M2(){V0(this)};_.Rg=function N2(a){this.q=true;a&&C2(this);a&&C2(this)};_.Sg=function O2(){C2(this)};_.Ug=function P2(a){B2(this,";");C2(this);this.r=false};_.Wg=function R2(){P0(this,NFc);this.n>this.o&&C2(this)};_.Xg=function S2(){this.n>this.o&&C2(this)};_.Yg=function T2(){(this.i.a.length>0?xlc(this.i,this.i.a.length-1):0)!=32&&(this.i.a.length>0?xlc(this.i,this.i.a.length-1):0)!=10&&P0(this," ")};_.Zg=function U2(){this.n>this.o&&
C2(this)};_._g=function V2(){return true};_.a=0;var ZJ=nmc(812);aY(453,1,{},W2);var $J=nmc(453);aY(278,15,{278:1,3:1,24:1,15:1},$2);var X2,Y2;var _J=omc(278,CU,_2);aY(745,1,GHc,b3);_.Bg=function c3(a){return a3(a)};_.Cg=function d3(a){return null};_.Dg=function e3(a){return false};_.Eg=function f3(a){return false};_.Fg=function g3(a){return Fnc(a.substr(0,6),"$super")};_.Gg=function h3(a){return J5b(a.b,HHc)};var aK=nmc(745);var i3;aY(430,643,{});_.gg=function B4(a,b){_Cc(this.v,a,b)};_.hg=function D4(){return this.I};
_.ig=function E4(){return this.J};_.jg=function F4(a){var b,c,d;if(!this.K||!this.p)if(!this.K){c=I3(this,this.J.Wb);d=h6(this.J)?(PEb(),OEb):(PEb(),NEb);this.K=(b=xJb(c,this.J.rc,(KEb(),JEb),this.J.qc,d),b);this.p=c==(EEb(),xEb)?v3(this,yEb,d):this.K}switch(a){case 1:return this.p;default:return this.K}};_.kg=function G4(){return P3(this)};_.lg=function H4(){return this.t};_.mg=function I4(a){var b;b=new Mpb(this);Kpb(b,null,a)};_.xg=function J4(a,b){n4(this,b)};_.ng=function K4(a){n4(this,a)};_.og=
function L4(a){o4(this,a)};_.dh=function M4(a){var b;Sd(a.k==(Pac(),Z8b));b=Q5b(a,a.i,94);b!=a.i&&(a.i=b);a.i=new U6b(94,1,a.i);Qtb(this.c,a);Ptb(this.i,a)};_.pg=function(a){this.dh(a)};_.b=1;_.e=null;_.f=null;_.n=null;_.p=null;_.t=true;_.C=null;_.J=null;_.K=null;_.L=null;_.M=null;_.N=0;_.Q=null;_.R=null;_.U=0;var k3,l3,m3,n3,o3,p3;var EK=nmc(430);aY(48,1,JIc);_.Id=function P4(){return this.d};_.c=false;var cN=nmc(48);aY(642,48,JIc,R4);_.eh=function S4(a){return Q4(a)};_.fh=function T4(){return eLb(),
aLb};var fK=nmc(642);aY(426,1,{},V4);_.gh=function W4(){return U4(this)};var cK=nmc(426);aY(654,1,{},Y4);_.gh=function Z4(){return X4(this)};var dK=nmc(654);aY(664,1,{},_4);_.gh=function a5(){return $4(this)};_.c=0;var eK=nmc(664);aY(650,1,{},b5);_.gh=function c5(){return g4(this.a),null};var gK=nmc(650);aY(651,1,{},d5);_.gh=function e5(){return p6(this.a.J)&&h4(this.a),null};var hK=nmc(651);aY(649,1,{},f5);_.gh=function g5(){return i4(this.a),null};var iK=nmc(649);aY(648,1,{},h5);_.gh=function i5(){return d4(this.a),
null};var jK=nmc(648);aY(123,1,{439:1},j5);_.Jd=function k5(){return""+this.a.U++};var kK=nmc(123);aY(438,1,{},o5);_.Id=function p5(){return this.c.a};_.a=0;_.b=0;var lK=nmc(438);aY(235,1,{421:1,235:1,3:1});_.ih=function r5(){return bzb(this.jh())};var aP=nmc(235);aY(142,235,{142:1,421:1,235:1,3:1},F5,G5,H5);_.kh=function J5(a){return w5(this,a)};_.lh=function K5(){return this.i};_.sg=function L5(){return this.i.a};_.hh=function M5(){return x5(this).d};_.jh=function N5(){return z5(this)};_.mh=function O5(){return this.a.mh()};
_.Id=function P5(){return this.i.a};_.g=false;var oK=nmc(142);aY(719,1,{},T5);var mK=nmc(719);aY(158,15,{158:1,3:1,24:1,15:1},_5);var U5,V5,W5,X5,Y5,Z5;var nK=omc(158,CU,a6);aY(166,1,GHc,s6);_.Id=function u6(){var a;a=xd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(wd(new yd((gmc(DK),
DK.n))),"aggressiveFusion",""+this.a),"aliasableStrings",this.e),"aliasAllStrings",""+this.b),"aliasHandler",this.c),"aliasStringsBlacklist",this.d),"allowHotswapReplaceScript",jIc),"ambiguateProperties",""+this.g),"angularPass",""+this.i),"anonymousFunctionNaming",this.j),"appNameStr",this.k),"assumeClosuresOnlyCaptureReferences",""+this.n),"assumeStrictThis",""+this.o),"browserResolverPrefixReplacements",this.q),"brokenClosureRequiresLevel",this.p),"checkDeterminism",""+this.r),"checkGlobalNamesLevel",
this.s),"checkGlobalThisLevel",this.t),"checkMissingGetCssNameBlacklist",this.u),"checkMissingGetCssNameLevel",this.v),"checksOnly",""+this.C),"checkSuspiciousCode",""+this.w),"checkSymbols",""+this.A),NIc,""+this.B),"closurePass",""+this.F),"coalesceVariableNames",""+this.G),"codingConvention",this.H),"collapseAnonymousFunctions",""+this.I),OIc,""+this.J),"collapseProperties",this.K),"collapseVariableDeclarations",""+this.L),"colorizeErrorOutput",""+this.M),"computeFunctionSideEffects",""+this.N),
"conformanceConfigs",this.O),"continueAfterErrors",jIc),"convertToDottedProperties",""+this.P),"crossChunkCodeMotion",""+this.Q),"crossChunkCodeMotionNoStubMethods",""+this.R),"crossChunkMethodMotion",""+this.S),"cssRenamingMap",this.T),"cssRenamingWhitelist",this.U),"customPasses",this.V),"dartPass",""+this.W),"deadAssignmentElimination",""+this.X),"debugFunctionSideEffectsPath",this.Y),"declaredGlobalExternsOnWindow",""+this.Z),"defineReplacements",t6(this.$)),"dependencyOptions",this._),"devirtualizePrototypeMethods",
""+this.bb),"devMode",this.ab),"disambiguatePrivateProperties",""+this.cb),"disambiguateProperties",""+this.db),"enforceAccessControlCodingConventions",""+this.fb),"environment",this.gb),"errorFormat",this.hb),"errorHandler",this.ib),"es6ModuleTranspilation",this.jb),"exportLocalPropertyDefinitions",""+this.kb),"exportTestFunctions",""+this.lb),"externExports",""+this.mb),"externExportsPath",this.nb),"extraAnnotationNames",this.ob),"extractPrototypeMemberDeclarations",this.qb),"extraSmartNameRemoval",
""+this.pb),"filesToPrintAfterEachPassRegexList",this.rb),"flowSensitiveInlineVariables",""+this.sb),"foldConstants",""+this.tb),"forceLibraryInjection",this.ub),"gatherCssNames",""+this.vb),"generateExportsAfterTypeChecking",""+this.xb),"generateExports",""+this.wb),"generatePseudoNames",""+this.yb),"generateTypedExterns",""+(this.Bb==(X6(),U6))),"idGenerators",this.zb),"idGeneratorsMapSerialized",this.Ab),"incrementalCheckMode",this.Bb),"inferConsts",""+this.Cb),"inferTypes",""+this.Db),"inlineConstantVars",
""+this.Eb),"inlineFunctionsLevel",this.Fb),"inlineGetters",""+this.Gb),"inlineLocalVariables",""+this.Hb),"inlineProperties",""+this.Ib),PIc,""+this.Jb),"inputAnonymousFunctionNamingMap",this.Kb),"inputDelimiter",this.Lb),"inputPropertyMap",this.Mb),"inputSourceMaps",this.Nb),"inputVariableMap",this.Ob),"instrumentationTemplateFile",this.Sb),"instrumentationTemplate",this.Rb),"instrumentForCoverage",""+this.Qb),"instrumentForCoverageOnly",jIc),"instrumentBranchCoverage",""+this.Pb),"j2clPassMode",
this.Ub),"labelRenaming",""+this.Vb),"languageIn",this.Wb),"languageOutIsDefaultStrict",this.Xb),"legacyCodeCompile",jIc),"lineBreak",""+this.Yb),"lineLengthThreshold",""+this.Zb),"locale",this.$b),"markAsCompiled",""+this._b),"markNoSideEffectCalls",""+this.ac),"maxFunctionSizeAfterInlining",""+this.bc),"messageBundle",null),"moduleRoots",this.dc),"chunksToPrintAfterEachPassRegexList",this.D),"moveFunctionDeclarations",""+this.ec),"nameGenerator",this.fc),"optimizeArgumentsArray",""+this.ic),"optimizeCalls",
""+this.jc),"outputCharset",this.kc),"outputFeatureSet",this.lc),"outputJs",this.mc),"outputJsStringUsage",""+this.nc),"parentChunkCanSeeSymbolsDeclaredInChildren",""+this.pc),"parseJsDocDocumentation",this.rc),"pathEscaper",this.sc),"polymerVersion",this.uc),"polymerExportPolicy",this.tc),"preferLineBreakAtEndOfFile",""+this.vc),"preferSingleQuotes",""+this.wc),"preferStableNames",""+this.xc),"preserveDetailedSourceInfo",jIc),"preserveGoogProvidesAndRequires",""+this.yc),"preserveTypeAnnotations",
""+this.zc),"prettyPrint",""+this.Ac),"preventLibraryInjection",jIc),"printConfig",jIc),"printInputDelimiter",""+this.Cc),"printSourceAfterEachPass",""+this.Dc),"processCommonJSModules",jIc),"processObjectPropertyString",""+this.Ec),"propertyInvalidationErrors",this.Fc),"propertyRenaming",this.Gc),"protectHiddenSideEffects",""+this.Hc),"quoteKeywordProperties",""+this.Ic),GIc,""+this.Jc),"removeAbstractMethods",""+this.Kc),"removeSuperMethods",""+this.Oc),"removeClosureAsserts",""+this.Lc),"removeJ2clAsserts",
""+this.Nc),"removeDeadCode",""+this.Mc),QIc,""+this.Pc),"removeUnusedConstructorProperties",""+this.Qc),"removeUnusedLocalVars",""+this.Rc),"removeUnusedPrototypePropertiesInExterns",""+this.Tc),RIc,""+this.Sc),"removeUnusedVars",""+this.Uc),"renamePrefixNamespaceAssumeCrossChunkNames",jIc),"renamePrefixNamespace",this.Wc),"renamePrefix",this.Vc),"replaceIdGenerators",""+this.Xc),"replaceMessagesWithChromeI18n",""+this.Yc),"replaceStringsFunctionDescriptions",this.Zc),"replaceStringsInputMap",this.$c),
"replaceStringsPlaceholderToken",this._c),"replaceStringsReservedStrings",this.ad),"reserveRawExports",""+this.bd),"rewriteFunctionExpressions",""+this.dd),"rewritePolyfills",jIc),"runtimeTypeCheckLogFunction",this.fd),"runtimeTypeCheck",""+this.ed),"shadowVariables",""+this.gd),"skipNonTranspilationPasses",""+this.hd),"smartNameRemoval",""+this.jd),"sourceMapDetailLevel",this.kd),"sourceMapFormat",this.ld),"sourceMapLocationMappings",this.md),"sourceMapOutputPath",this.nd),"stripNamePrefixes",this.od),
"stripNameSuffixes",this.pd),"stripTypePrefixes",this.qd),"stripTypes",this.rd),"summaryDetailLevel",""+this.sd),"syntheticBlockEndMarker",this.td),"syntheticBlockStartMarker",this.ud),"tcProjectId",this.vd),"tracer",this.wd),"transformAMDToCJSModules",jIc),"trustedStrings",""+this.xd),"tweakProcessing",this.yd),"tweakReplacements",t6(this.zd)),"emitUseStrict",this.eb),"useTypesForLocalOptimization",""+this.Bd),"variableRenaming",this.Cd),"warningsGuard",this.Dd),"wrapGoogModulesForWhitespaceOnly",
""+this.Ed));return a};_.a=false;_.b=false;_.f=false;_.g=false;_.i=false;_.n=false;_.o=false;_.r=false;_.w=false;_.A=false;_.B=false;_.C=false;_.F=false;_.G=false;_.I=false;_.J=false;_.L=false;_.M=false;_.N=false;_.P=false;_.Q=false;_.R=false;_.S=false;_.W=false;_.X=false;_.Z=false;_.bb=false;_.cb=false;_.db=false;_.fb=false;_.kb=false;_.lb=false;_.mb=false;_.pb=false;_.sb=false;_.tb=false;_.vb=false;_.wb=false;_.xb=false;_.yb=false;_.Cb=true;_.Db=false;_.Eb=false;_.Gb=false;_.Hb=false;_.Ib=false;
_.Jb=false;_.Lb="// Input %num%";_.Pb=false;_.Qb=false;_.Vb=false;_.Yb=false;_.Zb=500;_._b=false;_.ac=false;_.bc=0;_.ec=false;_.gc=1;_.hc=0;_.ic=false;_.jc=false;_.nc=false;_.pc=false;_.qc=true;_.vc=false;_.wc=false;_.xc=false;_.yc=false;_.zc=false;_.Ac=false;_.Bc=false;_.Cc=false;_.Dc=false;_.Ec=false;_.Hc=false;_.Ic=false;_.Jc=false;_.Kc=false;_.Lc=false;_.Mc=false;_.Nc=true;_.Oc=false;_.Pc=false;_.Qc=false;_.Rc=false;_.Sc=false;_.Tc=false;_.Uc=false;_.Xc=true;_.Yc=false;_.bd=false;_.cd=true;_.dd=
false;_.ed=false;_.gd=false;_.hd=false;_.jd=false;_.sd=1;_.xd=false;_.Ad=true;_.Bd=false;_.Ed=true;var b6,c6;var DK=nmc(166);aY(188,15,{188:1,3:1,24:1,15:1},A6);var v6,w6,x6,y6;var pK=omc(188,CU,B6);aY(264,15,{264:1,3:1,24:1,15:1},F6);var C6,D6;var qK=omc(264,CU,G6);aY(187,15,{187:1,3:1,24:1,15:1},M6);var H6,I6,J6,K6;var rK=omc(187,CU,N6);aY(221,15,{221:1,3:1,24:1,15:1},S6);var O6,P6,Q6;var sK=omc(221,CU,T6);aY(220,15,{220:1,3:1,24:1,15:1},Y6);var U6,V6,W6;var tK=omc(220,CU,Z6);aY(265,15,{265:1,3:1,
24:1,15:1},b7);var $6,_6;var uK=omc(265,CU,c7);aY(106,15,{106:1,3:1,24:1,15:1},s7);var d7,e7,f7,g7,h7,i7,j7,k7,l7,m7,n7,o7;var vK=omc(106,CU,t7);aY(674,1,{},u7);var wK=nmc(674);aY(222,15,{222:1,3:1,24:1,15:1},z7);var v7,w7,x7;var xK=omc(222,CU,A7);aY(219,15,{219:1,3:1,24:1,15:1},F7);var B7,C7,D7;var yK=omc(219,CU,G7);aY(218,15,{218:1,3:1,24:1,15:1},L7);var H7,I7,J7;var zK=omc(218,CU,M7);aY(170,15,{170:1,3:1,24:1,15:1},T7);var N7,O7,P7,Q7,R7;var AK=omc(170,CU,U7);aY(223,15,{223:1,3:1,24:1,15:1},Z7);
var V7,W7,X7;var BK=omc(223,CU,$7);aY(198,30,SGc,a8);var CK=nmc(198);aY(167,1,VIc);_.nh=function b8(a){return false};_.oh=function c8(a){return false};_.ph=function d8(){return(Uyb(),Nyb).a};var PO=nmc(167);aY(216,167,{216:1,167:1,3:1},k8);_.nh=function l8(a){return g8(this,a)};_.oh=function m8(a){return h8(this,a)};_.qh=function n8(a){return i8(this,a)};_.Id=function o8(){var a;return Lc(new Nc(NFc),(a=(new $qc(this.c.a)).a.Ge().b.rj(),new frc(a)))};_.a=false;_.d=0;var GK=nmc(216);aY(702,1,WIc,q8);
_.jf=function r8(a,b){return p8(this,a,b)};_.Fd=function s8(a){return this===a};_.lf=function t8(){return new Twc(this)};var FK=nmc(702);aY(710,1,{},u8);var HK=nmc(710);var v8;aY(449,1,GHc,E8);_.b=0;var x8,y8;var JK=nmc(449);aY(327,1,{327:1,3:1,24:1},H8);_.me=function I8(a){return G8(this,a)};_.a=0;_.b=0;_.c=0;var IK=nmc(327);aY(677,1,GHc,K8);_.Id=function L8(){return xd(vd(vd(vd(vd(new yd((gmc(KK),KK.n)),"sortDependencies",""+this.b),"pruneDependencies",jIc),"dropMoochers",jIc),"entryPoints",this.a))};
_.b=false;var KK=nmc(677);aY(57,1,{57:1,3:1},Q8,R8,S8,T8,U8);_.Id=function W8(){var a;return this.a==null?(gmc(NK),NK.p+"@"+(a=qFc(this)>>>0,a.toString(16))):"DiagnosticGroup<"+this.a+">"};var M8;var NK=nmc(57);aY(441,1,lGc,X8);_.Ud=function Y8(a){return new Q8(a)};var LK=nmc(441);aY(128,167,VIc,Z8);_.nh=function $8(a){return this.b==(O_(),M_)&&O8(this.a,a)};_.oh=function _8(a){var b,c;if(this.b!=(O_(),M_))for(c=a.b._d();c.Od();){b=c.Pd();if(P8(this.a,b))return true}return false};_.qh=function a9(a){return P8(this.a,
a.g)?this.b:null};_.Id=function b9(){return this.a+"("+this.b+")"};var MK=nmc(128);var c9,d9,e9,f9,g9,h9,i9,j9,k9,l9,m9,n9,o9,p9,q9,r9,s9,t9,u9,v9,w9,x9;aY(5,1,{5:1,3:1,24:1},D9);_.me=function E9(a){return Bnc(this.b,a.b)};_.Fd=function F9(a){return C9(this,a)};_.Hd=function G9(){return wFc(this.b)};var OK=nmc(5);var H9,I9;aY(157,15,qJc);var K9,L9,M9;var SK=omc(157,CU,P9);aY(699,157,qJc,Q9);var PK=omc(699,SK,null);aY(700,157,qJc,R9);var QK=omc(700,SK,null);aY(701,157,qJc,T9);var RK=omc(701,SK,null);
aY(606,BHc,xJc,_9);_.ug=function aab(a,b){Aub(this.a,a,U9,ED(zD(MM,1),RFc,23,0,[this]));Aub(this.a,b,U9,ED(zD(MM,1),RFc,23,0,[this]))};_.Ag=function bab(a,b,c){var d,e;if(b.k==(Pac(),s8b)){d=false;for(e=(b.b?b.b.g:null).b;e;e=e.e)if(e.k==C9b&&Fnc(e.Rh(),vJc)){d=true;break}d||W9(this,a,b)}else b.k==vac&&X9(this,b,c)};var U9;var ZK=nmc(606);aY(954,1,yJc,dab);_.Rd=function eab(a){return cab(a)};_.Fd=function fab(a){return this===a};_.Td=function gab(a){return cab(a)};var TK=nmc(954);aY(604,1,xJc,qab);
_.ug=function rab(a,b){this.c=new Rhb(this.a,a,b);Aub(this.a,a,hab,ED(zD(MM,1),RFc,23,0,[this]));Aub(this.a,b,hab,ED(zD(MM,1),RFc,23,0,[this]));zub(this.a,hab)};_.zg=function sab(a,b,c){var d,e;if(b.k==(Pac(),Z8b))orc(this.b,new xab(b));else if(b.k==vac){e=c.k==n8b?c:c.f;if(e.k!=n8b&&c.k==d9b){ulb(a,b,(wgb(),vgb),ED(zD(UU,1),FHc,2,6,["super access with no extends clause"]));return false}Td(e.k==n8b,e);d=Nd(yrc(this.b));asc(d.b,e)}return true};_.Ag=function tab(a,b,c){var d;d=yrc(this.b);if(!!d&&b==
d.a){Arc(this.b);pab(this,a,d)}};var hab;var YK=nmc(604);aY(953,1,CHc,uab);_.zg=function vab(a,b,c){return dsc(this.a,b,0)==-1&&!(b.k==(Pac(),Z8b)&&!(b.k==Z8b&&n5b(b,60)!=0))};_.Ag=function wab(a,b,c){var d;if(b.k==(Pac(),Aac)){d=l6b((Xd(Jnc(JJc,boc(46))==-1,JHc,JJc),new s7b(H9b,JJc)),b);R5b(c,b,d)}else b.k==iac&&!b.b&&a5b(b,l6b((Xd(Jnc(JJc,boc(46))==-1,JHc,JJc),new s7b(H9b,JJc)),b))};var UK=nmc(953);aY(605,1,{605:1},xab);var VK=nmc(605);aY(951,1,{},zab);_.a=false;var XK=nmc(951);aY(1046,1,CHc);_.zg=
function Aab(a,b,c){return!c||c.k!=(Pac(),Z8b)||b==c.b};var LM=nmc(1046);aY(952,1046,CHc,Bab);_.Ag=function Cab(a,b,c){this.a.a||b.k==(Pac(),iac)&&!!b.b&&!J5b(b.b,KJc)&&(this.a.a=true)};var WK=nmc(952);aY(771,1042,xJc,Gab);_.ug=function Hab(a,b){Glb(this.a,a,this);if(!this.b){Fab(b)&&n4(this.a,new fjb(null,null,-1,-1,Dab,null,ED(zD(UU,1),FHc,2,6,[])));tyb(this.a,FJc)}};_.zg=function Iab(a,b,c){Rlb();b.k==(Pac(),Z8b)&&Jmb(b.f)&&b.k==Z8b&&dnb(b.b)&&J5b(b.b,FJc)&&(this.b=true);return!this.b};_.b=false;
var Dab;var $K=nmc(771);aY(597,BHc,xJc,Mab);_.ug=function Nab(a,b){Aub(this.b,a,Jab,ED(zD(MM,1),RFc,23,0,[this,new Qab(this)]));Aub(this.b,b,Jab,ED(zD(MM,1),RFc,23,0,[this,new Qab(this)]))};_.Ag=function Oab(a,b,c){var d,e,f,g,h,i,j,k;b.k==(Pac(),s8b)&&Lab(this,b,c)&&(d=(mBb(),Qnc(Pnc(Pnc(Pnc(Pnc(Pnc(Pnc(Qnc(Snc(oBb((e=Qnc(Qnc(Qnc(Qnc(Qnc(Pnc(Pnc(q5b(b,51).sg(),58,45),92,47)," ",LJc),"[","%5B"),"]","%5D"),"<","%3C"),">","%3E"),nBb(e))),"^\\./",""),"/","$"),92,36),64,36),43,36),45,95),58,95),46,95),
LJc,"_")+"$classdecl$var"+this.a++),f=(Rlb(),g=dmb(b),!g?null:q5b(g,29)),h=gmb(c,new Hnb),i=b.c,Sd(true),j=Y5b((Xd(Jnc(d,boc(46))==-1,JHc,d),new s7b(H9b,d)),i),R5b(c,b,g5b(j,false)),k=o6b(D0b(j,b,x8b),b),Slb(a.f,(AMb(),MLb)),X5b(k,z3b(S4b(f))),$4b(h.f,k,h),p4(this.b,k),undefined)};_.a=0;var Jab;var bL=nmc(597);aY(598,1,CHc,Qab);_.zg=function Rab(a,b,c){b.k==(Pac(),s8b)&&(Fd(b.k==s8b),b.b.k==H9b&&c.k==H9b)&&orc(this.a,new Tab(b.b,c.Rh()));return true};_.Ag=function Sab(a,b,c){switch(b.k.f){case 96:{Fd(b.k==
(Pac(),s8b));if(b.b.k==H9b&&c.k==H9b){Arc(this.a);R5b(b,b.b,l6b(new p6b(J8b),b.b));p4(this.b.b,b)}}break;case 29:Pab(this,a,b,c)}};var aL=nmc(598);aY(599,1,{599:1},Tab);var _K=nmc(599);aY(610,1,xJc,Zab);_.ug=function $ab(a,b){Aub(this.c,a,Uab,ED(zD(MM,1),RFc,23,0,[this]));Aub(this.c,b,Uab,ED(zD(MM,1),RFc,23,0,[this]));zub(this.c,Uab)};_.zg=function _ab(a,b,c){return true};_.Ag=function abb(a,b,c){b.k.f==101&&Wab(this,b,c)};_.a=false;var Uab;var cL=nmc(610);aY(607,BHc,xJc,fbb);_.ug=function gbb(a,
b){var c,d,e,f;f=(eLb(),VKb);for(e=(!b.b?(Jtc(),Jtc(),Itc):new h7b(b.b))._d();e.Od();){d=e.Pd();f=lLb(f,(c=(Rlb(),Td(d.k==(Pac(),lac),d),q5b(d,89)),c?c:VKb))}fLb(f,(AMb(),ULb))&&(wgb(),y3(this.a,QJc+Znc(RJc,(dAc(),bAc)),false));fLb(f,sMb)&&(wgb(),y3(this.a,QJc+Znc("arrayfromiterable",(dAc(),bAc)),false));fLb(f,ILb)&&(wgb(),y3(this.a,QJc+Znc("inherits",(dAc(),bAc)),false));fLb(f,JLb)&&y3(this.a,SJc,false);fLb(f,VLb)&&y3(this.a,"es6/generator_engine",false);fLb(f,DLb)&&y3(this.a,"es6/async_generator_wrapper",
false);fLb(f,TLb)&&y3(this.a,"es6/util/makeasynciterator",false);Aub(this.a,b,bbb,ED(zD(MM,1),RFc,23,0,[this]))};_.Ag=function hbb(a,b,c){var d,e,f,g;switch(b.k.f){case 29:e=q5b(b,51);!(!!e&&e.Eh())&&dbb(a,b)&&(y3(this.a,PJc,false),f=(Rlb(),gmb(b,new Hnb)),g=G0b(y0b(snb(this.a,"$jscomp.initSymbol"),ED(zD(nT,1),KHc,7,0,[]))),$4b(f.f,m6b(g,f),f),p4(this.a,g),undefined);break;case 26:d=q5b(b,51);!!d&&d.Eh()||ebb(this,a,b);break;case 86:case 87:this.b||zgb(this.a,b,TJc)}};_.b=false;var bbb;var dL=nmc(607);
aY(595,BHc,xJc,kbb);_.ug=function lbb(a,b){Aub(this.a,a,ibb,ED(zD(MM,1),RFc,23,0,[this]));Aub(this.a,b,ibb,ED(zD(MM,1),RFc,23,0,[this]));zub(this.a,ibb)};_.Ag=function mbb(a,b,c){var d;b.k==(Pac(),sac)&&(d=Q5b(b,b.i,98),d!=b.i&&(b.i=d),false)};var ibb;var eL=nmc(595);aY(945,1,xHc,nbb);_.ug=function obb(a,b){throw CX(new Boc("Es6RelativizeImportPaths not implemented"));};var fL=nmc(945);aY(626,BHc,CHc,rbb);_.Ag=function sbb(a,b,c){var d;Rlb();b.k==(Pac(),H9b)&&b.Rh().length!=0&&pbb(this,a,b);d=q5b(b,
29);!!d&&qbb(this,a,c2b(d))};var gL=nmc(626);aY(601,BHc,xJc,vbb);_.ug=function wbb(a,b){Aub(this.a,b,tbb,ED(zD(MM,1),RFc,23,0,[this]))};_.Ag=function xbb(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o;if(b.k!=(Pac(),Z8b)||(b.b?b.b.g:null).k!=k8b)return;l=b.b.e;e=new Abb;Glb(this.a,l,new ybb(this,e));d=l.e;f=new fgb(this.a);i=egb(f,b,klb(a));h=egb(f,d,i);m=new Cp(new vzc,new Fp);for(o=(k=(new hqc(h.e)).a.Ge()._d(),new mqc(k));o.a.Od();){n=(g=o.a.Pd(),g.We());j=n.b;oyc(e.a,j)&&!Ap(m,h.d,j)&&sp(m,h.d,j,j+"$"+(""+
(new j5(this.a)).a.U++))}Dlb(new Flb(this.a,new rbb(m),new fgb(this.a)),d,d.f,i)};var tbb;var jL=nmc(601);aY(949,1042,CHc,ybb);_.zg=function zbb(a,b,c){if(!c)return true;if(c.k==(Pac(),D8b)&&b==(c.b?c.b.g:null)||c.k==w8b&&b==c.b){Glb(this.a.a,b,this.b);return false}return true};var hL=nmc(949);aY(948,BHc,CHc,Abb);_.Ag=function Bbb(a,b,c){Rlb();if(!(b.k==(Pac(),H9b)&&b.Rh().length!=0))return;nyc(this.a,b.Rh())};var iL=nmc(948);aY(602,1,xJc,Ibb);_.ug=function Jbb(a,b){Aub(this.a,a,Cbb,ED(zD(MM,1),RFc,
23,0,[this]));Aub(this.a,b,Cbb,ED(zD(MM,1),RFc,23,0,[this]));zub(this.a,Cbb)};_.zg=function Kbb(a,b,c){var d,e,f;switch(b.k.f){case 85:orc(this.b,new Obb(b,false));break;case 65:b.k==(Pac(),Z8b)&&n5b(b,60)!=0||orc(this.b,(e=b.b?b.b.g:null,f=c.k==C9b&&Fnc(c.Rh(),vJc),new Obb(e,f)));break;case 99:d=Nd(yrc(this.b));d.b&&c.k==(Pac(),n8b)&&c.b==b&&(d.c=Fbb(c,d.f))}return true};_.Ag=function Lbb(a,b,c){var d;d=yrc(this.b);if(b.k==(Pac(),Z8b)&&n5b(b,60)!=0)Hbb(this,a,b,Nd(d));else if(!!d&&d.f==b){Arc(this.b);
Ebb(this,a,d)}};var Cbb;var mL=nmc(602);aY(404,1,{404:1},Obb);_.b=false;_.c=null;_.d=false;_.e=false;var kL=nmc(404);aY(950,1,CHc,Pbb);_.zg=function Qbb(a,b,c){return b.k!=(Pac(),Z8b)||b.k==Z8b&&n5b(b,60)!=0};_.Ag=function Rbb(a,b,c){var d,e;if(b.k==(Pac(),Aac)){Nbb(this.a,b.c);d=l6b(Y5b((Xd(Jnc(UJc,boc(46))==-1,JHc,UJc),new s7b(H9b,UJc)),this.a.g),b);e=Q5b(d,d.i,85);e!=d.i&&(d.i=e);d.i=new U6b(85,1,d.i);R5b(b.f,b,d)}else if(b.k==H9b&&Fnc(b.Rh(),fHc)){Mbb(this.a,b.c);d=l6b(Y5b((Xd(Jnc(VJc,boc(46))==
-1,JHc,VJc),new s7b(H9b,VJc)),this.a.a),b);R5b(b.f,b,d)}};var lL=nmc(950);aY(612,BHc,xJc,ccb);_.ug=function fcb(a,b){var c;this.d=false;Glb(this.a,b,new mcb(this));Glb(this.a,b,this);Aub(this.a,a,Tbb,ED(zD(MM,1),RFc,23,0,[this]));Glb(this.a,b,new rbb(this.c));c=new rcb(this);Glb(this.a,b,c);qcb(c);acb(this);zub(this.a,Tbb)};_.Ag=function gcb(a,b,c){var d,e;if(!b.b||!Dmb(b.b))return;Td(!c||c.k!=(Pac(),Y8b),c);(b.k==(Pac(),z9b)||b.k==x8b)&&nyc(this.b,b);Rlb();if(!!b&&(b.k==Jac||b.k==z9b||b.k==x8b))for(e=
(!b.b?(Jtc(),Jtc(),Itc):new h7b(b.b))._d();e.Od();){d=e.Pd();bcb(this,a,b,d)}else{Xd(b.k==Z8b||b.k==r8b,"Unexpected declaration node: %s",b);bcb(this,a,b,b.b)}};_.d=false;var Sbb,Tbb;var sL=nmc(612);aY(958,1,yJc,icb);_.Rd=function jcb(a){return hcb(a)};_.Fd=function kcb(a){return this===a};_.Td=function lcb(a){return hcb(a)};var nL=nmc(958);aY(955,BHc,CHc,mcb);_.Ag=function ncb(a,b,c){b.k==(Pac(),H9b)&&!EY(klb(a),b.Rh())&&nyc(this.a.e,b.Rh())};var oL=nmc(955);aY(956,BHc,CHc,rcb);_.Ag=function scb(a,
b,c){var d,e,f,g,h,i,j,k,l,m,n;Rlb();if(!(b.k==(Pac(),H9b)&&b.Rh().length!=0))return;g=b.Rh();j=klb(a);n=CY(j,g);if(!n)return;if(TY(n)!=z9b&&TY(n)!=x8b)return;(b.f.k==z9b||b.f.k==x8b)&&nyc(this.e.b,b.f);d=n.d;f=null;for(l=d;;l=l.b){m=l.d;if(Ymb(m)){f=m;break}else if(!!m.f&&Ymb(m.f)){f=m.f;break}else if(Nmb(l.d)||!l.b)return}Gf(this.d,n,b);i=null;for(k=j;k!=d&&k.d!=f;k=k.b)k.d.k==Z8b&&(i=k);if(i){e=i.d;if(uf(this.a,e,g))return;Gf(this.a,e,g);qzc(this.c,f)||szc(this.c,f,new xcb("$jscomp$loop$"+(""+
(new j5(this.e.a)).a.U++)));h=rzc(this.c,f);nyc(h.b,n);Gf(this.b,e,h)}};var rL=nmc(956);aY(957,1,CHc,ucb);_.zg=function vcb(a,b,c){Td(b.k!=(Pac(),s8b),b);if(b.k==Z8b)return false;else if(Ymb(b))if(this.c==null)return false;else{++this.b;return true}else return true};_.Ag=function wcb(a,b,c){Ymb(b)?--this.b:b.k==(Pac(),y8b)&&(this.b==0&&!b.b?tcb(this,b):this.c!=null&&!!b.b&&Fnc(this.c,(Sd(!!b.b&&!b.b.e),b.b).Rh())&&tcb(this,b))};_.b=0;_.d=false;var pL=nmc(957);aY(613,1,{613:1},xcb);var qL=nmc(613);
aY(611,BHc,xJc,Acb);_.ug=function Bcb(a,b){Aub(this.a,a,ycb,ED(zD(MM,1),RFc,23,0,[this]));Aub(this.a,b,ycb,ED(zD(MM,1),RFc,23,0,[this]));zub(this.a,ycb)};_.Ag=function Ccb(a,b,c){var d,e,f;b.k==(Pac(),Z8b)&&!!c&&c.k==k8b&&c.f.k!=Z8b&&(d=b.b,e=d.Ph(false),f=l6b(E0b(e,z9b),b),Slb(a.f,(AMb(),aMb)),d.Wh(""),p4(this.a,d),N5b(c,b),a5b(c,f),p4(this.a,f),a5b(e,b),undefined)};var ycb;var tL=nmc(611);aY(600,1,xJc,Rcb);_.ug=function Tcb(a,b){Aub(this.a,a,Gcb,ED(zD(MM,1),RFc,23,0,[this]));Aub(this.a,b,Gcb,ED(zD(MM,
1),RFc,23,0,[this]));zub(this.a,Gcb)};_.zg=function Ucb(a,b,c){switch(b.k.f){case 86:case 87:if(gLb((eLb(),VKb),i6(this.a.J))){n4(this.a,jjb(b,(wgb(),ugb),ED(zD(UU,1),FHc,2,6,[TJc])));return false}break;case 120:n4(this.a,jjb(b,(wgb(),vgb),ED(zD(UU,1),FHc,2,6,[hIc])))}return true};_.Ag=function Vcb(a,b,c){b.k.f==96&&Ocb(this,a,b,c)};var Dcb,Ecb,Fcb,Gcb;var xL=nmc(600);aY(947,BHc,CHc,Wcb);_.Ag=function Xcb(a,b,c){if(b.k!=(Pac(),T7b)||b.b==this.a)return;I5b(this.a,b.b)&&n4(this.b.a,jjb(b,(Hcb(),Dcb),
ED(zD(UU,1),FHc,2,6,[])))};var uL=nmc(947);aY(305,1,{},Ycb);_.a=false;var vL=nmc(305);aY(596,BHc,xJc,cdb);_.ug=function ddb(a,b){Aub(this.b,a,$cb,ED(zD(MM,1),RFc,23,0,[this]));Aub(this.b,b,$cb,ED(zD(MM,1),RFc,23,0,[this]))};_.Ag=function edb(a,b,c){var d,e,f,g;b.k==(Pac(),s8b)&&(Fd(b.k==s8b),d=b.b.e,d.k!=J8b&!D5b(d))&&(adb(b)?bdb(this,a,b):(e=new p6b(k8b),f=I0b((Xd(Jnc("",boc(46))==-1,JHc,""),new s7b(H9b,"")),new p6b(Z9b),e),g=pnb(f,ED(zD(nT,1),KHc,7,0,[])),R5b(b.f,b,g),_4b(e,(Sd(V0b(b)),new r6b(iac,
b))),o6b(g,b),p4(a.c,g),bdb(this,a,b),undefined))};_.a=0;var $cb;var wL=nmc(596);aY(515,1,xJc,sdb);_.ug=function udb(a,b){Sd(xrc(this.e));Aub(this.a,a,this.d,ED(zD(MM,1),RFc,23,0,[this]));Aub(this.a,b,this.d,ED(zD(MM,1),RFc,23,0,[this]));zub(this.a,this.c);Sd(xrc(this.e))};_.zg=function vdb(a,b,c){var d,e,f;switch(b.k.f){case 65:hdb(a,b);break;case 45:kdb(this,b,c);break;case 93:case 94:{d=b.k==(Pac(),V9b)&&!!b.b&&(b.b?b.b.g:null).k==gac;if(!xrc(this.e)&&d){for(f=new Vrc(this.e);f.a!=f.b;){e=Trc(f);
if(e.a)break;e.a=true}zrc(this.e).a=true}prc(this.e,new Edb(b,d));break}}return true};_.Ag=function wdb(a,b,c){pdb(this,a,b,c)};_.b=0;var BL=nmc(515);aY(516,1,{},ydb);var yL=nmc(516);aY(301,15,{301:1,3:1,24:1,15:1},Cdb);var zdb,Adb;var zL=omc(301,CU,Ddb);aY(517,1,{517:1},Edb);_.a=false;var AL=nmc(517);aY(614,1,xHc,Hdb);_.ug=function Idb(a,b){Aub(this.b,b,Fdb,ED(zD(MM,1),RFc,23,0,[new Jdb(this)]));zub(this.b,Fdb)};_.g=false;var Fdb;var NL=nmc(614);aY(960,1,CHc,Jdb);_.zg=function Kdb(a,b,c){n5b(b,59)!=
0&&++this.a;return true};_.Ag=function Ldb(a,b,c){n5b(b,59)!=0&&Sdb(new eeb(this.b,b,--this.a))};_.a=0;var CL=nmc(960);aY(961,1,{},eeb);_.b=0;var KL=nmc(961);aY(619,1,{619:1},feb);var DL=nmc(619);aY(963,1,{},Reb);_.b=false;_.d=0;_.o=0;_.s=false;var IL=nmc(963);aY(110,1,{110:1},Web);_.c=0;_.e=true;var EL=nmc(110);aY(616,1,{616:1},Xeb);_.b=0;var FL=nmc(616);aY(617,1,{617:1},Yeb);var GL=nmc(617);aY(615,1,CHc,bfb);_.zg=function cfb(a,b,c){var d,e;if(n5b(b,67)!=0){d=Q5b(b,b.i,67);d!=b.i&&(b.i=d);return false}Sd(n5b(b,
66)==0);Td(b.k!=(Pac(),vac),"Reference to SUPER is not supported");if(Ymb(b)){++this.b;++this.a}else b.k==wac&&++this.a;if(b.k==m8b||b.k==y8b){b.b?_eb(this,b):(e=null,b.k==m8b&&this.a==0&&(e=vrc(this.c.c)),b.k==y8b&&this.b==0&&(e=vrc(this.c.i)),!!e&&Geb(this.c.r.a,b,e,this.a),undefined);return false}return b.k!=Z8b};_.Ag=function dfb(a,b,c){var d,e,f,g;if(Ymb(b)){--this.b;--this.a}else b.k==(Pac(),wac)?--this.a:b.k==Aac?afb(this,b):b.k==iac?a5b(b,Ieb(this.c,b,P5b(b))):b.k==H9b&&Fnc(b.Rh(),fHc)?$eb(this,
b):b.k==Jac&&(c.k==V8b?(d=Zeb(b),!d?S5b(b,new p6b(J8b)):R5b(b.f,b,d),Ndb(this.c.r,b),undefined):c.k==X8b?(e=(Sd(!!b.b&&!b.b.e),b.b),Td(!e.b,e),f=X5b(e.Ph(false),null),R5b(b.f,b,f),Ndb(this.c.r,b),undefined):(g=Zeb(b),!g?i5b(b):S5b(b,(Td(V0b(g),g),new r6b(T8b,g))),Ndb(this.c.r,b),undefined))};_.a=0;_.b=0;var HL=nmc(615);aY(962,1042,CHc,efb);_.zg=function ffb(a,b,c){if(b.k==(Pac(),Z8b))return false;if(b.k==Oac){Sd(!this.a);this.a=b;return false}return true};var JL=nmc(962);aY(959,1042,CHc,hfb);_.zg=
function ifb(a,b,c){var d;d=Q5b(b,b.i,66);d!=b.i&&(b.i=d);if(b.k==(Pac(),Z8b))return false;if(b.k==Oac){gfb(this,b);return false}return true};var LL=nmc(959);aY(618,1,CHc,jfb);_.zg=function kfb(a,b,c){return b.k!=(Pac(),Z8b)};_.Ag=function lfb(a,b,c){var d,e;b.k==(Pac(),Oac)&&(e=Q5b(b,b.i,66),e!=b.i&&(b.i=e),b.i=new U6b(66,1,b.i));!!c&&n5b(b,66)!=0&&(d=Q5b(c,c.i,66),d!=c.i&&(c.i=d),c.i=new U6b(66,1,c.i))};var ML=nmc(618);aY(590,1,xHc,ofb);_.ug=function qfb(a,b){var c,d,e;for(e=(!b.b?(Jtc(),Jtc(),
Itc):new h7b(b.b))._d();e.Od();){d=e.Pd();if(nfb(d)){Glb(this.a,d,new Ifb(this,this.a,d));c=Q5b(d,d.i,93);c!=d.i&&(d.i=c);d.i=new U6b(93,1,d.i)}}s4(this.a,oLb(this.a.r,(AMb(),dMb),ED(zD(ZP,1),XFc,28,0,[])))};var RL=nmc(590);aY(212,1,{212:1},rfb);var OL=nmc(212);aY(944,BHc,CHc,Ifb);_.Ag=function Jfb(a,b,c){Bfb(this,a,b,c)};var QL=nmc(944);aY(608,BHc,xJc,Vfb);_.ug=function Wfb(a,b){Aub(this.c,a,Lfb,ED(zD(MM,1),RFc,23,0,[this]));Aub(this.c,b,Lfb,ED(zD(MM,1),RFc,23,0,[this]));zub(this.c,Lfb)};_.Ag=function Xfb(a,
b,c){var d,e;switch(b.k.f){case 113:Ufb(this,a,b,c);break;case 42:case 23:case 28:for(e=(!b.b?(Jtc(),Jtc(),Itc):new h7b(b.b))._d();e.Od();){d=e.Pd();if(d.k==(Pac(),pac)){Sfb(this,b);break}}}};var Kfb,Lfb;var SL=nmc(608);aY(603,BHc,xJc,_fb);_.ug=function agb(a,b){Aub(this.a,b,Yfb,ED(zD(MM,1),RFc,23,0,[this]))};_.Ag=function bgb(a,b,c){Kmb(b)&&$fb(a,b,c)};var Yfb;var TL=nmc(603);aY(120,1,{},fgb,ggb);var cgb;var WL=nmc(120);aY(743,1,{},hgb);_.rh=function igb(a,b,c,d){};var UL=nmc(743);aY(742,1,{},ngb);
var VL=nmc(742);var ugb,vgb;aY(594,1,xJc,Ggb);_.ug=function Hgb(a,b){Aub(this.a,a,Egb,ED(zD(MM,1),RFc,23,0,[this]));Aub(this.a,b,Egb,ED(zD(MM,1),RFc,23,0,[this]));zub(this.a,Egb)};_.zg=function Igb(a,b,c){return true};_.Ag=function Jgb(a,b,c){var d,e,f,g;switch(b.k.f){case 18:d=g5b(this.b,false);_4b(d,P5b(b));_4b(d,P5b(b));o6b(d,b);R5b(b.f,b,d);p4(this.a,d);break;case 59:e=P5b(b);f=g5b(this.b,false);_4b(f,g5b(e,false));_4b(f,P5b(b));g=Y5b(t0b(e,f),this.e);o6b(g,b);R5b(b.f,b,g);p4(this.a,g)}};var Egb;
var XL=nmc(594);aY(622,1,{},Vgb);_.a=false;_.g="JSCompiler_temp";var ZL=nmc(622);aY(976,1,{},ahb);_.Id=function bhb(){return xd(vd(vd(new yd((gmc(YL),YL.n)),"sideEffects",""+this.b),"extractBeforeStatement",this.a))};_.b=false;var YL=nmc(976);aY(759,167,VIc);var $L=nmc(759);aY(662,1,tKc,hhb);_.sh=function ihb(a){};_.th=function jhb(a){klb(a)==this.b&&(this.b=null)};_.zg=function khb(a,b,c){this.d&&b.k==(Pac(),Z8b)&&aqb(b,this.a.J.cc)&&!this.b&&(this.b=klb(a));return true};_.Ag=function lhb(a,b,c){var d,
e,f,g,h,i,j,k,l;i=this.a.J.cc;if(!c||Hmb(c)||(Rlb(),c.k==(Pac(),jac)||c.k==lac||c.k==k8b||c.k==F9b))if(b.k==(Pac(),T8b)){e=b.b.b;if(!!e&&(K5b(e,uKc,uKc.length)||K5b(e,vKc,vKc.length))){this.c=($5(),W5);return}}if(this.e&&b.k==(Pac(),Q8b)){this.c=($5(),V5);if(n5b(b,63)!=0);else!!b.b&&!!b.b.e&&b.b.e==(b.b?b.b.g:null)&&dhb(a,b)}else if(this.e&&b.k==(Pac(),j9b)){this.c=($5(),V5);dhb(a,b)}else if(this.d)if(this.c!=($5(),W5)&&bqb(a,b))this.c=U5;else if(cqb(b,i)){h=_pb(b,i);f=LAb(y5((!a.d&&!!a.i&&(a.d=G3(a.c,
a.i)),a.d)),h,(d=q5b(b,51),!d?null:d.sg()),y6b(b.j),x6b(b.j));!!f&&(!!this.b||b.f.k==(Pac(),n8b)&&!!(b==b.f.b?null:b.g)&&(b==b.f.b?null:b.g).k==d9b&&(b==b.f.b?null:b.g).b.k==n8b&&D5b((b==b.f.b?null:b.g).b.b)&&J5b((b==b.f.b?null:b.g).b.b,wKc)?s5((!a.d&&!!a.i&&(a.d=G3(a.c,a.i)),a.d),pBb(f.a)):t5((!a.d&&!!a.i&&(a.d=G3(a.c,a.i)),a.d),czb(pBb(f.a),h)))}if(!!c&&(c.k==(Pac(),T8b)||!(j=(k=yrc(a.b),rE(k,7)?l=k:l=k.Ej.Ej,l),Td(j.k==lac||j.k==jac||j.k==k8b||j.k==Z8b||j.k==F9b,j),j.k==lac||j.k==jac||j.k==k8b))&&
b.k==(Pac(),n8b)&&J5b(b.b,"goog.require")&&!!b.b.e&&b.b.e.k==(Pac(),rac)){g=b.b.e.Rh();Fnc(g.substr(0,5),"goog.")&&t5((!a.d&&!!a.i&&(a.d=G3(a.c,a.i)),a.d),(azb(),_yb));t5((!a.d&&!!a.i&&(a.d=G3(a.c,a.i)),a.d),(azb(),kzb(nzb(mzb(lzb(new ozb,g),g),(kAb(),iAb)))))}};_.b=null;_.d=false;_.e=false;var aM=nmc(662);aY(830,1042,CHc,mhb);_.zg=function nhb(a,b,c){var d;if(this.a)return false;if(!c||Hmb(c)||(Rlb(),c.k==(Pac(),jac)||c.k==lac||c.k==k8b||c.k==F9b)){if(b.k==(Pac(),T8b)){d=b.b.b;if(!!d&&(K5b(d,uKc,
uKc.length)||K5b(d,vKc,vKc.length))){this.a=true;return false}}return true}return false};_.a=false;var _L=nmc(830);aY(897,1,xKc,ohb);_.Hg=function phb(){throw CX(new Kmc("Code changes forbidden"));};var bM=nmc(897);var shb,thb,uhb,vhb,whb,xhb,yhb,zhb,Ahb,Bhb,Chb,Dhb,Ehb,Fhb,Ghb;aY(906,BHc,xJc,Mhb);_.ug=function Nhb(a,b){Lhb(this,a)};_.Ag=function Ohb(a,b,c){var d,e;switch(b.k.f){case 26:d=b.b.e;d.k==(Pac(),rac)&&nyc(this.b,d.Rh());break;case 91:c.k==(Pac(),U9b)&&nyc(this.b,b.Rh());break;case 98:nyc(this.b,
b.Rh())}e=q5b(b,29);!!e&&Ihb(this,e)};var cM=nmc(906);aY(872,1,{},Rhb);_.b=0;_.e=false;var iM=nmc(872);aY(504,1042,CHc,dib);_.zg=function eib(a,b,c){var d;!!this.a.c&&(b==this.a.c?this.a.d=klb(a):b.k==(Pac(),lac)&&(d=q5b(b,51),!!d&&d.Eh()?Mmb(b)?1:0:2));Shb(this,(!a.d&&!!a.i&&(a.d=G3(a.c,a.i)),klb(a)),b);return true};var dM=nmc(504);aY(368,1,{368:1,3:1},jib);_.Id=function lib(){return hib(this)+" ("+this.q+"): "+Lc(new Nc(NFc),new Ipc(Oc("globalSets="+this.f,"localSets="+this.g,ED(zD(PU,1),RFc,1,
5,["totalGets="+this.p,"aliasingGets="+this.a,"callGets="+this.c]))))};_.a=0;_.c=0;_.e=0;_.f=0;_.g=0;_.i=0;_.p=0;var fM=nmc(368);aY(178,15,{178:1,3:1,24:1,15:1},sib);var mib,nib,oib,pib,qib;var eM=omc(178,CU,tib);aY(179,1,{179:1},uib);_.Id=function vib(){return j6b(this.a,true,true,true)};var hM=nmc(179);aY(148,15,{148:1,3:1,24:1,15:1},Eib);var wib,xib,yib,zib,Aib,Bib,Cib;var gM=omc(148,CU,Fib);aY(773,1,CHc);_.zg=function Nib(a,b,c){var d,e;if(!c)orc(this.d,(Qib(),Pib));else{orc(this.d,Rib(yrc(this.d),
this.c,c,b));if(!!c&&Gib.Yd(c.k)&&Ef(this.g,c))for(e=Hf(this.g,c)._d();e.Od();){d=e.Pd();Ni(this.e,d,1);Gf(this.f,c,d)}}return true};_.Ag=function Oib(a,b,c){!!c&&Gib.Yd(b.k)&&Ef(this.f,b)&&Bi(this.e,Hf(this.f,b));(b.k==(Pac(),iac)||b.k==Bac)&&Kib(this,c);Srb(this,a,b);Arc(this.d)};var Gib,Hib;var kM=nmc(773);aY(126,1,{126:1},Tib);_.c=false;var Pib;var jM=nmc(126);aY(637,430,{});var lM=nmc(637);var Uib;var Wib;aY(359,1,{},djb);_.a=false;var mM=nmc(359);aY(61,1,{61:1,3:1},fjb,gjb);_.Fd=function hjb(a){var b;
if(this===a)return true;if(a==null||nM!=zb(a))return false;b=a;if(this.a!=b.a)return false;if(this.d!=b.d)return false;if(!Fnc(this.c,b.c))return false;if(this.b!=b.b)return false;if(this.f!=null?!Fnc(this.f,b.f):b.f!=null)return false;return C9(this.g,b.g)};_.Hd=function ijb(){var a;a=wFc(this.g.b);a=31*a+wFc(this.c);a=31*a+(this.f!=null?wFc(this.f):0);a=31*a+this.d;a=31*a+qFc(this.b);a=31*a+this.a;return a};_.Id=function ljb(){return this.g.b+". "+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 nM=nmc(61);aY(315,235,{315:1,421:1,235:1,3:1},pjb);_.sg=function qjb(){return this.e};_.hh=function rjb(){return Km(),new Uy(Nd(this.e))};_.jh=function sjb(){var a,b,c;a=(Km(),new tr);for(c=new Bsc(this.a);c.a<c.c.a.length;){b=(c.b=c.a++,c.c.a[c.b]);rr(a,dzb(b.e))}return Sm(a.a)};_.Id=function tjb(){return this.e};_.b=0;_.c=0;var rM=nmc(315);aY(647,1,GHc,Djb);var qM=
nmc(647);aY(38,30,{3:1,44:1,38:1,30:1,40:1},Ejb,Fjb,Gjb,Hjb);var FU=nmc(38);aY(316,38,{316:1,3:1,44:1,38:1,30:1,40:1},Ijb);var oM=nmc(316);aY(80,1,CGc,Jjb);_.Fd=function Ljb(a){return this===a};_.Ud=function Kjb(a){return a.d};var pM=nmc(80);aY(749,1,GHc,Ojb);_.kh=function Pjb(a){return Mjb(this,a)};_.lh=function Qjb(){return this.a};_.mh=function Rjb(){return this.c};var wM=nmc(749);aY(750,1,GHc,Sjb);var sM=nmc(750);var k0b;aY(751,1,{},Tjb);_.uh=function Ujb(a,b,c,d){asc(this.b,new Wjb);psb(this.a,
a,b,c,d)};_.vh=function Vjb(a,b,c,d){asc(this.c,new Wjb);qsb(this.a,a,b,c,d)};var uM=nmc(751);aY(466,1,GHc,Wjb);var vM=nmc(466);aY(609,1,xJc,akb);_.ug=function bkb(a,b){Aub(this.b,a,Xjb,ED(zD(MM,1),RFc,23,0,[this]));Aub(this.b,b,Xjb,ED(zD(MM,1),RFc,23,0,[this]));zub(this.b,Xjb)};_.zg=function ckb(a,b,c){switch(b.k.f){case 86:case 87:if(gLb((eLb(),VKb),i6(this.b.J))){zgb(this.b,b,TJc);return false}break;case 65:if(b.k==(Pac(),Z8b)&&n5b(b,61)!=0)throw CX(new Kmc("async functions should have already been converted"));
}return true};_.Ag=function dkb(a,b,c){var d,e,f;switch(b.k.f){case 43:Zjb(this,b);break;case 98:c.k==(Pac(),U9b)&&(d=b.Rh(),e=b.b.b,f=Dgb(k1b(d,i5b(b.b)),b.c),X5b(f,q5b(b,29)),R5b(c,b,f),l6b(f,e),p4(this.b,f),undefined);break;case 116:sgb(a,b,this.a);break;case 117:c.k==(Pac(),xac)||tgb(a,b,this.a)}};_.a=false;var Xjb;var xM=nmc(609);aY(334,460,{},hkb,ikb);_.b=true;_.c=true;var yM=nmc(334);aY(645,427,{},lkb);_.vg=function mkb(){var a;a=this.e+this.f+this.g==0?(nDc(),kDc):(nDc(),mDc);this.e+this.f+
this.g>0&&WDc(this.b,a,eZb("%d error(s), %d warning(s)",ED(zD(PU,1),RFc,1,5,[$mc(this.e+this.f),$mc(this.g)])))};_.wg=function nkb(a,b){switch(a.f){case 0:$Dc(this.b,ejb(b,a,this.a));break;case 1:_Dc(this.b,ejb(b,a,this.a))}};var zM=nmc(645);aY(1047,1,tKc);_.sh=function okb(a){};_.th=function pkb(a){};_.zg=function qkb(a,b,c){return true};var KM=nmc(1047);aY(262,1047,tKc,ukb,vkb);_.sh=function xkb(a){var b,c,d;Xd(true,"MakeDeclaredNamesUnique requires an ES6-compatible scope creator. %s is not compatible.",
a.k);b=mlb(a);if(xrc(this.b)){Sd(b.k!=(Pac(),Z8b)||!this.c);d=this.c}else{c=b.k!=(Pac(),Z8b)&&!$lb(b);d=yrc(this.b).xh(mlb(a),c)}orc(this.b,d);rkb(this,a,b)};_.th=function ykb(a){var b,c;(c=Grc(a.o)+a.n.a.length,Sd(c>0),c-1)==0||(b=Arc(this.b),b)};_.Ag=function zkb(a,b,c){var d,e;switch(b.k.f){case 29:case 108:tkb(this,a,b,c);break;case 91:{e=skb(this,b.Rh());if(e!=null&&!b.b){d=l6b(Z0b(b.Rh()),b);_4b(b,d);tkb(this,a,d,b)}break}}};_.a=false;var DM=nmc(262);aY(384,1,NKc,Bkb,Ckb);_.wh=function Dkb(a,
b){var c,d;if(b&&this.f!=this)this.f.wh(a,true);else if(!Fnc(a,fHc))if(this.e)Ux(this.g,a,0,1);else if(!_oc(this.d,a)){c=Ni(this.g,a,1);d=null;c!=0&&(d=a+sKc+c);bpc(this.d,a,d)}};_.xh=function Ekb(a,b){return new Ckb(a,this.g,b,this)};_.yh=function Fkb(){return this.f};_.zh=function Gkb(a){return $oc(this.d,a)};_.Ah=function Hkb(){return false};_.Id=function Ikb(){return xd(vd(vd(vd(vd(new yd(jmc(this.Aj)),"scopeRoot",this.i),"nameUsage",this.g),"declarations",this.d),"global",""+this.e))};_.e=false;
var BM=nmc(384);aY(666,384,NKc,Jkb);_.xh=function Kkb(a,b){return new Mkb(this.a,this.c,this.b,false,b,this)};var AM=nmc(666);aY(514,1,NKc,Mkb);_.wh=function Nkb(a,b){Sd(!Fnc(a,fHc));b&&this.c!=this?this.c.wh(a,b):_oc(this.b,a)||bpc(this.b,a,Lkb(this,a))};_.xh=function Okb(a,b){return new Mkb(this.a,this.f,this.d,this.e,b,this)};_.yh=function Pkb(){return this.c};_.zh=function Qkb(a){return $oc(this.b,a)};_.Ah=function Rkb(){return this.e};_.e=false;var CM=nmc(514);aY(988,BHc,xJc,Ykb);_.ug=function $kb(a,
b){Glb(this.a,b,this);zub(this.a,this.b)};_.Ag=function _kb(b,c,d){var e,f,g,h,i;switch(c.k.f){case 38:{g=c.b.Rh();f=!!c.b&&!!c.b.e&&c.b.e==(c.b?c.b.g:null)?(c.b?c.b.g:null).Rh():"";try{h=(g$b(),r$b(new s$b(g,f)))}catch(a){a=BX(a);if(rE(a,38)||rE(a,75)){e=a;ulb(b,c,(a0(),$_),ED(zD(UU,1),FHc,2,6,[e.Wf()]));break}else throw CX(a);}fLb(this.b,(AMb(),kMb))&&(Fd(c.k==(Pac(),fac)),i=!!c.b&&!!c.b.e&&c.b.e==(c.b?c.b.g:null)?(c.b?c.b.g:null).Rh():"",i.indexOf("s")!=-1&&Xkb(this,kMb,c),undefined);fLb(this.b,
nMb)&&(Fd(!!c),Zkb(h,new alb)&&Xkb(this,nMb,c));fLb(this.b,pMb)&&(Fd(!!c),Zkb(h,new clb)&&Xkb(this,pMb,c));break}}};var Skb,Tkb,Ukb,Vkb;var GM=nmc(988);aY(989,1,{52:1},alb);_.Td=function blb(a){return Wkb(),rE(a,253)};var EM=nmc(989);aY(990,1,{52:1},clb);_.Td=function dlb(a){return Wkb(),rE(a,254)};var FM=nmc(990);aY(486,1,{486:1,3:1},flb);_.Id=function hlb(){return elb(this)};var HM=nmc(486);aY(154,1,{},Flb);_.q=false;var NM=nmc(154);var Ilb,Jlb,Klb,Llb,Mlb,Nlb,Olb,Plb,Qlb;aY(159,1,yJc,Dnb);_.Rd=
function Enb(a){return a.k==this.a};_.Fd=function Fnb(a){return this===a};_.Td=function Gnb(a){return a.k==this.a};var OM=nmc(159);aY(117,1,yJc,Hnb);_.Fd=function Jnb(a){return this===a};_.Td=function Knb(a){return fnb(a)};_.Rd=function Inb(a){return fnb(a)};var PM=nmc(117);aY(730,1,yJc,Lnb);_.Rd=function Mnb(a){return a.k==this.a};_.Fd=function Nnb(a){return this===a};_.Td=function Onb(a){return a.k==this.a};var QM=nmc(730);aY(731,1,yJc,Pnb);_.Fd=function Rnb(a){return this===a};_.Td=function Snb(a){return Rlb(),
a.k!=(Pac(),Z8b)};_.Rd=function Qnb(a){return Rlb(),a.k!=(Pac(),Z8b)};var RM=nmc(731);aY(732,1,yJc,Tnb);_.Fd=function Vnb(a){return this===a};_.Td=function Wnb(a){return Rlb(),!mnb(a)};_.Rd=function Unb(a){return Rlb(),!mnb(a)};var SM=nmc(732);aY(898,1,xHc,Znb);_.ug=function $nb(a,b){Xnb(this,a,b)};_.a=false;var _M=nmc(898);aY(904,1,{},aob);_.rh=function bob(a,b,c,d){var e,f;Sd(c.k==(Pac(),H9b));e=c.f;f=CY(a,b);if(!a.b)if((!f.a||A5(f.a))&&!A5(d))if(nyc(this.a,f))return;if(e.k==Z8b){if((!f.c?null:
f.c.f).k==Jac){FY(a,f);usb(a,b,c,f.a);_nb(this,f.c,!f.c?null:f.c.f,(!f.c?null:f.c.f).f)}}else if(e.k==Jac){Sd(!!e.b&&!e.b.e);_nb(this,c,e,e.f)}};var TM=nmc(904);aY(900,BHc,CHc,cob);_.Ag=function dob(a,b,c){var d,e,f,g,h;Rlb();if(b.k==(Pac(),T8b)&&b.b.k==T7b){d=b.b;h=d.b;h.k==d9b&&(f=q5b(d,29),!!f&&(f.a&TKc)!=0)&&nyc(this.a,(h.b?h.b.g:null).Rh())}else b.k==sac&&(g=q5b(b,29),!!g&&(g.a&TKc)!=0)?nyc(this.a,b.Rh()):b.k==d9b&&b.f.k==T8b&&(e=q5b(b,29),!!e&&(e.a&TKc)!=0)&&nyc(this.a,(b.b?b.b.g:null).Rh())};
var UM=nmc(900);aY(437,1,CHc,mob);_.zg=function nob(a,b,c){b.k==(Pac(),u9b)&&iob(this,b);Rlb();(b.k==jac||b.k==lac||b.k==k8b||b.k==F9b||b.k==u9b)&&fob(this,b,null,null);(b.k==jac||b.k==lac||b.k==k8b||b.k==F9b)&&lob(this,b);b.k==Z8b&&gob(this,b.b?b.b.g:null);Bmb(b)&&b.k!=T7b&&hob(this,b);return true};_.Ag=function oob(a,b,c){var d,e;switch(b.k.f){case 70:e=b.b;f6b(b,(Pac(),V8b));d=new p6b(J8b);n6b(d,b);$4b(b,d,e);Z4b(b,h5b(d,new p6b(d.k),false),e);job(this,"WHILE node",b);break;case 65:pob(b,this.b)&&
job(this,"Function declaration",b);break;case 109:kob(this,b);break;case 29:case 31:case 86:case 87:eob(this,b,c);break;case 92:p4(this.b,b);R5b(c,b,P5b(b))}};_.a=false;var VM=nmc(437);aY(902,BHc,xJc,rob);_.ug=function sob(a,b){qob(this,a,b)};_.Ag=function tob(a,b,c){var d,e,f,g,h,i,j;if(b.k==(Pac(),H9b)||b.k==sac){if(b.Rh().length==0)return;d=null;j=CY(klb(a),b.Rh());!!j&&(d=!j.c?null:(Rlb(),f=dmb(j.c),!f?null:q5b(f,29)));i=!!d&&((d.a&37)!=0||(!d.d?null:d.d.c)!=null)||Fmb(B3(this.b),b);e=n5b(b,43)!=
0;if(i&&!e){if(this.a){g=b.Rh();throw CX(new Kmc(UKc+g+KGc+"  parent:"+k6b(b.f)));}h=Q5b(b,b.i,43);h!=b.i&&(b.i=h);b.i=new U6b(43,1,b.i)}}};_.a=false;var WM=nmc(902);aY(899,BHc,CHc,uob);_.Ag=function vob(a,b,c){if(b.k==(Pac(),J8b)&&c.k==t8b){Ynb(this.a,"empty member in class",b);i5b(b)}};var XM=nmc(899);aY(901,BHc,CHc,wob);_.Ag=function xob(a,b,c){var d,e,f;if(b.k==(Pac(),d9b)){f=(b.b?b.b.g:null).Rh();if(oyc(this.a,f)){d=P5b(b);e=P5b(b);p4(this.b.b,b);S5b(b,J0b(d,e))}}else if(b.k==sac){f=b.Rh();if(oyc(this.a,
f))if(!b.Th()){p4(this.b.b,b);b.Vh()}}};var YM=nmc(901);aY(905,1,tKc,yob);_.sh=function zob(a){klb(a)};_.th=function Aob(a){};_.zg=function Bob(a,b,c){return true};_.Ag=function Cob(a,b,c){};var ZM=nmc(905);aY(903,BHc,xJc,Eob);_.ug=function Fob(a,b){Dob(this,a,b)};_.Ag=function Gob(a,b,c){var d,e,f,g,h,i,j,k;if(b.k==(Pac(),H9b)){i=b.Rh();if(b.Rh().length==0)return;g=n5b(b,43)!=0;if(this.a){e=false;d=B3(this.b);Rlb();if(n5b(b,43)!=0||Fmb(d,b))e=true;else{e=false;f=null;k=CY(klb(a),b.Rh());!!k&&(f=
!k.c?null:(h=dmb(k.c),!h?null:q5b(h,29)));!!f&&((f.a&37)!=0||(!f.d?null:f.d.c)!=null)?e=true:e=false}e?Xd(e==g,"The name %s is not annotated as constant.",i):Xd(e==g,"The name %s should not be annotated as constant.",i)}j=$oc(this.c,i);j==null?bpc(this.c,i,(Qlc(),g?true:false)):Xd(j==g,"The name %s is not consistently annotated as constant.",i)}};_.a=false;var $M=nmc(903);aY(809,1,{});var aN=nmc(809);aY(66,48,JIc);_.eh=function Iob(a){return this.Bh(a)};var bN=nmc(66);var Job,Kob,Lob;aY(657,1,{},
Wob);_.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 gN=nmc(657);aY(741,1,AHc,Xob);_.jf=function Yob(a,b){return cnc(a.We().n,b.We().n)};_.Fd=function Zob(a){return this===a};_.lf=function $ob(){return new Twc(this)};var dN=nmc(741);aY(336,1,{336:1},_ob);_.a=0;_.b=0;_.c=0;_.d=0;_.e=0;_.f=0;_.g=0;_.i=false;_.k=0;_.n=0;_.o=0;var eN=nmc(336);aY(767,471,{},apb);_.Jg=function bpb(a){var b;b=a.length;if(b>0){this.b+=
b;this.a=a.charCodeAt(b-1)}};_.Vg=function dpb(){return this.a};_.a=0;_.b=0;var fN=nmc(767);aY(652,1,xHc,opb);_.ug=function ppb(a,b){lpb(this,a,b)};_.c=false;_.e=0;_.g=0;_.j=false;_.k=0;_.o=0;_.q=false;var epb,fpb,gpb;var lN=nmc(652);aY(464,1,xHc,tpb);_.ug=function upb(a,b){var c,d,e,f,g,h,i,j,k,l;Td(!this.f.c,"Nested loops are forbidden");this.f.c=true;spb(this);this.b=rpb(this);this.e=new Bpb(this.f);r3(this.f.b,this.e);this.f.f=new jyc;for(i=new Bsc(this.d);i.a<i.c.a.length;){g=(i.b=i.a++,i.c.a[i.b]);
apc(this.f.f,g,$mc(0))}f=new qyc;k=new qyc;l=0;d=1;c=Zlb(b);j=c;try{while(true){if(d>this.f.g&&this.b)return;d>100&&v4("Fixed point loop exceeded the maximum number of iterations.",null);++d;e=false;for(h=new Bsc(this.d);h.a<h.c.a.length;){g=(h.b=h.a++,h.c.a[h.b]);if(l==0&&!k.a.re(g)||l==1&&f.a.re(g)){++this.f.b.b;vpb(g,a,b);k.a.Ie(g,k);apc(this.f.f,g,$mc(this.f.b.b));if(this.f.b.j.a.e!=0)return;else if(Apb(this.e)){f.a.Ie(g,f);e=true}else f.a.Je(g)!=null}else k.a.Je(g)!=null}j=c;c=Zlb(b);if(l==0)if(e&&
qpb(this,j,c))l=1;else return;else{Sd(l==1);(!e||!qpb(this,j,c))&&(l=0)}}}finally{this.f.c=false;m4(this.f.b,this.e)}};_.a=0;_.b=false;var hN=nmc(464);aY(337,1,{47:1,337:1},wpb);_.ug=function xpb(a,b){vpb(this,a,b)};_.Id=function ypb(){return"pass: "+this.b};var iN=nmc(337);aY(653,1,{},zpb);_.a=0;_.b=0;var jN=nmc(653);aY(746,1,xKc,Bpb);_.Hg=function Cpb(){this.b.e=this.b.b.b};_.a=0;var kN=nmc(746);aY(273,15,{273:1,3:1,24:1,15:1},Gpb);var Dpb,Epb;var mN=omc(273,CU,Hpb);aY(318,1,xHc,Mpb,Npb);_.ug=function Opb(a,
b){Kpb(this,a,b)};_.a=false;var oN=nmc(318);aY(507,BHc,CHc,Ppb);_.Ag=function Rpb(a,b,c){b.k.f==28&&Qpb(b)};var nN=nmc(507);var Spb,Tpb,Upb,Vpb,Wpb;var Ypb,Zpb;var eqb,fqb;var hqb,iqb,jqb,kqb;aY(91,15,{91:1,3:1,24:1,15:1},vqb,wqb,xqb,yqb);var mqb,nqb,oqb,pqb,qqb,rqb,sqb,tqb;var pN=omc(91,CU,Aqb);aY(272,15,{272:1,3:1,24:1,15:1},Eqb);var Bqb,Cqb;var qN=omc(272,CU,Fqb);aY(433,1,xKc,Gqb);_.Hg=function Hqb(){this.a=true};_.a=false;var rN=nmc(433);aY(665,BHc,xJc,Jqb);_.ug=function Kqb(a,b){Iqb(this,b)};
_.Ag=function Lqb(a,b,c){var d,e;if(b.k!=(Pac(),Z8b))return;e=null.Dj();if(e<0)return;d=x4(this.a,b);!a.d&&!!a.i&&(a.d=G3(a.c,a.i));null.Dj(rhb().Dj().Dj(wmb(b)).Dj(y6b(b.j)).Dj().Dj(d.length).Dj(null.Dj()).Dj().Dj())};var sN=nmc(665);aY(655,1,{},Mqb);var tN=nmc(655);aY(591,1,xJc,Qqb);_.ug=function Rqb(a,b){Aub(this.a,a,Nqb,ED(zD(MM,1),RFc,23,0,[this]));Aub(this.a,b,Nqb,ED(zD(MM,1),RFc,23,0,[this]));zub(this.a,Nqb)};_.zg=function Sqb(a,b,c){if(b.k==(Pac(),Z8b)){orc(this.b,new Xqb(vrc(this.b),b));
b.k==Z8b&&n5b(b,61)!=0&&y3(this.a,"es6/execute_async_generator",false)}return true};_.Ag=function Tqb(a,b,c){var d,e,f,g,h,i;d=vrc(this.b);switch(b.k.f){case 65:Zd(d.b==b,"unexpected function context:\nexpected: %s\nactual: %s",b,d.b);Sd((e=Arc(this.b),wE(e)===wE(d)));z5b(d.b)&&Pqb(this,a,d);break;case 29:if(!!d.a&&K5b(b,fHc,fHc.length)){b.Wh(ZKc);d.a.c=true;o4(this.a,d.b)}break;case 33:if(d.a){R5b(c,b,(Xd(Jnc(YKc,boc(46))==-1,JHc,YKc),new s7b((Pac(),H9b),YKc)));d.a.d=true;o4(this.a,d.b)}break;case 99:if(d.a){c.k==
(Pac(),d9b)||n4(this.a,jjb(c,(wgb(),vgb),ED(zD(UU,1),FHc,2,6,["super expression"])));h=b.e;i=$Kc+h.Rh();f=pnb((Xd(Jnc(i,boc(46))==-1,JHc,i),new s7b(H9b,i)),ED(zD(nT,1),KHc,7,0,[]));g=c.f;if(g.k==n8b&&g.b==c){f=K0b(f,new s7b(rac,wJc));Z4b(g,l6b((Xd(Jnc(YKc,boc(46))==-1,JHc,YKc),new s7b(H9b,YKc)),c),c);d.a.d=true}m6b(f,c);R5b(g,c,f);Vqb(d,h.Rh());o4(this.a,d.b)}break;case 104:Td(z5b(d.b),"await found within non-async function body");Ud(!!b.b&&!b.b.e,"await should have 1 operand, but has %s",l5b(b));
R5b(c,b,p1b(P5b(b)))}};var Nqb;var vN=nmc(591);aY(402,1,{402:1},Wqb,Xqb);_.c=false;_.d=false;var uN=nmc(402);aY(592,1,xJc,drb);_.ug=function erb(a,b){Sd(xrc(this.b));orc(this.b,new hrb);Aub(this.a,b,Zqb,ED(zD(MM,1),RFc,23,0,[this]));zub(this.a,Zqb);Sd(!vrc(this.b).a);Arc(this.b);Sd(xrc(this.b))};_.zg=function frb(a,b,c){b.k==(Pac(),Z8b)&&orc(this.b,new irb(vrc(this.b),b));return true};_.Ag=function grb(a,b,c){var d,e,f,g,h,i,j,k,l;d=vrc(this.b);switch(b.k.f){case 65:Sd(xb(b,d.a));if(b.k==(Pac(),Z8b)&&
n5b(b,61)!=0&&n5b(b,59)!=0){Nd(b);Sd(b.k==Z8b&&n5b(b,61)!=0&&n5b(b,59)!=0);e=b.b?b.b.g:null;N5b(b,e);f=I0b((Xd(Jnc("",boc(46))==-1,JHc,""),new s7b(H9b,"")),new p6b(Z9b),e);g=Q5b(f,f.i,59);g!=f.i&&(f.i=g);f.i=new U6b(59,1,f.i);h=w0b(f1b(_0b(snb(this.a,"$jscomp.AsyncGeneratorWrapper"),ED(zD(nT,1),KHc,7,0,[pnb(f,ED(zD(nT,1),KHc,7,0,[]))]))));_4b(b,h);Sd(b.k==Z8b);i=Q5b(b,b.i,61);i!=b.i&&(b.i=i);j=Q5b(b,b.i,59);j!=b.i&&(b.i=j);o6b(b,b);o4(this.a,b);o4(this.a,f);arb(this,d,a)}Arc(this.b);break;case 104:Nd(d.a);
A5b(d.a)&&(Nd(b),Sd(b.k==(Pac(),e8b)),Sd(!!d&&!!d.a),Sd(A5b(d.a)),k=P5b(b),Od(k,"await needs an expression"),l=_0b(snb(this.a,_Kc),ED(zD(nT,1),KHc,7,0,[snb(this.a,eLc),k])),o6b(l,b),a5b(b,l),f6b(b,Oac),undefined);break;case 103:Nd(d.a);A5b(d.a)&&_qb(this,d,b);break;case 102:Nd(d.a);Sd(z5b(d.a));brb(this,d,b);Slb(a.f,(AMb(),MLb));break;case 33:!!d.b&&A5b(d.b.a.a)&&(Fd(b.k==(Pac(),Aac)),Fd(!!d&&!!d.b&&A5b(d.b.a.a)),Gd(!!d.a,aLc),Nd(d.b),S5b(b,l6b((Xd(Jnc(bLc,boc(46))==-1,JHc,bLc),new s7b(H9b,bLc)),
b)),d.b.d=true,o4(this.a,d.a),undefined);break;case 29:!!d.b&&A5b(d.b.a.a)&&K5b(b,fHc,fHc.length)&&(Fd(b.k==(Pac(),H9b)&&Fnc(fHc,b.Rh())),Fd(!!d&&!!d.b&&A5b(d.b.a.a)),Gd(!!d.a,aLc),Nd(d.b),S5b(b,l6b((Xd(Jnc(cLc,boc(46))==-1,JHc,cLc),new s7b(H9b,cLc)),b)),d.b.b=true,o4(this.a,d.a),undefined);break;case 99:!!d.b&&A5b(d.b.a.a)&&crb(this,d,b,c)}};_.c=0;var Yqb,Zqb;var yN=nmc(592);aY(403,1,{403:1},hrb,irb);var wN=nmc(403);aY(946,1,{},jrb);_.b=false;_.d=false;var xN=nmc(946);aY(663,BHc,xJc,orb);_.ug=function prb(a,
b){Sd(b.k==(Pac(),lac));Glb(this.a,b,this)};_.Ag=function qrb(a,b,c){switch(b.k.f){case 85:!!b.b&&!b.b.e?nrb(this,a,b):n4(this.a,qlb(b,krb,ED(zD(UU,1),FHc,2,6,[])));return;case 43:case 42:case 30:case 35:case 34:case 32:case 31:break;case 91:(!b.Th()||!(!!b.b&&!b.b.e))&&n4(this.a,qlb(b,krb,ED(zD(UU,1),FHc,2,6,[])));break;case 84:c.k==(Pac(),lac)||n4(this.a,qlb(b,krb,ED(zD(UU,1),FHc,2,6,[])));break;default:n4(this.a,qlb(b,krb,ED(zD(UU,1),FHc,2,6,[])))}if(y6b(b.j)==1){U5b(b,x6b(b.j)-1);vlb(a)}};var krb;
var zN=nmc(663);aY(593,1,xJc,vrb);_.ug=function wrb(a,b){Aub(this.b,a,rrb,ED(zD(MM,1),RFc,23,0,[this]));Aub(this.b,b,rrb,ED(zD(MM,1),RFc,23,0,[this]));zub(this.b,rrb)};_.zg=function xrb(a,b,c){return true};_.Ag=function yrb(a,b,c){b.k.f==43&&trb(this,b)};_.a=false;var rrb;var AN=nmc(593);aY(348,1,xHc,Grb);_.ug=function Irb(a,b){Crb(this,b)};var zrb,Arb;var FN=nmc(348);aY(472,1,{472:1},Jrb);var BN=nmc(472);aY(772,1,{},Nrb);var Krb;var DN=nmc(772);aY(775,1,CGc,Prb);_.Ud=function Qrb(a){return Wnc(a,
Lnc(a,boc(46))+1)};_.Fd=function Rrb(a){return this===a};var CN=nmc(775);aY(774,773,CHc,Trb);var EN=nmc(774);aY(748,1,{});var Urb,Vrb,Wrb,Xrb,Yrb,Zrb,$rb,_rb,asb,bsb,csb,dsb,esb,fsb,gsb,hsb,isb,jsb,ksb;var HN=nmc(748);aY(641,748,{},rsb);_.uh=function ssb(a,b,c,d){psb(this,a,b,c,d)};_.vh=function tsb(a,b,c,d){qsb(this,a,b,c,d)};var GN=nmc(641);aY(463,287,eHc);var JN=nmc(463);aY(288,463,eHc,wsb,xsb);_.a=0;var IN=nmc(288);aY(185,15,oLc);var ysb,zsb;var NN=omc(185,CU,Csb);aY(668,185,oLc,Dsb);var LN=omc(668,
NN,null);aY(669,185,oLc,Esb);var MN=omc(669,NN,null);aY(189,1,pLc,Jsb);_.Eh=function Osb(){return this.c==(J7b(),G7b)};_.Ch=function Lsb(){return this.c};_.Dh=function Msb(a){Fsb(this);if(a<1||a>this.d.length)throw CX(new Fjb("Expected line number between 1 and "+this.d.length+"\nActual: "+a));return this.d[a-1]};_.sg=function Nsb(){return this.b};_.Id=function Psb(){return this.b};_.a=null;_.d=null;var QN=nmc(189);aY(675,1,{},Ssb);var ON=nmc(675);aY(676,189,pLc,Tsb);var PN=nmc(676);aY(661,BHc,CHc,
Usb);_.Ag=function Wsb(a,b,c){var d,e,f,g,h;this.a&&this.b!=null&&Sd(Fnc(this.b,(d=q5b(b,51),!d?null:d.sg())));switch(b.k.f){case 26:g=b.b?b.b.g:null;Vsb(b,g.Rh());break;case 65:e=pmb(b);e!=null&&e.length!=0&&q5b(b,40)==null&&(h=Q5b(b,b.i,40),h!=b.i&&(b.i=h),e!=null&&(b.i=new c7b(40,e,b.i)));break;case 29:Vsb(b,b.Rh());break;case 43:for(f=b.b;f;f=f.e)f.k!=(Pac(),w8b)&&!f.Th()&&f.k!=pac&&Vsb(f,f.Rh())}};_.a=false;var RN=nmc(661);aY(194,15,qLc);_.Td=function _sb(a){return this.Rd(a)};var Xsb,Ysb;var UN=
omc(194,CU,atb);aY(705,194,qLc,btb);_.Rd=function ctb(a){return true};var SN=omc(705,UN,null);aY(706,194,qLc,dtb);_.Rd=function etb(a){return a.k==(Pac(),n8b)||a.k==N9b||a.k==Z8b||a.k==H9b||(Rlb(),a.k==d9b||a.k==c9b)||bnb(a)||a.k==rac&&Omb(a.f)||a.k==xac};var TN=omc(706,UN,null);aY(193,15,rLc);var ftb,gtb;var XN=omc(193,CU,jtb);aY(703,193,rLc,ktb);var VN=omc(703,XN,null);aY(704,193,rLc,ltb);var WN=omc(704,XN,null);aY(467,1,{467:1,3:1},qtb);_.a=false;_.b=null;var mtb,ntb;var YN=nmc(467);var stb,ttb,
utb,vtb,wtb,xtb,ytb,ztb,Atb,Btb,Ctb,Dtb;aY(646,759,VIc,Ftb);_.ph=function Gtb(){return(Uyb(),Tyb).a};_.qh=function Htb(a){var b,c,d,e,f,g,h,i,j,k;h=a.e;!h&&(h=chb(this,a));if(h)for(b=h;b;b=b.f){d=null;b.k==(Pac(),Z8b)||b.k==s8b?d=(Rlb(),f=dmb(b),!f?null:q5b(f,29)):b.k==lac?d=q5b(b,29):(Rlb(),(!!b&&(b.k==Jac||b.k==z9b||b.k==x8b)||b.k==T7b&&b.f.k==T8b||b.k==d9b&&b.f.k==T8b||bnb(b))&&(d=(e=dmb(b),!e?null:q5b(e,29))));if(d)for(k=(i=!d.d?null:d.d.p,!i?(Jtc(),Jtc(),Itc):i)._d();k.Od();){j=k.Pd();c=$oc(this.a,
j);if(c){g=c.qh(a);if(g)return g}}}return null};var ZN=nmc(646);aY(656,1,GHc,Itb);_.kh=function Jtb(a){return this.b};_.lh=function Ktb(){return this.a};_.mh=function Ltb(){return this.c};var $N=nmc(656);aY(644,1,{},Ntb);_.xg=function Otb(a,b){Mtb(this,a,b)};var _N=nmc(644);aY(432,1,{},Rtb);var cO=nmc(432);aY(338,1,{338:1},Ttb);var aO=nmc(338);aY(339,1,{339:1},Utb);_.Fd=function Vtb(a){if(rE(a,339))return Fnc(this.a,a.a);return false};_.Hd=function Wtb(){return wFc(this.a)};var bO=nmc(339);aY(168,
1,{},Ytb);_.a=0;var dO=nmc(168);var Ztb,$tb,_tb,aub,bub,cub,dub,eub,fub,gub,hub,iub,jub,kub,lub,mub,nub,oub,pub,qub,rub,tub;aY(847,48,JIc,Bub);_.eh=function Cub(a){return new ofb(a)};_.fh=function Dub(){return eLb(),eLb(),cLb};var oO=nmc(847);aY(856,66,JIc,Eub);_.eh=function Fub(a){return new Mab(a)};_.Bh=function Gub(a){return new Mab(a)};_.fh=function Hub(){return eLb(),_Kb};var eO=nmc(856);aY(857,66,JIc,Iub);_.eh=function Jub(a){return new Rcb(a)};_.Bh=function Kub(a){return new Rcb(a)};_.fh=function Lub(){return eLb(),
_Kb};var fO=nmc(857);aY(858,66,JIc,Mub);_.eh=function Nub(a){return new vbb(a)};_.Bh=function Oub(a){return new vbb(a)};_.fh=function Pub(){return eLb(),TKb};var gO=nmc(858);aY(859,66,JIc,Qub);_.eh=function Rub(a){return new Ibb(a)};_.Bh=function Sub(a){return new Ibb(a)};_.fh=function Tub(){return eLb(),_Kb};var hO=nmc(859);aY(860,66,JIc,Uub);_.eh=function Vub(a){return new Grb(a)};_.Bh=function Wub(a){return new Grb(a)};_.fh=function Xub(){return eLb(),aLb};var iO=nmc(860);aY(861,66,JIc,Yub);_.eh=
function Zub(a){return new _fb(a)};_.Bh=function $ub(a){return new _fb(a)};_.fh=function _ub(){return eLb(),TKb};var jO=nmc(861);aY(862,66,JIc,avb);_.eh=function bvb(a){return new qab(a)};_.Bh=function cvb(a){return new qab(a)};_.fh=function dvb(){return eLb(),_Kb};var kO=nmc(862);aY(863,66,JIc,evb);_.eh=function fvb(a){return new _9(a)};_.Bh=function gvb(a){return new _9(a)};_.fh=function hvb(){return eLb(),TKb};var lO=nmc(863);aY(864,66,JIc,ivb);_.eh=function jvb(a){return new fbb(a)};_.Bh=function kvb(a){return new fbb(a)};
_.fh=function lvb(){return eLb(),_Kb};var mO=nmc(864);aY(865,66,JIc,mvb);_.eh=function nvb(a){return new Vfb(a)};_.Bh=function ovb(a){return new Vfb(a)};_.fh=function pvb(){return eLb(),_Kb};var nO=nmc(865);aY(848,48,JIc,qvb);_.eh=function rvb(a){return new nbb};_.fh=function svb(){return eLb(),eLb(),cLb};var yO=nmc(848);aY(866,66,JIc,tvb);_.eh=function uvb(a){return new akb(a)};_.Bh=function vvb(a){return new akb(a)};_.fh=function wvb(){return eLb(),_Kb};var pO=nmc(866);aY(867,66,JIc,xvb);_.eh=function yvb(a){return new Zab(a)};
_.Bh=function zvb(a){return new Zab(a)};_.fh=function Avb(){return eLb(),_Kb};var qO=nmc(867);aY(868,66,JIc,Bvb);_.eh=function Cvb(a){return new Acb(a)};_.Bh=function Dvb(a){return new Acb(a)};_.fh=function Evb(){return eLb(),_Kb};var rO=nmc(868);aY(869,66,JIc,Fvb);_.eh=function Gvb(a){return new ccb(a)};_.Bh=function Hvb(a){return new ccb(a)};_.fh=function Ivb(){return eLb(),_Kb};var sO=nmc(869);aY(870,66,JIc,Jvb);_.eh=function Kvb(a){return new Hdb(a)};_.Bh=function Lvb(a){return new Hdb(a)};_.fh=
function Mvb(){return eLb(),_Kb};var tO=nmc(870);aY(871,48,JIc,Nvb);_.eh=function Ovb(a){return new Ykb(a,this.a,this.b)};_.fh=function Pvb(){return eLb(),bLb};var uO=nmc(871);aY(501,66,JIc,Qvb);_.eh=function Rvb(a){return new sdb(xdb(new ydb(a),this.a))};_.Bh=function Svb(a){return new sdb(xdb(new ydb(a),this.a))};_.fh=function Tvb(){return eLb(),TKb};var vO=nmc(501);aY(502,66,JIc,Uvb);_.eh=function Vvb(a){return new Yvb(a,this.a,this.b)};_.Bh=function Wvb(a){return new Yvb(a,this.a,this.b)};_.fh=
function Xvb(){return eLb(),eLb(),cLb};var xO=nmc(502);aY(503,1,xHc,Yvb);_.ug=function Zvb(a,b){yub(this.a,this.b,this.c)};var wO=nmc(503);aY(849,66,JIc,$vb);_.eh=function _vb(a){return new Qqb(a)};_.Bh=function awb(a){return new Qqb(a)};_.fh=function bwb(){return eLb(),bLb};var zO=nmc(849);aY(850,66,JIc,cwb);_.eh=function dwb(a){return new drb(a)};_.Bh=function ewb(a){return new drb(a)};_.fh=function fwb(){return eLb(),bLb};var AO=nmc(850);aY(851,66,JIc,gwb);_.eh=function hwb(a){return new vrb(a)};
_.Bh=function iwb(a){return new vrb(a)};_.fh=function jwb(){return eLb(),bLb};var BO=nmc(851);aY(852,66,JIc,kwb);_.eh=function lwb(a){return new Ggb(a)};_.Bh=function mwb(a){return new Ggb(a)};_.fh=function nwb(){return eLb(),TKb};var CO=nmc(852);aY(853,66,JIc,owb);_.eh=function pwb(a){return new kbb(a)};_.Bh=function qwb(a){return new kbb(a)};_.fh=function rwb(){return eLb(),TKb};var DO=nmc(853);aY(854,48,JIc,swb);_.eh=function twb(a){return new Gab(a)};_.fh=function uwb(){return eLb(),UKb};var EO=
nmc(854);aY(855,66,JIc,vwb);_.eh=function wwb(a){return new cdb(a)};_.Bh=function xwb(a){return new cdb(a)};_.fh=function ywb(){return eLb(),TKb};var FO=nmc(855);var zwb,Awb,Bwb,Cwb,Dwb,Ewb,Fwb,Gwb,Hwb,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;var nxb,oxb,pxb,qxb,rxb,sxb,txb,uxb,vxb,wxb,xxb,yxb;aY(934,349,{},Ixb);_.bh=function Jxb(a,b){var c,d,e;d=a.f;if(!!d&&(d.k==(Pac(),k8b)||d.k==lac))if(a.k==(Pac(),Z8b))q1(this,
Dxb(this,a));else if(a.k==T8b&&a.b.k==T7b){c=a.b;if(_mb(c.b))q1(this,ajb(this.a,q5b(c,29)));else{e=c.b?c.b.g:null;q1(this,Gxb(this,e))}}else a.k==Jac&&!!a.b.b&&(_mb(a.b)?q1(this,ajb(this.a,q5b(a,29))):q1(this,Gxb(this,a.b.b)));p1(this,a,b)};var HO=nmc(934);aY(935,1,CGc,Lxb);_.Ud=function Mxb(a){return a.$h(new uoc,true).a};_.Fd=function Nxb(a){return this===a};var GO=nmc(935);var Oxb,Pxb,Qxb,Rxb,Sxb,Txb,Uxb,Vxb,Wxb,Xxb;aY(667,1,xHc,cyb);_.ug=function dyb(a,b){byb(this,a,b)};var Zxb;var IO=nmc(667);
aY(381,380,{380:1,298:1,381:1,3:1},eyb);_.Id=function fyb(){return"Var "+this.b+" @ "+this.c};var MO=nmc(381);aY(768,BHc,xJc,syb);_.ug=function vyb(a,b){ryb(this,a,b)};_.Ag=function wyb(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o;if(b.k==(Pac(),H9b)){o=b.Rh();if(o.length==0){Sd((Rlb(),c.k==Z8b&&!(c.k==Z8b&&Jmb(c.f)&&c.k==Z8b&&dnb(c.b))&&!Zmb(c)||Zmb(c)));return}if((c.k==Jac||(Rlb(),c.k==Z8b&&Jmb(c.f)&&c.k==Z8b&&dnb(c.b)))&&oyc(this.e,o)){tyb(this.a,o);pyc(this.e,o);d=S4b(q5b(b,29));x1b(d.a);d.e=true;X5b(b,
z3b(d))}k=klb(a);l=CY(k,o);if(!l){Rlb();if((c.k==Z8b&&!(c.k==Z8b&&Jmb(c.f)&&c.k==Z8b&&dnb(c.b))&&!Zmb(c)||c.k==s8b&&(!(c.k==s8b&&dnb(c.b))||!Jmb(c.f)))&&b==c.b);else{j=b.f;if(!!j&&b.k==H9b&&(j.k==R8b&&b!=j.b||j.k==k9b&&b!=(j.b?j.b.g:null)));else{g=k.d.k==Z8b&&Fnc(fHc,o);h=c.k==Eac;!g&&!h&&!(this.c&&A5((!a.d&&!!a.i&&(a.d=G3(a.c,a.i)),a.d)))&&ulb(a,b,lyb,ED(zD(UU,1),FHc,2,6,[o]));if(this.d)throw CX(new Kmc("Unexpected variable "+o));else{tyb(this.a,o);pyc(this.e,o);usb(zY(k),o,b,O3(this.a))}}}return}e=
(!a.d&&!!a.i&&(a.d=G3(a.c,a.i)),a.d);m=l.a;if(e==m||!e||!m)return;f=e.k;n=m.k;i=this.a.D;if(!this.d&&n!=f&&!!n&&!!f)if(f!=n&&utc(i.c[f.c],n.c));else!k.b?n!=f&&utc(i.c[n.c],f.c)?ulb(a,b,oyb,ED(zD(UU,1),FHc,2,6,[f.e,n.e,o])):ulb(a,b,hyb,ED(zD(UU,1),FHc,2,6,[f.e,n.e,o])):ulb(a,b,jyb,ED(zD(UU,1),FHc,2,6,[f.e,n.e,o]))}};_.c=false;_.d=false;var gyb,hyb,iyb,jyb,kyb,lyb,myb,nyb,oyb;var LO=nmc(768);aY(769,1,CHc,xyb);_.zg=function yyb(a,b,c){return b.k!=(Pac(),lac)||!Mmb(b)};_.Ag=function zyb(a,b,c){var d,
e,f,g;if(b.k==(Pac(),H9b)){switch(c.k.f){case 76:case 100:case 88:case 65:case 96:case 45:case 119:case 113:case 93:return;case 91:if(c.f.k==V9b)return;break;case 26:if(b==c.b){e=klb(a);g=CY(e,b.Rh());if(!g){ulb(a,b,(pyb(),kyb),ED(zD(UU,1),FHc,2,6,[b.Rh()]));nyc(this.a.e,b.Rh())}}return;case 47:if(b==(c.b?c.b.g:null)&&D5b(b)&&D5b(c.b))return;break;case 29:if($mb(c.f))return;break;case 61:if(_mb(c.f))return}ulb(a,b,(pyb(),iyb),ED(zD(UU,1),FHc,2,6,[b.Rh()]));d=klb(a);f=CY(d,b.Rh());!f&&nyc(this.a.e,
b.Rh())}};var JO=nmc(769);aY(770,1,{},Byb);_.rh=function Cyb(a,b,c,d){var e,f,g,h,i,j;j=emb(c);i=CY(a,b);g=i.c;h=!g?null:emb(g);if(j.k==(Pac(),z9b)||j.k==x8b||j.k==s8b||!!h&&(h.k==z9b||h.k==x8b||h.k==s8b)){n4(this.b.a,jjb(c,(pyb(),gyb),ED(zD(UU,1),FHc,2,6,[])));return}else if(j.k==Z8b&&!!a.b&&!!h&&(h.k==Z8b||h.k==z9b||h.k==x8b||h.k==s8b)){n4(this.b.a,jjb(c,(pyb(),gyb),ED(zD(UU,1),FHc,2,6,[])));return}if(!a.b){if(h.k==r8b&&j.k==r8b)return;e=uyb(this.b.a,c,i.c);pyb();if(c.f.k==Jac&&(f=q5b(c,51),!!f&&
f.Eh())&&_mb(c)){asc(this.a,j);return}e||n4(this.b.a,jjb(c,nyb,ED(zD(UU,1),FHc,2,6,[b,i.a?i.a.i.a:"??"])))}else Fnc(b,fHc)&&!($mb(c.f)&&c.k==H9b)&&n4(this.b.a,jjb(c,(pyb(),myb),ED(zD(UU,1),FHc,2,6,[])))};var KO=nmc(770);var Dyb,Eyb,Fyb;aY(228,15,{228:1,3:1,24:1,15:1},Lyb);var Hyb,Iyb,Jyb;var NO=omc(228,CU,Myb);aY(146,15,{146:1,3:1,24:1,15:1},Vyb);_.a=0;var Nyb,Oyb,Pyb,Qyb,Ryb,Syb,Tyb;var OO=omc(146,CU,Wyb);aY(623,1,{623:1});var YO=nmc(623);aY(416,623,{416:1,623:1},Xyb);_.Fd=function Yyb(a){var b;
if(a===this)return true;if(rE(a,416)){b=a;return Fnc(this.a,b.a)&&Fnc(this.b,b.b)}return false};_.Hd=function Zyb(){var a;a=1;a*=yHc;a^=wFc(this.a);a*=yHc;a^=wFc(this.b);return a};_.Id=function $yb(){return"PrefixReplacement{prefix="+this.a+NFc+"replacement="+this.b+"}"};var QO=nmc(416);aY(510,1,{510:1,3:1});var _yb;var eP=nmc(510);aY(378,510,{378:1,510:1,3:1},gzb);_.Fd=function hzb(a){var b;if(a===this)return true;if(rE(a,378)){b=a;return Fnc(this.b,b.b)&&Fnc(this.a,b.a)&&this.c==b.c}return false};
_.Hd=function izb(){var a;a=1;a*=yHc;a^=wFc(this.b);a*=yHc;a^=wFc(this.a);a*=yHc;a^=qFc(this.c);return a};_.Id=function jzb(){return"Require{symbol="+this.b+NFc+"rawText="+this.a+NFc+"type="+this.c+"}"};var SO=nmc(378);aY(1060,1,{});var cP=nmc(1060);aY(203,1060,{},ozb);var RO=nmc(203);aY(509,235,{421:1,235:1,509:1,3:1});var pzb;var xP=nmc(509);aY(376,509,{376:1,421:1,235:1,509:1,3:1},szb);_.Fd=function tzb(a){var b;if(a===this)return true;if(rE(a,376)){b=a;return Fnc(this.b,b.b)&&Fnc(this.c,b.c)&&
this.d.Fd(b.d)&&this.e.Fd(b.e)&&this.f.Fd(b.f)&&this.a.Fd(b.a)}return false};_.sg=function uzb(){return this.b};_.hh=function vzb(){return this.d};_.jh=function wzb(){return this.e};_.Hd=function xzb(){var a;a=1;a*=yHc;a^=wFc(this.b);a*=yHc;a^=wFc(this.c);a*=yHc;a^=this.d.Hd();a*=yHc;a^=this.e.Hd();a*=yHc;a^=this.f.Hd();a*=yHc;a^=this.a.Hd();return a};_.Id=function yzb(){return"SimpleDependencyInfo{name="+this.b+NFc+"pathRelativeToClosureBase="+this.c+NFc+"provides="+this.d+NFc+"requires="+this.e+
NFc+"weakRequires="+this.f+NFc+"loadFlags="+this.a+"}"};var UO=nmc(376);aY(1059,1,{});var wP=nmc(1059);aY(377,1059,{},Hzb);var TO=nmc(377);aY(346,1,{});_.Gh=function Nzb(a,b){return Kzb(this,a,b)};var sP=nmc(346);aY(757,346,{},Qzb);_.Fh=function Rzb(a,b,c,d,e){var f;uAb();if(!Fnc(b.substr(0,"/".length),"/")&&!(Fnc(b.substr(0,MIc.length),MIc)||Fnc(b.substr(0,zLc.length),zLc))){this.d.xg((O_(),N_),new fjb(c,null,d,e,sAb,null,ED(zD(UU,1),FHc,2,6,[b,be((iBb(),eBb))])));return null}f=Jzb(this,a,b);f==
null&&this.d.xg((O_(),N_),new fjb(c,null,d,e,tAb,null,ED(zD(UU,1),FHc,2,6,[b])));return f};var Ozb;var WO=nmc(757);aY(758,1,{},Szb);_.Hh=function Tzb(a,b,c,d){return new Qzb(a,b,c,d)};var VO=nmc(758);aY(803,346,{},Wzb);_.Fh=function Xzb(a,b,c,d,e){var f,g,h,i;i=b;for(h=this.a._d();h.Od();){g=h.Pd();if(Unc(b,g.a)){i=g.b+(""+Wnc(b,g.a.length));uAb();!Fnc(i.substr(0,"/".length),"/")&&!(Fnc(i.substr(0,MIc.length),MIc)||Fnc(i.substr(0,zLc.length),zLc))&&this.d.xg((O_(),N_),new fjb(c,null,d,e,Uzb,null,
ED(zD(UU,1),FHc,2,6,[g.a,g.b,b,i])));break}}uAb();if(!Fnc(i.substr(0,"/".length),"/")&&!(Fnc(i.substr(0,MIc.length),MIc)||Fnc(i.substr(0,zLc.length),zLc))){this.d.xg((O_(),N_),new fjb(c,null,d,e,sAb,null,ED(zD(UU,1),FHc,2,6,[i,be((iBb(),fBb))])));return null}f=Jzb(this,a,i);i==null&&this.d.xg((O_(),N_),new fjb(c,null,d,e,tAb,null,ED(zD(UU,1),FHc,2,6,[b])));return f};_.Gh=function Yzb(a,b){var c,d,e;uAb();if(Fnc(b.substr(0,MIc.length),MIc)||Fnc(b.substr(0,zLc.length),zLc))return Kzb(this,a,b);e=b;
for(d=this.a._d();d.Od();){c=d.Pd();if(Unc(b,c.a)){e=c.b+(""+Wnc(b,c.a.length));break}}return AAb(e,this.f)};var Uzb;var _O=nmc(803);aY(660,1,{},Zzb);_.Hh=function $zb(a,b,c,d){return new Wzb(a,b,c,d,this.a)};var XO=nmc(660);aY(804,1,lGc,_zb);_.Ud=function aAb(a){return Vzb(),new Xyb(a.Ve(),a.We())};var ZO=nmc(804);aY(805,1,{},bAb);_.Ih=function cAb(a){return Vzb(),a.a.length};var $O=nmc(805);aY(434,1,lGc,dAb);_.Ud=function eAb(a){return a.b};var bP=nmc(434);aY(173,15,{173:1,3:1,24:1,15:1},lAb);var fAb,
gAb,hAb,iAb,jAb;var dP=omc(173,CU,mAb);aY(832,1,{},qAb);var fP=nmc(832);aY(317,1,{},xAb,yAb);var rAb,sAb,tAb;var rP=nmc(317);aY(681,1,CGc,CAb);_.Fd=function EAb(a){return this===a};_.Ud=function DAb(a){return a.sg()};var gP=nmc(681);aY(682,1,{},FAb);_.Ih=function GAb(a){return a.length};var hP=nmc(682);aY(683,1,AHc,HAb);_.Fd=function JAb(a){return this===a};_.lf=function KAb(){return new Twc(this)};_.jf=function IAb(a,b){return Bnc(a,b)};var iP=nmc(683);aY(319,1,{},NAb);_.Id=function OAb(){return this.a};
var jP=nmc(319);aY(442,1,{},PAb);_.xg=function QAb(a,b){};var kP=nmc(442);aY(190,15,ALc);var RAb,SAb;var nP=omc(190,CU,VAb);aY(678,190,ALc,WAb);_.Jh=function XAb(a){var b;return mBb(),b=Qnc(Qnc(Qnc(Qnc(Qnc(Pnc(Pnc(a,58,45),92,47)," ",LJc),"[","%5B"),"]","%5D"),"<","%3C"),">","%3E"),nBb(b)};var lP=omc(678,nP,null);aY(679,190,ALc,YAb);_.Jh=function ZAb(a){return nBb(a)};var mP=omc(679,nP,null);aY(266,15,BLc);var $Ab;var pP=omc(266,CU,aBb);aY(680,266,BLc,cBb);_.Ud=function dBb(a){return bBb(a)};var oP=
omc(680,pP,null);aY(191,15,{191:1,3:1,24:1,15:1},jBb);var eBb,fBb,gBb,hBb;var qP=omc(191,CU,kBb);var lBb;aY(483,346,{},yBb);_.Fh=function BBb(a,b,c,d,e){return uBb(this,a,b,c,d,e)};var qBb,rBb;var vP=nmc(483);aY(658,1,{},CBb);_.Hh=function DBb(a,b,c,d){return new yBb(a,b,this.a,c,d)};var tP=nmc(658);aY(801,1,AHc,EBb);_.Fd=function GBb(a){return this===a};_.lf=function HBb(){return new Twc(this)};_.jf=function FBb(a,b){return ABb(a,b)};var uP=nmc(801);aY(802,483,{},IBb);_.Fh=function JBb(a,b,c,d,e){var f;
f=this.a.He(b);if(f==null)return uBb(this,a,b,c,d,e);return f};var zP=nmc(802);aY(659,1,{},KBb);_.Hh=function LBb(a,b,c,d){var e,f;f=new jyc;for(null.Dj().Dj();null.Dj();){null.Dj();e=AAb(d.Jh(null.Dj()),b);uAb();!Fnc(e.substr(0,"/".length),"/")&&!(Fnc(e.substr(0,MIc.length),MIc)||Fnc(e.substr(0,zLc.length),zLc))&&(e="/"+e);bpc(f,null.Dj(),e)}return new IBb(a,b,f,c,d)};var yP=nmc(659);aY(1009,1,{});var MBb;var CP=nmc(1009);aY(635,637,{},RBb);var AP=nmc(635);aY(636,427,{},SBb);_.vg=function TBb(){this.e+
this.f+this.g>0&&PBb(this.e+this.f+" error(s), "+this.g+" warning(s)")};_.wg=function UBb(a,b){PBb(ejb(b,a,this.a))};var BP=nmc(636);aY(260,809,{},XBb);var DP=nmc(260);var YBb;var $Bb;var aCb;var cCb,dCb,eCb,fCb;var hCb,iCb;var kCb,lCb,mCb,nCb,oCb,pCb,qCb,rCb,sCb,tCb,uCb,vCb,wCb,xCb;var zCb;var BCb,CCb;var ECb,FCb;var HCb;var JCb;var LCb,MCb,NCb,OCb;var QCb;var SCb;aY(35,15,{35:1,3:1,24:1,15:1},aEb);var UCb,VCb,WCb,XCb,YCb,ZCb,$Cb,_Cb,aDb,bDb,cDb,dDb,eDb,fDb,gDb,hDb,iDb,jDb,kDb,lDb,mDb,nDb,oDb,pDb,
qDb,rDb,sDb,tDb,uDb,vDb,wDb,xDb,yDb,zDb,ADb,BDb,CDb,DDb,EDb,FDb,GDb,HDb,IDb,JDb,KDb,LDb,MDb,NDb,ODb,PDb,QDb,RDb,SDb,TDb,UDb,VDb,WDb,XDb,YDb,ZDb,$Db;var EP=omc(35,CU,bEb);aY(620,1,{620:1});var MP=nmc(620);aY(405,620,{405:1,620:1},dEb);_.Fd=function eEb(a){var b;if(a===this)return true;if(rE(a,405)){b=a;return this.c==b.c&&this.f==b.f&&this.b==b.b&&this.e==b.e&&Yn(this.a,b.a)&&sy(this.g,b.g)&&this.d==b.d}return false};_.Hd=function fEb(){var a;a=1;a*=yHc;a^=qFc(this.c);a*=yHc;a^=qFc(this.f);a*=yHc;
a^=qFc(this.b);a*=yHc;a^=qFc(this.e);a*=yHc;a^=Bb(this.a.d.d);a*=yHc;a^=this.g.Hd();a*=yHc;a^=this.d?1231:1237;return a};_.Id=function gEb(){return"Config{languageMode="+this.c+NFc+"strictMode="+this.f+NFc+"jsDocParsingMode="+this.b+NFc+"runMode="+this.e+NFc+"annotations="+this.a+NFc+"suppressionNames="+this.g+NFc+"parseInlineSourceMaps="+this.d+"}"};_.d=false;var GP=nmc(405);aY(1063,1,{});var HP=nmc(1063);aY(406,1063,{},pEb);var FP=nmc(406);aY(231,15,{231:1,3:1,24:1,15:1},uEb);var qEb,rEb,sEb;var IP=
omc(231,CU,vEb);aY(125,15,{125:1,3:1,24:1,15:1},FEb);var wEb,xEb,yEb,zEb,AEb,BEb,CEb,DEb;var JP=omc(125,CU,HEb);aY(276,15,{276:1,3:1,24:1,15:1},LEb);var IEb,JEb;var KP=omc(276,CU,MEb);aY(275,15,{275:1,3:1,24:1,15:1},QEb);var NEb,OEb;var LP=omc(275,CU,REb);aY(884,1,{},NFb);_.c=false;_.g=null;_.i=false;var SEb,TEb,UEb,VEb,WEb;var OP=nmc(884);aY(885,1,{},wHb);var NP=nmc(885);aY(398,1,{},BIb);_.d=null;_.f=false;_.n=null;var xHb,yHb,zHb;var SP=nmc(398);aY(587,1,{587:1},EIb);_.a=0;_.b=0;var PP=nmc(587);
aY(399,1,{},FIb);var QP=nmc(399);aY(249,15,{249:1,3:1,24:1,15:1},KIb);var GIb,HIb,IIb;var RP=omc(249,CU,LIb);aY(68,15,{68:1,3:1,24:1,15:1},gJb);var MIb,NIb,OIb,PIb,QIb,RIb,SIb,TIb,UIb,VIb,WIb,XIb,YIb,ZIb,$Ib,_Ib,aJb,bJb,cJb,dJb,eJb;var UP=omc(68,CU,hJb);aY(250,1,{},rJb,sJb);_.a=-1;_.b=0;_.c=0;_.d=0;_.e=-1;_.f=0;_.g=0;_.i=0;_.j=0;_.n="";_.p=0;_.r=0;var TP=nmc(250);var vJb=null,wJb=null;aY(1051,1,{});_.d=false;var hS=nmc(1051);aY(828,1051,{},EJb);_.Kh=function FJb(a,b){if(this.b||!this.a){this.a=true;
this.c.uh(b,a.d.c,a.b+1,a.a)}};_.Lh=function GJb(a,b){this.c.vh(b,a.d.c,a.b+1,a.a)};_.a=false;_.b=false;var VP=nmc(828);aY(829,1,{},HJb);var WP=nmc(829);aY(999,1,{},nKb);_.c=0;_.d=0;var YP=nmc(999);aY(63,15,{63:1,3:1,24:1,15:1},NKb);_.a=0;_.b=0;_.c=0;var oKb,pKb,qKb,rKb,sKb,tKb,uKb,vKb,wKb,xKb,yKb,zKb,AKb,BKb,CKb,DKb,EKb,FKb,GKb,HKb,IKb,JKb,KKb,LKb;var XP=omc(63,CU,PKb);var QKb;aY(132,1,{132:1,3:1},qLb);_.Fd=function tLb(a){return rE(a,132)&&sy(a.a,this.a)};_.Hd=function uLb(){return this.a.Hd()};
_.Id=function vLb(){return this.a.Id()};var SKb,TKb,UKb,VKb,WKb,XKb,YKb,ZKb,$Kb,_Kb,aLb,bLb,cLb,dLb;var $P=nmc(132);aY(28,15,{28:1,3:1,24:1,15:1},BMb);_.Id=function CMb(){return this.a};_.b=0;var yLb,zLb,ALb,BLb,CLb,DLb,ELb,FLb,GLb,HLb,ILb,JLb,KLb,LLb,MLb,NLb,OLb,PLb,QLb,RLb,SLb,TLb,ULb,VLb,WLb,XLb,YLb,ZLb,$Lb,_Lb,aMb,bMb,cMb,dMb,eMb,fMb,gMb,hMb,iMb,jMb,kMb,lMb,mMb,nMb,oMb,pMb,qMb,rMb,sMb,tMb,uMb,vMb,wMb,xMb,yMb,zMb;var ZP=omc(28,CU,DMb);aY(180,1,{180:1},FMb);_.Id=function GMb(){return kUb(this.c)};
var nQ=nmc(180);aY(407,180,{407:1,180:1},HMb);_.Id=function IMb(){return this.a};var _P=nmc(407);aY(41,15,{41:1,3:1,24:1,15:1},HNb);_.Id=function ONb(){return this.c};_.a=false;var 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,wNb,xNb,yNb,zNb,ANb,BNb,CNb,DNb,ENb,FNb;var aQ=omc(41,CU,PNb);aY(907,1,{},TNb);var cQ=nmc(907);aY(908,1,{},WNb);var bQ=nmc(908);aY(94,180,{94:1,180:1},XNb);
_.Id=function YNb(){return this.a};var dQ=nmc(94);aY(296,1,{},OQb,PQb);var jQ=nmc(296);aY(882,1,{},RQb);var eQ=nmc(882);aY(881,1,{},SQb);_.a=false;_.b=false;_.c=false;_.d=false;_.e=false;var gQ=nmc(881);aY(163,15,{163:1,3:1,24:1,15:1},$Qb);var TQb,UQb,VQb,WQb,XQb,YQb;var fQ=omc(163,CU,_Qb);aY(200,15,{200:1,3:1,24:1,15:1},fRb);_.a=false;_.b=false;var aRb,bRb,cRb,dRb;var hQ=omc(200,CU,gRb);aY(201,1,{},hRb);_.a=null;_.b=false;_.c=false;var iQ=nmc(201);aY(883,1,{},VRb);_.c=0;_.f=0;_.g=false;_.j=0;var kQ=
nmc(883);aY(880,1,{},eSb);var lQ=nmc(880);aY(18,15,{18:1,3:1,24:1,15:1},lUb,mUb);_.Id=function nUb(){return kUb(this)};var fSb,gSb,hSb,iSb,jSb,kSb,lSb,mSb,nSb,oSb,pSb,qSb,rSb,sSb,tSb,uSb,vSb,wSb,xSb,ySb,zSb,ASb,BSb,CSb,DSb,ESb,FSb,GSb,HSb,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;var mQ=omc(18,CU,oUb);aY(11,1,{11:1});_.Id=function sUb(){return this.p+"@"+this.o};var GR=nmc(11);aY(583,11,{583:1,11:1},tUb);var oQ=nmc(583);aY(964,11,{11:1},uUb);var pQ=nmc(964);aY(518,11,{518:1,11:1},vUb);var qQ=nmc(518);aY(563,11,{563:1,11:1},wUb);var rQ=nmc(563);aY(574,11,{574:1,11:1},xUb);var sQ=nmc(574);aY(565,11,{565:1,11:1},yUb);var tQ=nmc(565);aY(557,11,{557:1,11:1},zUb);var uQ=nmc(557);aY(101,11,{101:1,11:1},AUb);var vQ=
nmc(101);aY(388,11,{388:1,11:1},BUb);var wQ=nmc(388);aY(520,11,{520:1,11:1},CUb);var xQ=nmc(520);aY(521,11,{521:1,11:1},DUb);var yQ=nmc(521);aY(586,11,{586:1,11:1},EUb);_.c=false;var zQ=nmc(586);aY(522,11,{522:1,11:1},FUb);var AQ=nmc(522);aY(524,11,{524:1,11:1},GUb);var BQ=nmc(524);aY(553,11,{553:1,11:1},HUb);var CQ=nmc(553);aY(395,11,{395:1,11:1},IUb);var DQ=nmc(395);aY(508,1,{508:1},JUb);var FQ=nmc(508);aY(181,15,{181:1,3:1,24:1,15:1},QUb);var KUb,LUb,MUb,NUb,OUb;var EQ=omc(181,CU,RUb);aY(567,11,
{567:1,11:1},SUb);var GQ=nmc(567);aY(568,11,{568:1,11:1},TUb);var HQ=nmc(568);aY(566,11,{566:1,11:1},UUb);var IQ=nmc(566);aY(392,11,{392:1,11:1},VUb);var JQ=nmc(392);aY(538,11,{538:1,11:1},WUb);_.b=false;var KQ=nmc(538);aY(539,11,{539:1,11:1},XUb);_.c=false;var LQ=nmc(539);aY(207,11,{207:1,11:1},YUb);var MQ=nmc(207);aY(540,11,{540:1,11:1},ZUb);_.b=false;var NQ=nmc(540);aY(533,11,{533:1,11:1},$Ub);var OQ=nmc(533);aY(525,11,{525:1,11:1},_Ub);var PQ=nmc(525);aY(528,11,{528:1,11:1},aVb);var QQ=nmc(528);
aY(523,11,{523:1,11:1},bVb);var RQ=nmc(523);aY(248,11,{248:1,11:1},cVb);var SQ=nmc(248);aY(526,11,{526:1,11:1},dVb);var TQ=nmc(526);aY(205,11,{205:1,11:1},eVb);var UQ=nmc(205);aY(581,11,{581:1,11:1},fVb);var VQ=nmc(581);aY(560,11,{560:1,11:1},gVb);_.d=false;_.e=false;var WQ=nmc(560);aY(561,11,{561:1,11:1},hVb);var XQ=nmc(561);aY(527,11,{527:1,11:1},iVb);var YQ=nmc(527);aY(550,11,{550:1,11:1},jVb);var ZQ=nmc(550);aY(559,11,{559:1,11:1},kVb);var $Q=nmc(559);aY(531,11,{531:1,11:1},lVb);var _Q=nmc(531);
aY(558,11,{558:1,11:1},mVb);var aR=nmc(558);aY(530,11,{530:1,11:1},nVb);var bR=nmc(530);aY(182,11,{182:1,11:1},oVb);var cR=nmc(182);aY(532,11,{532:1,11:1},pVb);_.e=false;_.f=false;_.g=false;_.i=false;var fR=nmc(532);aY(93,1,{},BVb);_.a=null;_.b=null;_.c=null;_.d=null;_.e=false;_.f=false;_.g=false;_.i=false;_.n=null;_.o=null;var dR=nmc(93);aY(206,15,{206:1,3:1,24:1,15:1},HVb);var CVb,DVb,EVb,FVb;var eR=omc(206,CU,IVb);aY(577,11,{577:1,11:1},JVb);var gR=nmc(577);aY(579,11,{579:1,11:1},KVb);var hR=nmc(579);
aY(551,11,{551:1,11:1},LVb);_.b=false;var iR=nmc(551);aY(302,11,{302:1,11:1},MVb);var jR=nmc(302);aY(534,11,{534:1,11:1},NVb);var kR=nmc(534);aY(396,11,{396:1,11:1},OVb);var lR=nmc(396);aY(562,11,{562:1,11:1},PVb);var mR=nmc(562);aY(585,11,{585:1,11:1},QVb);var nR=nmc(585);aY(580,11,{580:1,11:1},RVb);var oR=nmc(580);aY(535,11,{535:1,11:1},SVb);var pR=nmc(535);aY(394,11,{394:1,11:1},TVb);var qR=nmc(394);aY(390,11,{390:1,11:1},UVb);var rR=nmc(390);aY(389,11,{389:1,11:1},VVb);var sR=nmc(389);aY(304,
11,{304:1,11:1},WVb);_.c=false;_.d=false;var tR=nmc(304);aY(303,11,{303:1,11:1},XVb);var uR=nmc(303);aY(584,11,{584:1,11:1},YVb);var vR=nmc(584);aY(965,11,{11:1},ZVb);var wR=nmc(965);aY(391,11,{391:1,11:1},$Vb);var xR=nmc(391);aY(555,11,{555:1,11:1},_Vb);var yR=nmc(555);aY(208,11,{208:1,11:1},aWb);var zR=nmc(208);aY(537,11,{537:1,11:1},bWb);var AR=nmc(537);aY(564,11,{564:1,11:1},cWb);var BR=nmc(564);aY(572,11,{572:1,11:1},dWb);var CR=nmc(572);aY(573,11,{573:1,11:1},eWb);var DR=nmc(573);aY(536,11,
{536:1,11:1},fWb);var ER=nmc(536);aY(22,15,{22:1,3:1,24:1,15:1},XXb);var gWb,hWb,iWb,jWb,kWb,lWb,mWb,nWb,oWb,pWb,qWb,rWb,sWb,tWb,uWb,vWb,wWb,xWb,yWb,zWb,AWb,BWb,CWb,DWb,EWb,FWb,GWb,HWb,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;var FR=omc(22,CU,YXb);aY(505,11,{11:1,505:1},
ZXb);var HR=nmc(505);aY(247,11,{11:1,247:1},$Xb);var IR=nmc(247);aY(575,11,{11:1,575:1},_Xb);var JR=nmc(575);aY(569,11,{11:1,569:1},aYb);var KR=nmc(569);aY(541,11,{11:1,541:1},bYb);var LR=nmc(541);aY(552,11,{11:1,552:1},cYb);_.b=false;var MR=nmc(552);aY(570,11,{11:1,570:1},dYb);var NR=nmc(570);aY(554,11,{11:1,554:1},eYb);var OR=nmc(554);aY(542,11,{11:1,542:1},fYb);var PR=nmc(542);aY(385,11,{11:1,385:1},gYb);var QR=nmc(385);aY(386,11,{11:1,386:1},hYb);var RR=nmc(386);aY(387,11,{11:1,387:1},iYb);var SR=
nmc(387);aY(529,11,{11:1,529:1},jYb);var TR=nmc(529);aY(543,11,{11:1,543:1},kYb);var UR=nmc(543);aY(544,11,{11:1,544:1},lYb);var VR=nmc(544);aY(582,11,{11:1,582:1},mYb);var WR=nmc(582);aY(397,11,{11:1,397:1},nYb);var XR=nmc(397);aY(578,11,{11:1,578:1},oYb);var YR=nmc(578);aY(571,11,{11:1,571:1},pYb);var ZR=nmc(571);aY(519,11,{11:1,519:1},qYb);var $R=nmc(519);aY(576,11,{11:1,576:1},rYb);var _R=nmc(576);aY(393,11,{11:1,393:1},sYb);_.c=0;var aS=nmc(393);aY(546,11,{11:1,546:1},tYb);var bS=nmc(546);aY(547,
11,{11:1,547:1},uYb);var cS=nmc(547);aY(545,11,{11:1,545:1},vYb);var dS=nmc(545);aY(548,11,{11:1,548:1},wYb);var eS=nmc(548);aY(549,11,{11:1,549:1},xYb);var fS=nmc(549);aY(556,11,{11:1,556:1},yYb);_.b=false;var gS=nmc(556);aY(1E3,1051,{},zYb);_.Kh=function AYb(a,b){throw CX(new CYb);};_.Lh=function BYb(a,b){};var jS=nmc(1E3);aY(418,30,{418:1,3:1,44:1,30:1,40:1},CYb);var iS=nmc(418);aY(374,1,{},EYb);_.Id=function FYb(){return eZb("%s(%d, %d)",ED(zD(PU,1),RFc,1,5,[DYb(this),$mc(this.b+1),$mc(this.a+
1)]))};_.a=0;_.b=0;_.c=0;var kS=nmc(374);aY(17,1,{},GYb);_.Id=function HYb(){return eZb("<%s - %s>",ED(zD(PU,1),RFc,1,5,[this.b,this.a]))};var lS=nmc(17);aY(826,30,SGc,IYb);var mS=nmc(826);aY(827,30,SGc,JYb);var nS=nmc(827);aY(361,30,SGc,KYb);var oS=nmc(361);aY(824,30,SGc,LYb);var pS=nmc(824);aY(825,30,SGc,MYb);var qS=nmc(825);aY(357,30,SGc,NYb);var rS=nmc(357);aY(823,30,SGc,OYb);var sS=nmc(823);aY(760,1,{},dZb);var vS=nmc(760);aY(762,1,{},oZb);_.b=0;_.c=0;_.d=0;var tS=nmc(762);aY(761,1,{},wZb);_.a=
-1;_.b=IFc;_.c=0;_.d=false;_.e=false;_.f=false;_.g=false;_.i=false;_.j=false;_.k=false;_.n=-1;_.p=-1;var uS=nmc(761);aY(358,30,SGc,xZb);var wS=nmc(358);var yZb,zZb;aY(12,1,{12:1},CZb);_.b=0;var xS=nmc(12);aY(16,1,{16:1},QZb);_.Fd=function RZb(a){return KZb(this,a)};_.Hd=function SZb(){return LZb(this)};_.Id=function VZb(){var a,b;b=new uoc;b.a+="[";for(a=0;a<this.a.length;++a){if((a&1)!=0&&this.a[a]==this.a[a-1]+1)continue;a!=0&&(b.a+=String.fromCharCode((a&1)==0?32:45),b);roc((b.a+="0x",b),Zmc(this.a[a]-
(a&1),16))}b.a+="]";return b.a};var DZb,EZb;var yS=nmc(16);aY(95,1,{95:1});_.Id=function i$b(){var a;a=new uoc;a.a+="/";this.Mh(a);a.a.length==1&&(a.a+="(?:)",a);a.a+="/";return a.a};var XZb,YZb,ZZb,$Zb,_Zb,a$b,b$b,c$b,d$b,e$b,f$b;var QS=nmc(95);aY(977,1,{},s$b);_.a=0;_.b=0;_.c=0;var zS=nmc(977);aY(251,95,{95:1,251:1},t$b);_.Nh=function v$b(){return this.a};_.Mh=function u$b(a){var b,c;for(b=0,c=this.a.ce();b<c;++b){b!=0&&(a.a+="|",a);this.a.ge(b).Mh(a)}};_.Fd=function w$b(a){return this===a||rE(a,
251)&&this.a.Fd(a.a)};_.Hd=function x$b(){return 1370848465^this.a.Hd()};_.Oh=function y$b(){var a,b,c;c=0;for(b=this.a._d();b.Od();){a=b.Pd();c+=a.Oh()}return c};var AS=nmc(251);aY(1065,95,{95:1});_.Nh=function z$b(){return Km(),Km(),Jm};_.Oh=function A$b(){return 0};var LS=nmc(1065);aY(412,1065,{95:1,412:1},B$b);_.Mh=function C$b(a){koc(a,this.a)};_.Fd=function D$b(a){return rE(a,412)&&this.a==a.a};_.Hd=function E$b(){return this.a^-397207553};_.a=0;var BS=nmc(412);aY(309,1065,{95:1,309:1},F$b);
_.Mh=function G$b(a){moc((a.a+=XHc,a),this.a)};_.Fd=function H$b(a){return rE(a,309)&&this.a==a.a};_.Hd=function I$b(){return-16308637^this.a};_.a=0;var CS=nmc(309);aY(414,95,{95:1,414:1},J$b);_.Nh=function L$b(){return Km(),new Uy(Nd(this.a))};_.Mh=function K$b(a){a.a+="(";this.a.Mh(a);a.a+=")"};_.Fd=function M$b(a){return rE(a,414)&&this.a.Fd(a.a)};_.Hd=function N$b(){return 1433933624^this.a.Hd()};_.Oh=function O$b(){return 1};var DS=nmc(414);aY(255,1065,{95:1,255:1},R$b);_.Mh=function S$b(a){if(KZb(YZb.b,
this.b)){a.a+=".";return}_$b(P$b(this),a)};_.Fd=function T$b(a){return rE(a,255)&&KZb(this.b,a.b)};_.Hd=function U$b(){return LZb(this.b)^-555867578};var ES=nmc(255);aY(256,95,{95:1,256:1},V$b);_.Nh=function X$b(){return this.a};_.Mh=function W$b(a){var b,c,d,e,f,g;b=false;for(d=It(new $uc(this.a.a.b._d()));d.Od();){c=d.Pd();f=false;(rE(c,251)||rE(c,256))&&(f=true);if(f){a.a+="(?:";c.Mh(a);a.a+=")"}else{g=a.a.length;c.Mh(a);if(b&&a.a.length>g){e=Anc(a.a,g);48<=e&&e<=57&&(Anc(a.a,g-1)==123?toc(a,g-
1,String.fromCharCode(92)):koc((a.a=Xnc(a.a,0,g)+"(?:"+Wnc(a.a,g),a),41))}}b=rE(c,309)&&c.a<10||rE(c,183)&&Enc(c.a,"{")}};_.Fd=function Y$b(a){return rE(a,256)&&gn(this.a,a.a)};_.Hd=function Z$b(){return 546930238^Bb(this.a.a.a)};_.Oh=function $$b(){var a,b,c;c=0;for(b=It(new $uc(this.a.a.b._d()));b.Od();){a=b.Pd();c+=a.Oh()}return c};var FS=nmc(256);aY(415,1,{415:1},a_b);_.Fd=function c_b(a){var b;if(!rE(a,415))return false;b=a;return this.a=b.a&&KZb(this.c,b.c)&&Fnc(this.b,b.b)};_.Hd=function e_b(){return LZb(this.c)+
31*(wFc(this.b)+(this.a?1:0))};_.a=false;var GS=nmc(415);aY(411,1065,{95:1,411:1},h_b);_.Mh=function i_b(a){};_.Fd=function j_b(a){return rE(a,411)};_.Hd=function k_b(){return 2128634177};var f_b;var HS=nmc(411);aY(252,95,{95:1,252:1},l_b);_.Nh=function n_b(){return Km(),new Uy(Nd(this.a))};_.Mh=function m_b(a){roc(a,this.b?"(?=":"(?!");this.a.Mh(a);a.a+=")"};_.Fd=function o_b(a){var b;if(!rE(a,252))return false;b=a;return this.b==b.b&&this.a.Fd(b.a)};_.Hd=function p_b(){return 119778217^this.a.Hd()};
_.Oh=function q_b(){return this.a.Oh()};_.b=false;var IS=nmc(252);aY(253,95,{95:1,253:1},r_b);_.Nh=function t_b(){return Km(),new Uy(Nd(this.a))};_.Mh=function s_b(a){roc(a,this.b?"(?<=":"(?<!");this.a.Mh(a);a.a+=")"};_.Fd=function u_b(a){var b;if(!rE(a,253))return false;b=a;return this.b==b.b&&this.a.Fd(b.a)};_.Hd=function v_b(){return 119778217^this.a.Hd()};_.Oh=function w_b(){return this.a.Oh()};_.b=false;var JS=nmc(253);aY(165,15,{165:1,3:1,24:1,15:1},E_b);var x_b,y_b,z_b,A_b,B_b,C_b;var KS=omc(165,
CU,F_b);aY(310,95,{95:1,310:1},H_b);_.Nh=function J_b(){return Km(),new Uy(Nd(this.a))};_.Mh=function I_b(a){var b,c,d,e,f,g,h,i,j,k;d=a.a.length;G_b(this,a);b=a.a.length;c=b-d;j=this.d;i=this.c;if(j>=2&&i==EFc||i-j<=1){e=j==i||i==EFc?j-1:j;g=j-e;f=i==EFc?i:i-e;k=O_b(j,i);h=O_b(g,f);if(c*e+h<k&&this.a.Oh()==0){while(--e>=0)a.a+=""+Xnc(!a?OFc:a.a,d,b);j=g;i=f}}if(i==EFc)switch(j){case 0:a.a+="*";break;case 1:a.a+="+";break;default:roc(moc((a.a+="{",a),j),",}")}else j==0&&i==1?(a.a+="?",a):j==i?j!=
1&&koc(moc((a.a+="{",a),j),125):koc(moc(koc(moc((a.a+="{",a),j),44),i),125);this.b||(a.a+="?",a)};_.Fd=function K_b(a){var b;if(!rE(a,310))return false;b=a;return this.a.Fd(b.a)&&this.d==b.d&&this.c==b.c&&this.b==b.b};_.Hd=function L_b(){return this.d+31*(this.c+31*((this.b?1:0)+31*this.a.Hd()))};_.Oh=function M_b(){return this.a.Oh()};_.b=false;_.c=0;_.d=0;var MS=nmc(310);aY(183,1065,{95:1,183:1},P_b);_.Mh=function Q_b(a){var b,c;for(b=0,c=this.a.length;b<c;++b)S_b(Anc(this.a,b),b+1<c?Anc(this.a,
b+1):-1,a)};_.Fd=function R_b(a){return rE(a,183)&&Fnc(this.a,a.a)};_.Hd=function T_b(){return wFc(this.a)^102228752};var NS=nmc(183);aY(254,1065,{95:1,254:1},U_b);_.Mh=function V_b(a){roc(a,this.a?"\\P{":"\\p{");if(this.b!=null){roc(a,this.b);a.a+="="}roc(a,this.c);a.a+="}"};_.Fd=function W_b(a){return rE(a,254)&&this.a==a.a&&this.b==a.b&&this.c==a.c};_.Hd=function X_b(){return Wsc(ED(zD(PU,1),RFc,1,5,[(Qlc(),this.a?true:false),this.b,this.c]))};_.a=false;var OS=nmc(254);aY(413,1065,{95:1,413:1},
Y_b);_.Mh=function Z_b(a){koc((a.a+=XHc,a),this.a)};_.Fd=function $_b(a){return rE(a,413)&&this.a==a.a};_.Hd=function __b(){return 1450420777^this.a};_.a=0;var PS=nmc(413);aY(846,1,{},b0b);var RS=nmc(846);aY(1126,1,{});var f0b;aY(747,1,{},m0b);_.uh=function n0b(a,b,c,d){};_.vh=function o0b(a,b,c,d){};var SS=nmc(747);aY(261,1,{261:1,3:1},q1b);_.Fd=function r1b(a){if(this===a)return true;if(a==null)return false;if(TS!=zb(a))return false;return Fnc(this.a,a.a)};_.Hd=function s1b(){return wFc(this.a)};
_.Id=function t1b(){return"InputId: "+this.a};var TS=nmc(261);aY(354,1,{354:1,3:1},P2b,Q2b);_.Id=function T2b(){return"JSDocInfo"};_.a=0;_.c=false;_.e=false;_.f=0;var bT=nmc(354);aY(794,1,GHc,U2b);var US=nmc(794);aY(64,1,GHc,$2b);_.Id=function _2b(){var a;return xd(wd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(vd(new yd((gmc(VS),VS.n)),"bitfield",this.o==0?null:(a=this.o>>>0,a.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),hJc,this.b),"license",this.i),"suppressions",this.p),"modifies",this.k),"lendsName",this.g)))};_.o=0;var VS=nmc(64);aY(482,1,{482:1},d3b);var WS=nmc(482);aY(355,1,{});_.b=0;_.c=0;_.d=null;_.e=0;_.f=0;var oT=nmc(355);aY(795,355,{},h3b);var XS=nmc(795);aY(480,355,{},j3b);var YS=nmc(480);aY(481,480,{},l3b);var ZS=nmc(481);aY(796,355,{},m3b);_.a=false;var $S=nmc(796);
aY(177,15,{177:1,3:1,24:1,15:1},u3b);var o3b,p3b,q3b,r3b,s3b;var _S=omc(177,CU,v3b);aY(122,1,{},P4b,Q4b);_.d=false;_.e=false;var aT=nmc(122);var T4b;aY(82,1,{82:1,3:1},V4b);_.Fd=function W4b(a){return rE(a,82)&&a.a.Sh(this.a,false,true,false,false)};_.Hd=function X4b(){return Bb(this.a)};_.Id=function Y4b(){return"type: "+k6b(this.a)};var cT=nmc(82);aY(7,1,{7:1,3:1},p6b,q6b,r6b,s6b,t6b,u6b,v6b);_.Ph=function w6b(a){return h5b(this,new p6b(this.k),a)};_.Qh=function z6b(){if(this.k==(Pac(),S9b))throw CX(new Kmc(CNc));
else throw CX(new Boc(this+" is not a number node"));};_.Rh=function A6b(){if(this.k==(Pac(),rac))throw CX(new Kmc(DNc));else throw CX(new Boc(this+ENc));};_.Sh=function B6b(a,b,c,d,e){return C5b(this,a,b,c,d,e)};_.Th=function C6b(){return false};_.Uh=function G6b(a){if(this.k==(Pac(),S9b))throw CX(new Kmc(CNc));else throw CX(new Boc(this+ENc));};_.Vh=function H6b(){throw CX(new Kmc(this+" is not a StringNode"));};_.Wh=function I6b(a){if(this.k==(Pac(),rac)||this.k==H9b)throw CX(new Kmc(DNc));else throw CX(new Boc(this+
ENc));};_.Id=function J6b(){return j6b(this,true,true,true)};_.d=0;_.j=0;var nT=nmc(7);aY(331,1,ZFc,L6b);_._d=function M6b(){return new O6b(this)};var eT=nmc(331);aY(281,1,HFc,O6b);_.Nd=function P6b(a){nzc(this,a)};_.Pd=function R6b(){return N6b(this)};_.Od=function Q6b(){return!!this.a.a};_.Qd=function S6b(){throw CX(new Aoc);};var dT=nmc(281);aY(455,1,GHc);_.c=0;var iT=nmc(455);aY(33,455,GHc,U6b);_.Xh=function V6b(a){return new U6b(this.c,this.a,a)};_.Yh=function W6b(){return this.a};_.Zh=function X6b(){throw CX(new Aoc);
};_.Id=function Y6b(){return""+this.a};_.a=0;var fT=nmc(33);aY(85,7,{7:1,85:1,3:1},Z6b);_.Ph=function $6b(a){return h5b(this,new Z6b(this.a),a)};_.Qh=function _6b(){return this.a};_.Sh=function a7b(a,b,c,d,e){var f,g,h;f=C5b(this,a,b,c,d,e);if(f){h=this.a;g=a.a;if(h==g)return h!=0||1/h==1/g}return false};_.Uh=function b7b(a){this.a=a};_.a=0;var gT=nmc(85);aY(62,455,GHc,c7b);_.Xh=function d7b(a){return new c7b(this.c,this.a,a)};_.Yh=function e7b(){throw CX(new Aoc);};_.Zh=function f7b(){return this.a};
_.Id=function g7b(){return goc(this.a)};var hT=nmc(62);aY(59,1,ZFc,h7b);_._d=function i7b(){return new k7b(this.a)};var jT=nmc(59);aY(711,1,HFc,k7b);_.Nd=function l7b(a){nzc(this,a)};_.Pd=function n7b(){return j7b(this)};_.Od=function m7b(){return!!this.a};_.Qd=function o7b(){throw CX(new Aoc);};var kT=nmc(711);aY(10,7,{7:1,10:1,3:1},r7b,s7b,t7b);_.Ph=function u7b(a){var b;return b=new r7b(this.k),b.a=this.a,h5b(this,b,a)};_.Rh=function v7b(){return this.a};_.Sh=function w7b(a,b,c,d,e){return C5b(this,
a,b,c,d,e)&&this.a==a.a};_.Th=function x7b(){return n5b(this,36)!=0};_.Vh=function y7b(){p7b(this)};_.Wh=function z7b(a){q7b(this,a)};var lT=nmc(10);aY(89,7,{7:1,89:1,3:1},A7b,B7b,C7b);_.Ph=function D7b(a){return h5b(this,new C7b(this.k,this.a),a)};_.Rh=function E7b(){return this.a};var mT=nmc(89);aY(224,15,{224:1,3:1,24:1,15:1},K7b);var G7b,H7b,I7b;var pT=omc(224,CU,L7b);aY(13,15,{13:1,3:1,24:1,15:1},Qac);var M7b,N7b,O7b,P7b,Q7b,R7b,S7b,T7b,U7b,V7b,W7b,X7b,Y7b,Z7b,$7b,_7b,a8b,b8b,c8b,d8b,e8b,f8b,
g8b,h8b,i8b,j8b,k8b,l8b,m8b,n8b,o8b,p8b,q8b,r8b,s8b,t8b,u8b,v8b,w8b,x8b,y8b,z8b,A8b,B8b,C8b,D8b,E8b,F8b,G8b,H8b,I8b,J8b,K8b,L8b,M8b,N8b,O8b,P8b,Q8b,R8b,S8b,T8b,U8b,V8b,W8b,X8b,Y8b,Z8b,$8b,_8b,a9b,b9b,c9b,d9b,e9b,f9b,g9b,h9b,i9b,j9b,k9b,l9b,m9b,n9b,o9b,p9b,q9b,r9b,s9b,t9b,u9b,v9b,w9b,x9b,y9b,z9b,A9b,B9b,C9b,D9b,E9b,F9b,G9b,H9b,I9b,J9b,K9b,L9b,M9b,N9b,O9b,P9b,Q9b,R9b,S9b,T9b,U9b,V9b,W9b,X9b,Y9b,Z9b,$9b,_9b,aac,bac,cac,dac,eac,fac,gac,hac,iac,jac,kac,lac,mac,nac,oac,pac,qac,rac,sac,tac,uac,vac,wac,xac,
yac,zac,Aac,Bac,Cac,Dac,Eac,Fac,Gac,Hac,Iac,Jac,Kac,Lac,Mac,Nac,Oac;var qT=omc(13,CU,Sac);var Uac;aY(27,1,GNc);_._h=function rbc(){var a,b;return a=this.zi(),b=a.ai(),!b?a:b};_.ai=function sbc(){return null};_.Fd=function tbc(a){return ebc(this,a)};_.bi=function vbc(a){var b;b=Scc(this.ai());if(b)return b.bi(a);return null};_.ci=function wbc(a){return xbc(this,a)};_.di=function ybc(a){var b,c;if(this==a)return this;a=ubc(a);if(a.Gi())return Tjc(a.Gi(),this);return b=(c=new Cfc(false),dbc(this,a,0,
c)),b?this:ubc(_fc(this.A,ED(zD(JT,1),NJc,27,0,[this,a])))};_.ei=function zbc(a,b){return 0};_.fi=function Abc(){return this.B};_.gi=function Bbc(){return $ic(this.B)};_.Hd=function Cbc(){return ibc(this)};_.hi=function Dbc(){return false};_.ii=function Ebc(){return false};_.ji=function Gbc(){return false};_.ki=function Hbc(){return false};_.li=function Jbc(){return false};_.mi=function Kbc(){return false};_.ni=function Lbc(){return false};_.oi=function Mbc(){return false};_.pi=function Nbc(){return false};
_.qi=function Obc(){return false};_.ri=function Pbc(){return false};_.si=function Qbc(){return false};_.ti=function Rbc(a){return Tbc(this,a,new Ffc(true),0)};_.ui=function Sbc(a,b,c){return Tbc(this,a,b,c)};_.vi=function Ubc(){return false};_.wi=function Vbc(){return false};_.xi=function Wbc(){return false};_.zi=function Xbc(){return this};_.Ai=function Ybc(){return null};_.Bi=function Zbc(){return null};_.Ci=function $bc(){return null};_.Di=function _bc(){return null};_.Ei=function acc(){return null};
_.Fi=function bcc(){return null};_.Gi=function ccc(){return null};_.Id=function dcc(){return this.$h(new uoc,false).a};_.v=false;_.w=false;var abc;var JT=nmc(27);aY(942,27,GNc,ecc);_.$h=function fcc(a,b){return a.a+="*",a};_.hi=function gcc(){return true};_.qi=function hcc(){return true};_.xi=function icc(){return true};_.yi=function jcc(){return gFc(this)};_.Hi=function kcc(a){return bgc(a.e,50)};var rT=nmc(942);aY(211,27,{211:1,27:1,3:1},qcc,rcc);_.$h=function scc(a,b){return a.a+="[ArrowType]",
a};_.ci=function tcc(a){throw CX(new Aoc);};_.di=function ucc(a){throw CX(new Aoc);};_.Ii=function vcc(){return hbc(this.b)||ncc(this)};_.gi=function(){return this.Ii()};_.ti=function wcc(a){return pcc(this,a,new Ffc(true),0)};_.ui=function xcc(a,b,c){return pcc(this,a,b,c)};_.yi=function ycc(){var a,b;a=nAc(this.b);if(this.a){b=this.a.b;while(b){a=a*31+nAc(b.c);b=b.e}}return a};_.Hi=function zcc(a){throw CX(new Aoc);};_.c=false;var sT=nmc(211);aY(209,27,GNc);_.ei=function Bcc(a,b){return b&&!!this.ai()?
this.ai().ei(a,b):0};_.yi=function Ccc(){return gFc(this)};var rU=nmc(209);aY(936,209,GNc,Dcc);_.$h=function Ecc(a,b){return a.a+=AFc,a};_.ai=function Fcc(){return bgc(this.A,3)};_.Hi=function Gcc(a){return bgc(a.e,2)};var tT=nmc(936);aY(49,27,HNc);_.Ji=function Tcc(){this.u=true};_.bi=function Ucc(a){return this.ei(a,false)==0?null:this.Qi(a)};_.Li=function Vcc(){return lm(),oy(),ny};_.Ni=function Wcc(){return this.Pi().b.ve()};_.Oi=function Xcc(){return null};_.ei=function Ycc(a,b){return this.ni()||
this.li()||this.mi()||this==this.A.p[57]||this.vi()||!!this.Si(a)?1:0};_.Pi=function Zcc(){return dic(),dic(),cic};_.Qi=function $cc(a){return Mcc(this,a)};_.Si=function _cc(a){return jic(this.Pi(),a)};_.Ti=function adc(){var a;a=this.Mi();if(!a)return null;a=a.Mi();return!a?null:a.Ki()};_.Ui=function bdc(){return!this.u};_.Vi=function cdc(){return false};_.ki=function ddc(){return!!this.Oi()};_.Wi=function edc(){return false};_.ri=function fdc(){return true};_.si=function hdc(){var a;a=this.Ki();
return!!a&&a.f==(kfc(),ifc)&&a.e};_.vi=function idc(){return Pcc(this)};_.Xi=function jdc(a){};_.Hi=function kdc(a){return vgc(a,this)};_.u=true;var QT=nmc(49);aY(998,49,HNc,ndc);_.$h=function odc(a,b){if(b)return qoc(a,this.d);return roc(qoc(roc(roc(a,this.b),"<"),this.d),">")};_.ai=function pdc(){return this.d.ai()};_.bi=function qdc(a){return this.d.bi(a)};_.Ki=function rdc(){return!this.c?null:this.c.Ki()};_.Mi=function sdc(){return null};_.ei=function tdc(a,b){return this.d.ei(a,b)};_.Yi=function udc(){return!this.c?
(dic(),dic(),cic):this.c.Pi()};_.Pi=function(){return this.Yi()};_.Ri=function vdc(){return this.b};_.Vi=function wdc(){return true};_.oi=function xdc(){return true};_.qi=function ydc(){return this.d.qi()};_.ri=function zdc(){return this.d.ri()};_.ti=function Adc(a){return ldc(this,a,new Ffc(true),0)};_.ui=function Bdc(a,b,c){return ldc(this,a,b,c)};_.xi=function Cdc(){return this.d.xi()};_.yi=function Ddc(){return khc(this)};_.Ai=function Edc(){return this};_.Hi=function Fdc(a){return this};var uT=
nmc(998);aY(74,1,{},Xdc);_.c=null;_.d=null;_.e=0;_.g=null;_.i=null;_.j=null;_.k=null;_.n=null;var vT=nmc(74);aY(306,1,{},aec);var wT=nmc(306);aY(78,49,INc,eec,fec,gec);_.$h=function iec(a,b){return bec(this,a,b)};_.Zi=function jec(a,b,c,d){return cec(this,a,b,c,d)};_.Ki=function kec(){return null};_.Li=function lec(){return this.r?this.r.c:(Km(),Km(),Jm)};_.$i=function mec(){return this.r?Fec(this.r):(Km(),Km(),Jm)};_.Mi=function nec(){return this.p};_.Oi=function oec(){return this.r};_.Pi=function pec(){return this.t};
_.Ri=function qec(){return this.o!=null?this.o:this.r?this.r.Ri()+XJc:null};_.Vi=function rec(){return this.o!=null||!!this.r};_.Wi=function sec(){return this.q};_.ti=function tec(a){return this.ui(a,new Ffc(true),0)};_.ui=function uec(a,b,c){var d,e,f,g,h;if(Tbc(this,a,b,c))return true;if(a.Gi())return false;if(a.Di())return vec(this,a.Di(),b,c);e=rE(a,49)?a:null;d=!e?null:e.Ki();if(!!this.Ki()&&this.Ki().f==(kfc(),ifc))for(g=It(new $uc(this.Li().a.b._d()));g.Od();){f=g.Pd();if(f.ui(a,b,c))return true}else if(!!d&&
d.f==(kfc(),ifc)){h=this.$i();for(g=h._d();g.Od();){f=g.Pd();if(f.ui(a,b,c))return true}}if(Pcc(this))return true;return!!e&&Ncc(this,e)};_.yi=function wec(){return this.si()?Wsc(ED(zD(PU,1),RFc,1,5,[this.o,this.t])):gFc(this)};_.Xi=function xec(a){Sd(!this.r||!a);this.r=a};_.n=false;_.q=false;_.r=null;_.s=false;var TT=nmc(78);aY(138,78,JNc,Tec);_.$h=function Uec(a,b){var c,d,e;if(!this.s||this==this.A.p[11])return a.a+=b?"!Function":CJc,a;this.s=false;a.a+="function(";e=l5b(this.b.a);c=!rE(this.k,
210);if(c){this._i()?(a.a+="new:",a):(a.a+="this:",a);this.k.$h(a,b)}if(e>0){c&&(a.a+=NFc,a);d=this.b.a.b;n5b(d,30)!=0?Aec(a,d.c,b):n5b(d,37)!=0?zec(this,a,d.c,b):cbc(d.c,a,b);d=d.e;while(d){a.a+=NFc;n5b(d,30)!=0?Aec(a,d.c,b):n5b(d,37)!=0?zec(this,a,d.c,b):cbc(d.c,a,b);d=d.e}}a.a+="): ";cbc(this.b.b,a,b);this.s=true;return a};_.Ji=function Vec(){Cec(this)};_.Zi=function Wec(a,b,c,d){var e;if(Fnc(LHc,a)){e=rE(b,49)?b:null;if(e){if(!!this.g&&kbc(e,this.g.e))return true;Pec(this,e,d);return true}else return false}return cec(this,
a,b,c,d)};_.Ni=function Xec(){var a;if(!this.g)return this.t.b.ve();else{a=(lm(),new is);asc(a.b,Nd(LHc));hs(a,this.t.b.ve());return xo(new Bsc(a.b))}};_.Qi=function Yec(a){return Jec(this,a)};_.Si=function Zec(a){return Lec(this,a)};_.Ti=function $ec(){return Mec(this)};_.gi=function _ec(){return bjc(this.B)>0||hbc(this.k)||hbc(this.b)};_.Ui=function afc(){return!!this.g||!this.u};_._i=function bfc(){return this.f==(kfc(),hfc)};_.ti=function cfc(a){return this.ui(a,new Ffc(true),0)};_.ui=function dfc(a,
b,c){var d,e;if(Tbc(this,a,b,c))return true;if(a.Ci()){d=a.Ci();if(d.f==(kfc(),ifc))return true;if(this.f==ifc)return false;return e=!!obc(d.k)&&!!obc(d.k).Ki()&&obc(d.k).Ki().f==ifc||d.k.ui(this.k,b,0)||this.k.ui(d.k,b,0),e&&pcc(this.b,d.b,b,c)}return this.A.p[12].ui(a,b,c)};_.yi=function efc(){var a;a=qFc(this.f);switch(this.f.f){case 1:return 31*a+gFc(this);case 2:return 31*a+wFc(this.Ri());case 0:a=31*a+ibc(this.k);a=31*a+ibc(this.b);return a;default:throw CX(new Mlc);}};_.Ci=function ffc(){return this};
_.Hi=function gfc(a){return ugc(a,this)};_.e=false;var yT=nmc(138);aY(241,15,{241:1,3:1,24:1,15:1},lfc);var hfc,ifc,jfc;var xT=omc(241,CU,mfc);aY(307,78,INc,nfc,ofc);_.$h=function pfc(a,b){var c,d,e;if(this.a.Vi()){if(b)return roc(a,Kcc(this.a))}else return bec(this,a,b);e=this.a.Ri();if(e.length==0){d=this.a.i;return roc(moc(roc(roc((a.a+="<anonymous@",a),d?(c=q5b(d,51),!c?null:c.sg()):GMc),":"),d?y6b(d.j):0),">")}return a.a+=""+e,a};_.Zi=function qfc(a,b,c,d){var e,f;e=Kec(this.a);if(!!e&&(gic(e.Pi(),
a)?1:0)!=0&&(f=e.Si(a),!!f&&!f.b))return false;return cec(this,a,b,c,d)};_.Ki=function rfc(){return this.a};_.Li=function sfc(){return this.a.c};_.$i=function tfc(){return Fec(this.a)};_.Mi=function ufc(){return Kec(this.a)};_.Ri=function vfc(){return this.a.Ri()};_.Vi=function wfc(){return this.a.Vi()};_.oi=function xfc(){return this.a.Vi()};_.yi=function yfc(){return this.a.Vi()?khc(this):ibc(this)};var zT=nmc(307);aY(484,1,{});_.b=false;var CT=nmc(484);aY(77,484,{},Cfc);var AT=nmc(77);aY(92,484,
{},Ffc);var BT=nmc(92);aY(240,15,{240:1,3:1,24:1,15:1},Kfc);_.a=false;var Gfc,Hfc,Ifc;var DT=omc(240,CU,Lfc);var ET=omc(null,CU,Mfc);aY(143,1,GHc,mgc);var IT=nmc(143);aY(815,138,JNc,ogc);_.Ki=function pgc(){return this.A.p[10]};var FT=nmc(815);aY(816,1,lGc,qgc);_.Ud=function rgc(a){return new blc(this.a,3E3,false)};var GT=nmc(816);aY(817,1,lGc,sgc);_.Ud=function tgc(a){return new vzc};var HT=nmc(817);aY(930,1,{});_.aj=function Agc(a){return a};_.g=false;var KT=nmc(930);aY(137,49,MNc);_.$h=function Egc(a,
b){return this.e.$h(a,b)};_.bi=function Fgc(a){return this.e.bi(a)};_.Ki=function Ggc(){return!this.d?null:this.d.Ki()};_.Li=function Hgc(){return!this.d?(Jtc(),Jtc(),Htc):this.d.Li()};_.Mi=function Igc(){return!this.d?null:this.d.Mi()};_.Oi=function Jgc(){return!this.d?null:this.d.Oi()};_.ei=function Kgc(a,b){return this.e.ei(a,b)};_.Pi=function Lgc(){return!this.d?(dic(),dic(),cic):this.d.Pi()};_.Ri=function Mgc(){return!this.d?"":this.d.Ri()};_.fi=function Ngc(){return this.e.fi()};_.Ii=function Ogc(){return hbc(this.e)};
_.gi=function(){return this.Ii()};_.Vi=function Pgc(){Nd(this.d);return this.d.Vi()};_.hi=function Qgc(){return this.e.hi()};_.ii=function Rgc(){return this.e.ii()};_.Wi=function Sgc(){return!!this.d&&this.d.Wi()};_.li=function Tgc(){return this.e.li()};_.mi=function Ugc(){return this.e.mi()};_.ni=function Vgc(){return this.e.ni()};_.oi=function Wgc(){return this.e.oi()};_.qi=function Xgc(){return this.e.qi()};_.si=function Ygc(){return this.e.si()};_.ti=function Zgc(a){return this.e.ui(a,new Ffc(true),
0)};_.ui=function $gc(a,b,c){return this.e.ui(a,b,c)};_.vi=function _gc(){return this.e.vi()};_.xi=function ahc(){return this.e.xi()};_.yi=function bhc(){return ibc(this.e)};_.Ai=function chc(){return this.e.Ai()};_.Bi=function dhc(){return this.e.Bi()};_.Ci=function ehc(){return this.e.Ci()};_.Di=function fhc(){return this.e.Di()};_.Ei=function ghc(){return this.e.Ei()};_.Fi=function hhc(){return this.e.Fi()};_.Gi=function ihc(){return this.e.Gi()};_.Hi=function jhc(a){return wgc(a,this)};var UT=
nmc(137);aY(588,138,JNc,lhc);_.$h=function mhc(a,b){return a.a+=b?"?":"NoObject",a};_.Zi=function nhc(a,b,c,d){return true};_.Ki=function ohc(){return null};_.Mi=function phc(){return null};_.Ri=function qhc(){return null};_.Vi=function rhc(){return false};_._i=function shc(){return false};_.li=function thc(){return true};_.ti=function uhc(a){return this.ui(a,new Ffc(true),0)};_.ui=function vhc(a,b,c){return Tbc(this,a,b,c)||a.ri()&&!a.ni()&&!a.mi()};_.yi=function whc(){return gFc(this)};_.Ci=function xhc(){return null};
_.Hi=function yhc(a){return bgc(a.e,52)};var LT=nmc(588);aY(589,588,JNc,zhc);_.$h=function Ahc(a,b){return a.a+=b?"?":"None",a};_.li=function Bhc(){return false};_.ni=function Chc(){return true};_.qi=function Dhc(){return true};_.ti=function Ehc(a){return this.ui(a,null,0)};_.ui=function Fhc(a,b,c){return true};_.xi=function Ghc(){return true};_.Hi=function Hhc(a){return this};var NT=nmc(589);aY(943,589,JNc,Jhc);_.$h=function Khc(a,b){return a.a+=b?"?":"NoResolvedType",a};_.Ri=function Lhc(){return this.a};
_.mi=function Mhc(){return true};_.ni=function Nhc(){return false};_.ti=function Ohc(a){return Ihc(this,a,new Ffc(true),0)};_.ui=function Phc(a,b,c){return Ihc(this,a,b,c)};var MT=nmc(943);aY(937,209,GNc,Qhc);_.$h=function Rhc(a,b){return a.a+=OFc,a};_.pi=function Shc(){return true};_.qi=function Thc(){return true};_.zi=function Uhc(){return bgc(this.A,51)};_.Hi=function Vhc(a){return bgc(a.e,25)};var OT=nmc(937);aY(938,209,GNc,Whc);_.$h=function Xhc(a,b){return a.a+=BFc,a};_.ai=function Yhc(){return bgc(this.A,
27)};_.Hi=function Zhc(a){return bgc(a.e,26)};var PT=nmc(938);aY(408,1,{408:1,3:1},_hc);_.Hd=function aic(){return Wsc(ED(zD(PU,1),RFc,1,5,[this.c,this.e]))};_.Id=function bic(){return"Property {  name: "+this.c+", type:"+this.e+", inferred: "+this.b+"}"};_.a=null;_.b=false;var ST=nmc(408);aY(417,1,GHc,mic,nic);_.Hd=function oic(){return nAc(this.b.ve())};_.a=null;var cic;var RT=nmc(417);aY(982,78,INc,sic);_.Zi=function tic(a,b,c,d){return pic(this,a,b,c,d)};_.Mi=function uic(){return this.A.p[31]};
_.si=function vic(){return true};_.ti=function wic(a){return ric(this,a,new Ffc(true),0)};_.ui=function xic(a,b,c){return ric(this,a,b,c)};_.Di=function yic(){return this};_.a=false;var XT=nmc(982);aY(409,1,{},Bic);_.a=true;_.b=true;var WT=nmc(409);aY(410,1,{410:1},Cic);_.Id=function Dic(){return"RecordProperty{type: "+this.b+", node: "+this.a+"}"};var VT=nmc(410);aY(939,209,GNc,Eic);_.$h=function Fic(a,b){return a.a+=DFc,a};_.ai=function Gic(){return bgc(this.A,36)};_.Hi=function Hic(a){return bgc(a.e,
38)};var YT=nmc(939);aY(940,209,GNc,Iic);_.$h=function Jic(a,b){return a.a+=ELc,a};_.ai=function Kic(){return bgc(this.A,39)};_.Hi=function Lic(a){return bgc(a.e,41)};var ZT=nmc(940);aY(86,137,{27:1,49:1,137:1,86:1,3:1},Mic);_.$h=function Nic(a,b){return roc(a,this.a)};_.Ri=function Oic(){return this.a};_.Ii=function Pic(){return true};_.Ei=function Qic(){return this};_.Hi=function Ric(a){return a.aj(this)};var aU=nmc(86);aY(373,1,GHc,djc);_.Id=function fjc(){var a,b,c;c="";b=this.d.ce();c+="{ ";
for(a=0;a<b;a++){c+="(";c+=this.d.ge(a);c+=",";c+=a<this.e.ce()?this.e.ge(a):"";c+=",";c+=this.c!=null&&a<this.c.length?this.c[a]:"";c+=") "}c+="}";return c};_.a=false;var _T=nmc(373);aY(383,930,{},jjc,kjc);_.aj=function ljc(a){var b,c;if(_ic(this.c,a))if(gjc(this,a))return a;else if(Xic(this.c,a)!=-1){b=Zic(this.c,a);if(b==this.a||hjc(this,a,b))return a;orc(this.d,a);c=b.Hi(this);Arc(this.d);Xd(c!=this.a,"Trying to replace key %s with the same value",this.a);return c}else return this.b?this.e.p[44]:
a;else return a};_.a=null;_.b=false;var $T=nmc(383);aY(401,137,MNc,ojc);_.$h=function pjc(a,b){var c,d;this.e.$h(a,b);if(!this.c.$d()){a.a+="<";d=this.c.ce()-1;for(c=0;c<d;c++){this.c.ge(c).$h(a,b);a.a+=","}this.c.ge(d).$h(a,b);a.a+=">"}return a};_.Li=function qjc(){var a,b,c;c=new $zc;for(b=this.d.Li()._d();b.Od();){a=b.Pd();nyc(c,obc(a.Hi(this.b)))}return c};_.Qi=function rjc(a){var b;return b=Mcc(this,a),!b?null:b.Hi(this.b)};_.fi=function sjc(){return this.B};_.Ii=function tjc(){return $ic(this.B)};
_.ti=function ujc(a){return Tbc(this,a,new Ffc(true),0)};_.ui=function vjc(a,b,c){return Tbc(this,a,b,c)};_.yi=function wjc(){var a;a=ibc(this.e);if(this.a)return a;return Wsc(ED(zD(PU,1),RFc,1,5,[this.c,$mc(a)]))};_.Fi=function xjc(){return this};_.Hi=function yjc(a){return xgc(a,this)};_.a=false;var bU=nmc(401);aY(164,15,NNc);var zjc,Ajc,Bjc;var fU=omc(164,CU,Ejc);aY(931,164,NNc,Fjc);_.bj=function Gjc(){return Ajc};_.cj=function Hjc(a){return false};_.Id=function Ijc(){return jIc};var cU=omc(931,
fU,null);aY(932,164,NNc,Jjc);_.bj=function Kjc(){return zjc};_.cj=function Ljc(a){return true};_.Id=function Mjc(){return kIc};var dU=omc(932,fU,null);aY(933,164,NNc,Njc);_.bj=function Ojc(){return Bjc};_.cj=function Pjc(a){return a};_.Id=function Qjc(){return GMc};var eU=omc(933,fU,null);aY(983,27,GNc,Zjc);_.$h=function akc(a,b){var c,d,e,f;a.a+="(";f=new PCc;for(e=this.b._d();e.Od();){d=e.Pd();NCc(f,d.$h(new uoc,b).a)}Jc(new Nc(String.fromCharCode(124)),a,(c=(new $qc(f.a)).a.Ge().b.rj(),new frc(c)));
return a.a+=")",a};_._h=function bkc(){var a,b,c;b=new blc(this.A,30,false);for(a=0;a<this.b.ce();a++){c=this.b.ge(a);Xkc(b,c._h())}return Ykc(b)};_.bi=function ckc(a){var b,c,d,e;e=null;for(d=(_jc(new rkc,this.b)&&Yjc(this),this.a)._d();d.Od();){c=d.Pd();if(c.pi()||c.wi())continue;b=c.bi(a);if(!b)continue;!e?e=b:e=e.di(b)}return e};_.di=function dkc(a){return Tjc(this,a)};_.ei=function ekc(a,b){var c,d,e,f;e=false;d=true;for(f=0;f<this.b.ce();f++){c=this.b.ge(f);if(c.pi()||c.wi())continue;switch(c.ei(a,
b)){case 1:e=true;break;case 0:d=false;break;case 2:e=true;d=false}if(e&&!d)break}return e?d?1:2:0};_.Ii=function fkc(){return _jc(new Dkc,this.b)};_.gi=function(){return this.Ii()};_.ji=function gkc(){return _jc(new Tkc,this.b)};_.qi=function hkc(){return _jc(new Lkc,this.b)};_.ri=function ikc(){return $jc(new zkc,this.b)};_.ti=function jkc(a){return Wjc(this,a,new Ffc(true),0)};_.ui=function kkc(a,b,c){return Wjc(this,a,b,c)};_.vi=function lkc(){return _jc(new vkc,this.b)};_.xi=function mkc(){return _jc(new Pkc,
this.b)};_.yi=function nkc(){var a,b;a=this.b.ce();for(b=0;b<this.b.ce();b++)a*=ibc(this.b.ge(b));return a};_.zi=function okc(){var a,b,c;b=new blc(this.A,30,false);for(a=0;a<this.b.ce();a++){c=this.b.ge(a);Xkc(b,c.zi())}return Ykc(b)};_.Gi=function pkc(){return this};_.Hi=function qkc(a){return ygc(a,this)};var pU=nmc(983);aY(311,1,yJc,rkc);_.Fd=function tkc(a){return this===a};_.Td=function ukc(a){return!!a.Gi()};_.Rd=function skc(a){return!!a.Gi()};var gU=nmc(311);aY(624,1,yJc,vkc);_.Fd=function xkc(a){return this===
a};_.Td=function ykc(a){return a.vi()};_.Rd=function wkc(a){return a.vi()};var hU=nmc(624);aY(625,1,yJc,zkc);_.Fd=function Bkc(a){return this===a};_.Td=function Ckc(a){return a.ri()};_.Rd=function Akc(a){return a.ri()};var iU=nmc(625);aY(987,1,yJc,Dkc);_.Fd=function Fkc(a){return this===a};_.Td=function Gkc(a){return hbc(a)};_.Rd=function Ekc(a){return hbc(a)};var jU=nmc(987);aY(258,1,yJc,Hkc);_.Fd=function Jkc(a){return this===a};_.Td=function Kkc(a){return!!a.Gi()};_.Rd=function Ikc(a){return!!a.Gi()};
var kU=nmc(258);aY(984,1,yJc,Lkc);_.Fd=function Nkc(a){return this===a};_.Td=function Okc(a){return a.qi()};_.Rd=function Mkc(a){return a.qi()};var lU=nmc(984);aY(985,1,yJc,Pkc);_.Fd=function Rkc(a){return this===a};_.Td=function Skc(a){return a.xi()};_.Rd=function Qkc(a){return a.xi()};var mU=nmc(985);aY(986,1,yJc,Tkc);_.Fd=function Vkc(a){return this===a};_.Td=function Wkc(a){return a.ji()};_.Rd=function Ukc(a){return a.ji()};var nU=nmc(986);aY(102,1,{102:1,3:1},blc);_.b=true;_.c=false;_.d=-1;_.e=
false;_.f=false;_.g=0;_.j=null;_.k=false;var oU=nmc(102);aY(210,49,{27:1,49:1,210:1,3:1},clc);_.$h=function dlc(a,b){return roc(a,this.a?"??":"?")};_.Ki=function elc(){return null};_.Mi=function flc(){return null};_.Ri=function glc(){return this.a?"??":"?"};_.ii=function hlc(){return this.a};_.qi=function ilc(){return true};_.ti=function jlc(a){return true};_.ui=function klc(a,b,c){return true};_.vi=function llc(){return true};_.xi=function mlc(){return true};_.yi=function nlc(){return gFc(this)};
_.Hi=function olc(a){return bgc(a.e,44)};_.a=false;var qU=nmc(210);aY(941,209,GNc,plc);_.$h=function qlc(a,b){return a.a+=KJc,a};_.ji=function rlc(){return true};_.wi=function slc(){return true};_.xi=function tlc(){return true};_.zi=function ulc(){return bgc(this.A,51)};_.Hi=function vlc(a){return bgc(a.e,45)};var sU=nmc(941);var wlc="/";aY(263,1,{423:1});_.dj=function Clc(a){return xlc(this,a)};_.ej=function Dlc(){return this.a.length};_.fj=function Elc(a,b){return Xnc(this.a,a,b)};_.Id=function Flc(){return this.a};
var uU=nmc(263);aY(195,30,{3:1,195:1,44:1,30:1,40:1},Glc);var vU=nmc(195);aY(75,30,ONc,Hlc,Ilc);var HU=nmc(75);aY(807,75,ONc,Jlc);var wU=nmc(807);aY(83,40,PNc,Klc);var DU=nmc(83);aY(60,83,PNc,Mlc,Nlc);var xU=nmc(60);lE={3:1,670:1,24:1};var Olc,Plc;var yU=nmc(670);aY(186,1,{3:1,186:1,24:1},Vlc);_.me=function Wlc(a){return this.a-a.a};_.Fd=function Ylc(a){return rE(a,186)&&a.a==this.a};_.Hd=function $lc(){return this.a};_.Id=function bmc(){return String.fromCharCode(this.a)};_.a=0;var Slc,Tlc,Ulc;var zU=
nmc(186);var dmc;aY(217,1,{3:1,217:1});var Cmc;var OU=nmc(217);mE={3:1,24:1,671:1,217:1};var BU=nmc(671);aY(25,30,{3:1,44:1,25:1,30:1,40:1},Jmc,Kmc,Lmc);var GU=nmc(25);aY(131,217,{3:1,24:1,131:1,217:1},Mmc);_.me=function Omc(a){return Nmc(this.a,a.a)};_.lj=function Pmc(){return this.a};_.Fd=function Qmc(a){return rE(a,131)&&a.a==this.a};_.Hd=function Rmc(){return this.a};_.mj=function Tmc(){return this.a};_.Id=function Ymc(){return""+this.a};_.a=0;var IU=nmc(131);var _mc;aY(155,217,{3:1,24:1,155:1,
217:1},bnc);_.me=function dnc(a){return cnc(this.a,a.a)};_.lj=function enc(){return RX(this.a)};_.Fd=function fnc(a){return rE(a,155)&&HX(a.a,this.a)};_.Hd=function gnc(){return SX(this.a)};_.mj=function hnc(){return SX(this.a)};_.Id=function jnc(){return""+TX(this.a)};_.a=0;var LU=nmc(155);var lnc;aY(1109,1,{});aY(50,320,{3:1,44:1,50:1,30:1,40:1},nnc,onc);_.Vf=function pnc(a){return new TypeError(a)};var MU=nmc(50);var qnc,rnc,snc,tnc;aY(81,38,{3:1,44:1,38:1,81:1,30:1,40:1},vnc);var NU=nmc(81);aY(141,
1,{3:1,141:1},wnc);_.Fd=function xnc(a){var b;if(rE(a,141)){b=a;return this.c==b.c&&this.d==b.d&&this.a==b.a&&this.b==b.b}return false};_.Hd=function ync(){return Wsc(ED(zD(PU,1),RFc,1,5,[$mc(this.c),this.a,this.d,this.b]))};_.Id=function znc(){return this.a+"."+this.d+"("+(this.b!=null?this.b:"Unknown Source")+(this.c>=0?":"+this.c:"")+")"};_.c=0;var RU=nmc(141);nE={3:1,423:1,24:1,2:1};var UU=nmc(2);aY(31,263,{423:1,31:1},uoc,voc,woc,xoc);var SU=nmc(31);aY(328,75,{3:1,44:1,75:1,30:1,328:1,40:1},
yoc);var TU=nmc(328);aY(1113,1,{});aY(34,30,{3:1,44:1,30:1,40:1,34:1},Aoc,Boc);var WU=nmc(34);aY(139,15,{3:1,24:1,15:1,139:1},Loc);var Coc,Doc,Eoc,Foc,Goc,Hoc,Ioc,Joc;var XU=omc(139,CU,Moc);aY(192,1,RNc);_.me=function Noc(a){return Cnc(this.a,a.a)};_.Fd=function Ooc(a){var b;if(a===this)return true;if(!rE(a,192))return false;b=a;return Fnc(this.a,b.a)};_.Hd=function Poc(){return wFc(this.a)};_.Id=function Qoc(){return this.a};var YU=nmc(192);aY(6,1,{},Toc);var ZU=nmc(6);aY(230,1028,bGc);_.Xd=function ipc(){Voc(this)};
_.re=function jpc(a){return Woc(this,a)};_.Fe=function kpc(a){return Xoc(this,a)};_.Ge=function lpc(){return new rpc(this)};_.He=function mpc(a){return Zoc(this,a)};_.Ie=function npc(a,b){return apc(this,a,b)};_.Je=function opc(a){return cpc(this,a)};_.ce=function ppc(){return fpc(this)};var bV=nmc(230);aY(130,cGc,dGc,rpc);_.Xd=function spc(){this.a.Xd()};_.Yd=function tpc(a){return qpc(this,a)};_._d=function upc(){return new Apc(this.a)};_.ae=function vpc(a){var b;if(qpc(this,a)){b=a.Ve();this.a.Je(b);
return true}return false};_.ce=function wpc(){return this.a.ce()};var aV=nmc(130);aY(156,1,HFc,Apc);_.Nd=function Bpc(a){nzc(this,a)};_.Pd=function Dpc(){return ypc(this)};_.Od=function Cpc(){return this.b};_.Qd=function Epc(){zpc(this)};_.b=false;var _U=nmc(156);aY(129,1,HFc,Ipc);_.Nd=function Jpc(a){nzc(this,a)};_.Od=function Kpc(){return Fpc(this)};_.Pd=function Lpc(){return Gpc(this)};_.Qd=function Mpc(){Hpc(this)};_.b=0;_.c=-1;var cV=nmc(129);aY(323,129,gGc,Opc);_.Qd=function Spc(){Hpc(this)};
_.ne=function Ppc(a){this.a.fe(this.b,a);++this.b;this.c=-1};_.oe=function Qpc(){return this.b>0};_.pe=function Rpc(){return Npc(this)};var dV=nmc(323);aY(448,SFc,TFc,Tpc);_.fe=function Upc(a,b){this.c.fe(this.a+a,b);++this.b};_.ge=function Vpc(a){return this.c.ge(this.a+a)};_.je=function Wpc(a){var b;b=this.c.je(this.a+a);--this.b;return b};_.ce=function Xpc(){return this.b};_.a=0;_.b=0;var eV=nmc(448);aY(55,cGc,dGc,Ypc);_.Xd=function Zpc(){this.a.Xd()};_.Yd=function $pc(a){return this.a.re(a)};
_._d=function _pc(){var a;return a=this.a.Ge()._d(),new cqc(a)};_.ae=function aqc(a){if(this.a.re(a)){this.a.Je(a);return true}return false};_.ce=function bqc(){return this.a.ce()};var hV=nmc(55);aY(65,1,HFc,cqc);_.Nd=function dqc(a){nzc(this,a)};_.Od=function eqc(){return this.a.Od()};_.Pd=function fqc(){var a;return a=this.a.Pd(),a.Ve()};_.Qd=function gqc(){this.a.Qd()};var gV=nmc(65);aY(144,PFc,QFc,hqc);_.Xd=function iqc(){this.a.Xd()};_.Yd=function jqc(a){return this.a.Fe(a)};_._d=function kqc(){var a;
return a=this.a.Ge()._d(),new mqc(a)};_.ce=function lqc(){return this.a.ce()};var jV=nmc(144);aY(153,1,HFc,mqc);_.Nd=function nqc(a){nzc(this,a)};_.Od=function oqc(){return this.a.Od()};_.Pd=function pqc(){var a;return a=this.a.Pd(),a.We()};_.Qd=function qqc(){this.a.Qd()};var iV=nmc(153);aY(227,1,{227:1,54:1});_.Fd=function sqc(a){var b;if(!rE(a,54))return false;b=a;return mAc(this.d,b.Ve())&&mAc(this.e,b.We())};_.Ve=function tqc(){return this.d};_.We=function uqc(){return this.e};_.Hd=function vqc(){return nAc(this.d)^
nAc(this.e)};_.Xe=function wqc(a){return rqc(this,a)};_.Id=function xqc(){return this.d+"="+this.e};var kV=nmc(227);aY(172,227,{227:1,172:1,54:1},yqc);var lV=nmc(172);aY(1041,1,sGc);_.Fd=function zqc(a){var b;if(!rE(a,54))return false;b=a;return mAc(this.Ve(),b.Ve())&&mAc(this.We(),b.We())};_.Hd=function Aqc(){return nAc(this.Ve())^nAc(this.We())};_.Id=function Bqc(){return this.Ve()+"="+this.We()};var mV=nmc(1041);aY(1044,1028,bGc);_.Ee=function Eqc(a){return Cqc(this,a)};_.re=function Fqc(a){return Dqc(this,
a)};_.qj=function Gqc(){return new Kqc(this)};_.Ge=function Hqc(){return new Vqc(this)};_.He=function Iqc(a){var b;return b=a,rg(this.sj(b))};_.ve=function Jqc(){return new $qc(this)};var sV=nmc(1044);aY(756,1044,bGc,Kqc);_.Xd=function Lqc(){this.a.Xd()};_.Oe=function Mqc(){return Ptc(this.a.Oe())};_.pj=function Nqc(){return this.a.rj()};_.qj=function Oqc(){return this.a};_.rj=function Pqc(){return this.a.pj()};_.sj=function Qqc(a){return this.a.sj(a)};_.Ie=function Rqc(a,b){return this.a.Ie(a,b)};
_.Je=function Sqc(a){return this.a.Je(a)};_.tj=function Tqc(a){return this.a.tj(a)};_.ce=function Uqc(){return this.a.ce()};var oV=nmc(756);aY(290,cGc,dGc,Vqc);_.Yd=function Wqc(a){return rE(a,54)&&Cqc(this.b,a)};_._d=function Xqc(){return this.b.rj()};_.ae=function Yqc(a){var b;if(rE(a,54)){b=a;return this.b.tj(b)}return false};_.ce=function Zqc(){return this.b.ce()};var pV=nmc(290);aY(108,cGc,iGc,$qc);_.Xd=function _qc(){this.a.Xd()};_.Oe=function arc(){return this.a.Oe()};_.Yd=function brc(a){return Dqc(this.a,
a)};_._d=function crc(){var a;return a=this.a.Ge().b.rj(),new frc(a)};_.ae=function drc(a){if(Dqc(this.a,a)){this.a.Je(a);return true}return false};_.ce=function erc(){return this.a.ce()};var rV=nmc(108);aY(109,1,HFc,frc);_.Nd=function grc(a){nzc(this,a)};_.Od=function hrc(){return this.a.Od()};_.Pd=function irc(){var a;return a=this.a.Pd(),a.Ve()};_.Qd=function jrc(){this.a.Qd()};var qV=nmc(109);aY(1039,PFc,QFc);_.Vd=function krc(a){return rAc(this,a),true};_.Wd=function lrc(a){return Pc(this,a)};
_.Xd=function mrc(){while(sAc(this)!=null);};var tV=nmc(1039);aY(71,PFc,QFc,Hrc,Jrc);_.Vd=function Krc(a){return prc(this,a),true};_.Xd=function Mrc(){qrc(this)};_.Yd=function Nrc(a){return rrc(new Vrc(this),a)};_.$d=function Orc(){return xrc(this)};_._d=function Prc(){return new Vrc(this)};_.ae=function Qrc(a){return Crc(new Vrc(this),a)};_.ce=function Rrc(){return Grc(this)};_.ee=function Src(a){var b;b=this.c-this.b&this.a.length-1;a.length<b&&(a=XEc(new Array(b),a));trc(this,a,b);a.length>b&&
(a[b]=null);return a};_.b=0;_.c=0;var xV=nmc(71);aY(162,1,HFc,Vrc);_.Nd=function Wrc(a){nzc(this,a)};_.Od=function Xrc(){return this.a!=this.b};_.Pd=function Yrc(){return Trc(this)};_.Qd=function Zrc(){Urc(this)};_.a=0;_.b=0;_.c=-1;var wV=nmc(162);aY(20,SFc,{3:1,19:1,20:1,21:1,58:1,72:1},ksc,lsc,msc);_.fe=function nsc(a,b){_rc(this,a,b)};_.Vd=function osc(a){return asc(this,a)};_.Wd=function psc(a){return bsc(this,a)};_.Xd=function qsc(){this.a=BD(PU,RFc,1,0,5,1)};_.Yd=function rsc(a){return dsc(this,
a,0)!=-1};_.ge=function ssc(a){return csc(this,a)};_.$d=function tsc(){return this.a.length==0};_._d=function usc(){return new Bsc(this)};_.je=function vsc(a){return esc(this,a)};_.ae=function wsc(a){return fsc(this,a)};_.ke=function xsc(a,b){var c;c=b-a;VEc(this.a,a,c)};_.ce=function ysc(){return this.a.length};_.de=function zsc(){return isc(this)};_.ee=function Asc(a){return jsc(this,a)};var zV=nmc(20);aY(32,1,HFc,Bsc);_.Nd=function Csc(a){nzc(this,a)};_.Od=function Dsc(){return this.a<this.c.a.length};
_.Pd=function Esc(){return this.b=this.a++,this.c.a[this.b]};_.Qd=function Fsc(){esc(this.c,this.a=this.b);this.b=-1};_.a=0;_.b=-1;var yV=nmc(32);aY(53,SFc,SNc,ltc);_.Yd=function mtc(a){return fd(this,a)!=-1};_.ge=function ntc(a){return this.a[a]};_.ce=function otc(){return this.a.length};_.de=function ptc(){return ktc(this,BD(PU,RFc,1,this.a.length,5,1))};_.ee=function qtc(a){return ktc(this,a)};var AV=nmc(53);aY(1002,$wnd.Function,{},rtc);_.uj=function stc(a,b){return a-b};aY(283,1,{283:1},Atc);
_.Fd=function Ctc(a){return ttc(this,a)};_.Hd=function Dtc(){return vtc(this)};_.Id=function Gtc(){var a,b;if(wtc(this)==0)return"{}";b=new xoc("{");a=xtc(this,0);b.a+=a;while((a=xtc(this,a+1))!=-1){b.a+=NFc;b.a+=a}b.a+="}";return b.a};var BV=nmc(283);var Htc,Itc;aY(690,SFc,SNc,Ttc);_.Yd=function Utc(a){return false};_.ge=function Vtc(a){return null};_._d=function Wtc(){return Jtc(),$tc(),Ztc};_.he=function Xtc(){return Jtc(),$tc(),Ztc};_.ce=function Ytc(){return 0};var DV=nmc(690);aY(691,1,gGc,auc);
_.Nd=function cuc(a){nzc(this,a)};_.ne=function buc(a){throw CX(new Aoc);};_.Od=function duc(){return false};_.oe=function euc(){return false};_.Pd=function fuc(){return _tc()};_.pe=function guc(){throw CX(new lAc);};_.Qd=function huc(){throw CX(new Jmc);};var Ztc;var CV=nmc(691);aY(692,cGc,UNc,iuc);_.Yd=function juc(a){return false};_._d=function kuc(){return Jtc(),$tc(),Ztc};_.ce=function luc(){return 0};var EV=nmc(692);aY(445,cGc,UNc,puc);_.Vd=function quc(a){return muc(this,a)};_.Xd=function ruc(){epc(this.a)};
_.Yd=function suc(a){return nuc(this,a)};_.Fd=function tuc(a){return a===this||(!this.b&&(this.b=new Ypc(this.a)),Rg(this.b,a))};_.Hd=function uuc(){return!this.b&&(this.b=new Ypc(this.a)),Ltc(this.b)};_._d=function vuc(){var a;return!this.b&&(this.b=new Ypc(this.a)),a=this.b.a.Ge()._d(),new cqc(a)};_.ae=function wuc(a){return ouc(this,a)};_.ce=function xuc(){return!this.b&&(this.b=new Ypc(this.a)),this.b.a.ce()};_.Id=function yuc(){return!this.b&&(this.b=new Ypc(this.a)),Uc(this.b)};var FV=nmc(445);
aY(693,SFc,{3:1,19:1,21:1,58:1},zuc);_.Yd=function Auc(a){return mAc(this.a,a)};_.ge=function Buc(a){return this.a};_.ce=function Cuc(){return 1};var GV=nmc(693);aY(269,1,QFc,Luc);_.Vd=function Muc(a){return Duc()};_.Wd=function Nuc(a){return Euc()};_.Xd=function Ouc(){Fuc()};_.Yd=function Puc(a){return Guc(this,a)};_.Zd=function Quc(a){return Huc(this,a)};_.$d=function Ruc(){return this.b.$d()};_._d=function Suc(){return new $uc(this.b._d())};_.ae=function Tuc(a){return Iuc()};_.be=function Uuc(a){return Juc()};
_.ce=function Vuc(){return this.b.ce()};_.de=function Wuc(){return this.b.de()};_.ee=function Xuc(a){return Kuc(this,a)};_.Id=function Yuc(){return fY(this.b)};var IV=nmc(269);aY(70,1,HFc,$uc);_.Nd=function _uc(a){nzc(this,a)};_.Od=function avc(){return this.b.Od()};_.Pd=function bvc(){return this.b.Pd()};_.Qd=function cvc(){Zuc()};var HV=nmc(70);aY(270,269,TFc,dvc);_.fe=function evc(a,b){throw CX(new Aoc);};_.Fd=function fvc(a){return xb(this.a,a)};_.ge=function gvc(a){return this.a.ge(a)};_.Hd=
function hvc(){return Bb(this.a)};_.$d=function ivc(){return this.a.$d()};_.he=function jvc(){return new nvc(this.a.ie(0))};_.ie=function kvc(a){return new nvc(this.a.ie(a))};_.je=function lvc(a){throw CX(new Aoc);};_.le=function mvc(a,b){return new dvc(this.a.le(a,b))};var KV=nmc(270);aY(447,70,gGc,nvc);_.Qd=function rvc(){Zuc()};_.ne=function ovc(a){throw CX(new Aoc);};_.oe=function pvc(){return this.a.oe()};_.pe=function qvc(){return this.a.pe()};var JV=nmc(447);aY(226,1,bGc,xvc);_.Xd=function yvc(){throw CX(new Aoc);
};_.re=function zvc(a){return this.d.re(a)};_.Fe=function Avc(a){return svc(this,a)};_.Ge=function Bvc(){return tvc(this)};_.Fd=function Cvc(a){return uvc(this,a)};_.He=function Dvc(a){return this.d.He(a)};_.Hd=function Evc(){return Bb(this.d)};_.$d=function Fvc(){return this.d.$d()};_.ve=function Gvc(){return vvc(this)};_.Ie=function Hvc(a,b){throw CX(new Aoc);};_.Je=function Ivc(a){throw CX(new Aoc);};_.ce=function Jvc(){return this.d.ce()};_.Id=function Kvc(){return fY(this.d)};_.Ke=function Lvc(){return wvc(this)};
var OV=nmc(226);aY(171,269,dGc,Mvc);_.Fd=function Nvc(a){return xb(this.b,a)};_.Hd=function Ovc(){return Bb(this.b)};var QV=nmc(171);aY(694,171,dGc,Svc);_.Yd=function Tvc(a){return Pvc(this,a)};_.Zd=function Uvc(a){return this.b.Zd(a)};_._d=function Vvc(){var a;a=this.b._d();return new Yvc(a)};_.de=function Wvc(){var a;a=this.b.de();Rvc(a,a.length);return a};_.ee=function Xvc(a){return Qvc(this,a)};var NV=nmc(694);aY(696,1,HFc,Yvc);_.Nd=function Zvc(a){nzc(this,a)};_.Pd=function _vc(){return new bwc(this.a.Pd())};
_.Od=function $vc(){return this.a.Od()};_.Qd=function awc(){throw CX(new Aoc);};var LV=nmc(696);aY(446,1,sGc,bwc);_.Fd=function cwc(a){return this.a.Fd(a)};_.Ve=function dwc(){return this.a.Ve()};_.We=function ewc(){return this.a.We()};_.Hd=function fwc(){return this.a.Hd()};_.Xe=function gwc(a){throw CX(new Aoc);};_.Id=function hwc(){return fY(this.a)};var MV=nmc(446);aY(271,270,fGc,iwc);var PV=nmc(271);aY(695,226,bGc,jwc);_.Fd=function kwc(a){return gg(this.a,a)};_.Hd=function lwc(){return Ltc(new gCc(this.a))};
var RV=nmc(695);aY(322,171,hGc,mwc);_.Oe=function nwc(){return this.a.Oe()};_.Fd=function owc(a){return xb(this.a,a)};_.Hd=function pwc(){return Bb(this.a)};var SV=nmc(322);aY(424,1,WIc,twc);_.Fd=function vwc(a){return this===a};_.lf=function wwc(){return new Twc(this)};_.jf=function uwc(a,b){return qwc(this.a,this.b,a,b)};var TV=nmc(424);aY(634,1,WIc,xwc);_.Fd=function zwc(a){return this===a};_.lf=function Awc(){return new Twc(this)};_.jf=function ywc(a,b){return rwc(this.a,a,b)};var UV=nmc(634);
aY(425,1,WIc,Bwc);_.Fd=function Dwc(a){return this===a};_.lf=function Ewc(){return new Twc(this)};_.jf=function Cwc(a,b){return swc(this.a,a,b)};var VV=nmc(425);var Fwc,Gwc,Hwc;aY(461,1,WIc,Lwc);_.jf=function Mwc(a,b){return Kwc(a,b)};_.Fd=function Nwc(a){return this===a};_.lf=function Owc(){return Iwc(),Hwc};var WV=nmc(461);aY(737,1,WIc,Pwc);_.jf=function Qwc(a,b){return Rlc(b,a)};_.Fd=function Rwc(a){return this===a};_.lf=function Swc(){return Iwc(),Gwc};var XV=nmc(737);aY(111,1,WIc,Twc);_.Fd=function Vwc(a){return this===
a};_.jf=function Uwc(a,b){return this.a.jf(b,a)};_.lf=function Wwc(){return this.a};var YV=nmc(111);aY(161,30,SGc,Xwc);var ZV=nmc(161);aY(292,1,{3:1,24:1,292:1},Ywc);_.me=function Zwc(a){return cnc(IX(this.a.getTime()),IX(a.a.getTime()))};_.Fd=function $wc(a){return rE(a,292)&&HX(IX(this.a.getTime()),IX(a.a.getTime()))};_.Hd=function _wc(){var a;a=IX(this.a.getTime());return SX(UX(a,OX(a,32)))};_.Id=function bxc(){var a,b,c;c=-this.a.getTimezoneOffset();a=(c>=0?"+":"")+(c/60|0);b=axc($wnd.Math.abs(c)%
60);return(exc(),cxc)[this.a.getDay()]+" "+dxc[this.a.getMonth()]+" "+axc(this.a.getDate())+" "+axc(this.a.getHours())+":"+axc(this.a.getMinutes())+":"+axc(this.a.getSeconds())+" GMT"+a+b+" "+this.a.getFullYear()};var $V=nmc(292);var cxc,dxc;aY(199,1028,{199:1,51:1},nxc,oxc);_.Ie=function uxc(a,b){return kxc(this,a,b)};_.Xd=function pxc(){fxc(this)};_.re=function qxc(a){return gxc(this,a)};_.Fe=function rxc(a){return hxc(this,a)};_.Ge=function sxc(){return new yxc(this)};_.He=function txc(a){return ixc(this,
a)};_.Je=function vxc(a){return lxc(this,a)};_.ce=function wxc(){return this.a.c};var cW=nmc(199);aY(239,cGc,dGc,yxc);_.Xd=function zxc(){fxc(this.a)};_.Yd=function Axc(a){return xxc(this,a)};_._d=function Bxc(){return new Exc(this.a)};_.ae=function Cxc(a){var b;if(xxc(this,a)){b=a.Ve();lxc(this.a,b);return true}return false};_.ce=function Dxc(){return this.a.a.c};var aW=nmc(239);aY(352,1,HFc,Exc);_.Nd=function Fxc(a){nzc(this,a)};_.Pd=function Hxc(){return this.b=dyc(this.a),new Jxc(this.c,this.b)};
_.Od=function Gxc(){return cyc(this.a)};_.Qd=function Ixc(){lxc(this.c,this.b);this.b=null};var _V=nmc(352);aY(291,1041,sGc,Jxc);_.Ve=function Kxc(){return this.a};_.We=function Lxc(){return this.b.b[this.a.f]};_.Xe=function Mxc(a){return mxc(this.b,this.a.f,a)};var bW=nmc(291);aY(1030,cGc,dGc);var fW=nmc(1030);aY(145,1030,dGc,Xxc);_.Vd=function Yxc(a){return Rxc(this,a)};_.Yd=function Zxc(a){return Txc(this,a)};_._d=function $xc(){return new eyc(this)};_.ae=function _xc(a){return Vxc(this,a)};_.ce=
function ayc(){return this.c};_.c=0;var eW=nmc(145);aY(274,1,HFc,eyc);_.Nd=function fyc(a){nzc(this,a)};_.Pd=function hyc(){return dyc(this)};_.Od=function gyc(){return cyc(this)};_.Qd=function iyc(){this.c.b[this.b]=null;--this.c.c;this.b=-1};_.a=-1;_.b=-1;var dW=nmc(274);aY(42,230,yGc,jyc,kyc);_.nj=function lyc(a,b){return wE(a)===wE(b)||a!=null&&xb(a,b)};_.oj=function myc(a){var b;b=Bb(a);return b|0};var gW=nmc(42);aY(43,cGc,UNc,qyc,ryc,syc);_.Vd=function uyc(a){return nyc(this,a)};_.Xd=function vyc(){this.a.Xd()};
_.Yd=function wyc(a){return oyc(this,a)};_.$d=function xyc(){return this.a.ce()==0};_._d=function yyc(){var a;return a=(new Ypc(this.a)).a.Ge()._d(),new cqc(a)};_.ae=function zyc(a){return pyc(this,a)};_.ce=function Ayc(){return this.a.ce()};var hW=nmc(43);aY(197,230,{3:1,197:1,51:1},Byc);_.Fd=function Cyc(a){var b,c,d,e,f;if(a===this)return true;if(!rE(a,51))return false;e=a;if(this.d.c+this.e.b!=e.ce())return false;for(c=e.Ge()._d();c.Od();){b=c.Pd();d=b.Ve();f=b.We();if(!(vE(d)?_oc(this,d):!!Iyc(this.d,
d)))return false;if(wE(f)!==wE(vE(d)?$oc(this,d):rg(Iyc(this.d,d))))return false}return true};_.nj=function Dyc(a,b){return wE(a)===wE(b)};_.oj=function Eyc(a){return qFc(a)};_.Hd=function Fyc(){var a,b,c;c=0;for(b=new Apc((new rpc(this)).a);b.b;){a=ypc(b);c+=gFc(a.Ve());c+=gFc(a.We())}return c};var iW=nmc(197);aY(286,1,ZFc,Lyc);_._d=function Myc(){return new Nyc(this)};_.c=0;var kW=nmc(286);aY(459,1,HFc,Nyc);_.Nd=function Oyc(a){nzc(this,a)};_.Pd=function Qyc(){return this.d=this.a[this.c++],this.d};
_.Od=function Pyc(){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};_.Qd=function Ryc(){Kyc(this.e,this.d.Ve());this.c!=0&&--this.c};_.c=0;_.d=null;var jW=nmc(459);var Uyc;aY(285,1,ZFc,czc);_._d=function dzc(){return new ezc(this)};_.b=0;_.c=0;var nW=nmc(285);aY(458,1,HFc,ezc);_.Nd=function fzc(a){nzc(this,a)};_.Pd=function hzc(){return this.c=this.a,this.a=this.b.next(),new jzc(this.d,this.c,this.d.c)};_.Od=function gzc(){return!this.a.done};
_.Qd=function izc(){bzc(this.d,this.c.value[0])};var lW=nmc(458);aY(729,1041,sGc,jzc);_.Ve=function kzc(){return this.b.value[0]};_.We=function lzc(){if(this.a.c!=this.c)return _yc(this.a,this.b.value[0]);return this.b.value[1]};_.Xe=function mzc(a){return azc(this.a,this.b.value[0],a)};_.c=0;var mW=nmc(729);aY(46,42,yGc,vzc,wzc,xzc);_.Xd=function yzc(){pzc(this)};_.re=function zzc(a){return qzc(this,a)};_.Fe=function Azc(a){var b;b=this.b.a;while(b!=this.b){if(mAc(b.e,a))return true;b=b.a}return false};
_.Ge=function Bzc(){return new Mzc(this)};_.He=function Czc(a){return rzc(this,a)};_.Ie=function Dzc(a,b){return szc(this,a,b)};_.Je=function Ezc(a){return uzc(this,a)};_.ce=function Fzc(){return fpc(this.c)};_.a=false;var rW=nmc(46);aY(284,172,{227:1,172:1,284:1,54:1},Izc,Jzc);var oW=nmc(284);aY(100,cGc,dGc,Mzc);_.Xd=function Nzc(){pzc(this.a)};_.Yd=function Ozc(a){return Kzc(this,a)};_._d=function Pzc(){return new Vzc(this)};_.ae=function Qzc(a){return Lzc(this,a)};_.ce=function Rzc(){return fpc(this.a.c)};
var qW=nmc(100);aY(116,1,HFc,Vzc);_.Nd=function Wzc(a){nzc(this,a)};_.Pd=function Yzc(){return Tzc(this)};_.Od=function Xzc(){return Szc(this)};_.Qd=function Zzc(){Uzc(this)};var pW=nmc(116);aY(87,43,UNc,$zc,_zc,aAc);var sW=nmc(87);aY(1021,1,{});var bAc,cAc;var vW=nmc(1021);aY(672,1021,{},eAc);_.Id=function fAc(){return"en_US"};var tW=nmc(672);aY(673,1021,{},gAc);_.Id=function hAc(){return GMc};var uW=nmc(673);aY(360,30,{3:1,44:1,30:1,40:1,360:1},kAc);var xW=nmc(360);aY(73,30,{3:1,44:1,30:1,40:1,
73:1},lAc);var yW=nmc(73);aY(639,1039,QFc,uAc);_.Wd=function vAc(a){return oAc(this,a)};_.Xd=function wAc(){this.b.a=BD(PU,RFc,1,0,5,1)};_.Yd=function xAc(a){return(a==null?-1:dsc(this.b,a,0))!=-1};_._d=function yAc(){return new EAc(this)};_.ae=function zAc(a){var b;b=a==null?-1:dsc(this.b,a,0);if(b<0)return false;tAc(this,b);return true};_.be=function AAc(a){if(Tc(this.b,a)){pAc(this,0);return true}return false};_.ce=function BAc(){return this.b.a.length};_.de=function CAc(){return isc(this.b)};
_.ee=function DAc(a){return jsc(this.b,a)};var AW=nmc(639);aY(429,1,HFc,EAc);_.Nd=function FAc(a){nzc(this,a)};_.Od=function GAc(){return this.a<this.c.b.a.length};_.Pd=function HAc(){return this.b=this.a++,csc(this.c.b,this.b)};_.Qd=function IAc(){tAc(this.c,this.a=this.b);this.b=-1};_.a=0;_.b=-1;var zW=nmc(429);aY(489,1,{489:1},MAc);var JAc;var BW=nmc(489);aY(324,1,{},QAc);_.df=function RAc(){return this.a};_.ef=function SAc(){OAc(this);return this.c};_.Nd=function TAc(a){OAc(this);this.d.Nd(a)};
_.ff=function UAc(a){return PAc(this,a)};_.a=0;_.c=0;var KW=nmc(324);aY(697,324,{},VAc);var CW=nmc(697);aY(325,1,{},XAc);_.hf=function YAc(a){this.a.gf($mc(a))};var DW=nmc(325);aY(326,1,{},ZAc);_.hf=function $Ac(a){this.a.gf($mc(a))};var EW=nmc(326);aY(490,1,{});_.Nd=function dBc(a){WAc(this,a)};_.df=function bBc(){return this.d};_.ef=function cBc(){return this.e};_.d=0;_.e=0;var HW=nmc(490);aY(968,490,{});_.vj=function eBc(a){_Ac(this,a)};_.Nd=function fBc(a){rE(a,259)?_Ac(this,a):_Ac(this,new ZAc(a))};
_.ff=function gBc(a){return rE(a,259)?oEc(this,a):oEc(this,new XAc(a))};var FW=nmc(968);aY(831,490,{});var GW=nmc(831);aY(1029,1,{});_.Nd=function mBc(a){WAc(this,a)};_.df=function kBc(){return 16448};_.ef=function lBc(){return 0};var iBc;var JW=nmc(1029);aY(698,1029,{},nBc);_.vj=function oBc(a){};_.Nd=function pBc(a){rE(a,259)?a:new ZAc(a)};_.wj=function qBc(a){return false};_.ff=function rBc(a){return rE(a,259)?false:(new XAc(a),false)};var IW=nmc(698);aY(104,1,{},tBc,uBc);_.Id=function vBc(){return!this.a?
this.c:this.e.length==0?this.a.a:this.a.a+(""+this.e)};var LW=nmc(104);aY(176,1044,yGc,KBc,LBc);_.Xd=function MBc(){wBc(this)};_.Oe=function NBc(){return Jwc(this.a)};_.pj=function OBc(){return new WBc(this)};_.rj=function PBc(){return new aCc(this)};_.Ge=function QBc(){return new gCc(this)};_.sj=function RBc(a){return xBc(this,a)};_.Ie=function SBc(a,b){return DBc(this,a,b)};_.Je=function TBc(a){return EBc(this,a)};_.tj=function UBc(a){return FBc(this,a)};_.ce=function VBc(){return this.c};_.c=0;
var WW=nmc(176);aY(342,1,HFc,WBc,XBc);_.Nd=function YBc(a){nzc(this,a)};_.Pd=function $Bc(){return this.b=Npc(this.a)};_.Od=function ZBc(){return this.a.b>0};_.Qd=function _Bc(){Hpc(this.a);FBc(this.c,this.b);this.b=null};var MW=nmc(342);aY(289,1,HFc,aCc,bCc);_.Nd=function cCc(a){nzc(this,a)};_.Pd=function eCc(){return this.b=Gpc(this.a)};_.Od=function dCc(){return Fpc(this.a)};_.Qd=function fCc(){Hpc(this.a);FBc(this.c,this.b);this.b=null};var NW=nmc(289);aY(343,290,dGc,gCc);_.Xd=function hCc(){wBc(this.a)};
var OW=nmc(343);aY(196,172,{227:1,172:1,54:1,196:1},iCc);_.b=false;var PW=nmc(196);aY(344,1,{},jCc);_.Id=function kCc(){return"State: mv="+this.c+" value="+this.d+" done="+this.a+" found="+this.b};_.a=false;_.b=false;_.c=false;var QW=nmc(344);aY(752,1044,bGc,nCc);_.Oe=function oCc(){return Jwc(this.c.a)};_.pj=function pCc(){return new XBc(this.c,this.f,this.b,this.a,this.e,this.d)};_.rj=function qCc(){return new bCc(this.c,this.f,this.b,this.a,this.e,this.d)};_.Ge=function rCc(){return new Vqc(this)};
_.sj=function sCc(a){return lCc(this,xBc(this.c,a))};_.Ie=function tCc(a,b){if(!ABc(this.c,this.f,a,this.b,this.a,this.e,this.d))throw CX(new Fjb(a+" outside the range "+this.b+" to "+this.e));return DBc(this.c,a,b)};_.Je=function uCc(a){var b;b=a;if(!ABc(this.c,this.f,b,this.b,this.a,this.e,this.d))return null;return EBc(this.c,b)};_.tj=function vCc(a){return mCc(this,a.Ve())&&FBc(this.c,a)};_.ce=function wCc(){var a,b,c;this.a?b=yBc(this.c,this.b,true):b=yBc(this.c,this.b,false);if(!(!!b&&mCc(this,
b.d)?b:null))return 0;a=0;for(c=new bCc(this.c,this.f,this.b,this.a,this.e,this.d);Fpc(c.a);c.b=Gpc(c.a))++a;return a};_.a=false;_.d=false;var VW=nmc(752);aY(147,15,VNc,CCc);_.xj=function DCc(){return false};_.yj=function ECc(){return false};var xCc,yCc,zCc,ACc;var UW=omc(147,CU,FCc);aY(753,147,VNc,GCc);_.yj=function HCc(){return true};var RW=omc(753,UW,null);aY(754,147,VNc,ICc);_.xj=function JCc(){return true};_.yj=function KCc(){return true};var SW=omc(754,UW,null);aY(755,147,VNc,LCc);_.xj=function MCc(){return true};
var TW=omc(755,UW,null);aY(115,cGc,{3:1,19:1,21:1,314:1,39:1,152:1},PCc,QCc,RCc);_.Vd=function SCc(a){return NCc(this,a)};_.Xd=function TCc(){this.a.Xd()};_.Oe=function UCc(){return this.a.Oe()};_.Yd=function VCc(a){return Dqc(this.a,a)};_._d=function WCc(){var a;return a=(new $qc(this.a)).a.Ge().b.rj(),new frc(a)};_.ae=function XCc(a){return OCc(this,a)};_.ce=function YCc(){return this.a.ce()};var XW=nmc(115);aY(215,1028,bGc,bDc,cDc);_.re=function dDc(a){return ZCc(this,a)};_.Fe=function eDc(a){if(a==
null)throw CX(new nnc);return Xoc(this.a,a)};_.Ge=function fDc(){return new rpc(this.a)};_.He=function gDc(a){return $Cc(this,a)};_.Ie=function hDc(a,b){return _Cc(this,a,b)};_.Je=function iDc(a){if(a==null)throw CX(new nnc);return cpc(this.a,a)};var YW=nmc(215);aY(280,1,{280:1});var ZW=nmc(280);aY(1043,1,GHc);_.sg=function oDc(){return"DUMMY"};_.mj=function pDc(){return-1};_.Id=function qDc(){return this.sg()};var jDc,kDc,lDc,mDc;var cX=nmc(1043);aY(733,1043,GHc,rDc);_.sg=function sDc(){return"FINE"};
_.mj=function tDc(){return 500};var $W=nmc(733);aY(734,1043,GHc,uDc);_.sg=function vDc(){return"INFO"};_.mj=function wDc(){return 800};var _W=nmc(734);aY(735,1043,GHc,xDc);_.sg=function yDc(){return"SEVERE"};_.mj=function zDc(){return 1E3};var aX=nmc(735);aY(736,1043,GHc,ADc);_.sg=function BDc(){return dHc};_.mj=function CDc(){return 900};var bX=nmc(736);aY(718,1,{},GDc);var DDc;var dX=nmc(718);aY(818,1,GHc,IDc);_.c=null;var eX=nmc(818);aY(279,1,{279:1},aEc);_.e=false;var JDc=false,KDc=false,LDc=
false,MDc=false,NDc=false;var fX=nmc(279);aY(465,280,{280:1},dEc);var gX=nmc(465);aY(806,1,{},gEc);var hX=nmc(806);aY(477,1,{477:1},iEc);var iX=nmc(477);aY(400,1,{},lEc);var jX=nmc(400);aY(969,968,{},pEc);_.wj=function qEc(a){return oEc(this,a)};_.a=0;_.b=0;_.c=0;var kX=nmc(969);aY(379,1,{});_.c=false;var uX=nmc(379);aY(996,379,{},uEc);_.zj=function vEc(){return rEc(this),this.a};var mX=nmc(996);aY(628,379,{},wEc);_.zj=function xEc(){return rEc(this),jBc(),iBc};var lX=nmc(628);var tX=pmc();aY(204,
379,{},BEc);var sX=nmc(204);aY(914,831,{},FEc);_.ff=function GEc(a){return this.b.ff(new HEc(this,a))};var oX=nmc(914);aY(916,1,{},HEc);_.gf=function IEc(a){EEc(this.a,this.b,a)};var nX=nmc(916);aY(915,1,{},KEc);_.gf=function LEc(a){JEc(this,a)};var pX=nmc(915);aY(917,1,{},NEc);var qX=nmc(917);aY(918,1,{},OEc);_.gf=function PEc(a){DEc(this.b,this.a,a)};var rX=nmc(918);aY(1111,1,{});aY(896,1,{},_Ec);var vX=nmc(896);aY(443,192,RNc);var yX=nmc(443);aY(444,443,RNc,dFc);var wX=nmc(444);aY(687,443,RNc,
fFc);var xX=nmc(687);aY(1105,1,{});var pFc=0;var rFc,sFc=0,tFc;aY(1190,1,{});var zE=qmc("C");var AE=qmc("I");var zX=qmc("Z");var BE=qmc("J");var yE=qmc("B");NBb();_=eY(fKc);_.transpile=QBb;var yFc=(VC(),YC);var gwtOnLoad=gwtOnLoad=YX;WX(hY);ZX("permProps",[[["locale",aIc],["user.agent","safari"]]]);this["$gwtExport"]=$wnd;$wnd=this;typeof gwtOnLoad==="function"&&gwtOnLoad()}).call(this&&this.self||(typeof window!=="undefined"?window:typeof global!=="undefined"?global:this),this&&this.self||(typeof window!==
"undefined"?window:typeof global!=="undefined"?global:this));
