vcomply-workflow-engine 6.1.62 → 6.1.64

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.
@@ -46,10 +46,7 @@ export class GrcResponsibilityListingComponent {
46
46
  this.selectedListData.push(responsibility);
47
47
  this.selectedListDataIds.push(responsibility?._id);
48
48
  this.allSelectedResponsibilityIds.push(responsibility?._id);
49
- this.selectedProgramAndResp.push({
50
- id: responsibility?.id,
51
- rid: responsibility?.rid,
52
- });
49
+ this.selectedProgramAndResp.push(responsibility);
53
50
  }
54
51
  else {
55
52
  this.deleteEvent(responsibility);
@@ -204,4 +201,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
204
201
  }], changeSelectedProgramAndResp: [{
205
202
  type: Output
206
203
  }] } });
207
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvd29ya2Zsb3cvc2hhcmVkL2NvbXBvbmVudHMvZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcvZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvd29ya2Zsb3cvc2hhcmVkL2NvbXBvbmVudHMvZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcvZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxRQUFRLEVBQ1IsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNoRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUNuRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBRTFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDOzs7Ozs7Ozs7OztBQTZCakYsTUFBTSxPQUFPLGlDQUFpQztJQWtCNUMsSUFBaUMscUJBQXFCLENBQUMsS0FBVTtRQUMvRCxJQUFJLENBQUMsUUFBUSxH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Q0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUM1QyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUM3QyxDQUFDO0lBQ0osQ0FBQzsrR0F0TVUsaUNBQWlDO21HQUFqQyxpQ0FBaUMseXJCQzdDOUMsaXJOQXdGTSw4cFdEbEVGLFlBQVksK1BBQ1osYUFBYSxzUkFDYixlQUFlLDZXQUNmLGFBQWEscU1BQ2IsaUJBQWlCLDhCQUNqQixnQkFBZ0IsaVBBQ2hCLG1CQUFtQjs7NEZBaUJWLGlDQUFpQztrQkEzQjdDLFNBQVM7K0JBQ0UsZ0NBQWdDLGNBQzlCLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixhQUFhO3dCQUNiLGlCQUFpQjt3QkFDakIsZ0JBQWdCO3dCQUNoQixtQkFBbUI7cUJBQ3BCLFVBR087d0JBQ04sV0FBVzt3QkFDWCxlQUFlO3dCQUNmLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsWUFBWTt3QkFDWixrQkFBa0I7d0JBQ2xCLHFCQUFxQjt3QkFDckIsTUFBTTtxQkFDUDs7MEJBOEJZLFFBQVE7NENBWlosNEJBQTRCO3NCQUFwQyxLQUFLO2dCQUUyQixxQkFBcUI7c0JBQXJELEtBQUs7dUJBQUMsb0JBQW9CO2dCQUlsQixzQkFBc0I7c0JBQTlCLEtBQUs7Z0JBRUksa0JBQWtCO3NCQUEzQixNQUFNO2dCQUNHLDRCQUE0QjtzQkFBckMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEZsb2F0aW5nQmFyTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkQ29tcG9uZW50cy9mbG9hdGluZy1iYXIvZmxvYXRpbmctYmFyLm1vZHVsZSc7XG5pbXBvcnQgeyBGb3JtZ3JvdXBNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi91aS1raXQvZm9ybWdyb3VwL2Zvcm1ncm91cC5tb2R1bGUnO1xuaW1wb3J0IHsgUGFnaW5hdGlvbk1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL3VpLWtpdC9wYWdpbmF0aW9uL3BhZ2luYXRpb24ubW9kdWxlJztcbmltcG9ydCB7IFBvcG92ZXJNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi91aS1raXQvcG9wb3Zlci9wb3BvdmVyLm1vZHVsZSc7XG5pbXBvcnQgeyBUb29sdGlwTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vdWkta2l0L3Rvb2x0aXAvdG9vbHRpcC5tb2R1bGUnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvbnMgfSBmcm9tICcuLi8uLi8uLi8uLi9jb25maWd1cmF0aW9ucyc7XG5pbXBvcnQgeyBXb3JrZmxvd1BpcGVzTW9kdWxlIH0gZnJvbSAnLi4vLi4vd29ya2Zsb3ctcGlwZXMvd29ya2Zsb3ctcGlwZXMubW9kdWxlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWdyYy1yZXNwb25zaWJpbGl0eS1saXN0aW5nJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBQb3BvdmVyTW9kdWxlLFxuICAgIEZvcm1ncm91cE1vZHVsZSxcbiAgICBUb29sdGlwTW9kdWxlLFxuICAgIEZsb2F0aW5nQmFyTW9kdWxlLFxuICAgIFBhZ2luYXRpb25Nb2R1bGUsXG4gICAgV29ya2Zsb3dQaXBlc01vZHVsZSxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2dyYy1yZXNwb25zaWJpbGl0eS1saXN0aW5nLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcuY29tcG9uZW50Lmxlc3MnXSxcbiAgaW5wdXRzOiBbXG4gICAgJ3RhYmxlQ2FyZCcsXG4gICAgJ2FjdGl2ZVByb2dyYW0nLFxuICAgICdoZWFkZXJUZXh0JyxcbiAgICAnY3VycmVudFBhZ2UnLFxuICAgICdwZXJQYWdlTGltaXQnLFxuICAgICd0b3RhbExpc3REYXRhJyxcbiAgICAndG90YWxQYWdlcycsXG4gICAgJ3NlbGVjdGVkTGlzdERhdGEnLFxuICAgICdzZWxlY3RlZExpc3REYXRhSWRzJyxcbiAgICAnTU9ERSdcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgR3JjUmVzcG9uc2liaWxpdHlMaXN0aW5nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHJvZmlsZVBpYyA9ICcnO1xuICBlbnY6IGFueTtcbiAgZGF0YUxpc3QhOiBhbnk7XG4gIGhlYWRlclRleHQ6IHN0cmluZyA9ICdOYW1lJztcbiAgc2VsZWN0ZWRMaXN0RGF0YTogYW55ID0gW107XG4gIHNlbGVjdGVkTGlzdERhdGFJZHM6IGFueSA9IFtdO1xuICBwZXJQYWdlTGltaXQ6IG51bWJlciA9IDMwO1xuICBjdXJyZW50UGFnZTogbnVtYmVyID0gMTtcbiAgdG90YWxQYWdlczogbnVtYmVyID0gMTtcbiAgdG90YWxMaXN0RGF0YTogbnVtYmVyID0gMDtcbiAgLy8gc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcDogYW55ID0gW107XG4gIGFjdGl2ZVByb2dyYW06IGFueSA9IHt9O1xuICBjYWxsZWRGcm9tOiBzdHJpbmcgPSAnJztcbiAgTU9ERTogJ0NSRUFURScgfCAnRURJVCcgPSAnQ1JFQVRFJztcblxuICBASW5wdXQoKSBhbGxTZWxlY3RlZFJlc3BvbnNpYmlsaXR5SWRzOiBhbnkgPSBbXTtcblxuICBASW5wdXQoJ3Jlc3BvbnNpYmlsaXR5RGF0YScpIHNldCBnZXRSZXNwb25zaWJpbGl0eUxpc3QodmFsdWU6IGFueSkge1xuICAgIHRoaXMuZGF0YUxpc3QgPSB2YWx1ZTtcbiAgfVxuXG4gIEBJbnB1dCgpIHNlbGVjdGVkUHJvZ3JhbUFuZFJlc3A6IGFueSA9IFtdO1xuXG4gIEBPdXRwdXQoKSBnZXRVcGRhdGVkRGF0YUxpc3Q6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgY2hhbmdlU2VsZWN0ZWRQcm9ncmFtQW5kUmVzcDogRXZlbnRFbWl0dGVyPGFueT4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBjb25maWc/OiBDb25maWd1cmF0aW9ucykge1xuICAgIHRoaXMuZW52ID0gY29uZmlnPy5lbnZDb25maWc7XG4gICAgdGhpcy5wcm9maWxlUGljID0gdGhpcy5lbnYuczNVcmwgKyB0aGlzLmVudi5zM0J1Y2tldCArIHRoaXMuZW52LnByb2ZpbGU7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHt9XG5cbiAgZ2V0U2VsZWN0ZWREYXRhKHJlc3BvbnNpYmlsaXR5OiBhbnksIGV2ZW50OiBhbnkpIHtcbiAgICBpZiAoZXZlbnQpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRMaXN0RGF0YS5wdXNoKHJlc3BvbnNpYmlsaXR5KTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRMaXN0RGF0YUlkcy5wdXNoKHJlc3BvbnNpYmlsaXR5Py5faWQpO1xuICAgICAgdGhpcy5hbGxTZWxlY3RlZFJlc3BvbnNpYmlsaXR5SWRzLnB1c2gocmVzcG9uc2liaWxpdHk/Ll9pZCk7XG4gICAgICB0aGlzLnNlbGVjdGVkUHJvZ3JhbUFuZFJlc3AucHVzaCh7XG4gICAgICAgIGlkOiByZXNwb25zaWJpbGl0eT8uaWQsXG4gICAgICAgIHJpZDogcmVzcG9uc2liaWxpdHk/LnJpZCxcbiAgICAgIH0pXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZGVsZXRlRXZlbnQocmVzcG9uc2liaWxpdHkpO1xuICAgIH1cbiAgfVxuXG4gIGRlbGV0ZUV2ZW50KHJlc3BvbnNpYmlsaXR5OiBhbnkpIHtcbiAgICB0aGlzLnNlbGVjdGVkTGlzdERhdGEgPSB0aGlzLnNlbGVjdGVkTGlzdERhdGE/LmZpbHRlcihcbiAgICAgIChzZWxlY3RlZDogYW55KSA9PiBzZWxlY3RlZD8uX2lkICE9PSByZXNwb25zaWJpbGl0eT8uX2lkXG4gICAgKTtcbiAgICB0aGlzLnNlbGVjdGVkTGlzdERhdGFJZHMgPSB0aGlzLnNlbGVjdGVkTGlzdERhdGFJZHM/LmZpbHRlcihcbiAgICAgIChzZWxlY3RlZExpc3REYXRhSWQ6IGFueSkgPT4gc2VsZWN0ZWRMaXN0RGF0YUlkICE9PSByZXNwb25zaWJpbGl0eT8uX2lkXG4gICAgKTtcbiAgICB0aGlzLmFsbFNlbGVjdGVkUmVzcG9uc2liaWxpdHlJZHMgPSB0aGlzLmFsbFNlbGVjdGVkUmVzcG9uc2liaWxpdHlJZHM/LmZpbHRlcihcbiAgICAgIChzZWxlY3RlZDogYW55KSA9PiBzZWxlY3RlZCAhPT0gcmVzcG9uc2liaWxpdHk/Ll9pZFxuICAgICk7XG4gICAgdGhpcy5zZWxlY3RlZFByb2dyYW1BbmRSZXNwID0gdGhpcy5zZWxlY3RlZFByb2dyYW1BbmRSZXNwPy5maWx0ZXIoXG4gICAgICAoc2VsZWN0ZWQ6IGFueSkgPT4gc2VsZWN0ZWQ/LnJpZCAhPT0gcmVzcG9uc2liaWxpdHk/LnJpZFxuICAgICk7XG4gICAgdGhpcy5jaGFuZ2VTZWxlY3RlZFByb2dyYW1BbmRSZXNwLmVtaXQodGhpcy5zZWxlY3RlZFByb2dyYW1BbmRSZXNwKTtcbiAgfVxuXG4gIHNlbGVjdEFsbChldmVudDogYW55KSB7XG4gICAgdGhpcy5kYXRhTGlzdD8uZGF0YT8uZm9yRWFjaCgoZGF0YTogYW55KSA9PiB7XG4gICAgICBpZiAoZXZlbnQpIHtcbiAgICAgICAgaWYgKCF0aGlzLnNlbGVjdGVkTGlzdERhdGFJZHMuaW5jbHVkZXMoZGF0YT8uX2lkKSkge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRMaXN0RGF0YS5wdXNoKGRhdGEpO1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRMaXN0RGF0YUlkcy5wdXNoKGRhdGE/Ll9pZCk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZGVsZXRlRXZlbnQoZGF0YSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy51cGRhdGVPckNyZWF0ZUNhdGVnb3J5KFxuICAgICAgdGhpcy5hY3RpdmVQcm9ncmFtPy5wcm9ncmFtSWQsXG4gICAgICB0aGlzLmFjdGl2ZVByb2dyYW1cbiAgICApO1xuICB9XG5cbiAgaXNBbGxTZWxlY3RlZCgpOiBib29sZWFuIHtcbiAgICBpZiAoXG4gICAgICB0aGlzLnNlbGVjdGVkTGlzdERhdGFJZHMgJiZcbiAgICAgIHRoaXMuc2VsZWN0ZWRMaXN0RGF0YUlkcy5sZW5ndGggPj0gdGhpcy5zZWxlY3RlZExpc3REYXRhPy5sZW5ndGggJiZcbiAgICAgIHRoaXMuc2VsZWN0ZWRMaXN0RGF0YUlkcy5sZW5ndGggPiAwXG4gICAgKSB7XG4gICAgICBmb3IgKGNvbnN0IGdyYyBvZiB0aGlzLmRhdGFMaXN0Py5kYXRhKSB7XG4gICAgICAgIGlmICghdGhpcy5zZWxlY3RlZExpc3REYXRhSWRzLmluY2x1ZGVzKGdyYz8uX2lkKSkge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBjaGFuZ2VQYWdlKGV2ZW50OiBudW1iZXIpIHtcbiAgICB0aGlzLmN1cnJlbnRQYWdlID0gZXZlbnQ7XG4gICAgdGhpcy5nZXRVcGRhdGVkRGF0YUxpc3QuZW1pdCh7XG4gICAgICBwYWdlTm86IHRoaXMuY3VycmVudFBhZ2UsXG4gICAgfSk7XG4gIH1cblxuICB1cGRhdGVPckNyZWF0ZUNhdGVnb3J5KHByb2dyYW1JZDogbnVtYmVyLCBwcm9ncmFtOiBhbnkpIHtcbiAgICBjb25zdCBwcm9ncmFtSW5kZXggPSB0aGlzLmZpbmRDaGVja2VkUHJvZ3JhbUluZGV4KHByb2dyYW1JZCk7XG4gICAgaWYgKHByb2dyYW1JbmRleCAhPT0gLTEpIHtcbiAgICAgIC8vIENhdGVnb3J5IGV4aXN0cywgdXBkYXRlIHJpc2sgdmFsdWVcbiAgICAgIHRoaXMuc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcFtwcm9ncmFtSW5kZXhdLnJlc3BvbnNpYmlsaXR5ID1cbiAgICAgICAgdGhpcy5zZWxlY3RlZExpc3REYXRhID8/IFtdO1xuICAgICAgdGhpcy5zZWxlY3RlZFByb2dyYW1BbmRSZXNwW3Byb2dyYW1JbmRleF0uY2F0ZWdvcnkgPVxuICAgICAgICB0aGlzLmdldFN1YkNhdGVnb3J5SWRzKHRoaXMuc2VsZWN0ZWRMaXN0RGF0YSA/PyBbXSk7XG4gICAgICBpZiAodGhpcy5zZWxlY3RlZExpc3REYXRhLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAvLyBSZW1vdmUgY2F0ZWdvcnkgaWYgc2VsZWN0ZWRMaXN0RGF0YSBpcyBlbXB0eVxuICAgICAgICB0aGlzLnNlbGVjdGVkUHJvZ3JhbUFuZFJlc3Auc3BsaWNlKHByb2dyYW1JbmRleCwgMSk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICh0aGlzLnNlbGVjdGVkTGlzdERhdGE/Lmxlbmd0aCA+IDApIHtcbiAgICAgIC8vIENhdGVnb3J5IGRvZXNuJ3QgZXhpc3QsIGNyZWF0ZSBuZXcgY2F0ZWdvcnkgd2l0aCBzdWJjYXRlZ29yeVxuICAgICAgdGhpcy5zZWxlY3RlZFByb2dyYW1BbmRSZXNwLnB1c2goe1xuICAgICAgICBwcm9ncmFtOiBwcm9ncmFtID8/IHt9LFxuICAgICAgICBjYXRlZ29yeTogdGhpcy5nZXRTdWJDYXRlZ29yeUlkcyh0aGlzLnNlbGVjdGVkTGlzdERhdGEgPz8gW10pLFxuICAgICAgICByZXNwb25zaWJpbGl0eTogdGhpcy5zZWxlY3RlZExpc3REYXRhID8/IFtdLFxuICAgICAgfSk7XG4gICAgfVxuICAgIHRoaXMuY2hhbmdlU2VsZWN0ZWRQcm9ncmFtQW5kUmVzcC5lbWl0KHRoaXMuc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcCk7XG4gIH1cblxuICBnZXRTZWxlY3RlZERhdGFBbmRJZHMoc2VsZWN0ZWREYXRhOiBhbnkpIHtcbiAgICBjb25zdCBwcm9ncmFtSW5kZXggPSB0aGlzLmZpbmRDaGVja2VkUHJvZ3JhbUluZGV4KFxuICAgICAgdGhpcy5hY3RpdmVQcm9ncmFtPy5wcm9ncmFtSWRcbiAgICApO1xuICAgIHRoaXMuc2VsZWN0ZWRMaXN0RGF0YSA9IFtdO1xuICAgIHRoaXMuc2VsZWN0ZWRMaXN0RGF0YUlkcyA9IFtdO1xuICAgIGlmIChwcm9ncmFtSW5kZXggIT09IC0xKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkTGlzdERhdGEgPSBzZWxlY3RlZERhdGFbcHJvZ3JhbUluZGV4XT8ucmVzcG9uc2liaWxpdHkgPz8gW107XG4gICAgICB0aGlzLnNlbGVjdGVkTGlzdERhdGE/LmZvckVhY2goKGRhdGE6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLnNlbGVjdGVkTGlzdERhdGFJZHMucHVzaChkYXRhPy5faWQpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgZmluZENoZWNrZWRQcm9ncmFtSW5kZXgoY2F0ZWdvcnlJZDogbnVtYmVyIHwgbnVtYmVyW10pIHtcbiAgICBsZXQgcHJvZ3JhbUluZGV4ID0gLTE7XG4gICAgcHJvZ3JhbUluZGV4ID0gdGhpcy5zZWxlY3RlZFByb2dyYW1BbmRSZXNwLmZpbmRJbmRleChcbiAgICAgIChjYXQ6IGFueSkgPT4gY2F0Py5wcm9ncmFtPy5wcm9ncmFtSWQgPT09IGNhdGVnb3J5SWRcbiAgICApO1xuICAgIHJldHVybiBwcm9ncmFtSW5kZXg7XG4gIH1cblxuICBkZWxldGVTZWxlY3RlZFJlc3BvbnNpYmlsaXR5KHJlc3BvbnNpYmlsaXR5OiBhbnkpIHtcbiAgICB0aGlzLnNlbGVjdGVkUHJvZ3JhbUFuZFJlc3AgPSB0aGlzLnNlbGVjdGVkUHJvZ3JhbUFuZFJlc3A/Lm1hcChcbiAgICAgIChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgbGV0IGZpbHRlcmVkUmVzcG9uc2liaWxpdHkgPSBkYXRhPy5yZXNwb25zaWJpbGl0eT8uZmlsdGVyKFxuICAgICAgICAgIChyZXNwOiBhbnkpID0+IHJlc3A/Ll9pZCAhPT0gcmVzcG9uc2liaWxpdHk/Ll9pZFxuICAgICAgICApO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLmRhdGEsXG4gICAgICAgICAgcmVzcG9uc2liaWxpdHk6IGZpbHRlcmVkUmVzcG9uc2liaWxpdHksXG4gICAgICAgICAgY2F0ZWdvcnk6IFtcbiAgICAgICAgICAgIC4uLihuZXcgU2V0KFxuICAgICAgICAgICAgICBmaWx0ZXJlZFJlc3BvbnNpYmlsaXR5XG4gICAgICAgICAgICAgICAgLm1hcCgob2JqOiBhbnkpID0+IFtvYmo/LnN1YkNhdGVnb3J5SWRdKVxuICAgICAgICAgICAgICAgID8uZmxhdCgpXG4gICAgICAgICAgICApIHx8IFtdKSxcbiAgICAgICAgICBdLFxuICAgICAgICB9O1xuICAgICAgfVxuICAgICk7XG5cbiAgICB0aGlzLnNlbGVjdGVkUHJvZ3JhbUFuZFJlc3AgPSB0aGlzLnNlbGVjdGVkUHJvZ3JhbUFuZFJlc3AuZmlsdGVyKFxuICAgICAgKGRhdGE6IGFueSkgPT4ge1xuICAgICAgICByZXR1cm4gZGF0YT8ucmVzcG9uc2liaWxpdHk/Lmxlbmd0aCA+IDA7XG4gICAgICB9XG4gICAgKTtcbiAgICB0aGlzLmNoYW5nZVNlbGVjdGVkUHJvZ3JhbUFuZFJlc3AuZW1pdCh0aGlzLnNlbGVjdGVkUHJvZ3JhbUFuZFJlc3ApO1xuICB9XG5cbiAgZ2V0U3ViQ2F0ZWdvcnlJZHMoc2VsZWN0ZWRSZXNwb25zaWJpbGl0eTogYW55KSB7XG4gICAgbGV0IGlkU2V0OiBhbnkgPSBuZXcgU2V0KFxuICAgICAgc2VsZWN0ZWRSZXNwb25zaWJpbGl0eT8ubWFwKFxuICAgICAgICAocmVzcG9uc2liaWxpdHk6IGFueSkgPT4gcmVzcG9uc2liaWxpdHk/LnN1YkNhdGVnb3J5SWQgPz8gW11cbiAgICAgIClcbiAgICApO1xuICAgIGlmICh0aGlzLk1PREUgPT09ICdFRElUJykge1xuICAgICAgY29uc3QgcHJvZ3JhbUluZGV4ID0gdGhpcy5maW5kQ2hlY2tlZFByb2dyYW1JbmRleChcbiAgICAgICAgdGhpcy5hY3RpdmVQcm9ncmFtPy5wcm9ncmFtSWRcbiAgICAgICk7XG4gICAgICBpZiAocHJvZ3JhbUluZGV4ICE9PSAtMSkge1xuICAgICAgICBjb25zdCBwZXJ2aW91c1NlbGVjdGVkSWRzOiBhbnkgPVxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcFtwcm9ncmFtSW5kZXhdPy5jYXRlZ29yeSA/PyBbXTtcbiAgICAgICAgaWRTZXQgPSBuZXcgU2V0KFsuLi5pZFNldCwgLi4ucGVydmlvdXNTZWxlY3RlZElkc10pO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gWy4uLkFycmF5LmZyb20oaWRTZXQpXS5maWx0ZXIoKGl0ZW0pID0+XG4gICAgICBBcnJheS5pc0FycmF5KGl0ZW0pID8gaXRlbS5sZW5ndGggPiAwIDogdHJ1ZVxuICAgICk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJncmMtcmVzcG9uc2liaWxpdHktbGlzdGluZ1wiPlxuICAgIDxkaXYgY2xhc3M9XCJ0b3AtaGVhZGluZyB2eC1wbC0yIHZ4LW1iLTIgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiPlxuICAgICAgICA8YXBwLWNzLWNoZWNrYm94ICpuZ0lmPVwiaXNBbGxTZWxlY3RlZCgpIHx8IHNlbGVjdGVkTGlzdERhdGFJZHM/Lmxlbmd0aCA9PT0gMFwiIFtuZ1ZhbHVlXT1cImlzQWxsU2VsZWN0ZWQoKVwiXG4gICAgICAgICAgICAobmdWYWx1ZUNoYW5nZSk9XCJzZWxlY3RBbGwoJGV2ZW50KVwiPjwvYXBwLWNzLWNoZWNrYm94PlxuICAgICAgICA8YXBwLWNzLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUgKm5nSWY9XCIhaXNBbGxTZWxlY3RlZCgpICYmIHNlbGVjdGVkTGlzdERhdGFJZHM/Lmxlbmd0aFwiIFtuZ1ZhbHVlXT1cInRydWVcIlxuICAgICAgICAgICAgKG5nVmFsdWVDaGFuZ2UpPVwic2VsZWN0QWxsKGZhbHNlKVwiPjwvYXBwLWNzLWNoZWNrYm94LWluZGV0ZXJtaW5hdGU+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1mcy0xMSB2eC1mdy01MDAgdngtbGFiZWwtdHh0IHZ4LXR0LXVwcGVyY2FzZSB2eC1tbC0yIHZ4LWxoLTRcIj57e2hlYWRlclRleHR9fTwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJncmMtcmVzcG9uc2liaWxpdHktbGlzdGluZy1pbm5lclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JjLXJlc3BvbnNpYmlsaXR5LXRhYmxlLWJvZHlcIiBbY2xhc3Mud2l0aC1wYWdpbmF0aW9uXT1cImRhdGFMaXN0Py50b3RhbF9wYWdlcyA+IDFcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJncmMtcmVzcG9uc2liaWxpdHktdGFibGUtcm93XCIgKm5nRm9yPVwibGV0IGxpc3Qgb2YgZGF0YUxpc3Q/LmRhdGE7IGxldCBpID0gaW5kZXhcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiYWxsU2VsZWN0ZWRSZXNwb25zaWJpbGl0eUlkcz8uaW5jbHVkZXMobGlzdD8uX2lkKVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJncmMtcmVzcG9uc2liaWxpdHktdGFibGUtY29sdW1uIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHNlcmlhbFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Itbm9cIiBbYXBwVG9vbHRpcF09XCIocGVyUGFnZUxpbWl0ICogKGN1cnJlbnRQYWdlIC0gMSkpICsgaSArIDFcIiBwbGFjZW1lbnQ9XCJib3R0b21cIlxuICAgICAgICAgICAgICAgICAgICAgICAgZGVsYXk9XCIwXCIgdHlwZT1cImJsYWNrXCIgW3Rvb2x0aXBNYW5kYXRvcnldPVwidHJ1ZVwiPnt7KHBlclBhZ2VMaW1pdCAqIChjdXJyZW50UGFnZSAtIDEpKSArIGkgKyAxfX1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxhcHAtY3MtY2hlY2tib3ggW25nVmFsdWVdPVwiYWxsU2VsZWN0ZWRSZXNwb25zaWJpbGl0eUlkcz8uaW5jbHVkZXMobGlzdD8uX2lkKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAobmdWYWx1ZUNoYW5nZSk9XCJnZXRTZWxlY3RlZERhdGEobGlzdCwkZXZlbnQpXCI+PC9hcHAtY3MtY2hlY2tib3g+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdyYy1yZXNwb25zaWJpbGl0eS10YWJsZS1jb2x1bW4gdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHJlc3BvbnNpYmlsaXR5LW5hbWVcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWF2YXRhci1ncm91cCB2eC1tci0xXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidngtYXZhdGFyIG1kXCIgW2FwcFRvb2x0aXBdPVwibGlzdD8uZW50cnVzdGVkQnk/Lm5hbWVcIiBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsYXk9XCIwXCIgdHlwZT1cImJsYWNrXCIgW3Rvb2x0aXBNYW5kYXRvcnldPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwibGlzdD8uZW50cnVzdGVkQnk/LnByb2ZpbGVQaWMgPT09ICcnXCIgY2xhc3M9XCJibHVlXCI+e3tsaXN0LmVudHJ1c3RlZEJ5Py5uYW1lIHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlclNob3J0TmFtZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nICpuZ0lmPVwibGlzdD8uZW50cnVzdGVkQnk/LnByb2ZpbGVQaWMgIT09ICcnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjPVwie3twcm9maWxlUGljICsgbGlzdD8uZW50cnVzdGVkQnk/LnByb2ZpbGVQaWN9fVwiIGFsdD1cIlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwibGlzdD8uZW50cnVzdGVkVG8/LkVudHJ1c3RlZFRvTWVtYmVycz8ubGVuZ3RoID09PSAwXCIgY2xhc3M9XCJ2eC1hdmF0YXIgbWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cImxpc3Q/LmVudHJ1c3RlZFRvPy5uYW1lXCIgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIiBkZWxheT1cIjBcIiB0eXBlPVwiYmxhY2tcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImxpc3Q/LmVudHJ1c3RlZFRvPy5wcm9maWxlUGljID09PSAnJ1wiIGNsYXNzPVwiYmx1ZVwiPnt7bGlzdD8uZW50cnVzdGVkVG8/Lm5hbWUgfFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyU2hvcnROYW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgKm5nSWY9XCJsaXN0Py5lbnRydXN0ZWRUbz8ucHJvZmlsZVBpYyAhPT0gJydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcmM9XCJ7e3Byb2ZpbGVQaWMgKyBsaXN0Py5lbnRydXN0ZWRUbz8ucHJvZmlsZVBpY319XCIgYWx0PVwiXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJsaXN0Py5lbnRydXN0ZWRUbz8uRW50cnVzdGVkVG9NZW1iZXJzPy5sZW5ndGhcIiBjbGFzcz1cInZ4LWF2YXRhciBtZCBjb3VudGVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBQb3BvdmVyIChjbGljayk9XCJtdWx0aVVzZXIucG9wb3ZlcigpXCIgcGxhY2VtZW50PVwibGVmdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZ3JlZW5cIj4re3tsaXN0Py5lbnRydXN0ZWRUbz8uRW50cnVzdGVkVG9NZW1iZXJzPy5sZW5ndGh9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGFwcC1wb3BvdmVyICNtdWx0aVVzZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndmLWFjdGlvbi1saXN0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cImFjdGlvbi1pdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgKm5nRm9yPVwibGV0IHVzZXIgb2YgbGlzdD8uZW50cnVzdGVkVG8/LkVudHJ1c3RlZFRvTWVtYmVyc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhdmF0YXItY2FyZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidXNlcj8ucHJvZmlsZV9waWMgPT09ICcnXCIgY2xhc3M9XCJhdmF0YXJcIj57e3VzZXI/Lm1lbWJlcl9uYW1lIHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJTaG9ydE5hbWUgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInVzZXI/LnByb2ZpbGVfcGljICE9PSAnJ1wiIGNsYXNzPVwiYXZhdGFyXCI+PGltZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNyYz1cInt7cHJvZmlsZVBpYyArIHVzZXI/LnByb2ZpbGVfcGljfX1cIiBhbHQ9XCJcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2YWx1ZVwiIFthcHBUb29sdGlwXT1cInVzZXIubWVtYmVyX25hbWVcIiBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWxheT1cIjBcIiB0eXBlPVwiYmxhY2tcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwiZmFsc2VcIj57e3VzZXI/Lm1lbWJlcl9uYW1lfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9hcHAtcG9wb3Zlcj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwhLS0gPGkgY2xhc3M9XCJpY29ucyBzdGFyIHZ4LWZzLTEwIHZ4LW1yLTFcIiBbY2xhc3MuYWN0aXZlXT1cInRydWVcIj4mI3hlYTcwOzwvaT4gLS0+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuYW1lLWlubmVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuYW1lIHZ4LWZzLTEzIHZ4LWxhYmVsLXR4dFwiIFthcHBUb29sdGlwXT1cImxpc3Q/Lm5hbWVcIiBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbGF5PVwiMFwiIHR5cGU9XCJibGFja1wiIFt0b29sdGlwTWFuZGF0b3J5XT1cImZhbHNlXCI+e3tsaXN0Py5uYW1lfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIiAqbmdJZj1cImxpc3Q/LndpdGhpbkRhdGE/Lmxlbmd0aFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1mcy0xMCB2eC1mdy01MDAgdngtbGFiZWwtdHh0IHZ4LXR0LXVwcGVyY2FzZSB2eC1tci0xXCI+UkVTUE9OU0lCSUxJVFkgQ0VOVEVSOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3aXRoaW4tcGFydCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LXByLTNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3aXRoaW4tYm94IHZ4LWZzLTkgdngtZnctNjAwIHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtbXItMiB2eC1saC0zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXaXRoaW48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndpdGhpbi12YWx1ZSB2eC1mcy0xMSB2eC1wYXJhZ3JhcGgtdHh0XCI+PHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgcGFyZW50IG9mIGxpc3Q/LndpdGhpbkRhdGE7IGxldCBsYXN0ID0gbGFzdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwicGFyZW50Py5uYW1lXCIgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIiBkZWxheT1cIjBcIiB0eXBlPVwiYmxhY2tcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cImZhbHNlXCI+e3twYXJlbnQ/Lm5hbWV9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIWxhc3RcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8YXBwLXBhZ2luYXRpb24gKm5nSWY9XCJkYXRhTGlzdD8udG90YWxfcGFnZXMgPiAxXCIgW3N0YXJ0XT1cImRhdGFMaXN0Py5pdGVtc19mcm9tXCIgW2VuZF09XCJkYXRhTGlzdD8uaXRlbXNfdG9cIlxuICAgICAgICAgICAgW3RvdGFsXT1cImRhdGFMaXN0Py50b3RhbF9pdGVtc1wiIFtwYWdlQ291bnRdPVwiZGF0YUxpc3Q/LnRvdGFsX3BhZ2VzXCIgW2N1cnJlbnRQYWdlXT1cImN1cnJlbnRQYWdlXCJcbiAgICAgICAgICAgIChzZWxlY3RlZFBhZ2UpPVwiY2hhbmdlUGFnZSgkZXZlbnQpXCI+PC9hcHAtcGFnaW5hdGlvbj5cbiAgICA8L2Rpdj5cbjwvZGl2PiJdfQ==
204
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvd29ya2Zsb3cvc2hhcmVkL2NvbXBvbmVudHMvZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcvZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvd29ya2Zsb3cvc2hhcmVkL2NvbXBvbmVudHMvZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcvZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxRQUFRLEVBQ1IsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNoRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUNuRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBRTFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDOzs7Ozs7Ozs7OztBQTZCakYsTUFBTSxPQUFPLGlDQUFpQztJQWtCNUMsSUFBaUMscUJBQXFCLENBQUMsS0FBVTtRQUMvRCxJQUFJLENBQUMsUUFBUSxH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LENBQzVDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQzdDLENBQUM7SUFDSixDQUFDOytHQW5NVSxpQ0FBaUM7bUdBQWpDLGlDQUFpQyx5ckJDN0M5Qyxpck5Bd0ZNLDhwV0RsRUYsWUFBWSwrUEFDWixhQUFhLHNSQUNiLGVBQWUsNldBQ2YsYUFBYSxxTUFDYixpQkFBaUIsOEJBQ2pCLGdCQUFnQixpUEFDaEIsbUJBQW1COzs0RkFpQlYsaUNBQWlDO2tCQTNCN0MsU0FBUzsrQkFDRSxnQ0FBZ0MsY0FDOUIsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsaUJBQWlCO3dCQUNqQixnQkFBZ0I7d0JBQ2hCLG1CQUFtQjtxQkFDcEIsVUFHTzt3QkFDTixXQUFXO3dCQUNYLGVBQWU7d0JBQ2YsWUFBWTt3QkFDWixhQUFhO3dCQUNiLGNBQWM7d0JBQ2QsZUFBZTt3QkFDZixZQUFZO3dCQUNaLGtCQUFrQjt3QkFDbEIscUJBQXFCO3dCQUNyQixNQUFNO3FCQUNQOzswQkE4QlksUUFBUTs0Q0FaWiw0QkFBNEI7c0JBQXBDLEtBQUs7Z0JBRTJCLHFCQUFxQjtzQkFBckQsS0FBSzt1QkFBQyxvQkFBb0I7Z0JBSWxCLHNCQUFzQjtzQkFBOUIsS0FBSztnQkFFSSxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBQ0csNEJBQTRCO3NCQUFyQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPcHRpb25hbCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRmxvYXRpbmdCYXJNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWRDb21wb25lbnRzL2Zsb2F0aW5nLWJhci9mbG9hdGluZy1iYXIubW9kdWxlJztcbmltcG9ydCB7IEZvcm1ncm91cE1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL3VpLWtpdC9mb3JtZ3JvdXAvZm9ybWdyb3VwLm1vZHVsZSc7XG5pbXBvcnQgeyBQYWdpbmF0aW9uTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vdWkta2l0L3BhZ2luYXRpb24vcGFnaW5hdGlvbi5tb2R1bGUnO1xuaW1wb3J0IHsgUG9wb3Zlck1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL3VpLWtpdC9wb3BvdmVyL3BvcG92ZXIubW9kdWxlJztcbmltcG9ydCB7IFRvb2x0aXBNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi91aS1raXQvdG9vbHRpcC90b29sdGlwLm1vZHVsZSc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9ucyB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbmZpZ3VyYXRpb25zJztcbmltcG9ydCB7IFdvcmtmbG93UGlwZXNNb2R1bGUgfSBmcm9tICcuLi8uLi93b3JrZmxvdy1waXBlcy93b3JrZmxvdy1waXBlcy5tb2R1bGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFBvcG92ZXJNb2R1bGUsXG4gICAgRm9ybWdyb3VwTW9kdWxlLFxuICAgIFRvb2x0aXBNb2R1bGUsXG4gICAgRmxvYXRpbmdCYXJNb2R1bGUsXG4gICAgUGFnaW5hdGlvbk1vZHVsZSxcbiAgICBXb3JrZmxvd1BpcGVzTW9kdWxlLFxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9ncmMtcmVzcG9uc2liaWxpdHktbGlzdGluZy5jb21wb25lbnQubGVzcyddLFxuICBpbnB1dHM6IFtcbiAgICAndGFibGVDYXJkJyxcbiAgICAnYWN0aXZlUHJvZ3JhbScsXG4gICAgJ2hlYWRlclRleHQnLFxuICAgICdjdXJyZW50UGFnZScsXG4gICAgJ3BlclBhZ2VMaW1pdCcsXG4gICAgJ3RvdGFsTGlzdERhdGEnLFxuICAgICd0b3RhbFBhZ2VzJyxcbiAgICAnc2VsZWN0ZWRMaXN0RGF0YScsXG4gICAgJ3NlbGVjdGVkTGlzdERhdGFJZHMnLFxuICAgICdNT0RFJ1xuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBHcmNSZXNwb25zaWJpbGl0eUxpc3RpbmdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwcm9maWxlUGljID0gJyc7XG4gIGVudjogYW55O1xuICBkYXRhTGlzdCE6IGFueTtcbiAgaGVhZGVyVGV4dDogc3RyaW5nID0gJ05hbWUnO1xuICBzZWxlY3RlZExpc3REYXRhOiBhbnkgPSBbXTtcbiAgc2VsZWN0ZWRMaXN0RGF0YUlkczogYW55ID0gW107XG4gIHBlclBhZ2VMaW1pdDogbnVtYmVyID0gMzA7XG4gIGN1cnJlbnRQYWdlOiBudW1iZXIgPSAxO1xuICB0b3RhbFBhZ2VzOiBudW1iZXIgPSAxO1xuICB0b3RhbExpc3REYXRhOiBudW1iZXIgPSAwO1xuICAvLyBzZWxlY3RlZFByb2dyYW1BbmRSZXNwOiBhbnkgPSBbXTtcbiAgYWN0aXZlUHJvZ3JhbTogYW55ID0ge307XG4gIGNhbGxlZEZyb206IHN0cmluZyA9ICcnO1xuICBNT0RFOiAnQ1JFQVRFJyB8ICdFRElUJyA9ICdDUkVBVEUnO1xuXG4gIEBJbnB1dCgpIGFsbFNlbGVjdGVkUmVzcG9uc2liaWxpdHlJZHM6IGFueSA9IFtdO1xuXG4gIEBJbnB1dCgncmVzcG9uc2liaWxpdHlEYXRhJykgc2V0IGdldFJlc3BvbnNpYmlsaXR5TGlzdCh2YWx1ZTogYW55KSB7XG4gICAgdGhpcy5kYXRhTGlzdCA9IHZhbHVlO1xuICB9XG5cbiAgQElucHV0KCkgc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcDogYW55ID0gW107XG5cbiAgQE91dHB1dCgpIGdldFVwZGF0ZWREYXRhTGlzdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBjaGFuZ2VTZWxlY3RlZFByb2dyYW1BbmRSZXNwOiBFdmVudEVtaXR0ZXI8YW55PiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIGNvbmZpZz86IENvbmZpZ3VyYXRpb25zKSB7XG4gICAgdGhpcy5lbnYgPSBjb25maWc/LmVudkNvbmZpZztcbiAgICB0aGlzLnByb2ZpbGVQaWMgPSB0aGlzLmVudi5zM1VybCArIHRoaXMuZW52LnMzQnVja2V0ICsgdGhpcy5lbnYucHJvZmlsZTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge31cblxuICBnZXRTZWxlY3RlZERhdGEocmVzcG9uc2liaWxpdHk6IGFueSwgZXZlbnQ6IGFueSkge1xuICAgIGlmIChldmVudCkge1xuICAgICAgdGhpcy5zZWxlY3RlZExpc3REYXRhLnB1c2gocmVzcG9uc2liaWxpdHkpO1xuICAgICAgdGhpcy5zZWxlY3RlZExpc3REYXRhSWRzLnB1c2gocmVzcG9uc2liaWxpdHk/Ll9pZCk7XG4gICAgICB0aGlzLmFsbFNlbGVjdGVkUmVzcG9uc2liaWxpdHlJZHMucHVzaChyZXNwb25zaWJpbGl0eT8uX2lkKTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcC5wdXNoKHJlc3BvbnNpYmlsaXR5KVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRlbGV0ZUV2ZW50KHJlc3BvbnNpYmlsaXR5KTtcbiAgICB9XG4gIH1cblxuICBkZWxldGVFdmVudChyZXNwb25zaWJpbGl0eTogYW55KSB7XG4gICAgdGhpcy5zZWxlY3RlZExpc3REYXRhID0gdGhpcy5zZWxlY3RlZExpc3REYXRhPy5maWx0ZXIoXG4gICAgICAoc2VsZWN0ZWQ6IGFueSkgPT4gc2VsZWN0ZWQ/Ll9pZCAhPT0gcmVzcG9uc2liaWxpdHk/Ll9pZFxuICAgICk7XG4gICAgdGhpcy5zZWxlY3RlZExpc3REYXRhSWRzID0gdGhpcy5zZWxlY3RlZExpc3REYXRhSWRzPy5maWx0ZXIoXG4gICAgICAoc2VsZWN0ZWRMaXN0RGF0YUlkOiBhbnkpID0+IHNlbGVjdGVkTGlzdERhdGFJZCAhPT0gcmVzcG9uc2liaWxpdHk/Ll9pZFxuICAgICk7XG4gICAgdGhpcy5hbGxTZWxlY3RlZFJlc3BvbnNpYmlsaXR5SWRzID0gdGhpcy5hbGxTZWxlY3RlZFJlc3BvbnNpYmlsaXR5SWRzPy5maWx0ZXIoXG4gICAgICAoc2VsZWN0ZWQ6IGFueSkgPT4gc2VsZWN0ZWQgIT09IHJlc3BvbnNpYmlsaXR5Py5faWRcbiAgICApO1xuICAgIHRoaXMuc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcCA9IHRoaXMuc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcD8uZmlsdGVyKFxuICAgICAgKHNlbGVjdGVkOiBhbnkpID0+IHNlbGVjdGVkPy5yaWQgIT09IHJlc3BvbnNpYmlsaXR5Py5yaWRcbiAgICApO1xuICAgIHRoaXMuY2hhbmdlU2VsZWN0ZWRQcm9ncmFtQW5kUmVzcC5lbWl0KHRoaXMuc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcCk7XG4gIH1cblxuICBzZWxlY3RBbGwoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuZGF0YUxpc3Q/LmRhdGE/LmZvckVhY2goKGRhdGE6IGFueSkgPT4ge1xuICAgICAgaWYgKGV2ZW50KSB7XG4gICAgICAgIGlmICghdGhpcy5zZWxlY3RlZExpc3REYXRhSWRzLmluY2x1ZGVzKGRhdGE/Ll9pZCkpIHtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkTGlzdERhdGEucHVzaChkYXRhKTtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkTGlzdERhdGFJZHMucHVzaChkYXRhPy5faWQpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmRlbGV0ZUV2ZW50KGRhdGEpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMudXBkYXRlT3JDcmVhdGVDYXRlZ29yeShcbiAgICAgIHRoaXMuYWN0aXZlUHJvZ3JhbT8ucHJvZ3JhbUlkLFxuICAgICAgdGhpcy5hY3RpdmVQcm9ncmFtXG4gICAgKTtcbiAgfVxuXG4gIGlzQWxsU2VsZWN0ZWQoKTogYm9vbGVhbiB7XG4gICAgaWYgKFxuICAgICAgdGhpcy5zZWxlY3RlZExpc3REYXRhSWRzICYmXG4gICAgICB0aGlzLnNlbGVjdGVkTGlzdERhdGFJZHMubGVuZ3RoID49IHRoaXMuc2VsZWN0ZWRMaXN0RGF0YT8ubGVuZ3RoICYmXG4gICAgICB0aGlzLnNlbGVjdGVkTGlzdERhdGFJZHMubGVuZ3RoID4gMFxuICAgICkge1xuICAgICAgZm9yIChjb25zdCBncmMgb2YgdGhpcy5kYXRhTGlzdD8uZGF0YSkge1xuICAgICAgICBpZiAoIXRoaXMuc2VsZWN0ZWRMaXN0RGF0YUlkcy5pbmNsdWRlcyhncmM/Ll9pZCkpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgY2hhbmdlUGFnZShldmVudDogbnVtYmVyKSB7XG4gICAgdGhpcy5jdXJyZW50UGFnZSA9IGV2ZW50O1xuICAgIHRoaXMuZ2V0VXBkYXRlZERhdGFMaXN0LmVtaXQoe1xuICAgICAgcGFnZU5vOiB0aGlzLmN1cnJlbnRQYWdlLFxuICAgIH0pO1xuICB9XG5cbiAgdXBkYXRlT3JDcmVhdGVDYXRlZ29yeShwcm9ncmFtSWQ6IG51bWJlciwgcHJvZ3JhbTogYW55KSB7XG4gICAgY29uc3QgcHJvZ3JhbUluZGV4ID0gdGhpcy5maW5kQ2hlY2tlZFByb2dyYW1JbmRleChwcm9ncmFtSWQpO1xuICAgIGlmIChwcm9ncmFtSW5kZXggIT09IC0xKSB7XG4gICAgICAvLyBDYXRlZ29yeSBleGlzdHMsIHVwZGF0ZSByaXNrIHZhbHVlXG4gICAgICB0aGlzLnNlbGVjdGVkUHJvZ3JhbUFuZFJlc3BbcHJvZ3JhbUluZGV4XS5yZXNwb25zaWJpbGl0eSA9XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRMaXN0RGF0YSA/PyBbXTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcFtwcm9ncmFtSW5kZXhdLmNhdGVnb3J5ID1cbiAgICAgICAgdGhpcy5nZXRTdWJDYXRlZ29yeUlkcyh0aGlzLnNlbGVjdGVkTGlzdERhdGEgPz8gW10pO1xuICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRMaXN0RGF0YS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgLy8gUmVtb3ZlIGNhdGVnb3J5IGlmIHNlbGVjdGVkTGlzdERhdGEgaXMgZW1wdHlcbiAgICAgICAgdGhpcy5zZWxlY3RlZFByb2dyYW1BbmRSZXNwLnNwbGljZShwcm9ncmFtSW5kZXgsIDEpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodGhpcy5zZWxlY3RlZExpc3REYXRhPy5sZW5ndGggPiAwKSB7XG4gICAgICAvLyBDYXRlZ29yeSBkb2Vzbid0IGV4aXN0LCBjcmVhdGUgbmV3IGNhdGVnb3J5IHdpdGggc3ViY2F0ZWdvcnlcbiAgICAgIHRoaXMuc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcC5wdXNoKHtcbiAgICAgICAgcHJvZ3JhbTogcHJvZ3JhbSA/PyB7fSxcbiAgICAgICAgY2F0ZWdvcnk6IHRoaXMuZ2V0U3ViQ2F0ZWdvcnlJZHModGhpcy5zZWxlY3RlZExpc3REYXRhID8/IFtdKSxcbiAgICAgICAgcmVzcG9uc2liaWxpdHk6IHRoaXMuc2VsZWN0ZWRMaXN0RGF0YSA/PyBbXSxcbiAgICAgIH0pO1xuICAgIH1cbiAgICB0aGlzLmNoYW5nZVNlbGVjdGVkUHJvZ3JhbUFuZFJlc3AuZW1pdCh0aGlzLnNlbGVjdGVkUHJvZ3JhbUFuZFJlc3ApO1xuICB9XG5cbiAgZ2V0U2VsZWN0ZWREYXRhQW5kSWRzKHNlbGVjdGVkRGF0YTogYW55KSB7XG4gICAgY29uc3QgcHJvZ3JhbUluZGV4ID0gdGhpcy5maW5kQ2hlY2tlZFByb2dyYW1JbmRleChcbiAgICAgIHRoaXMuYWN0aXZlUHJvZ3JhbT8ucHJvZ3JhbUlkXG4gICAgKTtcbiAgICB0aGlzLnNlbGVjdGVkTGlzdERhdGEgPSBbXTtcbiAgICB0aGlzLnNlbGVjdGVkTGlzdERhdGFJZHMgPSBbXTtcbiAgICBpZiAocHJvZ3JhbUluZGV4ICE9PSAtMSkge1xuICAgICAgdGhpcy5zZWxlY3RlZExpc3REYXRhID0gc2VsZWN0ZWREYXRhW3Byb2dyYW1JbmRleF0/LnJlc3BvbnNpYmlsaXR5ID8/IFtdO1xuICAgICAgdGhpcy5zZWxlY3RlZExpc3REYXRhPy5mb3JFYWNoKChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZExpc3REYXRhSWRzLnB1c2goZGF0YT8uX2lkKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGZpbmRDaGVja2VkUHJvZ3JhbUluZGV4KGNhdGVnb3J5SWQ6IG51bWJlciB8IG51bWJlcltdKSB7XG4gICAgbGV0IHByb2dyYW1JbmRleCA9IC0xO1xuICAgIHByb2dyYW1JbmRleCA9IHRoaXMuc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcC5maW5kSW5kZXgoXG4gICAgICAoY2F0OiBhbnkpID0+IGNhdD8ucHJvZ3JhbT8ucHJvZ3JhbUlkID09PSBjYXRlZ29yeUlkXG4gICAgKTtcbiAgICByZXR1cm4gcHJvZ3JhbUluZGV4O1xuICB9XG5cbiAgZGVsZXRlU2VsZWN0ZWRSZXNwb25zaWJpbGl0eShyZXNwb25zaWJpbGl0eTogYW55KSB7XG4gICAgdGhpcy5zZWxlY3RlZFByb2dyYW1BbmRSZXNwID0gdGhpcy5zZWxlY3RlZFByb2dyYW1BbmRSZXNwPy5tYXAoXG4gICAgICAoZGF0YTogYW55KSA9PiB7XG4gICAgICAgIGxldCBmaWx0ZXJlZFJlc3BvbnNpYmlsaXR5ID0gZGF0YT8ucmVzcG9uc2liaWxpdHk/LmZpbHRlcihcbiAgICAgICAgICAocmVzcDogYW55KSA9PiByZXNwPy5faWQgIT09IHJlc3BvbnNpYmlsaXR5Py5faWRcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5kYXRhLFxuICAgICAgICAgIHJlc3BvbnNpYmlsaXR5OiBmaWx0ZXJlZFJlc3BvbnNpYmlsaXR5LFxuICAgICAgICAgIGNhdGVnb3J5OiBbXG4gICAgICAgICAgICAuLi4obmV3IFNldChcbiAgICAgICAgICAgICAgZmlsdGVyZWRSZXNwb25zaWJpbGl0eVxuICAgICAgICAgICAgICAgIC5tYXAoKG9iajogYW55KSA9PiBbb2JqPy5zdWJDYXRlZ29yeUlkXSlcbiAgICAgICAgICAgICAgICA/LmZsYXQoKVxuICAgICAgICAgICAgKSB8fCBbXSksXG4gICAgICAgICAgXSxcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICApO1xuXG4gICAgdGhpcy5zZWxlY3RlZFByb2dyYW1BbmRSZXNwID0gdGhpcy5zZWxlY3RlZFByb2dyYW1BbmRSZXNwLmZpbHRlcihcbiAgICAgIChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgcmV0dXJuIGRhdGE/LnJlc3BvbnNpYmlsaXR5Py5sZW5ndGggPiAwO1xuICAgICAgfVxuICAgICk7XG4gICAgdGhpcy5jaGFuZ2VTZWxlY3RlZFByb2dyYW1BbmRSZXNwLmVtaXQodGhpcy5zZWxlY3RlZFByb2dyYW1BbmRSZXNwKTtcbiAgfVxuXG4gIGdldFN1YkNhdGVnb3J5SWRzKHNlbGVjdGVkUmVzcG9uc2liaWxpdHk6IGFueSkge1xuICAgIGxldCBpZFNldDogYW55ID0gbmV3IFNldChcbiAgICAgIHNlbGVjdGVkUmVzcG9uc2liaWxpdHk/Lm1hcChcbiAgICAgICAgKHJlc3BvbnNpYmlsaXR5OiBhbnkpID0+IHJlc3BvbnNpYmlsaXR5Py5zdWJDYXRlZ29yeUlkID8/IFtdXG4gICAgICApXG4gICAgKTtcbiAgICBpZiAodGhpcy5NT0RFID09PSAnRURJVCcpIHtcbiAgICAgIGNvbnN0IHByb2dyYW1JbmRleCA9IHRoaXMuZmluZENoZWNrZWRQcm9ncmFtSW5kZXgoXG4gICAgICAgIHRoaXMuYWN0aXZlUHJvZ3JhbT8ucHJvZ3JhbUlkXG4gICAgICApO1xuICAgICAgaWYgKHByb2dyYW1JbmRleCAhPT0gLTEpIHtcbiAgICAgICAgY29uc3QgcGVydmlvdXNTZWxlY3RlZElkczogYW55ID1cbiAgICAgICAgICB0aGlzLnNlbGVjdGVkUHJvZ3JhbUFuZFJlc3BbcHJvZ3JhbUluZGV4XT8uY2F0ZWdvcnkgPz8gW107XG4gICAgICAgIGlkU2V0ID0gbmV3IFNldChbLi4uaWRTZXQsIC4uLnBlcnZpb3VzU2VsZWN0ZWRJZHNdKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIFsuLi5BcnJheS5mcm9tKGlkU2V0KV0uZmlsdGVyKChpdGVtKSA9PlxuICAgICAgQXJyYXkuaXNBcnJheShpdGVtKSA/IGl0ZW0ubGVuZ3RoID4gMCA6IHRydWVcbiAgICApO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmdcIj5cbiAgICA8ZGl2IGNsYXNzPVwidG9wLWhlYWRpbmcgdngtcGwtMiB2eC1tYi0yIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIj5cbiAgICAgICAgPGFwcC1jcy1jaGVja2JveCAqbmdJZj1cImlzQWxsU2VsZWN0ZWQoKSB8fCBzZWxlY3RlZExpc3REYXRhSWRzPy5sZW5ndGggPT09IDBcIiBbbmdWYWx1ZV09XCJpc0FsbFNlbGVjdGVkKClcIlxuICAgICAgICAgICAgKG5nVmFsdWVDaGFuZ2UpPVwic2VsZWN0QWxsKCRldmVudClcIj48L2FwcC1jcy1jaGVja2JveD5cbiAgICAgICAgPGFwcC1jcy1jaGVja2JveC1pbmRldGVybWluYXRlICpuZ0lmPVwiIWlzQWxsU2VsZWN0ZWQoKSAmJiBzZWxlY3RlZExpc3REYXRhSWRzPy5sZW5ndGhcIiBbbmdWYWx1ZV09XCJ0cnVlXCJcbiAgICAgICAgICAgIChuZ1ZhbHVlQ2hhbmdlKT1cInNlbGVjdEFsbChmYWxzZSlcIj48L2FwcC1jcy1jaGVja2JveC1pbmRldGVybWluYXRlPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidngtZnMtMTEgdngtZnctNTAwIHZ4LWxhYmVsLXR4dCB2eC10dC11cHBlcmNhc2UgdngtbWwtMiB2eC1saC00XCI+e3toZWFkZXJUZXh0fX08L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmctaW5uZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImdyYy1yZXNwb25zaWJpbGl0eS10YWJsZS1ib2R5XCIgW2NsYXNzLndpdGgtcGFnaW5hdGlvbl09XCJkYXRhTGlzdD8udG90YWxfcGFnZXMgPiAxXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JjLXJlc3BvbnNpYmlsaXR5LXRhYmxlLXJvd1wiICpuZ0Zvcj1cImxldCBsaXN0IG9mIGRhdGFMaXN0Py5kYXRhOyBsZXQgaSA9IGluZGV4XCJcbiAgICAgICAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cImFsbFNlbGVjdGVkUmVzcG9uc2liaWxpdHlJZHM/LmluY2x1ZGVzKGxpc3Q/Ll9pZClcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JjLXJlc3BvbnNpYmlsaXR5LXRhYmxlLWNvbHVtbiB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciBzZXJpYWxcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNyLW5vXCIgW2FwcFRvb2x0aXBdPVwiKHBlclBhZ2VMaW1pdCAqIChjdXJyZW50UGFnZSAtIDEpKSArIGkgKyAxXCIgcGxhY2VtZW50PVwiYm90dG9tXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlbGF5PVwiMFwiIHR5cGU9XCJibGFja1wiIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIj57eyhwZXJQYWdlTGltaXQgKiAoY3VycmVudFBhZ2UgLSAxKSkgKyBpICsgMX19XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8YXBwLWNzLWNoZWNrYm94IFtuZ1ZhbHVlXT1cImFsbFNlbGVjdGVkUmVzcG9uc2liaWxpdHlJZHM/LmluY2x1ZGVzKGxpc3Q/Ll9pZClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKG5nVmFsdWVDaGFuZ2UpPVwiZ2V0U2VsZWN0ZWREYXRhKGxpc3QsJGV2ZW50KVwiPjwvYXBwLWNzLWNoZWNrYm94PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJncmMtcmVzcG9uc2liaWxpdHktdGFibGUtY29sdW1uIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciByZXNwb25zaWJpbGl0eS1uYW1lXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1hdmF0YXItZ3JvdXAgdngtbXItMVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWF2YXRhciBtZFwiIFthcHBUb29sdGlwXT1cImxpc3Q/LmVudHJ1c3RlZEJ5Py5uYW1lXCIgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbGF5PVwiMFwiIHR5cGU9XCJibGFja1wiIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImxpc3Q/LmVudHJ1c3RlZEJ5Py5wcm9maWxlUGljID09PSAnJ1wiIGNsYXNzPVwiYmx1ZVwiPnt7bGlzdC5lbnRydXN0ZWRCeT8ubmFtZSB8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJTaG9ydE5hbWUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyAqbmdJZj1cImxpc3Q/LmVudHJ1c3RlZEJ5Py5wcm9maWxlUGljICE9PSAnJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNyYz1cInt7cHJvZmlsZVBpYyArIGxpc3Q/LmVudHJ1c3RlZEJ5Py5wcm9maWxlUGljfX1cIiBhbHQ9XCJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImxpc3Q/LmVudHJ1c3RlZFRvPy5FbnRydXN0ZWRUb01lbWJlcnM/Lmxlbmd0aCA9PT0gMFwiIGNsYXNzPVwidngtYXZhdGFyIG1kXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCJsaXN0Py5lbnRydXN0ZWRUbz8ubmFtZVwiIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCIgZGVsYXk9XCIwXCIgdHlwZT1cImJsYWNrXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJsaXN0Py5lbnRydXN0ZWRUbz8ucHJvZmlsZVBpYyA9PT0gJydcIiBjbGFzcz1cImJsdWVcIj57e2xpc3Q/LmVudHJ1c3RlZFRvPy5uYW1lIHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlclNob3J0TmFtZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nICpuZ0lmPVwibGlzdD8uZW50cnVzdGVkVG8/LnByb2ZpbGVQaWMgIT09ICcnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjPVwie3twcm9maWxlUGljICsgbGlzdD8uZW50cnVzdGVkVG8/LnByb2ZpbGVQaWN9fVwiIGFsdD1cIlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwibGlzdD8uZW50cnVzdGVkVG8/LkVudHJ1c3RlZFRvTWVtYmVycz8ubGVuZ3RoXCIgY2xhc3M9XCJ2eC1hdmF0YXIgbWQgY291bnRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwUG9wb3ZlciAoY2xpY2spPVwibXVsdGlVc2VyLnBvcG92ZXIoKVwiIHBsYWNlbWVudD1cImxlZnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImdyZWVuXCI+K3t7bGlzdD8uZW50cnVzdGVkVG8/LkVudHJ1c3RlZFRvTWVtYmVycz8ubGVuZ3RofX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhcHAtcG9wb3ZlciAjbXVsdGlVc2VyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3Zi1hY3Rpb24tbGlzdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJhY3Rpb24taXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCB1c2VyIG9mIGxpc3Q/LmVudHJ1c3RlZFRvPy5FbnRydXN0ZWRUb01lbWJlcnNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXZhdGFyLWNhcmRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInVzZXI/LnByb2ZpbGVfcGljID09PSAnJ1wiIGNsYXNzPVwiYXZhdGFyXCI+e3t1c2VyPy5tZW1iZXJfbmFtZSB8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyU2hvcnROYW1lIH19PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ1c2VyPy5wcm9maWxlX3BpYyAhPT0gJydcIiBjbGFzcz1cImF2YXRhclwiPjxpbWdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcmM9XCJ7e3Byb2ZpbGVQaWMgKyB1c2VyPy5wcm9maWxlX3BpY319XCIgYWx0PVwiXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmFsdWVcIiBbYXBwVG9vbHRpcF09XCJ1c2VyLm1lbWJlcl9uYW1lXCIgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsYXk9XCIwXCIgdHlwZT1cImJsYWNrXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cImZhbHNlXCI+e3t1c2VyPy5tZW1iZXJfbmFtZX19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYXBwLXBvcG92ZXI+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8IS0tIDxpIGNsYXNzPVwiaWNvbnMgc3RhciB2eC1mcy0xMCB2eC1tci0xXCIgW2NsYXNzLmFjdGl2ZV09XCJ0cnVlXCI+JiN4ZWE3MDs8L2k+IC0tPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibmFtZS1pbm5lclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibmFtZSB2eC1mcy0xMyB2eC1sYWJlbC10eHRcIiBbYXBwVG9vbHRpcF09XCJsaXN0Py5uYW1lXCIgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWxheT1cIjBcIiB0eXBlPVwiYmxhY2tcIiBbdG9vbHRpcE1hbmRhdG9yeV09XCJmYWxzZVwiPnt7bGlzdD8ubmFtZX19PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCIgKm5nSWY9XCJsaXN0Py53aXRoaW5EYXRhPy5sZW5ndGhcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidngtZnMtMTAgdngtZnctNTAwIHZ4LWxhYmVsLXR4dCB2eC10dC11cHBlcmNhc2UgdngtbXItMVwiPlJFU1BPTlNJQklMSVRZIENFTlRFUjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2l0aGluLXBhcnQgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1wci0zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwid2l0aGluLWJveCB2eC1mcy05IHZ4LWZ3LTYwMCB2eC10dC11cHBlcmNhc2UgdngtcGwtMSB2eC1wci0xIHZ4LW1yLTIgdngtbGgtM1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2l0aGluPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3aXRoaW4tdmFsdWUgdngtZnMtMTEgdngtcGFyYWdyYXBoLXR4dFwiPjxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IHBhcmVudCBvZiBsaXN0Py53aXRoaW5EYXRhOyBsZXQgbGFzdCA9IGxhc3RcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cInBhcmVudD8ubmFtZVwiIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCIgZGVsYXk9XCIwXCIgdHlwZT1cImJsYWNrXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJmYWxzZVwiPnt7cGFyZW50Py5uYW1lfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFsYXN0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGFwcC1wYWdpbmF0aW9uICpuZ0lmPVwiZGF0YUxpc3Q/LnRvdGFsX3BhZ2VzID4gMVwiIFtzdGFydF09XCJkYXRhTGlzdD8uaXRlbXNfZnJvbVwiIFtlbmRdPVwiZGF0YUxpc3Q/Lml0ZW1zX3RvXCJcbiAgICAgICAgICAgIFt0b3RhbF09XCJkYXRhTGlzdD8udG90YWxfaXRlbXNcIiBbcGFnZUNvdW50XT1cImRhdGFMaXN0Py50b3RhbF9wYWdlc1wiIFtjdXJyZW50UGFnZV09XCJjdXJyZW50UGFnZVwiXG4gICAgICAgICAgICAoc2VsZWN0ZWRQYWdlKT1cImNoYW5nZVBhZ2UoJGV2ZW50KVwiPjwvYXBwLXBhZ2luYXRpb24+XG4gICAgPC9kaXY+XG48L2Rpdj4iXX0=
@@ -60,6 +60,7 @@ export class ListPopupComponent {
60
60
  this.listObject[this.openedPopup].selectedData = selectedData ?? [];
61
61
  break;
62
62
  case 'PROGRAM_RESPONSIBILITY':
63
+ console.log('selectedData', selectedData);
63
64
  this.listObject[this.openedPopup].selectedData = selectedData ?? [];
64
65
  break;
65
66
  }
@@ -206,4 +207,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
206
207
  outputs: ['onSaveSelectedList', 'getOtherGRCObjects'],
207
208
  }]
208
209
  }] });
209
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1wb3B1cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi93b3JrZmxvdy9zaGFyZWQvY29tcG9uZW50cy9saXN0LXBvcHVwL2xpc3QtcG9wdXAuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUE0QixNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlFQUF5RSxDQUFDO0FBRXZHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBFQUEwRSxDQUFDO0FBQ25ILE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLG9FQUFvRSxDQUFDO0FBQ3RILE9BQU8sRUFBRSxxQ0FBcUMsRUFBRSxNQUFNLDRFQUE0RSxDQUFDOzs7O0FBRW5JLDBDQUEwQztBQTBFMUMsTUFBTSxPQUFPLGtCQUFrQjtJQXpFL0I7UUEwRUUsZ0JBQVcsR0FBd0IsRUFBRSxDQUFDO1FBQ3RDLGVBQVUsR0FBZTtZQUN2QixFQUFFLEVBQUU7Z0JBQ0YsU0FBUyxFQUFFLEtBQUs7Z0JBQ2hCLElBQUksRUFBRSxFQUFFO2dCQUNSLFlBQVksRUFBRSxFQUFFO2FBQ2pCO1lBQ0QsS0FBSyxFQUFFO2dCQUNMLFNBQVMsRUFBRSxLQUFLO2dCQUNoQixJQUFJLEVBQUUsRUFBRTtnQkFDUixZQUFZLEVBQUUsRUFBRTthQUNqQjtZQUNELGlCQUFpQixFQUFFO2dCQUNqQixTQUFTLEVBQUUsS0FBSztnQkFDaEIsSUFBSSxFQUFFLEVBQUU7Z0JBQ1IsWUFBWSxFQUFFLEVBQUU7YUFDakI7WUFDRCxhQUFhLEVB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MUIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFlBQVk7d0JBQ1osc0JBQXNCO3dCQUN0Qix1QkFBdUI7d0JBQ3ZCLGdDQUFnQzt3QkFDaEMscUNBQXFDO3FCQUN0QztvQkFDRCxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1EVDtvQkFDRCxNQUFNLEVBQUU7d0JBQ04sYUFBYTt3QkFDYixZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsZ0JBQWdCO3dCQUNoQixhQUFhO3dCQUNiLE1BQU07cUJBQ1A7b0JBQ0QsT0FBTyxFQUFFLENBQUMsb0JBQW9CLEVBQUUsb0JBQW9CLENBQUM7aUJBQ3REIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFJjTGlzdE1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZENvbXBvbmVudHMvcmVzcG9uc2liaWxpdHktY2VudGVycy1saXN0L3JjLWxpc3QubW9kdWxlJztcbmltcG9ydCB7IExpc3RPYmplY3QsIE9wZW5lZFBvcHVwIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9hZGQtZ3JjJztcbmltcG9ydCB7IEdyY09iamVjdExpc3RDb21wb25lbnQgfSBmcm9tICcuLi9ncmMtb2JqZWN0LWxpc3QvZ3JjLW9iamVjdC1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHcm91cFVzZXJzTGlzdENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZENvbXBvbmVudHMvZ3JvdXAtdXNlcnMtbGlzdC9ncm91cC11c2Vycy1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSaXNrQ2F0ZWdvcnlSaXNrTGlzdGluZ0NvbXBvbmVudCB9IGZyb20gJy4uL3Jpc2stY2F0ZWdvcnktcmlzay1saXN0aW5nL3Jpc2stY2F0ZWdvcnktcmlzay1saXN0aW5nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9ncmFtUmVzcG9uc2liaWxpdHlMaXN0aW5nQ29tcG9uZW50IH0gZnJvbSAnLi4vcHJvZ3JhbS1yZXNwb25zaWJpbGl0eS1saXN0aW5nL3Byb2dyYW0tcmVzcG9uc2liaWxpdHktbGlzdGluZy5jb21wb25lbnQnO1xuXG4vLyB0aGlzIGNvbXBvbmVudCB3aWxsIG9wZW4gYWxsIGxpc3QgcG9wdXBcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1saXN0LXBvcHVwJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBSY0xpc3RNb2R1bGUsXG4gICAgR3JjT2JqZWN0TGlzdENvbXBvbmVudCxcbiAgICBHcm91cFVzZXJzTGlzdENvbXBvbmVudCxcbiAgICBSaXNrQ2F0ZWdvcnlSaXNrTGlzdGluZ0NvbXBvbmVudCxcbiAgICBQcm9ncmFtUmVzcG9uc2liaWxpdHlMaXN0aW5nQ29tcG9uZW50LFxuICBdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxhcHAtcmVzcG9uc2liaWxpdHktY2VudGVycy1saXN0XG4gICAgICAqbmdJZj1cIm9wZW5lZFBvcHVwID09PSAnUkMnXCJcbiAgICAgIFtyZXNwb25zaWJpbGl0eUNlbnRlcnNMaXN0XT1cImxpc3RPYmplY3Rbb3BlbmVkUG9wdXBdPy5kYXRhXCJcbiAgICAgIFtzZWxlY3RlZFJlc3BvbnNpYmlsaXR5Q2VudGVyc109XCJsaXN0T2JqZWN0W29wZW5lZFBvcHVwXT8uc2VsZWN0ZWREYXRhXCJcbiAgICAgIFtyY0lkS2V5XT1cIidpdGVtX2lkJ1wiXG4gICAgICAoc2F2ZVNlbGVjdGVkTGlzdCk9XCJzYXZlU2VsZWN0ZWRMaXN0KCRldmVudClcIlxuICAgICAgKGNsb3NlUmNMaXN0KT1cImFjdGl2ZURlU2VsZWN0b3IoKVwiXG4gICAgPjwvYXBwLXJlc3BvbnNpYmlsaXR5LWNlbnRlcnMtbGlzdD5cbiAgICA8YXBwLWdyYy1vYmplY3QtbGlzdFxuICAgICAgKm5nSWY9XCJvcGVuZWRQb3B1cCA9PT0gJ09USEVSX0dSQ19PQkpFQ1RTJ1wiXG4gICAgICBbZ3JjT2JqZWN0XT1cImxpc3RPYmplY3Rbb3BlbmVkUG9wdXBdPy5kYXRhXCJcbiAgICAgIFtzZWxlY3RlZEdSQ109XCJsaXN0T2JqZWN0W29wZW5lZFBvcHVwXT8uc2VsZWN0ZWREYXRhXCJcbiAgICAgIFtsb2FkZXJdPVwibGlzdE9iamVjdFtvcGVuZWRQb3B1cF0/LmlzTG9hZGluZ1wiXG4gICAgICBbdGFibGVDYXJkXT1cInRhYmxlQ2FyZFwiXG4gICAgICBbc2VsZWN0ZWRUYWJdPVwiR1JDU2VsZWN0ZWRUYWJcIlxuICAgICAgW2NhcmRMb2FkZXJdPVwib3RoZXJHcmNDYXJkTG9hZGVyXCJcbiAgICAgIFttb2RlXT1cIm1vZGVcIlxuICAgICAgW29uRWRpdEdSQ0lkXT1cIm9uRWRpdEdSQ0lkXCJcbiAgICAgIChnZXRPdGhlckdSQ09iamVjdHMpPVwiZ2V0T3RoZXJHUkNPYmplY3RMaXN0KCRldmVudClcIlxuICAgICAgKHNhdmVPdGhlckdSQyk9XCJzYXZlU2VsZWN0ZWRMaXN0KCRldmVudClcIlxuICAgICAgKGNsb3NlT3RoZXJHUkMpPVwic2F2ZVNlbGVjdGVkTGlzdCgkZXZlbnQpXCJcbiAgICA+PC9hcHAtZ3JjLW9iamVjdC1saXN0PlxuICAgIDxhcHAtZ3JvdXAtdXNlcnMtbGlzdFxuICAgICAgKm5nSWY9XCJvcGVuZWRQb3B1cCA9PT0gJ09XTkVSJ1wiXG4gICAgICBbdXNlcnNMaXN0XT1cImxpc3RPYmplY3Rbb3BlbmVkUG9wdXBdPy5kYXRhPy5hc3NpZ25lZXNMaXN0ID8/IFtdXCJcbiAgICAgIFtncm91cHNMaXN0XT1cImxpc3RPYmplY3Rbb3BlbmVkUG9wdXBdPy5kYXRhPy5ncm91cHNMaXN0ID8/IFtdXCJcbiAgICAgIFtzZWxlY3RlZFVzZXJzXT1cImxpc3RPYmplY3Rbb3BlbmVkUG9wdXBdLnNlbGVjdGVkRGF0YVwiXG4gICAgICBbbG9hZGVyXT1cImxpc3RPYmplY3Rbb3BlbmVkUG9wdXBdPy5pc0xvYWRpbmdcIlxuICAgICAgW3VzZXJJZEtleV09XCInbWVtYmVyX2lkJ1wiXG4gICAgICBbaXNEaXNhYmxlZFNlbGVjdGVkXT1cInRydWVcIlxuICAgICAgW2Rpc2FibGVkSWRdPVwibGlzdE9iamVjdFtvcGVuZWRQb3B1cF0/LmRpc2FibGVkSWRzXCJcbiAgICAgIFtmcm9tUmVzcG9uc2liaWxpdHldPVwiJ0Fzc2lnbmVlJ1wiXG4gICAgICAoc2F2ZVNlbGVjdGVkTGlzdCk9XCJzYXZlU2VsZWN0ZWRMaXN0KCRldmVudClcIlxuICAgICAgKGNsb3NlVXNlcnNMaXN0KT1cImFjdGl2ZURlU2VsZWN0b3IoKVwiXG4gICAgPlxuICAgIDwvYXBwLWdyb3VwLXVzZXJzLWxpc3Q+XG4gICAgPGFwcC1yaXNrLWNhdGVnb3J5LXJpc2stbGlzdGluZ1xuICAgICAgKm5nSWY9XCJvcGVuZWRQb3B1cCA9PT0gJ1JJU0tfQ0FURUdPUlknXCJcbiAgICAgIFtzZWxlY3RlZFJDXT1cImxpc3RPYmplY3Q/LlJDPy5zZWxlY3RlZERhdGFcIlxuICAgICAgW3NlbGVjdGVkQ2F0QW5kUmlza109XCJsaXN0T2JqZWN0W29wZW5lZFBvcHVwXT8uc2VsZWN0ZWREYXRhXCJcbiAgICAgIChjbG9zZVVzZXJzTGlzdCk9XCJzYXZlU2VsZWN0ZWRMaXN0KCRldmVudClcIlxuICAgID48L2FwcC1yaXNrLWNhdGVnb3J5LXJpc2stbGlzdGluZz5cbiAgXG4gICAgPGFwcC1wcm9ncmFtLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmdcbiAgICAgICpuZ0lmPVwib3BlbmVkUG9wdXAgPT09ICdQUk9HUkFNX1JFU1BPTlNJQklMSVRZJ1wiXG4gICAgICBbTU9ERV09XCJtb2RlXCJcbiAgICAgIFtzZWxlY3RlZFJDXT1cImxpc3RPYmplY3Q/LlJDPy5zZWxlY3RlZERhdGFcIlxuICAgICAgW3NlbGVjdGVkUHJvZ3JhbUFuZFJlc3BdPVwibGlzdE9iamVjdFtvcGVuZWRQb3B1cF0/LnNlbGVjdGVkRGF0YVwiXG4gICAgICAoY2xvc2VMaXN0KT1cInNhdmVTZWxlY3RlZExpc3QoJGV2ZW50KVwiXG4gICAgPjwvYXBwLXByb2dyYW0tcmVzcG9uc2liaWxpdHktbGlzdGluZz5cbiAgYCxcbiAgaW5wdXRzOiBbXG4gICAgJ29wZW5lZFBvcHVwJyxcbiAgICAnbGlzdE9iamVjdCcsXG4gICAgJ3RhYmxlQ2FyZCcsXG4gICAgJ0dSQ1NlbGVjdGVkVGFiJyxcbiAgICAnb25FZGl0R1JDSWQnLFxuICAgICdtb2RlJyxcbiAgXSxcbiAgb3V0cHV0czogWydvblNhdmVTZWxlY3RlZExpc3QnLCAnZ2V0T3RoZXJHUkNPYmplY3RzJ10sXG59KVxuZXhwb3J0IGNsYXNzIExpc3RQb3B1cENvbXBvbmVudCB7XG4gIG9wZW5lZFBvcHVwOiBPcGVuZWRQb3B1cFsndHlwZSddID0gJyc7XG4gIGxpc3RPYmplY3Q6IExpc3RPYmplY3QgPSB7XG4gICAgUkM6IHtcbiAgICAgIGlzTG9hZGluZzogZmFsc2UsXG4gICAgICBkYXRhOiBbXSxcbiAgICAgIHNlbGVjdGVkRGF0YTogW10sXG4gICAgfSxcbiAgICBPV05FUjoge1xuICAgICAgaXNMb2FkaW5nOiBmYWxzZSxcbiAgICAgIGRhdGE6IFtdLFxuICAgICAgc2VsZWN0ZWREYXRhOiBbXSxcbiAgICB9LFxuICAgIE9USEVSX0dSQ19PQkpFQ1RTOiB7XG4gICAgICBpc0xvYWRpbmc6IGZhbHNlLFxuICAgICAgZGF0YToge30sXG4gICAgICBzZWxlY3RlZERhdGE6IFtdLFxuICAgIH0sXG4gICAgUklTS19DQVRFR09SWToge1xuICAgICAgaXNMb2FkaW5nOiBmYWxzZSxcbiAgICAgIGRhdGE6IHt9LFxuICAgICAgc2VsZWN0ZWREYXRhOiBbXSxcbiAgICB9LFxuICAgIFBST0dSQU1fUkVTUE9OU0lCSUxJVFk6IHtcbiAgICAgIGlzTG9hZGluZzogZmFsc2UsXG4gICAgICBkYXRhOiB7fSxcbiAgICAgIHNlbGVjdGVkRGF0YTogW10sXG4gICAgfSxcbiAgfTtcbiAgdGFibGVDYXJkOiBhbnkgPSBbXTtcbiAgR1JDU2VsZWN0ZWRUYWI6IDAgfCAxIHwgMiB8IDMgPSAwO1xuICBvdGhlckdyY0NhcmRMb2FkZXI6IGJvb2xlYW4gPSBmYWxzZTtcbiAgbW9kZTogJ0NSRUFURScgfCAnRURJVCcgPSAnQ1JFQVRFJztcbiAgb25FZGl0R1JDSWQ6IHN0cmluZyA9ICcnO1xuXG4gIG9uU2F2ZVNlbGVjdGVkTGlzdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIGdldE90aGVyR1JDT2JqZWN0czogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgc2F2ZVNlbGVjdGVkTGlzdChzZWxlY3RlZERhdGE6IG51bWJlcltdKSB7XG4gICAgc3dpdGNoICh0aGlzLm9wZW5lZFBvcHVwKSB7XG4gICAgICBcbiAgICAgIGNhc2UgJ1JDJzpcbiAgICAgICAgdGhpcy5saXN0T2JqZWN0W3RoaXMub3BlbmVkUG9wdXBdLnNlbGVjdGVkRGF0YSA9XG4gICAgICAgICAgdGhpcy5saXN0T2JqZWN0LlJDLmRhdGEuZmlsdGVyKChyYzogYW55KSA9PlxuICAgICAgICAgICAgc2VsZWN0ZWREYXRhLmluY2x1ZGVzKHJjLml0ZW1faWQpXG4gICAgICAgICAgKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdPV05FUic6XG4gICAgICAgIHRoaXMubGlzdE9iamVjdFt0aGlzLm9wZW5lZFBvcHVwXS5zZWxlY3RlZERhdGEgPSB0aGlzLmxpc3RPYmplY3RbXG4gICAgICAgICAgdGhpcy5vcGVuZWRQb3B1cFxuICAgICAgICBdLmRhdGEuYXNzaWduZWVzTGlzdC5maWx0ZXIoKHVzZXI6IGFueSkgPT5cbiAgICAgICAgICBzZWxlY3RlZERhdGEuaW5jbHVkZXModXNlci5teV9tZW1iZXJfaWQpXG4gICAgICAgICk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnUklTS19DQVRFR09SWSc6XG4gICAgICAgIHRoaXMubGlzdE9iamVjdFt0aGlzLm9wZW5lZFBvcHVwXS5zZWxlY3RlZERhdGEgPSBzZWxlY3RlZERhdGEgPz8gW107XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnUFJPR1JBTV9SRVNQT05TSUJJTElUWSc6XG4gICAgICAgIHRoaXMubGlzdE9iamVjdFt0aGlzLm9wZW5lZFBvcHVwXS5zZWxlY3RlZERhdGEgPSBzZWxlY3RlZERhdGEgPz8gW107XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgICBpZiAodGhpcy5vcGVuZWRQb3B1cCA9PT0gJ1JDJyB8fCB0aGlzLm9wZW5lZFBvcHVwID09PSAnT1dORVInKSB7XG4gICAgfVxuICAgIGlmICh0aGlzLm9wZW5lZFBvcHVwID09PSAnT1RIRVJfR1JDX09CSkVDVFMnKSB7XG4gICAgICB0aGlzLmxpc3RPYmplY3RbdGhpcy5vcGVuZWRQb3B1cF0uc2VsZWN0ZWREYXRhID0gc2VsZWN0ZWREYXRhO1xuICAgIH1cbiAgXG4gICAgdGhpcy5vblNhdmVTZWxlY3RlZExpc3QuZW1pdCh0aGlzLmxpc3RPYmplY3QpO1xuICB9XG5cbiAgYWN0aXZlRGVTZWxlY3RvcigpIHtcbiAgICB0aGlzLm9uU2F2ZVNlbGVjdGVkTGlzdC5lbWl0KHRoaXMubGlzdE9iamVjdCk7XG4gIH1cblxuICBnZXRPdGhlckdSQ09iamVjdExpc3QoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuZ2V0T3RoZXJHUkNPYmplY3RzLmVtaXQoZXZlbnQpO1xuICB9XG59XG4iXX0=
210
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1wb3B1cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi93b3JrZmxvdy9zaGFyZWQvY29tcG9uZW50cy9saXN0LXBvcHVwL2xpc3QtcG9wdXAuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUE0QixNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlFQUF5RSxDQUFDO0FBRXZHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBFQUEwRSxDQUFDO0FBQ25ILE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLG9FQUFvRSxDQUFDO0FBQ3RILE9BQU8sRUFBRSxxQ0FBcUMsRUFBRSxNQUFNLDRFQUE0RSxDQUFDOzs7O0FBRW5JLDBDQUEwQztBQTBFMUMsTUFBTSxPQUFPLGtCQUFrQjtJQXpFL0I7UUEwRUUsZ0JBQVcsR0FBd0IsRUFBRSxDQUFDO1FBQ3RDLGVBQVUsR0FBZTtZQUN2QixFQUFFLEVBQUU7Z0JBQ0YsU0FBUyxFQUFFLEtBQUs7Z0JBQ2hCLElBQUksRUFBRSxFQUFFO2dCQUNSLFlBQVksRUFBRSxFQUFFO2FBQ2pCO1lBQ0QsS0FBSyxFQUFFO2dCQUNMLFNBQVMsRUFBRSxLQUFLO2dCQUNoQixJQUFJLEVBQUUsRUFBRTtnQkFDUixZQUFZLEVBQUUsRUFBRTthQUNqQjtZQUNELGlCQUFpQixFQUFFO2dCQUNqQixTQUFTLEVBQUUsS0FBSztnQkFDaEIsSUFBSSxFQUFFLEVBQUU7Z0JBQ1IsWUFBWSxFQUFFLEVBQUU7YUFDakI7WUFDRCxhQUFhLEVB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QkFBa0I7a0JBekU5QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixZQUFZO3dCQUNaLHNCQUFzQjt3QkFDdEIsdUJBQXVCO3dCQUN2QixnQ0FBZ0M7d0JBQ2hDLHFDQUFxQztxQkFDdEM7b0JBQ0QsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtRFQ7b0JBQ0QsTUFBTSxFQUFFO3dCQUNOLGFBQWE7d0JBQ2IsWUFBWTt3QkFDWixXQUFXO3dCQUNYLGdCQUFnQjt3QkFDaEIsYUFBYTt3QkFDYixNQUFNO3FCQUNQO29CQUNELE9BQU8sRUFBRSxDQUFDLG9CQUFvQixFQUFFLG9CQUFvQixDQUFDO2lCQUN0RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBSY0xpc3RNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWRDb21wb25lbnRzL3Jlc3BvbnNpYmlsaXR5LWNlbnRlcnMtbGlzdC9yYy1saXN0Lm1vZHVsZSc7XG5pbXBvcnQgeyBMaXN0T2JqZWN0LCBPcGVuZWRQb3B1cCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvYWRkLWdyYyc7XG5pbXBvcnQgeyBHcmNPYmplY3RMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi4vZ3JjLW9iamVjdC1saXN0L2dyYy1vYmplY3QtbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgR3JvdXBVc2Vyc0xpc3RDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWRDb21wb25lbnRzL2dyb3VwLXVzZXJzLWxpc3QvZ3JvdXAtdXNlcnMtbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmlza0NhdGVnb3J5Umlza0xpc3RpbmdDb21wb25lbnQgfSBmcm9tICcuLi9yaXNrLWNhdGVnb3J5LXJpc2stbGlzdGluZy9yaXNrLWNhdGVnb3J5LXJpc2stbGlzdGluZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJvZ3JhbVJlc3BvbnNpYmlsaXR5TGlzdGluZ0NvbXBvbmVudCB9IGZyb20gJy4uL3Byb2dyYW0tcmVzcG9uc2liaWxpdHktbGlzdGluZy9wcm9ncmFtLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcuY29tcG9uZW50JztcblxuLy8gdGhpcyBjb21wb25lbnQgd2lsbCBvcGVuIGFsbCBsaXN0IHBvcHVwXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItbGlzdC1wb3B1cCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgUmNMaXN0TW9kdWxlLFxuICAgIEdyY09iamVjdExpc3RDb21wb25lbnQsXG4gICAgR3JvdXBVc2Vyc0xpc3RDb21wb25lbnQsXG4gICAgUmlza0NhdGVnb3J5Umlza0xpc3RpbmdDb21wb25lbnQsXG4gICAgUHJvZ3JhbVJlc3BvbnNpYmlsaXR5TGlzdGluZ0NvbXBvbmVudCxcbiAgXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8YXBwLXJlc3BvbnNpYmlsaXR5LWNlbnRlcnMtbGlzdFxuICAgICAgKm5nSWY9XCJvcGVuZWRQb3B1cCA9PT0gJ1JDJ1wiXG4gICAgICBbcmVzcG9uc2liaWxpdHlDZW50ZXJzTGlzdF09XCJsaXN0T2JqZWN0W29wZW5lZFBvcHVwXT8uZGF0YVwiXG4gICAgICBbc2VsZWN0ZWRSZXNwb25zaWJpbGl0eUNlbnRlcnNdPVwibGlzdE9iamVjdFtvcGVuZWRQb3B1cF0/LnNlbGVjdGVkRGF0YVwiXG4gICAgICBbcmNJZEtleV09XCInaXRlbV9pZCdcIlxuICAgICAgKHNhdmVTZWxlY3RlZExpc3QpPVwic2F2ZVNlbGVjdGVkTGlzdCgkZXZlbnQpXCJcbiAgICAgIChjbG9zZVJjTGlzdCk9XCJhY3RpdmVEZVNlbGVjdG9yKClcIlxuICAgID48L2FwcC1yZXNwb25zaWJpbGl0eS1jZW50ZXJzLWxpc3Q+XG4gICAgPGFwcC1ncmMtb2JqZWN0LWxpc3RcbiAgICAgICpuZ0lmPVwib3BlbmVkUG9wdXAgPT09ICdPVEhFUl9HUkNfT0JKRUNUUydcIlxuICAgICAgW2dyY09iamVjdF09XCJsaXN0T2JqZWN0W29wZW5lZFBvcHVwXT8uZGF0YVwiXG4gICAgICBbc2VsZWN0ZWRHUkNdPVwibGlzdE9iamVjdFtvcGVuZWRQb3B1cF0/LnNlbGVjdGVkRGF0YVwiXG4gICAgICBbbG9hZGVyXT1cImxpc3RPYmplY3Rbb3BlbmVkUG9wdXBdPy5pc0xvYWRpbmdcIlxuICAgICAgW3RhYmxlQ2FyZF09XCJ0YWJsZUNhcmRcIlxuICAgICAgW3NlbGVjdGVkVGFiXT1cIkdSQ1NlbGVjdGVkVGFiXCJcbiAgICAgIFtjYXJkTG9hZGVyXT1cIm90aGVyR3JjQ2FyZExvYWRlclwiXG4gICAgICBbbW9kZV09XCJtb2RlXCJcbiAgICAgIFtvbkVkaXRHUkNJZF09XCJvbkVkaXRHUkNJZFwiXG4gICAgICAoZ2V0T3RoZXJHUkNPYmplY3RzKT1cImdldE90aGVyR1JDT2JqZWN0TGlzdCgkZXZlbnQpXCJcbiAgICAgIChzYXZlT3RoZXJHUkMpPVwic2F2ZVNlbGVjdGVkTGlzdCgkZXZlbnQpXCJcbiAgICAgIChjbG9zZU90aGVyR1JDKT1cInNhdmVTZWxlY3RlZExpc3QoJGV2ZW50KVwiXG4gICAgPjwvYXBwLWdyYy1vYmplY3QtbGlzdD5cbiAgICA8YXBwLWdyb3VwLXVzZXJzLWxpc3RcbiAgICAgICpuZ0lmPVwib3BlbmVkUG9wdXAgPT09ICdPV05FUidcIlxuICAgICAgW3VzZXJzTGlzdF09XCJsaXN0T2JqZWN0W29wZW5lZFBvcHVwXT8uZGF0YT8uYXNzaWduZWVzTGlzdCA/PyBbXVwiXG4gICAgICBbZ3JvdXBzTGlzdF09XCJsaXN0T2JqZWN0W29wZW5lZFBvcHVwXT8uZGF0YT8uZ3JvdXBzTGlzdCA/PyBbXVwiXG4gICAgICBbc2VsZWN0ZWRVc2Vyc109XCJsaXN0T2JqZWN0W29wZW5lZFBvcHVwXS5zZWxlY3RlZERhdGFcIlxuICAgICAgW2xvYWRlcl09XCJsaXN0T2JqZWN0W29wZW5lZFBvcHVwXT8uaXNMb2FkaW5nXCJcbiAgICAgIFt1c2VySWRLZXldPVwiJ21lbWJlcl9pZCdcIlxuICAgICAgW2lzRGlzYWJsZWRTZWxlY3RlZF09XCJ0cnVlXCJcbiAgICAgIFtkaXNhYmxlZElkXT1cImxpc3RPYmplY3Rbb3BlbmVkUG9wdXBdPy5kaXNhYmxlZElkc1wiXG4gICAgICBbZnJvbVJlc3BvbnNpYmlsaXR5XT1cIidBc3NpZ25lZSdcIlxuICAgICAgKHNhdmVTZWxlY3RlZExpc3QpPVwic2F2ZVNlbGVjdGVkTGlzdCgkZXZlbnQpXCJcbiAgICAgIChjbG9zZVVzZXJzTGlzdCk9XCJhY3RpdmVEZVNlbGVjdG9yKClcIlxuICAgID5cbiAgICA8L2FwcC1ncm91cC11c2Vycy1saXN0PlxuICAgIDxhcHAtcmlzay1jYXRlZ29yeS1yaXNrLWxpc3RpbmdcbiAgICAgICpuZ0lmPVwib3BlbmVkUG9wdXAgPT09ICdSSVNLX0NBVEVHT1JZJ1wiXG4gICAgICBbc2VsZWN0ZWRSQ109XCJsaXN0T2JqZWN0Py5SQz8uc2VsZWN0ZWREYXRhXCJcbiAgICAgIFtzZWxlY3RlZENhdEFuZFJpc2tdPVwibGlzdE9iamVjdFtvcGVuZWRQb3B1cF0/LnNlbGVjdGVkRGF0YVwiXG4gICAgICAoY2xvc2VVc2Vyc0xpc3QpPVwic2F2ZVNlbGVjdGVkTGlzdCgkZXZlbnQpXCJcbiAgICA+PC9hcHAtcmlzay1jYXRlZ29yeS1yaXNrLWxpc3Rpbmc+XG4gIFxuICAgIDxhcHAtcHJvZ3JhbS1yZXNwb25zaWJpbGl0eS1saXN0aW5nXG4gICAgICAqbmdJZj1cIm9wZW5lZFBvcHVwID09PSAnUFJPR1JBTV9SRVNQT05TSUJJTElUWSdcIlxuICAgICAgW01PREVdPVwibW9kZVwiXG4gICAgICBbc2VsZWN0ZWRSQ109XCJsaXN0T2JqZWN0Py5SQz8uc2VsZWN0ZWREYXRhXCJcbiAgICAgIFtzZWxlY3RlZFByb2dyYW1BbmRSZXNwXT1cImxpc3RPYmplY3Rbb3BlbmVkUG9wdXBdPy5zZWxlY3RlZERhdGFcIlxuICAgICAgKGNsb3NlTGlzdCk9XCJzYXZlU2VsZWN0ZWRMaXN0KCRldmVudClcIlxuICAgID48L2FwcC1wcm9ncmFtLXJlc3BvbnNpYmlsaXR5LWxpc3Rpbmc+XG4gIGAsXG4gIGlucHV0czogW1xuICAgICdvcGVuZWRQb3B1cCcsXG4gICAgJ2xpc3RPYmplY3QnLFxuICAgICd0YWJsZUNhcmQnLFxuICAgICdHUkNTZWxlY3RlZFRhYicsXG4gICAgJ29uRWRpdEdSQ0lkJyxcbiAgICAnbW9kZScsXG4gIF0sXG4gIG91dHB1dHM6IFsnb25TYXZlU2VsZWN0ZWRMaXN0JywgJ2dldE90aGVyR1JDT2JqZWN0cyddLFxufSlcbmV4cG9ydCBjbGFzcyBMaXN0UG9wdXBDb21wb25lbnQge1xuICBvcGVuZWRQb3B1cDogT3BlbmVkUG9wdXBbJ3R5cGUnXSA9ICcnO1xuICBsaXN0T2JqZWN0OiBMaXN0T2JqZWN0ID0ge1xuICAgIFJDOiB7XG4gICAgICBpc0xvYWRpbmc6IGZhbHNlLFxuICAgICAgZGF0YTogW10sXG4gICAgICBzZWxlY3RlZERhdGE6IFtdLFxuICAgIH0sXG4gICAgT1dORVI6IHtcbiAgICAgIGlzTG9hZGluZzogZmFsc2UsXG4gICAgICBkYXRhOiBbXSxcbiAgICAgIHNlbGVjdGVkRGF0YTogW10sXG4gICAgfSxcbiAgICBPVEhFUl9HUkNfT0JKRUNUUzoge1xuICAgICAgaXNMb2FkaW5nOiBmYWxzZSxcbiAgICAgIGRhdGE6IHt9LFxuICAgICAgc2VsZWN0ZWREYXRhOiBbXSxcbiAgICB9LFxuICAgIFJJU0tfQ0FURUdPUlk6IHtcbiAgICAgIGlzTG9hZGluZzogZmFsc2UsXG4gICAgICBkYXRhOiB7fSxcbiAgICAgIHNlbGVjdGVkRGF0YTogW10sXG4gICAgfSxcbiAgICBQUk9HUkFNX1JFU1BPTlNJQklMSVRZOiB7XG4gICAgICBpc0xvYWRpbmc6IGZhbHNlLFxuICAgICAgZGF0YToge30sXG4gICAgICBzZWxlY3RlZERhdGE6IFtdLFxuICAgIH0sXG4gIH07XG4gIHRhYmxlQ2FyZDogYW55ID0gW107XG4gIEdSQ1NlbGVjdGVkVGFiOiAwIHwgMSB8IDIgfCAzID0gMDtcbiAgb3RoZXJHcmNDYXJkTG9hZGVyOiBib29sZWFuID0gZmFsc2U7XG4gIG1vZGU6ICdDUkVBVEUnIHwgJ0VESVQnID0gJ0NSRUFURSc7XG4gIG9uRWRpdEdSQ0lkOiBzdHJpbmcgPSAnJztcblxuICBvblNhdmVTZWxlY3RlZExpc3Q6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBnZXRPdGhlckdSQ09iamVjdHM6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHNhdmVTZWxlY3RlZExpc3Qoc2VsZWN0ZWREYXRhOiBudW1iZXJbXSkge1xuICAgIHN3aXRjaCAodGhpcy5vcGVuZWRQb3B1cCkge1xuICAgICAgXG4gICAgICBjYXNlICdSQyc6XG4gICAgICAgIHRoaXMubGlzdE9iamVjdFt0aGlzLm9wZW5lZFBvcHVwXS5zZWxlY3RlZERhdGEgPVxuICAgICAgICAgIHRoaXMubGlzdE9iamVjdC5SQy5kYXRhLmZpbHRlcigocmM6IGFueSkgPT5cbiAgICAgICAgICAgIHNlbGVjdGVkRGF0YS5pbmNsdWRlcyhyYy5pdGVtX2lkKVxuICAgICAgICAgICk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnT1dORVInOlxuICAgICAgICB0aGlzLmxpc3RPYmplY3RbdGhpcy5vcGVuZWRQb3B1cF0uc2VsZWN0ZWREYXRhID0gdGhpcy5saXN0T2JqZWN0W1xuICAgICAgICAgIHRoaXMub3BlbmVkUG9wdXBcbiAgICAgICAgXS5kYXRhLmFzc2lnbmVlc0xpc3QuZmlsdGVyKCh1c2VyOiBhbnkpID0+XG4gICAgICAgICAgc2VsZWN0ZWREYXRhLmluY2x1ZGVzKHVzZXIubXlfbWVtYmVyX2lkKVxuICAgICAgICApO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ1JJU0tfQ0FURUdPUlknOlxuICAgICAgICB0aGlzLmxpc3RPYmplY3RbdGhpcy5vcGVuZWRQb3B1cF0uc2VsZWN0ZWREYXRhID0gc2VsZWN0ZWREYXRhID8/IFtdO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ1BST0dSQU1fUkVTUE9OU0lCSUxJVFknOlxuICAgICAgICBjb25zb2xlLmxvZygnc2VsZWN0ZWREYXRhJywgc2VsZWN0ZWREYXRhKTtcbiAgICAgICAgdGhpcy5saXN0T2JqZWN0W3RoaXMub3BlbmVkUG9wdXBdLnNlbGVjdGVkRGF0YSA9IHNlbGVjdGVkRGF0YSA/PyBbXTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICAgIGlmICh0aGlzLm9wZW5lZFBvcHVwID09PSAnUkMnIHx8IHRoaXMub3BlbmVkUG9wdXAgPT09ICdPV05FUicpIHtcbiAgICB9XG4gICAgaWYgKHRoaXMub3BlbmVkUG9wdXAgPT09ICdPVEhFUl9HUkNfT0JKRUNUUycpIHtcbiAgICAgIHRoaXMubGlzdE9iamVjdFt0aGlzLm9wZW5lZFBvcHVwXS5zZWxlY3RlZERhdGEgPSBzZWxlY3RlZERhdGE7XG4gICAgfVxuICBcbiAgICB0aGlzLm9uU2F2ZVNlbGVjdGVkTGlzdC5lbWl0KHRoaXMubGlzdE9iamVjdCk7XG4gIH1cblxuICBhY3RpdmVEZVNlbGVjdG9yKCkge1xuICAgIHRoaXMub25TYXZlU2VsZWN0ZWRMaXN0LmVtaXQodGhpcy5saXN0T2JqZWN0KTtcbiAgfVxuXG4gIGdldE90aGVyR1JDT2JqZWN0TGlzdChldmVudDogYW55KSB7XG4gICAgdGhpcy5nZXRPdGhlckdSQ09iamVjdHMuZW1pdChldmVudCk7XG4gIH1cbn1cbiJdfQ==
@@ -370,6 +370,7 @@ export class ProgramResponsibilityListingComponent {
370
370
  this.responsibilityCurrentPage = 1;
371
371
  }
372
372
  changeSelectedProgramAndResp(event) {
373
+ console.log('changeSelectedProgramAndResp event', event);
373
374
  this.selectedProgramAndResp = event;
374
375
  this.getSelectedProgramIds(this.selectedProgramAndResp);
375
376
  this.getAllSelectedResponsibilities(this.selectedProgramAndResp);
@@ -433,4 +434,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
433
434
  type: ViewChild,
434
435
  args: ['dataListing']
435
436
  }] } });
436
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3JhbS1yZXNwb25zaWJpbGl0eS1saXN0aW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3dvcmtmbG93L3NoYXJlZC9jb21wb25lbnRzL3Byb2dyYW0tcmVzcG9uc2liaWxpdHktbGlzdGluZy9wcm9ncmFtLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvd29ya2Zsb3cvc2hhcmVkL2NvbXBvbmVudHMvcHJvZ3JhbS1yZXNwb25zaWJpbGl0eS1saXN0aW5nL3Byb2dyYW0tcmVzcG9uc2liaWxpdHktbGlzdGluZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUNsRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDbkYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUNyRyxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFB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c0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmxvYXRpbmdCYXJNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWRDb21wb25lbnRzL2Zsb2F0aW5nLWJhci9mbG9hdGluZy1iYXIubW9kdWxlJztcbmltcG9ydCB7IEZvcm1ncm91cE1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL3VpLWtpdC9mb3JtZ3JvdXAvZm9ybWdyb3VwLm1vZHVsZSc7XG5pbXBvcnQgeyBQYWdpbmF0aW9uTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vdWkta2l0L3BhZ2luYXRpb24vcGFnaW5hdGlvbi5tb2R1bGUnO1xuaW1wb3J0IHsgUG9wb3Zlck1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL3VpLWtpdC9wb3BvdmVyL3BvcG92ZXIubW9kdWxlJztcbmltcG9ydCB7IFRvb2x0aXBNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi91aS1raXQvdG9vbHRpcC90b29sdGlwLm1vZHVsZSc7XG5pbXBvcnQgeyBUYWJsZUNhcmRDb21wb25lbnQgfSBmcm9tICcuLi90YWJsZS1jYXJkL3RhYmxlLWNhcmQuY29tcG9uZW50JztcbmltcG9ydCB7IEdyY0NhdGVnb3J5TGlzdGluZ0NvbXBvbmVudCB9IGZyb20gJy4uL2dyYy1jYXRlZ29yeS1saXN0aW5nL2dyYy1jYXRlZ29yeS1saXN0aW5nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHcmNSZXNwb25zaWJpbGl0eUxpc3RpbmdDb21wb25lbnQgfSBmcm9tICcuLi9ncmMtcmVzcG9uc2liaWxpdHktbGlzdGluZy9ncmMtcmVzcG9uc2liaWxpdHktbGlzdGluZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgTm9EYXRhTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vdWkta2l0L25vLWRhdGEvbm8tZGF0YS5tb2R1bGUnO1xuaW1wb3J0IHsgTGlzdExvYWRlck1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZENvbXBvbmVudHMvbGlzdC1sb2FkZXIvbGlzdC1sb2FkZXIubW9kdWxlJztcbmltcG9ydCB7IEdyY1N1YkNhdGVnb3J5TGlzdGluZ0NvbXBvbmVudCB9IGZyb20gJy4uL2dyYy1zdWItY2F0ZWdvcnktbGlzdGluZy9ncmMtc3ViLWNhdGVnb3J5LWxpc3RpbmcuY29tcG9uZW50JztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUkVTUE9OU0lCSUxJVFlfVEFCTEVfQ0FSRCB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9saW5rLXJlc3BvbnNpYmlsaXR5LmNvbnN0YW50JztcbmltcG9ydCB7IEdyY1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9ncmMuc2VydmljZSc7XG5pbXBvcnQgeyBUYWJsZUNhcmRMb2FkZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWRDb21wb25lbnRzL3RhYmxlLWNhcmQtbG9hZGVyL3RhYmxlLWNhcmQtbG9hZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgTElOS1MgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvY2RuLWxpbmsuY29uc3RhbnQnO1xuaW1wb3J0IHsgV29ya2Zsb3dQaXBlc01vZHVsZSB9IGZyb20gJy4uLy4uL3dvcmtmbG93LXBpcGVzL3dvcmtmbG93LXBpcGVzLm1vZHVsZSc7XG5pbXBvcnQgeyBSZXNwb25zaWJpbGl0eVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi93b3JrZmxvdy1zZXJ2aWNlcy9yZXNwb25zaWJpbGl0eS5zZXJ2aWNlJztcbmltcG9ydCB7IEdldFVzZXJEZXRhaWxzUGlwZSB9IGZyb20gJy4uLy4uL3dvcmtmbG93LXBpcGVzL2dldC11c2VyLWRldGFpbHMucGlwZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1wcm9ncmFtLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFBvcG92ZXJNb2R1bGUsXG4gICAgRm9ybWdyb3VwTW9kdWxlLFxuICAgIFRvb2x0aXBNb2R1bGUsXG4gICAgRmxvYXRpbmdCYXJNb2R1bGUsXG4gICAgUGFnaW5hdGlvbk1vZHVsZSxcbiAgICBUYWJsZUNhcmRDb21wb25lbnQsXG4gICAgR3JjQ2F0ZWdvcnlMaXN0aW5nQ29tcG9uZW50LFxuICAgIEdyY1Jlc3BvbnNpYmlsaXR5TGlzdGluZ0NvbXBvbmVudCxcbiAgICBHcmNTdWJDYXRlZ29yeUxpc3RpbmdDb21wb25lbnQsXG4gICAgTGlzdExvYWRlck1vZHVsZSxcbiAgICBOb0RhdGFNb2R1bGUsXG4gICAgVGFibGVDYXJkTG9hZGVyQ29tcG9uZW50LFxuICAgIFdvcmtmbG93UGlwZXNNb2R1bGUsXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9ncmFtLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wcm9ncmFtLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcuY29tcG9uZW50Lmxlc3MnXSxcbiAgb3V0cHV0czogWydjbG9zZUxpc3QnXSxcbiAgcHJvdmlkZXJzOiBbR2V0VXNlckRldGFpbHNQaXBlXVxufSlcbmV4cG9ydCBjbGFzcyBQcm9ncmFtUmVzcG9uc2liaWxpdHlMaXN0aW5nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHJvZ3JhbVR5cGVzID0gUkVTUE9OU0lCSUxJVFlfVEFCTEVfQ0FSRDtcbiAgQ0ROX0xJTksgPSBMSU5LUztcbiAgc2VsZWN0ZWRUYWI6IDAgfCAxIHwgMiB8IDMgPSAxO1xuXG4gIGFuaW1hdGlvbiA9IGZhbHNlO1xuXG4gIHByb2dyYW1Mb2FkZXI6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJvZ3JhbUNvdW50TG9hZGVyOiBib29sZWFuID0gZmFsc2U7XG4gIHJlc3BvbnNpYmlsaXR5TG9hZGVyOiBib29sZWFuID0gZmFsc2U7XG4gIGNhdGVnb3J5TG9hZGVyOiBib29sZWFuID0gZmFsc2U7XG4gIHNlbGVjdGVkUHJvZ3JhbUFuZFJlc3A6IGFueVtdID0gW107XG4gIHByZVNlbGVjdGVkUHJvZ3JhbUFuZFJlc3A6IGFueVtdID0gW107XG4gIHNlYXJjaFN0cmluZzogc3RyaW5nID0gJyc7XG4gIGN1cnJlbnRCdXNpbmVzc0N5Y2xlITogYW55O1xuICBzZWxlY3RlZFByb2dyYW06IGFueTtcbiAgc2VsZWN0ZWRDYXRlZ29yeTogYW55O1xuICBwcm9ncmFtQ3VycmVudFBhZ2U6IG51bWJlciA9IDE7XG4gIGNhdGVnb3J5Q3VycmVudFBhZ2U6IG51bWJlciA9IDE7XG4gIHJlc3BvbnNpYmlsaXR5Q3VycmVudFBhZ2U6IG51bWJlciA9IDE7XG4gIHByb2dyYW1EYXRhOiBhbnk7XG4gIGNhdGVnb3J5RGF0YTogYW55O1xuICByZXNwb25zaWJpbGl0eURhdGE6IGFueSA9IHtcbiAgICBkYXRhOiBbXSxcbiAgfTtcbiAgc2VsZWN0ZWRQcm9ncmFtSWRzOiBhbnlbXSA9IFtdO1xuICBzZWxlY3RlZENhdGVnb3J5SWRzOiBhbnlbXSA9IFtdO1xuICBzZWxlY3RlZFJlc3BvbnNpYmlsaXRpZXM6IGFueVtdID0gW107XG4gIHNlbGVjdGVkUkNJZHM6IG51bWJlcltdID0gW107XG5cbiAgcHJvZ3JhbUNhbGwhOiBTdWJzY3JpcHRpb247XG4gIGNhdGVnb3J5Q2FsbCE6IFN1YnNjcmlwdGlvbjtcbiAgcmVzcG9uc2liaWxpdHlDYWxsITogU3Vic2NyaXB0aW9uO1xuXG4gIEBJbnB1dCgnc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcCcpIHNldCBnZXRTZWxlY3RlZFByb2dyYW1BbmRSZXNwKGRhdGE6IGFueSkge1xuICAgIHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0aWVzID0gZGF0YS5tYXAoKGl0ZW06IGFueSkgPT4gaXRlbS5yaWQpO1xuICAgIHRoaXMuc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcCA9IGRhdGEgfHwgW107XG4gICAgdGhpcy5wcmVTZWxlY3RlZFByb2dyYW1BbmRSZXNwID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLnNlbGVjdGVkUHJvZ3JhbUFuZFJlc3ApKTtcbiAgICB0aGlzLmdldFNlbGVjdGVkUHJvZ3JhbUlkcyh0aGlzLnNlbGVjdGVkUHJvZ3JhbUFuZFJlc3ApO1xuICAgIHRoaXMuZ2V0QWxsU2VsZWN0ZWRSZXNwb25zaWJpbGl0aWVzKHRoaXMuc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcCk7XG4gIH1cbiAgQElucHV0KCkgc2VsZWN0ZWRSQzogYW55W10gPSBbXTtcbiAgQElucHV0KCkgTU9ERTogJ0NSRUFURScgfCAnRURJVCcgPSAnQ1JFQVRFJztcblxuICBjbG9zZUxpc3Q6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBWaWV3Q2hpbGQoJ2RhdGFMaXN0aW5nJylcbiAgcmVzcG9uc2liaWxpdHlMaXN0aW5nQ29tcG9uZW50ITogR3JjUmVzcG9uc2liaWxpdHlMaXN0aW5nQ29tcG9uZW50O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZ3JjU2VydmljZTogR3JjU2VydmljZSwgcHJpdmF0ZSByZXNwb25zaWJpbGl0eVNlcnZpY2U6IFJlc3BvbnNpYmlsaXR5U2VydmljZSwgcHJpdmF0ZSBnZXRVc2VyRGV0YWlsczogR2V0VXNlckRldGFpbHNQaXBlKSB7XG4gICAgdGhpcy5jdXJyZW50QnVzaW5lc3NDeWNsZSA9IHRoaXMuZ3JjU2VydmljZT8uZ2V0QnVzaW5lc3NDeWNsZSgpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5hbmltYXRpb24gPSB0cnVlO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5hbmltYXRpb24gPSBmYWxzZTtcbiAgICB9LCAzMDApO1xuICAgIHRoaXMuZ2V0UmVzcG9uc2liaWxpdGllc0xpc3QoKTtcbiAgfVxuXG4gIGNsb3NlKCkge1xuICAgIHRoaXMuY2xvc2VMaXN0LmVtaXQodGhpcy5wcmVTZWxlY3RlZFByb2dyYW1BbmRSZXNwKTtcbiAgfVxuXG4gIHNhdmUoKSB7XG4gICAgdGhpcy5jbG9zZUxpc3QuZW1pdCh0aGlzLnNlbGVjdGVkUHJvZ3JhbUFuZFJlc3ApO1xuICB9XG5cbiAgZ2V0UHJvZ3JhbXNMaXN0KGV2ZW50PzogYW55KSB7XG4gICAgaWYgKHRoaXMucHJvZ3JhbUNhbGwpIHtcbiAgICAgIHRoaXMucHJvZ3JhbUNhbGwudW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gICAgdGhpcy5wcm9ncmFtTG9hZGVyID0gdHJ1ZTtcbiAgICBjb25zdCByZXF1ZXN0ID0ge1xuICAgICAgaGVhZGVyczoge1xuICAgICAgICB0eXBlOiAnJyxcbiAgICAgICAgcGFnaW5hdGlvblR5cGU6ICdzbWFsbCcsXG4gICAgICAgIGE6ICcnLFxuICAgICAgICBzZWFyY2hUZXh0OiB0aGlzLnNlYXJjaFN0cmluZyxcbiAgICAgICAgZmlsdGVyRGF0YToge1xuICAgICAgICAgIGFwcExpc3Q6IFtdLFxuICAgICAgICAgIHJpc2tJZHM6IFtdLFxuICAgICAgICAgIHJldmlld2VySWQ6IFtdLFxuICAgICAgICAgIHJlc3BvbnNpYmlsaXR5Q2VudGVyOiB0aGlzLmdldFNlbGVjdGVkUkNJZHModGhpcy5zZWxlY3RlZFJDKSA/PyBbXSxcbiAgICAgICAgICBlbnRydXN0ZWRCeTogW10sXG4gICAgICAgICAgZW50cnVzdGVkVG86IFtdLFxuICAgICAgICAgIHJlc3BvbnNpYmlsaXR5Q2F0ZWdvcnk6IFtdLFxuICAgICAgICB9LFxuICAgICAgICBwYWdlTm86IHRoaXMucHJvZ3JhbUN1cnJlbnRQYWdlIHx8IDEsXG4gICAgICAgIHNvcnRPYmo6IHsgc29ydEJ5OiAnJywgdHlwZTogLTEgfSxcbiAgICAgICAgcGFnZU5hbWU6ICdjYXRlZ29yeScsXG4gICAgICAgIHR5cGVBcnI6IFt0aGlzLnNlbGVjdGVkVGFiXSxcbiAgICAgICAgc3RhcnRfZGF0ZTogdGhpcy5jdXJyZW50QnVzaW5lc3NDeWNsZT8uc3RhcnRfZGF0ZSxcbiAgICAgICAgZW5kX2RhdGU6IHRoaXMuY3VycmVudEJ1c2luZXNzQ3ljbGU/LmVuZF9kYXRlLFxuICAgICAgICBzZWxlY3RlZF9jeWNsZV9hcnI6IHRoaXMuY3VycmVudEJ1c2luZXNzQ3ljbGU/LnNlbGVjdGVkX2N5Y2xlX2FycixcbiAgICAgICAgc2VsZWN0ZWRfY3ljbGU6IHRoaXMuY3VycmVudEJ1c2luZXNzQ3ljbGU/LnNlbGVjdGVkX2N5Y2xlLFxuICAgICAgICB0aW1lX2ZpbHRlcl90eXBlOiAnJyxcbiAgICAgICAgc3RhdGU6IFsyLCAzXSxcbiAgICAgIH0sXG4gICAgfTtcbiAgICB0aGlzLnByb2dyYW1DYWxsID0gdGhpcy5ncmNTZXJ2aWNlLmdldFByb2dyYW1zTGlzdChyZXF1ZXN0KS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XG4gICAgICAgIHRoaXMucHJvZ3JhbUxvYWRlciA9IGZhbHNlO1xuICAgICAgICAvLyB0aGlzLnByb2dyYW1EYXRhLmRhdGEgPSByZXMuZGF0YSA/PyBbXTtcbiAgICAgICAgdGhpcy5wcm9ncmFtRGF0YSA9IHsgLi4ucmVzIH07XG4gICAgICAgIHRoaXMub25TZWxlY3RlZFByb2dyYW1DaGFuZ2UoKTtcbiAgICAgICAgdGhpcy5nZXRDYXRlZ29yeUJ5UHJvZ3JhbUlkKHJlcz8uZGF0YVswXSk7XG4gICAgICB9LFxuICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLnByb2dyYW1Mb2FkZXIgPSBmYWxzZTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBvblByb2dyYW1QYWdlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnByb2dyYW1DdXJyZW50UGFnZSA9IGV2ZW50Py5wYWdlTm8gfHwgMTtcbiAgICB0aGlzLmdldFByb2dyYW1zTGlzdCgpO1xuICB9XG5cbiAgb25TdWJDYXRlZ29yeVBhZ2VDaGFuZ2UoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuY2F0ZWdvcnlDdXJyZW50UGFnZSA9IGV2ZW50Py5wYWdlTm8gfHwgMTtcbiAgICB0aGlzLmdldENhdGVnb3J5QnlQcm9ncmFtSWQodGhpcy5zZWxlY3RlZFByb2dyYW0pO1xuICB9XG5cbiAgZGVsZXRlRXZlbnQoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMucmVzcG9uc2liaWxpdHlMaXN0aW5nQ29tcG9uZW50LmRlbGV0ZVNlbGVjdGVkUmVzcG9uc2liaWxpdHkoZXZlbnQpO1xuICB9XG5cbiAgc2V0U2VsZWN0ZWRUYWIoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMucHJvZ3JhbUN1cnJlbnRQYWdlID0gMTtcbiAgICB0aGlzLnNlbGVjdGVkVGFiID0gZXZlbnQ/LnR5cGU7XG4gICAgdGhpcy5nZXRQcm9ncmFtc0xpc3QoKTtcbiAgfVxuXG4gIGhhbmRsZVNlYXJjaChldmVudDogYW55KSB7XG4gICAgaWYgKHRoaXMuc2VhcmNoU3RyaW5nICE9IGV2ZW50KSB7XG4gICAgICB0aGlzLnByb2dyYW1DdXJyZW50UGFnZSA9IDE7XG4gICAgICB0aGlzLnNlYXJjaFN0cmluZyA9IGV2ZW50O1xuICAgICAgdGhpcy5vblNlbGVjdGVkUHJvZ3JhbUNoYW5nZSgpO1xuICAgICAgdGhpcy5nZXRQcm9ncmFtc0xpc3QoKTtcbiAgICAgIHRoaXMuZ2V0UHJvZ3JhbXNDb3VudCgpO1xuICAgIH1cbiAgfVxuXG4gIGdldFByb2dyYW1zQ291bnQocGFyYW1zT2JqZWN0PzogYW55KSB7XG4gICAgdGhpcy5wcm9ncmFtQ291bnRMb2FkZXIgPSB0cnVlO1xuICAgIGNvbnN0IHJlcXVlc3QgPSB7XG4gICAgICBoZWFkZXJzOiB7XG4gICAgICAgIHR5cGU6ICcnLFxuICAgICAgICBwYWdpbmF0aW9uVHlwZTogJ3NtYWxsJyxcbiAgICAgICAgYTogJycsXG4gICAgICAgIHNlYXJjaFRleHQ6IHRoaXMuc2VhcmNoU3RyaW5nLFxuICAgICAgICBmaWx0ZXJEYXRhOiB7XG4gICAgICAgICAgYXBwTGlzdDogW10sXG4gICAgICAgICAgcmlza0lkczogW10sXG4gICAgICAgICAgcmV2aWV3ZXJJZDogW10sXG4gICAgICAgICAgcmVzcG9uc2liaWxpdHlDZW50ZXI6IHRoaXMuZ2V0U2VsZWN0ZWRSQ0lkcyh0aGlzLnNlbGVjdGVkUkMpID8/IFtdLFxuICAgICAgICAgIGVudHJ1c3RlZEJ5OiBbXSxcbiAgICAgICAgICBlbnRydXN0ZWRUbzogW10sXG4gICAgICAgICAgcmVzcG9uc2liaWxpdHlDYXRlZ29yeTogW10sXG4gICAgICAgIH0sXG4gICAgICAgIHBhZ2VObzogMSxcbiAgICAgICAgc29ydE9iajogeyBzb3J0Qnk6ICcnLCB0eXBlOiAnJyB9LFxuICAgICAgICBwYWdlTmFtZTogJ2NhdGVnb3J5JyxcbiAgICAgICAgdHlwZUFycjogWzEsIDIsIDMsIDBdLFxuICAgICAgICBzdGFydF9kYXRlOiB0aGlzLmN1cnJlbnRCdXNpbmVzc0N5Y2xlPy5zdGFydF9kYXRlLFxuICAgICAgICBlbmRfZGF0ZTogdGhpcy5jdXJyZW50QnVzaW5lc3NDeWNsZT8uZW5kX2RhdGUsXG4gICAgICAgIHNlbGVjdGVkX2N5Y2xlX2FycjogdGhpcy5jdXJyZW50QnVzaW5lc3NDeWNsZT8uc2VsZWN0ZWRfY3ljbGVfYXJyLFxuICAgICAgICBzZWxlY3RlZF9jeWNsZTogdGhpcy5jdXJyZW50QnVzaW5lc3NDeWNsZT8uc2VsZWN0ZWRfY3ljbGUsXG4gICAgICAgIHRpbWVfZmlsdGVyX3R5cGU6ICcnLFxuICAgICAgICBzdGF0ZTogWzIsIDNdLFxuICAgICAgfSxcbiAgICB9O1xuICAgIHRoaXMuZ3JjU2VydmljZS5nZXRQcm9ncmFtc0xpc3RDb3VudChyZXF1ZXN0KS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XG4gICAgICAgIHRoaXMucHJvZ3JhbUNvdW50TG9hZGVyID0gZmFsc2U7XG4gICAgICAgIHRoaXMucHJvZ3JhbVR5cGVzWzBdLmNvdW50ID1cbiAgICAgICAgICByZXM/LnJlZ3VsYXRpb25Db3VudD8uYWN0aXZlICsgcmVzPy5yZWd1bGF0aW9uQ291bnQ/LmNvbXBsZXRlZDtcbiAgICAgICAgdGhpcy5wcm9ncmFtVHlwZXNbMV0uY291bnQgPVxuICAgICAgICAgIHJlcz8uc3RhbmRhcmRDb3VudD8uYWN0aXZlICsgcmVzPy5zdGFuZGFyZENvdW50Py5jb21wbGV0ZWQ7XG4gICAgICAgIHRoaXMucHJvZ3JhbVR5cGVzWzJdLmNvdW50ID1cbiAgICAgICAgICByZXM/LmludGVybmFsQ291bnQ/LmFjdGl2ZSArIHJlcz8uaW50ZXJuYWxDb3VudD8uY29tcGxldGVkO1xuICAgICAgICB0aGlzLnByb2dyYW1UeXBlc1szXS5jb3VudCA9XG4gICAgICAgICAgcmVzPy5vdGhlckNvdW50Py5hY3RpdmUgKyByZXM/Lm90aGVyQ291bnQ/LmNvbXBsZXRlZDtcbiAgICAgICAgLy8gfVxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIGdldENhdGVnb3J5QnlQcm9ncmFtSWQocHJvZ3JhbTogYW55KSB7XG4gICAgaWYgKHRoaXMuY2F0ZWdvcnlDYWxsKSB7XG4gICAgICB0aGlzLmNhdGVnb3J5Q2FsbC51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgICB0aGlzLnNlbGVjdGVkUHJvZ3JhbSA9IHByb2dyYW07XG4gICAgdGhpcy5jYXRlZ29yeUxvYWRlciA9IHRydWU7XG4gICAgLy8gdGhpcy5yZXNldENvbnRyb2xWYXJpYWJsZSgpO1xuICAgIGNvbnN0IGhlYWRlcnMgPSB7XG4gICAgICBpZDogcHJvZ3JhbT8uX2lkLFxuICAgICAgc2NvcGVUeXBlOiAncmlzaycsXG4gICAgICBwYWdpbmF0aW9uVHlwZTogJ3NtYWxsJyxcbiAgICAgIHNlYXJjaFRleHQ6IHRoaXMuc2VhcmNoU3RyaW5nLFxuICAgICAgZmlsdGVyRGF0YToge1xuICAgICAgICBhcHBMaXN0OiBbXSxcbiAgICAgICAgcmlza0lkczogW10sXG4gICAgICAgIHJldmlld2VySWQ6IFtdLFxuICAgICAgICByZXNwb25zaWJpbGl0eUNlbnRlcjogdGhpcy5nZXRTZWxlY3RlZFJDSWRzKHRoaXMuc2VsZWN0ZWRSQykgPz8gW10sXG4gICAgICAgIGVudHJ1c3RlZEJ5OiBbXSxcbiAgICAgICAgZW50cnVzdGVkVG86IFtdLFxuICAgICAgICByZXNwb25zaWJpbGl0eUNhdGVnb3J5OiBbXSxcbiAgICAgIH0sXG4gICAgICBwYWdlOiB0aGlzLmNhdGVnb3J5Q3VycmVudFBhZ2UgfHwgMSxcbiAgICAgIC8vIHNvcnRpbmdDb3VudDogdGhpcy5jYXRlZ29yeVNvcnRWYWx1ZSxcbiAgICAgIG5hbWU6ICduYW1lJyxcbiAgICAgIGJ1c2luZXNzQ3ljbGU6IHtcbiAgICAgICAgc3RhcnRfZGF0ZTogdGhpcy5jdXJyZW50QnVzaW5lc3NDeWNsZT8uc3RhcnRfZGF0ZSxcbiAgICAgICAgZW5kX2RhdGU6IHRoaXMuY3VycmVudEJ1c2luZXNzQ3ljbGU/LmVuZF9kYXRlLFxuICAgICAgICBzZWxlY3RlZF9jeWNsZV9hcnI6IHRoaXMuY3VycmVudEJ1c2luZXNzQ3ljbGU/LnNlbGVjdGVkX2N5Y2xlX2FycixcbiAgICAgICAgc2VsZWN0ZWRfY3ljbGU6IHRoaXMuY3VycmVudEJ1c2luZXNzQ3ljbGU/LnNlbGVjdGVkX2N5Y2xlLFxuICAgICAgICB0aW1lX2ZpbHRlcl90eXBlOiAnJyxcbiAgICAgICAgLy8gXCJzY29wZVR5cGVcIjogJ3Jpc2snLFxuICAgICAgICB0eXBlOiAncmlzaycsXG4gICAgICAgIGNhbGxGcm9tOiAnZ3JjJyxcbiAgICAgICAgZmlsdGVyRGF0YToge1xuICAgICAgICAgIGFwcExpc3Q6IFtdLFxuICAgICAgICAgIHJpc2tJZHM6IFtdLFxuICAgICAgICAgIHJldmlld2VySWQ6IFtdLFxuICAgICAgICAgIHJlc3BvbnNpYmlsaXR5Q2VudGVyOiB0aGlzLmdldFNlbGVjdGVkUkNJZHModGhpcy5zZWxlY3RlZFJDKSA/PyBbXSxcbiAgICAgICAgICBlbnRydXN0ZWRCeTogW10sXG4gICAgICAgICAgZW50cnVzdGVkVG86IFtdLFxuICAgICAgICAgIHJlc3BvbnNpYmlsaXR5Q2F0ZWdvcnk6IFtdLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9O1xuICAgIHRoaXMuY2F0ZWdvcnlDYWxsID0gdGhpcy5ncmNTZXJ2aWNlLmdldFN1YkNhdGVnb3J5TGlzdChoZWFkZXJzKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XG4gICAgICAgIHRoaXMuY2F0ZWdvcnlMb2FkZXIgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5jYXRlZ29yeURhdGEgPSB7IC4uLnJlcyB9O1xuICAgICAgICB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnkgPSByZXM/LmRhdGFbMF07XG4gICAgICAgIHRoaXMucmVzcG9uc2liaWxpdHlDdXJyZW50UGFnZSA9IDE7XG4gICAgICAgIHRoaXMuZ2V0UmVzcG9uc2liaWxpdGllc0xpc3QoKTtcbiAgICAgIH0sXG4gICAgICBlcnJvcjogKGVycikgPT4ge1xuICAgICAgICBjb25zb2xlLmVycm9yKGVycik7XG4gICAgICAgIHRoaXMuY2F0ZWdvcnlMb2FkZXIgPSBmYWxzZTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBhY3RpdmVTZWxlY3RlZFByb2dyYW0oZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuc2VsZWN0ZWRQcm9ncmFtID0gZXZlbnQ/LmNhdGVnb3J5O1xuICAgIHRoaXMub25TZWxlY3RlZFByb2dyYW1DaGFuZ2UoKTtcbiAgICB0aGlzLmdldENhdGVnb3J5QnlQcm9ncmFtSWQodGhpcy5zZWxlY3RlZFByb2dyYW0pO1xuICAgIC8vIHRoaXMuZ2V0U2VsZWN0ZWRDYXRlZ29yeUlkcyh0aGlzLnNlbGVjdGVkUHJvZ3JhbUFuZFJlc3ApO1xuICB9XG5cbiAgYWN0aXZlU2VsZWN0ZWRTdWJDYXRlZ29yeShldmVudDogYW55KSB7XG4gICAgdGhpcy5zZWxlY3RlZENhdGVnb3J5ID0gZXZlbnQ/LmNhdGVnb3J5O1xuICAgIHRoaXMuZ2V0UmVzcG9uc2liaWxpdGllc0xpc3QoKTtcbiAgfVxuXG4gIGdldFJlc3BvbnNpYmlsaXRpZXNMaXN0KGV2ZW50PzogYW55KSB7XG4gICAgaWYgKHRoaXMucmVzcG9uc2liaWxpdHlDYWxsKSB7XG4gICAgICB0aGlzLnJlc3BvbnNpYmlsaXR5Q2FsbC51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIC8vIHRoaXMucmVzcENvdW50ID0gZXZlbnQuc29ydFZhbHVlO1xuICAgIHRoaXMucmVzcG9uc2liaWxpdHlMb2FkZXIgPSB0cnVlO1xuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xuICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ2lzQnVzaW5lc3NDeWNsZScsICd0cnVlJyk7XG4gICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgncGFyZW50SWQnLCB0aGlzLnNlbGVjdGVkUHJvZ3JhbT8uY2F0ZWdvcnlfaWQpO1xuICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ2NhdElkJywgdGhpcy5zZWxlY3RlZENhdGVnb3J5Py5jYXRlZ29yeV9pZCk7XG4gICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgncGFnZU5vJywgdGhpcy5yZXNwb25zaWJpbGl0eUN1cnJlbnRQYWdlID8/IDEpO1xuICAgIC8vIGlmIChbMSwgLTFdLmluY2x1ZGVzKHRoaXMuY29udHJvbFNvcnRWYWx1ZSkpIHtcbiAgICAvLyAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ3NvcnRWYWx1ZScsIHRoaXMuY29udHJvbFNvcnRWYWx1ZSk7XG4gICAgLy8gICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdzb3J0QnknLCAnRGF0YS5SZXBvcnROYW1lJyk7XG4gICAgLy8gfVxuICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ3BhZ2luYXRpb25UeXBlJywgJ3NtYWxsJyk7XG4gICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgncGFnZVR5cGUnLCAncmlzaycpO1xuICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ2NhbGxGcm9tJywgJ2dyYycpO1xuICAgIGNvbnN0IHJjSWRzID0gdGhpcy5nZXRTZWxlY3RlZFJDSWRzKHRoaXMuc2VsZWN0ZWRSQykuam9pbignLCcpO1xuICAgIGxldCBidXNpbmVzc0N5Y2xlID0ge1xuICAgICAgc3RhcnRfZGF0ZTogdGhpcy5jdXJyZW50QnVzaW5lc3NDeWNsZT8uc3RhcnRfZGF0ZSxcbiAgICAgIGVuZF9kYXRlOiB0aGlzLmN1cnJlbnRCdXNpbmVzc0N5Y2xlPy5lbmRfZGF0ZSxcbiAgICAgIHNlbGVjdGVkX2N5Y2xlX2FycjogdGhpcy5jdXJyZW50QnVzaW5lc3NDeWNsZT8uc2VsZWN0ZWRfY3ljbGVfYXJyLFxuICAgICAgc2VsZWN0ZWRfY3ljbGU6IHRoaXMuY3VycmVudEJ1c2luZXNzQ3ljbGU/LnNlbGVjdGVkX2N5Y2xlLFxuICAgICAgdGltZV9maWx0ZXJfdHlwZTogJycsXG4gICAgICBwYWdlVHlwZTogJ3Jpc2snLFxuICAgICAgY2FsbEZyb206ICdncmMnLFxuICAgICAgZmlsdGVyRGF0YToge1xuICAgICAgICBhcHBMaXN0OiBbXSxcbiAgICAgICAgcmlza0lkczogW10sXG4gICAgICAgIHJldmlld2VySWQ6IFtdLFxuICAgICAgICByZXNwb25zaWJpbGl0eUNlbnRlcjogdGhpcy5nZXRTZWxlY3RlZFJDSWRzKHRoaXMuc2VsZWN0ZWRSQykgPz8gW10sXG4gICAgICAgIGVudHJ1c3RlZEJ5OiBbXSxcbiAgICAgICAgZW50cnVzdGVkVG86IFtdLFxuICAgICAgICByZXNwb25zaWJpbGl0eUNhdGVnb3J5OiBbXSxcbiAgICAgIH0sXG4gICAgfTtcblxuICAgIHRoaXMucmVzcG9uc2liaWxpdHlDYWxsID0gdGhpcy5ncmNTZXJ2aWNlXG4gICAgICAuZ2V0QWxsUmVzcG9uc2liaWxpdGllcyh0aGlzLnJlc3BvbnNpYmlsaXR5Q3VycmVudFBhZ2UsIHJjSWRzKVxuICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xuICAgICAgICAgIHRoaXMuY2F0ZWdvcnlMb2FkZXIgPSBmYWxzZTtcbiAgICAgICAgICBjb25zdCBwYWdlU2l6ZSA9IDMwO1xuICAgICAgICAgIGNvbnN0IGN1cnJlbnRQYWdlID0gcmVzPy5kYXRhPy5wYWdlIHx8IDE7XG4gICAgICAgICAgY29uc3Qgc3RhcnRJbmRleCA9IChjdXJyZW50UGFnZSAtIDEpICogcGFnZVNpemUgKyAxO1xuICAgICAgICAgIGNvbnN0IGVuZEluZGV4ID0gTWF0aC5taW4oc3RhcnRJbmRleCArIHBhZ2VTaXplIC0gMSwgcmVzPy5kYXRhPy50b3RhbCB8fCAwKTtcbiAgICAgICAgICBcbiAgICAgICAgICB0aGlzLnJlc3BvbnNpYmlsaXR5RGF0YSA9IHtcbiAgICAgICAgICAgIGRhdGE6IHRoaXMuc2V0RGF0YUxpc3RTdHJ1Y3R1cmUocmVzPy5kYXRhPy5yZXNwb25zaWJpbGl0aWVzIHx8IFtdLCByZXM/LmRhdGE/LnVzZXJzIHx8IFtdLCByZXM/LmRhdGE/LnJlc3BvbnNpYmlsaXR5Q2VudGVycyB8fCBbXSksXG4gICAgICAgICAgICB0b3RhbF9pdGVtczogcmVzPy5kYXRhPy50b3RhbCB8fCAwLFxuICAgICAgICAgICAgdG90YWxfcGFnZXM6IE1hdGguY2VpbCgocmVzPy5kYXRhPy50b3RhbCB8fCAwKSAvIHBhZ2VTaXplKSxcbiAgICAgICAgICAgIGN1cnJlbnRfcGFnZTogY3VycmVudFBhZ2UsXG4gICAgICAgICAgICBwZXJfcGFnZTogcGFnZVNpemUsXG4gICAgICAgICAgICBpdGVtc19mcm9tOiBzdGFydEluZGV4LFxuICAgICAgICAgICAgaXRlbXNfdG86IGVuZEluZGV4XG4gICAgICAgICAgfTtcbiAgICAgICAgICB0aGlzLnJlc3BvbnNpYmlsaXR5TG9hZGVyID0gZmFsc2U7XG4gICAgICAgIH0sXG4gICAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcbiAgICAgICAgICB0aGlzLnJlc3BvbnNpYmlsaXR5TG9hZGVyID0gZmFsc2U7XG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgfVxuXG4gIGdldFVwZGF0ZWREYXRhTGlzdChldmVudDogYW55KSB7XG4gICAgdGhpcy5yZXNwb25zaWJpbGl0eUN1cnJlbnRQYWdlID0gZXZlbnQ/LnBhZ2VObztcbiAgICB0aGlzLmdldFJlc3BvbnNpYmlsaXRpZXNMaXN0KCk7XG4gIH1cblxuICBzZXREYXRhTGlzdFN0cnVjdHVyZShyZXNwb25zaWJpbGl0aWVzOiBhbnlbXSwgdXNlcnM6IGFueVtdLCByZXNwb25zaWJpbGl0eUNlbnRlcnM6IGFueVtdKSB7XG4gICAgY29uc3QgZGF0YSA9IHJlc3BvbnNpYmlsaXRpZXM/Lm1hcCgocmVzcG9uc2liaWxpdHk6IGFueSkgPT4ge1xuICAgICAgY29uc3QgcmVzcG9uc2liaWxpdHlDZW50ZXJJZHMgPSByZXNwb25zaWJpbGl0eT8ucmVzcG9uc2liaWxpdHlfY2VudGVycyB8fCBbXTtcblxuICAgICAgY29uc3QgbWFwcGVkUmVzcG9uc2liaWxpdHlDZW50ZXJzID0gcmVzcG9uc2liaWxpdHlDZW50ZXJJZHMubWFwKChyY0lkOiBudW1iZXIpID0+IHtcbiAgICAgICAgY29uc3QgcmMgPSByZXNwb25zaWJpbGl0eUNlbnRlcnMuZmluZCgoY2VudGVyOiBhbnkpID0+IGNlbnRlcj8uaWQgPT09IHJjSWQpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIG5hbWU6IHJjPy5uYW1lIHx8ICcnLFxuICAgICAgICAgIGlkOiByY0lkXG4gICAgICAgIH07XG4gICAgICB9KTtcblxuICAgICAgY29uc3QgYXNzaWdub3JEZXRhaWxzID0gdGhpcy5nZXRVc2VyRGV0YWlscy50cmFuc2Zvcm0oW3Jlc3BvbnNpYmlsaXR5Py5hc3NpZ25vcl0sIHVzZXJzKT8uWzBdIHx8IHt9O1xuICAgICAgY29uc3QgYXNzaWduZWVEZXRhaWxzID0gdGhpcy5nZXRVc2VyRGV0YWlscy50cmFuc2Zvcm0ocmVzcG9uc2liaWxpdHk/LmFzc2lnbmVlcz8udXNlcklkIHx8IFtdLCB1c2VycykgfHwgW107XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnJlc3BvbnNpYmlsaXR5LFxuICAgICAgICBuYW1lOiByZXNwb25zaWJpbGl0eT8udGl0bGUgfHwgJycsXG4gICAgICAgIGNvbnRyb2xJZDogcmVzcG9uc2liaWxpdHk/LmtleXx8ICcnLFxuICAgICAgICBfaWQ6IHJlc3BvbnNpYmlsaXR5Py5yaWQsXG4gICAgICAgIGVudHJ1c3RlZEJ5OiB7XG4gICAgICAgICAgbmFtZTogYXNzaWdub3JEZXRhaWxzPy5uYW1lIHx8ICcnLFxuICAgICAgICAgIGVtYWlsOiBhc3NpZ25vckRldGFpbHM/LmVtYWlsIHx8ICcnLFxuICAgICAgICAgIHByb2ZpbGVQaWM6IGFzc2lnbm9yRGV0YWlscz8uYXZhdGFyIHx8ICcnLFxuICAgICAgICAgIHNob3J0TmFtZTogYXNzaWdub3JEZXRhaWxzPy5zaG9ydF9uYW1lIHx8ICcnLFxuICAgICAgICB9LFxuICAgICAgICBlbnRydXN0ZWRUbzoge1xuICAgICAgICAgIG5hbWU6IGFzc2lnbmVlRGV0YWlsc1swXT8ubmFtZSB8fCAnJyxcbiAgICAgICAgICBlbWFpbDogYXNzaWduZWVEZXRhaWxzWzBdPy5lbWFpbCB8fCAnJyxcbiAgICAgICAgICBwcm9maWxlUGljOiBhc3NpZ25lZURldGFpbHNbMF0/LmF2YXRhciB8fCAnJyxcbiAgICAgICAgICBzaG9ydE5hbWU6IGFzc2lnbmVlRGV0YWlsc1swXT8uc2hvcnRfbmFtZSB8fCAnJyxcbiAgICAgICAgICBFbnRydXN0ZWRUb01lbWJlcnM6IGFzc2lnbmVlRGV0YWlscz8ubWFwKCh1c2VyOiBhbnkpID0+ICh7XG4gICAgICAgICAgICBtZW1iZXJfbmFtZTogdXNlcj8ubmFtZSxcbiAgICAgICAgICAgIHByb2ZpbGVfcGljOiB1c2VyPy5hdmF0YXIsXG4gICAgICAgICAgICBtZW1iZXJfc2hvcnRfbmFtZTogdXNlcj8uc2hvcnRfbmFtZVxuICAgICAgICAgIH0pKSB8fCBbXSxcbiAgICAgICAgfSxcbiAgICAgICAgd2l0aGluRGF0YTogbWFwcGVkUmVzcG9uc2liaWxpdHlDZW50ZXJzLFxuICAgICAgICBzdWJDYXRlZ29yeUlkOiB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnk/LmNhdGVnb3J5X2lkLFxuICAgICAgfTtcbiAgICB9KTtcbiAgICByZXR1cm4gZGF0YTtcbiAgfVxuXG4gIG9uU2VsZWN0ZWRQcm9ncmFtQ2hhbmdlKCkge1xuICAgIHRoaXMuY2F0ZWdvcnlDdXJyZW50UGFnZSA9IDE7XG4gICAgdGhpcy5yZXNwb25zaWJpbGl0eUN1cnJlbnRQYWdlID0gMTtcbiAgfVxuXG4gIGNoYW5nZVNlbGVjdGVkUHJvZ3JhbUFuZFJlc3AoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcCA9IGV2ZW50O1xuICAgIHRoaXMuZ2V0U2VsZWN0ZWRQcm9ncmFtSWRzKHRoaXMuc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcCk7XG4gICAgdGhpcy5nZXRBbGxTZWxlY3RlZFJlc3BvbnNpYmlsaXRpZXModGhpcy5zZWxlY3RlZFByb2dyYW1BbmRSZXNwKTtcbiAgICB0aGlzLmdldFNlbGVjdGVkQ2F0ZWdvcnlJZHModGhpcy5zZWxlY3RlZFByb2dyYW1BbmRSZXNwKTtcbiAgfVxuXG4gIGdldFNlbGVjdGVkUHJvZ3JhbUlkcyhzZWxlY3RlZERhdGE6IGFueSkge1xuICAgIHRoaXMuc2VsZWN0ZWRQcm9ncmFtSWRzID0gW107XG4gICAgc2VsZWN0ZWREYXRhPy5mb3JFYWNoKChzZWxlY3RlZDogYW55KSA9PiB7XG4gICAgICB0aGlzLnNlbGVjdGVkUHJvZ3JhbUlkcy5wdXNoKHNlbGVjdGVkPy5wcm9ncmFtPy5wcm9ncmFtSWQpO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0U2VsZWN0ZWRDYXRlZ29yeUlkcyhzZWxlY3RlZERhdGE6IGFueSkge1xuICAgIHRoaXMuc2VsZWN0ZWRDYXRlZ29yeUlkcyA9IFtdO1xuICAgIGxldCBwcm9ncmFtSW5kZXggPSAtMTtcbiAgICBwcm9ncmFtSW5kZXggPSBzZWxlY3RlZERhdGEuZmluZEluZGV4KFxuICAgICAgKGNhdDogYW55KSA9PiBjYXQ/LnByb2dyYW0/LnByb2dyYW1JZCA9PT0gdGhpcy5zZWxlY3RlZFByb2dyYW0/LnByb2dyYW1JZFxuICAgICk7XG4gICAgaWYgKHByb2dyYW1JbmRleCAhPT0gLTEpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRDYXRlZ29yeUlkcyA9IHNlbGVjdGVkRGF0YVtwcm9ncmFtSW5kZXhdPy5jYXRlZ29yeTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZWxlY3RlZENhdGVnb3J5SWRzID0gW107XG4gICAgfVxuICB9XG5cbiAgZ2V0QWxsU2VsZWN0ZWRSZXNwb25zaWJpbGl0aWVzKHNlbGVjdGVkRGF0YTogYW55KSB7XG4gICAgdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXRpZXMgPSBbXTtcbiAgICB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdGllcyA9IHNlbGVjdGVkRGF0YS5tYXAoKGl0ZW06IGFueSkgPT4gaXRlbT8ucmlkKTtcbiAgfVxuXG4gIGdldFNlbGVjdGVkUkNJZHMoc2VsZWN0ZWRSQzogYW55W10pIHtcbiAgICBsZXQgc2VsZWN0ZWRSQ0lkczogYW55W10gPSBbXTtcbiAgICBzZWxlY3RlZFJDSWRzID0gc2VsZWN0ZWRSQz8ubWFwKChyYzogYW55KSA9PiByYz8ucmNpZCk7XG5cbiAgICByZXR1cm4gc2VsZWN0ZWRSQ0lkcztcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInByb2dyYW0tcmVzcG9uc2liaWxpdHktbGlzdGluZ1wiIFtjbGFzcy5hbmltYXRlXT1cImFuaW1hdGlvblwiPlxuICA8ZGl2IGNsYXNzPVwicHJvZ3JhbS1yZXNwb25zaWJpbGl0eS1saXN0aW5nLWhlYWQgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWJldHdlZW4gdngtcGwtNCB2eC1wci00XCI+XG4gICAgPGgzIGNsYXNzPVwidngtZnMtMTQgdngtZnctNTAwIHZ4LWxhYmVsLXR4dFwiPlNlbGVjdCBSZXNwb25zaWJpbGl0aWVzPC9oMz5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJwcm9ncmFtLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmctYm9keVwiPlxuICAgIDwhLS0gPGFwcC10YWJsZS1jYXJkLWxvYWRlciAqbmdJZj1cInByb2dyYW1Db3VudExvYWRlclwiPjwvYXBwLXRhYmxlLWNhcmQtbG9hZGVyPiAtLT5cbiAgICA8IS0tIDxhcHAtdGFibGUtY2FyZFxuICAgICAgICAgICAgKm5nSWY9XCIhcHJvZ3JhbUNvdW50TG9hZGVyXCJcbiAgICAgICAgICAgIGNsYXNzPVwidngtdy0xMDBcIlxuICAgICAgICAgICAgW3RhYmxlQ2FyZF09XCJwcm9ncmFtVHlwZXNcIlxuICAgICAgICAgICAgW3NpbmdsZVNlbGVjdGVkVGV4dF09XCInUmVzcG9uc2liaWxpdHkgU2VsZWN0ZWQnXCJcbiAgICAgICAgICAgIFtzZWxlY3RlZFRhYl09XCJzZWxlY3RlZFRhYlwiXG4gICAgICAgICAgICBbbXVsdGlwbGVTZWxlY3RlZFRleHRdPVwiJ1Jlc3BvbnNpYmlsaXRpZXMgU2VsZWN0ZWQnXCJcbiAgICAgICAgICAgIChzZXRTZWxlY3RlZFRhYik9XCJzZXRTZWxlY3RlZFRhYigkZXZlbnQpXCI+XG4gICAgICAgIDwvYXBwLXRhYmxlLWNhcmQ+IC0tPlxuICAgIDxkaXYgY2xhc3M9XCJzZWFyY2gtYmxvY2sgdngtbWItMlwiPlxuICAgICAgPGkgY2xhc3M9XCJpY29uc1wiPiYjeGU5MGI7PC9pPlxuICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgI3NlYXJjaFJpc2tDYXRlZ29yeSAoa2V5dXAuZW50ZXIpPVwiaGFuZGxlU2VhcmNoKCRldmVudC50YXJnZXQudmFsdWUpXCJcbiAgICAgICAgcGxhY2Vob2xkZXI9XCJTZWFyY2ggUmVzcG9uc2liaWxpdGllc1wiIC8+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInByb2dyYW0tcmVzcG9uc2liaWxpdHktbGlzdGluZy1ib2R5LWlubmVyIHZ4LW1iLTIgdngtZC1mbGV4XCIgW2NsYXNzLnZ4LWp1c3RpZnktY2VudGVyXT1cIlxuICAgICAgICAhcmVzcG9uc2liaWxpdHlMb2FkZXIgJiYgIXJlc3BvbnNpYmlsaXR5RGF0YT8uZGF0YT8ubGVuZ3RoXG4gICAgICBcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJyZXNwb25zaWJpbGl0eUxvYWRlciB8fCByZXNwb25zaWJpbGl0eURhdGE/LmRhdGE/Lmxlbmd0aFwiPlxuICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJpbm5lci1pdGVtLWxlZnQgdngtcHItMlwiPlxuXG4gICAgICAgICAgICAgICAgICAgIDxhcHAtZ3JjLWNhdGVnb3J5LWxpc3RpbmcgKm5nSWY9XCIhcHJvZ3JhbUxvYWRlclwiIFtoZWFkZXJUZXh0XT1cIidQcm9ncmFtcydcIiBbcHJvZ3JhbURhdGFdPVwicHJvZ3JhbURhdGFcIiAgW3NlbGVjdGVkQ2F0QW5kUmlza109XCJzZWxlY3RlZENhdEFuZFJpc2tcIiBbbmFtZURpc3BsYXlLZXldPVwiJ2l0ZW1fbmFtZSdcIiBbY3VycmVudFBhZ2VdPVwicHJvZ3JhbUN1cnJlbnRQYWdlXCIgW3NlbGVjdGVkVGFiSW5kZXhdPVwic2VsZWN0ZWRUYWJcIiBbc2VsZWN0ZWRDYXRlZ29yeUlkc109XCJzZWxlY3RlZFByb2dyYW1JZHNcIiAoYWN0aXZlU2VsZWN0ZWRDYXRlZ29yeSk9XCJhY3RpdmVTZWxlY3RlZFByb2dyYW0oJGV2ZW50KVwiIChvbkNhdGVnb3J5UGFnZUNoYW5nZSk9XCJvblByb2dyYW1QYWdlQ2hhbmdlKCRldmVudClcIj48L2FwcC1ncmMtY2F0ZWdvcnktbGlzdGluZz5cbiAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICA8YXBwLWxpc3QtbG9hZGVyICpuZ0lmPVwicHJvZ3JhbUxvYWRlclwiPjwvYXBwLWxpc3QtbG9hZGVyPlxuXG4gICAgICAgICAgICAgICAgPC9kaXY+IC0tPlxuXG4gICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImlubmVyLWl0ZW0tbWlkIHZ4LXByLTJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGFwcC1ncmMtc3ViLWNhdGVnb3J5LWxpc3RpbmcgKm5nSWY9XCIhY2F0ZWdvcnlMb2FkZXIgJiYgIXByb2dyYW1Mb2FkZXJcIiAgW2hlYWRlclRleHRdPVwiJ1Byb2dyYW1zJ1wiIFtjYXRlZ29yaWVzXT1cImNhdGVnb3J5RGF0YVwiICBbbmFtZURpc3BsYXlLZXldPVwiJ2l0ZW1fbmFtZSdcIiAgW2N1cnJlbnRQYWdlXT1cImNhdGVnb3J5Q3VycmVudFBhZ2VcIiBbc2VsZWN0ZWRDYXRlZ29yeUlkc109XCJzZWxlY3RlZENhdGVnb3J5SWRzXCIgW2FjdGl2ZVByb2dyYW1dPVwic2VsZWN0ZWRQcm9ncmFtXCIgW3NlbGVjdGVkUHJvZ3JhbUFuZFJlc3BdPVwic2VsZWN0ZWRQcm9ncmFtQW5kUmVzcFwiIChhY3RpdmVTZWxlY3RlZENhdGVnb3J5KT1cImFjdGl2ZVNlbGVjdGVkU3ViQ2F0ZWdvcnkoJGV2ZW50KVwiIChvbkNhdGVnb3J5UGFnZUNoYW5nZSk9XCJvblN1YkNhdGVnb3J5UGFnZUNoYW5nZSgkZXZlbnQpXCI+PC9hcHAtZ3JjLXN1Yi1jYXRlZ29yeS1saXN0aW5nPlxuICAgICAgICAgICAgICAgICAgICA8YXBwLWxpc3QtbG9hZGVyICpuZ0lmPVwiY2F0ZWdvcnlMb2FkZXIgfHwgcHJvZ3JhbUxvYWRlclwiPjwvYXBwLWxpc3QtbG9hZGVyPlxuICAgICAgICAgICAgICAgIDwvZGl2PiAtLT5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW5uZXItaXRlbS1yaWdodFwiPlxuICAgICAgICAgIDwhLS0gPGFwcC1ncmMtcmVzcG9uc2liaWxpdHktbGlzdGluZz48L2FwcC1ncmMtcmVzcG9uc2liaWxpdHktbGlzdGluZz4gLS0+XG5cbiAgICAgICAgICA8YXBwLWdyYy1yZXNwb25zaWJpbGl0eS1saXN0aW5nICNkYXRhTGlzdGluZyAqbmdJZj1cIlxuICAgICAgICAgICAgICAhcmVzcG9uc2liaWxpdHlMb2FkZXIgJiZcbiAgICAgICAgICAgICAgIWNhdGVnb3J5TG9hZGVyICYmXG4gICAgICAgICAgICAgICFwcm9ncmFtTG9hZGVyICYmXG4gICAgICAgICAgICAgIHJlc3BvbnNpYmlsaXR5RGF0YT8uZGF0YT8ubGVuZ3RoICE9PSAwXG4gICAgICAgICAgICBcIiBbaGVhZGVyVGV4dF09XCInUmVzcG9uc2liaWxpdGllcydcIiBbTU9ERV09XCJNT0RFXCIgW3Jlc3BvbnNpYmlsaXR5RGF0YV09XCJyZXNwb25zaWJpbGl0eURhdGFcIlxuICAgICAgICAgICAgW2FjdGl2ZVByb2dyYW1dPVwic2VsZWN0ZWRQcm9ncmFtXCIgW2FjdGl2ZUNhdGVnb3J5XT1cInNlbGVjdGVkQ2F0ZWdvcnlcIlxuICAgICAgICAgICAgW3NlbGVjdGVkUHJvZ3JhbUFuZFJlc3BdPVwic2VsZWN0ZWRQcm9ncmFtQW5kUmVzcFwiIFthbGxTZWxlY3RlZFJlc3BvbnNpYmlsaXR5SWRzXT1cInNlbGVjdGVkUmVzcG9uc2liaWxpdGllc1wiXG4gICAgICAgICAgICAoY2hhbmdlU2VsZWN0ZWRQcm9ncmFtQW5kUmVzcCk9XCJcbiAgICAgICAgICAgICAgY2hhbmdlU2VsZWN0ZWRQcm9ncmFtQW5kUmVzcCgkZXZlbnQpXG4gICAgICAgICAgICBcIiBbY3VycmVudFBhZ2VdPVwicmVzcG9uc2liaWxpdHlDdXJyZW50UGFnZVwiIFtwZXJQYWdlTGltaXRdPVwiMzBcIlxuICAgICAgICAgICAgW3RvdGFsTGlzdERhdGFdPVwicmVzcG9uc2liaWxpdHlEYXRhPy50b3RhbF9pdGVtc1wiIFt0b3RhbFBhZ2VzXT1cInJlc3BvbnNpYmlsaXR5RGF0YT8udG90YWxfcGFnZXNcIlxuICAgICAgICAgICAgKGdldFVwZGF0ZWREYXRhTGlzdCk9XCJnZXRVcGRhdGVkRGF0YUxpc3QoJGV2ZW50KVwiPjwvYXBwLWdyYy1yZXNwb25zaWJpbGl0eS1saXN0aW5nPlxuXG4gICAgICAgICAgPGFwcC1saXN0LWxvYWRlciAqbmdJZj1cInJlc3BvbnNpYmlsaXR5TG9hZGVyIHx8IGNhdGVnb3J5TG9hZGVyIHx8IHByb2dyYW1Mb2FkZXJcIlxuICAgICAgICAgICAgW2Z1bGxXaWR0aF09XCJ0cnVlXCI+PC9hcHAtbGlzdC1sb2FkZXI+XG5cbiAgICAgICAgICA8YXBwLW5vLWRhdGEgKm5nSWY9XCJcbiAgICAgICAgICAgICAgcmVzcG9uc2liaWxpdHlEYXRhPy5kYXRhPy5sZW5ndGggPT09IDAgJiZcbiAgICAgICAgICAgICAgIShyZXNwb25zaWJpbGl0eUxvYWRlciB8fCBjYXRlZ29yeUxvYWRlciB8fCBwcm9ncmFtTG9hZGVyKVxuICAgICAgICAgICAgXCIgW25vRGF0YUltYWdlXT1cIkNETl9MSU5LPy5ub0RhdGFcIiBbbm9EYXRhVGV4dF09XCInTm8gZGF0YSB0byBkaXNwbGF5J1wiPjwvYXBwLW5vLWRhdGE+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8YXBwLW5vLWRhdGEgKm5nSWY9XCIhcmVzcG9uc2liaWxpdHlMb2FkZXIgJiYgIXJlc3BvbnNpYmlsaXR5RGF0YT8uZGF0YT8ubGVuZ3RoXCIgW25vRGF0YUltYWdlXT1cIkNETl9MSU5LPy5ub0RhdGFcIlxuICAgICAgICBbbm9EYXRhVGV4dF09XCInTm8gZGF0YSB0byBkaXNwbGF5J1wiPjwvYXBwLW5vLWRhdGE+XG4gICAgPC9kaXY+XG4gICAgPGFwcC1mbG9hdGluZy1iYXIgW3NlbGVjdGVkRGF0YV09XCJcbiAgICAgICAgc2VsZWN0ZWRSZXNwb25zaWJpbGl0aWVzIHwgZmlsdGVyUmVzcG9uc2liaWxpdHkgOiByZXNwb25zaWJpbGl0eURhdGE/LmRhdGFcbiAgICAgIFwiIChjbG9zZUxpc3QpPVwiY2xvc2UoKVwiIChjbG9zZUV2ZW50KT1cInNhdmUoKVwiIFtkaXNwbGF5RWxlbWVudEtleV09XCIndGl0bGUnXCJcbiAgICAgIFtzaW5ndWxhclRleHRdPVwiJ1Jlc3BvbnNpYmlsaXR5IHNlbGVjdGVkJ1wiIFtwbHVyYWxUZXh0XT1cIidSZXNwb25zaWJpbGl0aWVzIHNlbGVjdGVkJ1wiXG4gICAgICAoZGVsZXRlRXZlbnQpPVwiZGVsZXRlRXZlbnQoJGV2ZW50KVwiPjwvYXBwLWZsb2F0aW5nLWJhcj5cbiAgPC9kaXY+XG48L2Rpdj4iXX0=
437
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3JhbS1yZXNwb25zaWJpbGl0eS1saXN0aW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3dvcmtmbG93L3NoYXJlZC9jb21wb25lbnRzL3Byb2dyYW0tcmVzcG9uc2liaWxpdHktbGlzdGluZy9wcm9ncmFtLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvd29ya2Zsb3cvc2hhcmVkL2NvbXBvbmVudHMvcHJvZ3JhbS1yZXNwb25zaWJpbGl0eS1saXN0aW5nL3Byb2dyYW0tcmVzcG9uc2liaWxpdHktbGlzdGluZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUNsRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDbkYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUNyRyxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFB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QUFaLEtBQUs7Z0JBS04sOEJBQThCO3NCQUQ3QixTQUFTO3VCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGbG9hdGluZ0Jhck1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZENvbXBvbmVudHMvZmxvYXRpbmctYmFyL2Zsb2F0aW5nLWJhci5tb2R1bGUnO1xuaW1wb3J0IHsgRm9ybWdyb3VwTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vdWkta2l0L2Zvcm1ncm91cC9mb3JtZ3JvdXAubW9kdWxlJztcbmltcG9ydCB7IFBhZ2luYXRpb25Nb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi91aS1raXQvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLm1vZHVsZSc7XG5pbXBvcnQgeyBQb3BvdmVyTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vdWkta2l0L3BvcG92ZXIvcG9wb3Zlci5tb2R1bGUnO1xuaW1wb3J0IHsgVG9vbHRpcE1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL3VpLWtpdC90b29sdGlwL3Rvb2x0aXAubW9kdWxlJztcbmltcG9ydCB7IFRhYmxlQ2FyZENvbXBvbmVudCB9IGZyb20gJy4uL3RhYmxlLWNhcmQvdGFibGUtY2FyZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgR3JjQ2F0ZWdvcnlMaXN0aW5nQ29tcG9uZW50IH0gZnJvbSAnLi4vZ3JjLWNhdGVnb3J5LWxpc3RpbmcvZ3JjLWNhdGVnb3J5LWxpc3RpbmcuY29tcG9uZW50JztcbmltcG9ydCB7IEdyY1Jlc3BvbnNpYmlsaXR5TGlzdGluZ0NvbXBvbmVudCB9IGZyb20gJy4uL2dyYy1yZXNwb25zaWJpbGl0eS1saXN0aW5nL2dyYy1yZXNwb25zaWJpbGl0eS1saXN0aW5nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOb0RhdGFNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi91aS1raXQvbm8tZGF0YS9uby1kYXRhLm1vZHVsZSc7XG5pbXBvcnQgeyBMaXN0TG9hZGVyTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkQ29tcG9uZW50cy9saXN0LWxvYWRlci9saXN0LWxvYWRlci5tb2R1bGUnO1xuaW1wb3J0IHsgR3JjU3ViQ2F0ZWdvcnlMaXN0aW5nQ29tcG9uZW50IH0gZnJvbSAnLi4vZ3JjLXN1Yi1jYXRlZ29yeS1saXN0aW5nL2dyYy1zdWItY2F0ZWdvcnktbGlzdGluZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBSRVNQT05TSUJJTElUWV9UQUJMRV9DQVJEIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL2xpbmstcmVzcG9uc2liaWxpdHkuY29uc3RhbnQnO1xuaW1wb3J0IHsgR3JjU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2dyYy5zZXJ2aWNlJztcbmltcG9ydCB7IFRhYmxlQ2FyZExvYWRlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZENvbXBvbmVudHMvdGFibGUtY2FyZC1sb2FkZXIvdGFibGUtY2FyZC1sb2FkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBMSU5LUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9jZG4tbGluay5jb25zdGFudCc7XG5pbXBvcnQgeyBXb3JrZmxvd1BpcGVzTW9kdWxlIH0gZnJvbSAnLi4vLi4vd29ya2Zsb3ctcGlwZXMvd29ya2Zsb3ctcGlwZXMubW9kdWxlJztcbmltcG9ydCB7IFJlc3BvbnNpYmlsaXR5U2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3dvcmtmbG93LXNlcnZpY2VzL3Jlc3BvbnNpYmlsaXR5LnNlcnZpY2UnO1xuaW1wb3J0IHsgR2V0VXNlckRldGFpbHNQaXBlIH0gZnJvbSAnLi4vLi4vd29ya2Zsb3ctcGlwZXMvZ2V0LXVzZXItZGV0YWlscy5waXBlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXByb2dyYW0tcmVzcG9uc2liaWxpdHktbGlzdGluZycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgUG9wb3Zlck1vZHVsZSxcbiAgICBGb3JtZ3JvdXBNb2R1bGUsXG4gICAgVG9vbHRpcE1vZHVsZSxcbiAgICBGbG9hdGluZ0Jhck1vZHVsZSxcbiAgICBQYWdpbmF0aW9uTW9kdWxlLFxuICAgIFRhYmxlQ2FyZENvbXBvbmVudCxcbiAgICBHcmNDYXRlZ29yeUxpc3RpbmdDb21wb25lbnQsXG4gICAgR3JjUmVzcG9uc2liaWxpdHlMaXN0aW5nQ29tcG9uZW50LFxuICAgIEdyY1N1YkNhdGVnb3J5TGlzdGluZ0NvbXBvbmVudCxcbiAgICBMaXN0TG9hZGVyTW9kdWxlLFxuICAgIE5vRGF0YU1vZHVsZSxcbiAgICBUYWJsZUNhcmRMb2FkZXJDb21wb25lbnQsXG4gICAgV29ya2Zsb3dQaXBlc01vZHVsZSxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2dyYW0tcmVzcG9uc2liaWxpdHktbGlzdGluZy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Byb2dyYW0tcmVzcG9uc2liaWxpdHktbGlzdGluZy5jb21wb25lbnQubGVzcyddLFxuICBvdXRwdXRzOiBbJ2Nsb3NlTGlzdCddLFxuICBwcm92aWRlcnM6IFtHZXRVc2VyRGV0YWlsc1BpcGVdXG59KVxuZXhwb3J0IGNsYXNzIFByb2dyYW1SZXNwb25zaWJpbGl0eUxpc3RpbmdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwcm9ncmFtVHlwZXMgPSBSRVNQT05TSUJJTElUWV9UQUJMRV9DQVJEO1xuICBDRE5fTElOSyA9IExJTktTO1xuICBzZWxlY3RlZFRhYjogMCB8IDEgfCAyIHwgMyA9IDE7XG5cbiAgYW5pbWF0aW9uID0gZmFsc2U7XG5cbiAgcHJvZ3JhbUxvYWRlcjogYm9vbGVhbiA9IGZhbHNlO1xuICBwcm9ncmFtQ291bnRMb2FkZXI6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcmVzcG9uc2liaWxpdHlMb2FkZXI6IGJvb2xlYW4gPSBmYWxzZTtcbiAgY2F0ZWdvcnlMb2FkZXI6IGJvb2xlYW4gPSBmYWxzZTtcbiAgc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcDogYW55W10gPSBbXTtcbiAgcHJlU2VsZWN0ZWRQcm9ncmFtQW5kUmVzcDogYW55W10gPSBbXTtcbiAgc2VhcmNoU3RyaW5nOiBzdHJpbmcgPSAnJztcbiAgY3VycmVudEJ1c2luZXNzQ3ljbGUhOiBhbnk7XG4gIHNlbGVjdGVkUHJvZ3JhbTogYW55O1xuICBzZWxlY3RlZENhdGVnb3J5OiBhbnk7XG4gIHByb2dyYW1DdXJyZW50UGFnZTogbnVtYmVyID0gMTtcbiAgY2F0ZWdvcnlDdXJyZW50UGFnZTogbnVtYmVyID0gMTtcbiAgcmVzcG9uc2liaWxpdHlDdXJyZW50UGFnZTogbnVtYmVyID0gMTtcbiAgcHJvZ3JhbURhdGE6IGFueTtcbiAgY2F0ZWdvcnlEYXRhOiBhbnk7XG4gIHJlc3BvbnNpYmlsaXR5RGF0YTogYW55ID0ge1xuICAgIGRhdGE6IFtdLFxuICB9O1xuICBzZWxlY3RlZFByb2dyYW1JZHM6IGFueVtdID0gW107XG4gIHNlbGVjdGVkQ2F0ZWdvcnlJZHM6IGFueVtdID0gW107XG4gIHNlbGVjdGVkUmVzcG9uc2liaWxpdGllczogYW55W10gPSBbXTtcbiAgc2VsZWN0ZWRSQ0lkczogbnVtYmVyW10gPSBbXTtcblxuICBwcm9ncmFtQ2FsbCE6IFN1YnNjcmlwdGlvbjtcbiAgY2F0ZWdvcnlDYWxsITogU3Vic2NyaXB0aW9uO1xuICByZXNwb25zaWJpbGl0eUNhbGwhOiBTdWJzY3JpcHRpb247XG5cbiAgQElucHV0KCdzZWxlY3RlZFByb2dyYW1BbmRSZXNwJykgc2V0IGdldFNlbGVjdGVkUHJvZ3JhbUFuZFJlc3AoZGF0YTogYW55KSB7XG4gICAgdGhpcy5zZWxlY3RlZFJlc3BvbnNpYmlsaXRpZXMgPSBkYXRhLm1hcCgoaXRlbTogYW55KSA9PiBpdGVtLnJpZCk7XG4gICAgdGhpcy5zZWxlY3RlZFByb2dyYW1BbmRSZXNwID0gZGF0YSB8fCBbXTtcbiAgICB0aGlzLnByZVNlbGVjdGVkUHJvZ3JhbUFuZFJlc3AgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMuc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcCkpO1xuICAgIHRoaXMuZ2V0U2VsZWN0ZWRQcm9ncmFtSWRzKHRoaXMuc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcCk7XG4gICAgdGhpcy5nZXRBbGxTZWxlY3RlZFJlc3BvbnNpYmlsaXRpZXModGhpcy5zZWxlY3RlZFByb2dyYW1BbmRSZXNwKTtcbiAgfVxuICBASW5wdXQoKSBzZWxlY3RlZFJDOiBhbnlbXSA9IFtdO1xuICBASW5wdXQoKSBNT0RFOiAnQ1JFQVRFJyB8ICdFRElUJyA9ICdDUkVBVEUnO1xuXG4gIGNsb3NlTGlzdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQFZpZXdDaGlsZCgnZGF0YUxpc3RpbmcnKVxuICByZXNwb25zaWJpbGl0eUxpc3RpbmdDb21wb25lbnQhOiBHcmNSZXNwb25zaWJpbGl0eUxpc3RpbmdDb21wb25lbnQ7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBncmNTZXJ2aWNlOiBHcmNTZXJ2aWNlLCBwcml2YXRlIHJlc3BvbnNpYmlsaXR5U2VydmljZTogUmVzcG9uc2liaWxpdHlTZXJ2aWNlLCBwcml2YXRlIGdldFVzZXJEZXRhaWxzOiBHZXRVc2VyRGV0YWlsc1BpcGUpIHtcbiAgICB0aGlzLmN1cnJlbnRCdXNpbmVzc0N5Y2xlID0gdGhpcy5ncmNTZXJ2aWNlPy5nZXRCdXNpbmVzc0N5Y2xlKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmFuaW1hdGlvbiA9IHRydWU7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmFuaW1hdGlvbiA9IGZhbHNlO1xuICAgIH0sIDMwMCk7XG4gICAgdGhpcy5nZXRSZXNwb25zaWJpbGl0aWVzTGlzdCgpO1xuICB9XG5cbiAgY2xvc2UoKSB7XG4gICAgdGhpcy5jbG9zZUxpc3QuZW1pdCh0aGlzLnByZVNlbGVjdGVkUHJvZ3JhbUFuZFJlc3ApO1xuICB9XG5cbiAgc2F2ZSgpIHtcbiAgICB0aGlzLmNsb3NlTGlzdC5lbWl0KHRoaXMuc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcCk7XG4gIH1cblxuICBnZXRQcm9ncmFtc0xpc3QoZXZlbnQ/OiBhbnkpIHtcbiAgICBpZiAodGhpcy5wcm9ncmFtQ2FsbCkge1xuICAgICAgdGhpcy5wcm9ncmFtQ2FsbC51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgICB0aGlzLnByb2dyYW1Mb2FkZXIgPSB0cnVlO1xuICAgIGNvbnN0IHJlcXVlc3QgPSB7XG4gICAgICBoZWFkZXJzOiB7XG4gICAgICAgIHR5cGU6ICcnLFxuICAgICAgICBwYWdpbmF0aW9uVHlwZTogJ3NtYWxsJyxcbiAgICAgICAgYTogJycsXG4gICAgICAgIHNlYXJjaFRleHQ6IHRoaXMuc2VhcmNoU3RyaW5nLFxuICAgICAgICBmaWx0ZXJEYXRhOiB7XG4gICAgICAgICAgYXBwTGlzdDogW10sXG4gICAgICAgICAgcmlza0lkczogW10sXG4gICAgICAgICAgcmV2aWV3ZXJJZDogW10sXG4gICAgICAgICAgcmVzcG9uc2liaWxpdHlDZW50ZXI6IHRoaXMuZ2V0U2VsZWN0ZWRSQ0lkcyh0aGlzLnNlbGVjdGVkUkMpID8/IFtdLFxuICAgICAgICAgIGVudHJ1c3RlZEJ5OiBbXSxcbiAgICAgICAgICBlbnRydXN0ZWRUbzogW10sXG4gICAgICAgICAgcmVzcG9uc2liaWxpdHlDYXRlZ29yeTogW10sXG4gICAgICAgIH0sXG4gICAgICAgIHBhZ2VObzogdGhpcy5wcm9ncmFtQ3VycmVudFBhZ2UgfHwgMSxcbiAgICAgICAgc29ydE9iajogeyBzb3J0Qnk6ICcnLCB0eXBlOiAtMSB9LFxuICAgICAgICBwYWdlTmFtZTogJ2NhdGVnb3J5JyxcbiAgICAgICAgdHlwZUFycjogW3RoaXMuc2VsZWN0ZWRUYWJdLFxuICAgICAgICBzdGFydF9kYXRlOiB0aGlzLmN1cnJlbnRCdXNpbmVzc0N5Y2xlPy5zdGFydF9kYXRlLFxuICAgICAgICBlbmRfZGF0ZTogdGhpcy5jdXJyZW50QnVzaW5lc3NDeWNsZT8uZW5kX2RhdGUsXG4gICAgICAgIHNlbGVjdGVkX2N5Y2xlX2FycjogdGhpcy5jdXJyZW50QnVzaW5lc3NDeWNsZT8uc2VsZWN0ZWRfY3ljbGVfYXJyLFxuICAgICAgICBzZWxlY3RlZF9jeWNsZTogdGhpcy5jdXJyZW50QnVzaW5lc3NDeWNsZT8uc2VsZWN0ZWRfY3ljbGUsXG4gICAgICAgIHRpbWVfZmlsdGVyX3R5cGU6ICcnLFxuICAgICAgICBzdGF0ZTogWzIsIDNdLFxuICAgICAgfSxcbiAgICB9O1xuICAgIHRoaXMucHJvZ3JhbUNhbGwgPSB0aGlzLmdyY1NlcnZpY2UuZ2V0UHJvZ3JhbXNMaXN0KHJlcXVlc3QpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5wcm9ncmFtTG9hZGVyID0gZmFsc2U7XG4gICAgICAgIC8vIHRoaXMucHJvZ3JhbURhdGEuZGF0YSA9IHJlcy5kYXRhID8/IFtdO1xuICAgICAgICB0aGlzLnByb2dyYW1EYXRhID0geyAuLi5yZXMgfTtcbiAgICAgICAgdGhpcy5vblNlbGVjdGVkUHJvZ3JhbUNoYW5nZSgpO1xuICAgICAgICB0aGlzLmdldENhdGVnb3J5QnlQcm9ncmFtSWQocmVzPy5kYXRhWzBdKTtcbiAgICAgIH0sXG4gICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XG4gICAgICAgIHRoaXMucHJvZ3JhbUxvYWRlciA9IGZhbHNlO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIG9uUHJvZ3JhbVBhZ2VDaGFuZ2UoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMucHJvZ3JhbUN1cnJlbnRQYWdlID0gZXZlbnQ/LnBhZ2VObyB8fCAxO1xuICAgIHRoaXMuZ2V0UHJvZ3JhbXNMaXN0KCk7XG4gIH1cblxuICBvblN1YkNhdGVnb3J5UGFnZUNoYW5nZShldmVudDogYW55KSB7XG4gICAgdGhpcy5jYXRlZ29yeUN1cnJlbnRQYWdlID0gZXZlbnQ/LnBhZ2VObyB8fCAxO1xuICAgIHRoaXMuZ2V0Q2F0ZWdvcnlCeVByb2dyYW1JZCh0aGlzLnNlbGVjdGVkUHJvZ3JhbSk7XG4gIH1cblxuICBkZWxldGVFdmVudChldmVudDogYW55KSB7XG4gICAgdGhpcy5yZXNwb25zaWJpbGl0eUxpc3RpbmdDb21wb25lbnQuZGVsZXRlU2VsZWN0ZWRSZXNwb25zaWJpbGl0eShldmVudCk7XG4gIH1cblxuICBzZXRTZWxlY3RlZFRhYihldmVudDogYW55KSB7XG4gICAgdGhpcy5wcm9ncmFtQ3VycmVudFBhZ2UgPSAxO1xuICAgIHRoaXMuc2VsZWN0ZWRUYWIgPSBldmVudD8udHlwZTtcbiAgICB0aGlzLmdldFByb2dyYW1zTGlzdCgpO1xuICB9XG5cbiAgaGFuZGxlU2VhcmNoKGV2ZW50OiBhbnkpIHtcbiAgICBpZiAodGhpcy5zZWFyY2hTdHJpbmcgIT0gZXZlbnQpIHtcbiAgICAgIHRoaXMucHJvZ3JhbUN1cnJlbnRQYWdlID0gMTtcbiAgICAgIHRoaXMuc2VhcmNoU3RyaW5nID0gZXZlbnQ7XG4gICAgICB0aGlzLm9uU2VsZWN0ZWRQcm9ncmFtQ2hhbmdlKCk7XG4gICAgICB0aGlzLmdldFByb2dyYW1zTGlzdCgpO1xuICAgICAgdGhpcy5nZXRQcm9ncmFtc0NvdW50KCk7XG4gICAgfVxuICB9XG5cbiAgZ2V0UHJvZ3JhbXNDb3VudChwYXJhbXNPYmplY3Q/OiBhbnkpIHtcbiAgICB0aGlzLnByb2dyYW1Db3VudExvYWRlciA9IHRydWU7XG4gICAgY29uc3QgcmVxdWVzdCA9IHtcbiAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgdHlwZTogJycsXG4gICAgICAgIHBhZ2luYXRpb25UeXBlOiAnc21hbGwnLFxuICAgICAgICBhOiAnJyxcbiAgICAgICAgc2VhcmNoVGV4dDogdGhpcy5zZWFyY2hTdHJpbmcsXG4gICAgICAgIGZpbHRlckRhdGE6IHtcbiAgICAgICAgICBhcHBMaXN0OiBbXSxcbiAgICAgICAgICByaXNrSWRzOiBbXSxcbiAgICAgICAgICByZXZpZXdlcklkOiBbXSxcbiAgICAgICAgICByZXNwb25zaWJpbGl0eUNlbnRlcjogdGhpcy5nZXRTZWxlY3RlZFJDSWRzKHRoaXMuc2VsZWN0ZWRSQykgPz8gW10sXG4gICAgICAgICAgZW50cnVzdGVkQnk6IFtdLFxuICAgICAgICAgIGVudHJ1c3RlZFRvOiBbXSxcbiAgICAgICAgICByZXNwb25zaWJpbGl0eUNhdGVnb3J5OiBbXSxcbiAgICAgICAgfSxcbiAgICAgICAgcGFnZU5vOiAxLFxuICAgICAgICBzb3J0T2JqOiB7IHNvcnRCeTogJycsIHR5cGU6ICcnIH0sXG4gICAgICAgIHBhZ2VOYW1lOiAnY2F0ZWdvcnknLFxuICAgICAgICB0eXBlQXJyOiBbMSwgMiwgMywgMF0sXG4gICAgICAgIHN0YXJ0X2RhdGU6IHRoaXMuY3VycmVudEJ1c2luZXNzQ3ljbGU/LnN0YXJ0X2RhdGUsXG4gICAgICAgIGVuZF9kYXRlOiB0aGlzLmN1cnJlbnRCdXNpbmVzc0N5Y2xlPy5lbmRfZGF0ZSxcbiAgICAgICAgc2VsZWN0ZWRfY3ljbGVfYXJyOiB0aGlzLmN1cnJlbnRCdXNpbmVzc0N5Y2xlPy5zZWxlY3RlZF9jeWNsZV9hcnIsXG4gICAgICAgIHNlbGVjdGVkX2N5Y2xlOiB0aGlzLmN1cnJlbnRCdXNpbmVzc0N5Y2xlPy5zZWxlY3RlZF9jeWNsZSxcbiAgICAgICAgdGltZV9maWx0ZXJfdHlwZTogJycsXG4gICAgICAgIHN0YXRlOiBbMiwgM10sXG4gICAgICB9LFxuICAgIH07XG4gICAgdGhpcy5ncmNTZXJ2aWNlLmdldFByb2dyYW1zTGlzdENvdW50KHJlcXVlc3QpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5wcm9ncmFtQ291bnRMb2FkZXIgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5wcm9ncmFtVHlwZXNbMF0uY291bnQgPVxuICAgICAgICAgIHJlcz8ucmVndWxhdGlvbkNvdW50Py5hY3RpdmUgKyByZXM/LnJlZ3VsYXRpb25Db3VudD8uY29tcGxldGVkO1xuICAgICAgICB0aGlzLnByb2dyYW1UeXBlc1sxXS5jb3VudCA9XG4gICAgICAgICAgcmVzPy5zdGFuZGFyZENvdW50Py5hY3RpdmUgKyByZXM/LnN0YW5kYXJkQ291bnQ/LmNvbXBsZXRlZDtcbiAgICAgICAgdGhpcy5wcm9ncmFtVHlwZXNbMl0uY291bnQgPVxuICAgICAgICAgIHJlcz8uaW50ZXJuYWxDb3VudD8uYWN0aXZlICsgcmVzPy5pbnRlcm5hbENvdW50Py5jb21wbGV0ZWQ7XG4gICAgICAgIHRoaXMucHJvZ3JhbVR5cGVzWzNdLmNvdW50ID1cbiAgICAgICAgICByZXM/Lm90aGVyQ291bnQ/LmFjdGl2ZSArIHJlcz8ub3RoZXJDb3VudD8uY29tcGxldGVkO1xuICAgICAgICAvLyB9XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgZ2V0Q2F0ZWdvcnlCeVByb2dyYW1JZChwcm9ncmFtOiBhbnkpIHtcbiAgICBpZiAodGhpcy5jYXRlZ29yeUNhbGwpIHtcbiAgICAgIHRoaXMuY2F0ZWdvcnlDYWxsLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0ZWRQcm9ncmFtID0gcHJvZ3JhbTtcbiAgICB0aGlzLmNhdGVnb3J5TG9hZGVyID0gdHJ1ZTtcbiAgICAvLyB0aGlzLnJlc2V0Q29udHJvbFZhcmlhYmxlKCk7XG4gICAgY29uc3QgaGVhZGVycyA9IHtcbiAgICAgIGlkOiBwcm9ncmFtPy5faWQsXG4gICAgICBzY29wZVR5cGU6ICdyaXNrJyxcbiAgICAgIHBhZ2luYXRpb25UeXBlOiAnc21hbGwnLFxuICAgICAgc2VhcmNoVGV4dDogdGhpcy5zZWFyY2hTdHJpbmcsXG4gICAgICBmaWx0ZXJEYXRhOiB7XG4gICAgICAgIGFwcExpc3Q6IFtdLFxuICAgICAgICByaXNrSWRzOiBbXSxcbiAgICAgICAgcmV2aWV3ZXJJZDogW10sXG4gICAgICAgIHJlc3BvbnNpYmlsaXR5Q2VudGVyOiB0aGlzLmdldFNlbGVjdGVkUkNJZHModGhpcy5zZWxlY3RlZFJDKSA/PyBbXSxcbiAgICAgICAgZW50cnVzdGVkQnk6IFtdLFxuICAgICAgICBlbnRydXN0ZWRUbzogW10sXG4gICAgICAgIHJlc3BvbnNpYmlsaXR5Q2F0ZWdvcnk6IFtdLFxuICAgICAgfSxcbiAgICAgIHBhZ2U6IHRoaXMuY2F0ZWdvcnlDdXJyZW50UGFnZSB8fCAxLFxuICAgICAgLy8gc29ydGluZ0NvdW50OiB0aGlzLmNhdGVnb3J5U29ydFZhbHVlLFxuICAgICAgbmFtZTogJ25hbWUnLFxuICAgICAgYnVzaW5lc3NDeWNsZToge1xuICAgICAgICBzdGFydF9kYXRlOiB0aGlzLmN1cnJlbnRCdXNpbmVzc0N5Y2xlPy5zdGFydF9kYXRlLFxuICAgICAgICBlbmRfZGF0ZTogdGhpcy5jdXJyZW50QnVzaW5lc3NDeWNsZT8uZW5kX2RhdGUsXG4gICAgICAgIHNlbGVjdGVkX2N5Y2xlX2FycjogdGhpcy5jdXJyZW50QnVzaW5lc3NDeWNsZT8uc2VsZWN0ZWRfY3ljbGVfYXJyLFxuICAgICAgICBzZWxlY3RlZF9jeWNsZTogdGhpcy5jdXJyZW50QnVzaW5lc3NDeWNsZT8uc2VsZWN0ZWRfY3ljbGUsXG4gICAgICAgIHRpbWVfZmlsdGVyX3R5cGU6ICcnLFxuICAgICAgICAvLyBcInNjb3BlVHlwZVwiOiAncmlzaycsXG4gICAgICAgIHR5cGU6ICdyaXNrJyxcbiAgICAgICAgY2FsbEZyb206ICdncmMnLFxuICAgICAgICBmaWx0ZXJEYXRhOiB7XG4gICAgICAgICAgYXBwTGlzdDogW10sXG4gICAgICAgICAgcmlza0lkczogW10sXG4gICAgICAgICAgcmV2aWV3ZXJJZDogW10sXG4gICAgICAgICAgcmVzcG9uc2liaWxpdHlDZW50ZXI6IHRoaXMuZ2V0U2VsZWN0ZWRSQ0lkcyh0aGlzLnNlbGVjdGVkUkMpID8/IFtdLFxuICAgICAgICAgIGVudHJ1c3RlZEJ5OiBbXSxcbiAgICAgICAgICBlbnRydXN0ZWRUbzogW10sXG4gICAgICAgICAgcmVzcG9uc2liaWxpdHlDYXRlZ29yeTogW10sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH07XG4gICAgdGhpcy5jYXRlZ29yeUNhbGwgPSB0aGlzLmdyY1NlcnZpY2UuZ2V0U3ViQ2F0ZWdvcnlMaXN0KGhlYWRlcnMpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5jYXRlZ29yeUxvYWRlciA9IGZhbHNlO1xuICAgICAgICB0aGlzLmNhdGVnb3J5RGF0YSA9IHsgLi4ucmVzIH07XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDYXRlZ29yeSA9IHJlcz8uZGF0YVswXTtcbiAgICAgICAgdGhpcy5yZXNwb25zaWJpbGl0eUN1cnJlbnRQYWdlID0gMTtcbiAgICAgICAgdGhpcy5nZXRSZXNwb25zaWJpbGl0aWVzTGlzdCgpO1xuICAgICAgfSxcbiAgICAgIGVycm9yOiAoZXJyKSA9PiB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyKTtcbiAgICAgICAgdGhpcy5jYXRlZ29yeUxvYWRlciA9IGZhbHNlO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIGFjdGl2ZVNlbGVjdGVkUHJvZ3JhbShldmVudDogYW55KSB7XG4gICAgdGhpcy5zZWxlY3RlZFByb2dyYW0gPSBldmVudD8uY2F0ZWdvcnk7XG4gICAgdGhpcy5vblNlbGVjdGVkUHJvZ3JhbUNoYW5nZSgpO1xuICAgIHRoaXMuZ2V0Q2F0ZWdvcnlCeVByb2dyYW1JZCh0aGlzLnNlbGVjdGVkUHJvZ3JhbSk7XG4gICAgLy8gdGhpcy5nZXRTZWxlY3RlZENhdGVnb3J5SWRzKHRoaXMuc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcCk7XG4gIH1cblxuICBhY3RpdmVTZWxlY3RlZFN1YkNhdGVnb3J5KGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnkgPSBldmVudD8uY2F0ZWdvcnk7XG4gICAgdGhpcy5nZXRSZXNwb25zaWJpbGl0aWVzTGlzdCgpO1xuICB9XG5cbiAgZ2V0UmVzcG9uc2liaWxpdGllc0xpc3QoZXZlbnQ/OiBhbnkpIHtcbiAgICBpZiAodGhpcy5yZXNwb25zaWJpbGl0eUNhbGwpIHtcbiAgICAgIHRoaXMucmVzcG9uc2liaWxpdHlDYWxsLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgLy8gdGhpcy5yZXNwQ291bnQgPSBldmVudC5zb3J0VmFsdWU7XG4gICAgdGhpcy5yZXNwb25zaWJpbGl0eUxvYWRlciA9IHRydWU7XG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XG4gICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnaXNCdXNpbmVzc0N5Y2xlJywgJ3RydWUnKTtcbiAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdwYXJlbnRJZCcsIHRoaXMuc2VsZWN0ZWRQcm9ncmFtPy5jYXRlZ29yeV9pZCk7XG4gICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnY2F0SWQnLCB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnk/LmNhdGVnb3J5X2lkKTtcbiAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdwYWdlTm8nLCB0aGlzLnJlc3BvbnNpYmlsaXR5Q3VycmVudFBhZ2UgPz8gMSk7XG4gICAgLy8gaWYgKFsxLCAtMV0uaW5jbHVkZXModGhpcy5jb250cm9sU29ydFZhbHVlKSkge1xuICAgIC8vICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnc29ydFZhbHVlJywgdGhpcy5jb250cm9sU29ydFZhbHVlKTtcbiAgICAvLyAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ3NvcnRCeScsICdEYXRhLlJlcG9ydE5hbWUnKTtcbiAgICAvLyB9XG4gICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgncGFnaW5hdGlvblR5cGUnLCAnc21hbGwnKTtcbiAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdwYWdlVHlwZScsICdyaXNrJyk7XG4gICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnY2FsbEZyb20nLCAnZ3JjJyk7XG4gICAgY29uc3QgcmNJZHMgPSB0aGlzLmdldFNlbGVjdGVkUkNJZHModGhpcy5zZWxlY3RlZFJDKS5qb2luKCcsJyk7XG4gICAgbGV0IGJ1c2luZXNzQ3ljbGUgPSB7XG4gICAgICBzdGFydF9kYXRlOiB0aGlzLmN1cnJlbnRCdXNpbmVzc0N5Y2xlPy5zdGFydF9kYXRlLFxuICAgICAgZW5kX2RhdGU6IHRoaXMuY3VycmVudEJ1c2luZXNzQ3ljbGU/LmVuZF9kYXRlLFxuICAgICAgc2VsZWN0ZWRfY3ljbGVfYXJyOiB0aGlzLmN1cnJlbnRCdXNpbmVzc0N5Y2xlPy5zZWxlY3RlZF9jeWNsZV9hcnIsXG4gICAgICBzZWxlY3RlZF9jeWNsZTogdGhpcy5jdXJyZW50QnVzaW5lc3NDeWNsZT8uc2VsZWN0ZWRfY3ljbGUsXG4gICAgICB0aW1lX2ZpbHRlcl90eXBlOiAnJyxcbiAgICAgIHBhZ2VUeXBlOiAncmlzaycsXG4gICAgICBjYWxsRnJvbTogJ2dyYycsXG4gICAgICBmaWx0ZXJEYXRhOiB7XG4gICAgICAgIGFwcExpc3Q6IFtdLFxuICAgICAgICByaXNrSWRzOiBbXSxcbiAgICAgICAgcmV2aWV3ZXJJZDogW10sXG4gICAgICAgIHJlc3BvbnNpYmlsaXR5Q2VudGVyOiB0aGlzLmdldFNlbGVjdGVkUkNJZHModGhpcy5zZWxlY3RlZFJDKSA/PyBbXSxcbiAgICAgICAgZW50cnVzdGVkQnk6IFtdLFxuICAgICAgICBlbnRydXN0ZWRUbzogW10sXG4gICAgICAgIHJlc3BvbnNpYmlsaXR5Q2F0ZWdvcnk6IFtdLFxuICAgICAgfSxcbiAgICB9O1xuXG4gICAgdGhpcy5yZXNwb25zaWJpbGl0eUNhbGwgPSB0aGlzLmdyY1NlcnZpY2VcbiAgICAgIC5nZXRBbGxSZXNwb25zaWJpbGl0aWVzKHRoaXMucmVzcG9uc2liaWxpdHlDdXJyZW50UGFnZSwgcmNJZHMpXG4gICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XG4gICAgICAgICAgdGhpcy5jYXRlZ29yeUxvYWRlciA9IGZhbHNlO1xuICAgICAgICAgIGNvbnN0IHBhZ2VTaXplID0gMzA7XG4gICAgICAgICAgY29uc3QgY3VycmVudFBhZ2UgPSByZXM/LmRhdGE/LnBhZ2UgfHwgMTtcbiAgICAgICAgICBjb25zdCBzdGFydEluZGV4ID0gKGN1cnJlbnRQYWdlIC0gMSkgKiBwYWdlU2l6ZSArIDE7XG4gICAgICAgICAgY29uc3QgZW5kSW5kZXggPSBNYXRoLm1pbihzdGFydEluZGV4ICsgcGFnZVNpemUgLSAxLCByZXM/LmRhdGE/LnRvdGFsIHx8IDApO1xuICAgICAgICAgIFxuICAgICAgICAgIHRoaXMucmVzcG9uc2liaWxpdHlEYXRhID0ge1xuICAgICAgICAgICAgZGF0YTogdGhpcy5zZXREYXRhTGlzdFN0cnVjdHVyZShyZXM/LmRhdGE/LnJlc3BvbnNpYmlsaXRpZXMgfHwgW10sIHJlcz8uZGF0YT8udXNlcnMgfHwgW10sIHJlcz8uZGF0YT8ucmVzcG9uc2liaWxpdHlDZW50ZXJzIHx8IFtdKSxcbiAgICAgICAgICAgIHRvdGFsX2l0ZW1zOiByZXM/LmRhdGE/LnRvdGFsIHx8IDAsXG4gICAgICAgICAgICB0b3RhbF9wYWdlczogTWF0aC5jZWlsKChyZXM/LmRhdGE/LnRvdGFsIHx8IDApIC8gcGFnZVNpemUpLFxuICAgICAgICAgICAgY3VycmVudF9wYWdlOiBjdXJyZW50UGFnZSxcbiAgICAgICAgICAgIHBlcl9wYWdlOiBwYWdlU2l6ZSxcbiAgICAgICAgICAgIGl0ZW1zX2Zyb206IHN0YXJ0SW5kZXgsXG4gICAgICAgICAgICBpdGVtc190bzogZW5kSW5kZXhcbiAgICAgICAgICB9O1xuICAgICAgICAgIHRoaXMucmVzcG9uc2liaWxpdHlMb2FkZXIgPSBmYWxzZTtcbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xuICAgICAgICAgIHRoaXMucmVzcG9uc2liaWxpdHlMb2FkZXIgPSBmYWxzZTtcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICB9XG5cbiAgZ2V0VXBkYXRlZERhdGFMaXN0KGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5Q3VycmVudFBhZ2UgPSBldmVudD8ucGFnZU5vO1xuICAgIHRoaXMuZ2V0UmVzcG9uc2liaWxpdGllc0xpc3QoKTtcbiAgfVxuXG4gIHNldERhdGFMaXN0U3RydWN0dXJlKHJlc3BvbnNpYmlsaXRpZXM6IGFueVtdLCB1c2VyczogYW55W10sIHJlc3BvbnNpYmlsaXR5Q2VudGVyczogYW55W10pIHtcbiAgICBjb25zdCBkYXRhID0gcmVzcG9uc2liaWxpdGllcz8ubWFwKChyZXNwb25zaWJpbGl0eTogYW55KSA9PiB7XG4gICAgICBjb25zdCByZXNwb25zaWJpbGl0eUNlbnRlcklkcyA9IHJlc3BvbnNpYmlsaXR5Py5yZXNwb25zaWJpbGl0eV9jZW50ZXJzIHx8IFtdO1xuXG4gICAgICBjb25zdCBtYXBwZWRSZXNwb25zaWJpbGl0eUNlbnRlcnMgPSByZXNwb25zaWJpbGl0eUNlbnRlcklkcy5tYXAoKHJjSWQ6IG51bWJlcikgPT4ge1xuICAgICAgICBjb25zdCByYyA9IHJlc3BvbnNpYmlsaXR5Q2VudGVycy5maW5kKChjZW50ZXI6IGFueSkgPT4gY2VudGVyPy5pZCA9PT0gcmNJZCk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgbmFtZTogcmM/Lm5hbWUgfHwgJycsXG4gICAgICAgICAgaWQ6IHJjSWRcbiAgICAgICAgfTtcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBhc3NpZ25vckRldGFpbHMgPSB0aGlzLmdldFVzZXJEZXRhaWxzLnRyYW5zZm9ybShbcmVzcG9uc2liaWxpdHk/LmFzc2lnbm9yXSwgdXNlcnMpPy5bMF0gfHwge307XG4gICAgICBjb25zdCBhc3NpZ25lZURldGFpbHMgPSB0aGlzLmdldFVzZXJEZXRhaWxzLnRyYW5zZm9ybShyZXNwb25zaWJpbGl0eT8uYXNzaWduZWVzPy51c2VySWQgfHwgW10sIHVzZXJzKSB8fCBbXTtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4ucmVzcG9uc2liaWxpdHksXG4gICAgICAgIG5hbWU6IHJlc3BvbnNpYmlsaXR5Py50aXRsZSB8fCAnJyxcbiAgICAgICAgY29udHJvbElkOiByZXNwb25zaWJpbGl0eT8ua2V5fHwgJycsXG4gICAgICAgIF9pZDogcmVzcG9uc2liaWxpdHk/LnJpZCxcbiAgICAgICAgZW50cnVzdGVkQnk6IHtcbiAgICAgICAgICBuYW1lOiBhc3NpZ25vckRldGFpbHM/Lm5hbWUgfHwgJycsXG4gICAgICAgICAgZW1haWw6IGFzc2lnbm9yRGV0YWlscz8uZW1haWwgfHwgJycsXG4gICAgICAgICAgcHJvZmlsZVBpYzogYXNzaWdub3JEZXRhaWxzPy5hdmF0YXIgfHwgJycsXG4gICAgICAgICAgc2hvcnROYW1lOiBhc3NpZ25vckRldGFpbHM/LnNob3J0X25hbWUgfHwgJycsXG4gICAgICAgIH0sXG4gICAgICAgIGVudHJ1c3RlZFRvOiB7XG4gICAgICAgICAgbmFtZTogYXNzaWduZWVEZXRhaWxzWzBdPy5uYW1lIHx8ICcnLFxuICAgICAgICAgIGVtYWlsOiBhc3NpZ25lZURldGFpbHNbMF0/LmVtYWlsIHx8ICcnLFxuICAgICAgICAgIHByb2ZpbGVQaWM6IGFzc2lnbmVlRGV0YWlsc1swXT8uYXZhdGFyIHx8ICcnLFxuICAgICAgICAgIHNob3J0TmFtZTogYXNzaWduZWVEZXRhaWxzWzBdPy5zaG9ydF9uYW1lIHx8ICcnLFxuICAgICAgICAgIEVudHJ1c3RlZFRvTWVtYmVyczogYXNzaWduZWVEZXRhaWxzPy5tYXAoKHVzZXI6IGFueSkgPT4gKHtcbiAgICAgICAgICAgIG1lbWJlcl9uYW1lOiB1c2VyPy5uYW1lLFxuICAgICAgICAgICAgcHJvZmlsZV9waWM6IHVzZXI/LmF2YXRhcixcbiAgICAgICAgICAgIG1lbWJlcl9zaG9ydF9uYW1lOiB1c2VyPy5zaG9ydF9uYW1lXG4gICAgICAgICAgfSkpIHx8IFtdLFxuICAgICAgICB9LFxuICAgICAgICB3aXRoaW5EYXRhOiBtYXBwZWRSZXNwb25zaWJpbGl0eUNlbnRlcnMsXG4gICAgICAgIHN1YkNhdGVnb3J5SWQ6IHRoaXMuc2VsZWN0ZWRDYXRlZ29yeT8uY2F0ZWdvcnlfaWQsXG4gICAgICB9O1xuICAgIH0pO1xuICAgIHJldHVybiBkYXRhO1xuICB9XG5cbiAgb25TZWxlY3RlZFByb2dyYW1DaGFuZ2UoKSB7XG4gICAgdGhpcy5jYXRlZ29yeUN1cnJlbnRQYWdlID0gMTtcbiAgICB0aGlzLnJlc3BvbnNpYmlsaXR5Q3VycmVudFBhZ2UgPSAxO1xuICB9XG5cbiAgY2hhbmdlU2VsZWN0ZWRQcm9ncmFtQW5kUmVzcChldmVudDogYW55KSB7XG4gICAgY29uc29sZS5sb2coJ2NoYW5nZVNlbGVjdGVkUHJvZ3JhbUFuZFJlc3AgZXZlbnQnLCBldmVudCk7XG4gICAgdGhpcy5zZWxlY3RlZFByb2dyYW1BbmRSZXNwID0gZXZlbnQ7XG4gICAgdGhpcy5nZXRTZWxlY3RlZFByb2dyYW1JZHModGhpcy5zZWxlY3RlZFByb2dyYW1BbmRSZXNwKTtcbiAgICB0aGlzLmdldEFsbFNlbGVjdGVkUmVzcG9uc2liaWxpdGllcyh0aGlzLnNlbGVjdGVkUHJvZ3JhbUFuZFJlc3ApO1xuICAgIHRoaXMuZ2V0U2VsZWN0ZWRDYXRlZ29yeUlkcyh0aGlzLnNlbGVjdGVkUHJvZ3JhbUFuZFJlc3ApO1xuICB9XG5cbiAgZ2V0U2VsZWN0ZWRQcm9ncmFtSWRzKHNlbGVjdGVkRGF0YTogYW55KSB7XG4gICAgdGhpcy5zZWxlY3RlZFByb2dyYW1JZHMgPSBbXTtcbiAgICBzZWxlY3RlZERhdGE/LmZvckVhY2goKHNlbGVjdGVkOiBhbnkpID0+IHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRQcm9ncmFtSWRzLnB1c2goc2VsZWN0ZWQ/LnByb2dyYW0/LnByb2dyYW1JZCk7XG4gICAgfSk7XG4gIH1cblxuICBnZXRTZWxlY3RlZENhdGVnb3J5SWRzKHNlbGVjdGVkRGF0YTogYW55KSB7XG4gICAgdGhpcy5zZWxlY3RlZENhdGVnb3J5SWRzID0gW107XG4gICAgbGV0IHByb2dyYW1JbmRleCA9IC0xO1xuICAgIHByb2dyYW1JbmRleCA9IHNlbGVjdGVkRGF0YS5maW5kSW5kZXgoXG4gICAgICAoY2F0OiBhbnkpID0+IGNhdD8ucHJvZ3JhbT8ucHJvZ3JhbUlkID09PSB0aGlzLnNlbGVjdGVkUHJvZ3JhbT8ucHJvZ3JhbUlkXG4gICAgKTtcbiAgICBpZiAocHJvZ3JhbUluZGV4ICE9PSAtMSkge1xuICAgICAgdGhpcy5zZWxlY3RlZENhdGVnb3J5SWRzID0gc2VsZWN0ZWREYXRhW3Byb2dyYW1JbmRleF0/LmNhdGVnb3J5O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnlJZHMgPSBbXTtcbiAgICB9XG4gIH1cblxuICBnZXRBbGxTZWxlY3RlZFJlc3BvbnNpYmlsaXRpZXMoc2VsZWN0ZWREYXRhOiBhbnkpIHtcbiAgICB0aGlzLnNlbGVjdGVkUmVzcG9uc2liaWxpdGllcyA9IFtdO1xuICAgIHRoaXMuc2VsZWN0ZWRSZXNwb25zaWJpbGl0aWVzID0gc2VsZWN0ZWREYXRhLm1hcCgoaXRlbTogYW55KSA9PiBpdGVtPy5yaWQpO1xuICB9XG5cbiAgZ2V0U2VsZWN0ZWRSQ0lkcyhzZWxlY3RlZFJDOiBhbnlbXSkge1xuICAgIGxldCBzZWxlY3RlZFJDSWRzOiBhbnlbXSA9IFtdO1xuICAgIHNlbGVjdGVkUkNJZHMgPSBzZWxlY3RlZFJDPy5tYXAoKHJjOiBhbnkpID0+IHJjPy5yY2lkKTtcblxuICAgIHJldHVybiBzZWxlY3RlZFJDSWRzO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicHJvZ3JhbS1yZXNwb25zaWJpbGl0eS1saXN0aW5nXCIgW2NsYXNzLmFuaW1hdGVdPVwiYW5pbWF0aW9uXCI+XG4gIDxkaXYgY2xhc3M9XCJwcm9ncmFtLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmctaGVhZCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktYmV0d2VlbiB2eC1wbC00IHZ4LXByLTRcIj5cbiAgICA8aDMgY2xhc3M9XCJ2eC1mcy0xNCB2eC1mdy01MDAgdngtbGFiZWwtdHh0XCI+U2VsZWN0IFJlc3BvbnNpYmlsaXRpZXM8L2gzPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cInByb2dyYW0tcmVzcG9uc2liaWxpdHktbGlzdGluZy1ib2R5XCI+XG4gICAgPCEtLSA8YXBwLXRhYmxlLWNhcmQtbG9hZGVyICpuZ0lmPVwicHJvZ3JhbUNvdW50TG9hZGVyXCI+PC9hcHAtdGFibGUtY2FyZC1sb2FkZXI+IC0tPlxuICAgIDwhLS0gPGFwcC10YWJsZS1jYXJkXG4gICAgICAgICAgICAqbmdJZj1cIiFwcm9ncmFtQ291bnRMb2FkZXJcIlxuICAgICAgICAgICAgY2xhc3M9XCJ2eC13LTEwMFwiXG4gICAgICAgICAgICBbdGFibGVDYXJkXT1cInByb2dyYW1UeXBlc1wiXG4gICAgICAgICAgICBbc2luZ2xlU2VsZWN0ZWRUZXh0XT1cIidSZXNwb25zaWJpbGl0eSBTZWxlY3RlZCdcIlxuICAgICAgICAgICAgW3NlbGVjdGVkVGFiXT1cInNlbGVjdGVkVGFiXCJcbiAgICAgICAgICAgIFttdWx0aXBsZVNlbGVjdGVkVGV4dF09XCInUmVzcG9uc2liaWxpdGllcyBTZWxlY3RlZCdcIlxuICAgICAgICAgICAgKHNldFNlbGVjdGVkVGFiKT1cInNldFNlbGVjdGVkVGFiKCRldmVudClcIj5cbiAgICAgICAgPC9hcHAtdGFibGUtY2FyZD4gLS0+XG4gICAgPGRpdiBjbGFzcz1cInNlYXJjaC1ibG9jayB2eC1tYi0yXCI+XG4gICAgICA8aSBjbGFzcz1cImljb25zXCI+JiN4ZTkwYjs8L2k+XG4gICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiAjc2VhcmNoUmlza0NhdGVnb3J5IChrZXl1cC5lbnRlcik9XCJoYW5kbGVTZWFyY2goJGV2ZW50LnRhcmdldC52YWx1ZSlcIlxuICAgICAgICBwbGFjZWhvbGRlcj1cIlNlYXJjaCBSZXNwb25zaWJpbGl0aWVzXCIgLz5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwicHJvZ3JhbS1yZXNwb25zaWJpbGl0eS1saXN0aW5nLWJvZHktaW5uZXIgdngtbWItMiB2eC1kLWZsZXhcIiBbY2xhc3MudngtanVzdGlmeS1jZW50ZXJdPVwiXG4gICAgICAgICFyZXNwb25zaWJpbGl0eUxvYWRlciAmJiAhcmVzcG9uc2liaWxpdHlEYXRhPy5kYXRhPy5sZW5ndGhcbiAgICAgIFwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInJlc3BvbnNpYmlsaXR5TG9hZGVyIHx8IHJlc3BvbnNpYmlsaXR5RGF0YT8uZGF0YT8ubGVuZ3RoXCI+XG4gICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImlubmVyLWl0ZW0tbGVmdCB2eC1wci0yXCI+XG5cbiAgICAgICAgICAgICAgICAgICAgPGFwcC1ncmMtY2F0ZWdvcnktbGlzdGluZyAqbmdJZj1cIiFwcm9ncmFtTG9hZGVyXCIgW2hlYWRlclRleHRdPVwiJ1Byb2dyYW1zJ1wiIFtwcm9ncmFtRGF0YV09XCJwcm9ncmFtRGF0YVwiICBbc2VsZWN0ZWRDYXRBbmRSaXNrXT1cInNlbGVjdGVkQ2F0QW5kUmlza1wiIFtuYW1lRGlzcGxheUtleV09XCInaXRlbV9uYW1lJ1wiIFtjdXJyZW50UGFnZV09XCJwcm9ncmFtQ3VycmVudFBhZ2VcIiBbc2VsZWN0ZWRUYWJJbmRleF09XCJzZWxlY3RlZFRhYlwiIFtzZWxlY3RlZENhdGVnb3J5SWRzXT1cInNlbGVjdGVkUHJvZ3JhbUlkc1wiIChhY3RpdmVTZWxlY3RlZENhdGVnb3J5KT1cImFjdGl2ZVNlbGVjdGVkUHJvZ3JhbSgkZXZlbnQpXCIgKG9uQ2F0ZWdvcnlQYWdlQ2hhbmdlKT1cIm9uUHJvZ3JhbVBhZ2VDaGFuZ2UoJGV2ZW50KVwiPjwvYXBwLWdyYy1jYXRlZ29yeS1saXN0aW5nPlxuICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIDxhcHAtbGlzdC1sb2FkZXIgKm5nSWY9XCJwcm9ncmFtTG9hZGVyXCI+PC9hcHAtbGlzdC1sb2FkZXI+XG5cbiAgICAgICAgICAgICAgICA8L2Rpdj4gLS0+XG5cbiAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiaW5uZXItaXRlbS1taWQgdngtcHItMlwiPlxuICAgICAgICAgICAgICAgICAgICA8YXBwLWdyYy1zdWItY2F0ZWdvcnktbGlzdGluZyAqbmdJZj1cIiFjYXRlZ29yeUxvYWRlciAmJiAhcHJvZ3JhbUxvYWRlclwiICBbaGVhZGVyVGV4dF09XCInUHJvZ3JhbXMnXCIgW2NhdGVnb3JpZXNdPVwiY2F0ZWdvcnlEYXRhXCIgIFtuYW1lRGlzcGxheUtleV09XCInaXRlbV9uYW1lJ1wiICBbY3VycmVudFBhZ2VdPVwiY2F0ZWdvcnlDdXJyZW50UGFnZVwiIFtzZWxlY3RlZENhdGVnb3J5SWRzXT1cInNlbGVjdGVkQ2F0ZWdvcnlJZHNcIiBbYWN0aXZlUHJvZ3JhbV09XCJzZWxlY3RlZFByb2dyYW1cIiBbc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcF09XCJzZWxlY3RlZFByb2dyYW1BbmRSZXNwXCIgKGFjdGl2ZVNlbGVjdGVkQ2F0ZWdvcnkpPVwiYWN0aXZlU2VsZWN0ZWRTdWJDYXRlZ29yeSgkZXZlbnQpXCIgKG9uQ2F0ZWdvcnlQYWdlQ2hhbmdlKT1cIm9uU3ViQ2F0ZWdvcnlQYWdlQ2hhbmdlKCRldmVudClcIj48L2FwcC1ncmMtc3ViLWNhdGVnb3J5LWxpc3Rpbmc+XG4gICAgICAgICAgICAgICAgICAgIDxhcHAtbGlzdC1sb2FkZXIgKm5nSWY9XCJjYXRlZ29yeUxvYWRlciB8fCBwcm9ncmFtTG9hZGVyXCI+PC9hcHAtbGlzdC1sb2FkZXI+XG4gICAgICAgICAgICAgICAgPC9kaXY+IC0tPlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbm5lci1pdGVtLXJpZ2h0XCI+XG4gICAgICAgICAgPCEtLSA8YXBwLWdyYy1yZXNwb25zaWJpbGl0eS1saXN0aW5nPjwvYXBwLWdyYy1yZXNwb25zaWJpbGl0eS1saXN0aW5nPiAtLT5cblxuICAgICAgICAgIDxhcHAtZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3RpbmcgI2RhdGFMaXN0aW5nICpuZ0lmPVwiXG4gICAgICAgICAgICAgICFyZXNwb25zaWJpbGl0eUxvYWRlciAmJlxuICAgICAgICAgICAgICAhY2F0ZWdvcnlMb2FkZXIgJiZcbiAgICAgICAgICAgICAgIXByb2dyYW1Mb2FkZXIgJiZcbiAgICAgICAgICAgICAgcmVzcG9uc2liaWxpdHlEYXRhPy5kYXRhPy5sZW5ndGggIT09IDBcbiAgICAgICAgICAgIFwiIFtoZWFkZXJUZXh0XT1cIidSZXNwb25zaWJpbGl0aWVzJ1wiIFtNT0RFXT1cIk1PREVcIiBbcmVzcG9uc2liaWxpdHlEYXRhXT1cInJlc3BvbnNpYmlsaXR5RGF0YVwiXG4gICAgICAgICAgICBbYWN0aXZlUHJvZ3JhbV09XCJzZWxlY3RlZFByb2dyYW1cIiBbYWN0aXZlQ2F0ZWdvcnldPVwic2VsZWN0ZWRDYXRlZ29yeVwiXG4gICAgICAgICAgICBbc2VsZWN0ZWRQcm9ncmFtQW5kUmVzcF09XCJzZWxlY3RlZFByb2dyYW1BbmRSZXNwXCIgW2FsbFNlbGVjdGVkUmVzcG9uc2liaWxpdHlJZHNdPVwic2VsZWN0ZWRSZXNwb25zaWJpbGl0aWVzXCJcbiAgICAgICAgICAgIChjaGFuZ2VTZWxlY3RlZFByb2dyYW1BbmRSZXNwKT1cIlxuICAgICAgICAgICAgICBjaGFuZ2VTZWxlY3RlZFByb2dyYW1BbmRSZXNwKCRldmVudClcbiAgICAgICAgICAgIFwiIFtjdXJyZW50UGFnZV09XCJyZXNwb25zaWJpbGl0eUN1cnJlbnRQYWdlXCIgW3BlclBhZ2VMaW1pdF09XCIzMFwiXG4gICAgICAgICAgICBbdG90YWxMaXN0RGF0YV09XCJyZXNwb25zaWJpbGl0eURhdGE/LnRvdGFsX2l0ZW1zXCIgW3RvdGFsUGFnZXNdPVwicmVzcG9uc2liaWxpdHlEYXRhPy50b3RhbF9wYWdlc1wiXG4gICAgICAgICAgICAoZ2V0VXBkYXRlZERhdGFMaXN0KT1cImdldFVwZGF0ZWREYXRhTGlzdCgkZXZlbnQpXCI+PC9hcHAtZ3JjLXJlc3BvbnNpYmlsaXR5LWxpc3Rpbmc+XG5cbiAgICAgICAgICA8YXBwLWxpc3QtbG9hZGVyICpuZ0lmPVwicmVzcG9uc2liaWxpdHlMb2FkZXIgfHwgY2F0ZWdvcnlMb2FkZXIgfHwgcHJvZ3JhbUxvYWRlclwiXG4gICAgICAgICAgICBbZnVsbFdpZHRoXT1cInRydWVcIj48L2FwcC1saXN0LWxvYWRlcj5cblxuICAgICAgICAgIDxhcHAtbm8tZGF0YSAqbmdJZj1cIlxuICAgICAgICAgICAgICByZXNwb25zaWJpbGl0eURhdGE/LmRhdGE/Lmxlbmd0aCA9PT0gMCAmJlxuICAgICAgICAgICAgICAhKHJlc3BvbnNpYmlsaXR5TG9hZGVyIHx8IGNhdGVnb3J5TG9hZGVyIHx8IHByb2dyYW1Mb2FkZXIpXG4gICAgICAgICAgICBcIiBbbm9EYXRhSW1hZ2VdPVwiQ0ROX0xJTks/Lm5vRGF0YVwiIFtub0RhdGFUZXh0XT1cIidObyBkYXRhIHRvIGRpc3BsYXknXCI+PC9hcHAtbm8tZGF0YT5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxhcHAtbm8tZGF0YSAqbmdJZj1cIiFyZXNwb25zaWJpbGl0eUxvYWRlciAmJiAhcmVzcG9uc2liaWxpdHlEYXRhPy5kYXRhPy5sZW5ndGhcIiBbbm9EYXRhSW1hZ2VdPVwiQ0ROX0xJTks/Lm5vRGF0YVwiXG4gICAgICAgIFtub0RhdGFUZXh0XT1cIidObyBkYXRhIHRvIGRpc3BsYXknXCI+PC9hcHAtbm8tZGF0YT5cbiAgICA8L2Rpdj5cbiAgICA8YXBwLWZsb2F0aW5nLWJhciBbc2VsZWN0ZWREYXRhXT1cIlxuICAgICAgICBzZWxlY3RlZFJlc3BvbnNpYmlsaXRpZXMgfCBmaWx0ZXJSZXNwb25zaWJpbGl0eSA6IHJlc3BvbnNpYmlsaXR5RGF0YT8uZGF0YVxuICAgICAgXCIgKGNsb3NlTGlzdCk9XCJjbG9zZSgpXCIgKGNsb3NlRXZlbnQpPVwic2F2ZSgpXCIgW2Rpc3BsYXlFbGVtZW50S2V5XT1cIid0aXRsZSdcIlxuICAgICAgW3Npbmd1bGFyVGV4dF09XCInUmVzcG9uc2liaWxpdHkgc2VsZWN0ZWQnXCIgW3BsdXJhbFRleHRdPVwiJ1Jlc3BvbnNpYmlsaXRpZXMgc2VsZWN0ZWQnXCJcbiAgICAgIChkZWxldGVFdmVudCk9XCJkZWxldGVFdmVudCgkZXZlbnQpXCI+PC9hcHAtZmxvYXRpbmctYmFyPlxuICA8L2Rpdj5cbjwvZGl2PiJdfQ==