asap-feed-beta 12.7.3 → 12.7.5

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.
@@ -329,14 +329,13 @@ export class FeedPublicationComponent {
329
329
  }
330
330
  }));
331
331
  }
332
+ console.log("share", data);
332
333
  this.publish(data).then((/**
333
334
  * @param {?} id
334
335
  * @return {?}
335
336
  */
336
337
  (id) => {
337
- if (data.selected_users.length) {
338
- this.userService.usersChecked({ post_id: id, user_id: data.selected_users }).subscribe();
339
- }
338
+ this.userService.usersChecked({ post_id: id, user_id: data.selected_users, comment: data.title, type: 'post' }, { comments: true }).subscribe();
340
339
  }));
341
340
  this.selectedUsers = [];
342
341
  }
@@ -797,4 +796,4 @@ if (false) {
797
796
  /** @type {?} */
798
797
  FeedPublicationComponent.prototype.dialog;
799
798
  }
800
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVlZC1wdWJsaWNhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hc2FwLWZlZWQtYmV0YS8iLCJzb3VyY2VzIjpbImxpYi9mZWVkLXB1YmxpY2F0aW9uL2ZlZWQtcHVibGljYXRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDaEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzlDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzNELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDbkYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLElBQUksTUFBTSxhQUFhLENBQUM7QUFVL0IsTUFBTSxPQUFPLHdCQUF3Qjs7Ozs7Ozs7Ozs7OztJ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QUNqQyxzQ0FBMkI7O0lBQzNCLHdDQUF1Qjs7SUFDdkIsMENBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXNhcFNlcnZpY2UsIEdsb2JhbCB9IGZyb20gJ2FzYXAtY3J1ZCc7XG5pbXBvcnQgeyBBc2FwRmVlZFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9hc2FwLWZlZWQuc2VydmljZSc7XG5pbXBvcnQgeyBTdHJlYW1TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvc3RyZWFtLnNlcnZpY2UnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBGaWxlc01vZGVsLCBGZWVkTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvZmVlZC5tb2RlbCc7XG5pbXBvcnQgeyBVdGlsc1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy91dGlscy5zZXJ2aWNlJztcbmltcG9ydCB7IHBhdGggfSBmcm9tICcuLi9jb25zdGFudHMvY29uc3RhbnRzJztcbmltcG9ydCB7IEFuZ3VsYXJGaXJlc3RvcmUgfSBmcm9tICdAYW5ndWxhci9maXJlL2ZpcmVzdG9yZSc7XG5pbXBvcnQgeyBjbGFzc1RvUGxhaW4gfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgTW9kYWxBbm5vdW5jZUNvbXBvbmVudCB9IGZyb20gJy4vbW9kYWwtYW5ub3VuY2UvbW9kYWwtYW5ub3VuY2UuY29tcG9uZW50JztcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBVc2VyU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3VzZXIuc2VydmljZSc7XG5pbXBvcnQgU3dhbCBmcm9tICdzd2VldGFsZXJ0Mic7XG5cbmRlY2xhcmUgdmFyICQ6IGFueTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZmVlZC1wdWJsaWNhdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9mZWVkLXB1YmxpY2F0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmVlZC1wdWJsaWNhdGlvbi5jb21wb25lbnQuc2NzcycsICcuLi9hc2FwLWZlZWQuYmV0YS5jb21wb25lbnRlLnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbIFN0cmVhbVNlcnZpY2UsIFVzZXJTZXJ2aWNlLCBBc2FwU2VydmljZSBdXG59KVxuZXhwb3J0IGNsYXNzIEZlZWRQdWJsaWNhdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KCkgYW5ub3VuY2UgPSBmYWxzZTtcbiAgQElucHV0KCkgaGlkZUZpbHRlckJ5TWUgPSBmYWxzZTtcbiAgQElucHV0KCkgc2V0dGluZ3M7XG4gIEBPdXRwdXQoKSBmZWVkQ3JlYXRlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGZpbHRlciA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBwdWJsaWMgdXNlcnMgPSBbXTtcblxuICBwdWJsaWMgdG1wRmlsZUFycmF5OiBBcnJheTxGaWxlc01vZGVsPjtcbiAgcHVibGljIHVwbG9hZGluZztcbiAgcHVibGljIHRpdGxlID0gbnVsbDtcbiAgcHVibGljIHByb2dyZXNzO1xuICBwdWJsaWMgbm90QW5ub3VuY2U7XG4gIHB1YmxpYyBuZXdQcm9kdWN0O1xuICBwdWJsaWMgRXhwYW5kSW1nO1xuICBwdWJsaWMgdHlwZSA9ICdwb3N0JztcbiAgcHVibGljIGVtYmVkRmlsZTtcbiAgcHVibGljIHRtcEVtYmVkRmlsZTtcbiAgcHVibGljIHZpZGVvU2VuZGVkSUQ7XG4gIHB1YmxpYyBkaXNhYmxlZCA9IGZhbHNlO1xuICBwdWJsaWMgbmV3ZmVlZDogYW55O1xuXG4gIHB1YmxpYyBtZXNzYWdlID0gXCJEaWdpdGUgYWNpbWEgbyBub21lIGRhIHBlc3NvYSBxdWUgZGVzZWphIG1hcmNhciwgZW0gc2VndWlkYSBwcmVzc2lvbmUgW0VOVEVSXVwiO1xuICBwdWJsaWMgc2VsZWN0ZWRVc2VyczogYW55ID0ge307XG4gIHB1YmxpYyBsaXN0VHlwZTogJ2NoZWNrZWQnIHwgJ3NlYXJjaCcgPSAnc2VhcmNoJztcblxuICBwdWJsaWMgZmlsdGVyQnlNZSA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBnbG9iYWw6IEdsb2JhbCxcbiAgICBwdWJsaWMgZmVlZFNlcnZpY2U6IEFzYXBGZWVkU2VydmljZSxcbiAgICBwdWJsaWMgYXNhcFNlcnZpY2U6IEFzYXBTZXJ2aWNlLFxuICAgIHB1YmxpYyB1c2VyU2VydmljZTogVXNlclNlcnZpY2UsXG4gICAgcHVibGljIHNhbml0aXplcjogRG9tU2FuaXRpemVyLFxuICAgIHB1YmxpYyBzdHJlYW1TZXJ2aWNlOiBTdHJlYW1TZXJ2aWNlLFxuICAgIHB1YmxpYyB1dGlsc1NlcnZpY2U6IFV0aWxzU2VydmljZSxcbiAgICBwdWJsaWMgZGI6IEFuZ3VsYXJGaXJlc3RvcmUsXG4gICAgcHVibGljIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHVibGljIGRpYWxvZzogTWF0RGlhbG9nLFxuICApIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMudG1wRmlsZUFycmF5ID0gW107XG4gICAgY29uc29sZS5sb2coJ1ByZWZpeCBQdWJsaWNhdGlvbiAtPicsIHBhdGgoKS5mZWVkKTtcbiAgICB0aGlzLmdldE5ld0ZlZWQoKTtcbiAgfVxuXG4gIGxvYWRVc2Vycyh2YWx1ZTogYW55KSB7XG4gICAgY29uc3Qgc2VhcmNoID0gdmFsdWU7XG4gICAgdGhpcy51c2VycyA9IG51bGw7XG4gICAgdGhpcy5saXN0VHlwZSA9ICdzZWFyY2gnO1xuICAgIGlmIChzZWFyY2ggIT0gJycpIHtcbiAgICAgIHRoaXMubWVzc2FnZSA9IFwiTmVuaHVtIHVzdcOhcmlvIGVuY29udHJhZG8hXCI7XG4gICAgICB0aGlzLnVzZXJTZXJ2aWNlLmdldEFsbFVzZXJzKHNlYXJjaCkuc3Vic2NyaWJlKChyZXNwb25zZSkgPT4ge1xuICAgICAgICB0aGlzLnVzZXJzID0gcmVzcG9uc2UuZGF0YS5tYXAoKHVzZXIpID0+IHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaWQ6IHVzZXIudXNlcl9pbmZvLnVzZXJfaWQsXG4gICAgICAgICAgICBuYW1lOiB1c2VyLnVzZXJfaW5mby51c2VyX25hbWUsXG4gICAgICAgICAgICBlbWFpbDogdXNlci5lbWFpbCxcbiAgICAgICAgICAgIHBpY3R1cmU6IHVzZXIucGljdHVyZVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9KVxuICAgIH1cbiAgfVxuXG4gIGFzeW5jIHVwbG9hZEZpbGUoZXZlbnQ6IGFueSkge1xuICAgIGZvciAoY29uc3QgZmlsZSBvZiBldmVudC50YXJnZXQuZmlsZXMpIHtcblxuICAgICAgY29uc3QgdG1wRmlsZTogRmlsZXNNb2RlbCA9IG5ldyBGaWxlc01vZGVsKCk7XG4gICAgICB0bXBGaWxlLnR5cGUgPSB0aGlzLmdldFR5cGVCeU1pbWVUeXBlKGZpbGUudHlwZSk7XG4gICAgICAvLyB0bXBGaWxlLnN0YXR1cyA9IDA7XG4gICAgICB0bXBGaWxlLnRodW1iX3JlbmRlcmluZyA9IGZhbHNlO1xuICAgICAgdG1wRmlsZS52aWRlb19yZW5kZXJpbmcgPSBmYWxzZTtcbiAgICAgIHRtcEZpbGUudmlkZW9fbG93X3JlbmRlcmluZyA9IGZhbHNlO1xuXG4gICAgICBsZXQgZXJyb3IgPSBmYWxzZTtcbiAgICAgIGlmICh0aGlzLmdldFR5cGVCeU1pbWVUeXBlKGZpbGUudHlwZSkgPT09ICd2aWRlbycgJiYgdGhpcy50bXBGaWxlQXJyYXkuZmlsdGVyKCh0bXA6IGFueSkgPT4gdGhpcy5nZXRUeXBlQnlNaW1lVHlwZSh0bXAudHlwZSkgPT09ICd2aWRlbycpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgdGhpcy5nbG9iYWwudG9hc3RTZXJ2aWNlLmVycm9yKHtcbiAgICAgICAgICB0aXRsZTogJ09wcycsXG4gICAgICAgICAgbWVzc2FnZTogJ1ZvY8OqIHPDsyBwb2RlIGVudmlhciB1bSB2w61kZW8gcG9yIFBvc3QnXG4gICAgICAgIH0pO1xuICAgICAgICBlcnJvciA9IHRydWU7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLmdldFR5cGVCeU1pbWVUeXBlKGZpbGUudHlwZSkgPT09ICdpbWFnZScgJiYgdGhpcy50bXBGaWxlQXJyYXkuZmlsdGVyKCh0bXA6IGFueSkgPT4gdGhpcy5nZXRUeXBlQnlNaW1lVHlwZSh0bXAudHlwZSkgPT09ICdpbWFnZScpLmxlbmd0aCA+IDQpIHtcbiAgICAgICAgdGhpcy5nbG9iYWwudG9hc3RTZXJ2aWNlLmVycm9yKHtcbiAgICAgICAgICB0aXRsZTogJ09wcycsXG4gICAgICAgICAgbWVzc2FnZTogJ1ZvY8OqIHBvZGUgdXRpbGl6YXIgYXTDqSBubyBtw6F4aW1vIDUgaW1hZ2VucyBubyBzZXUgUG9zdCdcbiAgICAgICAgfSk7XG4gICAgICAgIGVycm9yID0gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgaWYgKCFlcnJvcikge1xuICAgICAgICAvLyB0aGlzLnVwbG9hZGluZyA9IHRydWU7XG5cbiAgICAgICAgaWYgKHRoaXMuZ2V0VHlwZUJ5TWltZVR5cGUoZmlsZS50eXBlKSA9PT0gJ2ltYWdlJykge1xuICAgICAgICAgIGlmIChmaWxlLnR5cGUgPT0gJ2ltYWdlL2dpZicpIHtcbiAgICAgICAgICAgIHRtcEZpbGUubmFtZSA9IGAke3RoaXMuc3RyZWFtU2VydmljZS51aWQoKX0uZ2lmYDtcbiAgICAgICAgICAgIHRtcEZpbGUudXJsID0gYXdhaXQgdGhpcy5yZWFkR0lGKGZpbGUpO1xuICAgICAgICAgICAgdGhpcy50bXBGaWxlQXJyYXkucHVzaCh0bXBGaWxlKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGdldEV4dG5hbWUgPSBmaWxlLm5hbWUuc3BsaXQoJy4nKTtcbiAgICAgICAgICAgIGNvbnN0IGV4dG5hbWUgPSBnZXRFeHRuYW1lW2dldEV4dG5hbWUubGVuZ3RoIC0gMV07XG5cbiAgICAgICAgICAgIHRtcEZpbGUudXJsID0gYXdhaXQgdGhpcy5yZXNpemVJbWFnZXMoZmlsZSwgODAwKTtcbiAgICAgICAgICAgIHRtcEZpbGUubmFtZSA9IGAke3RoaXMuc3RyZWFtU2VydmljZS51aWQoKX0uJHtleHRuYW1lfWA7XG4gICAgICAgICAgICB0aGlzLnRtcEZpbGVBcnJheS5wdXNoKHRtcEZpbGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGVsc2UgaWYgKHRoaXMuZ2V0VHlwZUJ5TWltZVR5cGUoZmlsZS50eXBlKSA9PT0gJ3ZpZGVvJykge1xuICAgICAgICAgIHRoaXMudXBsb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgICBjb25zb2xlLmxvZygnUmVhbGl6YXIgVXBsb2FkIGRlIFZpZGVvJywgdG1wRmlsZSk7XG4gICAgICAgICAgY29uc3QgcmVhZGVyID0gZmlsZTtcbiAgICAgICAgICBpZiAocmVhZGVyKSB7XG4gICAgICAgICAgICBjb25zdCBibG9iVVJMID0gVVJMLmNyZWF0ZU9iamVjdFVSTChyZWFkZXIpO1xuICAgICAgICAgICAgdG1wRmlsZS5uYW1lID0gYmxvYlVSTCBhcyBhbnk7XG4gICAgICAgICAgICB0aGlzLnRtcEZpbGVBcnJheS5wdXNoKHRtcEZpbGUpO1xuICAgICAgICAgICAgY29uc29sZS5sb2coJ1t1cGxvYWRGaWxlXSBpZiByZWFkZXInLCBibG9iVVJMKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0aGlzLnVwbG9hZGluZyA9IHRydWU7XG4gICAgICAgICAgYXdhaXQgdGhpcy5zdHJlYW1TZXJ2aWNlLnVwbG9hZEZpbGUoZmlsZSkuc3Vic2NyaWJlKFxuICAgICAgICAgICAgcmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgICBjb25zb2xlLmxvZygnW3VwbG9hZEZpbGVdIFJlc3BvbnNlJywgdG1wRmlsZSk7XG4gICAgICAgICAgICAgIGlmICghcmVzcG9uc2UuYm9keSkge1xuICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZVsndG90YWwnXSkge1xuICAgICAgICAgICAgICAgICAgdG1wRmlsZS5zdGF0dXMgPSAoKHJlc3BvbnNlWydsb2FkZWQnXSAqIDEwMCkgLyByZXNwb25zZVsndG90YWwnXSkudG9GaXhlZCgwKSBhcyBhbnk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMucHJvZ3Jlc3MgPSB0bXBGaWxlLnN0YXR1cztcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGlmIChyZXNwb25zZS5ib2R5ICYmIHJlc3BvbnNlLmJvZHkuZmlsZSkge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdbdXBsb2FkRmlsZV0gUmVzcG9uc2UgVXBsb2FkZWQnLCByZXNwb25zZSk7XG4gICAgICAgICAgICAgICAgdG1wRmlsZS5zdGF0dXMgPSAxMDE7XG4gICAgICAgICAgICAgICAgdG1wRmlsZS51cmwgPSByZXNwb25zZS5ib2R5LmZpbGUuc2VjdXJlX3VybDtcbiAgICAgICAgICAgICAgICB0aGlzLnZpZGVvU2VuZGVkSUQgPSB0bXBGaWxlLnVybDtcbiAgICAgICAgICAgICAgICB0aGlzLnVwbG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMucHJvZ3Jlc3MgPSBudWxsO1xuXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICApO1xuICAgICAgICAgIGNvbnNvbGUubG9nKCd0bXBGaWxlJywgdG1wRmlsZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXNpemVJbWFnZXMoZmlsZTogYW55LCB3aWR0aDogbnVtYmVyKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgY29uc3QgaW1nID0gbmV3IEltYWdlKCk7XG4gICAgICBjb25zdCBNQVhfV0lEVEggPSB3aWR0aDtcbiAgICAgIGNvbnN0IE1BWF9IRUlHSFQ6IGFueSA9IDEzMzQ7XG5cbiAgICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG5cbiAgICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGZpbGUpO1xuXG4gICAgICByZWFkZXIub25sb2FkID0gKGU6IGFueSkgPT4ge1xuICAgICAgICBpbWcuc3JjID0gZS50YXJnZXQucmVzdWx0O1xuICAgICAgICBpbWcub25sb2FkID0gKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHNjYWxlID0gTUFYX1dJRFRIIC8gaW1nLndpZHRoO1xuICAgICAgICAgIGNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpO1xuICAgICAgICAgIGNhbnZhcy5oZWlnaHQgPSBzY2FsZSAqIGltZy5oZWlnaHQ7XG5cbiAgICAgICAgICBjYW52YXMud2lkdGggPSBNQVhfV0lEVEg7XG4gICAgICAgICAgY29uc3QgY3R4ID0gY2FudmFzLmdldENvbnRleHQoJzJkJyk7XG4gICAgICAgICAgY3R4LmRyYXdJbWFnZShpbWcsIDAsIDApO1xuXG4gICAgICAgICAgY29uc29sZS5sb2coJ0lNRycsIGltZy53aWR0aCwgaW1nLmhlaWdodCk7XG4gICAgICAgICAgY3R4LmRyYXdJbWFnZShpbWcsIDAsIDAsIGNhbnZhcy53aWR0aCwgY2FudmFzLmhlaWdodCk7XG5cbiAgICAgICAgICBjb25zdCBkYXRhdXJsID0gY2FudmFzLnRvRGF0YVVSTChmaWxlLnR5cGUsIDAuNjUpO1xuICAgICAgICAgIGNvbnNvbGUubG9nKCdDQU5WQVMgLT4nLCBjYW52YXMud2lkdGgsIGNhbnZhcy5oZWlnaHQpO1xuICAgICAgICAgIHJldHVybiByZXNvbHZlKGRhdGF1cmwpO1xuICAgICAgICB9O1xuICAgICAgfTtcblxuICAgICAgcmVhZGVyLm9uZXJyb3IgPSByZWplY3Q7XG4gICAgfSk7XG5cbiAgfVxuXG4gIHJlYWRHSUYoZmlsZTogYW55KTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuXG4gICAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuXG4gICAgICByZWFkZXIucmVhZEFzRGF0YVVSTChmaWxlKTtcblxuICAgICAgcmVhZGVyLm9ubG9hZCA9IChlOiBhbnkpID0+IHtcbiAgICAgICAgcmV0dXJuIHJlc29sdmUocmVhZGVyLnJlc3VsdCk7XG4gICAgICB9O1xuXG4gICAgICByZWFkZXIub25lcnJvciA9IHJlamVjdDtcbiAgICB9KTtcblxuICB9XG5cbiAgZ2V0VHlwZUJ5TWltZVR5cGUobWltZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBzcGxpdCA9IG1pbWUuc3BsaXQoJy8nKTtcbiAgICByZXR1cm4gc3BsaXRbMF07XG4gIH1cblxuICBzaGFyZSgpOiBhbnkge1xuICAgIGNvbnN0IGRhdGE6IEZlZWRNb2RlbCA9IG5ldyBGZWVkTW9kZWwoKTtcbiAgICBkYXRhLnVwZGF0ZWRfYXQgPSBEYXRlLm5vdygpO1xuICAgIGRhdGEudGl0bGUgPSB0aGlzLnRpdGxlO1xuICAgIGRhdGEudHlwZSA9IHRoaXMudHlwZTtcbiAgICBkYXRhLnNlbGVjdGVkX3VzZXJzID0gW107XG4gICAgZGF0YS5zZWxlY3RlZF91c2Vyc19kYXRhID0gW107XG5cbiAgICBmb3IgKGNvbnN0IGlkIGluIHRoaXMuc2VsZWN0ZWRVc2Vycykge1xuICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRVc2Vyc1tpZF0pIHtcbiAgICAgICAgZGF0YS5zZWxlY3RlZF91c2Vycy5wdXNoKGlkKTtcbiAgICAgICAgZGF0YS5zZWxlY3RlZF91c2Vyc19kYXRhLnB1c2goe1xuICAgICAgICAgIGlkLFxuICAgICAgICAgIG5hbWU6IHRoaXMuc2VsZWN0ZWRVc2Vyc1tpZF0ubmFtZSxcbiAgICAgICAgICBwaWN0dXJlOiB0aGlzLnNlbGVjdGVkVXNlcnNbaWRdLnBpY3R1cmUsXG4gICAgICAgICAgZW1haWw6IHRoaXMuc2VsZWN0ZWRVc2Vyc1tpZF0uZW1haWxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHRoaXMudG1wRmlsZUFycmF5IHx8IHRoaXMudG1wRmlsZUFycmF5Lmxlbmd0aCA+IDApIHtcbiAgICAgIGRhdGEuZmlsZXMgPSB0aGlzLnRtcEZpbGVBcnJheTtcbiAgICAgIC8vIGNvbnN0IHZpZGVvRmlsdGVyID0gZGF0YS5maWxlcy5maWx0ZXIodG1wID0+IHRoaXMuZ2V0VHlwZUJ5TWltZVR5cGUodG1wLnR5cGUpID09PSAndmlkZW8nKTtcbiAgICAgIC8vIGlmICh2aWRlb0ZpbHRlci5sZW5ndGggPiAwKSB7XG4gICAgICAvLyB9XG4gICAgICBkYXRhLmZpbGVzLm1hcChpdGVtID0+IHtcbiAgICAgICAgaWYgKGl0ZW0udHlwZSA9PT0gJ3ZpZGVvJykge1xuICAgICAgICAgIGNvbnNvbGUubG9nKCdFeGlzdGUgdW0gdmlkZW8gbm8gRmVlZCcsIGl0ZW0pO1xuICAgICAgICAgIGlmICghaXRlbS5pc0Nsb3VkaW5hcnkpIHtcbiAgICAgICAgICAgIGl0ZW0udmlkZW9fcmVuZGVyaW5nID0gZmFsc2U7XG4gICAgICAgICAgICBpdGVtLnZpZGVvX2xvd19yZW5kZXJpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIGl0ZW0udGh1bWJfcmVuZGVyaW5nID0gZmFsc2U7XG5cbiAgICAgICAgICAgIC8vIFNldGFuZG8gbyBJRCBkbyBGZWVkIGlndWFsIGFvIElEIGRvIHbDrWRlb1xuICAgICAgICAgICAgZGF0YS5yZWYgPSBpdGVtLnVybDtcbiAgICAgICAgICAgIGRhdGEuc3RhdHVzID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLnN0cmVhbVNlcnZpY2Uuc3RhdHVzKGl0ZW0udXJsKS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XG4gICAgICAgICAgICAgIGl0ZW0udmlkZW9fcmVuZGVyaW5nID0gIXJlcy5wNDgwO1xuICAgICAgICAgICAgICBpdGVtLnZpZGVvX2xvd19yZW5kZXJpbmcgPSAhcmVzLnA0ODBfbG93O1xuICAgICAgICAgICAgICBpdGVtLnRodW1iX3JlbmRlcmluZyA9ICFyZXMudGh1bWI7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMucHVibGlzaChkYXRhKS50aGVuKChpZCkgPT4ge1xuICAgICAgaWYgKGRhdGEuc2VsZWN0ZWRfdXNlcnMubGVuZ3RoKSB7XG4gICAgICAgIHRoaXMudXNlclNlcnZpY2UudXNlcnNDaGVja2VkKHtwb3N0X2lkOiBpZCwgdXNlcl9pZDogZGF0YS5zZWxlY3RlZF91c2Vyc30pLnN1YnNjcmliZSgpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5zZWxlY3RlZFVzZXJzID0gW107XG4gIH1cblxuICBjb25maXJtU2hhcmUoKSB7XG4gICAgY29uc3Qgc3dhbGwgPSBTd2FsLmZpcmUoe1xuICAgICAgICB0aXRsZTogXCJQb2RlbW9zIGNvbXBhcnRpbGhhciBzZXUgcG9zdD9cIixcbiAgICAgICAgdHlwZTogXCJ3YXJuaW5nXCIsXG4gICAgICAgIHNob3dDYW5jZWxCdXR0b246IHRydWUsXG4gICAgICAgIGNvbmZpcm1CdXR0b25UZXh0OiBcIlNpbVwiLFxuICAgICAgICBjYW5jZWxCdXR0b25UZXh0OiBcIk7Do29cIlxuICAgIH0pO1xuXG4gICAgc3dhbGwudGhlbigoY29uZmlybWVkKSA9PiB7XG4gICAgICBpZiAoY29uZmlybWVkLnZhbHVlKSB7XG4gICAgICAgIHRoaXMuc2hhcmUoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHB1Ymxpc2goZGF0YTogRmVlZE1vZGVsKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG5cbiAgICAgIGxldCBpbWFnZTtcbiAgICAgIGxldCBpZDtcbiAgICAgIGNvbnNvbGUubG9nKCdQdWJsaXNoKCknLCAxLCBkYXRhKTtcbiAgXG4gICAgICBpZiAoIWRhdGEudGl0bGUgfHwgZGF0YS50aXRsZSA9PT0gJycpIHtcbiAgICAgICAgLy8gdGhpcy5nbG9iYWwudG9hc3RTZXJ2aWNlLmVycm9yKHtcbiAgICAgICAgLy8gICB0aXRsZTogJ09wcycsXG4gICAgICAgIC8vICAgbWVzc2FnZTogJ1ZvY8OqIHByZWNpc2EgYWRpY2lvbmFyIHVtIHRleHRvIMOgIHN1YSBpbWFnZW0vdsOtZGVvLicsXG4gICAgICAgIC8vIH0pO1xuICAgICAgICBTd2FsLmZpcmUoe1xuICAgICAgICAgICAgICB0aXRsZTogXCJQb2RlbW9zIGNvbXBhcnRpbGhhciBzZXUgcG9zdD8/XCIsXG4gICAgICAgICAgICAgIHR5cGU6IFwid2FybmluZ1wiLFxuICAgICAgICAgICAgICBzaG93Q2FuY2VsQnV0dG9uOiB0cnVlLFxuICAgICAgICAgICAgICBjb25maXJtQnV0dG9uVGV4dDogXCJTaW1cIixcbiAgICAgICAgICAgICAgY2FuY2VsQnV0dG9uVGV4dDogXCJOw6NvXCJcbiAgICAgICAgICB9KVxuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICB0aGlzLnVwbG9hZGluZyA9IHRydWU7XG4gICAgICB0aGlzLnByb2dyZXNzID0gMDtcbiAgXG4gIFxuICAgICAgbGV0IGNvdW50ID0gMDtcbiAgICAgIGRhdGEudXNlcl9pbmZvID0ge1xuICAgICAgICBpZDogdGhpcy5nbG9iYWwubG9nZ2VkVXNlcigpLmlkLFxuICAgICAgICBuYW1lOiB0aGlzLmdsb2JhbC5sb2dnZWRVc2VyKCkubmFtZSxcbiAgICAgICAgcGljdHVyZTogdGhpcy5nbG9iYWwubG9nZ2VkVXNlcigpLnBpY3R1cmUsXG4gICAgICAgIHVwZGF0ZWRfYXQ6IERhdGUubm93KClcbiAgICAgIH07XG4gIFxuICAgICAgaWYgKHRoaXMudHlwZSA9PSAnZW1iZWQnKSB7XG4gICAgICAgIGNvbnN0IGZpbGVFbWJlZDogYW55ID0ge1xuICAgICAgICAgIG5hbWU6IHRoaXMuZW1iZWRGaWxlLFxuICAgICAgICAgIHVybDogdGhpcy5lbWJlZEZpbGUsXG4gICAgICAgICAgdHlwZTogJ2VtYmVkJ1xuICAgICAgICB9O1xuICBcbiAgICAgICAgdGhpcy50bXBGaWxlQXJyYXkucHVzaChmaWxlRW1iZWQpO1xuICAgICAgfVxuICBcbiAgICAgIGlmICh0aGlzLnR5cGUgIT0gJ2VtYmVkJykge1xuICAgICAgICBpZiAodGhpcy50bXBGaWxlQXJyYXkgJiYgdGhpcy50bXBGaWxlQXJyYXkubGVuZ3RoID4gMCkge1xuICAgICAgICAgIGNvbnNvbGUubG9nKCd0aGlzLnRtcEZpbGVBcnJheScsIHRoaXMuZ2V0VHlwZUJ5TWltZVR5cGUodGhpcy50bXBGaWxlQXJyYXlbMF0udHlwZSkpO1xuICAgICAgICAgIGNvbnNvbGUubG9nKCdQdWJsaXNoKCknLCAyKTtcbiAgICAgICAgICBjb25zdCBpbWFnZXNGaWxlcyA9IHRoaXMudG1wRmlsZUFycmF5LmZpbHRlcihcbiAgICAgICAgICAgICh0bXA6IGFueSkgPT4gdGhpcy5nZXRUeXBlQnlNaW1lVHlwZSh0bXAudHlwZSkgPT09ICdpbWFnZSdcbiAgICAgICAgICApO1xuICBcbiAgXG4gICAgICAgICAgY29uc3Qgc3RlcCA9IDk4IC8gaW1hZ2VzRmlsZXMubGVuZ3RoO1xuICBcbiAgICAgICAgICBpZiAoKGltYWdlc0ZpbGVzLmxlbmd0aCAmJiBkYXRhLnRpdGxlID09PSAnJykpIHtcbiAgICAgICAgICAgIHRoaXMuZ2xvYmFsLnRvYXN0U2VydmljZS5lcnJvcih7XG4gICAgICAgICAgICAgIHRpdGxlOiAnT3BzJyxcbiAgICAgICAgICAgICAgbWVzc2FnZTogJ1ZvY8OqIHByZWNpc2EgYWRpY2lvbmFyIHVtIHRleHRvIGp1bnRvIMOgIHN1YSBpbWFnZW0vdsOtZGVvLicsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gIFxuICAgICAgICAgIGlmIChpbWFnZXNGaWxlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGZpbGUgb2YgaW1hZ2VzRmlsZXMpIHtcbiAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy51dGlsc1NlcnZpY2UudXBsb2FkRmlsZShgaW1hZ2VzLyR7ZmlsZS5uYW1lfWAsIGZpbGUudXJsKTtcbiAgICAgICAgICAgICAgICB0aGlzLnV0aWxzU2VydmljZS5wZXJjZW50YWdlLnN1YnNjcmliZShwZXJjZW50ID0+IHtcbiAgICAgICAgICAgICAgICAgIGZpbGUuc3RhdHVzID0gcGVyY2VudDtcbiAgICAgICAgICAgICAgICB9KTtcbiAgXG4gICAgICAgICAgICAgICAgdGhpcy51dGlsc1NlcnZpY2UudGFzay5zbmFwc2hvdENoYW5nZXMoKS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgICAgICBhc3luYyBzbmFwID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHNuYXAuYnl0ZXNUcmFuc2ZlcnJlZCA9PT0gc25hcC50b3RhbEJ5dGVzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgY291bnQrKztcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLnByb2dyZXNzICs9IHN0ZXA7XG4gICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ1BST0dSRVNTJywgdGhpcy5wcm9ncmVzcyk7XG4gICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW5kZXggPSBkYXRhLmZpbGVzLmZpbmRJbmRleChpdGVtID0+IGl0ZW0ubmFtZSA9PT0gZmlsZS5uYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgICBpZiAoKCFpbWFnZSkgJiYgKGRhdGEuZmlsZXNbaW5kZXhdKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy51dGlsc1NlcnZpY2UuZ2V0RmlyZVN0b3JhZ2VVUkwoYGltYWdlcy8ke2RhdGEuZmlsZXNbaW5kZXhdLm5hbWV9YCkuc3Vic2NyaWJlKChpbWFnZVVSTCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBpbWFnZSA9IGltYWdlVVJMO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gIFxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICBkZWxldGUgZGF0YS5maWxlc1tpbmRleF0udXJsO1xuICBcbiAgXG4gIFxuICAgICAgICAgICAgICAgICAgICAgIGlmIChjb3VudCA9PSBpbWFnZXNGaWxlcy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdDcmlhbmRvIEZlZWQnKTtcbiAgXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjb2xsZWN0aW9uID0gdGhpcy5kYi5jb2xsZWN0aW9uKHBhdGgoKS5mZWVkKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbGxlY3Rpb24uYWRkKGNsYXNzVG9QbGFpbihkYXRhKSkudGhlbihyZXNwb25zZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZGIuY29sbGVjdGlvbihwYXRoKCkuZmVlZCkuZG9jKHJlc3BvbnNlLmlkKS51cGRhdGUoeyBpZDogcmVzcG9uc2UuaWQgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZmVlZENyZWF0ZWQuZW1pdChyZXNwb25zZS5pZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmUocmVzcG9uc2UuaWQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gIFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50aXRsZSA9ICcnO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9ncmVzcyA9IG51bGw7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnVwbG9hZGluZyA9IG51bGw7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRtcEZpbGVBcnJheSA9IFtdO1xuICBcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdQdWJsaXNoKCknLCA0KTtcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICBlcnJvciA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yJywgZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdQdWJsaXNoKCknLCA1KTtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGRhdGEsIHRoaXMudG1wRmlsZUFycmF5KTtcbiAgXG4gICAgICAgICAgICBjb25zdCBjb2xsZWN0aW9uID0gdGhpcy5kYi5jb2xsZWN0aW9uKHBhdGgoKS5mZWVkKTtcbiAgICAgICAgICAgIGNvbGxlY3Rpb24uYWRkKGNsYXNzVG9QbGFpbihkYXRhKSkudGhlbihyZXNwb25zZSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuZGIuY29sbGVjdGlvbihwYXRoKCkuZmVlZCkuZG9jKHJlc3BvbnNlLmlkKS51cGRhdGUoeyBpZDogcmVzcG9uc2UuaWQgfSk7XG4gICAgICAgICAgICAgIHRoaXMuZmVlZENyZWF0ZWQuZW1pdChyZXNwb25zZS5pZCk7XG4gICAgICAgICAgICAgIHRoaXMudGl0bGUgPSAnJztcbiAgICAgICAgICAgICAgdGhpcy5wcm9ncmVzcyA9IG51bGw7XG4gICAgICAgICAgICAgIHRoaXMudXBsb2FkaW5nID0gbnVsbDtcbiAgICAgICAgICAgICAgdGhpcy50bXBGaWxlQXJyYXkgPSBbXTtcbiAgICAgICAgICAgICAgcmVzb2x2ZShyZXNwb25zZS5pZCk7XG4gICAgICAgICAgICB9KTtcbiAgXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgIGNvbnNvbGUubG9nKCdQdWJsaXNoKCknLCA1KTtcbiAgICAgICAgICBjb25zb2xlLmxvZyhkYXRhLCB0aGlzLnRtcEZpbGVBcnJheSk7XG4gIFxuICAgICAgICAgIGNvbnN0IGNvbGxlY3Rpb24gPSB0aGlzLmRiLmNvbGxlY3Rpb24ocGF0aCgpLmZlZWQpO1xuICAgICAgICAgIGNvbGxlY3Rpb24uYWRkKGNsYXNzVG9QbGFpbihkYXRhKSkudGhlbihyZXNwb25zZSA9PiB7XG4gICAgICAgICAgICB0aGlzLmRiLmNvbGxlY3Rpb24ocGF0aCgpLmZlZWQpLmRvYyhyZXNwb25zZS5pZCkudXBkYXRlKHsgaWQ6IHJlc3BvbnNlLmlkIH0pO1xuICAgICAgICAgICAgdGhpcy5mZWVkQ3JlYXRlZC5lbWl0KHJlc3BvbnNlLmlkKTtcbiAgICAgICAgICAgIHRoaXMudGl0bGUgPSAnJztcbiAgICAgICAgICAgIHRoaXMucHJvZ3Jlc3MgPSBudWxsO1xuICAgICAgICAgICAgdGhpcy51cGxvYWRpbmcgPSBudWxsO1xuICAgICAgICAgICAgdGhpcy50bXBGaWxlQXJyYXkgPSBbXTtcbiAgICAgICAgICAgIHJlc29sdmUocmVzcG9uc2UuaWQpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBlbHNlIHtcbiAgICAgICAgZGF0YS5maWxlcyA9IHRoaXMudG1wRmlsZUFycmF5O1xuICAgICAgICBjb25zb2xlLmxvZygnUHVibGlzaChFbWJlZCknLCA2KTtcbiAgICAgICAgY29uc29sZS5sb2coZGF0YSwgdGhpcy50bXBGaWxlQXJyYXkpO1xuICAgICAgICBjb25zdCBjb2xsZWN0aW9uID0gdGhpcy5kYi5jb2xsZWN0aW9uKHBhdGgoKS5mZWVkKTtcbiAgICAgICAgY29sbGVjdGlvbi5hZGQoY2xhc3NUb1BsYWluKGRhdGEpKS50aGVuKHJlc3BvbnNlID0+IHtcbiAgICAgICAgICBjb25zdCBkb2MgPSB0aGlzLmRiLmNvbGxlY3Rpb24ocGF0aCgpLmZlZWQpLmRvYyhyZXNwb25zZS5pZCk7XG4gICAgICAgICAgZG9jLnVwZGF0ZSh7IGlkOiByZXNwb25zZS5pZCB9KTtcbiAgICAgICAgICB0aGlzLmZlZWRDcmVhdGVkLmVtaXQocmVzcG9uc2UuaWQpO1xuICAgICAgICAgIHRoaXMudGl0bGUgPSAnJztcbiAgICAgICAgICB0aGlzLnByb2dyZXNzID0gbnVsbDtcbiAgICAgICAgICB0aGlzLnVwbG9hZGluZyA9IG51bGw7XG4gICAgICAgICAgdGhpcy50bXBGaWxlQXJyYXkgPSBbXTtcbiAgICAgICAgICB0aGlzLmVtYmVkRmlsZSA9IG51bGw7XG4gICAgICAgICAgdGhpcy50eXBlID0gJ3Bvc3QnO1xuICAgICAgICAgIHJlc29sdmUocmVzcG9uc2UuaWQpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgXG4gIFxuICAgICAgY29uc29sZS5sb2coJ1B1Ymxpc2goKScsIDAsIHBhdGgoKS5mZWVkKTtcbiAgICAgIHRoaXMudGl0bGUgPSAnJztcbiAgICAgIHRoaXMucHJvZ3Jlc3MgPSBudWxsO1xuICAgICAgdGhpcy51cGxvYWRpbmcgPSBudWxsO1xuICAgICAgdGhpcy50bXBGaWxlQXJyYXkgPSBbXTtcbiAgICAgIHRoaXMuZ2xvYmFsLnRvYXN0U2VydmljZS5zaG93KHtcbiAgICAgICAgdGl0bGU6ICdGZWl0byEnLFxuICAgICAgICBtZXNzYWdlOiAnU2V1IHBvc3QgZm9pIGNyaWFkbyBjb20gc3VjZXNzbycsXG4gICAgICAgIGxheW91dDogMlxuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICByZW1vdmVUbXBGaWxlKHRtcEZpbGU6IGFueSk6IHZvaWQge1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy50bXBGaWxlQXJyYXkuaW5kZXhPZih0bXBGaWxlKTtcbiAgICB0aGlzLnRtcEZpbGVBcnJheS5zcGxpY2UoaW5kZXgsIDEpO1xuICB9XG5cbiAgY2hlY2tQdWJsaWNhdGlvblR5cGUodGl0bGUpIHtcbiAgICBjb25zb2xlLmxvZygnRXZlbnQgLT4nLCBldmVudCk7XG4gICAgaWYgKHRpdGxlLmxlbmd0aCAmJiB0aXRsZS5sZW5ndGggPiAzNSkge1xuICAgICAgaWYgKHRoaXMuaXNWYWxpZFVybCh0aXRsZSkpIHtcbiAgICAgICAgY29uc29sZS5sb2coJ2NoZWNrUHVibGljYXRpb25UeXBlJywgdGl0bGUpO1xuICAgICAgICBpZiAodGl0bGUuaW5jbHVkZXMoJ3lvdXR1JykgfHwgdGl0bGUuaW5jbHVkZXMoJ3lvdXR1YmUnKSkge1xuICAgICAgICAgIHRoaXMudXBsb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLnR5cGUgPSAnZW1iZWQnO1xuICAgICAgICAgIHRoaXMudXBsb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5lbWJlZEZpbGUgPSB0aXRsZS5yZXBsYWNlKCd3YXRjaD92PScsICdlbWJlZC8nKTtcbiAgICAgICAgICB0aGlzLnRtcEVtYmVkRmlsZSA9IHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RSZXNvdXJjZVVybCh0aGlzLmVtYmVkRmlsZSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAodGl0bGUuaW5jbHVkZXMoJ3Nwb3RpZnknKSkge1xuICAgICAgICAgIHRoaXMudXBsb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLnR5cGUgPSAnZW1iZWQnO1xuICAgICAgICAgIHRoaXMuZW1iZWRGaWxlID0gdGl0bGUucmVwbGFjZSgnL2VwaXNvZGUnLCAnL2VtYmVkLXBvZGNhc3QvZXBpc29kZScpO1xuICAgICAgICAgIHRoaXMudG1wRW1iZWRGaWxlID0gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFJlc291cmNlVXJsKHRoaXMuZW1iZWRGaWxlKTtcbiAgICAgICAgICB0aGlzLnVwbG9hZGluZyA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmVtb3ZlRW1iZWRGaWxlcygpIHtcbiAgICB0aGlzLnRpdGxlID0gJyc7XG4gICAgdGhpcy5lbWJlZEZpbGUgPSAnJztcbiAgICB0aGlzLnR5cGUgPSAncG9zdCc7XG4gIH1cblxuICBpc1ZhbGlkVXJsKHN0cikge1xuICAgIGNvbnN0IHBhdHRlcm4gPSBuZXcgUmVnRXhwKCdeKGh0dHBzPzpcXFxcL1xcXFwvKT8nICsgLy8gcHJvdG9jb2xcbiAgICAgICcoKChbYS16XFxcXGRdKFthLXpcXFxcZC1dKlthLXpcXFxcZF0pKilcXFxcLikrW2Etel17Mix9fCcgKyAvLyBkb21haW4gbmFtZVxuICAgICAgJygoXFxcXGR7MSwzfVxcXFwuKXszfVxcXFxkezEsM30pKScgKyAvLyBPUiBpcCAodjQpIGFkZHJlc3NcbiAgICAgICcoXFxcXDpcXFxcZCspPyhcXFxcL1stYS16XFxcXGQlXy5+K10qKSonICsgLy8gcG9ydCBhbmQgcGF0aFxuICAgICAgJyhcXFxcP1s7JmEtelxcXFxkJV8ufis9LV0qKT8nICsgLy8gcXVlcnkgc3RyaW5nXG4gICAgICAnKFxcXFwjWy1hLXpcXFxcZF9dKik/JCcsICdpJyk7IC8vIGZyYWdtZW50IGxvY2F0b3JcbiAgICByZXR1cm4gISFwYXR0ZXJuLnRlc3Qoc3RyKTtcbiAgfVxuXG4gIG9wZW5Bbm5vdW5jZU1vZGFsKCkge1xuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oTW9kYWxBbm5vdW5jZUNvbXBvbmVudCwge1xuICAgICAgd2lkdGg6ICc1NSUnLFxuICAgICAgbWluSGVpZ2h0OiAnOTUlJyxcbiAgICAgIG1heEhlaWdodDogJzEwMCUnLFxuICAgICAgY2xvc2VPbk5hdmlnYXRpb246IGZhbHNlLFxuICAgICAgZGlzYWJsZUNsb3NlOiB0cnVlLFxuICAgICAgZGF0YTogeyBvd25lcjogdGhpcywgdG1wRmlsZUFycmF5OiB0aGlzLnRtcEZpbGVBcnJheSB9XG4gICAgfSk7XG5cbiAgfVxuXG4gIHJlbG9hZCgpIHtcbiAgICB0aGlzLmZpbHRlci5lbWl0KHRoaXMuZmlsdGVyQnlNZSk7XG4gIH1cblxuICBzZWxlY3RVc2VyKGV2dDogYW55LCB1c2VyOiBhbnkpIHtcbiAgICBpZiAoZXZ0LnRhcmdldC5jaGVja2VkKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkVXNlcnNbdXNlci5pZF0gPSB1c2VyO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIGRlbGV0ZSB0aGlzLnNlbGVjdGVkVXNlcnNbdXNlci5pZF07XG4gICAgfVxuICB9XG5cbiAgc2hvd1NlbGVjdGVkKCkge1xuICAgIHRoaXMubGlzdFR5cGUgPSAnY2hlY2tlZCc7XG4gICAgdGhpcy51c2VycyA9IFtdO1xuICAgIGZvciAoY29uc3QgaWQgaW4gdGhpcy5zZWxlY3RlZFVzZXJzKSB7XG4gICAgICB0aGlzLnVzZXJzLnB1c2godGhpcy5zZWxlY3RlZFVzZXJzW2lkXSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9wZW5Nb2RhbCgpIHtcbiAgICBpZiAodGhpcy5uZXdmZWVkKSB7XG4gICAgICAkKCcjcHVibGljYXRpb25Nb2RhbCcpLm1vZGFsKCk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICB0aGlzLmNvbmZpcm1TaGFyZSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXROZXdGZWVkKCkge1xuICAgIHRoaXMuc2VsZWN0ZWRVc2VycyA9IFtdO1xuICAgIHRoaXMuYXNhcFNlcnZpY2UuYmFzZVBhdGggPSBcImFwaS92Mi9hZG1pblwiO1xuICAgIHRoaXMuYXNhcFNlcnZpY2UuZW50aXR5TmFtZSA9IFwiY29sb3JcIjtcbiAgICB0aGlzLmFzYXBTZXJ2aWNlLmdldFJlc291cmNlKHRoaXMuZ2xvYmFsLmxvZ2dlZFVzZXIoKS5jbGllbnRfaWQpLnN1YnNjcmliZSgocmVzcG9uc2UpID0+IHtcbiAgICAgICB0aGlzLm5ld2ZlZWQgPSByZXNwb25zZS5kYXRhLm5ld2ZlZWQ7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
799
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVlZC1wdWJsaWNhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hc2FwLWZlZWQtYmV0YS8iLCJzb3VyY2VzIjpbImxpYi9mZWVkLXB1YmxpY2F0aW9uL2ZlZWQtcHVibGljYXRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDaEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzlDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzNELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDbkYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLElBQUksTUFBTSxhQUFhLENBQUM7QUFVL0IsTUFBTSxPQUFPLHdCQUF3Qjs7Ozs7Ozs7Ozs7OztJ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QUNyQiwrQ0FBbUM7O0lBQ25DLCtDQUErQjs7SUFDL0IsK0NBQStCOztJQUMvQiw2Q0FBOEI7O0lBQzlCLGlEQUFtQzs7SUFDbkMsZ0RBQWlDOztJQUNqQyxzQ0FBMkI7O0lBQzNCLHdDQUF1Qjs7SUFDdkIsMENBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXNhcFNlcnZpY2UsIEdsb2JhbCB9IGZyb20gJ2FzYXAtY3J1ZCc7XG5pbXBvcnQgeyBBc2FwRmVlZFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9hc2FwLWZlZWQuc2VydmljZSc7XG5pbXBvcnQgeyBTdHJlYW1TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvc3RyZWFtLnNlcnZpY2UnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBGaWxlc01vZGVsLCBGZWVkTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvZmVlZC5tb2RlbCc7XG5pbXBvcnQgeyBVdGlsc1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy91dGlscy5zZXJ2aWNlJztcbmltcG9ydCB7IHBhdGggfSBmcm9tICcuLi9jb25zdGFudHMvY29uc3RhbnRzJztcbmltcG9ydCB7IEFuZ3VsYXJGaXJlc3RvcmUgfSBmcm9tICdAYW5ndWxhci9maXJlL2ZpcmVzdG9yZSc7XG5pbXBvcnQgeyBjbGFzc1RvUGxhaW4gfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgTW9kYWxBbm5vdW5jZUNvbXBvbmVudCB9IGZyb20gJy4vbW9kYWwtYW5ub3VuY2UvbW9kYWwtYW5ub3VuY2UuY29tcG9uZW50JztcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBVc2VyU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3VzZXIuc2VydmljZSc7XG5pbXBvcnQgU3dhbCBmcm9tICdzd2VldGFsZXJ0Mic7XG5cbmRlY2xhcmUgdmFyICQ6IGFueTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZmVlZC1wdWJsaWNhdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9mZWVkLXB1YmxpY2F0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmVlZC1wdWJsaWNhdGlvbi5jb21wb25lbnQuc2NzcycsICcuLi9hc2FwLWZlZWQuYmV0YS5jb21wb25lbnRlLnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbIFN0cmVhbVNlcnZpY2UsIFVzZXJTZXJ2aWNlLCBBc2FwU2VydmljZSBdXG59KVxuZXhwb3J0IGNsYXNzIEZlZWRQdWJsaWNhdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KCkgYW5ub3VuY2UgPSBmYWxzZTtcbiAgQElucHV0KCkgaGlkZUZpbHRlckJ5TWUgPSBmYWxzZTtcbiAgQElucHV0KCkgc2V0dGluZ3M7XG4gIEBPdXRwdXQoKSBmZWVkQ3JlYXRlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGZpbHRlciA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBwdWJsaWMgdXNlcnMgPSBbXTtcblxuICBwdWJsaWMgdG1wRmlsZUFycmF5OiBBcnJheTxGaWxlc01vZGVsPjtcbiAgcHVibGljIHVwbG9hZGluZztcbiAgcHVibGljIHRpdGxlID0gbnVsbDtcbiAgcHVibGljIHByb2dyZXNzO1xuICBwdWJsaWMgbm90QW5ub3VuY2U7XG4gIHB1YmxpYyBuZXdQcm9kdWN0O1xuICBwdWJsaWMgRXhwYW5kSW1nO1xuICBwdWJsaWMgdHlwZSA9ICdwb3N0JztcbiAgcHVibGljIGVtYmVkRmlsZTtcbiAgcHVibGljIHRtcEVtYmVkRmlsZTtcbiAgcHVibGljIHZpZGVvU2VuZGVkSUQ7XG4gIHB1YmxpYyBkaXNhYmxlZCA9IGZhbHNlO1xuICBwdWJsaWMgbmV3ZmVlZDogYW55O1xuXG4gIHB1YmxpYyBtZXNzYWdlID0gXCJEaWdpdGUgYWNpbWEgbyBub21lIGRhIHBlc3NvYSBxdWUgZGVzZWphIG1hcmNhciwgZW0gc2VndWlkYSBwcmVzc2lvbmUgW0VOVEVSXVwiO1xuICBwdWJsaWMgc2VsZWN0ZWRVc2VyczogYW55ID0ge307XG4gIHB1YmxpYyBsaXN0VHlwZTogJ2NoZWNrZWQnIHwgJ3NlYXJjaCcgPSAnc2VhcmNoJztcblxuICBwdWJsaWMgZmlsdGVyQnlNZSA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBnbG9iYWw6IEdsb2JhbCxcbiAgICBwdWJsaWMgZmVlZFNlcnZpY2U6IEFzYXBGZWVkU2VydmljZSxcbiAgICBwdWJsaWMgYXNhcFNlcnZpY2U6IEFzYXBTZXJ2aWNlLFxuICAgIHB1YmxpYyB1c2VyU2VydmljZTogVXNlclNlcnZpY2UsXG4gICAgcHVibGljIHNhbml0aXplcjogRG9tU2FuaXRpemVyLFxuICAgIHB1YmxpYyBzdHJlYW1TZXJ2aWNlOiBTdHJlYW1TZXJ2aWNlLFxuICAgIHB1YmxpYyB1dGlsc1NlcnZpY2U6IFV0aWxzU2VydmljZSxcbiAgICBwdWJsaWMgZGI6IEFuZ3VsYXJGaXJlc3RvcmUsXG4gICAgcHVibGljIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHVibGljIGRpYWxvZzogTWF0RGlhbG9nLFxuICApIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMudG1wRmlsZUFycmF5ID0gW107XG4gICAgY29uc29sZS5sb2coJ1ByZWZpeCBQdWJsaWNhdGlvbiAtPicsIHBhdGgoKS5mZWVkKTtcbiAgICB0aGlzLmdldE5ld0ZlZWQoKTtcbiAgfVxuXG4gIGxvYWRVc2Vycyh2YWx1ZTogYW55KSB7XG4gICAgY29uc3Qgc2VhcmNoID0gdmFsdWU7XG4gICAgdGhpcy51c2VycyA9IG51bGw7XG4gICAgdGhpcy5saXN0VHlwZSA9ICdzZWFyY2gnO1xuICAgIGlmIChzZWFyY2ggIT0gJycpIHtcbiAgICAgIHRoaXMubWVzc2FnZSA9IFwiTmVuaHVtIHVzdcOhcmlvIGVuY29udHJhZG8hXCI7XG4gICAgICB0aGlzLnVzZXJTZXJ2aWNlLmdldEFsbFVzZXJzKHNlYXJjaCkuc3Vic2NyaWJlKChyZXNwb25zZSkgPT4ge1xuICAgICAgICB0aGlzLnVzZXJzID0gcmVzcG9uc2UuZGF0YS5tYXAoKHVzZXIpID0+IHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaWQ6IHVzZXIudXNlcl9pbmZvLnVzZXJfaWQsXG4gICAgICAgICAgICBuYW1lOiB1c2VyLnVzZXJfaW5mby51c2VyX25hbWUsXG4gICAgICAgICAgICBlbWFpbDogdXNlci5lbWFpbCxcbiAgICAgICAgICAgIHBpY3R1cmU6IHVzZXIucGljdHVyZVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9KVxuICAgIH1cbiAgfVxuXG4gIGFzeW5jIHVwbG9hZEZpbGUoZXZlbnQ6IGFueSkge1xuICAgIGZvciAoY29uc3QgZmlsZSBvZiBldmVudC50YXJnZXQuZmlsZXMpIHtcblxuICAgICAgY29uc3QgdG1wRmlsZTogRmlsZXNNb2RlbCA9IG5ldyBGaWxlc01vZGVsKCk7XG4gICAgICB0bXBGaWxlLnR5cGUgPSB0aGlzLmdldFR5cGVCeU1pbWVUeXBlKGZpbGUudHlwZSk7XG4gICAgICAvLyB0bXBGaWxlLnN0YXR1cyA9IDA7XG4gICAgICB0bXBGaWxlLnRodW1iX3JlbmRlcmluZyA9IGZhbHNlO1xuICAgICAgdG1wRmlsZS52aWRlb19yZW5kZXJpbmcgPSBmYWxzZTtcbiAgICAgIHRtcEZpbGUudmlkZW9fbG93X3JlbmRlcmluZyA9IGZhbHNlO1xuXG4gICAgICBsZXQgZXJyb3IgPSBmYWxzZTtcbiAgICAgIGlmICh0aGlzLmdldFR5cGVCeU1pbWVUeXBlKGZpbGUudHlwZSkgPT09ICd2aWRlbycgJiYgdGhpcy50bXBGaWxlQXJyYXkuZmlsdGVyKCh0bXA6IGFueSkgPT4gdGhpcy5nZXRUeXBlQnlNaW1lVHlwZSh0bXAudHlwZSkgPT09ICd2aWRlbycpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgdGhpcy5nbG9iYWwudG9hc3RTZXJ2aWNlLmVycm9yKHtcbiAgICAgICAgICB0aXRsZTogJ09wcycsXG4gICAgICAgICAgbWVzc2FnZTogJ1ZvY8OqIHPDsyBwb2RlIGVudmlhciB1bSB2w61kZW8gcG9yIFBvc3QnXG4gICAgICAgIH0pO1xuICAgICAgICBlcnJvciA9IHRydWU7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLmdldFR5cGVCeU1pbWVUeXBlKGZpbGUudHlwZSkgPT09ICdpbWFnZScgJiYgdGhpcy50bXBGaWxlQXJyYXkuZmlsdGVyKCh0bXA6IGFueSkgPT4gdGhpcy5nZXRUeXBlQnlNaW1lVHlwZSh0bXAudHlwZSkgPT09ICdpbWFnZScpLmxlbmd0aCA+IDQpIHtcbiAgICAgICAgdGhpcy5nbG9iYWwudG9hc3RTZXJ2aWNlLmVycm9yKHtcbiAgICAgICAgICB0aXRsZTogJ09wcycsXG4gICAgICAgICAgbWVzc2FnZTogJ1ZvY8OqIHBvZGUgdXRpbGl6YXIgYXTDqSBubyBtw6F4aW1vIDUgaW1hZ2VucyBubyBzZXUgUG9zdCdcbiAgICAgICAgfSk7XG4gICAgICAgIGVycm9yID0gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgaWYgKCFlcnJvcikge1xuICAgICAgICAvLyB0aGlzLnVwbG9hZGluZyA9IHRydWU7XG5cbiAgICAgICAgaWYgKHRoaXMuZ2V0VHlwZUJ5TWltZVR5cGUoZmlsZS50eXBlKSA9PT0gJ2ltYWdlJykge1xuICAgICAgICAgIGlmIChmaWxlLnR5cGUgPT0gJ2ltYWdlL2dpZicpIHtcbiAgICAgICAgICAgIHRtcEZpbGUubmFtZSA9IGAke3RoaXMuc3RyZWFtU2VydmljZS51aWQoKX0uZ2lmYDtcbiAgICAgICAgICAgIHRtcEZpbGUudXJsID0gYXdhaXQgdGhpcy5yZWFkR0lGKGZpbGUpO1xuICAgICAgICAgICAgdGhpcy50bXBGaWxlQXJyYXkucHVzaCh0bXBGaWxlKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGdldEV4dG5hbWUgPSBmaWxlLm5hbWUuc3BsaXQoJy4nKTtcbiAgICAgICAgICAgIGNvbnN0IGV4dG5hbWUgPSBnZXRFeHRuYW1lW2dldEV4dG5hbWUubGVuZ3RoIC0gMV07XG5cbiAgICAgICAgICAgIHRtcEZpbGUudXJsID0gYXdhaXQgdGhpcy5yZXNpemVJbWFnZXMoZmlsZSwgODAwKTtcbiAgICAgICAgICAgIHRtcEZpbGUubmFtZSA9IGAke3RoaXMuc3RyZWFtU2VydmljZS51aWQoKX0uJHtleHRuYW1lfWA7XG4gICAgICAgICAgICB0aGlzLnRtcEZpbGVBcnJheS5wdXNoKHRtcEZpbGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGVsc2UgaWYgKHRoaXMuZ2V0VHlwZUJ5TWltZVR5cGUoZmlsZS50eXBlKSA9PT0gJ3ZpZGVvJykge1xuICAgICAgICAgIHRoaXMudXBsb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgICBjb25zb2xlLmxvZygnUmVhbGl6YXIgVXBsb2FkIGRlIFZpZGVvJywgdG1wRmlsZSk7XG4gICAgICAgICAgY29uc3QgcmVhZGVyID0gZmlsZTtcbiAgICAgICAgICBpZiAocmVhZGVyKSB7XG4gICAgICAgICAgICBjb25zdCBibG9iVVJMID0gVVJMLmNyZWF0ZU9iamVjdFVSTChyZWFkZXIpO1xuICAgICAgICAgICAgdG1wRmlsZS5uYW1lID0gYmxvYlVSTCBhcyBhbnk7XG4gICAgICAgICAgICB0aGlzLnRtcEZpbGVBcnJheS5wdXNoKHRtcEZpbGUpO1xuICAgICAgICAgICAgY29uc29sZS5sb2coJ1t1cGxvYWRGaWxlXSBpZiByZWFkZXInLCBibG9iVVJMKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0aGlzLnVwbG9hZGluZyA9IHRydWU7XG4gICAgICAgICAgYXdhaXQgdGhpcy5zdHJlYW1TZXJ2aWNlLnVwbG9hZEZpbGUoZmlsZSkuc3Vic2NyaWJlKFxuICAgICAgICAgICAgcmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgICBjb25zb2xlLmxvZygnW3VwbG9hZEZpbGVdIFJlc3BvbnNlJywgdG1wRmlsZSk7XG4gICAgICAgICAgICAgIGlmICghcmVzcG9uc2UuYm9keSkge1xuICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZVsndG90YWwnXSkge1xuICAgICAgICAgICAgICAgICAgdG1wRmlsZS5zdGF0dXMgPSAoKHJlc3BvbnNlWydsb2FkZWQnXSAqIDEwMCkgLyByZXNwb25zZVsndG90YWwnXSkudG9GaXhlZCgwKSBhcyBhbnk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMucHJvZ3Jlc3MgPSB0bXBGaWxlLnN0YXR1cztcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGlmIChyZXNwb25zZS5ib2R5ICYmIHJlc3BvbnNlLmJvZHkuZmlsZSkge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdbdXBsb2FkRmlsZV0gUmVzcG9uc2UgVXBsb2FkZWQnLCByZXNwb25zZSk7XG4gICAgICAgICAgICAgICAgdG1wRmlsZS5zdGF0dXMgPSAxMDE7XG4gICAgICAgICAgICAgICAgdG1wRmlsZS51cmwgPSByZXNwb25zZS5ib2R5LmZpbGUuc2VjdXJlX3VybDtcbiAgICAgICAgICAgICAgICB0aGlzLnZpZGVvU2VuZGVkSUQgPSB0bXBGaWxlLnVybDtcbiAgICAgICAgICAgICAgICB0aGlzLnVwbG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMucHJvZ3Jlc3MgPSBudWxsO1xuXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICApO1xuICAgICAgICAgIGNvbnNvbGUubG9nKCd0bXBGaWxlJywgdG1wRmlsZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXNpemVJbWFnZXMoZmlsZTogYW55LCB3aWR0aDogbnVtYmVyKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgY29uc3QgaW1nID0gbmV3IEltYWdlKCk7XG4gICAgICBjb25zdCBNQVhfV0lEVEggPSB3aWR0aDtcbiAgICAgIGNvbnN0IE1BWF9IRUlHSFQ6IGFueSA9IDEzMzQ7XG5cbiAgICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG5cbiAgICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGZpbGUpO1xuXG4gICAgICByZWFkZXIub25sb2FkID0gKGU6IGFueSkgPT4ge1xuICAgICAgICBpbWcuc3JjID0gZS50YXJnZXQucmVzdWx0O1xuICAgICAgICBpbWcub25sb2FkID0gKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHNjYWxlID0gTUFYX1dJRFRIIC8gaW1nLndpZHRoO1xuICAgICAgICAgIGNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpO1xuICAgICAgICAgIGNhbnZhcy5oZWlnaHQgPSBzY2FsZSAqIGltZy5oZWlnaHQ7XG5cbiAgICAgICAgICBjYW52YXMud2lkdGggPSBNQVhfV0lEVEg7XG4gICAgICAgICAgY29uc3QgY3R4ID0gY2FudmFzLmdldENvbnRleHQoJzJkJyk7XG4gICAgICAgICAgY3R4LmRyYXdJbWFnZShpbWcsIDAsIDApO1xuXG4gICAgICAgICAgY29uc29sZS5sb2coJ0lNRycsIGltZy53aWR0aCwgaW1nLmhlaWdodCk7XG4gICAgICAgICAgY3R4LmRyYXdJbWFnZShpbWcsIDAsIDAsIGNhbnZhcy53aWR0aCwgY2FudmFzLmhlaWdodCk7XG5cbiAgICAgICAgICBjb25zdCBkYXRhdXJsID0gY2FudmFzLnRvRGF0YVVSTChmaWxlLnR5cGUsIDAuNjUpO1xuICAgICAgICAgIGNvbnNvbGUubG9nKCdDQU5WQVMgLT4nLCBjYW52YXMud2lkdGgsIGNhbnZhcy5oZWlnaHQpO1xuICAgICAgICAgIHJldHVybiByZXNvbHZlKGRhdGF1cmwpO1xuICAgICAgICB9O1xuICAgICAgfTtcblxuICAgICAgcmVhZGVyLm9uZXJyb3IgPSByZWplY3Q7XG4gICAgfSk7XG5cbiAgfVxuXG4gIHJlYWRHSUYoZmlsZTogYW55KTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuXG4gICAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuXG4gICAgICByZWFkZXIucmVhZEFzRGF0YVVSTChmaWxlKTtcblxuICAgICAgcmVhZGVyLm9ubG9hZCA9IChlOiBhbnkpID0+IHtcbiAgICAgICAgcmV0dXJuIHJlc29sdmUocmVhZGVyLnJlc3VsdCk7XG4gICAgICB9O1xuXG4gICAgICByZWFkZXIub25lcnJvciA9IHJlamVjdDtcbiAgICB9KTtcblxuICB9XG5cbiAgZ2V0VHlwZUJ5TWltZVR5cGUobWltZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBzcGxpdCA9IG1pbWUuc3BsaXQoJy8nKTtcbiAgICByZXR1cm4gc3BsaXRbMF07XG4gIH1cblxuICBzaGFyZSgpOiBhbnkge1xuICAgIGNvbnN0IGRhdGE6IEZlZWRNb2RlbCA9IG5ldyBGZWVkTW9kZWwoKTtcbiAgICBkYXRhLnVwZGF0ZWRfYXQgPSBEYXRlLm5vdygpO1xuICAgIGRhdGEudGl0bGUgPSB0aGlzLnRpdGxlO1xuICAgIGRhdGEudHlwZSA9IHRoaXMudHlwZTtcbiAgICBkYXRhLnNlbGVjdGVkX3VzZXJzID0gW107XG4gICAgZGF0YS5zZWxlY3RlZF91c2Vyc19kYXRhID0gW107XG5cbiAgICBmb3IgKGNvbnN0IGlkIGluIHRoaXMuc2VsZWN0ZWRVc2Vycykge1xuICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRVc2Vyc1tpZF0pIHtcbiAgICAgICAgZGF0YS5zZWxlY3RlZF91c2Vycy5wdXNoKGlkKTtcbiAgICAgICAgZGF0YS5zZWxlY3RlZF91c2Vyc19kYXRhLnB1c2goe1xuICAgICAgICAgIGlkLFxuICAgICAgICAgIG5hbWU6IHRoaXMuc2VsZWN0ZWRVc2Vyc1tpZF0ubmFtZSxcbiAgICAgICAgICBwaWN0dXJlOiB0aGlzLnNlbGVjdGVkVXNlcnNbaWRdLnBpY3R1cmUsXG4gICAgICAgICAgZW1haWw6IHRoaXMuc2VsZWN0ZWRVc2Vyc1tpZF0uZW1haWxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHRoaXMudG1wRmlsZUFycmF5IHx8IHRoaXMudG1wRmlsZUFycmF5Lmxlbmd0aCA+IDApIHtcbiAgICAgIGRhdGEuZmlsZXMgPSB0aGlzLnRtcEZpbGVBcnJheTtcbiAgICAgIC8vIGNvbnN0IHZpZGVvRmlsdGVyID0gZGF0YS5maWxlcy5maWx0ZXIodG1wID0+IHRoaXMuZ2V0VHlwZUJ5TWltZVR5cGUodG1wLnR5cGUpID09PSAndmlkZW8nKTtcbiAgICAgIC8vIGlmICh2aWRlb0ZpbHRlci5sZW5ndGggPiAwKSB7XG4gICAgICAvLyB9XG4gICAgICBkYXRhLmZpbGVzLm1hcChpdGVtID0+IHtcbiAgICAgICAgaWYgKGl0ZW0udHlwZSA9PT0gJ3ZpZGVvJykge1xuICAgICAgICAgIGNvbnNvbGUubG9nKCdFeGlzdGUgdW0gdmlkZW8gbm8gRmVlZCcsIGl0ZW0pO1xuICAgICAgICAgIGlmICghaXRlbS5pc0Nsb3VkaW5hcnkpIHtcbiAgICAgICAgICAgIGl0ZW0udmlkZW9fcmVuZGVyaW5nID0gZmFsc2U7XG4gICAgICAgICAgICBpdGVtLnZpZGVvX2xvd19yZW5kZXJpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIGl0ZW0udGh1bWJfcmVuZGVyaW5nID0gZmFsc2U7XG5cbiAgICAgICAgICAgIC8vIFNldGFuZG8gbyBJRCBkbyBGZWVkIGlndWFsIGFvIElEIGRvIHbDrWRlb1xuICAgICAgICAgICAgZGF0YS5yZWYgPSBpdGVtLnVybDtcbiAgICAgICAgICAgIGRhdGEuc3RhdHVzID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLnN0cmVhbVNlcnZpY2Uuc3RhdHVzKGl0ZW0udXJsKS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XG4gICAgICAgICAgICAgIGl0ZW0udmlkZW9fcmVuZGVyaW5nID0gIXJlcy5wNDgwO1xuICAgICAgICAgICAgICBpdGVtLnZpZGVvX2xvd19yZW5kZXJpbmcgPSAhcmVzLnA0ODBfbG93O1xuICAgICAgICAgICAgICBpdGVtLnRodW1iX3JlbmRlcmluZyA9ICFyZXMudGh1bWI7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgICBjb25zb2xlLmxvZyhcInNoYXJlXCIsIGRhdGEpO1xuICAgIFxuICAgIHRoaXMucHVibGlzaChkYXRhKS50aGVuKChpZCkgPT4ge1xuICAgICAgdGhpcy51c2VyU2VydmljZS51c2Vyc0NoZWNrZWQoe3Bvc3RfaWQ6IGlkLCB1c2VyX2lkOiBkYXRhLnNlbGVjdGVkX3VzZXJzLCBjb21tZW50OiBkYXRhLnRpdGxlLCB0eXBlOiAncG9zdCd9LCB7Y29tbWVudHM6IHRydWV9KS5zdWJzY3JpYmUoKTtcbiAgICB9KTtcblxuICAgIHRoaXMuc2VsZWN0ZWRVc2VycyA9IFtdO1xuICB9XG5cbiAgY29uZmlybVNoYXJlKCkge1xuICAgIGNvbnN0IHN3YWxsID0gU3dhbC5maXJlKHtcbiAgICAgICAgdGl0bGU6IFwiUG9kZW1vcyBjb21wYXJ0aWxoYXIgc2V1IHBvc3Q/XCIsXG4gICAgICAgIHR5cGU6IFwid2FybmluZ1wiLFxuICAgICAgICBzaG93Q2FuY2VsQnV0dG9uOiB0cnVlLFxuICAgICAgICBjb25maXJtQnV0dG9uVGV4dDogXCJTaW1cIixcbiAgICAgICAgY2FuY2VsQnV0dG9uVGV4dDogXCJOw6NvXCJcbiAgICB9KTtcblxuICAgIHN3YWxsLnRoZW4oKGNvbmZpcm1lZCkgPT4ge1xuICAgICAgaWYgKGNvbmZpcm1lZC52YWx1ZSkge1xuICAgICAgICB0aGlzLnNoYXJlKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaXNoKGRhdGE6IEZlZWRNb2RlbCkge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuXG4gICAgICBsZXQgaW1hZ2U7XG4gICAgICBsZXQgaWQ7XG4gICAgICBjb25zb2xlLmxvZygnUHVibGlzaCgpJywgMSwgZGF0YSk7XG4gIFxuICAgICAgaWYgKCFkYXRhLnRpdGxlIHx8IGRhdGEudGl0bGUgPT09ICcnKSB7XG4gICAgICAgIC8vIHRoaXMuZ2xvYmFsLnRvYXN0U2VydmljZS5lcnJvcih7XG4gICAgICAgIC8vICAgdGl0bGU6ICdPcHMnLFxuICAgICAgICAvLyAgIG1lc3NhZ2U6ICdWb2PDqiBwcmVjaXNhIGFkaWNpb25hciB1bSB0ZXh0byDDoCBzdWEgaW1hZ2VtL3bDrWRlby4nLFxuICAgICAgICAvLyB9KTtcbiAgICAgICAgU3dhbC5maXJlKHtcbiAgICAgICAgICAgICAgdGl0bGU6IFwiUG9kZW1vcyBjb21wYXJ0aWxoYXIgc2V1IHBvc3Q/P1wiLFxuICAgICAgICAgICAgICB0eXBlOiBcIndhcm5pbmdcIixcbiAgICAgICAgICAgICAgc2hvd0NhbmNlbEJ1dHRvbjogdHJ1ZSxcbiAgICAgICAgICAgICAgY29uZmlybUJ1dHRvblRleHQ6IFwiU2ltXCIsXG4gICAgICAgICAgICAgIGNhbmNlbEJ1dHRvblRleHQ6IFwiTsOjb1wiXG4gICAgICAgICAgfSlcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgdGhpcy51cGxvYWRpbmcgPSB0cnVlO1xuICAgICAgdGhpcy5wcm9ncmVzcyA9IDA7XG4gIFxuICBcbiAgICAgIGxldCBjb3VudCA9IDA7XG4gICAgICBkYXRhLnVzZXJfaW5mbyA9IHtcbiAgICAgICAgaWQ6IHRoaXMuZ2xvYmFsLmxvZ2dlZFVzZXIoKS5pZCxcbiAgICAgICAgbmFtZTogdGhpcy5nbG9iYWwubG9nZ2VkVXNlcigpLm5hbWUsXG4gICAgICAgIHBpY3R1cmU6IHRoaXMuZ2xvYmFsLmxvZ2dlZFVzZXIoKS5waWN0dXJlLFxuICAgICAgICB1cGRhdGVkX2F0OiBEYXRlLm5vdygpXG4gICAgICB9O1xuICBcbiAgICAgIGlmICh0aGlzLnR5cGUgPT0gJ2VtYmVkJykge1xuICAgICAgICBjb25zdCBmaWxlRW1iZWQ6IGFueSA9IHtcbiAgICAgICAgICBuYW1lOiB0aGlzLmVtYmVkRmlsZSxcbiAgICAgICAgICB1cmw6IHRoaXMuZW1iZWRGaWxlLFxuICAgICAgICAgIHR5cGU6ICdlbWJlZCdcbiAgICAgICAgfTtcbiAgXG4gICAgICAgIHRoaXMudG1wRmlsZUFycmF5LnB1c2goZmlsZUVtYmVkKTtcbiAgICAgIH1cbiAgXG4gICAgICBpZiAodGhpcy50eXBlICE9ICdlbWJlZCcpIHtcbiAgICAgICAgaWYgKHRoaXMudG1wRmlsZUFycmF5ICYmIHRoaXMudG1wRmlsZUFycmF5Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBjb25zb2xlLmxvZygndGhpcy50bXBGaWxlQXJyYXknLCB0aGlzLmdldFR5cGVCeU1pbWVUeXBlKHRoaXMudG1wRmlsZUFycmF5WzBdLnR5cGUpKTtcbiAgICAgICAgICBjb25zb2xlLmxvZygnUHVibGlzaCgpJywgMik7XG4gICAgICAgICAgY29uc3QgaW1hZ2VzRmlsZXMgPSB0aGlzLnRtcEZpbGVBcnJheS5maWx0ZXIoXG4gICAgICAgICAgICAodG1wOiBhbnkpID0+IHRoaXMuZ2V0VHlwZUJ5TWltZVR5cGUodG1wLnR5cGUpID09PSAnaW1hZ2UnXG4gICAgICAgICAgKTtcbiAgXG4gIFxuICAgICAgICAgIGNvbnN0IHN0ZXAgPSA5OCAvIGltYWdlc0ZpbGVzLmxlbmd0aDtcbiAgXG4gICAgICAgICAgaWYgKChpbWFnZXNGaWxlcy5sZW5ndGggJiYgZGF0YS50aXRsZSA9PT0gJycpKSB7XG4gICAgICAgICAgICB0aGlzLmdsb2JhbC50b2FzdFNlcnZpY2UuZXJyb3Ioe1xuICAgICAgICAgICAgICB0aXRsZTogJ09wcycsXG4gICAgICAgICAgICAgIG1lc3NhZ2U6ICdWb2PDqiBwcmVjaXNhIGFkaWNpb25hciB1bSB0ZXh0byBqdW50byDDoCBzdWEgaW1hZ2VtL3bDrWRlby4nLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICBcbiAgICAgICAgICBpZiAoaW1hZ2VzRmlsZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgZm9yIChjb25zdCBmaWxlIG9mIGltYWdlc0ZpbGVzKSB7XG4gICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudXRpbHNTZXJ2aWNlLnVwbG9hZEZpbGUoYGltYWdlcy8ke2ZpbGUubmFtZX1gLCBmaWxlLnVybCk7XG4gICAgICAgICAgICAgICAgdGhpcy51dGlsc1NlcnZpY2UucGVyY2VudGFnZS5zdWJzY3JpYmUocGVyY2VudCA9PiB7XG4gICAgICAgICAgICAgICAgICBmaWxlLnN0YXR1cyA9IHBlcmNlbnQ7XG4gICAgICAgICAgICAgICAgfSk7XG4gIFxuICAgICAgICAgICAgICAgIHRoaXMudXRpbHNTZXJ2aWNlLnRhc2suc25hcHNob3RDaGFuZ2VzKCkuc3Vic2NyaWJlKFxuICAgICAgICAgICAgICAgICAgYXN5bmMgc25hcCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChzbmFwLmJ5dGVzVHJhbnNmZXJyZWQgPT09IHNuYXAudG90YWxCeXRlcykge1xuICAgICAgICAgICAgICAgICAgICAgIGNvdW50Kys7XG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9ncmVzcyArPSBzdGVwO1xuICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdQUk9HUkVTUycsIHRoaXMucHJvZ3Jlc3MpO1xuICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gZGF0YS5maWxlcy5maW5kSW5kZXgoaXRlbSA9PiBpdGVtLm5hbWUgPT09IGZpbGUubmFtZSk7XG4gICAgICAgICAgICAgICAgICAgICAgaWYgKCghaW1hZ2UpICYmIChkYXRhLmZpbGVzW2luZGV4XSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudXRpbHNTZXJ2aWNlLmdldEZpcmVTdG9yYWdlVVJMKGBpbWFnZXMvJHtkYXRhLmZpbGVzW2luZGV4XS5uYW1lfWApLnN1YnNjcmliZSgoaW1hZ2VVUkwpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaW1hZ2UgPSBpbWFnZVVSTDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICBcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgZGVsZXRlIGRhdGEuZmlsZXNbaW5kZXhdLnVybDtcbiAgXG4gIFxuICBcbiAgICAgICAgICAgICAgICAgICAgICBpZiAoY291bnQgPT0gaW1hZ2VzRmlsZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnQ3JpYW5kbyBGZWVkJyk7XG4gIFxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY29sbGVjdGlvbiA9IHRoaXMuZGIuY29sbGVjdGlvbihwYXRoKCkuZmVlZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xsZWN0aW9uLmFkZChjbGFzc1RvUGxhaW4oZGF0YSkpLnRoZW4ocmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRiLmNvbGxlY3Rpb24ocGF0aCgpLmZlZWQpLmRvYyhyZXNwb25zZS5pZCkudXBkYXRlKHsgaWQ6IHJlc3BvbnNlLmlkIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZlZWRDcmVhdGVkLmVtaXQocmVzcG9uc2UuaWQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKHJlc3BvbnNlLmlkKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICBcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudGl0bGUgPSAnJztcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucHJvZ3Jlc3MgPSBudWxsO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy51cGxvYWRpbmcgPSBudWxsO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50bXBGaWxlQXJyYXkgPSBbXTtcbiAgXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnUHVibGlzaCgpJywgNCk7XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgZXJyb3IgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvcicsIGVycm9yKTtcbiAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZygnUHVibGlzaCgpJywgNSk7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhkYXRhLCB0aGlzLnRtcEZpbGVBcnJheSk7XG4gIFxuICAgICAgICAgICAgY29uc3QgY29sbGVjdGlvbiA9IHRoaXMuZGIuY29sbGVjdGlvbihwYXRoKCkuZmVlZCk7XG4gICAgICAgICAgICBjb2xsZWN0aW9uLmFkZChjbGFzc1RvUGxhaW4oZGF0YSkpLnRoZW4ocmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgICB0aGlzLmRiLmNvbGxlY3Rpb24ocGF0aCgpLmZlZWQpLmRvYyhyZXNwb25zZS5pZCkudXBkYXRlKHsgaWQ6IHJlc3BvbnNlLmlkIH0pO1xuICAgICAgICAgICAgICB0aGlzLmZlZWRDcmVhdGVkLmVtaXQocmVzcG9uc2UuaWQpO1xuICAgICAgICAgICAgICB0aGlzLnRpdGxlID0gJyc7XG4gICAgICAgICAgICAgIHRoaXMucHJvZ3Jlc3MgPSBudWxsO1xuICAgICAgICAgICAgICB0aGlzLnVwbG9hZGluZyA9IG51bGw7XG4gICAgICAgICAgICAgIHRoaXMudG1wRmlsZUFycmF5ID0gW107XG4gICAgICAgICAgICAgIHJlc29sdmUocmVzcG9uc2UuaWQpO1xuICAgICAgICAgICAgfSk7XG4gIFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICBjb25zb2xlLmxvZygnUHVibGlzaCgpJywgNSk7XG4gICAgICAgICAgY29uc29sZS5sb2coZGF0YSwgdGhpcy50bXBGaWxlQXJyYXkpO1xuICBcbiAgICAgICAgICBjb25zdCBjb2xsZWN0aW9uID0gdGhpcy5kYi5jb2xsZWN0aW9uKHBhdGgoKS5mZWVkKTtcbiAgICAgICAgICBjb2xsZWN0aW9uLmFkZChjbGFzc1RvUGxhaW4oZGF0YSkpLnRoZW4ocmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgdGhpcy5kYi5jb2xsZWN0aW9uKHBhdGgoKS5mZWVkKS5kb2MocmVzcG9uc2UuaWQpLnVwZGF0ZSh7IGlkOiByZXNwb25zZS5pZCB9KTtcbiAgICAgICAgICAgIHRoaXMuZmVlZENyZWF0ZWQuZW1pdChyZXNwb25zZS5pZCk7XG4gICAgICAgICAgICB0aGlzLnRpdGxlID0gJyc7XG4gICAgICAgICAgICB0aGlzLnByb2dyZXNzID0gbnVsbDtcbiAgICAgICAgICAgIHRoaXMudXBsb2FkaW5nID0gbnVsbDtcbiAgICAgICAgICAgIHRoaXMudG1wRmlsZUFycmF5ID0gW107XG4gICAgICAgICAgICByZXNvbHZlKHJlc3BvbnNlLmlkKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgZWxzZSB7XG4gICAgICAgIGRhdGEuZmlsZXMgPSB0aGlzLnRtcEZpbGVBcnJheTtcbiAgICAgICAgY29uc29sZS5sb2coJ1B1Ymxpc2goRW1iZWQpJywgNik7XG4gICAgICAgIGNvbnNvbGUubG9nKGRhdGEsIHRoaXMudG1wRmlsZUFycmF5KTtcbiAgICAgICAgY29uc3QgY29sbGVjdGlvbiA9IHRoaXMuZGIuY29sbGVjdGlvbihwYXRoKCkuZmVlZCk7XG4gICAgICAgIGNvbGxlY3Rpb24uYWRkKGNsYXNzVG9QbGFpbihkYXRhKSkudGhlbihyZXNwb25zZSA9PiB7XG4gICAgICAgICAgY29uc3QgZG9jID0gdGhpcy5kYi5jb2xsZWN0aW9uKHBhdGgoKS5mZWVkKS5kb2MocmVzcG9uc2UuaWQpO1xuICAgICAgICAgIGRvYy51cGRhdGUoeyBpZDogcmVzcG9uc2UuaWQgfSk7XG4gICAgICAgICAgdGhpcy5mZWVkQ3JlYXRlZC5lbWl0KHJlc3BvbnNlLmlkKTtcbiAgICAgICAgICB0aGlzLnRpdGxlID0gJyc7XG4gICAgICAgICAgdGhpcy5wcm9ncmVzcyA9IG51bGw7XG4gICAgICAgICAgdGhpcy51cGxvYWRpbmcgPSBudWxsO1xuICAgICAgICAgIHRoaXMudG1wRmlsZUFycmF5ID0gW107XG4gICAgICAgICAgdGhpcy5lbWJlZEZpbGUgPSBudWxsO1xuICAgICAgICAgIHRoaXMudHlwZSA9ICdwb3N0JztcbiAgICAgICAgICByZXNvbHZlKHJlc3BvbnNlLmlkKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gIFxuICBcbiAgICAgIGNvbnNvbGUubG9nKCdQdWJsaXNoKCknLCAwLCBwYXRoKCkuZmVlZCk7XG4gICAgICB0aGlzLnRpdGxlID0gJyc7XG4gICAgICB0aGlzLnByb2dyZXNzID0gbnVsbDtcbiAgICAgIHRoaXMudXBsb2FkaW5nID0gbnVsbDtcbiAgICAgIHRoaXMudG1wRmlsZUFycmF5ID0gW107XG4gICAgICB0aGlzLmdsb2JhbC50b2FzdFNlcnZpY2Uuc2hvdyh7XG4gICAgICAgIHRpdGxlOiAnRmVpdG8hJyxcbiAgICAgICAgbWVzc2FnZTogJ1NldSBwb3N0IGZvaSBjcmlhZG8gY29tIHN1Y2Vzc28nLFxuICAgICAgICBsYXlvdXQ6IDJcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgcmVtb3ZlVG1wRmlsZSh0bXBGaWxlOiBhbnkpOiB2b2lkIHtcbiAgICBjb25zdCBpbmRleCA9IHRoaXMudG1wRmlsZUFycmF5LmluZGV4T2YodG1wRmlsZSk7XG4gICAgdGhpcy50bXBGaWxlQXJyYXkuc3BsaWNlKGluZGV4LCAxKTtcbiAgfVxuXG4gIGNoZWNrUHVibGljYXRpb25UeXBlKHRpdGxlKSB7XG4gICAgY29uc29sZS5sb2coJ0V2ZW50IC0+JywgZXZlbnQpO1xuICAgIGlmICh0aXRsZS5sZW5ndGggJiYgdGl0bGUubGVuZ3RoID4gMzUpIHtcbiAgICAgIGlmICh0aGlzLmlzVmFsaWRVcmwodGl0bGUpKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdjaGVja1B1YmxpY2F0aW9uVHlwZScsIHRpdGxlKTtcbiAgICAgICAgaWYgKHRpdGxlLmluY2x1ZGVzKCd5b3V0dScpIHx8IHRpdGxlLmluY2x1ZGVzKCd5b3V0dWJlJykpIHtcbiAgICAgICAgICB0aGlzLnVwbG9hZGluZyA9IHRydWU7XG4gICAgICAgICAgdGhpcy50eXBlID0gJ2VtYmVkJztcbiAgICAgICAgICB0aGlzLnVwbG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuZW1iZWRGaWxlID0gdGl0bGUucmVwbGFjZSgnd2F0Y2g/dj0nLCAnZW1iZWQvJyk7XG4gICAgICAgICAgdGhpcy50bXBFbWJlZEZpbGUgPSB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0UmVzb3VyY2VVcmwodGhpcy5lbWJlZEZpbGUpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKHRpdGxlLmluY2x1ZGVzKCdzcG90aWZ5JykpIHtcbiAgICAgICAgICB0aGlzLnVwbG9hZGluZyA9IHRydWU7XG4gICAgICAgICAgdGhpcy50eXBlID0gJ2VtYmVkJztcbiAgICAgICAgICB0aGlzLmVtYmVkRmlsZSA9IHRpdGxlLnJlcGxhY2UoJy9lcGlzb2RlJywgJy9lbWJlZC1wb2RjYXN0L2VwaXNvZGUnKTtcbiAgICAgICAgICB0aGlzLnRtcEVtYmVkRmlsZSA9IHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RSZXNvdXJjZVVybCh0aGlzLmVtYmVkRmlsZSk7XG4gICAgICAgICAgdGhpcy51cGxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJlbW92ZUVtYmVkRmlsZXMoKSB7XG4gICAgdGhpcy50aXRsZSA9ICcnO1xuICAgIHRoaXMuZW1iZWRGaWxlID0gJyc7XG4gICAgdGhpcy50eXBlID0gJ3Bvc3QnO1xuICB9XG5cbiAgaXNWYWxpZFVybChzdHIpIHtcbiAgICBjb25zdCBwYXR0ZXJuID0gbmV3IFJlZ0V4cCgnXihodHRwcz86XFxcXC9cXFxcLyk/JyArIC8vIHByb3RvY29sXG4gICAgICAnKCgoW2EtelxcXFxkXShbYS16XFxcXGQtXSpbYS16XFxcXGRdKSopXFxcXC4pK1thLXpdezIsfXwnICsgLy8gZG9tYWluIG5hbWVcbiAgICAgICcoKFxcXFxkezEsM31cXFxcLil7M31cXFxcZHsxLDN9KSknICsgLy8gT1IgaXAgKHY0KSBhZGRyZXNzXG4gICAgICAnKFxcXFw6XFxcXGQrKT8oXFxcXC9bLWEtelxcXFxkJV8ufitdKikqJyArIC8vIHBvcnQgYW5kIHBhdGhcbiAgICAgICcoXFxcXD9bOyZhLXpcXFxcZCVfLn4rPS1dKik/JyArIC8vIHF1ZXJ5IHN0cmluZ1xuICAgICAgJyhcXFxcI1stYS16XFxcXGRfXSopPyQnLCAnaScpOyAvLyBmcmFnbWVudCBsb2NhdG9yXG4gICAgcmV0dXJuICEhcGF0dGVybi50ZXN0KHN0cik7XG4gIH1cblxuICBvcGVuQW5ub3VuY2VNb2RhbCgpIHtcbiAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKE1vZGFsQW5ub3VuY2VDb21wb25lbnQsIHtcbiAgICAgIHdpZHRoOiAnNTUlJyxcbiAgICAgIG1pbkhlaWdodDogJzk1JScsXG4gICAgICBtYXhIZWlnaHQ6ICcxMDAlJyxcbiAgICAgIGNsb3NlT25OYXZpZ2F0aW9uOiBmYWxzZSxcbiAgICAgIGRpc2FibGVDbG9zZTogdHJ1ZSxcbiAgICAgIGRhdGE6IHsgb3duZXI6IHRoaXMsIHRtcEZpbGVBcnJheTogdGhpcy50bXBGaWxlQXJyYXkgfVxuICAgIH0pO1xuXG4gIH1cblxuICByZWxvYWQoKSB7XG4gICAgdGhpcy5maWx0ZXIuZW1pdCh0aGlzLmZpbHRlckJ5TWUpO1xuICB9XG5cbiAgc2VsZWN0VXNlcihldnQ6IGFueSwgdXNlcjogYW55KSB7XG4gICAgaWYgKGV2dC50YXJnZXQuY2hlY2tlZCkge1xuICAgICAgdGhpcy5zZWxlY3RlZFVzZXJzW3VzZXIuaWRdID0gdXNlcjtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICBkZWxldGUgdGhpcy5zZWxlY3RlZFVzZXJzW3VzZXIuaWRdO1xuICAgIH1cbiAgfVxuXG4gIHNob3dTZWxlY3RlZCgpIHtcbiAgICB0aGlzLmxpc3RUeXBlID0gJ2NoZWNrZWQnO1xuICAgIHRoaXMudXNlcnMgPSBbXTtcbiAgICBmb3IgKGNvbnN0IGlkIGluIHRoaXMuc2VsZWN0ZWRVc2Vycykge1xuICAgICAgdGhpcy51c2Vycy5wdXNoKHRoaXMuc2VsZWN0ZWRVc2Vyc1tpZF0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvcGVuTW9kYWwoKSB7XG4gICAgaWYgKHRoaXMubmV3ZmVlZCkge1xuICAgICAgJCgnI3B1YmxpY2F0aW9uTW9kYWwnKS5tb2RhbCgpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgdGhpcy5jb25maXJtU2hhcmUoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0TmV3RmVlZCgpIHtcbiAgICB0aGlzLnNlbGVjdGVkVXNlcnMgPSBbXTtcbiAgICB0aGlzLmFzYXBTZXJ2aWNlLmJhc2VQYXRoID0gXCJhcGkvdjIvYWRtaW5cIjtcbiAgICB0aGlzLmFzYXBTZXJ2aWNlLmVudGl0eU5hbWUgPSBcImNvbG9yXCI7XG4gICAgdGhpcy5hc2FwU2VydmljZS5nZXRSZXNvdXJjZSh0aGlzLmdsb2JhbC5sb2dnZWRVc2VyKCkuY2xpZW50X2lkKS5zdWJzY3JpYmUoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgdGhpcy5uZXdmZWVkID0gcmVzcG9uc2UuZGF0YS5uZXdmZWVkO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -20,13 +20,13 @@ export class UserService extends BaseService {
20
20
  * @return {?}
21
21
  */
22
22
  usersChecked(payload, params) {
23
- return this.http.post(this.baseUrl + '/api/v2/client/onesignal/user', payload, { headers: this.headers(), params });
23
+ return this.http.post(this.baseUrl + '/api/v2/client/onesignal/user', payload, { headers: this.headers(false), params });
24
24
  }
25
25
  /**
26
26
  * @return {?}
27
27
  */
28
28
  getForms() {
29
- return this.http.get(this.baseUrl + '/api/v2/admin/user/form', { headers: this.headers() });
29
+ return this.http.get(this.baseUrl + '/api/v2/admin/user/form', { headers: this.headers(false) });
30
30
  }
31
31
  /**
32
32
  * @param {?=} search
@@ -38,7 +38,7 @@ export class UserService extends BaseService {
38
38
  if (search) {
39
39
  query = `search=${search}`;
40
40
  }
41
- return this.http.get(`${this.baseUrl}/api/v2/admin/asap-user?${query}`, { headers: this.headers() });
41
+ return this.http.get(`${this.baseUrl}/api/v2/admin/asap-user?${query}`, { headers: this.headers(false) });
42
42
  }
43
43
  /**
44
44
  * @param {?=} idUser
@@ -46,15 +46,15 @@ export class UserService extends BaseService {
46
46
  */
47
47
  getUserData(idUser = null) {
48
48
  if (idUser !== null) {
49
- return this.http.get(this.baseUrl + '/api/v2/admin/asap-user/' + idUser, { headers: this.headers() });
49
+ return this.http.get(this.baseUrl + '/api/v2/admin/asap-user/' + idUser, { headers: this.headers(false) });
50
50
  }
51
- return this.http.get(this.baseUrl + '/api/v2/admin/asap-user', { headers: this.headers() });
51
+ return this.http.get(this.baseUrl + '/api/v2/admin/asap-user', { headers: this.headers(false) });
52
52
  }
53
53
  /**
54
54
  * @return {?}
55
55
  */
56
56
  getUserForm() {
57
- return this.http.get(this.baseUrl + '/api/v2/admin/user/form', { headers: this.headers() });
57
+ return this.http.get(this.baseUrl + '/api/v2/admin/user/form', { headers: this.headers(false) });
58
58
  }
59
59
  /**
60
60
  * @param {?} cep
@@ -74,7 +74,7 @@ export class UserService extends BaseService {
74
74
  remove(id) {
75
75
  /** @type {?} */
76
76
  const url = this.baseUrl + '/api/v2/admin/user/delete/' + id;
77
- return this.http.delete(url, { headers: this.headers() });
77
+ return this.http.delete(url, { headers: this.headers(false) });
78
78
  }
79
79
  /**
80
80
  * @param {?} data
@@ -104,4 +104,4 @@ if (false) {
104
104
  /** @type {?} */
105
105
  UserService.prototype.http;
106
106
  }
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vYXNhcC1mZWVkLWJldGEvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvdXNlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUMsVUFBVSxFQUFFLFdBQVcsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzdELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFHeEMsTUFBTSxPQUFPLFdBQVksU0FBUSxXQUFXOzs7O0lBRTFDLFlBQW1CLElBQWdCO1FBQ2pDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQURNLFNBQUksR0FBSixJQUFJLENBQVk7SUFFbkMsQ0FBQzs7Ozs7O0lBRU0sWUFBWSxDQUFDLE9BQU8sRUFBRSxNQUFPO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRywrQkFBK0IsRUFBRSxPQUFPLEVBQUUsRUFBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBQyxDQUFDLENBQUM7SUFDcEgsQ0FBQzs7OztJQUVNLFFBQVE7UUFDYixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcseUJBQXlCLEVBQUUsRUFBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFDLENBQUMsQ0FBQztJQUM1RixDQUFDOzs7OztJQUVNLFdBQVcsQ0FBQyxTQUFpQixFQUFFOztZQUNoQyxLQUFLLEdBQUcsS0FBSztRQUVqQixJQUFJLE1BQU0sRUFBRTtZQUNWLEtBQUssR0FBRyxVQUFVLE1BQU0sRUFBRSxDQUFDO1NBQzVCO1FBRUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLDJCQUEyQixLQUFLLEVBQUUsRUFBRSxFQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUMsQ0FBQyxDQUFDO0lBQ3JHLENBQUM7Ozs7O0lBRU0sV0FBVyxDQUFDLFNBQWMsSUFBSTtRQUNuQyxJQUFJLE1BQU0sS0FBSyxJQUFJLEVBQUU7WUFDbkIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLDBCQUEwQixHQUFHLE1BQU0sRUFBRSxFQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUMsQ0FBQyxDQUFDO1NBQ3JHO1FBQ0QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLHlCQUF5QixFQUFFLEVBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBQyxDQUFDLENBQUM7SUFDNUYsQ0FBQzs7OztJQUVNLFdBQVc7UUFDaEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLHlCQUF5QixFQUFHLEVBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBQyxDQUFDLENBQUM7SUFDN0YsQ0FBQzs7Ozs7SUFFTSxjQUFjLENBQUMsR0FBVzs7Y0FDekIsYUFBYSxHQUFHO1lBQ3BCLGNBQWMsRUFBRSxtQ0FBbUM7U0FDcEQ7UUFDRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLDBCQUEwQixHQUFHLEdBQUcsR0FBRyxRQUFRLEVBQUUsRUFBQyxPQUFPLEVBQUUsSUFBSSxXQUFXLENBQUMsYUFBYSxDQUFDLEVBQUMsQ0FBQyxDQUFDO0lBQy9HLENBQUM7Ozs7O0lBRU0sTUFBTSxDQUFDLEVBQUU7O2NBQ1IsR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLEdBQUcsNEJBQTRCLEdBQUcsRUFBRTtRQUM1RCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxFQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUMsQ0FBQyxDQUFDO0lBQzFELENBQUM7Ozs7OztJQUVNLFFBQVEsQ0FBQyxJQUFTLEVBQUUsU0FBUyxHQUFHLElBQUk7O2NBQ25DLGFBQWEsR0FBRztZQUNwQixlQUFlLEVBQUUsWUFBWSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7WUFDOUMsUUFBUSxFQUFFLGtCQUFrQjtTQUM3QjtRQUNELElBQUksU0FBUyxLQUFLLElBQUksRUFBRTtZQUN0QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsK0JBQStCLEVBQ2xFLElBQUksRUFDSixFQUFDLE9BQU8sRUFBRSxJQUFJLFdBQVcsQ0FBQyxhQUFhLENBQUMsRUFBQyxDQUFDLENBQUM7U0FDOUM7UUFDRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsMEJBQTBCLEdBQUcsU0FBUyxHQUFHLFNBQVMsRUFDcEYsSUFBSSxFQUNKLEVBQUMsT0FBTyxFQUFFLElBQUksV0FBVyxDQUFDLGFBQWEsQ0FBQyxFQUFDLENBQUMsQ0FBQztJQUMvQyxDQUFDOzs7WUE3REYsVUFBVTs7OztZQUhILFVBQVU7Ozs7SUFNSiwyQkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzL09ic2VydmFibGUnO1xuaW1wb3J0IHtIdHRwQ2xpZW50LCBIdHRwSGVhZGVyc30gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgQmFzZVNlcnZpY2UgfSBmcm9tICdhc2FwLWNydWQnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVXNlclNlcnZpY2UgZXh0ZW5kcyBCYXNlU2VydmljZSB7XG5cbiAgY29uc3RydWN0b3IocHVibGljIGh0dHA6IEh0dHBDbGllbnQpIHtcbiAgICBzdXBlcihodHRwKVxuICB9XG5cbiAgcHVibGljIHVzZXJzQ2hlY2tlZChwYXlsb2FkLCBwYXJhbXM/KSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMuYmFzZVVybCArICcvYXBpL3YyL2NsaWVudC9vbmVzaWduYWwvdXNlcicsIHBheWxvYWQsIHtoZWFkZXJzOiB0aGlzLmhlYWRlcnMoKSwgcGFyYW1zfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0Rm9ybXMoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLmJhc2VVcmwgKyAnL2FwaS92Mi9hZG1pbi91c2VyL2Zvcm0nLCB7aGVhZGVyczogdGhpcy5oZWFkZXJzKCl9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRBbGxVc2VycyhzZWFyY2g6IHN0cmluZyA9ICcnKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgcXVlcnkgPSAnYWxsJztcblxuICAgIGlmIChzZWFyY2gpIHtcbiAgICAgIHF1ZXJ5ID0gYHNlYXJjaD0ke3NlYXJjaH1gO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuYmFzZVVybH0vYXBpL3YyL2FkbWluL2FzYXAtdXNlcj8ke3F1ZXJ5fWAsIHtoZWFkZXJzOiB0aGlzLmhlYWRlcnMoKX0pO1xuICB9XG5cbiAgcHVibGljIGdldFVzZXJEYXRhKGlkVXNlcjpudW1iZXI9bnVsbCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgaWYgKGlkVXNlciAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5iYXNlVXJsICsgJy9hcGkvdjIvYWRtaW4vYXNhcC11c2VyLycgKyBpZFVzZXIsIHtoZWFkZXJzOiB0aGlzLmhlYWRlcnMoKX0pO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLmJhc2VVcmwgKyAnL2FwaS92Mi9hZG1pbi9hc2FwLXVzZXInLCB7aGVhZGVyczogdGhpcy5oZWFkZXJzKCl9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRVc2VyRm9ybSgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuYmFzZVVybCArICcvYXBpL3YyL2FkbWluL3VzZXIvZm9ybScgLCB7aGVhZGVyczogdGhpcy5oZWFkZXJzKCl9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRBZHJlc3NCeUNlcChjZXA6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgaGVhZGVyT3B0aW9ucyA9IHtcbiAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJyxcbiAgICB9O1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KCdodHRwOi8vdmlhY2VwLmNvbS5ici93cy8nICsgY2VwICsgJy9qc29uLycsIHtoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoaGVhZGVyT3B0aW9ucyl9KTtcbiAgfVxuXG4gIHB1YmxpYyByZW1vdmUoaWQpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHVybCA9IHRoaXMuYmFzZVVybCArICcvYXBpL3YyL2FkbWluL3VzZXIvZGVsZXRlLycgKyBpZDtcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZSh1cmwsIHtoZWFkZXJzOiB0aGlzLmhlYWRlcnMoKX0pO1xuICB9XG5cbiAgcHVibGljIHNhdmVEYXRhKGRhdGE6IGFueSwgaWRDbGllbnRlID0gbnVsbCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgaGVhZGVyT3B0aW9ucyA9IHtcbiAgICAgICdBdXRob3JpemF0aW9uJzogbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3Rva2VuJyksXG4gICAgICAnQWNjZXB0JzogJ2FwcGxpY2F0aW9uL2pzb24nXG4gICAgfTtcbiAgICBpZiAoaWRDbGllbnRlID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QodGhpcy5iYXNlVXJsICsgJy9hcGkvdjIvYWRtaW4vYXNhcC11c2VyL3N0b3JlJyxcbiAgICAgICAgZGF0YSxcbiAgICAgICAge2hlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyhoZWFkZXJPcHRpb25zKX0pO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dCh0aGlzLmJhc2VVcmwgKyAnL2FwaS92Mi9hZG1pbi9hc2FwLXVzZXIvJyArIGlkQ2xpZW50ZSArICcvdXBkYXRlJyxcbiAgICAgIGRhdGEsXG4gICAgICB7aGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKGhlYWRlck9wdGlvbnMpfSk7XG4gIH1cblxuXG59XG4iXX0=
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vYXNhcC1mZWVkLWJldGEvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvdXNlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUMsVUFBVSxFQUFFLFdBQVcsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzdELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFHeEMsTUFBTSxPQUFPLFdBQVksU0FBUSxXQUFXOzs7O0lBRTFDLFlBQW1CLElBQWdCO1FBQ2pDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQURNLFNBQUksR0FBSixJQUFJLENBQVk7SUFFbkMsQ0FBQzs7Ozs7O0lBRU0sWUFBWSxDQUFDLE9BQU8sRUFBRSxNQUFPO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRywrQkFBK0IsRUFBRSxPQUFPLEVBQUUsRUFBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUMsQ0FBQyxDQUFDO0lBQ3pILENBQUM7Ozs7SUFFTSxRQUFRO1FBQ2IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLHlCQUF5QixFQUFFLEVBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUMsQ0FBQyxDQUFDO0lBQ2pHLENBQUM7Ozs7O0lBRU0sV0FBVyxDQUFDLFNBQWlCLEVBQUU7O1lBQ2hDLEtBQUssR0FBRyxLQUFLO1FBRWpCLElBQUksTUFBTSxFQUFFO1lBQ1YsS0FBSyxHQUFHLFVBQVUsTUFBTSxFQUFFLENBQUM7U0FDNUI7UUFFRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sMkJBQTJCLEtBQUssRUFBRSxFQUFFLEVBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUMsQ0FBQyxDQUFDO0lBQzFHLENBQUM7Ozs7O0lBRU0sV0FBVyxDQUFDLFNBQWMsSUFBSTtRQUNuQyxJQUFJLE1BQU0sS0FBSyxJQUFJLEVBQUU7WUFDbkIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLDBCQUEwQixHQUFHLE1BQU0sRUFBRSxFQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFDLENBQUMsQ0FBQztTQUMxRztRQUNELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyx5QkFBeUIsRUFBRSxFQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFDLENBQUMsQ0FBQztJQUNqRyxDQUFDOzs7O0lBRU0sV0FBVztRQUNoQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcseUJBQXlCLEVBQUcsRUFBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBQyxDQUFDLENBQUM7SUFDbEcsQ0FBQzs7Ozs7SUFFTSxjQUFjLENBQUMsR0FBVzs7Y0FDekIsYUFBYSxHQUFHO1lBQ3BCLGNBQWMsRUFBRSxtQ0FBbUM7U0FDcEQ7UUFDRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLDBCQUEwQixHQUFHLEdBQUcsR0FBRyxRQUFRLEVBQUUsRUFBQyxPQUFPLEVBQUUsSUFBSSxXQUFXLENBQUMsYUFBYSxDQUFDLEVBQUMsQ0FBQyxDQUFDO0lBQy9HLENBQUM7Ozs7O0lBRU0sTUFBTSxDQUFDLEVBQUU7O2NBQ1IsR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLEdBQUcsNEJBQTRCLEdBQUcsRUFBRTtRQUM1RCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxFQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFDLENBQUMsQ0FBQztJQUMvRCxDQUFDOzs7Ozs7SUFFTSxRQUFRLENBQUMsSUFBUyxFQUFFLFNBQVMsR0FBRyxJQUFJOztjQUNuQyxhQUFhLEdBQUc7WUFDcEIsZUFBZSxFQUFFLFlBQVksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO1lBQzlDLFFBQVEsRUFBRSxrQkFBa0I7U0FDN0I7UUFDRCxJQUFJLFNBQVMsS0FBSyxJQUFJLEVBQUU7WUFDdEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLCtCQUErQixFQUNsRSxJQUFJLEVBQ0osRUFBQyxPQUFPLEVBQUUsSUFBSSxXQUFXLENBQUMsYUFBYSxDQUFDLEVBQUMsQ0FBQyxDQUFDO1NBQzlDO1FBQ0QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLDBCQUEwQixHQUFHLFNBQVMsR0FBRyxTQUFTLEVBQ3BGLElBQUksRUFDSixFQUFDLE9BQU8sRUFBRSxJQUFJLFdBQVcsQ0FBQyxhQUFhLENBQUMsRUFBQyxDQUFDLENBQUM7SUFDL0MsQ0FBQzs7O1lBN0RGLFVBQVU7Ozs7WUFISCxVQUFVOzs7O0lBTUosMkJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcy9PYnNlcnZhYmxlJztcbmltcG9ydCB7SHR0cENsaWVudCwgSHR0cEhlYWRlcnN9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEJhc2VTZXJ2aWNlIH0gZnJvbSAnYXNhcC1jcnVkJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFVzZXJTZXJ2aWNlIGV4dGVuZHMgQmFzZVNlcnZpY2Uge1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBodHRwOiBIdHRwQ2xpZW50KSB7XG4gICAgc3VwZXIoaHR0cClcbiAgfVxuXG4gIHB1YmxpYyB1c2Vyc0NoZWNrZWQocGF5bG9hZCwgcGFyYW1zPykge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh0aGlzLmJhc2VVcmwgKyAnL2FwaS92Mi9jbGllbnQvb25lc2lnbmFsL3VzZXInLCBwYXlsb2FkLCB7aGVhZGVyczogdGhpcy5oZWFkZXJzKGZhbHNlKSwgcGFyYW1zfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0Rm9ybXMoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLmJhc2VVcmwgKyAnL2FwaS92Mi9hZG1pbi91c2VyL2Zvcm0nLCB7aGVhZGVyczogdGhpcy5oZWFkZXJzKGZhbHNlKX0pO1xuICB9XG5cbiAgcHVibGljIGdldEFsbFVzZXJzKHNlYXJjaDogc3RyaW5nID0gJycpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBxdWVyeSA9ICdhbGwnO1xuXG4gICAgaWYgKHNlYXJjaCkge1xuICAgICAgcXVlcnkgPSBgc2VhcmNoPSR7c2VhcmNofWA7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5iYXNlVXJsfS9hcGkvdjIvYWRtaW4vYXNhcC11c2VyPyR7cXVlcnl9YCwge2hlYWRlcnM6IHRoaXMuaGVhZGVycyhmYWxzZSl9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRVc2VyRGF0YShpZFVzZXI6bnVtYmVyPW51bGwpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGlmIChpZFVzZXIgIT09IG51bGwpIHtcbiAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuYmFzZVVybCArICcvYXBpL3YyL2FkbWluL2FzYXAtdXNlci8nICsgaWRVc2VyLCB7aGVhZGVyczogdGhpcy5oZWFkZXJzKGZhbHNlKX0pO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLmJhc2VVcmwgKyAnL2FwaS92Mi9hZG1pbi9hc2FwLXVzZXInLCB7aGVhZGVyczogdGhpcy5oZWFkZXJzKGZhbHNlKX0pO1xuICB9XG5cbiAgcHVibGljIGdldFVzZXJGb3JtKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5iYXNlVXJsICsgJy9hcGkvdjIvYWRtaW4vdXNlci9mb3JtJyAsIHtoZWFkZXJzOiB0aGlzLmhlYWRlcnMoZmFsc2UpfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0QWRyZXNzQnlDZXAoY2VwOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IGhlYWRlck9wdGlvbnMgPSB7XG4gICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCcsXG4gICAgfTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCgnaHR0cDovL3ZpYWNlcC5jb20uYnIvd3MvJyArIGNlcCArICcvanNvbi8nLCB7aGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKGhlYWRlck9wdGlvbnMpfSk7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlKGlkKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCB1cmwgPSB0aGlzLmJhc2VVcmwgKyAnL2FwaS92Mi9hZG1pbi91c2VyL2RlbGV0ZS8nICsgaWQ7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUodXJsLCB7aGVhZGVyczogdGhpcy5oZWFkZXJzKGZhbHNlKX0pO1xuICB9XG5cbiAgcHVibGljIHNhdmVEYXRhKGRhdGE6IGFueSwgaWRDbGllbnRlID0gbnVsbCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgaGVhZGVyT3B0aW9ucyA9IHtcbiAgICAgICdBdXRob3JpemF0aW9uJzogbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3Rva2VuJyksXG4gICAgICAnQWNjZXB0JzogJ2FwcGxpY2F0aW9uL2pzb24nXG4gICAgfTtcbiAgICBpZiAoaWRDbGllbnRlID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QodGhpcy5iYXNlVXJsICsgJy9hcGkvdjIvYWRtaW4vYXNhcC11c2VyL3N0b3JlJyxcbiAgICAgICAgZGF0YSxcbiAgICAgICAge2hlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyhoZWFkZXJPcHRpb25zKX0pO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dCh0aGlzLmJhc2VVcmwgKyAnL2FwaS92Mi9hZG1pbi9hc2FwLXVzZXIvJyArIGlkQ2xpZW50ZSArICcvdXBkYXRlJyxcbiAgICAgIGRhdGEsXG4gICAgICB7aGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKGhlYWRlck9wdGlvbnMpfSk7XG4gIH1cblxuXG59XG4iXX0=
@@ -398,7 +398,7 @@ var AsapFeedBetaComponent = /** @class */ (function () {
398
398
  AsapFeedBetaComponent.decorators = [
399
399
  { type: Component, args: [{
400
400
  selector: 'asap-feed-beta',
401
- template: "<!-- <code>{{publication}}/{{hasID}}/{{isSinglePost}}</code> -->\n\n<ng-container *ngIf=\"!settings?.channelsHidden\">\n <app-stories *ngIf=\"stories && !hasID && !isSinglePost\"></app-stories>\n</ng-container>\n\n<feed-publication [settings]=\"settings\" [announce]=\"announce\" (feedCreated)=\"onNewFeed($event)\" (filter)=\"reload($event)\" *ngIf=\"publication && !hasID && !isSinglePost\"></feed-publication>\n\n<!-- Este trecho do c\u00F3digo foi removido, pois ele fazia o Feed ficar flicando na tela. -->\n<ng-container *ngIf=\"!feeds\">\n <div [class.col-sm-8]=\"hasID\" [class.mx-auto]=\"hasID\"> \n <ng-container *ngFor=\"let item of [0,1]\">\n <div>\n <mat-card class=\"feed-card mb-4\">\n <mat-card-header class=\"feed-header\">\n <div class=\"mr-3\" mat-card-avatar>\n <ngx-skeleton-loader animation=\"progress\" appearance=\"circle\" [theme]=\"{height:'40px'}\">\n </ngx-skeleton-loader>\n </div>\n <mat-card-title>\n <ngx-skeleton-loader animation=\"progress\" [theme]=\"{height:'25px','transform': 'initial', marginBottom: '0'}\">\n </ngx-skeleton-loader>\n <ngx-skeleton-loader animation=\"progress\" [theme]=\"{height:'15px','transform': 'initial'}\">\n </ngx-skeleton-loader>\n </mat-card-title>\n\n </mat-card-header>\n\n <ng-container>\n <ngx-skeleton-loader animation=\"progress\" [theme]=\"{height:'400px','transform': 'initial'}\">\n </ngx-skeleton-loader>\n </ng-container>\n\n </mat-card>\n </div>\n </ng-container>\n </div>\n</ng-container>\n\n<ng-container *ngIf=\"feeds\">\n <ng-container *ngFor=\"let item of feeds\">\n <div [class.focus-on-me]=\"item.focus\" [class.col-sm-8]=\"hasID\" [class.mx-auto]=\"hasID\">\n <app-feed-item [owner]=\"this\" [settings]=\"settings\" [item]=\"item\" (isVisible)=\"sendVisible($event)\"></app-feed-item>\n </div>\n </ng-container>\n</ng-container>\n\n<div *ngIf=\"loading\">\n <ngx-skeleton-loader animation=\"progress\" [theme]=\"{height:'40px', width:'100%'}\"></ngx-skeleton-loader>\n</div>\n\n<div infiniteScroll [infiniteScrollDistance]=\"2\" [infiniteScrollThrottle]=\"2000\" [infiniteScrollDisabled]=\"\n loading || \n paginate.count >= paginate.limit || \n isSinglePost || \n paginate.last_document === paginate.next_document\" (scrolled)=\"getMore()\">\n</div>\n\n<button \n *ngIf=\"showToTopButton\" \n (click)=\"gotoTop()\" \n style=\"position: fixed;\n bottom: 0;\n right: 0;\n color:#FFFF;\n font-size: 20px;\n margin-right: 10px;\n margin-bottom: 10px;\n height: 35px;\n width: 35px;\n border: none;\n text-align: center;\n border-radius: 50%;\n outline: none;\n transition: all 1s ease-in;\n background-color: var(--main-color);\n z-index: 99999;\"\n class=\"d-none d-sm-block\">\n <i class=\"fa fa-angle-up\"></i>\n</button>\n",
401
+ template: "<ng-container *ngIf=\"!settings?.channelsHidden\">\n <app-stories *ngIf=\"stories && !hasID && !isSinglePost\"></app-stories>\n</ng-container>\n\n<feed-publication [settings]=\"settings\" [announce]=\"announce\" (feedCreated)=\"onNewFeed($event)\" (filter)=\"reload($event)\" *ngIf=\"publication && !hasID && !isSinglePost\"></feed-publication>\n\n<!-- Este trecho do c\u00F3digo foi removido, pois ele fazia o Feed ficar flicando na tela. -->\n<ng-container *ngIf=\"!feeds\">\n <div [class.col-sm-8]=\"hasID\" [class.mx-auto]=\"hasID\"> \n <ng-container *ngFor=\"let item of [0,1]\">\n <div>\n <mat-card class=\"feed-card mb-4\">\n <mat-card-header class=\"feed-header\">\n <div class=\"mr-3\" mat-card-avatar>\n <ngx-skeleton-loader animation=\"progress\" appearance=\"circle\" [theme]=\"{height:'40px'}\">\n </ngx-skeleton-loader>\n </div>\n <mat-card-title>\n <ngx-skeleton-loader animation=\"progress\" [theme]=\"{height:'25px','transform': 'initial', marginBottom: '0'}\">\n </ngx-skeleton-loader>\n <ngx-skeleton-loader animation=\"progress\" [theme]=\"{height:'15px','transform': 'initial'}\">\n </ngx-skeleton-loader>\n </mat-card-title>\n\n </mat-card-header>\n\n <ng-container>\n <ngx-skeleton-loader animation=\"progress\" [theme]=\"{height:'400px','transform': 'initial'}\">\n </ngx-skeleton-loader>\n </ng-container>\n\n </mat-card>\n </div>\n </ng-container>\n </div>\n</ng-container>\n\n<ng-container *ngIf=\"feeds\">\n <ng-container *ngFor=\"let item of feeds\">\n <div [class.focus-on-me]=\"item.focus\" [class.col-sm-8]=\"hasID\" [class.mx-auto]=\"hasID\">\n <app-feed-item [owner]=\"this\" [settings]=\"settings\" [item]=\"item\" (isVisible)=\"sendVisible($event)\"></app-feed-item>\n </div>\n </ng-container>\n</ng-container>\n\n<div *ngIf=\"loading\">\n <ngx-skeleton-loader animation=\"progress\" [theme]=\"{height:'40px', width:'100%'}\"></ngx-skeleton-loader>\n</div>\n\n<div infiniteScroll [infiniteScrollDistance]=\"2\" [infiniteScrollThrottle]=\"2000\" [infiniteScrollDisabled]=\"\n loading || \n paginate.count >= paginate.limit || \n isSinglePost || \n paginate.last_document === paginate.next_document\" (scrolled)=\"getMore()\">\n</div>\n\n<button \n *ngIf=\"showToTopButton\" \n (click)=\"gotoTop()\" \n style=\"position: fixed;\n bottom: 0;\n right: 0;\n color:#FFFF;\n font-size: 20px;\n margin-right: 10px;\n margin-bottom: 10px;\n height: 35px;\n width: 35px;\n border: none;\n text-align: center;\n border-radius: 50%;\n outline: none;\n transition: all 1s ease-in;\n background-color: var(--main-color);\n z-index: 99999;\"\n class=\"d-none d-sm-block\">\n <i class=\"fa fa-angle-up\"></i>\n</button>\n",
402
402
  styles: ['./asap-feed.beta.componente.scss']
403
403
  }] }
404
404
  ];
@@ -468,4 +468,4 @@ if (false) {
468
468
  /** @type {?} */
469
469
  AsapFeedBetaComponent.prototype.global;
470
470
  }
471
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNhcC1mZWVkLWJldGEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vYXNhcC1mZWVkLWJldGEvIiwic291cmNlcyI6WyJsaWIvYXNhcC1mZWVkLWJldGEuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLFlBQVksRUFBNEIsTUFBTSxlQUFlLENBQUM7QUFDakcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBR25DO0lBNkJJLCtCQUNZLFdBQTRCLEVBQzdCLEVBQW9CLEVBQ3BCLEtBQXFCLEVBQ3JCLGNBQW1DLEVBQ25DLE1BQWM7UUFKYixnQkFBVyxHQUFYLFdBQVcsQ0FBaUI7UUFDN0IsT0FBRSxHQUFGLEVBQUUsQ0FBa0I7UUFDcEIsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsbUJBQWMsR0FBZCxjQUFjLENBQXFCO1FBQ25DLFdBQU0sR0FBTixNQUFNLENBQVE7UUEzQmxCLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFDZixZQUFPLEdBQUcsSUFBSSxDQUFDO1FBR2Isa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFHeEIsVUFBSyxHQUFHLEtBQUssQ0FBQztRQUVkLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFDZixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGdCQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ25CLFVBQUssR0FBRyxJQUFJLENBQUM7UUFJYix5QkFBb0IsR0FBRyxHQUFHLENBQUM7UUFDM0Isb0JBQWUsR0FBRyxLQUFL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K0I7O0lBQy9CLDZDQUE0Qjs7SUFFNUIsMkNBQTBCOzs7OztJQUd0Qiw0Q0FBb0M7O0lBQ3BDLG1DQUEyQjs7SUFDM0Isc0NBQTRCOztJQUM1QiwrQ0FBMEM7O0lBQzFDLHVDQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgSG9zdExpc3RlbmVyLCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFzYXBGZWVkU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvYXNhcC1mZWVkLnNlcnZpY2UnO1xuaW1wb3J0IHsgQW5ndWxhckZpcmVzdG9yZSB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvZmlyZXN0b3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEFzYXBGZWVkQmV0YVNlcnZpY2UgfSBmcm9tICcuL2FzYXAtZmVlZC1iZXRhLnNlcnZpY2UnO1xuaW1wb3J0IHsgR2xvYmFsIH0gZnJvbSAnYXNhcC1jcnVkJztcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhc2FwLWZlZWQtYmV0YScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2FzYXAtZmVlZC1iZXRhLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZXM6IFsnLi9hc2FwLWZlZWQuYmV0YS5jb21wb25lbnRlLnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBBc2FwRmVlZEJldGFDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG5cbiAgICBwdWJsaWMgaGFzRmVlZCA9IHRydWU7XG4gICAgcHVibGljIGxvYWRpbmcgPSB0cnVlO1xuXG4gICAgQElucHV0KCkgaWQ7XG4gICAgQElucHV0KCkgaWdub3JlQ29udHJvbCA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHNldHRpbmdzO1xuXG4gICAgcHVibGljIGhhc0lEID0gZmFsc2U7XG5cbiAgICBwdWJsaWMgc3RvcmllcyA9IHRydWU7XG4gICAgcHVibGljIGFubm91bmNlID0gZmFsc2U7XG4gICAgcHVibGljIHB1YmxpY2F0aW9uID0gdHJ1ZTtcbiAgICBwdWJsaWMgcXVlcnkgPSBudWxsO1xuICAgIHB1YmxpYyBmZWVkSUQ7XG4gICAgcHVibGljIGZlZWRzO1xuICAgIHB1YmxpYyBwYWdpbmF0ZTtcbiAgICBwdWJsaWMgdG9wUG9zVG9TdGFydFNob3dpbmcgPSA0MDA7XG4gICAgcHVibGljIHNob3dUb1RvcEJ1dHRvbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBpc1NpbmdsZVBvc3QgPSBmYWxzZTtcblxuICAgIHB1YmxpYyBmaWx0ZXJCeU1lID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBmZWVkU2VydmljZTogQXNhcEZlZWRTZXJ2aWNlLFxuICAgICAgICBwdWJsaWMgZGI6IEFuZ3VsYXJGaXJlc3RvcmUsXG4gICAgICAgIHB1YmxpYyByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgICAgIHB1YmxpYyBjb250cm9sU2VydmljZTogQXNhcEZlZWRCZXRhU2VydmljZSxcbiAgICAgICAgcHVibGljIGdsb2JhbDogR2xvYmFsLFxuICAgICkge1xuICAgICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgICB0aGlzLnF1ZXJ5ID0gbnVsbDtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcblxuICAgICAgICBcbiAgICAgICAgaWYgKCF0aGlzLmlnbm9yZUNvbnRyb2wpIHtcbiAgICAgICAgICAgIHRoaXMuYW5ub3VuY2UgPSB0aGlzLmNvbnRyb2xTZXJ2aWNlLmFubm91bmNlO1xuICAgICAgICAgICAgdGhpcy5zdG9yaWVzID0gdGhpcy5jb250cm9sU2VydmljZS5zdG9yaWVzO1xuICAgICAgICAgICAgdGhpcy5wdWJsaWNhdGlvbiA9IHRoaXMuY29udHJvbFNlcnZpY2UucHVibGljYXRpb247XG4gICAgICAgICAgICB0aGlzLnF1ZXJ5ID0gdGhpcy5jb250cm9sU2VydmljZS5xdWVyeTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnNvbGUubG9nKCdRdWVyeSAtPicsIHRoaXMucXVlcnkpO1xuXG4gICAgICAgIHRoaXMucm91dGUucGFyYW1zLnN1YnNjcmliZShwYXJhbSA9PiB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZygnUGFyYW1zIC0+JywgcGFyYW0pO1xuICAgICAgICAgICAgaWYgKHBhcmFtKSB7XG4gICAgICAgICAgICAgICAgaWYgKHBhcmFtLmZlZWRfaWQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mZWVkSUQgPSBwYXJhbS5mZWVkX2lkO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzU2luZ2xlUG9zdCA9IHRydWU7XG5cbiAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmdldEZlZWQodGhpcy5mZWVkSUQpO1xuICAgICAgICAgICAgICAgICAgICB9LCA2MDApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXRGZWVkKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jaGVja0ZlZWRDaGFuZ2UoKTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG5cbiAgICAgICAgaWYgKGNoYW5nZXMuZmVlZElEKSB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmdldEZlZWQodGhpcy5mZWVkSUQpO1xuICAgICAgICAgICAgfSwgNjAwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjaGFuZ2VzLmlkKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5pZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuaGFzSUQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy5jb250cm9sU2VydmljZS5xdWVyeSkgdGhpcy5jb250cm9sU2VydmljZS5xdWVyeSA9IHt9O1xuICAgICAgICAgICAgICAgIHRoaXMuY29udHJvbFNlcnZpY2UucXVlcnkuc2VhcmNoQnkgPSAndXNlcl9pbmZvLmlkJztcbiAgICAgICAgICAgICAgICB0aGlzLmNvbnRyb2xTZXJ2aWNlLnF1ZXJ5LnNlYXJjaFZhbHVlID0gdGhpcy5pZCArICcmdHlwZVZhbHVlPW51bWJlcic7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0RmVlZChmZWVkX2lkID0gJycpIHtcbiAgICAgICAgY29uc29sZS5sb2coJ1tnZXRGZWVkXSBRdWVyeScsIHRoaXMucXVlcnksIHRoaXMuZmlsdGVyQnlNZSk7XG4gICAgICAgIHRoaXMuZmVlZHMgPSBudWxsO1xuICAgICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgICB0aGlzLmZlZWRTZXJ2aWNlLmdldEZlZWQoZmVlZF9pZCwgdGhpcy5nbG9iYWwubG9nZ2VkVXNlcigpLCB0aGlzLnF1ZXJ5LCB0aGlzLmZpbHRlckJ5TWUpLnN1YnNjcmliZSgocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5mZWVkcyA9IHJlc3BvbnNlLmRhdGE7XG4gICAgICAgICAgICBjb25zb2xlLmxvZygnRmVlZHMnLCB0aGlzLmZlZWRzKTtcbiAgICAgICAgICAgIHRoaXMucGFnaW5hdGUgPSByZXNwb25zZS5wYWdpbmF0aW9uO1xuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLmhhc0ZlZWQgPSAodGhpcy5mZWVkcy5sZW5ndGggPiAwKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldE1vcmUoKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdbZ2V0TW9yZV0nLCB0aGlzLnBhZ2luYXRlLm5leHRfZG9jdW1lbnQpO1xuICAgICAgICBpZiAodGhpcy5wYWdpbmF0ZS5uZXh0X2RvY3VtZW50KSB7XG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5mZWVkU2VydmljZS5nZXRNb3JlRmVlZCg1LCB0aGlzLnBhZ2luYXRlLm5leHRfZG9jdW1lbnQsIHRoaXMuZ2xvYmFsLmxvZ2dlZFVzZXIoKSwgdGhpcy5xdWVyeSwgdGhpcy5maWx0ZXJCeU1lKS5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnW2dldE1vcmVdIEdvdDogJywgcmVzcG9uc2UpO1xuICAgICAgICAgICAgICAgIHJlc3BvbnNlLmRhdGEubWFwKGl0ZW0gPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5wZXJtaXR0ZWQoaXRlbSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZmVlZHMucHVzaChpdGVtKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5wYWdpbmF0ZSA9IHJlc3BvbnNlLnBhZ2luYXRpb247XG4gICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBjaGVja0ZlZWRDaGFuZ2UoKSB7XG4gICAgICAgIC8vIGNvbnN0IGNvbGxlY3Rpb24gPSB0aGlzLmRiLmNvbGxlY3Rpb24ocGF0aCgpLmZlZWQsIHJlZiA9PiB7XG4gICAgICAgIC8vICAgICByZXR1cm4gcmVmLm9yZGVyQnkoJ3VwZGF0ZWRfYXQnLCAnZGVzYycpO1xuICAgICAgICAvLyB9KTtcblxuICAgICAgICAvLyBjb2xsZWN0aW9uLnNuYXBzaG90Q2hhbmdlcygpLnN1YnNjcmliZShyZXNwb25zZSA9PiB7XG4gICAgICAgIC8vICAgICBjb25zb2xlLmxvZyhcIltjaGVja0ZlZWRDaGFuZ2VdXCIscmVzcG9uc2UpO1xuICAgICAgICAvLyAgICAgaWYgKHJlc3BvbnNlKSB7XG4gICAgICAgIC8vICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIC8vICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiW2NoZWNrRmVlZENoYW5nZV1cIilcbiAgICAgICAgLy8gICAgICAgICAgICAgdGhpcy5nZXRGZWVkKHRoaXMuZmVlZElEKTtcbiAgICAgICAgLy8gICAgICAgICB9LCA2MDApO1xuICAgICAgICAvLyAgICAgfVxuICAgICAgICAvLyB9KVxuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpzY3JvbGwnKVxuICAgIGNoZWNrU2Nyb2xsKCkge1xuICAgICAgICBjb25zdCBzY3JvbGxQb3NpdGlvbiA9IHdpbmRvdy5wYWdlWU9mZnNldCB8fCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wIHx8IGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wIHx8IDA7XG4gICAgICAgIGlmIChzY3JvbGxQb3NpdGlvbiA+PSB0aGlzLnRvcFBvc1RvU3RhcnRTaG93aW5nKSB7XG4gICAgICAgICAgICB0aGlzLnNob3dUb1RvcEJ1dHRvbiA9IHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNob3dUb1RvcEJ1dHRvbiA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ290b1RvcCgpIHtcbiAgICAgICAgd2luZG93LnNjcm9sbCh7XG4gICAgICAgICAgICB0b3A6IDAsXG4gICAgICAgICAgICBsZWZ0OiAwLFxuICAgICAgICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHBlcm1pdHRlZChwb3N0KSB7XG4gICAgICAgIGlmIChwb3N0LnBlcm1pc3Npb24pIHtcbiAgICAgICAgICAgIGlmIChwb3N0LnBlcm1pc3Npb24ubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIGxldCByZXN1bHQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBjb25zdCB1c2VyID0gdGhpcy5nbG9iYWwubG9nZ2VkVXNlcigpO1xuICAgICAgICAgICAgICAgIGlmICh1c2VyKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChwb3N0LnVzZXJfaW5mbyAmJiBwb3N0LnVzZXJfaW5mby5pZCA9PSB1c2VyLmlkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKHVzZXIuZXh0cmFzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBleHRyYXMgPSB1c2VyLmV4dHJhc1swXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgcGVybSBvZiBwb3N0LnBlcm1pc3Npb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKHBlcm0uZmllbGQgPT0gJ211bHRpLWNvbnRhJykgJiYgKHBlcm0udmFsdWUgPT0gdXNlci5jbGllbnRfaWQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChleHRyYXNbcGVybS5maWVsZF0gPT0gcGVybS52YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25OZXdGZWVkKGlkKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdbb25OZXdGZWVkXScsIGlkKTtcbiAgICAgICAgdGhpcy5mZWVkU2VydmljZS5nZXRGZWVkKGlkKS5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgICAgIGxldCBpbmRleCA9IHRoaXMuZmVlZHMubGVuZ3RoO1xuXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGZlZWQgb2YgcmVzcG9uc2UuZGF0YSkge1xuICAgICAgICAgICAgICAgIGZlZWQuZm9jdXMgPSB0cnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGZlZWQgb2YgdGhpcy5mZWVkcykge1xuICAgICAgICAgICAgICAgIGZlZWQuZm9jdXMgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLmZlZWRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ1tvbk5ld0ZlZWRdIEZlZWQnLCB0aGlzLmZlZWRzW2ldKTtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuZmVlZHNbaV0uaXNIaWdobGlnaHRlZCkge1xuICAgICAgICAgICAgICAgICAgICBpbmRleCA9IGk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5mZWVkcyA9IFtcbiAgICAgICAgICAgICAgICAuLi4gdGhpcy5mZWVkcy5zbGljZSgwLCBpbmRleCksXG4gICAgICAgICAgICAgICAgLi4uIHJlc3BvbnNlLmRhdGEsXG4gICAgICAgICAgICAgICAgLi4uIHRoaXMuZmVlZHMuc2xpY2UoaW5kZXgpXG4gICAgICAgICAgICBdO1xuXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2ZvY3VzLW9uLW1lJylbMF07XG4gICAgICAgICAgICAgICAgZWwuc2Nyb2xsSW50b1ZpZXcoeyBiZWhhdmlvcjogJ3Ntb290aCcgfSk7XG4gICAgICAgICAgICB9LCA1MDApO1xuXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZW5kVmlzaWJsZShpdGVtKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKFwiW3NlbmRWaXNpYmxlXSBtYXJjYW5kbyBjb21vIHZpc3VhbGl6YWRvXCIsIGl0ZW0pO1xuICAgICAgICBjb25zdCB1c2VyID0gdGhpcy5nbG9iYWwubG9nZ2VkVXNlcigpO1xuXG4gICAgICAgIGxldCBwb3N0RGF0YSA9IHtcbiAgICAgICAgICAgIHBvc3RfaWQ6IGl0ZW0uaWQsXG4gICAgICAgICAgICB0aXRsZTogaXRlbS50aXRsZSxcbiAgICAgICAgICAgIGNyZWF0ZWRfYXQ6IGl0ZW0udXBkYXRlZF9hdFxuICAgICAgICB9O1xuXG4gICAgICAgIGxldCBkYXRhID0ge1xuICAgICAgICAgICAgcG9zdF9pZDogaXRlbS5pZCxcbiAgICAgICAgICAgIGNyZWF0ZWRfYXQ6IERhdGUubm93KCksXG4gICAgICAgICAgICB1cGRhdGVkX2F0OiBEYXRlLm5vdygpLFxuICAgICAgICAgICAgdXNlcl9pbmZvOiB7XG4gICAgICAgICAgICAgICAgaWQ6IHVzZXIuaWQsXG4gICAgICAgICAgICAgICAgdXBkYXRlZF9hdDogRGF0ZS5ub3coKSxcbiAgICAgICAgICAgICAgICBuYW1lOiB1c2VyLm5hbWUsXG4gICAgICAgICAgICAgICAgcGljdHVyZTogdXNlci5waWN0dXJlXG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3QgZG9jdW1lbnRJRCA9IGBmZWVkLXZpZXcvJHtpdGVtLmlkfWA7XG4gICAgICAgIGNvbnN0IGRvY3VtZW50ID0gdGhpcy5kYi5kb2MoZG9jdW1lbnRJRCk7XG4gICAgICAgIGRvY3VtZW50LnNldChwb3N0RGF0YSkudGhlbigocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGRvY3VtZW50SUQgPSBgZmVlZC12aWV3LyR7aXRlbS5pZH0vdmlld3MvJHt1c2VyLmlkfWA7XG4gICAgICAgICAgICBjb25zdCBkb2N1bWVudCA9IHRoaXMuZGIuZG9jKGRvY3VtZW50SUQpO1xuICAgICAgICAgICAgZG9jdW1lbnQuZ2V0KCkuc3Vic2NyaWJlKChkb2MpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIWRvYy5leGlzdHMpIHtcbiAgICAgICAgICAgICAgICAgICAgZG9jLnJlZi5zZXQoZGF0YSkudGhlbigocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiW3NlbmRWaXNpYmxlXSBtYXJjYWRvIGNvbW8gdmlzdWFsaXphZG9cIiwgcmVzcG9uc2UpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiW3NlbmRWaXNpYmxlXSBqw6EgZm9pIG1hcmNhZG8gY29tbyB2aXN1YWxpemFkb1wiLCBkb2MpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5kYi5jb2xsZWN0aW9uKGAke2RvY3VtZW50SUR9L2hpc3RvcnlgKS5hZGQoZGF0YSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHJlbG9hZChmaWx0ZXJCeU1lOiBhbnkpIHtcbiAgICAgICAgdGhpcy5maWx0ZXJCeU1lID0gZmlsdGVyQnlNZTtcbiAgICAgICAgdGhpcy5nZXRGZWVkKCk7XG4gICAgfVxuXG59XG4iXX0=
471
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNhcC1mZWVkLWJldGEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vYXNhcC1mZWVkLWJldGEvIiwic291cmNlcyI6WyJsaWIvYXNhcC1mZWVkLWJldGEuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLFlBQVksRUFBNEIsTUFBTSxlQUFlLENBQUM7QUFDakcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBR25DO0lBNkJJLCtCQUNZLFdBQTRCLEVBQzdCLEVBQW9CLEVBQ3BCLEtBQXFCLEVBQ3JCLGNBQW1DLEVBQ25DLE1BQWM7UUFKYixnQkFBVyxHQUFYLFdBQVcsQ0FBaUI7UUFDN0IsT0FBRSxHQUFGLEVBQUUsQ0FBa0I7UUFDcEIsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsbUJBQWMsR0FBZCxjQUFjLENBQXFCO1FBQ25DLFdBQU0sR0FBTixNQUFNLENBQVE7UUEzQmxCLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFDZixZQUFPLEdBQUcsSUFBSSxDQUFDO1FBR2Isa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFHeEIsVUFBSyxHQUFHLEtBQUssQ0FBQztRQUVkLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFDZixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGdCQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ25CLFVBQUssR0FBRyxJQUFJLENBQUM7UUFJYix5QkFBb0IsR0FBRyxHQUFHLENBQUM7UUFDM0Isb0JBQWUsR0FBRyxLQUFL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K0I7O0lBQy9CLDZDQUE0Qjs7SUFFNUIsMkNBQTBCOzs7OztJQUd0Qiw0Q0FBb0M7O0lBQ3BDLG1DQUEyQjs7SUFDM0Isc0NBQTRCOztJQUM1QiwrQ0FBMEM7O0lBQzFDLHVDQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgSG9zdExpc3RlbmVyLCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFzYXBGZWVkU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvYXNhcC1mZWVkLnNlcnZpY2UnO1xuaW1wb3J0IHsgQW5ndWxhckZpcmVzdG9yZSB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvZmlyZXN0b3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEFzYXBGZWVkQmV0YVNlcnZpY2UgfSBmcm9tICcuL2FzYXAtZmVlZC1iZXRhLnNlcnZpY2UnO1xuaW1wb3J0IHsgR2xvYmFsIH0gZnJvbSAnYXNhcC1jcnVkJztcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhc2FwLWZlZWQtYmV0YScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2FzYXAtZmVlZC1iZXRhLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZXM6IFsnLi9hc2FwLWZlZWQuYmV0YS5jb21wb25lbnRlLnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBBc2FwRmVlZEJldGFDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG5cbiAgICBwdWJsaWMgaGFzRmVlZCA9IHRydWU7XG4gICAgcHVibGljIGxvYWRpbmcgPSB0cnVlO1xuXG4gICAgQElucHV0KCkgaWQ7XG4gICAgQElucHV0KCkgaWdub3JlQ29udHJvbCA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHNldHRpbmdzO1xuXG4gICAgcHVibGljIGhhc0lEID0gZmFsc2U7XG5cbiAgICBwdWJsaWMgc3RvcmllcyA9IHRydWU7XG4gICAgcHVibGljIGFubm91bmNlID0gZmFsc2U7XG4gICAgcHVibGljIHB1YmxpY2F0aW9uID0gdHJ1ZTtcbiAgICBwdWJsaWMgcXVlcnkgPSBudWxsO1xuICAgIHB1YmxpYyBmZWVkSUQ7XG4gICAgcHVibGljIGZlZWRzO1xuICAgIHB1YmxpYyBwYWdpbmF0ZTtcbiAgICBwdWJsaWMgdG9wUG9zVG9TdGFydFNob3dpbmcgPSA0MDA7XG4gICAgcHVibGljIHNob3dUb1RvcEJ1dHRvbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBpc1NpbmdsZVBvc3QgPSBmYWxzZTtcblxuICAgIHB1YmxpYyBmaWx0ZXJCeU1lID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBmZWVkU2VydmljZTogQXNhcEZlZWRTZXJ2aWNlLFxuICAgICAgICBwdWJsaWMgZGI6IEFuZ3VsYXJGaXJlc3RvcmUsXG4gICAgICAgIHB1YmxpYyByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgICAgIHB1YmxpYyBjb250cm9sU2VydmljZTogQXNhcEZlZWRCZXRhU2VydmljZSxcbiAgICAgICAgcHVibGljIGdsb2JhbDogR2xvYmFsLFxuICAgICkge1xuICAgICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgICB0aGlzLnF1ZXJ5ID0gbnVsbDtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcblxuICAgICAgICBcbiAgICAgICAgaWYgKCF0aGlzLmlnbm9yZUNvbnRyb2wpIHtcbiAgICAgICAgICAgIHRoaXMuYW5ub3VuY2UgPSB0aGlzLmNvbnRyb2xTZXJ2aWNlLmFubm91bmNlO1xuICAgICAgICAgICAgdGhpcy5zdG9yaWVzID0gdGhpcy5jb250cm9sU2VydmljZS5zdG9yaWVzO1xuICAgICAgICAgICAgdGhpcy5wdWJsaWNhdGlvbiA9IHRoaXMuY29udHJvbFNlcnZpY2UucHVibGljYXRpb247XG4gICAgICAgICAgICB0aGlzLnF1ZXJ5ID0gdGhpcy5jb250cm9sU2VydmljZS5xdWVyeTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnNvbGUubG9nKCdRdWVyeSAtPicsIHRoaXMucXVlcnkpO1xuXG4gICAgICAgIHRoaXMucm91dGUucGFyYW1zLnN1YnNjcmliZShwYXJhbSA9PiB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZygnUGFyYW1zIC0+JywgcGFyYW0pO1xuICAgICAgICAgICAgaWYgKHBhcmFtKSB7XG4gICAgICAgICAgICAgICAgaWYgKHBhcmFtLmZlZWRfaWQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mZWVkSUQgPSBwYXJhbS5mZWVkX2lkO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzU2luZ2xlUG9zdCA9IHRydWU7XG5cbiAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmdldEZlZWQodGhpcy5mZWVkSUQpO1xuICAgICAgICAgICAgICAgICAgICB9LCA2MDApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXRGZWVkKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jaGVja0ZlZWRDaGFuZ2UoKTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG5cbiAgICAgICAgaWYgKGNoYW5nZXMuZmVlZElEKSB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmdldEZlZWQodGhpcy5mZWVkSUQpO1xuICAgICAgICAgICAgfSwgNjAwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjaGFuZ2VzLmlkKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5pZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuaGFzSUQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy5jb250cm9sU2VydmljZS5xdWVyeSkgdGhpcy5jb250cm9sU2VydmljZS5xdWVyeSA9IHt9O1xuICAgICAgICAgICAgICAgIHRoaXMuY29udHJvbFNlcnZpY2UucXVlcnkuc2VhcmNoQnkgPSAndXNlcl9pbmZvLmlkJztcbiAgICAgICAgICAgICAgICB0aGlzLmNvbnRyb2xTZXJ2aWNlLnF1ZXJ5LnNlYXJjaFZhbHVlID0gdGhpcy5pZCArICcmdHlwZVZhbHVlPW51bWJlcic7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0RmVlZChmZWVkX2lkID0gJycpIHtcbiAgICAgICAgY29uc29sZS5sb2coJ1tnZXRGZWVkXSBRdWVyeScsIHRoaXMucXVlcnksIHRoaXMuZmlsdGVyQnlNZSk7XG4gICAgICAgIHRoaXMuZmVlZHMgPSBudWxsO1xuICAgICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgICB0aGlzLmZlZWRTZXJ2aWNlLmdldEZlZWQoZmVlZF9pZCwgdGhpcy5nbG9iYWwubG9nZ2VkVXNlcigpLCB0aGlzLnF1ZXJ5LCB0aGlzLmZpbHRlckJ5TWUpLnN1YnNjcmliZSgocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5mZWVkcyA9IHJlc3BvbnNlLmRhdGE7XG4gICAgICAgICAgICBjb25zb2xlLmxvZygnRmVlZHMnLCB0aGlzLmZlZWRzKTtcbiAgICAgICAgICAgIHRoaXMucGFnaW5hdGUgPSByZXNwb25zZS5wYWdpbmF0aW9uO1xuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLmhhc0ZlZWQgPSAodGhpcy5mZWVkcy5sZW5ndGggPiAwKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldE1vcmUoKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdbZ2V0TW9yZV0nLCB0aGlzLnBhZ2luYXRlLm5leHRfZG9jdW1lbnQpO1xuICAgICAgICBpZiAodGhpcy5wYWdpbmF0ZS5uZXh0X2RvY3VtZW50KSB7XG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5mZWVkU2VydmljZS5nZXRNb3JlRmVlZCg1LCB0aGlzLnBhZ2luYXRlLm5leHRfZG9jdW1lbnQsIHRoaXMuZ2xvYmFsLmxvZ2dlZFVzZXIoKSwgdGhpcy5xdWVyeSwgdGhpcy5maWx0ZXJCeU1lKS5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnW2dldE1vcmVdIEdvdDogJywgcmVzcG9uc2UpO1xuICAgICAgICAgICAgICAgIHJlc3BvbnNlLmRhdGEubWFwKGl0ZW0gPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5wZXJtaXR0ZWQoaXRlbSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZmVlZHMucHVzaChpdGVtKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5wYWdpbmF0ZSA9IHJlc3BvbnNlLnBhZ2luYXRpb247XG4gICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBjaGVja0ZlZWRDaGFuZ2UoKSB7XG4gICAgICAgIC8vIGNvbnN0IGNvbGxlY3Rpb24gPSB0aGlzLmRiLmNvbGxlY3Rpb24ocGF0aCgpLmZlZWQsIHJlZiA9PiB7XG4gICAgICAgIC8vICAgICByZXR1cm4gcmVmLm9yZGVyQnkoJ3VwZGF0ZWRfYXQnLCAnZGVzYycpO1xuICAgICAgICAvLyB9KTtcblxuICAgICAgICAvLyBjb2xsZWN0aW9uLnNuYXBzaG90Q2hhbmdlcygpLnN1YnNjcmliZShyZXNwb25zZSA9PiB7XG4gICAgICAgIC8vICAgICBjb25zb2xlLmxvZyhcIltjaGVja0ZlZWRDaGFuZ2VdXCIscmVzcG9uc2UpO1xuICAgICAgICAvLyAgICAgaWYgKHJlc3BvbnNlKSB7XG4gICAgICAgIC8vICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIC8vICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiW2NoZWNrRmVlZENoYW5nZV1cIilcbiAgICAgICAgLy8gICAgICAgICAgICAgdGhpcy5nZXRGZWVkKHRoaXMuZmVlZElEKTtcbiAgICAgICAgLy8gICAgICAgICB9LCA2MDApO1xuICAgICAgICAvLyAgICAgfVxuICAgICAgICAvLyB9KVxuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpzY3JvbGwnKVxuICAgIGNoZWNrU2Nyb2xsKCkge1xuICAgICAgICBjb25zdCBzY3JvbGxQb3NpdGlvbiA9IHdpbmRvdy5wYWdlWU9mZnNldCB8fCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wIHx8IGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wIHx8IDA7XG4gICAgICAgIGlmIChzY3JvbGxQb3NpdGlvbiA+PSB0aGlzLnRvcFBvc1RvU3RhcnRTaG93aW5nKSB7XG4gICAgICAgICAgICB0aGlzLnNob3dUb1RvcEJ1dHRvbiA9IHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNob3dUb1RvcEJ1dHRvbiA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ290b1RvcCgpIHtcbiAgICAgICAgd2luZG93LnNjcm9sbCh7XG4gICAgICAgICAgICB0b3A6IDAsXG4gICAgICAgICAgICBsZWZ0OiAwLFxuICAgICAgICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHBlcm1pdHRlZChwb3N0KSB7XG4gICAgICAgIGlmIChwb3N0LnBlcm1pc3Npb24pIHtcbiAgICAgICAgICAgIGlmIChwb3N0LnBlcm1pc3Npb24ubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIGxldCByZXN1bHQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBjb25zdCB1c2VyID0gdGhpcy5nbG9iYWwubG9nZ2VkVXNlcigpO1xuICAgICAgICAgICAgICAgIGlmICh1c2VyKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChwb3N0LnVzZXJfaW5mbyAmJiBwb3N0LnVzZXJfaW5mby5pZCA9PSB1c2VyLmlkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKHVzZXIuZXh0cmFzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBleHRyYXMgPSB1c2VyLmV4dHJhc1swXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgcGVybSBvZiBwb3N0LnBlcm1pc3Npb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKHBlcm0uZmllbGQgPT0gJ211bHRpLWNvbnRhJykgJiYgKHBlcm0udmFsdWUgPT0gdXNlci5jbGllbnRfaWQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChleHRyYXNbcGVybS5maWVsZF0gPT0gcGVybS52YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25OZXdGZWVkKGlkKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdbb25OZXdGZWVkXScsIGlkKTtcbiAgICAgICAgdGhpcy5mZWVkU2VydmljZS5nZXRGZWVkKGlkKS5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgICAgIGxldCBpbmRleCA9IHRoaXMuZmVlZHMubGVuZ3RoO1xuXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGZlZWQgb2YgcmVzcG9uc2UuZGF0YSkge1xuICAgICAgICAgICAgICAgIGZlZWQuZm9jdXMgPSB0cnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGZlZWQgb2YgdGhpcy5mZWVkcykge1xuICAgICAgICAgICAgICAgIGZlZWQuZm9jdXMgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLmZlZWRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ1tvbk5ld0ZlZWRdIEZlZWQnLCB0aGlzLmZlZWRzW2ldKTtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuZmVlZHNbaV0uaXNIaWdobGlnaHRlZCkge1xuICAgICAgICAgICAgICAgICAgICBpbmRleCA9IGk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5mZWVkcyA9IFtcbiAgICAgICAgICAgICAgICAuLi4gdGhpcy5mZWVkcy5zbGljZSgwLCBpbmRleCksXG4gICAgICAgICAgICAgICAgLi4uIHJlc3BvbnNlLmRhdGEsXG4gICAgICAgICAgICAgICAgLi4uIHRoaXMuZmVlZHMuc2xpY2UoaW5kZXgpXG4gICAgICAgICAgICBdO1xuXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2ZvY3VzLW9uLW1lJylbMF07XG4gICAgICAgICAgICAgICAgZWwuc2Nyb2xsSW50b1ZpZXcoeyBiZWhhdmlvcjogJ3Ntb290aCcgfSk7XG4gICAgICAgICAgICB9LCA1MDApO1xuXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZW5kVmlzaWJsZShpdGVtKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKFwiW3NlbmRWaXNpYmxlXSBtYXJjYW5kbyBjb21vIHZpc3VhbGl6YWRvXCIsIGl0ZW0pO1xuICAgICAgICBjb25zdCB1c2VyID0gdGhpcy5nbG9iYWwubG9nZ2VkVXNlcigpO1xuXG4gICAgICAgIGxldCBwb3N0RGF0YSA9IHtcbiAgICAgICAgICAgIHBvc3RfaWQ6IGl0ZW0uaWQsXG4gICAgICAgICAgICB0aXRsZTogaXRlbS50aXRsZSxcbiAgICAgICAgICAgIGNyZWF0ZWRfYXQ6IGl0ZW0udXBkYXRlZF9hdFxuICAgICAgICB9O1xuXG4gICAgICAgIGxldCBkYXRhID0ge1xuICAgICAgICAgICAgcG9zdF9pZDogaXRlbS5pZCxcbiAgICAgICAgICAgIGNyZWF0ZWRfYXQ6IERhdGUubm93KCksXG4gICAgICAgICAgICB1cGRhdGVkX2F0OiBEYXRlLm5vdygpLFxuICAgICAgICAgICAgdXNlcl9pbmZvOiB7XG4gICAgICAgICAgICAgICAgaWQ6IHVzZXIuaWQsXG4gICAgICAgICAgICAgICAgdXBkYXRlZF9hdDogRGF0ZS5ub3coKSxcbiAgICAgICAgICAgICAgICBuYW1lOiB1c2VyLm5hbWUsXG4gICAgICAgICAgICAgICAgcGljdHVyZTogdXNlci5waWN0dXJlXG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3QgZG9jdW1lbnRJRCA9IGBmZWVkLXZpZXcvJHtpdGVtLmlkfWA7XG4gICAgICAgIGNvbnN0IGRvY3VtZW50ID0gdGhpcy5kYi5kb2MoZG9jdW1lbnRJRCk7XG4gICAgICAgIGRvY3VtZW50LnNldChwb3N0RGF0YSkudGhlbigocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGRvY3VtZW50SUQgPSBgZmVlZC12aWV3LyR7aXRlbS5pZH0vdmlld3MvJHt1c2VyLmlkfWA7XG4gICAgICAgICAgICBjb25zdCBkb2N1bWVudCA9IHRoaXMuZGIuZG9jKGRvY3VtZW50SUQpO1xuICAgICAgICAgICAgZG9jdW1lbnQuZ2V0KCkuc3Vic2NyaWJlKChkb2MpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIWRvYy5leGlzdHMpIHtcbiAgICAgICAgICAgICAgICAgICAgZG9jLnJlZi5zZXQoZGF0YSkudGhlbigocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiW3NlbmRWaXNpYmxlXSBtYXJjYWRvIGNvbW8gdmlzdWFsaXphZG9cIiwgcmVzcG9uc2UpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiW3NlbmRWaXNpYmxlXSBqw6EgZm9pIG1hcmNhZG8gY29tbyB2aXN1YWxpemFkb1wiLCBkb2MpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5kYi5jb2xsZWN0aW9uKGAke2RvY3VtZW50SUR9L2hpc3RvcnlgKS5hZGQoZGF0YSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHJlbG9hZChmaWx0ZXJCeU1lOiBhbnkpIHtcbiAgICAgICAgdGhpcy5maWx0ZXJCeU1lID0gZmlsdGVyQnlNZTtcbiAgICAgICAgdGhpcy5nZXRGZWVkKCk7XG4gICAgfVxuXG59XG4iXX0=