@smartbit4all/ng-client 4.5.10 → 4.5.12

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.
@@ -9,4 +9,5 @@ export * from './smart-timer/smart-session-timer.component';
9
9
  export * from './smart-timer/smart-session-timer.service';
10
10
  export * from './smart-backend-bootstrap.service';
11
11
  export * from './smart-backend-bootstrap.config';
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVjdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zZXNzaW9uL3Byb2plY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxrQ0FBa0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2Ygc21hcnQtc2Vzc2lvblxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vc21hcnQtc2Vzc2lvbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vc21hcnQtc2Vzc2lvbi5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zbWFydC1zZXNzaW9uLWhhbmRsZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NtYXJ0LXRpbWVyL3NtYXJ0LXNlc3Npb24tdGltZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc21hcnQtdGltZXIvc21hcnQtc2Vzc2lvbi10aW1lci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc21hcnQtYmFja2VuZC1ib290c3RyYXAuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NtYXJ0LWJhY2tlbmQtYm9vdHN0cmFwLmNvbmZpZyc7XG4iXX0=
12
+ export * from './smart-default-error-ui.service';
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVjdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zZXNzaW9uL3Byb2plY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLGtDQUFrQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBzbWFydC1zZXNzaW9uXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9zbWFydC1zZXNzaW9uLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9hcGkvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9zbWFydC1zZXNzaW9uLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL3NtYXJ0LXNlc3Npb24taGFuZGxlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc21hcnQtdGltZXIvc21hcnQtc2Vzc2lvbi10aW1lci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zbWFydC10aW1lci9zbWFydC1zZXNzaW9uLXRpbWVyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zbWFydC1iYWNrZW5kLWJvb3RzdHJhcC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc21hcnQtYmFja2VuZC1ib290c3RyYXAuY29uZmlnJztcbmV4cG9ydCAqIGZyb20gJy4vc21hcnQtZGVmYXVsdC1lcnJvci11aS5zZXJ2aWNlJztcbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtYmFja2VuZC1ib290c3RyYXAuY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc2Vzc2lvbi9zbWFydC1iYWNrZW5kLWJvb3RzdHJhcC5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFVpQWN0aW9uRGVzY3JpcHRvciB9IGZyb20gJy4uL3ZpZXctY29udGV4dC9hcGknO1xuaW1wb3J0IHsgU21hcnRWaWV3SGFuZGxlck1vZGVsIH0gZnJvbSAnLi4vdmlldy1jb250ZXh0L3NtYXJ0LXZpZXctY29udGV4dC5tb2RlbCc7XG5pbXBvcnQgeyBTZXNzaW9uRXJyb3IgfSBmcm9tICcuL3NtYXJ0LXNlc3Npb24taGFuZGxlci5zZXJ2aWNlJztcblxuLyoqXG4gKiBFeHRlcm5hbGx5IHByb3ZpZGVkIHNlc3Npb24gKyB2aWV3Q29udGV4dCB0byBoeWRyYXRlIHRoZSBib290c3RyYXAgd2l0aCxcbiAqIGJ5cGFzc2luZyB0aGUgcmVndWxhciBgc3RhcnQoKWAgZmxvdy4gVHlwaWNhbCB1c2UgY2FzZTogYSBuYXRpdmUgbW9iaWxlXG4gKiBzaGVsbCB0aGF0IHBlcmZvcm1lZCBhdXRoZW50aWNhdGlvbiBpdHNlbGYgYW5kIGhhbmRzIG9mZiB0aGUgcmVzdWx0IHRvIGFcbiAqIHdlYnZpZXctaG9zdGVkIEFuZ3VsYXIgYXBwIHZpYSBVUkwgZnJhZ21lbnQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU21hcnRCYWNrZW5kQm9vdHN0cmFwQ3JlZGVudGlhbHMge1xuICAvKiogU0lEIGlzc3VlZCBieSB0aGUgYmFja2VuZDsgd2lsbCBiZSBzZW50IGFzIGBBdXRob3JpemF0aW9uOiBCZWFyZXIgPHNlc3Npb25Ub2tlbj5gLiAqL1xuICBzZXNzaW9uVG9rZW46IHN0cmluZztcbiAgLyoqIFVVSUQgb2YgYW4gYWxyZWFkeS1leGlzdGluZyB2aWV3Q29udGV4dCBvbiB0aGUgYmFja2VuZC4gKi9cbiAgdmlld0NvbnRleHRVdWlkOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBPcHRpb25hbCBsb25nLWxpdmVkIHJlZnJlc2ggdG9rZW4gcGFpcmVkIHdpdGggdGhlIFNJRC4gSWYgcHJvdmlkZWQsIGl0IGlzXG4gICAqIHBlcnNpc3RlZCB0byBsb2NhbFN0b3JhZ2Ugc28gdGhlIGF1dG9ub21vdXMgYFNtYXJ0RXJyb3JDYXRjaGluZ0ludGVyY2VwdG9yYFxuICAgKiBSRUZSRVNIIGZsb3cgY2FuIHJlY292ZXIgZnJvbSBgc2Vzc2lvbi5leHBpcmVkYCBlcnJvcnMgd2l0aG91dCBkcm9wcGluZ1xuICAgKiB0aGUgdXNlciBiYWNrIHRvIGEgZnJlc2ggYW5vbnltb3VzIHNlc3Npb24uXG4gICAqL1xuICByZWZyZXNoVG9rZW4/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU21hcnRCYWNrZW5kQm9vdHN0cmFwQ29uZmlnIHtcbiAgdXJsOiBzdHJpbmc7XG4gIGNvb2tpZU5hbWU6IHN0cmluZztcbiAgbWVzc2FnZURpYWxvZ05hbWU6IHN0cmluZztcbiAgdmlld0hhbmRsZXJzOiBTbWFydFZpZXdIYW5kbGVyTW9kZWxbXTtcbiAgYWN0aW9uRGVzY3JpcHRvcnM6IE1hcDxzdHJpbmcsIFVpQWN0aW9uRGVzY3JpcHRvcj47XG5cbiAgLyoqIE9wdGlvbmFsIG92ZXJyaWRlIGZvciB0aGUgZGVmYXVsdCBgaGFuZGxlU2Vzc2lvbkVycm9yYCBmbG93LiAqL1xuICBvblNlc3Npb25FcnJvcj86IChlcnI6IFNlc3Npb25FcnJvcikgPT4gUHJvbWlzZTx2b2lkPiB8IHZvaWQ7XG5cbiAgLyoqIE9wdGlvbmFsIG92ZXJyaWRlIGZvciB0aGUgZGVmYXVsdCBgb3BlblNtYXJ0TGlua2AgaGFuZGxlci4gKi9cbiAgb25TbWFydExpbms/OiAoY2hhbm5lbDogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+IHwgdm9pZDtcblxuICAvKiogSG9vayBmb3IgaG9zdCBVWCB3aGVuIGBzdGFydCgpYCByZWplY3RzIChzbmFja2JhciArIHJldHJ5KS4gKi9cbiAgb25TdGFydEVycm9yPzogKGVycjogdW5rbm93bikgPT4gUHJvbWlzZTx2b2lkPiB8IHZvaWQ7XG5cbiAgLyoqXG4gICAqIEhvb2sgY2FsbGVkIHdoZW4gdGhlIGJhY2tlbmQgcmVwb3J0cyB0aGUgY3VycmVudCB2aWV3Q29udGV4dCBpcyBnb25lXG4gICAqIChsb2dvdXQsIHNlc3Npb24gZXhwaXJ5LCBiYWNrZW5kIHJlc3RhcnQpIOKAlCBpLmUuIHdoZW4gdGhlXG4gICAqIGBTbWFydEVycm9yQ2F0Y2hpbmdJbnRlcmNlcHRvcmAgd291bGQgaGlzdG9yaWNhbGx5IGF1dG8tdHJpZ2dlclxuICAgKiBgUkVTVEFSVF9WSUVXQ09OVEVYVGAuXG4gICAqXG4gICAqIERlZmF1bHQ6IHJlYnVpbGRzIGEgZnJlc2ggYW5vbnltb3VzIHZpZXdDb250ZXh0IHZpYVxuICAgKiBgdmlld0NvbnRleHQuaW5pdE5ld1ZpZXdDb250ZXh0KClgICh0aGUgaGlzdG9yaWNhbCB3ZWIgZmxvdykuXG4gICAqXG4gICAqIE1vYmlsZS9lbWJlZGRlZCBob3N0cyBvdmVycmlkZSB0aGlzIHRvIGZ1bGx5IGRlbGVnYXRlIHRvIHRoZSBzaGVsbCDigJRcbiAgICogdHlwaWNhbGx5IGJ5IGNhbGxpbmcgYSBKUyBicmlkZ2UgdGhhdCBzaWduYWxzIHRoZSBuYXRpdmUgc2lkZSB0b1xuICAgKiB0ZWFyIGRvd24gdGhlIHdlYnZpZXcgYW5kIHJldHVybiB0byB0aGUgbmF0aXZlIGxvZ2luIHBhZ2UuXG4gICAqL1xuICBvblZpZXdDb250ZXh0TG9zdD86IChlcnI6IFNlc3Npb25FcnJvcikgPT4gUHJvbWlzZTx2b2lkPiB8IHZvaWQ7XG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtYmFja2VuZC1ib290c3RyYXAuY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc2Vzc2lvbi9zbWFydC1iYWNrZW5kLWJvb3RzdHJhcC5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgVWlBY3Rpb25EZXNjcmlwdG9yIH0gZnJvbSAnLi4vdmlldy1jb250ZXh0L2FwaSc7XG5pbXBvcnQgeyBTbWFydFZpZXdIYW5kbGVyTW9kZWwgfSBmcm9tICcuLi92aWV3LWNvbnRleHQvc21hcnQtdmlldy1jb250ZXh0Lm1vZGVsJztcbmltcG9ydCB7IFNlc3Npb25FcnJvciB9IGZyb20gJy4vc21hcnQtc2Vzc2lvbi1oYW5kbGVyLnNlcnZpY2UnO1xuXG4vKipcbiAqIEV4dGVybmFsbHkgcHJvdmlkZWQgc2Vzc2lvbiArIHZpZXdDb250ZXh0IHRvIGh5ZHJhdGUgdGhlIGJvb3RzdHJhcCB3aXRoLFxuICogYnlwYXNzaW5nIHRoZSByZWd1bGFyIGBzdGFydCgpYCBmbG93LiBUeXBpY2FsIHVzZSBjYXNlOiBhIG5hdGl2ZSBtb2JpbGVcbiAqIHNoZWxsIHRoYXQgcGVyZm9ybWVkIGF1dGhlbnRpY2F0aW9uIGl0c2VsZiBhbmQgaGFuZHMgb2ZmIHRoZSByZXN1bHQgdG8gYVxuICogd2Vidmlldy1ob3N0ZWQgQW5ndWxhciBhcHAgdmlhIFVSTCBmcmFnbWVudC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTbWFydEJhY2tlbmRCb290c3RyYXBDcmVkZW50aWFscyB7XG4gIC8qKiBTSUQgaXNzdWVkIGJ5IHRoZSBiYWNrZW5kOyB3aWxsIGJlIHNlbnQgYXMgYEF1dGhvcml6YXRpb246IEJlYXJlciA8c2Vzc2lvblRva2VuPmAuICovXG4gIHNlc3Npb25Ub2tlbjogc3RyaW5nO1xuICAvKiogVVVJRCBvZiBhbiBhbHJlYWR5LWV4aXN0aW5nIHZpZXdDb250ZXh0IG9uIHRoZSBiYWNrZW5kLiAqL1xuICB2aWV3Q29udGV4dFV1aWQ6IHN0cmluZztcbiAgLyoqXG4gICAqIE9wdGlvbmFsIGxvbmctbGl2ZWQgcmVmcmVzaCB0b2tlbiBwYWlyZWQgd2l0aCB0aGUgU0lELiBJZiBwcm92aWRlZCwgaXQgaXNcbiAgICogcGVyc2lzdGVkIHRvIGxvY2FsU3RvcmFnZSBzbyB0aGUgYXV0b25vbW91cyBgU21hcnRFcnJvckNhdGNoaW5nSW50ZXJjZXB0b3JgXG4gICAqIFJFRlJFU0ggZmxvdyBjYW4gcmVjb3ZlciBmcm9tIGBzZXNzaW9uLmV4cGlyZWRgIGVycm9ycyB3aXRob3V0IGRyb3BwaW5nXG4gICAqIHRoZSB1c2VyIGJhY2sgdG8gYSBmcmVzaCBhbm9ueW1vdXMgc2Vzc2lvbi5cbiAgICovXG4gIHJlZnJlc2hUb2tlbj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTbWFydEJhY2tlbmRCb290c3RyYXBDb25maWcge1xuICB1cmw6IHN0cmluZztcbiAgY29va2llTmFtZTogc3RyaW5nO1xuICAvKipcbiAgICogVmlldyBuYW1lIHRoZSBiYWNrZW5kIHVzZXMgZm9yIGdlbmVyaWMgbWVzc2FnZSBkaWFsb2dzLiBEZWZhdWx0cyB0b1xuICAgKiBgJ21lc3NhZ2UtZGlhbG9nJ2AgKHRoZSBwbGF0Zm9ybSBjb252ZW50aW9uKSB3aGVuIG9taXR0ZWQuXG4gICAqL1xuICBtZXNzYWdlRGlhbG9nTmFtZT86IHN0cmluZztcbiAgdmlld0hhbmRsZXJzOiBTbWFydFZpZXdIYW5kbGVyTW9kZWxbXTtcbiAgYWN0aW9uRGVzY3JpcHRvcnM6IE1hcDxzdHJpbmcsIFVpQWN0aW9uRGVzY3JpcHRvcj47XG5cbiAgLyoqIE9wdGlvbmFsIG92ZXJyaWRlIGZvciB0aGUgZGVmYXVsdCBgaGFuZGxlU2Vzc2lvbkVycm9yYCBmbG93LiAqL1xuICBvblNlc3Npb25FcnJvcj86IChlcnI6IFNlc3Npb25FcnJvcikgPT4gUHJvbWlzZTx2b2lkPiB8IHZvaWQ7XG5cbiAgLyoqIE9wdGlvbmFsIG92ZXJyaWRlIGZvciB0aGUgZGVmYXVsdCBgb3BlblNtYXJ0TGlua2AgaGFuZGxlci4gKi9cbiAgb25TbWFydExpbms/OiAoY2hhbm5lbDogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+IHwgdm9pZDtcblxuICAvKiogSG9vayBmb3IgaG9zdCBVWCB3aGVuIGBzdGFydCgpYCByZWplY3RzIChzbmFja2JhciArIHJldHJ5KS4gKi9cbiAgb25TdGFydEVycm9yPzogKGVycjogdW5rbm93bikgPT4gUHJvbWlzZTx2b2lkPiB8IHZvaWQ7XG5cbiAgLyoqXG4gICAqIEhvb2sgY2FsbGVkIHdoZW4gYSBCRkYgY2FsbCBmYWlscyBhdCB0aGUgdHJhbnNwb3J0IGxldmVsIOKAlCBzZXJ2ZXJcbiAgICogdW5yZWFjaGFibGUgKHN0YXR1cyAwKSwgZ2F0ZXdheS9zZXJ2aWNlLXVuYXZhaWxhYmxlICg1MDIvNTAzLzUwNCksIG9yXG4gICAqIGdlbmVyaWMgc2VydmVyLWVycm9yICg1MDApLiBEZWZhdWx0OiBhIGNvbnNvbGUud2FybiBsaW5lOyB0aGUgcmVxdWVzdFxuICAgKiBzdGlsbCByZWplY3RzIHdpdGggdGhlIG9yaWdpbmFsIGVycm9yLCBhbGxvd2luZyBwZXItY2FsbCBoYW5kbGluZy5cbiAgICpcbiAgICogRmlyZS1hbmQtZm9yZ2V0OiBldmVyeSBmYWlsZWQgcmVxdWVzdCBpbnZva2VzIHRoZSBob29rIChubyBkZWR1cCk7IHRoZVxuICAgKiBob3N0IGlzIHJlc3BvbnNpYmxlIGZvciBvd24gVUkgZGVkdXBsaWNhdGlvbiBpZiBuZWVkZWQgKGUuZy4gc25hY2tiYXJcbiAgICogd2l0aCBhIFwidGhpcyBtZXNzYWdlIGlzIGFscmVhZHkgc2hvd2luZ1wiIGd1YXJkKS5cbiAgICovXG4gIG9uVHJhbnNwb3J0RXJyb3I/OiAoZXJyOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gUHJvbWlzZTx2b2lkPiB8IHZvaWQ7XG5cbiAgLyoqXG4gICAqIEhvb2sgY2FsbGVkIHdoZW4gdGhlIGJhY2tlbmQgcmVwb3J0cyB0aGUgY3VycmVudCB2aWV3Q29udGV4dCBpcyBnb25lXG4gICAqIChsb2dvdXQsIHNlc3Npb24gZXhwaXJ5LCBiYWNrZW5kIHJlc3RhcnQpIOKAlCBpLmUuIHdoZW4gdGhlXG4gICAqIGBTbWFydEVycm9yQ2F0Y2hpbmdJbnRlcmNlcHRvcmAgd291bGQgaGlzdG9yaWNhbGx5IGF1dG8tdHJpZ2dlclxuICAgKiBgUkVTVEFSVF9WSUVXQ09OVEVYVGAuXG4gICAqXG4gICAqIERlZmF1bHQ6IHJlYnVpbGRzIGEgZnJlc2ggYW5vbnltb3VzIHZpZXdDb250ZXh0IHZpYVxuICAgKiBgdmlld0NvbnRleHQuaW5pdE5ld1ZpZXdDb250ZXh0KClgICh0aGUgaGlzdG9yaWNhbCB3ZWIgZmxvdykuXG4gICAqXG4gICAqIE1vYmlsZS9lbWJlZGRlZCBob3N0cyBvdmVycmlkZSB0aGlzIHRvIGZ1bGx5IGRlbGVnYXRlIHRvIHRoZSBzaGVsbCDigJRcbiAgICogdHlwaWNhbGx5IGJ5IGNhbGxpbmcgYSBKUyBicmlkZ2UgdGhhdCBzaWduYWxzIHRoZSBuYXRpdmUgc2lkZSB0b1xuICAgKiB0ZWFyIGRvd24gdGhlIHdlYnZpZXcgYW5kIHJldHVybiB0byB0aGUgbmF0aXZlIGxvZ2luIHBhZ2UuXG4gICAqL1xuICBvblZpZXdDb250ZXh0TG9zdD86IChlcnI6IFNlc3Npb25FcnJvcikgPT4gUHJvbWlzZTx2b2lkPiB8IHZvaWQ7XG59XG4iXX0=
@@ -18,7 +18,7 @@ export class SmartBackendBootstrapService {
18
18
  this.session.setCookieName(config.cookieName);
19
19
  this.session.setSessionHandlerService(this);
20
20
  this.viewContext.setViewHandlers(config.viewHandlers);
21
- this.viewContext.setMessageDialogName(config.messageDialogName);
21
+ this.viewContext.setMessageDialogName(config.messageDialogName ?? 'message-dialog');
22
22
  this.viewContext.setActionDescriptors(config.actionDescriptors);
23
23
  this.viewContext.openSmartLink.subscribe((channel) => {
24
24
  this.handleSmartLink(channel);
@@ -29,7 +29,10 @@ export class SmartBackendBootstrapService {
29
29
  await this.config.onSmartLink(channel);
30
30
  return;
31
31
  }
32
- await this.viewContext.initialize();
32
+ // Default: simply unblock showPublishedView's `await openSmartLink.toPromise()`.
33
+ // The viewContext is already initialized by start()/bootstrapWith() — calling
34
+ // initialize() here without a uuid would always trigger startViewContext(),
35
+ // creating a second viewcontext and producing duplicate UI (e.g. two login pages).
33
36
  this.viewContext.openSmartLink.complete();
34
37
  }
35
38
  start() {
@@ -98,6 +101,21 @@ export class SmartBackendBootstrapService {
98
101
  }
99
102
  await this.viewContext.initNewViewContext();
100
103
  }
104
+ /**
105
+ * Called by `SmartErrorCatchingInterceptor` for transport-level failures
106
+ * (status 0, 5xx). Fire-and-forget; the request still rejects with the
107
+ * original error so callers can do per-call handling.
108
+ */
109
+ async handleTransportError(err) {
110
+ if (!this.config) {
111
+ return Promise.reject(new Error('SmartBackendBootstrapService.configure() must be called before handleTransportError().'));
112
+ }
113
+ if (this.config.onTransportError) {
114
+ await this.config.onTransportError(err);
115
+ return;
116
+ }
117
+ console.warn('Transport error — server unreachable or 5xx', err);
118
+ }
101
119
  async runInit() {
102
120
  try {
103
121
  await this.session.initialize();
@@ -145,4 +163,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
145
163
  type: Injectable,
146
164
  args: [{ providedIn: 'root' }]
147
165
  }], ctorParameters: () => [{ type: i1.SmartSessionService }, { type: i2.SmartViewContextService }] });
148
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtYmFja2VuZC1ib290c3RyYXAuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3Nlc3Npb24vc21hcnQtYmFja2VuZC1ib290c3RyYXAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBWTNDLE1BQU0sT0FBTyw0QkFBNEI7SUFPdkMsWUFDVSxPQUE0QixFQUM1QixXQUFvQztRQURwQyxZQUFPLEdBQVAsT0FBTyxDQUFxQjtRQUM1QixnQkFBVyxHQUFYLFdBQVcsQ0FBeUI7UUFOdEMsbUJBQWMsR0FBRyxLQUFLLENBQUM7SUFPNUIsQ0FBQztJQUVKLFNBQVMsQ0FBQyxNQUFtQztRQUMzQyxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNoQixPQUFPLENBQUMsSUFBSSxDQUFDLHVGQUF1RixDQUFDLENBQUM7WUFDdEcsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUVyQixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxPQUFPLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFNUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxXQUFXLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDaEUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsaUJBQWlC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NEI7bUhBQTVCLDRCQUE0QixjQURmLE1BQU07OzRGQUNuQiw0QkFBNEI7a0JBRHhDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU21hcnRTZXNzaW9uU2VydmljZSB9IGZyb20gJy4vc21hcnQtc2Vzc2lvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFNtYXJ0Vmlld0NvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi4vdmlldy1jb250ZXh0L3NtYXJ0LXZpZXctY29udGV4dC5zZXJ2aWNlJztcbmltcG9ydCB7IFNlc3Npb25FcnJvciwgU21hcnRTZXNzaW9uSGFuZGxlclNlcnZpY2UgfSBmcm9tICcuL3NtYXJ0LXNlc3Npb24taGFuZGxlci5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIFNtYXJ0QmFja2VuZEJvb3RzdHJhcENvbmZpZyxcbiAgU21hcnRCYWNrZW5kQm9vdHN0cmFwQ3JlZGVudGlhbHMsXG59IGZyb20gJy4vc21hcnQtYmFja2VuZC1ib290c3RyYXAuY29uZmlnJztcblxudHlwZSBCb290c3RyYXBNb2RlID0gJ3N0YXJ0JyB8ICdib290c3RyYXBXaXRoJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBTbWFydEJhY2tlbmRCb290c3RyYXBTZXJ2aWNlIGltcGxlbWVudHMgU21hcnRTZXNzaW9uSGFuZGxlclNlcnZpY2Uge1xuICBwcml2YXRlIGNvbmZpZz86IFNtYXJ0QmFja2VuZEJvb3RzdHJhcENvbmZpZztcbiAgcHJpdmF0ZSBydW5uaW5nSW5pdD86IFByb21pc2U8dm9pZD47XG4gIHByaXZhdGUgbGFzdEluaXRGYWlsZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBtb2RlPzogQm9vdHN0cmFwTW9kZTtcbiAgcHJpdmF0ZSBydW5uaW5nVmlld0NvbnRleHRMb3N0PzogUHJvbWlzZTx2b2lkPjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHNlc3Npb246IFNtYXJ0U2Vzc2lvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSB2aWV3Q29udGV4dDogU21hcnRWaWV3Q29udGV4dFNlcnZpY2UsXG4gICkge31cblxuICBjb25maWd1cmUoY29uZmlnOiBTbWFydEJhY2tlbmRCb290c3RyYXBDb25maWcpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jb25maWcpIHtcbiAgICAgIGNvbnNvbGUud2FybignU21hcnRCYWNrZW5kQm9vdHN0cmFwU2VydmljZSBhbHJlYWR5IGNvbmZpZ3VyZWQ7IGlnbm9yaW5nIGR1cGxpY2F0ZSBjb25maWd1cmUoKSBjYWxsLicpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmNvbmZpZyA9IGNvbmZpZztcblxuICAgIHRoaXMuc2Vzc2lvbi5zZXRVcmwoY29uZmlnLnVybCk7XG4gICAgdGhpcy5zZXNzaW9uLnNldENvb2tpZU5hbWUoY29uZmlnLmNvb2tpZU5hbWUpO1xuICAgIHRoaXMuc2Vzc2lvbi5zZXRTZXNzaW9uSGFuZGxlclNlcnZpY2UodGhpcyk7XG5cbiAgICB0aGlzLnZpZXdDb250ZXh0LnNldFZpZXdIYW5kbGVycyhjb25maWcudmlld0hhbmRsZXJzKTtcbiAgICB0aGlzLnZpZXdDb250ZXh0LnNldE1lc3NhZ2VEaWFsb2dOYW1lKGNvbmZpZy5tZXNzYWdlRGlhbG9nTmFtZSk7XG4gICAgdGhpcy52aWV3Q29udGV4dC5zZXRBY3Rpb25EZXNjcmlwdG9ycyhjb25maWcuYWN0aW9uRGVzY3JpcHRvcnMpO1xuXG4gICAgdGhpcy52aWV3Q29udGV4dC5vcGVuU21hcnRMaW5rLnN1YnNjcmliZSgoY2hhbm5lbDogc3RyaW5nKSA9PiB7XG4gICAgICB0aGlzLmhhbmRsZVNtYXJ0TGluayhjaGFubmVsKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgaGFuZGxlU21hcnRMaW5rKGNoYW5uZWw6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh0aGlzLmNvbmZpZz8ub25TbWFydExpbmspIHtcbiAgICAgIGF3YWl0IHRoaXMuY29uZmlnLm9uU21hcnRMaW5rKGNoYW5uZWwpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBhd2FpdCB0aGlzLnZpZXdDb250ZXh0LmluaXRpYWxpemUoKTtcbiAgICB0aGlzLnZpZXdDb250ZXh0Lm9wZW5TbWFydExpbmsuY29tcGxldGUoKTtcbiAgfVxuXG4gIHN0YXJ0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICghdGhpcy5jb25maWcpIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoJ1NtYXJ0QmFja2VuZEJvb3RzdHJhcFNlcnZpY2UuY29uZmlndXJlKCkgbXVzdCBiZSBjYWxsZWQgYmVmb3JlIHN0YXJ0KCkuJykpO1xuICAgIH1cbiAgICBpZiAodGhpcy5tb2RlID09PSAnYm9vdHN0cmFwV2l0aCcgJiYgIXRoaXMubGFzdEluaXRGYWlsZWQpIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoXG4gICAgICAgICdTbWFydEJhY2tlbmRCb290c3RyYXBTZXJ2aWNlLmJvb3RzdHJhcFdpdGgoKSB3YXMgYWxyZWFkeSBjYWxsZWQ7IHN0YXJ0KCkgaXMgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggaXQuIENhbGwgcmVzZXQoKSBmaXJzdCB0byBzd2l0Y2ggZW50cnkgcG9pbnRzLicsXG4gICAgICApKTtcbiAgICB9XG4gICAgaWYgKHRoaXMucnVubmluZ0luaXQgJiYgIXRoaXMubGFzdEluaXRGYWlsZWQpIHtcbiAgICAgIHJldHVybiB0aGlzLnJ1bm5pbmdJbml0O1xuICAgIH1cbiAgICB0aGlzLm1vZGUgPSAnc3RhcnQnO1xuICAgIHRoaXMubGFzdEluaXRGYWlsZWQgPSBmYWxzZTtcbiAgICB0aGlzLnJ1bm5pbmdJbml0ID0gdGhpcy5ydW5Jbml0KCk7XG4gICAgcmV0dXJuIHRoaXMucnVubmluZ0luaXQ7XG4gIH1cblxuICBib290c3RyYXBXaXRoKGNyZWRzOiBTbWFydEJhY2tlbmRCb290c3RyYXBDcmVkZW50aWFscyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICghdGhpcy5jb25maWcpIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoJ1NtYXJ0QmFja2VuZEJvb3RzdHJhcFNlcnZpY2UuY29uZmlndXJlKCkgbXVzdCBiZSBjYWxsZWQgYmVmb3JlIGJvb3RzdHJhcFdpdGgoKS4nKSk7XG4gICAgfVxuICAgIGlmICh0aGlzLm1vZGUgPT09ICdzdGFydCcgJiYgIXRoaXMubGFzdEluaXRGYWlsZWQpIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoXG4gICAgICAgICdTbWFydEJhY2tlbmRCb290c3RyYXBTZXJ2aWNlLnN0YXJ0KCkgd2FzIGFscmVhZHkgY2FsbGVkOyBib290c3RyYXBXaXRoKCkgaXMgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggaXQuIENhbGwgcmVzZXQoKSBmaXJzdCB0byBzd2l0Y2ggZW50cnkgcG9pbnRzLicsXG4gICAgICApKTtcbiAgICB9XG4gICAgaWYgKHRoaXMucnVubmluZ0luaXQgJiYgIXRoaXMubGFzdEluaXRGYWlsZWQpIHtcbiAgICAgIHJldHVybiB0aGlzLnJ1bm5pbmdJbml0O1xuICAgIH1cbiAgICB0aGlzLm1vZGUgPSAnYm9vdHN0cmFwV2l0aCc7XG4gICAgdGhpcy5sYXN0SW5pdEZhaWxlZCA9IGZhbHNlO1xuICAgIHRoaXMucnVubmluZ0luaXQgPSB0aGlzLnJ1bkJvb3RzdHJhcFdpdGgoY3JlZHMpO1xuICAgIHJldHVybiB0aGlzLnJ1bm5pbmdJbml0O1xuICB9XG5cbiAgd2hlblJlYWR5KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICghdGhpcy5ydW5uaW5nSW5pdCkge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcignQm9vdHN0cmFwTm90U3RhcnRlZCcpKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMucnVubmluZ0luaXQ7XG4gIH1cblxuICBhc3luYyByZXNldCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLnJ1bm5pbmdJbml0ID0gdW5kZWZpbmVkO1xuICAgIHRoaXMubGFzdEluaXRGYWlsZWQgPSBmYWxzZTtcbiAgICB0aGlzLm1vZGUgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5ydW5uaW5nVmlld0NvbnRleHRMb3N0ID0gdW5kZWZpbmVkO1xuICAgIHJldHVybiB0aGlzLnN0YXJ0KCk7XG4gIH1cblxuICAvKipcbiAgICogQ2FsbGVkIGJ5IGBTbWFydEVycm9yQ2F0Y2hpbmdJbnRlcmNlcHRvcmAgd2hlbiB0aGUgYmFja2VuZCByZXBvcnRzXG4gICAqIGBzZXNzaW9uLnZpZXdjb250ZXh0Lm1pc3NpbmdgLiBJZGVtcG90ZW50IGFjcm9zcyBjb25jdXJyZW50IGFuZFxuICAgKiBzZXF1ZW50aWFsIGNhbGxzIHVudGlsIHRoZSBuZXh0IGByZXNldCgpYCDigJQgbXVsdGlwbGUgcmFjaW5nIEJGRlxuICAgKiBmYWlsdXJlcyBjb2xsYXBzZSBpbnRvIGEgc2luZ2xlIHJlY292ZXJ5IGF0dGVtcHQuXG4gICAqL1xuICBoYW5kbGVWaWV3Q29udGV4dExvc3QoZXJyOiBTZXNzaW9uRXJyb3IpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoIXRoaXMuY29uZmlnKSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IEVycm9yKFxuICAgICAgICAnU21hcnRCYWNrZW5kQm9vdHN0cmFwU2VydmljZS5jb25maWd1cmUoKSBtdXN0IGJlIGNhbGxlZCBiZWZvcmUgaGFuZGxlVmlld0NvbnRleHRMb3N0KCkuJyxcbiAgICAgICkpO1xuICAgIH1cbiAgICBpZiAodGhpcy5ydW5uaW5nVmlld0NvbnRleHRMb3N0KSB7XG4gICAgICByZXR1cm4gdGhpcy5ydW5uaW5nVmlld0NvbnRleHRMb3N0O1xuICAgIH1cbiAgICB0aGlzLnJ1bm5pbmdWaWV3Q29udGV4dExvc3QgPSB0aGlzLnJ1blZpZXdDb250ZXh0TG9zdChlcnIpO1xuICAgIHJldHVybiB0aGlzLnJ1bm5pbmdWaWV3Q29udGV4dExvc3Q7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHJ1blZpZXdDb250ZXh0TG9zdChlcnI6IFNlc3Npb25FcnJvcik6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh0aGlzLmNvbmZpZz8ub25WaWV3Q29udGV4dExvc3QpIHtcbiAgICAgIGF3YWl0IHRoaXMuY29uZmlnLm9uVmlld0NvbnRleHRMb3N0KGVycik7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGF3YWl0IHRoaXMudmlld0NvbnRleHQuaW5pdE5ld1ZpZXdDb250ZXh0KCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHJ1bkluaXQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMuc2Vzc2lvbi5pbml0aWFsaXplKCk7XG4gICAgICBhd2FpdCB0aGlzLnZpZXdDb250ZXh0LmluaXRWaWV3Q29udGV4dCgpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgYXdhaXQgdGhpcy5oYW5kbGVJbml0RmFpbHVyZShlcnIpO1xuICAgICAgdGhyb3cgZXJyO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcnVuQm9vdHN0cmFwV2l0aChjcmVkczogU21hcnRCYWNrZW5kQm9vdHN0cmFwQ3JlZGVudGlhbHMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgdGhpcy5zZXNzaW9uLnNldFNlc3Npb25Ub2tlbihjcmVkcy5zZXNzaW9uVG9rZW4sIGNyZWRzLnJlZnJlc2hUb2tlbik7XG4gICAgICBhd2FpdCB0aGlzLnZpZXdDb250ZXh0LmluaXRGcm9tRXhpc3RpbmdWaWV3Q29udGV4dChjcmVkcy52aWV3Q29udGV4dFV1aWQpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgYXdhaXQgdGhpcy5oYW5kbGVJbml0RmFpbHVyZShlcnIpO1xuICAgICAgdGhyb3cgZXJyO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgaGFuZGxlSW5pdEZhaWx1cmUoZXJyOiB1bmtub3duKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5sYXN0SW5pdEZhaWxlZCA9IHRydWU7XG4gICAgaWYgKHRoaXMuY29uZmlnPy5vblN0YXJ0RXJyb3IpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGF3YWl0IHRoaXMuY29uZmlnLm9uU3RhcnRFcnJvcihlcnIpO1xuICAgICAgfSBjYXRjaCAoY2FsbGJhY2tFcnIpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcignU21hcnRCYWNrZW5kQm9vdHN0cmFwU2VydmljZS5vblN0YXJ0RXJyb3IgY2FsbGJhY2sgdGhyZXcnLCBjYWxsYmFja0Vycik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgaGFuZGxlU2Vzc2lvbkVycm9yKGVycjogU2Vzc2lvbkVycm9yKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKHRoaXMuY29uZmlnPy5vblNlc3Npb25FcnJvcikge1xuICAgICAgYXdhaXQgdGhpcy5jb25maWcub25TZXNzaW9uRXJyb3IoZXJyKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgLy8gRGVmYXVsdDogY2xlYXIgdGhlIHNlc3Npb24gYW5kIGxldCB0aGUgYmFja2VuZCByZWJ1aWxkIHZpYSBSRVNUQVJUX1ZJRVdDT05URVhULlxuICAgIC8vIE5vIHJvdXRlciBuYXZpZ2F0aW9uIGhlcmUg4oCUIHRoZSBuZXcgdmlld2NvbnRleHQgZHJpdmVzIG5hdmlnYXRpb24gc2VydmVyLXNpZGUuXG4gICAgYXdhaXQgdGhpcy5zZXNzaW9uLmNsZWFyQW5kU3RhcnROZXdTZXNzaW9uKCk7XG4gIH1cbn1cbiJdfQ==
166
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtYmFja2VuZC1ib290c3RyYXAuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3Nlc3Npb24vc21hcnQtYmFja2VuZC1ib290c3RyYXAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBWTNDLE1BQU0sT0FBTyw0QkFBNEI7SUFPdkMsWUFDVSxPQUE0QixFQUM1QixXQUFvQztRQURwQyxZQUFPLEdBQVAsT0FBTyxDQUFxQjtRQUM1QixnQkFBVyxHQUFYLFdBQVcsQ0FBeUI7UUFOdEMsbUJBQWMsR0FBRyxLQUFLLENBQUM7SUFPNUIsQ0FBQztJQUVKLFNBQVMsQ0FBQyxNQUFtQztRQUMzQyxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNoQixPQUFPLENBQUMsSUFBSSxDQUFDLHVGQUF1RixDQUFDLENBQUM7WUFDdEcsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUVyQixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxPQUFPLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFNUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxXQUFXLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLGlCQUFpQixJQUFJLGdCQUFnQixDQUFDLENBQUM7UUFDcEYsSUFBSSxDQUFDLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFN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QztZQUN0QyxDQUFDO1lBQUMsT0FBTyxXQUFXLEVBQUUsQ0FBQztnQkFDckIsT0FBTyxDQUFDLEtBQUssQ0FBQywwREFBMEQsRUFBRSxXQUFXLENBQUMsQ0FBQztZQUN6RixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsa0JBQWtCLENBQUMsR0FBaUI7UUFDeEMsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLGNBQWMsRUFBRSxDQUFDO1lBQ2hDLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDdEMsT0FBTztRQUNULENBQUM7UUFDRCxrRkFBa0Y7UUFDbEYsaUZBQWlGO1FBQ2pGLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO0lBQy9DLENBQUM7K0dBbkxVLDRCQUE0QjttSEFBNUIsNEJBQTRCLGNBRGYsTUFBTTs7NEZBQ25CLDRCQUE0QjtrQkFEeEMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNtYXJ0U2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuL3NtYXJ0LXNlc3Npb24uc2VydmljZSc7XG5pbXBvcnQgeyBTbWFydFZpZXdDb250ZXh0U2VydmljZSB9IGZyb20gJy4uL3ZpZXctY29udGV4dC9zbWFydC12aWV3LWNvbnRleHQuc2VydmljZSc7XG5pbXBvcnQgeyBTZXNzaW9uRXJyb3IsIFNtYXJ0U2Vzc2lvbkhhbmRsZXJTZXJ2aWNlIH0gZnJvbSAnLi9zbWFydC1zZXNzaW9uLWhhbmRsZXIuc2VydmljZSc7XG5pbXBvcnQge1xuICBTbWFydEJhY2tlbmRCb290c3RyYXBDb25maWcsXG4gIFNtYXJ0QmFja2VuZEJvb3RzdHJhcENyZWRlbnRpYWxzLFxufSBmcm9tICcuL3NtYXJ0LWJhY2tlbmQtYm9vdHN0cmFwLmNvbmZpZyc7XG5cbnR5cGUgQm9vdHN0cmFwTW9kZSA9ICdzdGFydCcgfCAnYm9vdHN0cmFwV2l0aCc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgU21hcnRCYWNrZW5kQm9vdHN0cmFwU2VydmljZSBpbXBsZW1lbnRzIFNtYXJ0U2Vzc2lvbkhhbmRsZXJTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBjb25maWc/OiBTbWFydEJhY2tlbmRCb290c3RyYXBDb25maWc7XG4gIHByaXZhdGUgcnVubmluZ0luaXQ/OiBQcm9taXNlPHZvaWQ+O1xuICBwcml2YXRlIGxhc3RJbml0RmFpbGVkID0gZmFsc2U7XG4gIHByaXZhdGUgbW9kZT86IEJvb3RzdHJhcE1vZGU7XG4gIHByaXZhdGUgcnVubmluZ1ZpZXdDb250ZXh0TG9zdD86IFByb21pc2U8dm9pZD47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzZXNzaW9uOiBTbWFydFNlc3Npb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgdmlld0NvbnRleHQ6IFNtYXJ0Vmlld0NvbnRleHRTZXJ2aWNlLFxuICApIHt9XG5cbiAgY29uZmlndXJlKGNvbmZpZzogU21hcnRCYWNrZW5kQm9vdHN0cmFwQ29uZmlnKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY29uZmlnKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ1NtYXJ0QmFja2VuZEJvb3RzdHJhcFNlcnZpY2UgYWxyZWFkeSBjb25maWd1cmVkOyBpZ25vcmluZyBkdXBsaWNhdGUgY29uZmlndXJlKCkgY2FsbC4nKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5jb25maWcgPSBjb25maWc7XG5cbiAgICB0aGlzLnNlc3Npb24uc2V0VXJsKGNvbmZpZy51cmwpO1xuICAgIHRoaXMuc2Vzc2lvbi5zZXRDb29raWVOYW1lKGNvbmZpZy5jb29raWVOYW1lKTtcbiAgICB0aGlzLnNlc3Npb24uc2V0U2Vzc2lvbkhhbmRsZXJTZXJ2aWNlKHRoaXMpO1xuXG4gICAgdGhpcy52aWV3Q29udGV4dC5zZXRWaWV3SGFuZGxlcnMoY29uZmlnLnZpZXdIYW5kbGVycyk7XG4gICAgdGhpcy52aWV3Q29udGV4dC5zZXRNZXNzYWdlRGlhbG9nTmFtZShjb25maWcubWVzc2FnZURpYWxvZ05hbWUgPz8gJ21lc3NhZ2UtZGlhbG9nJyk7XG4gICAgdGhpcy52aWV3Q29udGV4dC5zZXRBY3Rpb25EZXNjcmlwdG9ycyhjb25maWcuYWN0aW9uRGVzY3JpcHRvcnMpO1xuXG4gICAgdGhpcy52aWV3Q29udGV4dC5vcGVuU21hcnRMaW5rLnN1YnNjcmliZSgoY2hhbm5lbDogc3RyaW5nKSA9PiB7XG4gICAgICB0aGlzLmhhbmRsZVNtYXJ0TGluayhjaGFubmVsKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgaGFuZGxlU21hcnRMaW5rKGNoYW5uZWw6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh0aGlzLmNvbmZpZz8ub25TbWFydExpbmspIHtcbiAgICAgIGF3YWl0IHRoaXMuY29uZmlnLm9uU21hcnRMaW5rKGNoYW5uZWwpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICAvLyBEZWZhdWx0OiBzaW1wbHkgdW5ibG9jayBzaG93UHVibGlzaGVkVmlldydzIGBhd2FpdCBvcGVuU21hcnRMaW5rLnRvUHJvbWlzZSgpYC5cbiAgICAvLyBUaGUgdmlld0NvbnRleHQgaXMgYWxyZWFkeSBpbml0aWFsaXplZCBieSBzdGFydCgpL2Jvb3RzdHJhcFdpdGgoKSDigJQgY2FsbGluZ1xuICAgIC8vIGluaXRpYWxpemUoKSBoZXJlIHdpdGhvdXQgYSB1dWlkIHdvdWxkIGFsd2F5cyB0cmlnZ2VyIHN0YXJ0Vmlld0NvbnRleHQoKSxcbiAgICAvLyBjcmVhdGluZyBhIHNlY29uZCB2aWV3Y29udGV4dCBhbmQgcHJvZHVjaW5nIGR1cGxpY2F0ZSBVSSAoZS5nLiB0d28gbG9naW4gcGFnZXMpLlxuICAgIHRoaXMudmlld0NvbnRleHQub3BlblNtYXJ0TGluay5jb21wbGV0ZSgpO1xuICB9XG5cbiAgc3RhcnQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCF0aGlzLmNvbmZpZykge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcignU21hcnRCYWNrZW5kQm9vdHN0cmFwU2VydmljZS5jb25maWd1cmUoKSBtdXN0IGJlIGNhbGxlZCBiZWZvcmUgc3RhcnQoKS4nKSk7XG4gICAgfVxuICAgIGlmICh0aGlzLm1vZGUgPT09ICdib290c3RyYXBXaXRoJyAmJiAhdGhpcy5sYXN0SW5pdEZhaWxlZCkge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcihcbiAgICAgICAgJ1NtYXJ0QmFja2VuZEJvb3RzdHJhcFNlcnZpY2UuYm9vdHN0cmFwV2l0aCgpIHdhcyBhbHJlYWR5IGNhbGxlZDsgc3RhcnQoKSBpcyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCBpdC4gQ2FsbCByZXNldCgpIGZpcnN0IHRvIHN3aXRjaCBlbnRyeSBwb2ludHMuJyxcbiAgICAgICkpO1xuICAgIH1cbiAgICBpZiAodGhpcy5ydW5uaW5nSW5pdCAmJiAhdGhpcy5sYXN0SW5pdEZhaWxlZCkge1xuICAgICAgcmV0dXJuIHRoaXMucnVubmluZ0luaXQ7XG4gICAgfVxuICAgIHRoaXMubW9kZSA9ICdzdGFydCc7XG4gICAgdGhpcy5sYXN0SW5pdEZhaWxlZCA9IGZhbHNlO1xuICAgIHRoaXMucnVubmluZ0luaXQgPSB0aGlzLnJ1bkluaXQoKTtcbiAgICByZXR1cm4gdGhpcy5ydW5uaW5nSW5pdDtcbiAgfVxuXG4gIGJvb3RzdHJhcFdpdGgoY3JlZHM6IFNtYXJ0QmFja2VuZEJvb3RzdHJhcENyZWRlbnRpYWxzKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCF0aGlzLmNvbmZpZykge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcignU21hcnRCYWNrZW5kQm9vdHN0cmFwU2VydmljZS5jb25maWd1cmUoKSBtdXN0IGJlIGNhbGxlZCBiZWZvcmUgYm9vdHN0cmFwV2l0aCgpLicpKTtcbiAgICB9XG4gICAgaWYgKHRoaXMubW9kZSA9PT0gJ3N0YXJ0JyAmJiAhdGhpcy5sYXN0SW5pdEZhaWxlZCkge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcihcbiAgICAgICAgJ1NtYXJ0QmFja2VuZEJvb3RzdHJhcFNlcnZpY2Uuc3RhcnQoKSB3YXMgYWxyZWFkeSBjYWxsZWQ7IGJvb3RzdHJhcFdpdGgoKSBpcyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCBpdC4gQ2FsbCByZXNldCgpIGZpcnN0IHRvIHN3aXRjaCBlbnRyeSBwb2ludHMuJyxcbiAgICAgICkpO1xuICAgIH1cbiAgICBpZiAodGhpcy5ydW5uaW5nSW5pdCAmJiAhdGhpcy5sYXN0SW5pdEZhaWxlZCkge1xuICAgICAgcmV0dXJuIHRoaXMucnVubmluZ0luaXQ7XG4gICAgfVxuICAgIHRoaXMubW9kZSA9ICdib290c3RyYXBXaXRoJztcbiAgICB0aGlzLmxhc3RJbml0RmFpbGVkID0gZmFsc2U7XG4gICAgdGhpcy5ydW5uaW5nSW5pdCA9IHRoaXMucnVuQm9vdHN0cmFwV2l0aChjcmVkcyk7XG4gICAgcmV0dXJuIHRoaXMucnVubmluZ0luaXQ7XG4gIH1cblxuICB3aGVuUmVhZHkoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCF0aGlzLnJ1bm5pbmdJbml0KSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IEVycm9yKCdCb290c3RyYXBOb3RTdGFydGVkJykpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5ydW5uaW5nSW5pdDtcbiAgfVxuXG4gIGFzeW5jIHJlc2V0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMucnVubmluZ0luaXQgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5sYXN0SW5pdEZhaWxlZCA9IGZhbHNlO1xuICAgIHRoaXMubW9kZSA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLnJ1bm5pbmdWaWV3Q29udGV4dExvc3QgPSB1bmRlZmluZWQ7XG4gICAgcmV0dXJuIHRoaXMuc3RhcnQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxsZWQgYnkgYFNtYXJ0RXJyb3JDYXRjaGluZ0ludGVyY2VwdG9yYCB3aGVuIHRoZSBiYWNrZW5kIHJlcG9ydHNcbiAgICogYHNlc3Npb24udmlld2NvbnRleHQubWlzc2luZ2AuIElkZW1wb3RlbnQgYWNyb3NzIGNvbmN1cnJlbnQgYW5kXG4gICAqIHNlcXVlbnRpYWwgY2FsbHMgdW50aWwgdGhlIG5leHQgYHJlc2V0KClgIOKAlCBtdWx0aXBsZSByYWNpbmcgQkZGXG4gICAqIGZhaWx1cmVzIGNvbGxhcHNlIGludG8gYSBzaW5nbGUgcmVjb3ZlcnkgYXR0ZW1wdC5cbiAgICovXG4gIGhhbmRsZVZpZXdDb250ZXh0TG9zdChlcnI6IFNlc3Npb25FcnJvcik6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICghdGhpcy5jb25maWcpIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoXG4gICAgICAgICdTbWFydEJhY2tlbmRCb290c3RyYXBTZXJ2aWNlLmNvbmZpZ3VyZSgpIG11c3QgYmUgY2FsbGVkIGJlZm9yZSBoYW5kbGVWaWV3Q29udGV4dExvc3QoKS4nLFxuICAgICAgKSk7XG4gICAgfVxuICAgIGlmICh0aGlzLnJ1bm5pbmdWaWV3Q29udGV4dExvc3QpIHtcbiAgICAgIHJldHVybiB0aGlzLnJ1bm5pbmdWaWV3Q29udGV4dExvc3Q7XG4gICAgfVxuICAgIHRoaXMucnVubmluZ1ZpZXdDb250ZXh0TG9zdCA9IHRoaXMucnVuVmlld0NvbnRleHRMb3N0KGVycik7XG4gICAgcmV0dXJuIHRoaXMucnVubmluZ1ZpZXdDb250ZXh0TG9zdDtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcnVuVmlld0NvbnRleHRMb3N0KGVycjogU2Vzc2lvbkVycm9yKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKHRoaXMuY29uZmlnPy5vblZpZXdDb250ZXh0TG9zdCkge1xuICAgICAgYXdhaXQgdGhpcy5jb25maWcub25WaWV3Q29udGV4dExvc3QoZXJyKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgYXdhaXQgdGhpcy52aWV3Q29udGV4dC5pbml0TmV3Vmlld0NvbnRleHQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxsZWQgYnkgYFNtYXJ0RXJyb3JDYXRjaGluZ0ludGVyY2VwdG9yYCBmb3IgdHJhbnNwb3J0LWxldmVsIGZhaWx1cmVzXG4gICAqIChzdGF0dXMgMCwgNXh4KS4gRmlyZS1hbmQtZm9yZ2V0OyB0aGUgcmVxdWVzdCBzdGlsbCByZWplY3RzIHdpdGggdGhlXG4gICAqIG9yaWdpbmFsIGVycm9yIHNvIGNhbGxlcnMgY2FuIGRvIHBlci1jYWxsIGhhbmRsaW5nLlxuICAgKi9cbiAgYXN5bmMgaGFuZGxlVHJhbnNwb3J0RXJyb3IoZXJyOiBIdHRwRXJyb3JSZXNwb25zZSk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICghdGhpcy5jb25maWcpIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoXG4gICAgICAgICdTbWFydEJhY2tlbmRCb290c3RyYXBTZXJ2aWNlLmNvbmZpZ3VyZSgpIG11c3QgYmUgY2FsbGVkIGJlZm9yZSBoYW5kbGVUcmFuc3BvcnRFcnJvcigpLicsXG4gICAgICApKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuY29uZmlnLm9uVHJhbnNwb3J0RXJyb3IpIHtcbiAgICAgIGF3YWl0IHRoaXMuY29uZmlnLm9uVHJhbnNwb3J0RXJyb3IoZXJyKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc29sZS53YXJuKCdUcmFuc3BvcnQgZXJyb3Ig4oCUIHNlcnZlciB1bnJlYWNoYWJsZSBvciA1eHgnLCBlcnIpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBydW5Jbml0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLnNlc3Npb24uaW5pdGlhbGl6ZSgpO1xuICAgICAgYXdhaXQgdGhpcy52aWV3Q29udGV4dC5pbml0Vmlld0NvbnRleHQoKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGF3YWl0IHRoaXMuaGFuZGxlSW5pdEZhaWx1cmUoZXJyKTtcbiAgICAgIHRocm93IGVycjtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHJ1bkJvb3RzdHJhcFdpdGgoY3JlZHM6IFNtYXJ0QmFja2VuZEJvb3RzdHJhcENyZWRlbnRpYWxzKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMuc2Vzc2lvbi5zZXRTZXNzaW9uVG9rZW4oY3JlZHMuc2Vzc2lvblRva2VuLCBjcmVkcy5yZWZyZXNoVG9rZW4pO1xuICAgICAgYXdhaXQgdGhpcy52aWV3Q29udGV4dC5pbml0RnJvbUV4aXN0aW5nVmlld0NvbnRleHQoY3JlZHMudmlld0NvbnRleHRVdWlkKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGF3YWl0IHRoaXMuaGFuZGxlSW5pdEZhaWx1cmUoZXJyKTtcbiAgICAgIHRocm93IGVycjtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGhhbmRsZUluaXRGYWlsdXJlKGVycjogdW5rbm93bik6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMubGFzdEluaXRGYWlsZWQgPSB0cnVlO1xuICAgIGlmICh0aGlzLmNvbmZpZz8ub25TdGFydEVycm9yKSB7XG4gICAgICB0cnkge1xuICAgICAgICBhd2FpdCB0aGlzLmNvbmZpZy5vblN0YXJ0RXJyb3IoZXJyKTtcbiAgICAgIH0gY2F0Y2ggKGNhbGxiYWNrRXJyKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ1NtYXJ0QmFja2VuZEJvb3RzdHJhcFNlcnZpY2Uub25TdGFydEVycm9yIGNhbGxiYWNrIHRocmV3JywgY2FsbGJhY2tFcnIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGhhbmRsZVNlc3Npb25FcnJvcihlcnI6IFNlc3Npb25FcnJvcik6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh0aGlzLmNvbmZpZz8ub25TZXNzaW9uRXJyb3IpIHtcbiAgICAgIGF3YWl0IHRoaXMuY29uZmlnLm9uU2Vzc2lvbkVycm9yKGVycik7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIC8vIERlZmF1bHQ6IGNsZWFyIHRoZSBzZXNzaW9uIGFuZCBsZXQgdGhlIGJhY2tlbmQgcmVidWlsZCB2aWEgUkVTVEFSVF9WSUVXQ09OVEVYVC5cbiAgICAvLyBObyByb3V0ZXIgbmF2aWdhdGlvbiBoZXJlIOKAlCB0aGUgbmV3IHZpZXdjb250ZXh0IGRyaXZlcyBuYXZpZ2F0aW9uIHNlcnZlci1zaWRlLlxuICAgIGF3YWl0IHRoaXMuc2Vzc2lvbi5jbGVhckFuZFN0YXJ0TmV3U2Vzc2lvbigpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,134 @@
1
+ import { Injectable, inject } from '@angular/core';
2
+ import { MatSnackBar } from '@angular/material/snack-bar';
3
+ import { SmartSessionService } from './smart-session.service';
4
+ import * as i0 from "@angular/core";
5
+ const STRINGS_HU = {
6
+ startErrorMessage: 'A szerver nem elérhető.',
7
+ startErrorRetry: 'Újrapróbálás',
8
+ transportErrorMessage: 'A szerver nem elérhető.',
9
+ transportErrorReload: 'Újratöltés',
10
+ sessionErrorMessage: 'A munkamenet lejárt, kérjük jelentkezzen be újra.',
11
+ sessionErrorAction: 'Bejelentkezés',
12
+ };
13
+ const STRINGS_EN = {
14
+ startErrorMessage: 'The server is unavailable.',
15
+ startErrorRetry: 'Retry',
16
+ transportErrorMessage: 'The server is unavailable.',
17
+ transportErrorReload: 'Reload',
18
+ sessionErrorMessage: 'Your session has expired. Please log in again.',
19
+ sessionErrorAction: 'Log in',
20
+ };
21
+ /**
22
+ * Opt-in default UX for `SmartBackendBootstrapService` error hooks.
23
+ *
24
+ * Spread the result of `hooks(options)` into `bootstrap.configure()` to get a
25
+ * MatSnackBar-based "error + retry" UI without writing the host glue:
26
+ *
27
+ * ```ts
28
+ * bootstrap.configure({
29
+ * ...minimalConfig,
30
+ * ...defaultErrorUi.hooks({ language: 'hu' }),
31
+ * });
32
+ * ```
33
+ *
34
+ * Hosts that want custom logic can omit this service and write their own
35
+ * `onStartError` / `onTransportError` callbacks directly.
36
+ */
37
+ export class SmartDefaultErrorUiService {
38
+ constructor() {
39
+ this.snackBar = inject(MatSnackBar);
40
+ this.session = inject(SmartSessionService);
41
+ }
42
+ /** Returns a hooks bundle ready to spread into `bootstrap.configure()`. */
43
+ hooks(options = {}) {
44
+ return {
45
+ onStartError: (err) => this.showStartError(err, options),
46
+ onTransportError: (err) => this.showTransportError(err, options),
47
+ onSessionError: (err) => this.showSessionError(err, options),
48
+ };
49
+ }
50
+ showStartError(_err, options = {}) {
51
+ const s = this.resolveStrings(options);
52
+ const ref = this.snackBar.open(s.startErrorMessage, s.startErrorRetry, {
53
+ duration: 0, // sticky — app is not usable until retry succeeds
54
+ });
55
+ // Full reload, not bootstrap.start(). A bootstrap.start() retry only re-runs
56
+ // the init sequence; any components that already mounted during the failed
57
+ // attempt have rejected `whenReady()` Promises and won't re-trigger their
58
+ // run() when bootstrap eventually succeeds. Reload guarantees a clean mount.
59
+ ref.onAction().subscribe(() => this.verifyServerAndReload());
60
+ }
61
+ showTransportError(_err, options = {}) {
62
+ const s = this.resolveStrings(options);
63
+ const ref = this.snackBar.open(s.transportErrorMessage, s.transportErrorReload, {
64
+ duration: options.transportErrorDuration ?? 0,
65
+ });
66
+ ref.onAction().subscribe(() => this.verifyServerAndReload());
67
+ }
68
+ showSessionError(_err, options = {}) {
69
+ const s = this.resolveStrings(options);
70
+ const ref = this.snackBar.open(s.sessionErrorMessage, s.sessionErrorAction, {
71
+ duration: 0, // sticky — session is invalid until the user takes action
72
+ });
73
+ ref.onAction().subscribe(() => this.recoverSession());
74
+ }
75
+ /**
76
+ * Clears the dead session and reloads. Unlike `verifyServerAndReload`, this
77
+ * does NOT pre-check via `getSession()` — the SID is known to be invalid,
78
+ * so the check would fail. We best-effort `clearAndStartNewSession()`
79
+ * (creates a fresh anonymous session); reload happens regardless so the
80
+ * user is not stuck if the clear fails (e.g., server flapping).
81
+ *
82
+ * Overridable in tests.
83
+ */
84
+ async recoverSession() {
85
+ try {
86
+ await this.session.clearAndStartNewSession();
87
+ }
88
+ catch {
89
+ // Server may also be down; reload anyway and let bootstrap.start() retry.
90
+ }
91
+ this.reloadPage();
92
+ }
93
+ /**
94
+ * Pings `getSession()` before reloading: if the server is still down, the
95
+ * reload would just re-trigger the broken-screen state. The failed check
96
+ * goes through `SmartErrorCatchingInterceptor` and re-fires `onTransportError`,
97
+ * so the user sees a fresh snackbar — they get visible feedback that the
98
+ * server is still unreachable, without paying the cost of a full bundle
99
+ * reload that lands on the same broken state.
100
+ *
101
+ * Overridable in tests.
102
+ */
103
+ async verifyServerAndReload() {
104
+ try {
105
+ await this.session.getSession();
106
+ }
107
+ catch {
108
+ return; // server still unreachable — interceptor re-opens the snackbar
109
+ }
110
+ this.reloadPage();
111
+ }
112
+ /** Overridable in tests. */
113
+ reloadPage() {
114
+ window.location.reload();
115
+ }
116
+ resolveStrings(options) {
117
+ const lang = this.resolveLanguage(options.language);
118
+ const base = lang === 'hu' ? STRINGS_HU : STRINGS_EN;
119
+ return { ...base, ...(options.strings ?? {}) };
120
+ }
121
+ resolveLanguage(lang) {
122
+ if (lang === 'hu' || lang === 'en') {
123
+ return lang;
124
+ }
125
+ return navigator.language?.toLowerCase().startsWith('hu') ? 'hu' : 'en';
126
+ }
127
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartDefaultErrorUiService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
128
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartDefaultErrorUiService, providedIn: 'root' }); }
129
+ }
130
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartDefaultErrorUiService, decorators: [{
131
+ type: Injectable,
132
+ args: [{ providedIn: 'root' }]
133
+ }] });
134
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZGVmYXVsdC1lcnJvci11aS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc2Vzc2lvbi9zbWFydC1kZWZhdWx0LWVycm9yLXVpLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTFELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQW9DOUQsTUFBTSxVQUFVLEdBQTBCO0lBQ3hDLGlCQUFpQixFQUFFLHlCQUF5QjtJQUM1QyxlQUFlLEVBQUUsY0FBYztJQUMvQixxQkFBcUIsRUFBRSx5QkFBeUI7SUFDaEQsb0JBQW9CLEVBQUUsWUFBWTtJQUNsQyxtQkFBbUIsRUFBRSxtREFBbUQ7SUFDeEUsa0JBQWtCLEVBQUUsZUFBZTtDQUNwQyxDQUFDO0FBRUYsTUFBTSxVQUFVLEdBQTBCO0lBQ3hDLGlCQUFpQixFQUFFLDRCQUE0QjtJQUMvQyxlQUFlLEVBQUUsT0FBTztJQUN4QixxQkFBcUIsRUFBRSw0QkFBNEI7SUFDbkQsb0JBQW9CLEVBQUUsUUFBUTtJQUM5QixtQkFBbUIsRUFBRSxnREFBZ0Q7SUFDckUsa0JBQWtCLEVBQUUsUUFBUTtDQUM3QixDQUFDO0FBRUY7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsTUFBTSxPQUFPLDBCQUEwQjtJQUR2QztRQUVVLGFBQVEsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDL0IsWUFBTyxHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0tBaUcvQztJQS9GQywyRUFBMkU7SUFDM0UsS0FBSyxDQUFDLFVBQWlDLEVBQUU7UUFLdkMsT0FBTztZQUNMLFlBQVksRUFBRSxDQUFD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QUE4QjtRQUNuRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNwRCxNQUFNLElBQUksR0FBRyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztRQUNyRCxPQUFPLEVBQUUsR0FBRyxJQUFJLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUNqRCxDQUFDO0lBRU8sZUFBZSxDQUFDLElBQTZCO1FBQ25ELElBQUksSUFBSSxLQUFLLElBQUksSUFBSSxJQUFJLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDbkMsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBQ0QsT0FBTyxTQUFTLENBQUMsUUFBUSxFQUFFLFdBQVcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDMUUsQ0FBQzsrR0FsR1UsMEJBQTBCO21IQUExQiwwQkFBMEIsY0FEYixNQUFNOzs0RkFDbkIsMEJBQTBCO2tCQUR0QyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRTbmFja0JhciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhcic7XG5pbXBvcnQgeyBTZXNzaW9uRXJyb3IgfSBmcm9tICcuL3NtYXJ0LXNlc3Npb24taGFuZGxlci5zZXJ2aWNlJztcbmltcG9ydCB7IFNtYXJ0U2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuL3NtYXJ0LXNlc3Npb24uc2VydmljZSc7XG5cbmV4cG9ydCB0eXBlIERlZmF1bHRFcnJvclVpTGFuZ3VhZ2UgPSAnaHUnIHwgJ2VuJyB8ICdhdXRvJztcblxuZXhwb3J0IGludGVyZmFjZSBEZWZhdWx0RXJyb3JVaVN0cmluZ3Mge1xuICBzdGFydEVycm9yTWVzc2FnZTogc3RyaW5nO1xuICBzdGFydEVycm9yUmV0cnk6IHN0cmluZztcbiAgdHJhbnNwb3J0RXJyb3JNZXNzYWdlOiBzdHJpbmc7XG4gIHRyYW5zcG9ydEVycm9yUmVsb2FkOiBzdHJpbmc7XG4gIHNlc3Npb25FcnJvck1lc3NhZ2U6IHN0cmluZztcbiAgc2Vzc2lvbkVycm9yQWN0aW9uOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVmYXVsdEVycm9yVWlPcHRpb25zIHtcbiAgLyoqICdhdXRvJyAoZGVmYXVsdCkgcGlja3MgJ2h1JyBpZiBuYXZpZ2F0b3IubGFuZ3VhZ2Ugc3RhcnRzIHdpdGggJ2h1JywgZWxzZSAnZW4nLiAqL1xuICBsYW5ndWFnZT86IERlZmF1bHRFcnJvclVpTGFuZ3VhZ2U7XG4gIC8qKiBPdmVycmlkZSBpbmRpdmlkdWFsIHN0cmluZ3M7IG1pc3Npbmcga2V5cyBmYWxsIGJhY2sgdG8gdGhlIGxhbmd1YWdlIGRlZmF1bHQuICovXG4gIHN0cmluZ3M/OiBQYXJ0aWFsPERlZmF1bHRFcnJvclVpU3RyaW5ncz47XG4gIC8qKlxuICAgKiBTbmFja2JhciBhdXRvLWRpc21pc3MgaW4gbXMgZm9yIHRyYW5zcG9ydEVycm9yLiBEZWZhdWx0OiAwIChzdGlja3kpLlxuICAgKlxuICAgKiBTdGlja3kgZGVmYXVsdCByYXRpb25hbGU6IGEgdHJhbnNwb3J0IGVycm9yIGNvbW1vbmx5IGxlYXZlcyB0aGUgc2NyZWVuIGluXG4gICAqIGFuIGluY29uc2lzdGVudCBzdGF0ZSAoZmFpbGVkIGNvbXBvbmVudCBsb2Fkcywgc3R1Y2sgc3Bpbm5lcnMpIHRoYXQgZG9lc1xuICAgKiBOT1Qgc2VsZi1yZWNvdmVyIHdoZW4gdGhlIHNlcnZlciByZXR1cm5zLiBBbiBhdXRvLWRpc21pc3Npbmcgc25hY2tiYXJcbiAgICogd291bGQgaGlkZSB0aGUgbm90aWZpY2F0aW9uIGJlZm9yZSB0aGUgdXNlciBjYW4gYWN0LCBsZWF2aW5nIHRoZW0gd2l0aCBhXG4gICAqIGJyb2tlbiBVSSBhbmQgbm8gd2F5IGJhY2suIFN0aWNreSBmb3JjZXMgdGhlIFJlbG9hZCBhY3Rpb24uXG4gICAqXG4gICAqIFNldCBhIHBvc2l0aXZlIG51bWJlciB0byBvcHQgaW50byBhdXRvLWRpc21pc3MgKGUuZy4gbW9iaWxlLXNoZWxsIGZsb3dzXG4gICAqIHdoZXJlIHRoZSBzaGVsbCB0ZWFycyBkb3duIHRoZSB3ZWJ2aWV3IG9uIHRyYW5zcG9ydCBlcnJvciBhbnl3YXkpLlxuICAgKlxuICAgKiBgc3RhcnRFcnJvcmAgaXMgYWx3YXlzIHN0aWNreSByZWdhcmRsZXNzIOKAlCB0aGUgYXBwIGlzIHVudXNhYmxlIHVudGlsIHRoZVxuICAgKiB1c2VyIHJldHJpZXMuXG4gICAqL1xuICB0cmFuc3BvcnRFcnJvckR1cmF0aW9uPzogbnVtYmVyO1xufVxuXG5jb25zdCBTVFJJTkdTX0hVOiBEZWZhdWx0RXJyb3JVaVN0cmluZ3MgPSB7XG4gIHN0YXJ0RXJyb3JNZXNzYWdlOiAnQSBzemVydmVyIG5lbSBlbMOpcmhldMWRLicsXG4gIHN0YXJ0RXJyb3JSZXRyeTogJ8OaanJhcHLDs2LDoWzDoXMnLFxuICB0cmFuc3BvcnRFcnJvck1lc3NhZ2U6ICdBIHN6ZXJ2ZXIgbmVtIGVsw6lyaGV0xZEuJyxcbiAgdHJhbnNwb3J0RXJyb3JSZWxvYWQ6ICfDmmpyYXTDtmx0w6lzJyxcbiAgc2Vzc2lvbkVycm9yTWVzc2FnZTogJ0EgbXVua2FtZW5ldCBsZWrDoXJ0LCBrw6lyasO8ayBqZWxlbnRrZXp6ZW4gYmUgw7pqcmEuJyxcbiAgc2Vzc2lvbkVycm9yQWN0aW9uOiAnQmVqZWxlbnRrZXrDqXMnLFxufTtcblxuY29uc3QgU1RSSU5HU19FTjogRGVmYXVsdEVycm9yVWlTdHJpbmdzID0ge1xuICBzdGFydEVycm9yTWVzc2FnZTogJ1RoZSBzZXJ2ZXIgaXMgdW5hdmFpbGFibGUuJyxcbiAgc3RhcnRFcnJvclJldHJ5OiAnUmV0cnknLFxuICB0cmFuc3BvcnRFcnJvck1lc3NhZ2U6ICdUaGUgc2VydmVyIGlzIHVuYXZhaWxhYmxlLicsXG4gIHRyYW5zcG9ydEVycm9yUmVsb2FkOiAnUmVsb2FkJyxcbiAgc2Vzc2lvbkVycm9yTWVzc2FnZTogJ1lvdXIgc2Vzc2lvbiBoYXMgZXhwaXJlZC4gUGxlYXNlIGxvZyBpbiBhZ2Fpbi4nLFxuICBzZXNzaW9uRXJyb3JBY3Rpb246ICdMb2cgaW4nLFxufTtcblxuLyoqXG4gKiBPcHQtaW4gZGVmYXVsdCBVWCBmb3IgYFNtYXJ0QmFja2VuZEJvb3RzdHJhcFNlcnZpY2VgIGVycm9yIGhvb2tzLlxuICpcbiAqIFNwcmVhZCB0aGUgcmVzdWx0IG9mIGBob29rcyhvcHRpb25zKWAgaW50byBgYm9vdHN0cmFwLmNvbmZpZ3VyZSgpYCB0byBnZXQgYVxuICogTWF0U25hY2tCYXItYmFzZWQgXCJlcnJvciArIHJldHJ5XCIgVUkgd2l0aG91dCB3cml0aW5nIHRoZSBob3N0IGdsdWU6XG4gKlxuICogYGBgdHNcbiAqIGJvb3RzdHJhcC5jb25maWd1cmUoe1xuICogICAuLi5taW5pbWFsQ29uZmlnLFxuICogICAuLi5kZWZhdWx0RXJyb3JVaS5ob29rcyh7IGxhbmd1YWdlOiAnaHUnIH0pLFxuICogfSk7XG4gKiBgYGBcbiAqXG4gKiBIb3N0cyB0aGF0IHdhbnQgY3VzdG9tIGxvZ2ljIGNhbiBvbWl0IHRoaXMgc2VydmljZSBhbmQgd3JpdGUgdGhlaXIgb3duXG4gKiBgb25TdGFydEVycm9yYCAvIGBvblRyYW5zcG9ydEVycm9yYCBjYWxsYmFja3MgZGlyZWN0bHkuXG4gKi9cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgU21hcnREZWZhdWx0RXJyb3JVaVNlcnZpY2Uge1xuICBwcml2YXRlIHNuYWNrQmFyID0gaW5qZWN0KE1hdFNuYWNrQmFyKTtcbiAgcHJpdmF0ZSBzZXNzaW9uID0gaW5qZWN0KFNtYXJ0U2Vzc2lvblNlcnZpY2UpO1xuXG4gIC8qKiBSZXR1cm5zIGEgaG9va3MgYnVuZGxlIHJlYWR5IHRvIHNwcmVhZCBpbnRvIGBib290c3RyYXAuY29uZmlndXJlKClgLiAqL1xuICBob29rcyhvcHRpb25zOiBEZWZhdWx0RXJyb3JVaU9wdGlvbnMgPSB7fSk6IHtcbiAgICBvblN0YXJ0RXJyb3I6IChlcnI6IHVua25vd24pID0+IHZvaWQ7XG4gICAgb25UcmFuc3BvcnRFcnJvcjogKGVycjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHZvaWQ7XG4gICAgb25TZXNzaW9uRXJyb3I6IChlcnI6IFNlc3Npb25FcnJvcikgPT4gdm9pZDtcbiAgfSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG9uU3RhcnRFcnJvcjogKGVycjogdW5rbm93bikgPT4gdGhpcy5zaG93U3RhcnRFcnJvcihlcnIsIG9wdGlvbnMpLFxuICAgICAgb25UcmFuc3BvcnRFcnJvcjogKGVycjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHRoaXMuc2hvd1RyYW5zcG9ydEVycm9yKGVyciwgb3B0aW9ucyksXG4gICAgICBvblNlc3Npb25FcnJvcjogKGVycjogU2Vzc2lvbkVycm9yKSA9PiB0aGlzLnNob3dTZXNzaW9uRXJyb3IoZXJyLCBvcHRpb25zKSxcbiAgICB9O1xuICB9XG5cbiAgc2hvd1N0YXJ0RXJyb3IoX2VycjogdW5rbm93biwgb3B0aW9uczogRGVmYXVsdEVycm9yVWlPcHRpb25zID0ge30pOiB2b2lkIHtcbiAgICBjb25zdCBzID0gdGhpcy5yZXNvbHZlU3RyaW5ncyhvcHRpb25zKTtcbiAgICBjb25zdCByZWYgPSB0aGlzLnNuYWNrQmFyLm9wZW4ocy5zdGFydEVycm9yTWVzc2FnZSwgcy5zdGFydEVycm9yUmV0cnksIHtcbiAgICAgIGR1cmF0aW9uOiAwLCAvLyBzdGlja3kg4oCUIGFwcCBpcyBub3QgdXNhYmxlIHVudGlsIHJldHJ5IHN1Y2NlZWRzXG4gICAgfSk7XG4gICAgLy8gRnVsbCByZWxvYWQsIG5vdCBib290c3RyYXAuc3RhcnQoKS4gQSBib290c3RyYXAuc3RhcnQoKSByZXRyeSBvbmx5IHJlLXJ1bnNcbiAgICAvLyB0aGUgaW5pdCBzZXF1ZW5jZTsgYW55IGNvbXBvbmVudHMgdGhhdCBhbHJlYWR5IG1vdW50ZWQgZHVyaW5nIHRoZSBmYWlsZWRcbiAgICAvLyBhdHRlbXB0IGhhdmUgcmVqZWN0ZWQgYHdoZW5SZWFkeSgpYCBQcm9taXNlcyBhbmQgd29uJ3QgcmUtdHJpZ2dlciB0aGVpclxuICAgIC8vIHJ1bigpIHdoZW4gYm9vdHN0cmFwIGV2ZW50dWFsbHkgc3VjY2VlZHMuIFJlbG9hZCBndWFyYW50ZWVzIGEgY2xlYW4gbW91bnQuXG4gICAgcmVmLm9uQWN0aW9uKCkuc3Vic2NyaWJlKCgpID0+IHRoaXMudmVyaWZ5U2VydmVyQW5kUmVsb2FkKCkpO1xuICB9XG5cbiAgc2hvd1RyYW5zcG9ydEVycm9yKF9lcnI6IEh0dHBFcnJvclJlc3BvbnNlLCBvcHRpb25zOiBEZWZhdWx0RXJyb3JVaU9wdGlvbnMgPSB7fSk6IHZvaWQge1xuICAgIGNvbnN0IHMgPSB0aGlzLnJlc29sdmVTdHJpbmdzKG9wdGlvbnMpO1xuICAgIGNvbnN0IHJlZiA9IHRoaXMuc25hY2tCYXIub3BlbihzLnRyYW5zcG9ydEVycm9yTWVzc2FnZSwgcy50cmFuc3BvcnRFcnJvclJlbG9hZCwge1xuICAgICAgZHVyYXRpb246IG9wdGlvbnMudHJhbnNwb3J0RXJyb3JEdXJhdGlvbiA/PyAwLFxuICAgIH0pO1xuICAgIHJlZi5vbkFjdGlvbigpLnN1YnNjcmliZSgoKSA9PiB0aGlzLnZlcmlmeVNlcnZlckFuZFJlbG9hZCgpKTtcbiAgfVxuXG4gIHNob3dTZXNzaW9uRXJyb3IoX2VycjogU2Vzc2lvbkVycm9yLCBvcHRpb25zOiBEZWZhdWx0RXJyb3JVaU9wdGlvbnMgPSB7fSk6IHZvaWQge1xuICAgIGNvbnN0IHMgPSB0aGlzLnJlc29sdmVTdHJpbmdzKG9wdGlvbnMpO1xuICAgIGNvbnN0IHJlZiA9IHRoaXMuc25hY2tCYXIub3BlbihzLnNlc3Npb25FcnJvck1lc3NhZ2UsIHMuc2Vzc2lvbkVycm9yQWN0aW9uLCB7XG4gICAgICBkdXJhdGlvbjogMCwgLy8gc3RpY2t5IOKAlCBzZXNzaW9uIGlzIGludmFsaWQgdW50aWwgdGhlIHVzZXIgdGFrZXMgYWN0aW9uXG4gICAgfSk7XG4gICAgcmVmLm9uQWN0aW9uKCkuc3Vic2NyaWJlKCgpID0+IHRoaXMucmVjb3ZlclNlc3Npb24oKSk7XG4gIH1cblxuICAvKipcbiAgICogQ2xlYXJzIHRoZSBkZWFkIHNlc3Npb24gYW5kIHJlbG9hZHMuIFVubGlrZSBgdmVyaWZ5U2VydmVyQW5kUmVsb2FkYCwgdGhpc1xuICAgKiBkb2VzIE5PVCBwcmUtY2hlY2sgdmlhIGBnZXRTZXNzaW9uKClgIOKAlCB0aGUgU0lEIGlzIGtub3duIHRvIGJlIGludmFsaWQsXG4gICAqIHNvIHRoZSBjaGVjayB3b3VsZCBmYWlsLiBXZSBiZXN0LWVmZm9ydCBgY2xlYXJBbmRTdGFydE5ld1Nlc3Npb24oKWBcbiAgICogKGNyZWF0ZXMgYSBmcmVzaCBhbm9ueW1vdXMgc2Vzc2lvbik7IHJlbG9hZCBoYXBwZW5zIHJlZ2FyZGxlc3Mgc28gdGhlXG4gICAqIHVzZXIgaXMgbm90IHN0dWNrIGlmIHRoZSBjbGVhciBmYWlscyAoZS5nLiwgc2VydmVyIGZsYXBwaW5nKS5cbiAgICpcbiAgICogT3ZlcnJpZGFibGUgaW4gdGVzdHMuXG4gICAqL1xuICBwcm90ZWN0ZWQgYXN5bmMgcmVjb3ZlclNlc3Npb24oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMuc2Vzc2lvbi5jbGVhckFuZFN0YXJ0TmV3U2Vzc2lvbigpO1xuICAgIH0gY2F0Y2gge1xuICAgICAgLy8gU2VydmVyIG1heSBhbHNvIGJlIGRvd247IHJlbG9hZCBhbnl3YXkgYW5kIGxldCBib290c3RyYXAuc3RhcnQoKSByZXRyeS5cbiAgICB9XG4gICAgdGhpcy5yZWxvYWRQYWdlKCk7XG4gIH1cblxuICAvKipcbiAgICogUGluZ3MgYGdldFNlc3Npb24oKWAgYmVmb3JlIHJlbG9hZGluZzogaWYgdGhlIHNlcnZlciBpcyBzdGlsbCBkb3duLCB0aGVcbiAgICogcmVsb2FkIHdvdWxkIGp1c3QgcmUtdHJpZ2dlciB0aGUgYnJva2VuLXNjcmVlbiBzdGF0ZS4gVGhlIGZhaWxlZCBjaGVja1xuICAgKiBnb2VzIHRocm91Z2ggYFNtYXJ0RXJyb3JDYXRjaGluZ0ludGVyY2VwdG9yYCBhbmQgcmUtZmlyZXMgYG9uVHJhbnNwb3J0RXJyb3JgLFxuICAgKiBzbyB0aGUgdXNlciBzZWVzIGEgZnJlc2ggc25hY2tiYXIg4oCUIHRoZXkgZ2V0IHZpc2libGUgZmVlZGJhY2sgdGhhdCB0aGVcbiAgICogc2VydmVyIGlzIHN0aWxsIHVucmVhY2hhYmxlLCB3aXRob3V0IHBheWluZyB0aGUgY29zdCBvZiBhIGZ1bGwgYnVuZGxlXG4gICAqIHJlbG9hZCB0aGF0IGxhbmRzIG9uIHRoZSBzYW1lIGJyb2tlbiBzdGF0ZS5cbiAgICpcbiAgICogT3ZlcnJpZGFibGUgaW4gdGVzdHMuXG4gICAqL1xuICBwcm90ZWN0ZWQgYXN5bmMgdmVyaWZ5U2VydmVyQW5kUmVsb2FkKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLnNlc3Npb24uZ2V0U2Vzc2lvbigpO1xuICAgIH0gY2F0Y2gge1xuICAgICAgcmV0dXJuOyAvLyBzZXJ2ZXIgc3RpbGwgdW5yZWFjaGFibGUg4oCUIGludGVyY2VwdG9yIHJlLW9wZW5zIHRoZSBzbmFja2JhclxuICAgIH1cbiAgICB0aGlzLnJlbG9hZFBhZ2UoKTtcbiAgfVxuXG4gIC8qKiBPdmVycmlkYWJsZSBpbiB0ZXN0cy4gKi9cbiAgcHJvdGVjdGVkIHJlbG9hZFBhZ2UoKTogdm9pZCB7XG4gICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNvbHZlU3RyaW5ncyhvcHRpb25zOiBEZWZhdWx0RXJyb3JVaU9wdGlvbnMpOiBEZWZhdWx0RXJyb3JVaVN0cmluZ3Mge1xuICAgIGNvbnN0IGxhbmcgPSB0aGlzLnJlc29sdmVMYW5ndWFnZShvcHRpb25zLmxhbmd1YWdlKTtcbiAgICBjb25zdCBiYXNlID0gbGFuZyA9PT0gJ2h1JyA/IFNUUklOR1NfSFUgOiBTVFJJTkdTX0VOO1xuICAgIHJldHVybiB7IC4uLmJhc2UsIC4uLihvcHRpb25zLnN0cmluZ3MgPz8ge30pIH07XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVMYW5ndWFnZShsYW5nPzogRGVmYXVsdEVycm9yVWlMYW5ndWFnZSk6ICdodScgfCAnZW4nIHtcbiAgICBpZiAobGFuZyA9PT0gJ2h1JyB8fCBsYW5nID09PSAnZW4nKSB7XG4gICAgICByZXR1cm4gbGFuZztcbiAgICB9XG4gICAgcmV0dXJuIG5hdmlnYXRvci5sYW5ndWFnZT8udG9Mb3dlckNhc2UoKS5zdGFydHNXaXRoKCdodScpID8gJ2h1JyA6ICdlbic7XG4gIH1cbn1cbiJdfQ==
@@ -66,11 +66,20 @@ export class SmartErrorCatchingInterceptor {
66
66
  }));
67
67
  }
68
68
  }
69
+ if (this.isTransportError(error)) {
70
+ // Fire-and-forget; the request still rejects so callers can react per-call.
71
+ this.bootstrap.handleTransportError(error).catch((err) => {
72
+ console.error('handleTransportError hook threw', err);
73
+ });
74
+ }
69
75
  return throwError(() => error);
70
76
  }
71
77
  isSessionError(error) {
72
78
  return error.status === 400 && error.error.code != null;
73
79
  }
80
+ isTransportError(error) {
81
+ return error.status === 0 || error.status >= 500;
82
+ }
74
83
  getSessionError(error) {
75
84
  return this.sessionErrorCodes.find((sessionError) => sessionError.code === error.error.code);
76
85
  }
@@ -97,4 +106,4 @@ export class SmartErrorCatchingInterceptor {
97
106
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartErrorCatchingInterceptor, decorators: [{
98
107
  type: Injectable
99
108
  }], ctorParameters: () => [{ type: i1.SmartSessionService }, { type: i2.SmartBackendBootstrapService }] });
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZXJyb3ItY2F0Y2hpbmcuaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zZXNzaW9uL3NtYXJ0LWVycm9yLWNhdGNoaW5nLmludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLElBQUksRUFBYyxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RCxPQUFPLEVBSUwscUJBQXFCLEdBRXRCLE1BQU0sWUFBWSxDQUFDOzs7O0FBSXBCLE1BQU0sT0FBTyw2QkFBNkI7SUFnQ3hDLFlBQ1UsT0FBNEIsRUFDNUIsU0FBdUM7UUFEdkMsWUFBTyxHQUFQLE9BQU8sQ0FBcUI7UUFDNUIsY0FBUyxHQUFULFNBQVMsQ0FBOEI7UUFqQ2pELHNCQUFpQixHQUFtQjtZQUNsQztnQkFDRSxJQUFJLEVBQUUsaUJBQWlCO2dCQUN2QixTQUFTLEVBQUUscUJBQXFCLENBQUMsT0FBTzthQUN6QztZQUNEO2dCQUNFLElBQUksRUFBRSw4QkFBOEI7Z0JBQ3BDLFNBQVMsRUFBRSxxQkFBcUIsQ0FBQyxPQUFPO2FBQ3pDO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLGlDQUFpQztnQkFDdkMsU0FBUyxFQUFFLHFCQUFxQixDQUFDLE9BQU87YUFDekM7WUFDRDtnQkFDRSxJQUFJLEVBQUUsNEJBQTRCO2dCQUNsQyxTQUFTLEVBQUUscUJBQXFCLENBQUMsT0FBTzthQUN6QztZQUNEO2dCQUNFLElBQUksRUFBRSwyQkFBMkI7Z0JBQ2pDLFNBQVMsRUFBRSxxQkFBcUIsQ0FBQyxPQUFPO2FBQ3pDO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLHdCQUF3QjtnQkFDOUIsU0FBUyxFQUFFLHFCQUFxQixDQUFDLE9BQU87YUFDekM7WUFDRDtnQkFDRSxJQUFJLEVBQUUsNkJBQTZCO2dCQUNuQyxTQUFTLEVBQUUscUJBQXFCLENBQUMsbUJBQW1CO2FBQ3JEO1NBQ0YsQ0FBQztJQUtDLENBQUM7SUFFSixTQUFTLENBQUMsT0FBNkIsRUFBRSxJQUFpQjtRQUN4RCxPQUFPLElBQUk7YUFDUixNQUFNLENBQUMsT0FBTyxDQUFDO2FBQ2YsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQXdCLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDNUYsQ0FBQztJQUVPLFdBQVcsQ0FDakIsS0FBd0IsRUFDeEIsT0FBNkIsRUFDN0IsSUFBaUI7UUFFakIsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDL0IsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNqRCxJQUFJLFlBQVksRUFBRSxDQUFDO2dCQUNqQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUN6QyxTQUFTLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtvQkFDckIsSUFBSSxRQUFRLElBQUksWUFBWSxDQUFDLFNBQVMsS0FBSyxxQkFBcUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQzt3QkFDekUsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO29CQUN6RCxDQUFDO29CQUNELE9BQU8sVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNqQyxDQUFDLENBQUMsRUFDRixVQUFVLENBQUMsQ0FBQyxZQUFZLEVBQUUsRUFBRTtvQkFDMUIsbUdBQW1HO29CQUNuRyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQzt3QkFDdEMsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQyxDQUFDO3dCQUMvRCxJQUFJLG1CQUFtQixFQUFFLFNBQVMsS0FBSyxxQkFBcUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQzs0QkFDckUsT0FBTyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7d0JBQ2pDLENBQUM7b0JBQ0gsQ0FBQztvQkFDRCxPQUFPLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQztnQkFDeEMsQ0FBQyxDQUFDLENBQ0gsQ0FBQztZQUNKLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVPLGNBQWMsQ0FBQyxLQUF3QjtRQUM3QyxPQUFPLEtBQUssQ0FBQyxNQUFNLEtBQUssR0FBRyxJQUFLLEtBQUssQ0FBQyxLQUFrQixDQUFDLElBQUksSUFBSSxJQUFJLENBQUM7SUFDeEUsQ0FBQztJQUVPLGVBQWUsQ0FBQyxLQUF3QjtRQUM5QyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQ2hDLENBQUMsWUFBMEIsRUFBRSxFQUFFLENBQUMsWUFBWSxDQUFDLElBQUksS0FBTSxLQUFLLENBQUMsS0FBa0IsQ0FBQyxJQUFJLENBQ3JGLENBQUM7SUFDSixDQUFDO0lBRU8sWUFBWSxDQUFDLFlBQTBCO1FBQzdDLElBQUksWUFBWSxDQUFDLFNBQVMsS0FBSyxxQkFBcUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUM3RCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7UUFDN0QsQ0FBQztRQUNELElBQUksWUFBWSxDQUFDLFNBQVMsS0FBSyxxQkFBcUIsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQ3pFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMscUJBQXFCLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztRQUNsRSxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFTyxvQkFBb0IsQ0FBQyxPQUE2QjtRQUN4RCxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxXQUF3QixFQUFFLEVBQUU7WUFDN0QsT0FBTyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7Z0JBQ3RCLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLFdBQVcsQ0FBQyxLQUFLLENBQUM7YUFDeEUsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDOytHQXJHVSw2QkFBNkI7bUhBQTdCLDZCQUE2Qjs7NEZBQTdCLDZCQUE2QjtrQkFEekMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEh0dHBFcnJvclJlc3BvbnNlLFxuICBIdHRwRXZlbnQsXG4gIEh0dHBIYW5kbGVyLFxuICBIdHRwSW50ZXJjZXB0b3IsXG4gIEh0dHBSZXF1ZXN0LFxufSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmcm9tLCBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1xuICBBcGlFcnJvcixcbiAgSGVhZGVyUGFyYW0sXG4gIFNlc3Npb25FcnJvcixcbiAgU2Vzc2lvbkVycm9yQmVoYXZpb3VyLFxuICBTbWFydFNlc3Npb25TZXJ2aWNlLFxufSBmcm9tICcuL3Byb2plY3RzJztcbmltcG9ydCB7IFNtYXJ0QmFja2VuZEJvb3RzdHJhcFNlcnZpY2UgfSBmcm9tICcuL3NtYXJ0LWJhY2tlbmQtYm9vdHN0cmFwLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU21hcnRFcnJvckNhdGNoaW5nSW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xuICBzZXNzaW9uRXJyb3JDb2RlczogU2Vzc2lvbkVycm9yW10gPSBbXG4gICAge1xuICAgICAgY29kZTogJ3Nlc3Npb24uZXhwaXJlZCcsXG4gICAgICBiZWhhdmlvdXI6IFNlc3Npb25FcnJvckJlaGF2aW91ci5SRUZSRVNILFxuICAgIH0sXG4gICAge1xuICAgICAgY29kZTogJ3Nlc3Npb24ucmVmcmVzaHRva2VuLmludmFsaWQnLFxuICAgICAgYmVoYXZpb3VyOiBTZXNzaW9uRXJyb3JCZWhhdmlvdXIuUkVTVEFSVCxcbiAgICB9LFxuICAgIHtcbiAgICAgIGNvZGU6ICdzZXNzaW9uLmJhZHJlcXVlc3QubWlzc2luZ3Rva2VuJyxcbiAgICAgIGJlaGF2aW91cjogU2Vzc2lvbkVycm9yQmVoYXZpb3VyLlJFU1RBUlQsXG4gICAgfSxcbiAgICB7XG4gICAgICBjb2RlOiAnc2Vzc2lvbi5zZWN1cml0eS5ub2NvbnRleHQnLFxuICAgICAgYmVoYXZpb3VyOiBTZXNzaW9uRXJyb3JCZWhhdmlvdXIuUkVTVEFSVCxcbiAgICB9LFxuICAgIHtcbiAgICAgIGNvZGU6ICdzZXNzaW9uLmludmFsaWRzZXNzaW9udXJpJyxcbiAgICAgIGJlaGF2aW91cjogU2Vzc2lvbkVycm9yQmVoYXZpb3VyLlJFU1RBUlQsXG4gICAgfSxcbiAgICB7XG4gICAgICBjb2RlOiAnc2Vzc2lvbi5ub3Rpbml0aWFsaXplZCcsXG4gICAgICBiZWhhdmlvdXI6IFNlc3Npb25FcnJvckJlaGF2aW91ci5SRVNUQVJULFxuICAgIH0sXG4gICAge1xuICAgICAgY29kZTogJ3Nlc3Npb24udmlld2NvbnRleHQubWlzc2luZycsXG4gICAgICBiZWhhdmlvdXI6IFNlc3Npb25FcnJvckJlaGF2aW91ci5SRVNUQVJUX1ZJRVdDT05URVhULFxuICAgIH0sXG4gIF07XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzZXNzaW9uOiBTbWFydFNlc3Npb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgYm9vdHN0cmFwOiBTbWFydEJhY2tlbmRCb290c3RyYXBTZXJ2aWNlLFxuICApIHt9XG5cbiAgaW50ZXJjZXB0KHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PHVua25vd24+LCBuZXh0OiBIdHRwSGFuZGxlcik6IE9ic2VydmFibGU8SHR0cEV2ZW50PHVua25vd24+PiB7XG4gICAgcmV0dXJuIG5leHRcbiAgICAgIC5oYW5kbGUocmVxdWVzdClcbiAgICAgIC5waXBlKGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gdGhpcy5oYW5kbGVFcnJvcihlcnJvciwgcmVxdWVzdCwgbmV4dCkpKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlRXJyb3IoXG4gICAgZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlLFxuICAgIHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PHVua25vd24+LFxuICAgIG5leHQ6IEh0dHBIYW5kbGVyXG4gICk6IE9ic2VydmFibGU8SHR0cEV2ZW50PHVua25vd24+PiB7XG4gICAgaWYgKHRoaXMuaXNTZXNzaW9uRXJyb3IoZXJyb3IpKSB7XG4gICAgICBjb25zdCBzZXNzaW9uRXJyb3IgPSB0aGlzLmdldFNlc3Npb25FcnJvcihlcnJvcik7XG4gICAgICBpZiAoc2Vzc2lvbkVycm9yKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnJlc29sdmVFcnJvcihzZXNzaW9uRXJyb3IpLnBpcGUoXG4gICAgICAgICAgc3dpdGNoTWFwKChyZXNvbHZlZCkgPT4ge1xuICAgICAgICAgICAgaWYgKHJlc29sdmVkICYmIHNlc3Npb25FcnJvci5iZWhhdmlvdXIgPT09IFNlc3Npb25FcnJvckJlaGF2aW91ci5SRUZSRVNIKSB7XG4gICAgICAgICAgICAgIHJldHVybiBuZXh0LmhhbmRsZSh0aGlzLnVwZGF0ZVJlcXVlc3RIZWFkZXJzKHJlcXVlc3QpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGVycm9yKTtcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBjYXRjaEVycm9yKChyZXNvbHZlRXJyb3IpID0+IHtcbiAgICAgICAgICAgIC8vIHdoZW4gdGhlIHJlc29sdmVFcnJvciB0aHJvd3MgYSByZXN0YXJ0IGVycm9yIChpbiB0aGUgcmVmcmVzaFNlc3Npb24pLCByZXRocm93IHRoZSBvcmlnaW5hbCBlcnJvclxuICAgICAgICAgICAgaWYgKHRoaXMuaXNTZXNzaW9uRXJyb3IocmVzb2x2ZUVycm9yKSkge1xuICAgICAgICAgICAgICBjb25zdCByZXNvbHZlU2Vzc2lvbkVycm9yID0gdGhpcy5nZXRTZXNzaW9uRXJyb3IocmVzb2x2ZUVycm9yKTtcbiAgICAgICAgICAgICAgaWYgKHJlc29sdmVTZXNzaW9uRXJyb3I/LmJlaGF2aW91ciA9PT0gU2Vzc2lvbkVycm9yQmVoYXZpb3VyLlJFU1RBUlQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlcnJvcik7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IHJlc29sdmVFcnJvcik7XG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3IpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1Nlc3Npb25FcnJvcihlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZXJyb3Iuc3RhdHVzID09PSA0MDAgJiYgKGVycm9yLmVycm9yIGFzIEFwaUVycm9yKS5jb2RlICE9IG51bGw7XG4gIH1cblxuICBwcml2YXRlIGdldFNlc3Npb25FcnJvcihlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpOiBTZXNzaW9uRXJyb3IgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLnNlc3Npb25FcnJvckNvZGVzLmZpbmQoXG4gICAgICAoc2Vzc2lvbkVycm9yOiBTZXNzaW9uRXJyb3IpID0+IHNlc3Npb25FcnJvci5jb2RlID09PSAoZXJyb3IuZXJyb3IgYXMgQXBpRXJyb3IpLmNvZGVcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNvbHZlRXJyb3Ioc2Vzc2lvbkVycm9yOiBTZXNzaW9uRXJyb3IpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGlmIChzZXNzaW9uRXJyb3IuYmVoYXZpb3VyID09PSBTZXNzaW9uRXJyb3JCZWhhdmlvdXIuUkVTVEFSVCkge1xuICAgICAgcmV0dXJuIGZyb20odGhpcy5zZXNzaW9uLmhhbmRsZVNlc3Npb25FcnJvcihzZXNzaW9uRXJyb3IpKTtcbiAgICB9XG4gICAgaWYgKHNlc3Npb25FcnJvci5iZWhhdmlvdXIgPT09IFNlc3Npb25FcnJvckJlaGF2aW91ci5SRVNUQVJUX1ZJRVdDT05URVhUKSB7XG4gICAgICByZXR1cm4gZnJvbSh0aGlzLmJvb3RzdHJhcC5oYW5kbGVWaWV3Q29udGV4dExvc3Qoc2Vzc2lvbkVycm9yKSk7XG4gICAgfVxuICAgIHJldHVybiBmcm9tKHRoaXMuc2Vzc2lvbi5yZWZyZXNoU2Vzc2lvbigpKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlUmVxdWVzdEhlYWRlcnMocmVxdWVzdDogSHR0cFJlcXVlc3Q8dW5rbm93bj4pOiBIdHRwUmVxdWVzdDx1bmtub3duPiB7XG4gICAgdGhpcy5zZXNzaW9uLmhlYWRlclBhcmFtcy5mb3JFYWNoKChoZWFkZXJQYXJhbTogSGVhZGVyUGFyYW0pID0+IHtcbiAgICAgIHJlcXVlc3QgPSByZXF1ZXN0LmNsb25lKHtcbiAgICAgICAgaGVhZGVyczogcmVxdWVzdC5oZWFkZXJzLnNldChoZWFkZXJQYXJhbS5oZWFkZXJOYW1lLCBoZWFkZXJQYXJhbS52YWx1ZSksXG4gICAgICB9KTtcbiAgICB9KTtcbiAgICByZXR1cm4gcmVxdWVzdDtcbiAgfVxufVxuIl19
109
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZXJyb3ItY2F0Y2hpbmcuaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zZXNzaW9uL3NtYXJ0LWVycm9yLWNhdGNoaW5nLmludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLElBQUksRUFBYyxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RCxPQUFPLEVBSUwscUJBQXFCLEdBRXRCLE1BQU0sWUFBWSxDQUFDOzs7O0FBSXBCLE1BQU0sT0FBTyw2QkFBNkI7SUFnQ3hDLFlBQ1UsT0FBNEIsRUFDNUIsU0FBdUM7UUFEdkMsWUFBTyxHQUFQLE9BQU8sQ0FBcUI7UUFDNUIsY0FBUyxHQUFULFNBQVMsQ0FBOEI7UUFqQ2pELHNCQUFpQixHQUFtQjtZQUNsQztnQkFDRSxJQUFJLEVBQUUsaUJBQWlCO2dCQUN2QixTQUFTLEVBQUUscUJBQXFCLENBQUMsT0FBTzthQUN6QztZQUNEO2dCQUNFLElBQUksRUFBRSw4QkFBOEI7Z0JBQ3BDLFNBQVMsRUFBRSxxQkFBcUIsQ0FBQyxPQUFPO2FBQ3pDO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLGlDQUFpQztnQkFDdkMsU0FBUyxFQUFFLHFCQUFxQixDQUFDLE9BQU87YUFDekM7WUFDRDtnQkFDRSxJQUFJLEVBQUUsNEJBQTRCO2dCQUNsQyxTQUFTLEVBQUUscUJBQXFCLENBQUMsT0FBTzthQUN6QztZQUNEO2dCQUNFLElBQUksRUFBRSwyQkFBMkI7Z0JBQ2pDLFNBQVMsRUFBRSxxQkFBcUIsQ0FBQyxPQUFPO2FBQ3pDO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLHdCQUF3QjtnQkFDOUIsU0FB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QUUsQ0FBQyxZQUFZLENBQUMsSUFBSSxLQUFNLEtBQUssQ0FBQyxLQUFrQixDQUFDLElBQUksQ0FDckYsQ0FBQztJQUNKLENBQUM7SUFFTyxZQUFZLENBQUMsWUFBMEI7UUFDN0MsSUFBSSxZQUFZLENBQUMsU0FBUyxLQUFLLHFCQUFxQixDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzdELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztRQUM3RCxDQUFDO1FBQ0QsSUFBSSxZQUFZLENBQUMsU0FBUyxLQUFLLHFCQUFxQixDQUFDLG1CQUFtQixFQUFFLENBQUM7WUFDekUsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxxQkFBcUIsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO1FBQ2xFLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVPLG9CQUFvQixDQUFDLE9BQTZCO1FBQ3hELElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFdBQXdCLEVBQUUsRUFBRTtZQUM3RCxPQUFPLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztnQkFDdEIsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsV0FBVyxDQUFDLEtBQUssQ0FBQzthQUN4RSxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7K0dBL0dVLDZCQUE2QjttSEFBN0IsNkJBQTZCOzs0RkFBN0IsNkJBQTZCO2tCQUR6QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgSHR0cEVycm9yUmVzcG9uc2UsXG4gIEh0dHBFdmVudCxcbiAgSHR0cEhhbmRsZXIsXG4gIEh0dHBJbnRlcmNlcHRvcixcbiAgSHR0cFJlcXVlc3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZyb20sIE9ic2VydmFibGUsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7XG4gIEFwaUVycm9yLFxuICBIZWFkZXJQYXJhbSxcbiAgU2Vzc2lvbkVycm9yLFxuICBTZXNzaW9uRXJyb3JCZWhhdmlvdXIsXG4gIFNtYXJ0U2Vzc2lvblNlcnZpY2UsXG59IGZyb20gJy4vcHJvamVjdHMnO1xuaW1wb3J0IHsgU21hcnRCYWNrZW5kQm9vdHN0cmFwU2VydmljZSB9IGZyb20gJy4vc21hcnQtYmFja2VuZC1ib290c3RyYXAuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTbWFydEVycm9yQ2F0Y2hpbmdJbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XG4gIHNlc3Npb25FcnJvckNvZGVzOiBTZXNzaW9uRXJyb3JbXSA9IFtcbiAgICB7XG4gICAgICBjb2RlOiAnc2Vzc2lvbi5leHBpcmVkJyxcbiAgICAgIGJlaGF2aW91cjogU2Vzc2lvbkVycm9yQmVoYXZpb3VyLlJFRlJFU0gsXG4gICAgfSxcbiAgICB7XG4gICAgICBjb2RlOiAnc2Vzc2lvbi5yZWZyZXNodG9rZW4uaW52YWxpZCcsXG4gICAgICBiZWhhdmlvdXI6IFNlc3Npb25FcnJvckJlaGF2aW91ci5SRVNUQVJULFxuICAgIH0sXG4gICAge1xuICAgICAgY29kZTogJ3Nlc3Npb24uYmFkcmVxdWVzdC5taXNzaW5ndG9rZW4nLFxuICAgICAgYmVoYXZpb3VyOiBTZXNzaW9uRXJyb3JCZWhhdmlvdXIuUkVTVEFSVCxcbiAgICB9LFxuICAgIHtcbiAgICAgIGNvZGU6ICdzZXNzaW9uLnNlY3VyaXR5Lm5vY29udGV4dCcsXG4gICAgICBiZWhhdmlvdXI6IFNlc3Npb25FcnJvckJlaGF2aW91ci5SRVNUQVJULFxuICAgIH0sXG4gICAge1xuICAgICAgY29kZTogJ3Nlc3Npb24uaW52YWxpZHNlc3Npb251cmknLFxuICAgICAgYmVoYXZpb3VyOiBTZXNzaW9uRXJyb3JCZWhhdmlvdXIuUkVTVEFSVCxcbiAgICB9LFxuICAgIHtcbiAgICAgIGNvZGU6ICdzZXNzaW9uLm5vdGluaXRpYWxpemVkJyxcbiAgICAgIGJlaGF2aW91cjogU2Vzc2lvbkVycm9yQmVoYXZpb3VyLlJFU1RBUlQsXG4gICAgfSxcbiAgICB7XG4gICAgICBjb2RlOiAnc2Vzc2lvbi52aWV3Y29udGV4dC5taXNzaW5nJyxcbiAgICAgIGJlaGF2aW91cjogU2Vzc2lvbkVycm9yQmVoYXZpb3VyLlJFU1RBUlRfVklFV0NPTlRFWFQsXG4gICAgfSxcbiAgXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHNlc3Npb246IFNtYXJ0U2Vzc2lvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBib290c3RyYXA6IFNtYXJ0QmFja2VuZEJvb3RzdHJhcFNlcnZpY2UsXG4gICkge31cblxuICBpbnRlcmNlcHQocmVxdWVzdDogSHR0cFJlcXVlc3Q8dW5rbm93bj4sIG5leHQ6IEh0dHBIYW5kbGVyKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8dW5rbm93bj4+IHtcbiAgICByZXR1cm4gbmV4dFxuICAgICAgLmhhbmRsZShyZXF1ZXN0KVxuICAgICAgLnBpcGUoY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB0aGlzLmhhbmRsZUVycm9yKGVycm9yLCByZXF1ZXN0LCBuZXh0KSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVFcnJvcihcbiAgICBlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UsXG4gICAgcmVxdWVzdDogSHR0cFJlcXVlc3Q8dW5rbm93bj4sXG4gICAgbmV4dDogSHR0cEhhbmRsZXJcbiAgKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8dW5rbm93bj4+IHtcbiAgICBpZiAodGhpcy5pc1Nlc3Npb25FcnJvcihlcnJvcikpIHtcbiAgICAgIGNvbnN0IHNlc3Npb25FcnJvciA9IHRoaXMuZ2V0U2Vzc2lvbkVycm9yKGVycm9yKTtcbiAgICAgIGlmIChzZXNzaW9uRXJyb3IpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVzb2x2ZUVycm9yKHNlc3Npb25FcnJvcikucGlwZShcbiAgICAgICAgICBzd2l0Y2hNYXAoKHJlc29sdmVkKSA9PiB7XG4gICAgICAgICAgICBpZiAocmVzb2x2ZWQgJiYgc2Vzc2lvbkVycm9yLmJlaGF2aW91ciA9PT0gU2Vzc2lvbkVycm9yQmVoYXZpb3VyLlJFRlJFU0gpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHRoaXMudXBkYXRlUmVxdWVzdEhlYWRlcnMocmVxdWVzdCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3IpO1xuICAgICAgICAgIH0pLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKHJlc29sdmVFcnJvcikgPT4ge1xuICAgICAgICAgICAgLy8gd2hlbiB0aGUgcmVzb2x2ZUVycm9yIHRocm93cyBhIHJlc3RhcnQgZXJyb3IgKGluIHRoZSByZWZyZXNoU2Vzc2lvbiksIHJldGhyb3cgdGhlIG9yaWdpbmFsIGVycm9yXG4gICAgICAgICAgICBpZiAodGhpcy5pc1Nlc3Npb25FcnJvcihyZXNvbHZlRXJyb3IpKSB7XG4gICAgICAgICAgICAgIGNvbnN0IHJlc29sdmVTZXNzaW9uRXJyb3IgPSB0aGlzLmdldFNlc3Npb25FcnJvcihyZXNvbHZlRXJyb3IpO1xuICAgICAgICAgICAgICBpZiAocmVzb2x2ZVNlc3Npb25FcnJvcj8uYmVoYXZpb3VyID09PSBTZXNzaW9uRXJyb3JCZWhhdmlvdXIuUkVTVEFSVCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGVycm9yKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gcmVzb2x2ZUVycm9yKTtcbiAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAodGhpcy5pc1RyYW5zcG9ydEVycm9yKGVycm9yKSkge1xuICAgICAgLy8gRmlyZS1hbmQtZm9yZ2V0OyB0aGUgcmVxdWVzdCBzdGlsbCByZWplY3RzIHNvIGNhbGxlcnMgY2FuIHJlYWN0IHBlci1jYWxsLlxuICAgICAgdGhpcy5ib290c3RyYXAuaGFuZGxlVHJhbnNwb3J0RXJyb3IoZXJyb3IpLmNhdGNoKChlcnIpID0+IHtcbiAgICAgICAgY29uc29sZS5lcnJvcignaGFuZGxlVHJhbnNwb3J0RXJyb3IgaG9vayB0aHJldycsIGVycik7XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3IpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1Nlc3Npb25FcnJvcihlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZXJyb3Iuc3RhdHVzID09PSA0MDAgJiYgKGVycm9yLmVycm9yIGFzIEFwaUVycm9yKS5jb2RlICE9IG51bGw7XG4gIH1cblxuICBwcml2YXRlIGlzVHJhbnNwb3J0RXJyb3IoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGVycm9yLnN0YXR1cyA9PT0gMCB8fCBlcnJvci5zdGF0dXMgPj0gNTAwO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTZXNzaW9uRXJyb3IoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKTogU2Vzc2lvbkVycm9yIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5zZXNzaW9uRXJyb3JDb2Rlcy5maW5kKFxuICAgICAgKHNlc3Npb25FcnJvcjogU2Vzc2lvbkVycm9yKSA9PiBzZXNzaW9uRXJyb3IuY29kZSA9PT0gKGVycm9yLmVycm9yIGFzIEFwaUVycm9yKS5jb2RlXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVzb2x2ZUVycm9yKHNlc3Npb25FcnJvcjogU2Vzc2lvbkVycm9yKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBpZiAoc2Vzc2lvbkVycm9yLmJlaGF2aW91ciA9PT0gU2Vzc2lvbkVycm9yQmVoYXZpb3VyLlJFU1RBUlQpIHtcbiAgICAgIHJldHVybiBmcm9tKHRoaXMuc2Vzc2lvbi5oYW5kbGVTZXNzaW9uRXJyb3Ioc2Vzc2lvbkVycm9yKSk7XG4gICAgfVxuICAgIGlmIChzZXNzaW9uRXJyb3IuYmVoYXZpb3VyID09PSBTZXNzaW9uRXJyb3JCZWhhdmlvdXIuUkVTVEFSVF9WSUVXQ09OVEVYVCkge1xuICAgICAgcmV0dXJuIGZyb20odGhpcy5ib290c3RyYXAuaGFuZGxlVmlld0NvbnRleHRMb3N0KHNlc3Npb25FcnJvcikpO1xuICAgIH1cbiAgICByZXR1cm4gZnJvbSh0aGlzLnNlc3Npb24ucmVmcmVzaFNlc3Npb24oKSk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVJlcXVlc3RIZWFkZXJzKHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PHVua25vd24+KTogSHR0cFJlcXVlc3Q8dW5rbm93bj4ge1xuICAgIHRoaXMuc2Vzc2lvbi5oZWFkZXJQYXJhbXMuZm9yRWFjaCgoaGVhZGVyUGFyYW06IEhlYWRlclBhcmFtKSA9PiB7XG4gICAgICByZXF1ZXN0ID0gcmVxdWVzdC5jbG9uZSh7XG4gICAgICAgIGhlYWRlcnM6IHJlcXVlc3QuaGVhZGVycy5zZXQoaGVhZGVyUGFyYW0uaGVhZGVyTmFtZSwgaGVhZGVyUGFyYW0udmFsdWUpLFxuICAgICAgfSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIHJlcXVlc3Q7XG4gIH1cbn1cbiJdfQ==
@@ -98,7 +98,6 @@ export class SmartComponentLayoutUtility {
98
98
  result.push(...this.getToolbars(expandable));
99
99
  }
100
100
  let expandeableHeaderToolbar = comp.expandableComponents?.first?.toolbar;
101
- console.log(expandeableHeaderToolbar);
102
101
  if (expandeableHeaderToolbar) {
103
102
  result.push(expandeableHeaderToolbar);
104
103
  }
@@ -151,4 +150,4 @@ export class SmartComponentLayoutUtility {
151
150
  comp.components?.forEach((child) => this.setUuid(child, uuid));
152
151
  }
153
152
  }
154
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtY29tcG9uZW50LWxheW91dC11dGlsaXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtY29tcG9uZW50LWxheW91dC9zbWFydC1jb21wb25lbnQtbGF5b3V0LXV0aWxpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF5QixtQkFBbUIsRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFjN0YsTUFBTSxPQUFPLDJCQUEyQjtJQUMvQixNQUFNLENBQUMsUUFBUSxDQUFDLElBQW1DO1FBQ3hELElBQUksTUFBTSxHQUF5QixFQUFFLENBQUM7UUFDdEMsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDcEIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFVBQVU7aUJBQzdCLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDNUIsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNqRCxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUM7UUFDM0IsQ0FBQztRQUNELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyRCxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2YsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUM1QyxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUM1QixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FB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QztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiwgUmVuZGVyZXIyLCBSZW5kZXJlclN0eWxlRmxhZ3MyLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTbWFydGZvcm1Db21wb25lbnQgfSBmcm9tICcuLi9zbWFydC1mb3JtL3Byb2plY3RzJztcbmltcG9ydCB7IFNtYXJ0R3JpZENvbXBvbmVudCB9IGZyb20gJy4uL3NtYXJ0LWdyaWQvcHJvamVjdHMnO1xuaW1wb3J0IHsgU21hcnRNYXBDb21wb25lbnQgfSBmcm9tICcuLi9zbWFydC1tYXAvc21hcnQtbWFwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTbWFydHRyZWVHZW5lcmljU2VydmljZSB9IGZyb20gJy4uL3NtYXJ0LXRyZWUvcHJvamVjdHMnO1xuaW1wb3J0IHsgU3R5bGUsIFVpQWN0aW9uVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4uL3ZpZXctY29udGV4dC9wcm9qZWN0cyc7XG5pbXBvcnQgeyBTbWFydENvbXBvbmVudExheW91dENvbXBvbmVudCB9IGZyb20gJy4vc21hcnQtY29tcG9uZW50LWxheW91dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU21hcnREaWFncmFtQ29tcG9uZW50IH0gZnJvbSAnLi4vc21hcnQtZGlhZ3JhbS9wcm9qZWN0cyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW1iZWRkZWRTbG90SW5mbyB7XG4gIGNvbnRhaW5lcklkOiBzdHJpbmc7XG4gIHZjUmVmOiBWaWV3Q29udGFpbmVyUmVmO1xufVxuXG5leHBvcnQgY2xhc3MgU21hcnRDb21wb25lbnRMYXlvdXRVdGlsaXR5IHtcbiAgcHVibGljIHN0YXRpYyBnZXRGb3Jtcyhjb21wOiBTbWFydENvbXBvbmVudExheW91dENvbXBvbmVudCk6IFNtYXJ0Zm9ybUNvbXBvbmVudFtdIHtcbiAgICBsZXQgcmVzdWx0OiBTbWFydGZvcm1Db21wb25lbnRbXSA9IFtdO1xuICAgIGlmIChjb21wLmNvbXBvbmVudHMpIHtcbiAgICAgIGNvbnN0IGNoaWxkcmVuID0gY29tcC5jb21wb25lbnRzXG4gICAgICAgIC5tYXAoKGMpID0+IHRoaXMuZ2V0Rm9ybXMoYykpXG4gICAgICAgIC5yZWR1Y2UoKGFjYywgdmFsdWUpID0+IGFjYy5jb25jYXQodmFsdWUpLCBbXSk7XG4gICAgICByZXN1bHQucHVzaCguLi5jaGlsZHJlbik7XG4gICAgfVxuICAgIGNvbnN0IGV4cGFuZGFibGUgPSB0aGlzLmdldEV4cGFuZGFibGVDb21wb25lbnQoY29tcCk7XG4gICAgaWYgKGV4cGFuZGFibGUpIHtcbiAgICAgIHJlc3VsdC5wdXNoKC4uLnRoaXMuZ2V0Rm9ybXMoZXhwYW5kYWJsZSkpO1xuICAgIH1cbiAgICBpZiAoY29tcC5zbWFydEZvcm1Db21wb25lbnQpIHtcbiAgICAgIHJlc3VsdC5wdXNoKGNvbXAuc21hcnRGb3JtQ29tcG9uZW50KTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZ2V0R3JpZHMoY29tcDogU21hcnRDb21wb25lbnRMYXlvdXRDb21wb25lbnQpOiBTbWFydEdyaWRDb21wb25lbnRbXSB7XG4gICAgbGV0IHJlc3VsdDogU21hcnRHcmlkQ29tcG9uZW50W10gPSBbXTtcbiAgICBpZiAoY29tcC5jb21wb25lbnRzKSB7XG4gICAgICBjb25zdCBjaGlsZHJlbiA9IGNvbXAuY29tcG9uZW50c1xuICAgICAgICAubWFwKChjKSA9PiB0aGlzLmdldEdyaWRzKGMpKVxuICAgICAgICAucmVkdWNlKChhY2MsIHZhbHVlKSA9PiBhY2MuY29uY2F0KHZhbHVlKSwgW10pO1xuICAgICAgcmVzdWx0LnB1c2goLi4uY2hpbGRyZW4pO1xuICAgIH1cbiAgICBjb25zdCBleHBhbmRhYmxlID0gdGhpcy5nZXRFeHBhbmRhYmxlQ29tcG9uZW50KGNvbXApO1xuICAgIGlmIChleHBhbmRhYmxlKSB7XG4gICAgICByZXN1bHQucHVzaCguLi50aGlzLmdldEdyaWRzKGV4cGFuZGFibGUpKTtcbiAgICB9XG4gICAgaWYgKGNvbXAuc21hcnRHcmlkQ29tcG9uZW50KSB7XG4gICAgICByZXN1bHQucHVzaChjb21wLnNtYXJ0R3JpZENvbXBvbmVudCk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGdldE1hcHMoY29tcDogU21hcnRDb21wb25lbnRMYXlvdXRDb21wb25lbnQpOiBBcnJheTxTbWFydE1hcENvbXBvbmVudD4ge1xuICAgIGNvbnN0IHJlc3VsdDogQXJyYXk8U21hcnRNYXBDb21wb25lbnQ+ID0gW107XG4gICAgaWYgKGNvbXAuY29tcG9uZW50cykge1xuICAgICAgY29uc3QgY2hpbGRyZW4gPSBjb21wLmNvbXBvbmVudHNcbiAgICAgICAgLm1hcCgoYykgPT4gU21hcnRDb21wb25lbnRMYXlvdXRVdGlsaXR5LmdldE1hcHMoYykpXG4gICAgICAgIC5yZWR1Y2UoKGFjYywgdmFsdWUpID0+IGFjYy5jb25jYXQodmFsdWUpLCBbXSk7XG4gICAgICByZXN1bHQucHVzaCguLi5jaGlsZHJlbik7XG4gICAgfVxuXG4gICAgY29uc3QgZXhwYW5kYWJsZSA9IHRoaXMuZ2V0RXhwYW5kYWJsZUNvbXBvbmVudChjb21wKTtcbiAgICBpZiAoZXhwYW5kYWJsZSkge1xuICAgICAgcmVzdWx0LnB1c2goLi4udGhpcy5nZXRNYXBzKGV4cGFuZGFibGUpKTtcbiAgICB9XG5cbiAgICBpZiAoY29tcC5zbWFydE1hcENvbXBvbmVudCkge1xuICAgICAgcmVzdWx0LnB1c2goY29tcC5zbWFydE1hcENvbXBvbmVudCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuICBwdWJsaWMgc3RhdGljIGdldERpYWdyYW1zKGNvbXA6IFNtYXJ0Q29tcG9uZW50TGF5b3V0Q29tcG9uZW50KTogQXJyYXk8U21hcnREaWFncmFtQ29tcG9uZW50PiB7XG4gICAgY29uc3QgcmVzdWx0OiBBcnJheTxTbWFydERpYWdyYW1Db21wb25lbnQ+ID0gW107XG4gICAgaWYgKGNvbXAuY29tcG9uZW50cykge1xuICAgICAgY29uc3QgY2hpbGRyZW4gPSBjb21wLmNvbXBvbmVudHNcbiAgICAgICAgLm1hcCgoYykgPT4gU21hcnRDb21wb25lbnRMYXlvdXRVdGlsaXR5LmdldERpYWdyYW1zKGMpKVxuICAgICAgICAucmVkdWNlKChhY2MsIHZhbHVlKSA9PiBhY2MuY29uY2F0KHZhbHVlKSwgW10pO1xuICAgICAgcmVzdWx0LnB1c2goLi4uY2hpbGRyZW4pO1xuICAgIH1cblxuICAgIGNvbnN0IGV4cGFuZGFibGUgPSB0aGlzLmdldEV4cGFuZGFibGVDb21wb25lbnQoY29tcCk7XG4gICAgaWYgKGV4cGFuZGFibGUpIHtcbiAgICAgIHJlc3VsdC5wdXNoKC4uLnRoaXMuZ2V0RGlhZ3JhbXMoZXhwYW5kYWJsZSkpO1xuICAgIH1cblxuICAgIGlmIChjb21wLnNtYXJ0RGlhZ3JhbUNvbXBvbmVudCkge1xuICAgICAgcmVzdWx0LnB1c2goY29tcC5zbWFydERpYWdyYW1Db21wb25lbnQpO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGdldFRyZWVzKGNvbXA6IFNtYXJ0Q29tcG9uZW50TGF5b3V0Q29tcG9uZW50KTogU21hcnR0cmVlR2VuZXJpY1NlcnZpY2VbXSB7XG4gICAgbGV0IHJlc3VsdDogU21hcnR0cmVlR2VuZXJpY1NlcnZpY2VbXSA9IFtdO1xuICAgIGlmIChjb21wLmNvbXBvbmVudHMpIHtcbiAgICAgIGNvbnN0IGNoaWxkcmVuID0gY29tcC5jb21wb25lbnRzXG4gICAgICAgID8ubWFwKChjKSA9PiB0aGlzLmdldFRyZWVzKGMpKVxuICAgICAgICAucmVkdWNlKChhY2MsIHZhbHVlKSA9PiBhY2MuY29uY2F0KHZhbHVlKSwgW10pO1xuICAgICAgcmVzdWx0LnB1c2goLi4uY2hpbGRyZW4pO1xuICAgIH1cbiAgICBjb25zdCBleHBhbmRhYmxlID0gdGhpcy5nZXRFeHBhbmRhYmxlQ29tcG9uZW50KGNvbXApO1xuICAgIGlmIChleHBhbmRhYmxlKSB7XG4gICAgICByZXN1bHQucHVzaCguLi50aGlzLmdldFRyZWVzKGV4cGFuZGFibGUpKTtcbiAgICB9XG4gICAgaWYgKGNvbXAudHJlZVNlcnZpY2UpIHtcbiAgICAgIHJlc3VsdC5wdXNoKGNvbXAudHJlZVNlcnZpY2UpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBnZXRUb29sYmFycyhjb21wOiBTbWFydENvbXBvbmVudExheW91dENvbXBvbmVudCk6IFVpQWN0aW9uVG9vbGJhckNvbXBvbmVudFtdIHtcbiAgICBsZXQgcmVzdWx0OiBVaUFjdGlvblRvb2xiYXJDb21wb25lbnRbXSA9IFtdO1xuICAgIGlmIChjb21wLmNvbXBvbmVudHMpIHtcbiAgICAgIGNvbnN0IGNoaWxkcmVuID0gY29tcC5jb21wb25lbnRzXG4gICAgICAgIC5tYXAoKGMpID0+IHRoaXMuZ2V0VG9vbGJhcnMoYykpXG4gICAgICAgIC5yZWR1Y2UoKGFjYywgdmFsdWUpID0+IGFjYy5jb25jYXQodmFsdWUpLCBbXSk7XG4gICAgICByZXN1bHQucHVzaCguLi5jaGlsZHJlbik7XG4gICAgfVxuICAgIGNvbnN0IGV4cGFuZGFibGUgPSB0aGlzLmdldEV4cGFuZGFibGVDb21wb25lbnQoY29tcCk7XG4gICAgaWYgKGV4cGFuZGFibGUpIHtcbiAgICAgIHJlc3VsdC5wdXNoKC4uLnRoaXMuZ2V0VG9vbGJhcnMoZXhwYW5kYWJsZSkpO1xuICAgIH1cblxuICAgIGxldCBleHBhbmRlYWJsZUhlYWRlclRvb2xiYXIgPSBjb21wLmV4cGFuZGFibGVDb21wb25lbnRzPy5maXJzdD8udG9vbGJhcjtcblxuICAgIGNvbnNvbGUubG9nKGV4cGFuZGVhYmxlSGVhZGVyVG9vbGJhcik7XG4gICAgaWYgKGV4cGFuZGVhYmxlSGVhZGVyVG9vbGJhcikge1xuICAgICAgcmVzdWx0LnB1c2goZXhwYW5kZWFibGVIZWFkZXJUb29sYmFyKTtcbiAgICB9XG5cbiAgICBpZiAoY29tcC50b29sYmFyKSB7XG4gICAgICByZXN1bHQucHVzaChjb21wLnRvb2xiYXIpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBnZXRFbWJlZGRlZFNsb3RzKGNvbXA6IFNtYXJ0Q29tcG9uZW50TGF5b3V0Q29tcG9uZW50KTogRW1iZWRkZWRTbG90SW5mb1tdIHtcbiAgICBjb25zdCByZXN1bHQ6IEVtYmVkZGVkU2xvdEluZm9bXSA9IFtdO1xuICAgIGlmIChjb21wLmNvbXBvbmVudHMpIHtcbiAgICAgIGNvbnN0IGNoaWxkcmVuID0gY29tcC5jb21wb25lbnRzXG4gICAgICAgIC5tYXAoKGMpID0+IHRoaXMuZ2V0RW1iZWRkZWRTbG90cyhjKSlcbiAgICAgICAgLnJlZHVjZSgoYWNjLCB2YWx1ZSkgPT4gYWNjLmNvbmNhdCh2YWx1ZSksIFtdKTtcbiAgICAgIHJlc3VsdC5wdXNoKC4uLmNoaWxkcmVuKTtcbiAgICB9XG4gICAgY29uc3QgZXhwYW5kYWJsZSA9IHRoaXMuZ2V0RXhwYW5kYWJsZUNvbXBvbmVudChjb21wKTtcbiAgICBpZiAoZXhwYW5kYWJsZSkge1xuICAgICAgcmVzdWx0LnB1c2goLi4udGhpcy5nZXRFbWJlZGRlZFNsb3RzKGV4cGFuZGFibGUpKTtcbiAgICB9XG4gICAgaWYgKGNvbXAuX2VtYmVkZGVkU2xvdFZjUmVmICYmIGNvbXAuZW1iZWRkZWRTbG90Q29udGFpbmVySWQpIHtcbiAgICAgIHJlc3VsdC5wdXNoKHsgY29udGFpbmVySWQ6IGNvbXAuZW1iZWRkZWRTbG90Q29udGFpbmVySWQsIHZjUmVmOiBjb21wLl9lbWJlZGRlZFNsb3RWY1JlZiB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHN0YXRpYyBnZXRFeHBhbmRhYmxlQ29tcG9uZW50KFxuICAgIGNvbXA6IFNtYXJ0Q29tcG9uZW50TGF5b3V0Q29tcG9uZW50XG4gICk6IFNtYXJ0Q29tcG9uZW50TGF5b3V0Q29tcG9uZW50IHtcbiAgICByZXR1cm4gY29tcC5leHBhbmRhYmxlQ29tcG9uZW50cz8uZmlyc3Q/LmNvbXBvbmVudFJlZj8uaW5zdGFuY2U7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGFwcGx5U3R5bGUoXG4gICAgc3R5bGU6IFN0eWxlIHwgdW5kZWZpbmVkLFxuICAgIGVsZW1lbnRSZWY/OiBFbGVtZW50UmVmLFxuICAgIHJlbmRlcmVyPzogUmVuZGVyZXIyXG4gICkge1xuICAgIGlmIChzdHlsZSAmJiBlbGVtZW50UmVmICYmIHJlbmRlcmVyKSB7XG4gICAgICBsZXQgZWxlbWVudCA9IGVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICAgIC8vIGNzcyBzdHlsZSBwcm9wZXJ0aWVzXG4gICAgICBpZiAoc3R5bGUuc3R5bGUpIHtcbiAgICAgICAgT2JqZWN0LmVudHJpZXMoc3R5bGUuc3R5bGUpLmZvckVhY2goKFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgICAgIHJlbmRlcmVyLnNldFN0eWxlKGVsZW1lbnQsIGtleSwgdmFsdWUsIFJlbmRlcmVyU3R5bGVGbGFnczIuSW1wb3J0YW50KTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICAvLyBhZGQgY2xhc3Nlc1xuICAgICAgaWYgKHN0eWxlLmNsYXNzZXNUb0FkZCkge1xuICAgICAgICBzdHlsZS5jbGFzc2VzVG9BZGQuZm9yRWFjaCgoY2wpID0+IHJlbmRlcmVyLmFkZENsYXNzKGVsZW1lbnQsIGNsKSk7XG4gICAgICB9XG4gICAgICAvLyByZW1vdmUgY2xhc3Nlc1xuICAgICAgaWYgKHN0eWxlLmNsYXNzZXNUb1JlbW92ZSkge1xuICAgICAgICBzdHlsZS5jbGFzc2VzVG9SZW1vdmUuZm9yRWFjaCgoY2wpID0+IHJlbmRlcmVyLnJlbW92ZUNsYXNzKGVsZW1lbnQsIGNsKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHN0YXRpYyBzZXRVdWlkKGNvbXA6IFNtYXJ0Q29tcG9uZW50TGF5b3V0Q29tcG9uZW50LCB1dWlkPzogc3RyaW5nKSB7XG4gICAgY29tcC51cGRhdGVVdWlkKHV1aWQpO1xuICAgIGNvbXAuY29tcG9uZW50cz8uZm9yRWFjaCgoY2hpbGQpID0+IHRoaXMuc2V0VXVpZChjaGlsZCwgdXVpZCkpO1xuICB9XG59XG4iXX0=
153
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtY29tcG9uZW50LWxheW91dC11dGlsaXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtY29tcG9uZW50LWxheW91dC9zbWFydC1jb21wb25lbnQtbGF5b3V0LXV0aWxpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF5QixtQkFBbUIsRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFjN0YsTUFBTSxPQUFPLDJCQUEyQjtJQUMvQixNQUFNLENBQUMsUUFBUSxDQUFDLElBQW1DO1FBQ3hELElBQUksTUFBTSxHQUF5QixFQUFFLENBQUM7UUFDdEMsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDcEIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFVBQVU7aUJBQzdCLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDNUIsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNqRCxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUM7UUFDM0IsQ0FBQztRQUNELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyRCxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2YsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUM1QyxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUM1QixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ3ZDLENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRU0sTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFtQztRQUN4RCxJQUFJLE1BQU0sR0FBeUIsRUFBRSxDQUFDO1FBQ3RDLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3BCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVO2lCQUM3QixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQzVCLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDakQsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDO1FBQzNCLENBQUM7UUFDRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckQsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDNUMsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDNUIsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUN2QyxDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBbUM7UUFDdkQsTUFBTSxNQUFNLEdBQTZCLEVBQUUsQ0FBQztRQUM1QyxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNwQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsVUFBVTtpQkFDN0IsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQ2xELE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDakQsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDO1FBQzNCLENBQUM7UUFFRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckQsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDM0MsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDM0IsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUN0QyxDQUFDO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUNNLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBbUM7UUFDM0QsTUFBTSxNQUFNLEdBQWlDLEVBQUUsQ0FBQztRQUNoRCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNwQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsVUFBVTtpQkFDN0IsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQ3RELE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDakQsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDO1FBQzNCLENBQUM7UUFFRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckQsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDL0MsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDL0IsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUMxQyxDQUFDO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBbUM7UUFDeEQsSUFBSSxNQUFNLEdBQThCLEVBQUUsQ0FBQztRQUMzQyxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNwQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsVUFBVTtnQkFDOUIsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQzdCLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDakQsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDO1FBQzNCLENBQUM7UUFDRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckQsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDNUMsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3JCLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2hDLENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRU0sTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFtQztRQUMzRCxJQUFJLE1BQU0sR0FBK0IsRUFBRSxDQUFDO1FBQzVDLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3BCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVO2lCQUM3QixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQy9CLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDakQsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDO1FBQzNCLENBQUM7UUFDRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckQsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDL0MsQ0FBQztRQUVELElBQUksd0JBQXdCLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixFQUFFLEtBQUssRUFBRSxPQUFPLENBQUM7UUFFekUsSUFBSSx3QkFBd0IsRUFBRSxDQUFDO1lBQzdCLE1BQU0sQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUN4QyxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDakIsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDNUIsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFTSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsSUFBbUM7UUFDaEUsTUFBTSxNQUFNLEdBQXVCLEVBQUUsQ0FBQztRQUN0QyxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNwQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsVUFBVTtpQkFDN0IsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQ3BDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDakQsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDO1FBQzNCLENBQUM7UUFDRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckQsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUNwRCxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsa0JBQWtCLElBQUksSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7WUFDNUQsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLFdBQVcsRUFBRSxJQUFJLENBQUMsdUJBQXVCLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUM7UUFDN0YsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxNQUFNLENBQUMsc0JBQXNCLENBQzNCLElBQW1DO1FBRW5DLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsUUFBUSxDQUFDO0lBQ2xFLENBQUM7SUFFTSxNQUFNLENBQUMsVUFBVSxDQUN0QixLQUF3QixFQUN4QixVQUF1QixFQUN2QixRQUFvQjtRQUVwQixJQUFJLEtBQUssSUFBSSxVQUFVLElBQUksUUFBUSxFQUFFLENBQUM7WUFDcEMsSUFBSSxPQUFPLEdBQUcsVUFBVSxDQUFDLGFBQWEsQ0FBQztZQUN2Qyx1QkFBdUI7WUFDdkIsSUFBSSxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ2hCLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7b0JBQ25ELFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsbUJBQW1CLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQ3hFLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztZQUNELGNBQWM7WUFDZCxJQUFJLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQztnQkFDdkIsS0FBSyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDckUsQ0FBQztZQUNELGlCQUFpQjtZQUNqQixJQUFJLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztnQkFDMUIsS0FBSyxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDM0UsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRU0sTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFtQyxFQUFFLElBQWE7UUFDdEUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QixJQUFJLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNqRSxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmLCBSZW5kZXJlcjIsIFJlbmRlcmVyU3R5bGVGbGFnczIsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNtYXJ0Zm9ybUNvbXBvbmVudCB9IGZyb20gJy4uL3NtYXJ0LWZvcm0vcHJvamVjdHMnO1xuaW1wb3J0IHsgU21hcnRHcmlkQ29tcG9uZW50IH0gZnJvbSAnLi4vc21hcnQtZ3JpZC9wcm9qZWN0cyc7XG5pbXBvcnQgeyBTbWFydE1hcENvbXBvbmVudCB9IGZyb20gJy4uL3NtYXJ0LW1hcC9zbWFydC1tYXAuY29tcG9uZW50JztcbmltcG9ydCB7IFNtYXJ0dHJlZUdlbmVyaWNTZXJ2aWNlIH0gZnJvbSAnLi4vc21hcnQtdHJlZS9wcm9qZWN0cyc7XG5pbXBvcnQgeyBTdHlsZSwgVWlBY3Rpb25Ub29sYmFyQ29tcG9uZW50IH0gZnJvbSAnLi4vdmlldy1jb250ZXh0L3Byb2plY3RzJztcbmltcG9ydCB7IFNtYXJ0Q29tcG9uZW50TGF5b3V0Q29tcG9uZW50IH0gZnJvbSAnLi9zbWFydC1jb21wb25lbnQtbGF5b3V0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTbWFydERpYWdyYW1Db21wb25lbnQgfSBmcm9tICcuLi9zbWFydC1kaWFncmFtL3Byb2plY3RzJztcblxuZXhwb3J0IGludGVyZmFjZSBFbWJlZGRlZFNsb3RJbmZvIHtcbiAgY29udGFpbmVySWQ6IHN0cmluZztcbiAgdmNSZWY6IFZpZXdDb250YWluZXJSZWY7XG59XG5cbmV4cG9ydCBjbGFzcyBTbWFydENvbXBvbmVudExheW91dFV0aWxpdHkge1xuICBwdWJsaWMgc3RhdGljIGdldEZvcm1zKGNvbXA6IFNtYXJ0Q29tcG9uZW50TGF5b3V0Q29tcG9uZW50KTogU21hcnRmb3JtQ29tcG9uZW50W10ge1xuICAgIGxldCByZXN1bHQ6IFNtYXJ0Zm9ybUNvbXBvbmVudFtdID0gW107XG4gICAgaWYgKGNvbXAuY29tcG9uZW50cykge1xuICAgICAgY29uc3QgY2hpbGRyZW4gPSBjb21wLmNvbXBvbmVudHNcbiAgICAgICAgLm1hcCgoYykgPT4gdGhpcy5nZXRGb3JtcyhjKSlcbiAgICAgICAgLnJlZHVjZSgoYWNjLCB2YWx1ZSkgPT4gYWNjLmNvbmNhdCh2YWx1ZSksIFtdKTtcbiAgICAgIHJlc3VsdC5wdXNoKC4uLmNoaWxkcmVuKTtcbiAgICB9XG4gICAgY29uc3QgZXhwYW5kYWJsZSA9IHRoaXMuZ2V0RXhwYW5kYWJsZUNvbXBvbmVudChjb21wKTtcbiAgICBpZiAoZXhwYW5kYWJsZSkge1xuICAgICAgcmVzdWx0LnB1c2goLi4udGhpcy5nZXRGb3JtcyhleHBhbmRhYmxlKSk7XG4gICAgfVxuICAgIGlmIChjb21wLnNtYXJ0Rm9ybUNvbXBvbmVudCkge1xuICAgICAgcmVzdWx0LnB1c2goY29tcC5zbWFydEZvcm1Db21wb25lbnQpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBnZXRHcmlkcyhjb21wOiBTbWFydENvbXBvbmVudExheW91dENvbXBvbmVudCk6IFNtYXJ0R3JpZENvbXBvbmVudFtdIHtcbiAgICBsZXQgcmVzdWx0OiBTbWFydEdyaWRDb21wb25lbnRbXSA9IFtdO1xuICAgIGlmIChjb21wLmNvbXBvbmVudHMpIHtcbiAgICAgIGNvbnN0IGNoaWxkcmVuID0gY29tcC5jb21wb25lbnRzXG4gICAgICAgIC5tYXAoKGMpID0+IHRoaXMuZ2V0R3JpZHMoYykpXG4gICAgICAgIC5yZWR1Y2UoKGFjYywgdmFsdWUpID0+IGFjYy5jb25jYXQodmFsdWUpLCBbXSk7XG4gICAgICByZXN1bHQucHVzaCguLi5jaGlsZHJlbik7XG4gICAgfVxuICAgIGNvbnN0IGV4cGFuZGFibGUgPSB0aGlzLmdldEV4cGFuZGFibGVDb21wb25lbnQoY29tcCk7XG4gICAgaWYgKGV4cGFuZGFibGUpIHtcbiAgICAgIHJlc3VsdC5wdXNoKC4uLnRoaXMuZ2V0R3JpZHMoZXhwYW5kYWJsZSkpO1xuICAgIH1cbiAgICBpZiAoY29tcC5zbWFydEdyaWRDb21wb25lbnQpIHtcbiAgICAgIHJlc3VsdC5wdXNoKGNvbXAuc21hcnRHcmlkQ29tcG9uZW50KTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZ2V0TWFwcyhjb21wOiBTbWFydENvbXBvbmVudExheW91dENvbXBvbmVudCk6IEFycmF5PFNtYXJ0TWFwQ29tcG9uZW50PiB7XG4gICAgY29uc3QgcmVzdWx0OiBBcnJheTxTbWFydE1hcENvbXBvbmVudD4gPSBbXTtcbiAgICBpZiAoY29tcC5jb21wb25lbnRzKSB7XG4gICAgICBjb25zdCBjaGlsZHJlbiA9IGNvbXAuY29tcG9uZW50c1xuICAgICAgICAubWFwKChjKSA9PiBTbWFydENvbXBvbmVudExheW91dFV0aWxpdHkuZ2V0TWFwcyhjKSlcbiAgICAgICAgLnJlZHVjZSgoYWNjLCB2YWx1ZSkgPT4gYWNjLmNvbmNhdCh2YWx1ZSksIFtdKTtcbiAgICAgIHJlc3VsdC5wdXNoKC4uLmNoaWxkcmVuKTtcbiAgICB9XG5cbiAgICBjb25zdCBleHBhbmRhYmxlID0gdGhpcy5nZXRFeHBhbmRhYmxlQ29tcG9uZW50KGNvbXApO1xuICAgIGlmIChleHBhbmRhYmxlKSB7XG4gICAgICByZXN1bHQucHVzaCguLi50aGlzLmdldE1hcHMoZXhwYW5kYWJsZSkpO1xuICAgIH1cblxuICAgIGlmIChjb21wLnNtYXJ0TWFwQ29tcG9uZW50KSB7XG4gICAgICByZXN1bHQucHVzaChjb21wLnNtYXJ0TWFwQ29tcG9uZW50KTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG4gIHB1YmxpYyBzdGF0aWMgZ2V0RGlhZ3JhbXMoY29tcDogU21hcnRDb21wb25lbnRMYXlvdXRDb21wb25lbnQpOiBBcnJheTxTbWFydERpYWdyYW1Db21wb25lbnQ+IHtcbiAgICBjb25zdCByZXN1bHQ6IEFycmF5PFNtYXJ0RGlhZ3JhbUNvbXBvbmVudD4gPSBbXTtcbiAgICBpZiAoY29tcC5jb21wb25lbnRzKSB7XG4gICAgICBjb25zdCBjaGlsZHJlbiA9IGNvbXAuY29tcG9uZW50c1xuICAgICAgICAubWFwKChjKSA9PiBTbWFydENvbXBvbmVudExheW91dFV0aWxpdHkuZ2V0RGlhZ3JhbXMoYykpXG4gICAgICAgIC5yZWR1Y2UoKGFjYywgdmFsdWUpID0+IGFjYy5jb25jYXQodmFsdWUpLCBbXSk7XG4gICAgICByZXN1bHQucHVzaCguLi5jaGlsZHJlbik7XG4gICAgfVxuXG4gICAgY29uc3QgZXhwYW5kYWJsZSA9IHRoaXMuZ2V0RXhwYW5kYWJsZUNvbXBvbmVudChjb21wKTtcbiAgICBpZiAoZXhwYW5kYWJsZSkge1xuICAgICAgcmVzdWx0LnB1c2goLi4udGhpcy5nZXREaWFncmFtcyhleHBhbmRhYmxlKSk7XG4gICAgfVxuXG4gICAgaWYgKGNvbXAuc21hcnREaWFncmFtQ29tcG9uZW50KSB7XG4gICAgICByZXN1bHQucHVzaChjb21wLnNtYXJ0RGlhZ3JhbUNvbXBvbmVudCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZ2V0VHJlZXMoY29tcDogU21hcnRDb21wb25lbnRMYXlvdXRDb21wb25lbnQpOiBTbWFydHRyZWVHZW5lcmljU2VydmljZVtdIHtcbiAgICBsZXQgcmVzdWx0OiBTbWFydHRyZWVHZW5lcmljU2VydmljZVtdID0gW107XG4gICAgaWYgKGNvbXAuY29tcG9uZW50cykge1xuICAgICAgY29uc3QgY2hpbGRyZW4gPSBjb21wLmNvbXBvbmVudHNcbiAgICAgICAgPy5tYXAoKGMpID0+IHRoaXMuZ2V0VHJlZXMoYykpXG4gICAgICAgIC5yZWR1Y2UoKGFjYywgdmFsdWUpID0+IGFjYy5jb25jYXQodmFsdWUpLCBbXSk7XG4gICAgICByZXN1bHQucHVzaCguLi5jaGlsZHJlbik7XG4gICAgfVxuICAgIGNvbnN0IGV4cGFuZGFibGUgPSB0aGlzLmdldEV4cGFuZGFibGVDb21wb25lbnQoY29tcCk7XG4gICAgaWYgKGV4cGFuZGFibGUpIHtcbiAgICAgIHJlc3VsdC5wdXNoKC4uLnRoaXMuZ2V0VHJlZXMoZXhwYW5kYWJsZSkpO1xuICAgIH1cbiAgICBpZiAoY29tcC50cmVlU2VydmljZSkge1xuICAgICAgcmVzdWx0LnB1c2goY29tcC50cmVlU2VydmljZSk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGdldFRvb2xiYXJzKGNvbXA6IFNtYXJ0Q29tcG9uZW50TGF5b3V0Q29tcG9uZW50KTogVWlBY3Rpb25Ub29sYmFyQ29tcG9uZW50W10ge1xuICAgIGxldCByZXN1bHQ6IFVpQWN0aW9uVG9vbGJhckNvbXBvbmVudFtdID0gW107XG4gICAgaWYgKGNvbXAuY29tcG9uZW50cykge1xuICAgICAgY29uc3QgY2hpbGRyZW4gPSBjb21wLmNvbXBvbmVudHNcbiAgICAgICAgLm1hcCgoYykgPT4gdGhpcy5nZXRUb29sYmFycyhjKSlcbiAgICAgICAgLnJlZHVjZSgoYWNjLCB2YWx1ZSkgPT4gYWNjLmNvbmNhdCh2YWx1ZSksIFtdKTtcbiAgICAgIHJlc3VsdC5wdXNoKC4uLmNoaWxkcmVuKTtcbiAgICB9XG4gICAgY29uc3QgZXhwYW5kYWJsZSA9IHRoaXMuZ2V0RXhwYW5kYWJsZUNvbXBvbmVudChjb21wKTtcbiAgICBpZiAoZXhwYW5kYWJsZSkge1xuICAgICAgcmVzdWx0LnB1c2goLi4udGhpcy5nZXRUb29sYmFycyhleHBhbmRhYmxlKSk7XG4gICAgfVxuXG4gICAgbGV0IGV4cGFuZGVhYmxlSGVhZGVyVG9vbGJhciA9IGNvbXAuZXhwYW5kYWJsZUNvbXBvbmVudHM/LmZpcnN0Py50b29sYmFyO1xuXG4gICAgaWYgKGV4cGFuZGVhYmxlSGVhZGVyVG9vbGJhcikge1xuICAgICAgcmVzdWx0LnB1c2goZXhwYW5kZWFibGVIZWFkZXJUb29sYmFyKTtcbiAgICB9XG5cbiAgICBpZiAoY29tcC50b29sYmFyKSB7XG4gICAgICByZXN1bHQucHVzaChjb21wLnRvb2xiYXIpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBnZXRFbWJlZGRlZFNsb3RzKGNvbXA6IFNtYXJ0Q29tcG9uZW50TGF5b3V0Q29tcG9uZW50KTogRW1iZWRkZWRTbG90SW5mb1tdIHtcbiAgICBjb25zdCByZXN1bHQ6IEVtYmVkZGVkU2xvdEluZm9bXSA9IFtdO1xuICAgIGlmIChjb21wLmNvbXBvbmVudHMpIHtcbiAgICAgIGNvbnN0IGNoaWxkcmVuID0gY29tcC5jb21wb25lbnRzXG4gICAgICAgIC5tYXAoKGMpID0+IHRoaXMuZ2V0RW1iZWRkZWRTbG90cyhjKSlcbiAgICAgICAgLnJlZHVjZSgoYWNjLCB2YWx1ZSkgPT4gYWNjLmNvbmNhdCh2YWx1ZSksIFtdKTtcbiAgICAgIHJlc3VsdC5wdXNoKC4uLmNoaWxkcmVuKTtcbiAgICB9XG4gICAgY29uc3QgZXhwYW5kYWJsZSA9IHRoaXMuZ2V0RXhwYW5kYWJsZUNvbXBvbmVudChjb21wKTtcbiAgICBpZiAoZXhwYW5kYWJsZSkge1xuICAgICAgcmVzdWx0LnB1c2goLi4udGhpcy5nZXRFbWJlZGRlZFNsb3RzKGV4cGFuZGFibGUpKTtcbiAgICB9XG4gICAgaWYgKGNvbXAuX2VtYmVkZGVkU2xvdFZjUmVmICYmIGNvbXAuZW1iZWRkZWRTbG90Q29udGFpbmVySWQpIHtcbiAgICAgIHJlc3VsdC5wdXNoKHsgY29udGFpbmVySWQ6IGNvbXAuZW1iZWRkZWRTbG90Q29udGFpbmVySWQsIHZjUmVmOiBjb21wLl9lbWJlZGRlZFNsb3RWY1JlZiB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHN0YXRpYyBnZXRFeHBhbmRhYmxlQ29tcG9uZW50KFxuICAgIGNvbXA6IFNtYXJ0Q29tcG9uZW50TGF5b3V0Q29tcG9uZW50XG4gICk6IFNtYXJ0Q29tcG9uZW50TGF5b3V0Q29tcG9uZW50IHtcbiAgICByZXR1cm4gY29tcC5leHBhbmRhYmxlQ29tcG9uZW50cz8uZmlyc3Q/LmNvbXBvbmVudFJlZj8uaW5zdGFuY2U7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGFwcGx5U3R5bGUoXG4gICAgc3R5bGU6IFN0eWxlIHwgdW5kZWZpbmVkLFxuICAgIGVsZW1lbnRSZWY/OiBFbGVtZW50UmVmLFxuICAgIHJlbmRlcmVyPzogUmVuZGVyZXIyXG4gICkge1xuICAgIGlmIChzdHlsZSAmJiBlbGVtZW50UmVmICYmIHJlbmRlcmVyKSB7XG4gICAgICBsZXQgZWxlbWVudCA9IGVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICAgIC8vIGNzcyBzdHlsZSBwcm9wZXJ0aWVzXG4gICAgICBpZiAoc3R5bGUuc3R5bGUpIHtcbiAgICAgICAgT2JqZWN0LmVudHJpZXMoc3R5bGUuc3R5bGUpLmZvckVhY2goKFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgICAgIHJlbmRlcmVyLnNldFN0eWxlKGVsZW1lbnQsIGtleSwgdmFsdWUsIFJlbmRlcmVyU3R5bGVGbGFnczIuSW1wb3J0YW50KTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICAvLyBhZGQgY2xhc3Nlc1xuICAgICAgaWYgKHN0eWxlLmNsYXNzZXNUb0FkZCkge1xuICAgICAgICBzdHlsZS5jbGFzc2VzVG9BZGQuZm9yRWFjaCgoY2wpID0+IHJlbmRlcmVyLmFkZENsYXNzKGVsZW1lbnQsIGNsKSk7XG4gICAgICB9XG4gICAgICAvLyByZW1vdmUgY2xhc3Nlc1xuICAgICAgaWYgKHN0eWxlLmNsYXNzZXNUb1JlbW92ZSkge1xuICAgICAgICBzdHlsZS5jbGFzc2VzVG9SZW1vdmUuZm9yRWFjaCgoY2wpID0+IHJlbmRlcmVyLnJlbW92ZUNsYXNzKGVsZW1lbnQsIGNsKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHN0YXRpYyBzZXRVdWlkKGNvbXA6IFNtYXJ0Q29tcG9uZW50TGF5b3V0Q29tcG9uZW50LCB1dWlkPzogc3RyaW5nKSB7XG4gICAgY29tcC51cGRhdGVVdWlkKHV1aWQpO1xuICAgIGNvbXAuY29tcG9uZW50cz8uZm9yRWFjaCgoY2hpbGQpID0+IHRoaXMuc2V0VXVpZChjaGlsZCwgdXVpZCkpO1xuICB9XG59XG4iXX0=