@coolon/angular-ui-powerups 0.0.67 → 0.0.68

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 (121) hide show
  1. package/bundles/coolon-angular-ui-powerups.umd.js +2712 -2285
  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.d.ts +24 -22
  6. package/coolon-angular-ui-powerups.metadata.json +1 -1
  7. package/esm2015/coolon-angular-ui-powerups.js +24 -22
  8. package/esm2015/index.js +2 -2
  9. package/esm2015/lib/angular-ui-powerups.module.js +6 -3
  10. package/esm2015/lib/components/index.js +2 -1
  11. package/esm2015/lib/components/noop/noop.component.js +19 -0
  12. package/esm2015/lib/interaction/components/alert-dialog/alert-dialog.component.js +2 -2
  13. package/esm2015/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.js +2 -2
  14. package/esm2015/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js +2 -2
  15. package/esm2015/lib/interaction/components/interaction-outlet/interaction-outlet.component.js +19 -0
  16. package/esm2015/lib/interaction/guards/interaction-guard.service.js +85 -0
  17. package/esm2015/lib/interaction/index.js +3 -2
  18. package/esm2015/lib/interaction/interaction.module.js +8 -3
  19. package/esm2015/lib/interaction/services/dialog-interaction.service.js +30 -5
  20. package/esm2015/lib/place/components/abstract-place-navigation.component.js +5 -5
  21. package/esm2015/lib/place/components/list-place-nav/list-place-nav.component.js +2 -2
  22. package/esm2015/lib/place/components/place-outlet/place-outlet.component.js +60 -66
  23. package/esm2015/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js +2 -2
  24. package/esm2015/lib/place/index.js +9 -8
  25. package/esm2015/lib/place/navigation-session.js +147 -0
  26. package/esm2015/lib/place/place-component.js +18 -14
  27. package/esm2015/lib/place/place-definition.js +197 -5
  28. package/esm2015/lib/place/place-history.js +3 -2
  29. package/esm2015/lib/place/place-router.js +183 -89
  30. package/esm2015/lib/place/route/formatter.js +63 -0
  31. package/esm2015/lib/place/route/guards/leave-place.guard.js +193 -0
  32. package/esm2015/lib/place/route/guards/place-route.guard.js +243 -0
  33. package/esm2015/lib/place/route/parameter-decorators.js +35 -18
  34. package/esm2015/lib/place/route/parameter-definition.class.js +123 -67
  35. package/esm2015/lib/place/route/parameter-sanitiser.js +4 -3
  36. package/esm2015/lib/place/route/parameter-snapshot.js +11 -388
  37. package/esm2015/lib/place/route/visit-sanitiser.js +88 -0
  38. package/esm2015/lib/place/visit.js +107 -8
  39. package/esm2015/public_api.js +4 -4
  40. package/esm5/coolon-angular-ui-powerups.js +24 -22
  41. package/esm5/index.js +2 -2
  42. package/esm5/lib/angular-ui-powerups.module.js +6 -3
  43. package/esm5/lib/components/index.js +2 -1
  44. package/esm5/lib/components/noop/noop.component.js +21 -0
  45. package/esm5/lib/interaction/components/alert-dialog/alert-dialog.component.js +2 -2
  46. package/esm5/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.js +2 -2
  47. package/esm5/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js +2 -2
  48. package/esm5/lib/interaction/components/interaction-outlet/interaction-outlet.component.js +21 -0
  49. package/esm5/lib/interaction/guards/interaction-guard.service.js +94 -0
  50. package/esm5/lib/interaction/index.js +3 -2
  51. package/esm5/lib/interaction/interaction.module.js +8 -3
  52. package/esm5/lib/interaction/services/dialog-interaction.service.js +28 -5
  53. package/esm5/lib/place/components/abstract-place-navigation.component.js +5 -5
  54. package/esm5/lib/place/components/list-place-nav/list-place-nav.component.js +2 -2
  55. package/esm5/lib/place/components/place-outlet/place-outlet.component.js +70 -82
  56. package/esm5/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js +2 -2
  57. package/esm5/lib/place/index.js +9 -8
  58. package/esm5/lib/place/navigation-session.js +193 -0
  59. package/esm5/lib/place/place-component.js +19 -15
  60. package/esm5/lib/place/place-definition.js +253 -5
  61. package/esm5/lib/place/place-history.js +7 -3
  62. package/esm5/lib/place/place-router.js +240 -108
  63. package/esm5/lib/place/route/formatter.js +96 -0
  64. package/esm5/lib/place/route/guards/leave-place.guard.js +152 -0
  65. package/esm5/lib/place/route/guards/place-route.guard.js +273 -0
  66. package/esm5/lib/place/route/parameter-decorators.js +35 -18
  67. package/esm5/lib/place/route/parameter-definition.class.js +179 -76
  68. package/esm5/lib/place/route/parameter-sanitiser.js +4 -3
  69. package/esm5/lib/place/route/parameter-snapshot.js +11 -480
  70. package/esm5/lib/place/route/visit-sanitiser.js +99 -0
  71. package/esm5/lib/place/visit.js +160 -8
  72. package/esm5/public_api.js +4 -4
  73. package/fesm2015/coolon-angular-ui-powerups.js +1441 -1108
  74. package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
  75. package/fesm5/coolon-angular-ui-powerups.js +2705 -2282
  76. package/fesm5/coolon-angular-ui-powerups.js.map +1 -1
  77. package/lib/components/index.d.ts +1 -0
  78. package/lib/components/noop/noop.component.d.ts +3 -0
  79. package/lib/interaction/components/interaction-outlet/interaction-outlet.component.d.ts +3 -0
  80. package/lib/interaction/guards/interaction-guard.service.d.ts +13 -0
  81. package/lib/interaction/index.d.ts +2 -1
  82. package/lib/interaction/services/dialog-interaction.service.d.ts +5 -1
  83. package/lib/place/components/place-outlet/place-outlet.component.d.ts +12 -12
  84. package/lib/place/index.d.ts +5 -4
  85. package/lib/place/navigation-session.d.ts +26 -0
  86. package/lib/place/place-component.d.ts +3 -3
  87. package/lib/place/place-definition.d.ts +30 -3
  88. package/lib/place/place-history.d.ts +3 -3
  89. package/lib/place/place-router.d.ts +25 -19
  90. package/lib/place/route/{parameter-type.d.ts → formatter.d.ts} +5 -5
  91. package/lib/place/{guards → route/guards}/leave-place.guard.d.ts +3 -3
  92. package/lib/place/route/guards/place-route.guard.d.ts +27 -0
  93. package/lib/place/route/parameter-decorators.d.ts +14 -6
  94. package/lib/place/route/parameter-definition.class.d.ts +21 -17
  95. package/lib/place/route/parameter-sanitiser.d.ts +3 -2
  96. package/lib/place/route/parameter-snapshot.d.ts +4 -26
  97. package/lib/place/route/visit-sanitiser.d.ts +12 -0
  98. package/lib/place/visit.d.ts +24 -3
  99. package/package.json +1 -1
  100. package/schematics/place-routes/place-class-scanner.d.ts +2 -2
  101. package/schematics/place-routes/place-class-scanner.js +7 -7
  102. package/schematics/place-routes/place-class-scanner.js.map +1 -1
  103. package/schematics/place-routes/place-def.d.ts +3 -2
  104. package/schematics/place-routes/place-def.js +21 -12
  105. package/schematics/place-routes/place-def.js.map +1 -1
  106. package/schematics/place-routes/templates/place-destinations.ts.template +5 -3
  107. package/schematics/place-routes/templates/place-routes.ts.template +10 -1
  108. package/schematics/place-routes/templates/place-visits.ts.template +21 -0
  109. package/esm2015/lib/interaction/guards/close-interaction.guard.js +0 -62
  110. package/esm2015/lib/place/guards/leave-place.guard.js +0 -194
  111. package/esm2015/lib/place/guards/place-route.guard.js +0 -74
  112. package/esm2015/lib/place/route/parameter-type.js +0 -61
  113. package/esm2015/lib/place/route/route-parameter-value.js +0 -230
  114. package/esm5/lib/interaction/guards/close-interaction.guard.js +0 -66
  115. package/esm5/lib/place/guards/leave-place.guard.js +0 -159
  116. package/esm5/lib/place/guards/place-route.guard.js +0 -78
  117. package/esm5/lib/place/route/parameter-type.js +0 -94
  118. package/esm5/lib/place/route/route-parameter-value.js +0 -316
  119. package/lib/interaction/guards/close-interaction.guard.d.ts +0 -12
  120. package/lib/place/guards/place-route.guard.d.ts +0 -10
  121. package/lib/place/route/route-parameter-value.d.ts +0 -42
@@ -2,13 +2,12 @@
2
2
  * @fileoverview added by tsickle
3
3
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
4
  */
5
- import { Component, Input, ViewChild } from '@angular/core';
6
- import { RouterOutlet } from '@angular/router';
5
+ import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
6
+ import { Router, RouterOutlet } from '@angular/router';
7
7
  import { Dsl, Guard, MutableValueModel } from '@coolon/pectin';
8
8
  import { DisposableComponent } from '../../../components/disposable-component';
9
9
  import { PlaceHistory } from '../../place-history';
10
10
  import { PlaceRouter } from '../../place-router';
11
- import { ParameterSnapshot } from '../../route/parameter-snapshot';
12
11
  import { LEFT_RIGHT_PLACE_ANIMATION } from './route-animations';
13
12
  /**
14
13
  * @record
@@ -30,64 +29,64 @@ if (false) {
30
29
  export class PlaceOutletComponent extends DisposableComponent {
31
30
  /**
32
31
  * @param {?} router
32
+ * @param {?} placeRouter
33
33
  * @param {?} placeHistory
34
34
  */
35
- constructor(router, placeHistory) {
35
+ constructor(router, placeRouter, placeHistory) {
36
36
  super();
37
37
  this.router = router;
38
+ this.placeRouter = placeRouter;
38
39
  this.placeHistory = placeHistory;
39
40
  this.animate = true;
41
+ this.placeChanged = new EventEmitter();
40
42
  this._activePlace = new MutableValueModel();
41
- this._incomingRouteChange = new Guard();
42
43
  this._inOutletUpdate = new Guard();
43
44
  this._activatedRouteModel = new MutableValueModel();
44
45
  this._placeDefinition = new MutableValueModel();
45
- this._resolvedParameters = new MutableValueModel();
46
+ /**
47
+ * TODO: This is now really a visit
48
+ */
49
+ this._placeVisit = new MutableValueModel();
46
50
  const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
51
+ // Handle incoming route changes.
47
52
  /** @type {?} */
48
- const paramMap = chain(this._activatedRouteModel).pullObservableValue((/**
49
- * @param {?} ar
50
- * @return {?}
51
- */
52
- ar => ar.paramMap));
53
+ const inRouteVisitUpdate = new Guard();
53
54
  /** @type {?} */
54
- const urls = chain(this._activatedRouteModel).pullObservableValue((/**
55
- * @param {?} ar
56
- * @return {?}
57
- */
58
- ar => ar.url));
59
- this.placeConfigured = valueOf.all(chain(this._inOutletUpdate).isFalsey(), this._placeDefinition, paramMap, urls).areTruthy();
60
- when.anyOf(paramMap, urls).changes((/**
55
+ const routeVisit = chain(this._activePlace).pluck('placeDefinition').findIn(placeRouter.activeVisitIndex);
56
+ when.valueOf(routeVisit).changes((/**
57
+ * @param {?} visit
61
58
  * @return {?}
62
59
  */
63
- () => {
64
- /** @type {?} */
65
- const snapshot = ParameterSnapshot.create(this._placeDefinition.value, paramMap.value, urls.value);
66
- this._incomingRouteChange.whileTrue((/**
67
- * @return {?}
68
- */
69
- () => {
70
- this._resolvedParameters.value = snapshot;
71
- this.placeHistory.add(snapshot);
72
- }));
73
- }), {
74
- postponeUntil: this.placeConfigured
75
- });
76
- when.valueOf(this._resolvedParameters).changes((/**
60
+ (visit) => {
61
+ if (visit) {
62
+ inRouteVisitUpdate.whileTrue((/**
63
+ * @return {?}
64
+ */
65
+ () => {
66
+ this._placeVisit.value = visit;
67
+ }));
68
+ }
69
+ }));
70
+ // Handle component based changes
71
+ when.valueOf(this._placeVisit).changes((/**
77
72
  * @param {?} next
78
73
  * @param {?} previous
79
74
  * @return {?}
80
75
  */
81
76
  (next, previous) => {
82
- this.placeHistory.add(next); // the above route change doesn't seem to propagate back in, so I'm add the state to the history manually for now.
83
- this.pushChangesToRoute(next, previous);
77
+ this.pushVisitChangesToRoute(next, previous);
84
78
  }), {
85
- unless: this.incomingRouteChange
79
+ unless: inRouteVisitUpdate
86
80
  });
81
+ chain(this._activePlace)
82
+ .postponeWhile(placeRouter.navigationSessionActive)
83
+ .subscribe((/**
84
+ * @param {?} place
85
+ * @return {?}
86
+ */
87
+ place => this.placeChanged.emit(place)));
87
88
  // const txo = new TransactionObserver().onEvent(e => console.log(e.toString()));
88
- // txo.observe('paramMap', paramMap);
89
- // txo.observe('urls', urls);
90
- // txo.observe('this._resolvedParameters', this._resolvedParameters);
89
+ // txo.observe('inRouteVisitUpdate', inRouteVisitUpdate);
91
90
  }
92
91
  /**
93
92
  * @return {?}
@@ -95,15 +94,19 @@ export class PlaceOutletComponent extends DisposableComponent {
95
94
  ngOnInit() {
96
95
  }
97
96
  /**
97
+ * @param {?} next
98
+ * @param {?} previous
98
99
  * @return {?}
99
100
  */
100
- get incomingRouteChange() {
101
- return this._incomingRouteChange;
101
+ pushVisitChangesToRoute(next, previous) {
102
+ /** @type {?} */
103
+ const activatedRoute = this._activatedRouteModel.value;
104
+ this.placeRouter.pushVisitChangesToRoute(activatedRoute, previous, next);
102
105
  }
103
106
  /**
104
107
  * @return {?}
105
108
  */
106
- get activePlace() {
109
+ get activePlaceModel() {
107
110
  return this._activePlace.readonly;
108
111
  }
109
112
  /**
@@ -120,7 +123,7 @@ export class PlaceOutletComponent extends DisposableComponent {
120
123
  this._activePlace.value = place;
121
124
  this._activatedRouteModel.value = routerOutlet.activatedRoute;
122
125
  this._placeDefinition.value = place.placeDefinition;
123
- place.initialiseBindings(this._resolvedParameters);
126
+ place.initialiseBindings(this._placeVisit);
124
127
  }
125
128
  catch (error) {
126
129
  console.error(error);
@@ -162,22 +165,11 @@ export class PlaceOutletComponent extends DisposableComponent {
162
165
  }
163
166
  }
164
167
  /**
165
- * @param {?} next
166
- * @param {?} previous
168
+ * @param {?} placeDestination
167
169
  * @return {?}
168
170
  */
169
- pushChangesToRoute(next, previous) {
170
- /** @type {?} */
171
- const activatedRoute = this._activatedRouteModel.value;
172
- this.router.pushParameterChangesToRoute(activatedRoute, previous, next);
173
- }
174
- /**
175
- * @param {?} snapshot
176
- * @param {?} callback
177
- * @return {?}
178
- */
179
- sanitise(snapshot, callback) {
180
- return snapshot;
171
+ activate(placeDestination) {
172
+ // this.router.
181
173
  }
182
174
  }
183
175
  PlaceOutletComponent.decorators = [
@@ -190,28 +182,27 @@ PlaceOutletComponent.decorators = [
190
182
  ];
191
183
  /** @nocollapse */
192
184
  PlaceOutletComponent.ctorParameters = () => [
185
+ { type: Router },
193
186
  { type: PlaceRouter },
194
187
  { type: PlaceHistory }
195
188
  ];
196
189
  PlaceOutletComponent.propDecorators = {
197
190
  animate: [{ type: Input }],
191
+ placeChanged: [{ type: Output }],
198
192
  routerOut: [{ type: ViewChild, args: ['routeOutlet', { static: true },] }]
199
193
  };
200
194
  if (false) {
201
195
  /** @type {?} */
202
196
  PlaceOutletComponent.prototype.animate;
203
197
  /** @type {?} */
198
+ PlaceOutletComponent.prototype.placeChanged;
199
+ /** @type {?} */
204
200
  PlaceOutletComponent.prototype.routerOut;
205
201
  /**
206
202
  * @type {?}
207
203
  * @private
208
204
  */
209
205
  PlaceOutletComponent.prototype._activePlace;
210
- /**
211
- * @type {?}
212
- * @private
213
- */
214
- PlaceOutletComponent.prototype._incomingRouteChange;
215
206
  /**
216
207
  * @type {?}
217
208
  * @private
@@ -227,22 +218,25 @@ if (false) {
227
218
  * @private
228
219
  */
229
220
  PlaceOutletComponent.prototype._placeDefinition;
230
- /** @type {?} */
231
- PlaceOutletComponent.prototype._resolvedParameters;
232
221
  /**
222
+ * TODO: This is now really a visit
233
223
  * @type {?}
234
- * @private
235
224
  */
236
- PlaceOutletComponent.prototype.placeConfigured;
225
+ PlaceOutletComponent.prototype._placeVisit;
237
226
  /**
238
227
  * @type {?}
239
228
  * @private
240
229
  */
241
230
  PlaceOutletComponent.prototype.router;
231
+ /**
232
+ * @type {?}
233
+ * @private
234
+ */
235
+ PlaceOutletComponent.prototype.placeRouter;
242
236
  /**
243
237
  * @type {?}
244
238
  * @private
245
239
  */
246
240
  PlaceOutletComponent.prototype.placeHistory;
247
241
  }
248
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2Utb3V0bGV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9wbGFjZS9jb21wb25lbnRzL3BsYWNlLW91dGxldC9wbGFjZS1vdXRsZXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFrQixZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvRCxPQUFPLEVBQTBCLEdBQUcsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQWMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUcvRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRWpELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7O0FBR2hFLHVCQU1DOzs7SUFMQyxtQ0FBeUM7Ozs7O0lBRXpDLDZEQUErRDs7OztJQUUvRCxrREFBcUI7O0FBU3ZCLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxtQkFBbUI7Ozs7O0lBa0IzRCxZQUE2QixNQUFtQixFQUFtQixZQUEwQjtRQUMzRixLQUFLLEVBQUUsQ0FBQztRQURtQixXQUFNLEdBQU4sTUFBTSxDQUFhO1FBQW1CLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBZjdGLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFLRSxpQkFBWSxHQUFHLElBQUksaUJBQWlCLEVBQWtCLENBQUM7UUFFdkQseUJBQW9CLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQztR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MkIsQ0FBQyxjQUFjLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzFFLENBQUM7Ozs7OztJQUVELFFBQVEsQ0FBQyxRQUEyQixFQUFFLFFBQWdEO1FBQ3BGLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7OztZQWxIRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGtDQUFrQztnQkFDNUMsa1lBQTRDO2dCQUU1QyxVQUFVLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQzs7YUFDekM7Ozs7WUFuQlEsV0FBVztZQURYLFlBQVk7OztzQkF1QmxCLEtBQUs7d0JBR0wsU0FBUyxTQUFDLGFBQWEsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Ozs7SUFIMUMsdUNBQ2U7O0lBRWYseUNBQ3dCOzs7OztJQUV4Qiw0Q0FBd0U7Ozs7O0lBRXhFLG9EQUFvRDs7Ozs7SUFDcEQsK0NBQStDOzs7OztJQUMvQyxvREFBZ0Y7Ozs7O0lBQ2hGLGdEQUE2RTs7SUFFN0UsbURBQTBFOzs7OztJQUMxRSwrQ0FBZ0Q7Ozs7O0lBRXBDLHNDQUFvQzs7Ozs7SUFBRSw0Q0FBMkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlck91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBCb29sZWFuVmFsdWVNb2RlbENoYWluLCBEc2wsIEd1YXJkLCBNdXRhYmxlVmFsdWVNb2RlbCwgVmFsdWVNb2RlbCB9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7IERpc3Bvc2FibGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL2Rpc3Bvc2FibGUtY29tcG9uZW50JztcbmltcG9ydCB7IFBsYWNlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vcGxhY2UtY29tcG9uZW50JztcbmltcG9ydCB7IFBsYWNlRGVmaW5pdGlvbiB9IGZyb20gJy4uLy4uL3BsYWNlLWRlZmluaXRpb24nO1xuaW1wb3J0IHsgUGxhY2VIaXN0b3J5IH0gZnJvbSAnLi4vLi4vcGxhY2UtaGlzdG9yeSc7XG5pbXBvcnQgeyBQbGFjZVJvdXRlciB9IGZyb20gJy4uLy4uL3BsYWNlLXJvdXRlcic7XG5cbmltcG9ydCB7IFBhcmFtZXRlclNuYXBzaG90IH0gZnJvbSAnLi4vLi4vcm91dGUvcGFyYW1ldGVyLXNuYXBzaG90JztcbmltcG9ydCB7IExFRlRfUklHSFRfUExBQ0VfQU5JTUFUSU9OIH0gZnJvbSAnLi9yb3V0ZS1hbmltYXRpb25zJztcblxuLy8gUXVpY2sgaGFjayB0byBhdm9pZCBjaXJjdWxhciByZWZlcmVuY2VzIGJldHdlZW4gdGhpcyBhbmQgUGxhY2VDb21wb25lbnRzLlxuaW50ZXJmYWNlIFBsYWNlUmVmIHtcbiAgcmVhZG9ubHkgcGxhY2VEZWZpbml0aW9uOiBQbGFjZURlZmluaXRpb25cblxuICBpbml0aWFsaXNlQmluZGluZ3MocGFyYW06IFZhbHVlTW9kZWw8UGFyYW1ldGVyU25hcHNob3Q+KTogdm9pZDtcblxuICBvblBsYWNlUmVhZHkoKTogdm9pZDtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYW5ndWxhci11aS1wb3dlcnVwcy1wbGFjZS1vdXRsZXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vcGxhY2Utb3V0bGV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcGxhY2Utb3V0bGV0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGFuaW1hdGlvbnM6IFtMRUZUX1JJR0hUX1BMQUNFX0FOSU1BVElPTl1cbn0pXG5leHBvcnQgY2xhc3MgUGxhY2VPdXRsZXRDb21wb25lbnQgZXh0ZW5kcyBEaXNwb3NhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoKVxuICBhbmltYXRlID0gdHJ1ZTtcblxuICBAVmlld0NoaWxkKCdyb3V0ZU91dGxldCcsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHJvdXRlck91dDogUm91dGVyT3V0bGV0O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2FjdGl2ZVBsYWNlID0gbmV3IE11dGFibGVWYWx1ZU1vZGVsPFBsYWNlQ29tcG9uZW50PigpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2luY29taW5nUm91dGVDaGFuZ2UgPSBuZXcgR3VhcmQoKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfaW5PdXRsZXRVcGRhdGUgPSBuZXcgR3VhcmQoKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfYWN0aXZhdGVkUm91dGVNb2RlbCA9IG5ldyBNdXRhYmxlVmFsdWVNb2RlbDxBY3RpdmF0ZWRSb3V0ZT4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfcGxhY2VEZWZpbml0aW9uID0gbmV3IE11dGFibGVWYWx1ZU1vZGVsPFBsYWNlRGVmaW5pdGlvbj4oKTtcblxuICByZWFkb25seSBfcmVzb2x2ZWRQYXJhbWV0ZXJzID0gbmV3IE11dGFibGVWYWx1ZU1vZGVsPFBhcmFtZXRlclNuYXBzaG90PigpO1xuICBwcml2YXRlIHBsYWNlQ29uZmlndXJlZDogQm9vbGVhblZhbHVlTW9kZWxDaGFpbjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUGxhY2VSb3V0ZXIsIHByaXZhdGUgcmVhZG9ubHkgcGxhY2VIaXN0b3J5OiBQbGFjZUhpc3RvcnkpIHtcbiAgICBzdXBlcigpO1xuICAgIGNvbnN0IHsgY2hhaW4sIHZhbHVlT2YsIGJlZm9yZSwgd2hlbiwgYWZ0ZXIsIG9ic2VydmUsIHN3aXRjaE9uIH0gPSBEc2wuZGlzcG9zZVdpdGgodGhpcyk7XG5cbiAgICBjb25zdCBwYXJhbU1hcCA9IGNoYWluKHRoaXMuX2FjdGl2YXRlZFJvdXRlTW9kZWwpLnB1bGxPYnNlcnZhYmxlVmFsdWUoYXIgPT4gYXIucGFyYW1NYXApO1xuICAgIGNvbnN0IHVybHMgPSBjaGFpbih0aGlzLl9hY3RpdmF0ZWRSb3V0ZU1vZGVsKS5wdWxsT2JzZXJ2YWJsZVZhbHVlKGFyID0+IGFyLnVybCk7XG5cbiAgICB0aGlzLnBsYWNlQ29uZmlndXJlZCA9IHZhbHVlT2YuYWxsKFxuICAgICAgY2hhaW4odGhpcy5faW5PdXRsZXRVcGRhdGUpLmlzRmFsc2V5KCksXG4gICAgICB0aGlzLl9wbGFjZURlZmluaXRpb24sXG4gICAgICBwYXJhbU1hcCxcbiAgICAgIHVybHNcbiAgICApLmFyZVRydXRoeSgpO1xuXG4gICAgd2hlbi5hbnlPZihwYXJhbU1hcCwgdXJscykuY2hhbmdlcygoKSA9PiB7XG4gICAgICBjb25zdCBzbmFwc2hvdCA9IFBhcmFtZXRlclNuYXBzaG90LmNyZWF0ZSh0aGlzLl9wbGFjZURlZmluaXRpb24udmFsdWUsIHBhcmFtTWFwLnZhbHVlLCB1cmxzLnZhbHVlKTtcbiAgICAgIHRoaXMuX2luY29taW5nUm91dGVDaGFuZ2Uud2hpbGVUcnVlKCgpID0+IHtcbiAgICAgICAgdGhpcy5fcmVzb2x2ZWRQYXJhbWV0ZXJzLnZhbHVlID0gc25hcHNob3Q7XG4gICAgICAgIHRoaXMucGxhY2VIaXN0b3J5LmFkZChzbmFwc2hvdCk7XG4gICAgICB9KTtcbiAgICB9LCB7XG4gICAgICBwb3N0cG9uZVVudGlsOiB0aGlzLnBsYWNlQ29uZmlndXJlZFxuICAgIH0pO1xuXG4gICAgd2hlbi52YWx1ZU9mKHRoaXMuX3Jlc29sdmVkUGFyYW1ldGVycykuY2hhbmdlcygobmV4dCwgcHJldmlvdXMpID0+IHtcbiAgICAgIHRoaXMucGxhY2VIaXN0b3J5LmFkZChuZXh0KTsgLy8gdGhlIGFib3ZlIHJvdXRlIGNoYW5nZSBkb2Vzbid0IHNlZW0gdG8gcHJvcGFnYXRlIGJhY2sgaW4sIHNvIEknbSBhZGQgdGhlIHN0YXRlIHRvIHRoZSBoaXN0b3J5IG1hbnVhbGx5IGZvciBub3cuXG4gICAgICB0aGlzLnB1c2hDaGFuZ2VzVG9Sb3V0ZShuZXh0LCBwcmV2aW91cyk7XG4gICAgfSwge1xuICAgICAgdW5sZXNzOiB0aGlzLmluY29taW5nUm91dGVDaGFuZ2VcbiAgICB9KTtcblxuICAgIC8vIGNvbnN0IHR4byA9IG5ldyBUcmFuc2FjdGlvbk9ic2VydmVyKCkub25FdmVudChlID0+IGNvbnNvbGUubG9nKGUudG9TdHJpbmcoKSkpO1xuICAgIC8vIHR4by5vYnNlcnZlKCdwYXJhbU1hcCcsIHBhcmFtTWFwKTtcbiAgICAvLyB0eG8ub2JzZXJ2ZSgndXJscycsIHVybHMpO1xuICAgIC8vIHR4by5vYnNlcnZlKCd0aGlzLl9yZXNvbHZlZFBhcmFtZXRlcnMnLCB0aGlzLl9yZXNvbHZlZFBhcmFtZXRlcnMpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gIH1cblxuICBnZXQgaW5jb21pbmdSb3V0ZUNoYW5nZSgpOiBWYWx1ZU1vZGVsPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5faW5jb21pbmdSb3V0ZUNoYW5nZTtcbiAgfVxuXG4gIGdldCBhY3RpdmVQbGFjZSgpOiBWYWx1ZU1vZGVsPFBsYWNlQ29tcG9uZW50PiB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2ZVBsYWNlLnJlYWRvbmx5O1xuICB9XG5cbiAgb25PdXRsZXRBY3RpdmF0ZWQocm91dGVyT3V0bGV0OiBSb3V0ZXJPdXRsZXQsIHBsYWNlOiBQbGFjZUNvbXBvbmVudCkge1xuICAgIHRoaXMuX2luT3V0bGV0VXBkYXRlLndoaWxlVHJ1ZSgoKSA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICB0aGlzLl9hY3RpdmVQbGFjZS52YWx1ZSA9IHBsYWNlO1xuICAgICAgICB0aGlzLl9hY3RpdmF0ZWRSb3V0ZU1vZGVsLnZhbHVlID0gcm91dGVyT3V0bGV0LmFjdGl2YXRlZFJvdXRlO1xuICAgICAgICB0aGlzLl9wbGFjZURlZmluaXRpb24udmFsdWUgPSBwbGFjZS5wbGFjZURlZmluaXRpb247XG4gICAgICAgIHBsYWNlLmluaXRpYWxpc2VCaW5kaW5ncyh0aGlzLl9yZXNvbHZlZFBhcmFtZXRlcnMpO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgICB9XG4gICAgfSk7XG4gICAgaWYgKCF0aGlzLmFuaW1hdGUpIHtcbiAgICAgIC8vIHdlJ3JlIG5vdCBhbmltYXRpbmcgc28gdHJpZ2dlciBhbnkgcG9zdCBhbmltYXRpb24gY2FsbGJhY2tzIG5vdy5cbiAgICAgIHRoaXMuYW5pbWF0aW9uRG9uZSgpO1xuICAgIH1cbiAgfVxuXG4gIG9uT3V0bGV0RGVhY3RpdmF0ZWQocm91dGVyT3V0bGV0OiBSb3V0ZXJPdXRsZXQsICRldmVudDogUGxhY2VSZWYpIHtcbiAgICB0aGlzLl9pbk91dGxldFVwZGF0ZS53aGlsZVRydWUoKCkgPT4ge1xuICAgICAgdGhpcy5fYWN0aXZlUGxhY2UudmFsdWUgPSBudWxsO1xuICAgICAgdGhpcy5fYWN0aXZhdGVkUm91dGVNb2RlbC52YWx1ZSA9IG51bGw7XG4gICAgICB0aGlzLl9wbGFjZURlZmluaXRpb24udmFsdWUgPSBudWxsO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0UGxhY2VPcmRlcihvdXRsZXQ6IFJvdXRlck91dGxldCkge1xuICAgIHJldHVybiB0aGlzLmFuaW1hdGUgJiYgb3V0bGV0ICYmIG91dGxldC5hY3RpdmF0ZWRSb3V0ZURhdGEgJiYgb3V0bGV0LmFjdGl2YXRlZFJvdXRlRGF0YVsncGxhY2VPcmRlciddO1xuICB9XG5cbiAgYW5pbWF0aW9uRG9uZSgpIHtcbiAgICBpZiAodGhpcy5fYWN0aXZlUGxhY2UudmFsdWUpIHtcbiAgICAgIHRoaXMuX2FjdGl2ZVBsYWNlLnZhbHVlLm9uUGxhY2VSZWFkeSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1c2hDaGFuZ2VzVG9Sb3V0ZShuZXh0OiBQYXJhbWV0ZXJTbmFwc2hvdCwgcHJldmlvdXM6IFBhcmFtZXRlclNuYXBzaG90KSB7XG4gICAgY29uc3QgYWN0aXZhdGVkUm91dGUgPSB0aGlzLl9hY3RpdmF0ZWRSb3V0ZU1vZGVsLnZhbHVlO1xuICAgIHRoaXMucm91dGVyLnB1c2hQYXJhbWV0ZXJDaGFuZ2VzVG9Sb3V0ZShhY3RpdmF0ZWRSb3V0ZSwgcHJldmlvdXMsIG5leHQpO1xuICB9XG5cbiAgc2FuaXRpc2Uoc25hcHNob3Q6IFBhcmFtZXRlclNuYXBzaG90LCBjYWxsYmFjazogKHNhbml0aXNlZDogUGFyYW1ldGVyU25hcHNob3QpID0+IHZvaWQpIHtcbiAgICByZXR1cm4gc25hcHNob3Q7XG4gIH1cblxuXG59XG4iXX0=
242
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2Utb3V0bGV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9wbGFjZS9jb21wb25lbnRzL3BsYWNlLW91dGxldC9wbGFjZS1vdXRsZXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQWtCLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBbUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUcvRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBR2pELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7O0FBR2hFLHVCQU1DOzs7SUFMQyxtQ0FBeUM7Ozs7O0lBRXpDLDZEQUFtRDs7OztJQUVuRCxrREFBcUI7O0FBU3ZCLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxtQkFBbUI7Ozs7OztJQW9CM0QsWUFBNkIsTUFBYyxFQUFtQixXQUF3QixFQUFtQixZQUEwQjtRQUNqSSxLQUFLLEVBQUUsQ0FBQztRQURtQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQW1CLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQW1CLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBakJuSSxZQUFPLEdBQUcsSUFBSSxDQUFDO1FBR04saUJBQVksR0FBRyxJQUFJLFlBQVksRUFBa0IsQ0FBQztRQUsxQyxpQkFBWSxHQUFH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K0M7Ozs7O0lBQy9DLG9EQUFnRjs7Ozs7SUFDaEYsZ0RBQTZFOzs7OztJQUc3RSwyQ0FBc0Q7Ozs7O0lBRTFDLHNDQUErQjs7Ozs7SUFBRSwyQ0FBeUM7Ozs7O0lBQUUsNENBQTJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyLCBSb3V0ZXJPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgRHNsLCBHdWFyZCwgTXV0YWJsZVZhbHVlTW9kZWwsIFRyYW5zYWN0aW9uT2JzZXJ2ZXIsIFZhbHVlTW9kZWwgfSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQgeyBEaXNwb3NhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9kaXNwb3NhYmxlLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBQbGFjZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3BsYWNlLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBQbGFjZURlZmluaXRpb24gfSBmcm9tICcuLi8uLi9wbGFjZS1kZWZpbml0aW9uJztcbmltcG9ydCB7IFBsYWNlSGlzdG9yeSB9IGZyb20gJy4uLy4uL3BsYWNlLWhpc3RvcnknO1xuaW1wb3J0IHsgUGxhY2VSb3V0ZXIgfSBmcm9tICcuLi8uLi9wbGFjZS1yb3V0ZXInO1xuXG5pbXBvcnQgeyBWaXNpdCB9IGZyb20gJy4uLy4uL3Zpc2l0JztcbmltcG9ydCB7IExFRlRfUklHSFRfUExBQ0VfQU5JTUFUSU9OIH0gZnJvbSAnLi9yb3V0ZS1hbmltYXRpb25zJztcblxuLy8gUXVpY2sgaGFjayB0byBhdm9pZCBjaXJjdWxhciByZWZlcmVuY2VzIGJldHdlZW4gdGhpcyBhbmQgUGxhY2VDb21wb25lbnRzLlxuaW50ZXJmYWNlIFBsYWNlUmVmIHtcbiAgcmVhZG9ubHkgcGxhY2VEZWZpbml0aW9uOiBQbGFjZURlZmluaXRpb25cblxuICBpbml0aWFsaXNlQmluZGluZ3MocGFyYW06IFZhbHVlTW9kZWw8VmlzaXQ+KTogdm9pZDtcblxuICBvblBsYWNlUmVhZHkoKTogdm9pZDtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYW5ndWxhci11aS1wb3dlcnVwcy1wbGFjZS1vdXRsZXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vcGxhY2Utb3V0bGV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcGxhY2Utb3V0bGV0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGFuaW1hdGlvbnM6IFtMRUZUX1JJR0hUX1BMQUNFX0FOSU1BVElPTl1cbn0pXG5leHBvcnQgY2xhc3MgUGxhY2VPdXRsZXRDb21wb25lbnQgZXh0ZW5kcyBEaXNwb3NhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoKVxuICBhbmltYXRlID0gdHJ1ZTtcblxuICBAT3V0cHV0KClcbiAgcmVhZG9ubHkgcGxhY2VDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxQbGFjZUNvbXBvbmVudD4oKTtcblxuICBAVmlld0NoaWxkKCdyb3V0ZU91dGxldCcsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHJvdXRlck91dDogUm91dGVyT3V0bGV0O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2FjdGl2ZVBsYWNlID0gbmV3IE11dGFibGVWYWx1ZU1vZGVsPFBsYWNlQ29tcG9uZW50PigpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2luT3V0bGV0VXBkYXRlID0gbmV3IEd1YXJkKCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2FjdGl2YXRlZFJvdXRlTW9kZWwgPSBuZXcgTXV0YWJsZVZhbHVlTW9kZWw8QWN0aXZhdGVkUm91dGU+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3BsYWNlRGVmaW5pdGlvbiA9IG5ldyBNdXRhYmxlVmFsdWVNb2RlbDxQbGFjZURlZmluaXRpb24+KCk7XG5cbiAgLyoqIFRPRE86IFRoaXMgaXMgbm93IHJlYWxseSBhIHZpc2l0ICovXG4gIHJlYWRvbmx5IF9wbGFjZVZpc2l0ID0gbmV3IE11dGFibGVWYWx1ZU1vZGVsPFZpc2l0PigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIsIHByaXZhdGUgcmVhZG9ubHkgcGxhY2VSb3V0ZXI6IFBsYWNlUm91dGVyLCBwcml2YXRlIHJlYWRvbmx5IHBsYWNlSGlzdG9yeTogUGxhY2VIaXN0b3J5KSB7XG4gICAgc3VwZXIoKTtcbiAgICBjb25zdCB7IGNoYWluLCB2YWx1ZU9mLCBiZWZvcmUsIHdoZW4sIGFmdGVyLCBvYnNlcnZlLCBzd2l0Y2hPbiB9ID0gRHNsLmRpc3Bvc2VXaXRoKHRoaXMpO1xuXG4gICAgLy8gSGFuZGxlIGluY29taW5nIHJvdXRlIGNoYW5nZXMuXG4gICAgY29uc3QgaW5Sb3V0ZVZpc2l0VXBkYXRlID0gbmV3IEd1YXJkKCk7XG4gICAgY29uc3Qgcm91dGVWaXNpdCA9IGNoYWluKHRoaXMuX2FjdGl2ZVBsYWNlKS5wbHVjaygncGxhY2VEZWZpbml0aW9uJykuZmluZEluKHBsYWNlUm91dGVyLmFjdGl2ZVZpc2l0SW5kZXgpO1xuICAgIHdoZW4udmFsdWVPZihyb3V0ZVZpc2l0KS5jaGFuZ2VzKCh2aXNpdCkgPT4ge1xuICAgICAgaWYgKHZpc2l0KSB7XG4gICAgICAgIGluUm91dGVWaXNpdFVwZGF0ZS53aGlsZVRydWUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuX3BsYWNlVmlzaXQudmFsdWUgPSB2aXNpdDtcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIC8vIEhhbmRsZSBjb21wb25lbnQgYmFzZWQgY2hhbmdlc1xuICAgIHdoZW4udmFsdWVPZih0aGlzLl9wbGFjZVZpc2l0KS5jaGFuZ2VzKChuZXh0LCBwcmV2aW91cykgPT4ge1xuICAgICAgdGhpcy5wdXNoVmlzaXRDaGFuZ2VzVG9Sb3V0ZShuZXh0LCBwcmV2aW91cyk7XG4gICAgfSwge1xuICAgICAgdW5sZXNzOiBpblJvdXRlVmlzaXRVcGRhdGVcbiAgICB9KTtcblxuICAgIGNoYWluKHRoaXMuX2FjdGl2ZVBsYWNlKVxuICAgICAgLnBvc3Rwb25lV2hpbGUocGxhY2VSb3V0ZXIubmF2aWdhdGlvblNlc3Npb25BY3RpdmUpXG4gICAgICAuc3Vic2NyaWJlKHBsYWNlID0+IHRoaXMucGxhY2VDaGFuZ2VkLmVtaXQocGxhY2UpKTtcblxuICAgIC8vIGNvbnN0IHR4byA9IG5ldyBUcmFuc2FjdGlvbk9ic2VydmVyKCkub25FdmVudChlID0+IGNvbnNvbGUubG9nKGUudG9TdHJpbmcoKSkpO1xuICAgIC8vIHR4by5vYnNlcnZlKCdpblJvdXRlVmlzaXRVcGRhdGUnLCBpblJvdXRlVmlzaXRVcGRhdGUpO1xuXG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgfVxuXG4gIHB1c2hWaXNpdENoYW5nZXNUb1JvdXRlKG5leHQ6IFZpc2l0LCBwcmV2aW91czogVmlzaXQpIHtcbiAgICBjb25zdCBhY3RpdmF0ZWRSb3V0ZSA9IHRoaXMuX2FjdGl2YXRlZFJvdXRlTW9kZWwudmFsdWU7XG4gICAgdGhpcy5wbGFjZVJvdXRlci5wdXNoVmlzaXRDaGFuZ2VzVG9Sb3V0ZShhY3RpdmF0ZWRSb3V0ZSwgcHJldmlvdXMsIG5leHQpO1xuICB9XG5cblxuICBnZXQgYWN0aXZlUGxhY2VNb2RlbCgpOiBWYWx1ZU1vZGVsPFBsYWNlQ29tcG9uZW50PiB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2ZVBsYWNlLnJlYWRvbmx5O1xuICB9XG5cbiAgb25PdXRsZXRBY3RpdmF0ZWQocm91dGVyT3V0bGV0OiBSb3V0ZXJPdXRsZXQsIHBsYWNlOiBQbGFjZUNvbXBvbmVudCkge1xuICAgIHRoaXMuX2luT3V0bGV0VXBkYXRlLndoaWxlVHJ1ZSgoKSA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICB0aGlzLl9hY3RpdmVQbGFjZS52YWx1ZSA9IHBsYWNlO1xuICAgICAgICB0aGlzLl9hY3RpdmF0ZWRSb3V0ZU1vZGVsLnZhbHVlID0gcm91dGVyT3V0bGV0LmFjdGl2YXRlZFJvdXRlO1xuICAgICAgICB0aGlzLl9wbGFjZURlZmluaXRpb24udmFsdWUgPSBwbGFjZS5wbGFjZURlZmluaXRpb247XG4gICAgICAgIHBsYWNlLmluaXRpYWxpc2VCaW5kaW5ncyh0aGlzLl9wbGFjZVZpc2l0KTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGlmICghdGhpcy5hbmltYXRlKSB7XG4gICAgICAvLyB3ZSdyZSBub3QgYW5pbWF0aW5nIHNvIHRyaWdnZXIgYW55IHBvc3QgYW5pbWF0aW9uIGNhbGxiYWNrcyBub3cuXG4gICAgICB0aGlzLmFuaW1hdGlvbkRvbmUoKTtcbiAgICB9XG4gIH1cblxuICBvbk91dGxldERlYWN0aXZhdGVkKHJvdXRlck91dGxldDogUm91dGVyT3V0bGV0LCAkZXZlbnQ6IFBsYWNlUmVmKSB7XG4gICAgdGhpcy5faW5PdXRsZXRVcGRhdGUud2hpbGVUcnVlKCgpID0+IHtcbiAgICAgIHRoaXMuX2FjdGl2ZVBsYWNlLnZhbHVlID0gbnVsbDtcbiAgICAgIHRoaXMuX2FjdGl2YXRlZFJvdXRlTW9kZWwudmFsdWUgPSBudWxsO1xuICAgICAgdGhpcy5fcGxhY2VEZWZpbml0aW9uLnZhbHVlID0gbnVsbDtcbiAgICB9KTtcbiAgfVxuXG4gIGdldFBsYWNlT3JkZXIob3V0bGV0OiBSb3V0ZXJPdXRsZXQpIHtcbiAgICByZXR1cm4gdGhpcy5hbmltYXRlICYmIG91dGxldCAmJiBvdXRsZXQuYWN0aXZhdGVkUm91dGVEYXRhICYmIG91dGxldC5hY3RpdmF0ZWRSb3V0ZURhdGFbJ3BsYWNlT3JkZXInXTtcbiAgfVxuXG4gIGFuaW1hdGlvbkRvbmUoKSB7XG4gICAgaWYgKHRoaXMuX2FjdGl2ZVBsYWNlLnZhbHVlKSB7XG4gICAgICB0aGlzLl9hY3RpdmVQbGFjZS52YWx1ZS5vblBsYWNlUmVhZHkoKTtcbiAgICB9XG4gIH1cblxuICBhY3RpdmF0ZShwbGFjZURlc3RpbmF0aW9uOiBWaXNpdCkge1xuICAgIC8vIHRoaXMucm91dGVyLlxuICB9XG5cblxufVxuIl19
@@ -12,10 +12,10 @@ export class TabbedPlaceNavigationComponent extends AbstractPlaceNavigationCompo
12
12
  TabbedPlaceNavigationComponent.decorators = [
13
13
  { type: Component, args: [{
14
14
  selector: 'angular-ui-powerups-tabbed-place-navigation',
15
- template: "<nav mat-tab-nav-bar>\n <a mat-tab-link *ngFor=\"let place of placeDefinitions.value\"\n [routerLink]='place.path'\n routerLinkActive #rla=\"routerLinkActive\"\n [active]=\"rla.isActive\"\n [matTooltip]=\"getNav(place).tooltip()\">\n <mat-icon *ngIf=\"getNav(place).icon()\">{{getNav(place).icon()}}</mat-icon>\n <span>{{getNav(place).title()}}</span>\n </a>\n</nav>\n",
15
+ template: "<nav mat-tab-nav-bar>\n <a mat-tab-link *ngFor=\"let place of placeDefinitions.value\"\n [routerLink]='place.path'\n [replaceUrl]=\"true\"\n routerLinkActive #rla=\"routerLinkActive\"\n [active]=\"rla.isActive\"\n [matTooltip]=\"getNav(place).tooltip()\">\n <mat-icon *ngIf=\"getNav(place).icon()\">{{getNav(place).icon()}}</mat-icon>\n <span>{{getNav(place).title()}}</span>\n </a>\n</nav>\n",
16
16
  styles: [""]
17
17
  }] }
18
18
  ];
19
19
  /** @nocollapse */
20
20
  TabbedPlaceNavigationComponent.ctorParameters = () => [];
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiYmVkLXBsYWNlLW5hdmlnYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvb2xvbi9hbmd1bGFyLXVpLXBvd2VydXBzLyIsInNvdXJjZXMiOlsibGliL3BsYWNlL2NvbXBvbmVudHMvdGFiYmVkLXBsYWNlLW5hdmlnYXRpb24vdGFiYmVkLXBsYWNlLW5hdmlnYXRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBTzFGLE1BQU0sT0FBTyw4QkFBK0IsU0FBUSxnQ0FBZ0M7SUFDbEY7UUFDRSxLQUFLLEVBQUUsQ0FBQztJQUNWLENBQUM7OztZQVJGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsNkNBQTZDO2dCQUN2RCxvWkFBdUQ7O2FBRXhEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdFBsYWNlTmF2aWdhdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uL2Fic3RyYWN0LXBsYWNlLW5hdmlnYXRpb24uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYW5ndWxhci11aS1wb3dlcnVwcy10YWJiZWQtcGxhY2UtbmF2aWdhdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJiZWQtcGxhY2UtbmF2aWdhdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RhYmJlZC1wbGFjZS1uYXZpZ2F0aW9uLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgVGFiYmVkUGxhY2VOYXZpZ2F0aW9uQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RQbGFjZU5hdmlnYXRpb25Db21wb25lbnQge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICB9XG59XG4iXX0=
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiYmVkLXBsYWNlLW5hdmlnYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvb2xvbi9hbmd1bGFyLXVpLXBvd2VydXBzLyIsInNvdXJjZXMiOlsibGliL3BsYWNlL2NvbXBvbmVudHMvdGFiYmVkLXBsYWNlLW5hdmlnYXRpb24vdGFiYmVkLXBsYWNlLW5hdmlnYXRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBTzFGLE1BQU0sT0FBTyw4QkFBK0IsU0FBUSxnQ0FBZ0M7SUFDbEY7UUFDRSxLQUFLLEVBQUUsQ0FBQztJQUNWLENBQUM7OztZQVJGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsNkNBQTZDO2dCQUN2RCxnYkFBdUQ7O2FBRXhEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdFBsYWNlTmF2aWdhdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uL2Fic3RyYWN0LXBsYWNlLW5hdmlnYXRpb24uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYW5ndWxhci11aS1wb3dlcnVwcy10YWJiZWQtcGxhY2UtbmF2aWdhdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJiZWQtcGxhY2UtbmF2aWdhdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RhYmJlZC1wbGFjZS1uYXZpZ2F0aW9uLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgVGFiYmVkUGxhY2VOYXZpZ2F0aW9uQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RQbGFjZU5hdmlnYXRpb25Db21wb25lbnQge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICB9XG59XG4iXX0=
@@ -6,13 +6,14 @@
6
6
  * @file Automatically generated by barrelsby.
7
7
  */
8
8
  export {} from "./nav-item";
9
+ export { NavigationSession } from "./navigation-session";
9
10
  export { DEFINITION_META_DATA_KEY, ROUTE_PARAMETER_LIST_KEY, PlaceComponent } from "./place-component";
10
11
  export { PlaceDefinition } from "./place-definition";
11
12
  export { PlaceHistory } from "./place-history";
12
13
  export { PlaceRouter } from "./place-router";
13
14
  export { Place } from "./place.decorator";
14
15
  export { PlaceModule } from "./place.module";
15
- export {} from "./visit";
16
+ export { Visit } from "./visit";
16
17
  export { AbstractPlaceNavigationComponent } from "./components/abstract-place-navigation.component";
17
18
  export { BusyOverlayComponent } from "./components/busy-overlay/busy-overlay.component";
18
19
  export { EmptyStateComponent } from "./components/empty-state/empty-state.component";
@@ -20,13 +21,13 @@ export { ListPlaceNavComponent } from "./components/list-place-nav/list-place-na
20
21
  export { PlaceOutletComponent } from "./components/place-outlet/place-outlet.component";
21
22
  export { leftRightPlaceAnimation, LEFT_RIGHT_PLACE_ANIMATION } from "./components/place-outlet/route-animations";
22
23
  export { TabbedPlaceNavigationComponent } from "./components/tabbed-place-navigation/tabbed-place-navigation.component";
23
- export { LeavePlaceGuard } from "./guards/leave-place.guard";
24
- export { PlaceRouteGuard } from "./guards/place-route.guard";
24
+ export { Formatter } from "./route/formatter";
25
25
  export {} from "./route/json-types";
26
- export { RouteId, RouteParameter, RouteParameterList } from "./route/parameter-decorators";
26
+ export { RouteId, VisitParameter, VisitParameterList } from "./route/parameter-decorators";
27
27
  export { ParameterDefinition } from "./route/parameter-definition.class";
28
28
  export {} from "./route/parameter-sanitiser";
29
- export { ParameterSnapshot } from "./route/parameter-snapshot";
30
- export { ParameterType } from "./route/parameter-type";
31
- export { RouteParameterValue } from "./route/route-parameter-value";
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvcGxhY2UvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUlBLGVBQWMsWUFBWSxDQUFDO0FBQzNCLG1GQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGdDQUFjLG9CQUFvQixDQUFDO0FBQ25DLDZCQUFjLGlCQUFpQixDQUFDO0FBQ2hDLDRCQUFjLGdCQUFnQixDQUFDO0FBQy9CLHNCQUFjLG1CQUFtQixDQUFDO0FBQ2xDLDRCQUFjLGdCQUFnQixDQUFDO0FBQy9CLGVBQWMsU0FBUyxDQUFDO0FBQ3hCLGlEQUFjLGtEQUFrRCxDQUFDO0FBQ2pFLHFDQUFjLGtEQUFrRCxDQUFDO0FBQ2pFLG9DQUFjLGdEQUFnRCxDQUFDO0FBQy9ELHNDQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLHFDQUFjLGtEQUFrRCxDQUFDO0FBQ2pFLG9FQUFjLDRDQUE0QyxDQUFDO0FBQzNELCtDQUFjLHdFQUF3RSxDQUFDO0FBQ3ZGLGdDQUFjLDRCQUE0QixDQUFDO0FBQzNDLGdDQUFjLDRCQUE0QixDQUFDO0FBQzNDLGVBQWMsb0JBQW9CLENBQUM7QUFDbkMsNERBQWMsOEJBQThCLENBQUM7QUFDN0Msb0NBQWMsb0NBQW9DLENBQUM7QUFDbkQsZUFBYyw2QkFBNkIsQ0FBQztBQUM1QyxrQ0FBYyw0QkFBNEIsQ0FBQztBQUMzQyw4QkFBYyx3QkFBd0IsQ0FBQztBQUN2QyxvQ0FBYywrQkFBK0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGZpbGUgQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgYmFycmVsc2J5LlxuICovXG5cbmV4cG9ydCAqIGZyb20gXCIuL25hdi1pdGVtXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wbGFjZS1jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3BsYWNlLWRlZmluaXRpb25cIjtcbmV4cG9ydCAqIGZyb20gXCIuL3BsYWNlLWhpc3RvcnlcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3BsYWNlLXJvdXRlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcGxhY2UuZGVjb3JhdG9yXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wbGFjZS5tb2R1bGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3Zpc2l0XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL2Fic3RyYWN0LXBsYWNlLW5hdmlnYXRpb24uY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL2J1c3ktb3ZlcmxheS9idXN5LW92ZXJsYXkuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL2VtcHR5LXN0YXRlL2VtcHR5LXN0YXRlLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tcG9uZW50cy9saXN0LXBsYWNlLW5hdi9saXN0LXBsYWNlLW5hdi5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXBvbmVudHMvcGxhY2Utb3V0bGV0L3BsYWNlLW91dGxldC5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXBvbmVudHMvcGxhY2Utb3V0bGV0L3JvdXRlLWFuaW1hdGlvbnNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXBvbmVudHMvdGFiYmVkLXBsYWNlLW5hdmlnYXRpb24vdGFiYmVkLXBsYWNlLW5hdmlnYXRpb24uY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9ndWFyZHMvbGVhdmUtcGxhY2UuZ3VhcmRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2d1YXJkcy9wbGFjZS1yb3V0ZS5ndWFyZFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcm91dGUvanNvbi10eXBlc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vcm91dGUvcGFyYW1ldGVyLWRlY29yYXRvcnNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3JvdXRlL3BhcmFtZXRlci1kZWZpbml0aW9uLmNsYXNzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yb3V0ZS9wYXJhbWV0ZXItc2FuaXRpc2VyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yb3V0ZS9wYXJhbWV0ZXItc25hcHNob3RcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3JvdXRlL3BhcmFtZXRlci10eXBlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yb3V0ZS9yb3V0ZS1wYXJhbWV0ZXItdmFsdWVcIjtcbiJdfQ==
29
+ export {} from "./route/parameter-snapshot";
30
+ export { VisitSanitiser } from "./route/visit-sanitiser";
31
+ export { LeavePlaceGuard } from "./route/guards/leave-place.guard";
32
+ export { PlaceRouteGuard } from "./route/guards/place-route.guard";
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvcGxhY2UvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUlBLGVBQWMsWUFBWSxDQUFDO0FBQzNCLGtDQUFjLHNCQUFzQixDQUFDO0FBQ3JDLG1GQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGdDQUFjLG9CQUFvQixDQUFDO0FBQ25DLDZCQUFjLGlCQUFpQixDQUFDO0FBQ2hDLDRCQUFjLGdCQUFnQixDQUFDO0FBQy9CLHNCQUFjLG1CQUFtQixDQUFDO0FBQ2xDLDRCQUFjLGdCQUFnQixDQUFDO0FBQy9CLHNCQUFjLFNBQVMsQ0FBQztBQUN4QixpREFBYyxrREFBa0QsQ0FBQztBQUNqRSxxQ0FBYyxrREFBa0QsQ0FBQztBQUNqRSxvQ0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxzQ0FBYyxzREFBc0QsQ0FBQztBQUNyRSxxQ0FBYyxrREFBa0QsQ0FBQztBQUNqRSxvRUFBYyw0Q0FBNEMsQ0FBQztBQUMzRCwrQ0FBYyx3RUFBd0UsQ0FBQztBQUN2RiwwQkFBYyxtQkFBbUIsQ0FBQztBQUNsQyxlQUFjLG9CQUFvQixDQUFDO0FBQ25DLDREQUFjLDhCQUE4QixDQUFDO0FBQzdDLG9DQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGVBQWMsNkJBQTZCLENBQUM7QUFDNUMsZUFBYyw0QkFBNEIsQ0FBQztBQUMzQywrQkFBYyx5QkFBeUIsQ0FBQztBQUN4QyxnQ0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxnQ0FBYyxrQ0FBa0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGZpbGUgQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgYmFycmVsc2J5LlxuICovXG5cbmV4cG9ydCAqIGZyb20gXCIuL25hdi1pdGVtXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9uYXZpZ2F0aW9uLXNlc3Npb25cIjtcbmV4cG9ydCAqIGZyb20gXCIuL3BsYWNlLWNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcGxhY2UtZGVmaW5pdGlvblwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcGxhY2UtaGlzdG9yeVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcGxhY2Utcm91dGVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wbGFjZS5kZWNvcmF0b3JcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3BsYWNlLm1vZHVsZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdmlzaXRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXBvbmVudHMvYWJzdHJhY3QtcGxhY2UtbmF2aWdhdGlvbi5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXBvbmVudHMvYnVzeS1vdmVybGF5L2J1c3ktb3ZlcmxheS5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXBvbmVudHMvZW1wdHktc3RhdGUvZW1wdHktc3RhdGUuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL2xpc3QtcGxhY2UtbmF2L2xpc3QtcGxhY2UtbmF2LmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tcG9uZW50cy9wbGFjZS1vdXRsZXQvcGxhY2Utb3V0bGV0LmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tcG9uZW50cy9wbGFjZS1vdXRsZXQvcm91dGUtYW5pbWF0aW9uc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tcG9uZW50cy90YWJiZWQtcGxhY2UtbmF2aWdhdGlvbi90YWJiZWQtcGxhY2UtbmF2aWdhdGlvbi5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3JvdXRlL2Zvcm1hdHRlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcm91dGUvanNvbi10eXBlc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vcm91dGUvcGFyYW1ldGVyLWRlY29yYXRvcnNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3JvdXRlL3BhcmFtZXRlci1kZWZpbml0aW9uLmNsYXNzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yb3V0ZS9wYXJhbWV0ZXItc2FuaXRpc2VyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yb3V0ZS9wYXJhbWV0ZXItc25hcHNob3RcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3JvdXRlL3Zpc2l0LXNhbml0aXNlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcm91dGUvZ3VhcmRzL2xlYXZlLXBsYWNlLmd1YXJkXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yb3V0ZS9ndWFyZHMvcGxhY2Utcm91dGUuZ3VhcmRcIjtcbiJdfQ==
@@ -0,0 +1,147 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ /**
6
+ * @abstract
7
+ */
8
+ export class NavigationSession {
9
+ /**
10
+ * @protected
11
+ * @param {?} firstNavigation
12
+ */
13
+ constructor(firstNavigation) {
14
+ this.firstNavigation = firstNavigation;
15
+ this._alreadyAccepted = [];
16
+ this._visits = new Map();
17
+ }
18
+ /**
19
+ * @param {?} visit
20
+ * @return {?}
21
+ */
22
+ storeVisit(visit) {
23
+ this._visits.set(visit.placeDefinition, visit);
24
+ }
25
+ /**
26
+ * @param {?} placeDef
27
+ * @return {?}
28
+ */
29
+ getVisitFor(placeDef) {
30
+ return this._visits.get(placeDef);
31
+ }
32
+ /**
33
+ * @param {?} params
34
+ * @return {?}
35
+ */
36
+ mergePrivatePlaceParameters(params) {
37
+ return null;
38
+ }
39
+ // @Trace()
40
+ /**
41
+ * @param {?} placeComponent
42
+ * @return {?}
43
+ */
44
+ alreadyAccepted(placeComponent) {
45
+ return this._alreadyAccepted.includes(placeComponent);
46
+ }
47
+ // @Trace()
48
+ /**
49
+ * @param {?} component
50
+ * @return {?}
51
+ */
52
+ rememberAcceptanceOf(component) {
53
+ this._alreadyAccepted.push(component);
54
+ }
55
+ /**
56
+ * @param {?} url
57
+ * @return {?}
58
+ */
59
+ setPopstateReturn(url) {
60
+ this._popStateReturnUrl = url;
61
+ }
62
+ /**
63
+ * @return {?}
64
+ */
65
+ get isPopState() {
66
+ return !!this._popStateReturnUrl;
67
+ }
68
+ /**
69
+ * @return {?}
70
+ */
71
+ get popStateReturnUrl() {
72
+ return this._popStateReturnUrl;
73
+ }
74
+ /**
75
+ * @return {?}
76
+ */
77
+ getVisits() {
78
+ return Array.from(this._visits.values());
79
+ }
80
+ }
81
+ if (false) {
82
+ /**
83
+ * @type {?}
84
+ * @private
85
+ */
86
+ NavigationSession.prototype._alreadyAccepted;
87
+ /**
88
+ * @type {?}
89
+ * @private
90
+ */
91
+ NavigationSession.prototype._visits;
92
+ /**
93
+ * @type {?}
94
+ * @private
95
+ */
96
+ NavigationSession.prototype._popStateReturnUrl;
97
+ /** @type {?} */
98
+ NavigationSession.prototype.isExternal;
99
+ /** @type {?} */
100
+ NavigationSession.prototype.firstNavigation;
101
+ }
102
+ (function (NavigationSession) {
103
+ class External extends NavigationSession {
104
+ /**
105
+ * @param {?} isFirstTime
106
+ */
107
+ constructor(isFirstTime) {
108
+ super(isFirstTime);
109
+ this.isExternal = true;
110
+ }
111
+ }
112
+ if (false) {
113
+ /** @type {?} */
114
+ External.prototype.isExternal;
115
+ }
116
+ class Internal extends NavigationSession {
117
+ /**
118
+ * @param {?} visit
119
+ */
120
+ constructor(visit) {
121
+ super(false);
122
+ this.isExternal = false;
123
+ this.storeVisit(visit);
124
+ }
125
+ }
126
+ if (false) {
127
+ /** @type {?} */
128
+ Internal.prototype.isExternal;
129
+ }
130
+ /**
131
+ * @param {?} visit
132
+ * @return {?}
133
+ */
134
+ function createInternal(visit) {
135
+ return new Internal(visit);
136
+ }
137
+ NavigationSession.createInternal = createInternal;
138
+ /**
139
+ * @param {?} firstTimeRoute
140
+ * @return {?}
141
+ */
142
+ function createExternal(firstTimeRoute) {
143
+ return new External(firstTimeRoute);
144
+ }
145
+ NavigationSession.createExternal = createExternal;
146
+ })(NavigationSession || (NavigationSession = {}));
147
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1zZXNzaW9uLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvb2xvbi9hbmd1bGFyLXVpLXBvd2VydXBzLyIsInNvdXJjZXMiOlsibGliL3BsYWNlL25hdmlnYXRpb24tc2Vzc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBS0EsTUFBTSxPQUFnQixpQkFBaUI7Ozs7O0lBU3JDLFlBQStCLGVBQXdCO1FBQXhCLG9CQUFlLEdBQWYsZUFBZSxDQUFTO1FBUC9DLHFCQUFnQixHQUFxQixFQUFFLENBQUM7UUFFeEMsWUFBTyxHQUFHLElBQUksR0FBRyxFQUEwQixDQUFDO0lBTXBELENBQUM7Ozs7O0lBRUQsVUFBVSxDQUFDLEtBQVk7UUFDckIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLGVBQWUsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNqRCxDQUFDOzs7OztJQUVELFdBQVcsQ0FBQyxRQUF5QjtRQUNuQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7Ozs7O0lBRUQsMkJBQTJCLENBQUMsTUFBNEI7UUFDdEQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOzs7Ozs7SUFHRCxlQUFlLENBQUMsY0FBOEI7UUFDNUMsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3hELENBQUM7Ozs7OztJQUdELG9CQUFvQixDQUFDLFNBQXlCO1FBQzVDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDeEMsQ0FBQzs7Ozs7SUFFRCxpQkFBaUIsQ0FBQyxHQUFXO1FBQzNCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxHQUFHLENBQUM7SUFDaEMsQ0FBQzs7OztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztJQUNuQyxDQUFDOzs7O0lBRUQsSUFBSSxpQkFBaUI7UUFDbkIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUM7SUFDakMsQ0FBQzs7OztJQUVELFNBQVM7UUFDUCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQzNDLENBQUM7Q0FDRjs7Ozs7O0lBL0NDLDZDQUFnRDs7Ozs7SUFFaEQsb0NBQW9EOzs7OztJQUNwRCwrQ0FBbUM7O0lBRW5DLHVDQUFzQzs7SUFFaEIsNENBQWlDOztBQTBDekQsV0FBaUIsaUJBQWlCO0lBRWhDLE1BQU0sUUFBUyxTQUFRLGlCQUFpQjs7OztRQUd0QyxZQUFZLFdBQW9CO1lBQzlCLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUhaLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFJM0IsQ0FBQztLQUNGOzs7UUFMQyw4QkFBMkI7O0lBTzdCLE1BQU0sUUFBUyxTQUFRLGlCQUFpQjs7OztRQUd0QyxZQUFZLEtBQVk7WUFDdEIsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBSE4sZUFBVSxHQUFHLEtBQUssQ0FBQztZQUkxQixJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pCLENBQUM7S0FDRjs7O1FBTkMsOEJBQTRCOzs7Ozs7SUFROUIsU0FBZ0IsY0FBYyxDQUFDLEtBQVk7UUFDekMsT0FBTyxJQUFJLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRmUsZ0NBQWMsaUJBRTdCLENBQUE7Ozs7O0lBRUQsU0FBZ0IsY0FBYyxDQUFDLGNBQXVCO1FBQ3BELE9BQU8sSUFBSSxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUZlLGdDQUFjLGlCQUU3QixDQUFBO0FBR0gsQ0FBQyxFQTVCZ0IsaUJBQWlCLEtBQWpCLGlCQUFpQixRQTRCakMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcmFjZSB9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7IFBsYWNlQ29tcG9uZW50IH0gZnJvbSAnLi9wbGFjZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgUGxhY2VEZWZpbml0aW9uIH0gZnJvbSAnLi9wbGFjZS1kZWZpbml0aW9uJztcbmltcG9ydCB7IFZpc2l0IH0gZnJvbSAnLi92aXNpdCc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBOYXZpZ2F0aW9uU2Vzc2lvbiB7XG5cbiAgcHJpdmF0ZSBfYWxyZWFkeUFjY2VwdGVkOiBQbGFjZUNvbXBvbmVudFtdID0gW107XG5cbiAgcHJpdmF0ZSBfdmlzaXRzID0gbmV3IE1hcDxQbGFjZURlZmluaXRpb24sIFZpc2l0PigpO1xuICBwcml2YXRlIF9wb3BTdGF0ZVJldHVyblVybDogc3RyaW5nO1xuXG4gIGFic3RyYWN0IHJlYWRvbmx5IGlzRXh0ZXJuYWw6IGJvb2xlYW47XG5cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGZpcnN0TmF2aWdhdGlvbjogYm9vbGVhbikge1xuICB9XG5cbiAgc3RvcmVWaXNpdCh2aXNpdDogVmlzaXQpIHtcbiAgICB0aGlzLl92aXNpdHMuc2V0KHZpc2l0LnBsYWNlRGVmaW5pdGlvbiwgdmlzaXQpO1xuICB9XG5cbiAgZ2V0VmlzaXRGb3IocGxhY2VEZWY6IFBsYWNlRGVmaW5pdGlvbikge1xuICAgIHJldHVybiB0aGlzLl92aXNpdHMuZ2V0KHBsYWNlRGVmKTtcbiAgfVxuXG4gIG1lcmdlUHJpdmF0ZVBsYWNlUGFyYW1ldGVycyhwYXJhbXM6IHsgW3A6IHN0cmluZ106IGFueSB9KTogTmF2aWdhdGlvblNlc3Npb24ge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgYWxyZWFkeUFjY2VwdGVkKHBsYWNlQ29tcG9uZW50OiBQbGFjZUNvbXBvbmVudCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9hbHJlYWR5QWNjZXB0ZWQuaW5jbHVkZXMocGxhY2VDb21wb25lbnQpO1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgcmVtZW1iZXJBY2NlcHRhbmNlT2YoY29tcG9uZW50OiBQbGFjZUNvbXBvbmVudCkge1xuICAgIHRoaXMuX2FscmVhZHlBY2NlcHRlZC5wdXNoKGNvbXBvbmVudCk7XG4gIH1cblxuICBzZXRQb3BzdGF0ZVJldHVybih1cmw6IHN0cmluZykge1xuICAgIHRoaXMuX3BvcFN0YXRlUmV0dXJuVXJsID0gdXJsO1xuICB9XG5cbiAgZ2V0IGlzUG9wU3RhdGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5fcG9wU3RhdGVSZXR1cm5Vcmw7XG4gIH1cblxuICBnZXQgcG9wU3RhdGVSZXR1cm5VcmwoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3BvcFN0YXRlUmV0dXJuVXJsO1xuICB9XG5cbiAgZ2V0VmlzaXRzKCk6IFZpc2l0W10ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMuX3Zpc2l0cy52YWx1ZXMoKSk7XG4gIH1cbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBOYXZpZ2F0aW9uU2Vzc2lvbiB7XG5cbiAgY2xhc3MgRXh0ZXJuYWwgZXh0ZW5kcyBOYXZpZ2F0aW9uU2Vzc2lvbiB7XG4gICAgcmVhZG9ubHkgaXNFeHRlcm5hbCA9IHRydWU7XG5cbiAgICBjb25zdHJ1Y3Rvcihpc0ZpcnN0VGltZTogYm9vbGVhbikge1xuICAgICAgc3VwZXIoaXNGaXJzdFRpbWUpO1xuICAgIH1cbiAgfVxuXG4gIGNsYXNzIEludGVybmFsIGV4dGVuZHMgTmF2aWdhdGlvblNlc3Npb24ge1xuICAgIHJlYWRvbmx5IGlzRXh0ZXJuYWwgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKHZpc2l0OiBWaXNpdCkge1xuICAgICAgc3VwZXIoZmFsc2UpO1xuICAgICAgdGhpcy5zdG9yZVZpc2l0KHZpc2l0KTtcbiAgICB9XG4gIH1cblxuICBleHBvcnQgZnVuY3Rpb24gY3JlYXRlSW50ZXJuYWwodmlzaXQ6IFZpc2l0KTogTmF2aWdhdGlvblNlc3Npb24ge1xuICAgIHJldHVybiBuZXcgSW50ZXJuYWwodmlzaXQpO1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUV4dGVybmFsKGZpcnN0VGltZVJvdXRlOiBib29sZWFuKTogTmF2aWdhdGlvblNlc3Npb24ge1xuICAgIHJldHVybiBuZXcgRXh0ZXJuYWwoZmlyc3RUaW1lUm91dGUpO1xuICB9XG5cblxufVxuXG4iXX0=
@@ -20,13 +20,13 @@ export class PlaceComponent extends DisposableComponent {
20
20
  super();
21
21
  }
22
22
  /**
23
- * @param {?} resolvedParameters
23
+ * @param {?} visit
24
24
  * @return {?}
25
25
  */
26
- initialiseBindings(resolvedParameters) {
27
- assert.isNil(this.resolvedParameters);
28
- this.resolvedParameters = resolvedParameters;
29
- this.placeDefinition.getRouteParameters().forEach((/**
26
+ initialiseBindings(visit) {
27
+ assert.isNil(this.visit);
28
+ this.visit = visit;
29
+ this.placeDefinition.getVisitParameterDefs().forEach((/**
30
30
  * @param {?} parameterDef
31
31
  * @return {?}
32
32
  */
@@ -44,21 +44,25 @@ export class PlaceComponent extends DisposableComponent {
44
44
  /** @type {?} */
45
45
  const model = (/** @type {?} */ (this[parameterDef.propertyName]));
46
46
  // this.txo.observe(parameterDef.propertyName, model);
47
- this.registerDisposable(new Binding(this.resolvedParameters, model, {
47
+ this.registerDisposable(new Binding(this.visit, model, {
48
48
  /**
49
- * @param {?} parameters
49
+ * @param {?} visit
50
50
  * @return {?}
51
51
  */
52
- toRight(parameters) {
53
- return parameters.getValueOf(parameterDef);
52
+ toRight(visit) {
53
+ /** @type {?} */
54
+ const value = visit.getParameter(parameterDef.name);
55
+ // console.log('push to component', {name:parameterDef.name, value, visit});
56
+ return value;
54
57
  },
55
58
  /**
56
59
  * @param {?} value
57
- * @param {?=} currentParameters
60
+ * @param {?=} currentVisit
58
61
  * @return {?}
59
62
  */
60
- toLeft(value, currentParameters) {
61
- return currentParameters.replace(parameterDef, value);
63
+ toLeft(value, currentVisit) {
64
+ console.log('push to route', { name: parameterDef.name, value, currentVisit });
65
+ return currentVisit.replace(parameterDef, value);
62
66
  }
63
67
  }));
64
68
  }
@@ -100,7 +104,7 @@ if (false) {
100
104
  * @type {?}
101
105
  * @private
102
106
  */
103
- PlaceComponent.prototype.resolvedParameters;
107
+ PlaceComponent.prototype.visit;
104
108
  }
105
109
  (function (PlaceComponent) {
106
110
  /**
@@ -137,4 +141,4 @@ if (false) {
137
141
  }
138
142
  PlaceComponent.injectDefinition = injectDefinition;
139
143
  })(PlaceComponent || (PlaceComponent = {}));
140
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2UtY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvb2xvbi9hbmd1bGFyLXVpLXBvd2VydXBzLyIsInNvdXJjZXMiOlsibGliL3BsYWNlL3BsYWNlLWNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFtQyxJQUFJLEVBQWMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDckQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2xFLE9BQU8sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7QUFLckQsTUFBTSxPQUFPLHdCQUF3QixHQUFHLDBCQUEwQjs7O0FBRWxFLE1BQU0sT0FBTyx3QkFBd0IsR0FBRyxNQUFNLENBQUMsd0JBQXdCLENBQUM7QUFFeEUsTUFBTSxPQUFPLGNBQWUsU0FBUSxtQkFBbUI7SUFJckQ7UUFDRSxLQUFLLEVBQUUsQ0FBQztJQUNWLENBQUM7Ozs7O0lBRU0sa0JBQWtCLENBQUMsa0JBQWlEO1FBQ3pFLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLGtCQUFrQixDQUFDO1FBQzdDLElBQUksQ0FBQyxlQUFlLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxPQUFPOzs7O1FBQUMsWUFBWSxDQUFDLEVBQUU7WUFDL0QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNwQyxDQUFDLEVBQUMsQ0FBQztJQUNMLENBQUM7Ozs7Ozs7SUFFTyxjQUFjLENBQU8sWUFBdUM7O2NBQzVELEtBQUssR0FBRyxtQkFBQSxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxFQUF1QjtRQUNwRSxzREFBc0Q7UUFDdEQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxLQUFLLEVBQUU7Ozs7O1lBQ2xFLE9BQU8sQ0FBQyxVQUE2QjtnQkFDbkMsT0FBTyxVQUFVLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQzdDLENBQUM7Ozs7OztZQUNELE1BQU0sQ0FBQyxLQUFRLEVBQUUsaUJBQXFDO2dCQUNwRCxPQUFPLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDeEQsQ0FBQztTQUNGLENBQUMsQ0FBQyxDQUFDO0lBQ04sQ0FBQzs7OztJQUdELElBQUksZUFBZTtRQUNqQixPQUFPLGNBQWMsQ0FBQyxhQUFhLENBQUMsbUJBQUEsbUJBQUEsSUFBSSxDQUFDLFdBQVcsRUFBTyxFQUFpQyxDQUFDLENBQUM7SUFDaEcsQ0FBQzs7OztJQUVELElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsR0FBRzs7OztRQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBQyxDQUFDO0lBQzdELENBQUM7Ozs7SUFFRCxhQUFhO1FBQ1gsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOzs7O0lBRUQsWUFBWTtJQUNaLENBQUM7Q0FFRjtBQWZDO0lBREMsT0FBTyxFQUFFO3NDQUNhLGVBQWU7O3FEQUVyQzs7Ozs7O0lBOUJELDRDQUEwRDs7QUE2QzVELFdBQWlCLGNBQWM7Ozs7O0lBRTdCLFNBQWdCLDJCQUEyQixDQUFDLE1BQVc7UUFDckQsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsbUJBQUEsTUFBTSxFQUFzQixDQUFDLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3RGLENBQUM7SUFGZSwwQ0FBMkIsOEJBRTFDLENBQUE7Ozs7O0lBRUQsU0FBZ0Isa0JBQWtCLENBQUMsS0FBb0M7UUFDckUsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLGVBQWUsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFGZSxpQ0FBa0IscUJBRWpDLENBQUE7Ozs7O0lBRUQsU0FBZ0IsYUFBYSxDQUFDLEtBQW9DO1FBQ2hFLE9BQU8sT0FBTyxDQUFDLFdBQVcsQ0FBQyx3QkFBd0IsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRmUsNEJBQWEsZ0JBRTVCLENBQUE7Ozs7OztJQUVELFNBQWdCLGdCQUFnQixDQUFDLEtBQW9DLEVBQUUsVUFBMkI7UUFDaEcsT0FBTyxDQUFDLGNBQWMsQ0FBQyx3QkFBd0IsRUFBRSxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUZlLCtCQUFnQixtQkFFL0IsQ0FBQTtBQUVILENBQUMsRUFsQmdCLGNBQWMsS0FBZCxjQUFjLFFBa0I5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFzc2VydCwgQmluZGluZywgQ29uc3RydWN0YWJsZSwgSU11dGFibGVIYXNWYWx1ZSwgbGFuZywgVmFsdWVNb2RlbCB9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7IEtsYXNzIH0gZnJvbSAnQGNvb2xvbi90eXBlc2NyaXB0LXV0aWxpdGllcyc7XG5pbXBvcnQgeyBNZW1vaXplIH0gZnJvbSAnQHR5cGVzY3JpcHQtcGx1cy9mYXN0LW1lbW9pemUtZGVjb3JhdG9yJztcbmltcG9ydCAncmVmbGVjdC1tZXRhZGF0YSc7XG5pbXBvcnQgeyBEaXNwb3NhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9kaXNwb3NhYmxlLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBQbGFjZURlZmluaXRpb24gfSBmcm9tICcuL3BsYWNlLWRlZmluaXRpb24nO1xuaW1wb3J0IHsgUGFyYW1ldGVyRGVmaW5pdGlvbiB9IGZyb20gJy4vcm91dGUvcGFyYW1ldGVyLWRlZmluaXRpb24uY2xhc3MnO1xuaW1wb3J0IHsgUGFyYW1ldGVyU25hcHNob3QgfSBmcm9tICcuL3JvdXRlL3BhcmFtZXRlci1zbmFwc2hvdCc7XG5cbi8vIFJBS0U6IG1ha2luZyB0aGlzIFN5bWJvbCguLi4pIGJyb2tlIHRoaW5ncy5cbmV4cG9ydCBjb25zdCBERUZJTklUSU9OX01FVEFfREFUQV9LRVkgPSAnUExBQ0VfREVGSU5JVElPTl9PUFRJT05TJztcbi8vIHRoaXMgb25lIHNlZW1zIG9rLlxuZXhwb3J0IGNvbnN0IFJPVVRFX1BBUkFNRVRFUl9MSVNUX0tFWSA9IFN5bWJvbCgncGxhY2U6cm91dGU6cGFyYW1ldGVycycpO1xuXG5leHBvcnQgY2xhc3MgUGxhY2VDb21wb25lbnQgZXh0ZW5kcyBEaXNwb3NhYmxlQ29tcG9uZW50IHtcblxuICBwcml2YXRlIHJlc29sdmVkUGFyYW1ldGVyczogVmFsdWVNb2RlbDxQYXJhbWV0ZXJTbmFwc2hvdD47XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBpbml0aWFsaXNlQmluZGluZ3MocmVzb2x2ZWRQYXJhbWV0ZXJzOiBWYWx1ZU1vZGVsPFBhcmFtZXRlclNuYXBzaG90Pikge1xuICAgIGFzc2VydC5pc05pbCh0aGlzLnJlc29sdmVkUGFyYW1ldGVycyk7XG4gICAgdGhpcy5yZXNvbHZlZFBhcmFtZXRlcnMgPSByZXNvbHZlZFBhcmFtZXRlcnM7XG4gICAgdGhpcy5wbGFjZURlZmluaXRpb24uZ2V0Um91dGVQYXJhbWV0ZXJzKCkuZm9yRWFjaChwYXJhbWV0ZXJEZWYgPT4ge1xuICAgICAgdGhpcy5pbnN0YWxsQmluZGluZyhwYXJhbWV0ZXJEZWYpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBpbnN0YWxsQmluZGluZzxULCBTPihwYXJhbWV0ZXJEZWY6IFBhcmFtZXRlckRlZmluaXRpb248VCwgUz4pIHtcbiAgICBjb25zdCBtb2RlbCA9IHRoaXNbcGFyYW1ldGVyRGVmLnByb3BlcnR5TmFtZV0gYXMgSU11dGFibGVIYXNWYWx1ZTxTPjtcbiAgICAvLyB0aGlzLnR4by5vYnNlcnZlKHBhcmFtZXRlckRlZi5wcm9wZXJ0eU5hbWUsIG1vZGVsKTtcbiAgICB0aGlzLnJlZ2lzdGVyRGlzcG9zYWJsZShuZXcgQmluZGluZyh0aGlzLnJlc29sdmVkUGFyYW1ldGVycywgbW9kZWwsIHtcbiAgICAgIHRvUmlnaHQocGFyYW1ldGVyczogUGFyYW1ldGVyU25hcHNob3QpOiBTIHtcbiAgICAgICAgcmV0dXJuIHBhcmFtZXRlcnMuZ2V0VmFsdWVPZihwYXJhbWV0ZXJEZWYpO1xuICAgICAgfSxcbiAgICAgIHRvTGVmdCh2YWx1ZTogUywgY3VycmVudFBhcmFtZXRlcnM/OiBQYXJhbWV0ZXJTbmFwc2hvdCk6IFBhcmFtZXRlclNuYXBzaG90IHtcbiAgICAgICAgcmV0dXJuIGN1cnJlbnRQYXJhbWV0ZXJzLnJlcGxhY2UocGFyYW1ldGVyRGVmLCB2YWx1ZSk7XG4gICAgICB9XG4gICAgfSkpO1xuICB9XG5cbiAgQE1lbW9pemUoKVxuICBnZXQgcGxhY2VEZWZpbml0aW9uKCk6IFBsYWNlRGVmaW5pdGlvbiB7XG4gICAgcmV0dXJuIFBsYWNlQ29tcG9uZW50LmdldERlZmluaXRpb24odGhpcy5jb25zdHJ1Y3RvciBhcyBhbnkgYXMgQ29uc3RydWN0YWJsZTxQbGFjZUNvbXBvbmVudD4pO1xuICB9XG5cbiAgZ2V0IGNoaWxkUGxhY2VzKCk6IENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+W10ge1xuICAgIHJldHVybiB0aGlzLnBsYWNlRGVmaW5pdGlvbi5jaGlsZHJlbi5tYXAoZCA9PiBkLmNvbXBvbmVudCk7XG4gIH1cblxuICBjYW5EZWFjdGl2YXRlKCk6IGJvb2xlYW4gfCBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIG9uUGxhY2VSZWFkeSgpIHtcbiAgfVxuXG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgUGxhY2VDb21wb25lbnQge1xuXG4gIGV4cG9ydCBmdW5jdGlvbiBpc1BsYWNlQ29tcG9uZW50Q29uc3RydWN0b3IodGFyZ2V0OiBhbnkpOiB0YXJnZXQgaXMgQ29uc3RydWN0YWJsZTxQbGFjZUNvbXBvbmVudD4ge1xuICAgIHJldHVybiBsYW5nLmNvbnN0cnVjdG9yQ2hhaW4odGFyZ2V0IGFzIENvbnN0cnVjdGFibGU8YW55PikuaW5jbHVkZXMoUGxhY2VDb21wb25lbnQpO1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGdldFJvdXRlUGFyYW1ldGVycyhrbGFzczogQ29uc3RydWN0YWJsZTxQbGFjZUNvbXBvbmVudD4pOiBQYXJhbWV0ZXJEZWZpbml0aW9uPGFueT5bXSB7XG4gICAgcmV0dXJuIEtsYXNzLmdldChrbGFzcykuZ2V0TWV0YWRhdGFMaXN0KFJPVVRFX1BBUkFNRVRFUl9MSVNUX0tFWSk7XG4gIH1cblxuICBleHBvcnQgZnVuY3Rpb24gZ2V0RGVmaW5pdGlvbihrbGFzczogQ29uc3RydWN0YWJsZTxQbGFjZUNvbXBvbmVudD4pOiBQbGFjZURlZmluaXRpb24ge1xuICAgIHJldHVybiBSZWZsZWN0LmdldE1ldGFkYXRhKERFRklOSVRJT05fTUVUQV9EQVRBX0tFWSwga2xhc3MpO1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGluamVjdERlZmluaXRpb24oa2xhc3M6IENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+LCBkZWZpbml0aW9uOiBQbGFjZURlZmluaXRpb24pIHtcbiAgICBSZWZsZWN0LmRlZmluZU1ldGFkYXRhKERFRklOSVRJT05fTUVUQV9EQVRBX0tFWSwgZGVmaW5pdGlvbiwga2xhc3MpO1xuICB9XG5cbn1cbiJdfQ==
144
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2UtY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvb2xvbi9hbmd1bGFyLXVpLXBvd2VydXBzLyIsInNvdXJjZXMiOlsibGliL3BsYWNlL3BsYWNlLWNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFtQyxJQUFJLEVBQWMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDckQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2xFLE9BQU8sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7QUFLckQsTUFBTSxPQUFPLHdCQUF3QixHQUFHLDBCQUEwQjs7O0FBRWxFLE1BQU0sT0FBTyx3QkFBd0IsR0FBRyxNQUFNLENBQUMsd0JBQXdCLENBQUM7QUFFeEUsTUFBTSxPQUFPLGNBQWUsU0FBUSxtQkFBbUI7SUFJckQ7UUFDRSxLQUFLLEVBQUUsQ0FBQztJQUNWLENBQUM7Ozs7O0lBRU0sa0JBQWtCLENBQUMsS0FBd0I7UUFDaEQsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLE9BQU87Ozs7UUFBQyxZQUFZLENBQUMsRUFBRTtZQUNsRSxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3BDLENBQUMsRUFBQyxDQUFDO0lBQ0wsQ0FBQzs7Ozs7OztJQUVPLGNBQWMsQ0FBTyxZQUF1Qzs7Y0FDNUQsS0FBSyxHQUFHLG1CQUFBLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLEVBQXVCO1FBQ3BFLHNEQUFzRDtRQUN0RCxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUU7Ozs7O1lBQ3JELE9BQU8sQ0FBQyxLQUFZOztzQkFDWixLQUFLLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDO2dCQUNuRCw0RUFBNEU7Z0JBQzVFLE9BQU8sS0FBSyxDQUFDO1lBQ2YsQ0FBQzs7Ozs7O1lBQ0QsTUFBTSxDQUFDLEtBQVEsRUFBRSxZQUFvQjtnQkFDbkMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQUUsRUFBQyxJQUFJLEVBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFDLENBQUMsQ0FBQztnQkFDNUUsT0FBTyxZQUFZLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNuRCxDQUFDO1NBQ0YsQ0FBQyxDQUFDLENBQUM7SUFDTixDQUFDOzs7O0lBR0QsSUFBSSxlQUFlO1FBQ2pCLE9BQU8sY0FBYyxDQUFDLGFBQWEsQ0FBQyxtQkFBQSxtQkFBQSxJQUFJLENBQUMsV0FBVyxFQUFPLEVBQWlDLENBQUMsQ0FBQztJQUNoRyxDQUFDOzs7O0lBRUQsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxHQUFHOzs7O1FBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFDLENBQUM7SUFDN0QsQ0FBQzs7OztJQUVELGFBQWE7UUFDWCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Ozs7SUFFRCxZQUFZO0lBQ1osQ0FBQztDQUVGO0FBZkM7SUFEQyxPQUFPLEVBQUU7c0NBQ2EsZUFBZTs7cURBRXJDOzs7Ozs7SUFqQ0QsK0JBQWlDOztBQWdEbkMsV0FBaUIsY0FBYzs7Ozs7SUFFN0IsU0FBZ0IsMkJBQTJCLENBQUMsTUFBVztRQUNyRCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxtQkFBQSxNQUFNLEVBQXNCLENBQUMsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDdEYsQ0FBQztJQUZlLDBDQUEyQiw4QkFFMUMsQ0FBQTs7Ozs7SUFFRCxTQUFnQixrQkFBa0IsQ0FBQyxLQUFvQztRQUNyRSxPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsZUFBZSxDQUFDLHdCQUF3QixDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUZlLGlDQUFrQixxQkFFakMsQ0FBQTs7Ozs7SUFFRCxTQUFnQixhQUFhLENBQUMsS0FBb0M7UUFDaEUsT0FBTyxPQUFPLENBQUMsV0FBVyxDQUFDLHdCQUF3QixFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFGZSw0QkFBYSxnQkFFNUIsQ0FBQTs7Ozs7O0lBRUQsU0FBZ0IsZ0JBQWdCLENBQUMsS0FBb0MsRUFBRSxVQUEyQjtRQUNoRyxPQUFPLENBQUMsY0FBYyxDQUFDLHdCQUF3QixFQUFFLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRmUsK0JBQWdCLG1CQUUvQixDQUFBO0FBRUgsQ0FBQyxFQWxCZ0IsY0FBYyxLQUFkLGNBQWMsUUFrQjlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXNzZXJ0LCBCaW5kaW5nLCBDb25zdHJ1Y3RhYmxlLCBJTXV0YWJsZUhhc1ZhbHVlLCBsYW5nLCBWYWx1ZU1vZGVsIH0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHsgS2xhc3MgfSBmcm9tICdAY29vbG9uL3R5cGVzY3JpcHQtdXRpbGl0aWVzJztcbmltcG9ydCB7IE1lbW9pemUgfSBmcm9tICdAdHlwZXNjcmlwdC1wbHVzL2Zhc3QtbWVtb2l6ZS1kZWNvcmF0b3InO1xuaW1wb3J0ICdyZWZsZWN0LW1ldGFkYXRhJztcbmltcG9ydCB7IERpc3Bvc2FibGVDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2Rpc3Bvc2FibGUtY29tcG9uZW50JztcbmltcG9ydCB7IFBsYWNlRGVmaW5pdGlvbiB9IGZyb20gJy4vcGxhY2UtZGVmaW5pdGlvbic7XG5pbXBvcnQgeyBQYXJhbWV0ZXJEZWZpbml0aW9uIH0gZnJvbSAnLi9yb3V0ZS9wYXJhbWV0ZXItZGVmaW5pdGlvbi5jbGFzcyc7XG5pbXBvcnQgeyBWaXNpdCB9IGZyb20gJy4vdmlzaXQnO1xuXG4vLyBSQUtFOiBtYWtpbmcgdGhpcyBTeW1ib2woLi4uKSBicm9rZSB0aGluZ3MuXG5leHBvcnQgY29uc3QgREVGSU5JVElPTl9NRVRBX0RBVEFfS0VZID0gJ1BMQUNFX0RFRklOSVRJT05fT1BUSU9OUyc7XG4vLyB0aGlzIG9uZSBzZWVtcyBvay5cbmV4cG9ydCBjb25zdCBST1VURV9QQVJBTUVURVJfTElTVF9LRVkgPSBTeW1ib2woJ3BsYWNlOnJvdXRlOnBhcmFtZXRlcnMnKTtcblxuZXhwb3J0IGNsYXNzIFBsYWNlQ29tcG9uZW50IGV4dGVuZHMgRGlzcG9zYWJsZUNvbXBvbmVudCB7XG5cbiAgcHJpdmF0ZSB2aXNpdDogVmFsdWVNb2RlbDxWaXNpdD47XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBpbml0aWFsaXNlQmluZGluZ3ModmlzaXQ6IFZhbHVlTW9kZWw8VmlzaXQ+KSB7XG4gICAgYXNzZXJ0LmlzTmlsKHRoaXMudmlzaXQpO1xuICAgIHRoaXMudmlzaXQgPSB2aXNpdDtcbiAgICB0aGlzLnBsYWNlRGVmaW5pdGlvbi5nZXRWaXNpdFBhcmFtZXRlckRlZnMoKS5mb3JFYWNoKHBhcmFtZXRlckRlZiA9PiB7XG4gICAgICB0aGlzLmluc3RhbGxCaW5kaW5nKHBhcmFtZXRlckRlZik7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGluc3RhbGxCaW5kaW5nPFQsIFM+KHBhcmFtZXRlckRlZjogUGFyYW1ldGVyRGVmaW5pdGlvbjxULCBTPikge1xuICAgIGNvbnN0IG1vZGVsID0gdGhpc1twYXJhbWV0ZXJEZWYucHJvcGVydHlOYW1lXSBhcyBJTXV0YWJsZUhhc1ZhbHVlPFM+O1xuICAgIC8vIHRoaXMudHhvLm9ic2VydmUocGFyYW1ldGVyRGVmLnByb3BlcnR5TmFtZSwgbW9kZWwpO1xuICAgIHRoaXMucmVnaXN0ZXJEaXNwb3NhYmxlKG5ldyBCaW5kaW5nKHRoaXMudmlzaXQsIG1vZGVsLCB7XG4gICAgICB0b1JpZ2h0KHZpc2l0OiBWaXNpdCk6IFMge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHZpc2l0LmdldFBhcmFtZXRlcihwYXJhbWV0ZXJEZWYubmFtZSk7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKCdwdXNoIHRvIGNvbXBvbmVudCcsIHtuYW1lOnBhcmFtZXRlckRlZi5uYW1lLCB2YWx1ZSwgdmlzaXR9KTtcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgfSxcbiAgICAgIHRvTGVmdCh2YWx1ZTogUywgY3VycmVudFZpc2l0PzogVmlzaXQpOiBWaXNpdCB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdwdXNoIHRvIHJvdXRlJywge25hbWU6cGFyYW1ldGVyRGVmLm5hbWUsIHZhbHVlLCBjdXJyZW50VmlzaXR9KTtcbiAgICAgICAgcmV0dXJuIGN1cnJlbnRWaXNpdC5yZXBsYWNlKHBhcmFtZXRlckRlZiwgdmFsdWUpO1xuICAgICAgfVxuICAgIH0pKTtcbiAgfVxuXG4gIEBNZW1vaXplKClcbiAgZ2V0IHBsYWNlRGVmaW5pdGlvbigpOiBQbGFjZURlZmluaXRpb24ge1xuICAgIHJldHVybiBQbGFjZUNvbXBvbmVudC5nZXREZWZpbml0aW9uKHRoaXMuY29uc3RydWN0b3IgYXMgYW55IGFzIENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+KTtcbiAgfVxuXG4gIGdldCBjaGlsZFBsYWNlcygpOiBDb25zdHJ1Y3RhYmxlPFBsYWNlQ29tcG9uZW50PltdIHtcbiAgICByZXR1cm4gdGhpcy5wbGFjZURlZmluaXRpb24uY2hpbGRyZW4ubWFwKGQgPT4gZC5jb21wb25lbnQpO1xuICB9XG5cbiAgY2FuRGVhY3RpdmF0ZSgpOiBib29sZWFuIHwgUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBvblBsYWNlUmVhZHkoKSB7XG4gIH1cblxufVxuXG5leHBvcnQgbmFtZXNwYWNlIFBsYWNlQ29tcG9uZW50IHtcblxuICBleHBvcnQgZnVuY3Rpb24gaXNQbGFjZUNvbXBvbmVudENvbnN0cnVjdG9yKHRhcmdldDogYW55KTogdGFyZ2V0IGlzIENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+IHtcbiAgICByZXR1cm4gbGFuZy5jb25zdHJ1Y3RvckNoYWluKHRhcmdldCBhcyBDb25zdHJ1Y3RhYmxlPGFueT4pLmluY2x1ZGVzKFBsYWNlQ29tcG9uZW50KTtcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBnZXRSb3V0ZVBhcmFtZXRlcnMoa2xhc3M6IENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+KTogUGFyYW1ldGVyRGVmaW5pdGlvbjxhbnk+W10ge1xuICAgIHJldHVybiBLbGFzcy5nZXQoa2xhc3MpLmdldE1ldGFkYXRhTGlzdChST1VURV9QQVJBTUVURVJfTElTVF9LRVkpO1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGdldERlZmluaXRpb24oa2xhc3M6IENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+KTogUGxhY2VEZWZpbml0aW9uIHtcbiAgICByZXR1cm4gUmVmbGVjdC5nZXRNZXRhZGF0YShERUZJTklUSU9OX01FVEFfREFUQV9LRVksIGtsYXNzKTtcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBpbmplY3REZWZpbml0aW9uKGtsYXNzOiBDb25zdHJ1Y3RhYmxlPFBsYWNlQ29tcG9uZW50PiwgZGVmaW5pdGlvbjogUGxhY2VEZWZpbml0aW9uKSB7XG4gICAgUmVmbGVjdC5kZWZpbmVNZXRhZGF0YShERUZJTklUSU9OX01FVEFfREFUQV9LRVksIGRlZmluaXRpb24sIGtsYXNzKTtcbiAgfVxuXG59XG4iXX0=