@angular/fire 18.0.1-canary.3639e41 → 18.0.1-canary.6982c75

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/analytics/firebase.d.ts +2 -2
  2. package/auth/rxfire.d.ts +2 -2
  3. package/database/rxfire.d.ts +4 -4
  4. package/esm2022/analytics/firebase.mjs +3 -3
  5. package/esm2022/auth/rxfire.mjs +3 -3
  6. package/esm2022/compat/firestore/collection/changes.mjs +3 -3
  7. package/esm2022/database/rxfire.mjs +5 -5
  8. package/esm2022/firestore/lite/rxfire.mjs +5 -5
  9. package/esm2022/firestore/rxfire.mjs +8 -8
  10. package/esm2022/performance/rxfire.mjs +3 -3
  11. package/esm2022/remote-config/rxfire.mjs +6 -6
  12. package/esm2022/vertexai-preview/firebase.mjs +3 -3
  13. package/esm2022/zones.mjs +37 -57
  14. package/fesm2022/angular-fire-analytics.mjs +2 -2
  15. package/fesm2022/angular-fire-analytics.mjs.map +1 -1
  16. package/fesm2022/angular-fire-auth.mjs +2 -2
  17. package/fesm2022/angular-fire-auth.mjs.map +1 -1
  18. package/fesm2022/angular-fire-compat-firestore.mjs +2 -2
  19. package/fesm2022/angular-fire-compat-firestore.mjs.map +1 -1
  20. package/fesm2022/angular-fire-database.mjs +4 -4
  21. package/fesm2022/angular-fire-database.mjs.map +1 -1
  22. package/fesm2022/angular-fire-firestore-lite.mjs +4 -4
  23. package/fesm2022/angular-fire-firestore-lite.mjs.map +1 -1
  24. package/fesm2022/angular-fire-firestore.mjs +7 -7
  25. package/fesm2022/angular-fire-firestore.mjs.map +1 -1
  26. package/fesm2022/angular-fire-performance.mjs +2 -2
  27. package/fesm2022/angular-fire-performance.mjs.map +1 -1
  28. package/fesm2022/angular-fire-remote-config.mjs +5 -5
  29. package/fesm2022/angular-fire-remote-config.mjs.map +1 -1
  30. package/fesm2022/angular-fire-vertexai-preview.mjs +2 -2
  31. package/fesm2022/angular-fire-vertexai-preview.mjs.map +1 -1
  32. package/fesm2022/angular-fire.mjs +35 -55
  33. package/fesm2022/angular-fire.mjs.map +1 -1
  34. package/firestore/lite/rxfire.d.ts +4 -4
  35. package/firestore/rxfire.d.ts +7 -7
  36. package/package.json +1 -1
  37. package/performance/rxfire.d.ts +2 -2
  38. package/remote-config/rxfire.d.ts +5 -5
  39. package/vertexai-preview/firebase.d.ts +2 -2
  40. package/zones.d.ts +3 -2
@@ -1,5 +1,5 @@
1
1
  export * from 'firebase/analytics';
2
- import { getAnalytics as _getAnalytics, getGoogleAnalyticsClientId as _getGoogleAnalyticsClientId, initializeAnalytics as _initializeAnalytics, logEvent as _logEvent, setAnalyticsCollectionEnabled as _setAnalyticsCollectionEnabled, setConsent as _setConsent, setCurrentScreen as _setCurrentScreen, setDefaultEventParameters as _setDefaultEventParameters, settings as _settings, setUserId as _setUserId, setUserProperties as _setUserProperties } from 'firebase/analytics';
2
+ import { getAnalytics as _getAnalytics, getGoogleAnalyticsClientId as _getGoogleAnalyticsClientId, initializeAnalytics as _initializeAnalytics, logEvent as _logEvent, setAnalyticsCollectionEnabled as _setAnalyticsCollectionEnabled, setConsent as _setConsent, setCurrentScreen as _setCurrentScreen, setDefaultEventParameters as _setDefaultEventParameters, setUserId as _setUserId, setUserProperties as _setUserProperties, settings as _settings } from 'firebase/analytics';
3
3
  export { isSupported } from './overrides';
4
4
  export declare const getAnalytics: typeof _getAnalytics;
5
5
  export declare const getGoogleAnalyticsClientId: typeof _getGoogleAnalyticsClientId;
@@ -9,6 +9,6 @@ export declare const setAnalyticsCollectionEnabled: typeof _setAnalyticsCollecti
9
9
  export declare const setConsent: typeof _setConsent;
10
10
  export declare const setCurrentScreen: typeof _setCurrentScreen;
11
11
  export declare const setDefaultEventParameters: typeof _setDefaultEventParameters;
12
- export declare const settings: typeof _settings;
13
12
  export declare const setUserId: typeof _setUserId;
14
13
  export declare const setUserProperties: typeof _setUserProperties;
14
+ export declare const settings: typeof _settings;
package/auth/rxfire.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { authState as _authState, user as _user, idToken as _idToken } from 'rxfire/auth';
1
+ import { authState as _authState, idToken as _idToken, user as _user } from 'rxfire/auth';
2
2
  export declare const authState: typeof _authState;
3
- export declare const user: typeof _user;
4
3
  export declare const idToken: typeof _idToken;
4
+ export declare const user: typeof _user;
@@ -1,10 +1,10 @@
1
- import { fromRef as _fromRef, stateChanges as _stateChanges, list as _list, listVal as _listVal, auditTrail as _auditTrail, object as _object, objectVal as _objectVal, changeToData as _changeToData } from 'rxfire/database';
1
+ import { auditTrail as _auditTrail, changeToData as _changeToData, fromRef as _fromRef, list as _list, listVal as _listVal, object as _object, objectVal as _objectVal, stateChanges as _stateChanges } from 'rxfire/database';
2
2
  export { ListenEvent, ListenerMethods } from 'rxfire/database';
3
+ export declare const auditTrail: typeof _auditTrail;
4
+ export declare const changeToData: typeof _changeToData;
3
5
  export declare const fromRef: typeof _fromRef;
4
- export declare const stateChanges: typeof _stateChanges;
5
6
  export declare const list: typeof _list;
6
7
  export declare const listVal: typeof _listVal;
7
- export declare const auditTrail: typeof _auditTrail;
8
8
  export declare const object: typeof _object;
9
9
  export declare const objectVal: typeof _objectVal;
10
- export declare const changeToData: typeof _changeToData;
10
+ export declare const stateChanges: typeof _stateChanges;
@@ -1,7 +1,7 @@
1
1
  // DO NOT MODIFY, this file is autogenerated by tools/build.ts
2
2
  export * from 'firebase/analytics';
3
3
  import { ɵzoneWrap } from '@angular/fire';
4
- import { getAnalytics as _getAnalytics, getGoogleAnalyticsClientId as _getGoogleAnalyticsClientId, initializeAnalytics as _initializeAnalytics, logEvent as _logEvent, setAnalyticsCollectionEnabled as _setAnalyticsCollectionEnabled, setConsent as _setConsent, setCurrentScreen as _setCurrentScreen, setDefaultEventParameters as _setDefaultEventParameters, settings as _settings, setUserId as _setUserId, setUserProperties as _setUserProperties } from 'firebase/analytics';
4
+ import { getAnalytics as _getAnalytics, getGoogleAnalyticsClientId as _getGoogleAnalyticsClientId, initializeAnalytics as _initializeAnalytics, logEvent as _logEvent, setAnalyticsCollectionEnabled as _setAnalyticsCollectionEnabled, setConsent as _setConsent, setCurrentScreen as _setCurrentScreen, setDefaultEventParameters as _setDefaultEventParameters, setUserId as _setUserId, setUserProperties as _setUserProperties, settings as _settings } from 'firebase/analytics';
5
5
  export { isSupported } from './overrides';
6
6
  export const getAnalytics = ɵzoneWrap(_getAnalytics, true);
7
7
  export const getGoogleAnalyticsClientId = ɵzoneWrap(_getGoogleAnalyticsClientId, true);
@@ -11,7 +11,7 @@ export const setAnalyticsCollectionEnabled = ɵzoneWrap(_setAnalyticsCollectionE
11
11
  export const setConsent = ɵzoneWrap(_setConsent, true);
12
12
  export const setCurrentScreen = ɵzoneWrap(_setCurrentScreen, true);
13
13
  export const setDefaultEventParameters = ɵzoneWrap(_setDefaultEventParameters, true);
14
- export const settings = ɵzoneWrap(_settings, true);
15
14
  export const setUserId = ɵzoneWrap(_setUserId, true);
16
15
  export const setUserProperties = ɵzoneWrap(_setUserProperties, true);
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYW5hbHl0aWNzL2ZpcmViYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDhEQUE4RDtBQUM5RCxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUNMLFlBQVksSUFBSSxhQUFhLEVBQzdCLDBCQUEwQixJQUFJLDJCQUEyQixFQUN6RCxtQkFBbUIsSUFBSSxvQkFBb0IsRUFDM0MsUUFBUSxJQUFJLFNBQVMsRUFDckIsNkJBQTZCLElBQUksOEJBQThCLEVBQy9ELFVBQVUsSUFBSSxXQUFXLEVBQ3pCLGdCQUFnQixJQUFJLGlCQUFpQixFQUNyQyx5QkFBeUIsSUFBSSwwQkFBMEIsRUFDdkQsUUFBUSxJQUFJLFNBQVMsRUFDckIsU0FBUyxJQUFJLFVBQVUsRUFDdkIsaUJBQWlCLElBQUksa0JBQWtCLEVBQ3hDLE1BQU0sb0JBQW9CLENBQUM7QUFFNUIsT0FBTyxFQUNMLFdBQVcsRUFDWixNQUFNLGFBQWEsQ0FBQztBQUVyQixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsU0FBUyxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUMzRCxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxTQUFTLENBQUMsMkJBQTJCLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDdkYsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsU0FBUyxDQUFDLG9CQUFvQixFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ3pFLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ25ELE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLFNBQVMsQ0FBQyw4QkFBOEIsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUM3RixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUN2RCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxTQUFTLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDbkUsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsU0FBUyxDQUFDLDBCQUEwQixFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ3JGLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ25ELE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxTQUFTLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ3JELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLFNBQVMsQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIERPIE5PVCBNT0RJRlksIHRoaXMgZmlsZSBpcyBhdXRvZ2VuZXJhdGVkIGJ5IHRvb2xzL2J1aWxkLnRzXG5leHBvcnQgKiBmcm9tICdmaXJlYmFzZS9hbmFseXRpY3MnO1xuaW1wb3J0IHsgybV6b25lV3JhcCB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUnO1xuaW1wb3J0IHtcbiAgZ2V0QW5hbHl0aWNzIGFzIF9nZXRBbmFseXRpY3MsXG4gIGdldEdvb2dsZUFuYWx5dGljc0NsaWVudElkIGFzIF9nZXRHb29nbGVBbmFseXRpY3NDbGllbnRJZCxcbiAgaW5pdGlhbGl6ZUFuYWx5dGljcyBhcyBfaW5pdGlhbGl6ZUFuYWx5dGljcyxcbiAgbG9nRXZlbnQgYXMgX2xvZ0V2ZW50LFxuICBzZXRBbmFseXRpY3NDb2xsZWN0aW9uRW5hYmxlZCBhcyBfc2V0QW5hbHl0aWNzQ29sbGVjdGlvbkVuYWJsZWQsXG4gIHNldENvbnNlbnQgYXMgX3NldENvbnNlbnQsXG4gIHNldEN1cnJlbnRTY3JlZW4gYXMgX3NldEN1cnJlbnRTY3JlZW4sXG4gIHNldERlZmF1bHRFdmVudFBhcmFtZXRlcnMgYXMgX3NldERlZmF1bHRFdmVudFBhcmFtZXRlcnMsXG4gIHNldHRpbmdzIGFzIF9zZXR0aW5ncyxcbiAgc2V0VXNlcklkIGFzIF9zZXRVc2VySWQsXG4gIHNldFVzZXJQcm9wZXJ0aWVzIGFzIF9zZXRVc2VyUHJvcGVydGllc1xufSBmcm9tICdmaXJlYmFzZS9hbmFseXRpY3MnO1xuXG5leHBvcnQge1xuICBpc1N1cHBvcnRlZFxufSBmcm9tICcuL292ZXJyaWRlcyc7XG5cbmV4cG9ydCBjb25zdCBnZXRBbmFseXRpY3MgPSDJtXpvbmVXcmFwKF9nZXRBbmFseXRpY3MsIHRydWUpO1xuZXhwb3J0IGNvbnN0IGdldEdvb2dsZUFuYWx5dGljc0NsaWVudElkID0gybV6b25lV3JhcChfZ2V0R29vZ2xlQW5hbHl0aWNzQ2xpZW50SWQsIHRydWUpO1xuZXhwb3J0IGNvbnN0IGluaXRpYWxpemVBbmFseXRpY3MgPSDJtXpvbmVXcmFwKF9pbml0aWFsaXplQW5hbHl0aWNzLCB0cnVlKTtcbmV4cG9ydCBjb25zdCBsb2dFdmVudCA9IMm1em9uZVdyYXAoX2xvZ0V2ZW50LCB0cnVlKTtcbmV4cG9ydCBjb25zdCBzZXRBbmFseXRpY3NDb2xsZWN0aW9uRW5hYmxlZCA9IMm1em9uZVdyYXAoX3NldEFuYWx5dGljc0NvbGxlY3Rpb25FbmFibGVkLCB0cnVlKTtcbmV4cG9ydCBjb25zdCBzZXRDb25zZW50ID0gybV6b25lV3JhcChfc2V0Q29uc2VudCwgdHJ1ZSk7XG5leHBvcnQgY29uc3Qgc2V0Q3VycmVudFNjcmVlbiA9IMm1em9uZVdyYXAoX3NldEN1cnJlbnRTY3JlZW4sIHRydWUpO1xuZXhwb3J0IGNvbnN0IHNldERlZmF1bHRFdmVudFBhcmFtZXRlcnMgPSDJtXpvbmVXcmFwKF9zZXREZWZhdWx0RXZlbnRQYXJhbWV0ZXJzLCB0cnVlKTtcbmV4cG9ydCBjb25zdCBzZXR0aW5ncyA9IMm1em9uZVdyYXAoX3NldHRpbmdzLCB0cnVlKTtcbmV4cG9ydCBjb25zdCBzZXRVc2VySWQgPSDJtXpvbmVXcmFwKF9zZXRVc2VySWQsIHRydWUpO1xuZXhwb3J0IGNvbnN0IHNldFVzZXJQcm9wZXJ0aWVzID0gybV6b25lV3JhcChfc2V0VXNlclByb3BlcnRpZXMsIHRydWUpO1xuIl19
16
+ export const settings = ɵzoneWrap(_settings, true);
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYW5hbHl0aWNzL2ZpcmViYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDhEQUE4RDtBQUM5RCxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUNMLFlBQVksSUFBSSxhQUFhLEVBQzdCLDBCQUEwQixJQUFJLDJCQUEyQixFQUN6RCxtQkFBbUIsSUFBSSxvQkFBb0IsRUFDM0MsUUFBUSxJQUFJLFNBQVMsRUFDckIsNkJBQTZCLElBQUksOEJBQThCLEVBQy9ELFVBQVUsSUFBSSxXQUFXLEVBQ3pCLGdCQUFnQixJQUFJLGlCQUFpQixFQUNyQyx5QkFBeUIsSUFBSSwwQkFBMEIsRUFDdkQsU0FBUyxJQUFJLFVBQVUsRUFDdkIsaUJBQWlCLElBQUksa0JBQWtCLEVBQ3ZDLFFBQVEsSUFBSSxTQUFTLEVBQ3RCLE1BQU0sb0JBQW9CLENBQUM7QUFFNUIsT0FBTyxFQUNMLFdBQVcsRUFDWixNQUFNLGFBQWEsQ0FBQztBQUVyQixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsU0FBUyxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUMzRCxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxTQUFTLENBQUMsMkJBQTJCLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDdkYsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsU0FBUyxDQUFDLG9CQUFvQixFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ3pFLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ25ELE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLFNBQVMsQ0FBQyw4QkFBOEIsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUM3RixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUN2RCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxTQUFTLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDbkUsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsU0FBUyxDQUFDLDBCQUEwQixFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ3JGLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxTQUFTLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ3JELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLFNBQVMsQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUNyRSxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIERPIE5PVCBNT0RJRlksIHRoaXMgZmlsZSBpcyBhdXRvZ2VuZXJhdGVkIGJ5IHRvb2xzL2J1aWxkLnRzXG5leHBvcnQgKiBmcm9tICdmaXJlYmFzZS9hbmFseXRpY3MnO1xuaW1wb3J0IHsgybV6b25lV3JhcCB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUnO1xuaW1wb3J0IHtcbiAgZ2V0QW5hbHl0aWNzIGFzIF9nZXRBbmFseXRpY3MsXG4gIGdldEdvb2dsZUFuYWx5dGljc0NsaWVudElkIGFzIF9nZXRHb29nbGVBbmFseXRpY3NDbGllbnRJZCxcbiAgaW5pdGlhbGl6ZUFuYWx5dGljcyBhcyBfaW5pdGlhbGl6ZUFuYWx5dGljcyxcbiAgbG9nRXZlbnQgYXMgX2xvZ0V2ZW50LFxuICBzZXRBbmFseXRpY3NDb2xsZWN0aW9uRW5hYmxlZCBhcyBfc2V0QW5hbHl0aWNzQ29sbGVjdGlvbkVuYWJsZWQsXG4gIHNldENvbnNlbnQgYXMgX3NldENvbnNlbnQsXG4gIHNldEN1cnJlbnRTY3JlZW4gYXMgX3NldEN1cnJlbnRTY3JlZW4sXG4gIHNldERlZmF1bHRFdmVudFBhcmFtZXRlcnMgYXMgX3NldERlZmF1bHRFdmVudFBhcmFtZXRlcnMsXG4gIHNldFVzZXJJZCBhcyBfc2V0VXNlcklkLFxuICBzZXRVc2VyUHJvcGVydGllcyBhcyBfc2V0VXNlclByb3BlcnRpZXMsXG4gIHNldHRpbmdzIGFzIF9zZXR0aW5nc1xufSBmcm9tICdmaXJlYmFzZS9hbmFseXRpY3MnO1xuXG5leHBvcnQge1xuICBpc1N1cHBvcnRlZFxufSBmcm9tICcuL292ZXJyaWRlcyc7XG5cbmV4cG9ydCBjb25zdCBnZXRBbmFseXRpY3MgPSDJtXpvbmVXcmFwKF9nZXRBbmFseXRpY3MsIHRydWUpO1xuZXhwb3J0IGNvbnN0IGdldEdvb2dsZUFuYWx5dGljc0NsaWVudElkID0gybV6b25lV3JhcChfZ2V0R29vZ2xlQW5hbHl0aWNzQ2xpZW50SWQsIHRydWUpO1xuZXhwb3J0IGNvbnN0IGluaXRpYWxpemVBbmFseXRpY3MgPSDJtXpvbmVXcmFwKF9pbml0aWFsaXplQW5hbHl0aWNzLCB0cnVlKTtcbmV4cG9ydCBjb25zdCBsb2dFdmVudCA9IMm1em9uZVdyYXAoX2xvZ0V2ZW50LCB0cnVlKTtcbmV4cG9ydCBjb25zdCBzZXRBbmFseXRpY3NDb2xsZWN0aW9uRW5hYmxlZCA9IMm1em9uZVdyYXAoX3NldEFuYWx5dGljc0NvbGxlY3Rpb25FbmFibGVkLCB0cnVlKTtcbmV4cG9ydCBjb25zdCBzZXRDb25zZW50ID0gybV6b25lV3JhcChfc2V0Q29uc2VudCwgdHJ1ZSk7XG5leHBvcnQgY29uc3Qgc2V0Q3VycmVudFNjcmVlbiA9IMm1em9uZVdyYXAoX3NldEN1cnJlbnRTY3JlZW4sIHRydWUpO1xuZXhwb3J0IGNvbnN0IHNldERlZmF1bHRFdmVudFBhcmFtZXRlcnMgPSDJtXpvbmVXcmFwKF9zZXREZWZhdWx0RXZlbnRQYXJhbWV0ZXJzLCB0cnVlKTtcbmV4cG9ydCBjb25zdCBzZXRVc2VySWQgPSDJtXpvbmVXcmFwKF9zZXRVc2VySWQsIHRydWUpO1xuZXhwb3J0IGNvbnN0IHNldFVzZXJQcm9wZXJ0aWVzID0gybV6b25lV3JhcChfc2V0VXNlclByb3BlcnRpZXMsIHRydWUpO1xuZXhwb3J0IGNvbnN0IHNldHRpbmdzID0gybV6b25lV3JhcChfc2V0dGluZ3MsIHRydWUpO1xuIl19
@@ -1,7 +1,7 @@
1
1
  // DO NOT MODIFY, this file is autogenerated by tools/build.ts
2
2
  import { ɵzoneWrap } from '@angular/fire';
3
- import { authState as _authState, user as _user, idToken as _idToken } from 'rxfire/auth';
3
+ import { authState as _authState, idToken as _idToken, user as _user } from 'rxfire/auth';
4
4
  export const authState = ɵzoneWrap(_authState, true);
5
- export const user = ɵzoneWrap(_user, true);
6
5
  export const idToken = ɵzoneWrap(_idToken, true);
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnhmaXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2F1dGgvcnhmaXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDhEQUE4RDtBQUM5RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFDTCxTQUFTLElBQUksVUFBVSxFQUN2QixJQUFJLElBQUksS0FBSyxFQUNiLE9BQU8sSUFBSSxRQUFRLEVBQ3BCLE1BQU0sYUFBYSxDQUFDO0FBRXJCLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxTQUFTLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ3JELE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRyxTQUFTLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQzNDLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gRE8gTk9UIE1PRElGWSwgdGhpcyBmaWxlIGlzIGF1dG9nZW5lcmF0ZWQgYnkgdG9vbHMvYnVpbGQudHNcbmltcG9ydCB7IMm1em9uZVdyYXAgfSBmcm9tICdAYW5ndWxhci9maXJlJztcbmltcG9ydCB7XG4gIGF1dGhTdGF0ZSBhcyBfYXV0aFN0YXRlLFxuICB1c2VyIGFzIF91c2VyLFxuICBpZFRva2VuIGFzIF9pZFRva2VuXG59IGZyb20gJ3J4ZmlyZS9hdXRoJztcblxuZXhwb3J0IGNvbnN0IGF1dGhTdGF0ZSA9IMm1em9uZVdyYXAoX2F1dGhTdGF0ZSwgdHJ1ZSk7XG5leHBvcnQgY29uc3QgdXNlciA9IMm1em9uZVdyYXAoX3VzZXIsIHRydWUpO1xuZXhwb3J0IGNvbnN0IGlkVG9rZW4gPSDJtXpvbmVXcmFwKF9pZFRva2VuLCB0cnVlKTtcbiJdfQ==
6
+ export const user = ɵzoneWrap(_user, true);
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnhmaXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2F1dGgvcnhmaXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDhEQUE4RDtBQUM5RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFDTCxTQUFTLElBQUksVUFBVSxFQUN2QixPQUFPLElBQUksUUFBUSxFQUNuQixJQUFJLElBQUksS0FBSyxFQUNkLE1BQU0sYUFBYSxDQUFDO0FBRXJCLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxTQUFTLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ3JELE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ2pELE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRyxTQUFTLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gRE8gTk9UIE1PRElGWSwgdGhpcyBmaWxlIGlzIGF1dG9nZW5lcmF0ZWQgYnkgdG9vbHMvYnVpbGQudHNcbmltcG9ydCB7IMm1em9uZVdyYXAgfSBmcm9tICdAYW5ndWxhci9maXJlJztcbmltcG9ydCB7XG4gIGF1dGhTdGF0ZSBhcyBfYXV0aFN0YXRlLFxuICBpZFRva2VuIGFzIF9pZFRva2VuLFxuICB1c2VyIGFzIF91c2VyXG59IGZyb20gJ3J4ZmlyZS9hdXRoJztcblxuZXhwb3J0IGNvbnN0IGF1dGhTdGF0ZSA9IMm1em9uZVdyYXAoX2F1dGhTdGF0ZSwgdHJ1ZSk7XG5leHBvcnQgY29uc3QgaWRUb2tlbiA9IMm1em9uZVdyYXAoX2lkVG9rZW4sIHRydWUpO1xuZXhwb3J0IGNvbnN0IHVzZXIgPSDJtXpvbmVXcmFwKF91c2VyLCB0cnVlKTtcbiJdfQ==
@@ -75,7 +75,7 @@ function sliceAndSplice(original, start, deleteCount, ...args) {
75
75
  export function combineChange(combined, change) {
76
76
  switch (change.type) {
77
77
  case 'added':
78
- if (combined[change.newIndex] && combined[change.newIndex].doc.ref.isEqual(change.doc.ref)) {
78
+ if (combined[change.newIndex]?.doc.ref.isEqual(change.doc.ref)) {
79
79
  // Not sure why the duplicates are getting fired
80
80
  }
81
81
  else {
@@ -98,11 +98,11 @@ export function combineChange(combined, change) {
98
98
  }
99
99
  break;
100
100
  case 'removed':
101
- if (combined[change.oldIndex] && combined[change.oldIndex].doc.ref.isEqual(change.doc.ref)) {
101
+ if (combined[change.oldIndex]?.doc.ref.isEqual(change.doc.ref)) {
102
102
  return sliceAndSplice(combined, change.oldIndex, 1);
103
103
  }
104
104
  break;
105
105
  }
106
106
  return combined;
107
107
  }
108
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbmdlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wYXQvZmlyZXN0b3JlL2NvbGxlY3Rpb24vY2hhbmdlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFJMUQ7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLFVBQVUsQ0FBSSxLQUFZLEVBQUUsU0FBeUI7SUFDbkUsT0FBTyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDO1NBQ3ZDLElBQUksQ0FDSCxTQUFTLENBQW9FLFNBQVMsQ0FBQyxFQUN2RixRQUFRLEVBQUUsRUFDVixHQUFHLENBQUMsQ0FBQyxXQUF1QixFQUFFLEVBQUU7UUFDOUIsTUFBTSxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsR0FBRyxXQUFXLENBQUM7UUFDMUMsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMvQyxNQUFNLE9BQU8sR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDbkYsbURBQW1EO1FBQ25ELElBQUksV0FBVyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUM1Ryx1RUFBdUU7WUFDdkUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENB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LEVBQUUsTUFBTSxDQUFDLENBQUM7b0JBQy9DLE9BQU8sV0FBVyxDQUFDO2dCQUNyQixDQUFDO3FCQUFNLENBQUM7b0JBQ04sT0FBTyxjQUFjLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO2dCQUM5RCxDQUFDO1lBQ0gsQ0FBQztZQUNELE1BQU07UUFDUixLQUFLLFNBQVM7WUFDWixJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQzNGLE9BQU8sY0FBYyxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3RELENBQUM7WUFDRCxNQUFNO0lBQ1YsQ0FBQztJQUNELE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZmlyZWJhc2UgZnJvbSAnZmlyZWJhc2UvY29tcGF0L2FwcCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTY2hlZHVsZXJMaWtlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwLCBwYWlyd2lzZSwgc2Nhbiwgc3RhcnRXaXRoIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQWN0aW9uLCBEb2N1bWVudENoYW5nZSwgRG9jdW1lbnRDaGFuZ2VBY3Rpb24sIERvY3VtZW50Q2hhbmdlVHlwZSwgUXVlcnksIFF1ZXJ5U25hcHNob3QgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGZyb21Db2xsZWN0aW9uUmVmIH0gZnJvbSAnLi4vb2JzZXJ2YWJsZS9mcm9tUmVmJztcblxuXG50eXBlIEFjdGlvblR1cGUgPSBbQWN0aW9uPFF1ZXJ5U25hcHNob3Q8ZmlyZWJhc2UuZmlyZXN0b3JlLkRvY3VtZW50RGF0YT4+LCBBY3Rpb248UXVlcnlTbmFwc2hvdDxmaXJlYmFzZS5maXJlc3RvcmUuRG9jdW1lbnREYXRhPj5dXG4vKipcbiAqIFJldHVybiBhIHN0cmVhbSBvZiBkb2N1bWVudCBjaGFuZ2VzIG9uIGEgcXVlcnkuIFRoZXNlIHJlc3VsdHMgYXJlIG5vdCBpbiBzb3J0IG9yZGVyIGJ1dCBpblxuICogb3JkZXIgb2Ygb2NjdXJlbmNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZG9jQ2hhbmdlczxUPihxdWVyeTogUXVlcnksIHNjaGVkdWxlcj86IFNjaGVkdWxlckxpa2UpOiBPYnNlcnZhYmxlPERvY3VtZW50Q2hhbmdlQWN0aW9uPFQ+W10+IHtcbiAgcmV0dXJuIGZyb21Db2xsZWN0aW9uUmVmKHF1ZXJ5LCBzY2hlZHVsZXIpXG4gICAgLnBpcGUoXG4gICAgICBzdGFydFdpdGg8QWN0aW9uPFF1ZXJ5U25hcHNob3Q8ZmlyZWJhc2UuZmlyZXN0b3JlLkRvY3VtZW50RGF0YT4+LCB1bmRlZmluZWQ+KHVuZGVmaW5lZCksXG4gICAgICBwYWlyd2lzZSgpLFxuICAgICAgbWFwKChhY3Rpb25UdXBsZTogQWN0aW9uVHVwZSkgPT4ge1xuICAgICAgICBjb25zdCBbcHJpb3JBY3Rpb24sIGFjdGlvbl0gPSBhY3Rpb25UdXBsZTtcbiAgICAgICAgY29uc3QgZG9jQ2hhbmdlcyA9IGFjdGlvbi5wYXlsb2FkLmRvY0NoYW5nZXMoKTtcbiAgICAgICAgY29uc3QgYWN0aW9ucyA9IGRvY0NoYW5nZXMubWFwKGNoYW5nZSA9PiAoeyB0eXBlOiBjaGFuZ2UudHlwZSwgcGF5bG9hZDogY2hhbmdlIH0pKTtcbiAgICAgICAgLy8gdGhlIG1ldGFkYXRhIGhhcyBjaGFuZ2VkIGZyb20gdGhlIHByaW9yIGVtaXNzaW9uXG4gICAgICAgIGlmIChwcmlvckFjdGlvbiAmJiBKU09OLnN0cmluZ2lmeShwcmlvckFjdGlvbi5wYXlsb2FkLm1ldGFkYXRhKSAhPT0gSlNPTi5zdHJpbmdpZnkoYWN0aW9uLnBheWxvYWQubWV0YWRhdGEpKSB7XG4gICAgICAgICAgLy8gZ28gdGhyb3VnaCBhbGwgdGhlIGRvY3MgaW4gcGF5bG9hZCBhbmQgZmlndXJlIG91dCB3aGljaCBvbmVzIGNoYW5nZWRcbiAgICAgICAgICBhY3Rpb24ucGF5bG9hZC5kb2NzLmZvckVhY2goKGN1cnJlbnREb2MsIGN1cnJlbnRJbmRleCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZG9jQ2hhbmdlID0gZG9jQ2hhbmdlcy5maW5kKGQgPT4gZC5kb2MucmVmLmlzRXF1YWwoY3VycmVudERvYy5yZWYpKTtcbiAgICAgICAgICAgIGNvbnN0IHByaW9yRG9jID0gcHJpb3JBY3Rpb24/LnBheWxvYWQuZG9jcy5maW5kKGQgPT4gZC5yZWYuaXNFcXVhbChjdXJyZW50RG9jLnJlZikpO1xuICAgICAgICAgICAgaWYgKGRvY0NoYW5nZSAmJiBKU09OLnN0cmluZ2lmeShkb2NDaGFuZ2UuZG9jLm1ldGFkYXRhKSA9PT0gSlNPTi5zdHJpbmdpZnkoY3VycmVudERvYy5tZXRhZGF0YSkgfHxcbiAgICAgICAgICAgICAgIWRvY0NoYW5nZSAmJiBwcmlvckRvYyAmJiBKU09OLnN0cmluZ2lmeShwcmlvckRvYy5tZXRhZGF0YSkgPT09IEpTT04uc3RyaW5naWZ5KGN1cnJlbnREb2MubWV0YWRhdGEpKSB7XG4gICAgICAgICAgICAgIC8vIGRvY3VtZW50IGRvZXNuJ3QgYXBwZWFyIHRvIGhhdmUgY2hhbmdlZCwgZG9uJ3QgbG9nIGFub3RoZXIgYWN0aW9uXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAvLyBzaW5jZSB0aGUgYWN0aW9ucyBhcmUgcHJvY2Vzc2VkIGluIG9yZGVyIGp1c3QgcHVzaCBvbnRvIHRoZSBhcnJheVxuICAgICAgICAgICAgICBhY3Rpb25zLnB1c2goe1xuICAgICAgICAgICAgICAgIHR5cGU6ICdtb2RpZmllZCcsXG4gICAgICAgICAgICAgICAgcGF5bG9hZDoge1xuICAgICAgICAgICAgICAgICAgb2xkSW5kZXg6IGN1cnJlbnRJbmRleCxcbiAgICAgICAgICAgICAgICAgIG5ld0luZGV4OiBjdXJyZW50SW5kZXgsXG4gICAgICAgICAgICAgICAgICB0eXBlOiAnbW9kaWZpZWQnLFxuICAgICAgICAgICAgICAgICAgZG9jOiBjdXJyZW50RG9jXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYWN0aW9ucyBhcyBEb2N1bWVudENoYW5nZUFjdGlvbjxUPltdO1xuICAgICAgfSksXG4gICk7XG59XG5cbi8qKlxuICogUmV0dXJuIGEgc3RyZWFtIG9mIGRvY3VtZW50IGNoYW5nZXMgb24gYSBxdWVyeS4gVGhlc2UgcmVzdWx0cyBhcmUgaW4gc29ydCBvcmRlci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNvcnRlZENoYW5nZXM8VD4oXG4gIHF1ZXJ5OiBRdWVyeSxcbiAgZXZlbnRzOiBEb2N1bWVudENoYW5nZVR5cGVbXSxcbiAgc2NoZWR1bGVyPzogU2NoZWR1bGVyTGlrZSk6IE9ic2VydmFibGU8RG9jdW1lbnRDaGFuZ2VBY3Rpb248VD5bXT4ge1xuICByZXR1cm4gZG9jQ2hhbmdlczxUPihxdWVyeSwgc2NoZWR1bGVyKVxuICAgIC5waXBlKFxuICAgICAgc2NhbigoY3VycmVudCwgY2hhbmdlcykgPT4gY29tYmluZUNoYW5nZXM8VD4oY3VycmVudCwgY2hhbmdlcy5tYXAoaXQgPT4gaXQucGF5bG9hZCksIGV2ZW50cyksIFtdKSxcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksIC8vIGN1dCBkb3duIG9uIHVubmVlZCBjaGFuZ2UgY3ljbGVzXG4gICAgICBtYXAoY2hhbmdlcyA9PiBjaGFuZ2VzLm1hcChjID0+ICh7IHR5cGU6IGMudHlwZSwgcGF5bG9hZDogYyB9IGFzIERvY3VtZW50Q2hhbmdlQWN0aW9uPFQ+KSkpKTtcbn1cblxuLyoqXG4gKiBDb21iaW5lcyB0aGUgdG90YWwgcmVzdWx0IHNldCBmcm9tIHRoZSBjdXJyZW50IHNldCBvZiBjaGFuZ2VzIGZyb20gYW4gaW5jb21pbmcgc2V0XG4gKiBvZiBjaGFuZ2VzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY29tYmluZUNoYW5nZXM8VD4oY3VycmVudDogRG9jdW1lbnRDaGFuZ2U8VD5bXSwgY2hhbmdlczogRG9jdW1lbnRDaGFuZ2U8VD5bXSwgZXZlbnRzOiBEb2N1bWVudENoYW5nZVR5cGVbXSkge1xuICBjaGFuZ2VzLmZvckVhY2goY2hhbmdlID0+IHtcbiAgICAvLyBza2lwIHVud2FudGVkIGNoYW5nZSB0eXBlc1xuICAgIGlmIChldmVudHMuaW5kZXhPZihjaGFuZ2UudHlwZSkgPiAtMSkge1xuICAgICAgY3VycmVudCA9IGNvbWJpbmVDaGFuZ2UoY3VycmVudCwgY2hhbmdlKTtcbiAgICB9XG4gIH0pO1xuICByZXR1cm4gY3VycmVudDtcbn1cblxuLyoqXG4gKiBTcGxpY2UgYXJndW1lbnRzIG9uIHRvcCBvZiBhIHNsaWNlZCBhcnJheSwgdG8gYnJlYWsgdG9wLWxldmVsID09PVxuICogdGhpcyBpcyB1c2VmdWwgZm9yIGNoYW5nZS1kZXRlY3Rpb25cbiAqL1xuZnVuY3Rpb24gc2xpY2VBbmRTcGxpY2U8VD4oXG4gIG9yaWdpbmFsOiBUW10sXG4gIHN0YXJ0OiBudW1iZXIsXG4gIGRlbGV0ZUNvdW50OiBudW1iZXIsXG4gIC4uLmFyZ3M6IFRbXVxuKTogVFtdIHtcbiAgY29uc3QgcmV0dXJuQXJyYXkgPSBvcmlnaW5hbC5zbGljZSgpO1xuICByZXR1cm5BcnJheS5zcGxpY2Uoc3RhcnQsIGRlbGV0ZUNvdW50LCAuLi5hcmdzKTtcbiAgcmV0dXJuIHJldHVybkFycmF5O1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBuZXcgc29ydGVkIGFycmF5IGZyb20gYSBuZXcgY2hhbmdlLlxuICogQnVpbGQgb3VyIG93biBiZWNhdXNlIHdlIGFsbG93IGZpbHRlcmluZyBvZiBhY3Rpb24gdHlwZXMgKCdhZGRlZCcsICdyZW1vdmVkJywgJ21vZGlmaWVkJykgYmVmb3JlIHNjYW5uaW5nXG4gKiBhbmQgc28gd2UgaGF2ZSBncmVhdGVyIGNvbnRyb2wgb3ZlciBjaGFuZ2UgZGV0ZWN0aW9uIChieSBicmVha2luZyA9PT0pXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb21iaW5lQ2hhbmdlPFQ+KGNvbWJpbmVkOiBEb2N1bWVudENoYW5nZTxUPltdLCBjaGFuZ2U6IERvY3VtZW50Q2hhbmdlPFQ+KTogRG9jdW1lbnRDaGFuZ2U8VD5bXSB7XG4gIHN3aXRjaCAoY2hhbmdlLnR5cGUpIHtcbiAgICBjYXNlICdhZGRlZCc6XG4gICAgICBpZiAoY29tYmluZWRbY2hhbmdlLm5ld0luZGV4XSAmJiBjb21iaW5lZFtjaGFuZ2UubmV3SW5kZXhdLmRvYy5yZWYuaXNFcXVhbChjaGFuZ2UuZG9jLnJlZikpIHtcbiAgICAgICAgLy8gTm90IHN1cmUgd2h5IHRoZSBkdXBsaWNhdGVzIGFyZSBnZXR0aW5nIGZpcmVkXG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gc2xpY2VBbmRTcGxpY2UoY29tYmluZWQsIGNoYW5nZS5uZXdJbmRleCwgMCwgY2hhbmdlKTtcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ21vZGlmaWVkJzpcbiAgICAgIGlmIChjb21iaW5lZFtjaGFuZ2Uub2xkSW5kZXhdID09IG51bGwgfHwgY29tYmluZWRbY2hhbmdlLm9sZEluZGV4XS5kb2MucmVmLmlzRXF1YWwoY2hhbmdlLmRvYy5yZWYpKSB7XG4gICAgICAgIC8vIFdoZW4gYW4gaXRlbSBjaGFuZ2VzIHBvc2l0aW9uIHdlIGZpcnN0IHJlbW92ZSBpdFxuICAgICAgICAvLyBhbmQgdGhlbiBhZGQgaXQncyBuZXcgcG9zaXRpb25cbiAgICAgICAgaWYgKGNoYW5nZS5vbGRJbmRleCAhPT0gY2hhbmdlLm5ld0luZGV4KSB7XG4gICAgICAgICAgY29uc3QgY29waWVkQXJyYXkgPSBjb21iaW5lZC5zbGljZSgpO1xuICAgICAgICAgIGNvcGllZEFycmF5LnNwbGljZShjaGFuZ2Uub2xkSW5kZXgsIDEpO1xuICAgICAgICAgIGNvcGllZEFycmF5LnNwbGljZShjaGFuZ2UubmV3SW5kZXgsIDAsIGNoYW5nZSk7XG4gICAgICAgICAgcmV0dXJuIGNvcGllZEFycmF5O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBzbGljZUFuZFNwbGljZShjb21iaW5lZCwgY2hhbmdlLm5ld0luZGV4LCAxLCBjaGFuZ2UpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICBjYXNlICdyZW1vdmVkJzpcbiAgICAgIGlmIChjb21iaW5lZFtjaGFuZ2Uub2xkSW5kZXhdICYmIGNvbWJpbmVkW2NoYW5nZS5vbGRJbmRleF0uZG9jLnJlZi5pc0VxdWFsKGNoYW5nZS5kb2MucmVmKSkge1xuICAgICAgICByZXR1cm4gc2xpY2VBbmRTcGxpY2UoY29tYmluZWQsIGNoYW5nZS5vbGRJbmRleCwgMSk7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgfVxuICByZXR1cm4gY29tYmluZWQ7XG59XG4iXX0=
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbmdlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wYXQvZmlyZXN0b3JlL2NvbGxlY3Rpb24vY2hhbmdlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFJMUQ7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLFVBQVUsQ0FBSSxLQUFZLEVBQUUsU0FBeUI7SUFDbkUsT0FBTyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDO1NBQ3ZDLElBQUksQ0FDSCxTQUFTLENBQW9FLFNBQVMsQ0FBQyxFQUN2RixRQUFRLEVBQUUsRUFDVixHQUFHLENBQUMsQ0FBQyxXQUF1QixFQUFFLEVBQUU7UUFDOUIsTUFBTSxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsR0FBRyxXQUFXLENBQUM7UUFDMUMsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMvQyxNQUFNLE9BQU8sR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDbkYsbURBQW1EO1FBQ25ELElBQUksV0FBVyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUM1Ryx1RUFBdUU7WUFDdkUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENB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QVcsQ0FBQztnQkFDckIsQ0FBQztxQkFBTSxDQUFDO29CQUNOLE9BQU8sY0FBYyxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztnQkFDOUQsQ0FBQztZQUNILENBQUM7WUFDRCxNQUFNO1FBQ1IsS0FBSyxTQUFTO1lBQ1osSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDL0QsT0FBTyxjQUFjLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDdEQsQ0FBQztZQUNELE1BQU07SUFDVixDQUFDO0lBQ0QsT0FBTyxRQUFRLENBQUM7QUFDbEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBmaXJlYmFzZSBmcm9tICdmaXJlYmFzZS9jb21wYXQvYXBwJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFNjaGVkdWxlckxpa2UgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAsIHBhaXJ3aXNlLCBzY2FuLCBzdGFydFdpdGggfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBY3Rpb24sIERvY3VtZW50Q2hhbmdlLCBEb2N1bWVudENoYW5nZUFjdGlvbiwgRG9jdW1lbnRDaGFuZ2VUeXBlLCBRdWVyeSwgUXVlcnlTbmFwc2hvdCB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgZnJvbUNvbGxlY3Rpb25SZWYgfSBmcm9tICcuLi9vYnNlcnZhYmxlL2Zyb21SZWYnO1xuXG5cbnR5cGUgQWN0aW9uVHVwZSA9IFtBY3Rpb248UXVlcnlTbmFwc2hvdDxmaXJlYmFzZS5maXJlc3RvcmUuRG9jdW1lbnREYXRhPj4sIEFjdGlvbjxRdWVyeVNuYXBzaG90PGZpcmViYXNlLmZpcmVzdG9yZS5Eb2N1bWVudERhdGE+Pl1cbi8qKlxuICogUmV0dXJuIGEgc3RyZWFtIG9mIGRvY3VtZW50IGNoYW5nZXMgb24gYSBxdWVyeS4gVGhlc2UgcmVzdWx0cyBhcmUgbm90IGluIHNvcnQgb3JkZXIgYnV0IGluXG4gKiBvcmRlciBvZiBvY2N1cmVuY2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkb2NDaGFuZ2VzPFQ+KHF1ZXJ5OiBRdWVyeSwgc2NoZWR1bGVyPzogU2NoZWR1bGVyTGlrZSk6IE9ic2VydmFibGU8RG9jdW1lbnRDaGFuZ2VBY3Rpb248VD5bXT4ge1xuICByZXR1cm4gZnJvbUNvbGxlY3Rpb25SZWYocXVlcnksIHNjaGVkdWxlcilcbiAgICAucGlwZShcbiAgICAgIHN0YXJ0V2l0aDxBY3Rpb248UXVlcnlTbmFwc2hvdDxmaXJlYmFzZS5maXJlc3RvcmUuRG9jdW1lbnREYXRhPj4sIHVuZGVmaW5lZD4odW5kZWZpbmVkKSxcbiAgICAgIHBhaXJ3aXNlKCksXG4gICAgICBtYXAoKGFjdGlvblR1cGxlOiBBY3Rpb25UdXBlKSA9PiB7XG4gICAgICAgIGNvbnN0IFtwcmlvckFjdGlvbiwgYWN0aW9uXSA9IGFjdGlvblR1cGxlO1xuICAgICAgICBjb25zdCBkb2NDaGFuZ2VzID0gYWN0aW9uLnBheWxvYWQuZG9jQ2hhbmdlcygpO1xuICAgICAgICBjb25zdCBhY3Rpb25zID0gZG9jQ2hhbmdlcy5tYXAoY2hhbmdlID0+ICh7IHR5cGU6IGNoYW5nZS50eXBlLCBwYXlsb2FkOiBjaGFuZ2UgfSkpO1xuICAgICAgICAvLyB0aGUgbWV0YWRhdGEgaGFzIGNoYW5nZWQgZnJvbSB0aGUgcHJpb3IgZW1pc3Npb25cbiAgICAgICAgaWYgKHByaW9yQWN0aW9uICYmIEpTT04uc3RyaW5naWZ5KHByaW9yQWN0aW9uLnBheWxvYWQubWV0YWRhdGEpICE9PSBKU09OLnN0cmluZ2lmeShhY3Rpb24ucGF5bG9hZC5tZXRhZGF0YSkpIHtcbiAgICAgICAgICAvLyBnbyB0aHJvdWdoIGFsbCB0aGUgZG9jcyBpbiBwYXlsb2FkIGFuZCBmaWd1cmUgb3V0IHdoaWNoIG9uZXMgY2hhbmdlZFxuICAgICAgICAgIGFjdGlvbi5wYXlsb2FkLmRvY3MuZm9yRWFjaCgoY3VycmVudERvYywgY3VycmVudEluZGV4KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBkb2NDaGFuZ2UgPSBkb2NDaGFuZ2VzLmZpbmQoZCA9PiBkLmRvYy5yZWYuaXNFcXVhbChjdXJyZW50RG9jLnJlZikpO1xuICAgICAgICAgICAgY29uc3QgcHJpb3JEb2MgPSBwcmlvckFjdGlvbj8ucGF5bG9hZC5kb2NzLmZpbmQoZCA9PiBkLnJlZi5pc0VxdWFsKGN1cnJlbnREb2MucmVmKSk7XG4gICAgICAgICAgICBpZiAoZG9jQ2hhbmdlICYmIEpTT04uc3RyaW5naWZ5KGRvY0NoYW5nZS5kb2MubWV0YWRhdGEpID09PSBKU09OLnN0cmluZ2lmeShjdXJyZW50RG9jLm1ldGFkYXRhKSB8fFxuICAgICAgICAgICAgICAhZG9jQ2hhbmdlICYmIHByaW9yRG9jICYmIEpTT04uc3RyaW5naWZ5KHByaW9yRG9jLm1ldGFkYXRhKSA9PT0gSlNPTi5zdHJpbmdpZnkoY3VycmVudERvYy5tZXRhZGF0YSkpIHtcbiAgICAgICAgICAgICAgLy8gZG9jdW1lbnQgZG9lc24ndCBhcHBlYXIgdG8gaGF2ZSBjaGFuZ2VkLCBkb24ndCBsb2cgYW5vdGhlciBhY3Rpb25cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIC8vIHNpbmNlIHRoZSBhY3Rpb25zIGFyZSBwcm9jZXNzZWQgaW4gb3JkZXIganVzdCBwdXNoIG9udG8gdGhlIGFycmF5XG4gICAgICAgICAgICAgIGFjdGlvbnMucHVzaCh7XG4gICAgICAgICAgICAgICAgdHlwZTogJ21vZGlmaWVkJyxcbiAgICAgICAgICAgICAgICBwYXlsb2FkOiB7XG4gICAgICAgICAgICAgICAgICBvbGRJbmRleDogY3VycmVudEluZGV4LFxuICAgICAgICAgICAgICAgICAgbmV3SW5kZXg6IGN1cnJlbnRJbmRleCxcbiAgICAgICAgICAgICAgICAgIHR5cGU6ICdtb2RpZmllZCcsXG4gICAgICAgICAgICAgICAgICBkb2M6IGN1cnJlbnREb2NcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhY3Rpb25zIGFzIERvY3VtZW50Q2hhbmdlQWN0aW9uPFQ+W107XG4gICAgICB9KSxcbiAgKTtcbn1cblxuLyoqXG4gKiBSZXR1cm4gYSBzdHJlYW0gb2YgZG9jdW1lbnQgY2hhbmdlcyBvbiBhIHF1ZXJ5LiBUaGVzZSByZXN1bHRzIGFyZSBpbiBzb3J0IG9yZGVyLlxuICovXG5leHBvcnQgZnVuY3Rpb24gc29ydGVkQ2hhbmdlczxUPihcbiAgcXVlcnk6IFF1ZXJ5LFxuICBldmVudHM6IERvY3VtZW50Q2hhbmdlVHlwZVtdLFxuICBzY2hlZHVsZXI/OiBTY2hlZHVsZXJMaWtlKTogT2JzZXJ2YWJsZTxEb2N1bWVudENoYW5nZUFjdGlvbjxUPltdPiB7XG4gIHJldHVybiBkb2NDaGFuZ2VzPFQ+KHF1ZXJ5LCBzY2hlZHVsZXIpXG4gICAgLnBpcGUoXG4gICAgICBzY2FuKChjdXJyZW50LCBjaGFuZ2VzKSA9PiBjb21iaW5lQ2hhbmdlczxUPihjdXJyZW50LCBjaGFuZ2VzLm1hcChpdCA9PiBpdC5wYXlsb2FkKSwgZXZlbnRzKSwgW10pLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgLy8gY3V0IGRvd24gb24gdW5uZWVkIGNoYW5nZSBjeWNsZXNcbiAgICAgIG1hcChjaGFuZ2VzID0+IGNoYW5nZXMubWFwKGMgPT4gKHsgdHlwZTogYy50eXBlLCBwYXlsb2FkOiBjIH0gYXMgRG9jdW1lbnRDaGFuZ2VBY3Rpb248VD4pKSkpO1xufVxuXG4vKipcbiAqIENvbWJpbmVzIHRoZSB0b3RhbCByZXN1bHQgc2V0IGZyb20gdGhlIGN1cnJlbnQgc2V0IG9mIGNoYW5nZXMgZnJvbSBhbiBpbmNvbWluZyBzZXRcbiAqIG9mIGNoYW5nZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb21iaW5lQ2hhbmdlczxUPihjdXJyZW50OiBEb2N1bWVudENoYW5nZTxUPltdLCBjaGFuZ2VzOiBEb2N1bWVudENoYW5nZTxUPltdLCBldmVudHM6IERvY3VtZW50Q2hhbmdlVHlwZVtdKSB7XG4gIGNoYW5nZXMuZm9yRWFjaChjaGFuZ2UgPT4ge1xuICAgIC8vIHNraXAgdW53YW50ZWQgY2hhbmdlIHR5cGVzXG4gICAgaWYgKGV2ZW50cy5pbmRleE9mKGNoYW5nZS50eXBlKSA+IC0xKSB7XG4gICAgICBjdXJyZW50ID0gY29tYmluZUNoYW5nZShjdXJyZW50LCBjaGFuZ2UpO1xuICAgIH1cbiAgfSk7XG4gIHJldHVybiBjdXJyZW50O1xufVxuXG4vKipcbiAqIFNwbGljZSBhcmd1bWVudHMgb24gdG9wIG9mIGEgc2xpY2VkIGFycmF5LCB0byBicmVhayB0b3AtbGV2ZWwgPT09XG4gKiB0aGlzIGlzIHVzZWZ1bCBmb3IgY2hhbmdlLWRldGVjdGlvblxuICovXG5mdW5jdGlvbiBzbGljZUFuZFNwbGljZTxUPihcbiAgb3JpZ2luYWw6IFRbXSxcbiAgc3RhcnQ6IG51bWJlcixcbiAgZGVsZXRlQ291bnQ6IG51bWJlcixcbiAgLi4uYXJnczogVFtdXG4pOiBUW10ge1xuICBjb25zdCByZXR1cm5BcnJheSA9IG9yaWdpbmFsLnNsaWNlKCk7XG4gIHJldHVybkFycmF5LnNwbGljZShzdGFydCwgZGVsZXRlQ291bnQsIC4uLmFyZ3MpO1xuICByZXR1cm4gcmV0dXJuQXJyYXk7XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhIG5ldyBzb3J0ZWQgYXJyYXkgZnJvbSBhIG5ldyBjaGFuZ2UuXG4gKiBCdWlsZCBvdXIgb3duIGJlY2F1c2Ugd2UgYWxsb3cgZmlsdGVyaW5nIG9mIGFjdGlvbiB0eXBlcyAoJ2FkZGVkJywgJ3JlbW92ZWQnLCAnbW9kaWZpZWQnKSBiZWZvcmUgc2Nhbm5pbmdcbiAqIGFuZCBzbyB3ZSBoYXZlIGdyZWF0ZXIgY29udHJvbCBvdmVyIGNoYW5nZSBkZXRlY3Rpb24gKGJ5IGJyZWFraW5nID09PSlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbWJpbmVDaGFuZ2U8VD4oY29tYmluZWQ6IERvY3VtZW50Q2hhbmdlPFQ+W10sIGNoYW5nZTogRG9jdW1lbnRDaGFuZ2U8VD4pOiBEb2N1bWVudENoYW5nZTxUPltdIHtcbiAgc3dpdGNoIChjaGFuZ2UudHlwZSkge1xuICAgIGNhc2UgJ2FkZGVkJzpcbiAgICAgIGlmIChjb21iaW5lZFtjaGFuZ2UubmV3SW5kZXhdPy5kb2MucmVmLmlzRXF1YWwoY2hhbmdlLmRvYy5yZWYpKSB7XG4gICAgICAgIC8vIE5vdCBzdXJlIHdoeSB0aGUgZHVwbGljYXRlcyBhcmUgZ2V0dGluZyBmaXJlZFxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHNsaWNlQW5kU3BsaWNlKGNvbWJpbmVkLCBjaGFuZ2UubmV3SW5kZXgsIDAsIGNoYW5nZSk7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICBjYXNlICdtb2RpZmllZCc6XG4gICAgICBpZiAoY29tYmluZWRbY2hhbmdlLm9sZEluZGV4XSA9PSBudWxsIHx8IGNvbWJpbmVkW2NoYW5nZS5vbGRJbmRleF0uZG9jLnJlZi5pc0VxdWFsKGNoYW5nZS5kb2MucmVmKSkge1xuICAgICAgICAvLyBXaGVuIGFuIGl0ZW0gY2hhbmdlcyBwb3NpdGlvbiB3ZSBmaXJzdCByZW1vdmUgaXRcbiAgICAgICAgLy8gYW5kIHRoZW4gYWRkIGl0J3MgbmV3IHBvc2l0aW9uXG4gICAgICAgIGlmIChjaGFuZ2Uub2xkSW5kZXggIT09IGNoYW5nZS5uZXdJbmRleCkge1xuICAgICAgICAgIGNvbnN0IGNvcGllZEFycmF5ID0gY29tYmluZWQuc2xpY2UoKTtcbiAgICAgICAgICBjb3BpZWRBcnJheS5zcGxpY2UoY2hhbmdlLm9sZEluZGV4LCAxKTtcbiAgICAgICAgICBjb3BpZWRBcnJheS5zcGxpY2UoY2hhbmdlLm5ld0luZGV4LCAwLCBjaGFuZ2UpO1xuICAgICAgICAgIHJldHVybiBjb3BpZWRBcnJheTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gc2xpY2VBbmRTcGxpY2UoY29tYmluZWQsIGNoYW5nZS5uZXdJbmRleCwgMSwgY2hhbmdlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgYnJlYWs7XG4gICAgY2FzZSAncmVtb3ZlZCc6XG4gICAgICBpZiAoY29tYmluZWRbY2hhbmdlLm9sZEluZGV4XT8uZG9jLnJlZi5pc0VxdWFsKGNoYW5nZS5kb2MucmVmKSkge1xuICAgICAgICByZXR1cm4gc2xpY2VBbmRTcGxpY2UoY29tYmluZWQsIGNoYW5nZS5vbGRJbmRleCwgMSk7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgfVxuICByZXR1cm4gY29tYmluZWQ7XG59XG4iXX0=
@@ -1,13 +1,13 @@
1
1
  // DO NOT MODIFY, this file is autogenerated by tools/build.ts
2
2
  import { ɵzoneWrap } from '@angular/fire';
3
- import { fromRef as _fromRef, stateChanges as _stateChanges, list as _list, listVal as _listVal, auditTrail as _auditTrail, object as _object, objectVal as _objectVal, changeToData as _changeToData } from 'rxfire/database';
3
+ import { auditTrail as _auditTrail, changeToData as _changeToData, fromRef as _fromRef, list as _list, listVal as _listVal, object as _object, objectVal as _objectVal, stateChanges as _stateChanges } from 'rxfire/database';
4
4
  export { ListenEvent, ListenerMethods } from 'rxfire/database';
5
+ export const auditTrail = ɵzoneWrap(_auditTrail, true);
6
+ export const changeToData = ɵzoneWrap(_changeToData, true);
5
7
  export const fromRef = ɵzoneWrap(_fromRef, true);
6
- export const stateChanges = ɵzoneWrap(_stateChanges, true);
7
8
  export const list = ɵzoneWrap(_list, true);
8
9
  export const listVal = ɵzoneWrap(_listVal, true);
9
- export const auditTrail = ɵzoneWrap(_auditTrail, true);
10
10
  export const object = ɵzoneWrap(_object, true);
11
11
  export const objectVal = ɵzoneWrap(_objectVal, true);
12
- export const changeToData = ɵzoneWrap(_changeToData, true);
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnhmaXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2RhdGFiYXNlL3J4ZmlyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw4REFBOEQ7QUFDOUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQ0wsT0FBTyxJQUFJLFFBQVEsRUFDbkIsWUFBWSxJQUFJLGFBQWEsRUFDN0IsSUFBSSxJQUFJLEtBQUssRUFDYixPQUFPLElBQUksUUFBUSxFQUNuQixVQUFVLElBQUksV0FBVyxFQUN6QixNQUFNLElBQUksT0FBTyxFQUNqQixTQUFTLElBQUksVUFBVSxFQUN2QixZQUFZLElBQUksYUFBYSxFQUM5QixNQUFNLGlCQUFpQixDQUFDO0FBRXpCLE9BQU8sRUFDTCxXQUFXLEVBQ1gsZUFBZSxFQUNoQixNQUFNLGlCQUFpQixDQUFDO0FBRXpCLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ2pELE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxTQUFTLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQzNELE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRyxTQUFTLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQzNDLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ2pELE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ3ZELE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQy9DLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxTQUFTLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ3JELE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxTQUFTLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gRE8gTk9UIE1PRElGWSwgdGhpcyBmaWxlIGlzIGF1dG9nZW5lcmF0ZWQgYnkgdG9vbHMvYnVpbGQudHNcbmltcG9ydCB7IMm1em9uZVdyYXAgfSBmcm9tICdAYW5ndWxhci9maXJlJztcbmltcG9ydCB7XG4gIGZyb21SZWYgYXMgX2Zyb21SZWYsXG4gIHN0YXRlQ2hhbmdlcyBhcyBfc3RhdGVDaGFuZ2VzLFxuICBsaXN0IGFzIF9saXN0LFxuICBsaXN0VmFsIGFzIF9saXN0VmFsLFxuICBhdWRpdFRyYWlsIGFzIF9hdWRpdFRyYWlsLFxuICBvYmplY3QgYXMgX29iamVjdCxcbiAgb2JqZWN0VmFsIGFzIF9vYmplY3RWYWwsXG4gIGNoYW5nZVRvRGF0YSBhcyBfY2hhbmdlVG9EYXRhXG59IGZyb20gJ3J4ZmlyZS9kYXRhYmFzZSc7XG5cbmV4cG9ydCB7XG4gIExpc3RlbkV2ZW50LFxuICBMaXN0ZW5lck1ldGhvZHNcbn0gZnJvbSAncnhmaXJlL2RhdGFiYXNlJztcblxuZXhwb3J0IGNvbnN0IGZyb21SZWYgPSDJtXpvbmVXcmFwKF9mcm9tUmVmLCB0cnVlKTtcbmV4cG9ydCBjb25zdCBzdGF0ZUNoYW5nZXMgPSDJtXpvbmVXcmFwKF9zdGF0ZUNoYW5nZXMsIHRydWUpO1xuZXhwb3J0IGNvbnN0IGxpc3QgPSDJtXpvbmVXcmFwKF9saXN0LCB0cnVlKTtcbmV4cG9ydCBjb25zdCBsaXN0VmFsID0gybV6b25lV3JhcChfbGlzdFZhbCwgdHJ1ZSk7XG5leHBvcnQgY29uc3QgYXVkaXRUcmFpbCA9IMm1em9uZVdyYXAoX2F1ZGl0VHJhaWwsIHRydWUpO1xuZXhwb3J0IGNvbnN0IG9iamVjdCA9IMm1em9uZVdyYXAoX29iamVjdCwgdHJ1ZSk7XG5leHBvcnQgY29uc3Qgb2JqZWN0VmFsID0gybV6b25lV3JhcChfb2JqZWN0VmFsLCB0cnVlKTtcbmV4cG9ydCBjb25zdCBjaGFuZ2VUb0RhdGEgPSDJtXpvbmVXcmFwKF9jaGFuZ2VUb0RhdGEsIHRydWUpO1xuIl19
12
+ export const stateChanges = ɵzoneWrap(_stateChanges, true);
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnhmaXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2RhdGFiYXNlL3J4ZmlyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw4REFBOEQ7QUFDOUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQ0wsVUFBVSxJQUFJLFdBQVcsRUFDekIsWUFBWSxJQUFJLGFBQWEsRUFDN0IsT0FBTyxJQUFJLFFBQVEsRUFDbkIsSUFBSSxJQUFJLEtBQUssRUFDYixPQUFPLElBQUksUUFBUSxFQUNuQixNQUFNLElBQUksT0FBTyxFQUNqQixTQUFTLElBQUksVUFBVSxFQUN2QixZQUFZLElBQUksYUFBYSxFQUM5QixNQUFNLGlCQUFpQixDQUFDO0FBRXpCLE9BQU8sRUFDTCxXQUFXLEVBQ1gsZUFBZSxFQUNoQixNQUFNLGlCQUFpQixDQUFDO0FBRXpCLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ3ZELE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxTQUFTLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQzNELE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ2pELE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRyxTQUFTLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQzNDLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ2pELE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQy9DLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxTQUFTLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ3JELE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxTQUFTLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gRE8gTk9UIE1PRElGWSwgdGhpcyBmaWxlIGlzIGF1dG9nZW5lcmF0ZWQgYnkgdG9vbHMvYnVpbGQudHNcbmltcG9ydCB7IMm1em9uZVdyYXAgfSBmcm9tICdAYW5ndWxhci9maXJlJztcbmltcG9ydCB7XG4gIGF1ZGl0VHJhaWwgYXMgX2F1ZGl0VHJhaWwsXG4gIGNoYW5nZVRvRGF0YSBhcyBfY2hhbmdlVG9EYXRhLFxuICBmcm9tUmVmIGFzIF9mcm9tUmVmLFxuICBsaXN0IGFzIF9saXN0LFxuICBsaXN0VmFsIGFzIF9saXN0VmFsLFxuICBvYmplY3QgYXMgX29iamVjdCxcbiAgb2JqZWN0VmFsIGFzIF9vYmplY3RWYWwsXG4gIHN0YXRlQ2hhbmdlcyBhcyBfc3RhdGVDaGFuZ2VzXG59IGZyb20gJ3J4ZmlyZS9kYXRhYmFzZSc7XG5cbmV4cG9ydCB7XG4gIExpc3RlbkV2ZW50LFxuICBMaXN0ZW5lck1ldGhvZHNcbn0gZnJvbSAncnhmaXJlL2RhdGFiYXNlJztcblxuZXhwb3J0IGNvbnN0IGF1ZGl0VHJhaWwgPSDJtXpvbmVXcmFwKF9hdWRpdFRyYWlsLCB0cnVlKTtcbmV4cG9ydCBjb25zdCBjaGFuZ2VUb0RhdGEgPSDJtXpvbmVXcmFwKF9jaGFuZ2VUb0RhdGEsIHRydWUpO1xuZXhwb3J0IGNvbnN0IGZyb21SZWYgPSDJtXpvbmVXcmFwKF9mcm9tUmVmLCB0cnVlKTtcbmV4cG9ydCBjb25zdCBsaXN0ID0gybV6b25lV3JhcChfbGlzdCwgdHJ1ZSk7XG5leHBvcnQgY29uc3QgbGlzdFZhbCA9IMm1em9uZVdyYXAoX2xpc3RWYWwsIHRydWUpO1xuZXhwb3J0IGNvbnN0IG9iamVjdCA9IMm1em9uZVdyYXAoX29iamVjdCwgdHJ1ZSk7XG5leHBvcnQgY29uc3Qgb2JqZWN0VmFsID0gybV6b25lV3JhcChfb2JqZWN0VmFsLCB0cnVlKTtcbmV4cG9ydCBjb25zdCBzdGF0ZUNoYW5nZXMgPSDJtXpvbmVXcmFwKF9zdGF0ZUNoYW5nZXMsIHRydWUpO1xuIl19
@@ -1,12 +1,12 @@
1
1
  // DO NOT MODIFY, this file is autogenerated by tools/build.ts
2
2
  import { ɵzoneWrap } from '@angular/fire';
3
- import { collection as _collection, collectionData as _collectionData, collectionCountSnap as _collectionCountSnap, collectionCount as _collectionCount, doc as _doc, docData as _docData, snapToData as _snapToData, fromRef as _fromRef } from 'rxfire/firestore/lite';
3
+ import { collection as _collection, collectionCount as _collectionCount, collectionCountSnap as _collectionCountSnap, collectionData as _collectionData, doc as _doc, docData as _docData, fromRef as _fromRef, snapToData as _snapToData } from 'rxfire/firestore/lite';
4
4
  export const collectionSnapshots = ɵzoneWrap(_collection, true);
5
- export const collectionData = ɵzoneWrap(_collectionData, true);
6
- export const collectionCountSnap = ɵzoneWrap(_collectionCountSnap, true);
7
5
  export const collectionCount = ɵzoneWrap(_collectionCount, true);
6
+ export const collectionCountSnap = ɵzoneWrap(_collectionCountSnap, true);
7
+ export const collectionData = ɵzoneWrap(_collectionData, true);
8
8
  export const docSnapshots = ɵzoneWrap(_doc, true);
9
9
  export const docData = ɵzoneWrap(_docData, true);
10
- export const snapToData = ɵzoneWrap(_snapToData, true);
11
10
  export const fromRef = ɵzoneWrap(_fromRef, true);
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnhmaXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2ZpcmVzdG9yZS9saXRlL3J4ZmlyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw4REFBOEQ7QUFDOUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQ0wsVUFBVSxJQUFJLFdBQVcsRUFDekIsY0FBYyxJQUFJLGVBQWUsRUFDakMsbUJBQW1CLElBQUksb0JBQW9CLEVBQzNDLGVBQWUsSUFBSSxnQkFBZ0IsRUFDbkMsR0FBRyxJQUFJLElBQUksRUFDWCxPQUFPLElBQUksUUFBUSxFQUNuQixVQUFVLElBQUksV0FBVyxFQUN6QixPQUFPLElBQUksUUFBUSxFQUNwQixNQUFNLHVCQUF1QixDQUFDO0FBRS9CLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDaEUsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLFNBQVMsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDL0QsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsU0FBUyxDQUFDLG9CQUFvQixFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ3pFLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxTQUFTLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDakUsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDbEQsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDakQsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDdkQsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBETyBOT1QgTU9ESUZZLCB0aGlzIGZpbGUgaXMgYXV0b2dlbmVyYXRlZCBieSB0b29scy9idWlsZC50c1xuaW1wb3J0IHsgybV6b25lV3JhcCB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUnO1xuaW1wb3J0IHtcbiAgY29sbGVjdGlvbiBhcyBfY29sbGVjdGlvbixcbiAgY29sbGVjdGlvbkRhdGEgYXMgX2NvbGxlY3Rpb25EYXRhLFxuICBjb2xsZWN0aW9uQ291bnRTbmFwIGFzIF9jb2xsZWN0aW9uQ291bnRTbmFwLFxuICBjb2xsZWN0aW9uQ291bnQgYXMgX2NvbGxlY3Rpb25Db3VudCxcbiAgZG9jIGFzIF9kb2MsXG4gIGRvY0RhdGEgYXMgX2RvY0RhdGEsXG4gIHNuYXBUb0RhdGEgYXMgX3NuYXBUb0RhdGEsXG4gIGZyb21SZWYgYXMgX2Zyb21SZWZcbn0gZnJvbSAncnhmaXJlL2ZpcmVzdG9yZS9saXRlJztcblxuZXhwb3J0IGNvbnN0IGNvbGxlY3Rpb25TbmFwc2hvdHMgPSDJtXpvbmVXcmFwKF9jb2xsZWN0aW9uLCB0cnVlKTtcbmV4cG9ydCBjb25zdCBjb2xsZWN0aW9uRGF0YSA9IMm1em9uZVdyYXAoX2NvbGxlY3Rpb25EYXRhLCB0cnVlKTtcbmV4cG9ydCBjb25zdCBjb2xsZWN0aW9uQ291bnRTbmFwID0gybV6b25lV3JhcChfY29sbGVjdGlvbkNvdW50U25hcCwgdHJ1ZSk7XG5leHBvcnQgY29uc3QgY29sbGVjdGlvbkNvdW50ID0gybV6b25lV3JhcChfY29sbGVjdGlvbkNvdW50LCB0cnVlKTtcbmV4cG9ydCBjb25zdCBkb2NTbmFwc2hvdHMgPSDJtXpvbmVXcmFwKF9kb2MsIHRydWUpO1xuZXhwb3J0IGNvbnN0IGRvY0RhdGEgPSDJtXpvbmVXcmFwKF9kb2NEYXRhLCB0cnVlKTtcbmV4cG9ydCBjb25zdCBzbmFwVG9EYXRhID0gybV6b25lV3JhcChfc25hcFRvRGF0YSwgdHJ1ZSk7XG5leHBvcnQgY29uc3QgZnJvbVJlZiA9IMm1em9uZVdyYXAoX2Zyb21SZWYsIHRydWUpO1xuIl19
11
+ export const snapToData = ɵzoneWrap(_snapToData, true);
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnhmaXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2ZpcmVzdG9yZS9saXRlL3J4ZmlyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw4REFBOEQ7QUFDOUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQ0wsVUFBVSxJQUFJLFdBQVcsRUFDekIsZUFBZSxJQUFJLGdCQUFnQixFQUNuQyxtQkFBbUIsSUFBSSxvQkFBb0IsRUFDM0MsY0FBYyxJQUFJLGVBQWUsRUFDakMsR0FBRyxJQUFJLElBQUksRUFDWCxPQUFPLElBQUksUUFBUSxFQUNuQixPQUFPLElBQUksUUFBUSxFQUNuQixVQUFVLElBQUksV0FBVyxFQUMxQixNQUFNLHVCQUF1QixDQUFDO0FBRS9CLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDaEUsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLFNBQVMsQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUNqRSxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxTQUFTLENBQUMsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDekUsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLFNBQVMsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDL0QsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDbEQsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDakQsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDakQsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBETyBOT1QgTU9ESUZZLCB0aGlzIGZpbGUgaXMgYXV0b2dlbmVyYXRlZCBieSB0b29scy9idWlsZC50c1xuaW1wb3J0IHsgybV6b25lV3JhcCB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUnO1xuaW1wb3J0IHtcbiAgY29sbGVjdGlvbiBhcyBfY29sbGVjdGlvbixcbiAgY29sbGVjdGlvbkNvdW50IGFzIF9jb2xsZWN0aW9uQ291bnQsXG4gIGNvbGxlY3Rpb25Db3VudFNuYXAgYXMgX2NvbGxlY3Rpb25Db3VudFNuYXAsXG4gIGNvbGxlY3Rpb25EYXRhIGFzIF9jb2xsZWN0aW9uRGF0YSxcbiAgZG9jIGFzIF9kb2MsXG4gIGRvY0RhdGEgYXMgX2RvY0RhdGEsXG4gIGZyb21SZWYgYXMgX2Zyb21SZWYsXG4gIHNuYXBUb0RhdGEgYXMgX3NuYXBUb0RhdGFcbn0gZnJvbSAncnhmaXJlL2ZpcmVzdG9yZS9saXRlJztcblxuZXhwb3J0IGNvbnN0IGNvbGxlY3Rpb25TbmFwc2hvdHMgPSDJtXpvbmVXcmFwKF9jb2xsZWN0aW9uLCB0cnVlKTtcbmV4cG9ydCBjb25zdCBjb2xsZWN0aW9uQ291bnQgPSDJtXpvbmVXcmFwKF9jb2xsZWN0aW9uQ291bnQsIHRydWUpO1xuZXhwb3J0IGNvbnN0IGNvbGxlY3Rpb25Db3VudFNuYXAgPSDJtXpvbmVXcmFwKF9jb2xsZWN0aW9uQ291bnRTbmFwLCB0cnVlKTtcbmV4cG9ydCBjb25zdCBjb2xsZWN0aW9uRGF0YSA9IMm1em9uZVdyYXAoX2NvbGxlY3Rpb25EYXRhLCB0cnVlKTtcbmV4cG9ydCBjb25zdCBkb2NTbmFwc2hvdHMgPSDJtXpvbmVXcmFwKF9kb2MsIHRydWUpO1xuZXhwb3J0IGNvbnN0IGRvY0RhdGEgPSDJtXpvbmVXcmFwKF9kb2NEYXRhLCB0cnVlKTtcbmV4cG9ydCBjb25zdCBmcm9tUmVmID0gybV6b25lV3JhcChfZnJvbVJlZiwgdHJ1ZSk7XG5leHBvcnQgY29uc3Qgc25hcFRvRGF0YSA9IMm1em9uZVdyYXAoX3NuYXBUb0RhdGEsIHRydWUpO1xuIl19
@@ -1,15 +1,15 @@
1
1
  // DO NOT MODIFY, this file is autogenerated by tools/build.ts
2
2
  import { ɵzoneWrap } from '@angular/fire';
3
- import { collectionChanges as _collectionChanges, collection as _collection, sortedChanges as _sortedChanges, auditTrail as _auditTrail, collectionData as _collectionData, collectionCountSnap as _collectionCountSnap, collectionCount as _collectionCount, doc as _doc, docData as _docData, snapToData as _snapToData, fromRef as _fromRef } from 'rxfire/firestore';
4
- export const collectionChanges = ɵzoneWrap(_collectionChanges, true);
5
- export const collectionSnapshots = ɵzoneWrap(_collection, true);
6
- export const sortedChanges = ɵzoneWrap(_sortedChanges, true);
3
+ import { auditTrail as _auditTrail, collection as _collection, collectionChanges as _collectionChanges, collectionCount as _collectionCount, collectionCountSnap as _collectionCountSnap, collectionData as _collectionData, doc as _doc, docData as _docData, fromRef as _fromRef, snapToData as _snapToData, sortedChanges as _sortedChanges } from 'rxfire/firestore';
7
4
  export const auditTrail = ɵzoneWrap(_auditTrail, true);
8
- export const collectionData = ɵzoneWrap(_collectionData, true);
9
- export const collectionCountSnap = ɵzoneWrap(_collectionCountSnap, true);
5
+ export const collectionSnapshots = ɵzoneWrap(_collection, true);
6
+ export const collectionChanges = ɵzoneWrap(_collectionChanges, true);
10
7
  export const collectionCount = ɵzoneWrap(_collectionCount, true);
8
+ export const collectionCountSnap = ɵzoneWrap(_collectionCountSnap, true);
9
+ export const collectionData = ɵzoneWrap(_collectionData, true);
11
10
  export const docSnapshots = ɵzoneWrap(_doc, true);
12
11
  export const docData = ɵzoneWrap(_docData, true);
13
- export const snapToData = ɵzoneWrap(_snapToData, true);
14
12
  export const fromRef = ɵzoneWrap(_fromRef, true);
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnhmaXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2ZpcmVzdG9yZS9yeGZpcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsOERBQThEO0FBQzlELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUNMLGlCQUFpQixJQUFJLGtCQUFrQixFQUN2QyxVQUFVLElBQUksV0FBVyxFQUN6QixhQUFhLElBQUksY0FBYyxFQUMvQixVQUFVLElBQUksV0FBVyxFQUN6QixjQUFjLElBQUksZUFBZSxFQUNqQyxtQkFBbUIsSUFBSSxvQkFBb0IsRUFDM0MsZUFBZSxJQUFJLGdCQUFnQixFQUNuQyxHQUFHLElBQUksSUFBSSxFQUNYLE9BQU8sSUFBSSxRQUFRLEVBQ25CLFVBQVUsSUFBSSxXQUFXLEVBQ3pCLE9BQU8sSUFBSSxRQUFRLEVBQ3BCLE1BQU0sa0JBQWtCLENBQUM7QUFFMUIsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsU0FBUyxDQUFDLGtCQUFrQixFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ3JFLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDaEUsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLFNBQVMsQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDN0QsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDdkQsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLFNBQVMsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDL0QsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsU0FBUyxDQUFDLG9CQUFvQixFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ3pFLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxTQUFTLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDakUsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDbEQsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDakQsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDdkQsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBETyBOT1QgTU9ESUZZLCB0aGlzIGZpbGUgaXMgYXV0b2dlbmVyYXRlZCBieSB0b29scy9idWlsZC50c1xuaW1wb3J0IHsgybV6b25lV3JhcCB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUnO1xuaW1wb3J0IHtcbiAgY29sbGVjdGlvbkNoYW5nZXMgYXMgX2NvbGxlY3Rpb25DaGFuZ2VzLFxuICBjb2xsZWN0aW9uIGFzIF9jb2xsZWN0aW9uLFxuICBzb3J0ZWRDaGFuZ2VzIGFzIF9zb3J0ZWRDaGFuZ2VzLFxuICBhdWRpdFRyYWlsIGFzIF9hdWRpdFRyYWlsLFxuICBjb2xsZWN0aW9uRGF0YSBhcyBfY29sbGVjdGlvbkRhdGEsXG4gIGNvbGxlY3Rpb25Db3VudFNuYXAgYXMgX2NvbGxlY3Rpb25Db3VudFNuYXAsXG4gIGNvbGxlY3Rpb25Db3VudCBhcyBfY29sbGVjdGlvbkNvdW50LFxuICBkb2MgYXMgX2RvYyxcbiAgZG9jRGF0YSBhcyBfZG9jRGF0YSxcbiAgc25hcFRvRGF0YSBhcyBfc25hcFRvRGF0YSxcbiAgZnJvbVJlZiBhcyBfZnJvbVJlZlxufSBmcm9tICdyeGZpcmUvZmlyZXN0b3JlJztcblxuZXhwb3J0IGNvbnN0IGNvbGxlY3Rpb25DaGFuZ2VzID0gybV6b25lV3JhcChfY29sbGVjdGlvbkNoYW5nZXMsIHRydWUpO1xuZXhwb3J0IGNvbnN0IGNvbGxlY3Rpb25TbmFwc2hvdHMgPSDJtXpvbmVXcmFwKF9jb2xsZWN0aW9uLCB0cnVlKTtcbmV4cG9ydCBjb25zdCBzb3J0ZWRDaGFuZ2VzID0gybV6b25lV3JhcChfc29ydGVkQ2hhbmdlcywgdHJ1ZSk7XG5leHBvcnQgY29uc3QgYXVkaXRUcmFpbCA9IMm1em9uZVdyYXAoX2F1ZGl0VHJhaWwsIHRydWUpO1xuZXhwb3J0IGNvbnN0IGNvbGxlY3Rpb25EYXRhID0gybV6b25lV3JhcChfY29sbGVjdGlvbkRhdGEsIHRydWUpO1xuZXhwb3J0IGNvbnN0IGNvbGxlY3Rpb25Db3VudFNuYXAgPSDJtXpvbmVXcmFwKF9jb2xsZWN0aW9uQ291bnRTbmFwLCB0cnVlKTtcbmV4cG9ydCBjb25zdCBjb2xsZWN0aW9uQ291bnQgPSDJtXpvbmVXcmFwKF9jb2xsZWN0aW9uQ291bnQsIHRydWUpO1xuZXhwb3J0IGNvbnN0IGRvY1NuYXBzaG90cyA9IMm1em9uZVdyYXAoX2RvYywgdHJ1ZSk7XG5leHBvcnQgY29uc3QgZG9jRGF0YSA9IMm1em9uZVdyYXAoX2RvY0RhdGEsIHRydWUpO1xuZXhwb3J0IGNvbnN0IHNuYXBUb0RhdGEgPSDJtXpvbmVXcmFwKF9zbmFwVG9EYXRhLCB0cnVlKTtcbmV4cG9ydCBjb25zdCBmcm9tUmVmID0gybV6b25lV3JhcChfZnJvbVJlZiwgdHJ1ZSk7XG4iXX0=
13
+ export const snapToData = ɵzoneWrap(_snapToData, true);
14
+ export const sortedChanges = ɵzoneWrap(_sortedChanges, true);
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnhmaXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2ZpcmVzdG9yZS9yeGZpcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsOERBQThEO0FBQzlELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUNMLFVBQVUsSUFBSSxXQUFXLEVBQ3pCLFVBQVUsSUFBSSxXQUFXLEVBQ3pCLGlCQUFpQixJQUFJLGtCQUFrQixFQUN2QyxlQUFlLElBQUksZ0JBQWdCLEVBQ25DLG1CQUFtQixJQUFJLG9CQUFvQixFQUMzQyxjQUFjLElBQUksZUFBZSxFQUNqQyxHQUFHLElBQUksSUFBSSxFQUNYLE9BQU8sSUFBSSxRQUFRLEVBQ25CLE9BQU8sSUFBSSxRQUFRLEVBQ25CLFVBQVUsSUFBSSxXQUFXLEVBQ3pCLGFBQWEsSUFBSSxjQUFjLEVBQ2hDLE1BQU0sa0JBQWtCLENBQUM7QUFFMUIsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDdkQsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUNoRSxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxTQUFTLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDckUsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLFNBQVMsQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUNqRSxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxTQUFTLENBQUMsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDekUsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLFNBQVMsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDL0QsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDbEQsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDakQsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDakQsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDdkQsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLFNBQVMsQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBETyBOT1QgTU9ESUZZLCB0aGlzIGZpbGUgaXMgYXV0b2dlbmVyYXRlZCBieSB0b29scy9idWlsZC50c1xuaW1wb3J0IHsgybV6b25lV3JhcCB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUnO1xuaW1wb3J0IHtcbiAgYXVkaXRUcmFpbCBhcyBfYXVkaXRUcmFpbCxcbiAgY29sbGVjdGlvbiBhcyBfY29sbGVjdGlvbixcbiAgY29sbGVjdGlvbkNoYW5nZXMgYXMgX2NvbGxlY3Rpb25DaGFuZ2VzLFxuICBjb2xsZWN0aW9uQ291bnQgYXMgX2NvbGxlY3Rpb25Db3VudCxcbiAgY29sbGVjdGlvbkNvdW50U25hcCBhcyBfY29sbGVjdGlvbkNvdW50U25hcCxcbiAgY29sbGVjdGlvbkRhdGEgYXMgX2NvbGxlY3Rpb25EYXRhLFxuICBkb2MgYXMgX2RvYyxcbiAgZG9jRGF0YSBhcyBfZG9jRGF0YSxcbiAgZnJvbVJlZiBhcyBfZnJvbVJlZixcbiAgc25hcFRvRGF0YSBhcyBfc25hcFRvRGF0YSxcbiAgc29ydGVkQ2hhbmdlcyBhcyBfc29ydGVkQ2hhbmdlc1xufSBmcm9tICdyeGZpcmUvZmlyZXN0b3JlJztcblxuZXhwb3J0IGNvbnN0IGF1ZGl0VHJhaWwgPSDJtXpvbmVXcmFwKF9hdWRpdFRyYWlsLCB0cnVlKTtcbmV4cG9ydCBjb25zdCBjb2xsZWN0aW9uU25hcHNob3RzID0gybV6b25lV3JhcChfY29sbGVjdGlvbiwgdHJ1ZSk7XG5leHBvcnQgY29uc3QgY29sbGVjdGlvbkNoYW5nZXMgPSDJtXpvbmVXcmFwKF9jb2xsZWN0aW9uQ2hhbmdlcywgdHJ1ZSk7XG5leHBvcnQgY29uc3QgY29sbGVjdGlvbkNvdW50ID0gybV6b25lV3JhcChfY29sbGVjdGlvbkNvdW50LCB0cnVlKTtcbmV4cG9ydCBjb25zdCBjb2xsZWN0aW9uQ291bnRTbmFwID0gybV6b25lV3JhcChfY29sbGVjdGlvbkNvdW50U25hcCwgdHJ1ZSk7XG5leHBvcnQgY29uc3QgY29sbGVjdGlvbkRhdGEgPSDJtXpvbmVXcmFwKF9jb2xsZWN0aW9uRGF0YSwgdHJ1ZSk7XG5leHBvcnQgY29uc3QgZG9jU25hcHNob3RzID0gybV6b25lV3JhcChfZG9jLCB0cnVlKTtcbmV4cG9ydCBjb25zdCBkb2NEYXRhID0gybV6b25lV3JhcChfZG9jRGF0YSwgdHJ1ZSk7XG5leHBvcnQgY29uc3QgZnJvbVJlZiA9IMm1em9uZVdyYXAoX2Zyb21SZWYsIHRydWUpO1xuZXhwb3J0IGNvbnN0IHNuYXBUb0RhdGEgPSDJtXpvbmVXcmFwKF9zbmFwVG9EYXRhLCB0cnVlKTtcbmV4cG9ydCBjb25zdCBzb3J0ZWRDaGFuZ2VzID0gybV6b25lV3JhcChfc29ydGVkQ2hhbmdlcywgdHJ1ZSk7XG4iXX0=
@@ -1,8 +1,8 @@
1
1
  // DO NOT MODIFY, this file is autogenerated by tools/build.ts
2
2
  import { ɵzoneWrap } from '@angular/fire';
3
- import { traceUntil as _traceUntil, traceWhile as _traceWhile, traceUntilComplete as _traceUntilComplete, traceUntilFirst as _traceUntilFirst } from 'rxfire/performance';
3
+ import { traceUntil as _traceUntil, traceUntilComplete as _traceUntilComplete, traceUntilFirst as _traceUntilFirst, traceWhile as _traceWhile } from 'rxfire/performance';
4
4
  export const traceUntil = ɵzoneWrap(_traceUntil, true);
5
- export const traceWhile = ɵzoneWrap(_traceWhile, true);
6
5
  export const traceUntilComplete = ɵzoneWrap(_traceUntilComplete, true);
7
6
  export const traceUntilFirst = ɵzoneWrap(_traceUntilFirst, true);
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnhmaXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3BlcmZvcm1hbmNlL3J4ZmlyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw4REFBOEQ7QUFDOUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQ0wsVUFBVSxJQUFJLFdBQVcsRUFDekIsVUFBVSxJQUFJLFdBQVcsRUFDekIsa0JBQWtCLElBQUksbUJBQW1CLEVBQ3pDLGVBQWUsSUFBSSxnQkFBZ0IsRUFDcEMsTUFBTSxvQkFBb0IsQ0FBQztBQUU1QixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUN2RCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUN2RCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxTQUFTLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDdkUsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLFNBQVMsQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIERPIE5PVCBNT0RJRlksIHRoaXMgZmlsZSBpcyBhdXRvZ2VuZXJhdGVkIGJ5IHRvb2xzL2J1aWxkLnRzXG5pbXBvcnQgeyDJtXpvbmVXcmFwIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZSc7XG5pbXBvcnQge1xuICB0cmFjZVVudGlsIGFzIF90cmFjZVVudGlsLFxuICB0cmFjZVdoaWxlIGFzIF90cmFjZVdoaWxlLFxuICB0cmFjZVVudGlsQ29tcGxldGUgYXMgX3RyYWNlVW50aWxDb21wbGV0ZSxcbiAgdHJhY2VVbnRpbEZpcnN0IGFzIF90cmFjZVVudGlsRmlyc3Rcbn0gZnJvbSAncnhmaXJlL3BlcmZvcm1hbmNlJztcblxuZXhwb3J0IGNvbnN0IHRyYWNlVW50aWwgPSDJtXpvbmVXcmFwKF90cmFjZVVudGlsLCB0cnVlKTtcbmV4cG9ydCBjb25zdCB0cmFjZVdoaWxlID0gybV6b25lV3JhcChfdHJhY2VXaGlsZSwgdHJ1ZSk7XG5leHBvcnQgY29uc3QgdHJhY2VVbnRpbENvbXBsZXRlID0gybV6b25lV3JhcChfdHJhY2VVbnRpbENvbXBsZXRlLCB0cnVlKTtcbmV4cG9ydCBjb25zdCB0cmFjZVVudGlsRmlyc3QgPSDJtXpvbmVXcmFwKF90cmFjZVVudGlsRmlyc3QsIHRydWUpO1xuIl19
7
+ export const traceWhile = ɵzoneWrap(_traceWhile, true);
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnhmaXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3BlcmZvcm1hbmNlL3J4ZmlyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw4REFBOEQ7QUFDOUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQ0wsVUFBVSxJQUFJLFdBQVcsRUFDekIsa0JBQWtCLElBQUksbUJBQW1CLEVBQ3pDLGVBQWUsSUFBSSxnQkFBZ0IsRUFDbkMsVUFBVSxJQUFJLFdBQVcsRUFDMUIsTUFBTSxvQkFBb0IsQ0FBQztBQUU1QixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUN2RCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxTQUFTLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDdkUsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLFNBQVMsQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUNqRSxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIERPIE5PVCBNT0RJRlksIHRoaXMgZmlsZSBpcyBhdXRvZ2VuZXJhdGVkIGJ5IHRvb2xzL2J1aWxkLnRzXG5pbXBvcnQgeyDJtXpvbmVXcmFwIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZSc7XG5pbXBvcnQge1xuICB0cmFjZVVudGlsIGFzIF90cmFjZVVudGlsLFxuICB0cmFjZVVudGlsQ29tcGxldGUgYXMgX3RyYWNlVW50aWxDb21wbGV0ZSxcbiAgdHJhY2VVbnRpbEZpcnN0IGFzIF90cmFjZVVudGlsRmlyc3QsXG4gIHRyYWNlV2hpbGUgYXMgX3RyYWNlV2hpbGVcbn0gZnJvbSAncnhmaXJlL3BlcmZvcm1hbmNlJztcblxuZXhwb3J0IGNvbnN0IHRyYWNlVW50aWwgPSDJtXpvbmVXcmFwKF90cmFjZVVudGlsLCB0cnVlKTtcbmV4cG9ydCBjb25zdCB0cmFjZVVudGlsQ29tcGxldGUgPSDJtXpvbmVXcmFwKF90cmFjZVVudGlsQ29tcGxldGUsIHRydWUpO1xuZXhwb3J0IGNvbnN0IHRyYWNlVW50aWxGaXJzdCA9IMm1em9uZVdyYXAoX3RyYWNlVW50aWxGaXJzdCwgdHJ1ZSk7XG5leHBvcnQgY29uc3QgdHJhY2VXaGlsZSA9IMm1em9uZVdyYXAoX3RyYWNlV2hpbGUsIHRydWUpO1xuIl19
@@ -1,9 +1,9 @@
1
1
  // DO NOT MODIFY, this file is autogenerated by tools/build.ts
2
2
  import { ɵzoneWrap } from '@angular/fire';
3
- import { getValue as _getValue, getString as _getString, getNumber as _getNumber, getBoolean as _getBoolean, getAll as _getAll } from 'rxfire/remote-config';
4
- export const getValueChanges = ɵzoneWrap(_getValue, true);
5
- export const getStringChanges = ɵzoneWrap(_getString, true);
6
- export const getNumberChanges = ɵzoneWrap(_getNumber, true);
7
- export const getBooleanChanges = ɵzoneWrap(_getBoolean, true);
3
+ import { getAll as _getAll, getBoolean as _getBoolean, getNumber as _getNumber, getString as _getString, getValue as _getValue } from 'rxfire/remote-config';
8
4
  export const getAllChanges = ɵzoneWrap(_getAll, true);
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnhmaXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3JlbW90ZS1jb25maWcvcnhmaXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDhEQUE4RDtBQUM5RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFDTCxRQUFRLElBQUksU0FBUyxFQUNyQixTQUFTLElBQUksVUFBVSxFQUN2QixTQUFTLElBQUksVUFBVSxFQUN2QixVQUFVLElBQUksV0FBVyxFQUN6QixNQUFNLElBQUksT0FBTyxFQUNsQixNQUFNLHNCQUFzQixDQUFDO0FBRTlCLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxTQUFTLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQzFELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLFNBQVMsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDNUQsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsU0FBUyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUM1RCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQzlELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxTQUFTLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gRE8gTk9UIE1PRElGWSwgdGhpcyBmaWxlIGlzIGF1dG9nZW5lcmF0ZWQgYnkgdG9vbHMvYnVpbGQudHNcbmltcG9ydCB7IMm1em9uZVdyYXAgfSBmcm9tICdAYW5ndWxhci9maXJlJztcbmltcG9ydCB7XG4gIGdldFZhbHVlIGFzIF9nZXRWYWx1ZSxcbiAgZ2V0U3RyaW5nIGFzIF9nZXRTdHJpbmcsXG4gIGdldE51bWJlciBhcyBfZ2V0TnVtYmVyLFxuICBnZXRCb29sZWFuIGFzIF9nZXRCb29sZWFuLFxuICBnZXRBbGwgYXMgX2dldEFsbFxufSBmcm9tICdyeGZpcmUvcmVtb3RlLWNvbmZpZyc7XG5cbmV4cG9ydCBjb25zdCBnZXRWYWx1ZUNoYW5nZXMgPSDJtXpvbmVXcmFwKF9nZXRWYWx1ZSwgdHJ1ZSk7XG5leHBvcnQgY29uc3QgZ2V0U3RyaW5nQ2hhbmdlcyA9IMm1em9uZVdyYXAoX2dldFN0cmluZywgdHJ1ZSk7XG5leHBvcnQgY29uc3QgZ2V0TnVtYmVyQ2hhbmdlcyA9IMm1em9uZVdyYXAoX2dldE51bWJlciwgdHJ1ZSk7XG5leHBvcnQgY29uc3QgZ2V0Qm9vbGVhbkNoYW5nZXMgPSDJtXpvbmVXcmFwKF9nZXRCb29sZWFuLCB0cnVlKTtcbmV4cG9ydCBjb25zdCBnZXRBbGxDaGFuZ2VzID0gybV6b25lV3JhcChfZ2V0QWxsLCB0cnVlKTtcbiJdfQ==
5
+ export const getBooleanChanges = ɵzoneWrap(_getBoolean, true);
6
+ export const getNumberChanges = ɵzoneWrap(_getNumber, true);
7
+ export const getStringChanges = ɵzoneWrap(_getString, true);
8
+ export const getValueChanges = ɵzoneWrap(_getValue, true);
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnhmaXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3JlbW90ZS1jb25maWcvcnhmaXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDhEQUE4RDtBQUM5RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFDTCxNQUFNLElBQUksT0FBTyxFQUNqQixVQUFVLElBQUksV0FBVyxFQUN6QixTQUFTLElBQUksVUFBVSxFQUN2QixTQUFTLElBQUksVUFBVSxFQUN2QixRQUFRLElBQUksU0FBUyxFQUN0QixNQUFNLHNCQUFzQixDQUFDO0FBRTlCLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxTQUFTLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ3RELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDOUQsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsU0FBUyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUM1RCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxTQUFTLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQzVELE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxTQUFTLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gRE8gTk9UIE1PRElGWSwgdGhpcyBmaWxlIGlzIGF1dG9nZW5lcmF0ZWQgYnkgdG9vbHMvYnVpbGQudHNcbmltcG9ydCB7IMm1em9uZVdyYXAgfSBmcm9tICdAYW5ndWxhci9maXJlJztcbmltcG9ydCB7XG4gIGdldEFsbCBhcyBfZ2V0QWxsLFxuICBnZXRCb29sZWFuIGFzIF9nZXRCb29sZWFuLFxuICBnZXROdW1iZXIgYXMgX2dldE51bWJlcixcbiAgZ2V0U3RyaW5nIGFzIF9nZXRTdHJpbmcsXG4gIGdldFZhbHVlIGFzIF9nZXRWYWx1ZVxufSBmcm9tICdyeGZpcmUvcmVtb3RlLWNvbmZpZyc7XG5cbmV4cG9ydCBjb25zdCBnZXRBbGxDaGFuZ2VzID0gybV6b25lV3JhcChfZ2V0QWxsLCB0cnVlKTtcbmV4cG9ydCBjb25zdCBnZXRCb29sZWFuQ2hhbmdlcyA9IMm1em9uZVdyYXAoX2dldEJvb2xlYW4sIHRydWUpO1xuZXhwb3J0IGNvbnN0IGdldE51bWJlckNoYW5nZXMgPSDJtXpvbmVXcmFwKF9nZXROdW1iZXIsIHRydWUpO1xuZXhwb3J0IGNvbnN0IGdldFN0cmluZ0NoYW5nZXMgPSDJtXpvbmVXcmFwKF9nZXRTdHJpbmcsIHRydWUpO1xuZXhwb3J0IGNvbnN0IGdldFZhbHVlQ2hhbmdlcyA9IMm1em9uZVdyYXAoX2dldFZhbHVlLCB0cnVlKTtcbiJdfQ==
@@ -1,7 +1,7 @@
1
1
  // DO NOT MODIFY, this file is autogenerated by tools/build.ts
2
2
  export * from 'firebase/vertexai-preview';
3
3
  import { ɵzoneWrap } from '@angular/fire';
4
- import { getVertexAI as _getVertexAI, getGenerativeModel as _getGenerativeModel } from 'firebase/vertexai-preview';
5
- export const getVertexAI = ɵzoneWrap(_getVertexAI, true);
4
+ import { getGenerativeModel as _getGenerativeModel, getVertexAI as _getVertexAI } from 'firebase/vertexai-preview';
6
5
  export const getGenerativeModel = ɵzoneWrap(_getGenerativeModel, true);
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdmVydGV4YWktcHJldmlldy9maXJlYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw4REFBOEQ7QUFDOUQsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFDTCxXQUFXLElBQUksWUFBWSxFQUMzQixrQkFBa0IsSUFBSSxtQkFBbUIsRUFDMUMsTUFBTSwyQkFBMkIsQ0FBQztBQUVuQyxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsQ0FBQztBQUN6RCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxTQUFTLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBETyBOT1QgTU9ESUZZLCB0aGlzIGZpbGUgaXMgYXV0b2dlbmVyYXRlZCBieSB0b29scy9idWlsZC50c1xuZXhwb3J0ICogZnJvbSAnZmlyZWJhc2UvdmVydGV4YWktcHJldmlldyc7XG5pbXBvcnQgeyDJtXpvbmVXcmFwIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZSc7XG5pbXBvcnQge1xuICBnZXRWZXJ0ZXhBSSBhcyBfZ2V0VmVydGV4QUksXG4gIGdldEdlbmVyYXRpdmVNb2RlbCBhcyBfZ2V0R2VuZXJhdGl2ZU1vZGVsXG59IGZyb20gJ2ZpcmViYXNlL3ZlcnRleGFpLXByZXZpZXcnO1xuXG5leHBvcnQgY29uc3QgZ2V0VmVydGV4QUkgPSDJtXpvbmVXcmFwKF9nZXRWZXJ0ZXhBSSwgdHJ1ZSk7XG5leHBvcnQgY29uc3QgZ2V0R2VuZXJhdGl2ZU1vZGVsID0gybV6b25lV3JhcChfZ2V0R2VuZXJhdGl2ZU1vZGVsLCB0cnVlKTtcbiJdfQ==
6
+ export const getVertexAI = ɵzoneWrap(_getVertexAI, true);
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdmVydGV4YWktcHJldmlldy9maXJlYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw4REFBOEQ7QUFDOUQsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFDTCxrQkFBa0IsSUFBSSxtQkFBbUIsRUFDekMsV0FBVyxJQUFJLFlBQVksRUFDNUIsTUFBTSwyQkFBMkIsQ0FBQztBQUVuQyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxTQUFTLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDdkUsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLFNBQVMsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBETyBOT1QgTU9ESUZZLCB0aGlzIGZpbGUgaXMgYXV0b2dlbmVyYXRlZCBieSB0b29scy9idWlsZC50c1xuZXhwb3J0ICogZnJvbSAnZmlyZWJhc2UvdmVydGV4YWktcHJldmlldyc7XG5pbXBvcnQgeyDJtXpvbmVXcmFwIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZSc7XG5pbXBvcnQge1xuICBnZXRHZW5lcmF0aXZlTW9kZWwgYXMgX2dldEdlbmVyYXRpdmVNb2RlbCxcbiAgZ2V0VmVydGV4QUkgYXMgX2dldFZlcnRleEFJXG59IGZyb20gJ2ZpcmViYXNlL3ZlcnRleGFpLXByZXZpZXcnO1xuXG5leHBvcnQgY29uc3QgZ2V0R2VuZXJhdGl2ZU1vZGVsID0gybV6b25lV3JhcChfZ2V0R2VuZXJhdGl2ZU1vZGVsLCB0cnVlKTtcbmV4cG9ydCBjb25zdCBnZXRWZXJ0ZXhBSSA9IMm1em9uZVdyYXAoX2dldFZlcnRleEFJLCB0cnVlKTtcbiJdfQ==
package/esm2022/zones.mjs CHANGED
@@ -1,11 +1,8 @@
1
1
  /* eslint-disable @typescript-eslint/ban-ts-comment */
2
- import { Injectable, NgZone } from '@angular/core';
2
+ import { ExperimentalPendingTasks, Injectable, NgZone } from '@angular/core';
3
3
  import { Observable, asyncScheduler, queueScheduler } from 'rxjs';
4
4
  import { observeOn, subscribeOn, tap } from 'rxjs/operators';
5
5
  import * as i0 from "@angular/core";
6
- // eslint-disable-next-line @typescript-eslint/no-empty-function
7
- function noop() {
8
- }
9
6
  /**
10
7
  * Schedules tasks so that they are invoked inside the Zone that is passed in the constructor.
11
8
  */
@@ -24,9 +21,14 @@ export class ɵZoneScheduler {
24
21
  // Wrap the specified work function to make sure that if nested scheduling takes place the
25
22
  // work is executed in the correct zone
26
23
  const workInZone = function (state) {
27
- targetZone.runGuarded(() => {
24
+ if (targetZone) {
25
+ targetZone.runGuarded(() => {
26
+ work.apply(this, [state]);
27
+ });
28
+ }
29
+ else {
28
30
  work.apply(this, [state]);
29
- });
31
+ }
30
32
  };
31
33
  // Scheduling itself needs to be run in zone to ensure setInterval calls for async scheduling are done
32
34
  // inside the correct zone. This scheduler needs to schedule asynchronously always to ensure that
@@ -36,41 +38,32 @@ export class ɵZoneScheduler {
36
38
  }
37
39
  class BlockUntilFirstOperator {
38
40
  zone;
39
- // @ts-ignore
40
- task = null;
41
- constructor(zone) {
41
+ pendingTasks;
42
+ constructor(zone, pendingTasks) {
42
43
  this.zone = zone;
44
+ this.pendingTasks = pendingTasks;
43
45
  }
44
46
  call(subscriber, source) {
45
- const unscheduleTask = this.unscheduleTask.bind(this);
46
- // @ts-ignore
47
- this.task = this.zone.run(() => Zone.current.scheduleMacroTask('firebaseZoneBlock', noop, {}, noop, noop));
48
- return source.pipe(tap({ next: unscheduleTask, complete: unscheduleTask, error: unscheduleTask })).subscribe(subscriber).add(unscheduleTask);
49
- }
50
- unscheduleTask() {
47
+ const taskDone = this.zone.run(() => this.pendingTasks.add());
51
48
  // maybe this is a race condition, invoke in a timeout
52
49
  // hold for 10ms while I try to figure out what is going on
53
- setTimeout(() => {
54
- if (this.task != null && this.task.state === 'scheduled') {
55
- this.task.invoke();
56
- this.task = null;
57
- }
58
- }, 10);
50
+ const unscheduleTask = () => setTimeout(taskDone, 10);
51
+ return source.pipe(tap({ next: unscheduleTask, complete: unscheduleTask, error: unscheduleTask })).subscribe(subscriber).add(unscheduleTask);
59
52
  }
60
53
  }
61
54
  export class ɵAngularFireSchedulers {
62
55
  ngZone;
56
+ pendingTasks;
63
57
  outsideAngular;
64
58
  insideAngular;
65
- constructor(ngZone) {
59
+ constructor(ngZone, pendingTasks) {
66
60
  this.ngZone = ngZone;
67
- // @ts-ignore
68
- this.outsideAngular = ngZone.runOutsideAngular(() => new ɵZoneScheduler(Zone.current));
69
- // @ts-ignore
70
- this.insideAngular = ngZone.run(() => new ɵZoneScheduler(Zone.current, asyncScheduler));
61
+ this.pendingTasks = pendingTasks;
62
+ this.outsideAngular = ngZone.runOutsideAngular(() => new ɵZoneScheduler(typeof Zone === 'undefined' ? undefined : Zone.current));
63
+ this.insideAngular = ngZone.run(() => new ɵZoneScheduler(typeof Zone === 'undefined' ? undefined : Zone.current, asyncScheduler));
71
64
  globalThis.ɵAngularFireScheduler ||= this;
72
65
  }
73
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ɵAngularFireSchedulers, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
66
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ɵAngularFireSchedulers, deps: [{ token: i0.NgZone }, { token: i0.ExperimentalPendingTasks }], target: i0.ɵɵFactoryTarget.Injectable });
74
67
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ɵAngularFireSchedulers, providedIn: 'root' });
75
68
  }
76
69
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ɵAngularFireSchedulers, decorators: [{
@@ -78,7 +71,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
78
71
  args: [{
79
72
  providedIn: 'root',
80
73
  }]
81
- }], ctorParameters: () => [{ type: i0.NgZone }] });
74
+ }], ctorParameters: () => [{ type: i0.NgZone }, { type: i0.ExperimentalPendingTasks }] });
82
75
  function getSchedulers() {
83
76
  const schedulers = globalThis.ɵAngularFireScheduler;
84
77
  if (!schedulers) {
@@ -110,7 +103,7 @@ export function keepUnstableUntilFirst(obs$) {
110
103
  */
111
104
  export function ɵkeepUnstableUntilFirstFactory(schedulers) {
112
105
  return function keepUnstableUntilFirst(obs$) {
113
- obs$ = obs$.lift(new BlockUntilFirstOperator(schedulers.ngZone));
106
+ obs$ = obs$.lift(new BlockUntilFirstOperator(schedulers.ngZone, schedulers.pendingTasks));
114
107
  return obs$.pipe(
115
108
  // Run the subscribe body outside of Angular (e.g. calling Firebase SDK to add a listener to a change event)
116
109
  subscribeOn(schedulers.outsideAngular),
@@ -121,39 +114,28 @@ export function ɵkeepUnstableUntilFirstFactory(schedulers) {
121
114
  );
122
115
  };
123
116
  }
124
- // @ts-ignore
125
- const zoneWrapFn = (it, macrotask) => {
126
- // eslint-disable-next-line @typescript-eslint/no-this-alias
127
- const _this = this;
128
- // function() is needed for the arguments object
129
- return function () {
130
- const _arguments = arguments;
131
- if (macrotask) {
132
- setTimeout(() => {
133
- if (macrotask.state === 'scheduled') {
134
- macrotask.invoke();
135
- }
136
- }, 10);
117
+ const zoneWrapFn = (it, taskDone) => {
118
+ return (...args) => {
119
+ if (taskDone) {
120
+ setTimeout(taskDone, 10);
137
121
  }
138
- return run(() => it.apply(_this, _arguments));
122
+ return run(() => it.apply(this, args));
139
123
  };
140
124
  };
141
125
  export const ɵzoneWrap = (it, blockUntilFirst) => {
142
126
  // function() is needed for the arguments object
143
127
  return function () {
144
- // @ts-ignore
145
- let macrotask;
128
+ let taskDone;
146
129
  const _arguments = arguments;
147
- // if this is a callback function, e.g, onSnapshot, we should create a microtask and invoke it
130
+ // if this is a callback function, e.g, onSnapshot, we should create a pending task and complete it
148
131
  // only once one of the callback functions is tripped.
149
132
  for (let i = 0; i < arguments.length; i++) {
150
133
  if (typeof _arguments[i] === 'function') {
151
134
  if (blockUntilFirst) {
152
- // @ts-ignore
153
- macrotask ||= run(() => Zone.current.scheduleMacroTask('firebaseZoneBlock', noop, {}, noop, noop));
135
+ taskDone ||= run(() => getSchedulers().pendingTasks.add());
154
136
  }
155
137
  // TODO create a microtask to track callback functions
156
- _arguments[i] = zoneWrapFn(_arguments[i], macrotask);
138
+ _arguments[i] = zoneWrapFn(_arguments[i], taskDone);
157
139
  }
158
140
  }
159
141
  const ret = runOutsideAngular(() => it.apply(this, _arguments));
@@ -171,17 +153,15 @@ export const ɵzoneWrap = (it, blockUntilFirst) => {
171
153
  }
172
154
  else if (ret instanceof Promise) {
173
155
  // eslint-disable-next-line @typescript-eslint/no-misused-promises
174
- return run(() => new Promise((resolve, reject) => ret.then(it => run(() => resolve(it)), reason => run(() => reject(reason)))));
156
+ return run(() => new Promise((resolve, reject) => {
157
+ ret.then((it) => run(() => resolve(it)), (reason) => run(() => reject(reason)));
158
+ }));
175
159
  }
176
- else if (typeof ret === 'function' && macrotask) {
160
+ else if (typeof ret === 'function' && taskDone) {
177
161
  // Handle unsubscribe
178
162
  // function() is needed for the arguments object
179
163
  return function () {
180
- setTimeout(() => {
181
- if (macrotask && macrotask.state === 'scheduled') {
182
- macrotask.invoke();
183
- }
184
- }, 10);
164
+ setTimeout(taskDone, 10);
185
165
  return ret.apply(this, arguments);
186
166
  };
187
167
  }
@@ -191,4 +171,4 @@ export const ɵzoneWrap = (it, blockUntilFirst) => {
191
171
  }
192
172
  };
193
173
  };
194
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9uZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvem9uZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsc0RBQXNEO0FBQ3RELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFDTCxVQUFVLEVBT1YsY0FBYyxFQUNkLGNBQWMsRUFDZixNQUFNLE1BQU0sQ0FBQztBQUNkLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUU3RCxnRUFBZ0U7QUFDaEUsU0FBUyxJQUFJO0FBQ2IsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGNBQWM7SUFDTDtJQUFtQjtJQUF2QyxZQUFvQixJQUFTLEVBQVUsV0FBZ0IsY0FBYztRQUFqRCxTQUFJLEdBQUosSUFBSSxDQUFLO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBc0I7SUFDckUsQ0FBQztJQUVELEdBQUc7UUFDRCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELFFBQVEsQ0FBQyxJQUF1RCxFQUFFLEtBQWMsRUFBRSxLQUFXO1FBQzNGLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDN0IsMEZBQTBGO1FBQzFGLHVDQUF1QztRQUN2QyxNQUFNLFVBQVUsR0FBRyxVQUFxQyxLQUFVO1lBQ2hFLFVBQVUsQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUN6QixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDNUIsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUM7UUFFRixzR0FBc0c7UUFDdEcsaUdBQWlHO1FBQ2pHLCtHQUErRztRQUMvRyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxL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RTtvQkFDZCxJQUFJLFNBQVMsSUFBSSxTQUFTLENBQUMsS0FBSyxLQUFLLFdBQVcsRUFBRSxDQUFDO3dCQUNqRCxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUM7b0JBQ3JCLENBQUM7Z0JBQ0gsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUNQLE9BQU8sR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFDcEMsQ0FBQyxDQUFDO1FBQ0osQ0FBQzthQUFNLENBQUM7WUFDTixvRkFBb0Y7WUFDcEYsT0FBTyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDeEIsQ0FBQztJQUNILENBQVEsQ0FBQztBQUNYLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudCAqL1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBPYnNlcnZhYmxlLFxuICBPcGVyYXRvcixcbiAgU2NoZWR1bGVyQWN0aW9uLFxuICBTY2hlZHVsZXJMaWtlLFxuICBTdWJzY3JpYmVyLFxuICBTdWJzY3JpcHRpb24sXG4gIFRlYXJkb3duTG9naWMsXG4gIGFzeW5jU2NoZWR1bGVyLFxuICBxdWV1ZVNjaGVkdWxlclxufSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG9ic2VydmVPbiwgc3Vic2NyaWJlT24sIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxuZnVuY3Rpb24gbm9vcCgpIHtcbn1cblxuLyoqXG4gKiBTY2hlZHVsZXMgdGFza3Mgc28gdGhhdCB0aGV5IGFyZSBpbnZva2VkIGluc2lkZSB0aGUgWm9uZSB0aGF0IGlzIHBhc3NlZCBpbiB0aGUgY29uc3RydWN0b3IuXG4gKi9cbmV4cG9ydCBjbGFzcyDJtVpvbmVTY2hlZHVsZXIgaW1wbGVtZW50cyBTY2hlZHVsZXJMaWtlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSB6b25lOiBhbnksIHByaXZhdGUgZGVsZWdhdGU6IGFueSA9IHF1ZXVlU2NoZWR1bGVyKSB7XG4gIH1cblxuICBub3coKSB7XG4gICAgcmV0dXJuIHRoaXMuZGVsZWdhdGUubm93KCk7XG4gIH1cblxuICBzY2hlZHVsZSh3b3JrOiAodGhpczogU2NoZWR1bGVyQWN0aW9uPGFueT4sIHN0YXRlPzogYW55KSA9PiB2b2lkLCBkZWxheT86IG51bWJlciwgc3RhdGU/OiBhbnkpOiBTdWJzY3JpcHRpb24ge1xuICAgIGNvbnN0IHRhcmdldFpvbmUgPSB0aGlzLnpvbmU7XG4gICAgLy8gV3JhcCB0aGUgc3BlY2lmaWVkIHdvcmsgZnVuY3Rpb24gdG8gbWFrZSBzdXJlIHRoYXQgaWYgbmVzdGVkIHNjaGVkdWxpbmcgdGFrZXMgcGxhY2UgdGhlXG4gICAgLy8gd29yayBpcyBleGVjdXRlZCBpbiB0aGUgY29ycmVjdCB6b25lXG4gICAgY29uc3Qgd29ya0luWm9uZSA9IGZ1bmN0aW9uKHRoaXM6IFNjaGVkdWxlckFjdGlvbjxhbnk+LCBzdGF0ZTogYW55KSB7XG4gICAgICB0YXJnZXRab25lLnJ1bkd1YXJkZWQoKCkgPT4ge1xuICAgICAgICB3b3JrLmFwcGx5KHRoaXMsIFtzdGF0ZV0pO1xuICAgICAgfSk7XG4gICAgfTtcblxuICAgIC8vIFNjaGVkdWxpbmcgaXRzZWxmIG5lZWRzIHRvIGJlIHJ1biBpbiB6b25lIHRvIGVuc3VyZSBzZXRJbnRlcnZhbCBjYWxscyBmb3IgYXN5bmMgc2NoZWR1bGluZyBhcmUgZG9uZVxuICAgIC8vIGluc2lkZSB0aGUgY29ycmVjdCB6b25lLiBUaGlzIHNjaGVkdWxlciBuZWVkcyB0byBzY2hlZHVsZSBhc3luY2hyb25vdXNseSBhbHdheXMgdG8gZW5zdXJlIHRoYXRcbiAgICAvLyBmaXJlYmFzZSBlbWlzc2lvbnMgYXJlIG5ldmVyIHN5bmNocm9ub3VzLiBTcGVjaWZ5aW5nIGEgZGVsYXkgY2F1c2VzIGlzc3VlcyB3aXRoIHRoZSBxdWV1ZVNjaGVkdWxlciBkZWxlZ2F0ZS5cbiAgICByZXR1cm4gdGhpcy5kZWxlZ2F0ZS5zY2hlZHVsZSh3b3JrSW5ab25lLCBkZWxheSwgc3RhdGUpO1xuICB9XG59XG5cbmNsYXNzIEJsb2NrVW50aWxGaXJzdE9wZXJhdG9yPFQ+IGltcGxlbWVudHMgT3BlcmF0b3I8VCwgVD4ge1xuICAvLyBAdHMtaWdub3JlXG4gIHByaXZhdGUgdGFzazogTWFjcm9UYXNrIHwgbnVsbCA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSB6b25lOiBhbnkpIHtcbiAgfVxuXG4gIGNhbGwoc3Vic2NyaWJlcjogU3Vic2NyaWJlcjxUPiwgc291cmNlOiBPYnNlcnZhYmxlPFQ+KTogVGVhcmRvd25Mb2dpYyB7XG4gICAgY29uc3QgdW5zY2hlZHVsZVRhc2sgPSB0aGlzLnVuc2NoZWR1bGVUYXNrLmJpbmQodGhpcyk7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIHRoaXMudGFzayA9IHRoaXMuem9uZS5ydW4oKCkgPT4gWm9uZS5jdXJyZW50LnNjaGVkdWxlTWFjcm9UYXNrKCdmaXJlYmFzZVpvbmVCbG9jaycsIG5vb3AsIHt9LCBub29wLCBub29wKSk7XG5cbiAgICByZXR1cm4gc291cmNlLnBpcGUoXG4gICAgICB0YXAoeyBuZXh0OiB1bnNjaGVkdWxlVGFzaywgY29tcGxldGU6IHVuc2NoZWR1bGVUYXNrLCBlcnJvcjogdW5zY2hlZHVsZVRhc2sgfSlcbiAgICApLnN1YnNjcmliZShzdWJzY3JpYmVyKS5hZGQodW5zY2hlZHVsZVRhc2spO1xuICB9XG5cbiAgcHJpdmF0ZSB1bnNjaGVkdWxlVGFzaygpIHtcbiAgICAvLyBtYXliZSB0aGlzIGlzIGEgcmFjZSBjb25kaXRpb24sIGludm9rZSBpbiBhIHRpbWVvdXRcbiAgICAvLyBob2xkIGZvciAxMG1zIHdoaWxlIEkgdHJ5IHRvIGZpZ3VyZSBvdXQgd2hhdCBpcyBnb2luZyBvblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMudGFzayAhPSBudWxsICYmIHRoaXMudGFzay5zdGF0ZSA9PT0gJ3NjaGVkdWxlZCcpIHtcbiAgICAgICAgdGhpcy50YXNrLmludm9rZSgpO1xuICAgICAgICB0aGlzLnRhc2sgPSBudWxsO1xuICAgICAgfVxuICAgIH0sIDEwKTtcbiAgfVxufVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgybVBbmd1bGFyRmlyZVNjaGVkdWxlcnMge1xuICBwdWJsaWMgcmVhZG9ubHkgb3V0c2lkZUFuZ3VsYXI6IMm1Wm9uZVNjaGVkdWxlcjtcbiAgcHVibGljIHJlYWRvbmx5IGluc2lkZUFuZ3VsYXI6IMm1Wm9uZVNjaGVkdWxlcjtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgbmdab25lOiBOZ1pvbmUpIHtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgdGhpcy5vdXRzaWRlQW5ndWxhciA9IG5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiBuZXcgybVab25lU2NoZWR1bGVyKFpvbmUuY3VycmVudCkpO1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICB0aGlzLmluc2lkZUFuZ3VsYXIgPSBuZ1pvbmUucnVuKCgpID0+IG5ldyDJtVpvbmVTY2hlZHVsZXIoWm9uZS5jdXJyZW50LCBhc3luY1NjaGVkdWxlcikpO1xuICAgIGdsb2JhbFRoaXMuybVBbmd1bGFyRmlyZVNjaGVkdWxlciB8fD0gdGhpcztcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRTY2hlZHVsZXJzKCkge1xuICBjb25zdCBzY2hlZHVsZXJzID0gZ2xvYmFsVGhpcy7JtUFuZ3VsYXJGaXJlU2NoZWR1bGVyIGFzIMm1QW5ndWxhckZpcmVTY2hlZHVsZXJzfHVuZGVmaW5lZDtcbiAgaWYgKCFzY2hlZHVsZXJzKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuYEVpdGhlciBBbmd1bGFyRmlyZU1vZHVsZSBoYXMgbm90IGJlZW4gcHJvdmlkZWQgaW4geW91ciBBcHBNb2R1bGUgKHRoaXMgY2FuIGJlIGRvbmUgbWFudWFsbHkgb3IgaW1wbGljdGx5IHVzaW5nXG5wcm92aWRlRmlyZWJhc2VBcHApIG9yIHlvdSdyZSBjYWxsaW5nIGFuIEFuZ3VsYXJGaXJlIG1ldGhvZCBvdXRzaWRlIG9mIGFuIE5nTW9kdWxlICh3aGljaCBpcyBub3Qgc3VwcG9ydGVkKS5gKTtcbiAgfVxuICByZXR1cm4gc2NoZWR1bGVycztcbn1cblxuZnVuY3Rpb24gcnVuT3V0c2lkZUFuZ3VsYXI8VD4oZm46ICguLi5hcmdzOiBhbnlbXSkgPT4gVCk6IFQge1xuICByZXR1cm4gZ2V0U2NoZWR1bGVycygpLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiBmbigpKTtcbn1cblxuZnVuY3Rpb24gcnVuPFQ+KGZuOiAoLi4uYXJnczogYW55W10pID0+IFQpOiBUIHtcbiAgcmV0dXJuIGdldFNjaGVkdWxlcnMoKS5uZ1pvbmUucnVuKCgpID0+IGZuKCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gb2JzZXJ2ZU91dHNpZGVBbmd1bGFyPFQ+KG9icyQ6IE9ic2VydmFibGU8VD4pOiBPYnNlcnZhYmxlPFQ+IHtcbiAgcmV0dXJuIG9icyQucGlwZShvYnNlcnZlT24oZ2V0U2NoZWR1bGVycygpLm91dHNpZGVBbmd1bGFyKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBvYnNlcnZlSW5zaWRlQW5ndWxhcjxUPihvYnMkOiBPYnNlcnZhYmxlPFQ+KTogT2JzZXJ2YWJsZTxUPiB7XG4gIHJldHVybiBvYnMkLnBpcGUob2JzZXJ2ZU9uKGdldFNjaGVkdWxlcnMoKS5pbnNpZGVBbmd1bGFyKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBrZWVwVW5zdGFibGVVbnRpbEZpcnN0PFQ+KG9icyQ6IE9ic2VydmFibGU8VD4pOiBPYnNlcnZhYmxlPFQ+IHtcbiAgcmV0dXJuIMm1a2VlcFVuc3RhYmxlVW50aWxGaXJzdEZhY3RvcnkoZ2V0U2NoZWR1bGVycygpKShvYnMkKTtcbn1cblxuLyoqXG4gKiBPcGVyYXRvciB0byBibG9jayB0aGUgem9uZSB1bnRpbCB0aGUgZmlyc3QgdmFsdWUgaGFzIGJlZW4gZW1pdHRlZCBvciB0aGUgb2JzZXJ2YWJsZVxuICogaGFzIGNvbXBsZXRlZC9lcnJvcmVkLiBUaGlzIGlzIHVzZWQgdG8gbWFrZSBzdXJlIHRoYXQgdW5pdmVyc2FsIHdhaXRzIHVudGlsIHRoZSBmaXJzdFxuICogdmFsdWUgZnJvbSBmaXJlYmFzZSBidXQgZG9lc24ndCBibG9jayB0aGUgem9uZSBmb3JldmVyIHNpbmNlIHRoZSBmaXJlYmFzZSBzdWJzY3JpcHRpb25cbiAqIGlzIHN0aWxsIGFsaXZlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gybVrZWVwVW5zdGFibGVVbnRpbEZpcnN0RmFjdG9yeShzY2hlZHVsZXJzOiDJtUFuZ3VsYXJGaXJlU2NoZWR1bGVycykge1xuICByZXR1cm4gZnVuY3Rpb24ga2VlcFVuc3RhYmxlVW50aWxGaXJzdDxUPihvYnMkOiBPYnNlcnZhYmxlPFQ+KTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgb2JzJCA9IG9icyQubGlmdChcbiAgICAgIG5ldyBCbG9ja1VudGlsRmlyc3RPcGVyYXRvcihzY2hlZHVsZXJzLm5nWm9uZSlcbiAgICApO1xuXG4gICAgcmV0dXJuIG9icyQucGlwZShcbiAgICAgIC8vIFJ1biB0aGUgc3Vic2NyaWJlIGJvZHkgb3V0c2lkZSBvZiBBbmd1bGFyIChlLmcuIGNhbGxpbmcgRmlyZWJhc2UgU0RLIHRvIGFkZCBhIGxpc3RlbmVyIHRvIGEgY2hhbmdlIGV2ZW50KVxuICAgICAgc3Vic2NyaWJlT24oc2NoZWR1bGVycy5vdXRzaWRlQW5ndWxhciksXG4gICAgICAvLyBSdW4gb3BlcmF0b3JzIGluc2lkZSB0aGUgYW5ndWxhciB6b25lIChlLmcuIHNpZGUgZWZmZWN0cyB2aWEgdGFwKCkpXG4gICAgICBvYnNlcnZlT24oc2NoZWR1bGVycy5pbnNpZGVBbmd1bGFyKVxuICAgICAgLy8gSU5WRVNUSUdBVEUgaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhcmZpcmUvcHVsbC8yMzE1XG4gICAgICAvLyBzaGFyZSgpXG4gICAgKTtcbiAgfTtcbn1cblxuLy8gQHRzLWlnbm9yZVxuY29uc3Qgem9uZVdyYXBGbiA9IChpdDogKC4uLmFyZ3M6IGFueVtdKSA9PiBhbnksIG1hY3JvdGFzazogTWFjcm9UYXNrfHVuZGVmaW5lZCkgPT4ge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXRoaXMtYWxpYXNcbiAgY29uc3QgX3RoaXMgPSB0aGlzO1xuICAvLyBmdW5jdGlvbigpIGlzIG5lZWRlZCBmb3IgdGhlIGFyZ3VtZW50cyBvYmplY3RcbiAgcmV0dXJuIGZ1bmN0aW9uKCkge1xuICAgIGNvbnN0IF9hcmd1bWVudHMgPSBhcmd1bWVudHM7XG4gICAgaWYgKG1hY3JvdGFzaykge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGlmIChtYWNyb3Rhc2suc3RhdGUgPT09ICdzY2hlZHVsZWQnKSB7XG4gICAgICAgICAgbWFjcm90YXNrLmludm9rZSgpO1xuICAgICAgICB9XG4gICAgICB9LCAxMCk7XG4gICAgfVxuICAgIHJldHVybiBydW4oKCkgPT4gaXQuYXBwbHkoX3RoaXMsIF9hcmd1bWVudHMpKTtcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCDJtXpvbmVXcmFwID0gPFQ9IHVua25vd24+KGl0OiBULCBibG9ja1VudGlsRmlyc3Q6IGJvb2xlYW4pOiBUID0+IHtcbiAgLy8gZnVuY3Rpb24oKSBpcyBuZWVkZWQgZm9yIHRoZSBhcmd1bWVudHMgb2JqZWN0XG4gIHJldHVybiBmdW5jdGlvbigpIHtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgbGV0IG1hY3JvdGFzazogTWFjcm9UYXNrIHwgdW5kZWZpbmVkO1xuICAgIGNvbnN0IF9hcmd1bWVudHMgPSBhcmd1bWVudHM7XG4gICAgLy8gaWYgdGhpcyBpcyBhIGNhbGxiYWNrIGZ1bmN0aW9uLCBlLmcsIG9uU25hcHNob3QsIHdlIHNob3VsZCBjcmVhdGUgYSBtaWNyb3Rhc2sgYW5kIGludm9rZSBpdFxuICAgIC8vIG9ubHkgb25jZSBvbmUgb2YgdGhlIGNhbGxiYWNrIGZ1bmN0aW9ucyBpcyB0cmlwcGVkLlxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBpZiAodHlwZW9mIF9hcmd1bWVudHNbaV0gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgaWYgKGJsb2NrVW50aWxGaXJzdCkge1xuICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICBtYWNyb3Rhc2sgfHw9IHJ1bigoKSA9PiBab25lLmN1cnJlbnQuc2NoZWR1bGVNYWNyb1Rhc2soJ2ZpcmViYXNlWm9uZUJsb2NrJywgbm9vcCwge30sIG5vb3AsIG5vb3ApKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBUT0RPIGNyZWF0ZSBhIG1pY3JvdGFzayB0byB0cmFjayBjYWxsYmFjayBmdW5jdGlvbnNcbiAgICAgICAgX2FyZ3VtZW50c1tpXSA9IHpvbmVXcmFwRm4oX2FyZ3VtZW50c1tpXSwgbWFjcm90YXNrKTtcbiAgICAgIH1cbiAgICB9XG4gICAgY29uc3QgcmV0ID0gcnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4gKGl0IGFzIGFueSkuYXBwbHkodGhpcywgX2FyZ3VtZW50cykpO1xuICAgIGlmICghYmxvY2tVbnRpbEZpcnN0KSB7XG4gICAgICBpZiAocmV0IGluc3RhbmNlb2YgT2JzZXJ2YWJsZSkge1xuICAgICAgICBjb25zdCBzY2hlZHVsZXJzID0gZ2V0U2NoZWR1bGVycygpO1xuICAgICAgICByZXR1cm4gcmV0LnBpcGUoXG4gICAgICAgICAgc3Vic2NyaWJlT24oc2NoZWR1bGVycy5vdXRzaWRlQW5ndWxhciksXG4gICAgICAgICAgb2JzZXJ2ZU9uKHNjaGVkdWxlcnMuaW5zaWRlQW5ndWxhciksXG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gcnVuKCgpID0+IHJldCk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChyZXQgaW5zdGFuY2VvZiBPYnNlcnZhYmxlKSB7XG4gICAgICByZXR1cm4gcmV0LnBpcGUoa2VlcFVuc3RhYmxlVW50aWxGaXJzdCkgYXMgYW55O1xuICAgIH0gZWxzZSBpZiAocmV0IGluc3RhbmNlb2YgUHJvbWlzZSkge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1taXN1c2VkLXByb21pc2VzXG4gICAgICByZXR1cm4gcnVuKCgpID0+IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHJldC50aGVuKGl0ID0+IHJ1bigoKSA9PiByZXNvbHZlKGl0KSksIHJlYXNvbiA9PiBydW4oKCkgPT4gcmVqZWN0KHJlYXNvbikpKSkpO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIHJldCA9PT0gJ2Z1bmN0aW9uJyAmJiBtYWNyb3Rhc2spIHtcbiAgICAgIC8vIEhhbmRsZSB1bnN1YnNjcmliZVxuICAgICAgLy8gZnVuY3Rpb24oKSBpcyBuZWVkZWQgZm9yIHRoZSBhcmd1bWVudHMgb2JqZWN0XG4gICAgICByZXR1cm4gZnVuY3Rpb24oKSB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIGlmIChtYWNyb3Rhc2sgJiYgbWFjcm90YXNrLnN0YXRlID09PSAnc2NoZWR1bGVkJykge1xuICAgICAgICAgICAgbWFjcm90YXNrLmludm9rZSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSwgMTApO1xuICAgICAgICByZXR1cm4gcmV0LmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBUT0RPIGhvdyBkbyB3ZSBoYW5kbGUgc3RvcmFnZSB1cGxvYWRzIGluIFpvbmU/IGFuZCBvdGhlciBzdHVmZiB3aXRoIGNhbmNlbCgpIGV0Yz9cbiAgICAgIHJldHVybiBydW4oKCkgPT4gcmV0KTtcbiAgICB9XG4gIH0gYXMgYW55O1xufTtcbiJdfQ==
174
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9uZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvem9uZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsc0RBQXNEO0FBQ3RELE9BQU8sRUFDTCx3QkFBd0IsRUFDeEIsVUFBVSxFQUNWLE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsVUFBVSxFQU9WLGNBQWMsRUFDZCxjQUFjLEVBQ2YsTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFJN0Q7O0dBRUc7QUFDSCxNQUFNLE9BQU8sY0FBYztJQUNMO0lBQW1CO0lBQXZDLFlBQW9CLElBQVMsRUFBVSxXQUFnQixjQUFjO1FBQWpELFNBQUksR0FBSixJQUFJLENBQUs7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFzQjtJQUNyRSxDQUFDO0lBRUQsR0FBRztRQUNELE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsUUFBUSxDQUFDLElBQXVELEVBQUUsS0FBYyxFQUFFLEtBQVc7UUFDM0YsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUM3QiwwRkFBMEY7UUFDMUYsdUNBQXVDO1FBQ3ZDLE1BQU0sVUFBVSxHQUFHLFVBQXFDLEtBQVU7WUFDaEUsSUFBSSxVQUFVLEVBQUUsQ0FBQztnQkFDZixVQUFVLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRTtvQkFDekIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO2dCQUM1QixDQUFDLENBQUMsQ0FBQztZQUNMLENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDNUIsQ0FBQztRQUNILENBQUMs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aW50L2Jhbi10cy1jb21tZW50ICovXG5pbXBvcnQge1xuICBFeHBlcmltZW50YWxQZW5kaW5nVGFza3MsXG4gIEluamVjdGFibGUsXG4gIE5nWm9uZVxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIE9ic2VydmFibGUsXG4gIE9wZXJhdG9yLFxuICBTY2hlZHVsZXJBY3Rpb24sXG4gIFNjaGVkdWxlckxpa2UsXG4gIFN1YnNjcmliZXIsXG4gIFN1YnNjcmlwdGlvbixcbiAgVGVhcmRvd25Mb2dpYyxcbiAgYXN5bmNTY2hlZHVsZXIsXG4gIHF1ZXVlU2NoZWR1bGVyXG59IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgb2JzZXJ2ZU9uLCBzdWJzY3JpYmVPbiwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5kZWNsYXJlIGNvbnN0IFpvbmU6IHtjdXJyZW50OiB1bmtub3dufSB8IHVuZGVmaW5lZDsgXG5cbi8qKlxuICogU2NoZWR1bGVzIHRhc2tzIHNvIHRoYXQgdGhleSBhcmUgaW52b2tlZCBpbnNpZGUgdGhlIFpvbmUgdGhhdCBpcyBwYXNzZWQgaW4gdGhlIGNvbnN0cnVjdG9yLlxuICovXG5leHBvcnQgY2xhc3MgybVab25lU2NoZWR1bGVyIGltcGxlbWVudHMgU2NoZWR1bGVyTGlrZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgem9uZTogYW55LCBwcml2YXRlIGRlbGVnYXRlOiBhbnkgPSBxdWV1ZVNjaGVkdWxlcikge1xuICB9XG5cbiAgbm93KCkge1xuICAgIHJldHVybiB0aGlzLmRlbGVnYXRlLm5vdygpO1xuICB9XG5cbiAgc2NoZWR1bGUod29yazogKHRoaXM6IFNjaGVkdWxlckFjdGlvbjxhbnk+LCBzdGF0ZT86IGFueSkgPT4gdm9pZCwgZGVsYXk/OiBudW1iZXIsIHN0YXRlPzogYW55KTogU3Vic2NyaXB0aW9uIHtcbiAgICBjb25zdCB0YXJnZXRab25lID0gdGhpcy56b25lO1xuICAgIC8vIFdyYXAgdGhlIHNwZWNpZmllZCB3b3JrIGZ1bmN0aW9uIHRvIG1ha2Ugc3VyZSB0aGF0IGlmIG5lc3RlZCBzY2hlZHVsaW5nIHRha2VzIHBsYWNlIHRoZVxuICAgIC8vIHdvcmsgaXMgZXhlY3V0ZWQgaW4gdGhlIGNvcnJlY3Qgem9uZVxuICAgIGNvbnN0IHdvcmtJblpvbmUgPSBmdW5jdGlvbih0aGlzOiBTY2hlZHVsZXJBY3Rpb248YW55Piwgc3RhdGU6IGFueSkge1xuICAgICAgaWYgKHRhcmdldFpvbmUpIHtcbiAgICAgICAgdGFyZ2V0Wm9uZS5ydW5HdWFyZGVkKCgpID0+IHtcbiAgICAgICAgICB3b3JrLmFwcGx5KHRoaXMsIFtzdGF0ZV0pO1xuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHdvcmsuYXBwbHkodGhpcywgW3N0YXRlXSk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIC8vIFNjaGVkdWxpbmcgaXRzZWxmIG5lZWRzIHRvIGJlIHJ1biBpbiB6b25lIHRvIGVuc3VyZSBzZXRJbnRlcnZhbCBjYWxscyBmb3IgYXN5bmMgc2NoZWR1bGluZyBhcmUgZG9uZVxuICAgIC8vIGluc2lkZSB0aGUgY29ycmVjdCB6b25lLiBUaGlzIHNjaGVkdWxlciBuZWVkcyB0byBzY2hlZHVsZSBhc3luY2hyb25vdXNseSBhbHdheXMgdG8gZW5zdXJlIHRoYXRcbiAgICAvLyBmaXJlYmFzZSBlbWlzc2lvbnMgYXJlIG5ldmVyIHN5bmNocm9ub3VzLiBTcGVjaWZ5aW5nIGEgZGVsYXkgY2F1c2VzIGlzc3VlcyB3aXRoIHRoZSBxdWV1ZVNjaGVkdWxlciBkZWxlZ2F0ZS5cbiAgICByZXR1cm4gdGhpcy5kZWxlZ2F0ZS5zY2hlZHVsZSh3b3JrSW5ab25lLCBkZWxheSwgc3RhdGUpO1xuICB9XG59XG5cbmNsYXNzIEJsb2NrVW50aWxGaXJzdE9wZXJhdG9yPFQ+IGltcGxlbWVudHMgT3BlcmF0b3I8VCwgVD4ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHpvbmU6IGFueSxcbiAgICBwcml2YXRlIHBlbmRpbmdUYXNrczogRXhwZXJpbWVudGFsUGVuZGluZ1Rhc2tzXG4gICkge31cblxuICBjYWxsKHN1YnNjcmliZXI6IFN1YnNjcmliZXI8VD4sIHNvdXJjZTogT2JzZXJ2YWJsZTxUPik6IFRlYXJkb3duTG9naWMge1xuICAgIGNvbnN0IHRhc2tEb25lOiBWb2lkRnVuY3Rpb24gPSB0aGlzLnpvbmUucnVuKCgpID0+IHRoaXMucGVuZGluZ1Rhc2tzLmFkZCgpKTtcbiAgICAvLyBtYXliZSB0aGlzIGlzIGEgcmFjZSBjb25kaXRpb24sIGludm9rZSBpbiBhIHRpbWVvdXRcbiAgICAvLyBob2xkIGZvciAxMG1zIHdoaWxlIEkgdHJ5IHRvIGZpZ3VyZSBvdXQgd2hhdCBpcyBnb2luZyBvblxuICAgIGNvbnN0IHVuc2NoZWR1bGVUYXNrID0gKCkgPT4gc2V0VGltZW91dCh0YXNrRG9uZSwgMTApO1xuXG4gICAgcmV0dXJuIHNvdXJjZS5waXBlKFxuICAgICAgdGFwKHsgbmV4dDogdW5zY2hlZHVsZVRhc2ssIGNvbXBsZXRlOiB1bnNjaGVkdWxlVGFzaywgZXJyb3I6IHVuc2NoZWR1bGVUYXNrIH0pXG4gICAgKS5zdWJzY3JpYmUoc3Vic2NyaWJlcikuYWRkKHVuc2NoZWR1bGVUYXNrKTtcbiAgfVxufVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgybVBbmd1bGFyRmlyZVNjaGVkdWxlcnMge1xuICBwdWJsaWMgcmVhZG9ubHkgb3V0c2lkZUFuZ3VsYXI6IMm1Wm9uZVNjaGVkdWxlcjtcbiAgcHVibGljIHJlYWRvbmx5IGluc2lkZUFuZ3VsYXI6IMm1Wm9uZVNjaGVkdWxlcjtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgbmdab25lOiBOZ1pvbmUsIHB1YmxpYyBwZW5kaW5nVGFza3M6IEV4cGVyaW1lbnRhbFBlbmRpbmdUYXNrcykge1xuICAgIHRoaXMub3V0c2lkZUFuZ3VsYXIgPSBuZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoXG4gICAgICAoKSA9PiBuZXcgybVab25lU2NoZWR1bGVyKHR5cGVvZiBab25lID09PSAndW5kZWZpbmVkJyA/IHVuZGVmaW5lZCA6IFpvbmUuY3VycmVudClcbiAgICApO1xuICAgIHRoaXMuaW5zaWRlQW5ndWxhciA9IG5nWm9uZS5ydW4oXG4gICAgICAoKSA9PiBuZXcgybVab25lU2NoZWR1bGVyKFxuICAgICAgICB0eXBlb2YgWm9uZSA9PT0gJ3VuZGVmaW5lZCcgPyB1bmRlZmluZWQgOiBab25lLmN1cnJlbnQsXG4gICAgICAgIGFzeW5jU2NoZWR1bGVyXG4gICAgICApXG4gICAgKTtcbiAgICBnbG9iYWxUaGlzLsm1QW5ndWxhckZpcmVTY2hlZHVsZXIgfHw9IHRoaXM7XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0U2NoZWR1bGVycygpIHtcbiAgY29uc3Qgc2NoZWR1bGVycyA9IGdsb2JhbFRoaXMuybVBbmd1bGFyRmlyZVNjaGVkdWxlciBhcyDJtUFuZ3VsYXJGaXJlU2NoZWR1bGVyc3x1bmRlZmluZWQ7XG4gIGlmICghc2NoZWR1bGVycykge1xuICAgIHRocm93IG5ldyBFcnJvcihcbmBFaXRoZXIgQW5ndWxhckZpcmVNb2R1bGUgaGFzIG5vdCBiZWVuIHByb3ZpZGVkIGluIHlvdXIgQXBwTW9kdWxlICh0aGlzIGNhbiBiZSBkb25lIG1hbnVhbGx5IG9yIGltcGxpY3RseSB1c2luZ1xucHJvdmlkZUZpcmViYXNlQXBwKSBvciB5b3UncmUgY2FsbGluZyBhbiBBbmd1bGFyRmlyZSBtZXRob2Qgb3V0c2lkZSBvZiBhbiBOZ01vZHVsZSAod2hpY2ggaXMgbm90IHN1cHBvcnRlZCkuYCk7XG4gIH1cbiAgcmV0dXJuIHNjaGVkdWxlcnM7XG59XG5cbmZ1bmN0aW9uIHJ1bk91dHNpZGVBbmd1bGFyPFQ+KGZuOiAoLi4uYXJnczogYW55W10pID0+IFQpOiBUIHtcbiAgcmV0dXJuIGdldFNjaGVkdWxlcnMoKS5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4gZm4oKSk7XG59XG5cbmZ1bmN0aW9uIHJ1bjxUPihmbjogKC4uLmFyZ3M6IGFueVtdKSA9PiBUKTogVCB7XG4gIHJldHVybiBnZXRTY2hlZHVsZXJzKCkubmdab25lLnJ1bigoKSA9PiBmbigpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG9ic2VydmVPdXRzaWRlQW5ndWxhcjxUPihvYnMkOiBPYnNlcnZhYmxlPFQ+KTogT2JzZXJ2YWJsZTxUPiB7XG4gIHJldHVybiBvYnMkLnBpcGUob2JzZXJ2ZU9uKGdldFNjaGVkdWxlcnMoKS5vdXRzaWRlQW5ndWxhcikpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gb2JzZXJ2ZUluc2lkZUFuZ3VsYXI8VD4ob2JzJDogT2JzZXJ2YWJsZTxUPik6IE9ic2VydmFibGU8VD4ge1xuICByZXR1cm4gb2JzJC5waXBlKG9ic2VydmVPbihnZXRTY2hlZHVsZXJzKCkuaW5zaWRlQW5ndWxhcikpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24ga2VlcFVuc3RhYmxlVW50aWxGaXJzdDxUPihvYnMkOiBPYnNlcnZhYmxlPFQ+KTogT2JzZXJ2YWJsZTxUPiB7XG4gIHJldHVybiDJtWtlZXBVbnN0YWJsZVVudGlsRmlyc3RGYWN0b3J5KGdldFNjaGVkdWxlcnMoKSkob2JzJCk7XG59XG5cbi8qKlxuICogT3BlcmF0b3IgdG8gYmxvY2sgdGhlIHpvbmUgdW50aWwgdGhlIGZpcnN0IHZhbHVlIGhhcyBiZWVuIGVtaXR0ZWQgb3IgdGhlIG9ic2VydmFibGVcbiAqIGhhcyBjb21wbGV0ZWQvZXJyb3JlZC4gVGhpcyBpcyB1c2VkIHRvIG1ha2Ugc3VyZSB0aGF0IHVuaXZlcnNhbCB3YWl0cyB1bnRpbCB0aGUgZmlyc3RcbiAqIHZhbHVlIGZyb20gZmlyZWJhc2UgYnV0IGRvZXNuJ3QgYmxvY2sgdGhlIHpvbmUgZm9yZXZlciBzaW5jZSB0aGUgZmlyZWJhc2Ugc3Vic2NyaXB0aW9uXG4gKiBpcyBzdGlsbCBhbGl2ZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIMm1a2VlcFVuc3RhYmxlVW50aWxGaXJzdEZhY3RvcnkoXG4gIHNjaGVkdWxlcnM6IMm1QW5ndWxhckZpcmVTY2hlZHVsZXJzXG4pIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIGtlZXBVbnN0YWJsZVVudGlsRmlyc3Q8VD4oXG4gICAgb2JzJDogT2JzZXJ2YWJsZTxUPlxuICApOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICBvYnMkID0gb2JzJC5saWZ0KFxuICAgICAgbmV3IEJsb2NrVW50aWxGaXJzdE9wZXJhdG9yKHNjaGVkdWxlcnMubmdab25lLCBzY2hlZHVsZXJzLnBlbmRpbmdUYXNrcylcbiAgICApO1xuXG4gICAgcmV0dXJuIG9icyQucGlwZShcbiAgICAgIC8vIFJ1biB0aGUgc3Vic2NyaWJlIGJvZHkgb3V0c2lkZSBvZiBBbmd1bGFyIChlLmcuIGNhbGxpbmcgRmlyZWJhc2UgU0RLIHRvIGFkZCBhIGxpc3RlbmVyIHRvIGEgY2hhbmdlIGV2ZW50KVxuICAgICAgc3Vic2NyaWJlT24oc2NoZWR1bGVycy5vdXRzaWRlQW5ndWxhciksXG4gICAgICAvLyBSdW4gb3BlcmF0b3JzIGluc2lkZSB0aGUgYW5ndWxhciB6b25lIChlLmcuIHNpZGUgZWZmZWN0cyB2aWEgdGFwKCkpXG4gICAgICBvYnNlcnZlT24oc2NoZWR1bGVycy5pbnNpZGVBbmd1bGFyKVxuICAgICAgLy8gSU5WRVNUSUdBVEUgaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhcmZpcmUvcHVsbC8yMzE1XG4gICAgICAvLyBzaGFyZSgpXG4gICAgKTtcbiAgfTtcbn1cblxuY29uc3Qgem9uZVdyYXBGbiA9IChcbiAgaXQ6ICguLi5hcmdzOiBhbnlbXSkgPT4gYW55LFxuICB0YXNrRG9uZTogVm9pZEZ1bmN0aW9uIHwgdW5kZWZpbmVkXG4pID0+IHtcbiAgcmV0dXJuICguLi5hcmdzOiBhbnlbXSkgPT4ge1xuICAgIGlmICh0YXNrRG9uZSkge1xuICAgICAgc2V0VGltZW91dCh0YXNrRG9uZSwgMTApO1xuICAgIH1cbiAgICByZXR1cm4gcnVuKCgpID0+IGl0LmFwcGx5KHRoaXMsIGFyZ3MpKTtcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCDJtXpvbmVXcmFwID0gPFQ9IHVua25vd24+KGl0OiBULCBibG9ja1VudGlsRmlyc3Q6IGJvb2xlYW4pOiBUID0+IHtcbiAgLy8gZnVuY3Rpb24oKSBpcyBuZWVkZWQgZm9yIHRoZSBhcmd1bWVudHMgb2JqZWN0XG4gIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgbGV0IHRhc2tEb25lOiBWb2lkRnVuY3Rpb24gfCB1bmRlZmluZWQ7XG4gICAgY29uc3QgX2FyZ3VtZW50cyA9IGFyZ3VtZW50cztcbiAgICAvLyBpZiB0aGlzIGlzIGEgY2FsbGJhY2sgZnVuY3Rpb24sIGUuZywgb25TbmFwc2hvdCwgd2Ugc2hvdWxkIGNyZWF0ZSBhIHBlbmRpbmcgdGFzayBhbmQgY29tcGxldGUgaXRcbiAgICAvLyBvbmx5IG9uY2Ugb25lIG9mIHRoZSBjYWxsYmFjayBmdW5jdGlvbnMgaXMgdHJpcHBlZC5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgaWYgKHR5cGVvZiBfYXJndW1lbnRzW2ldID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIGlmIChibG9ja1VudGlsRmlyc3QpIHtcbiAgICAgICAgICB0YXNrRG9uZSB8fD0gcnVuKCgpID0+IGdldFNjaGVkdWxlcnMoKS5wZW5kaW5nVGFza3MuYWRkKCkpO1xuICAgICAgICB9XG4gICAgICAgIC8vIFRPRE8gY3JlYXRlIGEgbWljcm90YXNrIHRvIHRyYWNrIGNhbGxiYWNrIGZ1bmN0aW9uc1xuICAgICAgICBfYXJndW1lbnRzW2ldID0gem9uZVdyYXBGbihfYXJndW1lbnRzW2ldLCB0YXNrRG9uZSk7XG4gICAgICB9XG4gICAgfVxuICAgIGNvbnN0IHJldCA9IHJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IChpdCBhcyBhbnkpLmFwcGx5KHRoaXMsIF9hcmd1bWVudHMpKTtcbiAgICBpZiAoIWJsb2NrVW50aWxGaXJzdCkge1xuICAgICAgaWYgKHJldCBpbnN0YW5jZW9mIE9ic2VydmFibGUpIHtcbiAgICAgICAgY29uc3Qgc2NoZWR1bGVycyA9IGdldFNjaGVkdWxlcnMoKTtcbiAgICAgICAgcmV0dXJuIHJldC5waXBlKFxuICAgICAgICAgIHN1YnNjcmliZU9uKHNjaGVkdWxlcnMub3V0c2lkZUFuZ3VsYXIpLFxuICAgICAgICAgIG9ic2VydmVPbihzY2hlZHVsZXJzLmluc2lkZUFuZ3VsYXIpLFxuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHJ1bigoKSA9PiByZXQpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAocmV0IGluc3RhbmNlb2YgT2JzZXJ2YWJsZSkge1xuICAgICAgcmV0dXJuIHJldC5waXBlKGtlZXBVbnN0YWJsZVVudGlsRmlyc3QpIGFzIGFueTtcbiAgICB9IGVsc2UgaWYgKHJldCBpbnN0YW5jZW9mIFByb21pc2UpIHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbWlzdXNlZC1wcm9taXNlc1xuICAgICAgcmV0dXJuIHJ1bihcbiAgICAgICAgKCkgPT5cbiAgICAgICAgICBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgICByZXQudGhlbihcbiAgICAgICAgICAgICAgKGl0KSA9PiBydW4oKCkgPT4gcmVzb2x2ZShpdCkpLFxuICAgICAgICAgICAgICAocmVhc29uKSA9PiBydW4oKCkgPT4gcmVqZWN0KHJlYXNvbikpXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0pXG4gICAgICApO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIHJldCA9PT0gJ2Z1bmN0aW9uJyAmJiB0YXNrRG9uZSkge1xuICAgICAgLy8gSGFuZGxlIHVuc3Vic2NyaWJlXG4gICAgICAvLyBmdW5jdGlvbigpIGlzIG5lZWRlZCBmb3IgdGhlIGFyZ3VtZW50cyBvYmplY3RcbiAgICAgIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHNldFRpbWVvdXQodGFza0RvbmUsIDEwKTtcbiAgICAgICAgcmV0dXJuIHJldC5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVE9ETyBob3cgZG8gd2UgaGFuZGxlIHN0b3JhZ2UgdXBsb2FkcyBpbiBab25lPyBhbmQgb3RoZXIgc3R1ZmYgd2l0aCBjYW5jZWwoKSBldGM/XG4gICAgICByZXR1cm4gcnVuKCgpID0+IHJldCk7XG4gICAgfVxuICB9IGFzIGFueTtcbn07XG4iXX0=