{"version":3,"file":"firebase-app.js","sources":["../../node_modules/whatwg-fetch/fetch.js","../../node_modules/promise-polyfill/lib/polyfill.js","../polyfill/node_modules/core-js/modules/_global.js","../polyfill/node_modules/core-js/modules/_core.js","../polyfill/node_modules/core-js/modules/_is-object.js","../polyfill/node_modules/core-js/modules/_an-object.js","../polyfill/node_modules/core-js/modules/_fails.js","../polyfill/node_modules/core-js/modules/_descriptors.js","../polyfill/node_modules/core-js/modules/_dom-create.js","../polyfill/node_modules/core-js/modules/_ie8-dom-define.js","../polyfill/node_modules/core-js/modules/_to-primitive.js","../polyfill/node_modules/core-js/modules/_object-dp.js","../polyfill/node_modules/core-js/modules/_property-desc.js","../polyfill/node_modules/core-js/modules/_hide.js","../polyfill/node_modules/core-js/modules/_has.js","../polyfill/node_modules/core-js/modules/_uid.js","../polyfill/node_modules/core-js/modules/_shared.js","../polyfill/node_modules/core-js/modules/_function-to-string.js","../polyfill/node_modules/core-js/modules/_redefine.js","../polyfill/node_modules/core-js/modules/_ctx.js","../polyfill/node_modules/core-js/modules/_a-function.js","../polyfill/node_modules/core-js/modules/_export.js","../polyfill/node_modules/core-js/modules/_cof.js","../polyfill/node_modules/core-js/modules/_iobject.js","../polyfill/node_modules/core-js/modules/_defined.js","../polyfill/node_modules/core-js/modules/_to-object.js","../polyfill/node_modules/core-js/modules/_to-integer.js","../polyfill/node_modules/core-js/modules/_to-length.js","../polyfill/node_modules/core-js/modules/_is-array.js","../polyfill/node_modules/core-js/modules/_wks.js","../polyfill/node_modules/core-js/modules/_array-species-constructor.js","../polyfill/node_modules/core-js/modules/_array-species-create.js","../polyfill/node_modules/core-js/modules/_array-methods.js","../polyfill/node_modules/core-js/modules/_add-to-unscopables.js","../polyfill/node_modules/core-js/modules/es6.array.find.js","../polyfill/node_modules/core-js/fn/array/find.js","../polyfill/node_modules/core-js/modules/es6.array.find-index.js","../polyfill/node_modules/core-js/fn/array/find-index.js","../polyfill/node_modules/core-js/modules/_array-includes.js","../polyfill/node_modules/core-js/modules/_to-iobject.js","../polyfill/node_modules/core-js/modules/_to-absolute-index.js","../polyfill/node_modules/core-js/modules/_shared-key.js","../polyfill/node_modules/core-js/modules/_object-keys-internal.js","../polyfill/node_modules/core-js/modules/_enum-bug-keys.js","../polyfill/node_modules/core-js/modules/_object-keys.js","../polyfill/node_modules/core-js/modules/_object-gops.js","../polyfill/node_modules/core-js/modules/_object-pie.js","../polyfill/node_modules/core-js/modules/_object-assign.js","../polyfill/node_modules/core-js/modules/es6.object.assign.js","../polyfill/node_modules/core-js/fn/object/assign.js","../polyfill/node_modules/core-js/modules/_is-regexp.js","../polyfill/node_modules/core-js/modules/_string-context.js","../polyfill/node_modules/core-js/modules/_fails-is-regexp.js","../polyfill/node_modules/core-js/modules/es6.string.starts-with.js","../polyfill/node_modules/core-js/fn/string/starts-with.js","../polyfill/node_modules/core-js/modules/es6.string.repeat.js","../polyfill/node_modules/core-js/modules/_string-repeat.js","../polyfill/node_modules/core-js/fn/string/repeat.js","../polyfill/node_modules/core-js/modules/_meta.js","../polyfill/node_modules/core-js/modules/_set-to-string-tag.js","../polyfill/node_modules/core-js/modules/_wks-ext.js","../polyfill/node_modules/core-js/modules/_wks-define.js","../polyfill/node_modules/core-js/modules/_object-dps.js","../polyfill/node_modules/core-js/modules/_html.js","../polyfill/node_modules/core-js/modules/_object-create.js","../polyfill/node_modules/core-js/modules/_object-gopn.js","../polyfill/node_modules/core-js/modules/_object-gopn-ext.js","../polyfill/node_modules/core-js/modules/_object-gopd.js","../polyfill/node_modules/core-js/modules/es6.symbol.js","../polyfill/node_modules/core-js/modules/_enum-keys.js","../polyfill/node_modules/core-js/modules/_classof.js","../polyfill/node_modules/core-js/modules/es6.object.to-string.js","../polyfill/node_modules/core-js/modules/es7.symbol.async-iterator.js","../polyfill/node_modules/core-js/modules/es7.symbol.observable.js","../polyfill/node_modules/core-js/fn/symbol/index.js","../polyfill/node_modules/core-js/modules/_iterators.js","../polyfill/node_modules/core-js/modules/_iter-create.js","../polyfill/node_modules/core-js/modules/_string-at.js","../polyfill/node_modules/core-js/modules/_object-gpo.js","../polyfill/node_modules/core-js/modules/_iter-define.js","../polyfill/node_modules/core-js/modules/es6.string.iterator.js","../polyfill/node_modules/core-js/modules/_iter-step.js","../polyfill/node_modules/core-js/modules/es6.array.iterator.js","../polyfill/node_modules/core-js/modules/web.dom.iterable.js","../polyfill/node_modules/core-js/fn/symbol/iterator.js","../../node_modules/tslib/tslib.es6.js","../util/src/deepCopy.ts","../util/src/errors.ts","../util/src/sha1.ts","../util/src/hash.ts","../util/src/subscribe.ts","../app/src/firebaseApp.ts","../app/index.ts"],"sourcesContent":["(function(self) {\n 'use strict';\n\n if (self.fetch) {\n return\n }\n\n var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob: 'FileReader' in self && 'Blob' in self && (function() {\n try {\n new Blob()\n return true\n } catch(e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n }\n\n if (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ]\n\n var isDataView = function(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n }\n\n var isArrayBufferView = ArrayBuffer.isView || function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n }\n }\n\n function normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name)\n }\n if (/[^a-z0-9\\-#$%&'*+.\\^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n }\n\n function normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value)\n }\n return value\n }\n\n // Build a destructive iterator for the value list\n function iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift()\n return {done: value === undefined, value: value}\n }\n }\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n }\n }\n\n return iterator\n }\n\n function Headers(headers) {\n this.map = {}\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value)\n }, this)\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1])\n }, this)\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name])\n }, this)\n }\n }\n\n Headers.prototype.append = function(name, value) {\n name = normalizeName(name)\n value = normalizeValue(value)\n var oldValue = this.map[name]\n this.map[name] = oldValue ? oldValue+','+value : value\n }\n\n Headers.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)]\n }\n\n Headers.prototype.get = function(name) {\n name = normalizeName(name)\n return this.has(name) ? this.map[name] : null\n }\n\n Headers.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n }\n\n Headers.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value)\n }\n\n Headers.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this)\n }\n }\n }\n\n Headers.prototype.keys = function() {\n var items = []\n this.forEach(function(value, name) { items.push(name) })\n return iteratorFor(items)\n }\n\n Headers.prototype.values = function() {\n var items = []\n this.forEach(function(value) { items.push(value) })\n return iteratorFor(items)\n }\n\n Headers.prototype.entries = function() {\n var items = []\n this.forEach(function(value, name) { items.push([name, value]) })\n return iteratorFor(items)\n }\n\n if (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries\n }\n\n function consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true\n }\n\n function fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result)\n }\n reader.onerror = function() {\n reject(reader.error)\n }\n })\n }\n\n function readBlobAsArrayBuffer(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsArrayBuffer(blob)\n return promise\n }\n\n function readBlobAsText(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsText(blob)\n return promise\n }\n\n function readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf)\n var chars = new Array(view.length)\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i])\n }\n return chars.join('')\n }\n\n function bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength)\n view.set(new Uint8Array(buf))\n return view.buffer\n }\n }\n\n function Body() {\n this.bodyUsed = false\n\n this._initBody = function(body) {\n this._bodyInit = body\n if (!body) {\n this._bodyText = ''\n } else if (typeof body === 'string') {\n this._bodyText = body\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString()\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer)\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer])\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body)\n } else {\n throw new Error('unsupported BodyInit type')\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8')\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type)\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8')\n }\n }\n }\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n }\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n }\n }\n\n this.text = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n }\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n }\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n }\n\n return this\n }\n\n // HTTP methods whose capitalization should be normalized\n var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT']\n\n function normalizeMethod(method) {\n var upcased = method.toUpperCase()\n return (methods.indexOf(upcased) > -1) ? upcased : method\n }\n\n function Request(input, options) {\n options = options || {}\n var body = options.body\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url\n this.credentials = input.credentials\n if (!options.headers) {\n this.headers = new Headers(input.headers)\n }\n this.method = input.method\n this.mode = input.mode\n if (!body && input._bodyInit != null) {\n body = input._bodyInit\n input.bodyUsed = true\n }\n } else {\n this.url = String(input)\n }\n\n this.credentials = options.credentials || this.credentials || 'omit'\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers)\n }\n this.method = normalizeMethod(options.method || this.method || 'GET')\n this.mode = options.mode || this.mode || null\n this.referrer = null\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body)\n }\n\n Request.prototype.clone = function() {\n return new Request(this, { body: this._bodyInit })\n }\n\n function decode(body) {\n var form = new FormData()\n body.trim().split('&').forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=')\n var name = split.shift().replace(/\\+/g, ' ')\n var value = split.join('=').replace(/\\+/g, ' ')\n form.append(decodeURIComponent(name), decodeURIComponent(value))\n }\n })\n return form\n }\n\n function parseHeaders(rawHeaders) {\n var headers = new Headers()\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ')\n preProcessedHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':')\n var key = parts.shift().trim()\n if (key) {\n var value = parts.join(':').trim()\n headers.append(key, value)\n }\n })\n return headers\n }\n\n Body.call(Request.prototype)\n\n function Response(bodyInit, options) {\n if (!options) {\n options = {}\n }\n\n this.type = 'default'\n this.status = options.status === undefined ? 200 : options.status\n this.ok = this.status >= 200 && this.status < 300\n this.statusText = 'statusText' in options ? options.statusText : 'OK'\n this.headers = new Headers(options.headers)\n this.url = options.url || ''\n this._initBody(bodyInit)\n }\n\n Body.call(Response.prototype)\n\n Response.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n }\n\n Response.error = function() {\n var response = new Response(null, {status: 0, statusText: ''})\n response.type = 'error'\n return response\n }\n\n var redirectStatuses = [301, 302, 303, 307, 308]\n\n Response.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n }\n\n self.Headers = Headers\n self.Request = Request\n self.Response = Response\n\n self.fetch = function(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init)\n var xhr = new XMLHttpRequest()\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n }\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL')\n var body = 'response' in xhr ? xhr.response : xhr.responseText\n resolve(new Response(body, options))\n }\n\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'))\n }\n\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'))\n }\n\n xhr.open(request.method, request.url, true)\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob'\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value)\n })\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit)\n })\n }\n self.fetch.polyfill = true\n})(typeof self !== 'undefined' ? self : this);\n","'use strict';\n\n/**\n * @this {Promise}\n */\nfunction finallyConstructor(callback) {\n var constructor = this.constructor;\n return this.then(\n function(value) {\n return constructor.resolve(callback()).then(function() {\n return value;\n });\n },\n function(reason) {\n return constructor.resolve(callback()).then(function() {\n return constructor.reject(reason);\n });\n }\n );\n}\n\n// Store setTimeout reference so promise-polyfill will be unaffected by\n// other code modifying setTimeout (like sinon.useFakeTimers())\nvar setTimeoutFunc = setTimeout;\n\nfunction noop() {}\n\n// Polyfill for Function.prototype.bind\nfunction bind(fn, thisArg) {\n return function() {\n fn.apply(thisArg, arguments);\n };\n}\n\n/**\n * @constructor\n * @param {Function} fn\n */\nfunction Promise(fn) {\n if (!(this instanceof Promise))\n throw new TypeError('Promises must be constructed via new');\n if (typeof fn !== 'function') throw new TypeError('not a function');\n /** @type {!number} */\n this._state = 0;\n /** @type {!boolean} */\n this._handled = false;\n /** @type {Promise|undefined} */\n this._value = undefined;\n /** @type {!Array} */\n this._deferreds = [];\n\n doResolve(fn, this);\n}\n\nfunction handle(self, deferred) {\n while (self._state === 3) {\n self = self._value;\n }\n if (self._state === 0) {\n self._deferreds.push(deferred);\n return;\n }\n self._handled = true;\n Promise._immediateFn(function() {\n var cb = self._state === 1 ? deferred.onFulfilled : deferred.onRejected;\n if (cb === null) {\n (self._state === 1 ? resolve : reject)(deferred.promise, self._value);\n return;\n }\n var ret;\n try {\n ret = cb(self._value);\n } catch (e) {\n reject(deferred.promise, e);\n return;\n }\n resolve(deferred.promise, ret);\n });\n}\n\nfunction resolve(self, newValue) {\n try {\n // Promise Resolution Procedure: https://github.com/promises-aplus/promises-spec#the-promise-resolution-procedure\n if (newValue === self)\n throw new TypeError('A promise cannot be resolved with itself.');\n if (\n newValue &&\n (typeof newValue === 'object' || typeof newValue === 'function')\n ) {\n var then = newValue.then;\n if (newValue instanceof Promise) {\n self._state = 3;\n self._value = newValue;\n finale(self);\n return;\n } else if (typeof then === 'function') {\n doResolve(bind(then, newValue), self);\n return;\n }\n }\n self._state = 1;\n self._value = newValue;\n finale(self);\n } catch (e) {\n reject(self, e);\n }\n}\n\nfunction reject(self, newValue) {\n self._state = 2;\n self._value = newValue;\n finale(self);\n}\n\nfunction finale(self) {\n if (self._state === 2 && self._deferreds.length === 0) {\n Promise._immediateFn(function() {\n if (!self._handled) {\n Promise._unhandledRejectionFn(self._value);\n }\n });\n }\n\n for (var i = 0, len = self._deferreds.length; i < len; i++) {\n handle(self, self._deferreds[i]);\n }\n self._deferreds = null;\n}\n\n/**\n * @constructor\n */\nfunction Handler(onFulfilled, onRejected, promise) {\n this.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null;\n this.onRejected = typeof onRejected === 'function' ? onRejected : null;\n this.promise = promise;\n}\n\n/**\n * Take a potentially misbehaving resolver function and make sure\n * onFulfilled and onRejected are only called once.\n *\n * Makes no guarantees about asynchrony.\n */\nfunction doResolve(fn, self) {\n var done = false;\n try {\n fn(\n function(value) {\n if (done) return;\n done = true;\n resolve(self, value);\n },\n function(reason) {\n if (done) return;\n done = true;\n reject(self, reason);\n }\n );\n } catch (ex) {\n if (done) return;\n done = true;\n reject(self, ex);\n }\n}\n\nPromise.prototype['catch'] = function(onRejected) {\n return this.then(null, onRejected);\n};\n\nPromise.prototype.then = function(onFulfilled, onRejected) {\n // @ts-ignore\n var prom = new this.constructor(noop);\n\n handle(this, new Handler(onFulfilled, onRejected, prom));\n return prom;\n};\n\nPromise.prototype['finally'] = finallyConstructor;\n\nPromise.all = function(arr) {\n return new Promise(function(resolve, reject) {\n if (!arr || typeof arr.length === 'undefined')\n throw new TypeError('Promise.all accepts an array');\n var args = Array.prototype.slice.call(arr);\n if (args.length === 0) return resolve([]);\n var remaining = args.length;\n\n function res(i, val) {\n try {\n if (val && (typeof val === 'object' || typeof val === 'function')) {\n var then = val.then;\n if (typeof then === 'function') {\n then.call(\n val,\n function(val) {\n res(i, val);\n },\n reject\n );\n return;\n }\n }\n args[i] = val;\n if (--remaining === 0) {\n resolve(args);\n }\n } catch (ex) {\n reject(ex);\n }\n }\n\n for (var i = 0; i < args.length; i++) {\n res(i, args[i]);\n }\n });\n};\n\nPromise.resolve = function(value) {\n if (value && typeof value === 'object' && value.constructor === Promise) {\n return value;\n }\n\n return new Promise(function(resolve) {\n resolve(value);\n });\n};\n\nPromise.reject = function(value) {\n return new Promise(function(resolve, reject) {\n reject(value);\n });\n};\n\nPromise.race = function(values) {\n return new Promise(function(resolve, reject) {\n for (var i = 0, len = values.length; i < len; i++) {\n values[i].then(resolve, reject);\n }\n });\n};\n\n// Use polyfill for setImmediate for performance gains\nPromise._immediateFn =\n (typeof setImmediate === 'function' &&\n function(fn) {\n setImmediate(fn);\n }) ||\n function(fn) {\n setTimeoutFunc(fn, 0);\n };\n\nPromise._unhandledRejectionFn = function _unhandledRejectionFn(err) {\n if (typeof console !== 'undefined' && console) {\n console.warn('Possible Unhandled Promise Rejection:', err); // eslint-disable-line no-console\n }\n};\n\n/** @suppress {undefinedVars} */\nvar globalNS = (function() {\n // the only reliable means to get the global object is\n // `Function('return this')()`\n // However, this causes CSP violations in Chrome apps.\n if (typeof self !== 'undefined') {\n return self;\n }\n if (typeof window !== 'undefined') {\n return window;\n }\n if (typeof global !== 'undefined') {\n return global;\n }\n throw new Error('unable to locate global object');\n})();\n\nif (!('Promise' in globalNS)) {\n globalNS['Promise'] = Promise;\n} else if (!globalNS.Promise.prototype['finally']) {\n globalNS.Promise.prototype['finally'] = finallyConstructor;\n}\n","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","var core = module.exports = { version: '2.6.5' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","var core = require('./_core');\nvar global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: require('./_library') ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n","module.exports = require('./_shared')('native-function-to-string', Function.toString);\n","var global = require('./_global');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar SRC = require('./_uid')('src');\nvar $toString = require('./_function-to-string');\nvar TO_STRING = 'toString';\nvar TPL = ('' + $toString).split(TO_STRING);\n\nrequire('./_core').inspectSource = function (it) {\n return $toString.call(it);\n};\n\n(module.exports = function (O, key, val, safe) {\n var isFunction = typeof val == 'function';\n if (isFunction) has(val, 'name') || hide(val, 'name', key);\n if (O[key] === val) return;\n if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n if (O === global) {\n O[key] = val;\n } else if (!safe) {\n delete O[key];\n hide(O, key, val);\n } else if (O[key]) {\n O[key] = val;\n } else {\n hide(O, key, val);\n }\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, TO_STRING, function toString() {\n return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","var global = require('./_global');\nvar core = require('./_core');\nvar hide = require('./_hide');\nvar redefine = require('./_redefine');\nvar ctx = require('./_ctx');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});\n var key, own, out, exp;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n // export native or passed\n out = (own ? target : source)[key];\n // bind timers to global for call from export context\n exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // extend global\n if (target) redefine(target, key, out, type & $export.U);\n // export\n if (exports[key] != out) hide(exports, key, exp);\n if (IS_PROTO && expProto[key] != out) expProto[key] = out;\n }\n};\nglobal.core = core;\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n","var isObject = require('./_is-object');\nvar isArray = require('./_is-array');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (original) {\n var C;\n if (isArray(original)) {\n C = original.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? Array : C;\n};\n","// 9.4.2.3 ArraySpeciesCreate(originalArray, length)\nvar speciesConstructor = require('./_array-species-constructor');\n\nmodule.exports = function (original, length) {\n return new (speciesConstructor(original))(length);\n};\n","// 0 -> Array#forEach\n// 1 -> Array#map\n// 2 -> Array#filter\n// 3 -> Array#some\n// 4 -> Array#every\n// 5 -> Array#find\n// 6 -> Array#findIndex\nvar ctx = require('./_ctx');\nvar IObject = require('./_iobject');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar asc = require('./_array-species-create');\nmodule.exports = function (TYPE, $create) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n var create = $create || asc;\n return function ($this, callbackfn, that) {\n var O = toObject($this);\n var self = IObject(O);\n var f = ctx(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var val, res;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n val = self[index];\n res = f(val, index, O);\n if (TYPE) {\n if (IS_MAP) result[index] = res; // map\n else if (res) switch (TYPE) {\n case 3: return true; // some\n case 5: return val; // find\n case 6: return index; // findIndex\n case 2: result.push(val); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n };\n};\n","// 22.1.3.31 Array.prototype[@@unscopables]\nvar UNSCOPABLES = require('./_wks')('unscopables');\nvar ArrayProto = Array.prototype;\nif (ArrayProto[UNSCOPABLES] == undefined) require('./_hide')(ArrayProto, UNSCOPABLES, {});\nmodule.exports = function (key) {\n ArrayProto[UNSCOPABLES][key] = true;\n};\n","'use strict';\n// 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined)\nvar $export = require('./_export');\nvar $find = require('./_array-methods')(5);\nvar KEY = 'find';\nvar forced = true;\n// Shouldn't skip holes\nif (KEY in []) Array(1)[KEY](function () { forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\nrequire('./_add-to-unscopables')(KEY);\n","require('../../modules/es6.array.find');\nmodule.exports = require('../../modules/_core').Array.find;\n","'use strict';\n// 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined)\nvar $export = require('./_export');\nvar $find = require('./_array-methods')(6);\nvar KEY = 'findIndex';\nvar forced = true;\n// Shouldn't skip holes\nif (KEY in []) Array(1)[KEY](function () { forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n findIndex: function findIndex(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\nrequire('./_add-to-unscopables')(KEY);\n","require('../../modules/es6.array.find-index');\nmodule.exports = require('../../modules/_core').Array.findIndex;\n","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n","exports.f = Object.getOwnPropertySymbols;\n","exports.f = {}.propertyIsEnumerable;\n","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n } return T;\n} : $assign;\n","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n","require('../../modules/es6.object.assign');\nmodule.exports = require('../../modules/_core').Object.assign;\n","// 7.2.8 IsRegExp(argument)\nvar isObject = require('./_is-object');\nvar cof = require('./_cof');\nvar MATCH = require('./_wks')('match');\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');\n};\n","// helper for String#{startsWith, endsWith, includes}\nvar isRegExp = require('./_is-regexp');\nvar defined = require('./_defined');\n\nmodule.exports = function (that, searchString, NAME) {\n if (isRegExp(searchString)) throw TypeError('String#' + NAME + \" doesn't accept regex!\");\n return String(defined(that));\n};\n","var MATCH = require('./_wks')('match');\nmodule.exports = function (KEY) {\n var re = /./;\n try {\n '/./'[KEY](re);\n } catch (e) {\n try {\n re[MATCH] = false;\n return !'/./'[KEY](re);\n } catch (f) { /* empty */ }\n } return true;\n};\n","// 21.1.3.18 String.prototype.startsWith(searchString [, position ])\n'use strict';\nvar $export = require('./_export');\nvar toLength = require('./_to-length');\nvar context = require('./_string-context');\nvar STARTS_WITH = 'startsWith';\nvar $startsWith = ''[STARTS_WITH];\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(STARTS_WITH), 'String', {\n startsWith: function startsWith(searchString /* , position = 0 */) {\n var that = context(this, searchString, STARTS_WITH);\n var index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = String(searchString);\n return $startsWith\n ? $startsWith.call(that, search, index)\n : that.slice(index, index + search.length) === search;\n }\n});\n","require('../../modules/es6.string.starts-with');\nmodule.exports = require('../../modules/_core').String.startsWith;\n","var $export = require('./_export');\n\n$export($export.P, 'String', {\n // 21.1.3.13 String.prototype.repeat(count)\n repeat: require('./_string-repeat')\n});\n","'use strict';\nvar toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n\nmodule.exports = function repeat(count) {\n var str = String(defined(this));\n var res = '';\n var n = toInteger(count);\n if (n < 0 || n == Infinity) throw RangeError(\"Count can't be negative\");\n for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) res += str;\n return res;\n};\n","require('../../modules/es6.string.repeat');\nmodule.exports = require('../../modules/_core').String.repeat;\n","var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !require('./_fails')(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n","exports.f = require('./_wks');\n","var global = require('./_global');\nvar core = require('./_core');\nvar LIBRARY = require('./_library');\nvar wksExt = require('./_wks-ext');\nvar defineProperty = require('./_object-dp').f;\nmodule.exports = function (name) {\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal');\nvar hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar createDesc = require('./_property-desc');\nvar _create = require('./_object-create');\nvar gOPNExt = require('./_object-gopn-ext');\nvar $GOPD = require('./_object-gopd');\nvar $DP = require('./_object-dp');\nvar $keys = require('./_object-keys');\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function';\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function () { return dP(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function (value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n require('./_object-gops').f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !require('./_library')) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function (key) {\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n },\n useSetter: function () { setter = true; },\n useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n } return result;\n};\n","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n","'use strict';\n// 19.1.3.6 Object.prototype.toString()\nvar classof = require('./_classof');\nvar test = {};\ntest[require('./_wks')('toStringTag')] = 'z';\nif (test + '' != '[object z]') {\n require('./_redefine')(Object.prototype, 'toString', function toString() {\n return '[object ' + classof(this) + ']';\n }, true);\n}\n","require('./_wks-define')('asyncIterator');\n","require('./_wks-define')('observable');\n","require('../../modules/es6.symbol');\nrequire('../../modules/es6.object.to-string');\nrequire('../../modules/es7.symbol.async-iterator');\nrequire('../../modules/es7.symbol.observable');\nmodule.exports = require('../../modules/_core').Symbol;\n","module.exports = {};\n","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function (iterated) {\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return { value: undefined, done: true };\n point = $at(O, index);\n this._i += point.length;\n return { value: point, done: false };\n});\n","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","var $iterators = require('./es6.array.iterator');\nvar getKeys = require('./_object-keys');\nvar redefine = require('./_redefine');\nvar global = require('./_global');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar wks = require('./_wks');\nvar ITERATOR = wks('iterator');\nvar TO_STRING_TAG = wks('toStringTag');\nvar ArrayValues = Iterators.Array;\n\nvar DOMIterables = {\n CSSRuleList: true, // TODO: Not spec compliant, should be false.\n CSSStyleDeclaration: false,\n CSSValueList: false,\n ClientRectList: false,\n DOMRectList: false,\n DOMStringList: false,\n DOMTokenList: true,\n DataTransferItemList: false,\n FileList: false,\n HTMLAllCollection: false,\n HTMLCollection: false,\n HTMLFormElement: false,\n HTMLSelectElement: false,\n MediaList: true, // TODO: Not spec compliant, should be false.\n MimeTypeArray: false,\n NamedNodeMap: false,\n NodeList: true,\n PaintRequestList: false,\n Plugin: false,\n PluginArray: false,\n SVGLengthList: false,\n SVGNumberList: false,\n SVGPathSegList: false,\n SVGPointList: false,\n SVGStringList: false,\n SVGTransformList: false,\n SourceBufferList: false,\n StyleSheetList: true, // TODO: Not spec compliant, should be false.\n TextTrackCueList: false,\n TextTrackList: false,\n TouchList: false\n};\n\nfor (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) {\n var NAME = collections[i];\n var explicit = DOMIterables[NAME];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n var key;\n if (proto) {\n if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues);\n if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = ArrayValues;\n if (explicit) for (key in $iterators) if (!proto[key]) redefine(proto, key, $iterators[key], true);\n }\n}\n","require('../../modules/es6.string.iterator');\nrequire('../../modules/web.dom.iterable');\nmodule.exports = require('../../modules/_wks-ext').f('iterator');\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","/**\n * @license\n * Copyright 2017 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY 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 * Do a deep-copy of basic JavaScript Objects or Arrays.\n */\nexport function deepCopy(value: T): T {\n return deepExtend(undefined, value);\n}\n\n/**\n * Copy properties from source to target (recursively allows extension\n * of Objects and Arrays). Scalar values in the target are over-written.\n * If target is undefined, an object of the appropriate type will be created\n * (and returned).\n *\n * We recursively copy all child properties of plain Objects in the source- so\n * that namespace- like dictionaries are merged.\n *\n * Note that the target can be a function, in which case the properties in\n * the source Object are copied onto it as static properties of the Function.\n */\nexport function deepExtend(target: any, source: any): any {\n if (!(source instanceof Object)) {\n return source;\n }\n\n switch (source.constructor) {\n case Date:\n // Treat Dates like scalars; if the target date object had any child\n // properties - they will be lost!\n let dateValue = (source as any) as Date;\n return new Date(dateValue.getTime());\n\n case Object:\n if (target === undefined) {\n target = {};\n }\n break;\n\n case Array:\n // Always copy the array source and overwrite the target.\n target = [];\n break;\n\n default:\n // Not a plain Object - treat it as a scalar.\n return source;\n }\n\n for (let prop in source) {\n if (!source.hasOwnProperty(prop)) {\n continue;\n }\n target[prop] = deepExtend(target[prop], source[prop]);\n }\n\n return target;\n}\n\n// TODO: Really needed (for JSCompiler type checking)?\nexport function patchProperty(obj: any, prop: string, value: any) {\n obj[prop] = value;\n}\n","/**\n * @license\n * Copyright 2017 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY 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 Standardized Firebase Error.\n *\n * Usage:\n *\n * // Typescript string literals for type-safe codes\n * type Err =\n * 'unknown' |\n * 'object-not-found'\n * ;\n *\n * // Closure enum for type-safe error codes\n * // at-enum {string}\n * var Err = {\n * UNKNOWN: 'unknown',\n * OBJECT_NOT_FOUND: 'object-not-found',\n * }\n *\n * let errors: Map = {\n * 'generic-error': \"Unknown error\",\n * 'file-not-found': \"Could not find file: {$file}\",\n * };\n *\n * // Type-safe function - must pass a valid error code as param.\n * let error = new ErrorFactory('service', 'Service', errors);\n *\n * ...\n * throw error.create(Err.GENERIC);\n * ...\n * throw error.create(Err.FILE_NOT_FOUND, {'file': fileName});\n * ...\n * // Service: Could not file file: foo.txt (service/file-not-found).\n *\n * catch (e) {\n * assert(e.message === \"Could not find file: foo.txt.\");\n * if (e.code === 'service/file-not-found') {\n * console.log(\"Could not read file: \" + e['file']);\n * }\n * }\n */\nexport type ErrorList = { [code: string]: string };\n\nconst ERROR_NAME = 'FirebaseError';\n\nexport interface StringLike {\n toString: () => string;\n}\n\nlet captureStackTrace: (obj: Object, fn?: Function) => void = (Error as any)\n .captureStackTrace;\n\n// Export for faking in tests\nexport function patchCapture(captureFake?: any): any {\n let result: any = captureStackTrace;\n captureStackTrace = captureFake;\n return result;\n}\n\nexport interface FirebaseError {\n // Unique code for error - format is service/error-code-string\n code: string;\n\n // Developer-friendly error message.\n message: string;\n\n // Always 'FirebaseError'\n name: string;\n\n // Where available - stack backtrace in a string\n stack: string;\n}\n\nexport class FirebaseError implements FirebaseError {\n public stack: string;\n public name: string;\n\n constructor(public code: string, public message: string) {\n let stack: string;\n // We want the stack value, if implemented by Error\n if (captureStackTrace) {\n // Patches this.stack, omitted calls above ErrorFactory#create\n captureStackTrace(this, ErrorFactory.prototype.create);\n } else {\n try {\n // In case of IE11, stack will be set only after error is raised.\n // https://docs.microsoft.com/en-us/scripting/javascript/reference/stack-property-error-javascript\n throw Error.apply(this, arguments);\n } catch (err) {\n this.name = ERROR_NAME;\n // Make non-enumerable getter for the property.\n Object.defineProperty(this, 'stack', {\n get: function() {\n return err.stack;\n }\n });\n }\n }\n }\n}\n\n// Back-door inheritance\nFirebaseError.prototype = Object.create(Error.prototype) as FirebaseError;\nFirebaseError.prototype.constructor = FirebaseError;\n(FirebaseError.prototype as any).name = ERROR_NAME;\n\nexport class ErrorFactory {\n // Matches {$name}, by default.\n public pattern = /\\{\\$([^}]+)}/g;\n\n constructor(\n private service: string,\n private serviceName: string,\n private errors: ErrorList\n ) {\n // empty\n }\n\n create(code: T, data?: { [prop: string]: StringLike }): FirebaseError {\n if (data === undefined) {\n data = {};\n }\n\n let template = this.errors[code as string];\n\n let fullCode = this.service + '/' + code;\n let message: string;\n\n if (template === undefined) {\n message = 'Error';\n } else {\n message = template.replace(this.pattern, (match, key) => {\n let value = data![key];\n return value !== undefined ? value.toString() : '<' + key + '?>';\n });\n }\n\n // Service: Error message (service/code).\n message = this.serviceName + ': ' + message + ' (' + fullCode + ').';\n let err = new FirebaseError(fullCode, message);\n\n // Populate the Error object with message parts for programmatic\n // accesses (e.g., e.file).\n for (let prop in data) {\n if (!data.hasOwnProperty(prop) || prop.slice(-1) === '_') {\n continue;\n }\n (err as any)[prop] = data[prop];\n }\n\n return err;\n }\n}\n","/**\n * @license\n * Copyright 2017 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Hash } from './hash';\n\n/**\n * @fileoverview SHA-1 cryptographic hash.\n * Variable names follow the notation in FIPS PUB 180-3:\n * http://csrc.nist.gov/publications/fips/fips180-3/fips180-3_final.pdf.\n *\n * Usage:\n * var sha1 = new sha1();\n * sha1.update(bytes);\n * var hash = sha1.digest();\n *\n * Performance:\n * Chrome 23: ~400 Mbit/s\n * Firefox 16: ~250 Mbit/s\n *\n */\n\n/**\n * SHA-1 cryptographic hash constructor.\n *\n * The properties declared here are discussed in the above algorithm document.\n * @constructor\n * @extends {Hash}\n * @final\n * @struct\n */\nexport class Sha1 extends Hash {\n /**\n * Holds the previous values of accumulated variables a-e in the compress_\n * function.\n * @type {!Array}\n * @private\n */\n private chain_: Array = [];\n\n /**\n * A buffer holding the partially computed hash result.\n * @type {!Array}\n * @private\n */\n private buf_: Array = [];\n\n /**\n * An array of 80 bytes, each a part of the message to be hashed. Referred to\n * as the message schedule in the docs.\n * @type {!Array}\n * @private\n */\n private W_: Array = [];\n\n /**\n * Contains data needed to pad messages less than 64 bytes.\n * @type {!Array}\n * @private\n */\n private pad_: Array = [];\n\n /**\n * @private {number}\n */\n private inbuf_: number = 0;\n\n /**\n * @private {number}\n */\n private total_: number = 0;\n\n constructor() {\n super();\n\n this.blockSize = 512 / 8;\n\n this.pad_[0] = 128;\n for (var i = 1; i < this.blockSize; ++i) {\n this.pad_[i] = 0;\n }\n\n this.reset();\n }\n\n reset() {\n this.chain_[0] = 0x67452301;\n this.chain_[1] = 0xefcdab89;\n this.chain_[2] = 0x98badcfe;\n this.chain_[3] = 0x10325476;\n this.chain_[4] = 0xc3d2e1f0;\n\n this.inbuf_ = 0;\n this.total_ = 0;\n }\n\n /**\n * Internal compress helper function.\n * @param {!Array|!Uint8Array|string} buf Block to compress.\n * @param {number=} opt_offset Offset of the block in the buffer.\n * @private\n */\n compress_(buf, opt_offset?) {\n if (!opt_offset) {\n opt_offset = 0;\n }\n\n var W = this.W_;\n\n // get 16 big endian words\n if (typeof buf === 'string') {\n for (var i = 0; i < 16; i++) {\n // TODO(user): [bug 8140122] Recent versions of Safari for Mac OS and iOS\n // have a bug that turns the post-increment ++ operator into pre-increment\n // during JIT compilation. We have code that depends heavily on SHA-1 for\n // correctness and which is affected by this bug, so I've removed all uses\n // of post-increment ++ in which the result value is used. We can revert\n // this change once the Safari bug\n // (https://bugs.webkit.org/show_bug.cgi?id=109036) has been fixed and\n // most clients have been updated.\n W[i] =\n (buf.charCodeAt(opt_offset) << 24) |\n (buf.charCodeAt(opt_offset + 1) << 16) |\n (buf.charCodeAt(opt_offset + 2) << 8) |\n buf.charCodeAt(opt_offset + 3);\n opt_offset += 4;\n }\n } else {\n for (var i = 0; i < 16; i++) {\n W[i] =\n (buf[opt_offset] << 24) |\n (buf[opt_offset + 1] << 16) |\n (buf[opt_offset + 2] << 8) |\n buf[opt_offset + 3];\n opt_offset += 4;\n }\n }\n\n // expand to 80 words\n for (var i = 16; i < 80; i++) {\n var t = W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16];\n W[i] = ((t << 1) | (t >>> 31)) & 0xffffffff;\n }\n\n var a = this.chain_[0];\n var b = this.chain_[1];\n var c = this.chain_[2];\n var d = this.chain_[3];\n var e = this.chain_[4];\n var f, k;\n\n // TODO(user): Try to unroll this loop to speed up the computation.\n for (var i = 0; i < 80; i++) {\n if (i < 40) {\n if (i < 20) {\n f = d ^ (b & (c ^ d));\n k = 0x5a827999;\n } else {\n f = b ^ c ^ d;\n k = 0x6ed9eba1;\n }\n } else {\n if (i < 60) {\n f = (b & c) | (d & (b | c));\n k = 0x8f1bbcdc;\n } else {\n f = b ^ c ^ d;\n k = 0xca62c1d6;\n }\n }\n\n var t = (((a << 5) | (a >>> 27)) + f + e + k + W[i]) & 0xffffffff;\n e = d;\n d = c;\n c = ((b << 30) | (b >>> 2)) & 0xffffffff;\n b = a;\n a = t;\n }\n\n this.chain_[0] = (this.chain_[0] + a) & 0xffffffff;\n this.chain_[1] = (this.chain_[1] + b) & 0xffffffff;\n this.chain_[2] = (this.chain_[2] + c) & 0xffffffff;\n this.chain_[3] = (this.chain_[3] + d) & 0xffffffff;\n this.chain_[4] = (this.chain_[4] + e) & 0xffffffff;\n }\n\n update(bytes, opt_length?) {\n // TODO(johnlenz): tighten the function signature and remove this check\n if (bytes == null) {\n return;\n }\n\n if (opt_length === undefined) {\n opt_length = bytes.length;\n }\n\n var lengthMinusBlock = opt_length - this.blockSize;\n var n = 0;\n // Using local instead of member variables gives ~5% speedup on Firefox 16.\n var buf = this.buf_;\n var inbuf = this.inbuf_;\n\n // The outer while loop should execute at most twice.\n while (n < opt_length) {\n // When we have no data in the block to top up, we can directly process the\n // input buffer (assuming it contains sufficient data). This gives ~25%\n // speedup on Chrome 23 and ~15% speedup on Firefox 16, but requires that\n // the data is provided in large chunks (or in multiples of 64 bytes).\n if (inbuf == 0) {\n while (n <= lengthMinusBlock) {\n this.compress_(bytes, n);\n n += this.blockSize;\n }\n }\n\n if (typeof bytes === 'string') {\n while (n < opt_length) {\n buf[inbuf] = bytes.charCodeAt(n);\n ++inbuf;\n ++n;\n if (inbuf == this.blockSize) {\n this.compress_(buf);\n inbuf = 0;\n // Jump to the outer loop so we use the full-block optimization.\n break;\n }\n }\n } else {\n while (n < opt_length) {\n buf[inbuf] = bytes[n];\n ++inbuf;\n ++n;\n if (inbuf == this.blockSize) {\n this.compress_(buf);\n inbuf = 0;\n // Jump to the outer loop so we use the full-block optimization.\n break;\n }\n }\n }\n }\n\n this.inbuf_ = inbuf;\n this.total_ += opt_length;\n }\n\n /** @override */\n digest() {\n var digest = [];\n var totalBits = this.total_ * 8;\n\n // Add pad 0x80 0x00*.\n if (this.inbuf_ < 56) {\n this.update(this.pad_, 56 - this.inbuf_);\n } else {\n this.update(this.pad_, this.blockSize - (this.inbuf_ - 56));\n }\n\n // Add # bits.\n for (var i = this.blockSize - 1; i >= 56; i--) {\n this.buf_[i] = totalBits & 255;\n totalBits /= 256; // Don't use bit-shifting here!\n }\n\n this.compress_(this.buf_);\n\n var n = 0;\n for (var i = 0; i < 5; i++) {\n for (var j = 24; j >= 0; j -= 8) {\n digest[n] = (this.chain_[i] >> j) & 255;\n ++n;\n }\n }\n return digest;\n }\n}\n","/**\n * @license\n * Copyright 2017 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n// Copyright 2011 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 Abstract cryptographic hash interface.\n *\n * See Sha1 and Md5 for sample implementations.\n *\n */\n\n/**\n * Create a cryptographic hash instance.\n *\n * @constructor\n * @struct\n */\nexport class Hash {\n /**\n * The block size for the hasher.\n * @type {number}\n */\n blockSize: number = -1;\n\n constructor() {}\n}\n","/**\n * @license\n * Copyright 2017 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nexport type NextFn = (value: T) => void;\nexport type ErrorFn = (error: Error) => void;\nexport type CompleteFn = () => void;\n\nexport interface Observer {\n // Called once for each value in a stream of values.\n next: NextFn;\n\n // A stream terminates by a single call to EITHER error() or complete().\n error: ErrorFn;\n\n // No events will be sent to next() once complete() is called.\n complete: CompleteFn;\n}\n\nexport type PartialObserver = Partial>;\n\n// TODO: Support also Unsubscribe.unsubscribe?\nexport type Unsubscribe = () => void;\n\n/**\n * The Subscribe interface has two forms - passing the inline function\n * callbacks, or a object interface with callback properties.\n */\nexport interface Subscribe {\n (next?: NextFn, error?: ErrorFn, complete?: CompleteFn): Unsubscribe;\n (observer: PartialObserver): Unsubscribe;\n}\n\nexport interface Observable {\n // Subscribe method\n subscribe: Subscribe;\n}\n\nexport type Executor = (observer: Observer) => void;\n\n/**\n * Helper to make a Subscribe function (just like Promise helps make a\n * Thenable).\n *\n * @param executor Function which can make calls to a single Observer\n * as a proxy.\n * @param onNoObservers Callback when count of Observers goes to zero.\n */\nexport function createSubscribe(\n executor: Executor,\n onNoObservers?: Executor\n): Subscribe {\n let proxy = new ObserverProxy(executor, onNoObservers);\n return proxy.subscribe.bind(proxy);\n}\n\n/**\n * Implement fan-out for any number of Observers attached via a subscribe\n * function.\n */\nclass ObserverProxy implements Observer {\n private observers: Array> | undefined = [];\n private unsubscribes: Unsubscribe[] = [];\n private onNoObservers: Executor | undefined;\n private observerCount = 0;\n // Micro-task scheduling by calling task.then().\n private task = Promise.resolve();\n private finalized = false;\n private finalError: Error;\n\n /**\n * @param executor Function which can make calls to a single Observer\n * as a proxy.\n * @param onNoObservers Callback when count of Observers goes to zero.\n */\n constructor(executor: Executor, onNoObservers?: Executor) {\n this.onNoObservers = onNoObservers;\n // Call the executor asynchronously so subscribers that are called\n // synchronously after the creation of the subscribe function\n // can still receive the very first value generated in the executor.\n this.task\n .then(() => {\n executor(this);\n })\n .catch(e => {\n this.error(e);\n });\n }\n\n next(value: T) {\n this.forEachObserver((observer: Observer) => {\n observer.next(value);\n });\n }\n\n error(error: Error) {\n this.forEachObserver((observer: Observer) => {\n observer.error(error);\n });\n this.close(error);\n }\n\n complete() {\n this.forEachObserver((observer: Observer) => {\n observer.complete();\n });\n this.close();\n }\n\n /**\n * Subscribe function that can be used to add an Observer to the fan-out list.\n *\n * - We require that no event is sent to a subscriber sychronously to their\n * call to subscribe().\n */\n subscribe(\n nextOrObserver: PartialObserver | Function,\n error?: ErrorFn,\n complete?: CompleteFn\n ): Unsubscribe {\n let observer: Observer;\n\n if (\n nextOrObserver === undefined &&\n error === undefined &&\n complete === undefined\n ) {\n throw new Error('Missing Observer.');\n }\n\n // Assemble an Observer object when passed as callback functions.\n if (implementsAnyMethods(nextOrObserver, ['next', 'error', 'complete'])) {\n observer = nextOrObserver as Observer;\n } else {\n observer = {\n next: (nextOrObserver as any) as NextFn,\n error: error,\n complete: complete\n } as Observer;\n }\n\n if (observer.next === undefined) {\n observer.next = noop as NextFn;\n }\n if (observer.error === undefined) {\n observer.error = noop as ErrorFn;\n }\n if (observer.complete === undefined) {\n observer.complete = noop as CompleteFn;\n }\n\n let unsub = this.unsubscribeOne.bind(this, this.observers!.length);\n\n // Attempt to subscribe to a terminated Observable - we\n // just respond to the Observer with the final error or complete\n // event.\n if (this.finalized) {\n this.task.then(() => {\n try {\n if (this.finalError) {\n observer.error(this.finalError);\n } else {\n observer.complete();\n }\n } catch (e) {\n // nothing\n }\n return;\n });\n }\n\n this.observers!.push(observer as Observer);\n\n return unsub;\n }\n\n // Unsubscribe is synchronous - we guarantee that no events are sent to\n // any unsubscribed Observer.\n private unsubscribeOne(i: number) {\n if (this.observers === undefined || this.observers[i] === undefined) {\n return;\n }\n\n delete this.observers[i];\n\n this.observerCount -= 1;\n if (this.observerCount === 0 && this.onNoObservers !== undefined) {\n this.onNoObservers(this);\n }\n }\n\n private forEachObserver(fn: (observer: Observer) => void): void {\n if (this.finalized) {\n // Already closed by previous event....just eat the additional values.\n return;\n }\n\n // Since sendOne calls asynchronously - there is no chance that\n // this.observers will become undefined.\n for (let i = 0; i < this.observers!.length; i++) {\n this.sendOne(i, fn);\n }\n }\n\n // Call the Observer via one of it's callback function. We are careful to\n // confirm that the observe has not been unsubscribed since this asynchronous\n // function had been queued.\n private sendOne(i: number, fn: (observer: Observer) => void): void {\n // Execute the callback asynchronously\n this.task.then(() => {\n if (this.observers !== undefined && this.observers[i] !== undefined) {\n try {\n fn(this.observers[i]);\n } catch (e) {\n // Ignore exceptions raised in Observers or missing methods of an\n // Observer.\n // Log error to console. b/31404806\n if (typeof console !== 'undefined' && console.error) {\n console.error(e);\n }\n }\n }\n });\n }\n\n private close(err?: Error): void {\n if (this.finalized) {\n return;\n }\n this.finalized = true;\n if (err !== undefined) {\n this.finalError = err;\n }\n // Proxy is no longer needed - garbage collect references\n this.task.then(() => {\n this.observers = undefined;\n this.onNoObservers = undefined;\n });\n }\n}\n\n/** Turn synchronous function into one called asynchronously. */\nexport function async(fn: Function, onError?: ErrorFn): Function {\n return (...args: any[]) => {\n Promise.resolve(true)\n .then(() => {\n fn(...args);\n })\n .catch((error: Error) => {\n if (onError) {\n onError(error);\n }\n });\n };\n}\n\n/**\n * Return true if the object passed in implements any of the named methods.\n */\nfunction implementsAnyMethods(obj: any, methods: string[]): boolean {\n if (typeof obj !== 'object' || obj === null) {\n return false;\n }\n\n for (let method of methods) {\n if (method in obj && typeof obj[method] === 'function') {\n return true;\n }\n }\n\n return false;\n}\n\nfunction noop(): void {\n // do nothing\n}\n","/**\n * @license\n * Copyright 2017 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n FirebaseApp,\n FirebaseOptions,\n FirebaseNamespace,\n FirebaseAppConfig\n} from '@firebase/app-types';\nimport {\n _FirebaseApp,\n _FirebaseNamespace,\n FirebaseService,\n FirebaseServiceFactory,\n FirebaseServiceNamespace,\n AppHook\n} from '@firebase/app-types/private';\nimport {\n createSubscribe,\n deepCopy,\n deepExtend,\n ErrorFactory,\n FirebaseError,\n Observer,\n patchProperty,\n Subscribe\n} from '@firebase/util';\n\nconst contains = function(obj, key) {\n return Object.prototype.hasOwnProperty.call(obj, key);\n};\n\nconst DEFAULT_ENTRY_NAME = '[DEFAULT]';\n\n// An array to capture listeners before the true auth functions\n// exist\nlet tokenListeners: any[] = [];\n\n/**\n * Global context object for a collection of services using\n * a shared authentication state.\n */\nclass FirebaseAppImpl implements FirebaseApp {\n private options_: FirebaseOptions;\n private name_: string;\n private isDeleted_ = false;\n private services_: {\n [name: string]: {\n [serviceName: string]: FirebaseService;\n };\n } = {};\n private _automaticDataCollectionEnabled: boolean;\n\n public INTERNAL;\n\n constructor(\n options: FirebaseOptions,\n config: FirebaseAppConfig,\n private firebase_: FirebaseNamespace\n ) {\n this.name_ = config.name!;\n this._automaticDataCollectionEnabled =\n config.automaticDataCollectionEnabled || false;\n this.options_ = deepCopy(options);\n this.INTERNAL = {\n getUid: () => null,\n getToken: () => Promise.resolve(null),\n addAuthTokenListener: (callback: (token: string | null) => void) => {\n tokenListeners.push(callback);\n // Make sure callback is called, asynchronously, in the absence of the auth module\n setTimeout(() => callback(null), 0);\n },\n removeAuthTokenListener: callback => {\n tokenListeners = tokenListeners.filter(\n listener => listener !== callback\n );\n }\n };\n }\n\n get automaticDataCollectionEnabled(): boolean {\n this.checkDestroyed_();\n return this._automaticDataCollectionEnabled;\n }\n\n set automaticDataCollectionEnabled(val) {\n this.checkDestroyed_();\n this._automaticDataCollectionEnabled = val;\n }\n\n get name(): string {\n this.checkDestroyed_();\n return this.name_;\n }\n\n get options(): FirebaseOptions {\n this.checkDestroyed_();\n return this.options_;\n }\n\n delete(): Promise {\n return new Promise(resolve => {\n this.checkDestroyed_();\n resolve();\n })\n .then(() => {\n (this.firebase_ as _FirebaseNamespace).INTERNAL.removeApp(this.name_);\n let services: FirebaseService[] = [];\n Object.keys(this.services_).forEach(serviceKey => {\n Object.keys(this.services_[serviceKey]).forEach(instanceKey => {\n services.push(this.services_[serviceKey][instanceKey]);\n });\n });\n return Promise.all(\n services.map(service => {\n return service.INTERNAL!.delete();\n })\n );\n })\n .then((): void => {\n this.isDeleted_ = true;\n this.services_ = {};\n });\n }\n\n /**\n * Return a service instance associated with this app (creating it\n * on demand), identified by the passed instanceIdentifier.\n *\n * NOTE: Currently storage is the only one that is leveraging this\n * functionality. They invoke it by calling:\n *\n * ```javascript\n * firebase.app().storage('STORAGE BUCKET ID')\n * ```\n *\n * The service name is passed to this already\n * @internal\n */\n _getService(\n name: string,\n instanceIdentifier: string = DEFAULT_ENTRY_NAME\n ): FirebaseService {\n this.checkDestroyed_();\n\n if (!this.services_[name]) {\n this.services_[name] = {};\n }\n\n if (!this.services_[name][instanceIdentifier]) {\n /**\n * If a custom instance has been defined (i.e. not '[DEFAULT]')\n * then we will pass that instance on, otherwise we pass `null`\n */\n const instanceSpecifier =\n instanceIdentifier !== DEFAULT_ENTRY_NAME\n ? instanceIdentifier\n : undefined;\n const service = (this.firebase_ as _FirebaseNamespace).INTERNAL.factories[\n name\n ](this, this.extendApp.bind(this), instanceSpecifier);\n this.services_[name][instanceIdentifier] = service;\n }\n\n return this.services_[name][instanceIdentifier];\n }\n\n /**\n * Callback function used to extend an App instance at the time\n * of service instance creation.\n */\n private extendApp(props: { [name: string]: any }): void {\n // Copy the object onto the FirebaseAppImpl prototype\n deepExtend(this, props);\n\n /**\n * If the app has overwritten the addAuthTokenListener stub, forward\n * the active token listeners on to the true fxn.\n *\n * TODO: This function is required due to our current module\n * structure. Once we are able to rely strictly upon a single module\n * implementation, this code should be refactored and Auth should\n * provide these stubs and the upgrade logic\n */\n if (props.INTERNAL && props.INTERNAL.addAuthTokenListener) {\n tokenListeners.forEach(listener => {\n this.INTERNAL.addAuthTokenListener(listener);\n });\n tokenListeners = [];\n }\n }\n\n /**\n * This function will throw an Error if the App has already been deleted -\n * use before performing API actions on the App.\n */\n private checkDestroyed_(): void {\n if (this.isDeleted_) {\n error('app-deleted', { name: this.name_ });\n }\n }\n}\n\n// Prevent dead-code elimination of these methods w/o invalid property\n// copying.\n(FirebaseAppImpl.prototype.name && FirebaseAppImpl.prototype.options) ||\n FirebaseAppImpl.prototype.delete ||\n console.log('dc');\n\n/**\n * Return a firebase namespace object.\n *\n * In production, this will be called exactly once and the result\n * assigned to the 'firebase' global. It may be called multiple times\n * in unit tests.\n */\nexport function createFirebaseNamespace(): FirebaseNamespace {\n let apps_: { [name: string]: FirebaseApp } = {};\n let factories: { [service: string]: FirebaseServiceFactory } = {};\n let appHooks: { [service: string]: AppHook } = {};\n\n // A namespace is a plain JavaScript Object.\n let namespace = {\n // Hack to prevent Babel from modifying the object returned\n // as the firebase namespace.\n __esModule: true,\n initializeApp: initializeApp,\n app: app as any,\n apps: null as any,\n Promise: Promise,\n SDK_VERSION: '${JSCORE_VERSION}',\n INTERNAL: {\n registerService: registerService,\n createFirebaseNamespace: createFirebaseNamespace,\n extendNamespace: extendNamespace,\n createSubscribe: createSubscribe,\n ErrorFactory: ErrorFactory,\n removeApp: removeApp,\n factories: factories,\n useAsService: useAsService,\n Promise: Promise,\n deepExtend: deepExtend\n }\n };\n\n // Inject a circular default export to allow Babel users who were previously\n // using:\n //\n // import firebase from 'firebase';\n // which becomes: var firebase = require('firebase').default;\n //\n // instead of\n //\n // import * as firebase from 'firebase';\n // which becomes: var firebase = require('firebase');\n patchProperty(namespace, 'default', namespace);\n\n // firebase.apps is a read-only getter.\n Object.defineProperty(namespace, 'apps', {\n get: getApps\n });\n\n /**\n * Called by App.delete() - but before any services associated with the App\n * are deleted.\n */\n function removeApp(name: string): void {\n let app = apps_[name];\n callAppHooks(app, 'delete');\n delete apps_[name];\n }\n\n /**\n * Get the App object for a given name (or DEFAULT).\n */\n function app(name?: string): FirebaseApp {\n name = name || DEFAULT_ENTRY_NAME;\n if (!contains(apps_, name)) {\n error('no-app', { name: name });\n }\n return apps_[name];\n }\n\n patchProperty(app, 'App', FirebaseAppImpl);\n\n /**\n * Create a new App instance (name must be unique).\n */\n function initializeApp(\n options: FirebaseOptions,\n config?: FirebaseAppConfig\n ): FirebaseApp;\n function initializeApp(options: FirebaseOptions, name?: string): FirebaseApp;\n function initializeApp(options: FirebaseOptions, rawConfig = {}) {\n if (typeof rawConfig !== 'object' || rawConfig === null) {\n const name = rawConfig;\n rawConfig = { name };\n }\n\n const config = rawConfig as FirebaseAppConfig;\n\n if (config.name === undefined) {\n config.name = DEFAULT_ENTRY_NAME;\n }\n\n const { name } = config;\n\n if (typeof name !== 'string' || !name) {\n error('bad-app-name', { name: name + '' });\n }\n\n if (contains(apps_, name)) {\n error('duplicate-app', { name: name });\n }\n\n let app = new FirebaseAppImpl(\n options,\n config!,\n namespace as FirebaseNamespace\n );\n\n apps_[name!] = app;\n callAppHooks(app, 'create');\n\n return app;\n }\n\n /*\n * Return an array of all the non-deleted FirebaseApps.\n */\n function getApps(): FirebaseApp[] {\n // Make a copy so caller cannot mutate the apps list.\n return Object.keys(apps_).map(name => apps_[name]);\n }\n\n /*\n * Register a Firebase Service.\n *\n * firebase.INTERNAL.registerService()\n *\n * TODO: Implement serviceProperties.\n */\n function registerService(\n name: string,\n createService: FirebaseServiceFactory,\n serviceProperties?: { [prop: string]: any },\n appHook?: AppHook,\n allowMultipleInstances?: boolean\n ): FirebaseServiceNamespace {\n // Cannot re-register a service that already exists\n if (factories[name]) {\n error('duplicate-service', { name: name });\n }\n\n // Capture the service factory for later service instantiation\n factories[name] = createService;\n\n // Capture the appHook, if passed\n if (appHook) {\n appHooks[name] = appHook;\n\n // Run the **new** app hook on all existing apps\n getApps().forEach(app => {\n appHook('create', app);\n });\n }\n\n // The Service namespace is an accessor function ...\n const serviceNamespace = (appArg: FirebaseApp = app()) => {\n if (typeof (appArg as any)[name] !== 'function') {\n // Invalid argument.\n // This happens in the following case: firebase.storage('gs:/')\n error('invalid-app-argument', { name: name });\n }\n\n // Forward service instance lookup to the FirebaseApp.\n return (appArg as any)[name]();\n };\n\n // ... and a container for service-level properties.\n if (serviceProperties !== undefined) {\n deepExtend(serviceNamespace, serviceProperties);\n }\n\n // Monkey-patch the serviceNamespace onto the firebase namespace\n (namespace as any)[name] = serviceNamespace;\n\n // Patch the FirebaseAppImpl prototype\n FirebaseAppImpl.prototype[name] = function(...args) {\n const serviceFxn = this._getService.bind(this, name);\n return serviceFxn.apply(this, allowMultipleInstances ? args : []);\n };\n\n return serviceNamespace;\n }\n\n /**\n * Patch the top-level firebase namespace with additional properties.\n *\n * firebase.INTERNAL.extendNamespace()\n */\n function extendNamespace(props: { [prop: string]: any }): void {\n deepExtend(namespace, props);\n }\n\n function callAppHooks(app: FirebaseApp, eventName: string) {\n Object.keys(factories).forEach(serviceName => {\n // Ignore virtual services\n let factoryName = useAsService(app, serviceName);\n if (factoryName === null) {\n return;\n }\n\n if (appHooks[factoryName]) {\n appHooks[factoryName](eventName, app);\n }\n });\n }\n\n // Map the requested service to a registered service name\n // (used to map auth to serverAuth service when needed).\n function useAsService(app: FirebaseApp, name: string): string | null {\n if (name === 'serverAuth') {\n return null;\n }\n\n let useService = name;\n let options = app.options;\n\n return useService;\n }\n\n return (namespace as any) as FirebaseNamespace;\n}\n\ntype AppError =\n | 'no-app'\n | 'bad-app-name'\n | 'duplicate-app'\n | 'app-deleted'\n | 'duplicate-service'\n | 'sa-not-supported'\n | 'invalid-app-argument';\n\nfunction error(code: AppError, args?: { [name: string]: any }) {\n throw appErrors.create(code, args);\n}\n\n// TypeScript does not support non-string indexes!\n// let errors: {[code: AppError: string} = {\nlet errors: { [code: string]: string } = {\n 'no-app':\n \"No Firebase App '{$name}' has been created - \" +\n 'call Firebase App.initializeApp()',\n 'bad-app-name': \"Illegal App name: '{$name}\",\n 'duplicate-app': \"Firebase App named '{$name}' already exists\",\n 'app-deleted': \"Firebase App named '{$name}' already deleted\",\n 'duplicate-service': \"Firebase service named '{$name}' already registered\",\n 'sa-not-supported':\n 'Initializing the Firebase SDK with a service ' +\n 'account is only allowed in a Node.js environment. On client ' +\n 'devices, you should instead initialize the SDK with an api key and ' +\n 'auth domain',\n 'invalid-app-argument':\n 'firebase.{$name}() takes either no argument or a ' +\n 'Firebase App instance.'\n};\n\nlet appErrors = new ErrorFactory('app', 'Firebase', errors);\n","/**\n * @license\n * Copyright 2017 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { FirebaseNamespace } from '@firebase/app-types';\nimport { createFirebaseNamespace } from './src/firebaseApp';\n\n// Node detection logic from: https://github.com/iliakan/detect-node/\nlet isNode = false;\ntry {\n isNode =\n Object.prototype.toString.call(global.process) === '[object process]';\n} catch (e) {}\n\nisNode &&\n console.warn(`\nWarning: This is a browser-targeted Firebase bundle but it appears it is being\nrun in a Node environment. If running in a Node environment, make sure you\nare using the bundle specified by the \"main\" field in package.json.\n\nIf you are using Webpack, you can specify \"main\" as the first item in\n\"resolve.mainFields\":\nhttps://webpack.js.org/configuration/resolve/#resolvemainfields\n\nIf using Rollup, use the rollup-plugin-node-resolve plugin and set \"module\"\nto false and \"main\" to true:\nhttps://github.com/rollup/rollup-plugin-node-resolve\n`);\n\nexport const firebase = createFirebaseNamespace();\n\nexport default firebase;\n"],"names":["self","fetch","support","Symbol","Blob","e","viewClasses","isDataView","obj","DataView","prototype","isPrototypeOf","isArrayBufferView","ArrayBuffer","isView","indexOf","Object","toString","call","Headers","append","name","value","normalizeName","normalizeValue","oldValue","this","map","get","has","hasOwnProperty","set","forEach","callback","thisArg","keys","items","push","iteratorFor","values","entries","iterator","methods","Request","clone","body","_bodyInit","Body","Response","status","statusText","headers","url","error","response","type","redirectStatuses","redirect","RangeError","location","input","init","Promise","resolve","reject","request","xhr","XMLHttpRequest","onload","rawHeaders","options","getAllResponseHeaders","replace","split","line","parts","key","shift","trim","join","responseURL","responseText","onerror","TypeError","ontimeout","open","method","credentials","withCredentials","responseType","setRequestHeader","send","polyfill","String","test","toLowerCase","next","done","undefined","Array","isArray","header","getOwnPropertyNames","consumed","bodyUsed","fileReaderReady","reader","result","readBlobAsArrayBuffer","blob","FileReader","promise","readAsArrayBuffer","bufferClone","buf","slice","view","Uint8Array","byteLength","buffer","_initBody","_bodyText","_bodyBlob","FormData","_bodyFormData","URLSearchParams","_bodyArrayBuffer","Error","rejected","arrayBuffer","then","text","readAsText","chars","length","i","fromCharCode","readArrayBufferAsText","formData","decode","json","JSON","parse","upcased","mode","toUpperCase","referrer","form","bytes","decodeURIComponent","bodyInit","ok","finallyConstructor","constructor","reason","setTimeoutFunc","setTimeout","noop","fn","_state","_handled","_value","_deferreds","doResolve","handle","deferred","_immediateFn","cb","onFulfilled","onRejected","ret","newValue","finale","apply","arguments","_unhandledRejectionFn","len","Handler","ex","prom","all","arr","args","remaining","res","val","race","setImmediate","err","console","warn","globalNS","window","global","module","Math","Function","__g","core","version","__e","it","isObject","exec","require$$0","defineProperty","a","document","is","createElement","require$$1","require$$2","S","valueOf","dP","O","P","Attributes","anObject","toPrimitive","IE8_DOM_DEFINE","bitmap","enumerable","configurable","writable","object","f","createDesc","id","px","random","concat","SHARED","store","copyright","SRC","TO_STRING","TPL","$toString","inspectSource","safe","isFunction","hide","that","aFunction","b","c","PROTOTYPE","$export","source","own","out","exp","IS_FORCED","F","IS_GLOBAL","G","IS_STATIC","IS_PROTO","IS_BIND","B","target","exports","expProto","ctx","redefine","U","W","R","propertyIsEnumerable","cof","defined","ceil","floor","isNaN","min","toInteger","arg","USE_SYMBOL","uid","SPECIES","original","C","TYPE","$create","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","create","asc","$this","callbackfn","toObject","IObject","toLength","index","UNSCOPABLES","ArrayProto","$find","KEY","forced","find","findIndex","IS_INCLUDES","max","shared","arrayIndexOf","el","fromIndex","toIObject","IE_PROTO","names","$keys","enumBugKeys","getOwnPropertySymbols","$assign","assign","A","K","k","T","aLen","getSymbols","gOPS","isEnum","pIE","getKeys","j","MATCH","searchString","NAME","isRegExp","STARTS_WITH","$startsWith","re","startsWith","context","search","repeat","count","str","n","Infinity","META","setDesc","isExtensible","FREEZE","preventExtensions","setMeta","w","meta","NEED","fastKey","getWeak","onFreeze","def","TAG","tag","stat","$Symbol","charAt","wksExt","defineProperties","Properties","documentElement","Empty","createDict","iframeDocument","iframe","style","display","appendChild","src","contentWindow","write","lt","close","dPs","hiddenKeys","gOPN","windowNames","getWindowNames","gOPD","getOwnPropertyDescriptor","$GOPD","$DP","gOPNExt","$JSON","_stringify","stringify","HIDDEN","wks","TO_PRIMITIVE","SymbolRegistry","AllSymbols","OPSymbols","ObjectProto","USE_NATIVE","QObject","setter","findChild","setSymbolDesc","DESCRIPTORS","$fails","_create","D","protoDesc","wrap","sym","_k","isSymbol","$defineProperty","$defineProperties","symbols","enumKeys","l","$propertyIsEnumerable","E","$getOwnPropertyDescriptor","$getOwnPropertyNames","$getOwnPropertySymbols","IS_OP","$set","require$$3","es6Symbols","wellKnownSymbols","wksDefine","for","keyFor","useSetter","useSimple","replacer","$replacer","require$$5","ARG","tryGet","callee","require$$4","IteratorPrototype","getPrototypeOf","ITERATOR","BUGGY","VALUES","returnThis","Base","Constructor","DEFAULT","IS_SET","FORCED","descriptor","setToStringTag","getMethod","kind","proto","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","Iterators","$at","pos","s","charCodeAt","iterated","_t","_i","point","step","Arguments","TO_STRING_TAG","ArrayValues","DOMIterables","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","collections","explicit","Collection","$iterators","extendStatics","d","setPrototypeOf","__proto__","p","deepExtend","Date","getTime","prop","patchProperty","ERROR_NAME","captureStackTrace","code","message","ErrorFactory","stack","FirebaseError","service","serviceName","errors","data","template","fullCode","pattern","match","_super","_this","blockSize","pad_","reset","__","tslib_1.__extends","Sha1","chain_","inbuf_","total_","opt_offset","W_","t","opt_length","lengthMinusBlock","buf_","inbuf","compress_","digest","totalBits","update","createSubscribe","executor","onNoObservers","proxy","ObserverProxy","subscribe","bind","task","catch","forEachObserver","observer","complete","nextOrObserver","methods_1","implementsAnyMethods","unsub","unsubscribeOne","observers","finalized","finalError","observerCount","sendOne","contains","DEFAULT_ENTRY_NAME","tokenListeners","config","firebase_","name_","_automaticDataCollectionEnabled","automaticDataCollectionEnabled","options_","INTERNAL","getUid","getToken","addAuthTokenListener","removeAuthTokenListener","filter","listener","FirebaseAppImpl","checkDestroyed_","removeApp","services","services_","serviceKey","instanceKey","delete","isDeleted_","instanceIdentifier","instanceSpecifier","factories","extendApp","props","appErrors","log","no-app","bad-app-name","duplicate-app","app-deleted","duplicate-service","sa-not-supported","invalid-app-argument","isNode","process","createFirebaseNamespace","apps_","appHooks","namespace","__esModule","initializeApp","rawConfig","name_1","app","callAppHooks","apps","SDK_VERSION","registerService","createService","serviceProperties","appHook","allowMultipleInstances","getApps","serviceNamespace","appArg","_getService","extendNamespace","useAsService","eventName","factoryName","useService"],"mappings":"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"}