New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@nativescript/angular

Package Overview
Dependencies
Maintainers
11
Versions
172
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@nativescript/angular - npm Package Compare versions

Comparing version

to
12.2.0

2

esm2015/lib/cdk/dialog/native-modal-ref.js

@@ -122,2 +122,2 @@ import { ApplicationRef, ComponentFactoryResolver, Injector, Optional, ɵmarkDirty } from '@angular/core';

];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF0aXZlLW1vZGFsLXJlZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY2RrL2RpYWxvZy9uYXRpdmUtbW9kYWwtcmVmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsd0JBQXdCLEVBQWlDLFFBQVEsRUFBRSxRQUFRLEVBQW9CLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxSixPQUFPLEVBQUUsV0FBVyxFQUFRLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFcEQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDNUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDckQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTVDLE1BQU0sT0FBTyxjQUFjO0lBWXpCLFlBQW9CLE9BQTJCLEVBQVUsU0FBbUIsRUFBc0IsUUFBNkI7O1FBQTNHLFlBQU8sR0FBUCxPQUFPLENBQW9CO1FBQVUsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQUFzQixhQUFRLEdBQVIsUUFBUSxDQUFxQjtRQVYvSCxpQkFBWSxHQUFHLElBQUksT0FBTyxFQUE4QyxDQUFDO1FBQ3pFLGNBQVMs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QUFTLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxtQkFBbUIsZ0NBQzdELE9BQU8sRUFBRSxJQUFJLElBQ1YsV0FBVyxLQUNkLGFBQWEsRUFBRSxHQUFHLEVBQUU7O2dCQUNsQixNQUFBLElBQUksQ0FBQyxRQUFRLDBDQUFFLHFCQUFxQixFQUFFLENBQUM7Z0JBQ3ZDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDNUIsQ0FBQyxFQUNELFVBQVUsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxJQUN0QyxDQUFDO1FBQ0gsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQztJQUVELG1CQUFtQjtRQUNqQixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFDTyxvQkFBb0I7O1FBQzFCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFBLE1BQUEsTUFBQSxJQUFJLENBQUMsVUFBVSwwQ0FBRSxJQUFJLDBDQUFFLEtBQUssS0FBSSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFbkgsTUFBQSxJQUFJLENBQUMsUUFBUSwwQ0FBRSxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QyxDQUFDOzs7WUE5SE0sa0JBQWtCO1lBVnVELFFBQVE7WUFLakYsa0JBQWtCLHVCQW9Cc0QsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFwcGxpY2F0aW9uUmVmLCBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsIENvbXBvbmVudFJlZiwgRW1iZWRkZWRWaWV3UmVmLCBJbmplY3RvciwgT3B0aW9uYWwsIFZpZXdDb250YWluZXJSZWYsIMm1bWFya0RpcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250ZW50VmlldywgVmlldywgQXBwbGljYXRpb24sIEZyYW1lIH0gZnJvbSAnQG5hdGl2ZXNjcmlwdC9jb3JlJztcbmltcG9ydCB7IGZyb21FdmVudCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFwcEhvc3RBc3luY1ZpZXcsIEFwcEhvc3RWaWV3IH0gZnJvbSAnLi4vLi4vYXBwLWhvc3Qtdmlldyc7XG5pbXBvcnQgeyBOU0xvY2F0aW9uU3RyYXRlZ3kgfSBmcm9tICcuLi8uLi9sZWdhY3kvcm91dGVyL25zLWxvY2F0aW9uLXN0cmF0ZWd5JztcbmltcG9ydCB7IG9uY2UgfSBmcm9tICcuLi8uLi91dGlscy9nZW5lcmFsJztcbmltcG9ydCB7IERldGFjaGVkTG9hZGVyIH0gZnJvbSAnLi4vZGV0YWNoZWQtbG9hZGVyJztcbmltcG9ydCB7IENvbXBvbmVudFBvcnRhbCwgVGVtcGxhdGVQb3J0YWwgfSBmcm9tICcuLi9wb3J0YWwvY29tbW9uJztcbmltcG9ydCB7IE5hdGl2ZVNjcmlwdERvbVBvcnRhbE91dGxldCB9IGZyb20gJy4uL3BvcnRhbC9uc2RvbS1wb3J0YWwtb3V0bGV0JztcbmltcG9ydCB7IE5hdGl2ZURpYWxvZ0NvbmZpZyB9IGZyb20gJy4vZGlhbG9nLWNvbmZpZyc7XG5pbXBvcnQgeyBOZ1ZpZXdSZWYgfSBmcm9tICcuLi8uLi92aWV3LXJlZnMnO1xuXG5leHBvcnQgY2xhc3MgTmF0aXZlTW9kYWxSZWYge1xuICBfaWQ6IHN0cmluZztcbiAgc3RhdGVDaGFuZ2VkID0gbmV3IFN1YmplY3Q8eyBzdGF0ZTogJ29wZW5lZCcgfCAnY2xvc2VkJyB8ICdjbG9zaW5nJyB9PigpO1xuICBvbkRpc21pc3MgPSBuZXcgU3ViamVjdCgpO1xuXG4gIHBhcmVudFZpZXc6IFZpZXc7XG4gIHBvcnRhbE91dGxldDogTmF0aXZlU2NyaXB0RG9tUG9ydGFsT3V0bGV0O1xuICBkZXRhY2hlZExvYWRlclJlZjogQ29tcG9uZW50UmVmPERldGFjaGVkTG9hZGVyPjtcbiAgbW9kYWxWaWV3UmVmOiBOZ1ZpZXdSZWY8YW55PjtcblxuICBwcml2YXRlIF9jbG9zZUNhbGxiYWNrOiAoKSA9PiB2b2lkO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2NvbmZpZzogTmF0aXZlRGlhbG9nQ29uZmlnLCBwcml2YXRlIF9pbmplY3RvcjogSW5qZWN0b3IsIEBPcHRpb25hbCgpIHByaXZhdGUgbG9jYXRpb24/OiBOU0xvY2F0aW9uU3RyYXRlZ3kpIHtcbiAgICBsZXQgcGFyZW50VmlldyA9IHRoaXMuX2NvbmZpZy52aWV3Q29udGFpbmVyUmVmPy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQgfHwgQXBwbGljYXRpb24uZ2V0Um9vdFZpZXcoKTtcblxuICAgIGlmICgocGFyZW50VmlldyBpbnN0YW5jZW9mIEFwcEhvc3RWaWV3IHx8IHBhcmVudFZpZXcgaW5zdGFuY2VvZiBBcHBIb3N0QXN5bmNWaWV3KSAmJiBwYXJlbnRWaWV3Lm5nQXBwUm9vdCkge1xuICAgICAgcGFyZW50VmlldyA9IHBhcmVudFZpZXcubmdBcHBSb290O1xuICAgIH1cblxuICAgIC8vIF9uZ0RpYWxvZ1Jvb3QgaXMgdGhlIGZpcnN0IGNoaWxkIG9mIHRoZSBwcmV2aW91c2x5IGRldGFjaGVkIHByb3h5LlxuICAgIC8vIEl0IHNob3VsZCBoYXZlICd2aWV3Q29udHJvbGxlcicgKGlPUykgb3IgJ19kaWFsb2dGcmFnbWVudCcgKEFuZHJvaWQpIGF2YWlsYWJsZSBmb3JcbiAgICAvLyBwcmVzZW50aW5nIGZ1dHVyZSBtb2RhbCB2aWV3cy5cbiAgICBpZiAocGFyZW50Vmlldy5fbmdEaWFsb2dSb290KSB7XG4gICAgICBwYXJlbnRWaWV3ID0gcGFyZW50Vmlldy5fbmdEaWFsb2dSb290O1xuICAgIH1cbiAgICB0aGlzLnBhcmVudFZpZXcgPSBwYXJlbnRWaWV3O1xuXG4gICAgdGhpcy5fY2xvc2VDYWxsYmFjayA9IG9uY2UoKCkgPT4ge1xuICAgICAgdGhpcy5zdGF0ZUNoYW5nZWQubmV4dCh7IHN0YXRlOiAnY2xvc2luZycgfSk7XG4gICAgICB0aGlzLm1vZGFsVmlld1JlZi5maXJzdE5hdGl2ZUxpa2VWaWV3Py5jbG9zZU1vZGFsKCk7XG4gICAgICB0aGlzLmxvY2F0aW9uPy5fY2xvc2VNb2RhbE5hdmlnYXRpb24oKTtcbiAgICAgIC8vIHRoaXMuZGV0YWNoZWRMb2FkZXJSZWY/LmRlc3Ryb3koKTtcbiAgICAgIGlmICh0aGlzLm1vZGFsVmlld1JlZj8uZmlyc3ROYXRpdmVMaWtlVmlldy5pc0xvYWRlZCkge1xuICAgICAgICBmcm9tRXZlbnQodGhpcy5tb2RhbFZpZXdSZWYuZmlyc3ROYXRpdmVMaWtlVmlldywgJ3VubG9hZGVkJylcbiAgICAgICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5zdGF0ZUNoYW5nZWQubmV4dCh7IHN0YXRlOiAnY2xvc2VkJyB9KSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnN0YXRlQ2hhbmdlZC5uZXh0KHsgc3RhdGU6ICdjbG9zZWQnIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgX2dlbmVyYXRlRGV0YWNoZWRDb250YWluZXIodmNSZWY/OiBWaWV3Q29udGFpbmVyUmVmKSB7XG4gICAgY29uc3QgZGV0YWNoZWRGYWN0b3J5ID0gKHRoaXMuX2NvbmZpZy5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIgfHwgdGhpcy5faW5qZWN0b3IuZ2V0KENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcikpLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KERldGFjaGVkTG9hZGVyKTtcbiAgICBpZiAodmNSZWYpIHtcbiAgICAgIHRoaXMuZGV0YWNoZWRMb2FkZXJSZWYgPSB2Y1JlZi5jcmVhdGVDb21wb25lbnQoZGV0YWNoZWRGYWN0b3J5KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5kZXRhY2hlZExvYWRlclJlZiA9IGRldGFjaGVkRmFjdG9yeS5jcmVhdGUodGhpcy5fY29uZmlnLnZpZXdDb250YWluZXJSZWY/LmluamVjdG9yIHx8IHRoaXMuX2luamVjdG9yKTtcbiAgICAgIHRoaXMuX2luamVjdG9yLmdldChBcHBsaWNhdGlvblJlZikuYXR0YWNoVmlldyh0aGlzLmRldGFjaGVkTG9hZGVyUmVmLmhvc3RWaWV3KTtcbiAgICB9XG4gICAgdGhpcy5kZXRhY2hlZExvYWRlclJlZi5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBhdHRhY2hUZW1wbGF0ZVBvcnRhbDxUPihwb3J0YWw6IFRlbXBsYXRlUG9ydGFsPFQ+KTogRW1iZWRkZWRWaWV3UmVmPFQ+IHtcbiAgICB0aGlzLnN0YXJ0TW9kYWxOYXZpZ2F0aW9uKCk7XG4gICAgY29uc3QgdmNSZWYgPSBwb3J0YWwudmlld0NvbnRhaW5lclJlZiB8fCB0aGlzLl9jb25maWcudmlld0NvbnRhaW5lclJlZjtcbiAgICB0aGlzLl9nZW5lcmF0ZURldGFjaGVkQ29udGFpbmVyKHZjUmVmKTtcbiAgICBwb3J0YWwudmlld0NvbnRhaW5lclJlZiA9IHRoaXMuZGV0YWNoZWRMb2FkZXJSZWYuaW5zdGFuY2UudmM7XG4gICAgY29uc3QgdGFyZ2V0VmlldyA9IG5ldyBDb250ZW50VmlldygpO1xuICAgIHRoaXMucG9ydGFsT3V0bGV0ID0gbmV3IE5hdGl2ZVNjcmlwdERvbVBvcnRhbE91dGxldCh0YXJnZXRWaWV3LCB0aGlzLl9jb25maWcuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyIHx8IHRoaXMuX2luamVjdG9yLmdldChDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIpLCB0aGlzLl9pbmplY3Rvci5nZXQoQXBwbGljYXRpb25SZWYpLCB0aGlzLl9pbmplY3Rvcik7XG4gICAgY29uc3QgdGVtcGxhdGVSZWYgPSB0aGlzLnBvcnRhbE91dGxldC5hdHRhY2gocG9ydGFsKTtcbiAgICB0aGlzLm1vZGFsVmlld1JlZiA9IG5ldyBOZ1ZpZXdSZWYodGVtcGxhdGVSZWYpO1xuICAgIHRoaXMubW9kYWxWaWV3UmVmLmZpcnN0TmF0aXZlTGlrZVZpZXdbJ19fbmdfbW9kYWxfaWRfXyddID0gdGhpcy5faWQ7XG4gICAgLy8gaWYgd2UgZG9uJ3QgZGV0YWNoIHRoZSB2aWV3IGZyb20gaXRzIHBhcmVudCwgaW9zIGdldHMgbWFkXG4gICAgdGhpcy5tb2RhbFZpZXdSZWYuZGV0YWNoTmF0aXZlTGlrZVZpZXcoKTtcblxuICAgIGNvbnN0IHVzZXJPcHRpb25zID0gdGhpcy5fY29uZmlnLm5hdGl2ZU9wdGlvbnMgfHwge307XG4gICAgdGhpcy5wYXJlbnRWaWV3LnNob3dNb2RhbCh0aGlzLm1vZGFsVmlld1JlZi5maXJzdE5hdGl2ZUxpa2VWaWV3LCB7XG4gICAgICBjb250ZXh0OiBudWxsLFxuICAgICAgLi4udXNlck9wdGlvbnMsXG4gICAgICBjbG9zZUNhbGxiYWNrOiAoKSA9PiB7XG4gICAgICAgIHRoaXMubG9jYXRpb24/Ll9jbG9zZU1vZGFsTmF2aWdhdGlvbigpO1xuICAgICAgICB0aGlzLm9uRGlzbWlzcy5uZXh0KCk7XG4gICAgICAgIHRoaXMub25EaXNtaXNzLmNvbXBsZXRlKCk7XG4gICAgICB9LFxuICAgICAgY2FuY2VsYWJsZTogIXRoaXMuX2NvbmZpZy5kaXNhYmxlQ2xvc2UsXG4gICAgfSk7XG4gICAgLy8gICBpZiAodGhpcy5tb2RhbFZpZXcgIT09IHRlbXBsYXRlUmVmLnJvb3ROb2Rlc1swXSkge1xuICAgIC8vICAgICBjb21wb25lbnRSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudC5fbmdEaWFsb2dSb290ID0gdGhpcy5tb2RhbFZpZXc7XG4gICAgLy8gICB9XG4gICAgcmV0dXJuIHRlbXBsYXRlUmVmO1xuICB9XG5cbiAgYXR0YWNoQ29tcG9uZW50UG9ydGFsPFQ+KHBvcnRhbDogQ29tcG9uZW50UG9ydGFsPFQ+KTogQ29tcG9uZW50UmVmPFQ+IHtcbiAgICB0aGlzLnN0YXJ0TW9kYWxOYXZpZ2F0aW9uKCk7XG5cbiAgICBjb25zdCB0YXJnZXRWaWV3ID0gbmV3IENvbnRlbnRWaWV3KCk7XG4gICAgdGhpcy5wb3J0YWxPdXRsZXQgPSBuZXcgTmF0aXZlU2NyaXB0RG9tUG9ydGFsT3V0bGV0KHRhcmdldFZpZXcsIHRoaXMuX2NvbmZpZy5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIgfHwgdGhpcy5faW5qZWN0b3IuZ2V0KENvbXBvbmVudEZhY3RvcnlSZXNvbHZlciksIHRoaXMuX2luamVjdG9yLmdldChBcHBsaWNhdGlvblJlZiksIHRoaXMuX2luamVjdG9yKTtcbiAgICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLnBvcnRhbE91dGxldC5hdHRhY2gocG9ydGFsKTtcbiAgICDJtW1hcmtEaXJ0eShjb21wb25lbnRSZWYuaW5zdGFuY2UpO1xuICAgIHRoaXMubW9kYWxWaWV3UmVmID0gbmV3IE5nVmlld1JlZihjb21wb25lbnRSZWYpO1xuICAgIGlmICh0aGlzLm1vZGFsVmlld1JlZi5maXJzdE5hdGl2ZUxpa2VWaWV3ICE9PSB0aGlzLm1vZGFsVmlld1JlZi52aWV3KSB7XG4gICAgICAoPGFueT50aGlzLm1vZGFsVmlld1JlZi52aWV3KS5fbmdEaWFsb2dSb290ID0gdGhpcy5tb2RhbFZpZXdSZWYuZmlyc3ROYXRpdmVMaWtlVmlldztcbiAgICB9XG4gICAgdGhpcy5tb2RhbFZpZXdSZWYuZmlyc3ROYXRpdmVMaWtlVmlld1snX19uZ19tb2RhbF9pZF9fJ10gPSB0aGlzLl9pZDtcbiAgICAvLyBpZiB3ZSBkb24ndCBkZXRhY2ggdGhlIHZpZXcgZnJvbSBpdHMgcGFyZW50LCBpb3MgZ2V0cyBtYWRcbiAgICB0aGlzLm1vZGFsVmlld1JlZi5kZXRhY2hOYXRpdmVMaWtlVmlldygpO1xuXG4gICAgY29uc3QgdXNlck9wdGlvbnMgPSB0aGlzLl9jb25maWcubmF0aXZlT3B0aW9ucyB8fCB7fTtcbiAgICB0aGlzLnBhcmVudFZpZXcuc2hvd01vZGFsKHRoaXMubW9kYWxWaWV3UmVmLmZpcnN0TmF0aXZlTGlrZVZpZXcsIHtcbiAgICAgIGNvbnRleHQ6IG51bGwsXG4gICAgICAuLi51c2VyT3B0aW9ucyxcbiAgICAgIGNsb3NlQ2FsbGJhY2s6ICgpID0+IHtcbiAgICAgICAgdGhpcy5sb2NhdGlvbj8uX2Nsb3NlTW9kYWxOYXZpZ2F0aW9uKCk7XG4gICAgICAgIHRoaXMub25EaXNtaXNzLm5leHQoKTtcbiAgICAgICAgdGhpcy5vbkRpc21pc3MuY29tcGxldGUoKTtcbiAgICAgIH0sXG4gICAgICBjYW5jZWxhYmxlOiAhdGhpcy5fY29uZmlnLmRpc2FibGVDbG9zZSxcbiAgICB9KTtcbiAgICByZXR1cm4gY29tcG9uZW50UmVmO1xuICB9XG5cbiAgX3N0YXJ0RXhpdEFuaW1hdGlvbigpIHtcbiAgICB0aGlzLl9jbG9zZUNhbGxiYWNrKCk7XG4gIH1cblxuICBkaXNwb3NlKCkge1xuICAgIHRoaXMucG9ydGFsT3V0bGV0LmRpc3Bvc2UoKTtcbiAgfVxuICBwcml2YXRlIHN0YXJ0TW9kYWxOYXZpZ2F0aW9uKCkge1xuICAgIGNvbnN0IGZyYW1lID0gdGhpcy5wYXJlbnRWaWV3IGluc3RhbmNlb2YgRnJhbWUgPyB0aGlzLnBhcmVudFZpZXcgOiB0aGlzLnBhcmVudFZpZXc/LnBhZ2U/LmZyYW1lIHx8IEZyYW1lLnRvcG1vc3QoKTtcblxuICAgIHRoaXMubG9jYXRpb24/Ll9iZWdpbk1vZGFsTmF2aWdhdGlvbihmcmFtZSk7XG4gIH1cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF0aXZlLW1vZGFsLXJlZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY2RrL2RpYWxvZy9uYXRpdmUtbW9kYWwtcmVmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsd0JBQXdCLEVBQWlDLFFBQVEsRUFBRSxRQUFRLEVBQW9CLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxSixPQUFPLEVBQUUsV0FBVyxFQUFRLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFcEQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDNUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDckQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTVDLE1BQU0sT0FBTyxjQUFjO0lBWXpCLFlBQW9CLE9BQTJCLEVBQVUsU0FBbUIsRUFBc0IsUUFBNkI7O1FBQTNHLFlBQU8sR0FBUCxPQUFPLENBQW9CO1FBQVUsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQUFzQixhQUFRLEdBQVIsUUFBUSxDQUFxQjtRQVYvSCxpQkFBWSxHQUFHLElBQUksT0FBTyxFQUE4QyxDQUFDO1FBQ3pFLGNBQVMs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QUFTLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxtQkFBbUIsZ0NBQzdELE9BQU8sRUFBRSxJQUFJLElBQ1YsV0FBVyxLQUNkLGFBQWEsRUFBRSxHQUFHLEVBQUU7O2dCQUNsQixNQUFBLElBQUksQ0FBQyxRQUFRLDBDQUFFLHFCQUFxQixFQUFFLENBQUM7Z0JBQ3ZDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDNUIsQ0FBQyxFQUNELFVBQVUsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxJQUN0QyxDQUFDO1FBQ0gsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQztJQUVELG1CQUFtQjtRQUNqQixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFDTyxvQkFBb0I7O1FBQzFCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFBLE1BQUEsTUFBQSxJQUFJLENBQUMsVUFBVSwwQ0FBRSxJQUFJLDBDQUFFLEtBQUssS0FBSSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFbkgsTUFBQSxJQUFJLENBQUMsUUFBUSwwQ0FBRSxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QyxDQUFDOzs7WUE5SE0sa0JBQWtCO1lBVnVELFFBQVE7WUFLakYsa0JBQWtCLHVCQW9Cc0QsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFwcGxpY2F0aW9uUmVmLCBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsIENvbXBvbmVudFJlZiwgRW1iZWRkZWRWaWV3UmVmLCBJbmplY3RvciwgT3B0aW9uYWwsIFZpZXdDb250YWluZXJSZWYsIMm1bWFya0RpcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250ZW50VmlldywgVmlldywgQXBwbGljYXRpb24sIEZyYW1lIH0gZnJvbSAnQG5hdGl2ZXNjcmlwdC9jb3JlJztcbmltcG9ydCB7IGZyb21FdmVudCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFwcEhvc3RBc3luY1ZpZXcsIEFwcEhvc3RWaWV3IH0gZnJvbSAnLi4vLi4vYXBwLWhvc3Qtdmlldyc7XG5pbXBvcnQgeyBOU0xvY2F0aW9uU3RyYXRlZ3kgfSBmcm9tICcuLi8uLi9sZWdhY3kvcm91dGVyL25zLWxvY2F0aW9uLXN0cmF0ZWd5JztcbmltcG9ydCB7IG9uY2UgfSBmcm9tICcuLi8uLi91dGlscy9nZW5lcmFsJztcbmltcG9ydCB7IERldGFjaGVkTG9hZGVyIH0gZnJvbSAnLi4vZGV0YWNoZWQtbG9hZGVyJztcbmltcG9ydCB7IENvbXBvbmVudFBvcnRhbCwgVGVtcGxhdGVQb3J0YWwgfSBmcm9tICcuLi9wb3J0YWwvY29tbW9uJztcbmltcG9ydCB7IE5hdGl2ZVNjcmlwdERvbVBvcnRhbE91dGxldCB9IGZyb20gJy4uL3BvcnRhbC9uc2RvbS1wb3J0YWwtb3V0bGV0JztcbmltcG9ydCB7IE5hdGl2ZURpYWxvZ0NvbmZpZyB9IGZyb20gJy4vZGlhbG9nLWNvbmZpZyc7XG5pbXBvcnQgeyBOZ1ZpZXdSZWYgfSBmcm9tICcuLi8uLi92aWV3LXJlZnMnO1xuXG5leHBvcnQgY2xhc3MgTmF0aXZlTW9kYWxSZWYge1xuICBfaWQ6IHN0cmluZztcbiAgc3RhdGVDaGFuZ2VkID0gbmV3IFN1YmplY3Q8eyBzdGF0ZTogJ29wZW5lZCcgfCAnY2xvc2VkJyB8ICdjbG9zaW5nJyB9PigpO1xuICBvbkRpc21pc3MgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHBhcmVudFZpZXc6IFZpZXc7XG4gIHBvcnRhbE91dGxldDogTmF0aXZlU2NyaXB0RG9tUG9ydGFsT3V0bGV0O1xuICBkZXRhY2hlZExvYWRlclJlZjogQ29tcG9uZW50UmVmPERldGFjaGVkTG9hZGVyPjtcbiAgbW9kYWxWaWV3UmVmOiBOZ1ZpZXdSZWY8YW55PjtcblxuICBwcml2YXRlIF9jbG9zZUNhbGxiYWNrOiAoKSA9PiB2b2lkO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2NvbmZpZzogTmF0aXZlRGlhbG9nQ29uZmlnLCBwcml2YXRlIF9pbmplY3RvcjogSW5qZWN0b3IsIEBPcHRpb25hbCgpIHByaXZhdGUgbG9jYXRpb24/OiBOU0xvY2F0aW9uU3RyYXRlZ3kpIHtcbiAgICBsZXQgcGFyZW50VmlldyA9IHRoaXMuX2NvbmZpZy52aWV3Q29udGFpbmVyUmVmPy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQgfHwgQXBwbGljYXRpb24uZ2V0Um9vdFZpZXcoKTtcblxuICAgIGlmICgocGFyZW50VmlldyBpbnN0YW5jZW9mIEFwcEhvc3RWaWV3IHx8IHBhcmVudFZpZXcgaW5zdGFuY2VvZiBBcHBIb3N0QXN5bmNWaWV3KSAmJiBwYXJlbnRWaWV3Lm5nQXBwUm9vdCkge1xuICAgICAgcGFyZW50VmlldyA9IHBhcmVudFZpZXcubmdBcHBSb290O1xuICAgIH1cblxuICAgIC8vIF9uZ0RpYWxvZ1Jvb3QgaXMgdGhlIGZpcnN0IGNoaWxkIG9mIHRoZSBwcmV2aW91c2x5IGRldGFjaGVkIHByb3h5LlxuICAgIC8vIEl0IHNob3VsZCBoYXZlICd2aWV3Q29udHJvbGxlcicgKGlPUykgb3IgJ19kaWFsb2dGcmFnbWVudCcgKEFuZHJvaWQpIGF2YWlsYWJsZSBmb3JcbiAgICAvLyBwcmVzZW50aW5nIGZ1dHVyZSBtb2RhbCB2aWV3cy5cbiAgICBpZiAocGFyZW50Vmlldy5fbmdEaWFsb2dSb290KSB7XG4gICAgICBwYXJlbnRWaWV3ID0gcGFyZW50Vmlldy5fbmdEaWFsb2dSb290O1xuICAgIH1cbiAgICB0aGlzLnBhcmVudFZpZXcgPSBwYXJlbnRWaWV3O1xuXG4gICAgdGhpcy5fY2xvc2VDYWxsYmFjayA9IG9uY2UoKCkgPT4ge1xuICAgICAgdGhpcy5zdGF0ZUNoYW5nZWQubmV4dCh7IHN0YXRlOiAnY2xvc2luZycgfSk7XG4gICAgICB0aGlzLm1vZGFsVmlld1JlZi5maXJzdE5hdGl2ZUxpa2VWaWV3Py5jbG9zZU1vZGFsKCk7XG4gICAgICB0aGlzLmxvY2F0aW9uPy5fY2xvc2VNb2RhbE5hdmlnYXRpb24oKTtcbiAgICAgIC8vIHRoaXMuZGV0YWNoZWRMb2FkZXJSZWY/LmRlc3Ryb3koKTtcbiAgICAgIGlmICh0aGlzLm1vZGFsVmlld1JlZj8uZmlyc3ROYXRpdmVMaWtlVmlldy5pc0xvYWRlZCkge1xuICAgICAgICBmcm9tRXZlbnQodGhpcy5tb2RhbFZpZXdSZWYuZmlyc3ROYXRpdmVMaWtlVmlldywgJ3VubG9hZGVkJylcbiAgICAgICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5zdGF0ZUNoYW5nZWQubmV4dCh7IHN0YXRlOiAnY2xvc2VkJyB9KSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnN0YXRlQ2hhbmdlZC5uZXh0KHsgc3RhdGU6ICdjbG9zZWQnIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgX2dlbmVyYXRlRGV0YWNoZWRDb250YWluZXIodmNSZWY/OiBWaWV3Q29udGFpbmVyUmVmKSB7XG4gICAgY29uc3QgZGV0YWNoZWRGYWN0b3J5ID0gKHRoaXMuX2NvbmZpZy5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIgfHwgdGhpcy5faW5qZWN0b3IuZ2V0KENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcikpLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KERldGFjaGVkTG9hZGVyKTtcbiAgICBpZiAodmNSZWYpIHtcbiAgICAgIHRoaXMuZGV0YWNoZWRMb2FkZXJSZWYgPSB2Y1JlZi5jcmVhdGVDb21wb25lbnQoZGV0YWNoZWRGYWN0b3J5KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5kZXRhY2hlZExvYWRlclJlZiA9IGRldGFjaGVkRmFjdG9yeS5jcmVhdGUodGhpcy5fY29uZmlnLnZpZXdDb250YWluZXJSZWY/LmluamVjdG9yIHx8IHRoaXMuX2luamVjdG9yKTtcbiAgICAgIHRoaXMuX2luamVjdG9yLmdldChBcHBsaWNhdGlvblJlZikuYXR0YWNoVmlldyh0aGlzLmRldGFjaGVkTG9hZGVyUmVmLmhvc3RWaWV3KTtcbiAgICB9XG4gICAgdGhpcy5kZXRhY2hlZExvYWRlclJlZi5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBhdHRhY2hUZW1wbGF0ZVBvcnRhbDxUPihwb3J0YWw6IFRlbXBsYXRlUG9ydGFsPFQ+KTogRW1iZWRkZWRWaWV3UmVmPFQ+IHtcbiAgICB0aGlzLnN0YXJ0TW9kYWxOYXZpZ2F0aW9uKCk7XG4gICAgY29uc3QgdmNSZWYgPSBwb3J0YWwudmlld0NvbnRhaW5lclJlZiB8fCB0aGlzLl9jb25maWcudmlld0NvbnRhaW5lclJlZjtcbiAgICB0aGlzLl9nZW5lcmF0ZURldGFjaGVkQ29udGFpbmVyKHZjUmVmKTtcbiAgICBwb3J0YWwudmlld0NvbnRhaW5lclJlZiA9IHRoaXMuZGV0YWNoZWRMb2FkZXJSZWYuaW5zdGFuY2UudmM7XG4gICAgY29uc3QgdGFyZ2V0VmlldyA9IG5ldyBDb250ZW50VmlldygpO1xuICAgIHRoaXMucG9ydGFsT3V0bGV0ID0gbmV3IE5hdGl2ZVNjcmlwdERvbVBvcnRhbE91dGxldCh0YXJnZXRWaWV3LCB0aGlzLl9jb25maWcuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyIHx8IHRoaXMuX2luamVjdG9yLmdldChDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIpLCB0aGlzLl9pbmplY3Rvci5nZXQoQXBwbGljYXRpb25SZWYpLCB0aGlzLl9pbmplY3Rvcik7XG4gICAgY29uc3QgdGVtcGxhdGVSZWYgPSB0aGlzLnBvcnRhbE91dGxldC5hdHRhY2gocG9ydGFsKTtcbiAgICB0aGlzLm1vZGFsVmlld1JlZiA9IG5ldyBOZ1ZpZXdSZWYodGVtcGxhdGVSZWYpO1xuICAgIHRoaXMubW9kYWxWaWV3UmVmLmZpcnN0TmF0aXZlTGlrZVZpZXdbJ19fbmdfbW9kYWxfaWRfXyddID0gdGhpcy5faWQ7XG4gICAgLy8gaWYgd2UgZG9uJ3QgZGV0YWNoIHRoZSB2aWV3IGZyb20gaXRzIHBhcmVudCwgaW9zIGdldHMgbWFkXG4gICAgdGhpcy5tb2RhbFZpZXdSZWYuZGV0YWNoTmF0aXZlTGlrZVZpZXcoKTtcblxuICAgIGNvbnN0IHVzZXJPcHRpb25zID0gdGhpcy5fY29uZmlnLm5hdGl2ZU9wdGlvbnMgfHwge307XG4gICAgdGhpcy5wYXJlbnRWaWV3LnNob3dNb2RhbCh0aGlzLm1vZGFsVmlld1JlZi5maXJzdE5hdGl2ZUxpa2VWaWV3LCB7XG4gICAgICBjb250ZXh0OiBudWxsLFxuICAgICAgLi4udXNlck9wdGlvbnMsXG4gICAgICBjbG9zZUNhbGxiYWNrOiAoKSA9PiB7XG4gICAgICAgIHRoaXMubG9jYXRpb24/Ll9jbG9zZU1vZGFsTmF2aWdhdGlvbigpO1xuICAgICAgICB0aGlzLm9uRGlzbWlzcy5uZXh0KCk7XG4gICAgICAgIHRoaXMub25EaXNtaXNzLmNvbXBsZXRlKCk7XG4gICAgICB9LFxuICAgICAgY2FuY2VsYWJsZTogIXRoaXMuX2NvbmZpZy5kaXNhYmxlQ2xvc2UsXG4gICAgfSk7XG4gICAgLy8gICBpZiAodGhpcy5tb2RhbFZpZXcgIT09IHRlbXBsYXRlUmVmLnJvb3ROb2Rlc1swXSkge1xuICAgIC8vICAgICBjb21wb25lbnRSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudC5fbmdEaWFsb2dSb290ID0gdGhpcy5tb2RhbFZpZXc7XG4gICAgLy8gICB9XG4gICAgcmV0dXJuIHRlbXBsYXRlUmVmO1xuICB9XG5cbiAgYXR0YWNoQ29tcG9uZW50UG9ydGFsPFQ+KHBvcnRhbDogQ29tcG9uZW50UG9ydGFsPFQ+KTogQ29tcG9uZW50UmVmPFQ+IHtcbiAgICB0aGlzLnN0YXJ0TW9kYWxOYXZpZ2F0aW9uKCk7XG5cbiAgICBjb25zdCB0YXJnZXRWaWV3ID0gbmV3IENvbnRlbnRWaWV3KCk7XG4gICAgdGhpcy5wb3J0YWxPdXRsZXQgPSBuZXcgTmF0aXZlU2NyaXB0RG9tUG9ydGFsT3V0bGV0KHRhcmdldFZpZXcsIHRoaXMuX2NvbmZpZy5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIgfHwgdGhpcy5faW5qZWN0b3IuZ2V0KENvbXBvbmVudEZhY3RvcnlSZXNvbHZlciksIHRoaXMuX2luamVjdG9yLmdldChBcHBsaWNhdGlvblJlZiksIHRoaXMuX2luamVjdG9yKTtcbiAgICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLnBvcnRhbE91dGxldC5hdHRhY2gocG9ydGFsKTtcbiAgICDJtW1hcmtEaXJ0eShjb21wb25lbnRSZWYuaW5zdGFuY2UpO1xuICAgIHRoaXMubW9kYWxWaWV3UmVmID0gbmV3IE5nVmlld1JlZihjb21wb25lbnRSZWYpO1xuICAgIGlmICh0aGlzLm1vZGFsVmlld1JlZi5maXJzdE5hdGl2ZUxpa2VWaWV3ICE9PSB0aGlzLm1vZGFsVmlld1JlZi52aWV3KSB7XG4gICAgICAoPGFueT50aGlzLm1vZGFsVmlld1JlZi52aWV3KS5fbmdEaWFsb2dSb290ID0gdGhpcy5tb2RhbFZpZXdSZWYuZmlyc3ROYXRpdmVMaWtlVmlldztcbiAgICB9XG4gICAgdGhpcy5tb2RhbFZpZXdSZWYuZmlyc3ROYXRpdmVMaWtlVmlld1snX19uZ19tb2RhbF9pZF9fJ10gPSB0aGlzLl9pZDtcbiAgICAvLyBpZiB3ZSBkb24ndCBkZXRhY2ggdGhlIHZpZXcgZnJvbSBpdHMgcGFyZW50LCBpb3MgZ2V0cyBtYWRcbiAgICB0aGlzLm1vZGFsVmlld1JlZi5kZXRhY2hOYXRpdmVMaWtlVmlldygpO1xuXG4gICAgY29uc3QgdXNlck9wdGlvbnMgPSB0aGlzLl9jb25maWcubmF0aXZlT3B0aW9ucyB8fCB7fTtcbiAgICB0aGlzLnBhcmVudFZpZXcuc2hvd01vZGFsKHRoaXMubW9kYWxWaWV3UmVmLmZpcnN0TmF0aXZlTGlrZVZpZXcsIHtcbiAgICAgIGNvbnRleHQ6IG51bGwsXG4gICAgICAuLi51c2VyT3B0aW9ucyxcbiAgICAgIGNsb3NlQ2FsbGJhY2s6ICgpID0+IHtcbiAgICAgICAgdGhpcy5sb2NhdGlvbj8uX2Nsb3NlTW9kYWxOYXZpZ2F0aW9uKCk7XG4gICAgICAgIHRoaXMub25EaXNtaXNzLm5leHQoKTtcbiAgICAgICAgdGhpcy5vbkRpc21pc3MuY29tcGxldGUoKTtcbiAgICAgIH0sXG4gICAgICBjYW5jZWxhYmxlOiAhdGhpcy5fY29uZmlnLmRpc2FibGVDbG9zZSxcbiAgICB9KTtcbiAgICByZXR1cm4gY29tcG9uZW50UmVmO1xuICB9XG5cbiAgX3N0YXJ0RXhpdEFuaW1hdGlvbigpIHtcbiAgICB0aGlzLl9jbG9zZUNhbGxiYWNrKCk7XG4gIH1cblxuICBkaXNwb3NlKCkge1xuICAgIHRoaXMucG9ydGFsT3V0bGV0LmRpc3Bvc2UoKTtcbiAgfVxuICBwcml2YXRlIHN0YXJ0TW9kYWxOYXZpZ2F0aW9uKCkge1xuICAgIGNvbnN0IGZyYW1lID0gdGhpcy5wYXJlbnRWaWV3IGluc3RhbmNlb2YgRnJhbWUgPyB0aGlzLnBhcmVudFZpZXcgOiB0aGlzLnBhcmVudFZpZXc/LnBhZ2U/LmZyYW1lIHx8IEZyYW1lLnRvcG1vc3QoKTtcblxuICAgIHRoaXMubG9jYXRpb24/Ll9iZWdpbk1vZGFsTmF2aWdhdGlvbihmcmFtZSk7XG4gIH1cbn1cbiJdfQ==

@@ -96,2 +96,3 @@ import { Injectable } from '@angular/core';

shouldAttach(route) {
var _a;
route = findTopActivatedRouteNodeForOutlet(route);

@@ -106,3 +107,3 @@ const outletKey = this.location.getRouteFullPath(route);

const isBack = outlet ? outlet.isPageNavigationBack : false;
const shouldAttach = isBack && cache.peek().key === key;
const shouldAttach = isBack && ((_a = cache.peek()) === null || _a === void 0 ? void 0 : _a.key) === key;
if (NativeScriptDebug.isLogEnabled()) {

@@ -197,2 +198,2 @@ NativeScriptDebug.routeReuseStrategyLog(`shouldAttach isBack: ${isBack} key: ${key} result: ${shouldAttach}`);

export { ɵ0 };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnMtcm91dGUtcmV1c2Utc3RyYXRlZ3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2xlZ2FjeS9yb3V0ZXIvbnMtcm91dGUtcmV1c2Utc3RyYXRlZ3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDaEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGtDQUFrQyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFRaEksTUFBTSxjQUFjLEdBQUcsVUFBVSxRQUFnQztJQUMvRCxPQUFPLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQzFDLENBQUMsQ0FBQzs7QUFFRjs7R0FFRztBQUNILE1BQU0sa0JBQWtCO0lBQXhCO1FBQ1UsVUFBSyxHQUFHLElBQUksS0FBSyxFQUFhLENBQUM7SUFnRXpDLENBQUM7SUE5REMsSUFBVyxNQUFNO1FBQ2YsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztJQUMzQixDQUFDO0lBRU0sSUFBSSxDQUFDLFNBQW9CO1FBQzlCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFTSxHQUFHO1FBQ1IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFTSxJQUFJO1FBQ1QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFTSxLQUFLO1FBQ1YsSUFBSSxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsRUFBRTtZQUNwQyxpQkFBaUIsQ0FBQyxxQkFBcUIsQ0FBQyw4QkFBOEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLDBCQUEwQixDQUFDLENBQUM7U0FDcEg7UUFFRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUM1QixNQUFNLEtBQUssR0FBUSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUMxQyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRTtnQkFDdkIsTUFBTSxJQUFJLEtBQUssQ0FBQyw4Q0FBOEMsQ0FBQyxDQUFDO2FBQ2pFO1lBRUQsbUJBQW1CLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQ3pDO0lBQ0gsQ0FBQztJQUVNLGVBQWU7UUFDcEIsSUFBSSxpQkFBaUIsR0FBRyxDQUFDLENBQUM7UUFDMUIsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUNsRCxPQUFPLFNBQVMsQ0FBQyxPQUFPLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLGFBQWEsRUFBRTtZQUNqQixJQUFJLGlCQUFpQixHQUFHLEtBQUssQ0FBQztZQUU5QixPQUFPLENBQUMsaUJBQWlCLEVBQUU7Z0JBQ3pCLElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDNUIsTUFBTSxLQUFLLEdBQVEsU0FBUyxDQUFDLEtBQUssQ0FBQztnQkFFbkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUU7b0JBQ3ZCLE1BQU0sSUFBSSxLQUFLLENBQUMsOENBQThDLENBQUMsQ0FBQztpQkFDakU7Z0JBRUQsbUJBQW1CLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUN4QyxJQUFJLFNBQVMsQ0FBQyxPQUFPLEVBQUU7b0JBQ3JCLGlCQUFpQixHQUFHLElBQUksQ0FBQztpQkFDMUI7Z0JBRUQsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUNYLGlCQUFpQixFQUFFLENBQUM7YUFDckI7U0FDRjtRQUVELElBQUksaUJBQWlCLENBQUMsWUFBWSxFQUFFLEVBQUU7WUFDcEMsaUJBQWlCLENBQUMscUJBQXFCLENBQUMsd0NBQXdDLGlCQUFpQiwwQkFBMEIsQ0FBQyxDQUFDO1NBQzlIO0lBQ0gsQ0FBQztDQUNGO0FBRUQ7Ozs7R0FJRztBQUVILE1BQU0sT0FBTyxvQkFBb0I7SUFHL0IsWUFBb0IsUUFBNEI7UUFBNUIsYUFBUSxHQUFSLFFBQVEsQ0FBb0I7UUFGeEMsa0JBQWEsR0FBMEMsRUFBRSxDQUFDO0lBRWYsQ0FBQztJQUVwRCxZQUFZLENBQUMsS0FBNkI7UUFDeEMsS0FBSyxHQUFHLGtDQUFrQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRWxELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzFELE1BQU0sR0FBRyxHQUFHLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsQyxNQUFNLGVBQWUsR0FBRyxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUN6RCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQzVELElBQUksWUFBWSxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sSUFBSSxlQUFlLENBQUM7UUFFeEQsSUFBSSxNQUFNLEVBQUU7WUFDVixJQUFJLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRTtnQkFDaEQsWUFBWSxHQUFHLEtBQUssQ0FBQzthQUN0QjtZQUVELE1BQU0sQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO1NBQ3BDO1FBRUQsSUFBSSxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsRUFBRTtZQUNwQyxpQkFBaUIsQ0FBQyxxQkFBcUIsQ0FBQyx3QkFBd0IsTUFBTSxTQUFTLEdBQUcsWUFBWSxZQUFZLEVBQUUsQ0FBQyxDQUFDO1NBQy9HO1FBRUQsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUE2QjtRQUN4QyxLQUFLLEdBQUcsa0NBQWtDLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFbEQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4RCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDMUQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1YsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUVELE1BQU0sR0FBRyxHQUFHLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsQyxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQzVELE1BQU0sWUFBWSxHQUFHLE1BQU0sSUFBSSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxLQUFLLEdBQUcsQ0FBQztRQUV4RCxJQUFJLGlCQUFpQixDQUFDLFlBQVksRUFBRSxFQUFFO1lBQ3BDLGlCQUFpQixDQUFDLHFCQUFxQixDQUFDLHdCQUF3QixNQUFNLFNBQVMsR0FBRyxZQUFZLFlBQVksRUFBRSxDQUFDLENBQUM7U0FDL0c7UUFFRCxJQUFJLE1BQU0sRUFBRTtZQUNWLE1BQU0sQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1NBQzVCO1FBRUQsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUE2QixFQUFFLEtBQTBCO1FBQzdELEtBQUssR0FBRyxrQ0FBa0MsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVsRCxNQUFNLEdBQUcsR0FBRyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEMsSUFBSSxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsRUFBRTtZQUNwQyxpQkFBaUIsQ0FBQyxxQkFBcUIsQ0FBQyxjQUFjLEdBQUcsWUFBWSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1NBQy9FO1FBRUQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV4RCwyQ0FBMkM7UUFDM0MsTUFBTSxLQUFLLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksSUFBSSxrQkFBa0IsRUFBRSxDQUFDLENBQUM7UUFFMUcsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDcEIsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLHFCQUFxQixHQUFHLENBQUMsRUFBRTtnQkFDM0MsT0FBTyxHQUFHLElBQUksQ0FBQzthQUNoQjtZQUVELEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7U0FDckM7YUFBTTtZQUNMLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUM3QixJQUFJLE9BQU8sQ0FBQyxHQUFHLEtBQUssR0FBRyxFQUFFO2dCQUN2QixLQUFLLENBQUMsR0FBRyxFQUFFLENBQUM7Z0JBRVosSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUU7b0JBQ2pCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQztpQkFDdEM7YUFDRjtpQkFBTTtnQkFDTCxNQUFNLElBQUksS0FBSyxDQUFDLDhEQUE4RCxHQUFHLGFBQWEsT0FBTyxDQUFDLEdBQUcsWUFBWSxHQUFHLEVBQUUsQ0FBQyxDQUFDO2FBQzdIO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQTZCO1FBQ3BDLEtBQUssR0FBRyxrQ0FBa0MsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVsRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMxRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDVixPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsTUFBTSxHQUFHLEdBQUcsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDNUQsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO1FBRWhDLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLE1BQU0sSUFBSSxVQUFVLElBQUksVUFBVSxDQUFDLEdBQUcsS0FBSyxHQUFHLEVBQUU7WUFDbEQsS0FBSyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUM7U0FDMUI7UUFFRCxJQUFJLGlCQUFpQixDQUFDLFlBQVksRUFBRSxFQUFFO1lBQ3BDLGlCQUFpQixDQUFDLHFCQUFxQixDQUFDLHFCQUFxQixNQUFNLFNBQVMsR0FBRyxXQUFXLEtBQUssRUFBRSxDQUFDLENBQUM7U0FDcEc7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxNQUE4QixFQUFFLElBQTRCO1FBQzNFLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLEtBQUssSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUU1RCxJQUFJLFdBQVcsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLHlCQUF5QixDQUFDLEVBQUU7WUFDMUQsd0VBQXdFO1lBQ3hFLDRFQUE0RTtZQUM1RSxNQUFNLENBQUMseUJBQXlCLENBQUMsR0FBRyxJQUFJLENBQUMseUJBQXlCLENBQUMsQ0FBQztTQUNyRTtRQUVELElBQUksaUJBQWlCLENBQUMsWUFBWSxFQUFFLEVBQUU7WUFDcEMsaUJBQWlCLENBQUMscUJBQXFCLENBQUMsNEJBQTRCLFdBQVcsRUFBRSxDQUFDLENBQUM7U0FDcEY7UUFFRCxPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDO0lBRUQsVUFBVSxDQUFDLFNBQWlCO1FBQzFCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFNUMsSUFBSSxLQUFLLEVBQUU7WUFDVCxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDZjtJQUNILENBQUM7SUFFRCxlQUFlLENBQUMsU0FBaUI7UUFDL0IsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUU1QyxJQUFJLEtBQUssRUFBRTtZQUNULEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztTQUN6QjtJQUNILENBQUM7OztZQWxKRixVQUFVOzs7WUF4RkYsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVSZXVzZVN0cmF0ZWd5LCBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBEZXRhY2hlZFJvdXRlSGFuZGxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgTmF0aXZlU2NyaXB0RGVidWcgfSBmcm9tICcuLi8uLi90cmFjZSc7XG5pbXBvcnQgeyBOU0xvY2F0aW9uU3RyYXRlZ3kgfSBmcm9tICcuL25zLWxvY2F0aW9uLXN0cmF0ZWd5JztcbmltcG9ydCB7IGRlc3Ryb3lDb21wb25lbnRSZWYsIGZpbmRUb3BBY3RpdmF0ZWRSb3V0ZU5vZGVGb3JPdXRsZXQsIHBhZ2VSb3V0ZXJBY3RpdmF0ZWRTeW1ib2wgfSBmcm9tICcuL3BhZ2Utcm91dGVyLW91dGxldC11dGlscyc7XG5cbmludGVyZmFjZSBDYWNoZUl0ZW0ge1xuICBrZXk6IHN0cmluZztcbiAgc3RhdGU6IERldGFjaGVkUm91dGVIYW5kbGU7XG4gIGlzTW9kYWw6IGJvb2xlYW47XG59XG5cbmNvbnN0IGdldFNuYXBzaG90S2V5ID0gZnVuY3Rpb24gKHNuYXBzaG90OiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogc3RyaW5nIHtcbiAgcmV0dXJuIHNuYXBzaG90LnBhdGhGcm9tUm9vdC5qb2luKCctPicpO1xufTtcblxuLyoqXG4gKiBEZXRhY2hlZCBzdGF0ZSBjYWNoZVxuICovXG5jbGFzcyBEZXRhY2hlZFN0YXRlQ2FjaGUge1xuICBwcml2YXRlIGNhY2hlID0gbmV3IEFycmF5PENhY2hlSXRlbT4oKTtcblxuICBwdWJsaWMgZ2V0IGxlbmd0aCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmNhY2hlLmxlbmd0aDtcbiAgfVxuXG4gIHB1YmxpYyBwdXNoKGNhY2hlSXRlbTogQ2FjaGVJdGVtKSB7XG4gICAgdGhpcy5jYWNoZS5wdXNoKGNhY2hlSXRlbSk7XG4gIH1cblxuICBwdWJsaWMgcG9wKCk6IENhY2hlSXRlbSB7XG4gICAgcmV0dXJuIHRoaXMuY2FjaGUucG9wKCk7XG4gIH1cblxuICBwdWJsaWMgcGVlaygpOiBDYWNoZUl0ZW0ge1xuICAgIHJldHVybiB0aGlzLmNhY2hlW3RoaXMuY2FjaGUubGVuZ3RoIC0gMV07XG4gIH1cblxuICBwdWJsaWMgY2xlYXIoKSB7XG4gICAgaWYgKE5hdGl2ZVNjcmlwdERlYnVnLmlzTG9nRW5hYmxlZCgpKSB7XG4gICAgICBOYXRpdmVTY3JpcHREZWJ1Zy5yb3V0ZVJldXNlU3RyYXRlZ3lMb2coYERldGFjaGVkU3RhdGVDYWNoZS5jbGVhcigpICR7dGhpcy5jYWNoZS5sZW5ndGh9IGl0ZW1zIHdpbGwgYmUgZGVzdHJveWVkYCk7XG4gICAgfVxuXG4gICAgd2hpbGUgKHRoaXMuY2FjaGUubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3Qgc3RhdGUgPSA8YW55PnRoaXMuY2FjaGUucG9wKCkuc3RhdGU7XG4gICAgICBpZiAoIXN0YXRlLmNvbXBvbmVudFJlZikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIGNvbXBvbmVudFJlZCBmb3VuZCBpbiBEZXRhY2hlZFJvdXRlSGFuZGxlJyk7XG4gICAgICB9XG5cbiAgICAgIGRlc3Ryb3lDb21wb25lbnRSZWYoc3RhdGUuY29tcG9uZW50UmVmKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgY2xlYXJNb2RhbENhY2hlKCkge1xuICAgIGxldCByZW1vdmVkSXRlbXNDb3VudCA9IDA7XG4gICAgY29uc3QgaGFzTW9kYWxQYWdlcyA9IHRoaXMuY2FjaGUuc29tZSgoY2FjaGVJdGVtKSA9PiB7XG4gICAgICByZXR1cm4gY2FjaGVJdGVtLmlzTW9kYWw7XG4gICAgfSk7XG5cbiAgICBpZiAoaGFzTW9kYWxQYWdlcykge1xuICAgICAgbGV0IG1vZGFsQ2FjaGVDbGVhcmVkID0gZmFsc2U7XG5cbiAgICAgIHdoaWxlICghbW9kYWxDYWNoZUNsZWFyZWQpIHtcbiAgICAgICAgbGV0IGNhY2hlSXRlbSA9IHRoaXMucGVlaygpO1xuICAgICAgICBjb25zdCBzdGF0ZSA9IDxhbnk+Y2FjaGVJdGVtLnN0YXRlO1xuXG4gICAgICAgIGlmICghc3RhdGUuY29tcG9uZW50UmVmKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdObyBjb21wb25lbnRSZWYgZm91bmQgaW4gRGV0YWNoZWRSb3V0ZUhhbmRsZScpO1xuICAgICAgICB9XG5cbiAgICAgICAgZGVzdHJveUNvbXBvbmVudFJlZihzdGF0ZS5jb21wb25lbnRSZWYpO1xuICAgICAgICBpZiAoY2FjaGVJdGVtLmlzTW9kYWwpIHtcbiAgICAgICAgICBtb2RhbENhY2hlQ2xlYXJlZCA9IHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnBvcCgpO1xuICAgICAgICByZW1vdmVkSXRlbXNDb3VudCsrO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChOYXRpdmVTY3JpcHREZWJ1Zy5pc0xvZ0VuYWJsZWQoKSkge1xuICAgICAgTmF0aXZlU2NyaXB0RGVidWcucm91dGVSZXVzZVN0cmF0ZWd5TG9nKGBEZXRhY2hlZFN0YXRlQ2FjaGUuY2xlYXJNb2RhbENhY2hlKCkgJHtyZW1vdmVkSXRlbXNDb3VudH0gaXRlbXMgd2lsbCBiZSBkZXN0cm95ZWRgKTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBEZXRhY2hlcyBzdWJ0cmVlcyBsb2FkZWQgaW5zaWRlIFBhZ2VSb3V0ZXJPdXRsZXQgaW4gZm9yd2FyZCBuYXZpZ2F0aW9uXG4gKiBhbmQgcmVhdHRhY2hlcyB0aGVtIG9uIGJhY2suXG4gKiBSZXVzZXMgcm91dGVzIGFzIGxvbmcgYXMgdGhlaXIgcm91dGUgY29uZmlnIGlzIHRoZSBzYW1lLlxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTlNSb3V0ZVJldXNlU3RyYXRlZ3kgaW1wbGVtZW50cyBSb3V0ZVJldXNlU3RyYXRlZ3kge1xuICBwcml2YXRlIGNhY2hlQnlPdXRsZXQ6IHsgW2tleTogc3RyaW5nXTogRGV0YWNoZWRTdGF0ZUNhY2hlIH0gPSB7fTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGxvY2F0aW9uOiBOU0xvY2F0aW9uU3RyYXRlZ3kpIHt9XG5cbiAgc2hvdWxkRGV0YWNoKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogYm9vbGVhbiB7XG4gICAgcm91dGUgPSBmaW5kVG9wQWN0aXZhdGVkUm91dGVOb2RlRm9yT3V0bGV0KHJvdXRlKTtcblxuICAgIGNvbnN0IG91dGxldEtleSA9IHRoaXMubG9jYXRpb24uZ2V0Um91dGVGdWxsUGF0aChyb3V0ZSk7XG4gICAgY29uc3Qgb3V0bGV0ID0gdGhpcy5sb2NhdGlvbi5maW5kT3V0bGV0KG91dGxldEtleSwgcm91dGUpO1xuICAgIGNvbnN0IGtleSA9IGdldFNuYXBzaG90S2V5KHJvdXRlKTtcbiAgICBjb25zdCBpc1BhZ2VBY3RpdmF0ZWQgPSByb3V0ZVtwYWdlUm91dGVyQWN0aXZhdGVkU3ltYm9sXTtcbiAgICBjb25zdCBpc0JhY2sgPSBvdXRsZXQgPyBvdXRsZXQuaXNQYWdlTmF2aWdhdGlvbkJhY2sgOiBmYWxzZTtcbiAgICBsZXQgc2hvdWxkRGV0YWNoID0gb3V0bGV0ICYmICFpc0JhY2sgJiYgaXNQYWdlQWN0aXZhdGVkO1xuXG4gICAgaWYgKG91dGxldCkge1xuICAgICAgaWYgKG91dGxldC5wYXJlbnQgJiYgIW91dGxldC5wYXJlbnQuc2hvdWxkRGV0YWNoKSB7XG4gICAgICAgIHNob3VsZERldGFjaCA9IGZhbHNlO1xuICAgICAgfVxuXG4gICAgICBvdXRsZXQuc2hvdWxkRGV0YWNoID0gc2hvdWxkRGV0YWNoO1xuICAgIH1cblxuICAgIGlmIChOYXRpdmVTY3JpcHREZWJ1Zy5pc0xvZ0VuYWJsZWQoKSkge1xuICAgICAgTmF0aXZlU2NyaXB0RGVidWcucm91dGVSZXVzZVN0cmF0ZWd5TG9nKGBzaG91bGREZXRhY2ggaXNCYWNrOiAke2lzQmFja30ga2V5OiAke2tleX0gcmVzdWx0OiAke3Nob3VsZERldGFjaH1gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gc2hvdWxkRGV0YWNoO1xuICB9XG5cbiAgc2hvdWxkQXR0YWNoKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogYm9vbGVhbiB7XG4gICAgcm91dGUgPSBmaW5kVG9wQWN0aXZhdGVkUm91dGVOb2RlRm9yT3V0bGV0KHJvdXRlKTtcblxuICAgIGNvbnN0IG91dGxldEtleSA9IHRoaXMubG9jYXRpb24uZ2V0Um91dGVGdWxsUGF0aChyb3V0ZSk7XG4gICAgY29uc3Qgb3V0bGV0ID0gdGhpcy5sb2NhdGlvbi5maW5kT3V0bGV0KG91dGxldEtleSwgcm91dGUpO1xuICAgIGNvbnN0IGNhY2hlID0gdGhpcy5jYWNoZUJ5T3V0bGV0W291dGxldEtleV07XG4gICAgaWYgKCFjYWNoZSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGNvbnN0IGtleSA9IGdldFNuYXBzaG90S2V5KHJvdXRlKTtcbiAgICBjb25zdCBpc0JhY2sgPSBvdXRsZXQgPyBvdXRsZXQuaXNQYWdlTmF2aWdhdGlvbkJhY2sgOiBmYWxzZTtcbiAgICBjb25zdCBzaG91bGRBdHRhY2ggPSBpc0JhY2sgJiYgY2FjaGUucGVlaygpLmtleSA9PT0ga2V5O1xuXG4gICAgaWYgKE5hdGl2ZVNjcmlwdERlYnVnLmlzTG9nRW5hYmxlZCgpKSB7XG4gICAgICBOYXRpdmVTY3JpcHREZWJ1Zy5yb3V0ZVJldXNlU3RyYXRlZ3lMb2coYHNob3VsZEF0dGFjaCBpc0JhY2s6ICR7aXNCYWNrfSBrZXk6ICR7a2V5fSByZXN1bHQ6ICR7c2hvdWxkQXR0YWNofWApO1xuICAgIH1cblxuICAgIGlmIChvdXRsZXQpIHtcbiAgICAgIG91dGxldC5zaG91bGREZXRhY2ggPSB0cnVlO1xuICAgIH1cblxuICAgIHJldHVybiBzaG91bGRBdHRhY2g7XG4gIH1cblxuICBzdG9yZShyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgc3RhdGU6IERldGFjaGVkUm91dGVIYW5kbGUpOiB2b2lkIHtcbiAgICByb3V0ZSA9IGZpbmRUb3BBY3RpdmF0ZWRSb3V0ZU5vZGVGb3JPdXRsZXQocm91dGUpO1xuXG4gICAgY29uc3Qga2V5ID0gZ2V0U25hcHNob3RLZXkocm91dGUpO1xuICAgIGlmIChOYXRpdmVTY3JpcHREZWJ1Zy5pc0xvZ0VuYWJsZWQoKSkge1xuICAgICAgTmF0aXZlU2NyaXB0RGVidWcucm91dGVSZXVzZVN0cmF0ZWd5TG9nKGBzdG9yZSBrZXk6ICR7a2V5fSwgc3RhdGU6ICR7c3RhdGV9YCk7XG4gICAgfVxuXG4gICAgY29uc3Qgb3V0bGV0S2V5ID0gdGhpcy5sb2NhdGlvbi5nZXRSb3V0ZUZ1bGxQYXRoKHJvdXRlKTtcblxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTptYXgtbGluZS1sZW5ndGhcbiAgICBjb25zdCBjYWNoZSA9ICh0aGlzLmNhY2hlQnlPdXRsZXRbb3V0bGV0S2V5XSA9IHRoaXMuY2FjaGVCeU91dGxldFtvdXRsZXRLZXldIHx8IG5ldyBEZXRhY2hlZFN0YXRlQ2FjaGUoKSk7XG5cbiAgICBpZiAoc3RhdGUpIHtcbiAgICAgIGxldCBpc01vZGFsID0gZmFsc2U7XG4gICAgICBpZiAodGhpcy5sb2NhdGlvbi5fbW9kYWxOYXZpZ2F0aW9uRGVwdGggPiAwKSB7XG4gICAgICAgIGlzTW9kYWwgPSB0cnVlO1xuICAgICAgfVxuXG4gICAgICBjYWNoZS5wdXNoKHsga2V5LCBzdGF0ZSwgaXNNb2RhbCB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgdG9wSXRlbSA9IGNhY2hlLnBlZWsoKTtcbiAgICAgIGlmICh0b3BJdGVtLmtleSA9PT0ga2V5KSB7XG4gICAgICAgIGNhY2hlLnBvcCgpO1xuXG4gICAgICAgIGlmICghY2FjaGUubGVuZ3RoKSB7XG4gICAgICAgICAgZGVsZXRlIHRoaXMuY2FjaGVCeU91dGxldFtvdXRsZXRLZXldO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJUcnlpbmcgdG8gcG9wIGZyb20gRGV0YWNoZWRTdGF0ZUNhY2hlIGJ1dCBrZXlzIGRvbid0IG1hdGNoLiBcIiArIGBleHBlY3RlZDogJHt0b3BJdGVtLmtleX0gYWN0dWFsOiAke2tleX1gKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXRyaWV2ZShyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCk6IERldGFjaGVkUm91dGVIYW5kbGUgfCBudWxsIHtcbiAgICByb3V0ZSA9IGZpbmRUb3BBY3RpdmF0ZWRSb3V0ZU5vZGVGb3JPdXRsZXQocm91dGUpO1xuXG4gICAgY29uc3Qgb3V0bGV0S2V5ID0gdGhpcy5sb2NhdGlvbi5nZXRSb3V0ZUZ1bGxQYXRoKHJvdXRlKTtcbiAgICBjb25zdCBvdXRsZXQgPSB0aGlzLmxvY2F0aW9uLmZpbmRPdXRsZXQob3V0bGV0S2V5LCByb3V0ZSk7XG4gICAgY29uc3QgY2FjaGUgPSB0aGlzLmNhY2hlQnlPdXRsZXRbb3V0bGV0S2V5XTtcbiAgICBpZiAoIWNhY2hlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCBrZXkgPSBnZXRTbmFwc2hvdEtleShyb3V0ZSk7XG4gICAgY29uc3QgaXNCYWNrID0gb3V0bGV0ID8gb3V0bGV0LmlzUGFnZU5hdmlnYXRpb25CYWNrIDogZmFsc2U7XG4gICAgY29uc3QgY2FjaGVkSXRlbSA9IGNhY2hlLnBlZWsoKTtcblxuICAgIGxldCBzdGF0ZSA9IG51bGw7XG4gICAgaWYgKGlzQmFjayAmJiBjYWNoZWRJdGVtICYmIGNhY2hlZEl0ZW0ua2V5ID09PSBrZXkpIHtcbiAgICAgIHN0YXRlID0gY2FjaGVkSXRlbS5zdGF0ZTtcbiAgICB9XG5cbiAgICBpZiAoTmF0aXZlU2NyaXB0RGVidWcuaXNMb2dFbmFibGVkKCkpIHtcbiAgICAgIE5hdGl2ZVNjcmlwdERlYnVnLnJvdXRlUmV1c2VTdHJhdGVneUxvZyhgcmV0cmlldmVkIGlzQmFjazogJHtpc0JhY2t9IGtleTogJHtrZXl9IHN0YXRlOiAke3N0YXRlfWApO1xuICAgIH1cblxuICAgIHJldHVybiBzdGF0ZTtcbiAgfVxuXG4gIHNob3VsZFJldXNlUm91dGUoZnV0dXJlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBjdXJyOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogYm9vbGVhbiB7XG4gICAgY29uc3Qgc2hvdWxkUmV1c2UgPSBmdXR1cmUucm91dGVDb25maWcgPT09IGN1cnIucm91dGVDb25maWc7XG5cbiAgICBpZiAoc2hvdWxkUmV1c2UgJiYgY3VyciAmJiBjdXJyW3BhZ2VSb3V0ZXJBY3RpdmF0ZWRTeW1ib2xdKSB7XG4gICAgICAvLyBXaGVuIHJldXNpbmcgcm91dGUgLSBjb3B5IHRoZSBwYWdlUm91dGVyQWN0aXZhdGVkIHRvIHRoZSBuZXcgc25hcHNob3RcbiAgICAgIC8vIEl0J3MgbmVlZGVkIGluIHNob3VsZERldGFjaCB0byBkZXRlcm1pbmUgaWYgdGhlIHJvdXRlIHNob3VsZCBiZSBkZXRhY2hlZC5cbiAgICAgIGZ1dHVyZVtwYWdlUm91dGVyQWN0aXZhdGVkU3ltYm9sXSA9IGN1cnJbcGFnZVJvdXRlckFjdGl2YXRlZFN5bWJvbF07XG4gICAgfVxuXG4gICAgaWYgKE5hdGl2ZVNjcmlwdERlYnVnLmlzTG9nRW5hYmxlZCgpKSB7XG4gICAgICBOYXRpdmVTY3JpcHREZWJ1Zy5yb3V0ZVJldXNlU3RyYXRlZ3lMb2coYHNob3VsZFJldXNlUm91dGUgcmVzdWx0OiAke3Nob3VsZFJldXNlfWApO1xuICAgIH1cblxuICAgIHJldHVybiBzaG91bGRSZXVzZTtcbiAgfVxuXG4gIGNsZWFyQ2FjaGUob3V0bGV0S2V5OiBzdHJpbmcpIHtcbiAgICBjb25zdCBjYWNoZSA9IHRoaXMuY2FjaGVCeU91dGxldFtvdXRsZXRLZXldO1xuXG4gICAgaWYgKGNhY2hlKSB7XG4gICAgICBjYWNoZS5jbGVhcigpO1xuICAgIH1cbiAgfVxuXG4gIGNsZWFyTW9kYWxDYWNoZShvdXRsZXRLZXk6IHN0cmluZykge1xuICAgIGNvbnN0IGNhY2hlID0gdGhpcy5jYWNoZUJ5T3V0bGV0W291dGxldEtleV07XG5cbiAgICBpZiAoY2FjaGUpIHtcbiAgICAgIGNhY2hlLmNsZWFyTW9kYWxDYWNoZSgpO1xuICAgIH1cbiAgfVxufVxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnMtcm91dGUtcmV1c2Utc3RyYXRlZ3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2xlZ2FjeS9yb3V0ZXIvbnMtcm91dGUtcmV1c2Utc3RyYXRlZ3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDaEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGtDQUFrQyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFRaEksTUFBTSxjQUFjLEdBQUcsVUFBVSxRQUFnQztJQUMvRCxPQUFPLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQzFDLENBQUMsQ0FBQzs7QUFFRjs7R0FFRztBQUNILE1BQU0sa0JBQWtCO0lBQXhCO1FBQ1UsVUFBSyxHQUFHLElBQUksS0FBSyxFQUFhLENBQUM7SUFnRXpDLENBQUM7SUE5REMsSUFBVyxNQUFNO1FBQ2YsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztJQUMzQixDQUFDO0lBRU0sSUFBSSxDQUFDLFNBQW9CO1FBQzlCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFTSxHQUFHO1FBQ1IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFTSxJQUFJO1FBQ1QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFTSxLQUFLO1FBQ1YsSUFBSSxpQkFBaUIsQ0FBQyxZQUFZLEVB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QUFXLEtBQUssSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUU1RCxJQUFJLFdBQVcsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLHlCQUF5QixDQUFDLEVBQUU7WUFDMUQsd0VBQXdFO1lBQ3hFLDRFQUE0RTtZQUM1RSxNQUFNLENBQUMseUJBQXlCLENBQUMsR0FBRyxJQUFJLENBQUMseUJBQXlCLENBQUMsQ0FBQztTQUNyRTtRQUVELElBQUksaUJBQWlCLENBQUMsWUFBWSxFQUFFLEVBQUU7WUFDcEMsaUJBQWlCLENBQUMscUJBQXFCLENBQUMsNEJBQTRCLFdBQVcsRUFBRSxDQUFDLENBQUM7U0FDcEY7UUFFRCxPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDO0lBRUQsVUFBVSxDQUFDLFNBQWlCO1FBQzFCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFNUMsSUFBSSxLQUFLLEVBQUU7WUFDVCxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDZjtJQUNILENBQUM7SUFFRCxlQUFlLENBQUMsU0FBaUI7UUFDL0IsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUU1QyxJQUFJLEtBQUssRUFBRTtZQUNULEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztTQUN6QjtJQUNILENBQUM7OztZQWxKRixVQUFVOzs7WUF4RkYsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVSZXVzZVN0cmF0ZWd5LCBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBEZXRhY2hlZFJvdXRlSGFuZGxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgTmF0aXZlU2NyaXB0RGVidWcgfSBmcm9tICcuLi8uLi90cmFjZSc7XG5pbXBvcnQgeyBOU0xvY2F0aW9uU3RyYXRlZ3kgfSBmcm9tICcuL25zLWxvY2F0aW9uLXN0cmF0ZWd5JztcbmltcG9ydCB7IGRlc3Ryb3lDb21wb25lbnRSZWYsIGZpbmRUb3BBY3RpdmF0ZWRSb3V0ZU5vZGVGb3JPdXRsZXQsIHBhZ2VSb3V0ZXJBY3RpdmF0ZWRTeW1ib2wgfSBmcm9tICcuL3BhZ2Utcm91dGVyLW91dGxldC11dGlscyc7XG5cbmludGVyZmFjZSBDYWNoZUl0ZW0ge1xuICBrZXk6IHN0cmluZztcbiAgc3RhdGU6IERldGFjaGVkUm91dGVIYW5kbGU7XG4gIGlzTW9kYWw6IGJvb2xlYW47XG59XG5cbmNvbnN0IGdldFNuYXBzaG90S2V5ID0gZnVuY3Rpb24gKHNuYXBzaG90OiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogc3RyaW5nIHtcbiAgcmV0dXJuIHNuYXBzaG90LnBhdGhGcm9tUm9vdC5qb2luKCctPicpO1xufTtcblxuLyoqXG4gKiBEZXRhY2hlZCBzdGF0ZSBjYWNoZVxuICovXG5jbGFzcyBEZXRhY2hlZFN0YXRlQ2FjaGUge1xuICBwcml2YXRlIGNhY2hlID0gbmV3IEFycmF5PENhY2hlSXRlbT4oKTtcblxuICBwdWJsaWMgZ2V0IGxlbmd0aCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmNhY2hlLmxlbmd0aDtcbiAgfVxuXG4gIHB1YmxpYyBwdXNoKGNhY2hlSXRlbTogQ2FjaGVJdGVtKSB7XG4gICAgdGhpcy5jYWNoZS5wdXNoKGNhY2hlSXRlbSk7XG4gIH1cblxuICBwdWJsaWMgcG9wKCk6IENhY2hlSXRlbSB7XG4gICAgcmV0dXJuIHRoaXMuY2FjaGUucG9wKCk7XG4gIH1cblxuICBwdWJsaWMgcGVlaygpOiBDYWNoZUl0ZW0ge1xuICAgIHJldHVybiB0aGlzLmNhY2hlW3RoaXMuY2FjaGUubGVuZ3RoIC0gMV07XG4gIH1cblxuICBwdWJsaWMgY2xlYXIoKSB7XG4gICAgaWYgKE5hdGl2ZVNjcmlwdERlYnVnLmlzTG9nRW5hYmxlZCgpKSB7XG4gICAgICBOYXRpdmVTY3JpcHREZWJ1Zy5yb3V0ZVJldXNlU3RyYXRlZ3lMb2coYERldGFjaGVkU3RhdGVDYWNoZS5jbGVhcigpICR7dGhpcy5jYWNoZS5sZW5ndGh9IGl0ZW1zIHdpbGwgYmUgZGVzdHJveWVkYCk7XG4gICAgfVxuXG4gICAgd2hpbGUgKHRoaXMuY2FjaGUubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3Qgc3RhdGUgPSA8YW55PnRoaXMuY2FjaGUucG9wKCkuc3RhdGU7XG4gICAgICBpZiAoIXN0YXRlLmNvbXBvbmVudFJlZikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIGNvbXBvbmVudFJlZCBmb3VuZCBpbiBEZXRhY2hlZFJvdXRlSGFuZGxlJyk7XG4gICAgICB9XG5cbiAgICAgIGRlc3Ryb3lDb21wb25lbnRSZWYoc3RhdGUuY29tcG9uZW50UmVmKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgY2xlYXJNb2RhbENhY2hlKCkge1xuICAgIGxldCByZW1vdmVkSXRlbXNDb3VudCA9IDA7XG4gICAgY29uc3QgaGFzTW9kYWxQYWdlcyA9IHRoaXMuY2FjaGUuc29tZSgoY2FjaGVJdGVtKSA9PiB7XG4gICAgICByZXR1cm4gY2FjaGVJdGVtLmlzTW9kYWw7XG4gICAgfSk7XG5cbiAgICBpZiAoaGFzTW9kYWxQYWdlcykge1xuICAgICAgbGV0IG1vZGFsQ2FjaGVDbGVhcmVkID0gZmFsc2U7XG5cbiAgICAgIHdoaWxlICghbW9kYWxDYWNoZUNsZWFyZWQpIHtcbiAgICAgICAgbGV0IGNhY2hlSXRlbSA9IHRoaXMucGVlaygpO1xuICAgICAgICBjb25zdCBzdGF0ZSA9IDxhbnk+Y2FjaGVJdGVtLnN0YXRlO1xuXG4gICAgICAgIGlmICghc3RhdGUuY29tcG9uZW50UmVmKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdObyBjb21wb25lbnRSZWYgZm91bmQgaW4gRGV0YWNoZWRSb3V0ZUhhbmRsZScpO1xuICAgICAgICB9XG5cbiAgICAgICAgZGVzdHJveUNvbXBvbmVudFJlZihzdGF0ZS5jb21wb25lbnRSZWYpO1xuICAgICAgICBpZiAoY2FjaGVJdGVtLmlzTW9kYWwpIHtcbiAgICAgICAgICBtb2RhbENhY2hlQ2xlYXJlZCA9IHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnBvcCgpO1xuICAgICAgICByZW1vdmVkSXRlbXNDb3VudCsrO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChOYXRpdmVTY3JpcHREZWJ1Zy5pc0xvZ0VuYWJsZWQoKSkge1xuICAgICAgTmF0aXZlU2NyaXB0RGVidWcucm91dGVSZXVzZVN0cmF0ZWd5TG9nKGBEZXRhY2hlZFN0YXRlQ2FjaGUuY2xlYXJNb2RhbENhY2hlKCkgJHtyZW1vdmVkSXRlbXNDb3VudH0gaXRlbXMgd2lsbCBiZSBkZXN0cm95ZWRgKTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBEZXRhY2hlcyBzdWJ0cmVlcyBsb2FkZWQgaW5zaWRlIFBhZ2VSb3V0ZXJPdXRsZXQgaW4gZm9yd2FyZCBuYXZpZ2F0aW9uXG4gKiBhbmQgcmVhdHRhY2hlcyB0aGVtIG9uIGJhY2suXG4gKiBSZXVzZXMgcm91dGVzIGFzIGxvbmcgYXMgdGhlaXIgcm91dGUgY29uZmlnIGlzIHRoZSBzYW1lLlxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTlNSb3V0ZVJldXNlU3RyYXRlZ3kgaW1wbGVtZW50cyBSb3V0ZVJldXNlU3RyYXRlZ3kge1xuICBwcml2YXRlIGNhY2hlQnlPdXRsZXQ6IHsgW2tleTogc3RyaW5nXTogRGV0YWNoZWRTdGF0ZUNhY2hlIH0gPSB7fTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGxvY2F0aW9uOiBOU0xvY2F0aW9uU3RyYXRlZ3kpIHt9XG5cbiAgc2hvdWxkRGV0YWNoKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogYm9vbGVhbiB7XG4gICAgcm91dGUgPSBmaW5kVG9wQWN0aXZhdGVkUm91dGVOb2RlRm9yT3V0bGV0KHJvdXRlKTtcblxuICAgIGNvbnN0IG91dGxldEtleSA9IHRoaXMubG9jYXRpb24uZ2V0Um91dGVGdWxsUGF0aChyb3V0ZSk7XG4gICAgY29uc3Qgb3V0bGV0ID0gdGhpcy5sb2NhdGlvbi5maW5kT3V0bGV0KG91dGxldEtleSwgcm91dGUpO1xuICAgIGNvbnN0IGtleSA9IGdldFNuYXBzaG90S2V5KHJvdXRlKTtcbiAgICBjb25zdCBpc1BhZ2VBY3RpdmF0ZWQgPSByb3V0ZVtwYWdlUm91dGVyQWN0aXZhdGVkU3ltYm9sXTtcbiAgICBjb25zdCBpc0JhY2sgPSBvdXRsZXQgPyBvdXRsZXQuaXNQYWdlTmF2aWdhdGlvbkJhY2sgOiBmYWxzZTtcbiAgICBsZXQgc2hvdWxkRGV0YWNoID0gb3V0bGV0ICYmICFpc0JhY2sgJiYgaXNQYWdlQWN0aXZhdGVkO1xuXG4gICAgaWYgKG91dGxldCkge1xuICAgICAgaWYgKG91dGxldC5wYXJlbnQgJiYgIW91dGxldC5wYXJlbnQuc2hvdWxkRGV0YWNoKSB7XG4gICAgICAgIHNob3VsZERldGFjaCA9IGZhbHNlO1xuICAgICAgfVxuXG4gICAgICBvdXRsZXQuc2hvdWxkRGV0YWNoID0gc2hvdWxkRGV0YWNoO1xuICAgIH1cblxuICAgIGlmIChOYXRpdmVTY3JpcHREZWJ1Zy5pc0xvZ0VuYWJsZWQoKSkge1xuICAgICAgTmF0aXZlU2NyaXB0RGVidWcucm91dGVSZXVzZVN0cmF0ZWd5TG9nKGBzaG91bGREZXRhY2ggaXNCYWNrOiAke2lzQmFja30ga2V5OiAke2tleX0gcmVzdWx0OiAke3Nob3VsZERldGFjaH1gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gc2hvdWxkRGV0YWNoO1xuICB9XG5cbiAgc2hvdWxkQXR0YWNoKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogYm9vbGVhbiB7XG4gICAgcm91dGUgPSBmaW5kVG9wQWN0aXZhdGVkUm91dGVOb2RlRm9yT3V0bGV0KHJvdXRlKTtcblxuICAgIGNvbnN0IG91dGxldEtleSA9IHRoaXMubG9jYXRpb24uZ2V0Um91dGVGdWxsUGF0aChyb3V0ZSk7XG4gICAgY29uc3Qgb3V0bGV0ID0gdGhpcy5sb2NhdGlvbi5maW5kT3V0bGV0KG91dGxldEtleSwgcm91dGUpO1xuICAgIGNvbnN0IGNhY2hlID0gdGhpcy5jYWNoZUJ5T3V0bGV0W291dGxldEtleV07XG4gICAgaWYgKCFjYWNoZSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGNvbnN0IGtleSA9IGdldFNuYXBzaG90S2V5KHJvdXRlKTtcbiAgICBjb25zdCBpc0JhY2sgPSBvdXRsZXQgPyBvdXRsZXQuaXNQYWdlTmF2aWdhdGlvbkJhY2sgOiBmYWxzZTtcbiAgICBjb25zdCBzaG91bGRBdHRhY2ggPSBpc0JhY2sgJiYgY2FjaGUucGVlaygpPy5rZXkgPT09IGtleTtcblxuICAgIGlmIChOYXRpdmVTY3JpcHREZWJ1Zy5pc0xvZ0VuYWJsZWQoKSkge1xuICAgICAgTmF0aXZlU2NyaXB0RGVidWcucm91dGVSZXVzZVN0cmF0ZWd5TG9nKGBzaG91bGRBdHRhY2ggaXNCYWNrOiAke2lzQmFja30ga2V5OiAke2tleX0gcmVzdWx0OiAke3Nob3VsZEF0dGFjaH1gKTtcbiAgICB9XG5cbiAgICBpZiAob3V0bGV0KSB7XG4gICAgICBvdXRsZXQuc2hvdWxkRGV0YWNoID0gdHJ1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gc2hvdWxkQXR0YWNoO1xuICB9XG5cbiAgc3RvcmUocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIHN0YXRlOiBEZXRhY2hlZFJvdXRlSGFuZGxlKTogdm9pZCB7XG4gICAgcm91dGUgPSBmaW5kVG9wQWN0aXZhdGVkUm91dGVOb2RlRm9yT3V0bGV0KHJvdXRlKTtcblxuICAgIGNvbnN0IGtleSA9IGdldFNuYXBzaG90S2V5KHJvdXRlKTtcbiAgICBpZiAoTmF0aXZlU2NyaXB0RGVidWcuaXNMb2dFbmFibGVkKCkpIHtcbiAgICAgIE5hdGl2ZVNjcmlwdERlYnVnLnJvdXRlUmV1c2VTdHJhdGVneUxvZyhgc3RvcmUga2V5OiAke2tleX0sIHN0YXRlOiAke3N0YXRlfWApO1xuICAgIH1cblxuICAgIGNvbnN0IG91dGxldEtleSA9IHRoaXMubG9jYXRpb24uZ2V0Um91dGVGdWxsUGF0aChyb3V0ZSk7XG5cbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bWF4LWxpbmUtbGVuZ3RoXG4gICAgY29uc3QgY2FjaGUgPSAodGhpcy5jYWNoZUJ5T3V0bGV0W291dGxldEtleV0gPSB0aGlzLmNhY2hlQnlPdXRsZXRbb3V0bGV0S2V5XSB8fCBuZXcgRGV0YWNoZWRTdGF0ZUNhY2hlKCkpO1xuXG4gICAgaWYgKHN0YXRlKSB7XG4gICAgICBsZXQgaXNNb2RhbCA9IGZhbHNlO1xuICAgICAgaWYgKHRoaXMubG9jYXRpb24uX21vZGFsTmF2aWdhdGlvbkRlcHRoID4gMCkge1xuICAgICAgICBpc01vZGFsID0gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgY2FjaGUucHVzaCh7IGtleSwgc3RhdGUsIGlzTW9kYWwgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHRvcEl0ZW0gPSBjYWNoZS5wZWVrKCk7XG4gICAgICBpZiAodG9wSXRlbS5rZXkgPT09IGtleSkge1xuICAgICAgICBjYWNoZS5wb3AoKTtcblxuICAgICAgICBpZiAoIWNhY2hlLmxlbmd0aCkge1xuICAgICAgICAgIGRlbGV0ZSB0aGlzLmNhY2hlQnlPdXRsZXRbb3V0bGV0S2V5XTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiVHJ5aW5nIHRvIHBvcCBmcm9tIERldGFjaGVkU3RhdGVDYWNoZSBidXQga2V5cyBkb24ndCBtYXRjaC4gXCIgKyBgZXhwZWN0ZWQ6ICR7dG9wSXRlbS5rZXl9IGFjdHVhbDogJHtrZXl9YCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0cmlldmUocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpOiBEZXRhY2hlZFJvdXRlSGFuZGxlIHwgbnVsbCB7XG4gICAgcm91dGUgPSBmaW5kVG9wQWN0aXZhdGVkUm91dGVOb2RlRm9yT3V0bGV0KHJvdXRlKTtcblxuICAgIGNvbnN0IG91dGxldEtleSA9IHRoaXMubG9jYXRpb24uZ2V0Um91dGVGdWxsUGF0aChyb3V0ZSk7XG4gICAgY29uc3Qgb3V0bGV0ID0gdGhpcy5sb2NhdGlvbi5maW5kT3V0bGV0KG91dGxldEtleSwgcm91dGUpO1xuICAgIGNvbnN0IGNhY2hlID0gdGhpcy5jYWNoZUJ5T3V0bGV0W291dGxldEtleV07XG4gICAgaWYgKCFjYWNoZSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3Qga2V5ID0gZ2V0U25hcHNob3RLZXkocm91dGUpO1xuICAgIGNvbnN0IGlzQmFjayA9IG91dGxldCA/IG91dGxldC5pc1BhZ2VOYXZpZ2F0aW9uQmFjayA6IGZhbHNlO1xuICAgIGNvbnN0IGNhY2hlZEl0ZW0gPSBjYWNoZS5wZWVrKCk7XG5cbiAgICBsZXQgc3RhdGUgPSBudWxsO1xuICAgIGlmIChpc0JhY2sgJiYgY2FjaGVkSXRlbSAmJiBjYWNoZWRJdGVtLmtleSA9PT0ga2V5KSB7XG4gICAgICBzdGF0ZSA9IGNhY2hlZEl0ZW0uc3RhdGU7XG4gICAgfVxuXG4gICAgaWYgKE5hdGl2ZVNjcmlwdERlYnVnLmlzTG9nRW5hYmxlZCgpKSB7XG4gICAgICBOYXRpdmVTY3JpcHREZWJ1Zy5yb3V0ZVJldXNlU3RyYXRlZ3lMb2coYHJldHJpZXZlZCBpc0JhY2s6ICR7aXNCYWNrfSBrZXk6ICR7a2V5fSBzdGF0ZTogJHtzdGF0ZX1gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3RhdGU7XG4gIH1cblxuICBzaG91bGRSZXVzZVJvdXRlKGZ1dHVyZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgY3VycjogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHNob3VsZFJldXNlID0gZnV0dXJlLnJvdXRlQ29uZmlnID09PSBjdXJyLnJvdXRlQ29uZmlnO1xuXG4gICAgaWYgKHNob3VsZFJldXNlICYmIGN1cnIgJiYgY3VycltwYWdlUm91dGVyQWN0aXZhdGVkU3ltYm9sXSkge1xuICAgICAgLy8gV2hlbiByZXVzaW5nIHJvdXRlIC0gY29weSB0aGUgcGFnZVJvdXRlckFjdGl2YXRlZCB0byB0aGUgbmV3IHNuYXBzaG90XG4gICAgICAvLyBJdCdzIG5lZWRlZCBpbiBzaG91bGREZXRhY2ggdG8gZGV0ZXJtaW5lIGlmIHRoZSByb3V0ZSBzaG91bGQgYmUgZGV0YWNoZWQuXG4gICAgICBmdXR1cmVbcGFnZVJvdXRlckFjdGl2YXRlZFN5bWJvbF0gPSBjdXJyW3BhZ2VSb3V0ZXJBY3RpdmF0ZWRTeW1ib2xdO1xuICAgIH1cblxuICAgIGlmIChOYXRpdmVTY3JpcHREZWJ1Zy5pc0xvZ0VuYWJsZWQoKSkge1xuICAgICAgTmF0aXZlU2NyaXB0RGVidWcucm91dGVSZXVzZVN0cmF0ZWd5TG9nKGBzaG91bGRSZXVzZVJvdXRlIHJlc3VsdDogJHtzaG91bGRSZXVzZX1gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gc2hvdWxkUmV1c2U7XG4gIH1cblxuICBjbGVhckNhY2hlKG91dGxldEtleTogc3RyaW5nKSB7XG4gICAgY29uc3QgY2FjaGUgPSB0aGlzLmNhY2hlQnlPdXRsZXRbb3V0bGV0S2V5XTtcblxuICAgIGlmIChjYWNoZSkge1xuICAgICAgY2FjaGUuY2xlYXIoKTtcbiAgICB9XG4gIH1cblxuICBjbGVhck1vZGFsQ2FjaGUob3V0bGV0S2V5OiBzdHJpbmcpIHtcbiAgICBjb25zdCBjYWNoZSA9IHRoaXMuY2FjaGVCeU91dGxldFtvdXRsZXRLZXldO1xuXG4gICAgaWYgKGNhY2hlKSB7XG4gICAgICBjYWNoZS5jbGVhck1vZGFsQ2FjaGUoKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==

@@ -18,3 +18,3 @@ import { ComponentRef, EmbeddedViewRef, Injector, ViewContainerRef } from '@angular/core';

}>;
onDismiss: Subject<unknown>;
onDismiss: Subject<void>;
parentView: View;

@@ -21,0 +21,0 @@ portalOutlet: NativeScriptDomPortalOutlet;

{
"name": "@nativescript/angular",
"version": "12.1.0-rc.5",
"version": "12.2.0",
"homepage": "https://nativescript.org/",

@@ -19,3 +19,3 @@ "repository": {

"dependencies": {
"@nativescript/zone-js": "~2.1.0-rc.0",
"@nativescript/zone-js": "~2.2.0",
"tslib": "^2.2.0"

@@ -22,0 +22,0 @@ },

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet