stream-chat-angular 5.0.0 → 5.1.0

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.
@@ -28,7 +28,7 @@ export class MessageActionsService {
28
28
  actionHandler: (message) => {
29
29
  void this.channelService.markMessageUnread(message.id);
30
30
  },
31
- isVisible: (enabledActions, isMine, message) => enabledActions.indexOf('read-events') !== -1 && !message.parent_id,
31
+ isVisible: (enabledActions, _, message) => enabledActions.indexOf('read-events') !== -1 && !message.parent_id,
32
32
  },
33
33
  {
34
34
  actionName: 'quote',
@@ -44,7 +44,7 @@ export class MessageActionsService {
44
44
  actionHandler: (message) => {
45
45
  void this.channelService.setAsActiveParentMessage(message);
46
46
  },
47
- isVisible: (enabledActions, isMine, message) => enabledActions.indexOf('send-reply') !== -1 && !message.parent_id,
47
+ isVisible: (enabledActions, _, message) => enabledActions.indexOf('send-reply') !== -1 && !message.parent_id,
48
48
  },
49
49
  {
50
50
  actionName: 'pin',
@@ -65,7 +65,7 @@ export class MessageActionsService {
65
65
  await this.chatClientService.flagMessage(message.id);
66
66
  this.notificationService.addTemporaryNotification('streamChat.Message has been successfully flagged', 'success');
67
67
  }
68
- catch (err) {
68
+ catch (error) {
69
69
  this.notificationService.addTemporaryNotification('streamChat.Error adding flag');
70
70
  }
71
71
  },
@@ -180,4 +180,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
180
180
  providedIn: 'root',
181
181
  }]
182
182
  }], ctorParameters: function () { return [{ type: i1.ChatClientService }, { type: i2.NotificationService }, { type: i3.ChannelService }]; } });
183
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1hY3Rpb25zLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9zdHJlYW0tY2hhdC1hbmd1bGFyL3NyYy9saWIvbWVzc2FnZS1hY3Rpb25zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7QUFjdEQ7O0dBRUc7QUFJSCxNQUFNLE9BQU8scUJBQXFCO0lBeUtoQyxZQUNVLGlCQUFvQyxFQUNwQyxtQkFBd0MsRUFDeEMsY0FBOEI7UUFGOUIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQXpLeEM7O1dBRUc7UUFDTSxtQkFBYyxHQUdqQjtZQUNKO2dCQUNFLFVBQVUsRUFBRSxPQUFPO2dCQUNuQixTQUFTLEVBQUUsQ0FBQyxjQUF3QixFQUFFLEVBQUU7b0JBQ3RDLE9BQU8sY0FBYyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztnQkFDeEQsQ0FBQzthQUNGO1lBQ0Q7Z0JBQ0UsVUFBVSxFQUFFLGFBQWE7Z0JBQ3pCLDJCQUEyQixFQUFFLDJCQUEyQjtnQkFDeEQsYUFBYSxFQUFFLENBQUMsT0FBeUIsRUFBRSxFQUFFO29CQUMzQyxLQUFLLElBQUksQ0FBQyxjQUFjLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUN6RCxDQUFDO2dCQUNELFNBQVMsRUFBRSxDQUNULGNBQXdCLEVBQ3hCLE1BQWUsRUFDZixPQUF5QixFQUN6QixFQUFFLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsSUFB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RCxDQUFDLE1BQU0sQ0FBQztJQUNYLENBQUM7O2tIQXpOVSxxQkFBcUI7c0hBQXJCLHFCQUFxQixjQUZwQixNQUFNOzJGQUVQLHFCQUFxQjtrQkFIakMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIEN1c3RvbU1lc3NhZ2VBY3Rpb25JdGVtLFxuICBEZWZhdWx0U3RyZWFtQ2hhdEdlbmVyaWNzLFxuICBNZXNzYWdlQWN0aW9uSGFuZGxlckV4dHJhUGFyYW1zLFxuICBNZXNzYWdlQWN0aW9uSXRlbSxcbiAgTWVzc2FnZUFjdGlvbnNDbGlja0RldGFpbHMsXG4gIE1lc3NhZ2VSZWFjdGlvbkFjdGlvbkl0ZW0sXG4gIFN0cmVhbU1lc3NhZ2UsXG59IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgQ2hhdENsaWVudFNlcnZpY2UgfSBmcm9tICcuL2NoYXQtY2xpZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJy4vbm90aWZpY2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2hhbm5lbFNlcnZpY2UgfSBmcm9tICcuL2NoYW5uZWwuc2VydmljZSc7XG5cbi8qKlxuICogVGhlIG1lc3NhZ2UgYWN0aW9ucyBzZXJ2aWNlIHByb3ZpZGVzIGN1c3RvbWl6YXRpb24gb3B0aW9ucyBmb3IgdGhlIFttZXNzYWdlIGFjdGlvbnNdKC4uLy4uL2NvbXBvbmVudHMvTWVzc2FnZUFjdGlvbnNCb3hDb21wb25lbnQpXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBNZXNzYWdlQWN0aW9uc1NlcnZpY2U8XG4gIFQgZXh0ZW5kcyBEZWZhdWx0U3RyZWFtQ2hhdEdlbmVyaWNzID0gRGVmYXVsdFN0cmVhbUNoYXRHZW5lcmljc1xuPiB7XG4gIC8qKlxuICAgKiBEZWZhdWx0IGFjdGlvbnMgLSB0aGVzZSBhcmUgdGhlIGFjdGlvbnMgdGhhdCBhcmUgaGFuZGxlZCBieSB0aGUgYnVpbHQtaW4gY29tcG9uZW50XG4gICAqL1xuICByZWFkb25seSBkZWZhdWx0QWN0aW9uczogKFxuICAgIHwgTWVzc2FnZUFjdGlvbkl0ZW08VD5cbiAgICB8IE1lc3NhZ2VSZWFjdGlvbkFjdGlvbkl0ZW08VD5cbiAgKVtdID0gW1xuICAgIHtcbiAgICAgIGFjdGlvbk5hbWU6ICdyZWFjdCcsXG4gICAgICBpc1Zpc2libGU6IChlbmFibGVkQWN0aW9uczogc3RyaW5nW10pID0+IHtcbiAgICAgICAgcmV0dXJuIGVuYWJsZWRBY3Rpb25zLmluZGV4T2YoJ3NlbmQtcmVhY3Rpb24nKSAhPT0gLTE7XG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgYWN0aW9uTmFtZTogJ21hcmstdW5yZWFkJyxcbiAgICAgIGFjdGlvbkxhYmVsT3JUcmFuc2xhdGlvbktleTogJ3N0cmVhbUNoYXQuTWFyayBhcyB1bnJlYWQnLFxuICAgICAgYWN0aW9uSGFuZGxlcjogKG1lc3NhZ2U6IFN0cmVhbU1lc3NhZ2U8VD4pID0+IHtcbiAgICAgICAgdm9pZCB0aGlzLmNoYW5uZWxTZXJ2aWNlLm1hcmtNZXNzYWdlVW5yZWFkKG1lc3NhZ2UuaWQpO1xuICAgICAgfSxcbiAgICAgIGlzVmlzaWJsZTogKFxuICAgICAgICBlbmFibGVkQWN0aW9uczogc3RyaW5nW10sXG4gICAgICAgIGlzTWluZTogYm9vbGVhbixcbiAgICAgICAgbWVzc2FnZTogU3RyZWFtTWVzc2FnZTxUPlxuICAgICAgKSA9PiBlbmFibGVkQWN0aW9ucy5pbmRleE9mKCdyZWFkLWV2ZW50cycpICE9PSAtMSAmJiAhbWVzc2FnZS5wYXJlbnRfaWQsXG4gICAgfSxcbiAgICB7XG4gICAgICBhY3Rpb25OYW1lOiAncXVvdGUnLFxuICAgICAgYWN0aW9uTGFiZWxPclRyYW5zbGF0aW9uS2V5OiAnc3RyZWFtQ2hhdC5SZXBseScsXG4gICAgICBhY3Rpb25IYW5kbGVyOiAobWVzc2FnZTogU3RyZWFtTWVzc2FnZTxUPikgPT4ge1xuICAgICAgICB0aGlzLmNoYW5uZWxTZXJ2aWNlLnNlbGVjdE1lc3NhZ2VUb1F1b3RlKG1lc3NhZ2UpO1xuICAgICAgfSxcbiAgICAgIGlzVmlzaWJsZTogKGVuYWJsZWRBY3Rpb25zOiBzdHJpbmdbXSkgPT5cbiAgICAgICAgZW5hYmxlZEFjdGlvbnMuaW5kZXhPZigncXVvdGUtbWVzc2FnZScpICE9PSAtMSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGFjdGlvbk5hbWU6ICd0aHJlYWQtcmVwbHknLFxuICAgICAgYWN0aW9uTGFiZWxPclRyYW5zbGF0aW9uS2V5OiAnc3RyZWFtQ2hhdC5UaHJlYWQnLFxuICAgICAgYWN0aW9uSGFuZGxlcjogKG1lc3NhZ2U6IFN0cmVhbU1lc3NhZ2U8VD4pID0+IHtcbiAgICAgICAgdm9pZCB0aGlzLmNoYW5uZWxTZXJ2aWNlLnNldEFzQWN0aXZlUGFyZW50TWVzc2FnZShtZXNzYWdlKTtcbiAgICAgIH0sXG4gICAgICBpc1Zpc2libGU6IChcbiAgICAgICAgZW5hYmxlZEFjdGlvbnM6IHN0cmluZ1tdLFxuICAgICAgICBpc01pbmU6IGJvb2xlYW4sXG4gICAgICAgIG1lc3NhZ2U6IFN0cmVhbU1lc3NhZ2U8VD5cbiAgICAgICkgPT4gZW5hYmxlZEFjdGlvbnMuaW5kZXhPZignc2VuZC1yZXBseScpICE9PSAtMSAmJiAhbWVzc2FnZS5wYXJlbnRfaWQsXG4gICAgfSxcbiAgICB7XG4gICAgICBhY3Rpb25OYW1lOiAncGluJyxcbiAgICAgIGFjdGlvbkxhYmVsT3JUcmFuc2xhdGlvbktleTogKG1lc3NhZ2U6IFN0cmVhbU1lc3NhZ2U8VD4pID0+XG4gICAgICAgIG1lc3NhZ2UucGlubmVkID8gJ3N0cmVhbUNoYXQuVW5waW4nIDogJ3N0cmVhbUNoYXQuUGluJyxcbiAgICAgIGFjdGlvbkhhbmRsZXI6IChtZXNzYWdlOiBTdHJlYW1NZXNzYWdlPFQ+KSA9PiB7XG4gICAgICAgIG1lc3NhZ2UucGlubmVkXG4gICAgICAgICAgPyB2b2lkIHRoaXMuY2hhbm5lbFNlcnZpY2UudW5waW5NZXNzYWdlKG1lc3NhZ2UpXG4gICAgICAgICAgOiB2b2lkIHRoaXMuY2hhbm5lbFNlcnZpY2UucGluTWVzc2FnZShtZXNzYWdlKTtcbiAgICAgIH0sXG4gICAgICBpc1Zpc2libGU6IChlbmFibGVkQWN0aW9uczogc3RyaW5nW10pID0+XG4gICAgICAgIGVuYWJsZWRBY3Rpb25zLmluZGV4T2YoJ3Bpbi1tZXNzYWdlJykgIT09IC0xLFxuICAgIH0sXG4gICAge1xuICAgICAgYWN0aW9uTmFtZTogJ2ZsYWcnLFxuICAgICAgYWN0aW9uTGFiZWxPclRyYW5zbGF0aW9uS2V5OiAnc3RyZWFtQ2hhdC5GbGFnJyxcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbWlzdXNlZC1wcm9taXNlc1xuICAgICAgYWN0aW9uSGFuZGxlcjogYXN5bmMgKG1lc3NhZ2U6IFN0cmVhbU1lc3NhZ2U8VD4pID0+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBhd2FpdCB0aGlzLmNoYXRDbGllbnRTZXJ2aWNlLmZsYWdNZXNzYWdlKG1lc3NhZ2UuaWQpO1xuICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS5hZGRUZW1wb3JhcnlOb3RpZmljYXRpb24oXG4gICAgICAgICAgICAnc3RyZWFtQ2hhdC5NZXNzYWdlIGhhcyBiZWVuIHN1Y2Nlc3NmdWxseSBmbGFnZ2VkJyxcbiAgICAgICAgICAgICdzdWNjZXNzJ1xuICAgICAgICAgICk7XG4gICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS5hZGRUZW1wb3JhcnlOb3RpZmljYXRpb24oXG4gICAgICAgICAgICAnc3RyZWFtQ2hhdC5FcnJvciBhZGRpbmcgZmxhZydcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgaXNWaXNpYmxlOiAoZW5hYmxlZEFjdGlvbnM6IHN0cmluZ1tdLCBpc01pbmU6IGJvb2xlYW4pID0+XG4gICAgICAgIGVuYWJsZWRBY3Rpb25zLmluZGV4T2YoJ2ZsYWctbWVzc2FnZScpICE9PSAtMSAmJiAhaXNNaW5lLFxuICAgIH0sXG4gICAge1xuICAgICAgYWN0aW9uTmFtZTogJ2VkaXQnLFxuICAgICAgYWN0aW9uTGFiZWxPclRyYW5zbGF0aW9uS2V5OiAnc3RyZWFtQ2hhdC5FZGl0IE1lc3NhZ2UnLFxuICAgICAgYWN0aW9uSGFuZGxlcjogKG1lc3NhZ2U6IFN0cmVhbU1lc3NhZ2U8VD4pID0+IHtcbiAgICAgICAgdGhpcy5tZXNzYWdlVG9FZGl0JC5uZXh0KG1lc3NhZ2UpO1xuICAgICAgfSxcbiAgICAgIGlzVmlzaWJsZTogKGVuYWJsZWRBY3Rpb25zOiBzdHJpbmdbXSwgaXNNaW5lOiBib29sZWFuKSA9PlxuICAgICAgICAoZW5hYmxlZEFjdGlvbnMuaW5kZXhPZigndXBkYXRlLW93bi1tZXNzYWdlJykgIT09IC0xICYmIGlzTWluZSkgfHxcbiAgICAgICAgZW5hYmxlZEFjdGlvbnMuaW5kZXhPZigndXBkYXRlLWFueS1tZXNzYWdlJykgIT09IC0xLFxuICAgIH0sXG4gICAge1xuICAgICAgYWN0aW9uTmFtZTogJ2RlbGV0ZScsXG4gICAgICBhY3Rpb25MYWJlbE9yVHJhbnNsYXRpb25LZXk6ICdzdHJlYW1DaGF0LkRlbGV0ZScsXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLW1pc3VzZWQtcHJvbWlzZXNcbiAgICAgIGFjdGlvbkhhbmRsZXI6IGFzeW5jIChtZXNzYWdlOiBTdHJlYW1NZXNzYWdlPFQ+KSA9PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgYXdhaXQgdGhpcy5jaGFubmVsU2VydmljZS5kZWxldGVNZXNzYWdlKG1lc3NhZ2UpO1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS5hZGRUZW1wb3JhcnlOb3RpZmljYXRpb24oXG4gICAgICAgICAgICAnc3RyZWFtQ2hhdC5FcnJvciBkZWxldGluZyBtZXNzYWdlJ1xuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBpc1Zpc2libGU6IChlbmFibGVkQWN0aW9uczogc3RyaW5nW10sIGlzTWluZTogYm9vbGVhbikgPT5cbiAgICAgICAgKChlbmFibGVkQWN0aW9ucy5pbmRleE9mKCdkZWxldGUnKSAhPT0gLTEgfHxcbiAgICAgICAgICBlbmFibGVkQWN0aW9ucy5pbmRleE9mKCdkZWxldGUtb3duLW1lc3NhZ2UnKSAhPT0gLTEpICYmXG4gICAgICAgICAgaXNNaW5lKSB8fFxuICAgICAgICBlbmFibGVkQWN0aW9ucy5pbmRleE9mKCdkZWxldGUtYW55JykgIT09IC0xIHx8XG4gICAgICAgIGVuYWJsZWRBY3Rpb25zLmluZGV4T2YoJ2RlbGV0ZS1hbnktbWVzc2FnZScpICE9PSAtMSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGFjdGlvbk5hbWU6ICdjb3B5LW1lc3NhZ2UtdGV4dCcsXG4gICAgICBhY3Rpb25MYWJlbE9yVHJhbnNsYXRpb25LZXk6ICdzdHJlYW1DaGF0LkNvcHkgdGV4dCcsXG4gICAgICBpc1Zpc2libGU6IChfOiBzdHJpbmdbXSwgX186IGJvb2xlYW4sIG1lc3NhZ2U6IFN0cmVhbU1lc3NhZ2U8VD4pID0+IHtcbiAgICAgICAgY29uc3QgaXNDbGlwYm9hcmRTdXBwb3J0ZWQgPSBuYXZpZ2F0b3I/LmNsaXBib2FyZD8ud3JpdGUgIT09IHVuZGVmaW5lZDtcbiAgICAgICAgaWYgKCFpc0NsaXBib2FyZFN1cHBvcnRlZCAmJiAhdGhpcy5oYXNEaXNwbGF5ZWRDbGlwYm9hcmRXYXJuaW5nKSB7XG4gICAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgICAgYFtTdHJlYW0gQ2hhdF0gQ29weSBhY3Rpb24gaXMgZGlzYWJsZWQgYmVjYXVzZSBjbGlwYm9hcmQgQVBJIGlzbid0IGF2YWlsYWJsZSwgcGxlYXNlIGNoZWNrIHNlY3VyaXR5IGFuZCBicm93c2VyIHJlcXVpcmVtZW50czogaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL0NsaXBib2FyZC93cml0ZSNzZWN1cml0eV9jb25zaWRlcmF0aW9uc2BcbiAgICAgICAgICApO1xuICAgICAgICAgIHRoaXMuaGFzRGlzcGxheWVkQ2xpcGJvYXJkV2FybmluZyA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAhIW1lc3NhZ2UudGV4dCAmJlxuICAgICAgICAgIChtZXNzYWdlLnR5cGUgPT09ICdyZWd1bGFyJyB8fCBtZXNzYWdlLnR5cGUgPT09ICdyZXBseScpICYmXG4gICAgICAgICAgaXNDbGlwYm9hcmRTdXBwb3J0ZWRcbiAgICAgICAgKTtcbiAgICAgIH0sXG4gICAgICBhY3Rpb25IYW5kbGVyOiAoXG4gICAgICAgIG1lc3NhZ2U6IFN0cmVhbU1lc3NhZ2U8VD4sXG4gICAgICAgIGV4dHJhUGFyYW1zOiBNZXNzYWdlQWN0aW9uSGFuZGxlckV4dHJhUGFyYW1zXG4gICAgICApID0+IHtcbiAgICAgICAgY29uc3QgZmFsbGJhY2tDb250ZW50ID0gbWVzc2FnZS50ZXh0IHx8ICcnO1xuICAgICAgICAvLyBBbmRyb2lkIENocm9tZSBjYW4gb25seSBjb3B5IHBsYWluIHRleHQ6IGh0dHBzOi8vaXNzdWVzLmNocm9taXVtLm9yZy9pc3N1ZXMvNDA4NTE1MDJcbiAgICAgICAgdm9pZCBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlKFtcbiAgICAgICAgICBuZXcgQ2xpcGJvYXJkSXRlbSh7XG4gICAgICAgICAgICAndGV4dC9wbGFpbic6IG5ldyBCbG9iKFxuICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgZXh0cmFQYXJhbXMubWVzc2FnZVRleHRIdG1sRWxlbWVudD8uaW5uZXJUZXh0IHx8XG4gICAgICAgICAgICAgICAgICBmYWxsYmFja0NvbnRlbnQsXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIHsgdHlwZTogJ3RleHQvcGxhaW4nIH1cbiAgICAgICAgICAgICksXG4gICAgICAgICAgICAndGV4dC9odG1sJzogbmV3IEJsb2IoXG4gICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICBleHRyYVBhcmFtcy5tZXNzYWdlVGV4dEh0bWxFbGVtZW50Py5pbm5lckhUTUwgfHxcbiAgICAgICAgICAgICAgICAgIGZhbGxiYWNrQ29udGVudCxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgeyB0eXBlOiAndGV4dC9odG1sJyB9XG4gICAgICAgICAgICApLFxuICAgICAgICAgIH0pLFxuICAgICAgICBdKTtcbiAgICAgIH0sXG4gICAgfSxcbiAgXTtcbiAgLyoqXG4gICAqIFRoZSBidWlsdC1pbiBjb21wb25lbnRzIHdpbGwgaGFuZGxlIGNoYW5nZXMgdG8gdGhpcyBvYnNlcnZhYmxlLlxuICAgKi9cbiAgbWVzc2FnZVRvRWRpdCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFN0cmVhbU1lc3NhZ2U8VD4gfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIC8qKlxuICAgKiBZb3UgY2FuIHBhc3MgeW91ciBvd24gY3VzdG9tIGFjdGlvbnMgdGhhdCB3aWxsIGJlIGRpc3BsYXllZCBpbnNpZGUgdGhlIGJ1aWx0LWluIG1lc3NhZ2UgYWN0aW9ucyBjb21wb25lbnRcbiAgICovXG4gIGN1c3RvbUFjdGlvbnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxDdXN0b21NZXNzYWdlQWN0aW9uSXRlbVtdPihbXSk7XG4gIC8qKlxuICAgKiBCeSBkZWZhdWx0IHRoZSBbYE1lc3NhZ2VDb21wb25lbnRgXSguLi8uLi9jb21wb25lbnRzL01lc3NhZ2VDb21wb25lbnQpIHdpbGwgZGlzcGxheSB0aGUgW2BNZXNzYWdlQWN0aW9uc0JveENvbXBvbmVudGBdKC4uLy4uL2NvbXBvbmVudHMvTWVzc2FnZUFjdGlvbnNCb3hDb21wb25lbnQpLiBZb3UgY2FuIG92ZXJyaWRlIHRoYXQgYmVoYXZpb3IgYnkgcHJvdmlkaW5nIHlvdXIgb3duIGV2ZW50IGhhbmRsZXIuXG4gICAqL1xuICBjdXN0b21BY3Rpb25DbGlja0hhbmRsZXI/OiAoZGV0YWlsczogTWVzc2FnZUFjdGlvbnNDbGlja0RldGFpbHM8VD4pID0+IHZvaWQ7XG4gIHByaXZhdGUgaGFzRGlzcGxheWVkQ2xpcGJvYXJkV2FybmluZyA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY2hhdENsaWVudFNlcnZpY2U6IENoYXRDbGllbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgbm90aWZpY2F0aW9uU2VydmljZTogTm90aWZpY2F0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIGNoYW5uZWxTZXJ2aWNlOiBDaGFubmVsU2VydmljZVxuICApIHtcbiAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMubWVzc2FnZVRvRWRpdCQsXG4gICAgICB0aGlzLmNoYW5uZWxTZXJ2aWNlLmFjdGl2ZUNoYW5uZWwkLFxuICAgIF0pLnN1YnNjcmliZSgoW21lc3NhZ2VUb0VkaXQsIGFjdGl2ZUNoYW5uZWxdKSA9PiB7XG4gICAgICBpZiAoXG4gICAgICAgIG1lc3NhZ2VUb0VkaXQgJiZcbiAgICAgICAgKCFhY3RpdmVDaGFubmVsIHx8IGFjdGl2ZUNoYW5uZWw/LmNpZCAhPT0gbWVzc2FnZVRvRWRpdC5jaWQpXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5tZXNzYWdlVG9FZGl0JC5uZXh0KHVuZGVmaW5lZCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLm1lc3NhZ2VUb0VkaXQkLFxuICAgICAgdGhpcy5jaGFubmVsU2VydmljZS5hY3RpdmVQYXJlbnRNZXNzYWdlSWQkLFxuICAgIF0pLnN1YnNjcmliZSgoW21lc3NhZ2VUb0VkaXQsIHBhcmVudE1lc3NhZ2VJZF0pID0+IHtcbiAgICAgIGlmIChcbiAgICAgICAgbWVzc2FnZVRvRWRpdCAmJlxuICAgICAgICBtZXNzYWdlVG9FZGl0LnBhcmVudF9pZCAmJlxuICAgICAgICBtZXNzYWdlVG9FZGl0LnBhcmVudF9pZCAhPT0gcGFyZW50TWVzc2FnZUlkXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5tZXNzYWdlVG9FZGl0JC5uZXh0KHVuZGVmaW5lZCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogVGhpcyBtZXRob2QgcmV0dXJucyBob3cgbWFueSBhdXRob3JpemVkIGFjdGlvbnMgYXJlIGF2YWlsYWJsZSB0byB0aGUgZ2l2ZW4gbWVzc2FnZVxuICAgKiBAcGFyYW0gbWVzc2FnZVxuICAgKiBAcGFyYW0gZW5hYmxlZEFjdGlvbnNcbiAgICogQHJldHVybnMgdGhlIGNvdW50XG4gICAqL1xuICBnZXRBdXRob3JpemVkTWVzc2FnZUFjdGlvbnNDb3VudChcbiAgICBtZXNzYWdlOiBTdHJlYW1NZXNzYWdlPFQ+LFxuICAgIGVuYWJsZWRBY3Rpb25zOiBzdHJpbmdbXVxuICApIHtcbiAgICBjb25zdCBjdXN0b21BY3Rpb25zID0gdGhpcy5jdXN0b21BY3Rpb25zJC5nZXRWYWx1ZSgpIHx8IFtdO1xuICAgIGNvbnN0IGFsbEFjdGlvbnMgPSBbLi4udGhpcy5kZWZhdWx0QWN0aW9ucywgLi4uY3VzdG9tQWN0aW9uc107XG4gICAgY29uc3QgY3VycmVudFVzZXJJZCA9IHRoaXMuY2hhdENsaWVudFNlcnZpY2UuY2hhdENsaWVudC51c2VyPy5pZDtcbiAgICBjb25zdCBpc01pbmUgPSBtZXNzYWdlLnVzZXJfaWQgPT09IGN1cnJlbnRVc2VySWQ7XG5cbiAgICByZXR1cm4gYWxsQWN0aW9ucy5maWx0ZXIoKGl0ZW0pID0+XG4gICAgICBpdGVtLmlzVmlzaWJsZShlbmFibGVkQWN0aW9ucywgaXNNaW5lLCBtZXNzYWdlKVxuICAgICkubGVuZ3RoO1xuICB9XG59XG4iXX0=
183
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1hY3Rpb25zLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9zdHJlYW0tY2hhdC1hbmd1bGFyL3NyYy9saWIvbWVzc2FnZS1hY3Rpb25zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7QUFjdEQ7O0dBRUc7QUFJSCxNQUFNLE9BQU8scUJBQXFCO0lBeUtoQyxZQUNVLGlCQUFvQyxFQUNwQyxtQkFBd0MsRUFDeEMsY0FBOEI7UUFGOUIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQXpLeEM7O1dBRUc7UUFDTSxtQkFBYyxHQUdqQjtZQUNKO2dCQUNFLFVBQVUsRUFBRSxPQUFPO2dCQUNuQixTQUFTLEVBQUUsQ0FBQyxjQUF3QixFQUFFLEVBQUU7b0JBQ3RDLE9BQU8sY0FBYyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztnQkFDeEQsQ0FBQzthQUNGO1lBQ0Q7Z0JBQ0UsVUFBVSxFQUFFLGFBQWE7Z0JBQ3pCLDJCQUEyQixFQUFFLDJCQUEyQjtnQkFDeEQsYUFBYSxFQUFFLENBQUMsT0FBeUIsRUFBRSxFQUFFO29CQUMzQyxLQUFLLElBQUksQ0FBQyxjQUFjLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUN6RCxDQUFDO2dCQUNELFNBQVMsRUFBRSxDQUNULGNBQXdCLEVBQ3hCLENBQVUsRUFDVixPQUF5QixFQUN6QixFQUFFLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsSUFB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RCxDQUFDLE1BQU0sQ0FBQztJQUNYLENBQUM7O2tIQXpOVSxxQkFBcUI7c0hBQXJCLHFCQUFxQixjQUZwQixNQUFNOzJGQUVQLHFCQUFxQjtrQkFIakMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIEN1c3RvbU1lc3NhZ2VBY3Rpb25JdGVtLFxuICBEZWZhdWx0U3RyZWFtQ2hhdEdlbmVyaWNzLFxuICBNZXNzYWdlQWN0aW9uSGFuZGxlckV4dHJhUGFyYW1zLFxuICBNZXNzYWdlQWN0aW9uSXRlbSxcbiAgTWVzc2FnZUFjdGlvbnNDbGlja0RldGFpbHMsXG4gIE1lc3NhZ2VSZWFjdGlvbkFjdGlvbkl0ZW0sXG4gIFN0cmVhbU1lc3NhZ2UsXG59IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgQ2hhdENsaWVudFNlcnZpY2UgfSBmcm9tICcuL2NoYXQtY2xpZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJy4vbm90aWZpY2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2hhbm5lbFNlcnZpY2UgfSBmcm9tICcuL2NoYW5uZWwuc2VydmljZSc7XG5cbi8qKlxuICogVGhlIG1lc3NhZ2UgYWN0aW9ucyBzZXJ2aWNlIHByb3ZpZGVzIGN1c3RvbWl6YXRpb24gb3B0aW9ucyBmb3IgdGhlIFttZXNzYWdlIGFjdGlvbnNdKC4uLy4uL2NvbXBvbmVudHMvTWVzc2FnZUFjdGlvbnNCb3hDb21wb25lbnQpXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBNZXNzYWdlQWN0aW9uc1NlcnZpY2U8XG4gIFQgZXh0ZW5kcyBEZWZhdWx0U3RyZWFtQ2hhdEdlbmVyaWNzID0gRGVmYXVsdFN0cmVhbUNoYXRHZW5lcmljc1xuPiB7XG4gIC8qKlxuICAgKiBEZWZhdWx0IGFjdGlvbnMgLSB0aGVzZSBhcmUgdGhlIGFjdGlvbnMgdGhhdCBhcmUgaGFuZGxlZCBieSB0aGUgYnVpbHQtaW4gY29tcG9uZW50XG4gICAqL1xuICByZWFkb25seSBkZWZhdWx0QWN0aW9uczogKFxuICAgIHwgTWVzc2FnZUFjdGlvbkl0ZW08VD5cbiAgICB8IE1lc3NhZ2VSZWFjdGlvbkFjdGlvbkl0ZW08VD5cbiAgKVtdID0gW1xuICAgIHtcbiAgICAgIGFjdGlvbk5hbWU6ICdyZWFjdCcsXG4gICAgICBpc1Zpc2libGU6IChlbmFibGVkQWN0aW9uczogc3RyaW5nW10pID0+IHtcbiAgICAgICAgcmV0dXJuIGVuYWJsZWRBY3Rpb25zLmluZGV4T2YoJ3NlbmQtcmVhY3Rpb24nKSAhPT0gLTE7XG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgYWN0aW9uTmFtZTogJ21hcmstdW5yZWFkJyxcbiAgICAgIGFjdGlvbkxhYmVsT3JUcmFuc2xhdGlvbktleTogJ3N0cmVhbUNoYXQuTWFyayBhcyB1bnJlYWQnLFxuICAgICAgYWN0aW9uSGFuZGxlcjogKG1lc3NhZ2U6IFN0cmVhbU1lc3NhZ2U8VD4pID0+IHtcbiAgICAgICAgdm9pZCB0aGlzLmNoYW5uZWxTZXJ2aWNlLm1hcmtNZXNzYWdlVW5yZWFkKG1lc3NhZ2UuaWQpO1xuICAgICAgfSxcbiAgICAgIGlzVmlzaWJsZTogKFxuICAgICAgICBlbmFibGVkQWN0aW9uczogc3RyaW5nW10sXG4gICAgICAgIF86IGJvb2xlYW4sXG4gICAgICAgIG1lc3NhZ2U6IFN0cmVhbU1lc3NhZ2U8VD5cbiAgICAgICkgPT4gZW5hYmxlZEFjdGlvbnMuaW5kZXhPZigncmVhZC1ldmVudHMnKSAhPT0gLTEgJiYgIW1lc3NhZ2UucGFyZW50X2lkLFxuICAgIH0sXG4gICAge1xuICAgICAgYWN0aW9uTmFtZTogJ3F1b3RlJyxcbiAgICAgIGFjdGlvbkxhYmVsT3JUcmFuc2xhdGlvbktleTogJ3N0cmVhbUNoYXQuUmVwbHknLFxuICAgICAgYWN0aW9uSGFuZGxlcjogKG1lc3NhZ2U6IFN0cmVhbU1lc3NhZ2U8VD4pID0+IHtcbiAgICAgICAgdGhpcy5jaGFubmVsU2VydmljZS5zZWxlY3RNZXNzYWdlVG9RdW90ZShtZXNzYWdlKTtcbiAgICAgIH0sXG4gICAgICBpc1Zpc2libGU6IChlbmFibGVkQWN0aW9uczogc3RyaW5nW10pID0+XG4gICAgICAgIGVuYWJsZWRBY3Rpb25zLmluZGV4T2YoJ3F1b3RlLW1lc3NhZ2UnKSAhPT0gLTEsXG4gICAgfSxcbiAgICB7XG4gICAgICBhY3Rpb25OYW1lOiAndGhyZWFkLXJlcGx5JyxcbiAgICAgIGFjdGlvbkxhYmVsT3JUcmFuc2xhdGlvbktleTogJ3N0cmVhbUNoYXQuVGhyZWFkJyxcbiAgICAgIGFjdGlvbkhhbmRsZXI6IChtZXNzYWdlOiBTdHJlYW1NZXNzYWdlPFQ+KSA9PiB7XG4gICAgICAgIHZvaWQgdGhpcy5jaGFubmVsU2VydmljZS5zZXRBc0FjdGl2ZVBhcmVudE1lc3NhZ2UobWVzc2FnZSk7XG4gICAgICB9LFxuICAgICAgaXNWaXNpYmxlOiAoXG4gICAgICAgIGVuYWJsZWRBY3Rpb25zOiBzdHJpbmdbXSxcbiAgICAgICAgXzogYm9vbGVhbixcbiAgICAgICAgbWVzc2FnZTogU3RyZWFtTWVzc2FnZTxUPlxuICAgICAgKSA9PiBlbmFibGVkQWN0aW9ucy5pbmRleE9mKCdzZW5kLXJlcGx5JykgIT09IC0xICYmICFtZXNzYWdlLnBhcmVudF9pZCxcbiAgICB9LFxuICAgIHtcbiAgICAgIGFjdGlvbk5hbWU6ICdwaW4nLFxuICAgICAgYWN0aW9uTGFiZWxPclRyYW5zbGF0aW9uS2V5OiAobWVzc2FnZTogU3RyZWFtTWVzc2FnZTxUPikgPT5cbiAgICAgICAgbWVzc2FnZS5waW5uZWQgPyAnc3RyZWFtQ2hhdC5VbnBpbicgOiAnc3RyZWFtQ2hhdC5QaW4nLFxuICAgICAgYWN0aW9uSGFuZGxlcjogKG1lc3NhZ2U6IFN0cmVhbU1lc3NhZ2U8VD4pID0+IHtcbiAgICAgICAgbWVzc2FnZS5waW5uZWRcbiAgICAgICAgICA/IHZvaWQgdGhpcy5jaGFubmVsU2VydmljZS51bnBpbk1lc3NhZ2UobWVzc2FnZSlcbiAgICAgICAgICA6IHZvaWQgdGhpcy5jaGFubmVsU2VydmljZS5waW5NZXNzYWdlKG1lc3NhZ2UpO1xuICAgICAgfSxcbiAgICAgIGlzVmlzaWJsZTogKGVuYWJsZWRBY3Rpb25zOiBzdHJpbmdbXSkgPT5cbiAgICAgICAgZW5hYmxlZEFjdGlvbnMuaW5kZXhPZigncGluLW1lc3NhZ2UnKSAhPT0gLTEsXG4gICAgfSxcbiAgICB7XG4gICAgICBhY3Rpb25OYW1lOiAnZmxhZycsXG4gICAgICBhY3Rpb25MYWJlbE9yVHJhbnNsYXRpb25LZXk6ICdzdHJlYW1DaGF0LkZsYWcnLFxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1taXN1c2VkLXByb21pc2VzXG4gICAgICBhY3Rpb25IYW5kbGVyOiBhc3luYyAobWVzc2FnZTogU3RyZWFtTWVzc2FnZTxUPikgPT4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGF3YWl0IHRoaXMuY2hhdENsaWVudFNlcnZpY2UuZmxhZ01lc3NhZ2UobWVzc2FnZS5pZCk7XG4gICAgICAgICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLmFkZFRlbXBvcmFyeU5vdGlmaWNhdGlvbihcbiAgICAgICAgICAgICdzdHJlYW1DaGF0Lk1lc3NhZ2UgaGFzIGJlZW4gc3VjY2Vzc2Z1bGx5IGZsYWdnZWQnLFxuICAgICAgICAgICAgJ3N1Y2Nlc3MnXG4gICAgICAgICAgKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UuYWRkVGVtcG9yYXJ5Tm90aWZpY2F0aW9uKFxuICAgICAgICAgICAgJ3N0cmVhbUNoYXQuRXJyb3IgYWRkaW5nIGZsYWcnXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIGlzVmlzaWJsZTogKGVuYWJsZWRBY3Rpb25zOiBzdHJpbmdbXSwgaXNNaW5lOiBib29sZWFuKSA9PlxuICAgICAgICBlbmFibGVkQWN0aW9ucy5pbmRleE9mKCdmbGFnLW1lc3NhZ2UnKSAhPT0gLTEgJiYgIWlzTWluZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGFjdGlvbk5hbWU6ICdlZGl0JyxcbiAgICAgIGFjdGlvbkxhYmVsT3JUcmFuc2xhdGlvbktleTogJ3N0cmVhbUNoYXQuRWRpdCBNZXNzYWdlJyxcbiAgICAgIGFjdGlvbkhhbmRsZXI6IChtZXNzYWdlOiBTdHJlYW1NZXNzYWdlPFQ+KSA9PiB7XG4gICAgICAgIHRoaXMubWVzc2FnZVRvRWRpdCQubmV4dChtZXNzYWdlKTtcbiAgICAgIH0sXG4gICAgICBpc1Zpc2libGU6IChlbmFibGVkQWN0aW9uczogc3RyaW5nW10sIGlzTWluZTogYm9vbGVhbikgPT5cbiAgICAgICAgKGVuYWJsZWRBY3Rpb25zLmluZGV4T2YoJ3VwZGF0ZS1vd24tbWVzc2FnZScpICE9PSAtMSAmJiBpc01pbmUpIHx8XG4gICAgICAgIGVuYWJsZWRBY3Rpb25zLmluZGV4T2YoJ3VwZGF0ZS1hbnktbWVzc2FnZScpICE9PSAtMSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGFjdGlvbk5hbWU6ICdkZWxldGUnLFxuICAgICAgYWN0aW9uTGFiZWxPclRyYW5zbGF0aW9uS2V5OiAnc3RyZWFtQ2hhdC5EZWxldGUnLFxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1taXN1c2VkLXByb21pc2VzXG4gICAgICBhY3Rpb25IYW5kbGVyOiBhc3luYyAobWVzc2FnZTogU3RyZWFtTWVzc2FnZTxUPikgPT4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGF3YWl0IHRoaXMuY2hhbm5lbFNlcnZpY2UuZGVsZXRlTWVzc2FnZShtZXNzYWdlKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UuYWRkVGVtcG9yYXJ5Tm90aWZpY2F0aW9uKFxuICAgICAgICAgICAgJ3N0cmVhbUNoYXQuRXJyb3IgZGVsZXRpbmcgbWVzc2FnZSdcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgaXNWaXNpYmxlOiAoZW5hYmxlZEFjdGlvbnM6IHN0cmluZ1tdLCBpc01pbmU6IGJvb2xlYW4pID0+XG4gICAgICAgICgoZW5hYmxlZEFjdGlvbnMuaW5kZXhPZignZGVsZXRlJykgIT09IC0xIHx8XG4gICAgICAgICAgZW5hYmxlZEFjdGlvbnMuaW5kZXhPZignZGVsZXRlLW93bi1tZXNzYWdlJykgIT09IC0xKSAmJlxuICAgICAgICAgIGlzTWluZSkgfHxcbiAgICAgICAgZW5hYmxlZEFjdGlvbnMuaW5kZXhPZignZGVsZXRlLWFueScpICE9PSAtMSB8fFxuICAgICAgICBlbmFibGVkQWN0aW9ucy5pbmRleE9mKCdkZWxldGUtYW55LW1lc3NhZ2UnKSAhPT0gLTEsXG4gICAgfSxcbiAgICB7XG4gICAgICBhY3Rpb25OYW1lOiAnY29weS1tZXNzYWdlLXRleHQnLFxuICAgICAgYWN0aW9uTGFiZWxPclRyYW5zbGF0aW9uS2V5OiAnc3RyZWFtQ2hhdC5Db3B5IHRleHQnLFxuICAgICAgaXNWaXNpYmxlOiAoXzogc3RyaW5nW10sIF9fOiBib29sZWFuLCBtZXNzYWdlOiBTdHJlYW1NZXNzYWdlPFQ+KSA9PiB7XG4gICAgICAgIGNvbnN0IGlzQ2xpcGJvYXJkU3VwcG9ydGVkID0gbmF2aWdhdG9yPy5jbGlwYm9hcmQ/LndyaXRlICE9PSB1bmRlZmluZWQ7XG4gICAgICAgIGlmICghaXNDbGlwYm9hcmRTdXBwb3J0ZWQgJiYgIXRoaXMuaGFzRGlzcGxheWVkQ2xpcGJvYXJkV2FybmluZykge1xuICAgICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICAgIGBbU3RyZWFtIENoYXRdIENvcHkgYWN0aW9uIGlzIGRpc2FibGVkIGJlY2F1c2UgY2xpcGJvYXJkIEFQSSBpc24ndCBhdmFpbGFibGUsIHBsZWFzZSBjaGVjayBzZWN1cml0eSBhbmQgYnJvd3NlciByZXF1aXJlbWVudHM6IGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9DbGlwYm9hcmQvd3JpdGUjc2VjdXJpdHlfY29uc2lkZXJhdGlvbnNgXG4gICAgICAgICAgKTtcbiAgICAgICAgICB0aGlzLmhhc0Rpc3BsYXllZENsaXBib2FyZFdhcm5pbmcgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgISFtZXNzYWdlLnRleHQgJiZcbiAgICAgICAgICAobWVzc2FnZS50eXBlID09PSAncmVndWxhcicgfHwgbWVzc2FnZS50eXBlID09PSAncmVwbHknKSAmJlxuICAgICAgICAgIGlzQ2xpcGJvYXJkU3VwcG9ydGVkXG4gICAgICAgICk7XG4gICAgICB9LFxuICAgICAgYWN0aW9uSGFuZGxlcjogKFxuICAgICAgICBtZXNzYWdlOiBTdHJlYW1NZXNzYWdlPFQ+LFxuICAgICAgICBleHRyYVBhcmFtczogTWVzc2FnZUFjdGlvbkhhbmRsZXJFeHRyYVBhcmFtc1xuICAgICAgKSA9PiB7XG4gICAgICAgIGNvbnN0IGZhbGxiYWNrQ29udGVudCA9IG1lc3NhZ2UudGV4dCB8fCAnJztcbiAgICAgICAgLy8gQW5kcm9pZCBDaHJvbWUgY2FuIG9ubHkgY29weSBwbGFpbiB0ZXh0OiBodHRwczovL2lzc3Vlcy5jaHJvbWl1bS5vcmcvaXNzdWVzLzQwODUxNTAyXG4gICAgICAgIHZvaWQgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZShbXG4gICAgICAgICAgbmV3IENsaXBib2FyZEl0ZW0oe1xuICAgICAgICAgICAgJ3RleHQvcGxhaW4nOiBuZXcgQmxvYihcbiAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgIGV4dHJhUGFyYW1zLm1lc3NhZ2VUZXh0SHRtbEVsZW1lbnQ/LmlubmVyVGV4dCB8fFxuICAgICAgICAgICAgICAgICAgZmFsbGJhY2tDb250ZW50LFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICB7IHR5cGU6ICd0ZXh0L3BsYWluJyB9XG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgJ3RleHQvaHRtbCc6IG5ldyBCbG9iKFxuICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgZXh0cmFQYXJhbXMubWVzc2FnZVRleHRIdG1sRWxlbWVudD8uaW5uZXJIVE1MIHx8XG4gICAgICAgICAgICAgICAgICBmYWxsYmFja0NvbnRlbnQsXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIHsgdHlwZTogJ3RleHQvaHRtbCcgfVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgXSk7XG4gICAgICB9LFxuICAgIH0sXG4gIF07XG4gIC8qKlxuICAgKiBUaGUgYnVpbHQtaW4gY29tcG9uZW50cyB3aWxsIGhhbmRsZSBjaGFuZ2VzIHRvIHRoaXMgb2JzZXJ2YWJsZS5cbiAgICovXG4gIG1lc3NhZ2VUb0VkaXQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTdHJlYW1NZXNzYWdlPFQ+IHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICAvKipcbiAgICogWW91IGNhbiBwYXNzIHlvdXIgb3duIGN1c3RvbSBhY3Rpb25zIHRoYXQgd2lsbCBiZSBkaXNwbGF5ZWQgaW5zaWRlIHRoZSBidWlsdC1pbiBtZXNzYWdlIGFjdGlvbnMgY29tcG9uZW50XG4gICAqL1xuICBjdXN0b21BY3Rpb25zJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Q3VzdG9tTWVzc2FnZUFjdGlvbkl0ZW1bXT4oW10pO1xuICAvKipcbiAgICogQnkgZGVmYXVsdCB0aGUgW2BNZXNzYWdlQ29tcG9uZW50YF0oLi4vLi4vY29tcG9uZW50cy9NZXNzYWdlQ29tcG9uZW50KSB3aWxsIGRpc3BsYXkgdGhlIFtgTWVzc2FnZUFjdGlvbnNCb3hDb21wb25lbnRgXSguLi8uLi9jb21wb25lbnRzL01lc3NhZ2VBY3Rpb25zQm94Q29tcG9uZW50KS4gWW91IGNhbiBvdmVycmlkZSB0aGF0IGJlaGF2aW9yIGJ5IHByb3ZpZGluZyB5b3VyIG93biBldmVudCBoYW5kbGVyLlxuICAgKi9cbiAgY3VzdG9tQWN0aW9uQ2xpY2tIYW5kbGVyPzogKGRldGFpbHM6IE1lc3NhZ2VBY3Rpb25zQ2xpY2tEZXRhaWxzPFQ+KSA9PiB2b2lkO1xuICBwcml2YXRlIGhhc0Rpc3BsYXllZENsaXBib2FyZFdhcm5pbmcgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNoYXRDbGllbnRTZXJ2aWNlOiBDaGF0Q2xpZW50U2VydmljZSxcbiAgICBwcml2YXRlIG5vdGlmaWNhdGlvblNlcnZpY2U6IE5vdGlmaWNhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjaGFubmVsU2VydmljZTogQ2hhbm5lbFNlcnZpY2VcbiAgKSB7XG4gICAgY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLm1lc3NhZ2VUb0VkaXQkLFxuICAgICAgdGhpcy5jaGFubmVsU2VydmljZS5hY3RpdmVDaGFubmVsJCxcbiAgICBdKS5zdWJzY3JpYmUoKFttZXNzYWdlVG9FZGl0LCBhY3RpdmVDaGFubmVsXSkgPT4ge1xuICAgICAgaWYgKFxuICAgICAgICBtZXNzYWdlVG9FZGl0ICYmXG4gICAgICAgICghYWN0aXZlQ2hhbm5lbCB8fCBhY3RpdmVDaGFubmVsPy5jaWQgIT09IG1lc3NhZ2VUb0VkaXQuY2lkKVxuICAgICAgKSB7XG4gICAgICAgIHRoaXMubWVzc2FnZVRvRWRpdCQubmV4dCh1bmRlZmluZWQpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5tZXNzYWdlVG9FZGl0JCxcbiAgICAgIHRoaXMuY2hhbm5lbFNlcnZpY2UuYWN0aXZlUGFyZW50TWVzc2FnZUlkJCxcbiAgICBdKS5zdWJzY3JpYmUoKFttZXNzYWdlVG9FZGl0LCBwYXJlbnRNZXNzYWdlSWRdKSA9PiB7XG4gICAgICBpZiAoXG4gICAgICAgIG1lc3NhZ2VUb0VkaXQgJiZcbiAgICAgICAgbWVzc2FnZVRvRWRpdC5wYXJlbnRfaWQgJiZcbiAgICAgICAgbWVzc2FnZVRvRWRpdC5wYXJlbnRfaWQgIT09IHBhcmVudE1lc3NhZ2VJZFxuICAgICAgKSB7XG4gICAgICAgIHRoaXMubWVzc2FnZVRvRWRpdCQubmV4dCh1bmRlZmluZWQpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgbWV0aG9kIHJldHVybnMgaG93IG1hbnkgYXV0aG9yaXplZCBhY3Rpb25zIGFyZSBhdmFpbGFibGUgdG8gdGhlIGdpdmVuIG1lc3NhZ2VcbiAgICogQHBhcmFtIG1lc3NhZ2VcbiAgICogQHBhcmFtIGVuYWJsZWRBY3Rpb25zXG4gICAqIEByZXR1cm5zIHRoZSBjb3VudFxuICAgKi9cbiAgZ2V0QXV0aG9yaXplZE1lc3NhZ2VBY3Rpb25zQ291bnQoXG4gICAgbWVzc2FnZTogU3RyZWFtTWVzc2FnZTxUPixcbiAgICBlbmFibGVkQWN0aW9uczogc3RyaW5nW11cbiAgKSB7XG4gICAgY29uc3QgY3VzdG9tQWN0aW9ucyA9IHRoaXMuY3VzdG9tQWN0aW9ucyQuZ2V0VmFsdWUoKSB8fCBbXTtcbiAgICBjb25zdCBhbGxBY3Rpb25zID0gWy4uLnRoaXMuZGVmYXVsdEFjdGlvbnMsIC4uLmN1c3RvbUFjdGlvbnNdO1xuICAgIGNvbnN0IGN1cnJlbnRVc2VySWQgPSB0aGlzLmNoYXRDbGllbnRTZXJ2aWNlLmNoYXRDbGllbnQudXNlcj8uaWQ7XG4gICAgY29uc3QgaXNNaW5lID0gbWVzc2FnZS51c2VyX2lkID09PSBjdXJyZW50VXNlcklkO1xuXG4gICAgcmV0dXJuIGFsbEFjdGlvbnMuZmlsdGVyKChpdGVtKSA9PlxuICAgICAgaXRlbS5pc1Zpc2libGUoZW5hYmxlZEFjdGlvbnMsIGlzTWluZSwgbWVzc2FnZSlcbiAgICApLmxlbmd0aDtcbiAgfVxufVxuIl19