UNPKG

create-expo-cljs-app

Version:

Create a react native application with Expo and Shadow-CLJS!

1 lines 57.4 kB
["^ ","~:resource-id",["~:shadow.build.classpath/resource","goog/useragent/useragent.js"],"~:js","goog.provide(\"goog.userAgent\");\ngoog.require(\"goog.labs.userAgent.browser\");\ngoog.require(\"goog.labs.userAgent.engine\");\ngoog.require(\"goog.labs.userAgent.platform\");\ngoog.require(\"goog.labs.userAgent.util\");\ngoog.require(\"goog.reflect\");\ngoog.require(\"goog.string\");\ngoog.userAgent.ASSUME_IE = goog.define(\"goog.userAgent.ASSUME_IE\", false);\ngoog.userAgent.ASSUME_EDGE = goog.define(\"goog.userAgent.ASSUME_EDGE\", false);\ngoog.userAgent.ASSUME_GECKO = goog.define(\"goog.userAgent.ASSUME_GECKO\", false);\ngoog.userAgent.ASSUME_WEBKIT = goog.define(\"goog.userAgent.ASSUME_WEBKIT\", false);\ngoog.userAgent.ASSUME_MOBILE_WEBKIT = goog.define(\"goog.userAgent.ASSUME_MOBILE_WEBKIT\", false);\ngoog.userAgent.ASSUME_OPERA = goog.define(\"goog.userAgent.ASSUME_OPERA\", false);\ngoog.userAgent.ASSUME_ANY_VERSION = goog.define(\"goog.userAgent.ASSUME_ANY_VERSION\", false);\ngoog.userAgent.BROWSER_KNOWN_ = goog.userAgent.ASSUME_IE || goog.userAgent.ASSUME_EDGE || goog.userAgent.ASSUME_GECKO || goog.userAgent.ASSUME_MOBILE_WEBKIT || goog.userAgent.ASSUME_WEBKIT || goog.userAgent.ASSUME_OPERA;\ngoog.userAgent.getUserAgentString = function() {\n return goog.labs.userAgent.util.getUserAgent();\n};\ngoog.userAgent.getNavigatorTyped = function() {\n return goog.global[\"navigator\"] || null;\n};\ngoog.userAgent.getNavigator = function() {\n return goog.userAgent.getNavigatorTyped();\n};\ngoog.userAgent.OPERA = goog.userAgent.BROWSER_KNOWN_ ? goog.userAgent.ASSUME_OPERA : goog.labs.userAgent.browser.isOpera();\ngoog.userAgent.IE = goog.userAgent.BROWSER_KNOWN_ ? goog.userAgent.ASSUME_IE : goog.labs.userAgent.browser.isIE();\ngoog.userAgent.EDGE = goog.userAgent.BROWSER_KNOWN_ ? goog.userAgent.ASSUME_EDGE : goog.labs.userAgent.engine.isEdge();\ngoog.userAgent.EDGE_OR_IE = goog.userAgent.EDGE || goog.userAgent.IE;\ngoog.userAgent.GECKO = goog.userAgent.BROWSER_KNOWN_ ? goog.userAgent.ASSUME_GECKO : goog.labs.userAgent.engine.isGecko();\ngoog.userAgent.WEBKIT = goog.userAgent.BROWSER_KNOWN_ ? goog.userAgent.ASSUME_WEBKIT || goog.userAgent.ASSUME_MOBILE_WEBKIT : goog.labs.userAgent.engine.isWebKit();\ngoog.userAgent.isMobile_ = function() {\n return goog.userAgent.WEBKIT && goog.labs.userAgent.util.matchUserAgent(\"Mobile\");\n};\ngoog.userAgent.MOBILE = goog.userAgent.ASSUME_MOBILE_WEBKIT || goog.userAgent.isMobile_();\ngoog.userAgent.SAFARI = goog.userAgent.WEBKIT;\ngoog.userAgent.determinePlatform_ = function() {\n var navigator = goog.userAgent.getNavigatorTyped();\n return navigator && navigator.platform || \"\";\n};\ngoog.userAgent.PLATFORM = goog.userAgent.determinePlatform_();\ngoog.userAgent.ASSUME_MAC = goog.define(\"goog.userAgent.ASSUME_MAC\", false);\ngoog.userAgent.ASSUME_WINDOWS = goog.define(\"goog.userAgent.ASSUME_WINDOWS\", false);\ngoog.userAgent.ASSUME_LINUX = goog.define(\"goog.userAgent.ASSUME_LINUX\", false);\ngoog.userAgent.ASSUME_X11 = goog.define(\"goog.userAgent.ASSUME_X11\", false);\ngoog.userAgent.ASSUME_ANDROID = goog.define(\"goog.userAgent.ASSUME_ANDROID\", false);\ngoog.userAgent.ASSUME_IPHONE = goog.define(\"goog.userAgent.ASSUME_IPHONE\", false);\ngoog.userAgent.ASSUME_IPAD = goog.define(\"goog.userAgent.ASSUME_IPAD\", false);\ngoog.userAgent.ASSUME_IPOD = goog.define(\"goog.userAgent.ASSUME_IPOD\", false);\ngoog.userAgent.ASSUME_KAIOS = goog.define(\"goog.userAgent.ASSUME_KAIOS\", false);\ngoog.userAgent.ASSUME_GO2PHONE = goog.define(\"goog.userAgent.ASSUME_GO2PHONE\", false);\ngoog.userAgent.PLATFORM_KNOWN_ = goog.userAgent.ASSUME_MAC || goog.userAgent.ASSUME_WINDOWS || goog.userAgent.ASSUME_LINUX || goog.userAgent.ASSUME_X11 || goog.userAgent.ASSUME_ANDROID || goog.userAgent.ASSUME_IPHONE || goog.userAgent.ASSUME_IPAD || goog.userAgent.ASSUME_IPOD;\ngoog.userAgent.MAC = goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_MAC : goog.labs.userAgent.platform.isMacintosh();\ngoog.userAgent.WINDOWS = goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_WINDOWS : goog.labs.userAgent.platform.isWindows();\ngoog.userAgent.isLegacyLinux_ = function() {\n return goog.labs.userAgent.platform.isLinux() || goog.labs.userAgent.platform.isChromeOS();\n};\ngoog.userAgent.LINUX = goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_LINUX : goog.userAgent.isLegacyLinux_();\ngoog.userAgent.isX11_ = function() {\n var navigator = goog.userAgent.getNavigatorTyped();\n return !!navigator && goog.string.contains(navigator[\"appVersion\"] || \"\", \"X11\");\n};\ngoog.userAgent.X11 = goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_X11 : goog.userAgent.isX11_();\ngoog.userAgent.ANDROID = goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_ANDROID : goog.labs.userAgent.platform.isAndroid();\ngoog.userAgent.IPHONE = goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_IPHONE : goog.labs.userAgent.platform.isIphone();\ngoog.userAgent.IPAD = goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_IPAD : goog.labs.userAgent.platform.isIpad();\ngoog.userAgent.IPOD = goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_IPOD : goog.labs.userAgent.platform.isIpod();\ngoog.userAgent.IOS = goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_IPHONE || goog.userAgent.ASSUME_IPAD || goog.userAgent.ASSUME_IPOD : goog.labs.userAgent.platform.isIos();\ngoog.userAgent.KAIOS = goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_KAIOS : goog.labs.userAgent.platform.isKaiOS();\ngoog.userAgent.GO2PHONE = goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_GO2PHONE : goog.labs.userAgent.platform.isGo2Phone();\ngoog.userAgent.determineVersion_ = function() {\n var version = \"\";\n var arr = goog.userAgent.getVersionRegexResult_();\n if (arr) {\n version = arr ? arr[1] : \"\";\n }\n if (goog.userAgent.IE) {\n var docMode = goog.userAgent.getDocumentMode_();\n if (docMode != null && docMode > parseFloat(version)) {\n return String(docMode);\n }\n }\n return version;\n};\ngoog.userAgent.getVersionRegexResult_ = function() {\n var userAgent = goog.userAgent.getUserAgentString();\n if (goog.userAgent.GECKO) {\n return /rv:([^\\);]+)(\\)|;)/.exec(userAgent);\n }\n if (goog.userAgent.EDGE) {\n return /Edge\\/([\\d\\.]+)/.exec(userAgent);\n }\n if (goog.userAgent.IE) {\n return /\\b(?:MSIE|rv)[: ]([^\\);]+)(\\)|;)/.exec(userAgent);\n }\n if (goog.userAgent.WEBKIT) {\n return /WebKit\\/(\\S+)/.exec(userAgent);\n }\n if (goog.userAgent.OPERA) {\n return /(?:Version)[ \\/]?(\\S+)/.exec(userAgent);\n }\n return undefined;\n};\ngoog.userAgent.getDocumentMode_ = function() {\n var doc = goog.global[\"document\"];\n return doc ? doc[\"documentMode\"] : undefined;\n};\ngoog.userAgent.VERSION = goog.userAgent.determineVersion_();\ngoog.userAgent.compare = function(v1, v2) {\n return goog.string.compareVersions(v1, v2);\n};\ngoog.userAgent.isVersionOrHigherCache_ = {};\ngoog.userAgent.isVersionOrHigher = function(version) {\n return goog.userAgent.ASSUME_ANY_VERSION || goog.reflect.cache(goog.userAgent.isVersionOrHigherCache_, version, function() {\n return goog.string.compareVersions(goog.userAgent.VERSION, version) >= 0;\n });\n};\ngoog.userAgent.isVersion = goog.userAgent.isVersionOrHigher;\ngoog.userAgent.isDocumentModeOrHigher = function(documentMode) {\n return Number(goog.userAgent.DOCUMENT_MODE) >= documentMode;\n};\ngoog.userAgent.isDocumentMode = goog.userAgent.isDocumentModeOrHigher;\ngoog.userAgent.DOCUMENT_MODE = function() {\n var doc = goog.global[\"document\"];\n if (!doc || !goog.userAgent.IE) {\n return undefined;\n }\n return goog.userAgent.getDocumentMode_();\n}();\n","~:source","// Copyright 2006 The Closure Library Authors. All Rights Reserved.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS-IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY 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 Rendering engine detection.\n * @see <a href=\"http://www.useragentstring.com/\">User agent strings</a>\n * For information on the browser brand (such as Safari versus Chrome), see\n * goog.userAgent.product.\n * @author arv@google.com (Erik Arvidsson)\n * @see ../demos/useragent.html\n */\n\ngoog.provide('goog.userAgent');\n\ngoog.require('goog.labs.userAgent.browser');\ngoog.require('goog.labs.userAgent.engine');\ngoog.require('goog.labs.userAgent.platform');\ngoog.require('goog.labs.userAgent.util');\ngoog.require('goog.reflect');\ngoog.require('goog.string');\n\n\n/**\n * @define {boolean} Whether we know at compile-time that the browser is IE.\n */\ngoog.userAgent.ASSUME_IE = goog.define('goog.userAgent.ASSUME_IE', false);\n\n\n/**\n * @define {boolean} Whether we know at compile-time that the browser is EDGE,\n * referring to EdgeHTML based Edge.\n */\ngoog.userAgent.ASSUME_EDGE = goog.define('goog.userAgent.ASSUME_EDGE', false);\n\n\n/**\n * @define {boolean} Whether we know at compile-time that the browser is GECKO.\n */\ngoog.userAgent.ASSUME_GECKO = goog.define('goog.userAgent.ASSUME_GECKO', false);\n\n\n/**\n * @define {boolean} Whether we know at compile-time that the browser is WEBKIT.\n */\ngoog.userAgent.ASSUME_WEBKIT =\n goog.define('goog.userAgent.ASSUME_WEBKIT', false);\n\n\n/**\n * @define {boolean} Whether we know at compile-time that the browser is a\n * mobile device running WebKit e.g. iPhone or Android.\n */\ngoog.userAgent.ASSUME_MOBILE_WEBKIT =\n goog.define('goog.userAgent.ASSUME_MOBILE_WEBKIT', false);\n\n\n/**\n * @define {boolean} Whether we know at compile-time that the browser is OPERA,\n * referring to Presto-based Opera.\n */\ngoog.userAgent.ASSUME_OPERA = goog.define('goog.userAgent.ASSUME_OPERA', false);\n\n\n/**\n * @define {boolean} Whether the\n * `goog.userAgent.isVersionOrHigher`\n * function will return true for any version.\n */\ngoog.userAgent.ASSUME_ANY_VERSION =\n goog.define('goog.userAgent.ASSUME_ANY_VERSION', false);\n\n\n/**\n * Whether we know the browser engine at compile-time.\n * @type {boolean}\n * @private\n */\ngoog.userAgent.BROWSER_KNOWN_ = goog.userAgent.ASSUME_IE ||\n goog.userAgent.ASSUME_EDGE || goog.userAgent.ASSUME_GECKO ||\n goog.userAgent.ASSUME_MOBILE_WEBKIT || goog.userAgent.ASSUME_WEBKIT ||\n goog.userAgent.ASSUME_OPERA;\n\n\n/**\n * Returns the userAgent string for the current browser.\n *\n * @return {string} The userAgent string.\n */\ngoog.userAgent.getUserAgentString = function() {\n return goog.labs.userAgent.util.getUserAgent();\n};\n\n\n/**\n * @return {?Navigator} The native navigator object.\n */\ngoog.userAgent.getNavigatorTyped = function() {\n // Need a local navigator reference instead of using the global one,\n // to avoid the rare case where they reference different objects.\n // (in a WorkerPool, for example).\n return goog.global['navigator'] || null;\n};\n\n\n/**\n * TODO(nnaze): Change type to \"Navigator\" and update compilation targets.\n * @return {?Object} The native navigator object.\n */\ngoog.userAgent.getNavigator = function() {\n return goog.userAgent.getNavigatorTyped();\n};\n\n\n/**\n * Whether the user agent is Presto-based Opera.\n * @type {boolean}\n */\ngoog.userAgent.OPERA = goog.userAgent.BROWSER_KNOWN_ ?\n goog.userAgent.ASSUME_OPERA :\n goog.labs.userAgent.browser.isOpera();\n\n\n/**\n * Whether the user agent is Internet Explorer.\n * @type {boolean}\n */\ngoog.userAgent.IE = goog.userAgent.BROWSER_KNOWN_ ?\n goog.userAgent.ASSUME_IE :\n goog.labs.userAgent.browser.isIE();\n\n\n/**\n * Whether the user agent is Microsoft Edge (EdgeHTML based).\n * @type {boolean}\n */\ngoog.userAgent.EDGE = goog.userAgent.BROWSER_KNOWN_ ?\n goog.userAgent.ASSUME_EDGE :\n goog.labs.userAgent.engine.isEdge();\n\n\n/**\n * Whether the user agent is MS Internet Explorer or MS Edge (EdgeHTML based).\n * @type {boolean}\n */\ngoog.userAgent.EDGE_OR_IE = goog.userAgent.EDGE || goog.userAgent.IE;\n\n\n/**\n * Whether the user agent is Gecko. Gecko is the rendering engine used by\n * Mozilla, Firefox, and others.\n * @type {boolean}\n */\ngoog.userAgent.GECKO = goog.userAgent.BROWSER_KNOWN_ ?\n goog.userAgent.ASSUME_GECKO :\n goog.labs.userAgent.engine.isGecko();\n\n\n/**\n * Whether the user agent is WebKit. WebKit is the rendering engine that\n * Safari, Edge Chromium, Opera Chromium, Android and others use.\n * @type {boolean}\n */\ngoog.userAgent.WEBKIT = goog.userAgent.BROWSER_KNOWN_ ?\n goog.userAgent.ASSUME_WEBKIT || goog.userAgent.ASSUME_MOBILE_WEBKIT :\n goog.labs.userAgent.engine.isWebKit();\n\n\n/**\n * Whether the user agent is running on a mobile device.\n *\n * This is a separate function so that the logic can be tested.\n *\n * TODO(nnaze): Investigate swapping in goog.labs.userAgent.device.isMobile().\n *\n * @return {boolean} Whether the user agent is running on a mobile device.\n * @private\n */\ngoog.userAgent.isMobile_ = function() {\n return goog.userAgent.WEBKIT &&\n goog.labs.userAgent.util.matchUserAgent('Mobile');\n};\n\n\n/**\n * Whether the user agent is running on a mobile device.\n *\n * TODO(nnaze): Consider deprecating MOBILE when labs.userAgent\n * is promoted as the gecko/webkit logic is likely inaccurate.\n *\n * @type {boolean}\n */\ngoog.userAgent.MOBILE =\n goog.userAgent.ASSUME_MOBILE_WEBKIT || goog.userAgent.isMobile_();\n\n\n/**\n * Used while transitioning code to use WEBKIT instead.\n * @type {boolean}\n * @deprecated Use {@link goog.userAgent.product.SAFARI} instead.\n * TODO(nicksantos): Delete this from goog.userAgent.\n */\ngoog.userAgent.SAFARI = goog.userAgent.WEBKIT;\n\n\n/**\n * @return {string} the platform (operating system) the user agent is running\n * on. Default to empty string because navigator.platform may not be defined\n * (on Rhino, for example).\n * @private\n */\ngoog.userAgent.determinePlatform_ = function() {\n var navigator = goog.userAgent.getNavigatorTyped();\n return navigator && navigator.platform || '';\n};\n\n\n/**\n * The platform (operating system) the user agent is running on. Default to\n * empty string because navigator.platform may not be defined (on Rhino, for\n * example).\n * @type {string}\n */\ngoog.userAgent.PLATFORM = goog.userAgent.determinePlatform_();\n\n\n/**\n * @define {boolean} Whether the user agent is running on a Macintosh operating\n * system.\n */\ngoog.userAgent.ASSUME_MAC = goog.define('goog.userAgent.ASSUME_MAC', false);\n\n\n/**\n * @define {boolean} Whether the user agent is running on a Windows operating\n * system.\n */\ngoog.userAgent.ASSUME_WINDOWS =\n goog.define('goog.userAgent.ASSUME_WINDOWS', false);\n\n\n/**\n * @define {boolean} Whether the user agent is running on a Linux operating\n * system.\n */\ngoog.userAgent.ASSUME_LINUX = goog.define('goog.userAgent.ASSUME_LINUX', false);\n\n\n/**\n * @define {boolean} Whether the user agent is running on a X11 windowing\n * system.\n */\ngoog.userAgent.ASSUME_X11 = goog.define('goog.userAgent.ASSUME_X11', false);\n\n\n/**\n * @define {boolean} Whether the user agent is running on Android.\n */\ngoog.userAgent.ASSUME_ANDROID =\n goog.define('goog.userAgent.ASSUME_ANDROID', false);\n\n\n/**\n * @define {boolean} Whether the user agent is running on an iPhone.\n */\ngoog.userAgent.ASSUME_IPHONE =\n goog.define('goog.userAgent.ASSUME_IPHONE', false);\n\n\n/**\n * @define {boolean} Whether the user agent is running on an iPad.\n */\ngoog.userAgent.ASSUME_IPAD = goog.define('goog.userAgent.ASSUME_IPAD', false);\n\n\n/**\n * @define {boolean} Whether the user agent is running on an iPod.\n */\ngoog.userAgent.ASSUME_IPOD = goog.define('goog.userAgent.ASSUME_IPOD', false);\n\n\n/**\n * @define {boolean} Whether the user agent is running on KaiOS.\n */\ngoog.userAgent.ASSUME_KAIOS = goog.define('goog.userAgent.ASSUME_KAIOS', false);\n\n/**\n * @define {boolean} Whether the user agent is running on Go2Phone.\n */\ngoog.userAgent.ASSUME_GO2PHONE =\n goog.define('goog.userAgent.ASSUME_GO2PHONE', false);\n\n\n/**\n * @type {boolean}\n * @private\n */\ngoog.userAgent.PLATFORM_KNOWN_ = goog.userAgent.ASSUME_MAC ||\n goog.userAgent.ASSUME_WINDOWS || goog.userAgent.ASSUME_LINUX ||\n goog.userAgent.ASSUME_X11 || goog.userAgent.ASSUME_ANDROID ||\n goog.userAgent.ASSUME_IPHONE || goog.userAgent.ASSUME_IPAD ||\n goog.userAgent.ASSUME_IPOD;\n\n\n/**\n * Whether the user agent is running on a Macintosh operating system.\n * @type {boolean}\n */\ngoog.userAgent.MAC = goog.userAgent.PLATFORM_KNOWN_ ?\n goog.userAgent.ASSUME_MAC :\n goog.labs.userAgent.platform.isMacintosh();\n\n\n/**\n * Whether the user agent is running on a Windows operating system.\n * @type {boolean}\n */\ngoog.userAgent.WINDOWS = goog.userAgent.PLATFORM_KNOWN_ ?\n goog.userAgent.ASSUME_WINDOWS :\n goog.labs.userAgent.platform.isWindows();\n\n\n/**\n * Whether the user agent is Linux per the legacy behavior of\n * goog.userAgent.LINUX, which considered ChromeOS to also be\n * Linux.\n * @return {boolean}\n * @private\n */\ngoog.userAgent.isLegacyLinux_ = function() {\n return goog.labs.userAgent.platform.isLinux() ||\n goog.labs.userAgent.platform.isChromeOS();\n};\n\n\n/**\n * Whether the user agent is running on a Linux operating system.\n *\n * Note that goog.userAgent.LINUX considers ChromeOS to be Linux,\n * while goog.labs.userAgent.platform considers ChromeOS and\n * Linux to be different OSes.\n *\n * @type {boolean}\n */\ngoog.userAgent.LINUX = goog.userAgent.PLATFORM_KNOWN_ ?\n goog.userAgent.ASSUME_LINUX :\n goog.userAgent.isLegacyLinux_();\n\n\n/**\n * @return {boolean} Whether the user agent is an X11 windowing system.\n * @private\n */\ngoog.userAgent.isX11_ = function() {\n var navigator = goog.userAgent.getNavigatorTyped();\n return !!navigator &&\n goog.string.contains(navigator['appVersion'] || '', 'X11');\n};\n\n\n/**\n * Whether the user agent is running on a X11 windowing system.\n * @type {boolean}\n */\ngoog.userAgent.X11 = goog.userAgent.PLATFORM_KNOWN_ ?\n goog.userAgent.ASSUME_X11 :\n goog.userAgent.isX11_();\n\n\n/**\n * Whether the user agent is running on Android.\n * @type {boolean}\n */\ngoog.userAgent.ANDROID = goog.userAgent.PLATFORM_KNOWN_ ?\n goog.userAgent.ASSUME_ANDROID :\n goog.labs.userAgent.platform.isAndroid();\n\n\n/**\n * Whether the user agent is running on an iPhone.\n * @type {boolean}\n */\ngoog.userAgent.IPHONE = goog.userAgent.PLATFORM_KNOWN_ ?\n goog.userAgent.ASSUME_IPHONE :\n goog.labs.userAgent.platform.isIphone();\n\n\n/**\n * Whether the user agent is running on an iPad.\n * @type {boolean}\n */\ngoog.userAgent.IPAD = goog.userAgent.PLATFORM_KNOWN_ ?\n goog.userAgent.ASSUME_IPAD :\n goog.labs.userAgent.platform.isIpad();\n\n\n/**\n * Whether the user agent is running on an iPod.\n * @type {boolean}\n */\ngoog.userAgent.IPOD = goog.userAgent.PLATFORM_KNOWN_ ?\n goog.userAgent.ASSUME_IPOD :\n goog.labs.userAgent.platform.isIpod();\n\n\n/**\n * Whether the user agent is running on iOS.\n * @type {boolean}\n */\ngoog.userAgent.IOS = goog.userAgent.PLATFORM_KNOWN_ ?\n (goog.userAgent.ASSUME_IPHONE || goog.userAgent.ASSUME_IPAD ||\n goog.userAgent.ASSUME_IPOD) :\n goog.labs.userAgent.platform.isIos();\n\n/**\n * Whether the user agent is running on KaiOS.\n * @type {boolean}\n */\ngoog.userAgent.KAIOS = goog.userAgent.PLATFORM_KNOWN_ ?\n goog.userAgent.ASSUME_KAIOS :\n goog.labs.userAgent.platform.isKaiOS();\n\n/**\n * Whether the user agent is running on Go2Phone.\n * @type {boolean}\n */\ngoog.userAgent.GO2PHONE = goog.userAgent.PLATFORM_KNOWN_ ?\n goog.userAgent.ASSUME_GO2PHONE :\n goog.labs.userAgent.platform.isGo2Phone();\n\n\n/**\n * @return {string} The string that describes the version number of the user\n * agent.\n * @private\n */\ngoog.userAgent.determineVersion_ = function() {\n // All browsers have different ways to detect the version and they all have\n // different naming schemes.\n // version is a string rather than a number because it may contain 'b', 'a',\n // and so on.\n var version = '';\n var arr = goog.userAgent.getVersionRegexResult_();\n if (arr) {\n version = arr ? arr[1] : '';\n }\n\n if (goog.userAgent.IE) {\n // IE9 can be in document mode 9 but be reporting an inconsistent user agent\n // version. If it is identifying as a version lower than 9 we take the\n // documentMode as the version instead. IE8 has similar behavior.\n // It is recommended to set the X-UA-Compatible header to ensure that IE9\n // uses documentMode 9.\n var docMode = goog.userAgent.getDocumentMode_();\n if (docMode != null && docMode > parseFloat(version)) {\n return String(docMode);\n }\n }\n\n return version;\n};\n\n\n/**\n * @return {?IArrayLike<string>|undefined} The version regex matches from\n * parsing the user\n * agent string. These regex statements must be executed inline so they can\n * be compiled out by the closure compiler with the rest of the useragent\n * detection logic when ASSUME_* is specified.\n * @private\n */\ngoog.userAgent.getVersionRegexResult_ = function() {\n var userAgent = goog.userAgent.getUserAgentString();\n if (goog.userAgent.GECKO) {\n return /rv\\:([^\\);]+)(\\)|;)/.exec(userAgent);\n }\n if (goog.userAgent.EDGE) {\n return /Edge\\/([\\d\\.]+)/.exec(userAgent);\n }\n if (goog.userAgent.IE) {\n return /\\b(?:MSIE|rv)[: ]([^\\);]+)(\\)|;)/.exec(userAgent);\n }\n if (goog.userAgent.WEBKIT) {\n // WebKit/125.4\n return /WebKit\\/(\\S+)/.exec(userAgent);\n }\n if (goog.userAgent.OPERA) {\n // If none of the above browsers were detected but the browser is Opera, the\n // only string that is of interest is 'Version/<number>'.\n return /(?:Version)[ \\/]?(\\S+)/.exec(userAgent);\n }\n return undefined;\n};\n\n\n/**\n * @return {number|undefined} Returns the document mode (for testing).\n * @private\n */\ngoog.userAgent.getDocumentMode_ = function() {\n // NOTE(user): goog.userAgent may be used in context where there is no DOM.\n var doc = goog.global['document'];\n return doc ? doc['documentMode'] : undefined;\n};\n\n\n/**\n * The version of the user agent. This is a string because it might contain\n * 'b' (as in beta) as well as multiple dots.\n * @type {string}\n */\ngoog.userAgent.VERSION = goog.userAgent.determineVersion_();\n\n\n/**\n * Compares two version numbers.\n *\n * @param {string} v1 Version of first item.\n * @param {string} v2 Version of second item.\n *\n * @return {number} 1 if first argument is higher\n * 0 if arguments are equal\n * -1 if second argument is higher.\n * @deprecated Use goog.string.compareVersions.\n */\ngoog.userAgent.compare = function(v1, v2) {\n return goog.string.compareVersions(v1, v2);\n};\n\n\n/**\n * Cache for {@link goog.userAgent.isVersionOrHigher}.\n * Calls to compareVersions are surprisingly expensive and, as a browser's\n * version number is unlikely to change during a session, we cache the results.\n * @const\n * @private\n */\ngoog.userAgent.isVersionOrHigherCache_ = {};\n\n\n/**\n * Whether the user agent version is higher or the same as the given version.\n * NOTE: When checking the version numbers for Firefox and Safari, be sure to\n * use the engine's version, not the browser's version number. For example,\n * Firefox 3.0 corresponds to Gecko 1.9 and Safari 3.0 to Webkit 522.11.\n * Opera and Internet Explorer versions match the product release number.<br>\n * @see <a href=\"http://en.wikipedia.org/wiki/Safari_version_history\">\n * Webkit</a>\n * @see <a href=\"http://en.wikipedia.org/wiki/Gecko_engine\">Gecko</a>\n *\n * @param {string|number} version The version to check.\n * @return {boolean} Whether the user agent version is higher or the same as\n * the given version.\n */\ngoog.userAgent.isVersionOrHigher = function(version) {\n return goog.userAgent.ASSUME_ANY_VERSION ||\n goog.reflect.cache(\n goog.userAgent.isVersionOrHigherCache_, version, function() {\n return goog.string.compareVersions(\n goog.userAgent.VERSION, version) >= 0;\n });\n};\n\n\n/**\n * Deprecated alias to `goog.userAgent.isVersionOrHigher`.\n * @param {string|number} version The version to check.\n * @return {boolean} Whether the user agent version is higher or the same as\n * the given version.\n * @deprecated Use goog.userAgent.isVersionOrHigher().\n */\ngoog.userAgent.isVersion = goog.userAgent.isVersionOrHigher;\n\n\n/**\n * Whether the IE effective document mode is higher or the same as the given\n * document mode version.\n * NOTE: Only for IE, return false for another browser.\n *\n * @param {number} documentMode The document mode version to check.\n * @return {boolean} Whether the IE effective document mode is higher or the\n * same as the given version.\n */\ngoog.userAgent.isDocumentModeOrHigher = function(documentMode) {\n return Number(goog.userAgent.DOCUMENT_MODE) >= documentMode;\n};\n\n\n/**\n * Deprecated alias to `goog.userAgent.isDocumentModeOrHigher`.\n * @param {number} version The version to check.\n * @return {boolean} Whether the IE effective document mode is higher or the\n * same as the given version.\n * @deprecated Use goog.userAgent.isDocumentModeOrHigher().\n */\ngoog.userAgent.isDocumentMode = goog.userAgent.isDocumentModeOrHigher;\n\n\n/**\n * For IE version < 7, documentMode is undefined, so attempt to use the\n * CSS1Compat property to see if we are in standards mode. If we are in\n * standards mode, treat the browser version as the document mode. Otherwise,\n * IE is emulating version 5.\n *\n * NOTE(2019/05/31): Support for IE < 7 is long gone, so this is now simplified.\n * It returns document.documentMode for IE and undefined for everything else.\n *\n * @type {number|undefined}\n * @const\n */\ngoog.userAgent.DOCUMENT_MODE = (function() {\n var doc = goog.global['document'];\n if (!doc || !goog.userAgent.IE) {\n return undefined;\n }\n return goog.userAgent.getDocumentMode_();\n})();\n","~:compiled-at",1613924115838,"~:source-map-json","{\n\"version\":3,\n\"file\":\"goog.useragent.useragent.js\",\n\"lineCount\":129,\n\"mappings\":\"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\",\n\"sources\":[\"goog/useragent/useragent.js\"],\n\"sourcesContent\":[\"// Copyright 2006 The Closure Library Authors. All Rights Reserved.\\n//\\n// Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n// you may not use this file except in compliance with the License.\\n// You may obtain a copy of the License at\\n//\\n// http://www.apache.org/licenses/LICENSE-2.0\\n//\\n// Unless required by applicable law or agreed to in writing, software\\n// distributed under the License is distributed on an \\\"AS-IS\\\" BASIS,\\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY 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 Rendering engine detection.\\n * @see <a href=\\\"http://www.useragentstring.com/\\\">User agent strings</a>\\n * For information on the browser brand (such as Safari versus Chrome), see\\n * goog.userAgent.product.\\n * @author arv@google.com (Erik Arvidsson)\\n * @see ../demos/useragent.html\\n */\\n\\ngoog.provide('goog.userAgent');\\n\\ngoog.require('goog.labs.userAgent.browser');\\ngoog.require('goog.labs.userAgent.engine');\\ngoog.require('goog.labs.userAgent.platform');\\ngoog.require('goog.labs.userAgent.util');\\ngoog.require('goog.reflect');\\ngoog.require('goog.string');\\n\\n\\n/**\\n * @define {boolean} Whether we know at compile-time that the browser is IE.\\n */\\ngoog.userAgent.ASSUME_IE = goog.define('goog.userAgent.ASSUME_IE', false);\\n\\n\\n/**\\n * @define {boolean} Whether we know at compile-time that the browser is EDGE,\\n * referring to EdgeHTML based Edge.\\n */\\ngoog.userAgent.ASSUME_EDGE = goog.define('goog.userAgent.ASSUME_EDGE', false);\\n\\n\\n/**\\n * @define {boolean} Whether we know at compile-time that the browser is GECKO.\\n */\\ngoog.userAgent.ASSUME_GECKO = goog.define('goog.userAgent.ASSUME_GECKO', false);\\n\\n\\n/**\\n * @define {boolean} Whether we know at compile-time that the browser is WEBKIT.\\n */\\ngoog.userAgent.ASSUME_WEBKIT =\\n goog.define('goog.userAgent.ASSUME_WEBKIT', false);\\n\\n\\n/**\\n * @define {boolean} Whether we know at compile-time that the browser is a\\n * mobile device running WebKit e.g. iPhone or Android.\\n */\\ngoog.userAgent.ASSUME_MOBILE_WEBKIT =\\n goog.define('goog.userAgent.ASSUME_MOBILE_WEBKIT', false);\\n\\n\\n/**\\n * @define {boolean} Whether we know at compile-time that the browser is OPERA,\\n * referring to Presto-based Opera.\\n */\\ngoog.userAgent.ASSUME_OPERA = goog.define('goog.userAgent.ASSUME_OPERA', false);\\n\\n\\n/**\\n * @define {boolean} Whether the\\n * `goog.userAgent.isVersionOrHigher`\\n * function will return true for any version.\\n */\\ngoog.userAgent.ASSUME_ANY_VERSION =\\n goog.define('goog.userAgent.ASSUME_ANY_VERSION', false);\\n\\n\\n/**\\n * Whether we know the browser engine at compile-time.\\n * @type {boolean}\\n * @private\\n */\\ngoog.userAgent.BROWSER_KNOWN_ = goog.userAgent.ASSUME_IE ||\\n goog.userAgent.ASSUME_EDGE || goog.userAgent.ASSUME_GECKO ||\\n goog.userAgent.ASSUME_MOBILE_WEBKIT || goog.userAgent.ASSUME_WEBKIT ||\\n goog.userAgent.ASSUME_OPERA;\\n\\n\\n/**\\n * Returns the userAgent string for the current browser.\\n *\\n * @return {string} The userAgent string.\\n */\\ngoog.userAgent.getUserAgentString = function() {\\n return goog.labs.userAgent.util.getUserAgent();\\n};\\n\\n\\n/**\\n * @return {?Navigator} The native navigator object.\\n */\\ngoog.userAgent.getNavigatorTyped = function() {\\n // Need a local navigator reference instead of using the global one,\\n // to avoid the rare case where they reference different objects.\\n // (in a WorkerPool, for example).\\n return goog.global['navigator'] || null;\\n};\\n\\n\\n/**\\n * TODO(nnaze): Change type to \\\"Navigator\\\" and update compilation targets.\\n * @return {?Object} The native navigator object.\\n */\\ngoog.userAgent.getNavigator = function() {\\n return goog.userAgent.getNavigatorTyped();\\n};\\n\\n\\n/**\\n * Whether the user agent is Presto-based Opera.\\n * @type {boolean}\\n */\\ngoog.userAgent.OPERA = goog.userAgent.BROWSER_KNOWN_ ?\\n goog.userAgent.ASSUME_OPERA :\\n goog.labs.userAgent.browser.isOpera();\\n\\n\\n/**\\n * Whether the user agent is Internet Explorer.\\n * @type {boolean}\\n */\\ngoog.userAgent.IE = goog.userAgent.BROWSER_KNOWN_ ?\\n goog.userAgent.ASSUME_IE :\\n goog.labs.userAgent.browser.isIE();\\n\\n\\n/**\\n * Whether the user agent is Microsoft Edge (EdgeHTML based).\\n * @type {boolean}\\n */\\ngoog.userAgent.EDGE = goog.userAgent.BROWSER_KNOWN_ ?\\n goog.userAgent.ASSUME_EDGE :\\n goog.labs.userAgent.engine.isEdge();\\n\\n\\n/**\\n * Whether the user agent is MS Internet Explorer or MS Edge (EdgeHTML based).\\n * @type {boolean}\\n */\\ngoog.userAgent.EDGE_OR_IE = goog.userAgent.EDGE || goog.userAgent.IE;\\n\\n\\n/**\\n * Whether the user agent is Gecko. Gecko is the rendering engine used by\\n * Mozilla, Firefox, and others.\\n * @type {boolean}\\n */\\ngoog.userAgent.GECKO = goog.userAgent.BROWSER_KNOWN_ ?\\n goog.userAgent.ASSUME_GECKO :\\n goog.labs.userAgent.engine.isGecko();\\n\\n\\n/**\\n * Whether the user agent is WebKit. WebKit is the rendering engine that\\n * Safari, Edge Chromium, Opera Chromium, Android and others use.\\n * @type {boolean}\\n */\\ngoog.userAgent.WEBKIT = goog.userAgent.BROWSER_KNOWN_ ?\\n goog.userAgent.ASSUME_WEBKIT || goog.userAgent.ASSUME_MOBILE_WEBKIT :\\n goog.labs.userAgent.engine.isWebKit();\\n\\n\\n/**\\n * Whether the user agent is running on a mobile device.\\n *\\n * This is a separate function so that the logic can be tested.\\n *\\n * TODO(nnaze): Investigate swapping in goog.labs.userAgent.device.isMobile().\\n *\\n * @return {boolean} Whether the user agent is running on a mobile device.\\n * @private\\n */\\ngoog.userAgent.isMobile_ = function() {\\n return goog.userAgent.WEBKIT &&\\n goog.labs.userAgent.util.matchUserAgent('Mobile');\\n};\\n\\n\\n/**\\n * Whether the user agent is running on a mobile device.\\n *\\n * TODO(nnaze): Consider deprecating MOBILE when labs.userAgent\\n * is promoted as the gecko/webkit logic is likely inaccurate.\\n *\\n * @type {boolean}\\n */\\ngoog.userAgent.MOBILE =\\n goog.userAgent.ASSUME_MOBILE_WEBKIT || goog.userAgent.isMobile_();\\n\\n\\n/**\\n * Used while transitioning code to use WEBKIT instead.\\n * @type {boolean}\\n * @deprecated Use {@link goog.userAgent.product.SAFARI} instead.\\n * TODO(nicksantos): Delete this from goog.userAgent.\\n */\\ngoog.userAgent.SAFARI = goog.userAgent.WEBKIT;\\n\\n\\n/**\\n * @return {string} the platform (operating system) the user agent is running\\n * on. Default to empty string because navigator.platform may not be defined\\n * (on Rhino, for example).\\n * @private\\n */\\ngoog.userAgent.determinePlatform_ = function() {\\n var navigator = goog.userAgent.getNavigatorTyped();\\n return navigator && navigator.platform || '';\\n};\\n\\n\\n/**\\n * The platform (operating system) the user agent is running on. Default to\\n * empty string because navigator.platform may not be defined (on Rhino, for\\n * example).\\n * @type {string}\\n */\\ngoog.userAgent.PLATFORM = goog.userAgent.determinePlatform_();\\n\\n\\n/**\\n * @define {boolean} Whether the user agent is running on a Macintosh operating\\n * system.\\n */\\ngoog.userAgent.ASSUME_MAC = goog.define('goog.userAgent.ASSUME_MAC', false);\\n\\n\\n/**\\n * @define {boolean} Whether the user agent is running on a Windows operating\\n * system.\\n */\\ngoog.userAgent.ASSUME_WINDOWS =\\n goog.define('goog.userAgent.ASSUME_WINDOWS', false);\\n\\n\\n/**\\n * @define {boolean} Whether the user agent is running on a Linux operating\\n * system.\\n */\\ngoog.userAgent.ASSUME_LINUX = goog.define('goog.userAgent.ASSUME_LINUX', false);\\n\\n\\n/**\\n * @define {boolean} Whether the user agent is running on a X11 windowing\\n * system.\\n */\\ngoog.userAgent.ASSUME_X11 = goog.define('goog.userAgent.ASSUME_X11', false);\\n\\n\\n/**\\n * @define {boolean} Whether the user agent is running on Android.\\n */\\ngoog.userAgent.ASSUME_ANDROID =\\n goog.define('goog.userAgent.ASSUME_ANDROID', false);\\n\\n\\n/**\\n * @define {boolean} Whether the user agent is running on an iPhone.\\n */\\ngoog.userAgent.ASSUME_IPHONE =\\n goog.define('goog.userAgent.ASSUME_IPHONE', false);\\n\\n\\n/**\\n * @define {boolean} Whether the user agent is running on an iPad.\\n */\\ngoog.userAgent.ASSUME_IPAD = goog.define('goog.userAgent.ASSUME_IPAD', false);\\n\\n\\n/**\\n * @define {boolean} Whether the user agent is running on an iPod.\\n */\\ngoog.userAgent.ASSUME_IPOD = goog.define('goog.userAgent.ASSUME_IPOD', false);\\n\\n\\n/**\\n * @define {boolean} Whether the user agent is running on KaiOS.\\n */\\ngoog.userAgent.ASSUME_KAIOS = goog.define('goog.userAgent.ASSUME_KAIOS', false);\\n\\n/**\\n * @define {boolean} Whether the user agent is running on Go2Phone.\\n */\\ngoog.userAgent.ASSUME_GO2PHONE =\\n goog.define('goog.userAgent.ASSUME_GO2PHONE', false);\\n\\n\\n/**\\n * @type {boolean}\\n * @private\\n */\\ngoog.userAgent.PLATFORM_KNOWN_ = goog.userAgent.ASSUME_MAC ||\\n goog.userAgent.ASSUME_WINDOWS || goog.userAgent.ASSUME_LINUX ||\\n goog.userAgent.ASSUME_X11 || goog.userAgent.ASSUME_ANDROID ||\\n goog.userAgent.ASSUME_IPHONE || goog.userAgent.ASSUME_IPAD ||\\n goog.userAgent.ASSUME_IPOD;\\n\\n\\n/**\\n * Whether the user agent is running on a Macintosh operating system.\\n * @type {boolean}\\n */\\ngoog.userAgent.MAC = goog.userAgent.PLATFORM_KNOWN_ ?\\n goog.userAgent.ASSUME_MAC :\\n goog.labs.userAgent.platform.isMacintosh();\\n\\n\\n/**\\n * Whether the user agent is running on a Windows operating system.\\n * @type {boolean}\\n */\\ngoog.userAgent.WINDOWS = goog.userAgent.PLATFORM_KNOWN_ ?\\n goog.userAgent.ASSUME_WINDOWS :\\n goog.labs.userAgent.platform.isWindows();\\n\\n\\n/**\\n * Whether the user agent is Linux per the legacy behavior of\\n * goog.userAgent.LINUX, which considered ChromeOS to also be\\n * Linux.\\n * @return {boolean}\\n * @private\\n */\\ngoog.userAgent.isLegacyLinux_ = function() {\\n return goog.labs.userAgent.platform.isLinux() ||\\n goog.labs.userAgent.platform.isChromeOS();\\n};\\n\\n\\n/**\\n * Whether the user agent is running on a Linux operating system.\\n *\\n * Note that goog.userAgent.LINUX considers ChromeOS to be Linux,\\n * while goog.labs.userAgent.platform considers ChromeOS and\\n * Linux to be different OSes.\\n *\\n * @type {boolean}\\n */\\ngoog.userAgent.LINUX = goog.userAgent.PLATFORM_KNOWN_ ?\\n goog.userAgent.ASSUME_LINUX :\\n goog.userAgent.isLegacyLinux_();\\n\\n\\n/**\\n * @return {boolean} Whether the user agent is an X11 windowing system.\\n * @private\\n */\\ngoog.userAgent.isX11_ = function() {\\n var navigator = goog.userAgent.getNavigatorTyped();\\n return !!navigator &&\\n goog.string.contains(navigator['appVersion'] || '', 'X11');\\n};\\n\\n\\n/**\\n * Whether the user agent is running on a X11 windowing system.\\n * @type {boolean}\\n */\\ngoog.userAgent.X11 = goog.userAgent.PLATFORM_KNOWN_ ?\\n goog.userAgent.ASSUME_X11 :\\n goog.userAgent.isX11_();\\n\\n\\n/**\\n * Whether the user agent is running on Android.\\n * @type {boolean}\\n */\\ngoog.userAgent.ANDROID = goog.userAgent.PLATFORM_KNOWN_ ?\\n goog.userAgent.ASSUME_ANDROID :\\n goog.labs.userAgent.platform.isAndroid();\\n\\n\\n/**\\n * Whether the user agent is running on an iPhone.\\n * @type {boolean}\\n */\\ngoog.userAgent.IPHONE = goog.userAgent.PLATFORM_KNOWN_ ?\\n goog.userAgent.ASSUME_IPHONE :\\n goog.labs.userAgent.platform.isIphone();\\n\\n\\n/**\\n * Whether the user agent is running on an iPad.\\n * @type {boolean}\\n */\\ngoog.userAgent.IPAD = goog.userAgent.PLATFORM_KNOWN_ ?\\n goog.userAgent.ASSUME_IPAD :\\n goog.labs.userAgent.platform.isIpad();\\n\\n\\n/**\\n * Whether the user agent is running on an iPod.\\n * @type {boolean}\\n */\\ngoog.userAgent.IPOD = goog.userAgent.PLATFORM_KNOWN_ ?\\n goog.userAgent.ASSUME_IPOD :\\n goog.labs.userAgent.platform.isIpod();\\n\\n\\n/**\\n * Whether the user agent is running on iOS.\\n * @type {boolean}\\n */\\ngoog.userAgent.IOS = goog.userAgent.PLATFORM_KNOWN_ ?\\n (goog.userAgent.ASSUME_IPHONE || goog.userAgent.ASSUME_IPAD ||\\n goog.userAgent.ASSUME_IPOD) :\\n goog.labs.userAgent.platform.isIos();\\n\\n/**\\n * Whether the user agent is running on KaiOS.\\n * @type {boolean}\\n */\\ngoog.userAgent.KAIOS = goog.userAgent.PLATFORM_KNOWN_ ?\\n goog.userAgent.ASSUME_KAIOS :\\n goog.labs.userAgent.platform.isKaiOS();\\n\\n/**\\n * Whether the user agent is running on Go2Phone.\\n * @type {boolean}\\n */\\ngoog.userAgent.GO2PHONE = goog.userAgent.PLATFORM_KNOWN_ ?\\n goog.userAgent.ASSUME_GO2PHONE :\\n goog.labs.userAgent.platform.isGo2Phone();\\n\\n\\n/**\\n * @return {string} The string that describes the version number of the user\\n * agent.\\n * @private\\n */\\ngoog.userAgent.determineVersion_ = function() {\\n // All browsers have different ways to detect the version and they all have\\n // different naming schemes.\\n // version is a string rather than a number because it may contain 'b', 'a',\\n // and so on.\\n var version = '';\\n var arr = goog.userAgent.getVersionRegexResult_();\\n if (arr) {\\n version = arr ? arr[1] : '';\\n }\\n\\n if (goog.userAgent.IE) {\\n // IE9 can be in document mode 9 but be reporting an inconsistent user agent\\n // version. If it is identifying as a version lower than 9 we take the\\n // documentMode as the version instead. IE8 has similar behavior.\\n // It is recommended to set the X-UA-Compatible header to ensure that IE9\\n // uses documentMode 9.\\n var docMode = goog.userAgent.getDocumentMode_();\\n if (docMode != null && docMode > parseFloat(version)) {\\n return String(docMode);\\n }\\n }\\n\\n return version;\\n};\\n\\n\\n/**\\n * @return {?IArrayLike<string>|unde