{"version":3,"file":"default-node_modules_angular_fire_fesm2015_angular-fire-compat-auth_js-node_modules_ngx-captc-2b47d5.js","mappings":"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ACF;AACwB;AACO;AAC5B;AACM;AACnD;AACA,IAAI,gDAAS;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,kFAAuB;AAC7C;AACA;AACA;AACA;AACA,QAAQ,gEAAY;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,+CAAQ,0CAA0C,UAAU;AAC9F;AACA;AACA;AACA;AACA,gCAAgC,QAAQ;AACxC;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,QAAQ,gEAAY;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,QAAQ,gEAAY;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,6DAAkB;AACrC;AACA;AACA;AACA,mBAAmB,uDAAY;AAC/B;AACA,YAAY,0DAAS;AACrB,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,mDAAU;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,CAAC,mDAAU;AACO;AACnB;AACA,IAAI,gDAAS;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wIAAwI,6DAAkB;AAC1J;AACA;AACA,CAAC;AAC2B;;;;;;;;;;;;;;;;;AChKe;AACpC,gBAAgB,mDAAU,yBAAyB,+BAA+B;AAClF;AACP;AACA;AACA;AACA,eAAe,mDAAU,yBAAyB,wCAAwC,+BAA+B,IAAI;AAC7H;;;;;;;;;;;;;;;;;;;;ACPiD;AACT;A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AAC;;;;;;;;;;;;;;;;;;;ACPyC;AACE;AAC5C;AACA;AACA;AACO;AACP,WAAW,uDAAU;AACrB;AACO;AACP,WAAW,yDAAW;AACtB;AACO;AACP;AACA;;;;;;;;;;;;;;;;;;;;;;;;ACbyK;AAC3G;AACf;;AAEP;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,GAAG;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,OAAO,2BAA2B,kCAAkC,UAAU,OAAO,EAAE,gCAAgC;AACrJ;AACA;AACA,yDAAyD,gCAAgC,sDAAe,CAAC,iDAAa;AACtH,oCAAoC,gEAAyB,GAAG,mDAAmD;AACnH;AACA;AACA,MAAM,MAAM,iDAAM;AAClB;AACA,eAAe,mDAAmD,+DAAwB;AAC1F,cAAc,qDAAU;AACxB,KAAK,iBAAiB,UAAU,MAAM,iDAAa,EAAE,IAAI,UAAU;;AAEnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,uDAAY;AACvC;AACA;AACA;AACA,wBAAwB,uDAAY;AACpC;AACA;AACA;AACA,yBAAyB,uDAAY;AACrC;AACA;AACA;AACA,yBAAyB,uDAAY;AACrC;AACA;AACA;AACA,yBAAyB,uDAAY;AACrC;AACA;AACA;AACA,0BAA0B,uDAAY;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,qDAAS,aAAa,+DAAoB;AACzF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,cAAc;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2EAA2E,yCAAyC,+DAAwB,CAAC,oDAAgB,GAAG,+DAAwB,CAAC,iDAAa,GAAG,+DAAwB,CAAC,mDAAe,GAAG,+DAAwB;AAC5Q,4CAA4C,+DAAwB,GAAG,wCAAwC,sGAAsG,aAAa,oGAAoG,aAAa,kEAA2B,GAAG;AACjX;AACA;A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","sources":["./node_modules/@angular/fire/fesm2015/angular-fire-compat-auth.js","./node_modules/@angular/fire/node_modules/rxjs/dist/esm5/internal/ReplaySubject.js","./node_modules/@angular/fire/node_modules/rxjs/dist/esm5/internal/Subject.js","./node_modules/@angular/fire/node_modules/rxjs/dist/esm5/internal/observable/empty.js","./node_modules/@angular/fire/node_modules/rxjs/dist/esm5/internal/observable/merge.js","./node_modules/@angular/fire/node_modules/rxjs/dist/esm5/internal/observable/of.js","./node_modules/@angular/fire/node_modules/rxjs/dist/esm5/internal/operators/defaultIfEmpty.js","./node_modules/@angular/fire/node_modules/rxjs/dist/esm5/internal/operators/filter.js","./node_modules/@angular/fire/node_modules/rxjs/dist/esm5/internal/operators/first.js","./node_modules/@angular/fire/node_modules/rxjs/dist/esm5/internal/operators/mergeAll.js","./node_modules/@angular/fire/node_modules/rxjs/dist/esm5/internal/operators/share.js","./node_modules/@angular/fire/node_modules/rxjs/dist/esm5/internal/operators/shareReplay.js","./node_modules/@angular/fire/node_modules/rxjs/dist/esm5/internal/operators/switchMap.js","./node_modules/@angular/fire/node_modules/rxjs/dist/esm5/internal/operators/switchMapTo.js","./node_modules/@angular/fire/node_modules/rxjs/dist/esm5/internal/operators/take.js","./node_modules/@angular/fire/node_modules/rxjs/dist/esm5/internal/operators/throwIfEmpty.js","./node_modules/@angular/fire/node_modules/rxjs/dist/esm5/internal/util/EmptyError.js","./node_modules/@angular/fire/node_modules/rxjs/dist/esm5/internal/util/ObjectUnsubscribedError.js","./node_modules/@angular/fire/node_modules/rxjs/dist/esm5/internal/util/args.js","./node_modules/ngx-captcha/__ivy_ngcc__/fesm2015/ngx-captcha.js"],"sourcesContent":["\nimport * as i0 from '@angular/core';\nimport { InjectionToken, PLATFORM_ID, Injectable, Inject, Optional, NgModule } from '@angular/core';\nimport { Subject, of, Observable, from, merge } from 'rxjs';\nimport { observeOn, switchMap, map, shareReplay, first, switchMapTo, subscribeOn, filter } from 'rxjs/operators';\nimport * as i1 from '@angular/fire';\nimport { keepUnstableUntilFirst, VERSION } from '@angular/fire';\nimport { ɵcacheInstance, ɵfirebaseAppFactory, ɵlazySDKProxy, FIREBASE_OPTIONS, FIREBASE_APP_NAME, ɵapplyMixins } from '@angular/fire/compat';\nimport { isPlatformServer } from '@angular/common';\nimport * as i2 from '@angular/fire/app-check';\nimport firebase from 'firebase/compat/app';\n\n// DO NOT MODIFY, this file is autogenerated by tools/build.ts\n// Export a null object with the same keys as firebase/compat/auth, so Proxy can work with proxy-polyfill in Internet Explorer\nconst proxyPolyfillCompat = {\n name: null,\n config: null,\n emulatorConfig: null,\n app: null,\n applyActionCode: null,\n checkActionCode: null,\n confirmPasswordReset: null,\n createUserWithEmailAndPassword: null,\n currentUser: null,\n fetchSignInMethodsForEmail: null,\n isSignInWithEmailLink: null,\n getRedirectResult: null,\n languageCode: null,\n settings: null,\n onAuthStateChanged: null,\n onIdTokenChanged: null,\n sendSignInLinkToEmail: null,\n sendPasswordResetEmail: null,\n setPersistence: null,\n signInAndRetrieveDataWithCredential: null,\n signInAnonymously: null,\n signInWithCredential: null,\n signInWithCustomToken: null,\n signInWithEmailAndPassword: null,\n signInWithPhoneNumber: null,\n signInWithEmailLink: null,\n signInWithPopup: null,\n signInWithRedirect: null,\n signOut: null,\n tenantId: null,\n updateCurrentUser: null,\n useDeviceLanguage: null,\n useEmulator: null,\n verifyPasswordResetCode: null,\n};\n\nconst USE_EMULATOR = new InjectionToken('angularfire2.auth.use-emulator');\nconst SETTINGS = new InjectionToken('angularfire2.auth.settings');\nconst TENANT_ID = new InjectionToken('angularfire2.auth.tenant-id');\nconst LANGUAGE_CODE = new InjectionToken('angularfire2.auth.langugage-code');\nconst USE_DEVICE_LANGUAGE = new InjectionToken('angularfire2.auth.use-device-language');\nconst PERSISTENCE = new InjectionToken('angularfire.auth.persistence');\nconst ɵauthFactory = (app, zone, useEmulator, tenantId, languageCode, useDeviceLanguage, settings, persistence) => ɵcacheInstance(`${app.name}.auth`, 'AngularFireAuth', app.name, () => {\n const auth = zone.runOutsideAngular(() => app.auth());\n if (useEmulator) {\n auth.useEmulator(...useEmulator);\n }\n if (tenantId) {\n auth.tenantId = tenantId;\n }\n auth.languageCode = languageCode;\n if (useDeviceLanguage) {\n auth.useDeviceLanguage();\n }\n if (settings) {\n for (const [k, v] of Object.entries(settings)) {\n auth.settings[k] = v;\n }\n }\n if (persistence) {\n auth.setPersistence(persistence);\n }\n return auth;\n}, [useEmulator, tenantId, languageCode, useDeviceLanguage, settings, persistence]);\nclass AngularFireAuth {\n constructor(options, name, \n // tslint:disable-next-line:ban-types\n platformId, zone, schedulers, useEmulator, // can't use the tuple here\n settings, // can't use firebase.auth.AuthSettings here\n tenantId, languageCode, useDeviceLanguage, persistence, _appCheckInstances) {\n const logins = new Subject();\n const auth = of(undefined).pipe(observeOn(schedulers.outsideAngular), switchMap(() => zone.runOutsideAngular(() => import('firebase/compat/auth'))), map(() => ɵfirebaseAppFactory(options, zone, name)), map(app => ɵauthFactory(app, zone, useEmulator, tenantId, languageCode, useDeviceLanguage, settings, persistence)), shareReplay({ bufferSize: 1, refCount: false }));\n if (isPlatformServer(platformId)) {\n this.authState = this.user = this.idToken = this.idTokenResult = this.credential = of(null);\n }\n else {\n // HACK, as we're exporting auth.Auth, rather than auth, developers importing firebase.auth\n // (e.g, `import { auth } from 'firebase/compat/app'`) are getting an undefined auth object unexpectedly\n // as we're completely lazy. Let's eagerly load the Auth SDK here.\n // There could potentially be race conditions still... but this greatly decreases the odds while\n // we reevaluate the API.\n const _ = auth.pipe(first()).subscribe();\n const redirectResult = auth.pipe(switchMap(auth => auth.getRedirectResult().then(it => it, () => null)), keepUnstableUntilFirst, shareReplay({ bufferSize: 1, refCount: false }));\n const authStateChanged = auth.pipe(switchMap(auth => new Observable(sub => ({ unsubscribe: zone.runOutsideAngular(() => auth.onAuthStateChanged(next => sub.next(next), err => sub.error(err), () => sub.complete())) }))));\n const idTokenChanged = auth.pipe(switchMap(auth => new Observable(sub => ({ unsubscribe: zone.runOutsideAngular(() => auth.onIdTokenChanged(next => sub.next(next), err => sub.error(err), () => sub.complete())) }))));\n this.authState = redirectResult.pipe(switchMapTo(authStateChanged), subscribeOn(schedulers.outsideAngular), observeOn(schedulers.insideAngular));\n this.user = redirectResult.pipe(switchMapTo(idTokenChanged), subscribeOn(schedulers.outsideAngular), observeOn(schedulers.insideAngular));\n this.idToken = this.user.pipe(switchMap(user => user ? from(user.getIdToken()) : of(null)));\n this.idTokenResult = this.user.pipe(switchMap(user => user ? from(user.getIdTokenResult()) : of(null)));\n this.credential = merge(redirectResult, logins, \n // pipe in null authState to make credential zipable, just a weird devexp if\n // authState and user go null to still have a credential\n this.authState.pipe(filter(it => !it))).pipe(\n // handle the { user: { } } when a user is already logged in, rather have null\n // TODO handle the type corcersion better\n map(credential => (credential === null || credential === void 0 ? void 0 : credential.user) ? credential : null), subscribeOn(schedulers.outsideAngular), observeOn(schedulers.insideAngular));\n }\n return ɵlazySDKProxy(this, auth, zone, { spy: {\n apply: (name, _, val) => {\n // If they call a signIn or createUser function listen into the promise\n // this will give us the user credential, push onto the logins Subject\n // to be consumed in .credential\n if (name.startsWith('signIn') || name.startsWith('createUser')) {\n // TODO fix the types, the trouble is UserCredential has everything optional\n val.then((user) => logins.next(user));\n }\n }\n } });\n }\n}\nAngularFireAuth.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.1.3\", ngImport: i0, type: AngularFireAuth, deps: [{ token: FIREBASE_OPTIONS }, { token: FIREBASE_APP_NAME, optional: true }, { token: PLATFORM_ID }, { token: i0.NgZone }, { token: i1.ɵAngularFireSchedulers }, { token: USE_EMULATOR, optional: true }, { token: SETTINGS, optional: true }, { token: TENANT_ID, optional: true }, { token: LANGUAGE_CODE, optional: true }, { token: USE_DEVICE_LANGUAGE, optional: true }, { token: PERSISTENCE, optional: true }, { token: i2.AppCheckInstances, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });\nAngularFireAuth.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"12.1.3\", ngImport: i0, type: AngularFireAuth, providedIn: 'any' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.1.3\", ngImport: i0, type: AngularFireAuth, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'any'\n }]\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [FIREBASE_OPTIONS]\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [FIREBASE_APP_NAME]\n }] }, { type: Object, decorators: [{\n type: Inject,\n args: [PLATFORM_ID]\n }] }, { type: i0.NgZone }, { type: i1.ɵAngularFireSchedulers }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [USE_EMULATOR]\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [SETTINGS]\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [TENANT_ID]\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [LANGUAGE_CODE]\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [USE_DEVICE_LANGUAGE]\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [PERSISTENCE]\n }] }, { type: i2.AppCheckInstances, decorators: [{\n type: Optional\n }] }]; } });\nɵapplyMixins(AngularFireAuth, [proxyPolyfillCompat]);\n\nclass AngularFireAuthModule {\n constructor() {\n firebase.registerVersion('angularfire', VERSION.full, 'auth-compat');\n }\n}\nAngularFireAuthModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.1.3\", ngImport: i0, type: AngularFireAuthModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nAngularFireAuthModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"12.0.0\", version: \"12.1.3\", ngImport: i0, type: AngularFireAuthModule });\nAngularFireAuthModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"12.1.3\", ngImport: i0, type: AngularFireAuthModule, providers: [AngularFireAuth] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.1.3\", ngImport: i0, type: AngularFireAuthModule, decorators: [{\n type: NgModule,\n args: [{\n providers: [AngularFireAuth]\n }]\n }], ctorParameters: function () { return []; } });\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { AngularFireAuth, AngularFireAuthModule, LANGUAGE_CODE, PERSISTENCE, SETTINGS, TENANT_ID, USE_DEVICE_LANGUAGE, USE_EMULATOR, ɵauthFactory };\n","import { __extends } from \"tslib\";\nimport { Subject } from './Subject';\nimport { dateTimestampProvider } from './scheduler/dateTimestampProvider';\nvar ReplaySubject = (function (_super) {\n __extends(ReplaySubject, _super);\n function ReplaySubject(_bufferSize, _windowTime, _timestampProvider) {\n if (_bufferSize === void 0) { _bufferSize = Infinity; }\n if (_windowTime === void 0) { _windowTime = Infinity; }\n if (_timestampProvider === void 0) { _timestampProvider = dateTimestampProvider; }\n var _this = _super.call(this) || this;\n _this._bufferSize = _bufferSize;\n _this._windowTime = _windowTime;\n _this._timestampProvider = _timestampProvider;\n _this._buffer = [];\n _this._infiniteTimeWindow = true;\n _this._infiniteTimeWindow = _windowTime === Infinity;\n _this._bufferSize = Math.max(1, _bufferSize);\n _this._windowTime = Math.max(1, _windowTime);\n return _this;\n }\n ReplaySubject.prototype.next = function (value) {\n var _a = this, isStopped = _a.isStopped, _buffer = _a._buffer, _infiniteTimeWindow = _a._infiniteTimeWindow, _timestampProvider = _a._timestampProvider, _windowTime = _a._windowTime;\n if (!isStopped) {\n _buffer.push(value);\n !_infiniteTimeWindow && _buffer.push(_timestampProvider.now() + _windowTime);\n }\n this._trimBuffer();\n _super.prototype.next.call(this, value);\n };\n ReplaySubject.prototype._subscribe = function (subscriber) {\n this._throwIfClosed();\n this._trimBuffer();\n var subscription = this._innerSubscribe(subscriber);\n var _a = this, _infiniteTimeWindow = _a._infiniteTimeWindow, _buffer = _a._buffer;\n var copy = _buffer.slice();\n for (var i = 0; i < copy.length && !subscriber.closed; i += _infiniteTimeWindow ? 1 : 2) {\n subscriber.next(copy[i]);\n }\n this._checkFinalizedStatuses(subscriber);\n return subscription;\n };\n ReplaySubject.prototype._trimBuffer = function () {\n var _a = this, _bufferSize = _a._bufferSize, _timestampProvider = _a._timestampProvider, _buffer = _a._buffer, _infiniteTimeWindow = _a._infiniteTimeWindow;\n var adjustedBufferSize = (_infiniteTimeWindow ? 1 : 2) * _bufferSize;\n _bufferSize < Infinity && adjustedBufferSize < _buffer.length && _buffer.splice(0, _buffer.length - adjustedBufferSize);\n if (!_infiniteTimeWindow) {\n var now = _timestampProvider.now();\n var last = 0;\n for (var i = 1; i < _buffer.length && _buffer[i] <= now; i += 2) {\n last = i;\n }\n last && _buffer.splice(0, last + 1);\n }\n };\n return ReplaySubject;\n}(Subject));\nexport { ReplaySubject };\n","import { __extends, __values } from \"tslib\";\nimport { Observable } from './Observable';\nimport { Subscription, EMPTY_SUBSCRIPTION } from './Subscription';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nimport { arrRemove } from './util/arrRemove';\nimport { errorContext } from './util/errorContext';\nvar Subject = (function (_super) {\n __extends(Subject, _super);\n function Subject() {\n var _this = _super.call(this) || this;\n _this.closed = false;\n _this.currentObservers = null;\n _this.observers = [];\n _this.isStopped = false;\n _this.hasError = false;\n _this.thrownError = null;\n return _this;\n }\n Subject.prototype.lift = function (operator) {\n var subject = new AnonymousSubject(this, this);\n subject.operator = operator;\n return subject;\n };\n Subject.prototype._throwIfClosed = function () {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n };\n Subject.prototype.next = function (value) {\n var _this = this;\n errorContext(function () {\n var e_1, _a;\n _this._throwIfClosed();\n if (!_this.isStopped) {\n if (!_this.currentObservers) {\n _this.currentObservers = Array.from(_this.observers);\n }\n try {\n for (var _b = __values(_this.currentObservers), _c = _b.next(); !_c.done; _c = _b.next()) {\n var observer = _c.value;\n observer.next(value);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n }\n });\n };\n Subject.prototype.error = function (err) {\n var _this = this;\n errorContext(function () {\n _this._throwIfClosed();\n if (!_this.isStopped) {\n _this.hasError = _this.isStopped = true;\n _this.thrownError = err;\n var observers = _this.observers;\n while (observers.length) {\n observers.shift().error(err);\n }\n }\n });\n };\n Subject.prototype.complete = function () {\n var _this = this;\n errorContext(function () {\n _this._throwIfClosed();\n if (!_this.isStopped) {\n _this.isStopped = true;\n var observers = _this.observers;\n while (observers.length) {\n observers.shift().complete();\n }\n }\n });\n };\n Subject.prototype.unsubscribe = function () {\n this.isStopped = this.closed = true;\n this.observers = this.currentObservers = null;\n };\n Object.defineProperty(Subject.prototype, \"observed\", {\n get: function () {\n var _a;\n return ((_a = this.observers) === null || _a === void 0 ? void 0 : _a.length) > 0;\n },\n enumerable: false,\n configurable: true\n });\n Subject.prototype._trySubscribe = function (subscriber) {\n this._throwIfClosed();\n return _super.prototype._trySubscribe.call(this, subscriber);\n };\n Subject.prototype._subscribe = function (subscriber) {\n this._throwIfClosed();\n this._checkFinalizedStatuses(subscriber);\n return this._innerSubscribe(subscriber);\n };\n Subject.prototype._innerSubscribe = function (subscriber) {\n var _this = this;\n var _a = this, hasError = _a.hasError, isStopped = _a.isStopped, observers = _a.observers;\n if (hasError || isStopped) {\n return EMPTY_SUBSCRIPTION;\n }\n this.currentObservers = null;\n observers.push(subscriber);\n return new Subscription(function () {\n _this.currentObservers = null;\n arrRemove(observers, subscriber);\n });\n };\n Subject.prototype._checkFinalizedStatuses = function (subscriber) {\n var _a = this, hasError = _a.hasError, thrownError = _a.thrownError, isStopped = _a.isStopped;\n if (hasError) {\n subscriber.error(thrownError);\n }\n else if (isStopped) {\n subscriber.complete();\n }\n };\n Subject.prototype.asObservable = function () {\n var observable = new Observable();\n observable.source = this;\n return observable;\n };\n Subject.create = function (destination, source) {\n return new AnonymousSubject(destination, source);\n };\n return Subject;\n}(Observable));\nexport { Subject };\nvar AnonymousSubject = (function (_super) {\n __extends(AnonymousSubject, _super);\n function AnonymousSubject(destination, source) {\n var _this = _super.call(this) || this;\n _this.destination = destination;\n _this.source = source;\n return _this;\n }\n AnonymousSubject.prototype.next = function (value) {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.next) === null || _b === void 0 ? void 0 : _b.call(_a, value);\n };\n AnonymousSubject.prototype.error = function (err) {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.error) === null || _b === void 0 ? void 0 : _b.call(_a, err);\n };\n AnonymousSubject.prototype.complete = function () {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.complete) === null || _b === void 0 ? void 0 : _b.call(_a);\n };\n AnonymousSubject.prototype._subscribe = function (subscriber) {\n var _a, _b;\n return (_b = (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber)) !== null && _b !== void 0 ? _b : EMPTY_SUBSCRIPTION;\n };\n return AnonymousSubject;\n}(Subject));\nexport { AnonymousSubject };\n","import { Observable } from '../Observable';\nexport var EMPTY = new Observable(function (subscriber) { return subscriber.complete(); });\nexport function empty(scheduler) {\n return scheduler ? emptyScheduled(scheduler) : EMPTY;\n}\nfunction emptyScheduled(scheduler) {\n return new Observable(function (subscriber) { return scheduler.schedule(function () { return subscriber.complete(); }); });\n}\n","import { mergeAll } from '../operators/mergeAll';\nimport { innerFrom } from './innerFrom';\nimport { EMPTY } from './empty';\nimport { popNumber, popScheduler } from '../util/args';\nimport { from } from './from';\nexport function merge() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var scheduler = popScheduler(args);\n var concurrent = popNumber(args, Infinity);\n var sources = args;\n return !sources.length\n ?\n EMPTY\n : sources.length === 1\n ?\n innerFrom(sources[0])\n :\n mergeAll(concurrent)(from(sources, scheduler));\n}\n","import { popScheduler } from '../util/args';\nimport { from } from './from';\nexport function of() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var scheduler = popScheduler(args);\n return from(args, scheduler);\n}\n","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function defaultIfEmpty(defaultValue) {\n return operate(function (source, subscriber) {\n var hasValue = false;\n source.subscribe(createOperatorSubscriber(subscriber, function (value) {\n hasValue = true;\n subscriber.next(value);\n }, function () {\n if (!hasValue) {\n subscriber.next(defaultValue);\n }\n subscriber.complete();\n }));\n });\n}\n","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function filter(predicate, thisArg) {\n return operate(function (source, subscriber) {\n var index = 0;\n source.subscribe(createOperatorSubscriber(subscriber, function (value) { return predicate.call(thisArg, value, index++) && subscriber.next(value); }));\n });\n}\n","import { EmptyError } from '../util/EmptyError';\nimport { filter } from './filter';\nimport { take } from './take';\nimport { defaultIfEmpty } from './defaultIfEmpty';\nimport { throwIfEmpty } from './throwIfEmpty';\nimport { identity } from '../util/identity';\nexport function first(predicate, defaultValue) {\n var hasDefaultValue = arguments.length >= 2;\n return function (source) {\n return source.pipe(predicate ? filter(function (v, i) { return predicate(v, i, source); }) : identity, take(1), hasDefaultValue ? defaultIfEmpty(defaultValue) : throwIfEmpty(function () { return new EmptyError(); }));\n };\n}\n","import { mergeMap } from './mergeMap';\nimport { identity } from '../util/identity';\nexport function mergeAll(concurrent) {\n if (concurrent === void 0) { concurrent = Infinity; }\n return mergeMap(identity, concurrent);\n}\n","import { __read, __spreadArray } from \"tslib\";\nimport { from } from '../observable/from';\nimport { take } from '../operators/take';\nimport { Subject } from '../Subject';\nimport { SafeSubscriber } from '../Subscriber';\nimport { operate } from '../util/lift';\nexport function share(options) {\n if (options === void 0) { options = {}; }\n var _a = options.connector, connector = _a === void 0 ? function () { return new Subject(); } : _a, _b = options.resetOnError, resetOnError = _b === void 0 ? true : _b, _c = options.resetOnComplete, resetOnComplete = _c === void 0 ? true : _c, _d = options.resetOnRefCountZero, resetOnRefCountZero = _d === void 0 ? true : _d;\n return function (wrapperSource) {\n var connection = null;\n var resetConnection = null;\n var subject = null;\n var refCount = 0;\n var hasCompleted = false;\n var hasErrored = false;\n var cancelReset = function () {\n resetConnection === null || resetConnection === void 0 ? void 0 : resetConnection.unsubscribe();\n resetConnection = null;\n };\n var reset = function () {\n cancelReset();\n connection = subject = null;\n hasCompleted = hasErrored = false;\n };\n var resetAndUnsubscribe = function () {\n var conn = connection;\n reset();\n conn === null || conn === void 0 ? void 0 : conn.unsubscribe();\n };\n return operate(function (source, subscriber) {\n refCount++;\n if (!hasErrored && !hasCompleted) {\n cancelReset();\n }\n var dest = (subject = subject !== null && subject !== void 0 ? subject : connector());\n subscriber.add(function () {\n refCount--;\n if (refCount === 0 && !hasErrored && !hasCompleted) {\n resetConnection = handleReset(resetAndUnsubscribe, resetOnRefCountZero);\n }\n });\n dest.subscribe(subscriber);\n if (!connection) {\n connection = new SafeSubscriber({\n next: function (value) { return dest.next(value); },\n error: function (err) {\n hasErrored = true;\n cancelReset();\n resetConnection = handleReset(reset, resetOnError, err);\n dest.error(err);\n },\n complete: function () {\n hasCompleted = true;\n cancelReset();\n resetConnection = handleReset(reset, resetOnComplete);\n dest.complete();\n },\n });\n from(source).subscribe(connection);\n }\n })(wrapperSource);\n };\n}\nfunction handleReset(reset, on) {\n var args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n if (on === true) {\n reset();\n return null;\n }\n if (on === false) {\n return null;\n }\n return on.apply(void 0, __spreadArray([], __read(args))).pipe(take(1))\n .subscribe(function () { return reset(); });\n}\n","import { ReplaySubject } from '../ReplaySubject';\nimport { share } from './share';\nexport function shareReplay(configOrBufferSize, windowTime, scheduler) {\n var _a, _b, _c;\n var bufferSize;\n var refCount = false;\n if (configOrBufferSize && typeof configOrBufferSize === 'object') {\n (_a = configOrBufferSize.bufferSize, bufferSize = _a === void 0 ? Infinity : _a, _b = configOrBufferSize.windowTime, windowTime = _b === void 0 ? Infinity : _b, _c = configOrBufferSize.refCount, refCount = _c === void 0 ? false : _c, scheduler = configOrBufferSize.scheduler);\n }\n else {\n bufferSize = configOrBufferSize !== null && configOrBufferSize !== void 0 ? configOrBufferSize : Infinity;\n }\n return share({\n connector: function () { return new ReplaySubject(bufferSize, windowTime, scheduler); },\n resetOnError: true,\n resetOnComplete: false,\n resetOnRefCountZero: refCount,\n });\n}\n","import { innerFrom } from '../observable/innerFrom';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function switchMap(project, resultSelector) {\n return operate(function (source, subscriber) {\n var innerSubscriber = null;\n var index = 0;\n var isComplete = false;\n var checkComplete = function () { return isComplete && !innerSubscriber && subscriber.complete(); };\n source.subscribe(createOperatorSubscriber(subscriber, function (value) {\n innerSubscriber === null || innerSubscriber === void 0 ? void 0 : innerSubscriber.unsubscribe();\n var innerIndex = 0;\n var outerIndex = index++;\n innerFrom(project(value, outerIndex)).subscribe((innerSubscriber = createOperatorSubscriber(subscriber, function (innerValue) { return subscriber.next(resultSelector ? resultSelector(value, innerValue, outerIndex, innerIndex++) : innerValue); }, function () {\n innerSubscriber = null;\n checkComplete();\n })));\n }, function () {\n isComplete = true;\n checkComplete();\n }));\n });\n}\n","import { switchMap } from './switchMap';\nimport { isFunction } from '../util/isFunction';\nexport function switchMapTo(innerObservable, resultSelector) {\n return isFunction(resultSelector) ? switchMap(function () { return innerObservable; }, resultSelector) : switchMap(function () { return innerObservable; });\n}\n","import { EMPTY } from '../observable/empty';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function take(count) {\n return count <= 0\n ?\n function () { return EMPTY; }\n : operate(function (source, subscriber) {\n var seen = 0;\n source.subscribe(createOperatorSubscriber(subscriber, function (value) {\n if (++seen <= count) {\n subscriber.next(value);\n if (count <= seen) {\n subscriber.complete();\n }\n }\n }));\n });\n}\n","import { EmptyError } from '../util/EmptyError';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function throwIfEmpty(errorFactory) {\n if (errorFactory === void 0) { errorFactory = defaultErrorFactory; }\n return operate(function (source, subscriber) {\n var hasValue = false;\n source.subscribe(createOperatorSubscriber(subscriber, function (value) {\n hasValue = true;\n subscriber.next(value);\n }, function () { return (hasValue ? subscriber.complete() : subscriber.error(errorFactory())); }));\n });\n}\nfunction defaultErrorFactory() {\n return new EmptyError();\n}\n","import { createErrorClass } from './createErrorClass';\nexport var EmptyError = createErrorClass(function (_super) { return function EmptyErrorImpl() {\n _super(this);\n this.name = 'EmptyError';\n this.message = 'no elements in sequence';\n}; });\n","import { createErrorClass } from './createErrorClass';\nexport var ObjectUnsubscribedError = createErrorClass(function (_super) {\n return function ObjectUnsubscribedErrorImpl() {\n _super(this);\n this.name = 'ObjectUnsubscribedError';\n this.message = 'object unsubscribed';\n };\n});\n","import { isFunction } from './isFunction';\nimport { isScheduler } from './isScheduler';\nfunction last(arr) {\n return arr[arr.length - 1];\n}\nexport function popResultSelector(args) {\n return isFunction(last(args)) ? args.pop() : undefined;\n}\nexport function popScheduler(args) {\n return isScheduler(last(args)) ? args.pop() : undefined;\n}\nexport function popNumber(args, defaultValue) {\n return typeof last(args) === 'number' ? args.pop() : defaultValue;\n}\n","import { Injectable, NgZone, EventEmitter, InjectFlags, Directive, Renderer2, Injector, Input, Output, Component, forwardRef, ViewChild, NgModule } from '@angular/core';\nimport { NgControl, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\n\nimport * as ɵngcc0 from '@angular/core';\n\nconst _c0 = [\"captchaWrapperElem\"];\nclass ScriptService {\r\n constructor(zone) {\r\n this.zone = zone;\r\n /**\r\n * Name of the global google recaptcha script\r\n */\r\n this.windowGrecaptcha = 'grecaptcha';\r\n /**\r\n * Name of the global callback\r\n */\r\n this.windowOnLoadCallbackProperty = 'ngx_captcha_onload_callback';\r\n this.globalDomain = 'recaptcha.net';\r\n this.defaultDomain = 'google.com';\r\n }\r\n registerCaptchaScript(useGlobalDomain, render, onLoad, language) {\r\n if (this.grecaptchaScriptLoaded()) {\r\n // recaptcha script is already loaded\r\n // just call the callback\r\n this.zone.run(() => {\r\n onLoad(window[this.windowGrecaptcha]);\r\n });\r\n return;\r\n }\r\n // we need to patch the callback through global variable, otherwise callback is not accessible\r\n // note: https://github.com/Enngage/ngx-captcha/issues/2\r\n window[this.windowOnLoadCallbackProperty] = (() => this.zone.run(onLoad.bind(this, window[this.windowGrecaptcha])));\r\n // prepare script elem\r\n const scriptElem = document.createElement('script');\r\n scriptElem.innerHTML = '';\r\n scriptElem.src = this.getCaptchaScriptUrl(useGlobalDomain, render, language);\r\n scriptElem.async = true;\r\n scriptElem.defer = true;\r\n // add script to header\r\n document.getElementsByTagName('head')[0].appendChild(scriptElem);\r\n }\r\n cleanup() {\r\n window[this.windowOnLoadCallbackProperty] = undefined;\r\n window[this.windowGrecaptcha] = undefined;\r\n }\r\n /**\r\n * Indicates if google recaptcha script is available and ready to be used\r\n */\r\n grecaptchaScriptLoaded() {\r\n if (window[this.windowOnLoadCallbackProperty] && window[this.windowGrecaptcha]) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n /**\r\n * Gets language param used in script url\r\n */\r\n getLanguageParam(hl) {\r\n if (!hl) {\r\n return '';\r\n }\r\n return `&hl=${hl}`;\r\n }\r\n /**\r\n * Url to google api script\r\n */\r\n getCaptchaScriptUrl(useGlobalDomain, render, language) {\r\n const domain = useGlobalDomain ? this.globalDomain : this.defaultDomain;\r\n // tslint:disable-next-line:max-line-length\r\n return `https://www.${domain}/recaptcha/api.js?onload=${this.windowOnLoadCallbackProperty}&render=${render}${this.getLanguageParam(language)}`;\r\n }\r\n}\nScriptService.ɵfac = function ScriptService_Factory(t) { return new (t || ScriptService)(ɵngcc0.ɵɵinject(ɵngcc0.NgZone)); };\nScriptService.ɵprov = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjectable({ token: ScriptService, factory: ScriptService.ɵfac });\r\n/** @nocollapse */\r\nScriptService.ctorParameters = () => [\r\n { type: NgZone }\r\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(ScriptService, [{\n type: Injectable\n }], function () { return [{ type: ɵngcc0.NgZone }]; }, null); })();\n\nclass BaseReCaptchaComponent {\r\n constructor(renderer, zone, injector, scriptService) {\r\n this.renderer = renderer;\r\n this.zone = zone;\r\n this.injector = injector;\r\n this.scriptService = scriptService;\r\n /**\r\n * Prefix of the captcha element\r\n */\r\n this.captchaElemPrefix = 'ngx_captcha_id_';\r\n this.setupCaptcha = true;\r\n /**\r\n * Indicates if global domain 'recaptcha.net' should be used instead of default domain ('google.com')\r\n */\r\n this.useGlobalDomain = false;\r\n /**\r\n * Type\r\n */\r\n this.type = 'image';\r\n /**\r\n * Tab index\r\n */\r\n this.tabIndex = 0;\r\n /**\r\n * Called when captcha receives successful response.\r\n * Captcha response token is passed to event.\r\n */\r\n this.success = new EventEmitter();\r\n /**\r\n * Called when captcha is loaded. Event receives id of the captcha\r\n */\r\n this.load = new EventEmitter();\r\n /**\r\n * Called when captcha is reset.\r\n */\r\n this.reset = new EventEmitter();\r\n /**\r\n * Called when captcha is loaded & ready. I.e. when you need to execute captcha on component load.\r\n */\r\n this.ready = new EventEmitter();\r\n /**\r\n * Error callback\r\n */\r\n this.error = new EventEmitter();\r\n /**\r\n * Expired callback\r\n */\r\n this.expire = new EventEmitter();\r\n /**\r\n * Indicates if captcha should be set on load\r\n */\r\n this.setupAfterLoad = false;\r\n /**\r\n * If enabled, captcha will reset after receiving success response. This is useful\r\n * when invisible captcha need to be resolved multiple times on same page\r\n */\r\n this.resetCaptchaAfterSuccess = false;\r\n /**\r\n * Indicates if captcha is loaded\r\n */\r\n this.isLoaded = false;\r\n }\r\n ngAfterViewInit() {\r\n var _a;\r\n this.control = (_a = this.injector.get(NgControl, undefined, InjectFlags.Optional)) === null || _a === void 0 ? void 0 : _a.control;\r\n }\r\n ngAfterViewChecked() {\r\n if (this.setupCaptcha) {\r\n this.setupCaptcha = false;\r\n this.setupComponent();\r\n }\r\n }\r\n ngOnChanges(changes) {\r\n // cleanup scripts if language changed because they need to be reloaded\r\n if (changes && changes.hl) {\r\n // cleanup scripts when language changes\r\n if (!changes.hl.firstChange && (changes.hl.currentValue !== changes.hl.previousValue)) {\r\n this.scriptService.cleanup();\r\n }\r\n }\r\n if (changes && changes.useGlobalDomain) {\r\n // cleanup scripts when domain changes\r\n if (!changes.useGlobalDomain.firstChange && (changes.useGlobalDomain.currentValue !== changes.useGlobalDomain.previousValue)) {\r\n this.scriptService.cleanup();\r\n }\r\n }\r\n this.setupCaptcha = true;\r\n }\r\n /**\r\n * Gets captcha response as per reCaptcha docs\r\n */\r\n getResponse() {\r\n return this.reCaptchaApi.getResponse(this.captchaId);\r\n }\r\n /**\r\n * Gets Id of captcha widget\r\n */\r\n getCaptchaId() {\r\n return this.captchaId;\r\n }\r\n /**\r\n * Resets captcha\r\n */\r\n resetCaptcha() {\r\n this.zone.run(() => {\r\n // reset captcha using Google js api\r\n this.reCaptchaApi.reset();\r\n // required due to forms\r\n this.onChange(undefined);\r\n this.onTouched(undefined);\r\n // trigger reset event\r\n this.reset.next();\r\n });\r\n }\r\n /**\r\n * Gets last submitted captcha response\r\n */\r\n getCurrentResponse() {\r\n return this.currentResponse;\r\n }\r\n /**\r\n * Reload captcha. Useful when properties (i.e. theme) changed and captcha need to reflect them\r\n */\r\n reloadCaptcha() {\r\n this.setupComponent();\r\n }\r\n ensureCaptchaElem(captchaElemId) {\r\n const captchaElem = document.getElementById(captchaElemId);\r\n if (!captchaElem) {\r\n throw Error(`Captcha element with id '${captchaElemId}' was not found`);\r\n }\r\n // assign captcha alem\r\n this.captchaElem = captchaElem;\r\n }\r\n /**\r\n * Responsible for instantiating captcha element\r\n */\r\n renderReCaptcha() {\r\n // run outside angular zone due to timeout issues when testing\r\n // details: https://github.com/Enngage/ngx-captcha/issues/26\r\n this.zone.runOutsideAngular(() => {\r\n // to fix reCAPTCHA placeholder element must be an element or id\r\n // https://github.com/Enngage/ngx-captcha/issues/96\r\n setTimeout(() => {\r\n this.captchaId = this.reCaptchaApi.render(this.captchaElemId, this.getCaptchaProperties());\r\n this.ready.next();\r\n }, 0);\r\n });\r\n }\r\n /**\r\n * Called when captcha receives response\r\n * @param callback Callback\r\n */\r\n handleCallback(callback) {\r\n this.currentResponse = callback;\r\n this.success.next(callback);\r\n this.zone.run(() => {\r\n this.onChange(callback);\r\n this.onTouched(callback);\r\n });\r\n if (this.resetCaptchaAfterSuccess) {\r\n this.resetCaptcha();\r\n }\r\n }\r\n getPseudoUniqueNumber() {\r\n return new Date().getUTCMilliseconds() + Math.floor(Math.random() * 9999);\r\n }\r\n setupComponent() {\r\n // captcha specific setup\r\n this.captchaSpecificSetup();\r\n // create captcha wrapper\r\n this.createAndSetCaptchaElem();\r\n this.scriptService.registerCaptchaScript(this.useGlobalDomain, 'explicit', (grecaptcha) => {\r\n this.onloadCallback(grecaptcha);\r\n }, this.hl);\r\n }\r\n /**\r\n * Called when google's recaptcha script is ready\r\n */\r\n onloadCallback(grecapcha) {\r\n // assign reference to reCaptcha Api once its loaded\r\n this.reCaptchaApi = grecapcha;\r\n if (!this.reCaptchaApi) {\r\n throw Error(`ReCaptcha Api was not initialized correctly`);\r\n }\r\n // loaded flag\r\n this.isLoaded = true;\r\n // fire load event\r\n this.load.next();\r\n // render captcha\r\n this.renderReCaptcha();\r\n // setup component if it was flagged as such\r\n if (this.setupAfterLoad) {\r\n this.setupAfterLoad = false;\r\n this.setupComponent();\r\n }\r\n }\r\n generateNewElemId() {\r\n return this.captchaElemPrefix + this.getPseudoUniqueNumber();\r\n }\r\n createAndSetCaptchaElem() {\r\n // generate new captcha id\r\n this.captchaElemId = this.generateNewElemId();\r\n if (!this.captchaElemId) {\r\n throw Error(`Captcha elem Id is not set`);\r\n }\r\n if (!this.captchaWrapperElem) {\r\n throw Error(`Captcha DOM element is not initialized`);\r\n }\r\n // remove old html\r\n this.captchaWrapperElem.nativeElement.innerHTML = '';\r\n // create new wrapper for captcha\r\n const newElem = this.renderer.createElement('div');\r\n newElem.id = this.captchaElemId;\r\n this.renderer.appendChild(this.captchaWrapperElem.nativeElement, newElem);\r\n // when use captcha in cdk stepper then throwing error Captcha element with id 'ngx_captcha_id_XXXX' not found\r\n // to fix it checking ensureCaptchaElem in timeout so that its check in next call and its able to find element\r\n setTimeout(() => {\r\n // update captcha elem\r\n if (this.captchaElemId) {\r\n this.ensureCaptchaElem(this.captchaElemId);\r\n }\r\n }, 0);\r\n }\r\n /**\r\n * To be aligned with the ControlValueAccessor interface we need to implement this method\r\n * However as we don't want to update the recaptcha, this doesn't need to be implemented\r\n */\r\n writeValue(obj) { }\r\n /**\r\n * This method helps us tie together recaptcha and our formControl values\r\n */\r\n registerOnChange(fn) {\r\n this.onChange = fn;\r\n }\r\n /**\r\n * At some point we might be interested whether the user has touched our component\r\n */\r\n registerOnTouched(fn) {\r\n this.onTouched = fn;\r\n }\r\n /**\r\n * Handles error callback\r\n */\r\n handleErrorCallback() {\r\n this.zone.run(() => {\r\n this.onChange(undefined);\r\n this.onTouched(undefined);\r\n });\r\n this.error.next();\r\n }\r\n /**\r\n * Handles expired callback\r\n */\r\n handleExpireCallback() {\r\n this.expire.next();\r\n // reset captcha on expire callback\r\n this.resetCaptcha();\r\n }\r\n}\nBaseReCaptchaComponent.ɵfac = function BaseReCaptchaComponent_Factory(t) { return new (t || BaseReCaptchaComponent)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.Renderer2), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.Injector), ɵngcc0.ɵɵdirectiveInject(ScriptService)); };\nBaseReCaptchaComponent.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: BaseReCaptchaComponent, inputs: { useGlobalDomain: \"useGlobalDomain\", type: \"type\", tabIndex: \"tabIndex\", siteKey: \"siteKey\", hl: \"hl\" }, outputs: { success: \"success\", load: \"load\", reset: \"reset\", ready: \"ready\", error: \"error\", expire: \"expire\" }, features: [ɵngcc0.ɵɵNgOnChangesFeature] });\r\n/** @nocollapse */\r\nBaseReCaptchaComponent.ctorParameters = () => [\r\n { type: Renderer2 },\r\n { type: NgZone },\r\n { type: Injector },\r\n { type: ScriptService }\r\n];\r\nBaseReCaptchaComponent.propDecorators = {\r\n siteKey: [{ type: Input }],\r\n useGlobalDomain: [{ type: Input }],\r\n type: [{ type: Input }],\r\n hl: [{ type: Input }],\r\n tabIndex: [{ type: Input }],\r\n success: [{ type: Output }],\r\n load: [{ type: Output }],\r\n reset: [{ type: Output }],\r\n ready: [{ type: Output }],\r\n error: [{ type: Output }],\r\n expire: [{ type: Output }]\r\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(BaseReCaptchaComponent, [{\n type: Directive\n }], function () { return [{ type: ɵngcc0.Renderer2 }, { type: ɵngcc0.NgZone }, { type: ɵngcc0.Injector }, { type: ScriptService }]; }, { useGlobalDomain: [{\n type: Input\n }], type: [{\n type: Input\n }], tabIndex: [{\n type: Input\n }], success: [{\n type: Output\n }], load: [{\n type: Output\n }], reset: [{\n type: Output\n }], ready: [{\n type: Output\n }], error: [{\n type: Output\n }], expire: [{\n type: Output\n }], siteKey: [{\n type: Input\n }], hl: [{\n type: Input\n }] }); })();\n\nvar ReCaptchaType;\r\n(function (ReCaptchaType) {\r\n ReCaptchaType[ReCaptchaType[\"InvisibleReCaptcha\"] = 0] = \"InvisibleReCaptcha\";\r\n ReCaptchaType[ReCaptchaType[\"ReCaptcha2\"] = 1] = \"ReCaptcha2\";\r\n})(ReCaptchaType || (ReCaptchaType = {}));\n\nclass InvisibleReCaptchaComponent extends BaseReCaptchaComponent {\r\n constructor(renderer, zone, injector, scriptService) {\r\n super(renderer, zone, injector, scriptService);\r\n this.renderer = renderer;\r\n this.zone = zone;\r\n this.injector = injector;\r\n this.scriptService = scriptService;\r\n /**\r\n * This size representing invisible captcha\r\n */\r\n this.size = 'invisible';\r\n /**\r\n * Theme\r\n */\r\n this.theme = 'light';\r\n /**\r\n * Badge\r\n */\r\n this.badge = 'bottomright';\r\n this.recaptchaType = ReCaptchaType.InvisibleReCaptcha;\r\n }\r\n ngOnChanges(changes) {\r\n super.ngOnChanges(changes);\r\n }\r\n /**\r\n * Programatically invoke the reCAPTCHA check. Used if the invisible reCAPTCHA is on a div instead of a button.\r\n */\r\n execute() {\r\n // execute captcha\r\n this.zone.runOutsideAngular(() => this.reCaptchaApi.execute(this.captchaId));\r\n }\r\n captchaSpecificSetup() {\r\n }\r\n /**\r\n * Gets reCaptcha properties\r\n */\r\n getCaptchaProperties() {\r\n return {\r\n 'sitekey': this.siteKey,\r\n 'callback': (response) => this.zone.run(() => this.handleCallback(response)),\r\n 'expired-callback': () => this.zone.run(() => this.handleExpireCallback()),\r\n 'error-callback': () => this.zone.run(() => this.handleErrorCallback()),\r\n 'badge': this.badge,\r\n 'type': this.type,\r\n 'tabindex': this.tabIndex,\r\n 'size': this.size,\r\n 'theme': this.theme\r\n };\r\n }\r\n}\nInvisibleReCaptchaComponent.ɵfac = function InvisibleReCaptchaComponent_Factory(t) { return new (t || InvisibleReCaptchaComponent)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.Renderer2), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.Injector), ɵngcc0.ɵɵdirectiveInject(ScriptService)); };\nInvisibleReCaptchaComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: InvisibleReCaptchaComponent, selectors: [[\"ngx-invisible-recaptcha\"]], viewQuery: function InvisibleReCaptchaComponent_Query(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵviewQuery(_c0, 5);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.captchaWrapperElem = _t.first);\n } }, inputs: { theme: \"theme\", badge: \"badge\", hl: \"hl\" }, features: [ɵngcc0.ɵɵProvidersFeature([\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => InvisibleReCaptchaComponent),\n multi: true\n }\n ]), ɵngcc0.ɵɵInheritDefinitionFeature, ɵngcc0.ɵɵNgOnChangesFeature], decls: 2, vars: 0, consts: [[\"captchaWrapperElem\", \"\"]], template: function InvisibleReCaptchaComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelement(0, \"div\", null, 0);\n } }, encapsulation: 2 });\r\n/** @nocollapse */\r\nInvisibleReCaptchaComponent.ctorParameters = () => [\r\n { type: Renderer2 },\r\n { type: NgZone },\r\n { type: Injector },\r\n { type: ScriptService }\r\n];\r\nInvisibleReCaptchaComponent.propDecorators = {\r\n theme: [{ type: Input }],\r\n badge: [{ type: Input }],\r\n hl: [{ type: Input }],\r\n captchaWrapperElem: [{ type: ViewChild, args: ['captchaWrapperElem', { static: false },] }]\r\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(InvisibleReCaptchaComponent, [{\n type: Component,\n args: [{\n selector: 'ngx-invisible-recaptcha',\n template: `\r\n
`,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => InvisibleReCaptchaComponent),\n multi: true\n }\n ]\n }]\n }], function () { return [{ type: ɵngcc0.Renderer2 }, { type: ɵngcc0.NgZone }, { type: ɵngcc0.Injector }, { type: ScriptService }]; }, { theme: [{\n type: Input\n }], badge: [{\n type: Input\n }], hl: [{\n type: Input\n }], captchaWrapperElem: [{\n type: ViewChild,\n args: ['captchaWrapperElem', { static: false }]\n }] }); })();\n\nclass ReCaptcha2Component extends BaseReCaptchaComponent {\r\n constructor(renderer, zone, injector, scriptService) {\r\n super(renderer, zone, injector, scriptService);\r\n this.renderer = renderer;\r\n this.zone = zone;\r\n this.injector = injector;\r\n this.scriptService = scriptService;\r\n /**\r\n * Name of the global expire callback\r\n */\r\n this.windowOnErrorCallbackProperty = 'ngx_captcha_error_callback';\r\n /**\r\n * Name of the global error callback\r\n */\r\n this.windowOnExpireCallbackProperty = 'ngx_captcha_expire_callback';\r\n /**\r\n * Theme\r\n */\r\n this.theme = 'light';\r\n /**\r\n * Size\r\n */\r\n this.size = 'normal';\r\n this.recaptchaType = ReCaptchaType.ReCaptcha2;\r\n }\r\n ngOnChanges(changes) {\r\n super.ngOnChanges(changes);\r\n }\r\n ngOnDestroy() {\r\n window[this.windowOnErrorCallbackProperty] = {};\r\n window[this.windowOnExpireCallbackProperty] = {};\r\n }\r\n captchaSpecificSetup() {\r\n this.registerCallbacks();\r\n }\r\n /**\r\n * Gets reCaptcha properties\r\n */\r\n getCaptchaProperties() {\r\n return {\r\n 'sitekey': this.siteKey,\r\n 'callback': (response) => this.zone.run(() => this.handleCallback(response)),\r\n 'expired-callback': () => this.zone.run(() => this.handleExpireCallback()),\r\n 'error-callback': () => this.zone.run(() => this.handleErrorCallback()),\r\n 'theme': this.theme,\r\n 'type': this.type,\r\n 'size': this.size,\r\n 'tabindex': this.tabIndex\r\n };\r\n }\r\n /**\r\n * Registers global callbacks\r\n */\r\n registerCallbacks() {\r\n window[this.windowOnErrorCallbackProperty] = super.handleErrorCallback.bind(this);\r\n window[this.windowOnExpireCallbackProperty] = super.handleExpireCallback.bind(this);\r\n }\r\n}\nReCaptcha2Component.ɵfac = function ReCaptcha2Component_Factory(t) { return new (t || ReCaptcha2Component)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.Renderer2), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.Injector), ɵngcc0.ɵɵdirectiveInject(ScriptService)); };\nReCaptcha2Component.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: ReCaptcha2Component, selectors: [[\"ngx-recaptcha2\"]], viewQuery: function ReCaptcha2Component_Query(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵviewQuery(_c0, 5);\n } if (rf & 2) {\n let _t;\n ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.captchaWrapperElem = _t.first);\n } }, inputs: { theme: \"theme\", size: \"size\", hl: \"hl\" }, features: [ɵngcc0.ɵɵProvidersFeature([\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ReCaptcha2Component),\n multi: true\n }\n ]), ɵngcc0.ɵɵInheritDefinitionFeature, ɵngcc0.ɵɵNgOnChangesFeature], decls: 2, vars: 0, consts: [[\"captchaWrapperElem\", \"\"]], template: function ReCaptcha2Component_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelement(0, \"div\", null, 0);\n } }, encapsulation: 2 });\r\n/** @nocollapse */\r\nReCaptcha2Component.ctorParameters = () => [\r\n { type: Renderer2 },\r\n { type: NgZone },\r\n { type: Injector },\r\n { type: ScriptService }\r\n];\r\nReCaptcha2Component.propDecorators = {\r\n theme: [{ type: Input }],\r\n size: [{ type: Input }],\r\n hl: [{ type: Input }],\r\n captchaWrapperElem: [{ type: ViewChild, args: ['captchaWrapperElem', { static: false },] }]\r\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(ReCaptcha2Component, [{\n type: Component,\n args: [{\n selector: 'ngx-recaptcha2',\n template: `\r\n
`,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ReCaptcha2Component),\n multi: true\n }\n ]\n }]\n }], function () { return [{ type: ɵngcc0.Renderer2 }, { type: ɵngcc0.NgZone }, { type: ɵngcc0.Injector }, { type: ScriptService }]; }, { theme: [{\n type: Input\n }], size: [{\n type: Input\n }], hl: [{\n type: Input\n }], captchaWrapperElem: [{\n type: ViewChild,\n args: ['captchaWrapperElem', { static: false }]\n }] }); })();\n\nclass ReCaptchaV3Service {\r\n constructor(scriptService, zone) {\r\n this.scriptService = scriptService;\r\n this.zone = zone;\r\n }\r\n /**\r\n * Executes reCaptcha v3 with given action and passes token via callback. You need to verify\r\n * this callback in your backend to get meaningful results.\r\n *\r\n * For more information see https://developers.google.com/recaptcha/docs/v3\r\n *\r\n * @param siteKey Site key found in your google admin panel\r\n * @param action Action to log\r\n * @param callback Callback function to to handle token\r\n * @param config Optional configuration like useGlobalDomain to be provided\r\n * @param errorCallback Optional Callback function to handle errors\r\n */\r\n execute(siteKey, action, callback, config, errorCallback) {\r\n this.executeAsPromise(siteKey, action, config)\r\n .then(callback)\r\n .catch((error) => errorCallback ? errorCallback(error) : console.error(error));\r\n }\r\n /**\r\n * Executes reCaptcha v3 with given action and returns token via Promise. You need to verify\r\n * this token in your backend to get meaningful results.\r\n *\r\n * For more information see https://developers.google.com/recaptcha/docs/v3\r\n *\r\n * @param siteKey Site key found in your google admin panel\r\n * @param action Action to log\r\n */\r\n executeAsPromise(siteKey, action, config) {\r\n return new Promise((resolve, reject) => {\r\n const useGlobalDomain = config && config.useGlobalDomain ? true : false;\r\n const onRegister = grecaptcha => {\r\n this.zone.runOutsideAngular(() => {\r\n try {\r\n grecaptcha\r\n .execute(siteKey, { action })\r\n .then(token => this.zone.run(() => resolve(token)));\r\n }\r\n catch (error) {\r\n reject(error);\r\n }\r\n });\r\n };\r\n this.scriptService.registerCaptchaScript(useGlobalDomain, siteKey, onRegister);\r\n });\r\n }\r\n}\nReCaptchaV3Service.ɵfac = function ReCaptchaV3Service_Factory(t) { return new (t || ReCaptchaV3Service)(ɵngcc0.ɵɵinject(ScriptService), ɵngcc0.ɵɵinject(ɵngcc0.NgZone)); };\nReCaptchaV3Service.ɵprov = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjectable({ token: ReCaptchaV3Service, factory: ReCaptchaV3Service.ɵfac });\r\n/** @nocollapse */\r\nReCaptchaV3Service.ctorParameters = () => [\r\n { type: ScriptService },\r\n { type: NgZone }\r\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(ReCaptchaV3Service, [{\n type: Injectable\n }], function () { return [{ type: ScriptService }, { type: ɵngcc0.NgZone }]; }, null); })();\n\nclass NgxCaptchaModule {\r\n}\nNgxCaptchaModule.ɵfac = function NgxCaptchaModule_Factory(t) { return new (t || NgxCaptchaModule)(); };\nNgxCaptchaModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: NgxCaptchaModule });\nNgxCaptchaModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({ providers: [\n ScriptService,\n ReCaptchaV3Service\n ], imports: [[\n CommonModule\n ]] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(NgxCaptchaModule, [{\n type: NgModule,\n args: [{\n imports: [\n CommonModule\n ],\n declarations: [\n ReCaptcha2Component,\n InvisibleReCaptchaComponent\n ],\n providers: [\n ScriptService,\n ReCaptchaV3Service\n ],\n exports: [\n ReCaptcha2Component,\n InvisibleReCaptchaComponent\n ]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(NgxCaptchaModule, { declarations: function () { return [ReCaptcha2Component, InvisibleReCaptchaComponent]; }, imports: function () { return [CommonModule]; }, exports: function () { return [ReCaptcha2Component, InvisibleReCaptchaComponent]; } }); })();\n\n/*\r\n * Public API\r\n */\n\n/**\r\n * Generated bundle index. Do not edit.\r\n */\n\nexport { BaseReCaptchaComponent, InvisibleReCaptchaComponent, NgxCaptchaModule, ReCaptcha2Component, ReCaptchaType, ReCaptchaV3Service, ScriptService };\n\n"],"names":["i0","InjectionToken","PLATFORM_ID","Injectable","Inject","Optional","NgModule","Subject","of","Observable","from","merge","observeOn","switchMap","map","shareReplay","first","switchMapTo","subscribeOn","filter","i1","keepUnstableUntilFirst","VERSION","ɵcacheInstance","ɵfirebaseAppFactory","ɵlazySDKProxy","FIREBASE_OPTIONS","FIREBASE_APP_NAME","ɵapplyMixins","isPlatformServer","i2","firebase","proxyPolyfillCompat","name","config","emulatorConfig","app","applyActionCode","checkActionCode","confirmPasswordReset","createUserWithEmailAndPassword","currentUser","fetchSignInMethodsForEmail","isSignInWithEmailLink","getRedirectResult","languageCode","settings","onAuthStateChanged","onIdTokenChanged","sendSignInLinkToEmail","sendPasswordResetEmail","setPersistence","signInAndRetrieveDataWithCredential","signInAnonymously","signInWithCredential","signInWithCustomToken","signInWithEmailAndPassword","signInWithPhoneNumber","signInWithEmailLink","signInWithPopup","signInWithRedirect","signOut","tenantId","updateCurrentUser","useDeviceLanguage","useEmulator","verifyPasswordResetCode","USE_EMULATOR","SETTINGS","TENANT_ID","LANGUAGE_CODE","USE_DEVICE_LANGUAGE","PERSISTENCE","ɵauthFactory","zone","persistence","auth","runOutsideAngular","k","v","Object","entries","AngularFireAuth","constructor","options","platformId","schedulers","_appCheckInstances","logins","undefined","pipe","outsideAngular","bufferSize","refCount","authState","user","idToken","idTokenResult","credential","_","subscribe","redirectResult","then","it","authStateChanged","sub","unsubscribe","next","err","error","complete","idTokenChanged","insideAngular","getIdToken","getIdTokenResult","spy","apply","val","startsWith","ɵfac","NgZone","ɵAngularFireSchedulers","AppCheckInstances","ɵprov","type","args","providedIn","decorators","AngularFireAuthModule","registerVersion","full","ɵmod","ɵinj","providers"],"sourceRoot":"webpack:///"}