@coolon/angular-ui-powerups 13.0.2 → 13.0.4
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.
- package/esm2020/lib/components/forms/abstract-list-input.component.mjs +8 -8
- package/esm2020/lib/components/forms/abstract-value-input.component.mjs +2 -2
- package/esm2020/lib/interaction/activity-ref.mjs +9 -2
- package/esm2020/lib/interaction/components/activity-container/activity-container.component.mjs +50 -29
- package/esm2020/lib/interaction/services/interaction.service.mjs +16 -7
- package/esm2020/lib/place/components/abstract-place-navigation.component.mjs +3 -3
- package/esm2020/lib/place/components/place-outlet/place-outlet.component.mjs +3 -3
- package/esm2020/lib/place/navigation/session/interactions/remove-last-interaction-from-url-navigation-session.mjs +4 -1
- package/esm2020/lib/place/navigation/session/interactions/synchronise-interaction-context-ids-with-route.mjs +4 -1
- package/esm2020/lib/place/navigation/session/navigation-session.mjs +10 -7
- package/esm2020/lib/place/place-router.mjs +83 -56
- package/fesm2015/coolon-angular-ui-powerups.mjs +3204 -3133
- package/fesm2015/coolon-angular-ui-powerups.mjs.map +1 -1
- package/fesm2020/coolon-angular-ui-powerups.mjs +3385 -3318
- package/fesm2020/coolon-angular-ui-powerups.mjs.map +1 -1
- package/lib/components/forms/abstract-list-input.component.d.ts +4 -4
- package/lib/components/forms/abstract-value-input.component.d.ts +2 -2
- package/lib/interaction/components/activity-container/activity-container.component.d.ts +11 -9
- package/lib/interaction/services/interaction.service.d.ts +2 -2
- package/lib/place/navigation/session/interactions/remove-last-interaction-from-url-navigation-session.d.ts +1 -0
- package/lib/place/navigation/session/interactions/synchronise-interaction-context-ids-with-route.d.ts +1 -0
- package/lib/place/navigation/session/navigation-session.d.ts +11 -10
- package/lib/place/place-router.d.ts +20 -18
- package/package.json +1 -1
- package/schematics/bootstrap-app/templates/src/app/app.component.ts.template +1 -2
- package/schematics/bootstrap-app/templates/src/styles.scss.template +59 -7
|
@@ -22,9 +22,9 @@ export class AbstractPlaceNavigationComponent extends DisposableComponent {
|
|
|
22
22
|
.map(c => PlaceComponent.getDefinition(c))
|
|
23
23
|
.select(d => {
|
|
24
24
|
const guard = placeRouter.accessGuard.value;
|
|
25
|
-
const state = placeRouter.state
|
|
25
|
+
const state = placeRouter.state$.value;
|
|
26
26
|
return guard.isAuthorised(d) || state.isPlaceActive(d);
|
|
27
|
-
}, { dependsOn: [placeRouter.accessGuard, placeRouter.state] });
|
|
27
|
+
}, { dependsOn: [placeRouter.accessGuard, placeRouter.state$] });
|
|
28
28
|
this.commandFactory = Command.createFactory((placeDefinition) => {
|
|
29
29
|
this.placeOutlet.navigate(new Visit(placeDefinition));
|
|
30
30
|
});
|
|
@@ -96,4 +96,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImpor
|
|
|
96
96
|
}], placeOutletModel: [{
|
|
97
97
|
type: Input
|
|
98
98
|
}], getNavigationFace: [] } });
|
|
99
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtcGxhY2UtbmF2aWdhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9wbGFjZS9jb21wb25lbnRzL2Fic3RyYWN0LXBsYWNlLW5hdmlnYXRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBMEIsTUFBTSxlQUFlLENBQUM7QUFDeEUsT0FBTyxFQUNMLE9BQU8sRUFFUCxvQkFBb0IsRUFDcEIsR0FBRyxFQUNILFNBQVMsRUFFVCxnQkFBZ0IsRUFDaEIsaUJBQWlCLEVBQ2pCLGFBQWEsRUFFYixVQUFVLEVBRVgsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDbEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRzVFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDakMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7OztBQVU3RSxNQUFNLE9BQU8sZ0NBQWlDLFNBQVEsbUJBQW1CO0lBdUJ2RSxZQUFxQixXQUF3QjtRQUMzQyxLQUFLLEVBQUUsQ0FBQztRQURXLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBTHBDLDBCQUFxQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLG9CQUFvQixF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QUFPLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQztZQUN6RyxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDO1NBQzlGLENBQUM7SUFDSixDQUFDO0lBRUQsUUFBUTtJQUNSLENBQUM7OzZIQXpFVSxnQ0FBZ0M7aUhBQWhDLGdDQUFnQyx1TUFGakMsRUFBRTtBQUtaO0lBRFUsZ0JBQWdCLENBQUMsYUFBYSxDQUFDOztnRUFDRDtBQUd4QztJQURVLGFBQWEsRUFBRTs4QkFDWixTQUFTO3FFQUFnQztBQUd0RDtJQURVLGlCQUFpQixDQUFDLGtCQUFrQixDQUFDOzhCQUNsQyxvQkFBb0I7cUVBQUM7QUFHbEM7SUFEVSxhQUFhLEVBQUU7OEJBQ1AsVUFBVTswRUFBdUI7QUFtRG5EO0lBREMsT0FBTyxFQUFFOztxQ0FDa0IsZUFBZTs7eUVBTzFDOzJGQXRFVSxnQ0FBZ0M7a0JBSDVDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLEVBQUU7aUJBQ2I7a0dBSUMsTUFBTTtzQkFETCxLQUFLO2dCQUlOLFdBQVc7c0JBRFYsS0FBSztnQkFJTixXQUFXO3NCQURWLEtBQUs7Z0JBSU4sZ0JBQWdCO3NCQURmLEtBQUs7Z0JBb0ROLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBUcmFja0J5RnVuY3Rpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQ29tbWFuZCxcbiAgQ29uc3RydWN0YWJsZSxcbiAgRGVsZWdhdGluZ1ZhbHVlTW9kZWwsXG4gIERzbCxcbiAgTGlzdE1vZGVsLFxuICBMaXN0TW9kZWxDaGFpbixcbiAgU3RvcmVJbkxpc3RNb2RlbCxcbiAgU3RvcmVJblZhbHVlTW9kZWwsXG4gIFRyYWNrRXh0ZXJuYWwsXG4gIFRyYW5zYWN0aW9uT2JzZXJ2ZXIsXG4gIFZhbHVlTW9kZWwsXG4gIFZhbHVlTW9kZWxDaGFpblxufSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQgeyBNZW1vaXplIH0gZnJvbSAnQHR5cGVzY3JpcHQtcGx1cy9mYXN0LW1lbW9pemUtZGVjb3JhdG9yJztcbmltcG9ydCB7IENvbW1hbmRGYWNlIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9jb21tYW5kcy9jb21tYW5kLWZhY2UnO1xuaW1wb3J0IHsgRGlzcG9zYWJsZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvZGlzcG9zYWJsZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgVHJhY2tCeSB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvdHJhY2stYnknO1xuaW1wb3J0IHsgTmF2SXRlbSB9IGZyb20gJy4uL25hdi1pdGVtJztcbmltcG9ydCB7IFBsYWNlQ29tcG9uZW50IH0gZnJvbSAnLi4vcGxhY2UtY29tcG9uZW50JztcbmltcG9ydCB7IFBsYWNlRGVmaW5pdGlvbiB9IGZyb20gJy4uL3BsYWNlLWRlZmluaXRpb24nO1xuaW1wb3J0IHsgUGxhY2VSb3V0ZXIgfSBmcm9tICcuLi9wbGFjZS1yb3V0ZXInO1xuaW1wb3J0IHsgVmlzaXQgfSBmcm9tICcuLi92aXNpdCc7XG5pbXBvcnQgeyBQbGFjZU91dGxldENvbXBvbmVudCB9IGZyb20gJy4vcGxhY2Utb3V0bGV0L3BsYWNlLW91dGxldC5jb21wb25lbnQnO1xuXG5pbnRlcmZhY2UgTWVudUl0ZW0ge1xuICBhY3RpdmU6IGJvb2xlYW47XG4gIHBsYWNlOiBQbGFjZURlZmluaXRpb25cbn1cblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlOiAnJ1xufSlcbmV4cG9ydCBjbGFzcyBBYnN0cmFjdFBsYWNlTmF2aWdhdGlvbkNvbXBvbmVudCBleHRlbmRzIERpc3Bvc2FibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpIEBTdG9yZUluTGlzdE1vZGVsKCdwbGFjZXNNb2RlbCcpXG4gIHBsYWNlczogQ29uc3RydWN0YWJsZTxQbGFjZUNvbXBvbmVudD5bXTtcblxuICBASW5wdXQoKSBAVHJhY2tFeHRlcm5hbCgpXG4gIHBsYWNlc01vZGVsOiBMaXN0TW9kZWw8Q29uc3RydWN0YWJsZTxQbGFjZUNvbXBvbmVudD4+O1xuXG4gIEBJbnB1dCgpIEBTdG9yZUluVmFsdWVNb2RlbCgncGxhY2VPdXRsZXRNb2RlbCcpXG4gIHBsYWNlT3V0bGV0OiBQbGFjZU91dGxldENvbXBvbmVudDtcblxuICBASW5wdXQoKSBAVHJhY2tFeHRlcm5hbCgpXG4gIHBsYWNlT3V0bGV0TW9kZWw6IFZhbHVlTW9kZWw8UGxhY2VPdXRsZXRDb21wb25lbnQ+O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgcGxhY2VEZWZpbml0aW9uczogTGlzdE1vZGVsQ2hhaW48UGxhY2VEZWZpbml0aW9uPjtcbiAgcmVhZG9ubHkgbWVudUl0ZW1zOiBMaXN0TW9kZWxDaGFpbjxNZW51SXRlbT47XG5cbiAgcmVhZG9ubHkgY29tbWFuZEZhY3Rvcnk6IENvbW1hbmQuRmFjdG9yeTxQbGFjZURlZmluaXRpb24sIHZvaWQ+O1xuICByZWFkb25seSBfYWN0aXZlUGxhY2VDb21wb25lbnQgPSB0aGlzLnJlZ2lzdGVyRGlzcG9zYWJsZShuZXcgRGVsZWdhdGluZ1ZhbHVlTW9kZWw8UGxhY2VDb21wb25lbnQ+KCkpO1xuICBwcml2YXRlIGFjdGl2ZVBsYWNlRGVmaW5pdGlvbjogVmFsdWVNb2RlbENoYWluPFBsYWNlRGVmaW5pdGlvbj47XG5cbiAgcmVhZG9ubHkgdHJhY2tCeVBsYWNlRGVmOlRyYWNrQnlGdW5jdGlvbjxNZW51SXRlbT4gPSAoaW5kZXg6IG51bWJlciwgZGF0YTpNZW51SXRlbSkgPT4gZGF0YS5wbGFjZTtcblxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBwbGFjZVJvdXRlcjogUGxhY2VSb3V0ZXIpIHtcbiAgICBzdXBlcigpO1xuICAgIGNvbnN0IHsgY2hhaW4sIHZhbHVlT2YsIGJlZm9yZSwgd2hlbiwgYWZ0ZXIsIG9ic2VydmUsIHN3aXRjaE9uIH0gPSBEc2wuZGlzcG9zZVdpdGgodGhpcyk7XG4gICAgdGhpcy5wbGFjZURlZmluaXRpb25zID0gY2hhaW4odGhpcy5wbGFjZXNNb2RlbClcbiAgICAgIC5tYXAoYyA9PiBQbGFjZUNvbXBvbmVudC5nZXREZWZpbml0aW9uKGMpKVxuICAgICAgLnNlbGVjdChkID0+IHtcbiAgICAgICAgY29uc3QgZ3VhcmQgPSBwbGFjZVJvdXRlci5hY2Nlc3NHdWFyZC52YWx1ZTtcbiAgICAgICAgY29uc3Qgc3RhdGUgPSBwbGFjZVJvdXRlci5zdGF0ZS52YWx1ZTtcbiAgICAgICAgcmV0dXJuIGd1YXJkLmlzQXV0aG9yaXNlZChkKSB8fCBzdGF0ZS5pc1BsYWNlQWN0aXZlKGQpO1xuICAgICAgfSwgeyBkZXBlbmRzT246IFtwbGFjZVJvdXRlci5hY2Nlc3NHdWFyZCwgcGxhY2VSb3V0ZXIuc3RhdGVdIH0pO1xuXG4gICAgdGhpcy5jb21tYW5kRmFjdG9yeSA9IENvbW1hbmQuY3JlYXRlRmFjdG9yeSgocGxhY2VEZWZpbml0aW9uOiBQbGFjZURlZmluaXRpb24pID0+IHtcbiAgICAgIHRoaXMucGxhY2VPdXRsZXQubmF2aWdhdGUobmV3IFZpc2l0KHBsYWNlRGVmaW5pdGlvbikpO1xuICAgIH0pO1xuXG4gICAgd2hlbih0aGlzLnBsYWNlT3V0bGV0TW9kZWwpLmNoYW5nZXMob3V0bGV0ID0+IHRoaXMuaGFuZGxlUGxhY2VPdXRMZXRDaGFuZ2VkKG91dGxldCksIHtpbml0aWFsVmFsdWU6IFwidHJpZ2dlckNoYW5nZVwifSk7XG4gICAgdGhpcy5hY3RpdmVQbGFjZURlZmluaXRpb24gPSBjaGFpbih0aGlzLl9hY3RpdmVQbGFjZUNvbXBvbmVudCkucGx1Y2soJ3BsYWNlRGVmaW5pdGlvbicpO1xuXG4gICAgdGhpcy5tZW51SXRlbXMgPSBjaGFpbih0aGlzLnBsYWNlRGVmaW5pdGlvbnMpLm1hcChkID0+IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHBsYWNlOiBkLFxuICAgICAgICBhY3RpdmU6IHRoaXMuYWN0aXZlUGxhY2VEZWZpbml0aW9uLnZhbHVlID09PSBkXG4gICAgICB9O1xuICAgIH0sIHtcbiAgICAgIGRlcGVuZHNPbjogdGhpcy5hY3RpdmVQbGFjZURlZmluaXRpb25cbiAgICB9KTtcblxuXG4gICAgLy8gY29uc3QgdHhvID0gbmV3IFRyYW5zYWN0aW9uT2JzZXJ2ZXIoeyB2ZXJib3NlOiB0cnVlIH0pLm9uRXZlbnQoZSA9PiBjb25zb2xlLmxvZyhlLm5hbWUsIGUucGF5bG9hZCkpO1xuICAgIC8vIHR4by5vYnNlcnZlKCd0aGlzLnBsYWNlc01vZGVsJywgdGhpcy5wbGFjZXNNb2RlbCk7XG4gICAgLy8gdHhvLm9ic2VydmUoJ3RoaXMucGxhY2VEZWZpbml0aW9ucycsIHRoaXMucGxhY2VEZWZpbml0aW9ucyk7XG4gICAgLy8gdHhvLm9ic2VydmUoJ3RoaXMuYWN0aXZlUGxhY2VEZWZpbml0aW9uJywgdGhpcy5hY3RpdmVQbGFjZURlZmluaXRpb24pO1xuICAgIC8vIHR4by5vYnNlcnZlKCd0aGlzLm1lbnVJdGVtcycsIHRoaXMubWVudUl0ZW1zKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVQbGFjZU91dExldENoYW5nZWQob3V0bGV0OiBQbGFjZU91dGxldENvbXBvbmVudCkge1xuICAgIHRoaXMuX2FjdGl2ZVBsYWNlQ29tcG9uZW50LnNldERlbGVnYXRlKG91dGxldCA/IG91dGxldC5hY3RpdmVQbGFjZU1vZGVsIDogbnVsbClcbiAgfVxuXG4gIEBNZW1vaXplKClcbiAgZ2V0TmF2aWdhdGlvbkZhY2UocGxhY2VEZWY6IFBsYWNlRGVmaW5pdGlvbik6IENvbW1hbmRGYWNlIHtcbiAgICBjb25zdCBuYXZJdGVtID0gcGxhY2VEZWYuZ2V0UGxhY2VEYXRhKCduYXYnKSBhcyBOYXZJdGVtO1xuICAgIHJldHVybiB7XG4gICAgICB0ZXh0OiAoKSA9PiBuYXZJdGVtID8gbmF2SXRlbS50aXRsZSgpIDogcGxhY2VEZWYuc2VhcmNoUGxhY2VEYXRhKFsnbmF2VGl0bGUnLCAndGl0bGUnXSksXG4gICAgICB0b29sdGlwOiAoKSA9PiBuYXZJdGVtICYmIG5hdkl0ZW0udG9vbHRpcCA/IG5hdkl0ZW0udG9vbHRpcCgpIDogcGxhY2VEZWYuZ2V0UGxhY2VEYXRhKCduYXZUb29sdGlwJywgbnVsbCksXG4gICAgICBpY29uOiAoKSA9PiBuYXZJdGVtICYmIG5hdkl0ZW0uaWNvbiA/IG5hdkl0ZW0uaWNvbigpIDogcGxhY2VEZWYuZ2V0UGxhY2VEYXRhKCduYXZJY29uJywgbnVsbClcbiAgICB9O1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gIH1cblxufVxuIl19
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtcGxhY2UtbmF2aWdhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9wbGFjZS9jb21wb25lbnRzL2Fic3RyYWN0LXBsYWNlLW5hdmlnYXRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBMEIsTUFBTSxlQUFlLENBQUM7QUFDeEUsT0FBTyxFQUNMLE9BQU8sRUFFUCxvQkFBb0IsRUFDcEIsR0FBRyxFQUNILFNBQVMsRUFFVCxnQkFBZ0IsRUFDaEIsaUJBQWlCLEVBQ2pCLGFBQWEsRUFFYixVQUFVLEVBRVgsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDbEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRzVFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDakMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7OztBQVU3RSxNQUFNLE9BQU8sZ0NBQWlDLFNBQVEsbUJBQW1CO0lBdUJ2RSxZQUFxQixXQUF3QjtRQUMzQyxLQUFLLEVBQUUsQ0FBQztRQURXLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBTHBDLDBCQUFxQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLG9CQUFvQixF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QUFPLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQztZQUN6RyxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDO1NBQzlGLENBQUM7SUFDSixDQUFDO0lBRUQsUUFBUTtJQUNSLENBQUM7OzZIQXpFVSxnQ0FBZ0M7aUhBQWhDLGdDQUFnQyx1TUFGakMsRUFBRTtBQUtaO0lBRFUsZ0JBQWdCLENBQUMsYUFBYSxDQUFDOztnRUFDRDtBQUd4QztJQURVLGFBQWEsRUFBRTs4QkFDWixTQUFTO3FFQUFnQztBQUd0RDtJQURVLGlCQUFpQixDQUFDLGtCQUFrQixDQUFDOzhCQUNsQyxvQkFBb0I7cUVBQUM7QUFHbEM7SUFEVSxhQUFhLEVBQUU7OEJBQ1AsVUFBVTswRUFBdUI7QUFtRG5EO0lBREMsT0FBTyxFQUFFOztxQ0FDa0IsZUFBZTs7eUVBTzFDOzJGQXRFVSxnQ0FBZ0M7a0JBSDVDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLEVBQUU7aUJBQ2I7a0dBSUMsTUFBTTtzQkFETCxLQUFLO2dCQUlOLFdBQVc7c0JBRFYsS0FBSztnQkFJTixXQUFXO3NCQURWLEtBQUs7Z0JBSU4sZ0JBQWdCO3NCQURmLEtBQUs7Z0JBb0ROLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBUcmFja0J5RnVuY3Rpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQ29tbWFuZCxcbiAgQ29uc3RydWN0YWJsZSxcbiAgRGVsZWdhdGluZ1ZhbHVlTW9kZWwsXG4gIERzbCxcbiAgTGlzdE1vZGVsLFxuICBMaXN0TW9kZWxDaGFpbixcbiAgU3RvcmVJbkxpc3RNb2RlbCxcbiAgU3RvcmVJblZhbHVlTW9kZWwsXG4gIFRyYWNrRXh0ZXJuYWwsXG4gIFRyYW5zYWN0aW9uT2JzZXJ2ZXIsXG4gIFZhbHVlTW9kZWwsXG4gIFZhbHVlTW9kZWxDaGFpblxufSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQgeyBNZW1vaXplIH0gZnJvbSAnQHR5cGVzY3JpcHQtcGx1cy9mYXN0LW1lbW9pemUtZGVjb3JhdG9yJztcbmltcG9ydCB7IENvbW1hbmRGYWNlIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9jb21tYW5kcy9jb21tYW5kLWZhY2UnO1xuaW1wb3J0IHsgRGlzcG9zYWJsZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvZGlzcG9zYWJsZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgVHJhY2tCeSB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvdHJhY2stYnknO1xuaW1wb3J0IHsgTmF2SXRlbSB9IGZyb20gJy4uL25hdi1pdGVtJztcbmltcG9ydCB7IFBsYWNlQ29tcG9uZW50IH0gZnJvbSAnLi4vcGxhY2UtY29tcG9uZW50JztcbmltcG9ydCB7IFBsYWNlRGVmaW5pdGlvbiB9IGZyb20gJy4uL3BsYWNlLWRlZmluaXRpb24nO1xuaW1wb3J0IHsgUGxhY2VSb3V0ZXIgfSBmcm9tICcuLi9wbGFjZS1yb3V0ZXInO1xuaW1wb3J0IHsgVmlzaXQgfSBmcm9tICcuLi92aXNpdCc7XG5pbXBvcnQgeyBQbGFjZU91dGxldENvbXBvbmVudCB9IGZyb20gJy4vcGxhY2Utb3V0bGV0L3BsYWNlLW91dGxldC5jb21wb25lbnQnO1xuXG5pbnRlcmZhY2UgTWVudUl0ZW0ge1xuICBhY3RpdmU6IGJvb2xlYW47XG4gIHBsYWNlOiBQbGFjZURlZmluaXRpb25cbn1cblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlOiAnJ1xufSlcbmV4cG9ydCBjbGFzcyBBYnN0cmFjdFBsYWNlTmF2aWdhdGlvbkNvbXBvbmVudCBleHRlbmRzIERpc3Bvc2FibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpIEBTdG9yZUluTGlzdE1vZGVsKCdwbGFjZXNNb2RlbCcpXG4gIHBsYWNlczogQ29uc3RydWN0YWJsZTxQbGFjZUNvbXBvbmVudD5bXTtcblxuICBASW5wdXQoKSBAVHJhY2tFeHRlcm5hbCgpXG4gIHBsYWNlc01vZGVsOiBMaXN0TW9kZWw8Q29uc3RydWN0YWJsZTxQbGFjZUNvbXBvbmVudD4+O1xuXG4gIEBJbnB1dCgpIEBTdG9yZUluVmFsdWVNb2RlbCgncGxhY2VPdXRsZXRNb2RlbCcpXG4gIHBsYWNlT3V0bGV0OiBQbGFjZU91dGxldENvbXBvbmVudDtcblxuICBASW5wdXQoKSBAVHJhY2tFeHRlcm5hbCgpXG4gIHBsYWNlT3V0bGV0TW9kZWw6IFZhbHVlTW9kZWw8UGxhY2VPdXRsZXRDb21wb25lbnQ+O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgcGxhY2VEZWZpbml0aW9uczogTGlzdE1vZGVsQ2hhaW48UGxhY2VEZWZpbml0aW9uPjtcbiAgcmVhZG9ubHkgbWVudUl0ZW1zOiBMaXN0TW9kZWxDaGFpbjxNZW51SXRlbT47XG5cbiAgcmVhZG9ubHkgY29tbWFuZEZhY3Rvcnk6IENvbW1hbmQuRmFjdG9yeTxQbGFjZURlZmluaXRpb24sIHZvaWQ+O1xuICByZWFkb25seSBfYWN0aXZlUGxhY2VDb21wb25lbnQgPSB0aGlzLnJlZ2lzdGVyRGlzcG9zYWJsZShuZXcgRGVsZWdhdGluZ1ZhbHVlTW9kZWw8UGxhY2VDb21wb25lbnQ+KCkpO1xuICBwcml2YXRlIGFjdGl2ZVBsYWNlRGVmaW5pdGlvbjogVmFsdWVNb2RlbENoYWluPFBsYWNlRGVmaW5pdGlvbj47XG5cbiAgcmVhZG9ubHkgdHJhY2tCeVBsYWNlRGVmOlRyYWNrQnlGdW5jdGlvbjxNZW51SXRlbT4gPSAoaW5kZXg6IG51bWJlciwgZGF0YTpNZW51SXRlbSkgPT4gZGF0YS5wbGFjZTtcblxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBwbGFjZVJvdXRlcjogUGxhY2VSb3V0ZXIpIHtcbiAgICBzdXBlcigpO1xuICAgIGNvbnN0IHsgY2hhaW4sIHZhbHVlT2YsIGJlZm9yZSwgd2hlbiwgYWZ0ZXIsIG9ic2VydmUsIHN3aXRjaE9uIH0gPSBEc2wuZGlzcG9zZVdpdGgodGhpcyk7XG4gICAgdGhpcy5wbGFjZURlZmluaXRpb25zID0gY2hhaW4odGhpcy5wbGFjZXNNb2RlbClcbiAgICAgIC5tYXAoYyA9PiBQbGFjZUNvbXBvbmVudC5nZXREZWZpbml0aW9uKGMpKVxuICAgICAgLnNlbGVjdChkID0+IHtcbiAgICAgICAgY29uc3QgZ3VhcmQgPSBwbGFjZVJvdXRlci5hY2Nlc3NHdWFyZC52YWx1ZTtcbiAgICAgICAgY29uc3Qgc3RhdGUgPSBwbGFjZVJvdXRlci5zdGF0ZSQudmFsdWU7XG4gICAgICAgIHJldHVybiBndWFyZC5pc0F1dGhvcmlzZWQoZCkgfHwgc3RhdGUuaXNQbGFjZUFjdGl2ZShkKTtcbiAgICAgIH0sIHsgZGVwZW5kc09uOiBbcGxhY2VSb3V0ZXIuYWNjZXNzR3VhcmQsIHBsYWNlUm91dGVyLnN0YXRlJF0gfSk7XG5cbiAgICB0aGlzLmNvbW1hbmRGYWN0b3J5ID0gQ29tbWFuZC5jcmVhdGVGYWN0b3J5KChwbGFjZURlZmluaXRpb246IFBsYWNlRGVmaW5pdGlvbikgPT4ge1xuICAgICAgdGhpcy5wbGFjZU91dGxldC5uYXZpZ2F0ZShuZXcgVmlzaXQocGxhY2VEZWZpbml0aW9uKSk7XG4gICAgfSk7XG5cbiAgICB3aGVuKHRoaXMucGxhY2VPdXRsZXRNb2RlbCkuY2hhbmdlcyhvdXRsZXQgPT4gdGhpcy5oYW5kbGVQbGFjZU91dExldENoYW5nZWQob3V0bGV0KSwge2luaXRpYWxWYWx1ZTogXCJ0cmlnZ2VyQ2hhbmdlXCJ9KTtcbiAgICB0aGlzLmFjdGl2ZVBsYWNlRGVmaW5pdGlvbiA9IGNoYWluKHRoaXMuX2FjdGl2ZVBsYWNlQ29tcG9uZW50KS5wbHVjaygncGxhY2VEZWZpbml0aW9uJyk7XG5cbiAgICB0aGlzLm1lbnVJdGVtcyA9IGNoYWluKHRoaXMucGxhY2VEZWZpbml0aW9ucykubWFwKGQgPT4ge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcGxhY2U6IGQsXG4gICAgICAgIGFjdGl2ZTogdGhpcy5hY3RpdmVQbGFjZURlZmluaXRpb24udmFsdWUgPT09IGRcbiAgICAgIH07XG4gICAgfSwge1xuICAgICAgZGVwZW5kc09uOiB0aGlzLmFjdGl2ZVBsYWNlRGVmaW5pdGlvblxuICAgIH0pO1xuXG5cbiAgICAvLyBjb25zdCB0eG8gPSBuZXcgVHJhbnNhY3Rpb25PYnNlcnZlcih7IHZlcmJvc2U6IHRydWUgfSkub25FdmVudChlID0+IGNvbnNvbGUubG9nKGUubmFtZSwgZS5wYXlsb2FkKSk7XG4gICAgLy8gdHhvLm9ic2VydmUoJ3RoaXMucGxhY2VzTW9kZWwnLCB0aGlzLnBsYWNlc01vZGVsKTtcbiAgICAvLyB0eG8ub2JzZXJ2ZSgndGhpcy5wbGFjZURlZmluaXRpb25zJywgdGhpcy5wbGFjZURlZmluaXRpb25zKTtcbiAgICAvLyB0eG8ub2JzZXJ2ZSgndGhpcy5hY3RpdmVQbGFjZURlZmluaXRpb24nLCB0aGlzLmFjdGl2ZVBsYWNlRGVmaW5pdGlvbik7XG4gICAgLy8gdHhvLm9ic2VydmUoJ3RoaXMubWVudUl0ZW1zJywgdGhpcy5tZW51SXRlbXMpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZVBsYWNlT3V0TGV0Q2hhbmdlZChvdXRsZXQ6IFBsYWNlT3V0bGV0Q29tcG9uZW50KSB7XG4gICAgdGhpcy5fYWN0aXZlUGxhY2VDb21wb25lbnQuc2V0RGVsZWdhdGUob3V0bGV0ID8gb3V0bGV0LmFjdGl2ZVBsYWNlTW9kZWwgOiBudWxsKVxuICB9XG5cbiAgQE1lbW9pemUoKVxuICBnZXROYXZpZ2F0aW9uRmFjZShwbGFjZURlZjogUGxhY2VEZWZpbml0aW9uKTogQ29tbWFuZEZhY2Uge1xuICAgIGNvbnN0IG5hdkl0ZW0gPSBwbGFjZURlZi5nZXRQbGFjZURhdGEoJ25hdicpIGFzIE5hdkl0ZW07XG4gICAgcmV0dXJuIHtcbiAgICAgIHRleHQ6ICgpID0+IG5hdkl0ZW0gPyBuYXZJdGVtLnRpdGxlKCkgOiBwbGFjZURlZi5zZWFyY2hQbGFjZURhdGEoWyduYXZUaXRsZScsICd0aXRsZSddKSxcbiAgICAgIHRvb2x0aXA6ICgpID0+IG5hdkl0ZW0gJiYgbmF2SXRlbS50b29sdGlwID8gbmF2SXRlbS50b29sdGlwKCkgOiBwbGFjZURlZi5nZXRQbGFjZURhdGEoJ25hdlRvb2x0aXAnLCBudWxsKSxcbiAgICAgIGljb246ICgpID0+IG5hdkl0ZW0gJiYgbmF2SXRlbS5pY29uID8gbmF2SXRlbS5pY29uKCkgOiBwbGFjZURlZi5nZXRQbGFjZURhdGEoJ25hdkljb24nLCBudWxsKVxuICAgIH07XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgfVxuXG59XG4iXX0=
|
|
@@ -55,8 +55,8 @@ export class PlaceOutletComponent extends DisposableComponent {
|
|
|
55
55
|
this.animationEnabled = valueOf.all(this.animateModel, this.animationSupported).areTruthy();
|
|
56
56
|
// Extract our visit model from the place router.
|
|
57
57
|
this._activePlaceDefinition = chain(this._activePlaceModel).pluck('placeDefinition');
|
|
58
|
-
this.routerVisitModel = chain(placeRouter.state).map(state => state.getVisitFor(this._activePlaceDefinition.value), { dependsOn: this._activePlaceDefinition });
|
|
59
|
-
this.navigationInProgress = chain(this.placeRouter.navigationInProgress);
|
|
58
|
+
this.routerVisitModel = chain(placeRouter.state$).map(state => state.getVisitFor(this._activePlaceDefinition.value), { dependsOn: this._activePlaceDefinition });
|
|
59
|
+
this.navigationInProgress = chain(this.placeRouter.navigationInProgress$);
|
|
60
60
|
when(this.navigationInProgress).becomesFalsey(() => {
|
|
61
61
|
this.checkStateAndInitialise();
|
|
62
62
|
});
|
|
@@ -253,4 +253,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImpor
|
|
|
253
253
|
type: HostBinding,
|
|
254
254
|
args: ["class.authorised"]
|
|
255
255
|
}] } });
|
|
256
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2Utb3V0bGV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL3BsYWNlL2NvbXBvbmVudHMvcGxhY2Utb3V0bGV0L3BsYWNlLW91dGxldC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9wbGFjZS9jb21wb25lbnRzL3BsYWNlLW91dGxldC9wbGFjZS1vdXRsZXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQUUsV0FBVyxFQUN6QixNQUFNLEVBQ04sY0FBYyxFQUNkLEtBQUssRUFFTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFFBQVEsRUFDUixTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFrQixNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkUsT0FBTyxFQUdMLFlBQVksRUFDWixHQUFHLEVBQ0gsSUFBSSxFQUNKLFNBQVMsRUFFVCxpQkFBaUIsRUFDakIsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixhQUFhLEVBQ2IsVUFBVSxFQUVYLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUMvQixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUcvRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQWUsTUFBTSxvQkFBb0IsQ0FBQztBQUVuRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFHakQsT0FBTyxFQUFFLDRCQUE0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Z0NBQWdDLENBQUM7O3VFQUN0QjsyRkFkaEQsb0JBQW9CO2tCQU5oQyxTQUFTOytCQUNFLGtCQUFrQixjQUdoQixDQUFDLDBCQUEwQixDQUFDOzswQkFrRDNCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsZ0JBQWdCOzswQkFDbkMsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyx1Q0FBdUM7OEJBQ3JCLG9CQUFvQjswQkFBekQsUUFBUTs7MEJBQUksUUFBUTs0RUEvQ2pDLE9BQU87c0JBRE4sS0FBSztnQkFJTixZQUFZO3NCQURYLEtBQUs7Z0JBS04sOEJBQThCO3NCQUQ3QixLQUFLO3VCQUFDLDBCQUEwQjtnQkFLakMseUJBQXlCO3NCQUR4QixLQUFLO3VCQUFDLHFCQUFxQjtnQkFJbkIsWUFBWTtzQkFEcEIsTUFBTTtnQkFJUCxTQUFTO3NCQURSLFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkEwR3RDLFlBQVk7c0JBRGYsV0FBVzt1QkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsXG4gIEluamVjdCxcbiAgSW5qZWN0aW9uVG9rZW4sXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE9wdGlvbmFsLFxuICBPdXRwdXQsXG4gIFNraXBTZWxmLFxuICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyLCBSb3V0ZXJPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtcbiAgQm9vbGVhblZhbHVlTW9kZWxDaGFpbixcbiAgQ29uc3RydWN0YWJsZSxcbiAgRGVidWdDb250ZXh0LFxuICBEc2wsXG4gIGxhbmcsXG4gIExpc3RNb2RlbCxcbiAgTGlzdE1vZGVsQ2hhaW4sXG4gIE11dGFibGVWYWx1ZU1vZGVsLFxuICBTdG9yZUluTGlzdE1vZGVsLFxuICBTdG9yZUluVmFsdWVNb2RlbCxcbiAgVHJhY2tFeHRlcm5hbCxcbiAgVmFsdWVNb2RlbCxcbiAgVmFsdWVNb2RlbENoYWluXG59IGZyb20gJ0Bjb29sb24vcGVjdGluJztcblxuaW1wb3J0IHsgaXNOaWwgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgRGlzcG9zYWJsZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvZGlzcG9zYWJsZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgUGxhY2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi9wbGFjZS1jb21wb25lbnQnO1xuXG5pbXBvcnQgeyBBVVBfUExBQ0VfQ09ORklHLCBQbGFjZUNvbmZpZyB9IGZyb20gJy4uLy4uL3BsYWNlLWNvbmZpZyc7XG5pbXBvcnQgeyBQbGFjZURlZmluaXRpb24gfSBmcm9tICcuLi8uLi9wbGFjZS1kZWZpbml0aW9uJztcbmltcG9ydCB7IFBsYWNlUm91dGVyIH0gZnJvbSAnLi4vLi4vcGxhY2Utcm91dGVyJztcbmltcG9ydCB7IFZpc2l0IH0gZnJvbSAnLi4vLi4vdmlzaXQnO1xuXG5pbXBvcnQgeyBOb3RBdXRob3Jpc2VkTm90aWNlQ29tcG9uZW50IH0gZnJvbSAnLi4vbm90LWF1dGhvcmlzZWQtbm90aWNlL25vdC1hdXRob3Jpc2VkLW5vdGljZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTEVGVF9SSUdIVF9QTEFDRV9BTklNQVRJT04gfSBmcm9tICcuL3JvdXRlLWFuaW1hdGlvbnMnO1xuXG5cbmV4cG9ydCBjb25zdCBBVVBfVU5BVVRIT1JJU0VEX1BMQUNFX05PVElDRV9DT01QT05FTlQgPSBuZXcgSW5qZWN0aW9uVG9rZW48Q29uc3RydWN0YWJsZTxhbnk+PignQVVQX1VOQVVUSE9SSVNFRF9QTEFDRV9DT01QT05FTlQnKTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXVwLXBsYWNlLW91dGxldCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9wbGFjZS1vdXRsZXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wbGFjZS1vdXRsZXQuY29tcG9uZW50LnNjc3MnXSxcbiAgYW5pbWF0aW9uczogW0xFRlRfUklHSFRfUExBQ0VfQU5JTUFUSU9OXVxufSlcbmV4cG9ydCBjbGFzcyBQbGFjZU91dGxldENvbXBvbmVudCBleHRlbmRzIERpc3Bvc2FibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpIEBTdG9yZUluVmFsdWVNb2RlbCgnYW5pbWF0ZU1vZGVsJylcbiAgYW5pbWF0ZTogYm9vbGVhbjtcblxuICBASW5wdXQoKSBAVHJhY2tFeHRlcm5hbCh7IGRlZmF1bHRWYWx1ZTogdHJ1ZSB9KVxuICBhbmltYXRlTW9kZWw6IFZhbHVlTW9kZWw8Ym9vbGVhbj47XG5cbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWlucHV0LXJlbmFtZVxuICBASW5wdXQoJ3BsYWNlQW5pbWF0aW9uT3JkZXJNb2RlbCcpIEBUcmFja0V4dGVybmFsKClcbiAgY3VzdG9tUGxhY2VBbmltYXRpb25PcmRlck1vZGVsOiBMaXN0TW9kZWw8Q29uc3RydWN0YWJsZTxQbGFjZUNvbXBvbmVudD4+O1xuXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1pbnB1dC1yZW5hbWVcbiAgQElucHV0KCdwbGFjZUFuaW1hdGlvbk9yZGVyJykgQFN0b3JlSW5MaXN0TW9kZWwoJ2N1c3RvbVBsYWNlQW5pbWF0aW9uT3JkZXJNb2RlbCcpXG4gIGN1c3RvbVBsYWNlQW5pbWF0aW9uT3JkZXI6IENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+W107XG5cbiAgQE91dHB1dCgpXG4gIHJlYWRvbmx5IHBsYWNlQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8UGxhY2VDb21wb25lbnQ+KCk7XG5cbiAgQFZpZXdDaGlsZCgncm91dGVPdXRsZXQnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICByb3V0ZXJPdXQ6IFJvdXRlck91dGxldDtcblxuICBwcml2YXRlIG9uQW5pbWF0aW9uRmluaXNoZWRKb2I6ICgpID0+IHZvaWQ7XG5cblxuICBwcml2YXRlIG91dGxldEFjdGl2YXRlZCA9IG5ldyBNdXRhYmxlVmFsdWVNb2RlbChmYWxzZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2FjdGl2YXRlZFJvdXRlTW9kZWwgPSBuZXcgTXV0YWJsZVZhbHVlTW9kZWw8QWN0aXZhdGVkUm91dGU+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2FjdGl2ZVBsYWNlTW9kZWwgPSBuZXcgTXV0YWJsZVZhbHVlTW9kZWw8UGxhY2VDb21wb25lbnQ+KCk7XG5cbiAgcmVhZG9ubHkgX2FjdGl2ZVBsYWNlRGVmaW5pdGlvbjogVmFsdWVNb2RlbENoYWluPFBsYWNlRGVmaW5pdGlvbj47XG5cbiAgcHJpdmF0ZSBwYXJlbnRPdXRsZXRNb2RlbDogTXV0YWJsZVZhbHVlTW9kZWw8UGxhY2VPdXRsZXRDb21wb25lbnQ+O1xuICBwdWJsaWMgcmVhZG9ubHkgYWN0aXZlUGxhY2VBbmltYXRpb25Qb3NpdGlvbjogVmFsdWVNb2RlbENoYWluPG51bWJlcj47XG5cbiAgcHJpdmF0ZSBpbml0aWFsUGxhY2VJbmRleDogbnVtYmVyID0gbnVsbDtcbiAgcHJpdmF0ZSByb3V0ZXJWaXNpdE1vZGVsOiBWYWx1ZU1vZGVsQ2hhaW48VmlzaXQ+O1xuICBwcml2YXRlIF9pc1B1c2hpbmdWaXNpdFRvUm91dGUgPSBuZXcgTXV0YWJsZVZhbHVlTW9kZWw8Ym9vbGVhbj4oZmFsc2UpO1xuICBwcml2YXRlIG5hdmlnYXRpb25JblByb2dyZXNzOiBWYWx1ZU1vZGVsQ2hhaW48Ym9vbGVhbj47XG5cbiAgcHJpdmF0ZSBpc1ZlcnlGaXJzdExvYWQgPSB0cnVlO1xuICBwcml2YXRlIHBsYWNlc0luQW5pbWF0aW9uT3JkZXI6IExpc3RNb2RlbENoYWluPENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+PjtcbiAgcHJpdmF0ZSBhbmltYXRpb25TdXBwb3J0ZWQ6IEJvb2xlYW5WYWx1ZU1vZGVsQ2hhaW47XG4gIHJlYWRvbmx5IGFuaW1hdGlvbkVuYWJsZWQ6IEJvb2xlYW5WYWx1ZU1vZGVsQ2hhaW47XG4gIHJlYWRvbmx5IGF1dGhvcmlzZWQ6IFZhbHVlTW9kZWxDaGFpbjxib29sZWFuPjtcbiAgcmVhZG9ubHkgbm90QXV0aG9yaXNlZE5vdGljZVBvcnRhbDogQ29tcG9uZW50UG9ydGFsPGFueT47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSBwbGFjZVJvdXRlcjogUGxhY2VSb3V0ZXIsXG4gICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoQVVQX1BMQUNFX0NPTkZJRykgcmVhZG9ubHkgcGxhY2VDb25maWc6IFBsYWNlQ29uZmlnLFxuICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEFVUF9VTkFVVEhPUklTRURfUExBQ0VfTk9USUNFX0NPTVBPTkVOVCkgdW5hdXRob3Jpc2VkUGxhY2VOb3RpY2U6IENvbnN0cnVjdGFibGU8YW55PixcbiAgICAgICAgICAgICAgQFNraXBTZWxmKCkgQE9wdGlvbmFsKCkgcGFyZW50T3V0bGV0OiBQbGFjZU91dGxldENvbXBvbmVudCxcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgc3VwZXIoKTtcbiAgICBjb25zdCB7IGNoYWluLCB2YWx1ZU9mLCBiZWZvcmUsIHdoZW4sIGFmdGVyLCBvYnNlcnZlLCBzd2l0Y2hPbiB9ID0gRHNsLmRpc3Bvc2VXaXRoKHRoaXMpO1xuXG4gICAgdGhpcy5wYXJlbnRPdXRsZXRNb2RlbCA9IG5ldyBNdXRhYmxlVmFsdWVNb2RlbChwYXJlbnRPdXRsZXQpO1xuXG4gICAgY29uc3QgZGVmYXVsdFBsYWNlQW5pbWF0aW9uT3JkZXIgPSBjaGFpbih0aGlzLnBhcmVudE91dGxldE1vZGVsKVxuICAgICAgLnB1bGxWYWx1ZU1vZGVsKG8gPT4gby5hY3RpdmVQbGFjZU1vZGVsKVxuICAgICAgLnBsdWNrKCdwbGFjZURlZmluaXRpb24nKVxuICAgICAgLnBsdWNrTGlzdCgnY2hpbGRyZW4nKVxuICAgICAgLnBsdWNrKCdjb21wb25lbnQnKTtcblxuICAgIGNvbnN0IGFjdGl2YXRlUGxhY2VUeXBlID0gY2hhaW4odGhpcy5hY3RpdmVQbGFjZU1vZGVsKS5tYXAocCA9PiBwLmNvbnN0cnVjdG9yIGFzIENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+KTtcblxuICAgIHRoaXMucGxhY2VzSW5BbmltYXRpb25PcmRlciA9IGNoYWluKHRoaXMuY3VzdG9tUGxhY2VBbmltYXRpb25PcmRlck1vZGVsKVxuICAgICAgLm90aGVyd2lzZShkZWZhdWx0UGxhY2VBbmltYXRpb25PcmRlcik7XG5cbiAgICB0aGlzLmFjdGl2ZVBsYWNlQW5pbWF0aW9uUG9zaXRpb24gPSB0aGlzLnBsYWNlc0luQW5pbWF0aW9uT3JkZXJcbiAgICAgIC5yZWR1Y2UoKHBsYWNlc0luT3JkZXIpID0+IHtcbiAgICAgICAgbGV0IHBsYWNlSW5kZXggPSAwO1xuICAgICAgICBpZiAoYWN0aXZhdGVQbGFjZVR5cGUudmFsdWUpIHtcbiAgICAgICAgICBwbGFjZUluZGV4ID0gcGxhY2VzSW5PcmRlci5pbmRleE9mKGFjdGl2YXRlUGxhY2VUeXBlLnZhbHVlKTtcbiAgICAgICAgICBpZiAoaXNOaWwodGhpcy5pbml0aWFsUGxhY2VJbmRleCkpIHtcbiAgICAgICAgICAgIHRoaXMuaW5pdGlhbFBsYWNlSW5kZXggPSBwbGFjZUluZGV4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaXNOaWwodGhpcy5pbml0aWFsUGxhY2VJbmRleCkgPyAwIDogcGxhY2VJbmRleCAtIHRoaXMuaW5pdGlhbFBsYWNlSW5kZXg7XG4gICAgICB9LCB7IGRlcGVuZHNPbjogYWN0aXZhdGVQbGFjZVR5cGUgfSk7XG5cbiAgICB0aGlzLmFuaW1hdGlvblN1cHBvcnRlZCA9IHRoaXMucGxhY2VzSW5BbmltYXRpb25PcmRlci5jb3VudCgpLmlzR3JlYXRlclRoYW4oMCk7XG4gICAgdGhpcy5hbmltYXRpb25FbmFibGVkID0gdmFsdWVPZi5hbGwoXG4gICAgICB0aGlzLmFuaW1hdGVNb2RlbCxcbiAgICAgIHRoaXMuYW5pbWF0aW9uU3VwcG9ydGVkXG4gICAgKS5hcmVUcnV0aHkoKTtcblxuICAgIC8vIEV4dHJhY3Qgb3VyIHZpc2l0IG1vZGVsIGZyb20gdGhlIHBsYWNlIHJvdXRlci5cbiAgICB0aGlzLl9hY3RpdmVQbGFjZURlZmluaXRpb24gPSBjaGFpbih0aGlzLl9hY3RpdmVQbGFjZU1vZGVsKS5wbHVjaygncGxhY2VEZWZpbml0aW9uJyk7XG4gICAgdGhpcy5yb3V0ZXJWaXNpdE1vZGVsID0gY2hhaW4ocGxhY2VSb3V0ZXIuc3RhdGUpLm1hcChzdGF0ZSA9PiBzdGF0ZS5nZXRWaXNpdEZvcih0aGlzLl9hY3RpdmVQbGFjZURlZmluaXRpb24udmFsdWUpLCB7IGRlcGVuZHNPbjogdGhpcy5fYWN0aXZlUGxhY2VEZWZpbml0aW9uIH0pO1xuXG4gICAgdGhpcy5uYXZpZ2F0aW9uSW5Qcm9ncmVzcyA9IGNoYWluKHRoaXMucGxhY2VSb3V0ZXIubmF2aWdhdGlvbkluUHJvZ3Jlc3MpO1xuXG4gICAgd2hlbih0aGlzLm5hdmlnYXRpb25JblByb2dyZXNzKS5iZWNvbWVzRmFsc2V5KCgpID0+IHtcbiAgICAgIHRoaXMuY2hlY2tTdGF0ZUFuZEluaXRpYWxpc2UoKTtcbiAgICB9KTtcbiAgICB3aGVuKHRoaXMub3V0bGV0QWN0aXZhdGVkKS5iZWNvbWVzVHJ1dGh5KCgpID0+IHtcbiAgICAgIHRoaXMuY2hlY2tTdGF0ZUFuZEluaXRpYWxpc2UoKTtcbiAgICB9KTtcblxuICAgIGNoYWluKHRoaXMuX2FjdGl2ZVBsYWNlTW9kZWwpXG4gICAgICAucG9zdHBvbmVXaGlsZSh0aGlzLm5hdmlnYXRpb25JblByb2dyZXNzKVxuICAgICAgLnN1YnNjcmliZShwbGFjZSA9PiB0aGlzLnBsYWNlQ2hhbmdlZC5lbWl0KHBsYWNlKSk7XG5cbiAgICB0aGlzLmF1dGhvcmlzZWQgPSBjaGFpbihwbGFjZVJvdXRlci5hY2Nlc3NHdWFyZCkubWFwKGd1YXJkID0+IGd1YXJkLmlzQXV0aG9yaXNlZCh0aGlzLl9hY3RpdmVQbGFjZURlZmluaXRpb24udmFsdWUpLCB7XG4gICAgICBkZXBlbmRzT246IHRoaXMuX2FjdGl2ZVBsYWNlRGVmaW5pdGlvbixcbiAgICAgIHBvc3Rwb25lV2hpbGU6IGNoYWluKHRoaXMuX2FjdGl2ZVBsYWNlRGVmaW5pdGlvbikuaXNOaWwoKVxuICAgIH0pLm90aGVyd2lzZSh0cnVlKTsgLy8gaWYgd2UgZG9uJ3QgaGF2ZSBhIHBsYWNlIGRlZiB5ZXQgd2UgbmVlZCB0byBzaG93IHRoZSBvdXRsZXQgc28gd2UgZ2V0IG9uZSBpbmplY3RlZC5cblxuICAgIHRoaXMubm90QXV0aG9yaXNlZE5vdGljZVBvcnRhbCA9IG5ldyBDb21wb25lbnRQb3J0YWwodW5hdXRob3Jpc2VkUGxhY2VOb3RpY2UgPz8gTm90QXV0aG9yaXNlZE5vdGljZUNvbXBvbmVudCk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBuZ09uSW5pdCgpIHtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIGdldEFuaW1hdGlvbk9yZGVyKCkge1xuICAgIHJldHVybiB0aGlzLmFjdGl2ZVBsYWNlQW5pbWF0aW9uUG9zaXRpb24udmFsdWU7XG4gIH1cblxuICBnZXQgYW5pbWF0aW9uRHVyYXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMucGxhY2VDb25maWcgJiYgdGhpcy5wbGFjZUNvbmZpZy5hbmltYXRpb25EdXJhdGlvbiA/IHRoaXMucGxhY2VDb25maWcuYW5pbWF0aW9uRHVyYXRpb24gOiAnNTAwbXMnO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuYXV0aG9yaXNlZFwiKVxuICBnZXQgaXNBdXRob3Jpc2VkKCkge1xuICAgIHJldHVybiB0aGlzLmF1dGhvcmlzZWQudmFsdWU7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBuYXZpZ2F0ZSh2aXNpdDogVmlzaXQpIHtcbiAgICAvLyBjb25zdCBwbGFjZSA9IHRoaXMucGxhY2VzSW5BbmltYXRpb25PcmRlci5xdWVyeSgpLmZpbmRNYXRjaGluZyhwID0+IHZpc2l0LnBsYWNlRGVmaW5pdGlvbi5jb21wb25lbnQgPT09IHApO1xuICAgIC8vIGlmICghcGxhY2UpIHtcbiAgICAvLyAgICAgbGFuZy5pbGxlZ2FsU3RhdGUoKVxuICAgIC8vIH1cbiAgICB0aGlzLnBsYWNlUm91dGVyLm5hdmlnYXRlKHZpc2l0LCB7XG4gICAgICByZWxhdGl2ZVRvOiB0aGlzLnBhcmVudE91dGxldCA/IHRoaXMucGFyZW50T3V0bGV0LmFjdGl2YXRlZFJvdXRlTW9kZWwudmFsdWUgOiBudWxsXG4gICAgfSk7XG4gIH1cblxuICBnZXQgcGFyZW50T3V0bGV0KCk6IFBsYWNlT3V0bGV0Q29tcG9uZW50IHtcbiAgICByZXR1cm4gdGhpcy5wYXJlbnRPdXRsZXRNb2RlbC52YWx1ZTtcbiAgfVxuXG5cbiAgZ2V0IGFjdGl2ZVBsYWNlTW9kZWwoKTogVmFsdWVNb2RlbDxQbGFjZUNvbXBvbmVudD4ge1xuICAgIHJldHVybiB0aGlzLl9hY3RpdmVQbGFjZU1vZGVsLnJlYWRvbmx5O1xuICB9XG5cbiAgZ2V0IGFjdGl2YXRlZFJvdXRlTW9kZWwoKTogVmFsdWVNb2RlbDxBY3RpdmF0ZWRSb3V0ZT4ge1xuICAgIHJldHVybiB0aGlzLl9hY3RpdmF0ZWRSb3V0ZU1vZGVsLnJlYWRvbmx5O1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgb25PdXRsZXRBY3RpdmF0ZWQocm91dGVyT3V0bGV0OiBSb3V0ZXJPdXRsZXQsIHBsYWNlOiBQbGFjZUNvbXBvbmVudCkge1xuICAgIHRoaXMuX2FjdGl2YXRlZFJvdXRlTW9kZWwudmFsdWUgPSByb3V0ZXJPdXRsZXQuYWN0aXZhdGVkUm91dGU7XG4gICAgdGhpcy5fYWN0aXZlUGxhY2VNb2RlbC52YWx1ZSA9IHBsYWNlO1xuICAgIHRoaXMudmFsaWRhdGVBbmltYXRpb25TdGF0ZShwbGFjZSk7XG4gICAgdGhpcy5vdXRsZXRBY3RpdmF0ZWQudmFsdWUgPSB0cnVlO1xuICAgIHRoaXMuY2hlY2tTdGF0ZUFuZEluaXRpYWxpc2UoKTtcbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVBbmltYXRpb25TdGF0ZShwbGFjZTogUGxhY2VDb21wb25lbnQpIHtcbiAgICBpZiAodGhpcy5hbmltYXRlTW9kZWwudmFsdWUpIHtcbiAgICAgIGlmICh0aGlzLnBsYWNlc0luQW5pbWF0aW9uT3JkZXIubGVuZ3RoIDwgMSkge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdQbGFjZU91dGxldC5hbmltYXRlID09PSB0cnVlIGJ1dCBwbGFjZUFuaW1hdGlvbk9yZGVyIGhhcyBub3QgYmVlbiBzZXQuIEFuaW1hdGlvbiBpcyBkaXNhYmxlZC4nKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICghdGhpcy5wbGFjZXNJbkFuaW1hdGlvbk9yZGVyLnF1ZXJ5KCkuaW5jbHVkZXMocGxhY2UucGxhY2VEZWZpbml0aW9uLmNvbXBvbmVudCkpIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGBQbGFjZU91dGxldC5hbmltYXRlID09PSB0cnVlIGJ1dCBwbGFjZUFuaW1hdGlvbk9yZGVyIGRvZXNuJ3QgY29udGFpbiAke3BsYWNlLnBsYWNlRGVmaW5pdGlvbi5jb21wb25lbnQubmFtZX0uYCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBvbk91dGxldERlYWN0aXZhdGVkKCkge1xuICAgIHRoaXMub3V0bGV0QWN0aXZhdGVkLnZhbHVlID0gZmFsc2U7XG4gICAgdGhpcy5fYWN0aXZlUGxhY2VNb2RlbC52YWx1ZSA9IG51bGw7XG4gICAgdGhpcy5fYWN0aXZhdGVkUm91dGVNb2RlbC52YWx1ZSA9IG51bGw7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBwcml2YXRlIGNoZWNrU3RhdGVBbmRJbml0aWFsaXNlKCkge1xuICAgIGNvbnN0IHJvdXRlclZpc2l0ID0gdGhpcy5yb3V0ZXJWaXNpdE1vZGVsLnZhbHVlO1xuICAgIGNvbnN0IGFjdGl2ZVBsYWNlID0gdGhpcy5hY3RpdmVQbGFjZU1vZGVsLnZhbHVlO1xuICAgIGlmIChyb3V0ZXJWaXNpdCAmJiBhY3RpdmVQbGFjZSAmJiAhYWN0aXZlUGxhY2UuaXNJbml0aWFsaXNlZCgpKSB7XG4gICAgICBpZiAocm91dGVyVmlzaXQucGxhY2VEZWZpbml0aW9uICE9PSBhY3RpdmVQbGFjZS5wbGFjZURlZmluaXRpb24pIHtcbiAgICAgICAgbGFuZy5pbGxlZ2FsU3RhdGUoJ3dyb25nIHZpc2l0ISEhJyk7XG4gICAgICB9XG4gICAgICB0aGlzLmluaXRpYWxpc2VQbGFjZShyb3V0ZXJWaXNpdCwgYWN0aXZlUGxhY2UpO1xuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXNlUGxhY2Uocm91dGVyVmlzaXQ6IFZpc2l0LCBhY3RpdmVQbGFjZTogUGxhY2VDb21wb25lbnQpIHtcbiAgICBjb25zdCB2aXNpdE1vZGVsID0gbmV3IE11dGFibGVWYWx1ZU1vZGVsPFZpc2l0Pihyb3V0ZXJWaXNpdCk7XG4gICAgRGVidWdDb250ZXh0LnRhZyh2aXNpdE1vZGVsLCBgUGxhY2VPdXRsZXRDb21wb25lbnRbJHthY3RpdmVQbGFjZS5jb25zdHJ1Y3Rvci5uYW1lfSldLnZpc2l0TW9kZWxgKTtcbiAgICBhY3RpdmVQbGFjZS5pbml0aWFsaXNlVmlzaXQocm91dGVyVmlzaXQsIChjdXJyZW50LCBwcmV2aW91cykgPT4ge1xuICAgICAgdGhpcy5wdXNoVmlzaXRDaGFuZ2VUb1JvdXRlKHByZXZpb3VzLCBjdXJyZW50KTtcbiAgICB9KTtcbiAgICBjb25zdCBmaW5pc2hQbGFjZUxvYWQgPSAoKSA9PiB7XG4gICAgICB0aGlzLl9hY3RpdmVQbGFjZU1vZGVsLnZhbHVlLl9ub3RpZnlBY3RpdmUodHJ1ZSk7XG4gICAgfTtcbiAgICBpZiAoIXRoaXMuYW5pbWF0aW9uRW5hYmxlZC52YWx1ZSB8fCB0aGlzLmlzVmVyeUZpcnN0TG9hZCkge1xuICAgICAgLy8gaWYgYW5pbWF0aW9uIGlzIGRpc2FibGVkIG9yIHRoaXMgaXMgdGhlIHZlcnkgZmlyc3QgbG9hZCB0aGVuXG4gICAgICAvLyB3ZSB3b24ndCBnZXQgb3VyIGFuaW1hdGlvbiBkb25lIGNhbGxiYWNrIHNvIHdlIGZpbmlzaCB0aGVcbiAgICAgIC8vIHByb2Nlc3MgaGVyZSBhbmQgbm93LlxuICAgICAgdGhpcy5pc1ZlcnlGaXJzdExvYWQgPSBmYWxzZTtcbiAgICAgIGZpbmlzaFBsYWNlTG9hZCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm9uQW5pbWF0aW9uRmluaXNoZWRKb2IgPSBmaW5pc2hQbGFjZUxvYWQ7XG4gICAgfVxuICAgIGNvbnN0IHsgd2hlbiwgY2hhaW4sIHZhbHVlT2YgfSA9IERzbC5kaXNwb3NlV2l0aChhY3RpdmVQbGFjZSk7XG4gICAgd2hlbih0aGlzLnJvdXRlclZpc2l0TW9kZWwpXG4gICAgICAuY2hhbmdlcyh2aXNpdCA9PiB7XG4gICAgICAgIGNvbnNvbGUubG9nKFwicm91dGVyVmlzaXRNb2RlbC5jaGFuZ2VcIiwgeyByb3V0ZXJWaXNpdE1vZGVsOiB0aGlzLnJvdXRlclZpc2l0TW9kZWwudmFsdWUgfSlcbiAgICAgICAgdGhpcy5wdXNoVmlzaXRDaGFuZ2VUb0NvbXBvbmVudChhY3RpdmVQbGFjZSwgdmlzaXQpO1xuICAgICAgfSwge1xuICAgICAgICB1bmxlc3M6IHZhbHVlT2YuYW55KFxuICAgICAgICAgIHRoaXMuX2lzUHVzaGluZ1Zpc2l0VG9Sb3V0ZSxcbiAgICAgICAgICB0aGlzLnJvdXRlclZpc2l0TW9kZWwuaXNOaWwoKVxuICAgICAgICApLmFyZVRydXRoeSgpXG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcHVzaFZpc2l0Q2hhbmdlVG9Db21wb25lbnQoYWN0aXZlUGxhY2U6IFBsYWNlQ29tcG9uZW50LCB2aXNpdDogVmlzaXQpIHtcbiAgICBhY3RpdmVQbGFjZS51cGRhdGVWaXNpdCh2aXNpdCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHB1c2hWaXNpdENoYW5nZVRvUm91dGUocHJldmlvdXM6IFZpc2l0LCBjdXJyZW50OiBWaXNpdCkge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLl9pc1B1c2hpbmdWaXNpdFRvUm91dGUudmFsdWUgPSB0cnVlO1xuICAgICAgYXdhaXQgdGhpcy5wbGFjZVJvdXRlci5wdXNoVmlzaXRDaGFuZ2VzVG9Sb3V0ZShwcmV2aW91cywgY3VycmVudCk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuX2lzUHVzaGluZ1Zpc2l0VG9Sb3V0ZS52YWx1ZSA9IGZhbHNlO1xuICAgIH1cbiAgICAvLyBzYW5pdGlzZXJzIG1heSBoYXZlIGFkanVzdGVkIG90aGVyIHZhbHVlcyBpbiB0aGUgdmlzaXQgdG8gd2UgY2hlY2sgYW5kIHdyaXRlIGl0IGJhY2suXG4gICAgY29uc3Qgcm91dGVyVmlzaXQgPSB0aGlzLnJvdXRlclZpc2l0TW9kZWwudmFsdWU7IC8vIHRoaXMgaXMgb2NjYXNpb25hbGx5IG51bGwuLi4gbmVlZCB0byBpbnZlc3RpZ2F0ZSBpZiB0aGF0J3MgYSBub3JtYWwgc3RhdGUgb3Igbm90LlxuICAgIGlmIChyb3V0ZXJWaXNpdCAmJiBjdXJyZW50Lmhhc1JvdXRpbmdDaGFuZ2VkRnJvbShyb3V0ZXJWaXNpdCkpIHtcbiAgICAgIHRoaXMucHVzaFZpc2l0Q2hhbmdlVG9Db21wb25lbnQodGhpcy5hY3RpdmVQbGFjZU1vZGVsLnZhbHVlLCByb3V0ZXJWaXNpdClcbiAgICB9XG4gIH1cblxuLy8gQFRyYWNlKClcbiAgYW5pbWF0aW9uU3RhcnRlZCgpIHtcbiAgICAvLyBjb25zb2xlLmxvZyh7IGFjdGl2ZVBsYWNlOiB0aGlzLl9hY3RpdmVQbGFjZU1vZGVsLnZhbHVlIH0pO1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgYW5pbWF0aW9uRG9uZSgpIHtcbiAgICBpZiAodGhpcy5vbkFuaW1hdGlvbkZpbmlzaGVkSm9iKSB7XG4gICAgICB0aGlzLm9uQW5pbWF0aW9uRmluaXNoZWRKb2IoKTtcbiAgICAgIHRoaXMub25BbmltYXRpb25GaW5pc2hlZEpvYiA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImFuaW1hdGlvbkVuYWJsZWQudmFsdWVcIj5cbiAgPGRpdiBjbGFzcz1cInJvdXRlci1vdXRsZXQtY29udGFpbmVyXCJcbiAgICAgICBjZGtTY3JvbGxhYmxlXG4gICAgICAgW0Byb3V0ZUFuaW1hdGlvbnNdPVwie3ZhbHVlOiBnZXRBbmltYXRpb25PcmRlcigpLCBwYXJhbXM6e2R1cmF0aW9uOiBhbmltYXRpb25EdXJhdGlvbn19XCJcbiAgICAgICAoQHJvdXRlQW5pbWF0aW9ucy5zdGFydCk9XCJhbmltYXRpb25TdGFydGVkKClcIlxuICAgICAgIChAcm91dGVBbmltYXRpb25zLmRvbmUpPVwiYW5pbWF0aW9uRG9uZSgpXCJcbiAgPlxuICAgIDxyb3V0ZXItb3V0bGV0ICNyb3V0ZXJPdXRsZXQ9XCJvdXRsZXRcIlxuICAgICAgICAgICAgICAgICAgIChhY3RpdmF0ZSk9XCJvbk91dGxldEFjdGl2YXRlZChyb3V0ZXJPdXRsZXQsICRldmVudClcIlxuICAgICAgICAgICAgICAgICAgIChkZWFjdGl2YXRlKT1cIm9uT3V0bGV0RGVhY3RpdmF0ZWQoKVwiPlxuICAgIDwvcm91dGVyLW91dGxldD5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFhbmltYXRpb25FbmFibGVkLnZhbHVlXCI+XG4gIDxkaXYgY2xhc3M9XCJyb3V0ZXItb3V0bGV0LWNvbnRhaW5lclwiXG4gICAgICAgY2RrU2Nyb2xsYWJsZT5cbiAgICA8cm91dGVyLW91dGxldCAjcm91dGVyT3V0bGV0PVwib3V0bGV0XCJcbiAgICAgICAgICAgICAgICAgICAoYWN0aXZhdGUpPVwib25PdXRsZXRBY3RpdmF0ZWQocm91dGVyT3V0bGV0LCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAoZGVhY3RpdmF0ZSk9XCJvbk91dGxldERlYWN0aXZhdGVkKClcIj5cbiAgICA8L3JvdXRlci1vdXRsZXQ+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG5cbjxkaXYgIGNsYXNzPVwibm90LWF1dGhvcmlzZWQtY29tcG9uZW50LWNvbnRhaW5lclwiICpuZ0lmPVwiIWF1dGhvcmlzZWQudmFsdWVcIj5cbiAgPG5nLXRlbXBsYXRlIFtjZGtQb3J0YWxPdXRsZXRdPVwibm90QXV0aG9yaXNlZE5vdGljZVBvcnRhbFwiPjwvbmctdGVtcGxhdGU+XG48L2Rpdj5cbiJdfQ==
|
|
256
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhY2Utb3V0bGV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL3BsYWNlL2NvbXBvbmVudHMvcGxhY2Utb3V0bGV0L3BsYWNlLW91dGxldC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9wbGFjZS9jb21wb25lbnRzL3BsYWNlLW91dGxldC9wbGFjZS1vdXRsZXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQUUsV0FBVyxFQUN6QixNQUFNLEVBQ04sY0FBYyxFQUNkLEtBQUssRUFFTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFFBQVEsRUFDUixTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFrQixNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkUsT0FBTyxFQUdMLFlBQVksRUFDWixHQUFHLEVBQ0gsSUFBSSxFQUNKLFNBQVMsRUFFVCxpQkFBaUIsRUFDakIsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixhQUFhLEVBQ2IsVUFBVSxFQUVYLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUMvQixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUcvRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQWUsTUFBTSxvQkFBb0IsQ0FBQztBQUVuRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFHakQsT0FBTyxFQUFFLDRCQUE0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Z0NBQWdDLENBQUM7O3VFQUN0QjsyRkFkaEQsb0JBQW9CO2tCQU5oQyxTQUFTOytCQUNFLGtCQUFrQixjQUdoQixDQUFDLDBCQUEwQixDQUFDOzswQkFrRDNCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsZ0JBQWdCOzswQkFDbkMsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyx1Q0FBdUM7OEJBQ3JCLG9CQUFvQjswQkFBekQsUUFBUTs7MEJBQUksUUFBUTs0RUEvQ2pDLE9BQU87c0JBRE4sS0FBSztnQkFJTixZQUFZO3NCQURYLEtBQUs7Z0JBS04sOEJBQThCO3NCQUQ3QixLQUFLO3VCQUFDLDBCQUEwQjtnQkFLakMseUJBQXlCO3NCQUR4QixLQUFLO3VCQUFDLHFCQUFxQjtnQkFJbkIsWUFBWTtzQkFEcEIsTUFBTTtnQkFJUCxTQUFTO3NCQURSLFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkEwR3RDLFlBQVk7c0JBRGYsV0FBVzt1QkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsXG4gIEluamVjdCxcbiAgSW5qZWN0aW9uVG9rZW4sXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE9wdGlvbmFsLFxuICBPdXRwdXQsXG4gIFNraXBTZWxmLFxuICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyLCBSb3V0ZXJPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtcbiAgQm9vbGVhblZhbHVlTW9kZWxDaGFpbixcbiAgQ29uc3RydWN0YWJsZSxcbiAgRGVidWdDb250ZXh0LFxuICBEc2wsXG4gIGxhbmcsXG4gIExpc3RNb2RlbCxcbiAgTGlzdE1vZGVsQ2hhaW4sXG4gIE11dGFibGVWYWx1ZU1vZGVsLFxuICBTdG9yZUluTGlzdE1vZGVsLFxuICBTdG9yZUluVmFsdWVNb2RlbCxcbiAgVHJhY2tFeHRlcm5hbCxcbiAgVmFsdWVNb2RlbCxcbiAgVmFsdWVNb2RlbENoYWluXG59IGZyb20gJ0Bjb29sb24vcGVjdGluJztcblxuaW1wb3J0IHsgaXNOaWwgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgRGlzcG9zYWJsZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvZGlzcG9zYWJsZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgUGxhY2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi9wbGFjZS1jb21wb25lbnQnO1xuXG5pbXBvcnQgeyBBVVBfUExBQ0VfQ09ORklHLCBQbGFjZUNvbmZpZyB9IGZyb20gJy4uLy4uL3BsYWNlLWNvbmZpZyc7XG5pbXBvcnQgeyBQbGFjZURlZmluaXRpb24gfSBmcm9tICcuLi8uLi9wbGFjZS1kZWZpbml0aW9uJztcbmltcG9ydCB7IFBsYWNlUm91dGVyIH0gZnJvbSAnLi4vLi4vcGxhY2Utcm91dGVyJztcbmltcG9ydCB7IFZpc2l0IH0gZnJvbSAnLi4vLi4vdmlzaXQnO1xuXG5pbXBvcnQgeyBOb3RBdXRob3Jpc2VkTm90aWNlQ29tcG9uZW50IH0gZnJvbSAnLi4vbm90LWF1dGhvcmlzZWQtbm90aWNlL25vdC1hdXRob3Jpc2VkLW5vdGljZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTEVGVF9SSUdIVF9QTEFDRV9BTklNQVRJT04gfSBmcm9tICcuL3JvdXRlLWFuaW1hdGlvbnMnO1xuXG5cbmV4cG9ydCBjb25zdCBBVVBfVU5BVVRIT1JJU0VEX1BMQUNFX05PVElDRV9DT01QT05FTlQgPSBuZXcgSW5qZWN0aW9uVG9rZW48Q29uc3RydWN0YWJsZTxhbnk+PignQVVQX1VOQVVUSE9SSVNFRF9QTEFDRV9DT01QT05FTlQnKTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXVwLXBsYWNlLW91dGxldCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9wbGFjZS1vdXRsZXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wbGFjZS1vdXRsZXQuY29tcG9uZW50LnNjc3MnXSxcbiAgYW5pbWF0aW9uczogW0xFRlRfUklHSFRfUExBQ0VfQU5JTUFUSU9OXVxufSlcbmV4cG9ydCBjbGFzcyBQbGFjZU91dGxldENvbXBvbmVudCBleHRlbmRzIERpc3Bvc2FibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpIEBTdG9yZUluVmFsdWVNb2RlbCgnYW5pbWF0ZU1vZGVsJylcbiAgYW5pbWF0ZTogYm9vbGVhbjtcblxuICBASW5wdXQoKSBAVHJhY2tFeHRlcm5hbCh7IGRlZmF1bHRWYWx1ZTogdHJ1ZSB9KVxuICBhbmltYXRlTW9kZWw6IFZhbHVlTW9kZWw8Ym9vbGVhbj47XG5cbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWlucHV0LXJlbmFtZVxuICBASW5wdXQoJ3BsYWNlQW5pbWF0aW9uT3JkZXJNb2RlbCcpIEBUcmFja0V4dGVybmFsKClcbiAgY3VzdG9tUGxhY2VBbmltYXRpb25PcmRlck1vZGVsOiBMaXN0TW9kZWw8Q29uc3RydWN0YWJsZTxQbGFjZUNvbXBvbmVudD4+O1xuXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1pbnB1dC1yZW5hbWVcbiAgQElucHV0KCdwbGFjZUFuaW1hdGlvbk9yZGVyJykgQFN0b3JlSW5MaXN0TW9kZWwoJ2N1c3RvbVBsYWNlQW5pbWF0aW9uT3JkZXJNb2RlbCcpXG4gIGN1c3RvbVBsYWNlQW5pbWF0aW9uT3JkZXI6IENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+W107XG5cbiAgQE91dHB1dCgpXG4gIHJlYWRvbmx5IHBsYWNlQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8UGxhY2VDb21wb25lbnQ+KCk7XG5cbiAgQFZpZXdDaGlsZCgncm91dGVPdXRsZXQnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICByb3V0ZXJPdXQ6IFJvdXRlck91dGxldDtcblxuICBwcml2YXRlIG9uQW5pbWF0aW9uRmluaXNoZWRKb2I6ICgpID0+IHZvaWQ7XG5cblxuICBwcml2YXRlIG91dGxldEFjdGl2YXRlZCA9IG5ldyBNdXRhYmxlVmFsdWVNb2RlbChmYWxzZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2FjdGl2YXRlZFJvdXRlTW9kZWwgPSBuZXcgTXV0YWJsZVZhbHVlTW9kZWw8QWN0aXZhdGVkUm91dGU+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2FjdGl2ZVBsYWNlTW9kZWwgPSBuZXcgTXV0YWJsZVZhbHVlTW9kZWw8UGxhY2VDb21wb25lbnQ+KCk7XG5cbiAgcmVhZG9ubHkgX2FjdGl2ZVBsYWNlRGVmaW5pdGlvbjogVmFsdWVNb2RlbENoYWluPFBsYWNlRGVmaW5pdGlvbj47XG5cbiAgcHJpdmF0ZSBwYXJlbnRPdXRsZXRNb2RlbDogTXV0YWJsZVZhbHVlTW9kZWw8UGxhY2VPdXRsZXRDb21wb25lbnQ+O1xuICBwdWJsaWMgcmVhZG9ubHkgYWN0aXZlUGxhY2VBbmltYXRpb25Qb3NpdGlvbjogVmFsdWVNb2RlbENoYWluPG51bWJlcj47XG5cbiAgcHJpdmF0ZSBpbml0aWFsUGxhY2VJbmRleDogbnVtYmVyID0gbnVsbDtcbiAgcHJpdmF0ZSByb3V0ZXJWaXNpdE1vZGVsOiBWYWx1ZU1vZGVsQ2hhaW48VmlzaXQ+O1xuICBwcml2YXRlIF9pc1B1c2hpbmdWaXNpdFRvUm91dGUgPSBuZXcgTXV0YWJsZVZhbHVlTW9kZWw8Ym9vbGVhbj4oZmFsc2UpO1xuICBwcml2YXRlIG5hdmlnYXRpb25JblByb2dyZXNzOiBWYWx1ZU1vZGVsQ2hhaW48Ym9vbGVhbj47XG5cbiAgcHJpdmF0ZSBpc1ZlcnlGaXJzdExvYWQgPSB0cnVlO1xuICBwcml2YXRlIHBsYWNlc0luQW5pbWF0aW9uT3JkZXI6IExpc3RNb2RlbENoYWluPENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+PjtcbiAgcHJpdmF0ZSBhbmltYXRpb25TdXBwb3J0ZWQ6IEJvb2xlYW5WYWx1ZU1vZGVsQ2hhaW47XG4gIHJlYWRvbmx5IGFuaW1hdGlvbkVuYWJsZWQ6IEJvb2xlYW5WYWx1ZU1vZGVsQ2hhaW47XG4gIHJlYWRvbmx5IGF1dGhvcmlzZWQ6IFZhbHVlTW9kZWxDaGFpbjxib29sZWFuPjtcbiAgcmVhZG9ubHkgbm90QXV0aG9yaXNlZE5vdGljZVBvcnRhbDogQ29tcG9uZW50UG9ydGFsPGFueT47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSBwbGFjZVJvdXRlcjogUGxhY2VSb3V0ZXIsXG4gICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoQVVQX1BMQUNFX0NPTkZJRykgcmVhZG9ubHkgcGxhY2VDb25maWc6IFBsYWNlQ29uZmlnLFxuICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEFVUF9VTkFVVEhPUklTRURfUExBQ0VfTk9USUNFX0NPTVBPTkVOVCkgdW5hdXRob3Jpc2VkUGxhY2VOb3RpY2U6IENvbnN0cnVjdGFibGU8YW55PixcbiAgICAgICAgICAgICAgQFNraXBTZWxmKCkgQE9wdGlvbmFsKCkgcGFyZW50T3V0bGV0OiBQbGFjZU91dGxldENvbXBvbmVudCxcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgc3VwZXIoKTtcbiAgICBjb25zdCB7IGNoYWluLCB2YWx1ZU9mLCBiZWZvcmUsIHdoZW4sIGFmdGVyLCBvYnNlcnZlLCBzd2l0Y2hPbiB9ID0gRHNsLmRpc3Bvc2VXaXRoKHRoaXMpO1xuXG4gICAgdGhpcy5wYXJlbnRPdXRsZXRNb2RlbCA9IG5ldyBNdXRhYmxlVmFsdWVNb2RlbChwYXJlbnRPdXRsZXQpO1xuXG4gICAgY29uc3QgZGVmYXVsdFBsYWNlQW5pbWF0aW9uT3JkZXIgPSBjaGFpbih0aGlzLnBhcmVudE91dGxldE1vZGVsKVxuICAgICAgLnB1bGxWYWx1ZU1vZGVsKG8gPT4gby5hY3RpdmVQbGFjZU1vZGVsKVxuICAgICAgLnBsdWNrKCdwbGFjZURlZmluaXRpb24nKVxuICAgICAgLnBsdWNrTGlzdCgnY2hpbGRyZW4nKVxuICAgICAgLnBsdWNrKCdjb21wb25lbnQnKTtcblxuICAgIGNvbnN0IGFjdGl2YXRlUGxhY2VUeXBlID0gY2hhaW4odGhpcy5hY3RpdmVQbGFjZU1vZGVsKS5tYXAocCA9PiBwLmNvbnN0cnVjdG9yIGFzIENvbnN0cnVjdGFibGU8UGxhY2VDb21wb25lbnQ+KTtcblxuICAgIHRoaXMucGxhY2VzSW5BbmltYXRpb25PcmRlciA9IGNoYWluKHRoaXMuY3VzdG9tUGxhY2VBbmltYXRpb25PcmRlck1vZGVsKVxuICAgICAgLm90aGVyd2lzZShkZWZhdWx0UGxhY2VBbmltYXRpb25PcmRlcik7XG5cbiAgICB0aGlzLmFjdGl2ZVBsYWNlQW5pbWF0aW9uUG9zaXRpb24gPSB0aGlzLnBsYWNlc0luQW5pbWF0aW9uT3JkZXJcbiAgICAgIC5yZWR1Y2UoKHBsYWNlc0luT3JkZXIpID0+IHtcbiAgICAgICAgbGV0IHBsYWNlSW5kZXggPSAwO1xuICAgICAgICBpZiAoYWN0aXZhdGVQbGFjZVR5cGUudmFsdWUpIHtcbiAgICAgICAgICBwbGFjZUluZGV4ID0gcGxhY2VzSW5PcmRlci5pbmRleE9mKGFjdGl2YXRlUGxhY2VUeXBlLnZhbHVlKTtcbiAgICAgICAgICBpZiAoaXNOaWwodGhpcy5pbml0aWFsUGxhY2VJbmRleCkpIHtcbiAgICAgICAgICAgIHRoaXMuaW5pdGlhbFBsYWNlSW5kZXggPSBwbGFjZUluZGV4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaXNOaWwodGhpcy5pbml0aWFsUGxhY2VJbmRleCkgPyAwIDogcGxhY2VJbmRleCAtIHRoaXMuaW5pdGlhbFBsYWNlSW5kZXg7XG4gICAgICB9LCB7IGRlcGVuZHNPbjogYWN0aXZhdGVQbGFjZVR5cGUgfSk7XG5cbiAgICB0aGlzLmFuaW1hdGlvblN1cHBvcnRlZCA9IHRoaXMucGxhY2VzSW5BbmltYXRpb25PcmRlci5jb3VudCgpLmlzR3JlYXRlclRoYW4oMCk7XG4gICAgdGhpcy5hbmltYXRpb25FbmFibGVkID0gdmFsdWVPZi5hbGwoXG4gICAgICB0aGlzLmFuaW1hdGVNb2RlbCxcbiAgICAgIHRoaXMuYW5pbWF0aW9uU3VwcG9ydGVkXG4gICAgKS5hcmVUcnV0aHkoKTtcblxuICAgIC8vIEV4dHJhY3Qgb3VyIHZpc2l0IG1vZGVsIGZyb20gdGhlIHBsYWNlIHJvdXRlci5cbiAgICB0aGlzLl9hY3RpdmVQbGFjZURlZmluaXRpb24gPSBjaGFpbih0aGlzLl9hY3RpdmVQbGFjZU1vZGVsKS5wbHVjaygncGxhY2VEZWZpbml0aW9uJyk7XG4gICAgdGhpcy5yb3V0ZXJWaXNpdE1vZGVsID0gY2hhaW4ocGxhY2VSb3V0ZXIuc3RhdGUkKS5tYXAoc3RhdGUgPT4gc3RhdGUuZ2V0VmlzaXRGb3IodGhpcy5fYWN0aXZlUGxhY2VEZWZpbml0aW9uLnZhbHVlKSwgeyBkZXBlbmRzT246IHRoaXMuX2FjdGl2ZVBsYWNlRGVmaW5pdGlvbiB9KTtcblxuICAgIHRoaXMubmF2aWdhdGlvbkluUHJvZ3Jlc3MgPSBjaGFpbih0aGlzLnBsYWNlUm91dGVyLm5hdmlnYXRpb25JblByb2dyZXNzJCk7XG5cbiAgICB3aGVuKHRoaXMubmF2aWdhdGlvbkluUHJvZ3Jlc3MpLmJlY29tZXNGYWxzZXkoKCkgPT4ge1xuICAgICAgdGhpcy5jaGVja1N0YXRlQW5kSW5pdGlhbGlzZSgpO1xuICAgIH0pO1xuICAgIHdoZW4odGhpcy5vdXRsZXRBY3RpdmF0ZWQpLmJlY29tZXNUcnV0aHkoKCkgPT4ge1xuICAgICAgdGhpcy5jaGVja1N0YXRlQW5kSW5pdGlhbGlzZSgpO1xuICAgIH0pO1xuXG4gICAgY2hhaW4odGhpcy5fYWN0aXZlUGxhY2VNb2RlbClcbiAgICAgIC5wb3N0cG9uZVdoaWxlKHRoaXMubmF2aWdhdGlvbkluUHJvZ3Jlc3MpXG4gICAgICAuc3Vic2NyaWJlKHBsYWNlID0+IHRoaXMucGxhY2VDaGFuZ2VkLmVtaXQocGxhY2UpKTtcblxuICAgIHRoaXMuYXV0aG9yaXNlZCA9IGNoYWluKHBsYWNlUm91dGVyLmFjY2Vzc0d1YXJkKS5tYXAoZ3VhcmQgPT4gZ3VhcmQuaXNBdXRob3Jpc2VkKHRoaXMuX2FjdGl2ZVBsYWNlRGVmaW5pdGlvbi52YWx1ZSksIHtcbiAgICAgIGRlcGVuZHNPbjogdGhpcy5fYWN0aXZlUGxhY2VEZWZpbml0aW9uLFxuICAgICAgcG9zdHBvbmVXaGlsZTogY2hhaW4odGhpcy5fYWN0aXZlUGxhY2VEZWZpbml0aW9uKS5pc05pbCgpXG4gICAgfSkub3RoZXJ3aXNlKHRydWUpOyAvLyBpZiB3ZSBkb24ndCBoYXZlIGEgcGxhY2UgZGVmIHlldCB3ZSBuZWVkIHRvIHNob3cgdGhlIG91dGxldCBzbyB3ZSBnZXQgb25lIGluamVjdGVkLlxuXG4gICAgdGhpcy5ub3RBdXRob3Jpc2VkTm90aWNlUG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbCh1bmF1dGhvcmlzZWRQbGFjZU5vdGljZSA/PyBOb3RBdXRob3Jpc2VkTm90aWNlQ29tcG9uZW50KTtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIG5nT25Jbml0KCkge1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgZ2V0QW5pbWF0aW9uT3JkZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWN0aXZlUGxhY2VBbmltYXRpb25Qb3NpdGlvbi52YWx1ZTtcbiAgfVxuXG4gIGdldCBhbmltYXRpb25EdXJhdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5wbGFjZUNvbmZpZyAmJiB0aGlzLnBsYWNlQ29uZmlnLmFuaW1hdGlvbkR1cmF0aW9uID8gdGhpcy5wbGFjZUNvbmZpZy5hbmltYXRpb25EdXJhdGlvbiA6ICc1MDBtcyc7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5hdXRob3Jpc2VkXCIpXG4gIGdldCBpc0F1dGhvcmlzZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuYXV0aG9yaXNlZC52YWx1ZTtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIG5hdmlnYXRlKHZpc2l0OiBWaXNpdCkge1xuICAgIC8vIGNvbnN0IHBsYWNlID0gdGhpcy5wbGFjZXNJbkFuaW1hdGlvbk9yZGVyLnF1ZXJ5KCkuZmluZE1hdGNoaW5nKHAgPT4gdmlzaXQucGxhY2VEZWZpbml0aW9uLmNvbXBvbmVudCA9PT0gcCk7XG4gICAgLy8gaWYgKCFwbGFjZSkge1xuICAgIC8vICAgICBsYW5nLmlsbGVnYWxTdGF0ZSgpXG4gICAgLy8gfVxuICAgIHRoaXMucGxhY2VSb3V0ZXIubmF2aWdhdGUodmlzaXQsIHtcbiAgICAgIHJlbGF0aXZlVG86IHRoaXMucGFyZW50T3V0bGV0ID8gdGhpcy5wYXJlbnRPdXRsZXQuYWN0aXZhdGVkUm91dGVNb2RlbC52YWx1ZSA6IG51bGxcbiAgICB9KTtcbiAgfVxuXG4gIGdldCBwYXJlbnRPdXRsZXQoKTogUGxhY2VPdXRsZXRDb21wb25lbnQge1xuICAgIHJldHVybiB0aGlzLnBhcmVudE91dGxldE1vZGVsLnZhbHVlO1xuICB9XG5cblxuICBnZXQgYWN0aXZlUGxhY2VNb2RlbCgpOiBWYWx1ZU1vZGVsPFBsYWNlQ29tcG9uZW50PiB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2ZVBsYWNlTW9kZWwucmVhZG9ubHk7XG4gIH1cblxuICBnZXQgYWN0aXZhdGVkUm91dGVNb2RlbCgpOiBWYWx1ZU1vZGVsPEFjdGl2YXRlZFJvdXRlPiB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2YXRlZFJvdXRlTW9kZWwucmVhZG9ubHk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBvbk91dGxldEFjdGl2YXRlZChyb3V0ZXJPdXRsZXQ6IFJvdXRlck91dGxldCwgcGxhY2U6IFBsYWNlQ29tcG9uZW50KSB7XG4gICAgdGhpcy5fYWN0aXZhdGVkUm91dGVNb2RlbC52YWx1ZSA9IHJvdXRlck91dGxldC5hY3RpdmF0ZWRSb3V0ZTtcbiAgICB0aGlzLl9hY3RpdmVQbGFjZU1vZGVsLnZhbHVlID0gcGxhY2U7XG4gICAgdGhpcy52YWxpZGF0ZUFuaW1hdGlvblN0YXRlKHBsYWNlKTtcbiAgICB0aGlzLm91dGxldEFjdGl2YXRlZC52YWx1ZSA9IHRydWU7XG4gICAgdGhpcy5jaGVja1N0YXRlQW5kSW5pdGlhbGlzZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZUFuaW1hdGlvblN0YXRlKHBsYWNlOiBQbGFjZUNvbXBvbmVudCkge1xuICAgIGlmICh0aGlzLmFuaW1hdGVNb2RlbC52YWx1ZSkge1xuICAgICAgaWYgKHRoaXMucGxhY2VzSW5BbmltYXRpb25PcmRlci5sZW5ndGggPCAxKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ1BsYWNlT3V0bGV0LmFuaW1hdGUgPT09IHRydWUgYnV0IHBsYWNlQW5pbWF0aW9uT3JkZXIgaGFzIG5vdCBiZWVuIHNldC4gQW5pbWF0aW9uIGlzIGRpc2FibGVkLicpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKCF0aGlzLnBsYWNlc0luQW5pbWF0aW9uT3JkZXIucXVlcnkoKS5pbmNsdWRlcyhwbGFjZS5wbGFjZURlZmluaXRpb24uY29tcG9uZW50KSkge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYFBsYWNlT3V0bGV0LmFuaW1hdGUgPT09IHRydWUgYnV0IHBsYWNlQW5pbWF0aW9uT3JkZXIgZG9lc24ndCBjb250YWluICR7cGxhY2UucGxhY2VEZWZpbml0aW9uLmNvbXBvbmVudC5uYW1lfS5gKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIG9uT3V0bGV0RGVhY3RpdmF0ZWQoKSB7XG4gICAgdGhpcy5vdXRsZXRBY3RpdmF0ZWQudmFsdWUgPSBmYWxzZTtcbiAgICB0aGlzLl9hY3RpdmVQbGFjZU1vZGVsLnZhbHVlID0gbnVsbDtcbiAgICB0aGlzLl9hY3RpdmF0ZWRSb3V0ZU1vZGVsLnZhbHVlID0gbnVsbDtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIHByaXZhdGUgY2hlY2tTdGF0ZUFuZEluaXRpYWxpc2UoKSB7XG4gICAgY29uc3Qgcm91dGVyVmlzaXQgPSB0aGlzLnJvdXRlclZpc2l0TW9kZWwudmFsdWU7XG4gICAgY29uc3QgYWN0aXZlUGxhY2UgPSB0aGlzLmFjdGl2ZVBsYWNlTW9kZWwudmFsdWU7XG4gICAgaWYgKHJvdXRlclZpc2l0ICYmIGFjdGl2ZVBsYWNlICYmICFhY3RpdmVQbGFjZS5pc0luaXRpYWxpc2VkKCkpIHtcbiAgICAgIGlmIChyb3V0ZXJWaXNpdC5wbGFjZURlZmluaXRpb24gIT09IGFjdGl2ZVBsYWNlLnBsYWNlRGVmaW5pdGlvbikge1xuICAgICAgICBsYW5nLmlsbGVnYWxTdGF0ZSgnd3JvbmcgdmlzaXQhISEnKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuaW5pdGlhbGlzZVBsYWNlKHJvdXRlclZpc2l0LCBhY3RpdmVQbGFjZSk7XG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKClcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGluaXRpYWxpc2VQbGFjZShyb3V0ZXJWaXNpdDogVmlzaXQsIGFjdGl2ZVBsYWNlOiBQbGFjZUNvbXBvbmVudCkge1xuICAgIGNvbnN0IHZpc2l0TW9kZWwgPSBuZXcgTXV0YWJsZVZhbHVlTW9kZWw8VmlzaXQ+KHJvdXRlclZpc2l0KTtcbiAgICBEZWJ1Z0NvbnRleHQudGFnKHZpc2l0TW9kZWwsIGBQbGFjZU91dGxldENvbXBvbmVudFske2FjdGl2ZVBsYWNlLmNvbnN0cnVjdG9yLm5hbWV9KV0udmlzaXRNb2RlbGApO1xuICAgIGFjdGl2ZVBsYWNlLmluaXRpYWxpc2VWaXNpdChyb3V0ZXJWaXNpdCwgKGN1cnJlbnQsIHByZXZpb3VzKSA9PiB7XG4gICAgICB0aGlzLnB1c2hWaXNpdENoYW5nZVRvUm91dGUocHJldmlvdXMsIGN1cnJlbnQpO1xuICAgIH0pO1xuICAgIGNvbnN0IGZpbmlzaFBsYWNlTG9hZCA9ICgpID0+IHtcbiAgICAgIHRoaXMuX2FjdGl2ZVBsYWNlTW9kZWwudmFsdWUuX25vdGlmeUFjdGl2ZSh0cnVlKTtcbiAgICB9O1xuICAgIGlmICghdGhpcy5hbmltYXRpb25FbmFibGVkLnZhbHVlIHx8IHRoaXMuaXNWZXJ5Rmlyc3RMb2FkKSB7XG4gICAgICAvLyBpZiBhbmltYXRpb24gaXMgZGlzYWJsZWQgb3IgdGhpcyBpcyB0aGUgdmVyeSBmaXJzdCBsb2FkIHRoZW5cbiAgICAgIC8vIHdlIHdvbid0IGdldCBvdXIgYW5pbWF0aW9uIGRvbmUgY2FsbGJhY2sgc28gd2UgZmluaXNoIHRoZVxuICAgICAgLy8gcHJvY2VzcyBoZXJlIGFuZCBub3cuXG4gICAgICB0aGlzLmlzVmVyeUZpcnN0TG9hZCA9IGZhbHNlO1xuICAgICAgZmluaXNoUGxhY2VMb2FkKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub25BbmltYXRpb25GaW5pc2hlZEpvYiA9IGZpbmlzaFBsYWNlTG9hZDtcbiAgICB9XG4gICAgY29uc3QgeyB3aGVuLCBjaGFpbiwgdmFsdWVPZiB9ID0gRHNsLmRpc3Bvc2VXaXRoKGFjdGl2ZVBsYWNlKTtcbiAgICB3aGVuKHRoaXMucm91dGVyVmlzaXRNb2RlbClcbiAgICAgIC5jaGFuZ2VzKHZpc2l0ID0+IHtcbiAgICAgICAgY29uc29sZS5sb2coXCJyb3V0ZXJWaXNpdE1vZGVsLmNoYW5nZVwiLCB7IHJvdXRlclZpc2l0TW9kZWw6IHRoaXMucm91dGVyVmlzaXRNb2RlbC52YWx1ZSB9KVxuICAgICAgICB0aGlzLnB1c2hWaXNpdENoYW5nZVRvQ29tcG9uZW50KGFjdGl2ZVBsYWNlLCB2aXNpdCk7XG4gICAgICB9LCB7XG4gICAgICAgIHVubGVzczogdmFsdWVPZi5hbnkoXG4gICAgICAgICAgdGhpcy5faXNQdXNoaW5nVmlzaXRUb1JvdXRlLFxuICAgICAgICAgIHRoaXMucm91dGVyVmlzaXRNb2RlbC5pc05pbCgpXG4gICAgICAgICkuYXJlVHJ1dGh5KClcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBwdXNoVmlzaXRDaGFuZ2VUb0NvbXBvbmVudChhY3RpdmVQbGFjZTogUGxhY2VDb21wb25lbnQsIHZpc2l0OiBWaXNpdCkge1xuICAgIGFjdGl2ZVBsYWNlLnVwZGF0ZVZpc2l0KHZpc2l0KTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcHVzaFZpc2l0Q2hhbmdlVG9Sb3V0ZShwcmV2aW91czogVmlzaXQsIGN1cnJlbnQ6IFZpc2l0KSB7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMuX2lzUHVzaGluZ1Zpc2l0VG9Sb3V0ZS52YWx1ZSA9IHRydWU7XG4gICAgICBhd2FpdCB0aGlzLnBsYWNlUm91dGVyLnB1c2hWaXNpdENoYW5nZXNUb1JvdXRlKHByZXZpb3VzLCBjdXJyZW50KTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5faXNQdXNoaW5nVmlzaXRUb1JvdXRlLnZhbHVlID0gZmFsc2U7XG4gICAgfVxuICAgIC8vIHNhbml0aXNlcnMgbWF5IGhhdmUgYWRqdXN0ZWQgb3RoZXIgdmFsdWVzIGluIHRoZSB2aXNpdCB0byB3ZSBjaGVjayBhbmQgd3JpdGUgaXQgYmFjay5cbiAgICBjb25zdCByb3V0ZXJWaXNpdCA9IHRoaXMucm91dGVyVmlzaXRNb2RlbC52YWx1ZTsgLy8gdGhpcyBpcyBvY2Nhc2lvbmFsbHkgbnVsbC4uLiBuZWVkIHRvIGludmVzdGlnYXRlIGlmIHRoYXQncyBhIG5vcm1hbCBzdGF0ZSBvciBub3QuXG4gICAgaWYgKHJvdXRlclZpc2l0ICYmIGN1cnJlbnQuaGFzUm91dGluZ0NoYW5nZWRGcm9tKHJvdXRlclZpc2l0KSkge1xuICAgICAgdGhpcy5wdXNoVmlzaXRDaGFuZ2VUb0NvbXBvbmVudCh0aGlzLmFjdGl2ZVBsYWNlTW9kZWwudmFsdWUsIHJvdXRlclZpc2l0KVxuICAgIH1cbiAgfVxuXG4vLyBAVHJhY2UoKVxuICBhbmltYXRpb25TdGFydGVkKCkge1xuICAgIC8vIGNvbnNvbGUubG9nKHsgYWN0aXZlUGxhY2U6IHRoaXMuX2FjdGl2ZVBsYWNlTW9kZWwudmFsdWUgfSk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBhbmltYXRpb25Eb25lKCkge1xuICAgIGlmICh0aGlzLm9uQW5pbWF0aW9uRmluaXNoZWRKb2IpIHtcbiAgICAgIHRoaXMub25BbmltYXRpb25GaW5pc2hlZEpvYigpO1xuICAgICAgdGhpcy5vbkFuaW1hdGlvbkZpbmlzaGVkSm9iID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiYW5pbWF0aW9uRW5hYmxlZC52YWx1ZVwiPlxuICA8ZGl2IGNsYXNzPVwicm91dGVyLW91dGxldC1jb250YWluZXJcIlxuICAgICAgIGNka1Njcm9sbGFibGVcbiAgICAgICBbQHJvdXRlQW5pbWF0aW9uc109XCJ7dmFsdWU6IGdldEFuaW1hdGlvbk9yZGVyKCksIHBhcmFtczp7ZHVyYXRpb246IGFuaW1hdGlvbkR1cmF0aW9ufX1cIlxuICAgICAgIChAcm91dGVBbmltYXRpb25zLnN0YXJ0KT1cImFuaW1hdGlvblN0YXJ0ZWQoKVwiXG4gICAgICAgKEByb3V0ZUFuaW1hdGlvbnMuZG9uZSk9XCJhbmltYXRpb25Eb25lKClcIlxuICA+XG4gICAgPHJvdXRlci1vdXRsZXQgI3JvdXRlck91dGxldD1cIm91dGxldFwiXG4gICAgICAgICAgICAgICAgICAgKGFjdGl2YXRlKT1cIm9uT3V0bGV0QWN0aXZhdGVkKHJvdXRlck91dGxldCwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgKGRlYWN0aXZhdGUpPVwib25PdXRsZXREZWFjdGl2YXRlZCgpXCI+XG4gICAgPC9yb3V0ZXItb3V0bGV0PlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwiIWFuaW1hdGlvbkVuYWJsZWQudmFsdWVcIj5cbiAgPGRpdiBjbGFzcz1cInJvdXRlci1vdXRsZXQtY29udGFpbmVyXCJcbiAgICAgICBjZGtTY3JvbGxhYmxlPlxuICAgIDxyb3V0ZXItb3V0bGV0ICNyb3V0ZXJPdXRsZXQ9XCJvdXRsZXRcIlxuICAgICAgICAgICAgICAgICAgIChhY3RpdmF0ZSk9XCJvbk91dGxldEFjdGl2YXRlZChyb3V0ZXJPdXRsZXQsICRldmVudClcIlxuICAgICAgICAgICAgICAgICAgIChkZWFjdGl2YXRlKT1cIm9uT3V0bGV0RGVhY3RpdmF0ZWQoKVwiPlxuICAgIDwvcm91dGVyLW91dGxldD5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cblxuPGRpdiAgY2xhc3M9XCJub3QtYXV0aG9yaXNlZC1jb21wb25lbnQtY29udGFpbmVyXCIgKm5nSWY9XCIhYXV0aG9yaXNlZC52YWx1ZVwiPlxuICA8bmctdGVtcGxhdGUgW2Nka1BvcnRhbE91dGxldF09XCJub3RBdXRob3Jpc2VkTm90aWNlUG9ydGFsXCI+PC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuIl19
|
|
@@ -13,6 +13,9 @@ export class RemoveLastInteractionFromUrlNavigationSession extends NavigationSes
|
|
|
13
13
|
this.debugPropertyKeys = ['startingUrl', 'poppedHistoryUrl'];
|
|
14
14
|
this.finished = Deferred.defer();
|
|
15
15
|
}
|
|
16
|
+
get isInteractionSync() {
|
|
17
|
+
return true;
|
|
18
|
+
}
|
|
16
19
|
// @Trace()
|
|
17
20
|
onPopState(event) {
|
|
18
21
|
this.gotPopState = true;
|
|
@@ -46,4 +49,4 @@ export class RemoveLastInteractionFromUrlNavigationSession extends NavigationSes
|
|
|
46
49
|
return this.finished.promise;
|
|
47
50
|
}
|
|
48
51
|
}
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLWxhc3QtaW50ZXJhY3Rpb24tZnJvbS11cmwtbmF2aWdhdGlvbi1zZXNzaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvcGxhY2UvbmF2aWdhdGlvbi9zZXNzaW9uL2ludGVyYWN0aW9ucy9yZW1vdmUtbGFzdC1pbnRlcmFjdGlvbi1mcm9tLXVybC1uYXZpZ2F0aW9uLXNlc3Npb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQVMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUUxRDs7Ozs7R0FLRztBQUNILE1BQU0sT0FBTyw2Q0FBOEMsU0FBUSxpQkFBaUI7SUFPbEYsWUFBWSxPQUEwQixFQUFFLFdBQW1CO1FBQ3pELEtBQUssQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFQckIsZUFBVSxHQUFHLElBQUksQ0FBQztRQUMzQixzQkFBaUIsR0FBRyxDQUFDLGFBQWEsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO1FBT3RELElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDLEtBQUssRUFBVyxDQUFDO0lBQzVDLENBQUM7SUFFRCxJQUFJLGlCQUFpQjtRQUNuQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFHRCxXQUFXO0lBQ1gsVUFBVSxDQUFDLEtBQXNCO1FBQy9CLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO0lBQzFCLENBQUM7SUFFRCxXQUFXO0lBQ1gsZUFBZSxDQUFDLEtBQXNCO1FBQ3BDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVELFdBQVc7SUFDWCxpQkFBaUIsQ0FBQyxLQUF1QjtRQUN2QyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxXQUFXO0lBQ1gsV0FBVyxDQUFDLEdBQVc7SUFDdkIsQ0FBQztJQUVPLFFBQVE7UUFDZCxJQUFJLENBQUMsT0FBTyxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDcEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELFdBQVc7SUFDWCxXQUFXLENBQUMsS0FBb0I7UUFDOUIsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3BCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUNqQjtJQUNILENBQUM7SUFFRCxXQUFXO0lBQ1gseUNBQXlDLENBQUMsa0JBQTBCO1FBQ2xFLElBQUksQ0FBQyxZQUFZLENBQUMsNEhBQTRILENBQUMsQ0FBQztJQUNsSixDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUM7SUFDL0IsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmF2aWdhdGlvbkNhbmNlbCwgTmF2aWdhdGlvbkVuZCwgTmF2aWdhdGlvblN0YXJ0IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IERlZmVycmVkLCBsYW5nLCBUcmFjZSB9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7IE5hdmlnYXRpb25Db250ZXh0IH0gZnJvbSAnLi4vbmF2aWdhdGlvbi1jb250ZXh0JztcbmltcG9ydCB7IE5hdmlnYXRpb25TZXNzaW9uIH0gZnJvbSAnLi4vbmF2aWdhdGlvbi1zZXNzaW9uJztcblxuLyoqXG4gKiBUaGlzIHNlc3Npb24gdHJhY2tzIHRoZSBwcm9jZXNzIG9mIHJlbW92aW5nIHRoZSBsYXN0IGludGVyYWN0aW9uIGNvbnRleHQgZnJvbSB0aGUgVVJMIGFuZCBwcm92aWRlcyBhIHByb21pc2VcbiAqIHRoZSByZXNvbHZlcyB3aGVuIHRoZSBwcm9jZXNzIGFuZCBjb21wbGV0ZWQuICBUaGlzIGNhc2UgaXMgc3BlY2lhbCBhcyB0aGUgcHJvY2VzcyBpbnZvbHZlcyBhIHJlZ3VsYXIgcm91dGluZyBjeWNsZVxuICogZm9sbG93ZWQgYnkgYSBjYWxsIHRvIGxvY2F0aW9uLmJhY2soKS4gIFRoZSBsYXRlciB0cmlnZ2VycyBhIHVybCBjaGFuZ2Ugd2l0aCBubyBvdGhlciByb3V0aW5nIGV2ZW50cy4gIFNvIHRoaXNcbiAqIGNsYXNzIHRyYWNrcyB3aGVuIHRoZSBmaXJzdCByb3V0aW5nIGN5Y2xlIGZpbmlzaGVzIGFuZCB0aGVuIHdhaXRzIGZvciB0aGUgc3Vic2VxdWVudCBsb25lIHVybCBjaGFuZ2UgZXZlbnQuXG4gKi9cbmV4cG9ydCBjbGFzcyBSZW1vdmVMYXN0SW50ZXJhY3Rpb25Gcm9tVXJsTmF2aWdhdGlvblNlc3Npb24gZXh0ZW5kcyBOYXZpZ2F0aW9uU2Vzc2lvbiB7XG4gIHJlYWRvbmx5IGlzUG9wU3RhdGUgPSB0cnVlO1xuICBkZWJ1Z1Byb3BlcnR5S2V5cyA9IFsnc3RhcnRpbmdVcmwnLCAncG9wcGVkSGlzdG9yeVVybCddO1xuXG4gIHByaXZhdGUgZmluaXNoZWQ6IERlZmVycmVkPGJvb2xlYW4+O1xuICBwcml2YXRlIGdvdFBvcFN0YXRlOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKGNvbnRleHQ6IE5hdmlnYXRpb25Db250ZXh0LCBzdGFydGluZ1VybDogc3RyaW5nKSB7XG4gICAgc3VwZXIoY29udGV4dCwgc3RhcnRpbmdVcmwpO1xuICAgIHRoaXMuZmluaXNoZWQgPSBEZWZlcnJlZC5kZWZlcjxib29sZWFuPigpO1xuICB9XG5cbiAgZ2V0IGlzSW50ZXJhY3Rpb25TeW5jKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cblxuICAvLyBAVHJhY2UoKVxuICBvblBvcFN0YXRlKGV2ZW50OiBOYXZpZ2F0aW9uU3RhcnQpOiB2b2lkIHtcbiAgICB0aGlzLmdvdFBvcFN0YXRlID0gdHJ1ZTtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIG9uUm91dGVyU3RhcnRlZChldmVudDogTmF2aWdhdGlvblN0YXJ0KTogdm9pZCB7XG4gICAgdGhpcy5pZ25vcmUoZXZlbnQpO1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgb25Sb3V0ZXJDYW5jZWxsZWQoZXZlbnQ6IE5hdmlnYXRpb25DYW5jZWwpOiB2b2lkIHtcbiAgICB0aGlzLmlnbm9yZShldmVudCk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBvblVybENoYW5nZSh1cmw6IHN0cmluZykge1xuICB9XG5cbiAgcHJpdmF0ZSBmaW5pc2hVcCgpIHtcbiAgICB0aGlzLmNvbnRleHQuZmluaXNoUm91dGluZ1Nlc3Npb24oKTtcbiAgICB0aGlzLmZpbmlzaGVkLnJlc29sdmUodHJ1ZSk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBvblJvdXRlckVuZChldmVudDogTmF2aWdhdGlvbkVuZCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmdvdFBvcFN0YXRlKSB7XG4gICAgICB0aGlzLmZpbmlzaFVwKCk7XG4gICAgfVxuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgaGFuZGxlQ2FuRGVhY3RpdmF0ZUNhbmNlbGxlZEV2ZW50U2NlbmFyaW8obG9jYXRpb25UcmlnZ2VyVXJsOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBsYW5nLmlsbGVnYWxTdGF0ZSgnb25DYW5EZWFjdGl2YXRlSW50ZXJhY3Rpb25DYW5jZWxsZWQgbm90IHN1cHBvcnRlZCBmb3IgYWN0aXZpdHkgY29udGV4dCBzeW5jaHJvbmlzYXRpb24gc2luY2Ugd2Ugc2hvdWxkIG5ldmVyIGxlYXZlIGEgcGxhY2UnKTtcbiAgfVxuXG4gIGdldCBmaW5pc2hlZFByb21pc2UoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuZmluaXNoZWQucHJvbWlzZTtcbiAgfVxuXG59XG4iXX0=
|
|
@@ -8,6 +8,9 @@ export class SynchroniseInteractionContextIdsWithRoute extends NavigationSession
|
|
|
8
8
|
this.wasTriggeredByPopState = wasTriggeredByPopState;
|
|
9
9
|
this.isPopState = false;
|
|
10
10
|
}
|
|
11
|
+
get isInteractionSync() {
|
|
12
|
+
return true;
|
|
13
|
+
}
|
|
11
14
|
notifyActive() {
|
|
12
15
|
// TODO: Do I still need this??
|
|
13
16
|
setTimeout(() => {
|
|
@@ -82,4 +85,4 @@ export class SynchroniseInteractionContextIdsWithRoute extends NavigationSession
|
|
|
82
85
|
lang.methodNotSupported();
|
|
83
86
|
}
|
|
84
87
|
}
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luY2hyb25pc2UtaW50ZXJhY3Rpb24tY29udGV4dC1pZHMtd2l0aC1yb3V0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL3BsYWNlL25hdmlnYXRpb24vc2Vzc2lvbi9pbnRlcmFjdGlvbnMvc3luY2hyb25pc2UtaW50ZXJhY3Rpb24tY29udGV4dC1pZHMtd2l0aC1yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFcEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUVqQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsNkNBQTZDLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUV0SCxNQUFNLE9BQU8seUNBQTBDLFNBQVEsaUJBQWlCO0lBSTlFLFlBQVksT0FBMEIsRUFBRSxXQUFtQixFQUFXLHNCQUErQjtRQUNuRyxLQUFLLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBRHdDLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBUztRQUY1RixlQUFVLEdBQUcsS0FBSyxDQUFDO0lBSTVCLENBQUM7SUFFRCxJQUFJLGlCQUFpQjtRQUNuQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFHRCxZQUFZO1FBQ1YsK0JBQStCO1FBQy9CLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztRQUN0QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO0lBQ1gsV0FBVyxDQUFDLEtBQW9CO1FBQzlCLElBQUksQ0FBQyxPQUFPLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQsV0FBVztJQUNYLGlCQUFpQixDQUFD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LENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOYXZpZ2F0aW9uQ2FuY2VsLCBOYXZpZ2F0aW9uRW5kIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGxhbmcgfSBmcm9tICdAY29vbG9uL3R5cGVzY3JpcHQtdXRpbGl0aWVzJztcblxuaW1wb3J0IHsgaXNFcXVhbCB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uQ29udGV4dCB9IGZyb20gJy4uL25hdmlnYXRpb24tY29udGV4dCc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uU2Vzc2lvbiB9IGZyb20gJy4uL25hdmlnYXRpb24tc2Vzc2lvbic7XG5pbXBvcnQgeyBSZW1vdmVMYXN0SW50ZXJhY3Rpb25Gcm9tVXJsTmF2aWdhdGlvblNlc3Npb24gfSBmcm9tICcuL3JlbW92ZS1sYXN0LWludGVyYWN0aW9uLWZyb20tdXJsLW5hdmlnYXRpb24tc2Vzc2lvbic7XG5cbmV4cG9ydCBjbGFzcyBTeW5jaHJvbmlzZUludGVyYWN0aW9uQ29udGV4dElkc1dpdGhSb3V0ZSBleHRlbmRzIE5hdmlnYXRpb25TZXNzaW9uIHtcblxuICByZWFkb25seSBpc1BvcFN0YXRlID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoY29udGV4dDogTmF2aWdhdGlvbkNvbnRleHQsIHN0YXJ0aW5nVXJsOiBzdHJpbmcsIHJlYWRvbmx5IHdhc1RyaWdnZXJlZEJ5UG9wU3RhdGU6IGJvb2xlYW4pIHtcbiAgICBzdXBlcihjb250ZXh0LCBzdGFydGluZ1VybCk7XG4gIH1cblxuICBnZXQgaXNJbnRlcmFjdGlvblN5bmMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuXG4gIG5vdGlmeUFjdGl2ZSgpIHtcbiAgICAvLyBUT0RPOiBEbyBJIHN0aWxsIG5lZWQgdGhpcz8/XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnN5bmNJbnRlcmFjdGlvbklkc1dpdGhSb3V0ZXIoKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIG9uUm91dGVyRW5kKGV2ZW50OiBOYXZpZ2F0aW9uRW5kKTogdm9pZCB7XG4gICAgdGhpcy5jb250ZXh0LmZpbmlzaFJvdXRpbmdTZXNzaW9uKCk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBvblJvdXRlckNhbmNlbGxlZChldmVudDogTmF2aWdhdGlvbkNhbmNlbCk6IHZvaWQge1xuICAgIHRoaXMuY29udGV4dC5maW5pc2hSb3V0aW5nU2Vzc2lvbigpO1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgc3luY0ludGVyYWN0aW9uSWRzV2l0aFJvdXRlcigpOiB2b2lkIHtcbiAgICBjb25zdCBjdXJyZW50SWRzID0gdGhpcy5pbnRlcmFjdGlvblNlcnZpY2VBZGFwdGVyLmdldEFjdGl2ZUludGVyYWN0aW9uQ29udGV4dElkcygpO1xuICAgIGNvbnN0IHByZXZpb3VzSWRzID0gdGhpcy51cmxTZXJ2aWNlLmdldEN1cnJlbnRMb2NhdGlvblVybFNuYXBzaG90KCkuZ2V0SW50ZXJhY3Rpb25JZHMoKTtcbiAgICAvLyBjb25zb2xlLmxvZyhgLS0tPiBzeW5jaHJvbmlzZUludGVyYWN0aW9uSWRzYCwgeyBpczogY3VycmVudElkcy5qb2luKCcsJyksIHdhczogcHJldmlvdXNJZHMuam9pbignLCcpIH0pO1xuICAgIGlmIChpc0VxdWFsKGN1cnJlbnRJZHMsIHByZXZpb3VzSWRzKSkge1xuICAgICAgLy8gY29uc29sZS5sb2coJyMjIyBBY3Rpdml0eSBjb250ZXh0IGlkcyB3ZXJlIHRoZSBzYW1lLCBza2lwcGluZycpO1xuICAgICAgdGhpcy5jb250ZXh0LmZpbmlzaFJvdXRpbmdTZXNzaW9uKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChjdXJyZW50SWRzLmxlbmd0aCA+IHByZXZpb3VzSWRzLmxlbmd0aCkge1xuICAgICAgICBjb25zdCBpc0ZpcnN0QWN0aXZpdHkgPSBjdXJyZW50SWRzLmxlbmd0aCA+IHByZXZpb3VzSWRzLmxlbmd0aCAmJiBwcmV2aW91c0lkcy5sZW5ndGggPCAxO1xuICAgICAgICB0aGlzLmFkZEFjdGl2aXR5Q29udGV4dFRvUm91dGUoY3VycmVudElkcywgaXNGaXJzdEFjdGl2aXR5KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMucmVtb3ZlQWN0aXZpdHlDb250ZXh0RnJvbVJvdXRlKGN1cnJlbnRJZHMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIGFkZEFjdGl2aXR5Q29udGV4dFRvUm91dGUoYWN0aXZlSW50ZXJhY3Rpb25Db250ZXh0SWRzOiBzdHJpbmdbXSwgaXNGaXJzdDogYm9vbGVhbik6IHZvaWQge1xuICAgIGNvbnN0IHVybFNuYXBzaG90ID0gdGhpcy51cmxTZXJ2aWNlLmdldEN1cnJlbnRSb3V0ZXJTbmFwc2hvdCgpLnVwZGF0ZUludGVyYWN0aW9uSWRzKGFjdGl2ZUludGVyYWN0aW9uQ29udGV4dElkcyk7XG4gICAgdGhpcy5jb250ZXh0Lm5hdmlnYXRlQnlVcmwodXJsU25hcHNob3QsIHtcbiAgICAgIHJlcGxhY2VVcmw6ICFpc0ZpcnN0XG4gICAgfSkudGhlbihyZXN1bHQgPT4ge1xuICAgICAgaWYgKCF0aGlzLnVybFNlcnZpY2UuZ2V0Q3VycmVudExvY2F0aW9uVXJsU25hcHNob3QoKS5oYXNJbnRlcmFjdGlvbklkcyhhY3RpdmVJbnRlcmFjdGlvbkNvbnRleHRJZHMpKSB7XG4gICAgICAgIGxhbmcuaWxsZWdhbFN0YXRlKGBFeHBlY3RlZCB1cmwgdG8gYmUgJHt1cmxTbmFwc2hvdC51cmx9IGJ1dCB3YXMgJHt0aGlzLnVybFNlcnZpY2UuZ2V0Q3VycmVudExvY2F0aW9uVXJsKCl9YCk7XG4gICAgICAgIC8vIHRoaXMudXJsU2VydmljZS5yZXNldEJyb3dzZXJMb2NhdGlvbih1cmxTbmFwc2hvdC51cmwsIHtyZXBsYWNlQ3VycmVudDogIWlzRmlyc3R9KVxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cblxuICAvLyBAVHJhY2UoKVxuICByZW1vdmVBY3Rpdml0eUNvbnRleHRGcm9tUm91dGUoYWN0aXZlSW50ZXJhY3Rpb25Db250ZXh0SWQ6IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgY29uc3QgdXJsU25hcHNob3QgPSB0aGlzLnVybFNlcnZpY2UuZ2V0Q3VycmVudFJvdXRlclNuYXBzaG90KCkudXBkYXRlSW50ZXJhY3Rpb25JZHMoYWN0aXZlSW50ZXJhY3Rpb25Db250ZXh0SWQpO1xuICAgIGNvbnN0IGlzUmVtb3ZpbmdMYXN0QWN0aXZpdHkgPSBhY3RpdmVJbnRlcmFjdGlvbkNvbnRleHRJZC5sZW5ndGggPCAxO1xuICAgIGlmIChpc1JlbW92aW5nTGFzdEFjdGl2aXR5KSB7XG4gICAgICBpZiAodGhpcy53YXNUcmlnZ2VyZWRCeVBvcFN0YXRlKSB7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKCdyZW1vdmFsIHdhcyB0cmlnZ2VyZWQgYnkgcG9wIHN0YXRlLCBub3RoaW5nIHRvIGRvLicpO1xuICAgICAgICAvLyAgIG5vb3AuICBPdXIgdXJsIHdpbGwgYmUgYmFjayB0byB0aGUgbm9uIGludGVyYWN0aW9uIHZlcnNpb24gbm93IHNvIHdlIGRvbnQnIG5lZWQgdG8gZG8gYW55dGhpbmcuXG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBub3cgd2UganVzdCBwb3Agb3VyIGludGVyYWN0aW9uIGlkJ3MgZnJvbSB0aGUgYnJvd3NlciBoaXN0b3J5LlxuICAgICAgICAvLyBjb25zb2xlLmxvZyhgUmVtb3ZhbCBvZiB0aGUgbGFzdCBhY3Rpdml0eSB3YXNuJ3QgdHJpZ2dlcmVkIGJ5IHBvcCBzdGF0ZSBzbyB3ZSBoYXZlIHRvIHRyaWdnZXIgb25lIHRvIGNsZWFuIHRoZSBoaXN0b3J5YCk7XG4gICAgICAgIGNvbnN0IHNlc3Npb24gPSBuZXcgUmVtb3ZlTGFzdEludGVyYWN0aW9uRnJvbVVybE5hdmlnYXRpb25TZXNzaW9uKHRoaXMuY29udGV4dCwgdGhpcy51cmxTZXJ2aWNlLmdldEN1cnJlbnRSb3V0ZXJVcmwoKSk7XG4gICAgICAgIHRoaXMuY29udGV4dC50cmFuc2l0aW9uVG8oc2Vzc2lvbik7XG4gICAgICAgIHRoaXMudXJsU2VydmljZS5iYWNrKCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIHdlJ3ZlIHJlbW92ZWQgYW4gaW50ZXJhY3Rpb24sIGJ1dCB3ZSBzdGlsbCBoYXZlIHJlbWFpbmluZyBhY3Rpdml0aWVzIHNvIHdlXG4gICAgICAvLyB1cGRhdGUgdGhlIHVybCBpbiBwbGFjZSBpZiBpdCB3YXNuJ3QgYSBwb3Agc3RhdGUuIElmIGl0IHdhcyBhIHBvcCBzdGF0ZSB3ZSBuZWVkXG4gICAgICAvLyB0byAgcHVzaCBpdCBiYWNrIHVwLlxuICAgICAgLy8gdGhpcy51cmxTZXJ2aWNlLnJlc2V0QnJvd3NlckxvY2F0aW9uKHVybFNuYXBzaG90LnVybCwgeyByZXBsYWNlQ3VycmVudDogIXRoaXMud2FzVHJpZ2dlcmVkQnlQb3BTdGF0ZSB9KTtcbiAgICAgIHRoaXMuY29udGV4dC5uYXZpZ2F0ZUJ5VXJsKHVybFNuYXBzaG90LCB7IHJlcGxhY2VVcmw6ICF0aGlzLndhc1RyaWdnZXJlZEJ5UG9wU3RhdGUgfSk7XG4gICAgfVxuICB9XG5cbiAgaGFuZGxlQ2FuRGVhY3RpdmF0ZUNhbmNlbGxlZEV2ZW50U2NlbmFyaW8obmV3VXJsOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBsYW5nLm1ldGhvZE5vdFN1cHBvcnRlZCgpO1xuICB9XG5cbn1cbiJdfQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { GarbageCollector, lang, Logger } from
|
|
2
|
-
import { PlaceComponentDeactivationHandler } from
|
|
1
|
+
import { GarbageCollector, lang, Logger } from "@coolon/pectin";
|
|
2
|
+
import { PlaceComponentDeactivationHandler } from "../place-component-deactivation-handler";
|
|
3
3
|
/**
|
|
4
4
|
* Transient states
|
|
5
5
|
*/
|
|
@@ -23,6 +23,9 @@ export class NavigationSession extends GarbageCollector {
|
|
|
23
23
|
}
|
|
24
24
|
});
|
|
25
25
|
}
|
|
26
|
+
get isInteractionSync() {
|
|
27
|
+
return false;
|
|
28
|
+
}
|
|
26
29
|
get name() {
|
|
27
30
|
return this.constructor.name;
|
|
28
31
|
}
|
|
@@ -92,14 +95,14 @@ export class NavigationSession extends GarbageCollector {
|
|
|
92
95
|
repairBrowserHistoryAndUrlAfterGuardCancellation(poppedHistoryToReplace, activeUrl) {
|
|
93
96
|
// Important: I tried to perform this fix at a later point int he routing cycle but it created all kinds of
|
|
94
97
|
// strangeness.
|
|
95
|
-
Logger.get(this).info(
|
|
98
|
+
Logger.get(this).info("WORK-AROUND: Updating browser location after pop state - see angular issue #13586");
|
|
96
99
|
// console.log(`replacing ${this.urlService.getCurrentLocationUrlSnapshot().url} with ${poppedHistoryToReplace}`);
|
|
97
100
|
this.urlService.resetBrowserLocation(poppedHistoryToReplace, { replaceCurrent: true });
|
|
98
101
|
// console.log(`pushing ${activeUrl} back onto the history.`);
|
|
99
102
|
this.urlService.resetBrowserLocation(activeUrl, { replaceCurrent: false });
|
|
100
103
|
}
|
|
101
104
|
ignore(event, reason) {
|
|
102
|
-
reason = reason ? ` -> ${reason}` :
|
|
105
|
+
reason = reason ? ` -> ${reason}` : "";
|
|
103
106
|
// Logger.get(this).info(`Ignoring router event${reason}: ${event.constructor.name} -> ${event.url} :: ${this.toString()}`);
|
|
104
107
|
}
|
|
105
108
|
toString() {
|
|
@@ -108,7 +111,7 @@ export class NavigationSession extends GarbageCollector {
|
|
|
108
111
|
debugState(properties) {
|
|
109
112
|
return (properties || this.debugPropertyKeys).map(p => {
|
|
110
113
|
return `${p}: ${this[p]}`;
|
|
111
|
-
}).join(
|
|
114
|
+
}).join(", ");
|
|
112
115
|
}
|
|
113
116
|
async canDeactivatePlace(component, currentUrl, nextUrl) {
|
|
114
117
|
// console.log(`---> canDeactivatePlace(${component.placeDefinition.path}, ${currentUrl.url} -> ${nextUrl.url})`);
|
|
@@ -133,7 +136,7 @@ export class NavigationSession extends GarbageCollector {
|
|
|
133
136
|
const canDeactivateInteractionContext = this.detachCanDeactivateInteractionContext();
|
|
134
137
|
// TODO: I need to make the exclusive interaction context disallow nested activities or
|
|
135
138
|
// that would mess things up entirely. Or, can I do a context.abortAll().then(..)
|
|
136
|
-
Logger.get(this).info(
|
|
139
|
+
Logger.get(this).info("cancelling current navigation activity..");
|
|
137
140
|
canDeactivateInteractionContext.cancelActiveActivity().then(() => {
|
|
138
141
|
canDeactivateInteractionContext.dispose();
|
|
139
142
|
});
|
|
@@ -154,4 +157,4 @@ export class NavigationSession extends GarbageCollector {
|
|
|
154
157
|
return context;
|
|
155
158
|
}
|
|
156
159
|
}
|
|
157
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1zZXNzaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvcGxhY2UvbmF2aWdhdGlvbi9zZXNzaW9uL25hdmlnYXRpb24tc2Vzc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQU8sZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBUyxNQUFNLGdCQUFnQixDQUFDO0FBUTVFLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBRzVGOztHQUVHO0FBQ0gsTUFBTSxPQUFnQixpQkFBa0IsU0FBUSxnQkFBZ0I7SUFVOUQsWUFBcUIsT0FBMEIsRUFBVyxXQUFtQjtRQUMzRSxLQUFLLEVBQUUsQ0FBQztRQURXLFlBQU8sR0FBUCxPQUFPLENBQW1CO1FBQVcsZ0JBQVcsR0FBWCxXQUFXLENBQVE7UUFSN0Usc0JBQWlCLEdBQWEsRUFBRSxDQUFDO1FBQ3pCLFlBQU8sR0FBRyxJQUFJLEdBQUcsRUFBMEIsQ0FBQztRQUU1QyxrQ0FBNkIsR0FBRyxJQUFJLEdBQUcsRUFBcUQsQ0FBQztRQU9uRyx3REFBd0Q7UUFDeEQsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsd0JBQXdCLENBQUMsaUNBQWlDLEVBQUUsQ0FBQztRQUNyRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNsQiwrRkFBK0Y7WUFDL0YsOEZBQThGO1lBQzlGLGlHQUFpRztZQUNqRyw4RkFBOEY7WUFDOUYsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUU7Z0JBQzVCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLHlDQUF5QzthQUM5RTtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFD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QUFPLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDO1FBQ3pDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUM7UUFDaEMsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmF2aWdhdGlvbkNhbmNlbCwgTmF2aWdhdGlvbkVuZCwgTmF2aWdhdGlvbkVycm9yLCBOYXZpZ2F0aW9uU3RhcnQsIFJvdXRlckV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IERzbCwgR2FyYmFnZUNvbGxlY3RvciwgbGFuZywgTG9nZ2VyLCBUcmFjZSB9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7IEludGVyYWN0aW9uQ29udGV4dCB9IGZyb20gJy4uLy4uLy4uL2ludGVyYWN0aW9uL2ludGVyYWN0aW9uLWNvbnRleHQnO1xuaW1wb3J0IHsgSW50ZXJhY3Rpb25TZXJ2aWNlUm91dGluZ0FkYXB0ZXIgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmFjdGlvbi9zZXJ2aWNlcy9pbnRlcmFjdGlvbi1zZXJ2aWNlLXJvdXRpbmctYWRhcHRlcic7XG5pbXBvcnQgeyBQbGFjZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3BsYWNlLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBQbGFjZURlZmluaXRpb24gfSBmcm9tICcuLi8uLi9wbGFjZS1kZWZpbml0aW9uJztcbmltcG9ydCB7IFVybFNlcnZpY2UgfSBmcm9tICcuLi8uLi91cmwtc2VydmljZSc7XG5pbXBvcnQgeyBVcmxTbmFwc2hvdCB9IGZyb20gJy4uLy4uL3VybC1zbmFwc2hvdCc7XG5pbXBvcnQgeyBWaXNpdCB9IGZyb20gJy4uLy4uL3Zpc2l0JztcbmltcG9ydCB7IFBsYWNlQ29tcG9uZW50RGVhY3RpdmF0aW9uSGFuZGxlciB9IGZyb20gJy4uL3BsYWNlLWNvbXBvbmVudC1kZWFjdGl2YXRpb24taGFuZGxlcic7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uQ29udGV4dCB9IGZyb20gJy4vbmF2aWdhdGlvbi1jb250ZXh0JztcblxuLyoqXG4gKiBUcmFuc2llbnQgc3RhdGVzXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBOYXZpZ2F0aW9uU2Vzc2lvbiBleHRlbmRzIEdhcmJhZ2VDb2xsZWN0b3Ige1xuXG4gIGRlYnVnUHJvcGVydHlLZXlzOiBzdHJpbmdbXSA9IFtdO1xuICBwcml2YXRlIF92aXNpdHMgPSBuZXcgTWFwPFBsYWNlRGVmaW5pdGlvbiwgVmlzaXQ+KCk7XG5cbiAgcHJpdmF0ZSBjb21wb25lbnREZWFjdGl2YXRpb25IYW5kbGVycyA9IG5ldyBNYXA8UGxhY2VDb21wb25lbnQsIFBsYWNlQ29tcG9uZW50RGVhY3RpdmF0aW9uSGFuZGxlcj4oKTtcbiAgYWJzdHJhY3QgcmVhZG9ubHkgaXNQb3BTdGF0ZTogYm9vbGVhbjtcblxuICBwcml2YXRlIF9pbnRlcmFjdGlvbkNvbnRleHQ6IEludGVyYWN0aW9uQ29udGV4dDtcblxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBjb250ZXh0OiBOYXZpZ2F0aW9uQ29udGV4dCwgcmVhZG9ubHkgc3RhcnRpbmdVcmw6IHN0cmluZykge1xuICAgIHN1cGVyKCk7XG4gICAgLy8gVE9ETzogY2FuIEkgZ2V0IGF3YXkgd2l0aG91dCBjcmVhdGluZyBvbmUgZXZlcnkgdGltZT9cbiAgICB0aGlzLl9pbnRlcmFjdGlvbkNvbnRleHQgPSB0aGlzLmNvbnRleHQucm91dGVySW50ZXJhY3Rpb25BZGFwdGVyLmNyZWF0ZUV4Y2x1c2l2ZUludGVyYWN0aW9uQ29udGV4dCgpO1xuICAgIHRoaXMub25EaXNwb3NlKCgpID0+IHtcbiAgICAgIC8vIHRoZSBpbnRlcmFjdGlvbiBjb250ZXh0IGNhbiBiZSBkZXRhY2hlZCBkdXJpbmcgdGhlIGJhY2sgYnV0dG9uIGNhbmNlbGxhdGlvbiBzdGF0ZSB0cmFuc2l0aW9uXG4gICAgICAvLyBhcyB0aGUgdHJhbnNpdGlvbiBpcyBzeW5jaHJvbm91cyBhbmQgYWN0aXZpdHlDYW5jZWxsYXRpb24gaXNuJ3QuICBPdGhlcndpc2UgZGlzcG9zZSB3aWxsIGJlXG4gICAgICAvLyBjYWxsZWQgYmVmb3JlIHRoZSBjb250ZXh0IGhhcyBiZWVuIGNhbmNlbGxlZC4gIEl0IG1pZ2h0IGJlIHdvcmsgaGF2aW5nIHRoZSBpbnRlcmFjdGlvbiBjb250ZXh0XG4gICAgICAvLyBhdXRvbWF0aWNhbGx5IGNhbmNlbCBpZiB0aGUgY29udGV4dCBpcyBkaXNwb3NlZCBzbyB3ZSBkb24ndCBoYXZlIHdvcnJ5IGFib3V0IGRldGFjaGluZyBldGMuXG4gICAgICBpZiAodGhpcy5faW50ZXJhY3Rpb25Db250ZXh0KSB7XG4gICAgICAgIHRoaXMuX2ludGVyYWN0aW9uQ29udGV4dC5kaXNwb3NlKCk7IC8vIG9yIGRvIHNvbWV0aGluZyBsaWtlIGNhbmNlbEFuZERpc3Bvc2U/XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBnZXQgbmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmNvbnN0cnVjdG9yLm5hbWU7XG4gIH1cblxuICBnZXQgdXJsU2VydmljZSgpOiBVcmxTZXJ2aWNlIHtcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0LnVybFNlcnZpY2U7XG4gIH1cblxuICBnZXQgaW50ZXJhY3Rpb25TZXJ2aWNlQWRhcHRlcigpOiBJbnRlcmFjdGlvblNlcnZpY2VSb3V0aW5nQWRhcHRlciB7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dC5yb3V0ZXJJbnRlcmFjdGlvbkFkYXB0ZXI7XG4gIH1cblxuICBzdG9yZVZpc2l0KHZpc2l0OiBWaXNpdCkge1xuICAgIC8vIGNvbnNvbGUubG9nKGBTdG9yaW5nIHZpc2l0IGZvciAke3Zpc2l0LnBsYWNlRGVmaW5pdGlvbi5jb21wb25lbnQubmFtZX1gLCB7dmlzaXR9KTtcbiAgICB0aGlzLl92aXNpdHMuc2V0KHZpc2l0LnBsYWNlRGVmaW5pdGlvbiwgdmlzaXQpO1xuICB9XG5cblxuICBnZXRWaXNpdEZvcihwbGFjZURlZjogUGxhY2VEZWZpbml0aW9uKSB7XG4gICAgY29uc3QgdmlzaXQgPSB0aGlzLl92aXNpdHMuZ2V0KHBsYWNlRGVmKTtcbiAgICAvLyBjb25zb2xlLmxvZyhgR2V0dGluZyB2aXNpdCBmb3IgJHtwbGFjZURlZi5jb21wb25lbnQubmFtZX1gLCB7dmlzaXR9KTtcbiAgICByZXR1cm4gdmlzaXQ7XG4gIH1cblxuICBnZXQgY2FuRGVhY3RpdmF0ZUludGVyYWN0aW9uQ29udGV4dCgpOiBJbnRlcmFjdGlvbkNvbnRleHQge1xuICAgIHJldHVybiB0aGlzLl9pbnRlcmFjdGlvbkNvbnRleHQ7XG4gIH1cblxuICBub3RpZnlBY3RpdmUoKSB7XG4gICAgLy8gbm9vcC5cbiAgfVxuXG4gIG9uUm91dGVyU3RhcnRlZChldmVudDogTmF2aWdhdGlvblN0YXJ0KTogdm9pZCB7XG4gICAgLy8gbmF2aWdhdGlvbiBzZXNzaW9ucyBjYW4gaGF2ZSBtYW55IGNhbmNlbCBzdGFydCBjeWNsZXMgZHVlIHRvIHBsYWNlIGd1YXJkIHJlZGlyZWN0c1xuICAgIHRoaXMuaWdub3JlKGV2ZW50KTtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIG9uVXJsQ2hhbmdlKHVybDogc3RyaW5nKSB7XG4gICAgLy8gTm9ybWFsbHkgd2UganVzdCBpZ25vcmUgdGhlc2UgYnV0IHRoZXkgYXJlIHRoZSBvbmx5IHdheSBvZiBkZXRlY3RpbmcgaWYgdGhlIGJhY2sgYnV0dG9uXG4gICAgLy8gd2FzIGNsaWNrZWQgZHVyaW5nIGEgY2FuRGVhY3RpdmF0ZSBwcm9taXNlLlxuICAgIC8vIDEuIGEgcm91dGUgaXMgaW4gcHJvZ3Jlc3MgYW5kIGF3YWl0aW5nIGEgY2FuRGVhY3RpdmF0ZUd1YXJkXG4gICAgLy8gMi4gdGhlIHVzZXIgdGhlIGNsaWNrcyB0aGUgYmFjayBidXR0b24uXG4gICAgLy8gU28gdG8gaGFuZGxlIHRoYXQgc2NlbmFyaW8gd2UgbmVlZCB0byBjaGVjayBpZiB3ZSd2ZSBnb3QgYSBjYW4gZGVhY3RpdmF0ZSBpbnRlcmFjdGlvbiBpblxuICAgIC8vIHByb2dyZXNzIGFuZCB0aGUgZG8gdGhlIGFwcHJvcHJpYXRlIGNsZWFuIHVwLlxuICAgIGlmICh0aGlzLmNhbkRlYWN0aXZhdGVJbnRlcmFjdGlvbkNvbnRleHQgJiYgdGhpcy5jYW5EZWFjdGl2YXRlSW50ZXJhY3Rpb25Db250ZXh0LmlzQWN0aXZlKCkpIHtcbiAgICAgIHRoaXMuY2FuY2VsQ2FuRGVhY3RpdmF0ZUludGVyYWN0aW9uKHVybCk7XG4gICAgfVxuICB9XG5cbiAgb25Qb3BTdGF0ZShldmVudDogTmF2aWdhdGlvblN0YXJ0KTogdm9pZCB7XG4gICAgcmV0dXJuIHRoaXMuaWxsZWdhbFRyYW5zaXRpb24oZXZlbnQpO1xuICB9XG5cbiAgb25Sb3V0ZXJDYW5jZWxsZWQoZXZlbnQ6IE5hdmlnYXRpb25DYW5jZWwpOiB2b2lkIHtcbiAgICByZXR1cm4gdGhpcy5pbGxlZ2FsVHJhbnNpdGlvbihldmVudCk7XG4gIH1cblxuICBvblJvdXRlckVycm9yKGV2ZW50OiBOYXZpZ2F0aW9uRXJyb3IpOiB2b2lkIHtcbiAgICByZXR1cm4gdGhpcy5pbGxlZ2FsVHJhbnNpdGlvbihldmVudCk7XG4gIH1cblxuICBvblJvdXRlckVuZChldmVudDogTmF2aWdhdGlvbkVuZCk6IHZvaWQge1xuICAgIHJldHVybiB0aGlzLmlsbGVnYWxUcmFuc2l0aW9uKGV2ZW50KTtcbiAgfVxuXG4gIGdldFZpc2l0cygpOiBWaXNpdFtdIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLl92aXNpdHMudmFsdWVzKCkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGlsbGVnYWxUcmFuc2l0aW9uPFI+KG1lc3NhZ2U6IHN0cmluZyB8IFJvdXRlckV2ZW50KTogUiB7XG4gICAgcmV0dXJuIGxhbmcuaWxsZWdhbFN0YXRlKGAke21lc3NhZ2UudG9TdHJpbmcoKX0gbm90IHN1cHBvcnRlZCBieSAke3RoaXMudG9TdHJpbmcoKX1gKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjdXJyZW50Um91dGVyVXJsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudXJsU2VydmljZS5nZXRDdXJyZW50Um91dGVyVXJsKCk7XG4gIH1cblxuICByZXNldEJyb3dzZXJMb2NhdGlvbih1cmwsIG9wdGlvbnM6IHsgcmVwbGFjZUN1cnJlbnQ6IGJvb2xlYW4gfSA9IHsgcmVwbGFjZUN1cnJlbnQ6IGZhbHNlIH0pIHtcbiAgICAvLyBjb25zb2xlLmxvZyhgLS0tPiByZXNldHRpbmcgYnJvd3NlciBsb2NhdGlvbiB0bzogJHt1cmx9YCk7XG4gICAgdGhpcy51cmxTZXJ2aWNlLnJlc2V0QnJvd3NlckxvY2F0aW9uKHVybCwgb3B0aW9ucyk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBwcm90ZWN0ZWQgcmVwYWlyQnJvd3Nlckhpc3RvcnlBbmRVcmxBZnRlckd1YXJkQ2FuY2VsbGF0aW9uKHBvcHBlZEhpc3RvcnlUb1JlcGxhY2U6IHN0cmluZywgYWN0aXZlVXJsOnN0cmluZyk6IHZvaWQge1xuICAgIC8vIEltcG9ydGFudDogSSB0cmllZCB0byBwZXJmb3JtIHRoaXMgZml4IGF0IGEgbGF0ZXIgcG9pbnQgaW50IGhlIHJvdXRpbmcgY3ljbGUgYnV0IGl0IGNyZWF0ZWQgYWxsIGtpbmRzIG9mXG4gICAgLy8gc3RyYW5nZW5lc3MuXG4gICAgTG9nZ2VyLmdldCh0aGlzKS5pbmZvKCdXT1JLLUFST1VORDogVXBkYXRpbmcgYnJvd3NlciBsb2NhdGlvbiBhZnRlciBwb3Agc3RhdGUgLSBzZWUgYW5ndWxhciBpc3N1ZSAjMTM1ODYnKTtcbiAgICAvLyBjb25zb2xlLmxvZyhgcmVwbGFjaW5nICR7dGhpcy51cmxTZXJ2aWNlLmdldEN1cnJlbnRMb2NhdGlvblVybFNuYXBzaG90KCkudXJsfSB3aXRoICR7cG9wcGVkSGlzdG9yeVRvUmVwbGFjZX1gKTtcbiAgICB0aGlzLnVybFNlcnZpY2UucmVzZXRCcm93c2VyTG9jYXRpb24ocG9wcGVkSGlzdG9yeVRvUmVwbGFjZSwgeyByZXBsYWNlQ3VycmVudDogdHJ1ZSB9KTtcbiAgICAvLyBjb25zb2xlLmxvZyhgcHVzaGluZyAke2FjdGl2ZVVybH0gYmFjayBvbnRvIHRoZSBoaXN0b3J5LmApO1xuICAgIHRoaXMudXJsU2VydmljZS5yZXNldEJyb3dzZXJMb2NhdGlvbihhY3RpdmVVcmwsIHsgcmVwbGFjZUN1cnJlbnQ6IGZhbHNlIH0pO1xuICB9XG5cblxuICBpZ25vcmUoZXZlbnQ6IFJvdXRlckV2ZW50LCByZWFzb24/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICByZWFzb24gPSByZWFzb24gPyBgIC0+ICR7cmVhc29ufWAgOiAnJztcbiAgICAvLyBMb2dnZXIuZ2V0KHRoaXMpLmluZm8oYElnbm9yaW5nIHJvdXRlciBldmVudCR7cmVhc29ufTogJHtldmVudC5jb25zdHJ1Y3Rvci5uYW1lfSAtPiAke2V2ZW50LnVybH0gOjogJHt0aGlzLnRvU3RyaW5nKCl9YCk7XG4gIH1cblxuICB0b1N0cmluZygpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLmNvbnN0cnVjdG9yLm5hbWV9KCR7dGhpcy5kZWJ1Z1N0YXRlKCl9KWA7XG4gIH1cblxuICBwcm90ZWN0ZWQgZGVidWdTdGF0ZShwcm9wZXJ0aWVzPzogc3RyaW5nW10pIHtcbiAgICByZXR1cm4gKHByb3BlcnRpZXMgfHwgdGhpcy5kZWJ1Z1Byb3BlcnR5S2V5cykubWFwKHAgPT4ge1xuICAgICAgcmV0dXJuIGAke3B9OiAke3RoaXNbcF19YDtcbiAgICB9KS5qb2luKCcsICcpO1xuICB9XG5cbiAgYXN5bmMgY2FuRGVhY3RpdmF0ZVBsYWNlKGNvbXBvbmVudDogUGxhY2VDb21wb25lbnQsIGN1cnJlbnRVcmw6IFVybFNuYXBzaG90LCBuZXh0VXJsOiBVcmxTbmFwc2hvdCk6IFByb21pc2U8Ym9vbGVhbiB8IFVybFNuYXBzaG90PiB7XG4gICAgLy8gY29uc29sZS5sb2coYC0tLT4gY2FuRGVhY3RpdmF0ZVBsYWNlKCR7Y29tcG9uZW50LnBsYWNlRGVmaW5pdGlvbi5wYXRofSwgJHtjdXJyZW50VXJsLnVybH0gLT4gJHtuZXh0VXJsLnVybH0pYCk7XG4gICAgLy8gbG9va3VwIHRoZSBoYW5kbGVyIGFuZCBjcmVhdGUgaXQgaWYgd2UndmUgbm90IHNlZW4gaXQgeWV0XG4gICAgbGV0IGhhbmRsZXIgPSB0aGlzLmNvbXBvbmVudERlYWN0aXZhdGlvbkhhbmRsZXJzLmdldChjb21wb25lbnQpO1xuICAgIGlmICghaGFuZGxlcikge1xuICAgICAgY29uc3QgaXNQcmltYXJ5SGFuZGxlciA9IHRoaXMuY29tcG9uZW50RGVhY3RpdmF0aW9uSGFuZGxlcnMuc2l6ZSA9PT0gMDsgLy8gb25seSBwcmltYXJ5IGhhbmRsZXIgY2FuY2VscyB0aGUgYXBwIG1vZGVsIGludGVyYXRpb25zXG4gICAgICBoYW5kbGVyID0gbmV3IFBsYWNlQ29tcG9uZW50RGVhY3RpdmF0aW9uSGFuZGxlcihjb21wb25lbnQsIHRoaXMsIGlzUHJpbWFyeUhhbmRsZXIpO1xuICAgICAgdGhpcy5jb21wb25lbnREZWFjdGl2YXRpb25IYW5kbGVycy5zZXQoY29tcG9uZW50LCBoYW5kbGVyKTtcbiAgICB9XG4gICAgcmV0dXJuIGhhbmRsZXIuY2FuRGVhY3RpdmF0ZShjdXJyZW50VXJsLCBuZXh0VXJsKS50aGVuKHJlc3VsdCA9PiB7XG4gICAgICAvLyBjb25zb2xlLmxvZyhgPC0tLSBjYW5EZWFjdGl2YXRlUGxhY2UoJHtjb21wb25lbnQucGxhY2VEZWZpbml0aW9uLnBhdGh9KTogJHtyZXN1bHR9YCk7XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH0pLmNhdGNoKGVycm9yID0+IHtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0pO1xuICB9XG5cbiAgY2FuY2VsQ2FuRGVhY3RpdmF0ZUludGVyYWN0aW9uKG5ld1VybDogc3RyaW5nKTogdm9pZCB7XG4gICAgTG9nZ2VyLmdldCh0aGlzKS5pbmZvKGBiYWNrIGJ1dHRvbiBwcmVzc2VkIGR1cmluZyBuYXZpZ2F0aW9uIHNlc3Npb24gaW50ZXJhY3Rpb24gcHJvbWlzZWApO1xuICAgIC8vIGRldGFjaCB0aGUgaW50ZXJhY3Rpb24gZnJvbSB0aGUgc2Vzc2lvbiBzbyBpdCBkb2Vzbid0IGdldCBkaXNwb3NlZCB1bnRpbCB0aGUgYWN0aXZpdHkgaGFzIGZpbmlzaGVkXG4gICAgLy8gYWxsIGl0J3MgdGhpbmdzLlxuICAgIGNvbnN0IGNhbkRlYWN0aXZhdGVJbnRlcmFjdGlvbkNvbnRleHQgPSB0aGlzLmRldGFjaENhbkRlYWN0aXZhdGVJbnRlcmFjdGlvbkNvbnRleHQoKTtcbiAgICAvLyBUT0RPOiBJIG5lZWQgdG8gbWFrZSB0aGUgZXhjbHVzaXZlIGludGVyYWN0aW9uIGNvbnRleHQgZGlzYWxsb3cgbmVzdGVkIGFjdGl2aXRpZXMgb3JcbiAgICAvLyAgICAgICB0aGF0IHdvdWxkIG1lc3MgdGhpbmdzIHVwIGVudGlyZWx5LiBPciwgY2FuIEkgZG8gYSBjb250ZXh0LmFib3J0QWxsKCkudGhlbiguLilcbiAgICBMb2dnZXIuZ2V0KHRoaXMpLmluZm8oJ2NhbmNlbGxpbmcgY3VycmVudCBuYXZpZ2F0aW9uIGFjdGl2aXR5Li4nKTtcbiAgICBjYW5EZWFjdGl2YXRlSW50ZXJhY3Rpb25Db250ZXh0LmNhbmNlbEFjdGl2ZUFjdGl2aXR5KCkudGhlbigoKSA9PiB7XG4gICAgICBjYW5EZWFjdGl2YXRlSW50ZXJhY3Rpb25Db250ZXh0LmRpc3Bvc2UoKTtcbiAgICB9KTtcblxuICAgIHRoaXMuaGFuZGxlQ2FuRGVhY3RpdmF0ZUNhbmNlbGxlZEV2ZW50U2NlbmFyaW8obmV3VXJsKTtcbiAgfVxuXG4gIGFic3RyYWN0IGhhbmRsZUNhbkRlYWN0aXZhdGVDYW5jZWxsZWRFdmVudFNjZW5hcmlvKG5ld1VybDogc3RyaW5nKTogdm9pZFxuXG4gIHByb3RlY3RlZCByZWluc3RhdGVVcmxBZnRlckFuZ3VsYXJDaGFuZ2VkSXRPbkNhbmNlbGxhdGlvbih1cmw6IHN0cmluZykge1xuICAgIC8vIEFuZ3VsYXIgY2FsbHMgX3RoaXMucmVzZXRVcmxUb0N1cnJlbnRVcmxUcmVlKCkgb24gY2FuY2VsbGluZyBhbmQgZnVja3Mgb3VyIGhpc3RvcnkuXG4gICAgLy8gU28gdGhpcyBtZWFucyB0aGF0IHRoZSB0b3Agb2YgdGhlIHN0YWNrIGlzIHRoZSB1cmwgd2Ugd2FudCB0byBnbyBiYWNrIHRvLCBhbmQgbm90IHRoZSBvbmUgdGhhdCB3YXMgb25cbiAgICAvLyBpdCBiZWZvcmUgdGhlIGNhbmNlbCBldmVudCBmaXJlZC5cbiAgICAvLyBTbyB3ZSBuZWVkIHRvOlxuICAgIC8vIC0gcmVwbGFjZSB0aGUganVzdCBpbnNlcnRlZCB1cmwgd2l0aCB0aGUgb25lIHRoYXQgdXNlZCB0byBiZSB0aGVyZS5cbiAgICAvLyAtIHB1c2ggb3VyIGFjdHVhbCB1cmwgYmFjayBvbnRvIHRoZSB0b3Agb2YgdGhlIHN0YWNrLlxuICAgIHRoaXMucmVzZXRCcm93c2VyTG9jYXRpb24odXJsLCB7IHJlcGxhY2VDdXJyZW50OiB0cnVlIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGRldGFjaENhbkRlYWN0aXZhdGVJbnRlcmFjdGlvbkNvbnRleHQoKTogSW50ZXJhY3Rpb25Db250ZXh0IHtcbiAgICBjb25zdCBjb250ZXh0ID0gdGhpcy5faW50ZXJhY3Rpb25Db250ZXh0O1xuICAgIHRoaXMuX2ludGVyYWN0aW9uQ29udGV4dCA9IG51bGw7XG4gICAgcmV0dXJuIGNvbnRleHQ7XG4gIH1cbn1cbiJdfQ==
|
|
160
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1zZXNzaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvcGxhY2UvbmF2aWdhdGlvbi9zZXNzaW9uL25hdmlnYXRpb24tc2Vzc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQU8sZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBUyxNQUFNLGdCQUFnQixDQUFDO0FBUTVFLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBRzVGOztHQUVHO0FBQ0gsTUFBTSxPQUFnQixpQkFBa0IsU0FBUSxnQkFBZ0I7SUFXOUQsWUFBcUIsT0FBMEIsRUFBVyxXQUFtQjtRQUMzRSxLQUFLLEVBQUUsQ0FBQztRQURXLFlBQU8sR0FBUCxPQUFPLENBQW1CO1FBQVcsZ0JBQVcsR0FBWCxXQUFXLENBQVE7UUFUN0Usc0JBQWlCLEdBQWEsRUFBRSxDQUFDO1FBQ3pCLFlBQU8sR0FBRyxJQUFJLEdBQUcsRUFBMEIsQ0FBQztRQUU1QyxrQ0FBNkIsR0FBRyxJQUFJLEdBQUcsRUFBcUQsQ0FBQztRQVFuRyx3REFBd0Q7UUFDeEQsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsd0JBQXdCLENBQUMsaUNBQWlDLEVBQUUsQ0FBQztRQUNyRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNsQiwrRkFBK0Y7WUFDL0YsOEZBQThGO1lBQzlGLGlHQUFpRztZQUNqRyw4RkFBOEY7WUFDOUYsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUU7Z0JBQzVCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLHlDQUF5QzthQUM5RTtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELElBQUksaUJBQWlCO1FBQ25CLE9BQU8sS0FBSyxD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QUUsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFUyxxQ0FBcUM7UUFDN0MsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDO1FBQ3pDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUM7UUFDaEMsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmF2aWdhdGlvbkNhbmNlbCwgTmF2aWdhdGlvbkVuZCwgTmF2aWdhdGlvbkVycm9yLCBOYXZpZ2F0aW9uU3RhcnQsIFJvdXRlckV2ZW50IH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xuaW1wb3J0IHsgRHNsLCBHYXJiYWdlQ29sbGVjdG9yLCBsYW5nLCBMb2dnZXIsIFRyYWNlIH0gZnJvbSBcIkBjb29sb24vcGVjdGluXCI7XG5pbXBvcnQgeyBJbnRlcmFjdGlvbkNvbnRleHQgfSBmcm9tIFwiLi4vLi4vLi4vaW50ZXJhY3Rpb24vaW50ZXJhY3Rpb24tY29udGV4dFwiO1xuaW1wb3J0IHsgSW50ZXJhY3Rpb25TZXJ2aWNlUm91dGluZ0FkYXB0ZXIgfSBmcm9tIFwiLi4vLi4vLi4vaW50ZXJhY3Rpb24vc2VydmljZXMvaW50ZXJhY3Rpb24tc2VydmljZS1yb3V0aW5nLWFkYXB0ZXJcIjtcbmltcG9ydCB7IFBsYWNlQ29tcG9uZW50IH0gZnJvbSBcIi4uLy4uL3BsYWNlLWNvbXBvbmVudFwiO1xuaW1wb3J0IHsgUGxhY2VEZWZpbml0aW9uIH0gZnJvbSBcIi4uLy4uL3BsYWNlLWRlZmluaXRpb25cIjtcbmltcG9ydCB7IFVybFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vdXJsLXNlcnZpY2VcIjtcbmltcG9ydCB7IFVybFNuYXBzaG90IH0gZnJvbSBcIi4uLy4uL3VybC1zbmFwc2hvdFwiO1xuaW1wb3J0IHsgVmlzaXQgfSBmcm9tIFwiLi4vLi4vdmlzaXRcIjtcbmltcG9ydCB7IFBsYWNlQ29tcG9uZW50RGVhY3RpdmF0aW9uSGFuZGxlciB9IGZyb20gXCIuLi9wbGFjZS1jb21wb25lbnQtZGVhY3RpdmF0aW9uLWhhbmRsZXJcIjtcbmltcG9ydCB7IE5hdmlnYXRpb25Db250ZXh0IH0gZnJvbSBcIi4vbmF2aWdhdGlvbi1jb250ZXh0XCI7XG5cbi8qKlxuICogVHJhbnNpZW50IHN0YXRlc1xuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgTmF2aWdhdGlvblNlc3Npb24gZXh0ZW5kcyBHYXJiYWdlQ29sbGVjdG9yIHtcblxuICBkZWJ1Z1Byb3BlcnR5S2V5czogc3RyaW5nW10gPSBbXTtcbiAgcHJpdmF0ZSBfdmlzaXRzID0gbmV3IE1hcDxQbGFjZURlZmluaXRpb24sIFZpc2l0PigpO1xuXG4gIHByaXZhdGUgY29tcG9uZW50RGVhY3RpdmF0aW9uSGFuZGxlcnMgPSBuZXcgTWFwPFBsYWNlQ29tcG9uZW50LCBQbGFjZUNvbXBvbmVudERlYWN0aXZhdGlvbkhhbmRsZXI+KCk7XG4gIGFic3RyYWN0IHJlYWRvbmx5IGlzUG9wU3RhdGU6IGJvb2xlYW47XG5cblxuICBwcml2YXRlIF9pbnRlcmFjdGlvbkNvbnRleHQ6IEludGVyYWN0aW9uQ29udGV4dDtcblxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBjb250ZXh0OiBOYXZpZ2F0aW9uQ29udGV4dCwgcmVhZG9ubHkgc3RhcnRpbmdVcmw6IHN0cmluZykge1xuICAgIHN1cGVyKCk7XG4gICAgLy8gVE9ETzogY2FuIEkgZ2V0IGF3YXkgd2l0aG91dCBjcmVhdGluZyBvbmUgZXZlcnkgdGltZT9cbiAgICB0aGlzLl9pbnRlcmFjdGlvbkNvbnRleHQgPSB0aGlzLmNvbnRleHQucm91dGVySW50ZXJhY3Rpb25BZGFwdGVyLmNyZWF0ZUV4Y2x1c2l2ZUludGVyYWN0aW9uQ29udGV4dCgpO1xuICAgIHRoaXMub25EaXNwb3NlKCgpID0+IHtcbiAgICAgIC8vIHRoZSBpbnRlcmFjdGlvbiBjb250ZXh0IGNhbiBiZSBkZXRhY2hlZCBkdXJpbmcgdGhlIGJhY2sgYnV0dG9uIGNhbmNlbGxhdGlvbiBzdGF0ZSB0cmFuc2l0aW9uXG4gICAgICAvLyBhcyB0aGUgdHJhbnNpdGlvbiBpcyBzeW5jaHJvbm91cyBhbmQgYWN0aXZpdHlDYW5jZWxsYXRpb24gaXNuJ3QuICBPdGhlcndpc2UgZGlzcG9zZSB3aWxsIGJlXG4gICAgICAvLyBjYWxsZWQgYmVmb3JlIHRoZSBjb250ZXh0IGhhcyBiZWVuIGNhbmNlbGxlZC4gIEl0IG1pZ2h0IGJlIHdvcmsgaGF2aW5nIHRoZSBpbnRlcmFjdGlvbiBjb250ZXh0XG4gICAgICAvLyBhdXRvbWF0aWNhbGx5IGNhbmNlbCBpZiB0aGUgY29udGV4dCBpcyBkaXNwb3NlZCBzbyB3ZSBkb24ndCBoYXZlIHdvcnJ5IGFib3V0IGRldGFjaGluZyBldGMuXG4gICAgICBpZiAodGhpcy5faW50ZXJhY3Rpb25Db250ZXh0KSB7XG4gICAgICAgIHRoaXMuX2ludGVyYWN0aW9uQ29udGV4dC5kaXNwb3NlKCk7IC8vIG9yIGRvIHNvbWV0aGluZyBsaWtlIGNhbmNlbEFuZERpc3Bvc2U/XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBnZXQgaXNJbnRlcmFjdGlvblN5bmMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cblxuXG4gIGdldCBuYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuY29uc3RydWN0b3IubmFtZTtcbiAgfVxuXG4gIGdldCB1cmxTZXJ2aWNlKCk6IFVybFNlcnZpY2Uge1xuICAgIHJldHVybiB0aGlzLmNvbnRleHQudXJsU2VydmljZTtcbiAgfVxuXG4gIGdldCBpbnRlcmFjdGlvblNlcnZpY2VBZGFwdGVyKCk6IEludGVyYWN0aW9uU2VydmljZVJvdXRpbmdBZGFwdGVyIHtcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0LnJvdXRlckludGVyYWN0aW9uQWRhcHRlcjtcbiAgfVxuXG4gIHN0b3JlVmlzaXQodmlzaXQ6IFZpc2l0KSB7XG4gICAgLy8gY29uc29sZS5sb2coYFN0b3JpbmcgdmlzaXQgZm9yICR7dmlzaXQucGxhY2VEZWZpbml0aW9uLmNvbXBvbmVudC5uYW1lfWAsIHt2aXNpdH0pO1xuICAgIHRoaXMuX3Zpc2l0cy5zZXQodmlzaXQucGxhY2VEZWZpbml0aW9uLCB2aXNpdCk7XG4gIH1cblxuXG4gIGdldFZpc2l0Rm9yKHBsYWNlRGVmOiBQbGFjZURlZmluaXRpb24pIHtcbiAgICBjb25zdCB2aXNpdCA9IHRoaXMuX3Zpc2l0cy5nZXQocGxhY2VEZWYpO1xuICAgIC8vIGNvbnNvbGUubG9nKGBHZXR0aW5nIHZpc2l0IGZvciAke3BsYWNlRGVmLmNvbXBvbmVudC5uYW1lfWAsIHt2aXNpdH0pO1xuICAgIHJldHVybiB2aXNpdDtcbiAgfVxuXG4gIGdldCBjYW5EZWFjdGl2YXRlSW50ZXJhY3Rpb25Db250ZXh0KCk6IEludGVyYWN0aW9uQ29udGV4dCB7XG4gICAgcmV0dXJuIHRoaXMuX2ludGVyYWN0aW9uQ29udGV4dDtcbiAgfVxuXG4gIG5vdGlmeUFjdGl2ZSgpIHtcbiAgICAvLyBub29wLlxuICB9XG5cbiAgb25Sb3V0ZXJTdGFydGVkKGV2ZW50OiBOYXZpZ2F0aW9uU3RhcnQpOiB2b2lkIHtcbiAgICAvLyBuYXZpZ2F0aW9uIHNlc3Npb25zIGNhbiBoYXZlIG1hbnkgY2FuY2VsIHN0YXJ0IGN5Y2xlcyBkdWUgdG8gcGxhY2UgZ3VhcmQgcmVkaXJlY3RzXG4gICAgdGhpcy5pZ25vcmUoZXZlbnQpO1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgb25VcmxDaGFuZ2UodXJsOiBzdHJpbmcpIHtcbiAgICAvLyBOb3JtYWxseSB3ZSBqdXN0IGlnbm9yZSB0aGVzZSBidXQgdGhleSBhcmUgdGhlIG9ubHkgd2F5IG9mIGRldGVjdGluZyBpZiB0aGUgYmFjayBidXR0b25cbiAgICAvLyB3YXMgY2xpY2tlZCBkdXJpbmcgYSBjYW5EZWFjdGl2YXRlIHByb21pc2UuXG4gICAgLy8gMS4gYSByb3V0ZSBpcyBpbiBwcm9ncmVzcyBhbmQgYXdhaXRpbmcgYSBjYW5EZWFjdGl2YXRlR3VhcmRcbiAgICAvLyAyLiB0aGUgdXNlciB0aGUgY2xpY2tzIHRoZSBiYWNrIGJ1dHRvbi5cbiAgICAvLyBTbyB0byBoYW5kbGUgdGhhdCBzY2VuYXJpbyB3ZSBuZWVkIHRvIGNoZWNrIGlmIHdlJ3ZlIGdvdCBhIGNhbiBkZWFjdGl2YXRlIGludGVyYWN0aW9uIGluXG4gICAgLy8gcHJvZ3Jlc3MgYW5kIHRoZSBkbyB0aGUgYXBwcm9wcmlhdGUgY2xlYW4gdXAuXG4gICAgaWYgKHRoaXMuY2FuRGVhY3RpdmF0ZUludGVyYWN0aW9uQ29udGV4dCAmJiB0aGlzLmNhbkRlYWN0aXZhdGVJbnRlcmFjdGlvbkNvbnRleHQuaXNBY3RpdmUoKSkge1xuICAgICAgdGhpcy5jYW5jZWxDYW5EZWFjdGl2YXRlSW50ZXJhY3Rpb24odXJsKTtcbiAgICB9XG4gIH1cblxuICBvblBvcFN0YXRlKGV2ZW50OiBOYXZpZ2F0aW9uU3RhcnQpOiB2b2lkIHtcbiAgICByZXR1cm4gdGhpcy5pbGxlZ2FsVHJhbnNpdGlvbihldmVudCk7XG4gIH1cblxuICBvblJvdXRlckNhbmNlbGxlZChldmVudDogTmF2aWdhdGlvbkNhbmNlbCk6IHZvaWQge1xuICAgIHJldHVybiB0aGlzLmlsbGVnYWxUcmFuc2l0aW9uKGV2ZW50KTtcbiAgfVxuXG4gIG9uUm91dGVyRXJyb3IoZXZlbnQ6IE5hdmlnYXRpb25FcnJvcik6IHZvaWQge1xuICAgIHJldHVybiB0aGlzLmlsbGVnYWxUcmFuc2l0aW9uKGV2ZW50KTtcbiAgfVxuXG4gIG9uUm91dGVyRW5kKGV2ZW50OiBOYXZpZ2F0aW9uRW5kKTogdm9pZCB7XG4gICAgcmV0dXJuIHRoaXMuaWxsZWdhbFRyYW5zaXRpb24oZXZlbnQpO1xuICB9XG5cbiAgZ2V0VmlzaXRzKCk6IFZpc2l0W10ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMuX3Zpc2l0cy52YWx1ZXMoKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaWxsZWdhbFRyYW5zaXRpb248Uj4obWVzc2FnZTogc3RyaW5nIHwgUm91dGVyRXZlbnQpOiBSIHtcbiAgICByZXR1cm4gbGFuZy5pbGxlZ2FsU3RhdGUoYCR7bWVzc2FnZS50b1N0cmluZygpfSBub3Qgc3VwcG9ydGVkIGJ5ICR7dGhpcy50b1N0cmluZygpfWApO1xuICB9XG5cbiAgcHJvdGVjdGVkIGN1cnJlbnRSb3V0ZXJVcmwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy51cmxTZXJ2aWNlLmdldEN1cnJlbnRSb3V0ZXJVcmwoKTtcbiAgfVxuXG4gIHJlc2V0QnJvd3NlckxvY2F0aW9uKHVybCwgb3B0aW9uczogeyByZXBsYWNlQ3VycmVudDogYm9vbGVhbiB9ID0geyByZXBsYWNlQ3VycmVudDogZmFsc2UgfSkge1xuICAgIC8vIGNvbnNvbGUubG9nKGAtLS0+IHJlc2V0dGluZyBicm93c2VyIGxvY2F0aW9uIHRvOiAke3VybH1gKTtcbiAgICB0aGlzLnVybFNlcnZpY2UucmVzZXRCcm93c2VyTG9jYXRpb24odXJsLCBvcHRpb25zKTtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIHByb3RlY3RlZCByZXBhaXJCcm93c2VySGlzdG9yeUFuZFVybEFmdGVyR3VhcmRDYW5jZWxsYXRpb24ocG9wcGVkSGlzdG9yeVRvUmVwbGFjZTogc3RyaW5nLCBhY3RpdmVVcmw6IHN0cmluZyk6IHZvaWQge1xuICAgIC8vIEltcG9ydGFudDogSSB0cmllZCB0byBwZXJmb3JtIHRoaXMgZml4IGF0IGEgbGF0ZXIgcG9pbnQgaW50IGhlIHJvdXRpbmcgY3ljbGUgYnV0IGl0IGNyZWF0ZWQgYWxsIGtpbmRzIG9mXG4gICAgLy8gc3RyYW5nZW5lc3MuXG4gICAgTG9nZ2VyLmdldCh0aGlzKS5pbmZvKFwiV09SSy1BUk9VTkQ6IFVwZGF0aW5nIGJyb3dzZXIgbG9jYXRpb24gYWZ0ZXIgcG9wIHN0YXRlIC0gc2VlIGFuZ3VsYXIgaXNzdWUgIzEzNTg2XCIpO1xuICAgIC8vIGNvbnNvbGUubG9nKGByZXBsYWNpbmcgJHt0aGlzLnVybFNlcnZpY2UuZ2V0Q3VycmVudExvY2F0aW9uVXJsU25hcHNob3QoKS51cmx9IHdpdGggJHtwb3BwZWRIaXN0b3J5VG9SZXBsYWNlfWApO1xuICAgIHRoaXMudXJsU2VydmljZS5yZXNldEJyb3dzZXJMb2NhdGlvbihwb3BwZWRIaXN0b3J5VG9SZXBsYWNlLCB7IHJlcGxhY2VDdXJyZW50OiB0cnVlIH0pO1xuICAgIC8vIGNvbnNvbGUubG9nKGBwdXNoaW5nICR7YWN0aXZlVXJsfSBiYWNrIG9udG8gdGhlIGhpc3RvcnkuYCk7XG4gICAgdGhpcy51cmxTZXJ2aWNlLnJlc2V0QnJvd3NlckxvY2F0aW9uKGFjdGl2ZVVybCwgeyByZXBsYWNlQ3VycmVudDogZmFsc2UgfSk7XG4gIH1cblxuXG4gIGlnbm9yZShldmVudDogUm91dGVyRXZlbnQsIHJlYXNvbj86IHN0cmluZyk6IHZvaWQge1xuICAgIHJlYXNvbiA9IHJlYXNvbiA/IGAgLT4gJHtyZWFzb259YCA6IFwiXCI7XG4gICAgLy8gTG9nZ2VyLmdldCh0aGlzKS5pbmZvKGBJZ25vcmluZyByb3V0ZXIgZXZlbnQke3JlYXNvbn06ICR7ZXZlbnQuY29uc3RydWN0b3IubmFtZX0gLT4gJHtldmVudC51cmx9IDo6ICR7dGhpcy50b1N0cmluZygpfWApO1xuICB9XG5cbiAgdG9TdHJpbmcoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5jb25zdHJ1Y3Rvci5uYW1lfSgke3RoaXMuZGVidWdTdGF0ZSgpfSlgO1xuICB9XG5cbiAgcHJvdGVjdGVkIGRlYnVnU3RhdGUocHJvcGVydGllcz86IHN0cmluZ1tdKSB7XG4gICAgcmV0dXJuIChwcm9wZXJ0aWVzIHx8IHRoaXMuZGVidWdQcm9wZXJ0eUtleXMpLm1hcChwID0+IHtcbiAgICAgIHJldHVybiBgJHtwfTogJHt0aGlzW3BdfWA7XG4gICAgfSkuam9pbihcIiwgXCIpO1xuICB9XG5cbiAgYXN5bmMgY2FuRGVhY3RpdmF0ZVBsYWNlKGNvbXBvbmVudDogUGxhY2VDb21wb25lbnQsIGN1cnJlbnRVcmw6IFVybFNuYXBzaG90LCBuZXh0VXJsOiBVcmxTbmFwc2hvdCk6IFByb21pc2U8Ym9vbGVhbiB8IFVybFNuYXBzaG90PiB7XG4gICAgLy8gY29uc29sZS5sb2coYC0tLT4gY2FuRGVhY3RpdmF0ZVBsYWNlKCR7Y29tcG9uZW50LnBsYWNlRGVmaW5pdGlvbi5wYXRofSwgJHtjdXJyZW50VXJsLnVybH0gLT4gJHtuZXh0VXJsLnVybH0pYCk7XG4gICAgLy8gbG9va3VwIHRoZSBoYW5kbGVyIGFuZCBjcmVhdGUgaXQgaWYgd2UndmUgbm90IHNlZW4gaXQgeWV0XG4gICAgbGV0IGhhbmRsZXIgPSB0aGlzLmNvbXBvbmVudERlYWN0aXZhdGlvbkhhbmRsZXJzLmdldChjb21wb25lbnQpO1xuICAgIGlmICghaGFuZGxlcikge1xuICAgICAgY29uc3QgaXNQcmltYXJ5SGFuZGxlciA9IHRoaXMuY29tcG9uZW50RGVhY3RpdmF0aW9uSGFuZGxlcnMuc2l6ZSA9PT0gMDsgLy8gb25seSBwcmltYXJ5IGhhbmRsZXIgY2FuY2VscyB0aGUgYXBwIG1vZGVsIGludGVyYXRpb25zXG4gICAgICBoYW5kbGVyID0gbmV3IFBsYWNlQ29tcG9uZW50RGVhY3RpdmF0aW9uSGFuZGxlcihjb21wb25lbnQsIHRoaXMsIGlzUHJpbWFyeUhhbmRsZXIpO1xuICAgICAgdGhpcy5jb21wb25lbnREZWFjdGl2YXRpb25IYW5kbGVycy5zZXQoY29tcG9uZW50LCBoYW5kbGVyKTtcbiAgICB9XG4gICAgcmV0dXJuIGhhbmRsZXIuY2FuRGVhY3RpdmF0ZShjdXJyZW50VXJsLCBuZXh0VXJsKS50aGVuKHJlc3VsdCA9PiB7XG4gICAgICAvLyBjb25zb2xlLmxvZyhgPC0tLSBjYW5EZWFjdGl2YXRlUGxhY2UoJHtjb21wb25lbnQucGxhY2VEZWZpbml0aW9uLnBhdGh9KTogJHtyZXN1bHR9YCk7XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH0pLmNhdGNoKGVycm9yID0+IHtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0pO1xuICB9XG5cbiAgY2FuY2VsQ2FuRGVhY3RpdmF0ZUludGVyYWN0aW9uKG5ld1VybDogc3RyaW5nKTogdm9pZCB7XG4gICAgTG9nZ2VyLmdldCh0aGlzKS5pbmZvKGBiYWNrIGJ1dHRvbiBwcmVzc2VkIGR1cmluZyBuYXZpZ2F0aW9uIHNlc3Npb24gaW50ZXJhY3Rpb24gcHJvbWlzZWApO1xuICAgIC8vIGRldGFjaCB0aGUgaW50ZXJhY3Rpb24gZnJvbSB0aGUgc2Vzc2lvbiBzbyBpdCBkb2Vzbid0IGdldCBkaXNwb3NlZCB1bnRpbCB0aGUgYWN0aXZpdHkgaGFzIGZpbmlzaGVkXG4gICAgLy8gYWxsIGl0J3MgdGhpbmdzLlxuICAgIGNvbnN0IGNhbkRlYWN0aXZhdGVJbnRlcmFjdGlvbkNvbnRleHQgPSB0aGlzLmRldGFjaENhbkRlYWN0aXZhdGVJbnRlcmFjdGlvbkNvbnRleHQoKTtcbiAgICAvLyBUT0RPOiBJIG5lZWQgdG8gbWFrZSB0aGUgZXhjbHVzaXZlIGludGVyYWN0aW9uIGNvbnRleHQgZGlzYWxsb3cgbmVzdGVkIGFjdGl2aXRpZXMgb3JcbiAgICAvLyAgICAgICB0aGF0IHdvdWxkIG1lc3MgdGhpbmdzIHVwIGVudGlyZWx5LiBPciwgY2FuIEkgZG8gYSBjb250ZXh0LmFib3J0QWxsKCkudGhlbiguLilcbiAgICBMb2dnZXIuZ2V0KHRoaXMpLmluZm8oXCJjYW5jZWxsaW5nIGN1cnJlbnQgbmF2aWdhdGlvbiBhY3Rpdml0eS4uXCIpO1xuICAgIGNhbkRlYWN0aXZhdGVJbnRlcmFjdGlvbkNvbnRleHQuY2FuY2VsQWN0aXZlQWN0aXZpdHkoKS50aGVuKCgpID0+IHtcbiAgICAgIGNhbkRlYWN0aXZhdGVJbnRlcmFjdGlvbkNvbnRleHQuZGlzcG9zZSgpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5oYW5kbGVDYW5EZWFjdGl2YXRlQ2FuY2VsbGVkRXZlbnRTY2VuYXJpbyhuZXdVcmwpO1xuICB9XG5cbiAgYWJzdHJhY3QgaGFuZGxlQ2FuRGVhY3RpdmF0ZUNhbmNlbGxlZEV2ZW50U2NlbmFyaW8obmV3VXJsOiBzdHJpbmcpOiB2b2lkXG5cbiAgcHJvdGVjdGVkIHJlaW5zdGF0ZVVybEFmdGVyQW5ndWxhckNoYW5nZWRJdE9uQ2FuY2VsbGF0aW9uKHVybDogc3RyaW5nKSB7XG4gICAgLy8gQW5ndWxhciBjYWxscyBfdGhpcy5yZXNldFVybFRvQ3VycmVudFVybFRyZWUoKSBvbiBjYW5jZWxsaW5nIGFuZCBmdWNrcyBvdXIgaGlzdG9yeS5cbiAgICAvLyBTbyB0aGlzIG1lYW5zIHRoYXQgdGhlIHRvcCBvZiB0aGUgc3RhY2sgaXMgdGhlIHVybCB3ZSB3YW50IHRvIGdvIGJhY2sgdG8sIGFuZCBub3QgdGhlIG9uZSB0aGF0IHdhcyBvblxuICAgIC8vIGl0IGJlZm9yZSB0aGUgY2FuY2VsIGV2ZW50IGZpcmVkLlxuICAgIC8vIFNvIHdlIG5lZWQgdG86XG4gICAgLy8gLSByZXBsYWNlIHRoZSBqdXN0IGluc2VydGVkIHVybCB3aXRoIHRoZSBvbmUgdGhhdCB1c2VkIHRvIGJlIHRoZXJlLlxuICAgIC8vIC0gcHVzaCBvdXIgYWN0dWFsIHVybCBiYWNrIG9udG8gdGhlIHRvcCBvZiB0aGUgc3RhY2suXG4gICAgdGhpcy5yZXNldEJyb3dzZXJMb2NhdGlvbih1cmwsIHsgcmVwbGFjZUN1cnJlbnQ6IHRydWUgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZGV0YWNoQ2FuRGVhY3RpdmF0ZUludGVyYWN0aW9uQ29udGV4dCgpOiBJbnRlcmFjdGlvbkNvbnRleHQge1xuICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLl9pbnRlcmFjdGlvbkNvbnRleHQ7XG4gICAgdGhpcy5faW50ZXJhY3Rpb25Db250ZXh0ID0gbnVsbDtcbiAgICByZXR1cm4gY29udGV4dDtcbiAgfVxufVxuIl19
|