ngx-edu-sharing-ui 10.0.15 → 10.0.16

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.
@@ -2,6 +2,7 @@
2
2
  * Public API Surface of edu-sharing-ui
3
3
  */
4
4
  export * from './mds-viewer/mds-viewer.component';
5
+ export * from './mds-viewer/mds-viewer.service';
5
6
  export * from './mds-viewer/widget/mds-widget.component';
6
7
  export * from './actionbar/actionbar.component';
7
8
  export * from './common/edu-sharing-ui-common.module';
@@ -92,4 +93,4 @@ export * from './util/ui-animation';
92
93
  export * from './util/ui-constants';
93
94
  export * from './mds/mds-helper.service';
94
95
  export * from './services/search-helper.service';
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyxxREFBcUQsQ0FBQztBQUNwRSxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLGtDQUFrQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBlZHUtc2hhcmluZy11aVxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbWRzLXZpZXdlci9tZHMtdmlld2VyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL21kcy12aWV3ZXIvd2lkZ2V0L21kcy13aWRnZXQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vYWN0aW9uYmFyL2FjdGlvbmJhci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21tb24vZWR1LXNoYXJpbmctdWktY29tbW9uLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL21kcy9tZHMubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbWRzLXZpZXdlci92aWV3LWluc3RhbmNlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzL2JvcmRlci1ib3gtb2JzZXJ2ZXIuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlcy9jaGVjay10ZXh0LW92ZXJmbG93LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvZHJhZy1ub2Rlcy9kcmFnLW5vZGVzJztcbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlcy9kcmFnLW5vZGVzL25vZGVzLWRyYWctc291cmNlLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvZHJhZy1ub2Rlcy9ub2Rlcy1kcmFnLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvZHJhZy1ub2Rlcy9ub2Rlcy1kcm9wLXRhcmdldC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzL2ZvY3VzLXN0YXRlLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvaWNvbi5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzL2luZmluaXRlLXNjcm9sbC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9kcm9wZG93bi9kcm9wZG93bi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9lZHUtc2hhcmluZy11aS1jb25maWd1cmF0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vZWR1LXNoYXJpbmctdWkubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGlzdC1pdGVtcy9mb3JtYXQtZHVyYXRpb24ucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpc3QtaXRlbXMvbGlzdC1iYXNlL2xpc3QtYmFzZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saXN0LWl0ZW1zL2xpc3QtY291bnRzL2xpc3QtY291bnRzLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpc3QtaXRlbXMvbGlzdC1pdGVtcy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saXN0LWl0ZW1zL2xpc3QtdGV4dC9saXN0LXRleHQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGlzdC1pdGVtcy9ub2RlLXJvdy9ub2RlLXJvdy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9ub2RlLWVudHJpZXMvY29tYmluZWQtZGF0YS1zb3VyY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9ub2RlLWVudHJpZXMvY3VzdG9tLXRlbXBsYXRlcy1kYXRhLXNvdXJjZSc7XG5leHBvcnQgKiBmcm9tICcuL25vZGUtZW50cmllcy9lbnRyaWVzLW1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vbm9kZS1lbnRyaWVzL2l0ZW1zLWNhcCc7XG5leHBvcnQgKiBmcm9tICcuL25vZGUtZW50cmllcy9saXN0LWl0ZW0tbGFiZWwucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL25vZGUtZW50cmllcy9ub2RlLWNhY2hlJztcbmV4cG9ydCAqIGZyb20gJy4vbm9kZS1lbnRyaWVzL25vZGUtZGF0YS1zb3VyY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9ub2RlLWVudHJpZXMvbm9kZS1kYXRhLXNvdXJjZS1yZW1vdGUnO1xuZXhwb3J0ICogZnJvbSAnLi9ub2RlLWVudHJpZXMvbm9kZS1lbnRyaWVzLWdsb2JhbC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbm9kZS1lbnRyaWVzL25vZGUtZW50cmllcy13cmFwcGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL25vZGUtZW50cmllcy9ub2RlLWVudHJpZXMubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbWRzLXZpZXdlci9tZHMtdmlld2VyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL21kcy12aWV3ZXIvcmVwbGFjZS1lbGVtZW50LXdpdGgtZGl2JztcbmV4cG9ydCAqIGZyb20gJy4vbm9kZS11cmwvbm9kZS11cmwuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcGlwZXMvcHJvcGVydHktc2x1Zy5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vcGlwZXMvZmlsZS1zaXplLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9waXBlcy9mb3JtYXQtZGF0ZS5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vcGlwZXMvbWRzLWR1cmF0aW9uLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9waXBlcy9ub2RlLWljb24ucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL3BpcGVzL25vZGUtaW1hZ2Utc2l6ZS5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vcGlwZXMvbm9kZS1pbWFnZS5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vcGlwZXMvbm9kZS1saWNlbnNlLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9waXBlcy9ub2RlLXBlcnNvbi1uYW1lLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9waXBlcy9ub2RlLXRpdGxlLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9waXBlcy92Y2FyZC1uYW1lLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9hYnN0cmFjdC9hcHAuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL2Fic3RyYWN0L2tleWJvYXJkLXNob3J0Y3V0cy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvYWJzdHJhY3Qvb3B0aW9ucy1oZWxwZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL2Fic3RyYWN0L3RvYXN0LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9hY2Nlc3NpYmlsaXR5LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9hcHAtY29udGFpbmVyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9sb2NhbC1ldmVudHMuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL25vZGUtaGVscGVyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9ub2RlLWVudHJpZXMuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL25vZGVzLWRyYWctZHJvcC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvb3B0aW9ucy1oZWxwZXItZGF0YS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvcmVwby11cmwuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL3RlbXBvcmFyeS1zdG9yYWdlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy91aS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvcmVuZGVyLWhlbHBlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc29ydC1kcm9wZG93bi9zb3J0LWRyb3Bkb3duLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NwaW5uZXIvc3Bpbm5lci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zcGlubmVyLXNtYWxsL3NwaW5uZXItc21hbGwuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vdHJhbnNsYXRpb25zL2ZhbGxiYWNrLXRyYW5zbGF0aW9uLWhhbmRsZXInO1xuZXhwb3J0ICogZnJvbSAnLi90cmFuc2xhdGlvbnMvdHJhbnNsYXRpb24tbG9hZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vdHJhbnNsYXRpb25zL3RyYW5zbGF0aW9ucy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi90cmFuc2xhdGlvbnMvdHJhbnNsYXRpb25zLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi90eXBlcy9hcGktbW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMvYWNjZXNzaWJpbGxpdHknO1xuZXhwb3J0ICogZnJvbSAnLi90eXBlcy9kcmFnLWRyb3AnO1xuZXhwb3J0ICogZnJvbSAnLi90eXBlcy9pbmplY3Rpb24tdG9rZW5zJztcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMva2V5Ym9hcmQtc2hvcnRjdXRzJztcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMvbGlzdC1pdGVtJztcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMvb3B0aW9uLWl0ZW0nO1xuZXhwb3J0ICogZnJvbSAnLi90eXBlcy93b3JrZmxvdyc7XG5leHBvcnQgKiBmcm9tICcuL3V0aWwvRGF0ZUhlbHBlcic7XG5leHBvcnQgKiBmcm9tICcuL3V0aWwvVkNhcmQnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlsL2NvbG9yLWhlbHBlcic7XG5leHBvcnQgKiBmcm9tICcuL3V0aWwvZHVyYXRpb24taGVscGVyJztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbC9mdW5jdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlsL2hlbHBlcic7XG5leHBvcnQgKiBmcm9tICcuL3V0aWwvaXNOdW1lcmljJztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbC9yZXN0LWhlbHBlcic7XG5leHBvcnQgKiBmcm9tICcuL3V0aWwvdWktYW5pbWF0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbC91aS1jb25zdGFudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9tZHMvbWRzLWhlbHBlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvc2VhcmNoLWhlbHBlci5zZXJ2aWNlJztcbiJdfQ==
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLHFEQUFxRCxDQUFDO0FBQ3BFLGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyxxREFBcUQsQ0FBQztBQUNwRSxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsa0NBQWtDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIGVkdS1zaGFyaW5nLXVpXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9tZHMtdmlld2VyL21kcy12aWV3ZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbWRzLXZpZXdlci9tZHMtdmlld2VyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9tZHMtdmlld2VyL3dpZGdldC9tZHMtd2lkZ2V0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbmJhci9hY3Rpb25iYXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tbW9uL2VkdS1zaGFyaW5nLXVpLWNvbW1vbi5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9tZHMvbWRzLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL21kcy12aWV3ZXIvdmlldy1pbnN0YW5jZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlcy9ib3JkZXItYm94LW9ic2VydmVyLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvY2hlY2stdGV4dC1vdmVyZmxvdy5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzL2RyYWctbm9kZXMvZHJhZy1ub2Rlcyc7XG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvZHJhZy1ub2Rlcy9ub2Rlcy1kcmFnLXNvdXJjZS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzL2RyYWctbm9kZXMvbm9kZXMtZHJhZy5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzL2RyYWctbm9kZXMvbm9kZXMtZHJvcC10YXJnZXQuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlcy9mb2N1cy1zdGF0ZS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzL2ljb24uZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlcy9pbmZpbml0ZS1zY3JvbGwuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZWR1LXNoYXJpbmctdWktY29uZmlndXJhdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2VkdS1zaGFyaW5nLXVpLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpc3QtaXRlbXMvZm9ybWF0LWR1cmF0aW9uLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saXN0LWl0ZW1zL2xpc3QtYmFzZS9saXN0LWJhc2UuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGlzdC1pdGVtcy9saXN0LWNvdW50cy9saXN0LWNvdW50cy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saXN0LWl0ZW1zL2xpc3QtaXRlbXMubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGlzdC1pdGVtcy9saXN0LXRleHQvbGlzdC10ZXh0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpc3QtaXRlbXMvbm9kZS1yb3cvbm9kZS1yb3cuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbm9kZS1lbnRyaWVzL2NvbWJpbmVkLWRhdGEtc291cmNlJztcbmV4cG9ydCAqIGZyb20gJy4vbm9kZS1lbnRyaWVzL2N1c3RvbS10ZW1wbGF0ZXMtZGF0YS1zb3VyY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9ub2RlLWVudHJpZXMvZW50cmllcy1tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL25vZGUtZW50cmllcy9pdGVtcy1jYXAnO1xuZXhwb3J0ICogZnJvbSAnLi9ub2RlLWVudHJpZXMvbGlzdC1pdGVtLWxhYmVsLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9ub2RlLWVudHJpZXMvbm9kZS1jYWNoZSc7XG5leHBvcnQgKiBmcm9tICcuL25vZGUtZW50cmllcy9ub2RlLWRhdGEtc291cmNlJztcbmV4cG9ydCAqIGZyb20gJy4vbm9kZS1lbnRyaWVzL25vZGUtZGF0YS1zb3VyY2UtcmVtb3RlJztcbmV4cG9ydCAqIGZyb20gJy4vbm9kZS1lbnRyaWVzL25vZGUtZW50cmllcy1nbG9iYWwuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL25vZGUtZW50cmllcy9ub2RlLWVudHJpZXMtd3JhcHBlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9ub2RlLWVudHJpZXMvbm9kZS1lbnRyaWVzLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL21kcy12aWV3ZXIvbWRzLXZpZXdlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9tZHMtdmlld2VyL3JlcGxhY2UtZWxlbWVudC13aXRoLWRpdic7XG5leHBvcnQgKiBmcm9tICcuL25vZGUtdXJsL25vZGUtdXJsLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3BpcGVzL3Byb3BlcnR5LXNsdWcucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL3BpcGVzL2ZpbGUtc2l6ZS5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vcGlwZXMvZm9ybWF0LWRhdGUucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL3BpcGVzL21kcy1kdXJhdGlvbi5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vcGlwZXMvbm9kZS1pY29uLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9waXBlcy9ub2RlLWltYWdlLXNpemUucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL3BpcGVzL25vZGUtaW1hZ2UucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL3BpcGVzL25vZGUtbGljZW5zZS5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vcGlwZXMvbm9kZS1wZXJzb24tbmFtZS5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vcGlwZXMvbm9kZS10aXRsZS5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vcGlwZXMvdmNhcmQtbmFtZS5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvYWJzdHJhY3QvYXBwLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9hYnN0cmFjdC9rZXlib2FyZC1zaG9ydGN1dHMuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL2Fic3RyYWN0L29wdGlvbnMtaGVscGVyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9hYnN0cmFjdC90b2FzdC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvYWNjZXNzaWJpbGl0eS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvYXBwLWNvbnRhaW5lci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvbG9jYWwtZXZlbnRzLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9ub2RlLWhlbHBlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvbm9kZS1lbnRyaWVzLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9ub2Rlcy1kcmFnLWRyb3Auc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL29wdGlvbnMtaGVscGVyLWRhdGEuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL3JlcG8tdXJsLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy90ZW1wb3Jhcnktc3RvcmFnZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvdWkuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL3JlbmRlci1oZWxwZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NvcnQtZHJvcGRvd24vc29ydC1kcm9wZG93bi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zcGlubmVyL3NwaW5uZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc3Bpbm5lci1zbWFsbC9zcGlubmVyLXNtYWxsLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3RyYW5zbGF0aW9ucy9mYWxsYmFjay10cmFuc2xhdGlvbi1oYW5kbGVyJztcbmV4cG9ydCAqIGZyb20gJy4vdHJhbnNsYXRpb25zL3RyYW5zbGF0aW9uLWxvYWRlcic7XG5leHBvcnQgKiBmcm9tICcuL3RyYW5zbGF0aW9ucy90cmFuc2xhdGlvbnMubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vdHJhbnNsYXRpb25zL3RyYW5zbGF0aW9ucy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMvYXBpLW1vZGVscyc7XG5leHBvcnQgKiBmcm9tICcuL3R5cGVzL2FjY2Vzc2liaWxsaXR5JztcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMvZHJhZy1kcm9wJztcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMvaW5qZWN0aW9uLXRva2Vucyc7XG5leHBvcnQgKiBmcm9tICcuL3R5cGVzL2tleWJvYXJkLXNob3J0Y3V0cyc7XG5leHBvcnQgKiBmcm9tICcuL3R5cGVzL2xpc3QtaXRlbSc7XG5leHBvcnQgKiBmcm9tICcuL3R5cGVzL29wdGlvbi1pdGVtJztcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMvd29ya2Zsb3cnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlsL0RhdGVIZWxwZXInO1xuZXhwb3J0ICogZnJvbSAnLi91dGlsL1ZDYXJkJztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbC9jb2xvci1oZWxwZXInO1xuZXhwb3J0ICogZnJvbSAnLi91dGlsL2R1cmF0aW9uLWhlbHBlcic7XG5leHBvcnQgKiBmcm9tICcuL3V0aWwvZnVuY3Rpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbC9oZWxwZXInO1xuZXhwb3J0ICogZnJvbSAnLi91dGlsL2lzTnVtZXJpYyc7XG5leHBvcnQgKiBmcm9tICcuL3V0aWwvcmVzdC1oZWxwZXInO1xuZXhwb3J0ICogZnJvbSAnLi91dGlsL3VpLWFuaW1hdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL3V0aWwvdWktY29uc3RhbnRzJztcbmV4cG9ydCAqIGZyb20gJy4vbWRzL21kcy1oZWxwZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL3NlYXJjaC1oZWxwZXIuc2VydmljZSc7XG4iXX0=
@@ -77,7 +77,7 @@ export class MdsViewerComponent {
77
77
  // wait for angular to inflate the new binding
78
78
  setTimeout(() => {
79
79
  for (const widget of (this.mdsEditorInstanceService?.widgets.value ||
80
- this.mds.widgets.map(definition => {
80
+ this.mds.widgets.map((definition) => {
81
81
  return {
82
82
  definition,
83
83
  getInitalValuesAsync: async () => {
@@ -166,4 +166,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
166
166
  }], headingLevel: [{
167
167
  type: Input
168
168
  }] } });
169
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWRzLXZpZXdlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL21kcy12aWV3ZXIvbWRzLXZpZXdlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL21kcy12aWV3ZXIvbWRzLXZpZXdlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUlULEtBQUssRUFJTCxZQUFZLEdBRWYsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUlILGtCQUFrQixHQUNyQixNQUFNLCtCQUErQixDQUFDO0FBQ3ZDLE9BQU8sRUFDSCxlQUFlLEVBSWYsYUFBYSxHQUNoQixNQUFNLHFCQUFxQixDQUFDO0FBRTdCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7QUFRdkMsTUFBTSxPQUFPLGtCQUFrQjtJQWtCM0I7Ozs7O09BS0c7SUFDSCxJQUNJLFlBQVksQ0FBQyxLQUFvQjtRQUNqQyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7SUFDM0MsQ0FBQztJQUNELElBQUksWUFBWTtRQUNaLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUM7SUFDMUMsQ0FBQztJQUVELFlBQ1ksVUFBc0IsRUFDdEIsZ0JBQWtDLEVBQ2xDLGVBQXlDLEVBQ3pDLFFBQWtCLEVBQ2xC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Y0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3BFLENBQUM7WUFDRCxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ25CLENBQUM7UUFDRCxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1YsS0FBSyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDeEIsQ0FBQztJQUNMLENBQUM7K0dBdktRLGtCQUFrQjttR0FBbEIsa0JBQWtCLGtPQUZoQixDQUFDLGdCQUFnQixFQUFFLG1CQUFtQixDQUFDLDBJQ3JDdEQsNllBT0E7OzRGRGdDYSxrQkFBa0I7a0JBTjlCLFNBQVM7K0JBQ0ksZUFBZSxhQUdkLENBQUMsZ0JBQWdCLEVBQUUsbUJBQW1CLENBQUM7d1FBR3ZCLFNBQVM7c0JBQW5DLFlBQVk7dUJBQUMsV0FBVztnQkFFaEIsd0JBQXdCO3NCQUFoQyxLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQVVHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFTRixZQUFZO3NCQURmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgRWxlbWVudFJlZixcbiAgICBJbmplY3RvcixcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgUXVlcnlMaXN0LFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgVmlld0NoaWxkcmVuLFxuICAgIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHtcbiAgICBJbml0aWFsVmFsdWVzLFxuICAgIE1kc1ZhbHVlTGlzdCxcbiAgICBNZHNWaWV3ZXJXaWRnZXQsXG4gICAgTWRzV2lkZ2V0Q29tcG9uZW50LFxufSBmcm9tICcuL3dpZGdldC9tZHMtd2lkZ2V0LmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICAgIEhPTUVfUkVQT1NJVE9SWSxcbiAgICBNZHNEZWZpbml0aW9uLFxuICAgIE1kc1NlcnZpY2UsXG4gICAgTWRzVmlldywgTWRzV2lkZ2V0LFxuICAgIFJlc3RDb25zdGFudHMsXG59IGZyb20gJ25neC1lZHUtc2hhcmluZy1hcGknO1xuaW1wb3J0IHsgVmFsdWVzIH0gZnJvbSAnLi4vc2VydmljZXMvc2VhcmNoLWhlbHBlci5zZXJ2aWNlJztcbmltcG9ydCB7IHJlcGxhY2VFbGVtZW50V2l0aERpdiB9IGZyb20gJy4vcmVwbGFjZS1lbGVtZW50LXdpdGgtZGl2JztcbmltcG9ydCB7IFVJU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3VpLnNlcnZpY2UnO1xuaW1wb3J0IHsgTWRzVmlld2VyU2VydmljZSB9IGZyb20gJy4vbWRzLXZpZXdlci5zZXJ2aWNlJztcbmltcG9ydCB7IFZpZXdJbnN0YW5jZVNlcnZpY2UgfSBmcm9tICcuL3ZpZXctaW5zdGFuY2Uuc2VydmljZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdlcy1tZHMtdmlld2VyJyxcbiAgICB0ZW1wbGF0ZVVybDogJ21kcy12aWV3ZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWydtZHMtdmlld2VyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgcHJvdmlkZXJzOiBbTWRzVmlld2VyU2VydmljZSwgVmlld0luc3RhbmNlU2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIE1kc1ZpZXdlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gICAgQFZpZXdDaGlsZHJlbignY29udGFpbmVyJykgY29udGFpbmVyOiBRdWVyeUxpc3Q8RWxlbWVudFJlZj47XG5cbiAgICBASW5wdXQoKSBtZHNFZGl0b3JJbnN0YW5jZVNlcnZpY2U6IGFueTtcbiAgICBASW5wdXQoKSBncm91cElkOiBzdHJpbmc7XG4gICAgQElucHV0KCkgc2V0SWQ6IHN0cmluZztcbiAgICBASW5wdXQoKSBkYXRhOiBWYWx1ZXM7XG4gICAgbWRzOiBNZHNEZWZpbml0aW9uO1xuICAgIHRlbXBsYXRlczoge1xuICAgICAgICB2aWV3OiBNZHNWaWV3O1xuICAgICAgICBodG1sOiBTYWZlSHRtbDtcbiAgICB9W107XG5cbiAgICAvKipcbiAgICAgKiBzaG93IGdyb3VwIGhlYWRpbmdzICgrIGljb25zKSBmb3IgdGhlIGluZGl2aWR1YWwgdGVtcGxhdGVzXG4gICAgICovXG4gICAgQElucHV0KCkgc2hvd0dyb3VwSGVhZGluZ3MgPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGhlYWRpbmcgbGV2ZWwgZnJvbSAxIHRvIDYgdG8gdXNlIGZvciB3aWRnZXQgbGFiZWxzLCBlcXVpdmFsZW50IHRvIGBoMWAgdG8gYGg2YC5cbiAgICAgKlxuICAgICAqIElmIG5vdCBzZXQsIHdpZGdldCBsYWJlbHMgYXJlIG5vdCBtYXJrZWQgYXMgaGVhZGluZ3MgYW5kIGFuIGludmlzaWJsZSBjb2xvbiBpcyBhZGRlZCBiZXR3ZWVuXG4gICAgICogbGFiZWxzIGFuZCB2YWx1ZXMsIHRoYXQgd2lsbCBiZSByZWFkIG91dCBieSBzY3JlZW4gcmVhZGVycy5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBoZWFkaW5nTGV2ZWwodmFsdWU6IG51bWJlciB8IG51bGwpIHtcbiAgICAgICAgdGhpcy52aWV3SW5zdGFuY2UuaGVhZGluZ0xldmVsID0gdmFsdWU7XG4gICAgfVxuICAgIGdldCBoZWFkaW5nTGV2ZWwoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnZpZXdJbnN0YW5jZS5oZWFkaW5nTGV2ZWw7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgbWRzU2VydmljZTogTWRzU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBtZHNWaWV3ZXJTZXJ2aWNlOiBNZHNWaWV3ZXJTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgICAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgcHJpdmF0ZSBjb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgICAgIHByaXZhdGUgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsXG4gICAgICAgIHByaXZhdGUgdmlld0luc3RhbmNlOiBWaWV3SW5zdGFuY2VTZXJ2aWNlLFxuICAgICkge31cblxuICAgIGdldEdyb3VwKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5tZHMuZ3JvdXBzLmZpbmQoKGc6IGFueSkgPT4gZy5pZCA9PSB0aGlzLmdyb3VwSWQpO1xuICAgIH1cbiAgICBnZXRWaWV3KGlkOiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWRzLnZpZXdzLmZpbmQoKHY6IGFueSkgPT4gdi5pZCA9PSBpZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGluZmxhdGUoKSB7XG4gICAgICAgIGlmICghdGhpcy5tZHMpIHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5pbmZsYXRlKCksIDEwMDAgLyA2MCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHRoaXMubWRzVmlld2VyU2VydmljZS52YWx1ZXMkLm5leHQodGhpcy5kYXRhKTtcbiAgICAgICAgICAgIHRoaXMubWRzVmlld2VyU2VydmljZS5tZHMkLm5leHQodGhpcy5tZHMpO1xuICAgICAgICAgICAgaWYodGhpcy5tZHNFZGl0b3JJbnN0YW5jZVNlcnZpY2UpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBlZGl0b3IgPSBhd2FpdCB0aGlzLm1kc0VkaXRvckluc3RhbmNlU2VydmljZS5pbml0V2l0aG91dE5vZGVzKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmdyb3VwSWQsXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0SWQsXG4gICAgICAgICAgICAgICAgICAgIEhPTUVfUkVQT1NJVE9SWSxcbiAgICAgICAgICAgICAgICAgICAgJ3ZpZXdlcicsXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGF0YSxcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGlmICghZWRpdG9yKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIEluaXRpYWxpemF0aW9uIHdhcyBpbnRlcnJ1cHRlZC4gUHJvYmFibHksIHRoaXMgbWV0aG9kIHdhcyBjYWxsZWQgYWdhaW4gYmVmb3JlIGl0XG4gICAgICAgICAgICAgICAgICAgIC8vIGNvdWxkIGZpbmlzaC5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudGVtcGxhdGVzID0gW107XG4gICAgICAgIGZvciAoY29uc3QgdmlldyBvZiB0aGlzLmdldEdyb3VwKCkudmlld3MpIHtcbiAgICAgICAgICAgIGNvbnN0IHYgPSB0aGlzLmdldFZpZXcodmlldyk7XG4gICAgICAgICAgICB0aGlzLnRlbXBsYXRlcy5wdXNoKHtcbiAgICAgICAgICAgICAgICB2aWV3OiB2LFxuICAgICAgICAgICAgICAgIGh0bWw6IHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHRoaXMucHJlcGFyZUhUTUwodi5odG1sKSksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICAvLyB3YWl0IGZvciBhbmd1bGFyIHRvIGluZmxhdGUgdGhlIG5ldyBiaW5kaW5nXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgZm9yIChjb25zdCB3aWRnZXQgb2YgKFxuICAgICAgICAgICAgICAgIHRoaXMubWRzRWRpdG9ySW5zdGFuY2VTZXJ2aWNlPy53aWRnZXRzLnZhbHVlIHx8XG4gICAgICAgICAgICAgICAgdGhpcy5tZHMud2lkZ2V0cy5tYXAoZGVmaW5pdGlvbiA9PlxuICAgICAgICAgICAgICAgIHsgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgZGVmaW5pdGlvbixcbiAgICAgICAgICAgICAgICAgICAgZ2V0SW5pdGFsVmFsdWVzQXN5bmM6IGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5kaXZpZHVhbFZhbHVlczogdGhpcy5kYXRhW2RlZmluaXRpb24uaWQhIV0sXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGFzIEluaXRpYWxWYWx1ZXNcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgZ2V0SW5pdGlhbERpc3BsYXlWYWx1ZXM6ICgpID0+IG5ldyBCZWhhdmlvclN1YmplY3Q8TWRzVmFsdWVMaXN0PihudWxsKSxcbiAgICAgICAgICAgICAgICB9IGFzIE1kc1ZpZXdlcldpZGdldFxuXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICkgYXMgTWRzVmlld2VyV2lkZ2V0W10pIHtcbiAgICAgICAgICAgICAgICAvLyBAVE9ETzogaXQgd291bGQgYmUgYmV0dGVyIHRvIGZpbHRlciBieSB3aWRnZXRzIGJhc2VkIG9uIHRlbXBsYXRlIGFuZCBjb25kaXRpb24sIHNob3VsZCBiZSBpbXBsZW1lbnRlZCBpbiA1LjFcbiAgICAgICAgICAgICAgICB0aGlzLmNvbnRhaW5lci50b0FycmF5KCkuZm9yRWFjaCgoYykgPT4ge1xuICAgICAgICAgICAgICAgICAgICBsZXQgZWxlbWVudDogSFRNTEVsZW1lbnQgPSBjLm5hdGl2ZUVsZW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWRnZXQuZGVmaW5pdGlvbi5pZCxcbiAgICAgICAgICAgICAgICAgICAgKT8uWzBdO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZWxlbWVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gTWRzRWRpdG9yVmlld0NvbXBvbmVudC51cGRhdGVXaWRnZXRXaXRoSFRNTEF0dHJpYnV0ZXMoZWxlbWVudCwgdyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50ID0gcmVwbGFjZUVsZW1lbnRXaXRoRGl2KGVsZW1lbnQpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBVSVNlcnZpY2UuaW5qZWN0QW5ndWxhckNvbXBvbmVudChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZhY3RvcnlSZXNvbHZlcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRhaW5lclJlZixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBNZHNXaWRnZXRDb21wb25lbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZGdldCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0b3IsXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGNsb3NlIGFsbCBjdXN0b20gdGFncyBpbnNpZGUgdGhlIGh0bWwgd2hpY2ggYXJlIG5vdCBjbG9zZWRcbiAgICAgKiBlLmcuIDxjbTpuYW1lPlxuICAgICAqICAgICAtPiA8Y206bmFtZT48L2NtOm5hbWU+XG4gICAgICogQHBhcmFtIGh0bWxcbiAgICAgKi9cbiAgICBwcml2YXRlIHByZXBhcmVIVE1MKGh0bWw6IHN0cmluZykge1xuICAgICAgICBmb3IgKGNvbnN0IHcgb2YgdGhpcy5tZHMud2lkZ2V0cykge1xuICAgICAgICAgICAgY29uc3Qgc3RhcnQgPSBodG1sLmluZGV4T2YoJzwnICsgdy5pZCk7XG4gICAgICAgICAgICBpZiAoc3RhcnQgPT0gLTEpIHtcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGVuZCA9IGh0bWwuaW5kZXhPZignPicsIHN0YXJ0KSArIDE7XG4gICAgICAgICAgICBodG1sID0gaHRtbC5zdWJzdHJpbmcoMCwgZW5kKSArICc8LycgKyB3LmlkICsgJz4nICsgaHRtbC5zdWJzdHJpbmcoZW5kKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaHRtbDtcbiAgICB9XG5cbiAgICBhc3luYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgICAgIGxldCBpbmZsYXRlID0gZmFsc2U7XG4gICAgICAgIGlmIChjaGFuZ2VzLnNldElkKSB7XG4gICAgICAgICAgICB0aGlzLm1kcyA9IGF3YWl0IHRoaXMubWRzU2VydmljZVxuICAgICAgICAgICAgICAgIC5nZXRNZXRhZGF0YVNldCh7IG1ldGFkYXRhU2V0OiB0aGlzLnNldElkIH0pXG4gICAgICAgICAgICAgICAgLnRvUHJvbWlzZSgpO1xuICAgICAgICAgICAgaW5mbGF0ZSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNoYW5nZXMuZGF0YSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuZGF0YVtSZXN0Q29uc3RhbnRzLkNNX1BST1BfTUVUQURBVEFTRVRfRURVX01FVEFEQVRBU0VUXSAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5tZHMgPSBhd2FpdCB0aGlzLm1kc1NlcnZpY2VcbiAgICAgICAgICAgICAgICAgICAgLmdldE1ldGFkYXRhU2V0KHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1ldGFkYXRhU2V0OlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZGF0YVtSZXN0Q29uc3RhbnRzLkNNX1BST1BfTUVUQURBVEFTRVRfRURVX01FVEFEQVRBU0VUXVswXSxcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgLnRvUHJvbWlzZSgpO1xuICAgICAgICAgICAgfSBlbHNlIGlmICghdGhpcy5tZHMpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm1kcyA9IGF3YWl0IHRoaXMubWRzU2VydmljZS5nZXRNZXRhZGF0YVNldCh7fSkudG9Qcm9taXNlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpbmZsYXRlID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaW5mbGF0ZSkge1xuICAgICAgICAgICAgdm9pZCB0aGlzLmluZmxhdGUoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxlcy1zcGlubmVyLXNtYWxsICpuZ0lmPVwiIXRlbXBsYXRlc1wiPjwvZXMtc3Bpbm5lci1zbWFsbD5cbjxkaXYgKm5nRm9yPVwibGV0IHQgb2YgdGVtcGxhdGVzXCIgI2NvbnRhaW5lciBjbGFzcz1cIm1kcy12aWV3ZXJcIj5cbiAgPGRpdiAqbmdJZj1cInNob3dHcm91cEhlYWRpbmdzICYmIHQudmlldy5jYXB0aW9uXCIgY2xhc3M9XCJjYXJkLXRpdGxlLWVsZW1lbnQgZ3JvdXAtaGVhZGluZ1wiPlxuICAgIDxpIFtlc0ljb25dPVwidC52aWV3Lmljb25cIiAqbmdJZj1cInQudmlldy5pY29uXCI+PC9pPjxzcGFuPnt7IHQudmlldy5jYXB0aW9uIH19PC9zcGFuPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cInRlbXBsYXRlXCIgW2lubmVySFRNTF09XCJ0Lmh0bWxcIj48L2Rpdj5cbjwvZGl2PlxuIl19
169
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWRzLXZpZXdlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL21kcy12aWV3ZXIvbWRzLXZpZXdlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL21kcy12aWV3ZXIvbWRzLXZpZXdlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUlULEtBQUssRUFJTCxZQUFZLEdBRWYsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUlILGtCQUFrQixHQUNyQixNQUFNLCtCQUErQixDQUFDO0FBQ3ZDLE9BQU8sRUFDSCxlQUFlLEVBSWYsYUFBYSxHQUNoQixNQUFNLHFCQUFxQixDQUFDO0FBRTdCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7QUFRdkMsTUFBTSxPQUFPLGtCQUFrQjtJQWtCM0I7Ozs7O09BS0c7SUFDSCxJQUNJLFlBQVksQ0FBQyxLQUFvQjtRQUNqQyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7SUFDM0MsQ0FBQztJQUNELElBQUksWUFBWTtRQUNaLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUM7SUFDMUMsQ0FBQztJQUVELFlBQ1ksVUFBc0IsRUFDdEIsZ0JBQWtDLEVBQ2xDLGVBQXlDLEVBQ3pDLFFBQWtCLEVBQ2xC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QUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNwRSxDQUFDO1lBQ0QsT0FBTyxHQUFHLElBQUksQ0FBQztRQUNuQixDQUFDO1FBQ0QsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNWLEtBQUssSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3hCLENBQUM7SUFDTCxDQUFDOytHQXBLUSxrQkFBa0I7bUdBQWxCLGtCQUFrQixrT0FGaEIsQ0FBQyxnQkFBZ0IsRUFBRSxtQkFBbUIsQ0FBQywwSUNyQ3RELDZZQU9BOzs0RkRnQ2Esa0JBQWtCO2tCQU45QixTQUFTOytCQUNJLGVBQWUsYUFHZCxDQUFDLGdCQUFnQixFQUFFLG1CQUFtQixDQUFDO3dRQUd2QixTQUFTO3NCQUFuQyxZQUFZO3VCQUFDLFdBQVc7Z0JBRWhCLHdCQUF3QjtzQkFBaEMsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFVRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBU0YsWUFBWTtzQkFEZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSW5qZWN0b3IsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIFZpZXdDaGlsZHJlbixcbiAgICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZUh0bWwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7XG4gICAgSW5pdGlhbFZhbHVlcyxcbiAgICBNZHNWYWx1ZUxpc3QsXG4gICAgTWRzVmlld2VyV2lkZ2V0LFxuICAgIE1kc1dpZGdldENvbXBvbmVudCxcbn0gZnJvbSAnLi93aWRnZXQvbWRzLXdpZGdldC5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgICBIT01FX1JFUE9TSVRPUlksXG4gICAgTWRzRGVmaW5pdGlvbixcbiAgICBNZHNTZXJ2aWNlLFxuICAgIE1kc1ZpZXcsXG4gICAgUmVzdENvbnN0YW50cyxcbn0gZnJvbSAnbmd4LWVkdS1zaGFyaW5nLWFwaSc7XG5pbXBvcnQgeyBWYWx1ZXMgfSBmcm9tICcuLi9zZXJ2aWNlcy9zZWFyY2gtaGVscGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgcmVwbGFjZUVsZW1lbnRXaXRoRGl2IH0gZnJvbSAnLi9yZXBsYWNlLWVsZW1lbnQtd2l0aC1kaXYnO1xuaW1wb3J0IHsgVUlTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvdWkuc2VydmljZSc7XG5pbXBvcnQgeyBNZHNWaWV3ZXJTZXJ2aWNlIH0gZnJvbSAnLi9tZHMtdmlld2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgVmlld0luc3RhbmNlU2VydmljZSB9IGZyb20gJy4vdmlldy1pbnN0YW5jZS5zZXJ2aWNlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2VzLW1kcy12aWV3ZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnbWRzLXZpZXdlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJ21kcy12aWV3ZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgICBwcm92aWRlcnM6IFtNZHNWaWV3ZXJTZXJ2aWNlLCBWaWV3SW5zdGFuY2VTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgTWRzVmlld2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgICBAVmlld0NoaWxkcmVuKCdjb250YWluZXInKSBjb250YWluZXI6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPjtcblxuICAgIEBJbnB1dCgpIG1kc0VkaXRvckluc3RhbmNlU2VydmljZTogYW55O1xuICAgIEBJbnB1dCgpIGdyb3VwSWQ6IHN0cmluZztcbiAgICBASW5wdXQoKSBzZXRJZDogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGRhdGE6IFZhbHVlcztcbiAgICBtZHM6IE1kc0RlZmluaXRpb247XG4gICAgdGVtcGxhdGVzOiB7XG4gICAgICAgIHZpZXc6IE1kc1ZpZXc7XG4gICAgICAgIGh0bWw6IFNhZmVIdG1sO1xuICAgIH1bXTtcblxuICAgIC8qKlxuICAgICAqIHNob3cgZ3JvdXAgaGVhZGluZ3MgKCsgaWNvbnMpIGZvciB0aGUgaW5kaXZpZHVhbCB0ZW1wbGF0ZXNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBzaG93R3JvdXBIZWFkaW5ncyA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgaGVhZGluZyBsZXZlbCBmcm9tIDEgdG8gNiB0byB1c2UgZm9yIHdpZGdldCBsYWJlbHMsIGVxdWl2YWxlbnQgdG8gYGgxYCB0byBgaDZgLlxuICAgICAqXG4gICAgICogSWYgbm90IHNldCwgd2lkZ2V0IGxhYmVscyBhcmUgbm90IG1hcmtlZCBhcyBoZWFkaW5ncyBhbmQgYW4gaW52aXNpYmxlIGNvbG9uIGlzIGFkZGVkIGJldHdlZW5cbiAgICAgKiBsYWJlbHMgYW5kIHZhbHVlcywgdGhhdCB3aWxsIGJlIHJlYWQgb3V0IGJ5IHNjcmVlbiByZWFkZXJzLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGhlYWRpbmdMZXZlbCh2YWx1ZTogbnVtYmVyIHwgbnVsbCkge1xuICAgICAgICB0aGlzLnZpZXdJbnN0YW5jZS5oZWFkaW5nTGV2ZWwgPSB2YWx1ZTtcbiAgICB9XG4gICAgZ2V0IGhlYWRpbmdMZXZlbCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmlld0luc3RhbmNlLmhlYWRpbmdMZXZlbDtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBtZHNTZXJ2aWNlOiBNZHNTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIG1kc1ZpZXdlclNlcnZpY2U6IE1kc1ZpZXdlclNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgZmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBwcml2YXRlIGNvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgcHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcixcbiAgICAgICAgcHJpdmF0ZSB2aWV3SW5zdGFuY2U6IFZpZXdJbnN0YW5jZVNlcnZpY2UsXG4gICAgKSB7fVxuXG4gICAgZ2V0R3JvdXAoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm1kcy5ncm91cHMuZmluZCgoZzogYW55KSA9PiBnLmlkID09IHRoaXMuZ3JvdXBJZCk7XG4gICAgfVxuICAgIGdldFZpZXcoaWQ6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gdGhpcy5tZHMudmlld3MuZmluZCgodjogYW55KSA9PiB2LmlkID09IGlkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgaW5mbGF0ZSgpIHtcbiAgICAgICAgaWYgKCF0aGlzLm1kcykge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmluZmxhdGUoKSwgMTAwMCAvIDYwKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdGhpcy5tZHNWaWV3ZXJTZXJ2aWNlLnZhbHVlcyQubmV4dCh0aGlzLmRhdGEpO1xuICAgICAgICAgICAgdGhpcy5tZHNWaWV3ZXJTZXJ2aWNlLm1kcyQubmV4dCh0aGlzLm1kcyk7XG4gICAgICAgICAgICBpZiAodGhpcy5tZHNFZGl0b3JJbnN0YW5jZVNlcnZpY2UpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBlZGl0b3IgPSBhd2FpdCB0aGlzLm1kc0VkaXRvckluc3RhbmNlU2VydmljZS5pbml0V2l0aG91dE5vZGVzKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmdyb3VwSWQsXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0SWQsXG4gICAgICAgICAgICAgICAgICAgIEhPTUVfUkVQT1NJVE9SWSxcbiAgICAgICAgICAgICAgICAgICAgJ3ZpZXdlcicsXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGF0YSxcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGlmICghZWRpdG9yKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIEluaXRpYWxpemF0aW9uIHdhcyBpbnRlcnJ1cHRlZC4gUHJvYmFibHksIHRoaXMgbWV0aG9kIHdhcyBjYWxsZWQgYWdhaW4gYmVmb3JlIGl0XG4gICAgICAgICAgICAgICAgICAgIC8vIGNvdWxkIGZpbmlzaC5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudGVtcGxhdGVzID0gW107XG4gICAgICAgIGZvciAoY29uc3QgdmlldyBvZiB0aGlzLmdldEdyb3VwKCkudmlld3MpIHtcbiAgICAgICAgICAgIGNvbnN0IHYgPSB0aGlzLmdldFZpZXcodmlldyk7XG4gICAgICAgICAgICB0aGlzLnRlbXBsYXRlcy5wdXNoKHtcbiAgICAgICAgICAgICAgICB2aWV3OiB2LFxuICAgICAgICAgICAgICAgIGh0bWw6IHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHRoaXMucHJlcGFyZUhUTUwodi5odG1sKSksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICAvLyB3YWl0IGZvciBhbmd1bGFyIHRvIGluZmxhdGUgdGhlIG5ldyBiaW5kaW5nXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgZm9yIChjb25zdCB3aWRnZXQgb2YgKHRoaXMubWRzRWRpdG9ySW5zdGFuY2VTZXJ2aWNlPy53aWRnZXRzLnZhbHVlIHx8XG4gICAgICAgICAgICAgICAgdGhpcy5tZHMud2lkZ2V0cy5tYXAoKGRlZmluaXRpb24pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmluaXRpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICBnZXRJbml0YWxWYWx1ZXNBc3luYzogYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGl2aWR1YWxWYWx1ZXM6IHRoaXMuZGF0YVtkZWZpbml0aW9uLmlkISFdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gYXMgSW5pdGlhbFZhbHVlcztcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBnZXRJbml0aWFsRGlzcGxheVZhbHVlczogKCkgPT4gbmV3IEJlaGF2aW9yU3ViamVjdDxNZHNWYWx1ZUxpc3Q+KG51bGwpLFxuICAgICAgICAgICAgICAgICAgICB9IGFzIE1kc1ZpZXdlcldpZGdldDtcbiAgICAgICAgICAgICAgICB9KSkgYXMgTWRzVmlld2VyV2lkZ2V0W10pIHtcbiAgICAgICAgICAgICAgICAvLyBAVE9ETzogaXQgd291bGQgYmUgYmV0dGVyIHRvIGZpbHRlciBieSB3aWRnZXRzIGJhc2VkIG9uIHRlbXBsYXRlIGFuZCBjb25kaXRpb24sIHNob3VsZCBiZSBpbXBsZW1lbnRlZCBpbiA1LjFcbiAgICAgICAgICAgICAgICB0aGlzLmNvbnRhaW5lci50b0FycmF5KCkuZm9yRWFjaCgoYykgPT4ge1xuICAgICAgICAgICAgICAgICAgICBsZXQgZWxlbWVudDogSFRNTEVsZW1lbnQgPSBjLm5hdGl2ZUVsZW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWRnZXQuZGVmaW5pdGlvbi5pZCxcbiAgICAgICAgICAgICAgICAgICAgKT8uWzBdO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZWxlbWVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gTWRzRWRpdG9yVmlld0NvbXBvbmVudC51cGRhdGVXaWRnZXRXaXRoSFRNTEF0dHJpYnV0ZXMoZWxlbWVudCwgdyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50ID0gcmVwbGFjZUVsZW1lbnRXaXRoRGl2KGVsZW1lbnQpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBVSVNlcnZpY2UuaW5qZWN0QW5ndWxhckNvbXBvbmVudChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZhY3RvcnlSZXNvbHZlcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRhaW5lclJlZixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBNZHNXaWRnZXRDb21wb25lbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZGdldCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0b3IsXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGNsb3NlIGFsbCBjdXN0b20gdGFncyBpbnNpZGUgdGhlIGh0bWwgd2hpY2ggYXJlIG5vdCBjbG9zZWRcbiAgICAgKiBlLmcuIDxjbTpuYW1lPlxuICAgICAqICAgICAtPiA8Y206bmFtZT48L2NtOm5hbWU+XG4gICAgICogQHBhcmFtIGh0bWxcbiAgICAgKi9cbiAgICBwcml2YXRlIHByZXBhcmVIVE1MKGh0bWw6IHN0cmluZykge1xuICAgICAgICBmb3IgKGNvbnN0IHcgb2YgdGhpcy5tZHMud2lkZ2V0cykge1xuICAgICAgICAgICAgY29uc3Qgc3RhcnQgPSBodG1sLmluZGV4T2YoJzwnICsgdy5pZCk7XG4gICAgICAgICAgICBpZiAoc3RhcnQgPT0gLTEpIHtcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGVuZCA9IGh0bWwuaW5kZXhPZignPicsIHN0YXJ0KSArIDE7XG4gICAgICAgICAgICBodG1sID0gaHRtbC5zdWJzdHJpbmcoMCwgZW5kKSArICc8LycgKyB3LmlkICsgJz4nICsgaHRtbC5zdWJzdHJpbmcoZW5kKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaHRtbDtcbiAgICB9XG5cbiAgICBhc3luYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgICAgIGxldCBpbmZsYXRlID0gZmFsc2U7XG4gICAgICAgIGlmIChjaGFuZ2VzLnNldElkKSB7XG4gICAgICAgICAgICB0aGlzLm1kcyA9IGF3YWl0IHRoaXMubWRzU2VydmljZVxuICAgICAgICAgICAgICAgIC5nZXRNZXRhZGF0YVNldCh7IG1ldGFkYXRhU2V0OiB0aGlzLnNldElkIH0pXG4gICAgICAgICAgICAgICAgLnRvUHJvbWlzZSgpO1xuICAgICAgICAgICAgaW5mbGF0ZSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNoYW5nZXMuZGF0YSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuZGF0YVtSZXN0Q29uc3RhbnRzLkNNX1BST1BfTUVUQURBVEFTRVRfRURVX01FVEFEQVRBU0VUXSAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5tZHMgPSBhd2FpdCB0aGlzLm1kc1NlcnZpY2VcbiAgICAgICAgICAgICAgICAgICAgLmdldE1ldGFkYXRhU2V0KHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1ldGFkYXRhU2V0OlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZGF0YVtSZXN0Q29uc3RhbnRzLkNNX1BST1BfTUVUQURBVEFTRVRfRURVX01FVEFEQVRBU0VUXVswXSxcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgLnRvUHJvbWlzZSgpO1xuICAgICAgICAgICAgfSBlbHNlIGlmICghdGhpcy5tZHMpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm1kcyA9IGF3YWl0IHRoaXMubWRzU2VydmljZS5nZXRNZXRhZGF0YVNldCh7fSkudG9Qcm9taXNlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpbmZsYXRlID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaW5mbGF0ZSkge1xuICAgICAgICAgICAgdm9pZCB0aGlzLmluZmxhdGUoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxlcy1zcGlubmVyLXNtYWxsICpuZ0lmPVwiIXRlbXBsYXRlc1wiPjwvZXMtc3Bpbm5lci1zbWFsbD5cbjxkaXYgKm5nRm9yPVwibGV0IHQgb2YgdGVtcGxhdGVzXCIgI2NvbnRhaW5lciBjbGFzcz1cIm1kcy12aWV3ZXJcIj5cbiAgPGRpdiAqbmdJZj1cInNob3dHcm91cEhlYWRpbmdzICYmIHQudmlldy5jYXB0aW9uXCIgY2xhc3M9XCJjYXJkLXRpdGxlLWVsZW1lbnQgZ3JvdXAtaGVhZGluZ1wiPlxuICAgIDxpIFtlc0ljb25dPVwidC52aWV3Lmljb25cIiAqbmdJZj1cInQudmlldy5pY29uXCI+PC9pPjxzcGFuPnt7IHQudmlldy5jYXB0aW9uIH19PC9zcGFuPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cInRlbXBsYXRlXCIgW2lubmVySFRNTF09XCJ0Lmh0bWxcIj48L2Rpdj5cbjwvZGl2PlxuIl19
@@ -7,18 +7,19 @@ import { UIConstants } from '../../util/ui-constants';
7
7
  import { DateHelper } from '../../util/DateHelper';
8
8
  import { RestHelper } from '../../util/rest-helper';
9
9
  import { FormatSizePipe } from '../../pipes/file-size.pipe';
10
- import { of } from 'rxjs';
10
+ import { BehaviorSubject, of } from 'rxjs';
11
11
  import * as i0 from "@angular/core";
12
12
  import * as i1 from "@ngx-translate/core";
13
13
  import * as i2 from "../../services/ui.service";
14
14
  import * as i3 from "../view-instance.service";
15
15
  import * as i4 from "../mds-viewer.service";
16
- import * as i5 from "@angular/common";
17
- import * as i6 from "@angular/material/core";
18
- import * as i7 from "@angular/router";
19
- import * as i8 from "../../directives/icon.directive";
20
- import * as i9 from "../../pipes/mds-duration.pipe";
21
- import * as i10 from "../../pipes/vcard-name.pipe";
16
+ import * as i5 from "../../services/node-helper.service";
17
+ import * as i6 from "@angular/common";
18
+ import * as i7 from "@angular/material/core";
19
+ import * as i8 from "@angular/router";
20
+ import * as i9 from "../../directives/icon.directive";
21
+ import * as i10 from "../../pipes/mds-duration.pipe";
22
+ import * as i11 from "../../pipes/vcard-name.pipe";
22
23
  export var MdsType;
23
24
  (function (MdsType) {
24
25
  MdsType["Io"] = "io";
@@ -87,11 +88,12 @@ export class MdsWidgetComponent {
87
88
  }
88
89
  constructor(
89
90
  // public mdsEditorInstance: MdsEditorInstanceService,
90
- translate, ui, viewInstance, mdsViewerService) {
91
+ translate, ui, viewInstance, mdsViewerService, nodeHelper) {
91
92
  this.translate = translate;
92
93
  this.ui = ui;
93
94
  this.viewInstance = viewInstance;
94
95
  this.mdsViewerService = mdsViewerService;
96
+ this.nodeHelper = nodeHelper;
95
97
  this.ROUTER_PREFIX = UIConstants.ROUTER_PREFIX;
96
98
  this.valueType = ValueType.String;
97
99
  this.showCaption = true;
@@ -99,6 +101,7 @@ export class MdsWidgetComponent {
99
101
  * allow inline editing
100
102
  */
101
103
  this.inlineEditing = 'auto';
104
+ this.license$ = new BehaviorSubject(null);
102
105
  this.value = undefined;
103
106
  this.temporaryValue = undefined;
104
107
  // super(toast, null, translate);
@@ -121,6 +124,10 @@ export class MdsWidgetComponent {
121
124
  return this.widget?.definition || this.definition;
122
125
  }
123
126
  getBasicType() {
127
+ switch (this.getDefinition().id) {
128
+ case 'license':
129
+ return 'license';
130
+ }
124
131
  switch (this.getDefinition().type) {
125
132
  case 'text':
126
133
  case 'email':
@@ -155,8 +162,10 @@ export class MdsWidgetComponent {
155
162
  return MdsWidgetComponent.inlineEditing.includes(this.widget?.definition.type);
156
163
  }
157
164
  getNodeValues() {
165
+ console.log(this.mdsViewerService);
158
166
  if (this.mdsEditorInstance) {
159
- return this.mdsEditorInstance?.values$.value;
167
+ return (this.mdsEditorInstance.values$.value ||
168
+ this.mdsEditorInstance.nodes$.value.map((n) => n.properties));
160
169
  }
161
170
  else {
162
171
  return this.mdsViewerService.values$.value;
@@ -168,6 +177,14 @@ export class MdsWidgetComponent {
168
177
  }
169
178
  const id = this.getDefinition().id;
170
179
  const values = this.getNodeValues();
180
+ if (this.getBasicType() === 'license') {
181
+ this.license$.next({
182
+ icon: await this.nodeHelper.getLicenseIcon({
183
+ properties: this.getNodeValues(),
184
+ }),
185
+ name: this.nodeHelper.getLicenseName({ properties: this.getNodeValues() }),
186
+ });
187
+ }
171
188
  if (this.getDefinition().type === 'range') {
172
189
  if (values) {
173
190
  return [values[id + '_from']?.[0], values[id + '_to']?.[0]];
@@ -179,7 +196,7 @@ export class MdsWidgetComponent {
179
196
  return this.getValue(values[id]);
180
197
  }
181
198
  else if ((await this.widget.getInitalValuesAsync())?.jointValues) {
182
- return ((await this.widget.getInitalValuesAsync()).jointValues);
199
+ return (await this.widget.getInitalValuesAsync()).jointValues;
183
200
  }
184
201
  else {
185
202
  return null;
@@ -212,6 +229,9 @@ export class MdsWidgetComponent {
212
229
  }
213
230
  }
214
231
  isEmpty() {
232
+ if (this.basicType === 'license') {
233
+ return false;
234
+ }
215
235
  return this.value?.every((v) => !v) || this.value?.length === 0 || !this.value;
216
236
  }
217
237
  formatDate() {
@@ -333,13 +353,13 @@ export class MdsWidgetComponent {
333
353
  event.stopPropagation();
334
354
  void this.view.injectEditField(this, this.editWrapper.nativeElement.children[0]);
335
355
  }
336
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: MdsWidgetComponent, deps: [{ token: i1.TranslateService }, { token: i2.UIService }, { token: i3.ViewInstanceService }, { token: i4.MdsViewerService }], target: i0.ɵɵFactoryTarget.Component }); }
337
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: MdsWidgetComponent, selector: "es-mds-widget", inputs: { widget: "widget", showCaption: "showCaption", inlineEditing: "inlineEditing", definition: "definition", view: "view" }, viewQueries: [{ propertyName: "editWrapper", first: true, predicate: ["editWrapper"], descendants: true }, { propertyName: "matRipple", first: true, predicate: MatRipple, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<es-mds-editor-widget-container\n *ngIf=\"!editWrapper.innerText.trim()\"\n [injectedView]=\"this\"\n [widget]=\"widget\"\n [label]=\"false\"\n [wrapInFormField]=\"false\"\n [wrapInGroup]=\"false\"\n [valueType]=\"valueType\"\n matRipple\n [matRippleDisabled]=\"true\"\n>\n <div class=\"edit-wrapper\">\n <div\n *ngIf=\"!isEmpty() || !widget.definition.hideIfEmpty || isEditable()\"\n class=\"widget-wrapper\"\n >\n <div\n class=\"widget-label\"\n [attr.role]=\"headingLevel ? 'heading' : null\"\n [attr.aria-level]=\"headingLevel\"\n *ngIf=\"widget.definition.caption && showCaption\"\n >\n {{ widget.definition.caption\n }}<span *ngIf=\"!headingLevel\" class=\"cdk-visually-hidden\">: </span>\n </div>\n <div\n class=\"value-wrapper\"\n [class.value-wrapper-edit]=\"isEditable()\"\n (click)=\"isEditable() ? startEdit($event) : null\"\n >\n <div *ngIf=\"isEmpty()\" class=\"widget-data widget-no-data widget-type-{{ basicType }}\">\n -\n </div>\n <div\n *ngIf=\"!isEmpty()\"\n class=\"widget-data widget-type-{{ basicType }} {{\n widget.definition.link ? 'widget-link' : ''\n }}\"\n (click)=\"click()\"\n >\n <div *ngIf=\"basicType === 'text'\">{{ formatText() }}</div>\n <div *ngIf=\"basicType === 'number'\">{{ formatNumber() }}</div>\n <div *ngIf=\"basicType === 'date'\">{{ formatDate() }}</div>\n <div *ngIf=\"basicType === 'array'\">\n <div class=\"array-entry\" *ngFor=\"let v of value\">{{ v }}</div>\n </div>\n <div *ngIf=\"basicType === 'tree'\">\n <div class=\"tree-entry\" *ngFor=\"let v of rawValue\">\n <ng-container *ngTemplateOutlet=\"treeEntry; context: { path: v.path }\"></ng-container>\n </div>\n </div>\n <div *ngIf=\"basicType === 'vcard'\">\n <div class=\"array-entry\" *ngFor=\"let v of value\">{{ v | vcardName }}</div>\n </div>\n <div *ngIf=\"basicType === 'slider'\">\n <span class=\"slider-value\">{{ value }}</span\n ><span> / </span><span class=\"slider-max\">{{ widget.definition.max }}</span>\n </div>\n <div *ngIf=\"basicType === 'duration'\">\n <span class=\"duration-value\">{{ value[0] | appMdsDuration }}</span>\n </div>\n <div *ngIf=\"basicType === 'range'\">\n <span class=\"slider-value\">{{ value[0] }}</span\n >-<span class=\"slider-value\">{{ value[1] }}</span>\n </div>\n <div *ngIf=\"basicType === 'unknown'\">\n The widget type {{ widget.definition.type }} is currently not supported via angular\n rendering\n </div>\n </div>\n </div>\n </div>\n <!--<button mat-icon-button\n *ngIf=\"mdsEditorInstance.editorMode === 'inline' && widget.definition.interactionType === 'Input'\"\n (click)=\"view.injectEditField(this, edit)\"\n class=\"btn-edit\">\n <i esIcon=\"edit\"></i>\n </button>-->\n </div>\n</es-mds-editor-widget-container>\n<div class=\"edit-wrapper\">\n <div #editWrapper><div #edit></div></div>\n <!--<button *ngIf=\"!!editWrapper.innerText.trim()\" mat-icon-button><i esIcon=\"save\"></i></button>-->\n</div>\n<ng-template #treeEntry let-path=\"path\">\n <ng-container *ngFor=\"let t of path; let first = first\">\n <ng-container *ngIf=\"!first\">\n <span class=\"cdk-visually-hidden\">{{ 'SUB_CATEGORY_ARIA' | translate }}</span>\n <i esIcon=\"keyboard_arrow_right\" [aria]=\"false\"></i>\n </ng-container>\n <a\n [routerLink]=\"'/' + ROUTER_PREFIX + 'search'\"\n [queryParams]=\"getSearchParams(t)\"\n *ngIf=\"widget.definition.isSearchable\"\n >{{ t.caption }}</a\n >\n <span *ngIf=\"!widget.definition.isSearchable\">{{ t.caption }}</span>\n </ng-container>\n</ng-template>\n", styles: [".widget-label{font-size:90%;opacity:.8}.edit-wrapper{display:flex;align-items:center;transition:var(--transitionNormal) all}.edit-wrapper>div:first-child{flex-grow:1}.edit-wrapper>button{margin-left:10px}.edit-wrapper .widget-wrapper{padding:2px 5px}.edit-wrapper .value-wrapper-edit:hover{outline:1px solid #ccc;cursor:text}.widget-data{padding:4px 0 10px;word-break:break-word}.widget-data.widget-type-slider{opacity:.8}.widget-data.widget-type-slider .slider-value{opacity:.9;font-weight:700}.widget-data.widget-type-array .array-entry,.widget-data.widget-type-vcard .array-entry{display:inline}.widget-data.widget-type-array .array-entry:not(:last-child):after,.widget-data.widget-type-vcard .array-entry:not(:last-child):after{content:\", \";padding-right:.3em;display:inline;align-items:flex-end}.widget-data.widget-type-tree>div{display:flex;flex-wrap:wrap;gap:10px}.widget-data.widget-type-tree .tree-entry{display:inline-block;border-radius:5px;padding:5px 10px;background-color:#f9f9f9}.widget-data.widget-type-tree .tree-entry>a{color:var(--palette-primary-800);text-decoration:none}.widget-data.widget-type-tree .tree-entry>*{vertical-align:middle}.widget-data.widget-type-tree .tree-entry>i{font-size:18px}.widget-data.widget-link{text-decoration:underline;cursor:pointer}.widget-type-text>div{white-space:pre-line}:host ::ng-deep .edit-wrapper .widget-container mat-form-field{margin-top:.5em}\n"], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i6.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "directive", type: i7.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i8.IconDirective, selector: "i[esIcon], i.material-icons", inputs: ["altText", "aria", "esIcon"] }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "pipe", type: i9.MdsDurationPipe, name: "appMdsDuration" }, { kind: "pipe", type: i10.VCardNamePipe, name: "vcardName" }] }); }
356
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: MdsWidgetComponent, deps: [{ token: i1.TranslateService }, { token: i2.UIService }, { token: i3.ViewInstanceService }, { token: i4.MdsViewerService }, { token: i5.NodeHelperService }], target: i0.ɵɵFactoryTarget.Component }); }
357
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: MdsWidgetComponent, selector: "es-mds-widget", inputs: { widget: "widget", showCaption: "showCaption", inlineEditing: "inlineEditing", definition: "definition", view: "view" }, viewQueries: [{ propertyName: "editWrapper", first: true, predicate: ["editWrapper"], descendants: true }, { propertyName: "matRipple", first: true, predicate: MatRipple, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<es-mds-editor-widget-container\n *ngIf=\"!editWrapper.innerText.trim()\"\n [injectedView]=\"this\"\n [widget]=\"widget\"\n [label]=\"false\"\n [wrapInFormField]=\"false\"\n [wrapInGroup]=\"false\"\n [valueType]=\"valueType\"\n matRipple\n [matRippleDisabled]=\"true\"\n>\n <div class=\"edit-wrapper\">\n <div\n *ngIf=\"!isEmpty() || !widget.definition.hideIfEmpty || isEditable()\"\n class=\"widget-wrapper\"\n >\n <div\n class=\"widget-label\"\n [attr.role]=\"headingLevel ? 'heading' : null\"\n [attr.aria-level]=\"headingLevel\"\n *ngIf=\"widget.definition.caption && showCaption\"\n >\n {{ widget.definition.caption\n }}<span *ngIf=\"!headingLevel\" class=\"cdk-visually-hidden\">: </span>\n </div>\n <div\n class=\"value-wrapper\"\n [class.value-wrapper-edit]=\"isEditable()\"\n (click)=\"isEditable() ? startEdit($event) : null\"\n >\n <div *ngIf=\"isEmpty()\" class=\"widget-data widget-no-data widget-type-{{ basicType }}\">\n -\n </div>\n <div\n *ngIf=\"!isEmpty()\"\n class=\"widget-data widget-type-{{ basicType }} {{\n widget.definition.link ? 'widget-link' : ''\n }}\"\n (click)=\"click()\"\n >\n <div *ngIf=\"basicType === 'text'\">{{ formatText() }}</div>\n <div *ngIf=\"basicType === 'number'\">{{ formatNumber() }}</div>\n <div *ngIf=\"basicType === 'date'\">{{ formatDate() }}</div>\n <div *ngIf=\"basicType === 'license' && (license$ | async) as license\">\n <img alt=\"\" [src]=\"license.icon\" /> {{ license.name }}\n </div>\n <div *ngIf=\"basicType === 'array'\">\n <div class=\"array-entry\" *ngFor=\"let v of value\">{{ v }}</div>\n </div>\n <div *ngIf=\"basicType === 'tree'\">\n <div class=\"tree-entry\" *ngFor=\"let v of rawValue\">\n <ng-container *ngTemplateOutlet=\"treeEntry; context: { path: v.path }\"></ng-container>\n </div>\n </div>\n <div *ngIf=\"basicType === 'vcard'\">\n <div class=\"array-entry\" *ngFor=\"let v of value\">{{ v | vcardName }}</div>\n </div>\n <div *ngIf=\"basicType === 'slider'\">\n <span class=\"slider-value\">{{ value }}</span\n ><span> / </span><span class=\"slider-max\">{{ widget.definition.max }}</span>\n </div>\n <div *ngIf=\"basicType === 'duration'\">\n <span class=\"duration-value\">{{ value[0] | appMdsDuration }}</span>\n </div>\n <div *ngIf=\"basicType === 'range'\">\n <span class=\"slider-value\">{{ value[0] }}</span\n >-<span class=\"slider-value\">{{ value[1] }}</span>\n </div>\n <div *ngIf=\"basicType === 'unknown'\">\n The widget type {{ widget.definition.type }} is currently not supported via angular\n rendering\n </div>\n </div>\n </div>\n </div>\n <!--<button mat-icon-button\n *ngIf=\"mdsEditorInstance.editorMode === 'inline' && widget.definition.interactionType === 'Input'\"\n (click)=\"view.injectEditField(this, edit)\"\n class=\"btn-edit\">\n <i esIcon=\"edit\"></i>\n </button>-->\n </div>\n</es-mds-editor-widget-container>\n<div class=\"edit-wrapper\">\n <div #editWrapper><div #edit></div></div>\n <!--<button *ngIf=\"!!editWrapper.innerText.trim()\" mat-icon-button><i esIcon=\"save\"></i></button>-->\n</div>\n<ng-template #treeEntry let-path=\"path\">\n <ng-container *ngFor=\"let t of path; let first = first\">\n <ng-container *ngIf=\"!first\">\n <span class=\"cdk-visually-hidden\">{{ 'SUB_CATEGORY_ARIA' | translate }}</span>\n <i esIcon=\"keyboard_arrow_right\" [aria]=\"false\"></i>\n </ng-container>\n <a\n [routerLink]=\"'/' + ROUTER_PREFIX + 'search'\"\n [queryParams]=\"getSearchParams(t)\"\n *ngIf=\"widget.definition.isSearchable\"\n >{{ t.caption }}</a\n >\n <span *ngIf=\"!widget.definition.isSearchable\">{{ t.caption }}</span>\n </ng-container>\n</ng-template>\n", styles: [".widget-label{font-size:90%;opacity:.8}.edit-wrapper{display:flex;align-items:center;transition:var(--transitionNormal) all}.edit-wrapper>div:first-child{flex-grow:1}.edit-wrapper>button{margin-left:10px}.edit-wrapper .widget-wrapper{padding:2px 5px}.edit-wrapper .value-wrapper-edit:hover{outline:1px solid #ccc;cursor:text}.widget-data{padding:4px 0 10px;word-break:break-word}.widget-data.widget-type-slider{opacity:.8}.widget-data.widget-type-slider .slider-value{opacity:.9;font-weight:700}.widget-data.widget-type-array .array-entry,.widget-data.widget-type-vcard .array-entry{display:inline}.widget-data.widget-type-array .array-entry:not(:last-child):after,.widget-data.widget-type-vcard .array-entry:not(:last-child):after{content:\", \";padding-right:.3em;display:inline;align-items:flex-end}.widget-data.widget-type-tree>div{display:flex;flex-wrap:wrap;gap:10px}.widget-data.widget-type-tree .tree-entry{display:inline-block;border-radius:5px;padding:5px 10px;background-color:#f9f9f9}.widget-data.widget-type-tree .tree-entry>a{color:var(--palette-primary-800);text-decoration:none}.widget-data.widget-type-tree .tree-entry>*{vertical-align:middle}.widget-data.widget-type-tree .tree-entry>i{font-size:18px}.widget-data.widget-link{text-decoration:underline;cursor:pointer}.widget-type-text>div{white-space:pre-line}:host ::ng-deep .edit-wrapper .widget-container mat-form-field{margin-top:.5em}\n"], dependencies: [{ kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i7.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "directive", type: i8.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i9.IconDirective, selector: "i[esIcon], i.material-icons", inputs: ["altText", "aria", "esIcon"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "pipe", type: i10.MdsDurationPipe, name: "appMdsDuration" }, { kind: "pipe", type: i11.VCardNamePipe, name: "vcardName" }] }); }
338
358
  }
339
359
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: MdsWidgetComponent, decorators: [{
340
360
  type: Component,
341
- args: [{ selector: 'es-mds-widget', template: "<es-mds-editor-widget-container\n *ngIf=\"!editWrapper.innerText.trim()\"\n [injectedView]=\"this\"\n [widget]=\"widget\"\n [label]=\"false\"\n [wrapInFormField]=\"false\"\n [wrapInGroup]=\"false\"\n [valueType]=\"valueType\"\n matRipple\n [matRippleDisabled]=\"true\"\n>\n <div class=\"edit-wrapper\">\n <div\n *ngIf=\"!isEmpty() || !widget.definition.hideIfEmpty || isEditable()\"\n class=\"widget-wrapper\"\n >\n <div\n class=\"widget-label\"\n [attr.role]=\"headingLevel ? 'heading' : null\"\n [attr.aria-level]=\"headingLevel\"\n *ngIf=\"widget.definition.caption && showCaption\"\n >\n {{ widget.definition.caption\n }}<span *ngIf=\"!headingLevel\" class=\"cdk-visually-hidden\">: </span>\n </div>\n <div\n class=\"value-wrapper\"\n [class.value-wrapper-edit]=\"isEditable()\"\n (click)=\"isEditable() ? startEdit($event) : null\"\n >\n <div *ngIf=\"isEmpty()\" class=\"widget-data widget-no-data widget-type-{{ basicType }}\">\n -\n </div>\n <div\n *ngIf=\"!isEmpty()\"\n class=\"widget-data widget-type-{{ basicType }} {{\n widget.definition.link ? 'widget-link' : ''\n }}\"\n (click)=\"click()\"\n >\n <div *ngIf=\"basicType === 'text'\">{{ formatText() }}</div>\n <div *ngIf=\"basicType === 'number'\">{{ formatNumber() }}</div>\n <div *ngIf=\"basicType === 'date'\">{{ formatDate() }}</div>\n <div *ngIf=\"basicType === 'array'\">\n <div class=\"array-entry\" *ngFor=\"let v of value\">{{ v }}</div>\n </div>\n <div *ngIf=\"basicType === 'tree'\">\n <div class=\"tree-entry\" *ngFor=\"let v of rawValue\">\n <ng-container *ngTemplateOutlet=\"treeEntry; context: { path: v.path }\"></ng-container>\n </div>\n </div>\n <div *ngIf=\"basicType === 'vcard'\">\n <div class=\"array-entry\" *ngFor=\"let v of value\">{{ v | vcardName }}</div>\n </div>\n <div *ngIf=\"basicType === 'slider'\">\n <span class=\"slider-value\">{{ value }}</span\n ><span> / </span><span class=\"slider-max\">{{ widget.definition.max }}</span>\n </div>\n <div *ngIf=\"basicType === 'duration'\">\n <span class=\"duration-value\">{{ value[0] | appMdsDuration }}</span>\n </div>\n <div *ngIf=\"basicType === 'range'\">\n <span class=\"slider-value\">{{ value[0] }}</span\n >-<span class=\"slider-value\">{{ value[1] }}</span>\n </div>\n <div *ngIf=\"basicType === 'unknown'\">\n The widget type {{ widget.definition.type }} is currently not supported via angular\n rendering\n </div>\n </div>\n </div>\n </div>\n <!--<button mat-icon-button\n *ngIf=\"mdsEditorInstance.editorMode === 'inline' && widget.definition.interactionType === 'Input'\"\n (click)=\"view.injectEditField(this, edit)\"\n class=\"btn-edit\">\n <i esIcon=\"edit\"></i>\n </button>-->\n </div>\n</es-mds-editor-widget-container>\n<div class=\"edit-wrapper\">\n <div #editWrapper><div #edit></div></div>\n <!--<button *ngIf=\"!!editWrapper.innerText.trim()\" mat-icon-button><i esIcon=\"save\"></i></button>-->\n</div>\n<ng-template #treeEntry let-path=\"path\">\n <ng-container *ngFor=\"let t of path; let first = first\">\n <ng-container *ngIf=\"!first\">\n <span class=\"cdk-visually-hidden\">{{ 'SUB_CATEGORY_ARIA' | translate }}</span>\n <i esIcon=\"keyboard_arrow_right\" [aria]=\"false\"></i>\n </ng-container>\n <a\n [routerLink]=\"'/' + ROUTER_PREFIX + 'search'\"\n [queryParams]=\"getSearchParams(t)\"\n *ngIf=\"widget.definition.isSearchable\"\n >{{ t.caption }}</a\n >\n <span *ngIf=\"!widget.definition.isSearchable\">{{ t.caption }}</span>\n </ng-container>\n</ng-template>\n", styles: [".widget-label{font-size:90%;opacity:.8}.edit-wrapper{display:flex;align-items:center;transition:var(--transitionNormal) all}.edit-wrapper>div:first-child{flex-grow:1}.edit-wrapper>button{margin-left:10px}.edit-wrapper .widget-wrapper{padding:2px 5px}.edit-wrapper .value-wrapper-edit:hover{outline:1px solid #ccc;cursor:text}.widget-data{padding:4px 0 10px;word-break:break-word}.widget-data.widget-type-slider{opacity:.8}.widget-data.widget-type-slider .slider-value{opacity:.9;font-weight:700}.widget-data.widget-type-array .array-entry,.widget-data.widget-type-vcard .array-entry{display:inline}.widget-data.widget-type-array .array-entry:not(:last-child):after,.widget-data.widget-type-vcard .array-entry:not(:last-child):after{content:\", \";padding-right:.3em;display:inline;align-items:flex-end}.widget-data.widget-type-tree>div{display:flex;flex-wrap:wrap;gap:10px}.widget-data.widget-type-tree .tree-entry{display:inline-block;border-radius:5px;padding:5px 10px;background-color:#f9f9f9}.widget-data.widget-type-tree .tree-entry>a{color:var(--palette-primary-800);text-decoration:none}.widget-data.widget-type-tree .tree-entry>*{vertical-align:middle}.widget-data.widget-type-tree .tree-entry>i{font-size:18px}.widget-data.widget-link{text-decoration:underline;cursor:pointer}.widget-type-text>div{white-space:pre-line}:host ::ng-deep .edit-wrapper .widget-container mat-form-field{margin-top:.5em}\n"] }]
342
- }], ctorParameters: () => [{ type: i1.TranslateService }, { type: i2.UIService }, { type: i3.ViewInstanceService }, { type: i4.MdsViewerService }], propDecorators: { widget: [{
361
+ args: [{ selector: 'es-mds-widget', template: "<es-mds-editor-widget-container\n *ngIf=\"!editWrapper.innerText.trim()\"\n [injectedView]=\"this\"\n [widget]=\"widget\"\n [label]=\"false\"\n [wrapInFormField]=\"false\"\n [wrapInGroup]=\"false\"\n [valueType]=\"valueType\"\n matRipple\n [matRippleDisabled]=\"true\"\n>\n <div class=\"edit-wrapper\">\n <div\n *ngIf=\"!isEmpty() || !widget.definition.hideIfEmpty || isEditable()\"\n class=\"widget-wrapper\"\n >\n <div\n class=\"widget-label\"\n [attr.role]=\"headingLevel ? 'heading' : null\"\n [attr.aria-level]=\"headingLevel\"\n *ngIf=\"widget.definition.caption && showCaption\"\n >\n {{ widget.definition.caption\n }}<span *ngIf=\"!headingLevel\" class=\"cdk-visually-hidden\">: </span>\n </div>\n <div\n class=\"value-wrapper\"\n [class.value-wrapper-edit]=\"isEditable()\"\n (click)=\"isEditable() ? startEdit($event) : null\"\n >\n <div *ngIf=\"isEmpty()\" class=\"widget-data widget-no-data widget-type-{{ basicType }}\">\n -\n </div>\n <div\n *ngIf=\"!isEmpty()\"\n class=\"widget-data widget-type-{{ basicType }} {{\n widget.definition.link ? 'widget-link' : ''\n }}\"\n (click)=\"click()\"\n >\n <div *ngIf=\"basicType === 'text'\">{{ formatText() }}</div>\n <div *ngIf=\"basicType === 'number'\">{{ formatNumber() }}</div>\n <div *ngIf=\"basicType === 'date'\">{{ formatDate() }}</div>\n <div *ngIf=\"basicType === 'license' && (license$ | async) as license\">\n <img alt=\"\" [src]=\"license.icon\" /> {{ license.name }}\n </div>\n <div *ngIf=\"basicType === 'array'\">\n <div class=\"array-entry\" *ngFor=\"let v of value\">{{ v }}</div>\n </div>\n <div *ngIf=\"basicType === 'tree'\">\n <div class=\"tree-entry\" *ngFor=\"let v of rawValue\">\n <ng-container *ngTemplateOutlet=\"treeEntry; context: { path: v.path }\"></ng-container>\n </div>\n </div>\n <div *ngIf=\"basicType === 'vcard'\">\n <div class=\"array-entry\" *ngFor=\"let v of value\">{{ v | vcardName }}</div>\n </div>\n <div *ngIf=\"basicType === 'slider'\">\n <span class=\"slider-value\">{{ value }}</span\n ><span> / </span><span class=\"slider-max\">{{ widget.definition.max }}</span>\n </div>\n <div *ngIf=\"basicType === 'duration'\">\n <span class=\"duration-value\">{{ value[0] | appMdsDuration }}</span>\n </div>\n <div *ngIf=\"basicType === 'range'\">\n <span class=\"slider-value\">{{ value[0] }}</span\n >-<span class=\"slider-value\">{{ value[1] }}</span>\n </div>\n <div *ngIf=\"basicType === 'unknown'\">\n The widget type {{ widget.definition.type }} is currently not supported via angular\n rendering\n </div>\n </div>\n </div>\n </div>\n <!--<button mat-icon-button\n *ngIf=\"mdsEditorInstance.editorMode === 'inline' && widget.definition.interactionType === 'Input'\"\n (click)=\"view.injectEditField(this, edit)\"\n class=\"btn-edit\">\n <i esIcon=\"edit\"></i>\n </button>-->\n </div>\n</es-mds-editor-widget-container>\n<div class=\"edit-wrapper\">\n <div #editWrapper><div #edit></div></div>\n <!--<button *ngIf=\"!!editWrapper.innerText.trim()\" mat-icon-button><i esIcon=\"save\"></i></button>-->\n</div>\n<ng-template #treeEntry let-path=\"path\">\n <ng-container *ngFor=\"let t of path; let first = first\">\n <ng-container *ngIf=\"!first\">\n <span class=\"cdk-visually-hidden\">{{ 'SUB_CATEGORY_ARIA' | translate }}</span>\n <i esIcon=\"keyboard_arrow_right\" [aria]=\"false\"></i>\n </ng-container>\n <a\n [routerLink]=\"'/' + ROUTER_PREFIX + 'search'\"\n [queryParams]=\"getSearchParams(t)\"\n *ngIf=\"widget.definition.isSearchable\"\n >{{ t.caption }}</a\n >\n <span *ngIf=\"!widget.definition.isSearchable\">{{ t.caption }}</span>\n </ng-container>\n</ng-template>\n", styles: [".widget-label{font-size:90%;opacity:.8}.edit-wrapper{display:flex;align-items:center;transition:var(--transitionNormal) all}.edit-wrapper>div:first-child{flex-grow:1}.edit-wrapper>button{margin-left:10px}.edit-wrapper .widget-wrapper{padding:2px 5px}.edit-wrapper .value-wrapper-edit:hover{outline:1px solid #ccc;cursor:text}.widget-data{padding:4px 0 10px;word-break:break-word}.widget-data.widget-type-slider{opacity:.8}.widget-data.widget-type-slider .slider-value{opacity:.9;font-weight:700}.widget-data.widget-type-array .array-entry,.widget-data.widget-type-vcard .array-entry{display:inline}.widget-data.widget-type-array .array-entry:not(:last-child):after,.widget-data.widget-type-vcard .array-entry:not(:last-child):after{content:\", \";padding-right:.3em;display:inline;align-items:flex-end}.widget-data.widget-type-tree>div{display:flex;flex-wrap:wrap;gap:10px}.widget-data.widget-type-tree .tree-entry{display:inline-block;border-radius:5px;padding:5px 10px;background-color:#f9f9f9}.widget-data.widget-type-tree .tree-entry>a{color:var(--palette-primary-800);text-decoration:none}.widget-data.widget-type-tree .tree-entry>*{vertical-align:middle}.widget-data.widget-type-tree .tree-entry>i{font-size:18px}.widget-data.widget-link{text-decoration:underline;cursor:pointer}.widget-type-text>div{white-space:pre-line}:host ::ng-deep .edit-wrapper .widget-container mat-form-field{margin-top:.5em}\n"] }]
362
+ }], ctorParameters: () => [{ type: i1.TranslateService }, { type: i2.UIService }, { type: i3.ViewInstanceService }, { type: i4.MdsViewerService }, { type: i5.NodeHelperService }], propDecorators: { widget: [{
343
363
  type: Input
344
364
  }], showCaption: [{
345
365
  type: Input
@@ -356,4 +376,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
356
376
  type: ViewChild,
357
377
  args: [MatRipple]
358
378
  }] } });
359
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWRzLXdpZGdldC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL21kcy12aWV3ZXIvd2lkZ2V0L21kcy13aWRnZXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWR1LXNoYXJpbmctdWkvc3JjL2xpYi9tZHMtdmlld2VyL3dpZGdldC9tZHMtd2lkZ2V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQ0gsU0FBUyxFQUVULEtBQUssRUFJTCxTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BELE9BQU8sRUFBNkIsYUFBYSxFQUFjLE1BQU0scUJBQXFCLENBQUM7QUFDM0YsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUduRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBK0IsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7Ozs7QUFJdkQsTUFBTSxDQUFOLElBQVksT0FVWDtBQVZELFdBQVksT0FBTztJQUNmLG9CQUFTLENBQUE7SUFDVCw2QkFBa0IsQ0FBQTtJQUNsQixzQkFBVyxDQUFBO0lBQ1gsNkJBQWtCLENBQUE7SUFDbEIsMkNBQWdDLENBQUE7SUFDaEMsb0NB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QUFTLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDckMsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUFpQjtRQUN2QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDckYsQ0FBQzsrR0EvU1Esa0JBQWtCO21HQUFsQixrQkFBa0IsK1RBK0JoQixTQUFTLHFFQy9IeEIsazhIQW1HQTs7NEZESGEsa0JBQWtCO2tCQU45QixTQUFTOytCQUNJLGVBQWU7OEtBeUJoQixNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFJRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUcsSUFBSTtzQkFBWixLQUFLO2dCQUVvQixXQUFXO3NCQUFwQyxTQUFTO3VCQUFDLGFBQWE7Z0JBQ0YsU0FBUztzQkFBOUIsU0FBUzt1QkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0ZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25Jbml0LFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IE1hdFJpcHBsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgZmlsdGVyLCBmaXJzdCwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTWRzVmFsdWUsIE1kc1dpZGdldCwgTm9kZSwgUmVzdENvbnN0YW50cywgU3VnZ2VzdGlvbiB9IGZyb20gJ25neC1lZHUtc2hhcmluZy1hcGknO1xuaW1wb3J0IHsgVUlDb25zdGFudHMgfSBmcm9tICcuLi8uLi91dGlsL3VpLWNvbnN0YW50cyc7XG5pbXBvcnQgeyBEYXRlSGVscGVyIH0gZnJvbSAnLi4vLi4vdXRpbC9EYXRlSGVscGVyJztcbmltcG9ydCB7IFVJU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3VpLnNlcnZpY2UnO1xuaW1wb3J0IHsgVmlld0luc3RhbmNlU2VydmljZSB9IGZyb20gJy4uL3ZpZXctaW5zdGFuY2Uuc2VydmljZSc7XG5pbXBvcnQgeyBSZXN0SGVscGVyIH0gZnJvbSAnLi4vLi4vdXRpbC9yZXN0LWhlbHBlcic7XG5pbXBvcnQgeyBGb3JtYXRTaXplUGlwZSB9IGZyb20gJy4uLy4uL3BpcGVzL2ZpbGUtc2l6ZS5waXBlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE1kc1ZpZXdlclNlcnZpY2UgfSBmcm9tICcuLi9tZHMtdmlld2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgVmFsdWVzIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc2VhcmNoLWhlbHBlci5zZXJ2aWNlJztcblxuZXhwb3J0IGVudW0gTWRzVHlwZSB7XG4gICAgSW8gPSAnaW8nLFxuICAgIElvQnVsayA9ICdpb19idWxrJyxcbiAgICBNYXAgPSAnbWFwJyxcbiAgICBNYXBSZWYgPSAnbWFwX3JlZicsXG4gICAgSW9DaGlsZE9iamVjdCA9ICdpb19jaGlsZG9iamVjdCcsXG4gICAgQ29sbGVjdGlvbiA9ICdjb2xsZWN0aW9uJyxcbiAgICBUb29sRGVmaW5pdGlvbiA9ICd0b29sX2RlZmluaXRpb24nLFxuICAgIFRvb2xJbnN0YW5jZSA9ICd0b29sX2luc3RhbmNlJyxcbiAgICBTYXZlZFNlYXJjaCA9ICdzYXZlZF9zZWFyY2gnLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1kc1ZhbHVlTGlzdCB7XG4gICAgdmFsdWVzOiBTdWdnZXN0aW9uW107XG59XG5leHBvcnQgaW50ZXJmYWNlIE1kc1ZpZXdlcldpZGdldCB7XG4gICAgZGVmaW5pdGlvbjogTWRzV2lkZ2V0O1xuICAgIGdldEluaXRhbFZhbHVlc0FzeW5jKCk6IFByb21pc2U8SW5pdGlhbFZhbHVlcz47XG4gICAgZ2V0SW5pdGlhbERpc3BsYXlWYWx1ZXMoKTogQmVoYXZpb3JTdWJqZWN0PE1kc1ZhbHVlTGlzdD47XG59XG5leHBvcnQgZW51bSBNZHNXaWRnZXRUeXBlIHtcbiAgICBUZXh0ID0gJ3RleHQnLFxuICAgIE51bWJlciA9ICdudW1iZXInLFxuICAgIEVtYWlsID0gJ2VtYWlsJyxcbiAgICBEYXRlID0gJ2RhdGUnLFxuICAgIE1vbnRoID0gJ21vbnRoJyxcbiAgICBDb2xvciA9ICdjb2xvcicsXG4gICAgVGV4dGFyZWEgPSAndGV4dGFyZWEnLFxuICAgIFRpbnlNQ0UgPSAndGlueU1DRScsXG4gICAgVkNhcmQgPSAndmNhcmQnLFxuICAgIENoZWNrYm94ID0gJ2NoZWNrYm94JyxcbiAgICBSYWRpb0hvcml6b250YWwgPSAncmFkaW9Ib3Jpem9udGFsJyxcbiAgICBSYWRpb1ZlcnRpY2FsID0gJ3JhZGlvVmVydGljYWwnLFxuICAgIENoZWNrYm94SG9yaXpvbnRhbCA9ICdjaGVja2JveEhvcml6b250YWwnLFxuICAgIENoZWNrYm94VmVydGljYWwgPSAnY2hlY2tib3hWZXJ0aWNhbCcsXG4gICAgTXVsdGlWYWx1ZUJhZGdlcyA9ICdtdWx0aXZhbHVlQmFkZ2VzJyxcbiAgICBNdWx0aVZhbHVlRml4ZWRCYWRnZXMgPSAnbXVsdGl2YWx1ZUZpeGVkQmFkZ2VzJyxcbiAgICBNdWx0aVZhbHVlU3VnZ2VzdEJhZGdlcyA9ICdtdWx0aXZhbHVlU3VnZ2VzdEJhZGdlcycsXG4gICAgTXVsdGlWYWx1ZUF1dGhvcml0eUJhZGdlcyA9ICdtdWx0aXZhbHVlQXV0aG9yaXR5QmFkZ2VzJyxcbiAgICBTaW5nbGVvcHRpb24gPSAnc2luZ2xlb3B0aW9uJyxcbiAgICBTbGlkZXIgPSAnc2xpZGVyJyxcbiAgICBSYW5nZSA9ICdyYW5nZScsXG4gICAgRHVyYXRpb24gPSAnZHVyYXRpb24nLFxuICAgIFNpbmdsZVZhbHVlVHJlZSA9ICdzaW5nbGV2YWx1ZVRyZWUnLFxuICAgIFNpbmdsZVZhbHVlU3VnZ2VzdEJhZGdlcyA9ICdzaW5nbGV2YWx1ZVN1Z2dlc3RCYWRnZXMnLFxuICAgIE11bHRpVmFsdWVUcmVlID0gJ211bHRpdmFsdWVUcmVlJyxcbiAgICBEZWZhdWx0VmFsdWUgPSAnZGVmYXVsdHZhbHVlJyxcbiAgICBGYWNldExpc3QgPSAnZmFjZXRMaXN0Jyxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbml0aWFsVmFsdWVzIHtcbiAgICAvKiogVmFsdWVzIHRoYXQgYXJlIGluaXRpYWxseSBwcmVzZW50IGluIGFsbCBub2Rlcy4gKi9cbiAgICByZWFkb25seSBqb2ludFZhbHVlczogc3RyaW5nW107XG4gICAgLyoqXG4gICAgICogVmFsdWVzIHRoYXQgYXJlIGluaXRpYWxseSBwcmVzZW50IGluIHNvbWUgYnV0IG5vdCBhbGwgbm9kZXMuXG4gICAgICpcbiAgICAgKiBDYW4gYmUgbnVsbCBidXQgd2lsbCBuZXZlciBiZSBzZXQgdG8gYW4gZW1wdHkgYXJyYXkuXG4gICAgICovXG4gICAgcmVhZG9ubHkgaW5kaXZpZHVhbFZhbHVlcz86IHN0cmluZ1tdO1xufVxuZXhwb3J0IGVudW0gVmFsdWVUeXBlIHtcbiAgICBTdHJpbmcsXG4gICAgTXVsdGlWYWx1ZSxcbiAgICBSYW5nZSxcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdlcy1tZHMtd2lkZ2V0JyxcbiAgICB0ZW1wbGF0ZVVybDogJ21kcy13aWRnZXQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWydtZHMtd2lkZ2V0LmNvbXBvbmVudC5zY3NzJ10sXG4gICAgLy8gcmVxdWlyZWQgZm9yIGV4dGVybmFsIGVkaXRvciBpbmplY3Rpb25cbn0pXG5leHBvcnQgY2xhc3MgTWRzV2lkZ2V0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICAgIHJlYWRvbmx5IFJPVVRFUl9QUkVGSVggPSBVSUNvbnN0YW50cy5ST1VURVJfUFJFRklYO1xuICAgIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IGlubGluZUVkaXRpbmc6IE1kc1dpZGdldFR5cGVbXSA9IFtcbiAgICAgICAgTWRzV2lkZ2V0VHlwZS5UZXh0LFxuICAgICAgICBNZHNXaWRnZXRUeXBlLk51bWJlcixcbiAgICAgICAgTWRzV2lkZ2V0VHlwZS5EYXRlLFxuICAgICAgICBNZHNXaWRnZXRUeXBlLkVtYWlsLFxuICAgICAgICBNZHNXaWRnZXRUeXBlLlRleHRhcmVhLFxuICAgICAgICBNZHNXaWRnZXRUeXBlLlNpbmdsZW9wdGlvbixcbiAgICAgICAgTWRzV2lkZ2V0VHlwZS5TaW5nbGVWYWx1ZVRyZWUsXG4gICAgICAgIE1kc1dpZGdldFR5cGUuU2luZ2xlVmFsdWVTdWdnZXN0QmFkZ2VzLFxuICAgICAgICBNZHNXaWRnZXRUeXBlLk11bHRpVmFsdWVCYWRnZXMsXG4gICAgICAgIE1kc1dpZGdldFR5cGUuTXVsdGlWYWx1ZUZpeGVkQmFkZ2VzLFxuICAgICAgICBNZHNXaWRnZXRUeXBlLk11bHRpVmFsdWVTdWdnZXN0QmFkZ2VzLFxuICAgICAgICBNZHNXaWRnZXRUeXBlLk11bHRpVmFsdWVUcmVlLFxuICAgIF07XG5cbiAgICByZWFkb25seSB2YWx1ZVR5cGUgPSBWYWx1ZVR5cGUuU3RyaW5nO1xuXG4gICAgLy8gdXNlIGFueSBpbnN0ZWFkIG9mIGBXaWRnZXRgIGNhdXNlIG9mIGV4dGVybmFsIHR5cGVcbiAgICBASW5wdXQoKSB3aWRnZXQ6IE1kc1ZpZXdlcldpZGdldDtcbiAgICBASW5wdXQoKSBzaG93Q2FwdGlvbiA9IHRydWU7XG4gICAgLyoqXG4gICAgICogYWxsb3cgaW5saW5lIGVkaXRpbmdcbiAgICAgKi9cbiAgICBASW5wdXQoKSBpbmxpbmVFZGl0aW5nOiAnYXV0bycgfCAnYWx3YXlzJyA9ICdhdXRvJztcbiAgICBASW5wdXQoKSBkZWZpbml0aW9uOiBNZHNXaWRnZXQ7XG4gICAgLy8gdXNlIGFueSBpbnN0ZWFkIG9mIE1kc0VkaXRvclZpZXdDb21wb25lbnQgY2F1c2Ugb2YgZXh0ZXJuYWwgdHlwZVxuICAgIEBJbnB1dCgpIHZpZXc6IGFueTtcblxuICAgIEBWaWV3Q2hpbGQoJ2VkaXRXcmFwcGVyJykgZWRpdFdyYXBwZXI6IEVsZW1lbnRSZWY7XG4gICAgQFZpZXdDaGlsZChNYXRSaXBwbGUpIG1hdFJpcHBsZTogTWF0UmlwcGxlO1xuICAgIGJhc2ljVHlwZTogc3RyaW5nO1xuICAgIHJhd1ZhbHVlOiB7IHBhdGg6IE1kc1ZhbHVlW107IGlkOiBzdHJpbmcgfVtdO1xuXG4gICAgcHJpdmF0ZSBtZHNFZGl0b3JJbnN0YW5jZTogYW55O1xuXG4gICAgZ2V0IGhlYWRpbmdMZXZlbCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmlld0luc3RhbmNlLmhlYWRpbmdMZXZlbDtcbiAgICB9XG5cbiAgICB2YWx1ZTogc3RyaW5nW10gPSB1bmRlZmluZWQ7XG4gICAgcHJpdmF0ZSB0ZW1wb3JhcnlWYWx1ZTogc3RyaW5nW10gPSB1bmRlZmluZWQ7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgLy8gcHVibGljIG1kc0VkaXRvckluc3RhbmNlOiBNZHNFZGl0b3JJbnN0YW5jZVNlcnZpY2UsXG4gICAgICAgIHB1YmxpYyB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgdWk6IFVJU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSB2aWV3SW5zdGFuY2U6IFZpZXdJbnN0YW5jZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgbWRzVmlld2VyU2VydmljZTogTWRzVmlld2VyU2VydmljZSxcbiAgICApIHtcbiAgICAgICAgLy8gc3VwZXIodG9hc3QsIG51bGwsIHRyYW5zbGF0ZSk7XG4gICAgfVxuXG4gICAgYXN5bmMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgICAgICB0aGlzLnZhbHVlID0gYXdhaXQgdGhpcy5nZXROb2RlVmFsdWUoKTtcbiAgICB9XG5cbiAgICBhc3luYyBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IGF3YWl0IHRoaXMuZ2V0Tm9kZVZhbHVlKCk7XG4gICAgICAgIHRoaXMud2lkZ2V0XG4gICAgICAgICAgICAuZ2V0SW5pdGlhbERpc3BsYXlWYWx1ZXMoKVxuICAgICAgICAgICAgLnBpcGUoZmlsdGVyKCh2OiBNZHNWYWx1ZUxpc3QpID0+ICEhdikpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKGFzeW5jICh2YWx1ZTogTWRzVmFsdWVMaXN0KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlLnZhbHVlcy5tYXAoKHYpID0+IHYuZGlzcGxheVN0cmluZyk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5iYXNpY1R5cGUgPSB0aGlzLmdldEJhc2ljVHlwZSgpO1xuICAgICAgICB0aGlzLnJhd1ZhbHVlID0gYXdhaXQgdGhpcy5nZXRSYXdWYWx1ZSgpLnRvUHJvbWlzZSgpO1xuICAgIH1cblxuICAgIGdldERlZmluaXRpb24oKTogTWRzV2lkZ2V0IHtcbiAgICAgICAgcmV0dXJuIHRoaXMud2lkZ2V0Py5kZWZpbml0aW9uIHx8IHRoaXMuZGVmaW5pdGlvbjtcbiAgICB9XG5cbiAgICBnZXRCYXNpY1R5cGUoKSB7XG4gICAgICAgIHN3aXRjaCAodGhpcy5nZXREZWZpbml0aW9uKCkudHlwZSkge1xuICAgICAgICAgICAgY2FzZSAndGV4dCc6XG4gICAgICAgICAgICBjYXNlICdlbWFpbCc6XG4gICAgICAgICAgICBjYXNlICdtb250aCc6XG4gICAgICAgICAgICBjYXNlICdjb2xvcic6XG4gICAgICAgICAgICBjYXNlICd0ZXh0YXJlYSc6XG4gICAgICAgICAgICBjYXNlICdzaW5nbGVvcHRpb24nOlxuICAgICAgICAgICAgICAgIHJldHVybiAndGV4dCc7XG4gICAgICAgICAgICBjYXNlICdudW1iZXInOlxuICAgICAgICAgICAgICAgIHJldHVybiAnbnVtYmVyJztcbiAgICAgICAgICAgIGNhc2UgJ2RhdGUnOlxuICAgICAgICAgICAgICAgIHJldHVybiAnZGF0ZSc7XG4gICAgICAgICAgICBjYXNlICd2Y2FyZCc6XG4gICAgICAgICAgICAgICAgcmV0dXJuICd2Y2FyZCc7XG4gICAgICAgICAgICBjYXNlICdtdWx0aXZhbHVlRml4ZWRCYWRnZXMnOlxuICAgICAgICAgICAgY2FzZSAnbXVsdGl2YWx1ZVN1Z2dlc3RCYWRnZXMnOlxuICAgICAgICAgICAgY2FzZSAnc2luZ2xldmFsdWVTdWdnZXN0QmFkZ2VzJzpcbiAgICAgICAgICAgIGNhc2UgJ211bHRpdmFsdWVCYWRnZXMnOlxuICAgICAgICAgICAgY2FzZSAnc2luZ2xldmFsdWVUcmVlJzpcbiAgICAgICAgICAgIGNhc2UgJ211bHRpdmFsdWVUcmVlJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy52aWV3SW5zdGFuY2UudHJlZURpc3BsYXkgPT09ICdmbGF0JyA/ICdhcnJheScgOiAndHJlZSc7XG4gICAgICAgICAgICBjYXNlICdzbGlkZXInOlxuICAgICAgICAgICAgICAgIHJldHVybiAnc2xpZGVyJztcbiAgICAgICAgICAgIGNhc2UgJ2R1cmF0aW9uJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2R1cmF0aW9uJztcbiAgICAgICAgICAgIGNhc2UgJ3JhbmdlJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gJ3JhbmdlJztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gJ3Vua25vd24nO1xuICAgIH1cblxuICAgIHN1cHBvcnRzSW5saW5lRWRpdGluZygpIHtcbiAgICAgICAgcmV0dXJuIE1kc1dpZGdldENvbXBvbmVudC5pbmxpbmVFZGl0aW5nLmluY2x1ZGVzKFxuICAgICAgICAgICAgdGhpcy53aWRnZXQ/LmRlZmluaXRpb24udHlwZSBhcyBNZHNXaWRnZXRUeXBlLFxuICAgICAgICApO1xuICAgIH1cbiAgICBwcml2YXRlIGdldE5vZGVWYWx1ZXMoKSB7XG4gICAgICAgIGlmKHRoaXMubWRzRWRpdG9ySW5zdGFuY2UpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm1kc0VkaXRvckluc3RhbmNlPy52YWx1ZXMkLnZhbHVlIGFzIFZhbHVlcztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm1kc1ZpZXdlclNlcnZpY2UudmFsdWVzJC52YWx1ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBwcml2YXRlIGFzeW5jIGdldE5vZGVWYWx1ZSgpIHtcbiAgICAgICAgaWYgKHRoaXMudGVtcG9yYXJ5VmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VmFsdWUodGhpcy50ZW1wb3JhcnlWYWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgaWQgPSB0aGlzLmdldERlZmluaXRpb24oKS5pZDtcbiAgICAgICAgY29uc3QgdmFsdWVzID0gdGhpcy5nZXROb2RlVmFsdWVzKCk7XG4gICAgICAgIGlmICh0aGlzLmdldERlZmluaXRpb24oKS50eXBlID09PSAncmFuZ2UnKSB7XG4gICAgICAgICAgICBpZiAodmFsdWVzKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFt2YWx1ZXNbaWQgKyAnX2Zyb20nXT8uWzBdLCB2YWx1ZXNbaWQgKyAnX3RvJ10/LlswXV07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfSBlbHNlIGlmICh2YWx1ZXM/LltpZF0pIHtcbiAgICAgICAgICAgIC8vIHN1cHBvcnQgb24gdGhlIGZseSBjaGFuZ2VzK3VwZGF0ZXMgb2YgdGhlIHZhbHVlc1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VmFsdWUodmFsdWVzW2lkXSk7XG4gICAgICAgIH0gZWxzZSBpZiAoKGF3YWl0IHRoaXMud2lkZ2V0LmdldEluaXRhbFZhbHVlc0FzeW5jKCkpPy5qb2ludFZhbHVlcykge1xuICAgICAgICAgICAgcmV0dXJuICgoYXdhaXQgdGhpcy53aWRnZXQuZ2V0SW5pdGFsVmFsdWVzQXN5bmMoKSkuam9pbnRWYWx1ZXMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXRWYWx1ZShkYXRhOiBzdHJpbmdbXSkge1xuICAgICAgICBsZXQgdmFsdWUgPSBkYXRhO1xuICAgICAgICBpZiAoIXZhbHVlIHx8IHZhbHVlLmV2ZXJ5KCh2KSA9PiAhdikpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuZ2V0RGVmaW5pdGlvbigpLnZhbHVlcykge1xuICAgICAgICAgICAgY29uc3QgbWFwcGluZyA9IHRoaXMud2lkZ2V0LmRlZmluaXRpb24udmFsdWVzXG4gICAgICAgICAgICAgICAgLmZpbHRlcigodjogYW55KSA9PiBkYXRhLmZpbHRlcigoZCkgPT4gZCA9PT0gdi5pZCkubGVuZ3RoID4gMClcbiAgICAgICAgICAgICAgICAubWFwKCh2OiBhbnkpID0+IHYuY2FwdGlvbik7XG4gICAgICAgICAgICBpZiAobWFwcGluZykge1xuICAgICAgICAgICAgICAgIHJldHVybiBtYXBwaW5nO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgfVxuXG4gICAgY2xpY2soKSB7XG4gICAgICAgIGlmICh0aGlzLmdldERlZmluaXRpb24oKS5saW5rID09PSAnX0JMQU5LJykge1xuICAgICAgICAgICAgd2luZG93Lm9wZW4odGhpcy5mb3JtYXRUZXh0KClbMF0pO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuZ2V0RGVmaW5pdGlvbigpLmxpbmsgPT09ICdfU0VMRicpIHtcbiAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gdGhpcy5mb3JtYXRUZXh0KClbMF07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oJ1Vuc3VwcG9ydGVkIGxpbmsgdHlwZSAnICsgdGhpcy5nZXREZWZpbml0aW9uKCkubGluayk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpc0VtcHR5KCkge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZT8uZXZlcnkoKHYpID0+ICF2KSB8fCB0aGlzLnZhbHVlPy5sZW5ndGggPT09IDAgfHwgIXRoaXMudmFsdWU7XG4gICAgfVxuXG4gICAgZm9ybWF0RGF0ZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWUubWFwKCh2KSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5nZXREZWZpbml0aW9uKCkuZm9ybWF0KSB7XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBEYXRlUGlwZSgnZW4nKS50cmFuc2Zvcm0odiwgdGhpcy5nZXREZWZpbml0aW9uKCkuZm9ybWF0KTtcbiAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybignQ291bGQgbm90IGZvcm1hdCBkYXRlJywgZSwgdGhpcy5nZXREZWZpbml0aW9uKCkpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gRGF0ZUhlbHBlci5mb3JtYXREYXRlKHRoaXMudHJhbnNsYXRlLCB2LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzaG93QWx3YXlzVGltZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gRGF0ZUhlbHBlci5mb3JtYXREYXRlKHRoaXMudHJhbnNsYXRlLCB2LCB7XG4gICAgICAgICAgICAgICAgICAgIHNob3dBbHdheXNUaW1lOiB0cnVlLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBmb3JtYXROdW1iZXIoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlLm1hcCgodikgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMud2lkZ2V0LmRlZmluaXRpb24uZm9ybWF0ID09PSAnYnl0ZXMnKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBGb3JtYXRTaXplUGlwZSh0aGlzLnRyYW5zbGF0ZSkudHJhbnNmb3JtKHYpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHY7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGZvcm1hdFRleHQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlLm1hcCgodikgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMud2lkZ2V0LmRlZmluaXRpb24uZm9ybWF0KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMud2lkZ2V0LmRlZmluaXRpb24uZm9ybWF0LnJlcGxhY2UoJyR7dmFsdWV9Jywgdik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdjtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIC8vIGluc3RhbmNlOiBNZHNFZGl0b3JXaWRnZXRCYXNlXG4gICAgYXN5bmMgZmluaXNoRWRpdChpbnN0YW5jZTogYW55LCBzdG9yZSA9IGZhbHNlKSB7XG4gICAgICAgIGlmIChzdG9yZSkge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5tZHNFZGl0b3JJbnN0YW5jZS5zYXZlV2lkZ2V0VmFsdWUoaW5zdGFuY2Uud2lkZ2V0KTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnRlbXBvcmFyeVZhbHVlID0gaW5zdGFuY2Uud2lkZ2V0LmdldFZhbHVlKCk7XG4gICAgICAgIHRoaXMudmFsdWUgPSBhd2FpdCB0aGlzLmdldE5vZGVWYWx1ZSgpO1xuICAgICAgICB0aGlzLmVkaXRXcmFwcGVyLm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW5bMF0uaW5uZXJIVE1MID0gbnVsbDtcbiAgICAgICAgYXdhaXQgdGhpcy5tZHNFZGl0b3JJbnN0YW5jZS5mZXRjaERpc3BsYXlWYWx1ZXModGhpcy53aWRnZXQpO1xuICAgIH1cblxuICAgIGlzRWRpdGFibGUoKSB7XG4gICAgICAgIGlmICghdGhpcy5tZHNFZGl0b3JJbnN0YW5jZSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmlubGluZUVkaXRpbmcgPT09ICdhbHdheXMnKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zdXBwb3J0c0lubGluZUVkaXRpbmcoKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBub2RlcyA9IHRoaXMubWRzRWRpdG9ySW5zdGFuY2Uubm9kZXMkLnZhbHVlO1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5tZHNFZGl0b3JJbnN0YW5jZS5lZGl0b3JNb2RlID09PSAnaW5saW5lJyAmJlxuICAgICAgICAgICAgdGhpcy53aWRnZXQuZGVmaW5pdGlvbi5pbnRlcmFjdGlvblR5cGUgPT09ICdJbnB1dCcgJiZcbiAgICAgICAgICAgIG5vZGVzPy5sZW5ndGggPT09IDEgJiZcbiAgICAgICAgICAgIFJlc3RIZWxwZXIuaGFzQWNjZXNzUGVybWlzc2lvbihub2Rlc1swXSwgUmVzdENvbnN0YW50cy5BQ0NFU1NfV1JJVEUpICYmXG4gICAgICAgICAgICB0aGlzLnN1cHBvcnRzSW5saW5lRWRpdGluZygpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgYXN5bmMgZm9jdXMoKSB7XG4gICAgICAgIC8vIHRoaXMubWF0UmlwcGxlLmxhdW5jaCh7fSk7XG4gICAgICAgIGF3YWl0IHRoaXMudWkuc2Nyb2xsU21vb3RoRWxlbWVudFRvQ2hpbGQodGhpcy5lZGl0V3JhcHBlci5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgdGhpcy5tYXRSaXBwbGUubGF1bmNoKHt9KTtcbiAgICAgICAgLy9jb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLnZpZXcuaW5qZWN0RWRpdEZpZWxkKHRoaXMsIHRoaXMuZWRpdFdyYXBwZXIubmF0aXZlRWxlbWVudC5jaGlsZHJlblswXSk7XG4gICAgICAgIC8vYXdhaXQgdGhpcy51aS5zY3JvbGxTbW9vdGhFbGVtZW50VG9DaGlsZChyZXN1bHQuaHRtbEVsZW1lbnQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHJldHVybiB0aGUgcGF0aCBmb3IgYSBnaXZlbiB2YWx1ZSBpbiBhIHRyZWVcbiAgICAgKi9cbiAgICBwcml2YXRlIGdldFBhdGgodjogc3RyaW5nKSB7XG4gICAgICAgIGlmICghdGhpcy5nZXREZWZpbml0aW9uKCkudmFsdWVzKSB7XG4gICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgaWQ6IHYsXG4gICAgICAgICAgICAgICAgICAgIGNhcHRpb246IHYsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF07XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcGF0aDogTWRzVmFsdWVbXSA9IFtdO1xuICAgICAgICBsZXQgcG9pbnRlcjogc3RyaW5nID0gdjtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxMDA7IGkrKykge1xuICAgICAgICAgICAgY29uc3QgbWFwcGVkID0gdGhpcy5nZXREZWZpbml0aW9uKCkudmFsdWVzLmZpbmQoKHcpID0+IHcuaWQgPT09IHBvaW50ZXIpO1xuICAgICAgICAgICAgaWYgKG1hcHBlZCkge1xuICAgICAgICAgICAgICAgIHBhdGgucHVzaChtYXBwZWQpO1xuICAgICAgICAgICAgICAgIHBvaW50ZXIgPSBtYXBwZWQucGFyZW50O1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcGF0aC5yZXZlcnNlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogZmV0Y2ggdGhlIHJhdyBub2RlIHZhbHVlXG4gICAgICogTm90ZTogV2lsbCBub3Qgd29yayBpbiBhIGJ1bGsgc3RhdGUhXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXRSYXdWYWx1ZSgpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMubWRzRWRpdG9ySW5zdGFuY2U/Lm5vZGVzJC5waXBlKFxuICAgICAgICAgICAgICAgIGZpcnN0KCksXG4gICAgICAgICAgICAgICAgbWFwKCh2OiBOb2RlW10pID0+XG4gICAgICAgICAgICAgICAgICAgICh2Py5bMF0/LnByb3BlcnRpZXNbdGhpcy53aWRnZXQuZGVmaW5pdGlvbi5pZF0gYXMgc3RyaW5nW10pPy5tYXAoKGlkKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGg6IHRoaXMuZ2V0UGF0aChpZCksXG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKSB8fCBvZihudWxsKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldFNlYXJjaFBhcmFtcyhrZXk6IE1kc1ZhbHVlKSB7XG4gICAgICAgIGNvbnN0IHBhcmFtczogYW55ID0ge307XG4gICAgICAgIGNvbnN0IG1kczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmdbXSB9ID0ge307XG4gICAgICAgIG1kc1t0aGlzLndpZGdldC5kZWZpbml0aW9uLmlkXSA9IFtrZXkuaWRdO1xuICAgICAgICBwYXJhbXMubWRzID0gdGhpcy5tZHNFZGl0b3JJbnN0YW5jZS5tZHNJZDtcbiAgICAgICAgcGFyYW1zLnNpZGVuYXYgPSB0cnVlO1xuICAgICAgICBwYXJhbXMucmVwbyA9IHRoaXMubWRzRWRpdG9ySW5zdGFuY2Uubm9kZXMkLnZhbHVlPy5bMF0ucmVmLnJlcG87XG4gICAgICAgIHBhcmFtcy5maWx0ZXJzID0gSlNPTi5zdHJpbmdpZnkobWRzKTtcbiAgICAgICAgcmV0dXJuIHBhcmFtcztcbiAgICB9XG5cbiAgICBzdGFydEVkaXQoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIHZvaWQgdGhpcy52aWV3LmluamVjdEVkaXRGaWVsZCh0aGlzLCB0aGlzLmVkaXRXcmFwcGVyLm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW5bMF0pO1xuICAgIH1cbn1cbiIsIjxlcy1tZHMtZWRpdG9yLXdpZGdldC1jb250YWluZXJcbiAgKm5nSWY9XCIhZWRpdFdyYXBwZXIuaW5uZXJUZXh0LnRyaW0oKVwiXG4gIFtpbmplY3RlZFZpZXddPVwidGhpc1wiXG4gIFt3aWRnZXRdPVwid2lkZ2V0XCJcbiAgW2xhYmVsXT1cImZhbHNlXCJcbiAgW3dyYXBJbkZvcm1GaWVsZF09XCJmYWxzZVwiXG4gIFt3cmFwSW5Hcm91cF09XCJmYWxzZVwiXG4gIFt2YWx1ZVR5cGVdPVwidmFsdWVUeXBlXCJcbiAgbWF0UmlwcGxlXG4gIFttYXRSaXBwbGVEaXNhYmxlZF09XCJ0cnVlXCJcbj5cbiAgPGRpdiBjbGFzcz1cImVkaXQtd3JhcHBlclwiPlxuICAgIDxkaXZcbiAgICAgICpuZ0lmPVwiIWlzRW1wdHkoKSB8fCAhd2lkZ2V0LmRlZmluaXRpb24uaGlkZUlmRW1wdHkgfHwgaXNFZGl0YWJsZSgpXCJcbiAgICAgIGNsYXNzPVwid2lkZ2V0LXdyYXBwZXJcIlxuICAgID5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJ3aWRnZXQtbGFiZWxcIlxuICAgICAgICBbYXR0ci5yb2xlXT1cImhlYWRpbmdMZXZlbCA/ICdoZWFkaW5nJyA6IG51bGxcIlxuICAgICAgICBbYXR0ci5hcmlhLWxldmVsXT1cImhlYWRpbmdMZXZlbFwiXG4gICAgICAgICpuZ0lmPVwid2lkZ2V0LmRlZmluaXRpb24uY2FwdGlvbiAmJiBzaG93Q2FwdGlvblwiXG4gICAgICA+XG4gICAgICAgIHt7IHdpZGdldC5kZWZpbml0aW9uLmNhcHRpb25cbiAgICAgICAgfX08c3BhbiAqbmdJZj1cIiFoZWFkaW5nTGV2ZWxcIiBjbGFzcz1cImNkay12aXN1YWxseS1oaWRkZW5cIj46IDwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cInZhbHVlLXdyYXBwZXJcIlxuICAgICAgICBbY2xhc3MudmFsdWUtd3JhcHBlci1lZGl0XT1cImlzRWRpdGFibGUoKVwiXG4gICAgICAgIChjbGljayk9XCJpc0VkaXRhYmxlKCkgPyBzdGFydEVkaXQoJGV2ZW50KSA6IG51bGxcIlxuICAgICAgPlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiaXNFbXB0eSgpXCIgY2xhc3M9XCJ3aWRnZXQtZGF0YSB3aWRnZXQtbm8tZGF0YSB3aWRnZXQtdHlwZS17eyBiYXNpY1R5cGUgfX1cIj5cbiAgICAgICAgICAtXG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgKm5nSWY9XCIhaXNFbXB0eSgpXCJcbiAgICAgICAgICBjbGFzcz1cIndpZGdldC1kYXRhIHdpZGdldC10eXBlLXt7IGJhc2ljVHlwZSB9fSB7e1xuICAgICAgICAgICAgd2lkZ2V0LmRlZmluaXRpb24ubGluayA/ICd3aWRnZXQtbGluaycgOiAnJ1xuICAgICAgICAgIH19XCJcbiAgICAgICAgICAoY2xpY2spPVwiY2xpY2soKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiYmFzaWNUeXBlID09PSAndGV4dCdcIj57eyBmb3JtYXRUZXh0KCkgfX08L2Rpdj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiYmFzaWNUeXBlID09PSAnbnVtYmVyJ1wiPnt7IGZvcm1hdE51bWJlcigpIH19PC9kaXY+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cImJhc2ljVHlwZSA9PT0gJ2RhdGUnXCI+e3sgZm9ybWF0RGF0ZSgpIH19PC9kaXY+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cImJhc2ljVHlwZSA9PT0gJ2FycmF5J1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFycmF5LWVudHJ5XCIgKm5nRm9yPVwibGV0IHYgb2YgdmFsdWVcIj57eyB2IH19PC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cImJhc2ljVHlwZSA9PT0gJ3RyZWUnXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJlZS1lbnRyeVwiICpuZ0Zvcj1cImxldCB2IG9mIHJhd1ZhbHVlXCI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0cmVlRW50cnk7IGNvbnRleHQ6IHsgcGF0aDogdi5wYXRoIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJiYXNpY1R5cGUgPT09ICd2Y2FyZCdcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhcnJheS1lbnRyeVwiICpuZ0Zvcj1cImxldCB2IG9mIHZhbHVlXCI+e3sgdiB8IHZjYXJkTmFtZSB9fTwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJiYXNpY1R5cGUgPT09ICdzbGlkZXInXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNsaWRlci12YWx1ZVwiPnt7IHZhbHVlIH19PC9zcGFuXG4gICAgICAgICAgICA+PHNwYW4+IC8gPC9zcGFuPjxzcGFuIGNsYXNzPVwic2xpZGVyLW1heFwiPnt7IHdpZGdldC5kZWZpbml0aW9uLm1heCB9fTwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiYmFzaWNUeXBlID09PSAnZHVyYXRpb24nXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImR1cmF0aW9uLXZhbHVlXCI+e3sgdmFsdWVbMF0gfCBhcHBNZHNEdXJhdGlvbiB9fTwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiYmFzaWNUeXBlID09PSAncmFuZ2UnXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNsaWRlci12YWx1ZVwiPnt7IHZhbHVlWzBdIH19PC9zcGFuXG4gICAgICAgICAgICA+LTxzcGFuIGNsYXNzPVwic2xpZGVyLXZhbHVlXCI+e3sgdmFsdWVbMV0gfX08L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cImJhc2ljVHlwZSA9PT0gJ3Vua25vd24nXCI+XG4gICAgICAgICAgICBUaGUgd2lkZ2V0IHR5cGUge3sgd2lkZ2V0LmRlZmluaXRpb24udHlwZSB9fSBpcyBjdXJyZW50bHkgbm90IHN1cHBvcnRlZCB2aWEgYW5ndWxhclxuICAgICAgICAgICAgcmVuZGVyaW5nXG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPCEtLTxidXR0b24gbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAqbmdJZj1cIm1kc0VkaXRvckluc3RhbmNlLmVkaXRvck1vZGUgPT09ICdpbmxpbmUnICYmIHdpZGdldC5kZWZpbml0aW9uLmludGVyYWN0aW9uVHlwZSA9PT0gJ0lucHV0J1wiXG4gICAgICAgICAgICAoY2xpY2spPVwidmlldy5pbmplY3RFZGl0RmllbGQodGhpcywgZWRpdClcIlxuICAgICAgICAgICAgY2xhc3M9XCJidG4tZWRpdFwiPlxuICAgICAgPGkgZXNJY29uPVwiZWRpdFwiPjwvaT5cbiAgICA8L2J1dHRvbj4tLT5cbiAgPC9kaXY+XG48L2VzLW1kcy1lZGl0b3Itd2lkZ2V0LWNvbnRhaW5lcj5cbjxkaXYgY2xhc3M9XCJlZGl0LXdyYXBwZXJcIj5cbiAgPGRpdiAjZWRpdFdyYXBwZXI+PGRpdiAjZWRpdD48L2Rpdj48L2Rpdj5cbiAgPCEtLTxidXR0b24gKm5nSWY9XCIhIWVkaXRXcmFwcGVyLmlubmVyVGV4dC50cmltKClcIiBtYXQtaWNvbi1idXR0b24+PGkgZXNJY29uPVwic2F2ZVwiPjwvaT48L2J1dHRvbj4tLT5cbjwvZGl2PlxuPG5nLXRlbXBsYXRlICN0cmVlRW50cnkgbGV0LXBhdGg9XCJwYXRoXCI+XG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHQgb2YgcGF0aDsgbGV0IGZpcnN0ID0gZmlyc3RcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWZpcnN0XCI+XG4gICAgICA8c3BhbiBjbGFzcz1cImNkay12aXN1YWxseS1oaWRkZW5cIj57eyAnU1VCX0NBVEVHT1JZX0FSSUEnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgPGkgZXNJY29uPVwia2V5Ym9hcmRfYXJyb3dfcmlnaHRcIiBbYXJpYV09XCJmYWxzZVwiPjwvaT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8YVxuICAgICAgW3JvdXRlckxpbmtdPVwiJy8nICsgUk9VVEVSX1BSRUZJWCArICdzZWFyY2gnXCJcbiAgICAgIFtxdWVyeVBhcmFtc109XCJnZXRTZWFyY2hQYXJhbXModClcIlxuICAgICAgKm5nSWY9XCJ3aWRnZXQuZGVmaW5pdGlvbi5pc1NlYXJjaGFibGVcIlxuICAgICAgPnt7IHQuY2FwdGlvbiB9fTwvYVxuICAgID5cbiAgICA8c3BhbiAqbmdJZj1cIiF3aWRnZXQuZGVmaW5pdGlvbi5pc1NlYXJjaGFibGVcIj57eyB0LmNhcHRpb24gfX08L3NwYW4+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
379
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWRzLXdpZGdldC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL21kcy12aWV3ZXIvd2lkZ2V0L21kcy13aWRnZXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWR1LXNoYXJpbmctdWkvc3JjL2xpYi9tZHMtdmlld2VyL3dpZGdldC9tZHMtd2lkZ2V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQ0gsU0FBUyxFQUVULEtBQUssRUFJTCxTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BELE9BQU8sRUFBNkIsYUFBYSxFQUFjLE1BQU0scUJBQXFCLENBQUM7QUFDM0YsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUduRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBRSxlQUFlLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7Ozs7O0FBSzNDLE1BQU0sQ0FBTixJQUFZLE9BVVg7QUFWRCxXQUFZLE9BQU87SUFDZixvQkFBUyxDQUFBO0lBQ1QsNkJBQWtCLENBQUE7SUFDbEIsc0JBQVcsQ0FBQTtJQUNYLDZCQUFrQixDQUFBO0lBQ2xCLDJDQUFnQyxDQUFB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V0FBVyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNyRixDQUFDOytHQXBVUSxrQkFBa0I7bUdBQWxCLGtCQUFrQiwrVEErQmhCLFNBQVMscUVDaEl4QixnbklBc0dBOzs0RkRMYSxrQkFBa0I7a0JBTjlCLFNBQVM7K0JBQ0ksZUFBZTs4TUF5QmhCLE1BQU07c0JBQWQsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUlHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFFRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRW9CLFdBQVc7c0JBQXBDLFNBQVM7dUJBQUMsYUFBYTtnQkFDRixTQUFTO3NCQUE5QixTQUFTO3VCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkluaXQsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgTWF0UmlwcGxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBmaWx0ZXIsIGZpcnN0LCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBNZHNWYWx1ZSwgTWRzV2lkZ2V0LCBOb2RlLCBSZXN0Q29uc3RhbnRzLCBTdWdnZXN0aW9uIH0gZnJvbSAnbmd4LWVkdS1zaGFyaW5nLWFwaSc7XG5pbXBvcnQgeyBVSUNvbnN0YW50cyB9IGZyb20gJy4uLy4uL3V0aWwvdWktY29uc3RhbnRzJztcbmltcG9ydCB7IERhdGVIZWxwZXIgfSBmcm9tICcuLi8uLi91dGlsL0RhdGVIZWxwZXInO1xuaW1wb3J0IHsgVUlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdWkuc2VydmljZSc7XG5pbXBvcnQgeyBWaWV3SW5zdGFuY2VTZXJ2aWNlIH0gZnJvbSAnLi4vdmlldy1pbnN0YW5jZS5zZXJ2aWNlJztcbmltcG9ydCB7IFJlc3RIZWxwZXIgfSBmcm9tICcuLi8uLi91dGlsL3Jlc3QtaGVscGVyJztcbmltcG9ydCB7IEZvcm1hdFNpemVQaXBlIH0gZnJvbSAnLi4vLi4vcGlwZXMvZmlsZS1zaXplLnBpcGUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTWRzVmlld2VyU2VydmljZSB9IGZyb20gJy4uL21kcy12aWV3ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBWYWx1ZXMgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zZWFyY2gtaGVscGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgTm9kZUhlbHBlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9ub2RlLWhlbHBlci5zZXJ2aWNlJztcblxuZXhwb3J0IGVudW0gTWRzVHlwZSB7XG4gICAgSW8gPSAnaW8nLFxuICAgIElvQnVsayA9ICdpb19idWxrJyxcbiAgICBNYXAgPSAnbWFwJyxcbiAgICBNYXBSZWYgPSAnbWFwX3JlZicsXG4gICAgSW9DaGlsZE9iamVjdCA9ICdpb19jaGlsZG9iamVjdCcsXG4gICAgQ29sbGVjdGlvbiA9ICdjb2xsZWN0aW9uJyxcbiAgICBUb29sRGVmaW5pdGlvbiA9ICd0b29sX2RlZmluaXRpb24nLFxuICAgIFRvb2xJbnN0YW5jZSA9ICd0b29sX2luc3RhbmNlJyxcbiAgICBTYXZlZFNlYXJjaCA9ICdzYXZlZF9zZWFyY2gnLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1kc1ZhbHVlTGlzdCB7XG4gICAgdmFsdWVzOiBTdWdnZXN0aW9uW107XG59XG5leHBvcnQgaW50ZXJmYWNlIE1kc1ZpZXdlcldpZGdldCB7XG4gICAgZGVmaW5pdGlvbjogTWRzV2lkZ2V0O1xuICAgIGdldEluaXRhbFZhbHVlc0FzeW5jKCk6IFByb21pc2U8SW5pdGlhbFZhbHVlcz47XG4gICAgZ2V0SW5pdGlhbERpc3BsYXlWYWx1ZXMoKTogQmVoYXZpb3JTdWJqZWN0PE1kc1ZhbHVlTGlzdD47XG59XG5leHBvcnQgZW51bSBNZHNXaWRnZXRUeXBlIHtcbiAgICBUZXh0ID0gJ3RleHQnLFxuICAgIE51bWJlciA9ICdudW1iZXInLFxuICAgIEVtYWlsID0gJ2VtYWlsJyxcbiAgICBEYXRlID0gJ2RhdGUnLFxuICAgIE1vbnRoID0gJ21vbnRoJyxcbiAgICBDb2xvciA9ICdjb2xvcicsXG4gICAgVGV4dGFyZWEgPSAndGV4dGFyZWEnLFxuICAgIFRpbnlNQ0UgPSAndGlueU1DRScsXG4gICAgVkNhcmQgPSAndmNhcmQnLFxuICAgIENoZWNrYm94ID0gJ2NoZWNrYm94JyxcbiAgICBSYWRpb0hvcml6b250YWwgPSAncmFkaW9Ib3Jpem9udGFsJyxcbiAgICBSYWRpb1ZlcnRpY2FsID0gJ3JhZGlvVmVydGljYWwnLFxuICAgIENoZWNrYm94SG9yaXpvbnRhbCA9ICdjaGVja2JveEhvcml6b250YWwnLFxuICAgIENoZWNrYm94VmVydGljYWwgPSAnY2hlY2tib3hWZXJ0aWNhbCcsXG4gICAgTXVsdGlWYWx1ZUJhZGdlcyA9ICdtdWx0aXZhbHVlQmFkZ2VzJyxcbiAgICBNdWx0aVZhbHVlRml4ZWRCYWRnZXMgPSAnbXVsdGl2YWx1ZUZpeGVkQmFkZ2VzJyxcbiAgICBNdWx0aVZhbHVlU3VnZ2VzdEJhZGdlcyA9ICdtdWx0aXZhbHVlU3VnZ2VzdEJhZGdlcycsXG4gICAgTXVsdGlWYWx1ZUF1dGhvcml0eUJhZGdlcyA9ICdtdWx0aXZhbHVlQXV0aG9yaXR5QmFkZ2VzJyxcbiAgICBTaW5nbGVvcHRpb24gPSAnc2luZ2xlb3B0aW9uJyxcbiAgICBTbGlkZXIgPSAnc2xpZGVyJyxcbiAgICBSYW5nZSA9ICdyYW5nZScsXG4gICAgRHVyYXRpb24gPSAnZHVyYXRpb24nLFxuICAgIFNpbmdsZVZhbHVlVHJlZSA9ICdzaW5nbGV2YWx1ZVRyZWUnLFxuICAgIFNpbmdsZVZhbHVlU3VnZ2VzdEJhZGdlcyA9ICdzaW5nbGV2YWx1ZVN1Z2dlc3RCYWRnZXMnLFxuICAgIE11bHRpVmFsdWVUcmVlID0gJ211bHRpdmFsdWVUcmVlJyxcbiAgICBEZWZhdWx0VmFsdWUgPSAnZGVmYXVsdHZhbHVlJyxcbiAgICBGYWNldExpc3QgPSAnZmFjZXRMaXN0Jyxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbml0aWFsVmFsdWVzIHtcbiAgICAvKiogVmFsdWVzIHRoYXQgYXJlIGluaXRpYWxseSBwcmVzZW50IGluIGFsbCBub2Rlcy4gKi9cbiAgICByZWFkb25seSBqb2ludFZhbHVlczogc3RyaW5nW107XG4gICAgLyoqXG4gICAgICogVmFsdWVzIHRoYXQgYXJlIGluaXRpYWxseSBwcmVzZW50IGluIHNvbWUgYnV0IG5vdCBhbGwgbm9kZXMuXG4gICAgICpcbiAgICAgKiBDYW4gYmUgbnVsbCBidXQgd2lsbCBuZXZlciBiZSBzZXQgdG8gYW4gZW1wdHkgYXJyYXkuXG4gICAgICovXG4gICAgcmVhZG9ubHkgaW5kaXZpZHVhbFZhbHVlcz86IHN0cmluZ1tdO1xufVxuZXhwb3J0IGVudW0gVmFsdWVUeXBlIHtcbiAgICBTdHJpbmcsXG4gICAgTXVsdGlWYWx1ZSxcbiAgICBSYW5nZSxcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdlcy1tZHMtd2lkZ2V0JyxcbiAgICB0ZW1wbGF0ZVVybDogJ21kcy13aWRnZXQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWydtZHMtd2lkZ2V0LmNvbXBvbmVudC5zY3NzJ10sXG4gICAgLy8gcmVxdWlyZWQgZm9yIGV4dGVybmFsIGVkaXRvciBpbmplY3Rpb25cbn0pXG5leHBvcnQgY2xhc3MgTWRzV2lkZ2V0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICAgIHJlYWRvbmx5IFJPVVRFUl9QUkVGSVggPSBVSUNvbnN0YW50cy5ST1VURVJfUFJFRklYO1xuICAgIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IGlubGluZUVkaXRpbmc6IE1kc1dpZGdldFR5cGVbXSA9IFtcbiAgICAgICAgTWRzV2lkZ2V0VHlwZS5UZXh0LFxuICAgICAgICBNZHNXaWRnZXRUeXBlLk51bWJlcixcbiAgICAgICAgTWRzV2lkZ2V0VHlwZS5EYXRlLFxuICAgICAgICBNZHNXaWRnZXRUeXBlLkVtYWlsLFxuICAgICAgICBNZHNXaWRnZXRUeXBlLlRleHRhcmVhLFxuICAgICAgICBNZHNXaWRnZXRUeXBlLlNpbmdsZW9wdGlvbixcbiAgICAgICAgTWRzV2lkZ2V0VHlwZS5TaW5nbGVWYWx1ZVRyZWUsXG4gICAgICAgIE1kc1dpZGdldFR5cGUuU2luZ2xlVmFsdWVTdWdnZXN0QmFkZ2VzLFxuICAgICAgICBNZHNXaWRnZXRUeXBlLk11bHRpVmFsdWVCYWRnZXMsXG4gICAgICAgIE1kc1dpZGdldFR5cGUuTXVsdGlWYWx1ZUZpeGVkQmFkZ2VzLFxuICAgICAgICBNZHNXaWRnZXRUeXBlLk11bHRpVmFsdWVTdWdnZXN0QmFkZ2VzLFxuICAgICAgICBNZHNXaWRnZXRUeXBlLk11bHRpVmFsdWVUcmVlLFxuICAgIF07XG5cbiAgICByZWFkb25seSB2YWx1ZVR5cGUgPSBWYWx1ZVR5cGUuU3RyaW5nO1xuXG4gICAgLy8gdXNlIGFueSBpbnN0ZWFkIG9mIGBXaWRnZXRgIGNhdXNlIG9mIGV4dGVybmFsIHR5cGVcbiAgICBASW5wdXQoKSB3aWRnZXQ6IE1kc1ZpZXdlcldpZGdldDtcbiAgICBASW5wdXQoKSBzaG93Q2FwdGlvbiA9IHRydWU7XG4gICAgLyoqXG4gICAgICogYWxsb3cgaW5saW5lIGVkaXRpbmdcbiAgICAgKi9cbiAgICBASW5wdXQoKSBpbmxpbmVFZGl0aW5nOiAnYXV0bycgfCAnYWx3YXlzJyA9ICdhdXRvJztcbiAgICBASW5wdXQoKSBkZWZpbml0aW9uOiBNZHNXaWRnZXQ7XG4gICAgLy8gdXNlIGFueSBpbnN0ZWFkIG9mIE1kc0VkaXRvclZpZXdDb21wb25lbnQgY2F1c2Ugb2YgZXh0ZXJuYWwgdHlwZVxuICAgIEBJbnB1dCgpIHZpZXc6IGFueTtcblxuICAgIEBWaWV3Q2hpbGQoJ2VkaXRXcmFwcGVyJykgZWRpdFdyYXBwZXI6IEVsZW1lbnRSZWY7XG4gICAgQFZpZXdDaGlsZChNYXRSaXBwbGUpIG1hdFJpcHBsZTogTWF0UmlwcGxlO1xuICAgIGJhc2ljVHlwZTogc3RyaW5nO1xuICAgIHJhd1ZhbHVlOiB7IHBhdGg6IE1kc1ZhbHVlW107IGlkOiBzdHJpbmcgfVtdO1xuXG4gICAgcHJpdmF0ZSBtZHNFZGl0b3JJbnN0YW5jZTogYW55O1xuICAgIGxpY2Vuc2UkID0gbmV3IEJlaGF2aW9yU3ViamVjdDx7IG5hbWU6IHN0cmluZzsgaWNvbjogc3RyaW5nIH0+KG51bGwpO1xuXG4gICAgZ2V0IGhlYWRpbmdMZXZlbCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmlld0luc3RhbmNlLmhlYWRpbmdMZXZlbDtcbiAgICB9XG5cbiAgICB2YWx1ZTogc3RyaW5nW10gPSB1bmRlZmluZWQ7XG4gICAgcHJpdmF0ZSB0ZW1wb3JhcnlWYWx1ZTogc3RyaW5nW10gPSB1bmRlZmluZWQ7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgLy8gcHVibGljIG1kc0VkaXRvckluc3RhbmNlOiBNZHNFZGl0b3JJbnN0YW5jZVNlcnZpY2UsXG4gICAgICAgIHB1YmxpYyB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgdWk6IFVJU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSB2aWV3SW5zdGFuY2U6IFZpZXdJbnN0YW5jZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgbWRzVmlld2VyU2VydmljZTogTWRzVmlld2VyU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBub2RlSGVscGVyOiBOb2RlSGVscGVyU2VydmljZSxcbiAgICApIHtcbiAgICAgICAgLy8gc3VwZXIodG9hc3QsIG51bGwsIHRyYW5zbGF0ZSk7XG4gICAgfVxuXG4gICAgYXN5bmMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgICAgICB0aGlzLnZhbHVlID0gYXdhaXQgdGhpcy5nZXROb2RlVmFsdWUoKTtcbiAgICB9XG5cbiAgICBhc3luYyBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IGF3YWl0IHRoaXMuZ2V0Tm9kZVZhbHVlKCk7XG4gICAgICAgIHRoaXMud2lkZ2V0XG4gICAgICAgICAgICAuZ2V0SW5pdGlhbERpc3BsYXlWYWx1ZXMoKVxuICAgICAgICAgICAgLnBpcGUoZmlsdGVyKCh2OiBNZHNWYWx1ZUxpc3QpID0+ICEhdikpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKGFzeW5jICh2YWx1ZTogTWRzVmFsdWVMaXN0KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlLnZhbHVlcy5tYXAoKHYpID0+IHYuZGlzcGxheVN0cmluZyk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5iYXNpY1R5cGUgPSB0aGlzLmdldEJhc2ljVHlwZSgpO1xuICAgICAgICB0aGlzLnJhd1ZhbHVlID0gYXdhaXQgdGhpcy5nZXRSYXdWYWx1ZSgpLnRvUHJvbWlzZSgpO1xuICAgIH1cblxuICAgIGdldERlZmluaXRpb24oKTogTWRzV2lkZ2V0IHtcbiAgICAgICAgcmV0dXJuIHRoaXMud2lkZ2V0Py5kZWZpbml0aW9uIHx8IHRoaXMuZGVmaW5pdGlvbjtcbiAgICB9XG5cbiAgICBnZXRCYXNpY1R5cGUoKSB7XG4gICAgICAgIHN3aXRjaCAodGhpcy5nZXREZWZpbml0aW9uKCkuaWQpIHtcbiAgICAgICAgICAgIGNhc2UgJ2xpY2Vuc2UnOlxuICAgICAgICAgICAgICAgIHJldHVybiAnbGljZW5zZSc7XG4gICAgICAgIH1cbiAgICAgICAgc3dpdGNoICh0aGlzLmdldERlZmluaXRpb24oKS50eXBlKSB7XG4gICAgICAgICAgICBjYXNlICd0ZXh0JzpcbiAgICAgICAgICAgIGNhc2UgJ2VtYWlsJzpcbiAgICAgICAgICAgIGNhc2UgJ21vbnRoJzpcbiAgICAgICAgICAgIGNhc2UgJ2NvbG9yJzpcbiAgICAgICAgICAgIGNhc2UgJ3RleHRhcmVhJzpcbiAgICAgICAgICAgIGNhc2UgJ3NpbmdsZW9wdGlvbic6XG4gICAgICAgICAgICAgICAgcmV0dXJuICd0ZXh0JztcbiAgICAgICAgICAgIGNhc2UgJ251bWJlcic6XG4gICAgICAgICAgICAgICAgcmV0dXJuICdudW1iZXInO1xuICAgICAgICAgICAgY2FzZSAnZGF0ZSc6XG4gICAgICAgICAgICAgICAgcmV0dXJuICdkYXRlJztcbiAgICAgICAgICAgIGNhc2UgJ3ZjYXJkJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gJ3ZjYXJkJztcbiAgICAgICAgICAgIGNhc2UgJ211bHRpdmFsdWVGaXhlZEJhZGdlcyc6XG4gICAgICAgICAgICBjYXNlICdtdWx0aXZhbHVlU3VnZ2VzdEJhZGdlcyc6XG4gICAgICAgICAgICBjYXNlICdzaW5nbGV2YWx1ZVN1Z2dlc3RCYWRnZXMnOlxuICAgICAgICAgICAgY2FzZSAnbXVsdGl2YWx1ZUJhZGdlcyc6XG4gICAgICAgICAgICBjYXNlICdzaW5nbGV2YWx1ZVRyZWUnOlxuICAgICAgICAgICAgY2FzZSAnbXVsdGl2YWx1ZVRyZWUnOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnZpZXdJbnN0YW5jZS50cmVlRGlzcGxheSA9PT0gJ2ZsYXQnID8gJ2FycmF5JyA6ICd0cmVlJztcbiAgICAgICAgICAgIGNhc2UgJ3NsaWRlcic6XG4gICAgICAgICAgICAgICAgcmV0dXJuICdzbGlkZXInO1xuICAgICAgICAgICAgY2FzZSAnZHVyYXRpb24nOlxuICAgICAgICAgICAgICAgIHJldHVybiAnZHVyYXRpb24nO1xuICAgICAgICAgICAgY2FzZSAncmFuZ2UnOlxuICAgICAgICAgICAgICAgIHJldHVybiAncmFuZ2UnO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAndW5rbm93bic7XG4gICAgfVxuXG4gICAgc3VwcG9ydHNJbmxpbmVFZGl0aW5nKCkge1xuICAgICAgICByZXR1cm4gTWRzV2lkZ2V0Q29tcG9uZW50LmlubGluZUVkaXRpbmcuaW5jbHVkZXMoXG4gICAgICAgICAgICB0aGlzLndpZGdldD8uZGVmaW5pdGlvbi50eXBlIGFzIE1kc1dpZGdldFR5cGUsXG4gICAgICAgICk7XG4gICAgfVxuICAgIHByaXZhdGUgZ2V0Tm9kZVZhbHVlcygpIHtcbiAgICAgICAgY29uc29sZS5sb2codGhpcy5tZHNWaWV3ZXJTZXJ2aWNlKTtcbiAgICAgICAgaWYgKHRoaXMubWRzRWRpdG9ySW5zdGFuY2UpIHtcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgKHRoaXMubWRzRWRpdG9ySW5zdGFuY2UudmFsdWVzJC52YWx1ZSBhcyBWYWx1ZXMpIHx8XG4gICAgICAgICAgICAgICAgdGhpcy5tZHNFZGl0b3JJbnN0YW5jZS5ub2RlcyQudmFsdWUubWFwKChuOiBOb2RlKSA9PiBuLnByb3BlcnRpZXMpXG4gICAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubWRzVmlld2VyU2VydmljZS52YWx1ZXMkLnZhbHVlO1xuICAgICAgICB9XG4gICAgfVxuICAgIHByaXZhdGUgYXN5bmMgZ2V0Tm9kZVZhbHVlKCkge1xuICAgICAgICBpZiAodGhpcy50ZW1wb3JhcnlWYWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRWYWx1ZSh0aGlzLnRlbXBvcmFyeVZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBpZCA9IHRoaXMuZ2V0RGVmaW5pdGlvbigpLmlkO1xuICAgICAgICBjb25zdCB2YWx1ZXMgPSB0aGlzLmdldE5vZGVWYWx1ZXMoKTtcbiAgICAgICAgaWYgKHRoaXMuZ2V0QmFzaWNUeXBlKCkgPT09ICdsaWNlbnNlJykge1xuICAgICAgICAgICAgdGhpcy5saWNlbnNlJC5uZXh0KHtcbiAgICAgICAgICAgICAgICBpY29uOiBhd2FpdCB0aGlzLm5vZGVIZWxwZXIuZ2V0TGljZW5zZUljb24oe1xuICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOiB0aGlzLmdldE5vZGVWYWx1ZXMoKSxcbiAgICAgICAgICAgICAgICB9IGFzIE5vZGUpLFxuICAgICAgICAgICAgICAgIG5hbWU6IHRoaXMubm9kZUhlbHBlci5nZXRMaWNlbnNlTmFtZSh7IHByb3BlcnRpZXM6IHRoaXMuZ2V0Tm9kZVZhbHVlcygpIH0gYXMgTm9kZSksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5nZXREZWZpbml0aW9uKCkudHlwZSA9PT0gJ3JhbmdlJykge1xuICAgICAgICAgICAgaWYgKHZhbHVlcykge1xuICAgICAgICAgICAgICAgIHJldHVybiBbdmFsdWVzW2lkICsgJ19mcm9tJ10/LlswXSwgdmFsdWVzW2lkICsgJ190byddPy5bMF1dO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH0gZWxzZSBpZiAodmFsdWVzPy5baWRdKSB7XG4gICAgICAgICAgICAvLyBzdXBwb3J0IG9uIHRoZSBmbHkgY2hhbmdlcyt1cGRhdGVzIG9mIHRoZSB2YWx1ZXNcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldFZhbHVlKHZhbHVlc1tpZF0pO1xuICAgICAgICB9IGVsc2UgaWYgKChhd2FpdCB0aGlzLndpZGdldC5nZXRJbml0YWxWYWx1ZXNBc3luYygpKT8uam9pbnRWYWx1ZXMpIHtcbiAgICAgICAgICAgIHJldHVybiAoYXdhaXQgdGhpcy53aWRnZXQuZ2V0SW5pdGFsVmFsdWVzQXN5bmMoKSkuam9pbnRWYWx1ZXM7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldFZhbHVlKGRhdGE6IHN0cmluZ1tdKSB7XG4gICAgICAgIGxldCB2YWx1ZSA9IGRhdGE7XG4gICAgICAgIGlmICghdmFsdWUgfHwgdmFsdWUuZXZlcnkoKHYpID0+ICF2KSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5nZXREZWZpbml0aW9uKCkudmFsdWVzKSB7XG4gICAgICAgICAgICBjb25zdCBtYXBwaW5nID0gdGhpcy53aWRnZXQuZGVmaW5pdGlvbi52YWx1ZXNcbiAgICAgICAgICAgICAgICAuZmlsdGVyKCh2OiBhbnkpID0+IGRhdGEuZmlsdGVyKChkKSA9PiBkID09PSB2LmlkKS5sZW5ndGggPiAwKVxuICAgICAgICAgICAgICAgIC5tYXAoKHY6IGFueSkgPT4gdi5jYXB0aW9uKTtcbiAgICAgICAgICAgIGlmIChtYXBwaW5nKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG1hcHBpbmc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZGF0YTtcbiAgICB9XG5cbiAgICBjbGljaygpIHtcbiAgICAgICAgaWYgKHRoaXMuZ2V0RGVmaW5pdGlvbigpLmxpbmsgPT09ICdfQkxBTksnKSB7XG4gICAgICAgICAgICB3aW5kb3cub3Blbih0aGlzLmZvcm1hdFRleHQoKVswXSk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5nZXREZWZpbml0aW9uKCkubGluayA9PT0gJ19TRUxGJykge1xuICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSB0aGlzLmZvcm1hdFRleHQoKVswXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybignVW5zdXBwb3J0ZWQgbGluayB0eXBlICcgKyB0aGlzLmdldERlZmluaXRpb24oKS5saW5rKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlzRW1wdHkoKSB7XG4gICAgICAgIGlmICh0aGlzLmJhc2ljVHlwZSA9PT0gJ2xpY2Vuc2UnKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWU/LmV2ZXJ5KCh2KSA9PiAhdikgfHwgdGhpcy52YWx1ZT8ubGVuZ3RoID09PSAwIHx8ICF0aGlzLnZhbHVlO1xuICAgIH1cblxuICAgIGZvcm1hdERhdGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlLm1hcCgodikgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuZ2V0RGVmaW5pdGlvbigpLmZvcm1hdCkge1xuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRGF0ZVBpcGUoJ2VuJykudHJhbnNmb3JtKHYsIHRoaXMuZ2V0RGVmaW5pdGlvbigpLmZvcm1hdCk7XG4gICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oJ0NvdWxkIG5vdCBmb3JtYXQgZGF0ZScsIGUsIHRoaXMuZ2V0RGVmaW5pdGlvbigpKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIERhdGVIZWxwZXIuZm9ybWF0RGF0ZSh0aGlzLnRyYW5zbGF0ZSwgdiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2hvd0Fsd2F5c1RpbWU6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIERhdGVIZWxwZXIuZm9ybWF0RGF0ZSh0aGlzLnRyYW5zbGF0ZSwgdiwge1xuICAgICAgICAgICAgICAgICAgICBzaG93QWx3YXlzVGltZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZm9ybWF0TnVtYmVyKCkge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZS5tYXAoKHYpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLndpZGdldC5kZWZpbml0aW9uLmZvcm1hdCA9PT0gJ2J5dGVzJykge1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRm9ybWF0U2l6ZVBpcGUodGhpcy50cmFuc2xhdGUpLnRyYW5zZm9ybSh2KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB2O1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBmb3JtYXRUZXh0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZS5tYXAoKHYpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLndpZGdldC5kZWZpbml0aW9uLmZvcm1hdCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLndpZGdldC5kZWZpbml0aW9uLmZvcm1hdC5yZXBsYWNlKCcke3ZhbHVlfScsIHYpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHY7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICAvLyBpbnN0YW5jZTogTWRzRWRpdG9yV2lkZ2V0QmFzZVxuICAgIGFzeW5jIGZpbmlzaEVkaXQoaW5zdGFuY2U6IGFueSwgc3RvcmUgPSBmYWxzZSkge1xuICAgICAgICBpZiAoc3RvcmUpIHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMubWRzRWRpdG9ySW5zdGFuY2Uuc2F2ZVdpZGdldFZhbHVlKGluc3RhbmNlLndpZGdldCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy50ZW1wb3JhcnlWYWx1ZSA9IGluc3RhbmNlLndpZGdldC5nZXRWYWx1ZSgpO1xuICAgICAgICB0aGlzLnZhbHVlID0gYXdhaXQgdGhpcy5nZXROb2RlVmFsdWUoKTtcbiAgICAgICAgdGhpcy5lZGl0V3JhcHBlci5uYXRpdmVFbGVtZW50LmNoaWxkcmVuWzBdLmlubmVySFRNTCA9IG51bGw7XG4gICAgICAgIGF3YWl0IHRoaXMubWRzRWRpdG9ySW5zdGFuY2UuZmV0Y2hEaXNwbGF5VmFsdWVzKHRoaXMud2lkZ2V0KTtcbiAgICB9XG5cbiAgICBpc0VkaXRhYmxlKCkge1xuICAgICAgICBpZiAoIXRoaXMubWRzRWRpdG9ySW5zdGFuY2UpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5pbmxpbmVFZGl0aW5nID09PSAnYWx3YXlzJykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc3VwcG9ydHNJbmxpbmVFZGl0aW5nKCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgbm9kZXMgPSB0aGlzLm1kc0VkaXRvckluc3RhbmNlLm5vZGVzJC52YWx1ZTtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMubWRzRWRpdG9ySW5zdGFuY2UuZWRpdG9yTW9kZSA9PT0gJ2lubGluZScgJiZcbiAgICAgICAgICAgIHRoaXMud2lkZ2V0LmRlZmluaXRpb24uaW50ZXJhY3Rpb25UeXBlID09PSAnSW5wdXQnICYmXG4gICAgICAgICAgICBub2Rlcz8ubGVuZ3RoID09PSAxICYmXG4gICAgICAgICAgICBSZXN0SGVscGVyLmhhc0FjY2Vzc1Blcm1pc3Npb24obm9kZXNbMF0sIFJlc3RDb25zdGFudHMuQUNDRVNTX1dSSVRFKSAmJlxuICAgICAgICAgICAgdGhpcy5zdXBwb3J0c0lubGluZUVkaXRpbmcoKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGFzeW5jIGZvY3VzKCkge1xuICAgICAgICAvLyB0aGlzLm1hdFJpcHBsZS5sYXVuY2goe30pO1xuICAgICAgICBhd2FpdCB0aGlzLnVpLnNjcm9sbFNtb290aEVsZW1lbnRUb0NoaWxkKHRoaXMuZWRpdFdyYXBwZXIubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIHRoaXMubWF0UmlwcGxlLmxhdW5jaCh7fSk7XG4gICAgICAgIC8vY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy52aWV3LmluamVjdEVkaXRGaWVsZCh0aGlzLCB0aGlzLmVkaXRXcmFwcGVyLm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW5bMF0pO1xuICAgICAgICAvL2F3YWl0IHRoaXMudWkuc2Nyb2xsU21vb3RoRWxlbWVudFRvQ2hpbGQocmVzdWx0Lmh0bWxFbGVtZW50KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiByZXR1cm4gdGhlIHBhdGggZm9yIGEgZ2l2ZW4gdmFsdWUgaW4gYSB0cmVlXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXRQYXRoKHY6IHN0cmluZykge1xuICAgICAgICBpZiAoIXRoaXMuZ2V0RGVmaW5pdGlvbigpLnZhbHVlcykge1xuICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGlkOiB2LFxuICAgICAgICAgICAgICAgICAgICBjYXB0aW9uOiB2LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHBhdGg6IE1kc1ZhbHVlW10gPSBbXTtcbiAgICAgICAgbGV0IHBvaW50ZXI6IHN0cmluZyA9IHY7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTAwOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IG1hcHBlZCA9IHRoaXMuZ2V0RGVmaW5pdGlvbigpLnZhbHVlcy5maW5kKCh3KSA9PiB3LmlkID09PSBwb2ludGVyKTtcbiAgICAgICAgICAgIGlmIChtYXBwZWQpIHtcbiAgICAgICAgICAgICAgICBwYXRoLnB1c2gobWFwcGVkKTtcbiAgICAgICAgICAgICAgICBwb2ludGVyID0gbWFwcGVkLnBhcmVudDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHBhdGgucmV2ZXJzZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGZldGNoIHRoZSByYXcgbm9kZSB2YWx1ZVxuICAgICAqIE5vdGU6IFdpbGwgbm90IHdvcmsgaW4gYSBidWxrIHN0YXRlIVxuICAgICAqL1xuICAgIHByaXZhdGUgZ2V0UmF3VmFsdWUoKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLm1kc0VkaXRvckluc3RhbmNlPy5ub2RlcyQucGlwZShcbiAgICAgICAgICAgICAgICBmaXJzdCgpLFxuICAgICAgICAgICAgICAgIG1hcCgodjogTm9kZVtdKSA9PlxuICAgICAgICAgICAgICAgICAgICAodj8uWzBdPy5wcm9wZXJ0aWVzW3RoaXMud2lkZ2V0LmRlZmluaXRpb24uaWRdIGFzIHN0cmluZ1tdKT8ubWFwKChpZCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoOiB0aGlzLmdldFBhdGgoaWQpLFxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICkgfHwgb2YobnVsbClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRTZWFyY2hQYXJhbXMoa2V5OiBNZHNWYWx1ZSkge1xuICAgICAgICBjb25zdCBwYXJhbXM6IGFueSA9IHt9O1xuICAgICAgICBjb25zdCBtZHM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nW10gfSA9IHt9O1xuICAgICAgICBtZHNbdGhpcy53aWRnZXQuZGVmaW5pdGlvbi5pZF0gPSBba2V5LmlkXTtcbiAgICAgICAgcGFyYW1zLm1kcyA9IHRoaXMubWRzRWRpdG9ySW5zdGFuY2UubWRzSWQ7XG4gICAgICAgIHBhcmFtcy5zaWRlbmF2ID0gdHJ1ZTtcbiAgICAgICAgcGFyYW1zLnJlcG8gPSB0aGlzLm1kc0VkaXRvckluc3RhbmNlLm5vZGVzJC52YWx1ZT8uWzBdLnJlZi5yZXBvO1xuICAgICAgICBwYXJhbXMuZmlsdGVycyA9IEpTT04uc3RyaW5naWZ5KG1kcyk7XG4gICAgICAgIHJldHVybiBwYXJhbXM7XG4gICAgfVxuXG4gICAgc3RhcnRFZGl0KGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB2b2lkIHRoaXMudmlldy5pbmplY3RFZGl0RmllbGQodGhpcywgdGhpcy5lZGl0V3JhcHBlci5uYXRpdmVFbGVtZW50LmNoaWxkcmVuWzBdKTtcbiAgICB9XG59XG4iLCI8ZXMtbWRzLWVkaXRvci13aWRnZXQtY29udGFpbmVyXG4gICpuZ0lmPVwiIWVkaXRXcmFwcGVyLmlubmVyVGV4dC50cmltKClcIlxuICBbaW5qZWN0ZWRWaWV3XT1cInRoaXNcIlxuICBbd2lkZ2V0XT1cIndpZGdldFwiXG4gIFtsYWJlbF09XCJmYWxzZVwiXG4gIFt3cmFwSW5Gb3JtRmllbGRdPVwiZmFsc2VcIlxuICBbd3JhcEluR3JvdXBdPVwiZmFsc2VcIlxuICBbdmFsdWVUeXBlXT1cInZhbHVlVHlwZVwiXG4gIG1hdFJpcHBsZVxuICBbbWF0UmlwcGxlRGlzYWJsZWRdPVwidHJ1ZVwiXG4+XG4gIDxkaXYgY2xhc3M9XCJlZGl0LXdyYXBwZXJcIj5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cIiFpc0VtcHR5KCkgfHwgIXdpZGdldC5kZWZpbml0aW9uLmhpZGVJZkVtcHR5IHx8IGlzRWRpdGFibGUoKVwiXG4gICAgICBjbGFzcz1cIndpZGdldC13cmFwcGVyXCJcbiAgICA+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwid2lkZ2V0LWxhYmVsXCJcbiAgICAgICAgW2F0dHIucm9sZV09XCJoZWFkaW5nTGV2ZWwgPyAnaGVhZGluZycgOiBudWxsXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sZXZlbF09XCJoZWFkaW5nTGV2ZWxcIlxuICAgICAgICAqbmdJZj1cIndpZGdldC5kZWZpbml0aW9uLmNhcHRpb24gJiYgc2hvd0NhcHRpb25cIlxuICAgICAgPlxuICAgICAgICB7eyB3aWRnZXQuZGVmaW5pdGlvbi5jYXB0aW9uXG4gICAgICAgIH19PHNwYW4gKm5nSWY9XCIhaGVhZGluZ0xldmVsXCIgY2xhc3M9XCJjZGstdmlzdWFsbHktaGlkZGVuXCI+OiA8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJ2YWx1ZS13cmFwcGVyXCJcbiAgICAgICAgW2NsYXNzLnZhbHVlLXdyYXBwZXItZWRpdF09XCJpc0VkaXRhYmxlKClcIlxuICAgICAgICAoY2xpY2spPVwiaXNFZGl0YWJsZSgpID8gc3RhcnRFZGl0KCRldmVudCkgOiBudWxsXCJcbiAgICAgID5cbiAgICAgICAgPGRpdiAqbmdJZj1cImlzRW1wdHkoKVwiIGNsYXNzPVwid2lkZ2V0LWRhdGEgd2lkZ2V0LW5vLWRhdGEgd2lkZ2V0LXR5cGUte3sgYmFzaWNUeXBlIH19XCI+XG4gICAgICAgICAgLVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICpuZ0lmPVwiIWlzRW1wdHkoKVwiXG4gICAgICAgICAgY2xhc3M9XCJ3aWRnZXQtZGF0YSB3aWRnZXQtdHlwZS17eyBiYXNpY1R5cGUgfX0ge3tcbiAgICAgICAgICAgIHdpZGdldC5kZWZpbml0aW9uLmxpbmsgPyAnd2lkZ2V0LWxpbmsnIDogJydcbiAgICAgICAgICB9fVwiXG4gICAgICAgICAgKGNsaWNrKT1cImNsaWNrKClcIlxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cImJhc2ljVHlwZSA9PT0gJ3RleHQnXCI+e3sgZm9ybWF0VGV4dCgpIH19PC9kaXY+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cImJhc2ljVHlwZSA9PT0gJ251bWJlcidcIj57eyBmb3JtYXROdW1iZXIoKSB9fTwvZGl2PlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJiYXNpY1R5cGUgPT09ICdkYXRlJ1wiPnt7IGZvcm1hdERhdGUoKSB9fTwvZGl2PlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJiYXNpY1R5cGUgPT09ICdsaWNlbnNlJyAmJiAobGljZW5zZSQgfCBhc3luYykgYXMgbGljZW5zZVwiPlxuICAgICAgICAgICAgPGltZyBhbHQ9XCJcIiBbc3JjXT1cImxpY2Vuc2UuaWNvblwiIC8+IHt7IGxpY2Vuc2UubmFtZSB9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJiYXNpY1R5cGUgPT09ICdhcnJheSdcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhcnJheS1lbnRyeVwiICpuZ0Zvcj1cImxldCB2IG9mIHZhbHVlXCI+e3sgdiB9fTwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJiYXNpY1R5cGUgPT09ICd0cmVlJ1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRyZWUtZW50cnlcIiAqbmdGb3I9XCJsZXQgdiBvZiByYXdWYWx1ZVwiPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidHJlZUVudHJ5OyBjb250ZXh0OiB7IHBhdGg6IHYucGF0aCB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiYmFzaWNUeXBlID09PSAndmNhcmQnXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXJyYXktZW50cnlcIiAqbmdGb3I9XCJsZXQgdiBvZiB2YWx1ZVwiPnt7IHYgfCB2Y2FyZE5hbWUgfX08L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiYmFzaWNUeXBlID09PSAnc2xpZGVyJ1wiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzbGlkZXItdmFsdWVcIj57eyB2YWx1ZSB9fTwvc3BhblxuICAgICAgICAgICAgPjxzcGFuPiAvIDwvc3Bhbj48c3BhbiBjbGFzcz1cInNsaWRlci1tYXhcIj57eyB3aWRnZXQuZGVmaW5pdGlvbi5tYXggfX08L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cImJhc2ljVHlwZSA9PT0gJ2R1cmF0aW9uJ1wiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkdXJhdGlvbi12YWx1ZVwiPnt7IHZhbHVlWzBdIHwgYXBwTWRzRHVyYXRpb24gfX08L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cImJhc2ljVHlwZSA9PT0gJ3JhbmdlJ1wiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzbGlkZXItdmFsdWVcIj57eyB2YWx1ZVswXSB9fTwvc3BhblxuICAgICAgICAgICAgPi08c3BhbiBjbGFzcz1cInNsaWRlci12YWx1ZVwiPnt7IHZhbHVlWzFdIH19PC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJiYXNpY1R5cGUgPT09ICd1bmtub3duJ1wiPlxuICAgICAgICAgICAgVGhlIHdpZGdldCB0eXBlIHt7IHdpZGdldC5kZWZpbml0aW9uLnR5cGUgfX0gaXMgY3VycmVudGx5IG5vdCBzdXBwb3J0ZWQgdmlhIGFuZ3VsYXJcbiAgICAgICAgICAgIHJlbmRlcmluZ1xuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDwhLS08YnV0dG9uIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgKm5nSWY9XCJtZHNFZGl0b3JJbnN0YW5jZS5lZGl0b3JNb2RlID09PSAnaW5saW5lJyAmJiB3aWRnZXQuZGVmaW5pdGlvbi5pbnRlcmFjdGlvblR5cGUgPT09ICdJbnB1dCdcIlxuICAgICAgICAgICAgKGNsaWNrKT1cInZpZXcuaW5qZWN0RWRpdEZpZWxkKHRoaXMsIGVkaXQpXCJcbiAgICAgICAgICAgIGNsYXNzPVwiYnRuLWVkaXRcIj5cbiAgICAgIDxpIGVzSWNvbj1cImVkaXRcIj48L2k+XG4gICAgPC9idXR0b24+LS0+XG4gIDwvZGl2PlxuPC9lcy1tZHMtZWRpdG9yLXdpZGdldC1jb250YWluZXI+XG48ZGl2IGNsYXNzPVwiZWRpdC13cmFwcGVyXCI+XG4gIDxkaXYgI2VkaXRXcmFwcGVyPjxkaXYgI2VkaXQ+PC9kaXY+PC9kaXY+XG4gIDwhLS08YnV0dG9uICpuZ0lmPVwiISFlZGl0V3JhcHBlci5pbm5lclRleHQudHJpbSgpXCIgbWF0LWljb24tYnV0dG9uPjxpIGVzSWNvbj1cInNhdmVcIj48L2k+PC9idXR0b24+LS0+XG48L2Rpdj5cbjxuZy10ZW1wbGF0ZSAjdHJlZUVudHJ5IGxldC1wYXRoPVwicGF0aFwiPlxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB0IG9mIHBhdGg7IGxldCBmaXJzdCA9IGZpcnN0XCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFmaXJzdFwiPlxuICAgICAgPHNwYW4gY2xhc3M9XCJjZGstdmlzdWFsbHktaGlkZGVuXCI+e3sgJ1NVQl9DQVRFR09SWV9BUklBJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgIDxpIGVzSWNvbj1cImtleWJvYXJkX2Fycm93X3JpZ2h0XCIgW2FyaWFdPVwiZmFsc2VcIj48L2k+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPGFcbiAgICAgIFtyb3V0ZXJMaW5rXT1cIicvJyArIFJPVVRFUl9QUkVGSVggKyAnc2VhcmNoJ1wiXG4gICAgICBbcXVlcnlQYXJhbXNdPVwiZ2V0U2VhcmNoUGFyYW1zKHQpXCJcbiAgICAgICpuZ0lmPVwid2lkZ2V0LmRlZmluaXRpb24uaXNTZWFyY2hhYmxlXCJcbiAgICAgID57eyB0LmNhcHRpb24gfX08L2FcbiAgICA+XG4gICAgPHNwYW4gKm5nSWY9XCIhd2lkZ2V0LmRlZmluaXRpb24uaXNTZWFyY2hhYmxlXCI+e3sgdC5jYXB0aW9uIH19PC9zcGFuPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -11,10 +11,8 @@ export class SpinnerSmallComponent {
11
11
  }
12
12
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: SpinnerSmallComponent, decorators: [{
13
13
  type: Component,
14
- args: [{ selector: 'es-spinner-small', standalone: true, imports: [
15
- MatProgressSpinnerModule,
16
- ], template: "<mat-progress-spinner\n color=\"primary\"\n mode=\"indeterminate\"\n [diameter]=\"diameter\"\n></mat-progress-spinner>\n" }]
14
+ args: [{ selector: 'es-spinner-small', standalone: true, imports: [MatProgressSpinnerModule], template: "<mat-progress-spinner\n color=\"primary\"\n mode=\"indeterminate\"\n [diameter]=\"diameter\"\n></mat-progress-spinner>\n" }]
17
15
  }], ctorParameters: () => [], propDecorators: { diameter: [{
18
16
  type: Input
19
17
  }] } });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Bpbm5lci1zbWFsbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL3NwaW5uZXItc21hbGwvc3Bpbm5lci1zbWFsbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL3NwaW5uZXItc21hbGwvc3Bpbm5lci1zbWFsbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7O0FBVzlFLE1BQU0sT0FBTyxxQkFBcUI7SUFFOUI7UUFEUyxhQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ1IsQ0FBQzsrR0FGUCxxQkFBcUI7bUdBQXJCLHFCQUFxQiw4R0NabEMsNkhBS0EseURESVEsd0JBQXdCOzs0RkFHbkIscUJBQXFCO2tCQVRqQyxTQUFTOytCQUNJLGtCQUFrQixjQUdoQixJQUFJLFdBQ1A7d0JBQ0wsd0JBQXdCO3FCQUMzQjt3REFHUSxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3Mtc3Bpbm5lcic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZXMtc3Bpbm5lci1zbWFsbCcsXG4gICAgdGVtcGxhdGVVcmw6ICdzcGlubmVyLXNtYWxsLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnc3Bpbm5lci1zbWFsbC5jb21wb25lbnQuc2NzcyddLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUsXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBTcGlubmVyU21hbGxDb21wb25lbnQge1xuICAgIEBJbnB1dCgpIGRpYW1ldGVyID0gMjA7XG4gICAgY29uc3RydWN0b3IoKSB7fVxufVxuIiwiPG1hdC1wcm9ncmVzcy1zcGlubmVyXG4gIGNvbG9yPVwicHJpbWFyeVwiXG4gIG1vZGU9XCJpbmRldGVybWluYXRlXCJcbiAgW2RpYW1ldGVyXT1cImRpYW1ldGVyXCJcbj48L21hdC1wcm9ncmVzcy1zcGlubmVyPlxuIl19
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Bpbm5lci1zbWFsbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL3NwaW5uZXItc21hbGwvc3Bpbm5lci1zbWFsbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL3NwaW5uZXItc21hbGwvc3Bpbm5lci1zbWFsbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7O0FBUzlFLE1BQU0sT0FBTyxxQkFBcUI7SUFFOUI7UUFEUyxhQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ1IsQ0FBQzsrR0FGUCxxQkFBcUI7bUdBQXJCLHFCQUFxQiw4R0NWbEMsNkhBS0EseURER2Msd0JBQXdCOzs0RkFFekIscUJBQXFCO2tCQVBqQyxTQUFTOytCQUNJLGtCQUFrQixjQUdoQixJQUFJLFdBQ1AsQ0FBQyx3QkFBd0IsQ0FBQzt3REFHMUIsUUFBUTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLXNwaW5uZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2VzLXNwaW5uZXItc21hbGwnLFxuICAgIHRlbXBsYXRlVXJsOiAnc3Bpbm5lci1zbWFsbC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJ3NwaW5uZXItc21hbGwuY29tcG9uZW50LnNjc3MnXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBTcGlubmVyU21hbGxDb21wb25lbnQge1xuICAgIEBJbnB1dCgpIGRpYW1ldGVyID0gMjA7XG4gICAgY29uc3RydWN0b3IoKSB7fVxufVxuIiwiPG1hdC1wcm9ncmVzcy1zcGlubmVyXG4gIGNvbG9yPVwicHJpbWFyeVwiXG4gIG1vZGU9XCJpbmRldGVybWluYXRlXCJcbiAgW2RpYW1ldGVyXT1cImRpYW1ldGVyXCJcbj48L21hdC1wcm9ncmVzcy1zcGlubmVyPlxuIl19