!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self).firebase=t()}(this,function(){"use strict";var r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)};var a=function(){return(a=Object.assign||function(e){for(var t,r=1,n=arguments.length;ra[0]&&t[1]=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function v(e,t){if(!(t instanceof Object))return t;switch(t.constructor){case Date:return new Date(t.getTime());case Object:void 0===e&&(e={});break;case Array:e=[];break;default:return t}for(var r in t)t.hasOwnProperty(r)&&(e[r]=v(e[r],t[r]));return e}var i=(t.prototype.wrapCallback=function(r){var n=this;return function(e,t){e?n.reject(e):n.resolve(t),"function"==typeof r&&(n.promise.catch(function(){}),1===r.length?r(e):r(e,t))}},t);function t(){var r=this;this.reject=function(){},this.resolve=function(){},this.promise=new Promise(function(e,t){r.resolve=e,r.reject=t})}var o,s,l,c="FirebaseError",h=(o=Error,r(s=u,l=o),s.prototype=null===l?Object.create(l):(p.prototype=l.prototype,new p),u);function p(){this.constructor=s}function u(e,t){var r=o.call(this,t)||this;return r.code=e,r.name=c,Object.setPrototypeOf(r,u.prototype),Error.captureStackTrace&&Error.captureStackTrace(r,f.prototype.create),r}var f=(y.prototype.create=function(e){for(var t=[],r=1;r"})):"Error",l=this.serviceName+": "+s+" ("+o+").",c=new h(o,l),p=0,u=Object.keys(i);p=(null!=o?o:e.logLevel)&&a({level:C[t].toLowerCase(),message:i,args:r,type:e.name})}}(r[e])}}(e,t)},apps:null,SDK_VERSION:Q,INTERNAL:{registerComponent:h,removeApp:function(e){delete c[e]},components:p,useAsService:function(e,t){if("serverAuth"===t)return null;return t}}};function f(e){if(!g(c,e=e||Y))throw G.create("no-app",{appName:e});return c[e]}function h(r){var t,e,n,i=r.name;if(p.has(i))return J.debug("There were multiple attempts to register component "+i+"."),"PUBLIC"===r.type?u[i]:null;p.set(i,r),"PUBLIC"===r.type&&(n=function(e){if(void 0===e&&(e=f()),"function"!=typeof e[i])throw G.create("invalid-app-argument",{appName:i});return e[i]()},void 0!==r.serviceProps&&v(n,r.serviceProps),u[i]=n,l.prototype[i]=function(){for(var e=[],t=0;t