var $jscomp = $jscomp || {}; $jscomp.scope = {}; $jscomp.ASSUME_ES5 = !1; $jscomp.ASSUME_NO_NATIVE_MAP = !1; $jscomp.ASSUME_NO_NATIVE_SET = !1; $jscomp.defineProperty = $jscomp.ASSUME_ES5 || "function" == typeof Object.defineProperties ? Object.defineProperty : function(target, property, descriptor) { target != Array.prototype && target != Object.prototype && (target[property] = descriptor.value); }; $jscomp.getGlobal = function(maybeGlobal) { return "undefined" != typeof window && window === maybeGlobal ? maybeGlobal : "undefined" != typeof global && null != global ? global : maybeGlobal; }; $jscomp.global = $jscomp.getGlobal(this); $jscomp.SYMBOL_PREFIX = "jscomp_symbol_"; $jscomp.initSymbol = function() { $jscomp.initSymbol = function() { }; $jscomp.global.Symbol || ($jscomp.global.Symbol = $jscomp.Symbol); }; $jscomp.Symbol = function() { var counter = 0; return function Symbol(opt_description) { return $jscomp.SYMBOL_PREFIX + (opt_description || "") + counter++; }; }(); $jscomp.initSymbolIterator = function() { $jscomp.initSymbol(); var symbolIterator = $jscomp.global.Symbol.iterator; symbolIterator || (symbolIterator = $jscomp.global.Symbol.iterator = $jscomp.global.Symbol("iterator")); "function" != typeof Array.prototype[symbolIterator] && $jscomp.defineProperty(Array.prototype, symbolIterator, {configurable:!0, writable:!0, value:function() { return $jscomp.arrayIterator(this); }}); $jscomp.initSymbolIterator = function() { }; }; $jscomp.arrayIterator = function(array) { var index = 0; return $jscomp.iteratorPrototype(function() { return index < array.length ? {done:!1, value:array[index++]} : {done:!0}; }); }; $jscomp.iteratorPrototype = function(next) { $jscomp.initSymbolIterator(); var iterator = {next:next}; iterator[$jscomp.global.Symbol.iterator] = function() { return this; }; return iterator; }; $jscomp.makeIterator = function(iterable) { $jscomp.initSymbolIterator(); var iteratorFunction = iterable[Symbol.iterator]; return iteratorFunction ? iteratorFunction.call(iterable) : $jscomp.arrayIterator(iterable); }; $jscomp.findInternal = function(array, callback, thisArg) { array instanceof String && (array = String(array)); for (var len = array.length, 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 = function(target, polyfill, fromLang, toLang) { if (polyfill) { for (var obj = $jscomp.global, split = target.split("."), i = 0; i < split.length - 1; i++) { var key = split[i]; key in obj || (obj[key] = {}); obj = obj[key]; } var property = split[split.length - 1], orig = obj[property], impl = polyfill(orig); impl != orig && null != impl && $jscomp.defineProperty(obj, property, {configurable:!0, writable:!0, value:impl}); } }; $jscomp.checkStringArgs = function(thisArg, arg, func) { if (null == thisArg) { 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.owns = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }; $jscomp.polyfill("Object.entries", function(orig) { return orig ? orig : function(obj) { var result = [], key; for (key in obj) { $jscomp.owns(obj, key) && result.push([key, obj[key]]); } return result; }; }, "es8", "es3"); $jscomp.polyfill("Object.assign", function(orig) { return orig ? orig : function(target, var_args) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; if (source) { for (var key in source) { $jscomp.owns(source, key) && (target[key] = source[key]); } } } return target; }; }, "es6", "es3"); var goog = goog || {}; goog.global = this; goog.isDef = function(val) { return void 0 !== val; }; goog.isString = function(val) { return "string" == typeof val; }; goog.isBoolean = function(val) { return "boolean" == typeof val; }; goog.isNumber = function(val) { return "number" == typeof val; }; goog.exportPath_ = function(name, opt_object, opt_objectToExportTo) { var parts = name.split("."), cur = opt_objectToExportTo || goog.global; parts[0] in cur || !cur.execScript || cur.execScript("var " + parts[0]); for (var part; parts.length && (part = parts.shift());) { !parts.length && goog.isDef(opt_object) ? cur[part] = opt_object : cur = cur[part] && cur[part] !== Object.prototype[part] ? cur[part] : cur[part] = {}; } }; goog.define = function(name, defaultValue) { var defines, uncompiledDefines; goog.exportPath_(name, defaultValue); }; goog.DEBUG = !0; goog.LOCALE = "en"; goog.TRUSTED_SITE = !0; goog.STRICT_MODE_COMPATIBLE = !1; goog.DISALLOW_TEST_ONLY_CODE = !goog.DEBUG; goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING = !1; goog.provide = function(name) { if (goog.isInModuleLoader_()) { throw Error("goog.provide can not be used within a goog.module."); } goog.constructNamespace_(name); }; goog.constructNamespace_ = function(name, opt_obj) { var namespace; goog.exportPath_(name, opt_obj); }; goog.VALID_MODULE_RE_ = /^[a-zA-Z_$][a-zA-Z0-9._$]*$/; goog.module = function(name) { if (!goog.isString(name) || !name || -1 == name.search(goog.VALID_MODULE_RE_)) { throw Error("Invalid module identifier"); } if (!goog.isInModuleLoader_()) { throw Error("Module " + name + " has been loaded incorrectly. Note, modules cannot be loaded as normal scripts. They require some kind of pre-processing step. You're likely trying to load a module via a script tag or as a part of a concatenated bundle without rewriting the module. For more info see: https://github.com/google/closure-library/wiki/goog.module:-an-ES6-module-like-alternative-to-goog.provide."); } if (goog.moduleLoaderState_.moduleName) { throw Error("goog.module may only be called once per module."); } goog.moduleLoaderState_.moduleName = name; }; goog.module.get = function(name) { return goog.module.getInternal_(name); }; goog.module.getInternal_ = function(name) { var ns; return null; }; goog.moduleLoaderState_ = null; goog.isInModuleLoader_ = function() { return null != goog.moduleLoaderState_; }; goog.module.declareLegacyNamespace = function() { goog.moduleLoaderState_.declareLegacyNamespace = !0; }; goog.setTestOnly = function(opt_message) { if (goog.DISALLOW_TEST_ONLY_CODE) { throw opt_message = opt_message || "", Error("Importing test-only code into non-debug environment" + (opt_message ? ": " + opt_message : ".")); } }; goog.forwardDeclare = function(name) { }; goog.getObjectByName = function(name, opt_obj) { for (var parts = name.split("."), cur = opt_obj || goog.global, i = 0; i < parts.length; i++) { if (cur = cur[parts[i]], !goog.isDefAndNotNull(cur)) { return null; } } return cur; }; goog.globalize = function(obj, opt_global) { var global = opt_global || goog.global, x; for (x in obj) { global[x] = obj[x]; } }; goog.addDependency = function(relPath, provides, requires, opt_loadFlags) { if (goog.DEPENDENCIES_ENABLED) { var loader = goog.getLoader_(); loader && loader.addDependency(relPath, provides, requires, opt_loadFlags); } }; goog.useStrictRequires = !1; goog.ENABLE_DEBUG_LOADER = !0; goog.logToConsole_ = function(msg) { goog.global.console && goog.global.console.error(msg); }; goog.require = function(name) { var loader, moduleLoaderState; goog.ENABLE_DEBUG_LOADER && goog.debugLoader_ && goog.getLoader_().earlyProcessLoad(name); }; goog.basePath = ""; goog.nullFunction = function() { }; goog.abstractMethod = function() { throw Error("unimplemented abstract method"); }; goog.addSingletonGetter = function(ctor) { ctor.instance_ = void 0; ctor.getInstance = function() { if (ctor.instance_) { return ctor.instance_; } goog.DEBUG && (goog.instantiatedSingletons_[goog.instantiatedSingletons_.length] = ctor); return ctor.instance_ = new ctor; }; }; goog.instantiatedSingletons_ = []; goog.LOAD_MODULE_USING_EVAL = !0; goog.SEAL_MODULE_EXPORTS = goog.DEBUG; goog.loadedModules_ = {}; goog.DEPENDENCIES_ENABLED = !1; goog.TRANSPILE = "detect"; goog.TRANSPILER = "transpile.js"; goog.DEBUG_LOADER = ""; goog.hasBadLetScoping = null; goog.useSafari10Workaround = function() { if (null == goog.hasBadLetScoping) { try { var hasBadLetScoping = !eval('"use strict";let x = 1; function f() { return typeof x; };f() == "number";'); } catch (e) { hasBadLetScoping = !1; } goog.hasBadLetScoping = hasBadLetScoping; } return goog.hasBadLetScoping; }; goog.workaroundSafari10EvalBug = function(moduleDef) { return "(function(){" + moduleDef + "\n;})();\n"; }; goog.loadModule = function(moduleDef) { var previousState = goog.moduleLoaderState_; try { goog.moduleLoaderState_ = {moduleName:"", declareLegacyNamespace:!1}; if (goog.isFunction(moduleDef)) { var exports = moduleDef.call(void 0, {}); } else { if (goog.isString(moduleDef)) { goog.useSafari10Workaround() && (moduleDef = goog.workaroundSafari10EvalBug(moduleDef)), exports = goog.loadModuleFromSource_.call(void 0, moduleDef); } else { throw Error("Invalid module definition"); } } var moduleName = goog.moduleLoaderState_.moduleName; if (goog.isString(moduleName) && moduleName) { goog.moduleLoaderState_.declareLegacyNamespace ? goog.constructNamespace_(moduleName, exports) : goog.SEAL_MODULE_EXPORTS && Object.seal && "object" == typeof exports && null != exports && Object.seal(exports), goog.loadedModules_[moduleName] = exports; } else { throw Error('Invalid module name "' + moduleName + '"'); } } finally { goog.moduleLoaderState_ = previousState; } }; goog.loadModuleFromSource_ = function(JSCompiler_OptimizeArgumentsArray_p0) { eval(JSCompiler_OptimizeArgumentsArray_p0); return {}; }; goog.normalizePath_ = function(path) { for (var components = path.split("/"), i = 0; i < components.length;) { "." == components[i] ? components.splice(i, 1) : i && ".." == components[i] && components[i - 1] && ".." != components[i - 1] ? components.splice(--i, 2) : i++; } return components.join("/"); }; goog.loadFileSync_ = function(src) { if (goog.global.CLOSURE_LOAD_FILE_SYNC) { return goog.global.CLOSURE_LOAD_FILE_SYNC(src); } try { var xhr = new goog.global.XMLHttpRequest; xhr.open("get", src, !1); xhr.send(); return 0 == xhr.status || 200 == xhr.status ? xhr.responseText : null; } catch (err) { return null; } }; goog.transpile_ = function(code$jscomp$0, path$jscomp$0) { var jscomp = goog.global.$jscomp; jscomp || (goog.global.$jscomp = jscomp = {}); var transpile = jscomp.transpile; if (!transpile) { var transpilerPath = goog.basePath + goog.TRANSPILER, transpilerCode = goog.loadFileSync_(transpilerPath); if (transpilerCode) { (function() { eval(transpilerCode + "\n//# sourceURL=" + transpilerPath); }).call(goog.global); if (goog.global.$gwtExport && goog.global.$gwtExport.$jscomp && !goog.global.$gwtExport.$jscomp.transpile) { throw Error('The transpiler did not properly export the "transpile" method. $gwtExport: ' + JSON.stringify(goog.global.$gwtExport)); } goog.global.$jscomp.transpile = goog.global.$gwtExport.$jscomp.transpile; jscomp = goog.global.$jscomp; transpile = jscomp.transpile; } } if (!transpile) { var suffix = " requires transpilation but no transpiler was found."; suffix += ' Please add "//javascript/closure:transpiler" as a data dependency to ensure it is included.'; transpile = jscomp.transpile = function(code, path) { goog.logToConsole_(path + suffix); return code; }; } return transpile(code$jscomp$0, path$jscomp$0); }; goog.typeOf = function(value) { var s = typeof value; if ("object" == s) { if (value) { if (value instanceof Array) { return "array"; } if (value instanceof Object) { return s; } var className = Object.prototype.toString.call(value); if ("[object Window]" == className) { return "object"; } if ("[object Array]" == className || "number" == typeof value.length && "undefined" != typeof value.splice && "undefined" != typeof value.propertyIsEnumerable && !value.propertyIsEnumerable("splice")) { return "array"; } if ("[object Function]" == className || "undefined" != typeof value.call && "undefined" != typeof value.propertyIsEnumerable && !value.propertyIsEnumerable("call")) { return "function"; } } else { return "null"; } } else { if ("function" == s && "undefined" == typeof value.call) { return "object"; } } return s; }; goog.isNull = function(val) { return null === val; }; goog.isDefAndNotNull = function(val) { return null != val; }; goog.isArray = function(val) { return "array" == goog.typeOf(val); }; goog.isArrayLike = function(val) { var type = goog.typeOf(val); return "array" == type || "object" == type && "number" == typeof val.length; }; goog.isDateLike = function(val) { return goog.isObject(val) && "function" == typeof val.getFullYear; }; goog.isFunction = function(val) { return "function" == goog.typeOf(val); }; goog.isObject = function(val) { var type = typeof val; return "object" == type && null != val || "function" == type; }; goog.getUid = function(obj) { return obj[goog.UID_PROPERTY_] || (obj[goog.UID_PROPERTY_] = ++goog.uidCounter_); }; goog.hasUid = function(obj) { return !!obj[goog.UID_PROPERTY_]; }; goog.removeUid = function(obj) { null !== obj && "removeAttribute" in obj && obj.removeAttribute(goog.UID_PROPERTY_); try { delete obj[goog.UID_PROPERTY_]; } catch (ex) { } }; goog.UID_PROPERTY_ = "closure_uid_" + (1e9 * Math.random() >>> 0); goog.uidCounter_ = 0; goog.getHashCode = goog.getUid; goog.removeHashCode = goog.removeUid; goog.cloneObject = function(obj) { var type = goog.typeOf(obj); if ("object" == type || "array" == type) { if (obj.clone) { return obj.clone(); } var clone = "array" == type ? [] : {}, key; for (key in obj) { clone[key] = goog.cloneObject(obj[key]); } return clone; } return obj; }; goog.bindNative_ = function(fn, selfObj, var_args) { return fn.call.apply(fn.bind, arguments); }; goog.bindJs_ = function(fn, selfObj, var_args) { if (!fn) { throw Error(); } if (2 < arguments.length) { var boundArgs = Array.prototype.slice.call(arguments, 2); return function() { var newArgs = Array.prototype.slice.call(arguments); Array.prototype.unshift.apply(newArgs, boundArgs); return fn.apply(selfObj, newArgs); }; } return function() { return fn.apply(selfObj, arguments); }; }; goog.bind = function(fn, selfObj, var_args) { Function.prototype.bind && -1 != Function.prototype.bind.toString().indexOf("native code") ? goog.bind = goog.bindNative_ : goog.bind = goog.bindJs_; return goog.bind.apply(null, arguments); }; goog.partial = function(fn, var_args) { var args = Array.prototype.slice.call(arguments, 1); return function() { var newArgs = args.slice(); newArgs.push.apply(newArgs, arguments); return fn.apply(this, newArgs); }; }; goog.mixin = function(target, source) { for (var x in source) { target[x] = source[x]; } }; goog.now = goog.TRUSTED_SITE && Date.now || function() { return +new Date; }; goog.globalEval = function(script) { if (goog.global.execScript) { goog.global.execScript(script, "JavaScript"); } else { if (goog.global.eval) { if (null == goog.evalWorksForGlobals_) { try { goog.global.eval("var _evalTest_ = 1;"); } catch (ignore) { } if ("undefined" != typeof goog.global._evalTest_) { try { delete goog.global._evalTest_; } catch (ignore$1) { } goog.evalWorksForGlobals_ = !0; } else { goog.evalWorksForGlobals_ = !1; } } if (goog.evalWorksForGlobals_) { goog.global.eval(script); } else { var doc = goog.global.document, scriptElt = doc.createElement("SCRIPT"); scriptElt.type = "text/javascript"; scriptElt.defer = !1; scriptElt.appendChild(doc.createTextNode(script)); doc.head.appendChild(scriptElt); doc.head.removeChild(scriptElt); } } else { throw Error("goog.globalEval not available"); } } }; goog.evalWorksForGlobals_ = null; goog.getCssName = function(className, opt_modifier) { if ("." == String(className).charAt(0)) { throw Error('className passed in goog.getCssName must not start with ".". You passed: ' + className); } var getMapping = function(cssName) { return goog.cssNameMapping_[cssName] || cssName; }, renameByParts = function(cssName) { for (var parts = cssName.split("-"), mapped = [], i = 0; i < parts.length; i++) { mapped.push(getMapping(parts[i])); } return mapped.join("-"); }; var rename = goog.cssNameMapping_ ? "BY_WHOLE" == goog.cssNameMappingStyle_ ? getMapping : renameByParts : function(a) { return a; }; var result = opt_modifier ? className + "-" + rename(opt_modifier) : rename(className); return goog.global.CLOSURE_CSS_NAME_MAP_FN ? goog.global.CLOSURE_CSS_NAME_MAP_FN(result) : result; }; goog.setCssNameMapping = function(mapping, opt_style) { goog.cssNameMapping_ = mapping; goog.cssNameMappingStyle_ = opt_style; }; goog.getMsg = function(str, opt_values) { opt_values && (str = str.replace(/\{\$([^}]+)}/g, function(match, key) { return null != opt_values && key in opt_values ? opt_values[key] : match; })); return str; }; goog.getMsgWithFallback = function(a, b) { return a; }; goog.exportSymbol = function(publicPath, object, opt_objectToExportTo) { goog.exportPath_(publicPath, object, opt_objectToExportTo); }; goog.exportProperty = function(object, publicName, symbol) { object[publicName] = symbol; }; goog.inherits = function(childCtor, parentCtor) { function tempCtor() { } tempCtor.prototype = parentCtor.prototype; childCtor.superClass_ = parentCtor.prototype; childCtor.prototype = new tempCtor; childCtor.prototype.constructor = childCtor; childCtor.base = function(me, methodName, var_args) { for (var args = Array(arguments.length - 2), i = 2; i < arguments.length; i++) { args[i - 2] = arguments[i]; } return parentCtor.prototype[methodName].apply(me, args); }; }; goog.base = function(me, opt_methodName, var_args) { var caller = arguments.callee.caller; if (goog.STRICT_MODE_COMPATIBLE || goog.DEBUG && !caller) { throw Error("arguments.caller not defined. goog.base() cannot be used with strict mode code. See http://www.ecma-international.org/ecma-262/5.1/#sec-C"); } if (caller.superClass_) { for (var ctorArgs = Array(arguments.length - 1), i = 1; i < arguments.length; i++) { ctorArgs[i - 1] = arguments[i]; } return caller.superClass_.constructor.apply(me, ctorArgs); } var args = Array(arguments.length - 2); for (i = 2; i < arguments.length; i++) { args[i - 2] = arguments[i]; } for (var foundCaller = !1, ctor = me.constructor; ctor; ctor = ctor.superClass_ && ctor.superClass_.constructor) { if (ctor.prototype[opt_methodName] === caller) { foundCaller = !0; } else { if (foundCaller) { return ctor.prototype[opt_methodName].apply(me, args); } } } if (me[opt_methodName] === caller) { return me.constructor.prototype[opt_methodName].apply(me, args); } throw Error("goog.base called from a method of one name to a method of a different name"); }; goog.scope = function(fn) { if (goog.isInModuleLoader_()) { throw Error("goog.scope is not supported within a goog.module."); } fn.call(goog.global); }; goog.defineClass = function(superClass, def) { var constructor = def.constructor, statics = def.statics; constructor && constructor != Object.prototype.constructor || (constructor = function() { throw Error("cannot instantiate an interface (no constructor defined)."); }); var cls = goog.defineClass.createSealingConstructor_(constructor, superClass); superClass && goog.inherits(cls, superClass); delete def.constructor; delete def.statics; goog.defineClass.applyProperties_(cls.prototype, def); null != statics && (statics instanceof Function ? statics(cls) : goog.defineClass.applyProperties_(cls, statics)); return cls; }; goog.defineClass.SEAL_CLASS_INSTANCES = goog.DEBUG; goog.defineClass.createSealingConstructor_ = function(ctr, superClass) { if (!goog.defineClass.SEAL_CLASS_INSTANCES) { return ctr; } var superclassSealable = !goog.defineClass.isUnsealable_(superClass), wrappedCtr = function() { var instance = ctr.apply(this, arguments) || this; instance[goog.UID_PROPERTY_] = instance[goog.UID_PROPERTY_]; this.constructor === wrappedCtr && superclassSealable && Object.seal instanceof Function && Object.seal(instance); return instance; }; return wrappedCtr; }; goog.defineClass.isUnsealable_ = function(ctr) { return ctr && ctr.prototype && ctr.prototype[goog.UNSEALABLE_CONSTRUCTOR_PROPERTY_]; }; goog.defineClass.OBJECT_PROTOTYPE_FIELDS_ = "constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" "); goog.defineClass.applyProperties_ = function(target, source) { for (var key in source) { Object.prototype.hasOwnProperty.call(source, key) && (target[key] = source[key]); } for (var i = 0; i < goog.defineClass.OBJECT_PROTOTYPE_FIELDS_.length; i++) { key = goog.defineClass.OBJECT_PROTOTYPE_FIELDS_[i], Object.prototype.hasOwnProperty.call(source, key) && (target[key] = source[key]); } }; goog.tagUnsealableClass = function(ctr) { }; goog.UNSEALABLE_CONSTRUCTOR_PROPERTY_ = "goog_defineClass_legacy_unsealable"; goog.DEPENDENCIES_ENABLED && (goog.inHtmlDocument_ = function() { var doc = goog.global.document; return null != doc && "write" in doc; }, goog.findBasePath_ = function() { if (goog.isDef(goog.global.CLOSURE_BASE_PATH) && goog.isString(goog.global.CLOSURE_BASE_PATH)) { goog.basePath = goog.global.CLOSURE_BASE_PATH; } else { if (goog.inHtmlDocument_()) { for (var doc = goog.global.document, currentScript = doc.currentScript, scripts = currentScript ? [currentScript] : doc.getElementsByTagName("SCRIPT"), i = scripts.length - 1; 0 <= i; --i) { var src = scripts[i].src, qmark = src.lastIndexOf("?"), l = -1 == qmark ? src.length : qmark; if ("base.js" == src.substr(l - 7, 7)) { goog.basePath = src.substr(0, l - 7); break; } } } } }, goog.findBasePath_(), goog.Transpiler = function() { this.requiresTranspilation_ = null; }, goog.Transpiler.prototype.createRequiresTranspilation_ = function() { function addNewerLanguageTranspilationCheck(modeName, isSupported) { transpilationRequiredForAllLaterModes ? requiresTranspilation[modeName] = !0 : isSupported() ? requiresTranspilation[modeName] = !1 : transpilationRequiredForAllLaterModes = requiresTranspilation[modeName] = !0; } function evalCheck(code) { try { return !!eval(code); } catch (ignored) { return !1; } } var requiresTranspilation = {es3:!1}, transpilationRequiredForAllLaterModes = !1, userAgent = goog.global.navigator && goog.global.navigator.userAgent ? goog.global.navigator.userAgent : ""; addNewerLanguageTranspilationCheck("es5", function() { return evalCheck("[1,].length==1"); }); addNewerLanguageTranspilationCheck("es6", function() { var edgeUserAgent = userAgent.match(/Edge\/(\d+)(\.\d)*/i); return edgeUserAgent && 15 > Number(edgeUserAgent[1]) ? !1 : evalCheck('(()=>{"use strict";class X{constructor(){if(new.target!=String)throw 1;this.x=42}}let q=Reflect.construct(X,[],String);if(q.x!=42||!(q instanceof String))throw 1;for(const a of[2,3]){if(a==2)continue;function f(z={a}){let a=0;return z.a}{function f(){return 0;}}return f()==3}})()'); }); addNewerLanguageTranspilationCheck("es6-impl", function() { return !0; }); addNewerLanguageTranspilationCheck("es7", function() { return evalCheck("2 ** 2 == 4"); }); addNewerLanguageTranspilationCheck("es8", function() { return evalCheck("async () => 1, true"); }); addNewerLanguageTranspilationCheck("es_next", function() { return evalCheck("({...rest} = {}), true"); }); return requiresTranspilation; }, goog.Transpiler.prototype.needsTranspile = function(lang) { if ("always" == goog.TRANSPILE) { return !0; } if ("never" == goog.TRANSPILE) { return !1; } this.requiresTranspilation_ || (this.requiresTranspilation_ = this.createRequiresTranspilation_()); if (lang in this.requiresTranspilation_) { return this.requiresTranspilation_[lang]; } throw Error("Unknown language mode: " + lang); }, goog.Transpiler.prototype.transpile = function(code, path) { return goog.transpile_(code, path); }, goog.transpiler_ = new goog.Transpiler, goog.DebugLoader = function() { this.dependencies_ = {loadFlags:{}, nameToPath:{}, requires:{}, visited:{}, written:{}, deferred:{}}; this.oldIeWaiting_ = !1; this.queuedModules_ = []; this.lastNonModuleScriptIndex_ = 0; }, goog.DebugLoader.IS_OLD_IE_ = !(goog.global.atob || !goog.global.document || !goog.global.document.all), goog.DebugLoader.prototype.earlyProcessLoad = function(name) { goog.DebugLoader.IS_OLD_IE_ && this.maybeProcessDeferredDep_(name); }, goog.DebugLoader.prototype.load = function(name) { var pathToLoad = this.getPathFromDeps_(name); if (pathToLoad) { var scripts = [], seenScript = {}, deps = this.dependencies_, loader = this, visitNode = function(path) { if (!(path in deps.written || path in deps.visited)) { deps.visited[path] = !0; if (path in deps.requires) { for (var requireName in deps.requires[path]) { if (!loader.isProvided(requireName)) { if (requireName in deps.nameToPath) { visitNode(deps.nameToPath[requireName]); } else { throw Error("Undefined nameToPath for " + requireName); } } } } path in seenScript || (seenScript[path] = !0, scripts.push(path)); } }; visitNode(pathToLoad); for (var i = 0; i < scripts.length; i++) { var path$jscomp$0 = scripts[i]; this.dependencies_.written[path$jscomp$0] = !0; } for (i = 0; i < scripts.length; i++) { if (path$jscomp$0 = scripts[i]) { var loadFlags = deps.loadFlags[path$jscomp$0] || {}, needsTranspile = this.getTranspiler().needsTranspile(loadFlags.lang || "es3"); "goog" == loadFlags.module || needsTranspile ? this.importProcessedScript_(goog.basePath + path$jscomp$0, "goog" == loadFlags.module, needsTranspile) : this.importScript_(goog.basePath + path$jscomp$0); } else { throw Error("Undefined script input"); } } } else { var errorMessage = "goog.require could not find: " + name; this.logToConsole(errorMessage); if (goog.useStrictRequires) { throw Error(errorMessage); } } }, goog.DebugLoader.prototype.addDependency = function(relPath, provides, requires, opt_loadFlags) { var provide, require, path = relPath.replace(/\\/g, "/"), deps = this.dependencies_; opt_loadFlags && "boolean" !== typeof opt_loadFlags || (opt_loadFlags = opt_loadFlags ? {module:"goog"} : {}); for (var i = 0; provide = provides[i]; i++) { deps.nameToPath[provide] = path, deps.loadFlags[path] = opt_loadFlags; } for (var j = 0; require = requires[j]; j++) { path in deps.requires || (deps.requires[path] = {}), deps.requires[path][require] = !0; } }, goog.DebugLoader.prototype.importScript_ = function(src, opt_sourceText) { (goog.global.CLOSURE_IMPORT_SCRIPT || goog.bind(this.writeScriptTag_, this))(src, opt_sourceText) && (this.dependencies_.written[src] = !0); }, goog.DebugLoader.prototype.importProcessedScript_ = function(src, isModule, needsTranspile) { this.importScript_("", 'goog.debugLoader_.retrieveAndExec_("' + src + '", ' + isModule + ", " + needsTranspile + ");"); }, goog.DebugLoader.prototype.retrieveAndExec_ = function(src, isModule, needsTranspile) { var scriptText, importScript, originalPath; }, goog.DebugLoader.prototype.wrapModule_ = function(srcUrl, scriptText) { return goog.LOAD_MODULE_USING_EVAL && goog.isDef(goog.global.JSON) ? "goog.loadModule(" + goog.global.JSON.stringify(scriptText + "\n//# sourceURL=" + srcUrl + "\n") + ");" : 'goog.loadModule(function(exports) {"use strict";' + scriptText + "\n;return exports});\n//# sourceURL=" + srcUrl + "\n"; }, goog.DebugLoader.prototype.loadQueuedModules_ = function() { var count = this.queuedModules_.length; if (0 < count) { var queue = this.queuedModules_; this.queuedModules_ = []; for (var i = 0; i < count; i++) { this.maybeProcessDeferredPath_(queue[i]); } } this.oldIeWaiting_ = !1; }, goog.DebugLoader.prototype.maybeProcessDeferredDep_ = function(name) { this.isDeferredModule_(name) && this.allDepsAreAvailable_(name) && this.maybeProcessDeferredPath_(goog.basePath + this.getPathFromDeps_(name)); }, goog.DebugLoader.prototype.isDeferredModule_ = function(name) { var path = this.getPathFromDeps_(name), loadFlags = path && this.dependencies_.loadFlags[path] || {}, languageLevel = loadFlags.lang || "es3"; return path && ("goog" == loadFlags.module || this.getTranspiler().needsTranspile(languageLevel)) ? goog.basePath + path in this.dependencies_.deferred : !1; }, goog.DebugLoader.prototype.allDepsAreAvailable_ = function(name) { var path = this.getPathFromDeps_(name); if (path && path in this.dependencies_.requires) { for (var requireName in this.dependencies_.requires[path]) { if (!this.isProvided(requireName) && !this.isDeferredModule_(requireName)) { return !1; } } } return !0; }, goog.DebugLoader.prototype.maybeProcessDeferredPath_ = function(abspath) { if (abspath in this.dependencies_.deferred) { var src = this.dependencies_.deferred[abspath]; delete this.dependencies_.deferred[abspath]; goog.globalEval(src); } }, goog.DebugLoader.prototype.writeScriptSrcNode_ = function(src) { goog.global.document.write('