@coolon/angular-ui-powerups 0.0.61 → 0.0.62

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/bundles/coolon-angular-ui-powerups.umd.js +419 -117
  2. package/bundles/coolon-angular-ui-powerups.umd.js.map +1 -1
  3. package/bundles/coolon-angular-ui-powerups.umd.min.js +1 -1
  4. package/bundles/coolon-angular-ui-powerups.umd.min.js.map +1 -1
  5. package/coolon-angular-ui-powerups.metadata.json +1 -1
  6. package/esm2015/coolon-angular-ui-powerups.js +2 -2
  7. package/esm2015/index.js +2 -2
  8. package/esm2015/lib/interaction/activity.js +11 -1
  9. package/esm2015/lib/interaction/components/activity-container/activity-container.component.js +49 -1
  10. package/esm2015/lib/interaction/components/activity-outlet/activity-outlet.component.js +7 -56
  11. package/esm2015/lib/interaction/guards/close-interaction.guard.js +62 -0
  12. package/esm2015/lib/interaction/index.js +3 -2
  13. package/esm2015/lib/interaction/interaction-context.js +25 -5
  14. package/esm2015/lib/interaction/services/dialog-interaction.service.js +93 -4
  15. package/esm2015/lib/place/guards/leave-place.guard.js +128 -20
  16. package/esm2015/public_api.js +2 -2
  17. package/esm5/coolon-angular-ui-powerups.js +2 -2
  18. package/esm5/index.js +2 -2
  19. package/esm5/lib/interaction/activity.js +11 -1
  20. package/esm5/lib/interaction/components/activity-container/activity-container.component.js +67 -1
  21. package/esm5/lib/interaction/components/activity-outlet/activity-outlet.component.js +11 -78
  22. package/esm5/lib/interaction/guards/close-interaction.guard.js +66 -0
  23. package/esm5/lib/interaction/index.js +3 -2
  24. package/esm5/lib/interaction/interaction-context.js +33 -6
  25. package/esm5/lib/interaction/services/dialog-interaction.service.js +109 -4
  26. package/esm5/lib/place/guards/leave-place.guard.js +131 -20
  27. package/esm5/public_api.js +2 -2
  28. package/fesm2015/coolon-angular-ui-powerups.js +355 -82
  29. package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
  30. package/fesm5/coolon-angular-ui-powerups.js +406 -105
  31. package/fesm5/coolon-angular-ui-powerups.js.map +1 -1
  32. package/lib/interaction/activity.d.ts +2 -0
  33. package/lib/interaction/components/activity-container/activity-container.component.d.ts +10 -1
  34. package/lib/interaction/components/activity-outlet/activity-outlet.component.d.ts +2 -9
  35. package/lib/interaction/guards/close-interaction.guard.d.ts +12 -0
  36. package/lib/interaction/index.d.ts +1 -0
  37. package/lib/interaction/interaction-context.d.ts +17 -4
  38. package/lib/interaction/services/dialog-interaction.service.d.ts +14 -2
  39. package/lib/place/guards/leave-place.guard.d.ts +7 -1
  40. package/package.json +1 -1
@@ -0,0 +1,66 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ import { Injectable, Injector } from '@angular/core';
6
+ import { Router } from '@angular/router';
7
+ import { InteractionContext } from '../interaction-context';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@angular/router";
10
+ import * as i2 from "../interaction-context";
11
+ var CloseInteractionGuard = /** @class */ (function () {
12
+ function CloseInteractionGuard(router, injector, interactionContext) {
13
+ this.router = router;
14
+ this.injector = injector;
15
+ this.interactionContext = interactionContext;
16
+ }
17
+ /**
18
+ * @param {?} component
19
+ * @param {?} currentRoute
20
+ * @param {?} currentState
21
+ * @param {?=} nextState
22
+ * @return {?}
23
+ */
24
+ CloseInteractionGuard.prototype.canDeactivate = /**
25
+ * @param {?} component
26
+ * @param {?} currentRoute
27
+ * @param {?} currentState
28
+ * @param {?=} nextState
29
+ * @return {?}
30
+ */
31
+ function (component, currentRoute, currentState, nextState) {
32
+ return !this.interactionContext.isActive();
33
+ };
34
+ CloseInteractionGuard.decorators = [
35
+ { type: Injectable, args: [{
36
+ providedIn: 'root'
37
+ },] }
38
+ ];
39
+ /** @nocollapse */
40
+ CloseInteractionGuard.ctorParameters = function () { return [
41
+ { type: Router },
42
+ { type: Injector },
43
+ { type: InteractionContext }
44
+ ]; };
45
+ /** @nocollapse */ CloseInteractionGuard.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function CloseInteractionGuard_Factory() { return new CloseInteractionGuard(i0.ɵɵinject(i1.Router), i0.ɵɵinject(i0.INJECTOR), i0.ɵɵinject(i2.InteractionContext)); }, token: CloseInteractionGuard, providedIn: "root" });
46
+ return CloseInteractionGuard;
47
+ }());
48
+ export { CloseInteractionGuard };
49
+ if (false) {
50
+ /**
51
+ * @type {?}
52
+ * @private
53
+ */
54
+ CloseInteractionGuard.prototype.router;
55
+ /**
56
+ * @type {?}
57
+ * @private
58
+ */
59
+ CloseInteractionGuard.prototype.injector;
60
+ /**
61
+ * @type {?}
62
+ * @private
63
+ */
64
+ CloseInteractionGuard.prototype.interactionContext;
65
+ }
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvc2UtaW50ZXJhY3Rpb24uZ3VhcmQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvaW50ZXJhY3Rpb24vZ3VhcmRzL2Nsb3NlLWludGVyYWN0aW9uLmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQXlDLE1BQU0sRUFBZ0MsTUFBTSxpQkFBaUIsQ0FBQztBQUc5RyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7OztBQUc1RDtJQUtFLCtCQUFvQixNQUFjLEVBQVUsUUFBa0IsRUFBbUIsa0JBQXNDO1FBQW5HLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQW1CLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7SUFDdkgsQ0FBQzs7Ozs7Ozs7SUFFRCw2Q0FBYTs7Ozs7OztJQUFiLFVBQWMsU0FBeUIsRUFBRSxZQUFvQyxFQUFFLFlBQWlDLEVBQUUsU0FBK0I7UUFDL0ksT0FBTyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQTtJQUM1QyxDQUFDOztnQkFWRixVQUFVLFNBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzs7O2dCQVIrQyxNQUFNO2dCQURqQyxRQUFRO2dCQUlwQixrQkFBa0I7OztnQ0FKM0I7Q0FtQkMsQUFaRCxJQVlDO1NBVFkscUJBQXFCOzs7Ozs7SUFFcEIsdUNBQXNCOzs7OztJQUFFLHlDQUEwQjs7Ozs7SUFBRSxtREFBdUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgQ2FuRGVhY3RpdmF0ZSwgUm91dGVyLCBSb3V0ZXJTdGF0ZVNuYXBzaG90LCBVcmxUcmVlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFBsYWNlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vcGxhY2UvcGxhY2UtY29tcG9uZW50JztcbmltcG9ydCB7IEludGVyYWN0aW9uQ29udGV4dCB9IGZyb20gJy4uL2ludGVyYWN0aW9uLWNvbnRleHQnO1xuXG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIENsb3NlSW50ZXJhY3Rpb25HdWFyZCBpbXBsZW1lbnRzIENhbkRlYWN0aXZhdGU8UGxhY2VDb21wb25lbnQ+IHtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyLCBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvciwgcHJpdmF0ZSByZWFkb25seSBpbnRlcmFjdGlvbkNvbnRleHQ6IEludGVyYWN0aW9uQ29udGV4dCkge1xuICB9XG5cbiAgY2FuRGVhY3RpdmF0ZShjb21wb25lbnQ6IFBsYWNlQ29tcG9uZW50LCBjdXJyZW50Um91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIGN1cnJlbnRTdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCwgbmV4dFN0YXRlPzogUm91dGVyU3RhdGVTbmFwc2hvdCk6IE9ic2VydmFibGU8Ym9vbGVhbiB8IFVybFRyZWU+IHwgUHJvbWlzZTxib29sZWFuIHwgVXJsVHJlZT4gfCBib29sZWFuIHwgVXJsVHJlZSB7XG4gICAgcmV0dXJuICF0aGlzLmludGVyYWN0aW9uQ29udGV4dC5pc0FjdGl2ZSgpXG4gIH1cblxufVxuIl19
@@ -9,7 +9,7 @@ export { AbstractActivity } from "./abstract-activity";
9
9
  export { ACTIVITY_DATA } from "./activity";
10
10
  export {} from "./alert";
11
11
  export {} from "./confirm";
12
- export { INTERACTION_CONTEXT, InteractionContext } from "./interaction-context";
12
+ export { InteractionContext } from "./interaction-context";
13
13
  export { InteractionModule } from "./interaction.module";
14
14
  export {} from "./result";
15
15
  export { ActivityContainerComponent } from "./components/activity-container/activity-container.component";
@@ -18,5 +18,6 @@ export { ActivityOutletComponent } from "./components/activity-outlet/activity-o
18
18
  export { AlertDialogComponent } from "./components/alert-dialog/alert-dialog.component";
19
19
  export { ConfirmThenDialogComponent } from "./components/confirm-then-dialog/confirm-then-dialog.component";
20
20
  export { ConfirmationDialogComponent } from "./components/confirmation-dialog/confirmation-dialog.component";
21
+ export { CloseInteractionGuard } from "./guards/close-interaction.guard";
21
22
  export { DIALOG_INTERACTION_SERVICE_DEFAULTS, DialogInteractionService } from "./services/dialog-interaction.service";
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvaW50ZXJhY3Rpb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUlBLGlDQUFjLHFCQUFxQixDQUFDO0FBQ3BDLDhCQUFjLFlBQVksQ0FBQztBQUMzQixlQUFjLFNBQVMsQ0FBQztBQUN4QixlQUFjLFdBQVcsQ0FBQztBQUMxQix3REFBYyx1QkFBdUIsQ0FBQztBQUN0QyxrQ0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxlQUFjLFVBQVUsQ0FBQztBQUN6QiwyQ0FBYyw4REFBOEQsQ0FBQztBQUM3RSxlQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLHdDQUFjLHdEQUF3RCxDQUFDO0FBQ3ZFLHFDQUFjLGtEQUFrRCxDQUFDO0FBQ2pFLDJDQUFjLGdFQUFnRSxDQUFDO0FBQy9FLDRDQUFjLGdFQUFnRSxDQUFDO0FBQy9FLDhFQUFjLHVDQUF1QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZSBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSBiYXJyZWxzYnkuXG4gKi9cblxuZXhwb3J0ICogZnJvbSBcIi4vYWJzdHJhY3QtYWN0aXZpdHlcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2FjdGl2aXR5XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9hbGVydFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29uZmlybVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vaW50ZXJhY3Rpb24tY29udGV4dFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vaW50ZXJhY3Rpb24ubW9kdWxlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yZXN1bHRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXBvbmVudHMvYWN0aXZpdHktY29udGFpbmVyL2FjdGl2aXR5LWNvbnRhaW5lci5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXBvbmVudHMvYWN0aXZpdHktb3V0bGV0L2FjdGl2aXR5LW91dGxldC1jb250ZXh0XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL2FjdGl2aXR5LW91dGxldC9hY3Rpdml0eS1vdXRsZXQuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL2FsZXJ0LWRpYWxvZy9hbGVydC1kaWFsb2cuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL2NvbmZpcm0tdGhlbi1kaWFsb2cvY29uZmlybS10aGVuLWRpYWxvZy5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXBvbmVudHMvY29uZmlybWF0aW9uLWRpYWxvZy9jb25maXJtYXRpb24tZGlhbG9nLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc2VydmljZXMvZGlhbG9nLWludGVyYWN0aW9uLnNlcnZpY2VcIjtcbiJdfQ==
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvaW50ZXJhY3Rpb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUlBLGlDQUFjLHFCQUFxQixDQUFDO0FBQ3BDLDhCQUFjLFlBQVksQ0FBQztBQUMzQixlQUFjLFNBQVMsQ0FBQztBQUN4QixlQUFjLFdBQVcsQ0FBQztBQUMxQixtQ0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxrQ0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxlQUFjLFVBQVUsQ0FBQztBQUN6QiwyQ0FBYyw4REFBOEQsQ0FBQztBQUM3RSxlQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLHdDQUFjLHdEQUF3RCxDQUFDO0FBQ3ZFLHFDQUFjLGtEQUFrRCxDQUFDO0FBQ2pFLDJDQUFjLGdFQUFnRSxDQUFDO0FBQy9FLDRDQUFjLGdFQUFnRSxDQUFDO0FBQy9FLHNDQUFjLGtDQUFrQyxDQUFDO0FBQ2pELDhFQUFjLHVDQUF1QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZSBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSBiYXJyZWxzYnkuXG4gKi9cblxuZXhwb3J0ICogZnJvbSBcIi4vYWJzdHJhY3QtYWN0aXZpdHlcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2FjdGl2aXR5XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9hbGVydFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29uZmlybVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vaW50ZXJhY3Rpb24tY29udGV4dFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vaW50ZXJhY3Rpb24ubW9kdWxlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yZXN1bHRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXBvbmVudHMvYWN0aXZpdHktY29udGFpbmVyL2FjdGl2aXR5LWNvbnRhaW5lci5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXBvbmVudHMvYWN0aXZpdHktb3V0bGV0L2FjdGl2aXR5LW91dGxldC1jb250ZXh0XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL2FjdGl2aXR5LW91dGxldC9hY3Rpdml0eS1vdXRsZXQuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL2FsZXJ0LWRpYWxvZy9hbGVydC1kaWFsb2cuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL2NvbmZpcm0tdGhlbi1kaWFsb2cvY29uZmlybS10aGVuLWRpYWxvZy5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXBvbmVudHMvY29uZmlybWF0aW9uLWRpYWxvZy9jb25maXJtYXRpb24tZGlhbG9nLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZ3VhcmRzL2Nsb3NlLWludGVyYWN0aW9uLmd1YXJkXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zZXJ2aWNlcy9kaWFsb2ctaW50ZXJhY3Rpb24uc2VydmljZVwiO1xuIl19
@@ -2,25 +2,52 @@
2
2
  * @fileoverview added by tsickle
3
3
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
4
  */
5
- import { InjectionToken } from '@angular/core';
6
- /** @type {?} */
7
- export var INTERACTION_CONTEXT = new InjectionToken('InteractionContext');
5
+ import * as tslib_1 from "tslib";
6
+ import { GarbageCollector } from '@coolon/pectin';
8
7
  /**
9
8
  * @abstract
10
9
  */
11
10
  var /**
12
11
  * @abstract
13
12
  */
14
- InteractionContext = /** @class */ (function () {
13
+ InteractionContext = /** @class */ (function (_super) {
14
+ tslib_1.__extends(InteractionContext, _super);
15
15
  function InteractionContext() {
16
+ return _super.call(this) || this;
16
17
  }
18
+ /**
19
+ * Returns true if an activity is currently running.
20
+ */
21
+ /**
22
+ * Returns true if an activity is currently running.
23
+ * @return {?}
24
+ */
25
+ InteractionContext.prototype.isActive = /**
26
+ * Returns true if an activity is currently running.
27
+ * @return {?}
28
+ */
29
+ function () {
30
+ return this.activityList.length > 0;
31
+ };
17
32
  return InteractionContext;
18
- }());
33
+ }(GarbageCollector));
19
34
  /**
20
35
  * @abstract
21
36
  */
22
37
  export { InteractionContext };
23
38
  if (false) {
39
+ /**
40
+ * Returns the activity that is currently active.
41
+ * This model is only updated in the next tick after the view has been updated.
42
+ * @type {?}
43
+ */
44
+ InteractionContext.prototype.currentActivity;
45
+ /**
46
+ * Returns the current list of activities that are in progress.
47
+ * This model is only updated in the next tick after the view has been updated.
48
+ * @type {?}
49
+ */
50
+ InteractionContext.prototype.activityList;
24
51
  /**
25
52
  * @abstract
26
53
  * @template D, R, E
@@ -52,4 +79,4 @@ if (false) {
52
79
  */
53
80
  InteractionContext.prototype.alert = function (alert) { };
54
81
  }
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3Rpb24tY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9pbnRlcmFjdGlvbi9pbnRlcmFjdGlvbi1jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU0vQyxNQUFNLEtBQU8sbUJBQW1CLEdBQUcsSUFBSSxjQUFjLENBQU0sb0JBQW9CLENBQUM7Ozs7QUFFaEY7Ozs7SUFBQTtJQWdCQSxDQUFDO0lBQUQseUJBQUM7QUFBRCxDQUFDLEFBaEJELElBZ0JDOzs7Ozs7Ozs7Ozs7O0lBZEMsK0VBQXNHOzs7Ozs7SUFHdEcsOERBQWtEOzs7Ozs7Ozs7O0lBUWxELHNGQUFzSDs7Ozs7O0lBRXRILDBEQUE0QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb25zdHJ1Y3RhYmxlIH0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHsgQWN0aXZpdHkgfSBmcm9tICcuL2FjdGl2aXR5JztcbmltcG9ydCB7IEFsZXJ0IH0gZnJvbSAnLi9hbGVydCc7XG5pbXBvcnQgeyBDb25maXJtIH0gZnJvbSAnLi9jb25maXJtJztcblxuZXhwb3J0IGNvbnN0IElOVEVSQUNUSU9OX0NPTlRFWFQgPSBuZXcgSW5qZWN0aW9uVG9rZW48YW55PignSW50ZXJhY3Rpb25Db250ZXh0Jyk7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBJbnRlcmFjdGlvbkNvbnRleHQge1xuXG4gIGFic3RyYWN0IHN0YXJ0QWN0aXZpdHk8RCwgUiwgRT4oYWN0aXZpdHlUeXBlOiBDb25zdHJ1Y3RhYmxlPEFjdGl2aXR5PEQsIFIsIEU+PiwgZGF0YT86IEQpOiBQcm9taXNlPFI+O1xuXG5cbiAgYWJzdHJhY3QgY29uZmlybShjb25maXJtOiBDb25maXJtKTogUHJvbWlzZTx2b2lkPjtcblxuICAvKipcbiAgICogUHJlc2VudHMgdGhlIGNvbmZpcm1hdGlvbiB0byB0aGUgdXNlciBhbmQgcnVucyB0aGUgYWN0aXZpdHkgb25seSBpZiB0aGUgdXNlciBjb25maXJtcy5cbiAgICogQHBhcmFtIGNvbmZpcm06Q29uZmlybSB0aGUgY29uZmlybWF0aW9uIHRvIGRpc3BsYXkuXG4gICAqIEBwYXJhbSBhY3Rpdml0eVR5cGUgdGhlIGFjdGl2aXR5IHRvIHJ1biBpZiBjb25maXJtZWQuXG4gICAqIEBwYXJhbSBkYXRhIHRoZSBhY3Rpdml0eSBkYXRhLlxuICAgKi9cbiAgYWJzdHJhY3QgY29uZmlybVRoZW48RCwgUiwgRT4oY29uZmlybTogQ29uZmlybSwgYWN0aXZpdHlUeXBlOiBDb25zdHJ1Y3RhYmxlPEFjdGl2aXR5PEQsIFIsIEU+PiwgZGF0YT86IEQpOiBQcm9taXNlPFI+O1xuXG4gIGFic3RyYWN0IGFsZXJ0KGFsZXJ0OiBBbGVydCk6IFByb21pc2U8dm9pZD47XG59XG5cbiJdfQ==
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3Rpb24tY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9pbnRlcmFjdGlvbi9pbnRlcmFjdGlvbi1jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFpQixnQkFBZ0IsRUFBeUIsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQUt4Rjs7OztJQUFpRCw4Q0FBZ0I7SUFjL0Q7ZUFDRSxpQkFBTztJQUNULENBQUM7SUFFRDs7T0FFRzs7Ozs7SUFDSCxxQ0FBUTs7OztJQUFSO1FBQ0UsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQWdCSCx5QkFBQztBQUFELENBQUMsQUF2Q0QsQ0FBaUQsZ0JBQWdCLEdBdUNoRTs7Ozs7Ozs7Ozs7SUFqQ0MsNkNBQWtFOzs7Ozs7SUFNbEUsMENBQThEOzs7Ozs7OztJQWE5RCwrRUFBc0c7Ozs7OztJQUV0Ryw4REFBa0Q7Ozs7Ozs7Ozs7SUFRbEQsc0ZBQXNIOzs7Ozs7SUFFdEgsMERBQTRDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uc3RydWN0YWJsZSwgR2FyYmFnZUNvbGxlY3RvciwgTGlzdE1vZGVsLCBWYWx1ZU1vZGVsIH0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHsgQWN0aXZpdHkgfSBmcm9tICcuL2FjdGl2aXR5JztcbmltcG9ydCB7IEFsZXJ0IH0gZnJvbSAnLi9hbGVydCc7XG5pbXBvcnQgeyBDb25maXJtIH0gZnJvbSAnLi9jb25maXJtJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEludGVyYWN0aW9uQ29udGV4dCBleHRlbmRzIEdhcmJhZ2VDb2xsZWN0b3Ige1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBhY3Rpdml0eSB0aGF0IGlzIGN1cnJlbnRseSBhY3RpdmUuXG4gICAqIFRoaXMgbW9kZWwgaXMgb25seSB1cGRhdGVkIGluIHRoZSBuZXh0IHRpY2sgYWZ0ZXIgdGhlIHZpZXcgaGFzIGJlZW4gdXBkYXRlZC5cbiAgICovXG4gIGFic3RyYWN0IHJlYWRvbmx5IGN1cnJlbnRBY3Rpdml0eTogVmFsdWVNb2RlbDxBY3Rpdml0eTxhbnksIGFueT4+O1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBjdXJyZW50IGxpc3Qgb2YgYWN0aXZpdGllcyB0aGF0IGFyZSBpbiBwcm9ncmVzcy5cbiAgICogVGhpcyBtb2RlbCBpcyBvbmx5IHVwZGF0ZWQgaW4gdGhlIG5leHQgdGljayBhZnRlciB0aGUgdmlldyBoYXMgYmVlbiB1cGRhdGVkLlxuICAgKi9cbiAgYWJzdHJhY3QgcmVhZG9ubHkgYWN0aXZpdHlMaXN0OiBMaXN0TW9kZWw8QWN0aXZpdHk8YW55LCBhbnk+PjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdHJ1ZSBpZiBhbiBhY3Rpdml0eSBpcyBjdXJyZW50bHkgcnVubmluZy5cbiAgICovXG4gIGlzQWN0aXZlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmFjdGl2aXR5TGlzdC5sZW5ndGggPiAwO1xuICB9XG5cbiAgYWJzdHJhY3Qgc3RhcnRBY3Rpdml0eTxELCBSLCBFPihhY3Rpdml0eVR5cGU6IENvbnN0cnVjdGFibGU8QWN0aXZpdHk8RCwgUiwgRT4+LCBkYXRhPzogRCk6IFByb21pc2U8Uj47XG5cbiAgYWJzdHJhY3QgY29uZmlybShjb25maXJtOiBDb25maXJtKTogUHJvbWlzZTx2b2lkPjtcblxuICAvKipcbiAgICogUHJlc2VudHMgdGhlIGNvbmZpcm1hdGlvbiB0byB0aGUgdXNlciBhbmQgcnVucyB0aGUgYWN0aXZpdHkgb25seSBpZiB0aGUgdXNlciBjb25maXJtcy5cbiAgICogQHBhcmFtIGNvbmZpcm06Q29uZmlybSB0aGUgY29uZmlybWF0aW9uIHRvIGRpc3BsYXkuXG4gICAqIEBwYXJhbSBhY3Rpdml0eVR5cGUgdGhlIGFjdGl2aXR5IHRvIHJ1biBpZiBjb25maXJtZWQuXG4gICAqIEBwYXJhbSBkYXRhIHRoZSBhY3Rpdml0eSBkYXRhLlxuICAgKi9cbiAgYWJzdHJhY3QgY29uZmlybVRoZW48RCwgUiwgRT4oY29uZmlybTogQ29uZmlybSwgYWN0aXZpdHlUeXBlOiBDb25zdHJ1Y3RhYmxlPEFjdGl2aXR5PEQsIFIsIEU+PiwgZGF0YT86IEQpOiBQcm9taXNlPFI+O1xuXG4gIGFic3RyYWN0IGFsZXJ0KGFsZXJ0OiBBbGVydCk6IFByb21pc2U8dm9pZD47XG5cbn1cblxuIl19
@@ -6,6 +6,8 @@ import * as tslib_1 from "tslib";
6
6
  import { Inject, Injectable, InjectionToken, Optional } from '@angular/core';
7
7
  import { MatDialog } from '@angular/material';
8
8
  import { MAT_DIALOG_DEFAULT_OPTIONS, MatDialogConfig } from '@angular/material/dialog';
9
+ import { Router } from '@angular/router';
10
+ import { DelegatingListModel, Dsl, lang } from '@coolon/pectin';
9
11
  import { assert } from '@coolon/typescript-utilities';
10
12
  import { ActivityContainerComponent } from '../components/activity-container/activity-container.component';
11
13
  import { AlertDialogComponent } from '../components/alert-dialog/alert-dialog.component';
@@ -14,18 +16,65 @@ import { ConfirmationDialogComponent } from '../components/confirmation-dialog/c
14
16
  import { InteractionContext } from '../interaction-context';
15
17
  import * as i0 from "@angular/core";
16
18
  import * as i1 from "@angular/material/dialog";
19
+ import * as i2 from "@angular/router";
17
20
  /** @type {?} */
18
21
  export var DIALOG_INTERACTION_SERVICE_DEFAULTS = new InjectionToken('DIALOG_INTERACTION_SERVICE_DEFAULTS');
19
22
  var DialogInteractionService = /** @class */ (function (_super) {
20
23
  tslib_1.__extends(DialogInteractionService, _super);
21
- function DialogInteractionService(dialogService, dialogServiceDefaults, matDialogDefaultConfig) {
24
+ function DialogInteractionService(dialogService, router, dialogServiceDefaults, matDialogDefaultConfig) {
22
25
  var _this = _super.call(this) || this;
23
26
  _this.dialogService = dialogService;
27
+ _this.router = router;
24
28
  _this.dialogServiceDefaults = dialogServiceDefaults;
25
29
  _this.matDialogDefaultConfig = matDialogDefaultConfig;
30
+ _this._activityList = new DelegatingListModel();
31
+ _this._active = false;
26
32
  assert.notNil(dialogService);
33
+ var _a = Dsl.disposeWith(_this), chain = _a.chain, observe = _a.observe;
34
+ _this.currentActivity = chain(_this.activityList).last();
27
35
  return _this;
36
+ // observe.valuesFrom(this.router.events)
37
+ // .tap((event:RouterEvent) => {
38
+ // const nav = router.getCurrentNavigation();
39
+ // console.log({
40
+ // previousUrl: nav.previousNavigation && nav.previousNavigation.finalUrl,
41
+ // initialUrl: nav.initialUrl,
42
+ // finalUrl: nav.finalUrl,
43
+ // });
44
+ //
45
+ // })
46
+ // .filter(event => event instanceof NavigationStart)
47
+ // .subscribe((event: NavigationStart) => {
48
+ // console.log(event.navigationTrigger);
49
+ // if (event.navigationTrigger === 'popstate' && this.isActive()) {
50
+ // const prev = router.getCurrentNavigation().previousNavigation.finalUrl;
51
+ // // this.router.navigateByUrl(prev.toString(), {
52
+ // // replaceUrl: true,
53
+ // // skipLocationChange: false
54
+ // // });
55
+ // // this.cancelActivity();
56
+ // }
57
+ // });
28
58
  }
59
+ /**
60
+ * @return {?}
61
+ */
62
+ DialogInteractionService.prototype.cancelActivity = /**
63
+ * @return {?}
64
+ */
65
+ function () {
66
+ this.currentActivity.value.cancel(null);
67
+ };
68
+ Object.defineProperty(DialogInteractionService.prototype, "activityList", {
69
+ get: /**
70
+ * @return {?}
71
+ */
72
+ function () {
73
+ return this._activityList.readonly;
74
+ },
75
+ enumerable: true,
76
+ configurable: true
77
+ });
29
78
  /**
30
79
  * @template D, R, E
31
80
  * @param {?} activityType
@@ -60,8 +109,18 @@ var DialogInteractionService = /** @class */ (function (_super) {
60
109
  function (activityType, data, disableClose) {
61
110
  var _this = this;
62
111
  if (disableClose === void 0) { disableClose = true; }
112
+ if (this.isActive()) {
113
+ lang.illegalState("Activity already in progress: " + this.activityList.value.map((/**
114
+ * @param {?} a
115
+ * @return {?}
116
+ */
117
+ function (a) { return a.constructor.name; })).join(', '));
118
+ }
119
+ this._active = true;
120
+ /** @type {?} */
121
+ var self = this;
63
122
  /** @type {?} */
64
- var config = tslib_1.__assign({ autoFocus: false, hasBackdrop: true }, this.matDialogDefaultConfig, this.dialogServiceDefaults, {
123
+ var config = tslib_1.__assign({ autoFocus: false, hasBackdrop: true, closeOnNavigation: false }, this.matDialogDefaultConfig, this.dialogServiceDefaults, {
65
124
  data: data,
66
125
  disableClose: disableClose,
67
126
  panelClass: 'dialog-interaction-service'
@@ -77,6 +136,7 @@ var DialogInteractionService = /** @class */ (function (_super) {
77
136
  /** @type {?} */
78
137
  var activityContainer = matDialogRef.componentInstance;
79
138
  activityContainer.parentInteractionContext = _this;
139
+ self.safelyUpdateActivityListDelegate(activityContainer.activityList);
80
140
  activityContainer.initialise({
81
141
  activityClass: activityType,
82
142
  activityData: data,
@@ -100,8 +160,35 @@ var DialogInteractionService = /** @class */ (function (_super) {
100
160
  }
101
161
  });
102
162
  matDialogRef.updateSize();
163
+ })).finally((/**
164
+ * @return {?}
165
+ */
166
+ function () {
167
+ self.safelyUpdateActivityListDelegate(null);
168
+ self._active = false;
103
169
  }));
104
170
  };
171
+ /**
172
+ * Updates teh delegate on the next tick to avoid modifying state during the current change detection cycle.
173
+ * @param delegate
174
+ */
175
+ /**
176
+ * Updates teh delegate on the next tick to avoid modifying state during the current change detection cycle.
177
+ * @param {?} delegate
178
+ * @return {?}
179
+ */
180
+ DialogInteractionService.prototype.safelyUpdateActivityListDelegate = /**
181
+ * Updates teh delegate on the next tick to avoid modifying state during the current change detection cycle.
182
+ * @param {?} delegate
183
+ * @return {?}
184
+ */
185
+ function (delegate) {
186
+ var _this = this;
187
+ setTimeout((/**
188
+ * @return {?}
189
+ */
190
+ function () { return _this._activityList.setDelegate(delegate); }));
191
+ };
105
192
  /**
106
193
  * @param {?} alert
107
194
  * @return {?}
@@ -153,22 +240,40 @@ var DialogInteractionService = /** @class */ (function (_super) {
153
240
  /** @nocollapse */
154
241
  DialogInteractionService.ctorParameters = function () { return [
155
242
  { type: MatDialog },
243
+ { type: Router },
156
244
  { type: MatDialogConfig, decorators: [{ type: Optional }, { type: Inject, args: [DIALOG_INTERACTION_SERVICE_DEFAULTS,] }] },
157
245
  { type: MatDialogConfig, decorators: [{ type: Optional }, { type: Inject, args: [MAT_DIALOG_DEFAULT_OPTIONS,] }] }
158
246
  ]; };
159
- /** @nocollapse */ DialogInteractionService.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function DialogInteractionService_Factory() { return new DialogInteractionService(i0.ɵɵinject(i1.MatDialog), i0.ɵɵinject(DIALOG_INTERACTION_SERVICE_DEFAULTS, 8), i0.ɵɵinject(i1.MAT_DIALOG_DEFAULT_OPTIONS, 8)); }, token: DialogInteractionService, providedIn: "root" });
247
+ /** @nocollapse */ DialogInteractionService.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function DialogInteractionService_Factory() { return new DialogInteractionService(i0.ɵɵinject(i1.MatDialog), i0.ɵɵinject(i2.Router), i0.ɵɵinject(DIALOG_INTERACTION_SERVICE_DEFAULTS, 8), i0.ɵɵinject(i1.MAT_DIALOG_DEFAULT_OPTIONS, 8)); }, token: DialogInteractionService, providedIn: "root" });
160
248
  return DialogInteractionService;
161
249
  }(InteractionContext));
162
250
  export { DialogInteractionService };
163
251
  if (false) {
252
+ /** @type {?} */
253
+ DialogInteractionService.prototype.currentActivity;
254
+ /**
255
+ * @type {?}
256
+ * @private
257
+ */
258
+ DialogInteractionService.prototype._activityList;
259
+ /**
260
+ * @type {?}
261
+ * @private
262
+ */
263
+ DialogInteractionService.prototype._active;
164
264
  /**
165
265
  * @type {?}
166
266
  * @private
167
267
  */
168
268
  DialogInteractionService.prototype.dialogService;
269
+ /**
270
+ * @type {?}
271
+ * @private
272
+ */
273
+ DialogInteractionService.prototype.router;
169
274
  /** @type {?} */
170
275
  DialogInteractionService.prototype.dialogServiceDefaults;
171
276
  /** @type {?} */
172
277
  DialogInteractionService.prototype.matDialogDefaultConfig;
173
278
  }
174
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWludGVyYWN0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvaW50ZXJhY3Rpb24vc2VydmljZXMvZGlhbG9nLWludGVyYWN0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFBRSxTQUFTLEVBQWdCLE1BQU0sbUJBQW1CLENBQUM7QUFDNUQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXZGLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUd0RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUMzRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUN6RixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpRUFBaUUsQ0FBQztBQUM3RyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxpRUFBaUUsQ0FBQztBQUU5RyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7OztBQUc1RCxNQUFNLEtBQU8sbUNBQW1DLEdBQUcsSUFBSSxjQUFjLENBQXVCLHFDQUFxQyxDQUFDO0FBRWxJO0lBRzhDLG9EQUFrQjtJQUU5RCxrQ0FBNkIsYUFBd0IsRUFDeUIscUJBQTJDLEVBQ3BELHNCQUE0QztRQUZqSCxZQUlFLGlCQUFPLFNBRVI7UUFONEIsbUJBQWEsR0FBYixhQUFhLENBQVc7UUFDeUIsMkJBQXFCLEdBQXJCLHFCQUFxQixDQUFzQjtRQUNwRCw0QkFBc0IsR0FBdEIsc0JBQXNCLENBQXNCO1FBRy9HLE1BQU0sQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7O0lBQy9CLENBQUM7Ozs7Ozs7SUFFRCxnREFBYTs7Ozs7O0lBQWIsVUFBdUIsWUFBOEMsRUFBRSxJQUFRO1FBQzdFLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDakQsQ0FBQzs7Ozs7Ozs7O0lBRU8saURBQWM7Ozs7Ozs7O0lBQXRCLFVBQWdDLFlBQThDLEVBQUUsSUFBTyxFQUFFLFlBQTRCO1FBQXJILGlCQWlDQztRQWpDd0YsNkJBQUEsRUFBQSxtQkFBNEI7O1lBQzdHLE1BQU0sc0JBQ1YsU0FBUyxFQUFFLEtBQUssRUFDaEIsV0FBVyxFQUFFLElBQUksSUFDZCxJQUFJLENBQUMsc0JBQXNCLEVBQzNCLElBQUksQ0FBQyxxQkFBcUIsRUFDMUI7WUFDRCxJQUFJLE1BQUE7WUFDSixZQUFZLGNBQUE7WUFDWixVQUFVLEVBQUUsNEJBQTRCO1NBQ3pDLENBQ0Y7O1lBQ0ssWUFBWSxHQUFHLG1CQUFBLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLDBCQUEwQixFQUFFLE1BQU0sQ0FBQyxFQUE0QztRQUM1SCxPQUFPLElBQUksT0FBTzs7Ozs7UUFBSSxVQUFDLE9BQU8sRUFBRSxNQUFNOztnQkFDOUIsaUJBQWlCLEdBQUcsWUFBWSxDQUFDLGlCQUFpQjtZQUN4RCxpQkFBaUIsQ0FBQyx3QkFBd0IsR0FBRyxLQUFJLENBQUM7WUFDbEQsaUJBQWlCLENBQUMsVUFBVSxDQUFDO2dCQUMzQixhQUFhLEVBQUUsWUFBWTtnQkFDM0IsWUFBWSxFQUFFLElBQUk7Z0JBQ2xCLE1BQU07Ozs7MEJBQUMsTUFBTTtvQkFDWCxpREFBaUQ7b0JBQ2pELE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDaEIsWUFBWSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDN0IsQ0FBQztnQkFDRCxRQUFROzs7OzBCQUFDLEtBQUs7b0JBQ1osZ0RBQWdEO29CQUNoRCxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQ2QsWUFBWSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDNUIsQ0FBQzthQUNGLENBQUMsQ0FBQztZQUVILFlBQVksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUM1QixDQUFDLEVBQUMsQ0FBQztJQUNMLENBQUM7Ozs7O0lBRUQsd0NBQUs7Ozs7SUFBTCxVQUFNLEtBQVk7UUFDaEIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLG9CQUFvQixFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNqRSxDQUFDOzs7OztJQUVELDBDQUFPOzs7O0lBQVAsVUFBUSxPQUFnQjtRQUN0QixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsMkJBQTJCLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3pFLENBQUM7Ozs7Ozs7O0lBRUQsOENBQVc7Ozs7Ozs7SUFBWCxVQUFxQixPQUFnQixFQUFFLFlBQThDLEVBQUUsSUFBUTtRQUM3RixPQUFPLElBQUksQ0FBQyxjQUFjLENBQStDLDBCQUEwQixFQUFFO1lBQ25HLE9BQU8sU0FBQTtZQUNQLFlBQVksRUFBRSxZQUFZO1lBQzFCLElBQUksRUFBRSxJQUFJO1NBQ1gsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNYLENBQUM7O2dCQWxFRixVQUFVLFNBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzs7O2dCQWxCUSxTQUFTO2dCQUNtQixlQUFlLHVCQXFCckMsUUFBUSxZQUFJLE1BQU0sU0FBQyxtQ0FBbUM7Z0JBckJoQyxlQUFlLHVCQXNCckMsUUFBUSxZQUFJLE1BQU0sU0FBQywwQkFBMEI7OzttQ0F4QjVEO0NBcUZDLEFBcEVELENBRzhDLGtCQUFrQixHQWlFL0Q7U0FqRVksd0JBQXdCOzs7Ozs7SUFFdkIsaURBQXlDOztJQUN6Qyx5REFBNkc7O0lBQzdHLDBEQUFxRyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW4sIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsJztcbmltcG9ydCB7IE1BVF9ESUFMT0dfREVGQVVMVF9PUFRJT05TLCBNYXREaWFsb2dDb25maWcgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgQ29uc3RydWN0YWJsZSB9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7IGFzc2VydCB9IGZyb20gJ0Bjb29sb24vdHlwZXNjcmlwdC11dGlsaXRpZXMnO1xuaW1wb3J0IHsgQWN0aXZpdHkgfSBmcm9tICcuLi9hY3Rpdml0eSc7XG5pbXBvcnQgeyBBbGVydCB9IGZyb20gJy4uL2FsZXJ0JztcbmltcG9ydCB7IEFjdGl2aXR5Q29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9hY3Rpdml0eS1jb250YWluZXIvYWN0aXZpdHktY29udGFpbmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBbGVydERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvYWxlcnQtZGlhbG9nL2FsZXJ0LWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29uZmlybVRoZW5EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2NvbmZpcm0tdGhlbi1kaWFsb2cvY29uZmlybS10aGVuLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29uZmlybWF0aW9uRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9jb25maXJtYXRpb24tZGlhbG9nL2NvbmZpcm1hdGlvbi1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IENvbmZpcm0gfSBmcm9tICcuLi9jb25maXJtJztcbmltcG9ydCB7IEludGVyYWN0aW9uQ29udGV4dCB9IGZyb20gJy4uL2ludGVyYWN0aW9uLWNvbnRleHQnO1xuXG5cbmV4cG9ydCBjb25zdCBESUFMT0dfSU5URVJBQ1RJT05fU0VSVklDRV9ERUZBVUxUUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxNYXREaWFsb2dDb25maWc8YW55Pj4oJ0RJQUxPR19JTlRFUkFDVElPTl9TRVJWSUNFX0RFRkFVTFRTJyk7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIERpYWxvZ0ludGVyYWN0aW9uU2VydmljZSBleHRlbmRzIEludGVyYWN0aW9uQ29udGV4dCB7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBkaWFsb2dTZXJ2aWNlOiBNYXREaWFsb2csXG4gICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoRElBTE9HX0lOVEVSQUNUSU9OX1NFUlZJQ0VfREVGQVVMVFMpIHJlYWRvbmx5IGRpYWxvZ1NlcnZpY2VEZWZhdWx0czogTWF0RGlhbG9nQ29uZmlnPGFueT4sXG4gICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoTUFUX0RJQUxPR19ERUZBVUxUX09QVElPTlMpIHJlYWRvbmx5IG1hdERpYWxvZ0RlZmF1bHRDb25maWc6IE1hdERpYWxvZ0NvbmZpZzxhbnk+XG4gICkge1xuICAgIHN1cGVyKCk7XG4gICAgYXNzZXJ0Lm5vdE5pbChkaWFsb2dTZXJ2aWNlKTtcbiAgfVxuXG4gIHN0YXJ0QWN0aXZpdHk8RCwgUiwgRT4oYWN0aXZpdHlUeXBlOiBDb25zdHJ1Y3RhYmxlPEFjdGl2aXR5PEQsIFIsIEU+PiwgZGF0YT86IEQpOiBQcm9taXNlPFI+IHtcbiAgICByZXR1cm4gdGhpcy5fc3RhcnRBY3Rpdml0eShhY3Rpdml0eVR5cGUsIGRhdGEpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc3RhcnRBY3Rpdml0eTxELCBSLCBFPihhY3Rpdml0eVR5cGU6IENvbnN0cnVjdGFibGU8QWN0aXZpdHk8RCwgUiwgRT4+LCBkYXRhOiBELCBkaXNhYmxlQ2xvc2U6IGJvb2xlYW4gPSB0cnVlKSB7XG4gICAgY29uc3QgY29uZmlnOiBNYXREaWFsb2dDb25maWcgPSB7XG4gICAgICBhdXRvRm9jdXM6IGZhbHNlLFxuICAgICAgaGFzQmFja2Ryb3A6IHRydWUsXG4gICAgICAuLi50aGlzLm1hdERpYWxvZ0RlZmF1bHRDb25maWcsXG4gICAgICAuLi50aGlzLmRpYWxvZ1NlcnZpY2VEZWZhdWx0cyxcbiAgICAgIC4uLntcbiAgICAgICAgZGF0YSxcbiAgICAgICAgZGlzYWJsZUNsb3NlLFxuICAgICAgICBwYW5lbENsYXNzOiAnZGlhbG9nLWludGVyYWN0aW9uLXNlcnZpY2UnXG4gICAgICB9XG4gICAgfTtcbiAgICBjb25zdCBtYXREaWFsb2dSZWYgPSB0aGlzLmRpYWxvZ1NlcnZpY2Uub3BlbihBY3Rpdml0eUNvbnRhaW5lckNvbXBvbmVudCwgY29uZmlnKSBhcyBNYXREaWFsb2dSZWY8QWN0aXZpdHlDb250YWluZXJDb21wb25lbnQ+O1xuICAgIHJldHVybiBuZXcgUHJvbWlzZTxSPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBjb25zdCBhY3Rpdml0eUNvbnRhaW5lciA9IG1hdERpYWxvZ1JlZi5jb21wb25lbnRJbnN0YW5jZTtcbiAgICAgIGFjdGl2aXR5Q29udGFpbmVyLnBhcmVudEludGVyYWN0aW9uQ29udGV4dCA9IHRoaXM7XG4gICAgICBhY3Rpdml0eUNvbnRhaW5lci5pbml0aWFsaXNlKHtcbiAgICAgICAgYWN0aXZpdHlDbGFzczogYWN0aXZpdHlUeXBlLFxuICAgICAgICBhY3Rpdml0eURhdGE6IGRhdGEsXG4gICAgICAgIG9uRG9uZShyZXN1bHQpIHtcbiAgICAgICAgICAvLyBUT0RPOiBzaG91bGQgSSBiZSBjYWxsaW5nIHJlc29sdmUgYWZ0ZXIgY2xvc2U/XG4gICAgICAgICAgcmVzb2x2ZShyZXN1bHQpO1xuICAgICAgICAgIG1hdERpYWxvZ1JlZi5jbG9zZShyZXN1bHQpO1xuICAgICAgICB9LFxuICAgICAgICBvbkNhbmNlbChlcnJvcikge1xuICAgICAgICAgIC8vIFRPRE86IHNob3VsZCBJIGJlIGNhbGxpbmcgcmVqZWN0IGFmdGVyIGNsb3NlP1xuICAgICAgICAgIHJlamVjdChlcnJvcik7XG4gICAgICAgICAgbWF0RGlhbG9nUmVmLmNsb3NlKGVycm9yKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIG1hdERpYWxvZ1JlZi51cGRhdGVTaXplKCk7XG4gICAgfSk7XG4gIH1cblxuICBhbGVydChhbGVydDogQWxlcnQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5fc3RhcnRBY3Rpdml0eShBbGVydERpYWxvZ0NvbXBvbmVudCwgYWxlcnQsIGZhbHNlKTtcbiAgfVxuXG4gIGNvbmZpcm0oY29uZmlybTogQ29uZmlybSk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLl9zdGFydEFjdGl2aXR5KENvbmZpcm1hdGlvbkRpYWxvZ0NvbXBvbmVudCwgY29uZmlybSwgdHJ1ZSk7XG4gIH1cblxuICBjb25maXJtVGhlbjxELCBSLCBFPihjb25maXJtOiBDb25maXJtLCBhY3Rpdml0eVR5cGU6IENvbnN0cnVjdGFibGU8QWN0aXZpdHk8RCwgUiwgRT4+LCBkYXRhPzogRCk6IFByb21pc2U8Uj4ge1xuICAgIHJldHVybiB0aGlzLl9zdGFydEFjdGl2aXR5PENvbmZpcm1UaGVuRGlhbG9nQ29tcG9uZW50LkRhdGE8RCxSLEU+LCBSLCBFPihDb25maXJtVGhlbkRpYWxvZ0NvbXBvbmVudCwge1xuICAgICAgY29uZmlybSxcbiAgICAgIGFjdGl2aXR5VHlwZTogYWN0aXZpdHlUeXBlLFxuICAgICAgZGF0YTogZGF0YVxuICAgIH0sIHRydWUpO1xuICB9XG5cbn1cbiJdfQ==
279
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWludGVyYWN0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvaW50ZXJhY3Rpb24vc2VydmljZXMvZGlhbG9nLWludGVyYWN0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFBRSxTQUFTLEVBQWdCLE1BQU0sbUJBQW1CLENBQUM7QUFDNUQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQWlCLG1CQUFtQixFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQXlCLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEcsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBR3RELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQzNHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQ3pGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlFQUFpRSxDQUFDO0FBQzdHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGlFQUFpRSxDQUFDO0FBRTlHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7OztBQUU1RCxNQUFNLEtBQU8sbUNBQW1DLEdBQUcsSUFBSSxjQUFjLENBQXVCLHFDQUFxQyxDQUFDO0FBRWxJO0lBRzhDLG9EQUFrQjtJQU05RCxrQ0FBNkIsYUFBd0IsRUFDeEIsTUFBYyxFQUNtQyxxQkFBMkMsRUFDcEQsc0JBQTRDO1FBSGpILFlBS0UsaUJBQU8sU0Ew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UTtRQUM3RixPQUFPLElBQUksQ0FBQyxjQUFjLENBQWlELDBCQUEwQixFQUFFO1lBQ3JHLE9BQU8sU0FBQTtZQUNQLFlBQVksRUFBRSxZQUFZO1lBQzFCLElBQUksRUFBRSxJQUFJO1NBQ1gsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNYLENBQUM7O2dCQXhIRixVQUFVLFNBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzs7O2dCQWxCUSxTQUFTO2dCQUVULE1BQU07Z0JBRHNCLGVBQWUsdUJBMEJyQyxRQUFRLFlBQUksTUFBTSxTQUFDLG1DQUFtQztnQkExQmhDLGVBQWUsdUJBMkJyQyxRQUFRLFlBQUksTUFBTSxTQUFDLDBCQUEwQjs7O21DQTdCNUQ7Q0EySUMsQUExSEQsQ0FHOEMsa0JBQWtCLEdBdUgvRDtTQXZIWSx3QkFBd0I7OztJQUVuQyxtREFBeUQ7Ozs7O0lBQ3pELGlEQUErRTs7Ozs7SUFDL0UsMkNBQXdCOzs7OztJQUVaLGlEQUF5Qzs7Ozs7SUFDekMsMENBQStCOztJQUMvQix5REFBNkc7O0lBQzdHLDBEQUFxRyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW4sIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsJztcbmltcG9ydCB7IE1BVF9ESUFMT0dfREVGQVVMVF9PUFRJT05TLCBNYXREaWFsb2dDb25maWcgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IENvbnN0cnVjdGFibGUsIERlbGVnYXRpbmdMaXN0TW9kZWwsIERzbCwgbGFuZywgTGlzdE1vZGVsLCBWYWx1ZU1vZGVsIH0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHsgYXNzZXJ0IH0gZnJvbSAnQGNvb2xvbi90eXBlc2NyaXB0LXV0aWxpdGllcyc7XG5pbXBvcnQgeyBBY3Rpdml0eSB9IGZyb20gJy4uL2FjdGl2aXR5JztcbmltcG9ydCB7IEFsZXJ0IH0gZnJvbSAnLi4vYWxlcnQnO1xuaW1wb3J0IHsgQWN0aXZpdHlDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2FjdGl2aXR5LWNvbnRhaW5lci9hY3Rpdml0eS1jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEFsZXJ0RGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9hbGVydC1kaWFsb2cvYWxlcnQtZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb25maXJtVGhlbkRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvY29uZmlybS10aGVuLWRpYWxvZy9jb25maXJtLXRoZW4tZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb25maXJtYXRpb25EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2NvbmZpcm1hdGlvbi1kaWFsb2cvY29uZmlybWF0aW9uLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29uZmlybSB9IGZyb20gJy4uL2NvbmZpcm0nO1xuaW1wb3J0IHsgSW50ZXJhY3Rpb25Db250ZXh0IH0gZnJvbSAnLi4vaW50ZXJhY3Rpb24tY29udGV4dCc7XG5cbmV4cG9ydCBjb25zdCBESUFMT0dfSU5URVJBQ1RJT05fU0VSVklDRV9ERUZBVUxUUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxNYXREaWFsb2dDb25maWc8YW55Pj4oJ0RJQUxPR19JTlRFUkFDVElPTl9TRVJWSUNFX0RFRkFVTFRTJyk7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIERpYWxvZ0ludGVyYWN0aW9uU2VydmljZSBleHRlbmRzIEludGVyYWN0aW9uQ29udGV4dCB7XG5cbiAgcmVhZG9ubHkgY3VycmVudEFjdGl2aXR5OiBWYWx1ZU1vZGVsPEFjdGl2aXR5PGFueSwgYW55Pj47XG4gIHByaXZhdGUgcmVhZG9ubHkgX2FjdGl2aXR5TGlzdCA9IG5ldyBEZWxlZ2F0aW5nTGlzdE1vZGVsPEFjdGl2aXR5PGFueSwgYW55Pj4oKTtcbiAgcHJpdmF0ZSBfYWN0aXZlID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBkaWFsb2dTZXJ2aWNlOiBNYXREaWFsb2csXG4gICAgICAgICAgICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoRElBTE9HX0lOVEVSQUNUSU9OX1NFUlZJQ0VfREVGQVVMVFMpIHJlYWRvbmx5IGRpYWxvZ1NlcnZpY2VEZWZhdWx0czogTWF0RGlhbG9nQ29uZmlnPGFueT4sXG4gICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoTUFUX0RJQUxPR19ERUZBVUxUX09QVElPTlMpIHJlYWRvbmx5IG1hdERpYWxvZ0RlZmF1bHRDb25maWc6IE1hdERpYWxvZ0NvbmZpZzxhbnk+XG4gICkge1xuICAgIHN1cGVyKCk7XG4gICAgYXNzZXJ0Lm5vdE5pbChkaWFsb2dTZXJ2aWNlKTtcbiAgICBjb25zdCB7IGNoYWluLCBvYnNlcnZlIH0gPSBEc2wuZGlzcG9zZVdpdGgodGhpcyk7XG4gICAgdGhpcy5jdXJyZW50QWN0aXZpdHkgPSBjaGFpbih0aGlzLmFjdGl2aXR5TGlzdCkubGFzdCgpO1xuICAgIC8vIG9ic2VydmUudmFsdWVzRnJvbSh0aGlzLnJvdXRlci5ldmVudHMpXG4gICAgLy8gICAudGFwKChldmVudDpSb3V0ZXJFdmVudCkgPT4ge1xuICAgIC8vICAgICBjb25zdCBuYXYgPSByb3V0ZXIuZ2V0Q3VycmVudE5hdmlnYXRpb24oKTtcbiAgICAvLyAgICAgY29uc29sZS5sb2coe1xuICAgIC8vICAgICAgIHByZXZpb3VzVXJsOiBuYXYucHJldmlvdXNOYXZpZ2F0aW9uICYmIG5hdi5wcmV2aW91c05hdmlnYXRpb24uZmluYWxVcmwsXG4gICAgLy8gICAgICAgaW5pdGlhbFVybDogbmF2LmluaXRpYWxVcmwsXG4gICAgLy8gICAgICAgZmluYWxVcmw6IG5hdi5maW5hbFVybCxcbiAgICAvLyAgICAgfSk7XG4gICAgLy9cbiAgICAvLyAgIH0pXG4gICAgLy8gICAuZmlsdGVyKGV2ZW50ID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0KVxuICAgIC8vICAgLnN1YnNjcmliZSgoZXZlbnQ6IE5hdmlnYXRpb25TdGFydCkgPT4ge1xuICAgIC8vICAgICBjb25zb2xlLmxvZyhldmVudC5uYXZpZ2F0aW9uVHJpZ2dlcik7XG4gICAgLy8gICAgIGlmIChldmVudC5uYXZpZ2F0aW9uVHJpZ2dlciA9PT0gJ3BvcHN0YXRlJyAmJiB0aGlzLmlzQWN0aXZlKCkpIHtcbiAgICAvLyAgICAgICBjb25zdCBwcmV2ID0gcm91dGVyLmdldEN1cnJlbnROYXZpZ2F0aW9uKCkucHJldmlvdXNOYXZpZ2F0aW9uLmZpbmFsVXJsO1xuICAgIC8vICAgICAgIC8vIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwocHJldi50b1N0cmluZygpLCB7XG4gICAgLy8gICAgICAgLy8gICByZXBsYWNlVXJsOiB0cnVlLFxuICAgIC8vICAgICAgIC8vICAgc2tpcExvY2F0aW9uQ2hhbmdlOiBmYWxzZVxuICAgIC8vICAgICAgIC8vIH0pO1xuICAgIC8vICAgICAgIC8vIHRoaXMuY2FuY2VsQWN0aXZpdHkoKTtcbiAgICAvLyAgICAgfVxuICAgIC8vICAgfSk7XG4gIH1cblxuICBjYW5jZWxBY3Rpdml0eSgpIHtcbiAgICB0aGlzLmN1cnJlbnRBY3Rpdml0eS52YWx1ZS5jYW5jZWwobnVsbCk7XG4gIH1cblxuICBnZXQgYWN0aXZpdHlMaXN0KCk6IExpc3RNb2RlbDxBY3Rpdml0eTxhbnksIGFueT4+IHtcbiAgICByZXR1cm4gdGhpcy5fYWN0aXZpdHlMaXN0LnJlYWRvbmx5O1xuICB9XG5cbiAgc3RhcnRBY3Rpdml0eTxELCBSLCBFPihhY3Rpdml0eVR5cGU6IENvbnN0cnVjdGFibGU8QWN0aXZpdHk8RCwgUiwgRT4+LCBkYXRhPzogRCk6IFByb21pc2U8Uj4ge1xuICAgIHJldHVybiB0aGlzLl9zdGFydEFjdGl2aXR5KGFjdGl2aXR5VHlwZSwgZGF0YSk7XG4gIH1cblxuICBwcml2YXRlIF9zdGFydEFjdGl2aXR5PEQsIFIsIEU+KGFjdGl2aXR5VHlwZTogQ29uc3RydWN0YWJsZTxBY3Rpdml0eTxELCBSLCBFPj4sIGRhdGE6IEQsIGRpc2FibGVDbG9zZTogYm9vbGVhbiA9IHRydWUpIHtcbiAgICBpZiAodGhpcy5pc0FjdGl2ZSgpKSB7XG4gICAgICBsYW5nLmlsbGVnYWxTdGF0ZShgQWN0aXZpdHkgYWxyZWFkeSBpbiBwcm9ncmVzczogJHt0aGlzLmFjdGl2aXR5TGlzdC52YWx1ZS5tYXAoYSA9PiBhLmNvbnN0cnVjdG9yLm5hbWUpLmpvaW4oJywgJyl9YCk7XG4gICAgfVxuICAgIHRoaXMuX2FjdGl2ZSA9IHRydWU7XG5cbiAgICBjb25zdCBzZWxmID0gdGhpcztcbiAgICBjb25zdCBjb25maWc6IE1hdERpYWxvZ0NvbmZpZyA9IHtcbiAgICAgIGF1dG9Gb2N1czogZmFsc2UsXG4gICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcbiAgICAgIGNsb3NlT25OYXZpZ2F0aW9uOiBmYWxzZSxcbiAgICAgIC4uLnRoaXMubWF0RGlhbG9nRGVmYXVsdENvbmZpZyxcbiAgICAgIC4uLnRoaXMuZGlhbG9nU2VydmljZURlZmF1bHRzLFxuICAgICAgLi4ue1xuICAgICAgICBkYXRhLFxuICAgICAgICBkaXNhYmxlQ2xvc2UsXG4gICAgICAgIHBhbmVsQ2xhc3M6ICdkaWFsb2ctaW50ZXJhY3Rpb24tc2VydmljZSdcbiAgICAgIH1cbiAgICB9O1xuICAgIGNvbnN0IG1hdERpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nU2VydmljZS5vcGVuKEFjdGl2aXR5Q29udGFpbmVyQ29tcG9uZW50LCBjb25maWcpIGFzIE1hdERpYWxvZ1JlZjxBY3Rpdml0eUNvbnRhaW5lckNvbXBvbmVudD47XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPFI+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGNvbnN0IGFjdGl2aXR5Q29udGFpbmVyID0gbWF0RGlhbG9nUmVmLmNvbXBvbmVudEluc3RhbmNlO1xuICAgICAgYWN0aXZpdHlDb250YWluZXIucGFyZW50SW50ZXJhY3Rpb25Db250ZXh0ID0gdGhpcztcbiAgICAgIHNlbGYuc2FmZWx5VXBkYXRlQWN0aXZpdHlMaXN0RGVsZWdhdGUoYWN0aXZpdHlDb250YWluZXIuYWN0aXZpdHlMaXN0KTtcbiAgICAgIGFjdGl2aXR5Q29udGFpbmVyLmluaXRpYWxpc2Uoe1xuICAgICAgICBhY3Rpdml0eUNsYXNzOiBhY3Rpdml0eVR5cGUsXG4gICAgICAgIGFjdGl2aXR5RGF0YTogZGF0YSxcbiAgICAgICAgb25Eb25lKHJlc3VsdCkge1xuICAgICAgICAgIC8vIFRPRE86IHNob3VsZCBJIGJlIGNhbGxpbmcgcmVzb2x2ZSBhZnRlciBjbG9zZT9cbiAgICAgICAgICByZXNvbHZlKHJlc3VsdCk7XG4gICAgICAgICAgbWF0RGlhbG9nUmVmLmNsb3NlKHJlc3VsdCk7XG4gICAgICAgIH0sXG4gICAgICAgIG9uQ2FuY2VsKGVycm9yKSB7XG4gICAgICAgICAgLy8gVE9ETzogc2hvdWxkIEkgYmUgY2FsbGluZyByZWplY3QgYWZ0ZXIgY2xvc2U/XG4gICAgICAgICAgcmVqZWN0KGVycm9yKTtcbiAgICAgICAgICBtYXREaWFsb2dSZWYuY2xvc2UoZXJyb3IpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIG1hdERpYWxvZ1JlZi51cGRhdGVTaXplKCk7XG4gICAgfSkuZmluYWxseSgoKSA9PiB7XG4gICAgICBzZWxmLnNhZmVseVVwZGF0ZUFjdGl2aXR5TGlzdERlbGVnYXRlKG51bGwpO1xuICAgICAgc2VsZi5fYWN0aXZlID0gZmFsc2U7XG4gICAgfSk7XG4gIH1cbiAgLyoqXG4gICAqIFVwZGF0ZXMgdGVoIGRlbGVnYXRlIG9uIHRoZSBuZXh0IHRpY2sgdG8gYXZvaWQgbW9kaWZ5aW5nIHN0YXRlIGR1cmluZyB0aGUgY3VycmVudCBjaGFuZ2UgZGV0ZWN0aW9uIGN5Y2xlLlxuICAgKiBAcGFyYW0gZGVsZWdhdGVcbiAgICovXG4gIHNhZmVseVVwZGF0ZUFjdGl2aXR5TGlzdERlbGVnYXRlKGRlbGVnYXRlOiBMaXN0TW9kZWw8QWN0aXZpdHk8YW55LCBhbnk+Pikge1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5fYWN0aXZpdHlMaXN0LnNldERlbGVnYXRlKGRlbGVnYXRlKSk7XG4gIH1cblxuICBhbGVydChhbGVydDogQWxlcnQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5fc3RhcnRBY3Rpdml0eShBbGVydERpYWxvZ0NvbXBvbmVudCwgYWxlcnQsIGZhbHNlKTtcbiAgfVxuXG4gIGNvbmZpcm0oY29uZmlybTogQ29uZmlybSk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLl9zdGFydEFjdGl2aXR5KENvbmZpcm1hdGlvbkRpYWxvZ0NvbXBvbmVudCwgY29uZmlybSwgdHJ1ZSk7XG4gIH1cblxuICBjb25maXJtVGhlbjxELCBSLCBFPihjb25maXJtOiBDb25maXJtLCBhY3Rpdml0eVR5cGU6IENvbnN0cnVjdGFibGU8QWN0aXZpdHk8RCwgUiwgRT4+LCBkYXRhPzogRCk6IFByb21pc2U8Uj4ge1xuICAgIHJldHVybiB0aGlzLl9zdGFydEFjdGl2aXR5PENvbmZpcm1UaGVuRGlhbG9nQ29tcG9uZW50LkRhdGE8RCwgUiwgRT4sIFIsIEU+KENvbmZpcm1UaGVuRGlhbG9nQ29tcG9uZW50LCB7XG4gICAgICBjb25maXJtLFxuICAgICAgYWN0aXZpdHlUeXBlOiBhY3Rpdml0eVR5cGUsXG4gICAgICBkYXRhOiBkYXRhXG4gICAgfSwgdHJ1ZSk7XG4gIH1cblxufVxuIl19
@@ -2,14 +2,45 @@
2
2
  * @fileoverview added by tsickle
3
3
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
4
  */
5
+ import * as tslib_1 from "tslib";
6
+ import { Location } from '@angular/common';
5
7
  import { Injectable, Injector } from '@angular/core';
6
- import { Router } from '@angular/router';
8
+ import { NavigationEnd, NavigationError, Router } from '@angular/router';
9
+ import { Trace } from '@coolon/pectin';
10
+ import { InteractionContext } from '../../interaction/interaction-context';
11
+ import { PlaceComponent } from '../place-component';
7
12
  import * as i0 from "@angular/core";
8
13
  import * as i1 from "@angular/router";
14
+ import * as i2 from "../../interaction/interaction-context";
15
+ import * as i3 from "@angular/common";
9
16
  var LeavePlaceGuard = /** @class */ (function () {
10
- function LeavePlaceGuard(router, injector) {
17
+ function LeavePlaceGuard(router, injector, interactionContext, location) {
11
18
  this.router = router;
12
19
  this.injector = injector;
20
+ this.interactionContext = interactionContext;
21
+ this.location = location;
22
+ // TODO: should probably replace this with a RouteTracker thingy.
23
+ this._alreadyAccepted = [];
24
+ console.log('***** Created new guard ******');
25
+ /** @type {?} */
26
+ var self = this;
27
+ this.router.events.subscribe((/**
28
+ * @param {?} event
29
+ * @return {?}
30
+ */
31
+ function (event) {
32
+ // NavigationStart -> .... -> NavigationCancel === redirect (so don't ask again)
33
+ // NavigationStart -> .... -> NavigationEnd === navigated (so ask next time)
34
+ // NavigationStart -> .... -> NavigationError === canceled (guard cancelled so ask next time)
35
+ if (event instanceof NavigationEnd) {
36
+ console.log("navigation ended");
37
+ self._alreadyAccepted = [];
38
+ }
39
+ if (event instanceof NavigationError) {
40
+ console.log("navigation errored");
41
+ self._alreadyAccepted = [];
42
+ }
43
+ }));
13
44
  }
14
45
  /**
15
46
  * @param {?} component
@@ -26,27 +57,90 @@ var LeavePlaceGuard = /** @class */ (function () {
26
57
  * @return {?}
27
58
  */
28
59
  function (component, currentRoute, currentState, nextState) {
29
- // HACK: this will break with child routes...
60
+ var _this = this;
30
61
  /** @type {?} */
31
- var path = "/" + component.placeDefinition.path;
32
- // let thisTree = this.router.parseUrl(currentState.url);
33
- // let nextTree = this.router.parseUrl(nextState.url);
34
- // console.log({
35
- // placePath: path,
36
- // currentRoute: currentRoute.toString(),
37
- // currentStateUrl: currentState.url,
38
- // nextStateUrl: nextState.url,
39
- // currentStateUrlTree: thisTree.root.children[PRIMARY_OUTLET].segments,
40
- // nextStateUrlTree: nextTree.root.children[PRIMARY_OUTLET].segments
41
- // });
42
- // nextState is the full path...
43
- if (!nextState.url.startsWith(path)) {
44
- return component.canDeactivate();
62
+ var placeDefinitionPath = "/" + component.placeDefinition.path;
63
+ console.log('canDeactivate', {
64
+ staticPath: placeDefinitionPath,
65
+ currentStateUrl: currentState.url,
66
+ nextStateUrl: nextState.url,
67
+ alreadyDeclined: this._alreadyAccepted
68
+ });
69
+ // Example of the above when navigating to a different child route.
70
+ // canDeactivate {staticPath: "/hero-details",
71
+ // currentStateUrl: "/route-parameters/-1;dv=A;dl=a,b,c;rdv=A;rdl=a,b,c/hero-details",
72
+ // nextStateUrl: "/route-parameters/-1;dv=A;dl=a,b,c;rdv=A;rdl=a,b,c/hero-stats"
73
+ // }
74
+ // Example clicking on router tab of the parent component (de-activates the parent due to route param changes)
75
+ // canDeactivate {
76
+ // staticPath: "/hero-stats",
77
+ // currentStateUrl: "/route-parameters/-1;dv=A;dl=a,b,c;rdv=A;rdl=a,b,c/hero-stats",
78
+ // nextStateUrl: "/route-parameters/"
79
+ // }
80
+ // canDeactivate {
81
+ // staticPath: "/route-parameters",
82
+ // currentStateUrl: "/route-parameters/-1;dv=A;dl=a,b,c;rdv=A;rdl=a,b,c/hero-stats",
83
+ // nextStateUrl: "/route-parameters/"
84
+ // }
85
+ // logger.class.js:54 ParameterSnapshot.sanitise -> {idModel: -1, pv: undefined, pl: Array(0), dv: undefined, dl: Array(0), …}
86
+ // parameter-snapshot.ts:20 {name: "idModel", mine: -1, theirs: null}
87
+ // place-router.ts:28 redirect path (3) ["route-parameters", "-1", {…}]
88
+ // canDeactivate {
89
+ // staticPath: "/hero-stats",
90
+ // currentStateUrl: "/route-parameters/-1;dv=A;dl=a,b,c;rdv=A;rdl=a,b,c/hero-stats",
91
+ // nextStateUrl: "/route-parameters/-1"
92
+ // }
93
+ // canDeactivate {
94
+ // staticPath: "/route-parameters",
95
+ // currentStateUrl: "/route-parameters/-1;dv=A;dl=a,b,c;rdv=A;rdl=a,b,c/hero-stats",
96
+ // nextStateUrl: "/route-parameters/-1"
97
+ // }
98
+ // logger.class.js:54 ParameterSnapshot.sanitise -> {idModel: -1, pv: undefined, pl: Array(0), dv: "A", dl: Array(3), …}
99
+ // parameter-snapshot.ts:20 {name: "dv", mine: "A", theirs: undefined}
100
+ // place-router.ts:28 redirect path (3) ["route-parameters", "-1", {…}]
101
+ // canDeactivate {
102
+ // staticPath: "/hero-stats",
103
+ // currentStateUrl: "/route-parameters/-1;dv=A;dl=a,b,c;rdv=A;rdl=a,b,c/hero-stats",
104
+ // nextStateUrl: "/route-parameters/-1;dv=A;dl=a,b,c;rdv=A;rdl=a,b,c"
105
+ // }
106
+ // HACK: this will break with child routes...
107
+ if (this.alreadyAccepted(component)) {
108
+ return true;
45
109
  }
46
110
  else {
111
+ if (!nextState.url.startsWith(placeDefinitionPath)) {
112
+ /** @type {?} */
113
+ var self_1 = this;
114
+ return Promise.resolve(component.canDeactivate()).then((/**
115
+ * @param {?} canLeave
116
+ * @return {?}
117
+ */
118
+ function (canLeave) {
119
+ if (!canLeave) {
120
+ // Angular doesn't preserve the url when a guard cancels the back button.
121
+ // See https://github.com/angular/angular/issues/13586#issuecomment-432795720
122
+ _this.location.go(currentState.url);
123
+ }
124
+ else {
125
+ self_1._alreadyAccepted.push(component);
126
+ }
127
+ return canLeave;
128
+ }));
129
+ }
47
130
  return true;
48
131
  }
49
132
  };
133
+ /**
134
+ * @param {?} placeComponent
135
+ * @return {?}
136
+ */
137
+ LeavePlaceGuard.prototype.alreadyAccepted = /**
138
+ * @param {?} placeComponent
139
+ * @return {?}
140
+ */
141
+ function (placeComponent) {
142
+ return this._alreadyAccepted.includes(placeComponent);
143
+ };
50
144
  LeavePlaceGuard.decorators = [
51
145
  { type: Injectable, args: [{
52
146
  providedIn: 'root'
@@ -55,13 +149,26 @@ var LeavePlaceGuard = /** @class */ (function () {
55
149
  /** @nocollapse */
56
150
  LeavePlaceGuard.ctorParameters = function () { return [
57
151
  { type: Router },
58
- { type: Injector }
152
+ { type: Injector },
153
+ { type: InteractionContext },
154
+ { type: Location }
59
155
  ]; };
60
- /** @nocollapse */ LeavePlaceGuard.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function LeavePlaceGuard_Factory() { return new LeavePlaceGuard(i0.ɵɵinject(i1.Router), i0.ɵɵinject(i0.INJECTOR)); }, token: LeavePlaceGuard, providedIn: "root" });
156
+ /** @nocollapse */ LeavePlaceGuard.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function LeavePlaceGuard_Factory() { return new LeavePlaceGuard(i0.ɵɵinject(i1.Router), i0.ɵɵinject(i0.INJECTOR), i0.ɵɵinject(i2.InteractionContext), i0.ɵɵinject(i3.Location)); }, token: LeavePlaceGuard, providedIn: "root" });
157
+ tslib_1.__decorate([
158
+ Trace(),
159
+ tslib_1.__metadata("design:type", Function),
160
+ tslib_1.__metadata("design:paramtypes", [PlaceComponent]),
161
+ tslib_1.__metadata("design:returntype", Boolean)
162
+ ], LeavePlaceGuard.prototype, "alreadyAccepted", null);
61
163
  return LeavePlaceGuard;
62
164
  }());
63
165
  export { LeavePlaceGuard };
64
166
  if (false) {
167
+ /**
168
+ * @type {?}
169
+ * @private
170
+ */
171
+ LeavePlaceGuard.prototype._alreadyAccepted;
65
172
  /**
66
173
  * @type {?}
67
174
  * @private
@@ -72,5 +179,9 @@ if (false) {
72
179
  * @private
73
180
  */
74
181
  LeavePlaceGuard.prototype.injector;
182
+ /** @type {?} */
183
+ LeavePlaceGuard.prototype.interactionContext;
184
+ /** @type {?} */
185
+ LeavePlaceGuard.prototype.location;
75
186
  }
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhdmUtcGxhY2UuZ3VhcmQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvcGxhY2UvZ3VhcmRzL2xlYXZlLXBsYWNlLmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQXlDLE1BQU0sRUFBZ0MsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBSTlHO0lBS0UseUJBQW9CLE1BQWMsRUFBVSxRQUFrQjtRQUExQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUM5RCxDQUFDOzs7Ozs7OztJQUVELHVDQUFhOzs7Ozs7O0lBQWIsVUFBYyxTQUF5QixFQUFFLFlBQW9DLEVBQUUsWUFBaUMsRUFBRSxTQUErQjs7O1lBRXpJLElBQUksR0FBRyxNQUFJLFNBQVMsQ0FBQyxlQUFlLENBQUMsSUFBTTtRQUNqRCx5REFBeUQ7UUFDekQsc0RBQXNEO1FBQ3RELGdCQUFnQjtRQUNoQixxQkFBcUI7UUFDckIsMkNBQTJDO1FBQzNDLHVDQUF1QztRQUN2QyxpQ0FBaUM7UUFDakMsMEVBQTBFO1FBQzFFLHNFQUFzRTtRQUN0RSxNQUFNO1FBRU4sZ0NBQWdDO1FBQ2hDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNuQyxPQUFPLFNBQVMsQ0FBQyxhQUFhLEVBQUUsQ0FBQztTQUNsQzthQUFNO1lBQ0wsT0FBTyxJQUFJLENBQUM7U0FDYjtJQUNILENBQUM7O2dCQTVCRixVQUFVLFNBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzs7O2dCQU4rQyxNQUFNO2dCQURqQyxRQUFROzs7MEJBQTdCO0NBbUNDLEFBOUJELElBOEJDO1NBM0JZLGVBQWU7Ozs7OztJQUVkLGlDQUFzQjs7Ozs7SUFBRSxtQ0FBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgQ2FuRGVhY3RpdmF0ZSwgUm91dGVyLCBSb3V0ZXJTdGF0ZVNuYXBzaG90LCBVcmxUcmVlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFBsYWNlQ29tcG9uZW50IH0gZnJvbSAnLi4vcGxhY2UtY29tcG9uZW50JztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTGVhdmVQbGFjZUd1YXJkIGltcGxlbWVudHMgQ2FuRGVhY3RpdmF0ZTxQbGFjZUNvbXBvbmVudD4ge1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gIH1cblxuICBjYW5EZWFjdGl2YXRlKGNvbXBvbmVudDogUGxhY2VDb21wb25lbnQsIGN1cnJlbnRSb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgY3VycmVudFN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90LCBuZXh0U3RhdGU/OiBSb3V0ZXJTdGF0ZVNuYXBzaG90KTogT2JzZXJ2YWJsZTxib29sZWFuIHwgVXJsVHJlZT4gfCBQcm9taXNlPGJvb2xlYW4gfCBVcmxUcmVlPiB8IGJvb2xlYW4gfCBVcmxUcmVlIHtcbiAgICAvLyBIQUNLOiB0aGlzIHdpbGwgYnJlYWsgd2l0aCBjaGlsZCByb3V0ZXMuLi5cbiAgICBjb25zdCBwYXRoID0gYC8ke2NvbXBvbmVudC5wbGFjZURlZmluaXRpb24ucGF0aH1gO1xuICAgIC8vIGxldCB0aGlzVHJlZSA9IHRoaXMucm91dGVyLnBhcnNlVXJsKGN1cnJlbnRTdGF0ZS51cmwpO1xuICAgIC8vIGxldCBuZXh0VHJlZSA9IHRoaXMucm91dGVyLnBhcnNlVXJsKG5leHRTdGF0ZS51cmwpO1xuICAgIC8vIGNvbnNvbGUubG9nKHtcbiAgICAvLyAgIHBsYWNlUGF0aDogcGF0aCxcbiAgICAvLyAgIGN1cnJlbnRSb3V0ZTogY3VycmVudFJvdXRlLnRvU3RyaW5nKCksXG4gICAgLy8gICBjdXJyZW50U3RhdGVVcmw6IGN1cnJlbnRTdGF0ZS51cmwsXG4gICAgLy8gICBuZXh0U3RhdGVVcmw6IG5leHRTdGF0ZS51cmwsXG4gICAgLy8gICBjdXJyZW50U3RhdGVVcmxUcmVlOiB0aGlzVHJlZS5yb290LmNoaWxkcmVuW1BSSU1BUllfT1VUTEVUXS5zZWdtZW50cyxcbiAgICAvLyAgIG5leHRTdGF0ZVVybFRyZWU6IG5leHRUcmVlLnJvb3QuY2hpbGRyZW5bUFJJTUFSWV9PVVRMRVRdLnNlZ21lbnRzXG4gICAgLy8gfSk7XG5cbiAgICAvLyBuZXh0U3RhdGUgaXMgdGhlIGZ1bGwgcGF0aC4uLlxuICAgIGlmICghbmV4dFN0YXRlLnVybC5zdGFydHNXaXRoKHBhdGgpKSB7XG4gICAgICByZXR1cm4gY29tcG9uZW50LmNhbkRlYWN0aXZhdGUoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbn1cbiJdfQ==
187
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhdmUtcGxhY2UuZ3VhcmQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvcGxhY2UvZ3VhcmRzL2xlYXZlLXBsYWNlLmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFFNEIsYUFBYSxFQUFFLGVBQWUsRUFFL0QsTUFBTSxFQUdQLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXZDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7QUFFcEQ7SUFTRSx5QkFBb0IsTUFBYyxFQUFVLFFBQWtCLEVBQVcsa0JBQXNDLEVBQVcsUUFBa0I7UUFBeEgsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUFVLGFBQVEsR0FBUixRQUFRLENBQVU7UUFBVyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQVcsYUFBUSxHQUFSLFFBQVEsQ0FBVTs7UUFGcEkscUJBQWdCLEdBQW9CLEVBQUUsQ0FBQztRQUc3QyxPQUFPLENBQUMsR0FBRyxDQUFDLGdDQUFnQyxDQUFDLENBQUM7O1lBQ3hDLElBQUksR0FBRyxJQUFJO1FBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVM7Ozs7UUFBQyxVQUFBLEtBQUs7WUFDaEMsZ0ZBQWdGO1lBQ2hGLDRFQUE0RTtZQUM1RSw2RkFBNkY7WUFDN0YsSUFBSSxLQUFLLFlBQVksYUFBYSxFQUFFO2dCQUNsQyxPQUFPLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUM7Z0JB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aUNBQXNCOzs7OztJQUFFLG1DQUEwQjs7SUFBRSw2Q0FBK0M7O0lBQUUsbUNBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9jYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFjdGl2YXRlZFJvdXRlU25hcHNob3QsXG4gIENhbkRlYWN0aXZhdGUsIE5hdmlnYXRpb25DYW5jZWwsIE5hdmlnYXRpb25FbmQsIE5hdmlnYXRpb25FcnJvcixcbiAgTmF2aWdhdGlvblN0YXJ0LFxuICBSb3V0ZXIsXG4gIFJvdXRlclN0YXRlU25hcHNob3QsXG4gIFVybFRyZWVcbn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFRyYWNlIH0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSW50ZXJhY3Rpb25Db250ZXh0IH0gZnJvbSAnLi4vLi4vaW50ZXJhY3Rpb24vaW50ZXJhY3Rpb24tY29udGV4dCc7XG5pbXBvcnQgeyBQbGFjZUNvbXBvbmVudCB9IGZyb20gJy4uL3BsYWNlLWNvbXBvbmVudCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIExlYXZlUGxhY2VHdWFyZCBpbXBsZW1lbnRzIENhbkRlYWN0aXZhdGU8UGxhY2VDb21wb25lbnQ+IHtcblxuXG4gIC8vIFRPRE86IHNob3VsZCBwcm9iYWJseSByZXBsYWNlIHRoaXMgd2l0aCBhIFJvdXRlVHJhY2tlciB0aGluZ3kuXG4gIHByaXZhdGUgX2FscmVhZHlBY2NlcHRlZDpQbGFjZUNvbXBvbmVudFtdID0gW107XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZXI6IFJvdXRlciwgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsIHJlYWRvbmx5IGludGVyYWN0aW9uQ29udGV4dDogSW50ZXJhY3Rpb25Db250ZXh0LCByZWFkb25seSBsb2NhdGlvbjogTG9jYXRpb24pIHtcbiAgICBjb25zb2xlLmxvZygnKioqKiogQ3JlYXRlZCBuZXcgZ3VhcmQgKioqKioqJyk7XG4gICAgY29uc3Qgc2VsZiA9IHRoaXM7XG4gICAgdGhpcy5yb3V0ZXIuZXZlbnRzLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICAvLyBOYXZpZ2F0aW9uU3RhcnQgLT4gLi4uLiAtPiBOYXZpZ2F0aW9uQ2FuY2VsID09PSByZWRpcmVjdCAoc28gZG9uJ3QgYXNrIGFnYWluKVxuICAgICAgLy8gTmF2aWdhdGlvblN0YXJ0IC0+IC4uLi4gLT4gTmF2aWdhdGlvbkVuZCA9PT0gbmF2aWdhdGVkIChzbyBhc2sgbmV4dCB0aW1lKVxuICAgICAgLy8gTmF2aWdhdGlvblN0YXJ0IC0+IC4uLi4gLT4gTmF2aWdhdGlvbkVycm9yID09PSBjYW5jZWxlZCAoZ3VhcmQgY2FuY2VsbGVkIHNvIGFzayBuZXh0IHRpbWUpXG4gICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKFwibmF2aWdhdGlvbiBlbmRlZFwiKTtcbiAgICAgICAgc2VsZi5fYWxyZWFkeUFjY2VwdGVkID0gW107XG4gICAgICB9XG4gICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRXJyb3IpIHtcbiAgICAgICAgY29uc29sZS5sb2coXCJuYXZpZ2F0aW9uIGVycm9yZWRcIik7XG4gICAgICAgIHNlbGYuX2FscmVhZHlBY2NlcHRlZCA9IFtdO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgY2FuRGVhY3RpdmF0ZShjb21wb25lbnQ6IFBsYWNlQ29tcG9uZW50LCBjdXJyZW50Um91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIGN1cnJlbnRTdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCwgbmV4dFN0YXRlPzogUm91dGVyU3RhdGVTbmFwc2hvdCk6IE9ic2VydmFibGU8Ym9vbGVhbiB8IFVybFRyZWU+IHwgUHJvbWlzZTxib29sZWFuIHwgVXJsVHJlZT4gfCBib29sZWFuIHwgVXJsVHJlZSB7XG4gICAgY29uc3QgcGxhY2VEZWZpbml0aW9uUGF0aCA9IGAvJHtjb21wb25lbnQucGxhY2VEZWZpbml0aW9uLnBhdGh9YDtcbiAgICBjb25zb2xlLmxvZygnY2FuRGVhY3RpdmF0ZScsIHtcbiAgICAgIHN0YXRpY1BhdGg6IHBsYWNlRGVmaW5pdGlvblBhdGgsXG4gICAgICBjdXJyZW50U3RhdGVVcmw6IGN1cnJlbnRTdGF0ZS51cmwsXG4gICAgICBuZXh0U3RhdGVVcmw6IG5leHRTdGF0ZS51cmwsXG4gICAgICBhbHJlYWR5RGVjbGluZWQ6IHRoaXMuX2FscmVhZHlBY2NlcHRlZFxuICAgIH0pO1xuICAgIC8vIEV4YW1wbGUgb2YgdGhlIGFib3ZlIHdoZW4gbmF2aWdhdGluZyB0byBhIGRpZmZlcmVudCBjaGlsZCByb3V0ZS5cbiAgICAvLyBjYW5EZWFjdGl2YXRlIHtzdGF0aWNQYXRoOiBcIi9oZXJvLWRldGFpbHNcIixcbiAgICAvLyAgICBjdXJyZW50U3RhdGVVcmw6IFwiL3JvdXRlLXBhcmFtZXRlcnMvLTE7ZHY9QTtkbD1hLGIsYztyZHY9QTtyZGw9YSxiLGMvaGVyby1kZXRhaWxzXCIsXG4gICAgLy8gICAgbmV4dFN0YXRlVXJsOiBcIi9yb3V0ZS1wYXJhbWV0ZXJzLy0xO2R2PUE7ZGw9YSxiLGM7cmR2PUE7cmRsPWEsYixjL2hlcm8tc3RhdHNcIlxuICAgIC8vIH1cblxuICAgIC8vIEV4YW1wbGUgY2xpY2tpbmcgb24gcm91dGVyIHRhYiBvZiB0aGUgcGFyZW50IGNvbXBvbmVudCAoZGUtYWN0aXZhdGVzIHRoZSBwYXJlbnQgZHVlIHRvIHJvdXRlIHBhcmFtIGNoYW5nZXMpXG4gICAgLy8gY2FuRGVhY3RpdmF0ZSB7XG4gICAgLy8gICAgc3RhdGljUGF0aDogXCIvaGVyby1zdGF0c1wiLFxuICAgIC8vICAgIGN1cnJlbnRTdGF0ZVVybDogXCIvcm91dGUtcGFyYW1ldGVycy8tMTtkdj1BO2RsPWEsYixjO3Jkdj1BO3JkbD1hLGIsYy9oZXJvLXN0YXRzXCIsXG4gICAgLy8gICAgbmV4dFN0YXRlVXJsOiBcIi9yb3V0ZS1wYXJhbWV0ZXJzL1wiXG4gICAgLy8gfVxuICAgIC8vIGNhbkRlYWN0aXZhdGUge1xuICAgIC8vICAgIHN0YXRpY1BhdGg6IFwiL3JvdXRlLXBhcmFtZXRlcnNcIixcbiAgICAvLyAgICBjdXJyZW50U3RhdGVVcmw6IFwiL3JvdXRlLXBhcmFtZXRlcnMvLTE7ZHY9QTtkbD1hLGIsYztyZHY9QTtyZGw9YSxiLGMvaGVyby1zdGF0c1wiLFxuICAgIC8vICAgIG5leHRTdGF0ZVVybDogXCIvcm91dGUtcGFyYW1ldGVycy9cIlxuICAgIC8vIH1cbiAgICAvLyBsb2dnZXIuY2xhc3MuanM6NTQgUGFyYW1ldGVyU25hcHNob3Quc2FuaXRpc2UgLT4ge2lkTW9kZWw6IC0xLCBwdjogdW5kZWZpbmVkLCBwbDogQXJyYXkoMCksIGR2OiB1bmRlZmluZWQsIGRsOiBBcnJheSgwKSzCoOKApn1cbiAgICAvLyBwYXJhbWV0ZXItc25hcHNob3QudHM6MjAge25hbWU6IFwiaWRNb2RlbFwiLCBtaW5lOiAtMSwgdGhlaXJzOiBudWxsfVxuICAgIC8vIHBsYWNlLXJvdXRlci50czoyOCByZWRpcmVjdCBwYXRoICgzKcKgW1wicm91dGUtcGFyYW1ldGVyc1wiLCBcIi0xXCIsIHvigKZ9XVxuICAgIC8vIGNhbkRlYWN0aXZhdGUge1xuICAgIC8vICAgIHN0YXRpY1BhdGg6IFwiL2hlcm8tc3RhdHNcIixcbiAgICAvLyAgICBjdXJyZW50U3RhdGVVcmw6IFwiL3JvdXRlLXBhcmFtZXRlcnMvLTE7ZHY9QTtkbD1hLGIsYztyZHY9QTtyZGw9YSxiLGMvaGVyby1zdGF0c1wiLFxuICAgIC8vICAgIG5leHRTdGF0ZVVybDogXCIvcm91dGUtcGFyYW1ldGVycy8tMVwiXG4gICAgLy8gfVxuICAgIC8vIGNhbkRlYWN0aXZhdGUge1xuICAgIC8vICAgIHN0YXRpY1BhdGg6IFwiL3JvdXRlLXBhcmFtZXRlcnNcIixcbiAgICAvLyAgICBjdXJyZW50U3RhdGVVcmw6IFwiL3JvdXRlLXBhcmFtZXRlcnMvLTE7ZHY9QTtkbD1hLGIsYztyZHY9QTtyZGw9YSxiLGMvaGVyby1zdGF0c1wiLFxuICAgIC8vICAgIG5leHRTdGF0ZVVybDogXCIvcm91dGUtcGFyYW1ldGVycy8tMVwiXG4gICAgLy8gfVxuICAgIC8vIGxvZ2dlci5jbGFzcy5qczo1NCBQYXJhbWV0ZXJTbmFwc2hvdC5zYW5pdGlzZSAtPiB7aWRNb2RlbDogLTEsIHB2OiB1bmRlZmluZWQsIHBsOiBBcnJheSgwKSwgZHY6IFwiQVwiLCBkbDogQXJyYXkoMykswqDigKZ9XG4gICAgLy8gcGFyYW1ldGVyLXNuYXBzaG90LnRzOjIwIHtuYW1lOiBcImR2XCIsIG1pbmU6IFwiQVwiLCB0aGVpcnM6IHVuZGVmaW5lZH1cbiAgICAvLyBwbGFjZS1yb3V0ZXIudHM6MjggcmVkaXJlY3QgcGF0aCAoMynCoFtcInJvdXRlLXBhcmFtZXRlcnNcIiwgXCItMVwiLCB74oCmfV1cbiAgICAvLyBjYW5EZWFjdGl2YXRlIHtcbiAgICAvLyAgICBzdGF0aWNQYXRoOiBcIi9oZXJvLXN0YXRzXCIsXG4gICAgLy8gICAgY3VycmVudFN0YXRlVXJsOiBcIi9yb3V0ZS1wYXJhbWV0ZXJzLy0xO2R2PUE7ZGw9YSxiLGM7cmR2PUE7cmRsPWEsYixjL2hlcm8tc3RhdHNcIixcbiAgICAvLyAgICBuZXh0U3RhdGVVcmw6IFwiL3JvdXRlLXBhcmFtZXRlcnMvLTE7ZHY9QTtkbD1hLGIsYztyZHY9QTtyZGw9YSxiLGNcIlxuICAgIC8vIH1cblxuICAgIC8vIEhBQ0s6IHRoaXMgd2lsbCBicmVhayB3aXRoIGNoaWxkIHJvdXRlcy4uLlxuICAgIGlmICh0aGlzLmFscmVhZHlBY2NlcHRlZChjb21wb25lbnQpKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKCFuZXh0U3RhdGUudXJsLnN0YXJ0c1dpdGgocGxhY2VEZWZpbml0aW9uUGF0aCkpIHtcbiAgICAgICAgY29uc3Qgc2VsZiA9IHRoaXM7XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoY29tcG9uZW50LmNhbkRlYWN0aXZhdGUoKSkudGhlbihjYW5MZWF2ZSA9PiB7XG4gICAgICAgICAgaWYgKCFjYW5MZWF2ZSkge1xuICAgICAgICAgICAgLy8gQW5ndWxhciBkb2Vzbid0IHByZXNlcnZlIHRoZSB1cmwgd2hlbiBhIGd1YXJkIGNhbmNlbHMgdGhlIGJhY2sgYnV0dG9uLlxuICAgICAgICAgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvaXNzdWVzLzEzNTg2I2lzc3VlY29tbWVudC00MzI3OTU3MjBcbiAgICAgICAgICAgIHRoaXMubG9jYXRpb24uZ28oY3VycmVudFN0YXRlLnVybCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHNlbGYuX2FscmVhZHlBY2NlcHRlZC5wdXNoKGNvbXBvbmVudCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBjYW5MZWF2ZTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBAVHJhY2UoKVxuICBhbHJlYWR5QWNjZXB0ZWQocGxhY2VDb21wb25lbnQ6UGxhY2VDb21wb25lbnQpOmJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9hbHJlYWR5QWNjZXB0ZWQuaW5jbHVkZXMocGxhY2VDb21wb25lbnQpXG4gIH1cblxufVxuIl19
@@ -6,6 +6,6 @@ export { AngularUiPowerupsModule } from './lib/angular-ui-powerups.module';
6
6
  export { slideDownAndUpAnimation } from './lib/animations';
7
7
  export { DisposableComponent, ResizeAwareComponent, AbstractInputComponent, NumberInputComponent, PasswordInputComponent, SelectInputComponent, StringInputComponent, Bounds, Dimension, Point } from './lib/components';
8
8
  export { CommandDirective, FocusBindingDirective } from './lib/directives';
9
- export { AbstractActivity, ACTIVITY_DATA, INTERACTION_CONTEXT, InteractionContext, InteractionModule, ActivityContainerComponent, ActivityOutletComponent, AlertDialogComponent, ConfirmThenDialogComponent, ConfirmationDialogComponent, DIALOG_INTERACTION_SERVICE_DEFAULTS, DialogInteractionService } from './lib/interaction';
9
+ export { AbstractActivity, ACTIVITY_DATA, InteractionContext, InteractionModule, ActivityContainerComponent, ActivityOutletComponent, AlertDialogComponent, ConfirmThenDialogComponent, ConfirmationDialogComponent, CloseInteractionGuard, DIALOG_INTERACTION_SERVICE_DEFAULTS, DialogInteractionService } from './lib/interaction';
10
10
  export { DEFINITION_META_DATA_KEY, ROUTE_PARAMETER_LIST_KEY, PlaceComponent, PlaceDefinition, PlaceHistory, PlaceRouter, Place, PlaceModule, AbstractPlaceNavigationComponent, BusyOverlayComponent, EmptyStateComponent, ListPlaceNavComponent, PlaceOutletComponent, leftRightPlaceAnimation, LEFT_RIGHT_PLACE_ANIMATION, TabbedPlaceNavigationComponent, LeavePlaceGuard, PlaceRouteGuard, RouteId, RouteParameter, RouteParameterList, ParameterDefinition, ParameterSnapshot, ParameterType, RouteParameterValue } from './lib/place';
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbInB1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLHdDQUFjLGtDQUFrQyxDQUFDO0FBQ2pELHdDQUFjLGtCQUFrQixDQUFDO0FBQ2pDLHNNQUFjLGtCQUFrQixDQUFDO0FBQ2pDLHdEQUFjLGtCQUFrQixDQUFDO0FBQ2pDLCtTQUFjLG1CQUFtQixDQUFDO0FBQ2xDLDZmQUFjLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL2FuZ3VsYXItdWktcG93ZXJ1cHMubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FuaW1hdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyYWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BsYWNlJztcbiJdfQ==
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbInB1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLHdDQUFjLGtDQUFrQyxDQUFDO0FBQ2pELHdDQUFjLGtCQUFrQixDQUFDO0FBQ2pDLHNNQUFjLGtCQUFrQixDQUFDO0FBQ2pDLHdEQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGlUQUFjLG1CQUFtQixDQUFDO0FBQ2xDLDZmQUFjLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL2FuZ3VsYXItdWktcG93ZXJ1cHMubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FuaW1hdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyYWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BsYWNlJztcbiJdfQ==