vc-create-dashboard 3.0.85 → 3.0.87

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.
@@ -117,37 +117,32 @@ export class CreateDashboardService {
117
117
  }
118
118
  normalizeWidgetDetailsResponse(res) {
119
119
  const payload = res?.data ?? res;
120
- const widgetArr = payload?.widgetArr ?? res?.widgetArr;
121
- const allWidgetsArray = payload?.allWidgetsArray ?? res?.allWidgetsArray ?? widgetArr;
122
- if (widgetArr || allWidgetsArray) {
123
- const normalizedWidgetArr = Array.isArray(widgetArr) ? widgetArr : [];
124
- const normalizedAll = Array.isArray(allWidgetsArray)
125
- ? allWidgetsArray
126
- : normalizedWidgetArr;
127
- return {
128
- widgetArr: normalizedWidgetArr,
129
- allWidgetsArray: normalizedAll,
130
- activeWidgetArr: payload?.activeWidgetArr ??
131
- res?.activeWidgetArr ??
132
- normalizedWidgetArr,
133
- };
134
- }
135
- if (Array.isArray(res)) {
136
- return { widgetArr: res, allWidgetsArray: res, activeWidgetArr: res };
137
- }
138
- if (Array.isArray(res?.data)) {
139
- return {
140
- widgetArr: res.data,
141
- allWidgetsArray: res.data,
142
- activeWidgetArr: res.data,
143
- };
144
- }
145
- const legacyWidgets = res?.widget_details ?? res?.widgets ?? [];
146
- const legacyAll = res?.all_widgets ?? legacyWidgets;
120
+ const collect = (...candidates) => {
121
+ const collected = [];
122
+ const seen = new Set();
123
+ candidates.forEach((candidate) => {
124
+ if (!Array.isArray(candidate)) {
125
+ return;
126
+ }
127
+ candidate.forEach((widget) => {
128
+ const code = widget?.widget_code ?? widget?.widgetCode;
129
+ const key = code != null ? String(code) : JSON.stringify(widget);
130
+ if (seen.has(key)) {
131
+ return;
132
+ }
133
+ seen.add(key);
134
+ collected.push(widget);
135
+ });
136
+ });
137
+ return collected;
138
+ };
139
+ const widgetArr = collect(payload?.widgetArr, res?.widgetArr, payload?.widget_details, Array.isArray(payload) ? payload : null, Array.isArray(res?.data) ? res.data : null);
140
+ const allWidgetsArray = collect(payload?.allWidgetsArray, payload?.all_widgets, payload?.allWidgets, payload?.allWidgetArray, payload?.widgets, res?.allWidgetsArray, res?.all_widgets, res?.allWidgets, res?.widgets, widgetArr);
141
+ const activeWidgetArr = collect(payload?.activeWidgetArr, res?.activeWidgetArr, widgetArr);
147
142
  return {
148
- widgetArr: legacyWidgets,
149
- allWidgetsArray: legacyAll,
150
- activeWidgetArr: res?.activeWidgetArr ?? legacyWidgets,
143
+ widgetArr,
144
+ allWidgetsArray: allWidgetsArray.length ? allWidgetsArray : widgetArr,
145
+ activeWidgetArr: activeWidgetArr.length ? activeWidgetArr : widgetArr,
151
146
  };
152
147
  }
153
148
  getSailsProgramList() {
@@ -224,4 +219,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
224
219
  }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.Configurations, decorators: [{
225
220
  type: Optional
226
221
  }] }]; } });
227
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWRhc2hib2FyZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JlYXRlLWRhc2hib2FyZC9zcmMvbGliL2NyZWF0ZS1kYXNoYm9hcmQtY29udGFpbmVyL3NlcnZpY2VzL2NyZWF0ZS1kYXNoYm9hcmQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsV0FBVyxFQUFjLE1BQU0sc0JBQXNCLENBQUM7QUFDM0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQixPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQU14RCxNQUFNLE9BQU8sc0JBQXNCO0lBS3ZCO0lBSkgsR0FBRyxDQUFPO0lBRWpCLFdBQVcsQ0FBTTtJQUNqQixZQUNVLElBQWdCLEVBQ1osTUFBdUI7UUFEM0IsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUd4QixJQUFJLE1BQU0sRUFBRTtZQUNWLElBQUksQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQztTQUM3QjtRQUVELElBQUksQ0FBQyxXQUFXLEdBQUc7WUFDakIsT0FBTyxFQUFFLElBQUksV0FBVyxDQUFDO2dCQUN2QixjQUFjLEVBQUUsa0JBQWtCO2FBQ25DLENBQUM7U0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0gsb0JBQW9CLENBQUMsR0FBUztRQUM1QixPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ2IsR0FBRyxDQUNGLElBQUksQ0FBQyxHQUFHLEVBQUUsZUFBZTtZQUN2Qiw0Q0FBNEM7WUFDNUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQzVCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNyQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFDOUIsSUFBSSxDQUFDLFdBQVcsQ0FDakI7YUFDQSxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUU7WUFDZixPQUFPLEdBQUcsQ0FBQztRQUNiLENBQUMsQ0FBQyxFQUNGLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFDUixVQUFVLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUM3QixDQUFDO0lBQ04sQ0FBQztJQUVEOzs7O09BSUc7SUFDSCx5QkFBeUIsQ0FBQyxHQUFTO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLElBQUk7YUFDYixHQUFHLENBQ0YsSUFBSSxDQUFDLEdBQUcsRUFBRSxlQUFlO1lBQ3ZCLDZDQUE2QztZQUM3QyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDckMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQzlCLElBQUksQ0FBQyxXQUFXLENBQ2pCO2FBQ0EsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ1YsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDLENBQUMsRUFDRixVQUFVLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUM3QixDQUFDO0lBQ04sQ0FBQztJQUVELGVBQWU7UUFDYixPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ2IsR0FBRyxDQUFRLElBQUksQ0FBQyxHQUFHLEVBQUUsT0FBTyxHQUFHLGVBQWUsQ0FBQzthQUMvQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDLElBQUk7YUFDYixHQUFHLENBQ0YsSUFBSSxDQUFDLEdBQUcsRUFBRSxlQUFlLEdBQUcseUJBQXlCLEVBQ3JELElBQUksQ0FBQyxXQUFXLENBQ2pCO2FBQ0EsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BCLENBQUM7SUFFRDs7U0FFSztJQUNMLFlBQVksQ0FBQyxNQUFtQjtRQUM5QixPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ2IsR0FBRyxDQUNGLElBQUksQ0FBQyxHQUFHLEVBQUUsZUFBZTtZQUN2Qiw4Q0FBOEMsRUFDaEQsRUFBRSxNQUFNLEVBQUUsQ0FDWDthQUNBLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNwQixDQUFDO0lBRUQ7O09BRUc7SUFDSCwyQkFBMkI7UUFDekIsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNiLEdBQUcsQ0FBUSxJQUFJLENBQUMsR0FBRyxFQUFFLGVBQWUsR0FBRywwQkFBMEIsQ0FBQzthQUNsRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEIsQ0FBQztJQUVELDJCQUEyQjtRQUN6QixPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ2IsR0FBRyxDQUNGLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxHQUFHLHFDQUFxQyxDQUMvRDthQUNBLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNwQixDQUFDO0lBRUQscUNBQXFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLElBQUk7YUFDYixHQUFHLENBQ0YsSUFBSSxDQUFDLEdBQUcsRUFBRSxhQUFhO1lBQ3JCLGdFQUFnRSxDQUNuRTthQUNBLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNwQixDQUFDO0lBRUQsZUFBZSxDQUFDLE9BQVk7UUFDMUIsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsR0FBRyxpQkFBaUIsRUFBRSxPQUFPLENBQUM7YUFDckQsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxtSEFBbUg7SUFDbkgsY0FBYyxDQUFDLEVBQU87UUFDcEIsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNiLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsR0FBRyxFQUFFLEdBQUcsWUFBWSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUM7YUFDN0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxpQ0FBaUMsQ0FBQyxJQUFZO1FBQzVDLE9BQU8sSUFBSSxDQUFDLElBQUk7YUFDYixHQUFHLENBQ0YsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsMEJBQTBCLGtCQUFrQixDQUFDLElBQUksQ0FBQyxFQUFFLEVBQ3pFLElBQUksQ0FBQyxXQUFXLENBQ2pCO2FBQ0EsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLDhCQUE4QixDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQzNELEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FDVCxDQUFDO0lBQ04sQ0FBQztJQUVELDhCQUE4QixDQUFDLEdBQVE7UUFLckMsTUFBTSxPQUFPLEdBQUcsR0FBRyxFQUFFLElBQUksSUFBSSxHQUFHLENBQUM7UUFDakMsTUFBTSxTQUFTLEdBQUcsT0FBTyxFQUFFLFNBQVMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDO1FBQ3ZELE1BQU0sZUFBZSxHQUNuQixPQUFPLEVBQUUsZUFBZSxJQUFJLEdBQUcsRUFBRSxlQUFlLElBQUksU0FBUyxDQUFDO1FBQ2hFLElBQUksU0FBUyxJQUFJLGVBQWUsRUFBRTtZQUNoQyxNQUFNLG1CQUFtQixHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3RFLE1BQU0sYUFBYSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDO2dCQUNsRCxDQUFDLENBQUMsZUFBZTtnQkFDakIsQ0FBQyxDQUFDLG1CQUFtQixDQUFDO1lBQ3hCLE9BQU87Z0JBQ0wsU0FBUyxFQUFFLG1CQUFtQjtnQkFDOUIsZUFBZSxFQUFFLGFBQWE7Z0JBQzlCLGVBQWUsRUFDYixPQUFPLEVBQUUsZUFBZTtvQkFDeEIsR0FBRyxFQUFFLGVBQWU7b0JBQ3BCLG1CQUFtQjthQUN0QixDQUFDO1NBQ0g7UUFDRCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDdEIsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsZUFBZSxFQUFFLEdBQUcsRUFBRSxlQUFlLEVBQUUsR0FBRyxFQUFFLENBQUM7U0FDdkU7UUFDRCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxFQUFFO1lBQzVCLE9BQU87Z0JBQ0wsU0FBUyxFQUFFLEdBQUcsQ0FBQyxJQUFJO2dCQUNuQixlQUFlLEVBQUUsR0FBRyxDQUFDLElBQUk7Z0JBQ3pCLGVBQWUsRUFBRSxHQUFHLENBQUMsSUFBSTthQUMxQixDQUFDO1NBQ0g7UUFDRCxNQUFNLGFBQWEsR0FBRyxHQUFHLEVBQUUsY0FBYyxJQUFJLEdBQUcsRUFBRSxPQUFPLElBQUksRUFBRSxDQUFDO1FBQ2hFLE1BQU0sU0FBUyxHQUFHLEdBQUcsRUFBRSxXQUFXLElBQUksYUFBYSxDQUFDO1FBQ3BELE9BQU87WUFDTCxTQUFTLEVBQUUsYUFBYTtZQUN4QixlQUFlLEVBQUUsU0FBUztZQUMxQixlQUFlLEVBQUUsR0FBRyxFQUFFLGVBQWUsSUFBSSxhQUFhO1NBQ3ZELENBQUM7SUFDSixDQUFDO0lBRUQsbUJBQW1CO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLElBQUk7YUFDYixHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEdBQUcsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQzthQUNsRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEIsQ0FBQztJQUVELG9CQUFvQixDQUFDLFNBQTBCO1FBQzdDLE9BQU8sSUFBSSxDQUFDLElBQUk7YUFDYixHQUFHLENBQ0YsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsNkJBQTZCLFNBQVMsRUFBRSxFQUNqRSxJQUFJLENBQUMsV0FBVyxDQUNqQjthQUNBLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNwQixDQUFDO0lBRUQsd0ZBQXdGO0lBQ3hGLHdCQUF3QixDQUFDLEVBQW1CO1FBQzFDLE9BQU8sSUFBSSxDQUFDLElBQUk7YUFDYixHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsbUJBQW1CLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUM7YUFDbkUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BCLENBQUM7SUFJRCxrQkFBa0I7UUFDaEIsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNiLEdBQUcsQ0FDRixJQUFJLENBQUMsR0FBRyxFQUFFLGVBQWUsR0FBRyxXQUFXLEdBQUcsSUFBSSxFQUFFLEdBQUcsRUFBRSxFQUNyRCxJQUFJLENBQUMsV0FBVyxDQUNqQjthQUNBLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNwQixDQUFDO0lBQ0QsR0FBRztRQUNELE1BQU0sTUFBTSxHQUFHLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztRQUN0QyxNQUFNLFVBQVUsR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMvRCxNQUFNLFNBQVMsR0FBRyxNQUFNLEVBQUUsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3JELElBQUksU0FBUyxLQUFLLEtBQUssRUFBRTtZQUN2QixNQUFNLFNBQVMsR0FBRyxNQUFNLEVBQUUsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ2xELE9BQU8sU0FBUyxDQUFDLEdBQUcsQ0FBQztTQUN0QjtRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELDJCQUEyQixDQUFDLE9BQVk7UUFDdEMsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNiLElBQUksQ0FDSCxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsR0FBRyxvQkFBb0IsRUFDekMsT0FBTyxFQUNQLElBQUksQ0FBQyxXQUFXLENBQ2pCO2FBQ0EsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BCLENBQUM7SUFDSCxlQUFlLENBQUMsT0FBWTtRQUMxQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxHQUFHLGlCQUFpQixFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUE7SUFDMUYsQ0FBQztJQUVELGVBQWUsQ0FBQyxPQUFZLEVBQUUsRUFBTztRQUNuQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxHQUFHLGtCQUFrQixHQUFHLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFBO0lBQy9GLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxPQUFZO1FBQzVCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEdBQUcsdUJBQXVCLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQTtJQUNoRyxDQUFDO0lBQ0MsWUFBWSxDQUFDLE9BQVk7UUFDdkIsT0FBTztZQUNMLFNBQVMsRUFBRTtnQkFDVCxJQUFJLEVBQUUsT0FBTyxDQUFDLGNBQWM7Z0JBQzVCLFdBQVcsRUFBRSxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU87Z0JBQzNDLE1BQU0sRUFBRTtvQkFDTixNQUFNLEVBQUUsT0FBTyxDQUFDLGdCQUFnQjtvQkFDaEMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxpQkFBaUI7aUJBQ3ZDO2dCQUNELHNCQUFzQixFQUFFLE9BQU8sQ0FBQyxxQkFBcUI7Z0JBQ3JELFNBQVMsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFZLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7Z0JBQ3pFLFNBQVMsRUFBRSxPQUFPLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7b0JBQ3hDLElBQUksRUFBRSxPQUFPLENBQUMsU0FBUyxDQUFDLFVBQVU7b0JBQ2xDLEVBQUUsRUFBRSxPQUFPLENBQUMsU0FBUyxDQUFDLFFBQVE7aUJBQy9CLENBQUMsQ0FBQyxDQUFDLElBQUk7YUFDVDtTQUNGLENBQUE7SUFDSCxDQUFDO3dHQW5SVSxzQkFBc0I7NEdBQXRCLHNCQUFzQixjQUZyQixNQUFNOzs0RkFFUCxzQkFBc0I7a0JBSGxDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFPSSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEp3dEhlbHBlclNlcnZpY2UgfSBmcm9tICdAYXV0aDAvYW5ndWxhci1qd3QnO1xyXG5pbXBvcnQgeyBvZiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAsIHJldHJ5IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBDb25maWd1cmF0aW9ucyB9IGZyb20gJy4uLy4uL2NvbmZpZ3VyYXRpb25zJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDcmVhdGVEYXNoYm9hcmRTZXJ2aWNlIHtcclxuICBwdWJsaWMgZW52ITogYW55O1xyXG5cclxuICBodHRwT3B0aW9uczogYW55O1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgQE9wdGlvbmFsKCkgY29uZmlnPzogQ29uZmlndXJhdGlvbnNcclxuICApIHtcclxuICAgIGlmIChjb25maWcpIHtcclxuICAgICAgdGhpcy5lbnYgPSBjb25maWcuZW52Q29uZmlnO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuaHR0cE9wdGlvbnMgPSB7XHJcbiAgICAgIGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7XHJcbiAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcclxuICAgICAgfSksXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgLypcclxuICAgKiBGZXRjaGVzIHRoZSBPcmdhbml6YXRpb24gVXNlcnMgTGlzdCBieSBtYWtpbmcgYW4gQVBJIGNhbGxcclxuICAgKi9cclxuICBnZXRPcmdhbml6YXRpb25Vc2Vycyh1cmw/OiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgLmdldChcclxuICAgICAgICB0aGlzLmVudj8ub3JnYW5pemF0aW9uR2V0ICtcclxuICAgICAgICAgICdvcmdhbmlzYXRpb25Vc2Vyc0xpc3QmcGFnaW5hdGlvblR5cGU9c21hbGwnICtcclxuICAgICAgICAgICh1cmwucCA/ICcmcD0nICsgdXJsLnAgOiAnJykgK1xyXG4gICAgICAgICAgKHVybC50eXBlID8gJyZ0eXBlPScgKyB1cmwudHlwZSA6ICcnKSArXHJcbiAgICAgICAgICAodXJsLnEgPyAnJnE9JyArIHVybC5xIDogJycpLFxyXG4gICAgICAgIHRoaXMuaHR0cE9wdGlvbnNcclxuICAgICAgKVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBtYXAoKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4gcmVzO1xyXG4gICAgICAgIH0pLFxyXG4gICAgICAgIHJldHJ5KDIpLFxyXG4gICAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4gb2YoZXJyKSlcclxuICAgICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZldGNoZXMgdGhlIE9yZ2FuaXphdGlvblVzZXJzIGRldGFpbHMgb2YgdXNlcnMgTGlzdCB0byBzZXQgcGFnaW5hdGlvbiBkZXRhaWxzIGluY2x1ZGluZyBudW1iZXIgb2ZcclxuICAgKiBwYWdlcyBhbmQgcmVjb3JkcyBsaW1pdCBwZXIgcGFnZSxcclxuICAgKiBAcGFyYW0gdXJsICBjb250YWlucyBpbmZvIGFib3V0IHR5cGUgJiBzZWFyY2ggcXVlcnlcclxuICAgKi9cclxuICBnZXRPcmdhbml6YXRpb25Vc2Vyc0NvdW50KHVybD86IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAuZ2V0KFxyXG4gICAgICAgIHRoaXMuZW52Py5vcmdhbml6YXRpb25HZXQgK1xyXG4gICAgICAgICAgJ29yZ2FuaXNhdGlvblVzZXJzQ291bnQmcGFnaW5hdGlvblR5cGU9c21hbGwnICtcclxuICAgICAgICAgICh1cmwudHlwZSA/ICcmdHlwZT0nICsgdXJsLnR5cGUgOiAnJykgK1xyXG4gICAgICAgICAgKHVybC5xID8gJyZxPScgKyB1cmwucSA6ICcnKSxcclxuICAgICAgICB0aGlzLmh0dHBPcHRpb25zXHJcbiAgICAgIClcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgbWFwKChyZXMpID0+IHtcclxuICAgICAgICAgIHJldHVybiByZXM7XHJcbiAgICAgICAgfSksXHJcbiAgICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiBvZihlcnIpKVxyXG4gICAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q2F0ZWdvcnlMaXN0KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAuZ2V0PGFueVtdPih0aGlzLmVudj8ucmlza0dldCArICdjYXRlZ29yeS9saXN0JylcclxuICAgICAgLnBpcGUocmV0cnkoMikpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRmV0Y2hlcyBhbGwgdXNlcnMgYnkgbWFraW5nIGFuIEFQSSBjYWxsXHJcbiAgICovXHJcbiAgZ2V0QWxsVXNlcnMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgIC5nZXQoXHJcbiAgICAgICAgdGhpcy5lbnY/Lm9yZ2FuaXphdGlvbkdldCArICdzZWxlY3RBbGxVc2VycyZ0eXBlPWFsbCcsXHJcbiAgICAgICAgdGhpcy5odHRwT3B0aW9uc1xyXG4gICAgICApXHJcbiAgICAgIC5waXBlKHJldHJ5KDIpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqICBGZXRjaGVzIGFsbCBncm91cHMgYnkgbWFraW5nIGFuIEFQSSBjYWxsXHJcbiAgICogKi9cclxuICBnZXRBbGxHcm91cHMocGFyYW1zPzogSHR0cFBhcmFtcykge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAuZ2V0KFxyXG4gICAgICAgIHRoaXMuZW52Py5vcmdhbml6YXRpb25HZXQgK1xyXG4gICAgICAgICAgJ2dyb3Vwc0xpc3QmcGVybVR5cGU9ZGFzaGJvYXJkJm1lbWJlckV4aXN0cz0xJyxcclxuICAgICAgICB7IHBhcmFtcyB9XHJcbiAgICAgIClcclxuICAgICAgLnBpcGUocmV0cnkoMikpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRmV0Y2hlcyByZXNwb25zaWJpbGl0eUNlbnRlcnNMaXN0IGJ5IG1ha2luZyBhbiBBUEkgY2FsbFxyXG4gICAqL1xyXG4gIGdldFJlc3BvbnNpYmlsaXR5Q2VudGVyTGlzdCgpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgLmdldDxhbnlbXT4odGhpcy5lbnY/Lm9yZ2FuaXphdGlvbkdldCArICdyZXNwb25zaWJpbGl0eUNlbnRlclRyZWUnKVxyXG4gICAgICAucGlwZShyZXRyeSgyKSk7XHJcbiAgfVxyXG5cclxuICBnZXRDb21wbGlhbmNlQ2F0ZWdvcmllc0xpc3QoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgIC5nZXQ8YW55W10+KFxyXG4gICAgICAgIHRoaXMuZW52LmNvbXBsaWFuY2VHZXQgKyAnY29tcGxpYW5jZUNhdGVnb3J5L0NhdGVnb3J5TGlzdFRyZWUnXHJcbiAgICAgIClcclxuICAgICAgLnBpcGUocmV0cnkoMikpO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q29tcGxpYW5jZUNhdGVnb3JpZXNMaXN0RnJvbUdsb2JhbCgpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgLmdldDxhbnlbXT4oXHJcbiAgICAgICAgdGhpcy5lbnY/LmNvbXBsaWFuY2VHZXQgK1xyXG4gICAgICAgICAgJ2NvbXBsaWFuY2VDYXRlZ29yeS9DYXRlZ29yeUxpc3RUcmVlJnByb2dyYW09MSZpc0Rhc2hib2FyZD10cnVlJ1xyXG4gICAgICApXHJcbiAgICAgIC5waXBlKHJldHJ5KDIpKTtcclxuICB9XHJcblxyXG4gIHN1Ym1pdERhc2hib2FyZChwYXlsb2FkOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgLnBvc3QodGhpcy5lbnYuZGFzaGJvYXJkICsgJ0NyZWF0ZURhc2hib2FyZCcsIHBheWxvYWQpXHJcbiAgICAgIC5waXBlKHJldHJ5KDIpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZldGNoZXMgdGhlIERhc2hib2FyZCBkZXRhaWxzIGZvciBkYXRhIHBvcHVsYXRpb24gdG8gRWRpdCB0aGUgZGFzaGJvYXJkXHJcbiAgICogQHBhcmFtIGlkXHJcbiAgICovXHJcbiAgLyoqIEBkZXByZWNhdGVkIExlZ2FjeSBHbG9iYWwtRGFzaGJvYXJkIGVkaXQgZmV0Y2g7IGN1c3RvbSBkYXNoYm9hcmRzIHVzZSBmZXRjaEN1c3RvbURhc2hib2FyZEJ5SWQgKyBnZXRXaWRnZXRzLiAqL1xyXG4gIGZldGNoRGFzaGJvYXJkKGlkOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgLmdldCh0aGlzLmVudi5kYXNoYm9hcmQgKyBpZCArICc/bW9kZT1lZGl0JywgdGhpcy5odHRwT3B0aW9ucylcclxuICAgICAgLnBpcGUocmV0cnkoMikpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRWRpdCBtb2RlIG9ubHkg4oCUIEdFVCBHbG9iYWwtRGFzaGJvYXJkL2dldFdpZGdldHM/ZGFzaGJvYXJkSWQ9e2NkaWR9XHJcbiAgICogQHBhcmFtIGNkaWQgQ3VzdG9tIGRhc2hib2FyZCBpZCAoZS5nLiA0MzhGOEtTSzIyKSwgbm90IG51bWVyaWMgcmVjb3JkIGlkXHJcbiAgICovXHJcbiAgZmV0Y2hDdXN0b21EYXNoYm9hcmRXaWRnZXREZXRhaWxzKGNkaWQ6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAuZ2V0KFxyXG4gICAgICAgIGAke3RoaXMuZW52LmRhc2hib2FyZH1nZXRXaWRnZXRzP2Rhc2hib2FyZElkPSR7ZW5jb2RlVVJJQ29tcG9uZW50KGNkaWQpfWAsXHJcbiAgICAgICAgdGhpcy5odHRwT3B0aW9uc1xyXG4gICAgICApXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcCgocmVzOiBhbnkpID0+IHRoaXMubm9ybWFsaXplV2lkZ2V0RGV0YWlsc1Jlc3BvbnNlKHJlcykpLFxyXG4gICAgICAgIHJldHJ5KDIpXHJcbiAgICAgICk7XHJcbiAgfVxyXG5cclxuICBub3JtYWxpemVXaWRnZXREZXRhaWxzUmVzcG9uc2UocmVzOiBhbnkpOiB7XHJcbiAgICB3aWRnZXRBcnI6IGFueVtdO1xyXG4gICAgYWxsV2lkZ2V0c0FycmF5OiBhbnlbXTtcclxuICAgIGFjdGl2ZVdpZGdldEFycjogYW55W107XHJcbiAgfSB7XHJcbiAgICBjb25zdCBwYXlsb2FkID0gcmVzPy5kYXRhID8/IHJlcztcclxuICAgIGNvbnN0IHdpZGdldEFyciA9IHBheWxvYWQ/LndpZGdldEFyciA/PyByZXM/LndpZGdldEFycjtcclxuICAgIGNvbnN0IGFsbFdpZGdldHNBcnJheSA9XHJcbiAgICAgIHBheWxvYWQ/LmFsbFdpZGdldHNBcnJheSA/PyByZXM/LmFsbFdpZGdldHNBcnJheSA/PyB3aWRnZXRBcnI7XHJcbiAgICBpZiAod2lkZ2V0QXJyIHx8IGFsbFdpZGdldHNBcnJheSkge1xyXG4gICAgICBjb25zdCBub3JtYWxpemVkV2lkZ2V0QXJyID0gQXJyYXkuaXNBcnJheSh3aWRnZXRBcnIpID8gd2lkZ2V0QXJyIDogW107XHJcbiAgICAgIGNvbnN0IG5vcm1hbGl6ZWRBbGwgPSBBcnJheS5pc0FycmF5KGFsbFdpZGdldHNBcnJheSlcclxuICAgICAgICA/IGFsbFdpZGdldHNBcnJheVxyXG4gICAgICAgIDogbm9ybWFsaXplZFdpZGdldEFycjtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICB3aWRnZXRBcnI6IG5vcm1hbGl6ZWRXaWRnZXRBcnIsXHJcbiAgICAgICAgYWxsV2lkZ2V0c0FycmF5OiBub3JtYWxpemVkQWxsLFxyXG4gICAgICAgIGFjdGl2ZVdpZGdldEFycjpcclxuICAgICAgICAgIHBheWxvYWQ/LmFjdGl2ZVdpZGdldEFyciA/P1xyXG4gICAgICAgICAgcmVzPy5hY3RpdmVXaWRnZXRBcnIgPz9cclxuICAgICAgICAgIG5vcm1hbGl6ZWRXaWRnZXRBcnIsXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheShyZXMpKSB7XHJcbiAgICAgIHJldHVybiB7IHdpZGdldEFycjogcmVzLCBhbGxXaWRnZXRzQXJyYXk6IHJlcywgYWN0aXZlV2lkZ2V0QXJyOiByZXMgfTtcclxuICAgIH1cclxuICAgIGlmIChBcnJheS5pc0FycmF5KHJlcz8uZGF0YSkpIHtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICB3aWRnZXRBcnI6IHJlcy5kYXRhLFxyXG4gICAgICAgIGFsbFdpZGdldHNBcnJheTogcmVzLmRhdGEsXHJcbiAgICAgICAgYWN0aXZlV2lkZ2V0QXJyOiByZXMuZGF0YSxcclxuICAgICAgfTtcclxuICAgIH1cclxuICAgIGNvbnN0IGxlZ2FjeVdpZGdldHMgPSByZXM/LndpZGdldF9kZXRhaWxzID8/IHJlcz8ud2lkZ2V0cyA/PyBbXTtcclxuICAgIGNvbnN0IGxlZ2FjeUFsbCA9IHJlcz8uYWxsX3dpZGdldHMgPz8gbGVnYWN5V2lkZ2V0cztcclxuICAgIHJldHVybiB7XHJcbiAgICAgIHdpZGdldEFycjogbGVnYWN5V2lkZ2V0cyxcclxuICAgICAgYWxsV2lkZ2V0c0FycmF5OiBsZWdhY3lBbGwsXHJcbiAgICAgIGFjdGl2ZVdpZGdldEFycjogcmVzPy5hY3RpdmVXaWRnZXRBcnIgPz8gbGVnYWN5V2lkZ2V0cyxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBnZXRTYWlsc1Byb2dyYW1MaXN0KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAuZ2V0KHRoaXMuZW52LmNvbXBsaWFuY2VHZXQgKyAnc2FpbHNQcm9ncmFtTGlzdCcsIHRoaXMuaHR0cE9wdGlvbnMpXHJcbiAgICAgIC5waXBlKHJldHJ5KDIpKTtcclxuICB9XHJcblxyXG4gIGdldFByb2dyYW1DYXRlZ29yaWVzKHByb2dyYW1JZDogc3RyaW5nIHwgbnVtYmVyKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgIC5nZXQoXHJcbiAgICAgICAgYCR7dGhpcy5lbnYuY29tcGxpYW5jZUdldH1zYWlsc1Byb2dyYW1DYXRlZ29yaWVzJmlkPSR7cHJvZ3JhbUlkfWAsXHJcbiAgICAgICAgdGhpcy5odHRwT3B0aW9uc1xyXG4gICAgICApXHJcbiAgICAgIC5waXBlKHJldHJ5KDIpKTtcclxuICB9XHJcblxyXG4gIC8qKiBGdWxsIGN1c3RvbSBkYXNoYm9hcmQgcGF5bG9hZCAoaW5jbHVkZXMgcmVzcG9uc2liaWxpdHlDZW50ZXJJZCwgcHJvZ3JhbUlkLCBldGMuKS4gKi9cclxuICBmZXRjaEN1c3RvbURhc2hib2FyZEJ5SWQoaWQ6IHN0cmluZyB8IG51bWJlcikge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAuZ2V0KGAke3RoaXMuZW52LmRhc2hib2FyZH1jdXN0b21EYXNoYm9hcmQvJHtpZH1gLCB0aGlzLmh0dHBPcHRpb25zKVxyXG4gICAgICAucGlwZShyZXRyeSgyKSk7XHJcbiAgfVxyXG5cclxuXHJcblxyXG4gIGdldFVzZXJJbmZvcm1hdGlvbigpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgLmdldChcclxuICAgICAgICB0aGlzLmVudj8ub3JnYW5pemF0aW9uR2V0ICsgJ3VzZXJzJmlkPScgKyB0aGlzPy5fSUQoKSxcclxuICAgICAgICB0aGlzLmh0dHBPcHRpb25zXHJcbiAgICAgIClcclxuICAgICAgLnBpcGUocmV0cnkoMikpO1xyXG4gIH1cclxuICBfSUQoKSB7XHJcbiAgICBjb25zdCBoZWxwZXIgPSBuZXcgSnd0SGVscGVyU2VydmljZSgpO1xyXG4gICAgY29uc3QgbXlSYXdUb2tlbiA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdjdXJyZW50VXNlcicpIHx8ICd7fSc7XHJcbiAgICBjb25zdCBpc0V4cGlyZWQgPSBoZWxwZXI/LmlzVG9rZW5FeHBpcmVkKG15UmF3VG9rZW4pO1xyXG4gICAgaWYgKGlzRXhwaXJlZCA9PT0gZmFsc2UpIHtcclxuICAgICAgY29uc3QgdG9rZW5JbmZvID0gaGVscGVyPy5kZWNvZGVUb2tlbihteVJhd1Rva2VuKTtcclxuICAgICAgcmV0dXJuIHRva2VuSW5mby5faWQ7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJyc7XHJcbiAgfVxyXG5cclxuICBjaGVja0R1cGxpY2F0ZURhc2hib2FyZE5hbWUocGF5bG9hZDogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgIC5wb3N0KFxyXG4gICAgICAgIHRoaXMuZW52LmRhc2hib2FyZCArICdEdXBsaWNhdGVEYXNoYm9hcmQnLFxyXG4gICAgICAgIHBheWxvYWQsXHJcbiAgICAgICAgdGhpcy5odHRwT3B0aW9uc1xyXG4gICAgICApXHJcbiAgICAgIC5waXBlKHJldHJ5KDIpKTtcclxuICB9XHJcbmNyZWF0ZURhc2hib2FyZChwYXlsb2FkOiBhbnkpIHtcclxuICByZXR1cm4gdGhpcy5odHRwLnBvc3QodGhpcy5lbnYuZGFzaGJvYXJkICsgJ2N1c3RvbURhc2hib2FyZCcsIHBheWxvYWQsIHRoaXMuaHR0cE9wdGlvbnMpXHJcbn1cclxuXHJcbnVwZGF0ZURhc2hib2FyZChwYXlsb2FkOiBhbnksIGlkOiBhbnkpIHtcclxuICByZXR1cm4gdGhpcy5odHRwLnB1dCh0aGlzLmVudi5kYXNoYm9hcmQgKyAnY3VzdG9tRGFzaGJvYXJkLycgKyBpZCwgcGF5bG9hZCwgdGhpcy5odHRwT3B0aW9ucylcclxufVxyXG5cclxuc2F2ZVdpZGdldERldGFpbHMocGF5bG9hZDogYW55KSB7XHJcbiAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHRoaXMuZW52LmRhc2hib2FyZCArICdjcmVhdGVXaWRnZXRzL2NyZWF0b3InLCBwYXlsb2FkLCB0aGlzLmh0dHBPcHRpb25zKVxyXG59XHJcbiAgYnVpbGRQYXlsb2FkKHBheWxvYWQ6IGFueSkge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgZGFzaGJvYXJkOiB7XHJcbiAgICAgICAgbmFtZTogcGF5bG9hZC5kYXNoYm9hcmRfbmFtZSxcclxuICAgICAgICBkZXNjcmlwdGlvbjogcGF5bG9hZC5kZXNjcmlwdGlvblswXS5jb250ZW50LFxyXG4gICAgICAgIHZpZXdlcjoge1xyXG4gICAgICAgICAgdXNlcklkOiBwYXlsb2FkLnZpc2libGVfdG9fdXNlcnMsXHJcbiAgICAgICAgICB1c2VyR3JvdXBJZDogcGF5bG9hZC52aXNpYmxlX3RvX2dyb3VwcyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHJlc3BvbnNpYmlsaXR5Q2VudGVySWQ6IHBheWxvYWQucmVzcG9uc2liaWxpdHlfY2VudGVyLFxyXG4gICAgICAgIHByb2dyYW1JZDogcGF5bG9hZC5wcm9ncmFtLmFsbF9wcm9ncmFtcy5tYXAoKHByb2dyYW06IGFueSkgPT4gcHJvZ3JhbS5pZCksXHJcbiAgICAgICAgdGltZWZyYW1lOiBwYXlsb2FkLnRpbWVmcmFtZS5zdGFydF9kYXRlID8ge1xyXG4gICAgICAgICAgZnJvbTogcGF5bG9hZC50aW1lZnJhbWUuc3RhcnRfZGF0ZSxcclxuICAgICAgICAgIHRvOiBwYXlsb2FkLnRpbWVmcmFtZS5lbmRfZGF0ZSxcclxuICAgICAgICB9IDogbnVsbFxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
222
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWRhc2hib2FyZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JlYXRlLWRhc2hib2FyZC9zcmMvbGliL2NyZWF0ZS1kYXNoYm9hcmQtY29udGFpbmVyL3NlcnZpY2VzL2NyZWF0ZS1kYXNoYm9hcmQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsV0FBVyxFQUFjLE1BQU0sc0JBQXNCLENBQUM7QUFDM0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQixPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQU14RCxNQUFNLE9BQU8sc0JBQXNCO0lBS3ZCO0lBSkgsR0FBRyxDQUFPO0lBRWpCLFdBQVcsQ0FBTTtJQUNqQixZQUNVLElBQWdCLEVBQ1osTUFBdUI7UUFEM0IsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUd4QixJQUFJLE1BQU0sRUFBRTtZQUNWLElBQUksQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQztTQUM3QjtRQUVELElBQUksQ0FBQyxXQUFXLEdBQUc7WUFDakIsT0FBTyxFQUFFLElBQUksV0FBVyxDQUFDO2dCQUN2QixjQUFjLEVBQUUsa0JBQWtCO2FBQ25DLENBQUM7U0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0gsb0JBQW9CLENBQUMsR0FBUztRQUM1QixPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ2IsR0FBRyxDQUNGLElBQUksQ0FBQyxHQUFHLEVBQUUsZUFBZTtZQUN2Qiw0Q0FBNEM7WUFDNUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxD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TyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO29CQUN4QyxJQUFJLEVBQUUsT0FBTyxDQUFDLFNBQVMsQ0FBQyxVQUFVO29CQUNsQyxFQUFFLEVBQUUsT0FBTyxDQUFDLFNBQVMsQ0FBQyxRQUFRO2lCQUMvQixDQUFDLENBQUMsQ0FBQyxJQUFJO2FBQ1Q7U0FDRixDQUFBO0lBQ0gsQ0FBQzt3R0FuU1Usc0JBQXNCOzRHQUF0QixzQkFBc0IsY0FGckIsTUFBTTs7NEZBRVAsc0JBQXNCO2tCQUhsQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBT0ksUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzLCBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBKd3RIZWxwZXJTZXJ2aWNlIH0gZnJvbSAnQGF1dGgwL2FuZ3VsYXItand0JztcclxuaW1wb3J0IHsgb2YgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwLCByZXRyeSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgQ29uZmlndXJhdGlvbnMgfSBmcm9tICcuLi8uLi9jb25maWd1cmF0aW9ucyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ3JlYXRlRGFzaGJvYXJkU2VydmljZSB7XHJcbiAgcHVibGljIGVudiE6IGFueTtcclxuXHJcbiAgaHR0cE9wdGlvbnM6IGFueTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcclxuICAgIEBPcHRpb25hbCgpIGNvbmZpZz86IENvbmZpZ3VyYXRpb25zXHJcbiAgKSB7XHJcbiAgICBpZiAoY29uZmlnKSB7XHJcbiAgICAgIHRoaXMuZW52ID0gY29uZmlnLmVudkNvbmZpZztcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmh0dHBPcHRpb25zID0ge1xyXG4gICAgICBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoe1xyXG4gICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXHJcbiAgICAgIH0pLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIC8qXHJcbiAgICogRmV0Y2hlcyB0aGUgT3JnYW5pemF0aW9uIFVzZXJzIExpc3QgYnkgbWFraW5nIGFuIEFQSSBjYWxsXHJcbiAgICovXHJcbiAgZ2V0T3JnYW5pemF0aW9uVXNlcnModXJsPzogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgIC5nZXQoXHJcbiAgICAgICAgdGhpcy5lbnY/Lm9yZ2FuaXphdGlvbkdldCArXHJcbiAgICAgICAgICAnb3JnYW5pc2F0aW9uVXNlcnNMaXN0JnBhZ2luYXRpb25UeXBlPXNtYWxsJyArXHJcbiAgICAgICAgICAodXJsLnAgPyAnJnA9JyArIHVybC5wIDogJycpICtcclxuICAgICAgICAgICh1cmwudHlwZSA/ICcmdHlwZT0nICsgdXJsLnR5cGUgOiAnJykgK1xyXG4gICAgICAgICAgKHVybC5xID8gJyZxPScgKyB1cmwucSA6ICcnKSxcclxuICAgICAgICB0aGlzLmh0dHBPcHRpb25zXHJcbiAgICAgIClcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgbWFwKChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIHJlcztcclxuICAgICAgICB9KSxcclxuICAgICAgICByZXRyeSgyKSxcclxuICAgICAgICBjYXRjaEVycm9yKChlcnIpID0+IG9mKGVycikpXHJcbiAgICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBGZXRjaGVzIHRoZSBPcmdhbml6YXRpb25Vc2VycyBkZXRhaWxzIG9mIHVzZXJzIExpc3QgdG8gc2V0IHBhZ2luYXRpb24gZGV0YWlscyBpbmNsdWRpbmcgbnVtYmVyIG9mXHJcbiAgICogcGFnZXMgYW5kIHJlY29yZHMgbGltaXQgcGVyIHBhZ2UsXHJcbiAgICogQHBhcmFtIHVybCAgY29udGFpbnMgaW5mbyBhYm91dCB0eXBlICYgc2VhcmNoIHF1ZXJ5XHJcbiAgICovXHJcbiAgZ2V0T3JnYW5pemF0aW9uVXNlcnNDb3VudCh1cmw/OiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgLmdldChcclxuICAgICAgICB0aGlzLmVudj8ub3JnYW5pemF0aW9uR2V0ICtcclxuICAgICAgICAgICdvcmdhbmlzYXRpb25Vc2Vyc0NvdW50JnBhZ2luYXRpb25UeXBlPXNtYWxsJyArXHJcbiAgICAgICAgICAodXJsLnR5cGUgPyAnJnR5cGU9JyArIHVybC50eXBlIDogJycpICtcclxuICAgICAgICAgICh1cmwucSA/ICcmcT0nICsgdXJsLnEgOiAnJyksXHJcbiAgICAgICAgdGhpcy5odHRwT3B0aW9uc1xyXG4gICAgICApXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcCgocmVzKSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4gcmVzO1xyXG4gICAgICAgIH0pLFxyXG4gICAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4gb2YoZXJyKSlcclxuICAgICAgKTtcclxuICB9XHJcblxyXG4gIGdldENhdGVnb3J5TGlzdCgpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgLmdldDxhbnlbXT4odGhpcy5lbnY/LnJpc2tHZXQgKyAnY2F0ZWdvcnkvbGlzdCcpXHJcbiAgICAgIC5waXBlKHJldHJ5KDIpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZldGNoZXMgYWxsIHVzZXJzIGJ5IG1ha2luZyBhbiBBUEkgY2FsbFxyXG4gICAqL1xyXG4gIGdldEFsbFVzZXJzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAuZ2V0KFxyXG4gICAgICAgIHRoaXMuZW52Py5vcmdhbml6YXRpb25HZXQgKyAnc2VsZWN0QWxsVXNlcnMmdHlwZT1hbGwnLFxyXG4gICAgICAgIHRoaXMuaHR0cE9wdGlvbnNcclxuICAgICAgKVxyXG4gICAgICAucGlwZShyZXRyeSgyKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiAgRmV0Y2hlcyBhbGwgZ3JvdXBzIGJ5IG1ha2luZyBhbiBBUEkgY2FsbFxyXG4gICAqICovXHJcbiAgZ2V0QWxsR3JvdXBzKHBhcmFtcz86IEh0dHBQYXJhbXMpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgLmdldChcclxuICAgICAgICB0aGlzLmVudj8ub3JnYW5pemF0aW9uR2V0ICtcclxuICAgICAgICAgICdncm91cHNMaXN0JnBlcm1UeXBlPWRhc2hib2FyZCZtZW1iZXJFeGlzdHM9MScsXHJcbiAgICAgICAgeyBwYXJhbXMgfVxyXG4gICAgICApXHJcbiAgICAgIC5waXBlKHJldHJ5KDIpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZldGNoZXMgcmVzcG9uc2liaWxpdHlDZW50ZXJzTGlzdCBieSBtYWtpbmcgYW4gQVBJIGNhbGxcclxuICAgKi9cclxuICBnZXRSZXNwb25zaWJpbGl0eUNlbnRlckxpc3QoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgIC5nZXQ8YW55W10+KHRoaXMuZW52Py5vcmdhbml6YXRpb25HZXQgKyAncmVzcG9uc2liaWxpdHlDZW50ZXJUcmVlJylcclxuICAgICAgLnBpcGUocmV0cnkoMikpO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q29tcGxpYW5jZUNhdGVnb3JpZXNMaXN0KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAuZ2V0PGFueVtdPihcclxuICAgICAgICB0aGlzLmVudi5jb21wbGlhbmNlR2V0ICsgJ2NvbXBsaWFuY2VDYXRlZ29yeS9DYXRlZ29yeUxpc3RUcmVlJ1xyXG4gICAgICApXHJcbiAgICAgIC5waXBlKHJldHJ5KDIpKTtcclxuICB9XHJcblxyXG4gIGdldENvbXBsaWFuY2VDYXRlZ29yaWVzTGlzdEZyb21HbG9iYWwoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgIC5nZXQ8YW55W10+KFxyXG4gICAgICAgIHRoaXMuZW52Py5jb21wbGlhbmNlR2V0ICtcclxuICAgICAgICAgICdjb21wbGlhbmNlQ2F0ZWdvcnkvQ2F0ZWdvcnlMaXN0VHJlZSZwcm9ncmFtPTEmaXNEYXNoYm9hcmQ9dHJ1ZSdcclxuICAgICAgKVxyXG4gICAgICAucGlwZShyZXRyeSgyKSk7XHJcbiAgfVxyXG5cclxuICBzdWJtaXREYXNoYm9hcmQocGF5bG9hZDogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgIC5wb3N0KHRoaXMuZW52LmRhc2hib2FyZCArICdDcmVhdGVEYXNoYm9hcmQnLCBwYXlsb2FkKVxyXG4gICAgICAucGlwZShyZXRyeSgyKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBGZXRjaGVzIHRoZSBEYXNoYm9hcmQgZGV0YWlscyBmb3IgZGF0YSBwb3B1bGF0aW9uIHRvIEVkaXQgdGhlIGRhc2hib2FyZFxyXG4gICAqIEBwYXJhbSBpZFxyXG4gICAqL1xyXG4gIC8qKiBAZGVwcmVjYXRlZCBMZWdhY3kgR2xvYmFsLURhc2hib2FyZCBlZGl0IGZldGNoOyBjdXN0b20gZGFzaGJvYXJkcyB1c2UgZmV0Y2hDdXN0b21EYXNoYm9hcmRCeUlkICsgZ2V0V2lkZ2V0cy4gKi9cclxuICBmZXRjaERhc2hib2FyZChpZDogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgIC5nZXQodGhpcy5lbnYuZGFzaGJvYXJkICsgaWQgKyAnP21vZGU9ZWRpdCcsIHRoaXMuaHR0cE9wdGlvbnMpXHJcbiAgICAgIC5waXBlKHJldHJ5KDIpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEVkaXQgbW9kZSBvbmx5IOKAlCBHRVQgR2xvYmFsLURhc2hib2FyZC9nZXRXaWRnZXRzP2Rhc2hib2FyZElkPXtjZGlkfVxyXG4gICAqIEBwYXJhbSBjZGlkIEN1c3RvbSBkYXNoYm9hcmQgaWQgKGUuZy4gNDM4RjhLU0syMiksIG5vdCBudW1lcmljIHJlY29yZCBpZFxyXG4gICAqL1xyXG4gIGZldGNoQ3VzdG9tRGFzaGJvYXJkV2lkZ2V0RGV0YWlscyhjZGlkOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgLmdldChcclxuICAgICAgICBgJHt0aGlzLmVudi5kYXNoYm9hcmR9Z2V0V2lkZ2V0cz9kYXNoYm9hcmRJZD0ke2VuY29kZVVSSUNvbXBvbmVudChjZGlkKX1gLFxyXG4gICAgICAgIHRoaXMuaHR0cE9wdGlvbnNcclxuICAgICAgKVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBtYXAoKHJlczogYW55KSA9PiB0aGlzLm5vcm1hbGl6ZVdpZGdldERldGFpbHNSZXNwb25zZShyZXMpKSxcclxuICAgICAgICByZXRyeSgyKVxyXG4gICAgICApO1xyXG4gIH1cclxuXHJcbiAgbm9ybWFsaXplV2lkZ2V0RGV0YWlsc1Jlc3BvbnNlKHJlczogYW55KToge1xyXG4gICAgd2lkZ2V0QXJyOiBhbnlbXTtcclxuICAgIGFsbFdpZGdldHNBcnJheTogYW55W107XHJcbiAgICBhY3RpdmVXaWRnZXRBcnI6IGFueVtdO1xyXG4gIH0ge1xyXG4gICAgY29uc3QgcGF5bG9hZCA9IHJlcz8uZGF0YSA/PyByZXM7XHJcbiAgICBjb25zdCBjb2xsZWN0ID0gKC4uLmNhbmRpZGF0ZXM6IGFueVtdKTogYW55W10gPT4ge1xyXG4gICAgICBjb25zdCBjb2xsZWN0ZWQ6IGFueVtdID0gW107XHJcbiAgICAgIGNvbnN0IHNlZW4gPSBuZXcgU2V0PHN0cmluZz4oKTtcclxuICAgICAgY2FuZGlkYXRlcy5mb3JFYWNoKChjYW5kaWRhdGUpID0+IHtcclxuICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkoY2FuZGlkYXRlKSkge1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjYW5kaWRhdGUuZm9yRWFjaCgod2lkZ2V0OiBhbnkpID0+IHtcclxuICAgICAgICAgIGNvbnN0IGNvZGUgPSB3aWRnZXQ/LndpZGdldF9jb2RlID8/IHdpZGdldD8ud2lkZ2V0Q29kZTtcclxuICAgICAgICAgIGNvbnN0IGtleSA9IGNvZGUgIT0gbnVsbCA/IFN0cmluZyhjb2RlKSA6IEpTT04uc3RyaW5naWZ5KHdpZGdldCk7XHJcbiAgICAgICAgICBpZiAoc2Vlbi5oYXMoa2V5KSkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBzZWVuLmFkZChrZXkpO1xyXG4gICAgICAgICAgY29sbGVjdGVkLnB1c2god2lkZ2V0KTtcclxuICAgICAgICB9KTtcclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybiBjb2xsZWN0ZWQ7XHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnN0IHdpZGdldEFyciA9IGNvbGxlY3QoXHJcbiAgICAgIHBheWxvYWQ/LndpZGdldEFycixcclxuICAgICAgcmVzPy53aWRnZXRBcnIsXHJcbiAgICAgIHBheWxvYWQ/LndpZGdldF9kZXRhaWxzLFxyXG4gICAgICBBcnJheS5pc0FycmF5KHBheWxvYWQpID8gcGF5bG9hZCA6IG51bGwsXHJcbiAgICAgIEFycmF5LmlzQXJyYXkocmVzPy5kYXRhKSA/IHJlcy5kYXRhIDogbnVsbFxyXG4gICAgKTtcclxuICAgIGNvbnN0IGFsbFdpZGdldHNBcnJheSA9IGNvbGxlY3QoXHJcbiAgICAgIHBheWxvYWQ/LmFsbFdpZGdldHNBcnJheSxcclxuICAgICAgcGF5bG9hZD8uYWxsX3dpZGdldHMsXHJcbiAgICAgIHBheWxvYWQ/LmFsbFdpZGdldHMsXHJcbiAgICAgIHBheWxvYWQ/LmFsbFdpZGdldEFycmF5LFxyXG4gICAgICBwYXlsb2FkPy53aWRnZXRzLFxyXG4gICAgICByZXM/LmFsbFdpZGdldHNBcnJheSxcclxuICAgICAgcmVzPy5hbGxfd2lkZ2V0cyxcclxuICAgICAgcmVzPy5hbGxXaWRnZXRzLFxyXG4gICAgICByZXM/LndpZGdldHMsXHJcbiAgICAgIHdpZGdldEFyclxyXG4gICAgKTtcclxuICAgIGNvbnN0IGFjdGl2ZVdpZGdldEFyciA9IGNvbGxlY3QoXHJcbiAgICAgIHBheWxvYWQ/LmFjdGl2ZVdpZGdldEFycixcclxuICAgICAgcmVzPy5hY3RpdmVXaWRnZXRBcnIsXHJcbiAgICAgIHdpZGdldEFyclxyXG4gICAgKTtcclxuXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICB3aWRnZXRBcnIsXHJcbiAgICAgIGFsbFdpZGdldHNBcnJheTogYWxsV2lkZ2V0c0FycmF5Lmxlbmd0aCA/IGFsbFdpZGdldHNBcnJheSA6IHdpZGdldEFycixcclxuICAgICAgYWN0aXZlV2lkZ2V0QXJyOiBhY3RpdmVXaWRnZXRBcnIubGVuZ3RoID8gYWN0aXZlV2lkZ2V0QXJyIDogd2lkZ2V0QXJyLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIGdldFNhaWxzUHJvZ3JhbUxpc3QoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgIC5nZXQodGhpcy5lbnYuY29tcGxpYW5jZUdldCArICdzYWlsc1Byb2dyYW1MaXN0JywgdGhpcy5odHRwT3B0aW9ucylcclxuICAgICAgLnBpcGUocmV0cnkoMikpO1xyXG4gIH1cclxuXHJcbiAgZ2V0UHJvZ3JhbUNhdGVnb3JpZXMocHJvZ3JhbUlkOiBzdHJpbmcgfCBudW1iZXIpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgLmdldChcclxuICAgICAgICBgJHt0aGlzLmVudi5jb21wbGlhbmNlR2V0fXNhaWxzUHJvZ3JhbUNhdGVnb3JpZXMmaWQ9JHtwcm9ncmFtSWR9YCxcclxuICAgICAgICB0aGlzLmh0dHBPcHRpb25zXHJcbiAgICAgIClcclxuICAgICAgLnBpcGUocmV0cnkoMikpO1xyXG4gIH1cclxuXHJcbiAgLyoqIEZ1bGwgY3VzdG9tIGRhc2hib2FyZCBwYXlsb2FkIChpbmNsdWRlcyByZXNwb25zaWJpbGl0eUNlbnRlcklkLCBwcm9ncmFtSWQsIGV0Yy4pLiAqL1xyXG4gIGZldGNoQ3VzdG9tRGFzaGJvYXJkQnlJZChpZDogc3RyaW5nIHwgbnVtYmVyKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgIC5nZXQoYCR7dGhpcy5lbnYuZGFzaGJvYXJkfWN1c3RvbURhc2hib2FyZC8ke2lkfWAsIHRoaXMuaHR0cE9wdGlvbnMpXHJcbiAgICAgIC5waXBlKHJldHJ5KDIpKTtcclxuICB9XHJcblxyXG5cclxuXHJcbiAgZ2V0VXNlckluZm9ybWF0aW9uKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAuZ2V0KFxyXG4gICAgICAgIHRoaXMuZW52Py5vcmdhbml6YXRpb25HZXQgKyAndXNlcnMmaWQ9JyArIHRoaXM/Ll9JRCgpLFxyXG4gICAgICAgIHRoaXMuaHR0cE9wdGlvbnNcclxuICAgICAgKVxyXG4gICAgICAucGlwZShyZXRyeSgyKSk7XHJcbiAgfVxyXG4gIF9JRCgpIHtcclxuICAgIGNvbnN0IGhlbHBlciA9IG5ldyBKd3RIZWxwZXJTZXJ2aWNlKCk7XHJcbiAgICBjb25zdCBteVJhd1Rva2VuID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2N1cnJlbnRVc2VyJykgfHwgJ3t9JztcclxuICAgIGNvbnN0IGlzRXhwaXJlZCA9IGhlbHBlcj8uaXNUb2tlbkV4cGlyZWQobXlSYXdUb2tlbik7XHJcbiAgICBpZiAoaXNFeHBpcmVkID09PSBmYWxzZSkge1xyXG4gICAgICBjb25zdCB0b2tlbkluZm8gPSBoZWxwZXI/LmRlY29kZVRva2VuKG15UmF3VG9rZW4pO1xyXG4gICAgICByZXR1cm4gdG9rZW5JbmZvLl9pZDtcclxuICAgIH1cclxuICAgIHJldHVybiAnJztcclxuICB9XHJcblxyXG4gIGNoZWNrRHVwbGljYXRlRGFzaGJvYXJkTmFtZShwYXlsb2FkOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgLnBvc3QoXHJcbiAgICAgICAgdGhpcy5lbnYuZGFzaGJvYXJkICsgJ0R1cGxpY2F0ZURhc2hib2FyZCcsXHJcbiAgICAgICAgcGF5bG9hZCxcclxuICAgICAgICB0aGlzLmh0dHBPcHRpb25zXHJcbiAgICAgIClcclxuICAgICAgLnBpcGUocmV0cnkoMikpO1xyXG4gIH1cclxuY3JlYXRlRGFzaGJvYXJkKHBheWxvYWQ6IGFueSkge1xyXG4gIHJldHVybiB0aGlzLmh0dHAucG9zdCh0aGlzLmVudi5kYXNoYm9hcmQgKyAnY3VzdG9tRGFzaGJvYXJkJywgcGF5bG9hZCwgdGhpcy5odHRwT3B0aW9ucylcclxufVxyXG5cclxudXBkYXRlRGFzaGJvYXJkKHBheWxvYWQ6IGFueSwgaWQ6IGFueSkge1xyXG4gIHJldHVybiB0aGlzLmh0dHAucHV0KHRoaXMuZW52LmRhc2hib2FyZCArICdjdXN0b21EYXNoYm9hcmQvJyArIGlkLCBwYXlsb2FkLCB0aGlzLmh0dHBPcHRpb25zKVxyXG59XHJcblxyXG5zYXZlV2lkZ2V0RGV0YWlscyhwYXlsb2FkOiBhbnkpIHtcclxuICByZXR1cm4gdGhpcy5odHRwLnBvc3QodGhpcy5lbnYuZGFzaGJvYXJkICsgJ2NyZWF0ZVdpZGdldHMvY3JlYXRvcicsIHBheWxvYWQsIHRoaXMuaHR0cE9wdGlvbnMpXHJcbn1cclxuICBidWlsZFBheWxvYWQocGF5bG9hZDogYW55KSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBkYXNoYm9hcmQ6IHtcclxuICAgICAgICBuYW1lOiBwYXlsb2FkLmRhc2hib2FyZF9uYW1lLFxyXG4gICAgICAgIGRlc2NyaXB0aW9uOiBwYXlsb2FkLmRlc2NyaXB0aW9uWzBdLmNvbnRlbnQsXHJcbiAgICAgICAgdmlld2VyOiB7XHJcbiAgICAgICAgICB1c2VySWQ6IHBheWxvYWQudmlzaWJsZV90b191c2VycyxcclxuICAgICAgICAgIHVzZXJHcm91cElkOiBwYXlsb2FkLnZpc2libGVfdG9fZ3JvdXBzLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgcmVzcG9uc2liaWxpdHlDZW50ZXJJZDogcGF5bG9hZC5yZXNwb25zaWJpbGl0eV9jZW50ZXIsXHJcbiAgICAgICAgcHJvZ3JhbUlkOiBwYXlsb2FkLnByb2dyYW0uYWxsX3Byb2dyYW1zLm1hcCgocHJvZ3JhbTogYW55KSA9PiBwcm9ncmFtLmlkKSxcclxuICAgICAgICB0aW1lZnJhbWU6IHBheWxvYWQudGltZWZyYW1lLnN0YXJ0X2RhdGUgPyB7XHJcbiAgICAgICAgICBmcm9tOiBwYXlsb2FkLnRpbWVmcmFtZS5zdGFydF9kYXRlLFxyXG4gICAgICAgICAgdG86IHBheWxvYWQudGltZWZyYW1lLmVuZF9kYXRlLFxyXG4gICAgICAgIH0gOiBudWxsXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
@@ -414,37 +414,32 @@ class CreateDashboardService {
414
414
  }
415
415
  normalizeWidgetDetailsResponse(res) {
416
416
  const payload = res?.data ?? res;
417
- const widgetArr = payload?.widgetArr ?? res?.widgetArr;
418
- const allWidgetsArray = payload?.allWidgetsArray ?? res?.allWidgetsArray ?? widgetArr;
419
- if (widgetArr || allWidgetsArray) {
420
- const normalizedWidgetArr = Array.isArray(widgetArr) ? widgetArr : [];
421
- const normalizedAll = Array.isArray(allWidgetsArray)
422
- ? allWidgetsArray
423
- : normalizedWidgetArr;
424
- return {
425
- widgetArr: normalizedWidgetArr,
426
- allWidgetsArray: normalizedAll,
427
- activeWidgetArr: payload?.activeWidgetArr ??
428
- res?.activeWidgetArr ??
429
- normalizedWidgetArr,
430
- };
431
- }
432
- if (Array.isArray(res)) {
433
- return { widgetArr: res, allWidgetsArray: res, activeWidgetArr: res };
434
- }
435
- if (Array.isArray(res?.data)) {
436
- return {
437
- widgetArr: res.data,
438
- allWidgetsArray: res.data,
439
- activeWidgetArr: res.data,
440
- };
441
- }
442
- const legacyWidgets = res?.widget_details ?? res?.widgets ?? [];
443
- const legacyAll = res?.all_widgets ?? legacyWidgets;
417
+ const collect = (...candidates) => {
418
+ const collected = [];
419
+ const seen = new Set();
420
+ candidates.forEach((candidate) => {
421
+ if (!Array.isArray(candidate)) {
422
+ return;
423
+ }
424
+ candidate.forEach((widget) => {
425
+ const code = widget?.widget_code ?? widget?.widgetCode;
426
+ const key = code != null ? String(code) : JSON.stringify(widget);
427
+ if (seen.has(key)) {
428
+ return;
429
+ }
430
+ seen.add(key);
431
+ collected.push(widget);
432
+ });
433
+ });
434
+ return collected;
435
+ };
436
+ const widgetArr = collect(payload?.widgetArr, res?.widgetArr, payload?.widget_details, Array.isArray(payload) ? payload : null, Array.isArray(res?.data) ? res.data : null);
437
+ const allWidgetsArray = collect(payload?.allWidgetsArray, payload?.all_widgets, payload?.allWidgets, payload?.allWidgetArray, payload?.widgets, res?.allWidgetsArray, res?.all_widgets, res?.allWidgets, res?.widgets, widgetArr);
438
+ const activeWidgetArr = collect(payload?.activeWidgetArr, res?.activeWidgetArr, widgetArr);
444
439
  return {
445
- widgetArr: legacyWidgets,
446
- allWidgetsArray: legacyAll,
447
- activeWidgetArr: res?.activeWidgetArr ?? legacyWidgets,
440
+ widgetArr,
441
+ allWidgetsArray: allWidgetsArray.length ? allWidgetsArray : widgetArr,
442
+ activeWidgetArr: activeWidgetArr.length ? activeWidgetArr : widgetArr,
448
443
  };
449
444
  }
450
445
  getSailsProgramList() {
@@ -1534,12 +1529,12 @@ class ConfigureWidgetsComponent {
1534
1529
  visibility: true,
1535
1530
  module: 'COMPLIANCE',
1536
1531
  subWidgets: [
1537
- {
1538
- title: 'Overview',
1539
- id: 'key_responsibilities_overview_flag',
1540
- value: false,
1541
- visibility: true,
1542
- },
1532
+ // {
1533
+ // title: 'Overview',
1534
+ // id: 'key_responsibilities_overview_flag',
1535
+ // value: false,
1536
+ // visibility: true,
1537
+ // },
1543
1538
  {
1544
1539
  title: 'My Responsibilities',
1545
1540
  id: 'key_my_responsibilities_flag',
@@ -2921,6 +2916,8 @@ class ResponsibilityCenterComponent {
2921
2916
  radioSelection = false;
2922
2917
  ASSETS = ASSETS;
2923
2918
  selectedIds = [];
2919
+ selectedIdLookup = {};
2920
+ isAllSelected = false;
2924
2921
  animation = false;
2925
2922
  search = '';
2926
2923
  footerDetails = {
@@ -2942,6 +2939,7 @@ class ResponsibilityCenterComponent {
2942
2939
  return ele[this.rcIdKey];
2943
2940
  }
2944
2941
  });
2942
+ this.updateSelectionState();
2945
2943
  }
2946
2944
  ngOnInit() {
2947
2945
  this.animation = true;
@@ -2950,7 +2948,7 @@ class ResponsibilityCenterComponent {
2950
2948
  }, 300);
2951
2949
  }
2952
2950
  isSelected(id) {
2953
- return this.selectedIds.some((selected) => selected == id);
2951
+ return id != null && id !== '' && this.selectedIdLookup[id] === true;
2954
2952
  }
2955
2953
  selectRc(rc, mode) {
2956
2954
  if (this.radioSelection) {
@@ -2988,6 +2986,7 @@ class ResponsibilityCenterComponent {
2988
2986
  this.setList();
2989
2987
  }
2990
2988
  setList() {
2989
+ this.updateSelectionState();
2991
2990
  const data = [];
2992
2991
  const rcList = [...new Set(this.responsibilityCentersList)];
2993
2992
  rcList.forEach((element) => {
@@ -2998,8 +2997,18 @@ class ResponsibilityCenterComponent {
2998
2997
  this.selectedResponsibilityCenters = data;
2999
2998
  this.footerDetails.selectedData = this.selectedResponsibilityCenters;
3000
2999
  }
3001
- checkSelectAll() {
3002
- return this.responsibilityCentersList.every((rc) => this.isSelected(rc[this.rcIdKey]));
3000
+ updateSelectionState() {
3001
+ const lookup = {};
3002
+ this.selectedIds.forEach((id) => {
3003
+ if (id != null && id !== '') {
3004
+ lookup[id] = true;
3005
+ }
3006
+ });
3007
+ this.selectedIdLookup = lookup;
3008
+ const list = this.responsibilityCentersList;
3009
+ this.isAllSelected =
3010
+ list.length > 0 &&
3011
+ list.every((rc) => lookup[rc[this.rcIdKey]] === true);
3003
3012
  }
3004
3013
  findRcById(id) {
3005
3014
  return this.responsibilityCentersList.find((ele) => ele?.[this.rcIdKey] == id ||
@@ -3023,6 +3032,7 @@ class ResponsibilityCenterComponent {
3023
3032
  const resolved = this.resolveSelectedId(id);
3024
3033
  if (resolved != null && resolved !== '' && !this.isSelected(resolved)) {
3025
3034
  this.selectedIds.push(resolved);
3035
+ this.selectedIdLookup[resolved] = true;
3026
3036
  }
3027
3037
  });
3028
3038
  }
@@ -3107,11 +3117,11 @@ class ResponsibilityCenterComponent {
3107
3117
  this.closeRcList.emit();
3108
3118
  }
3109
3119
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ResponsibilityCenterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3110
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ResponsibilityCenterComponent, selector: "app-responsibility-center", inputs: { responsibilityCentersList: "responsibilityCentersList", selectedResponsibilityCenters: "selectedResponsibilityCenters", rcIdKey: "rcIdKey", radioSelection: "radioSelection" }, outputs: { saveSelectedList: "saveSelectedList", closeRcList: "closeRcList" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"responsibility-center\" [class.animate-slideInRight]=\"animation\">\r\n <div\r\n class=\"responsibility-center-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\"\r\n >\r\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">\r\n Select Responsibility Center(s)\r\n </div>\r\n </div>\r\n <div class=\"responsibility-center-body\">\r\n <div class=\"responsibility-center-search vx-mb-2\">\r\n <i class=\"icons\">&#xe90b;</i>\r\n <input\r\n type=\"text\"\r\n [(ngModel)]=\"search\"\r\n placeholder=\"Search Responsibility Center\"\r\n />\r\n </div>\r\n\r\n <ng-container\r\n *ngIf=\"responsibilityCentersList | filter : search as searchList\"\r\n >\r\n <div class=\"select-all\" *ngIf=\"searchList.length > 1\">\r\n <app-cs-checkbox\r\n [ngValue]=\"checkSelectAll()\"\r\n (ngValueChange)=\"selectAll($event)\"\r\n >\r\n <strong>{{\r\n checkSelectAll() ? \"Deselect All\" : \"Select All\"\r\n }}</strong>\r\n </app-cs-checkbox>\r\n </div>\r\n <ul class=\"responsibility-center-list\" *ngIf=\"searchList.length > 0\">\r\n <li *ngFor=\"let rc of searchList; let i = index\">\r\n <app-cs-checkbox\r\n [ngValue]=\"isSelected(rc.item_id)\"\r\n (ngValueChange)=\"selectRc(rc.item_id, $event)\"\r\n >\r\n <ul class=\"responsibility-center-list-name\">\r\n <li\r\n *ngFor=\"let entity of rc.rc_name; let j = index\"\r\n [arTooltip]=\"entity\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n >\r\n <i class=\"icons\" *ngIf=\"j !== 0\">&#xe910;</i>\r\n {{ entity }}\r\n <!-- <span class=\"name\">{{entity}}</span> -->\r\n </li>\r\n </ul>\r\n </app-cs-checkbox>\r\n </li>\r\n </ul>\r\n <app-no-data\r\n *ngIf=\"searchList.length == 0\"\r\n [noDataImage]=\"ASSETS.search_data\"\r\n [noDataText]=\"'No data to display'\"\r\n >\r\n </app-no-data>\r\n </ng-container>\r\n\r\n <div class=\"responsibility-center-footer\">\r\n <app-dashboard-footer\r\n [footerDetails]=\"footerDetails\"\r\n (cancelEvent)=\"closeRcList.emit()\"\r\n (deleteEvent)=\"selectRc($event.item_id, false)\"\r\n (submitEvent)=\"save()\"\r\n ></app-dashboard-footer>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .responsibility-center{background:#fff;border-right:1px solid #F1F1F1;position:fixed;inset:0 500px 0 0}::ng-deep .responsibility-center-head{background:#fbfbfb;height:2.75rem;border-bottom:1px solid #f1f1f1}::ng-deep .responsibility-center-body{height:calc(100vh - 2.75rem);padding:2rem;position:relative}::ng-deep .responsibility-center-body .select-all{display:flex;padding-bottom:1rem}::ng-deep .responsibility-center-body .select-all app-cs-checkbox{display:flex}::ng-deep .responsibility-center-body .select-all app-cs-checkbox label span.value{font-weight:600!important;max-width:unset!important;font-size:12px!important}::ng-deep .responsibility-center-body .select-all app-cs-checkbox label span.value strong{color:#161b2f!important;font-weight:600!important}::ng-deep .responsibility-center-body ul{padding:0;margin:0}::ng-deep .responsibility-center-body ul.responsibility-center-list{display:block;height:calc(100vh - 256px);margin-bottom:16px;overflow:hidden;overflow-y:auto}::ng-deep .responsibility-center-body ul.responsibility-center-list::-webkit-scrollbar-track{background:transparent}::ng-deep .responsibility-center-body ul.responsibility-center-list li{width:100%;padding:0 0 1rem;list-style:none}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio{display:flex}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox label,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio label{width:100%}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox label span.value,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio label span.value{width:auto;justify-content:flex-start;line-height:18px!important}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name{display:flex;justify-content:flex-start;width:auto;max-width:100%}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name li,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name li{list-style:none;color:#747576;font-size:12px;font-weight:400;width:auto;padding:0 8px 0 0;max-width:100%;display:block;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name li i,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name li i{font-size:8px;padding-right:4px;color:#747576;position:relative}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name li span.name,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name li span.name{list-style:none;color:#747576;font-size:12px;font-weight:400;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;width:auto;min-width:calc(100% - 20px);padding:0}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name li:first-child,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name li:first-child{color:#1e5dd3;max-width:100%}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name li:last-of-type,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name li:last-of-type{color:#34aa44}::ng-deep .responsibility-center-search{position:relative}::ng-deep .responsibility-center-search input{height:2.75rem;line-height:1.5rem;padding:.5rem 1rem .5rem 2.5rem;outline:none;border:1px solid #7475763f;border-radius:.25rem;width:100%;font-size:14px;color:#747576}::ng-deep .responsibility-center-search input:focus{border-color:#1e5dd3}::ng-deep .responsibility-center-search i{position:absolute;left:1rem;top:1rem;pointer-events:none;color:#f1f1f1;font-size:12px}\n"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: CsCheckboxComponent, selector: "app-cs-checkbox", inputs: ["disabled", "ngValue", "value"], outputs: ["ngValueChange"] }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: ToolTipDirective, selector: "[arTooltip]", inputs: ["arTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }, { kind: "component", type: DashboardFooterComponent, selector: "app-dashboard-footer", inputs: ["footerDetails", "userButtonColor"], outputs: ["cancelEvent", "submitEvent", "deleteEvent"] }, { kind: "component", type: NoDataComponent, selector: "app-no-data", inputs: ["action", "noDataImage", "noDataText", "noDataButton", "noDataSecButton", "altText", "smallButton", "buttonIcon", "iconClass"], outputs: ["buttonAction"] }, { kind: "pipe", type: FilterPipe, name: "filter" }] });
3120
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ResponsibilityCenterComponent, selector: "app-responsibility-center", inputs: { responsibilityCentersList: "responsibilityCentersList", selectedResponsibilityCenters: "selectedResponsibilityCenters", rcIdKey: "rcIdKey", radioSelection: "radioSelection" }, outputs: { saveSelectedList: "saveSelectedList", closeRcList: "closeRcList" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"responsibility-center\" [class.animate-slideInRight]=\"animation\">\r\n <div\r\n class=\"responsibility-center-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\"\r\n >\r\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">\r\n Select Responsibility Center(s)\r\n </div>\r\n </div>\r\n <div class=\"responsibility-center-body\">\r\n <div class=\"responsibility-center-search vx-mb-2\">\r\n <i class=\"icons\">&#xe90b;</i>\r\n <input\r\n type=\"text\"\r\n [(ngModel)]=\"search\"\r\n placeholder=\"Search Responsibility Center\"\r\n />\r\n </div>\r\n\r\n <ng-container\r\n *ngIf=\"responsibilityCentersList | filter : search as searchList\"\r\n >\r\n <div class=\"select-all\" *ngIf=\"searchList.length > 1\">\r\n <app-cs-checkbox\r\n [ngValue]=\"isAllSelected\"\r\n (ngValueChange)=\"selectAll($event)\"\r\n >\r\n <strong>{{\r\n isAllSelected ? \"Deselect All\" : \"Select All\"\r\n }}</strong>\r\n </app-cs-checkbox>\r\n </div>\r\n <ul class=\"responsibility-center-list\" *ngIf=\"searchList.length > 0\">\r\n <li *ngFor=\"let rc of searchList; let i = index\">\r\n <app-cs-checkbox\r\n [ngValue]=\"!!selectedIdLookup[rc.item_id]\"\r\n (ngValueChange)=\"selectRc(rc.item_id, $event)\"\r\n >\r\n <ul class=\"responsibility-center-list-name\">\r\n <li\r\n *ngFor=\"let entity of rc.rc_name; let j = index\"\r\n [arTooltip]=\"entity\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n >\r\n <i class=\"icons\" *ngIf=\"j !== 0\">&#xe910;</i>\r\n {{ entity }}\r\n <!-- <span class=\"name\">{{entity}}</span> -->\r\n </li>\r\n </ul>\r\n </app-cs-checkbox>\r\n </li>\r\n </ul>\r\n <app-no-data\r\n *ngIf=\"searchList.length == 0\"\r\n [noDataImage]=\"ASSETS.search_data\"\r\n [noDataText]=\"'No data to display'\"\r\n >\r\n </app-no-data>\r\n </ng-container>\r\n\r\n <div class=\"responsibility-center-footer\">\r\n <app-dashboard-footer\r\n [footerDetails]=\"footerDetails\"\r\n (cancelEvent)=\"closeRcList.emit()\"\r\n (deleteEvent)=\"selectRc($event.item_id, false)\"\r\n (submitEvent)=\"save()\"\r\n ></app-dashboard-footer>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .responsibility-center{background:#fff;border-right:1px solid #F1F1F1;position:fixed;inset:0 500px 0 0}::ng-deep .responsibility-center-head{background:#fbfbfb;height:2.75rem;border-bottom:1px solid #f1f1f1}::ng-deep .responsibility-center-body{height:calc(100vh - 2.75rem);padding:2rem;position:relative}::ng-deep .responsibility-center-body .select-all{display:flex;padding-bottom:1rem}::ng-deep .responsibility-center-body .select-all app-cs-checkbox{display:flex}::ng-deep .responsibility-center-body .select-all app-cs-checkbox label span.value{font-weight:600!important;max-width:unset!important;font-size:12px!important}::ng-deep .responsibility-center-body .select-all app-cs-checkbox label span.value strong{color:#161b2f!important;font-weight:600!important}::ng-deep .responsibility-center-body ul{padding:0;margin:0}::ng-deep .responsibility-center-body ul.responsibility-center-list{display:block;height:calc(100vh - 256px);margin-bottom:16px;overflow:hidden;overflow-y:auto}::ng-deep .responsibility-center-body ul.responsibility-center-list::-webkit-scrollbar-track{background:transparent}::ng-deep .responsibility-center-body ul.responsibility-center-list li{width:100%;padding:0 0 1rem;list-style:none}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio{display:flex}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox label,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio label{width:100%}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox label span.value,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio label span.value{width:auto;justify-content:flex-start;line-height:18px!important}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name{display:flex;justify-content:flex-start;width:auto;max-width:100%}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name li,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name li{list-style:none;color:#747576;font-size:12px;font-weight:400;width:auto;padding:0 8px 0 0;max-width:100%;display:block;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name li i,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name li i{font-size:8px;padding-right:4px;color:#747576;position:relative}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name li span.name,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name li span.name{list-style:none;color:#747576;font-size:12px;font-weight:400;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;width:auto;min-width:calc(100% - 20px);padding:0}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name li:first-child,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name li:first-child{color:#1e5dd3;max-width:100%}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name li:last-of-type,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name li:last-of-type{color:#34aa44}::ng-deep .responsibility-center-search{position:relative}::ng-deep .responsibility-center-search input{height:2.75rem;line-height:1.5rem;padding:.5rem 1rem .5rem 2.5rem;outline:none;border:1px solid #7475763f;border-radius:.25rem;width:100%;font-size:14px;color:#747576}::ng-deep .responsibility-center-search input:focus{border-color:#1e5dd3}::ng-deep .responsibility-center-search i{position:absolute;left:1rem;top:1rem;pointer-events:none;color:#f1f1f1;font-size:12px}\n"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: CsCheckboxComponent, selector: "app-cs-checkbox", inputs: ["disabled", "ngValue", "value"], outputs: ["ngValueChange"] }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: ToolTipDirective, selector: "[arTooltip]", inputs: ["arTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }, { kind: "component", type: DashboardFooterComponent, selector: "app-dashboard-footer", inputs: ["footerDetails", "userButtonColor"], outputs: ["cancelEvent", "submitEvent", "deleteEvent"] }, { kind: "component", type: NoDataComponent, selector: "app-no-data", inputs: ["action", "noDataImage", "noDataText", "noDataButton", "noDataSecButton", "altText", "smallButton", "buttonIcon", "iconClass"], outputs: ["buttonAction"] }, { kind: "pipe", type: FilterPipe, name: "filter" }] });
3111
3121
  }
3112
3122
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ResponsibilityCenterComponent, decorators: [{
3113
3123
  type: Component,
3114
- args: [{ selector: 'app-responsibility-center', template: "<div class=\"responsibility-center\" [class.animate-slideInRight]=\"animation\">\r\n <div\r\n class=\"responsibility-center-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\"\r\n >\r\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">\r\n Select Responsibility Center(s)\r\n </div>\r\n </div>\r\n <div class=\"responsibility-center-body\">\r\n <div class=\"responsibility-center-search vx-mb-2\">\r\n <i class=\"icons\">&#xe90b;</i>\r\n <input\r\n type=\"text\"\r\n [(ngModel)]=\"search\"\r\n placeholder=\"Search Responsibility Center\"\r\n />\r\n </div>\r\n\r\n <ng-container\r\n *ngIf=\"responsibilityCentersList | filter : search as searchList\"\r\n >\r\n <div class=\"select-all\" *ngIf=\"searchList.length > 1\">\r\n <app-cs-checkbox\r\n [ngValue]=\"checkSelectAll()\"\r\n (ngValueChange)=\"selectAll($event)\"\r\n >\r\n <strong>{{\r\n checkSelectAll() ? \"Deselect All\" : \"Select All\"\r\n }}</strong>\r\n </app-cs-checkbox>\r\n </div>\r\n <ul class=\"responsibility-center-list\" *ngIf=\"searchList.length > 0\">\r\n <li *ngFor=\"let rc of searchList; let i = index\">\r\n <app-cs-checkbox\r\n [ngValue]=\"isSelected(rc.item_id)\"\r\n (ngValueChange)=\"selectRc(rc.item_id, $event)\"\r\n >\r\n <ul class=\"responsibility-center-list-name\">\r\n <li\r\n *ngFor=\"let entity of rc.rc_name; let j = index\"\r\n [arTooltip]=\"entity\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n >\r\n <i class=\"icons\" *ngIf=\"j !== 0\">&#xe910;</i>\r\n {{ entity }}\r\n <!-- <span class=\"name\">{{entity}}</span> -->\r\n </li>\r\n </ul>\r\n </app-cs-checkbox>\r\n </li>\r\n </ul>\r\n <app-no-data\r\n *ngIf=\"searchList.length == 0\"\r\n [noDataImage]=\"ASSETS.search_data\"\r\n [noDataText]=\"'No data to display'\"\r\n >\r\n </app-no-data>\r\n </ng-container>\r\n\r\n <div class=\"responsibility-center-footer\">\r\n <app-dashboard-footer\r\n [footerDetails]=\"footerDetails\"\r\n (cancelEvent)=\"closeRcList.emit()\"\r\n (deleteEvent)=\"selectRc($event.item_id, false)\"\r\n (submitEvent)=\"save()\"\r\n ></app-dashboard-footer>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .responsibility-center{background:#fff;border-right:1px solid #F1F1F1;position:fixed;inset:0 500px 0 0}::ng-deep .responsibility-center-head{background:#fbfbfb;height:2.75rem;border-bottom:1px solid #f1f1f1}::ng-deep .responsibility-center-body{height:calc(100vh - 2.75rem);padding:2rem;position:relative}::ng-deep .responsibility-center-body .select-all{display:flex;padding-bottom:1rem}::ng-deep .responsibility-center-body .select-all app-cs-checkbox{display:flex}::ng-deep .responsibility-center-body .select-all app-cs-checkbox label span.value{font-weight:600!important;max-width:unset!important;font-size:12px!important}::ng-deep .responsibility-center-body .select-all app-cs-checkbox label span.value strong{color:#161b2f!important;font-weight:600!important}::ng-deep .responsibility-center-body ul{padding:0;margin:0}::ng-deep .responsibility-center-body ul.responsibility-center-list{display:block;height:calc(100vh - 256px);margin-bottom:16px;overflow:hidden;overflow-y:auto}::ng-deep .responsibility-center-body ul.responsibility-center-list::-webkit-scrollbar-track{background:transparent}::ng-deep .responsibility-center-body ul.responsibility-center-list li{width:100%;padding:0 0 1rem;list-style:none}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio{display:flex}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox label,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio label{width:100%}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox label span.value,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio label span.value{width:auto;justify-content:flex-start;line-height:18px!important}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name{display:flex;justify-content:flex-start;width:auto;max-width:100%}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name li,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name li{list-style:none;color:#747576;font-size:12px;font-weight:400;width:auto;padding:0 8px 0 0;max-width:100%;display:block;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name li i,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name li i{font-size:8px;padding-right:4px;color:#747576;position:relative}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name li span.name,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name li span.name{list-style:none;color:#747576;font-size:12px;font-weight:400;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;width:auto;min-width:calc(100% - 20px);padding:0}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name li:first-child,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name li:first-child{color:#1e5dd3;max-width:100%}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name li:last-of-type,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name li:last-of-type{color:#34aa44}::ng-deep .responsibility-center-search{position:relative}::ng-deep .responsibility-center-search input{height:2.75rem;line-height:1.5rem;padding:.5rem 1rem .5rem 2.5rem;outline:none;border:1px solid #7475763f;border-radius:.25rem;width:100%;font-size:14px;color:#747576}::ng-deep .responsibility-center-search input:focus{border-color:#1e5dd3}::ng-deep .responsibility-center-search i{position:absolute;left:1rem;top:1rem;pointer-events:none;color:#f1f1f1;font-size:12px}\n"] }]
3124
+ args: [{ selector: 'app-responsibility-center', template: "<div class=\"responsibility-center\" [class.animate-slideInRight]=\"animation\">\r\n <div\r\n class=\"responsibility-center-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\"\r\n >\r\n <div class=\"vx-fs-14 vx-fw-500 vx-label-txt\">\r\n Select Responsibility Center(s)\r\n </div>\r\n </div>\r\n <div class=\"responsibility-center-body\">\r\n <div class=\"responsibility-center-search vx-mb-2\">\r\n <i class=\"icons\">&#xe90b;</i>\r\n <input\r\n type=\"text\"\r\n [(ngModel)]=\"search\"\r\n placeholder=\"Search Responsibility Center\"\r\n />\r\n </div>\r\n\r\n <ng-container\r\n *ngIf=\"responsibilityCentersList | filter : search as searchList\"\r\n >\r\n <div class=\"select-all\" *ngIf=\"searchList.length > 1\">\r\n <app-cs-checkbox\r\n [ngValue]=\"isAllSelected\"\r\n (ngValueChange)=\"selectAll($event)\"\r\n >\r\n <strong>{{\r\n isAllSelected ? \"Deselect All\" : \"Select All\"\r\n }}</strong>\r\n </app-cs-checkbox>\r\n </div>\r\n <ul class=\"responsibility-center-list\" *ngIf=\"searchList.length > 0\">\r\n <li *ngFor=\"let rc of searchList; let i = index\">\r\n <app-cs-checkbox\r\n [ngValue]=\"!!selectedIdLookup[rc.item_id]\"\r\n (ngValueChange)=\"selectRc(rc.item_id, $event)\"\r\n >\r\n <ul class=\"responsibility-center-list-name\">\r\n <li\r\n *ngFor=\"let entity of rc.rc_name; let j = index\"\r\n [arTooltip]=\"entity\"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n >\r\n <i class=\"icons\" *ngIf=\"j !== 0\">&#xe910;</i>\r\n {{ entity }}\r\n <!-- <span class=\"name\">{{entity}}</span> -->\r\n </li>\r\n </ul>\r\n </app-cs-checkbox>\r\n </li>\r\n </ul>\r\n <app-no-data\r\n *ngIf=\"searchList.length == 0\"\r\n [noDataImage]=\"ASSETS.search_data\"\r\n [noDataText]=\"'No data to display'\"\r\n >\r\n </app-no-data>\r\n </ng-container>\r\n\r\n <div class=\"responsibility-center-footer\">\r\n <app-dashboard-footer\r\n [footerDetails]=\"footerDetails\"\r\n (cancelEvent)=\"closeRcList.emit()\"\r\n (deleteEvent)=\"selectRc($event.item_id, false)\"\r\n (submitEvent)=\"save()\"\r\n ></app-dashboard-footer>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .responsibility-center{background:#fff;border-right:1px solid #F1F1F1;position:fixed;inset:0 500px 0 0}::ng-deep .responsibility-center-head{background:#fbfbfb;height:2.75rem;border-bottom:1px solid #f1f1f1}::ng-deep .responsibility-center-body{height:calc(100vh - 2.75rem);padding:2rem;position:relative}::ng-deep .responsibility-center-body .select-all{display:flex;padding-bottom:1rem}::ng-deep .responsibility-center-body .select-all app-cs-checkbox{display:flex}::ng-deep .responsibility-center-body .select-all app-cs-checkbox label span.value{font-weight:600!important;max-width:unset!important;font-size:12px!important}::ng-deep .responsibility-center-body .select-all app-cs-checkbox label span.value strong{color:#161b2f!important;font-weight:600!important}::ng-deep .responsibility-center-body ul{padding:0;margin:0}::ng-deep .responsibility-center-body ul.responsibility-center-list{display:block;height:calc(100vh - 256px);margin-bottom:16px;overflow:hidden;overflow-y:auto}::ng-deep .responsibility-center-body ul.responsibility-center-list::-webkit-scrollbar-track{background:transparent}::ng-deep .responsibility-center-body ul.responsibility-center-list li{width:100%;padding:0 0 1rem;list-style:none}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio{display:flex}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox label,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio label{width:100%}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox label span.value,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio label span.value{width:auto;justify-content:flex-start;line-height:18px!important}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name{display:flex;justify-content:flex-start;width:auto;max-width:100%}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name li,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name li{list-style:none;color:#747576;font-size:12px;font-weight:400;width:auto;padding:0 8px 0 0;max-width:100%;display:block;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name li i,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name li i{font-size:8px;padding-right:4px;color:#747576;position:relative}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name li span.name,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name li span.name{list-style:none;color:#747576;font-size:12px;font-weight:400;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;width:auto;min-width:calc(100% - 20px);padding:0}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name li:first-child,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name li:first-child{color:#1e5dd3;max-width:100%}::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-checkbox ul.responsibility-center-list-name li:last-of-type,::ng-deep .responsibility-center-body ul.responsibility-center-list li app-cs-radio ul.responsibility-center-list-name li:last-of-type{color:#34aa44}::ng-deep .responsibility-center-search{position:relative}::ng-deep .responsibility-center-search input{height:2.75rem;line-height:1.5rem;padding:.5rem 1rem .5rem 2.5rem;outline:none;border:1px solid #7475763f;border-radius:.25rem;width:100%;font-size:14px;color:#747576}::ng-deep .responsibility-center-search input:focus{border-color:#1e5dd3}::ng-deep .responsibility-center-search i{position:absolute;left:1rem;top:1rem;pointer-events:none;color:#f1f1f1;font-size:12px}\n"] }]
3115
3125
  }], ctorParameters: function () { return []; }, propDecorators: { saveSelectedList: [{
3116
3126
  type: Output
3117
3127
  }], closeRcList: [{