@c8y/ngx-components 1018.0.89 → 1018.0.91
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.
- package/esm2020/datapoint-library/details/datapoint-library-details.component.mjs +6 -1
- package/fesm2015/c8y-ngx-components-datapoint-library-details.mjs +5 -0
- package/fesm2015/c8y-ngx-components-datapoint-library-details.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components-datapoint-library-details.mjs +5 -0
- package/fesm2020/c8y-ngx-components-datapoint-library-details.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -65,6 +65,11 @@ export class DatapointLibraryDetailsComponent {
|
|
|
65
65
|
this.alertService.saveSuccess(gettext('Data point library entry'))();
|
|
66
66
|
}
|
|
67
67
|
else {
|
|
68
|
+
// during managedObject creation (POST) a fragment with the value null is actually being created and stored to the DB compared to an update (PUT) which would remove the fragment.
|
|
69
|
+
// as we don't want to have that fragment stored in DB (if set to null), we will just set it to undefined.
|
|
70
|
+
if (mo.c8y_Global === null) {
|
|
71
|
+
mo.c8y_Global = undefined;
|
|
72
|
+
}
|
|
68
73
|
const res = await this.inventory.create(mo);
|
|
69
74
|
this.datapointUpdate(res.data);
|
|
70
75
|
this.alertService.createSuccess(gettext('Data point library entry'))();
|
|
@@ -253,4 +258,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
|
|
|
253
258
|
type: Inject,
|
|
254
259
|
args: [DATAPOINT_LIBRARY_CONFIG]
|
|
255
260
|
}] }]; } });
|
|
256
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXBvaW50LWxpYnJhcnktZGV0YWlscy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9kYXRhcG9pbnQtbGlicmFyeS9kZXRhaWxzL2RhdGFwb2ludC1saWJyYXJ5LWRldGFpbHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vZGF0YXBvaW50LWxpYnJhcnkvZGV0YWlscy9kYXRhcG9pbnQtbGlicmFyeS1kZXRhaWxzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFxQixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLFdBQVcsRUFBYSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsY0FBYyxFQUFRLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3RSxPQUFPLEVBQWtCLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQy9ELE9BQU8sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUV6QyxPQUFPLEVBRUwsd0JBQXdCLEVBQ3hCLHNCQUFzQixFQUN2QixNQUFNLDZDQUE2QyxDQUFDO0FBQ3JELE9BQU8sRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnREFBZ0Qs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QUFDLENBQUM7UUFDakQsTUFBTSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDekMsSUFBSSxlQUFlLENBQUMsR0FBRyxDQUFDLEtBQUssSUFBSSxFQUFFO2dCQUNqQyxPQUFPLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUM3QjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxlQUFlLENBQUM7SUFDekIsQ0FBQzs7NkhBM1FVLGdDQUFnQyx1U0F1QnJCLHdCQUF3QjtpSEF2Qm5DLGdDQUFnQyx5RkM1QjdDLDQxWkF3VkEsMkNEOVRZLFVBQVUsb3dGQUFFLFlBQVksOEJBQUUsYUFBYSw4VkFBRSxhQUFhLGtrQkFBRSx1QkFBdUI7MkZBRTlFLGdDQUFnQztrQkFONUMsU0FBUzsrQkFDRSwrQkFBK0IsY0FFN0IsSUFBSSxXQUNQLENBQUMsVUFBVSxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLHVCQUF1QixDQUFDOzswQkF5QnZGLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIE9uRGVzdHJveSwgT25Jbml0LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBEYXRhLCBSb3V0ZXIsIFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBJTWFuYWdlZE9iamVjdCwgSW52ZW50b3J5U2VydmljZSB9IGZyb20gJ0BjOHkvY2xpZW50JztcbmltcG9ydCB7IEFsZXJ0U2VydmljZSwgQ29yZU1vZHVsZSwgZ2V0dGV4dCwgSHVtYW5pemVQaXBlIH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBnZXQsIGlzRW1wdHkgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBEYXRhcG9pbnRMaWJyYXJ5T3B0aW9ucyxcbiAgREFUQVBPSU5UX0xJQlJBUllfQ09ORklHLFxuICBwYXRoVG9EYXRhcG9pbnRMaWJyYXJ5XG59IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMvZGF0YXBvaW50LWxpYnJhcnkvbW9kZWwnO1xuaW1wb3J0IHsgQzh5VmFsaWRhdG9ycywgQ29sb3JTZXJ2aWNlIH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBQb3BvdmVyTW9kdWxlIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC9wb3BvdmVyJztcbmltcG9ydCB7IFRvb2x0aXBNb2R1bGUgfSBmcm9tICduZ3gtYm9vdHN0cmFwL3Rvb2x0aXAnO1xuaW1wb3J0IHsgRGF0YXBvaW50UGFyc2VyU2VydmljZSB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMvZGF0YXBvaW50LWxpYnJhcnkvc2VydmljZXMnO1xuaW1wb3J0IHtcbiAgRGF0YXBvaW50U2VsZWN0b3JNb2R1bGUsXG4gIERhdGFwb2ludFNlbGVjdG9yU2VydmljZVxufSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzL2RhdGFwb2ludC1zZWxlY3Rvcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2M4eS1kYXRhcG9pbnQtbGlicmFyeS1kZXRhaWxzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGFwb2ludC1saWJyYXJ5LWRldGFpbHMuY29tcG9uZW50Lmh0bWwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29yZU1vZHVsZSwgUm91dGVyTW9kdWxlLCBQb3BvdmVyTW9kdWxlLCBUb29sdGlwTW9kdWxlLCBEYXRhcG9pbnRTZWxlY3Rvck1vZHVsZV1cbn0pXG5leHBvcnQgY2xhc3MgRGF0YXBvaW50TGlicmFyeURldGFpbHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHBhdGggPSBwYXRoVG9EYXRhcG9pbnRMaWJyYXJ5O1xuICBmb3JtR3JvdXA6IFJldHVyblR5cGU8RGF0YXBvaW50TGlicmFyeURldGFpbHNDb21wb25lbnRbJ2luaXRGb3JtJ10+O1xuICByYW5nZTogRm9ybUdyb3VwO1xuICByZWRSYW5nZTogRm9ybUdyb3VwO1xuICB5ZWxsb3dSYW5nZTogRm9ybUdyb3VwO1xuICBkYXRhcG9pbnQ6IElNYW5hZ2VkT2JqZWN0O1xuICBpc0xvYWRpbmcgPSB0cnVlO1xuXG4gIHJhbmdlQ29uZmlnID0ge307XG5cbiAgcm91dGVTdWI6IFN1YnNjcmlwdGlvbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIGludmVudG9yeTogSW52ZW50b3J5U2VydmljZSxcbiAgICBwcml2YXRlIGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIGFsZXJ0U2VydmljZTogQWxlcnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb2xvclNlcnZpY2U6IENvbG9yU2VydmljZSxcbiAgICBwcml2YXRlIHBhcnNlcjogRGF0YXBvaW50UGFyc2VyU2VydmljZSxcbiAgICBwcml2YXRlIGRhdGFwb2ludFNlbGVjdG9yU2VydmljZTogRGF0YXBvaW50U2VsZWN0b3JTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoREFUQVBPSU5UX0xJQlJBUllfQ09ORklHKSBwdWJsaWMgY29uZmlnOiBEYXRhcG9pbnRMaWJyYXJ5T3B0aW9uc1xuICApIHtcbiAgICB0aGlzLmZvcm1Hcm91cCA9IHRoaXMuaW5pdEZvcm0oKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMucm91dGVTdWIgPSB0aGlzLmFjdGl2YXRlZFJvdXRlLnBhcmVudC5kYXRhLnN1YnNjcmliZShkYXRhID0+IHtcbiAgICAgIHRoaXMubG9hZChkYXRhKTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnJvdXRlU3ViKSB7XG4gICAgICB0aGlzLnJvdXRlU3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgc2F2ZSh2YWx1ZSkge1xuICAgIGNvbnN0IGtwaVZhbHVlcyA9IHRoaXMuZXh0cmFjdEtwaVZhbHVlc0Zyb21Gb3JtVmFsdWUodmFsdWUpO1xuICAgIGNvbnN0IGtwaSA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMuZGF0YXBvaW50Py5jOHlfS3BpIHx8IHt9LCBrcGlWYWx1ZXMpO1xuICAgIGNvbnN0IGNsZWFuZWRVcEtwaSA9IHRoaXMucmVtb3ZlTnVsbFZhbHVlcyhrcGkpO1xuXG4gICAgY29uc3QgbW86IFBhcnRpYWw8SU1hbmFnZWRPYmplY3Q+ID0ge1xuICAgICAgYzh5X0twaTogY2xlYW5lZFVwS3BpLFxuICAgICAgYzh5X0dsb2JhbDogdmFsdWUuYzh5X0dsb2JhbCA/IHt9IDogbnVsbFxuICAgIH07XG4gICAgdHJ5IHtcbiAgICAgIGlmICh0aGlzLmRhdGFwb2ludD8uaWQpIHtcbiAgICAgICAgbW8uaWQgPSB0aGlzLmRhdGFwb2ludC5pZDtcbiAgICAgICAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy5pbnZlbnRvcnkudXBkYXRlKG1vKTtcbiAgICAgICAgdGhpcy5kYXRhcG9pbnRVcGRhdGUocmVzLmRhdGEpO1xuICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5zYXZlU3VjY2VzcyhnZXR0ZXh0KCdEYXRhIHBvaW50IGxpYnJhcnkgZW50cnknKSkoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMuaW52ZW50b3J5LmNyZWF0ZShtbyk7XG4gICAgICAgIHRoaXMuZGF0YXBvaW50VXBkYXRlKHJlcy5kYXRhKTtcbiAgICAgICAgdGhpcy5hbGVydFNlcnZpY2UuY3JlYXRlU3VjY2VzcyhnZXR0ZXh0KCdEYXRhIHBvaW50IGxpYnJhcnkgZW50cnknKSkoKTtcbiAgICAgIH1cbiAgICAgIHRoaXMubmF2aWdhdGVCYWNrVG9MaXN0KCk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhpcy5hbGVydFNlcnZpY2UuYWRkU2VydmVyRmFpbHVyZShlKTtcbiAgICB9XG4gIH1cblxuICBjYW5jZWwoKSB7XG4gICAgdGhpcy5uYXZpZ2F0ZUJhY2tUb0xpc3QoKTtcbiAgfVxuXG4gIGZvcm1DaGFuZ2UoKSB7XG4gICAgaWYgKHRoaXMuZm9ybUdyb3VwLmludmFsaWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3Qga3BpVmFsdWVzID0gdGhpcy5leHRyYWN0S3BpVmFsdWVzRnJvbUZvcm1WYWx1ZSh0aGlzLmZvcm1Hcm91cC52YWx1ZSk7XG4gICAgdGhpcy5yYW5nZUNvbmZpZyA9IE9iamVjdC5hc3NpZ24oeyBvcmllbnRhdGlvbjogJ2hvcml6b250YWwnIH0sIGtwaVZhbHVlcyk7XG4gIH1cblxuICBhc3luYyBwaWNrRGF0YXBvaW50KCkge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBkYXRhcG9pbnRzID0gYXdhaXQgdGhpcy5kYXRhcG9pbnRTZWxlY3RvclNlcnZpY2Uuc2VsZWN0RGF0YVBvaW50cyh7XG4gICAgICAgIGZpbmlzaFdpdGhGaXJzdFNlbGVjdGlvbjogdHJ1ZSxcbiAgICAgICAgaWdub3JlRGF0YXBvaW50VGVtcGxhdGVzOiB0cnVlLFxuICAgICAgICBndWVzc0RhdGFwb2ludFVuaXQ6IGZhbHNlXG4gICAgICB9KTtcbiAgICAgIGlmIChkYXRhcG9pbnRzLmxlbmd0aCkge1xuICAgICAgICBjb25zdCBkYXRhcG9pbnQgPSBkYXRhcG9pbnRzWzBdO1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5wYXRjaFZhbHVlKHtcbiAgICAgICAgICBmcmFnbWVudDogZGF0YXBvaW50LmZyYWdtZW50LFxuICAgICAgICAgIHNlcmllczogZGF0YXBvaW50LnNlcmllcyxcbiAgICAgICAgICBjb2xvcjogZGF0YXBvaW50LmNvbG9yLFxuICAgICAgICAgIGxhYmVsOiBkYXRhcG9pbnQubGFiZWxcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLm1hcmtBc1RvdWNoZWQoKTtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAubWFya0FzRGlydHkoKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChfZSkge1xuICAgICAgLy8gbW9kYWwgY2xvc2VkXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBuYXZpZ2F0ZUJhY2tUb0xpc3QoKSB7XG4gICAgcmV0dXJuIHRoaXMucm91dGVyLm5hdmlnYXRlKFtwYXRoVG9EYXRhcG9pbnRMaWJyYXJ5XSk7XG4gIH1cblxuICBwcml2YXRlIGRhdGFwb2ludFVwZGF0ZSh0bXBEYXRhcG9pbnQ6IElNYW5hZ2VkT2JqZWN0KSB7XG4gICAgY29uc3QgZGF0YXBvaW50ID0gdGhpcy5wYXJzZXIucGFyc2VEYXRhcG9pbnQodG1wRGF0YXBvaW50KTtcbiAgICB0aGlzLmRhdGFwb2ludCA9IGRhdGFwb2ludDtcbiAgICBjb25zdCB7XG4gICAgICBmcmFnbWVudCxcbiAgICAgIHNlcmllcyxcbiAgICAgIGRlc2NyaXB0aW9uLFxuICAgICAgdW5pdCxcbiAgICAgIHRhcmdldCxcbiAgICAgIGxhYmVsLFxuICAgICAgY29sb3IsXG4gICAgICB5ZWxsb3dSYW5nZU1pbixcbiAgICAgIHllbGxvd1JhbmdlTWF4LFxuICAgICAgcmVkUmFuZ2VNaW4sXG4gICAgICByZWRSYW5nZU1heCxcbiAgICAgIG1pbixcbiAgICAgIG1heFxuICAgIH0gPSBkYXRhcG9pbnQuYzh5X0twaTtcbiAgICB0aGlzLmZvcm1Hcm91cC5wYXRjaFZhbHVlKHtcbiAgICAgIGZyYWdtZW50LFxuICAgICAgc2VyaWVzLFxuICAgICAgZGVzY3JpcHRpb24sXG4gICAgICB1bml0LFxuICAgICAgdGFyZ2V0LFxuICAgICAgbGFiZWwsXG4gICAgICBjb2xvcixcbiAgICAgIHJhbmdlOiB7IG1pbiwgbWF4IH0sXG4gICAgICB5ZWxsb3dSYW5nZTogeyBtaW46IHllbGxvd1JhbmdlTWluLCBtYXg6IHllbGxvd1JhbmdlTWF4IH0sXG4gICAgICByZWRSYW5nZTogeyBtaW46IHJlZFJhbmdlTWluLCBtYXg6IHJlZFJhbmdlTWF4IH0sXG4gICAgICBjOHlfR2xvYmFsOiAhIWRhdGFwb2ludC5jOHlfR2xvYmFsXG4gICAgfSk7XG4gICAgdGhpcy5mb3JtQ2hhbmdlKCk7XG4gIH1cblxuICBwcml2YXRlIGV4dHJhY3RLcGlWYWx1ZXNGcm9tRm9ybVZhbHVlKGZvcm1WYWx1ZTogYW55KSB7XG4gICAgY29uc3QgeyBmcmFnbWVudCwgc2VyaWVzLCBkZXNjcmlwdGlvbiwgdW5pdCwgdGFyZ2V0LCBsYWJlbCwgY29sb3IgfSA9IGZvcm1WYWx1ZTtcbiAgICByZXR1cm4ge1xuICAgICAgZnJhZ21lbnQsXG4gICAgICBzZXJpZXMsXG4gICAgICBkZXNjcmlwdGlvbixcbiAgICAgIHVuaXQsXG4gICAgICB0YXJnZXQsXG4gICAgICBsYWJlbCxcbiAgICAgIGNvbG9yLFxuICAgICAgeWVsbG93UmFuZ2VNaW46IGdldChmb3JtVmFsdWUsICd5ZWxsb3dSYW5nZS5taW4nKSxcbiAgICAgIHllbGxvd1JhbmdlTWF4OiBnZXQoZm9ybVZhbHVlLCAneWVsbG93UmFuZ2UubWF4JyksXG4gICAgICByZWRSYW5nZU1pbjogZ2V0KGZvcm1WYWx1ZSwgJ3JlZFJhbmdlLm1pbicpLFxuICAgICAgcmVkUmFuZ2VNYXg6IGdldChmb3JtVmFsdWUsICdyZWRSYW5nZS5tYXgnKSxcbiAgICAgIG1pbjogZ2V0KGZvcm1WYWx1ZSwgJ3JhbmdlLm1pbicpLFxuICAgICAgbWF4OiBnZXQoZm9ybVZhbHVlLCAncmFuZ2UubWF4JylcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBsb2FkKGRhdGE6IERhdGEpIHtcbiAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG4gICAgdGhpcy5mb3JtR3JvdXAucmVzZXQoKTtcbiAgICBjb25zdCB7IGZyYWdtZW50LCBzZXJpZXMgfSA9IHRoaXMuYWN0aXZhdGVkUm91dGUuc25hcHNob3QucXVlcnlQYXJhbXM7XG4gICAgY29uc3QgaHVtYW5pemUgPSBuZXcgSHVtYW5pemVQaXBlKCk7XG4gICAgY29uc3QgbGFiZWwgPVxuICAgICAgZnJhZ21lbnQgJiYgc2VyaWVzXG4gICAgICAgID8gaHVtYW5pemUudHJhbnNmb3JtKGAke2ZyYWdtZW50fSA9PiAke3Nlcmllc31gKVxuICAgICAgICA6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoZ2V0dGV4dCgnTmV3IGRhdGEgcG9pbnQgdGVtcGxhdGUnKSk7XG4gICAgY29uc3QgY3VycmVudERhdGUgPSBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCk7XG4gICAgY29uc3QgY29sb3IgPSBhd2FpdCB0aGlzLmNvbG9yU2VydmljZS5nZW5lcmF0ZUNvbG9yKGN1cnJlbnREYXRlKTtcblxuICAgIGNvbnN0IGNvbnRleHRGYWxsYmFjayA9IHtcbiAgICAgIGM4eV9LcGk6IHtcbiAgICAgICAgbGFiZWwsXG4gICAgICAgIGZyYWdtZW50LFxuICAgICAgICBzZXJpZXMsXG4gICAgICAgIGNvbG9yXG4gICAgICB9LFxuICAgICAgYzh5X0dsb2JhbDogIXRoaXMuY29uZmlnPy5kb05vdEFkZEdsb2JhbEZyYWdtZW50QnlEZWZhdWx0ID8ge30gOiBudWxsXG4gICAgfTtcbiAgICBjb25zdCBjb250ZXh0RGF0YSA9IHRoaXMuaXNDb250ZXh0U2V0KGRhdGEpID8gZGF0YS5jb250ZXh0RGF0YSA6IGNvbnRleHRGYWxsYmFjaztcblxuICAgIGNvbnN0IHsgaWQgfSA9IGNvbnRleHREYXRhO1xuICAgIGlmIChpZCkge1xuICAgICAgdGhpcy5kYXRhcG9pbnRVcGRhdGUoKGF3YWl0IHRoaXMuaW52ZW50b3J5LmRldGFpbChpZCkpLmRhdGEpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRhdGFwb2ludFVwZGF0ZShjb250ZXh0RGF0YSk7XG4gICAgfVxuICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIGlzQ29udGV4dFNldChkYXRhOiBEYXRhKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGRhdGEgJiYgIWlzRW1wdHkoZGF0YS5jb250ZXh0RGF0YSk7XG4gIH1cblxuICBwcml2YXRlIGluaXRGb3JtKCkge1xuICAgIHRoaXMucmFuZ2UgPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKFxuICAgICAge1xuICAgICAgICBtaW46IFt1bmRlZmluZWQsIFtdXSxcbiAgICAgICAgbWF4OiBbdW5kZWZpbmVkLCBbXV1cbiAgICAgIH0sXG4gICAgICB7IHZhbGlkYXRvcnM6IFtDOHlWYWxpZGF0b3JzLm1pbk1heFZhbGlkYXRvcigpLCBDOHlWYWxpZGF0b3JzLnJlcXVpcmVCb3RoTWluQW5kTWF4KCldIH1cbiAgICApO1xuICAgIHRoaXMucmVkUmFuZ2UgPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKFxuICAgICAge1xuICAgICAgICBtaW46IFt1bmRlZmluZWQsIFtdXSxcbiAgICAgICAgbWF4OiBbdW5kZWZpbmVkLCBbXV1cbiAgICAgIH0sXG4gICAgICB7IHZhbGlkYXRvcnM6IFtDOHlWYWxpZGF0b3JzLm1pbk1heFZhbGlkYXRvcigpLCBDOHlWYWxpZGF0b3JzLnJlcXVpcmVCb3RoTWluQW5kTWF4KCldIH1cbiAgICApO1xuICAgIHRoaXMueWVsbG93UmFuZ2UgPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKFxuICAgICAge1xuICAgICAgICBtaW46IFt1bmRlZmluZWQsIFtdXSxcbiAgICAgICAgbWF4OiBbdW5kZWZpbmVkLCBbXV1cbiAgICAgIH0sXG4gICAgICB7IHZhbGlkYXRvcnM6IFtDOHlWYWxpZGF0b3JzLm1pbk1heFZhbGlkYXRvcigpLCBDOHlWYWxpZGF0b3JzLnJlcXVpcmVCb3RoTWluQW5kTWF4KCldIH1cbiAgICApO1xuICAgIHJldHVybiB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKFxuICAgICAge1xuICAgICAgICBjb2xvcjogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5taW5MZW5ndGgoNCldXSxcbiAgICAgICAgbGFiZWw6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWluTGVuZ3RoKDEpLCBWYWxpZGF0b3JzLm1heExlbmd0aCgxMjApXV0sXG4gICAgICAgIGRlc2NyaXB0aW9uOiBbJycsIFtdXSxcbiAgICAgICAgZnJhZ21lbnQ6IFtcbiAgICAgICAgICAnJyxcbiAgICAgICAgICBbXG4gICAgICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxuICAgICAgICAgICAgVmFsaWRhdG9ycy5taW5MZW5ndGgoMSksXG4gICAgICAgICAgICBWYWxpZGF0b3JzLm1heExlbmd0aCgxMjApLFxuICAgICAgICAgICAgVmFsaWRhdG9ycy5wYXR0ZXJuKC9eW14uXSokLylcbiAgICAgICAgICBdXG4gICAgICAgIF0sXG4gICAgICAgIHNlcmllczogW1xuICAgICAgICAgICcnLFxuICAgICAgICAgIFtcbiAgICAgICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXG4gICAgICAgICAgICBWYWxpZGF0b3JzLm1pbkxlbmd0aCgxKSxcbiAgICAgICAgICAgIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDEyMCksXG4gICAgICAgICAgICBWYWxpZGF0b3JzLnBhdHRlcm4oL15bXi5dKiQvKVxuICAgICAgICAgIF1cbiAgICAgICAgXSxcbiAgICAgICAgcmFuZ2U6IHRoaXMucmFuZ2UsXG4gICAgICAgIHVuaXQ6IFt1bmRlZmluZWQsIFtdXSxcbiAgICAgICAgdGFyZ2V0OiBbdW5kZWZpbmVkLCBbXV0sXG4gICAgICAgIHJlZFJhbmdlOiB0aGlzLnJlZFJhbmdlLFxuICAgICAgICB5ZWxsb3dSYW5nZTogdGhpcy55ZWxsb3dSYW5nZSxcbiAgICAgICAgYzh5X0dsb2JhbDogWyF0aGlzLmNvbmZpZz8uZG9Ob3RBZGRHbG9iYWxGcmFnbWVudEJ5RGVmYXVsdCwgW11dXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB2YWxpZGF0b3JzOiBbXG4gICAgICAgICAgQzh5VmFsaWRhdG9ycy53aXRoaW5TY2FsZSgncmVkUmFuZ2UubWluJyksXG4gICAgICAgICAgQzh5VmFsaWRhdG9ycy53aXRoaW5TY2FsZSgncmVkUmFuZ2UubWF4JyksXG4gICAgICAgICAgQzh5VmFsaWRhdG9ycy53aXRoaW5TY2FsZSgneWVsbG93UmFuZ2UubWluJyksXG4gICAgICAgICAgQzh5VmFsaWRhdG9ycy53aXRoaW5TY2FsZSgneWVsbG93UmFuZ2UubWF4JyksXG4gICAgICAgICAgQzh5VmFsaWRhdG9ycy53aXRoaW5TY2FsZSgndGFyZ2V0JylcbiAgICAgICAgXVxuICAgICAgfVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZU51bGxWYWx1ZXModmFsdWUpIHtcbiAgICAvLyByZW1vdmUgbnVsbCB2YWx1ZXMgYmVmb3JlIHNlbmRpbmcgZGF0YSB0byBiYWNrZW5kXG4gICAgY29uc3QgY2xlYW5lZHVwVmFsdWVzID0gT2JqZWN0LmFzc2lnbih7fSwgdmFsdWUpO1xuICAgIE9iamVjdC5rZXlzKGNsZWFuZWR1cFZhbHVlcykuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgaWYgKGNsZWFuZWR1cFZhbHVlc1trZXldID09PSBudWxsKSB7XG4gICAgICAgIGRlbGV0ZSBjbGVhbmVkdXBWYWx1ZXNba2V5XTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gY2xlYW5lZHVwVmFsdWVzO1xuICB9XG59XG4iLCI8Yzh5LXRpdGxlICpuZ0lmPVwiIWlzTG9hZGluZ1wiPlxuICB7eyBmb3JtR3JvdXAudmFsdWU/LmxhYmVsIH19XG4gIDxzbWFsbCAqbmdJZj1cImZvcm1Hcm91cC52YWx1ZT8uZnJhZ21lbnQgJiYgZm9ybUdyb3VwLnZhbHVlPy5zZXJpZXNcIj5cbiAgICB7eyBmb3JtR3JvdXAudmFsdWU/LmZyYWdtZW50IH19IC8ge3sgZm9ybUdyb3VwLnZhbHVlPy5zZXJpZXMgfX1cbiAgPC9zbWFsbD5cbjwvYzh5LXRpdGxlPlxuXG48Yzh5LWJyZWFkY3J1bWI+XG4gIDxjOHktYnJlYWRjcnVtYi1pdGVtXG4gICAgW2ljb25dPVwiJ2M4eS10b29scydcIlxuICAgIFtsYWJlbF09XCInQ29uZmlndXJhdGlvbicgfCB0cmFuc2xhdGVcIlxuICA+PC9jOHktYnJlYWRjcnVtYi1pdGVtPlxuICA8Yzh5LWJyZWFkY3J1bWItaXRlbVxuICAgIFtpY29uXT1cIidjOHktZGF0YS1wb2ludHMnXCJcbiAgICBbbGFiZWxdPVwiJ0RhdGEgcG9pbnQgbGlicmFyeScgfCB0cmFuc2xhdGVcIlxuICAgIFtwYXRoXT1cInBhdGhcIlxuICA+PC9jOHktYnJlYWRjcnVtYi1pdGVtPlxuICA8Yzh5LWJyZWFkY3J1bWItaXRlbVxuICAgIFtpY29uXT1cIidjOHktZGF0YS1wb2ludHMnXCJcbiAgICBbbGFiZWxdPVwiZm9ybUdyb3VwLnZhbHVlPy5sYWJlbFwiXG4gID48L2M4eS1icmVhZGNydW1iLWl0ZW0+XG48L2M4eS1icmVhZGNydW1iPlxuXG48Zm9ybVxuICAobmdTdWJtaXQpPVwiZm9ybUdyb3VwLnZhbGlkICYmIHNhdmUoZm9ybUdyb3VwLnZhbHVlKVwiXG4gIChjaGFuZ2UpPVwiZm9ybUNoYW5nZSgpXCJcbiAgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIlxuICBjbGFzcz1cImNhcmQgY29udGVudC1mdWxscGFnZSBjYXJkLS1ncmlkIGdyaWRfX2NvbC0tNi02LS1tZCBncmlkX19yb3ctLWZpdC1hdXRvXCJcbiAgbm92YWxpZGF0ZVxuPlxuICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgbGFyZ2UtcGFkZGluZyBzZXBhcmF0b3IgZ3JpZF9fY29sLS1mdWxsc3BhblwiPlxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLXRpdGxlXCI+XG4gICAgICB7eyBmb3JtR3JvdXAudmFsdWU/LmxhYmVsIH19XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPVwiIWlzTG9hZGluZ1wiIGNsYXNzPVwiZC1jb250ZW50c1wiPlxuICAgIDxkaXYgY2xhc3M9XCJpbm5lci1zY3JvbGwgYmctbGV2ZWwtMCBmbGV4LWdyb3dcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJsb2NrIGxhcmdlLXBhZGRpbmdcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxuICAgICAgICAgIDxjOHktZm9ybS1ncm91cD5cbiAgICAgICAgICAgIDxsYWJlbCB0cmFuc2xhdGU+Q29sb3I8L2xhYmVsPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRhdGEtcG9pbnQtY29sb3IgZm9ybS1jb250cm9sXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjOHktY29sb3JwaWNrZXJcIj5cbiAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0NvbG9yIHBpY2tlcicgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgdHlwZT1cImNvbG9yXCJcbiAgICAgICAgICAgICAgICAgIG5hbWU9XCJjb2xvclwiXG4gICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJjb2xvclwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8c3BhbiBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJmb3JtR3JvdXAudmFsdWU/LmNvbG9yXCI+PC9zcGFuPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvYzh5LWZvcm0tZ3JvdXA+XG4gICAgICAgICAgPGM4eS1mb3JtLWdyb3VwIGNsYXNzPVwiZmxleC1ncm93IHAtbC04XCI+XG4gICAgICAgICAgICA8bGFiZWwgdHJhbnNsYXRlPkxhYmVsPC9sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImxhYmVsXCJcbiAgICAgICAgICAgICAgbmFtZT1cImxhYmVsXCJcbiAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidlLmcuIFRlbXBlcmF0dXJlJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8Yzh5LW1lc3NhZ2VzXG4gICAgICAgICAgICAgIFtzaG93XT1cImZvcm1Hcm91cC5jb250cm9scz8ubGFiZWw/LnRvdWNoZWQgJiYgZm9ybUdyb3VwLmNvbnRyb2xzPy5sYWJlbD8uZXJyb3JzXCJcbiAgICAgICAgICAgID48L2M4eS1tZXNzYWdlcz5cbiAgICAgICAgICA8L2M4eS1mb3JtLWdyb3VwPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGM4eS1mb3JtLWdyb3VwPlxuICAgICAgICAgIDxsYWJlbCB0cmFuc2xhdGU+RGVzY3JpcHRpb248L2xhYmVsPlxuICAgICAgICAgIDx0ZXh0YXJlYVxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZGVzY3JpcHRpb25cIlxuICAgICAgICAgICAgbmFtZT1cImRlc2NyaXB0aW9uXCJcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInZS5nLiBBbWJpZW50IFRlbXBlcmF0dXJlIGluIENlbHNpdXMnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgIHJvd3M9XCIzXCJcbiAgICAgICAgICA+PC90ZXh0YXJlYT5cbiAgICAgICAgPC9jOHktZm9ybS1ncm91cD5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGEtaS1jZW50ZXIgZ2FwLThcIj5cbiAgICAgICAgICA8Yzh5LWZvcm0tZ3JvdXAgY2xhc3M9XCJmbGV4LWdyb3dcIj5cbiAgICAgICAgICAgIDxsYWJlbCB0cmFuc2xhdGU+RnJhZ21lbnQ8L2xhYmVsPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgbmFtZT1cImZyYWdtZW50XCJcbiAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZnJhZ21lbnRcIlxuICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ2UuZy4ge3sgZXhhbXBsZSB9fScgfCB0cmFuc2xhdGU6IHsgZXhhbXBsZTogJ2M4eV9UZW1wZXJhdHVyZScgfVwiXG4gICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8Yzh5LW1lc3NhZ2VzXG4gICAgICAgICAgICAgIFtzaG93XT1cImZvcm1Hcm91cC5jb250cm9scz8uZnJhZ21lbnQ/LnRvdWNoZWQgJiYgZm9ybUdyb3VwLmNvbnRyb2xzPy5mcmFnbWVudD8uZXJyb3JzXCJcbiAgICAgICAgICAgID48L2M4eS1tZXNzYWdlcz5cbiAgICAgICAgICA8L2M4eS1mb3JtLWdyb3VwPlxuXG4gICAgICAgICAgPGM4eS1mb3JtLWdyb3VwIGNsYXNzPVwiZmxleC1ncm93XCI+XG4gICAgICAgICAgICA8bGFiZWwgdHJhbnNsYXRlPlNlcmllczwvbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJzZXJpZXNcIlxuICAgICAgICAgICAgICBuYW1lPVwic2VyaWVzXCJcbiAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidlLmcuIHt7IGV4YW1wbGUgfX0nIHwgdHJhbnNsYXRlOiB7IGV4YW1wbGU6ICdUJyB9XCJcbiAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxjOHktbWVzc2FnZXNcbiAgICAgICAgICAgICAgW3Nob3ddPVwiZm9ybUdyb3VwLmNvbnRyb2xzPy5zZXJpZXM/LnRvdWNoZWQgJiYgZm9ybUdyb3VwLmNvbnRyb2xzPy5zZXJpZXM/LmVycm9yc1wiXG4gICAgICAgICAgICA+PC9jOHktbWVzc2FnZXM+XG4gICAgICAgICAgPC9jOHktZm9ybS1ncm91cD5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1uby1ncm93XCI+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0IHAtbC04IHAtci04XCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInBpY2tEYXRhcG9pbnQoKVwiXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICBbdG9vbHRpcF09XCInTG9hZCBmcmFnbWVudCBhbmQgc2VyaWVzIGZyb20gYW4gZXhpc3RpbmcgZGF0YSBwb2ludCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICBbZGVsYXldPVwiNTAwXCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInTG9hZCBmcmFnbWVudCBhbmQgc2VyaWVzIGZyb20gYW4gZXhpc3RpbmcgZGF0YSBwb2ludCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8aSBjOHlJY29uPVwiZXllZHJvcHBlclwiPjwvaT5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCIgKm5nSWY9XCJjb25maWc/LnNob3dDaGVja2JveEZvckdsb2JhbEZyYWdtZW50XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS02XCI+XG4gICAgICAgICAgICA8Yzh5LWZvcm0tZ3JvdXA+XG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImM4eS1jaGVja2JveFwiPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBuYW1lPVwiYzh5X0dsb2JhbFwiIGZvcm1Db250cm9sTmFtZT1cImM4eV9HbG9iYWxcIiB0eXBlPVwiY2hlY2tib3hcIiAvPlxuICAgICAgICAgICAgICAgIDxzcGFuPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8c3BhbiB0cmFuc2xhdGU+R2xvYmFsbHkgYXZhaWxhYmxlPC9zcGFuPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuLWhlbHBcIlxuICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidIZWxwJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICBbcG9wb3Zlcl09XCJcbiAgICAgICAgICAgICAgICAgICAgJ1dpbGwgbWFrZSB0aGlzIGVudHJ5IGF2YWlsYWJsZSB0byBhbGwgdXNlcnMgb24gdGhlIHRlbmFudCBpZiBjaGVja2VkLidcbiAgICAgICAgICAgICAgICAgICAgICB8IHRyYW5zbGF0ZVxuICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cInJpZ2h0XCJcbiAgICAgICAgICAgICAgICAgIHRyaWdnZXJzPVwiZm9jdXNcIlxuICAgICAgICAgICAgICAgICAgY29udGFpbmVyPVwiYm9keVwiXG4gICAgICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgPC9jOHktZm9ybS1ncm91cD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiaW5uZXItc2Nyb2xsIGJnLWxldmVsLTFcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJsb2NrIGxhcmdlLXBhZGRpbmdcIj5cbiAgICAgICAgPGZpZWxkc2V0IGNsYXNzPVwiYzh5LWZpZWxkc2V0XCI+XG4gICAgICAgICAgPGxlZ2VuZCB0cmFuc2xhdGU+UHJldmlldzwvbGVnZW5kPlxuICAgICAgICAgIDxjOHktcmFuZ2UtZGlzcGxheSBbY29uZmlnXT1cInJhbmdlQ29uZmlnXCIgY2xhc3M9XCJtLWItMTYgZC1ibG9ja1wiPjwvYzh5LXJhbmdlLWRpc3BsYXk+XG4gICAgICAgIDwvZmllbGRzZXQ+XG5cbiAgICAgICAgPGZpZWxkc2V0IGNsYXNzPVwiYzh5LWZpZWxkc2V0XCI+XG4gICAgICAgICAgPGxlZ2VuZCB0cmFuc2xhdGU+UmFuZ2U8L2xlZ2VuZD5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCIgZm9ybUdyb3VwTmFtZT1cInJhbmdlXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTZcIj5cbiAgICAgICAgICAgICAgPGM4eS1mb3JtLWdyb3VwXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnaGFzLWVycm9yJzogcmFuZ2U/LnRvdWNoZWQgJiYgcmFuZ2U/LmNvbnRyb2xzPy5taW4/LmVycm9ycyB9XCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxsYWJlbCB0cmFuc2xhdGU+TWluPC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgbmFtZT1cIm1pblwiXG4gICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJtaW5cIlxuICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidlLmcuIHt7IGV4YW1wbGUgfX0nIHwgdHJhbnNsYXRlOiB7IGV4YW1wbGU6IDAgfVwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8Yzh5LW1lc3NhZ2VzIFtzaG93XT1cInJhbmdlPy50b3VjaGVkICYmIHJhbmdlLmNvbnRyb2xzPy5taW4/LmVycm9yc1wiPjwvYzh5LW1lc3NhZ2VzPlxuICAgICAgICAgICAgICA8L2M4eS1mb3JtLWdyb3VwPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTZcIj5cbiAgICAgICAgICAgICAgPGM4eS1mb3JtLWdyb3VwXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnaGFzLWVycm9yJzogcmFuZ2U/LnRvdWNoZWQgJiYgcmFuZ2U/LmNvbnRyb2xzPy5tYXg/LmVycm9ycyB9XCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxsYWJlbCB0cmFuc2xhdGU+TWF4PC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgbmFtZT1cIm1heFwiXG4gICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJtYXhcIlxuICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidlLmcuIHt7IGV4YW1wbGUgfX0nIHwgdHJhbnNsYXRlOiB7IGV4YW1wbGU6IDEwMCB9XCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDxjOHktbWVzc2FnZXMgW3Nob3ddPVwicmFuZ2U/LnRvdWNoZWQgJiYgcmFuZ2UuY29udHJvbHM/Lm1heD8uZXJyb3JzXCI+PC9jOHktbWVzc2FnZXM+XG4gICAgICAgICAgICAgIDwvYzh5LWZvcm0tZ3JvdXA+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTZcIj5cbiAgICAgICAgICAgICAgPGM4eS1mb3JtLWdyb3VwPlxuICAgICAgICAgICAgICAgIDxsYWJlbCB0cmFuc2xhdGU+VW5pdDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICAgICAgICBuYW1lPVwidW5pdFwiXG4gICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJ1bml0XCJcbiAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInZS5nLiB7eyBleGFtcGxlIH19JyB8IHRyYW5zbGF0ZTogeyBleGFtcGxlOiAnwrpDJyB9XCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDxjOHktbWVzc2FnZXNcbiAgICAgICAgICAgICAgICAgIFtzaG93XT1cImZvcm1Hcm91cC5jb250cm9scz8udW5pdD8udG91Y2hlZCAmJiBmb3JtR3JvdXAuY29udHJvbHM/LnVuaXQ/LmVycm9yc1wiXG4gICAgICAgICAgICAgICAgPjwvYzh5LW1lc3NhZ2VzPlxuICAgICAgICAgICAgICA8L2M4eS1mb3JtLWdyb3VwPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNlwiPlxuICAgICAgICAgICAgICA8Yzh5LWZvcm0tZ3JvdXBcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgICAnaGFzLWVycm9yJzpcbiAgICAgICAgICAgICAgICAgICAgKHJhbmdlPy50b3VjaGVkIHx8IGZvcm1Hcm91cC5jb250cm9scz8udGFyZ2V0Py50b3VjaGVkKSAmJlxuICAgICAgICAgICAgICAgICAgICBmb3JtR3JvdXAuY29udHJvbHM/LnRhcmdldD8uZXJyb3JzXG4gICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bGFiZWwgdHJhbnNsYXRlPlRhcmdldDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgICAgIG5hbWU9XCJ0YXJnZXRcIlxuICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwidGFyZ2V0XCJcbiAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInZS5nLiB7eyBleGFtcGxlIH19JyB8IHRyYW5zbGF0ZTogeyBleGFtcGxlOiAyNSB9XCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDxjOHktbWVzc2FnZXNcbiAgICAgICAgICAgICAgICAgIFtzaG93XT1cIlxuICAgICAgICAgICAgICAgICAgICAocmFuZ2U/LnRvdWNoZWQgfHwgZm9ybUdyb3VwLmNvbnRyb2xzPy50YXJnZXQ/LnRvdWNoZWQpICYmXG4gICAgICAgICAgICAgICAgICAgIGZvcm1Hcm91cC5jb250cm9scz8udGFyZ2V0Py5lcnJvcnNcbiAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgPjwvYzh5LW1lc3NhZ2VzPlxuICAgICAgICAgICAgICA8L2M4eS1mb3JtLWdyb3VwPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZmllbGRzZXQ+XG5cbiAgICAgICAgPGZpZWxkc2V0IGNsYXNzPVwiYzh5LWZpZWxkc2V0XCIgZm9ybUdyb3VwTmFtZT1cInllbGxvd1JhbmdlXCI+XG4gICAgICAgICAgPGxlZ2VuZCB0cmFuc2xhdGU+WWVsbG93IHJhbmdlPC9sZWdlbmQ+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02XCI+XG4gICAgICAgICAgICAgIDxjOHktZm9ybS1ncm91cFxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICdoYXMtZXJyb3InOlxuICAgICAgICAgICAgICAgICAgICAocmFuZ2U/LnRvdWNoZWQgfHwgeWVsbG93UmFuZ2U/LnRvdWNoZWQpICYmIHllbGxvd1JhbmdlPy5jb250cm9scz8ubWluPy5lcnJvcnNcbiAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxsYWJlbCB0cmFuc2xhdGU+TWluPC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgbmFtZT1cIm1pblwiXG4gICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJtaW5cIlxuICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidlLmcuIHt7IGV4YW1wbGUgfX0nIHwgdHJhbnNsYXRlOiB7IGV4YW1wbGU6IDUwIH1cIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPGM4eS1tZXNzYWdlc1xuICAgICAgICAgICAgICAgICAgW3Nob3ddPVwiXG4gICAgICAgICAgICAgICAgICAgIChyYW5nZT8udG91Y2hlZCB8fCB5ZWxsb3dSYW5nZT8udG91Y2hlZCkgJiYgeWVsbG93UmFuZ2UuY29udHJvbHM/Lm1pbj8uZXJyb3JzXG4gICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgID48L2M4eS1tZXNzYWdlcz5cbiAgICAgICAgICAgICAgPC9jOHktZm9ybS1ncm91cD5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTZcIj5cbiAgICAgICAgICAgICAgPGM4eS1mb3JtLWdyb3VwXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICAgJ2hhcy1lcnJvcic6XG4gICAgICAgICAgICAgICAgICAgIChyYW5nZT8udG91Y2hlZCB8fCB5ZWxsb3dSYW5nZT8udG91Y2hlZCkgJiYgeWVsbG93UmFuZ2U/LmNvbnRyb2xzPy5tYXg/LmVycm9yc1xuICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGxhYmVsIHRyYW5zbGF0ZT5NYXg8L2xhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICAgICAgICBuYW1lPVwibWF4XCJcbiAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cIm1heFwiXG4gICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ2UuZy4ge3sgZXhhbXBsZSB9fScgfCB0cmFuc2xhdGU6IHsgZXhhbXBsZTogNzUgfVwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8Yzh5LW1lc3NhZ2VzXG4gICAgICAgICAgICAgICAgICBbc2hvd109XCJcbiAgICAgICAgICAgICAgICAgICAgKHJhbmdlPy50b3VjaGVkIHx8IHllbGxvd1JhbmdlPy50b3VjaGVkKSAmJiB5ZWxsb3dSYW5nZS5jb250cm9scz8ubWF4Py5lcnJvcnNcbiAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgPjwvYzh5LW1lc3NhZ2VzPlxuICAgICAgICAgICAgICA8L2M4eS1mb3JtLWdyb3VwPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZmllbGRzZXQ+XG5cbiAgICAgICAgPGZpZWxkc2V0IGNsYXNzPVwiYzh5LWZpZWxkc2V0XCIgZm9ybUdyb3VwTmFtZT1cInJlZFJhbmdlXCI+XG4gICAgICAgICAgPGxlZ2VuZCB0cmFuc2xhdGU+UmVkIHJhbmdlPC9sZWdlbmQ+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02XCI+XG4gICAgICAgICAgICAgIDxjOHktZm9ybS1ncm91cFxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICdoYXMtZXJyb3InOlxuICAgICAgICAgICAgICAgICAgICAocmFuZ2U/LnRvdWNoZWQgfHwgcmVkUmFuZ2U/LnRvdWNoZWQpICYmIHJlZFJhbmdlPy5jb250cm9scz8ubWluPy5lcnJvcnNcbiAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxsYWJlbCB0cmFuc2xhdGU+TWluPC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgbmFtZT1cIm1pblwiXG4gICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJtaW5cIlxuICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidlLmcuIHt7IGV4YW1wbGUgfX0nIHwgdHJhbnNsYXRlOiB7IGV4YW1wbGU6IDc1IH1cIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPGM4eS1tZXNzYWdlc1xuICAgICAgICAgICAgICAgICAgW3Nob3ddPVwiKHJhbmdlPy50b3VjaGVkIHx8IHJlZFJhbmdlPy50b3VjaGVkKSAmJiByZWRSYW5nZS5jb250cm9scz8ubWluPy5lcnJvcnNcIlxuICAgICAgICAgICAgICAgID48L2M4eS1tZXNzYWdlcz5cbiAgICAgICAgICAgICAgPC9jOHktZm9ybS1ncm91cD5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTZcIj5cbiAgICAgICAgICAgICAgPGM4eS1mb3JtLWdyb3VwXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICAgJ2hhcy1lcnJvcic6XG4gICAgICAgICAgICAgICAgICAgIChyYW5nZT8udG91Y2hlZCB8fCByZWRSYW5nZT8udG91Y2hlZCkgJiYgcmVkUmFuZ2U/LmNvbnRyb2xzPy5tYXg/LmVycm9yc1xuICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGxhYmVsIHRyYW5zbGF0ZT5NYXg8L2xhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICAgICAgICBuYW1lPVwibWF4XCJcbiAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cIm1heFwiXG4gICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ2UuZy4ge3sgZXhhbXBsZSB9fScgfCB0cmFuc2xhdGU6IHsgZXhhbXBsZTogMTAwIH1cIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPGM4eS1tZXNzYWdlc1xuICAgICAgICAgICAgICAgICAgW3Nob3ddPVwiKHJhbmdlPy50b3VjaGVkIHx8IHJlZFJhbmdlPy50b3VjaGVkKSAmJiByZWRSYW5nZS5jb250cm9scz8ubWF4Py5lcnJvcnNcIlxuICAgICAgICAgICAgICAgID48L2M4eS1tZXNzYWdlcz5cbiAgICAgICAgICAgICAgPC9jOHktZm9ybS1ncm91cD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2ZpZWxkc2V0PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiY2FyZC1mb290ZXIgc2VwYXJhdG9yIGdyaWRfX2NvbC0tZnVsbHNwYW5cIj5cbiAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0XCIgdHlwZT1cImJ1dHRvblwiIFt0aXRsZV09XCInQ2FuY2VsJyB8IHRyYW5zbGF0ZVwiIChjbGljayk9XCJjYW5jZWwoKVwiPlxuICAgICAge3sgJ0NhbmNlbCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uXG4gICAgICBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBidG4tZm9ybVwiXG4gICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgIFt0aXRsZV09XCInU2F2ZScgfCB0cmFuc2xhdGVcIlxuICAgICAgKmM4eUlmQWxsb3dlZD1cIlsnUk9MRV9JTlZFTlRPUllfQURNSU4nLCAnUk9MRV9JTlZFTlRPUllfVVBEQVRFJ107IGFsbG93QW55OiB0cnVlXCJcbiAgICAgIFtkaXNhYmxlZF09XCJmb3JtR3JvdXAuaW52YWxpZCB8fCBmb3JtR3JvdXAucHJpc3RpbmVcIlxuICAgID5cbiAgICAgIHt7ICdTYXZlJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZm9ybT5cbiJdfQ==
|
|
261
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXBvaW50LWxpYnJhcnktZGV0YWlscy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9kYXRhcG9pbnQtbGlicmFyeS9kZXRhaWxzL2RhdGFwb2ludC1saWJyYXJ5LWRldGFpbHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vZGF0YXBvaW50LWxpYnJhcnkvZGV0YWlscy9kYXRhcG9pbnQtbGlicmFyeS1kZXRhaWxzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFxQixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLFdBQVcsRUFBYSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsY0FBYyxFQUFRLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3RSxPQUFPLEVBQWtCLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQy9ELE9BQU8sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUV6QyxPQUFPLEVBRUwsd0JBQXdCLEVBQ3hCLHNCQUFzQixFQUN2QixNQUFNLDZDQUE2QyxDQUFDO0FBQ3JELE9BQU8sRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnREFBZ0Qs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LENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxLQUFLO1FBQzVCLG9EQUFvRDtRQUNwRCxNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNqRCxNQUFNLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUN6QyxJQUFJLGVBQWUsQ0FBQyxHQUFHLENBQUMsS0FBSyxJQUFJLEVBQUU7Z0JBQ2pDLE9BQU8sZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQzdCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLGVBQWUsQ0FBQztJQUN6QixDQUFDOzs2SEFoUlUsZ0NBQWdDLHVTQXVCckIsd0JBQXdCO2lIQXZCbkMsZ0NBQWdDLHlGQzVCN0MsNDFaQXdWQSwyQ0Q5VFksVUFBVSxvd0ZBQUUsWUFBWSw4QkFBRSxhQUFhLDhWQUFFLGFBQWEsa2tCQUFFLHVCQUF1QjsyRkFFOUUsZ0NBQWdDO2tCQU41QyxTQUFTOytCQUNFLCtCQUErQixjQUU3QixJQUFJLFdBQ1AsQ0FBQyxVQUFVLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsdUJBQXVCLENBQUM7OzBCQXlCdkYsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgT25EZXN0cm95LCBPbkluaXQsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIERhdGEsIFJvdXRlciwgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IElNYW5hZ2VkT2JqZWN0LCBJbnZlbnRvcnlTZXJ2aWNlIH0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHsgQWxlcnRTZXJ2aWNlLCBDb3JlTW9kdWxlLCBnZXR0ZXh0LCBIdW1hbml6ZVBpcGUgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IGdldCwgaXNFbXB0eSB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIERhdGFwb2ludExpYnJhcnlPcHRpb25zLFxuICBEQVRBUE9JTlRfTElCUkFSWV9DT05GSUcsXG4gIHBhdGhUb0RhdGFwb2ludExpYnJhcnlcbn0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cy9kYXRhcG9pbnQtbGlicmFyeS9tb2RlbCc7XG5pbXBvcnQgeyBDOHlWYWxpZGF0b3JzLCBDb2xvclNlcnZpY2UgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcbmltcG9ydCB7IFBvcG92ZXJNb2R1bGUgfSBmcm9tICduZ3gtYm9vdHN0cmFwL3BvcG92ZXInO1xuaW1wb3J0IHsgVG9vbHRpcE1vZHVsZSB9IGZyb20gJ25neC1ib290c3RyYXAvdG9vbHRpcCc7XG5pbXBvcnQgeyBEYXRhcG9pbnRQYXJzZXJTZXJ2aWNlIH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cy9kYXRhcG9pbnQtbGlicmFyeS9zZXJ2aWNlcyc7XG5pbXBvcnQge1xuICBEYXRhcG9pbnRTZWxlY3Rvck1vZHVsZSxcbiAgRGF0YXBvaW50U2VsZWN0b3JTZXJ2aWNlXG59IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMvZGF0YXBvaW50LXNlbGVjdG9yJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYzh5LWRhdGFwb2ludC1saWJyYXJ5LWRldGFpbHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF0YXBvaW50LWxpYnJhcnktZGV0YWlscy5jb21wb25lbnQuaHRtbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb3JlTW9kdWxlLCBSb3V0ZXJNb2R1bGUsIFBvcG92ZXJNb2R1bGUsIFRvb2x0aXBNb2R1bGUsIERhdGFwb2ludFNlbGVjdG9yTW9kdWxlXVxufSlcbmV4cG9ydCBjbGFzcyBEYXRhcG9pbnRMaWJyYXJ5RGV0YWlsc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcGF0aCA9IHBhdGhUb0RhdGFwb2ludExpYnJhcnk7XG4gIGZvcm1Hcm91cDogUmV0dXJuVHlwZTxEYXRhcG9pbnRMaWJyYXJ5RGV0YWlsc0NvbXBvbmVudFsnaW5pdEZvcm0nXT47XG4gIHJhbmdlOiBGb3JtR3JvdXA7XG4gIHJlZFJhbmdlOiBGb3JtR3JvdXA7XG4gIHllbGxvd1JhbmdlOiBGb3JtR3JvdXA7XG4gIGRhdGFwb2ludDogSU1hbmFnZWRPYmplY3Q7XG4gIGlzTG9hZGluZyA9IHRydWU7XG5cbiAgcmFuZ2VDb25maWcgPSB7fTtcblxuICByb3V0ZVN1YjogU3Vic2NyaXB0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgaW52ZW50b3J5OiBJbnZlbnRvcnlTZXJ2aWNlLFxuICAgIHByaXZhdGUgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgYWxlcnRTZXJ2aWNlOiBBbGVydFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIGNvbG9yU2VydmljZTogQ29sb3JTZXJ2aWNlLFxuICAgIHByaXZhdGUgcGFyc2VyOiBEYXRhcG9pbnRQYXJzZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgZGF0YXBvaW50U2VsZWN0b3JTZXJ2aWNlOiBEYXRhcG9pbnRTZWxlY3RvclNlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChEQVRBUE9JTlRfTElCUkFSWV9DT05GSUcpIHB1YmxpYyBjb25maWc6IERhdGFwb2ludExpYnJhcnlPcHRpb25zXG4gICkge1xuICAgIHRoaXMuZm9ybUdyb3VwID0gdGhpcy5pbml0Rm9ybSgpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5yb3V0ZVN1YiA9IHRoaXMuYWN0aXZhdGVkUm91dGUucGFyZW50LmRhdGEuc3Vic2NyaWJlKGRhdGEgPT4ge1xuICAgICAgdGhpcy5sb2FkKGRhdGEpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucm91dGVTdWIpIHtcbiAgICAgIHRoaXMucm91dGVTdWIudW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBzYXZlKHZhbHVlKSB7XG4gICAgY29uc3Qga3BpVmFsdWVzID0gdGhpcy5leHRyYWN0S3BpVmFsdWVzRnJvbUZvcm1WYWx1ZSh2YWx1ZSk7XG4gICAgY29uc3Qga3BpID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5kYXRhcG9pbnQ/LmM4eV9LcGkgfHwge30sIGtwaVZhbHVlcyk7XG4gICAgY29uc3QgY2xlYW5lZFVwS3BpID0gdGhpcy5yZW1vdmVOdWxsVmFsdWVzKGtwaSk7XG5cbiAgICBjb25zdCBtbzogUGFydGlhbDxJTWFuYWdlZE9iamVjdD4gPSB7XG4gICAgICBjOHlfS3BpOiBjbGVhbmVkVXBLcGksXG4gICAgICBjOHlfR2xvYmFsOiB2YWx1ZS5jOHlfR2xvYmFsID8ge30gOiBudWxsXG4gICAgfTtcbiAgICB0cnkge1xuICAgICAgaWYgKHRoaXMuZGF0YXBvaW50Py5pZCkge1xuICAgICAgICBtby5pZCA9IHRoaXMuZGF0YXBvaW50LmlkO1xuICAgICAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLmludmVudG9yeS51cGRhdGUobW8pO1xuICAgICAgICB0aGlzLmRhdGFwb2ludFVwZGF0ZShyZXMuZGF0YSk7XG4gICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLnNhdmVTdWNjZXNzKGdldHRleHQoJ0RhdGEgcG9pbnQgbGlicmFyeSBlbnRyeScpKSgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gZHVyaW5nIG1hbmFnZWRPYmplY3QgY3JlYXRpb24gKFBPU1QpIGEgZnJhZ21lbnQgd2l0aCB0aGUgdmFsdWUgbnVsbCBpcyBhY3R1YWxseSBiZWluZyBjcmVhdGVkIGFuZCBzdG9yZWQgdG8gdGhlIERCIGNvbXBhcmVkIHRvIGFuIHVwZGF0ZSAoUFVUKSB3aGljaCB3b3VsZCByZW1vdmUgdGhlIGZyYWdtZW50LlxuICAgICAgICAvLyBhcyB3ZSBkb24ndCB3YW50IHRvIGhhdmUgdGhhdCBmcmFnbWVudCBzdG9yZWQgaW4gREIgKGlmIHNldCB0byBudWxsKSwgd2Ugd2lsbCBqdXN0IHNldCBpdCB0byB1bmRlZmluZWQuXG4gICAgICAgIGlmIChtby5jOHlfR2xvYmFsID09PSBudWxsKSB7XG4gICAgICAgICAgbW8uYzh5X0dsb2JhbCA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLmludmVudG9yeS5jcmVhdGUobW8pO1xuICAgICAgICB0aGlzLmRhdGFwb2ludFVwZGF0ZShyZXMuZGF0YSk7XG4gICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmNyZWF0ZVN1Y2Nlc3MoZ2V0dGV4dCgnRGF0YSBwb2ludCBsaWJyYXJ5IGVudHJ5JykpKCk7XG4gICAgICB9XG4gICAgICB0aGlzLm5hdmlnYXRlQmFja1RvTGlzdCgpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmFkZFNlcnZlckZhaWx1cmUoZSk7XG4gICAgfVxuICB9XG5cbiAgY2FuY2VsKCkge1xuICAgIHRoaXMubmF2aWdhdGVCYWNrVG9MaXN0KCk7XG4gIH1cblxuICBmb3JtQ2hhbmdlKCkge1xuICAgIGlmICh0aGlzLmZvcm1Hcm91cC5pbnZhbGlkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGtwaVZhbHVlcyA9IHRoaXMuZXh0cmFjdEtwaVZhbHVlc0Zyb21Gb3JtVmFsdWUodGhpcy5mb3JtR3JvdXAudmFsdWUpO1xuICAgIHRoaXMucmFuZ2VDb25maWcgPSBPYmplY3QuYXNzaWduKHsgb3JpZW50YXRpb246ICdob3Jpem9udGFsJyB9LCBrcGlWYWx1ZXMpO1xuICB9XG5cbiAgYXN5bmMgcGlja0RhdGFwb2ludCgpIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgZGF0YXBvaW50cyA9IGF3YWl0IHRoaXMuZGF0YXBvaW50U2VsZWN0b3JTZXJ2aWNlLnNlbGVjdERhdGFQb2ludHMoe1xuICAgICAgICBmaW5pc2hXaXRoRmlyc3RTZWxlY3Rpb246IHRydWUsXG4gICAgICAgIGlnbm9yZURhdGFwb2ludFRlbXBsYXRlczogdHJ1ZSxcbiAgICAgICAgZ3Vlc3NEYXRhcG9pbnRVbml0OiBmYWxzZVxuICAgICAgfSk7XG4gICAgICBpZiAoZGF0YXBvaW50cy5sZW5ndGgpIHtcbiAgICAgICAgY29uc3QgZGF0YXBvaW50ID0gZGF0YXBvaW50c1swXTtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAucGF0Y2hWYWx1ZSh7XG4gICAgICAgICAgZnJhZ21lbnQ6IGRhdGFwb2ludC5mcmFnbWVudCxcbiAgICAgICAgICBzZXJpZXM6IGRhdGFwb2ludC5zZXJpZXMsXG4gICAgICAgICAgY29sb3I6IGRhdGFwb2ludC5jb2xvcixcbiAgICAgICAgICBsYWJlbDogZGF0YXBvaW50LmxhYmVsXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5tYXJrQXNUb3VjaGVkKCk7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLm1hcmtBc0RpcnR5KCk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoX2UpIHtcbiAgICAgIC8vIG1vZGFsIGNsb3NlZFxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbmF2aWdhdGVCYWNrVG9MaXN0KCkge1xuICAgIHJldHVybiB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbcGF0aFRvRGF0YXBvaW50TGlicmFyeV0pO1xuICB9XG5cbiAgcHJpdmF0ZSBkYXRhcG9pbnRVcGRhdGUodG1wRGF0YXBvaW50OiBJTWFuYWdlZE9iamVjdCkge1xuICAgIGNvbnN0IGRhdGFwb2ludCA9IHRoaXMucGFyc2VyLnBhcnNlRGF0YXBvaW50KHRtcERhdGFwb2ludCk7XG4gICAgdGhpcy5kYXRhcG9pbnQgPSBkYXRhcG9pbnQ7XG4gICAgY29uc3Qge1xuICAgICAgZnJhZ21lbnQsXG4gICAgICBzZXJpZXMsXG4gICAgICBkZXNjcmlwdGlvbixcbiAgICAgIHVuaXQsXG4gICAgICB0YXJnZXQsXG4gICAgICBsYWJlbCxcbiAgICAgIGNvbG9yLFxuICAgICAgeWVsbG93UmFuZ2VNaW4sXG4gICAgICB5ZWxsb3dSYW5nZU1heCxcbiAgICAgIHJlZFJhbmdlTWluLFxuICAgICAgcmVkUmFuZ2VNYXgsXG4gICAgICBtaW4sXG4gICAgICBtYXhcbiAgICB9ID0gZGF0YXBvaW50LmM4eV9LcGk7XG4gICAgdGhpcy5mb3JtR3JvdXAucGF0Y2hWYWx1ZSh7XG4gICAgICBmcmFnbWVudCxcbiAgICAgIHNlcmllcyxcbiAgICAgIGRlc2NyaXB0aW9uLFxuICAgICAgdW5pdCxcbiAgICAgIHRhcmdldCxcbiAgICAgIGxhYmVsLFxuICAgICAgY29sb3IsXG4gICAgICByYW5nZTogeyBtaW4sIG1heCB9LFxuICAgICAgeWVsbG93UmFuZ2U6IHsgbWluOiB5ZWxsb3dSYW5nZU1pbiwgbWF4OiB5ZWxsb3dSYW5nZU1heCB9LFxuICAgICAgcmVkUmFuZ2U6IHsgbWluOiByZWRSYW5nZU1pbiwgbWF4OiByZWRSYW5nZU1heCB9LFxuICAgICAgYzh5X0dsb2JhbDogISFkYXRhcG9pbnQuYzh5X0dsb2JhbFxuICAgIH0pO1xuICAgIHRoaXMuZm9ybUNoYW5nZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBleHRyYWN0S3BpVmFsdWVzRnJvbUZvcm1WYWx1ZShmb3JtVmFsdWU6IGFueSkge1xuICAgIGNvbnN0IHsgZnJhZ21lbnQsIHNlcmllcywgZGVzY3JpcHRpb24sIHVuaXQsIHRhcmdldCwgbGFiZWwsIGNvbG9yIH0gPSBmb3JtVmFsdWU7XG4gICAgcmV0dXJuIHtcbiAgICAgIGZyYWdtZW50LFxuICAgICAgc2VyaWVzLFxuICAgICAgZGVzY3JpcHRpb24sXG4gICAgICB1bml0LFxuICAgICAgdGFyZ2V0LFxuICAgICAgbGFiZWwsXG4gICAgICBjb2xvcixcbiAgICAgIHllbGxvd1JhbmdlTWluOiBnZXQoZm9ybVZhbHVlLCAneWVsbG93UmFuZ2UubWluJyksXG4gICAgICB5ZWxsb3dSYW5nZU1heDogZ2V0KGZvcm1WYWx1ZSwgJ3llbGxvd1JhbmdlLm1heCcpLFxuICAgICAgcmVkUmFuZ2VNaW46IGdldChmb3JtVmFsdWUsICdyZWRSYW5nZS5taW4nKSxcbiAgICAgIHJlZFJhbmdlTWF4OiBnZXQoZm9ybVZhbHVlLCAncmVkUmFuZ2UubWF4JyksXG4gICAgICBtaW46IGdldChmb3JtVmFsdWUsICdyYW5nZS5taW4nKSxcbiAgICAgIG1heDogZ2V0KGZvcm1WYWx1ZSwgJ3JhbmdlLm1heCcpXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgbG9hZChkYXRhOiBEYXRhKSB7XG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICAgIHRoaXMuZm9ybUdyb3VwLnJlc2V0KCk7XG4gICAgY29uc3QgeyBmcmFnbWVudCwgc2VyaWVzIH0gPSB0aGlzLmFjdGl2YXRlZFJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1zO1xuICAgIGNvbnN0IGh1bWFuaXplID0gbmV3IEh1bWFuaXplUGlwZSgpO1xuICAgIGNvbnN0IGxhYmVsID1cbiAgICAgIGZyYWdtZW50ICYmIHNlcmllc1xuICAgICAgICA/IGh1bWFuaXplLnRyYW5zZm9ybShgJHtmcmFnbWVudH0gPT4gJHtzZXJpZXN9YClcbiAgICAgICAgOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGdldHRleHQoJ05ldyBkYXRhIHBvaW50IHRlbXBsYXRlJykpO1xuICAgIGNvbnN0IGN1cnJlbnREYXRlID0gbmV3IERhdGUoKS50b0lTT1N0cmluZygpO1xuICAgIGNvbnN0IGNvbG9yID0gYXdhaXQgdGhpcy5jb2xvclNlcnZpY2UuZ2VuZXJhdGVDb2xvcihjdXJyZW50RGF0ZSk7XG5cbiAgICBjb25zdCBjb250ZXh0RmFsbGJhY2sgPSB7XG4gICAgICBjOHlfS3BpOiB7XG4gICAgICAgIGxhYmVsLFxuICAgICAgICBmcmFnbWVudCxcbiAgICAgICAgc2VyaWVzLFxuICAgICAgICBjb2xvclxuICAgICAgfSxcbiAgICAgIGM4eV9HbG9iYWw6ICF0aGlzLmNvbmZpZz8uZG9Ob3RBZGRHbG9iYWxGcmFnbWVudEJ5RGVmYXVsdCA/IHt9IDogbnVsbFxuICAgIH07XG4gICAgY29uc3QgY29udGV4dERhdGEgPSB0aGlzLmlzQ29udGV4dFNldChkYXRhKSA/IGRhdGEuY29udGV4dERhdGEgOiBjb250ZXh0RmFsbGJhY2s7XG5cbiAgICBjb25zdCB7IGlkIH0gPSBjb250ZXh0RGF0YTtcbiAgICBpZiAoaWQpIHtcbiAgICAgIHRoaXMuZGF0YXBvaW50VXBkYXRlKChhd2FpdCB0aGlzLmludmVudG9yeS5kZXRhaWwoaWQpKS5kYXRhKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5kYXRhcG9pbnRVcGRhdGUoY29udGV4dERhdGEpO1xuICAgIH1cbiAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0NvbnRleHRTZXQoZGF0YTogRGF0YSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBkYXRhICYmICFpc0VtcHR5KGRhdGEuY29udGV4dERhdGEpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0Rm9ybSgpIHtcbiAgICB0aGlzLnJhbmdlID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cChcbiAgICAgIHtcbiAgICAgICAgbWluOiBbdW5kZWZpbmVkLCBbXV0sXG4gICAgICAgIG1heDogW3VuZGVmaW5lZCwgW11dXG4gICAgICB9LFxuICAgICAgeyB2YWxpZGF0b3JzOiBbQzh5VmFsaWRhdG9ycy5taW5NYXhWYWxpZGF0b3IoKSwgQzh5VmFsaWRhdG9ycy5yZXF1aXJlQm90aE1pbkFuZE1heCgpXSB9XG4gICAgKTtcbiAgICB0aGlzLnJlZFJhbmdlID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cChcbiAgICAgIHtcbiAgICAgICAgbWluOiBbdW5kZWZpbmVkLCBbXV0sXG4gICAgICAgIG1heDogW3VuZGVmaW5lZCwgW11dXG4gICAgICB9LFxuICAgICAgeyB2YWxpZGF0b3JzOiBbQzh5VmFsaWRhdG9ycy5taW5NYXhWYWxpZGF0b3IoKSwgQzh5VmFsaWRhdG9ycy5yZXF1aXJlQm90aE1pbkFuZE1heCgpXSB9XG4gICAgKTtcbiAgICB0aGlzLnllbGxvd1JhbmdlID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cChcbiAgICAgIHtcbiAgICAgICAgbWluOiBbdW5kZWZpbmVkLCBbXV0sXG4gICAgICAgIG1heDogW3VuZGVmaW5lZCwgW11dXG4gICAgICB9LFxuICAgICAgeyB2YWxpZGF0b3JzOiBbQzh5VmFsaWRhdG9ycy5taW5NYXhWYWxpZGF0b3IoKSwgQzh5VmFsaWRhdG9ycy5yZXF1aXJlQm90aE1pbkFuZE1heCgpXSB9XG4gICAgKTtcbiAgICByZXR1cm4gdGhpcy5mb3JtQnVpbGRlci5ncm91cChcbiAgICAgIHtcbiAgICAgICAgY29sb3I6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWluTGVuZ3RoKDQpXV0sXG4gICAgICAgIGxhYmVsOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1pbkxlbmd0aCgxKSwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMTIwKV1dLFxuICAgICAgICBkZXNjcmlwdGlvbjogWycnLCBbXV0sXG4gICAgICAgIGZyYWdtZW50OiBbXG4gICAgICAgICAgJycsXG4gICAgICAgICAgW1xuICAgICAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcbiAgICAgICAgICAgIFZhbGlkYXRvcnMubWluTGVuZ3RoKDEpLFxuICAgICAgICAgICAgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMTIwKSxcbiAgICAgICAgICAgIFZhbGlkYXRvcnMucGF0dGVybigvXlteLl0qJC8pXG4gICAgICAgICAgXVxuICAgICAgICBdLFxuICAgICAgICBzZXJpZXM6IFtcbiAgICAgICAgICAnJyxcbiAgICAgICAgICBbXG4gICAgICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxuICAgICAgICAgICAgVmFsaWRhdG9ycy5taW5MZW5ndGgoMSksXG4gICAgICAgICAgICBWYWxpZGF0b3JzLm1heExlbmd0aCgxMjApLFxuICAgICAgICAgICAgVmFsaWRhdG9ycy5wYXR0ZXJuKC9eW14uXSokLylcbiAgICAgICAgICBdXG4gICAgICAgIF0sXG4gICAgICAgIHJhbmdlOiB0aGlzLnJhbmdlLFxuICAgICAgICB1bml0OiBbdW5kZWZpbmVkLCBbXV0sXG4gICAgICAgIHRhcmdldDogW3VuZGVmaW5lZCwgW11dLFxuICAgICAgICByZWRSYW5nZTogdGhpcy5yZWRSYW5nZSxcbiAgICAgICAgeWVsbG93UmFuZ2U6IHRoaXMueWVsbG93UmFuZ2UsXG4gICAgICAgIGM4eV9HbG9iYWw6IFshdGhpcy5jb25maWc/LmRvTm90QWRkR2xvYmFsRnJhZ21lbnRCeURlZmF1bHQsIFtdXVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdmFsaWRhdG9yczogW1xuICAgICAgICAgIEM4eVZhbGlkYXRvcnMud2l0aGluU2NhbGUoJ3JlZFJhbmdlLm1pbicpLFxuICAgICAgICAgIEM4eVZhbGlkYXRvcnMud2l0aGluU2NhbGUoJ3JlZFJhbmdlLm1heCcpLFxuICAgICAgICAgIEM4eVZhbGlkYXRvcnMud2l0aGluU2NhbGUoJ3llbGxvd1JhbmdlLm1pbicpLFxuICAgICAgICAgIEM4eVZhbGlkYXRvcnMud2l0aGluU2NhbGUoJ3llbGxvd1JhbmdlLm1heCcpLFxuICAgICAgICAgIEM4eVZhbGlkYXRvcnMud2l0aGluU2NhbGUoJ3RhcmdldCcpXG4gICAgICAgIF1cbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVOdWxsVmFsdWVzKHZhbHVlKSB7XG4gICAgLy8gcmVtb3ZlIG51bGwgdmFsdWVzIGJlZm9yZSBzZW5kaW5nIGRhdGEgdG8gYmFja2VuZFxuICAgIGNvbnN0IGNsZWFuZWR1cFZhbHVlcyA9IE9iamVjdC5hc3NpZ24oe30sIHZhbHVlKTtcbiAgICBPYmplY3Qua2V5cyhjbGVhbmVkdXBWYWx1ZXMpLmZvckVhY2goa2V5ID0+IHtcbiAgICAgIGlmIChjbGVhbmVkdXBWYWx1ZXNba2V5XSA9PT0gbnVsbCkge1xuICAgICAgICBkZWxldGUgY2xlYW5lZHVwVmFsdWVzW2tleV07XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIGNsZWFuZWR1cFZhbHVlcztcbiAgfVxufVxuIiwiPGM4eS10aXRsZSAqbmdJZj1cIiFpc0xvYWRpbmdcIj5cbiAge3sgZm9ybUdyb3VwLnZhbHVlPy5sYWJlbCB9fVxuICA8c21hbGwgKm5nSWY9XCJmb3JtR3JvdXAudmFsdWU/LmZyYWdtZW50ICYmIGZvcm1Hcm91cC52YWx1ZT8uc2VyaWVzXCI+XG4gICAge3sgZm9ybUdyb3VwLnZhbHVlPy5mcmFnbWVudCB9fSAvIHt7IGZvcm1Hcm91cC52YWx1ZT8uc2VyaWVzIH19XG4gIDwvc21hbGw+XG48L2M4eS10aXRsZT5cblxuPGM4eS1icmVhZGNydW1iPlxuICA8Yzh5LWJyZWFkY3J1bWItaXRlbVxuICAgIFtpY29uXT1cIidjOHktdG9vbHMnXCJcbiAgICBbbGFiZWxdPVwiJ0NvbmZpZ3VyYXRpb24nIHwgdHJhbnNsYXRlXCJcbiAgPjwvYzh5LWJyZWFkY3J1bWItaXRlbT5cbiAgPGM4eS1icmVhZGNydW1iLWl0ZW1cbiAgICBbaWNvbl09XCInYzh5LWRhdGEtcG9pbnRzJ1wiXG4gICAgW2xhYmVsXT1cIidEYXRhIHBvaW50IGxpYnJhcnknIHwgdHJhbnNsYXRlXCJcbiAgICBbcGF0aF09XCJwYXRoXCJcbiAgPjwvYzh5LWJyZWFkY3J1bWItaXRlbT5cbiAgPGM4eS1icmVhZGNydW1iLWl0ZW1cbiAgICBbaWNvbl09XCInYzh5LWRhdGEtcG9pbnRzJ1wiXG4gICAgW2xhYmVsXT1cImZvcm1Hcm91cC52YWx1ZT8ubGFiZWxcIlxuICA+PC9jOHktYnJlYWRjcnVtYi1pdGVtPlxuPC9jOHktYnJlYWRjcnVtYj5cblxuPGZvcm1cbiAgKG5nU3VibWl0KT1cImZvcm1Hcm91cC52YWxpZCAmJiBzYXZlKGZvcm1Hcm91cC52YWx1ZSlcIlxuICAoY2hhbmdlKT1cImZvcm1DaGFuZ2UoKVwiXG4gIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCJcbiAgY2xhc3M9XCJjYXJkIGNvbnRlbnQtZnVsbHBhZ2UgY2FyZC0tZ3JpZCBncmlkX19jb2wtLTYtNi0tbWQgZ3JpZF9fcm93LS1maXQtYXV0b1wiXG4gIG5vdmFsaWRhdGVcbj5cbiAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIGxhcmdlLXBhZGRpbmcgc2VwYXJhdG9yIGdyaWRfX2NvbC0tZnVsbHNwYW5cIj5cbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC10aXRsZVwiPlxuICAgICAge3sgZm9ybUdyb3VwLnZhbHVlPy5sYWJlbCB9fVxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiAqbmdJZj1cIiFpc0xvYWRpbmdcIiBjbGFzcz1cImQtY29udGVudHNcIj5cbiAgICA8ZGl2IGNsYXNzPVwiaW5uZXItc2Nyb2xsIGJnLWxldmVsLTAgZmxleC1ncm93XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ibG9jayBsYXJnZS1wYWRkaW5nXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIj5cbiAgICAgICAgICA8Yzh5LWZvcm0tZ3JvdXA+XG4gICAgICAgICAgICA8bGFiZWwgdHJhbnNsYXRlPkNvbG9yPC9sYWJlbD5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkYXRhLXBvaW50LWNvbG9yIGZvcm0tY29udHJvbFwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYzh5LWNvbG9ycGlja2VyXCI+XG4gICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidDb2xvciBwaWNrZXInIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJjb2xvclwiXG4gICAgICAgICAgICAgICAgICBuYW1lPVwiY29sb3JcIlxuICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiY29sb3JcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPHNwYW4gW3N0eWxlLmJhY2tncm91bmQtY29sb3JdPVwiZm9ybUdyb3VwLnZhbHVlPy5jb2xvclwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2M4eS1mb3JtLWdyb3VwPlxuICAgICAgICAgIDxjOHktZm9ybS1ncm91cCBjbGFzcz1cImZsZXgtZ3JvdyBwLWwtOFwiPlxuICAgICAgICAgICAgPGxhYmVsIHRyYW5zbGF0ZT5MYWJlbDwvbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJsYWJlbFwiXG4gICAgICAgICAgICAgIG5hbWU9XCJsYWJlbFwiXG4gICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInZS5nLiBUZW1wZXJhdHVyZScgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPGM4eS1tZXNzYWdlc1xuICAgICAgICAgICAgICBbc2hvd109XCJmb3JtR3JvdXAuY29udHJvbHM/LmxhYmVsPy50b3VjaGVkICYmIGZvcm1Hcm91cC5jb250cm9scz8ubGFiZWw/LmVycm9yc1wiXG4gICAgICAgICAgICA+PC9jOHktbWVzc2FnZXM+XG4gICAgICAgICAgPC9jOHktZm9ybS1ncm91cD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxjOHktZm9ybS1ncm91cD5cbiAgICAgICAgICA8bGFiZWwgdHJhbnNsYXRlPkRlc2NyaXB0aW9uPC9sYWJlbD5cbiAgICAgICAgICA8dGV4dGFyZWFcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImRlc2NyaXB0aW9uXCJcbiAgICAgICAgICAgIG5hbWU9XCJkZXNjcmlwdGlvblwiXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ2UuZy4gQW1iaWVudCBUZW1wZXJhdHVyZSBpbiBDZWxzaXVzJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICByb3dzPVwiM1wiXG4gICAgICAgICAgPjwvdGV4dGFyZWE+XG4gICAgICAgIDwvYzh5LWZvcm0tZ3JvdXA+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhLWktY2VudGVyIGdhcC04XCI+XG4gICAgICAgICAgPGM4eS1mb3JtLWdyb3VwIGNsYXNzPVwiZmxleC1ncm93XCI+XG4gICAgICAgICAgICA8bGFiZWwgdHJhbnNsYXRlPkZyYWdtZW50PC9sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICAgIG5hbWU9XCJmcmFnbWVudFwiXG4gICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImZyYWdtZW50XCJcbiAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidlLmcuIHt7IGV4YW1wbGUgfX0nIHwgdHJhbnNsYXRlOiB7IGV4YW1wbGU6ICdjOHlfVGVtcGVyYXR1cmUnIH1cIlxuICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPGM4eS1tZXNzYWdlc1xuICAgICAgICAgICAgICBbc2hvd109XCJmb3JtR3JvdXAuY29udHJvbHM/LmZyYWdtZW50Py50b3VjaGVkICYmIGZvcm1Hcm91cC5jb250cm9scz8uZnJhZ21lbnQ/LmVycm9yc1wiXG4gICAgICAgICAgICA+PC9jOHktbWVzc2FnZXM+XG4gICAgICAgICAgPC9jOHktZm9ybS1ncm91cD5cblxuICAgICAgICAgIDxjOHktZm9ybS1ncm91cCBjbGFzcz1cImZsZXgtZ3Jvd1wiPlxuICAgICAgICAgICAgPGxhYmVsIHRyYW5zbGF0ZT5TZXJpZXM8L2xhYmVsPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwic2VyaWVzXCJcbiAgICAgICAgICAgICAgbmFtZT1cInNlcmllc1wiXG4gICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInZS5nLiB7eyBleGFtcGxlIH19JyB8IHRyYW5zbGF0ZTogeyBleGFtcGxlOiAnVCcgfVwiXG4gICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8Yzh5LW1lc3NhZ2VzXG4gICAgICAgICAgICAgIFtzaG93XT1cImZvcm1Hcm91cC5jb250cm9scz8uc2VyaWVzPy50b3VjaGVkICYmIGZvcm1Hcm91cC5jb250cm9scz8uc2VyaWVzPy5lcnJvcnNcIlxuICAgICAgICAgICAgPjwvYzh5LW1lc3NhZ2VzPlxuICAgICAgICAgIDwvYzh5LWZvcm0tZ3JvdXA+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtbm8tZ3Jvd1wiPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tZGVmYXVsdCBwLWwtOCBwLXItOFwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJwaWNrRGF0YXBvaW50KClcIlxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgW3Rvb2x0aXBdPVwiJ0xvYWQgZnJhZ21lbnQgYW5kIHNlcmllcyBmcm9tIGFuIGV4aXN0aW5nIGRhdGEgcG9pbnQnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgW2RlbGF5XT1cIjUwMFwiXG4gICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0xvYWQgZnJhZ21lbnQgYW5kIHNlcmllcyBmcm9tIGFuIGV4aXN0aW5nIGRhdGEgcG9pbnQnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGkgYzh5SWNvbj1cImV5ZWRyb3BwZXJcIj48L2k+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiICpuZ0lmPVwiY29uZmlnPy5zaG93Q2hlY2tib3hGb3JHbG9iYWxGcmFnbWVudFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tNlwiPlxuICAgICAgICAgICAgPGM4eS1mb3JtLWdyb3VwPlxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJjOHktY2hlY2tib3hcIj5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbmFtZT1cImM4eV9HbG9iYWxcIiBmb3JtQ29udHJvbE5hbWU9XCJjOHlfR2xvYmFsXCIgdHlwZT1cImNoZWNrYm94XCIgLz5cbiAgICAgICAgICAgICAgICA8c3Bhbj48L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gdHJhbnNsYXRlPkdsb2JhbGx5IGF2YWlsYWJsZTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0bi1oZWxwXCJcbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInSGVscCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgW3BvcG92ZXJdPVwiXG4gICAgICAgICAgICAgICAgICAgICdXaWxsIG1ha2UgdGhpcyBlbnRyeSBhdmFpbGFibGUgdG8gYWxsIHVzZXJzIG9uIHRoZSB0ZW5hbnQgaWYgY2hlY2tlZC4nXG4gICAgICAgICAgICAgICAgICAgICAgfCB0cmFuc2xhdGVcbiAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJyaWdodFwiXG4gICAgICAgICAgICAgICAgICB0cmlnZ2Vycz1cImZvY3VzXCJcbiAgICAgICAgICAgICAgICAgIGNvbnRhaW5lcj1cImJvZHlcIlxuICAgICAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgIDwvYzh5LWZvcm0tZ3JvdXA+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImlubmVyLXNjcm9sbCBiZy1sZXZlbC0xXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ibG9jayBsYXJnZS1wYWRkaW5nXCI+XG4gICAgICAgIDxmaWVsZHNldCBjbGFzcz1cImM4eS1maWVsZHNldFwiPlxuICAgICAgICAgIDxsZWdlbmQgdHJhbnNsYXRlPlByZXZpZXc8L2xlZ2VuZD5cbiAgICAgICAgICA8Yzh5LXJhbmdlLWRpc3BsYXkgW2NvbmZpZ109XCJyYW5nZUNvbmZpZ1wiIGNsYXNzPVwibS1iLTE2IGQtYmxvY2tcIj48L2M4eS1yYW5nZS1kaXNwbGF5PlxuICAgICAgICA8L2ZpZWxkc2V0PlxuXG4gICAgICAgIDxmaWVsZHNldCBjbGFzcz1cImM4eS1maWVsZHNldFwiPlxuICAgICAgICAgIDxsZWdlbmQgdHJhbnNsYXRlPlJhbmdlPC9sZWdlbmQ+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiIGZvcm1Hcm91cE5hbWU9XCJyYW5nZVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02XCI+XG4gICAgICAgICAgICAgIDxjOHktZm9ybS1ncm91cFxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2hhcy1lcnJvcic6IHJhbmdlPy50b3VjaGVkICYmIHJhbmdlPy5jb250cm9scz8ubWluPy5lcnJvcnMgfVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bGFiZWwgdHJhbnNsYXRlPk1pbjwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgICAgIG5hbWU9XCJtaW5cIlxuICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibWluXCJcbiAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInZS5nLiB7eyBleGFtcGxlIH19JyB8IHRyYW5zbGF0ZTogeyBleGFtcGxlOiAwIH1cIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPGM4eS1tZXNzYWdlcyBbc2hvd109XCJyYW5nZT8udG91Y2hlZCAmJiByYW5nZS5jb250cm9scz8ubWluPy5lcnJvcnNcIj48L2M4eS1tZXNzYWdlcz5cbiAgICAgICAgICAgICAgPC9jOHktZm9ybS1ncm91cD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02XCI+XG4gICAgICAgICAgICAgIDxjOHktZm9ybS1ncm91cFxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2hhcy1lcnJvcic6IHJhbmdlPy50b3VjaGVkICYmIHJhbmdlPy5jb250cm9scz8ubWF4Py5lcnJvcnMgfVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bGFiZWwgdHJhbnNsYXRlPk1heDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgICAgIG5hbWU9XCJtYXhcIlxuICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibWF4XCJcbiAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInZS5nLiB7eyBleGFtcGxlIH19JyB8IHRyYW5zbGF0ZTogeyBleGFtcGxlOiAxMDAgfVwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8Yzh5LW1lc3NhZ2VzIFtzaG93XT1cInJhbmdlPy50b3VjaGVkICYmIHJhbmdlLmNvbnRyb2xzPy5tYXg/LmVycm9yc1wiPjwvYzh5LW1lc3NhZ2VzPlxuICAgICAgICAgICAgICA8L2M4eS1mb3JtLWdyb3VwPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02XCI+XG4gICAgICAgICAgICAgIDxjOHktZm9ybS1ncm91cD5cbiAgICAgICAgICAgICAgICA8bGFiZWwgdHJhbnNsYXRlPlVuaXQ8L2xhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgbmFtZT1cInVuaXRcIlxuICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwidW5pdFwiXG4gICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ2UuZy4ge3sgZXhhbXBsZSB9fScgfCB0cmFuc2xhdGU6IHsgZXhhbXBsZTogJ8K6QycgfVwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8Yzh5LW1lc3NhZ2VzXG4gICAgICAgICAgICAgICAgICBbc2hvd109XCJmb3JtR3JvdXAuY29udHJvbHM/LnVuaXQ/LnRvdWNoZWQgJiYgZm9ybUdyb3VwLmNvbnRyb2xzPy51bml0Py5lcnJvcnNcIlxuICAgICAgICAgICAgICAgID48L2M4eS1tZXNzYWdlcz5cbiAgICAgICAgICAgICAgPC9jOHktZm9ybS1ncm91cD5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTZcIj5cbiAgICAgICAgICAgICAgPGM4eS1mb3JtLWdyb3VwXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICAgJ2hhcy1lcnJvcic6XG4gICAgICAgICAgICAgICAgICAgIChyYW5nZT8udG91Y2hlZCB8fCBmb3JtR3JvdXAuY29udHJvbHM/LnRhcmdldD8udG91Y2hlZCkgJiZcbiAgICAgICAgICAgICAgICAgICAgZm9ybUdyb3VwLmNvbnRyb2xzPy50YXJnZXQ/LmVycm9yc1xuICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGxhYmVsIHRyYW5zbGF0ZT5UYXJnZXQ8L2xhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICAgICAgICBuYW1lPVwidGFyZ2V0XCJcbiAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInRhcmdldFwiXG4gICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ2UuZy4ge3sgZXhhbXBsZSB9fScgfCB0cmFuc2xhdGU6IHsgZXhhbXBsZTogMjUgfVwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8Yzh5LW1lc3NhZ2VzXG4gICAgICAgICAgICAgICAgICBbc2hvd109XCJcbiAgICAgICAgICAgICAgICAgICAgKHJhbmdlPy50b3VjaGVkIHx8IGZvcm1Hcm91cC5jb250cm9scz8udGFyZ2V0Py50b3VjaGVkKSAmJlxuICAgICAgICAgICAgICAgICAgICBmb3JtR3JvdXAuY29udHJvbHM/LnRhcmdldD8uZXJyb3JzXG4gICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgID48L2M4eS1tZXNzYWdlcz5cbiAgICAgICAgICAgICAgPC9jOHktZm9ybS1ncm91cD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2ZpZWxkc2V0PlxuXG4gICAgICAgIDxmaWVsZHNldCBjbGFzcz1cImM4eS1maWVsZHNldFwiIGZvcm1Hcm91cE5hbWU9XCJ5ZWxsb3dSYW5nZVwiPlxuICAgICAgICAgIDxsZWdlbmQgdHJhbnNsYXRlPlllbGxvdyByYW5nZTwvbGVnZW5kPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNlwiPlxuICAgICAgICAgICAgICA8Yzh5LWZvcm0tZ3JvdXBcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgICAnaGFzLWVycm9yJzpcbiAgICAgICAgICAgICAgICAgICAgKHJhbmdlPy50b3VjaGVkIHx8IHllbGxvd1JhbmdlPy50b3VjaGVkKSAmJiB5ZWxsb3dSYW5nZT8uY29udHJvbHM/Lm1pbj8uZXJyb3JzXG4gICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bGFiZWwgdHJhbnNsYXRlPk1pbjwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgICAgIG5hbWU9XCJtaW5cIlxuICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibWluXCJcbiAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInZS5nLiB7eyBleGFtcGxlIH19JyB8IHRyYW5zbGF0ZTogeyBleGFtcGxlOiA1MCB9XCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDxjOHktbWVzc2FnZXNcbiAgICAgICAgICAgICAgICAgIFtzaG93XT1cIlxuICAgICAgICAgICAgICAgICAgICAocmFuZ2U/LnRvdWNoZWQgfHwgeWVsbG93UmFuZ2U/LnRvdWNoZWQpICYmIHllbGxvd1JhbmdlLmNvbnRyb2xzPy5taW4/LmVycm9yc1xuICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICA+PC9jOHktbWVzc2FnZXM+XG4gICAgICAgICAgICAgIDwvYzh5LWZvcm0tZ3JvdXA+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02XCI+XG4gICAgICAgICAgICAgIDxjOHktZm9ybS1ncm91cFxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICdoYXMtZXJyb3InOlxuICAgICAgICAgICAgICAgICAgICAocmFuZ2U/LnRvdWNoZWQgfHwgeWVsbG93UmFuZ2U/LnRvdWNoZWQpICYmIHllbGxvd1JhbmdlPy5jb250cm9scz8ubWF4Py5lcnJvcnNcbiAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxsYWJlbCB0cmFuc2xhdGU+TWF4PC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgbmFtZT1cIm1heFwiXG4gICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJtYXhcIlxuICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidlLmcuIHt7IGV4YW1wbGUgfX0nIHwgdHJhbnNsYXRlOiB7IGV4YW1wbGU6IDc1IH1cIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPGM4eS1tZXNzYWdlc1xuICAgICAgICAgICAgICAgICAgW3Nob3ddPVwiXG4gICAgICAgICAgICAgICAgICAgIChyYW5nZT8udG91Y2hlZCB8fCB5ZWxsb3dSYW5nZT8udG91Y2hlZCkgJiYgeWVsbG93UmFuZ2UuY29udHJvbHM/Lm1heD8uZXJyb3JzXG4gICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgID48L2M4eS1tZXNzYWdlcz5cbiAgICAgICAgICAgICAgPC9jOHktZm9ybS1ncm91cD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2ZpZWxkc2V0PlxuXG4gICAgICAgIDxmaWVsZHNldCBjbGFzcz1cImM4eS1maWVsZHNldFwiIGZvcm1Hcm91cE5hbWU9XCJyZWRSYW5nZVwiPlxuICAgICAgICAgIDxsZWdlbmQgdHJhbnNsYXRlPlJlZCByYW5nZTwvbGVnZW5kPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNlwiPlxuICAgICAgICAgICAgICA8Yzh5LWZvcm0tZ3JvdXBcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgICAnaGFzLWVycm9yJzpcbiAgICAgICAgICAgICAgICAgICAgKHJhbmdlPy50b3VjaGVkIHx8IHJlZFJhbmdlPy50b3VjaGVkKSAmJiByZWRSYW5nZT8uY29udHJvbHM/Lm1pbj8uZXJyb3JzXG4gICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bGFiZWwgdHJhbnNsYXRlPk1pbjwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgICAgIG5hbWU9XCJtaW5cIlxuICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibWluXCJcbiAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInZS5nLiB7eyBleGFtcGxlIH19JyB8IHRyYW5zbGF0ZTogeyBleGFtcGxlOiA3NSB9XCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDxjOHktbWVzc2FnZXNcbiAgICAgICAgICAgICAgICAgIFtzaG93XT1cIihyYW5nZT8udG91Y2hlZCB8fCByZWRSYW5nZT8udG91Y2hlZCkgJiYgcmVkUmFuZ2UuY29udHJvbHM/Lm1pbj8uZXJyb3JzXCJcbiAgICAgICAgICAgICAgICA+PC9jOHktbWVzc2FnZXM+XG4gICAgICAgICAgICAgIDwvYzh5LWZvcm0tZ3JvdXA+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02XCI+XG4gICAgICAgICAgICAgIDxjOHktZm9ybS1ncm91cFxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICdoYXMtZXJyb3InOlxuICAgICAgICAgICAgICAgICAgICAocmFuZ2U/LnRvdWNoZWQgfHwgcmVkUmFuZ2U/LnRvdWNoZWQpICYmIHJlZFJhbmdlPy5jb250cm9scz8ubWF4Py5lcnJvcnNcbiAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxsYWJlbCB0cmFuc2xhdGU+TWF4PC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgbmFtZT1cIm1heFwiXG4gICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJtYXhcIlxuICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidlLmcuIHt7IGV4YW1wbGUgfX0nIHwgdHJhbnNsYXRlOiB7IGV4YW1wbGU6IDEwMCB9XCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDxjOHktbWVzc2FnZXNcbiAgICAgICAgICAgICAgICAgIFtzaG93XT1cIihyYW5nZT8udG91Y2hlZCB8fCByZWRSYW5nZT8udG91Y2hlZCkgJiYgcmVkUmFuZ2UuY29udHJvbHM/Lm1heD8uZXJyb3JzXCJcbiAgICAgICAgICAgICAgICA+PC9jOHktbWVzc2FnZXM+XG4gICAgICAgICAgICAgIDwvYzh5LWZvcm0tZ3JvdXA+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9maWVsZHNldD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImNhcmQtZm9vdGVyIHNlcGFyYXRvciBncmlkX19jb2wtLWZ1bGxzcGFuXCI+XG4gICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tZGVmYXVsdFwiIHR5cGU9XCJidXR0b25cIiBbdGl0bGVdPVwiJ0NhbmNlbCcgfCB0cmFuc2xhdGVcIiAoY2xpY2spPVwiY2FuY2VsKClcIj5cbiAgICAgIHt7ICdDYW5jZWwnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgYnRuLWZvcm1cIlxuICAgICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgICBbdGl0bGVdPVwiJ1NhdmUnIHwgdHJhbnNsYXRlXCJcbiAgICAgICpjOHlJZkFsbG93ZWQ9XCJbJ1JPTEVfSU5WRU5UT1JZX0FETUlOJywgJ1JPTEVfSU5WRU5UT1JZX1VQREFURSddOyBhbGxvd0FueTogdHJ1ZVwiXG4gICAgICBbZGlzYWJsZWRdPVwiZm9ybUdyb3VwLmludmFsaWQgfHwgZm9ybUdyb3VwLnByaXN0aW5lXCJcbiAgICA+XG4gICAgICB7eyAnU2F2ZScgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Zvcm0+XG4iXX0=
|
|
@@ -65,6 +65,11 @@ class DatapointLibraryDetailsComponent {
|
|
|
65
65
|
this.alertService.saveSuccess(gettext('Data point library entry'))();
|
|
66
66
|
}
|
|
67
67
|
else {
|
|
68
|
+
// during managedObject creation (POST) a fragment with the value null is actually being created and stored to the DB compared to an update (PUT) which would remove the fragment.
|
|
69
|
+
// as we don't want to have that fragment stored in DB (if set to null), we will just set it to undefined.
|
|
70
|
+
if (mo.c8y_Global === null) {
|
|
71
|
+
mo.c8y_Global = undefined;
|
|
72
|
+
}
|
|
68
73
|
const res = yield this.inventory.create(mo);
|
|
69
74
|
this.datapointUpdate(res.data);
|
|
70
75
|
this.alertService.createSuccess(gettext('Data point library entry'))();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"c8y-ngx-components-datapoint-library-details.mjs","sources":["../../datapoint-library/details/datapoint-library-details.component.ts","../../datapoint-library/details/datapoint-library-details.component.html","../../datapoint-library/details/c8y-ngx-components-datapoint-library-details.ts"],"sourcesContent":["import { Component, Inject, OnDestroy, OnInit, Optional } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { ActivatedRoute, Data, Router, RouterModule } from '@angular/router';\nimport { IManagedObject, InventoryService } from '@c8y/client';\nimport { AlertService, CoreModule, gettext, HumanizePipe } from '@c8y/ngx-components';\nimport { TranslateService } from '@ngx-translate/core';\nimport { get, isEmpty } from 'lodash-es';\nimport { Subscription } from 'rxjs';\nimport {\n DatapointLibraryOptions,\n DATAPOINT_LIBRARY_CONFIG,\n pathToDatapointLibrary\n} from '@c8y/ngx-components/datapoint-library/model';\nimport { C8yValidators, ColorService } from '@c8y/ngx-components';\nimport { PopoverModule } from 'ngx-bootstrap/popover';\nimport { TooltipModule } from 'ngx-bootstrap/tooltip';\nimport { DatapointParserService } from '@c8y/ngx-components/datapoint-library/services';\nimport {\n DatapointSelectorModule,\n DatapointSelectorService\n} from '@c8y/ngx-components/datapoint-selector';\n\n@Component({\n selector: 'c8y-datapoint-library-details',\n templateUrl: './datapoint-library-details.component.html',\n standalone: true,\n imports: [CoreModule, RouterModule, PopoverModule, TooltipModule, DatapointSelectorModule]\n})\nexport class DatapointLibraryDetailsComponent implements OnInit, OnDestroy {\n path = pathToDatapointLibrary;\n formGroup: ReturnType<DatapointLibraryDetailsComponent['initForm']>;\n range: FormGroup;\n redRange: FormGroup;\n yellowRange: FormGroup;\n datapoint: IManagedObject;\n isLoading = true;\n\n rangeConfig = {};\n\n routeSub: Subscription;\n\n constructor(\n private activatedRoute: ActivatedRoute,\n private inventory: InventoryService,\n private formBuilder: FormBuilder,\n private alertService: AlertService,\n private router: Router,\n private translate: TranslateService,\n private colorService: ColorService,\n private parser: DatapointParserService,\n private datapointSelectorService: DatapointSelectorService,\n @Optional() @Inject(DATAPOINT_LIBRARY_CONFIG) public config: DatapointLibraryOptions\n ) {\n this.formGroup = this.initForm();\n }\n\n ngOnInit() {\n this.routeSub = this.activatedRoute.parent.data.subscribe(data => {\n this.load(data);\n });\n }\n\n ngOnDestroy(): void {\n if (this.routeSub) {\n this.routeSub.unsubscribe();\n }\n }\n\n async save(value) {\n const kpiValues = this.extractKpiValuesFromFormValue(value);\n const kpi = Object.assign({}, this.datapoint?.c8y_Kpi || {}, kpiValues);\n const cleanedUpKpi = this.removeNullValues(kpi);\n\n const mo: Partial<IManagedObject> = {\n c8y_Kpi: cleanedUpKpi,\n c8y_Global: value.c8y_Global ? {} : null\n };\n try {\n if (this.datapoint?.id) {\n mo.id = this.datapoint.id;\n const res = await this.inventory.update(mo);\n this.datapointUpdate(res.data);\n this.alertService.saveSuccess(gettext('Data point library entry'))();\n } else {\n const res = await this.inventory.create(mo);\n this.datapointUpdate(res.data);\n this.alertService.createSuccess(gettext('Data point library entry'))();\n }\n this.navigateBackToList();\n } catch (e) {\n this.alertService.addServerFailure(e);\n }\n }\n\n cancel() {\n this.navigateBackToList();\n }\n\n formChange() {\n if (this.formGroup.invalid) {\n return;\n }\n const kpiValues = this.extractKpiValuesFromFormValue(this.formGroup.value);\n this.rangeConfig = Object.assign({ orientation: 'horizontal' }, kpiValues);\n }\n\n async pickDatapoint() {\n try {\n const datapoints = await this.datapointSelectorService.selectDataPoints({\n finishWithFirstSelection: true,\n ignoreDatapointTemplates: true,\n guessDatapointUnit: false\n });\n if (datapoints.length) {\n const datapoint = datapoints[0];\n this.formGroup.patchValue({\n fragment: datapoint.fragment,\n series: datapoint.series,\n color: datapoint.color,\n label: datapoint.label\n });\n this.formGroup.markAsTouched();\n this.formGroup.markAsDirty();\n }\n } catch (_e) {\n // modal closed\n }\n }\n\n private navigateBackToList() {\n return this.router.navigate([pathToDatapointLibrary]);\n }\n\n private datapointUpdate(tmpDatapoint: IManagedObject) {\n const datapoint = this.parser.parseDatapoint(tmpDatapoint);\n this.datapoint = datapoint;\n const {\n fragment,\n series,\n description,\n unit,\n target,\n label,\n color,\n yellowRangeMin,\n yellowRangeMax,\n redRangeMin,\n redRangeMax,\n min,\n max\n } = datapoint.c8y_Kpi;\n this.formGroup.patchValue({\n fragment,\n series,\n description,\n unit,\n target,\n label,\n color,\n range: { min, max },\n yellowRange: { min: yellowRangeMin, max: yellowRangeMax },\n redRange: { min: redRangeMin, max: redRangeMax },\n c8y_Global: !!datapoint.c8y_Global\n });\n this.formChange();\n }\n\n private extractKpiValuesFromFormValue(formValue: any) {\n const { fragment, series, description, unit, target, label, color } = formValue;\n return {\n fragment,\n series,\n description,\n unit,\n target,\n label,\n color,\n yellowRangeMin: get(formValue, 'yellowRange.min'),\n yellowRangeMax: get(formValue, 'yellowRange.max'),\n redRangeMin: get(formValue, 'redRange.min'),\n redRangeMax: get(formValue, 'redRange.max'),\n min: get(formValue, 'range.min'),\n max: get(formValue, 'range.max')\n };\n }\n\n private async load(data: Data) {\n this.isLoading = true;\n this.formGroup.reset();\n const { fragment, series } = this.activatedRoute.snapshot.queryParams;\n const humanize = new HumanizePipe();\n const label =\n fragment && series\n ? humanize.transform(`${fragment} => ${series}`)\n : this.translate.instant(gettext('New data point template'));\n const currentDate = new Date().toISOString();\n const color = await this.colorService.generateColor(currentDate);\n\n const contextFallback = {\n c8y_Kpi: {\n label,\n fragment,\n series,\n color\n },\n c8y_Global: !this.config?.doNotAddGlobalFragmentByDefault ? {} : null\n };\n const contextData = this.isContextSet(data) ? data.contextData : contextFallback;\n\n const { id } = contextData;\n if (id) {\n this.datapointUpdate((await this.inventory.detail(id)).data);\n } else {\n this.datapointUpdate(contextData);\n }\n this.isLoading = false;\n }\n\n private isContextSet(data: Data): boolean {\n return data && !isEmpty(data.contextData);\n }\n\n private initForm() {\n this.range = this.formBuilder.group(\n {\n min: [undefined, []],\n max: [undefined, []]\n },\n { validators: [C8yValidators.minMaxValidator(), C8yValidators.requireBothMinAndMax()] }\n );\n this.redRange = this.formBuilder.group(\n {\n min: [undefined, []],\n max: [undefined, []]\n },\n { validators: [C8yValidators.minMaxValidator(), C8yValidators.requireBothMinAndMax()] }\n );\n this.yellowRange = this.formBuilder.group(\n {\n min: [undefined, []],\n max: [undefined, []]\n },\n { validators: [C8yValidators.minMaxValidator(), C8yValidators.requireBothMinAndMax()] }\n );\n return this.formBuilder.group(\n {\n color: ['', [Validators.required, Validators.minLength(4)]],\n label: ['', [Validators.required, Validators.minLength(1), Validators.maxLength(120)]],\n description: ['', []],\n fragment: [\n '',\n [\n Validators.required,\n Validators.minLength(1),\n Validators.maxLength(120),\n Validators.pattern(/^[^.]*$/)\n ]\n ],\n series: [\n '',\n [\n Validators.required,\n Validators.minLength(1),\n Validators.maxLength(120),\n Validators.pattern(/^[^.]*$/)\n ]\n ],\n range: this.range,\n unit: [undefined, []],\n target: [undefined, []],\n redRange: this.redRange,\n yellowRange: this.yellowRange,\n c8y_Global: [!this.config?.doNotAddGlobalFragmentByDefault, []]\n },\n {\n validators: [\n C8yValidators.withinScale('redRange.min'),\n C8yValidators.withinScale('redRange.max'),\n C8yValidators.withinScale('yellowRange.min'),\n C8yValidators.withinScale('yellowRange.max'),\n C8yValidators.withinScale('target')\n ]\n }\n );\n }\n\n private removeNullValues(value) {\n // remove null values before sending data to backend\n const cleanedupValues = Object.assign({}, value);\n Object.keys(cleanedupValues).forEach(key => {\n if (cleanedupValues[key] === null) {\n delete cleanedupValues[key];\n }\n });\n return cleanedupValues;\n }\n}\n","<c8y-title *ngIf=\"!isLoading\">\n {{ formGroup.value?.label }}\n <small *ngIf=\"formGroup.value?.fragment && formGroup.value?.series\">\n {{ formGroup.value?.fragment }} / {{ formGroup.value?.series }}\n </small>\n</c8y-title>\n\n<c8y-breadcrumb>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-tools'\"\n [label]=\"'Configuration' | translate\"\n ></c8y-breadcrumb-item>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-data-points'\"\n [label]=\"'Data point library' | translate\"\n [path]=\"path\"\n ></c8y-breadcrumb-item>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-data-points'\"\n [label]=\"formGroup.value?.label\"\n ></c8y-breadcrumb-item>\n</c8y-breadcrumb>\n\n<form\n (ngSubmit)=\"formGroup.valid && save(formGroup.value)\"\n (change)=\"formChange()\"\n [formGroup]=\"formGroup\"\n class=\"card content-fullpage card--grid grid__col--6-6--md grid__row--fit-auto\"\n novalidate\n>\n <div class=\"card-header large-padding separator grid__col--fullspan\">\n <div class=\"card-title\">\n {{ formGroup.value?.label }}\n </div>\n </div>\n <div *ngIf=\"!isLoading\" class=\"d-contents\">\n <div class=\"inner-scroll bg-level-0 flex-grow\">\n <div class=\"card-block large-padding\">\n <div class=\"d-flex\">\n <c8y-form-group>\n <label translate>Color</label>\n <div class=\"data-point-color form-control\">\n <div class=\"c8y-colorpicker\">\n <input\n [attr.aria-label]=\"'Color picker' | translate\"\n type=\"color\"\n name=\"color\"\n formControlName=\"color\"\n />\n <span [style.background-color]=\"formGroup.value?.color\"></span>\n </div>\n </div>\n </c8y-form-group>\n <c8y-form-group class=\"flex-grow p-l-8\">\n <label translate>Label</label>\n <input\n class=\"form-control\"\n formControlName=\"label\"\n name=\"label\"\n [placeholder]=\"'e.g. Temperature' | translate\"\n type=\"text\"\n />\n <c8y-messages\n [show]=\"formGroup.controls?.label?.touched && formGroup.controls?.label?.errors\"\n ></c8y-messages>\n </c8y-form-group>\n </div>\n <c8y-form-group>\n <label translate>Description</label>\n <textarea\n class=\"form-control\"\n formControlName=\"description\"\n name=\"description\"\n [placeholder]=\"'e.g. Ambient Temperature in Celsius' | translate\"\n rows=\"3\"\n ></textarea>\n </c8y-form-group>\n\n <div class=\"d-flex a-i-center gap-8\">\n <c8y-form-group class=\"flex-grow\">\n <label translate>Fragment</label>\n <input\n class=\"form-control\"\n name=\"fragment\"\n formControlName=\"fragment\"\n [placeholder]=\"'e.g. {{ example }}' | translate: { example: 'c8y_Temperature' }\"\n type=\"text\"\n />\n <c8y-messages\n [show]=\"formGroup.controls?.fragment?.touched && formGroup.controls?.fragment?.errors\"\n ></c8y-messages>\n </c8y-form-group>\n\n <c8y-form-group class=\"flex-grow\">\n <label translate>Series</label>\n <input\n class=\"form-control\"\n formControlName=\"series\"\n name=\"series\"\n [placeholder]=\"'e.g. {{ example }}' | translate: { example: 'T' }\"\n type=\"text\"\n />\n <c8y-messages\n [show]=\"formGroup.controls?.series?.touched && formGroup.controls?.series?.errors\"\n ></c8y-messages>\n </c8y-form-group>\n <div class=\"flex-no-grow\">\n <button\n class=\"btn btn-default p-l-8 p-r-8\"\n (click)=\"pickDatapoint()\"\n type=\"button\"\n [tooltip]=\"'Load fragment and series from an existing data point' | translate\"\n [delay]=\"500\"\n [attr.aria-label]=\"'Load fragment and series from an existing data point' | translate\"\n >\n <i c8yIcon=\"eyedropper\"></i>\n </button>\n </div>\n </div>\n\n <div class=\"row\" *ngIf=\"config?.showCheckboxForGlobalFragment\">\n <div class=\"col-sm-6\">\n <c8y-form-group>\n <label class=\"c8y-checkbox\">\n <input name=\"c8y_Global\" formControlName=\"c8y_Global\" type=\"checkbox\" />\n <span></span>\n <span translate>Globally available</span>\n <button\n class=\"btn-help\"\n type=\"button\"\n [attr.aria-label]=\"'Help' | translate\"\n [popover]=\"\n 'Will make this entry available to all users on the tenant if checked.'\n | translate\n \"\n placement=\"right\"\n triggers=\"focus\"\n container=\"body\"\n ></button>\n </label>\n </c8y-form-group>\n </div>\n </div>\n </div>\n </div>\n <div class=\"inner-scroll bg-level-1\">\n <div class=\"card-block large-padding\">\n <fieldset class=\"c8y-fieldset\">\n <legend translate>Preview</legend>\n <c8y-range-display [config]=\"rangeConfig\" class=\"m-b-16 d-block\"></c8y-range-display>\n </fieldset>\n\n <fieldset class=\"c8y-fieldset\">\n <legend translate>Range</legend>\n <div class=\"row\" formGroupName=\"range\">\n <div class=\"col-md-6\">\n <c8y-form-group\n [ngClass]=\"{ 'has-error': range?.touched && range?.controls?.min?.errors }\"\n >\n <label translate>Min</label>\n <input\n type=\"number\"\n class=\"form-control\"\n name=\"min\"\n formControlName=\"min\"\n [placeholder]=\"'e.g. {{ example }}' | translate: { example: 0 }\"\n />\n <c8y-messages [show]=\"range?.touched && range.controls?.min?.errors\"></c8y-messages>\n </c8y-form-group>\n </div>\n <div class=\"col-md-6\">\n <c8y-form-group\n [ngClass]=\"{ 'has-error': range?.touched && range?.controls?.max?.errors }\"\n >\n <label translate>Max</label>\n <input\n type=\"number\"\n class=\"form-control\"\n name=\"max\"\n formControlName=\"max\"\n [placeholder]=\"'e.g. {{ example }}' | translate: { example: 100 }\"\n />\n <c8y-messages [show]=\"range?.touched && range.controls?.max?.errors\"></c8y-messages>\n </c8y-form-group>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-md-6\">\n <c8y-form-group>\n <label translate>Unit</label>\n <input\n class=\"form-control\"\n name=\"unit\"\n formControlName=\"unit\"\n [placeholder]=\"'e.g. {{ example }}' | translate: { example: 'ºC' }\"\n />\n <c8y-messages\n [show]=\"formGroup.controls?.unit?.touched && formGroup.controls?.unit?.errors\"\n ></c8y-messages>\n </c8y-form-group>\n </div>\n\n <div class=\"col-md-6\">\n <c8y-form-group\n [ngClass]=\"{\n 'has-error':\n (range?.touched || formGroup.controls?.target?.touched) &&\n formGroup.controls?.target?.errors\n }\"\n >\n <label translate>Target</label>\n <input\n type=\"number\"\n class=\"form-control\"\n name=\"target\"\n formControlName=\"target\"\n [placeholder]=\"'e.g. {{ example }}' | translate: { example: 25 }\"\n />\n <c8y-messages\n [show]=\"\n (range?.touched || formGroup.controls?.target?.touched) &&\n formGroup.controls?.target?.errors\n \"\n ></c8y-messages>\n </c8y-form-group>\n </div>\n </div>\n </fieldset>\n\n <fieldset class=\"c8y-fieldset\" formGroupName=\"yellowRange\">\n <legend translate>Yellow range</legend>\n <div class=\"row\">\n <div class=\"col-md-6\">\n <c8y-form-group\n [ngClass]=\"{\n 'has-error':\n (range?.touched || yellowRange?.touched) && yellowRange?.controls?.min?.errors\n }\"\n >\n <label translate>Min</label>\n <input\n type=\"number\"\n class=\"form-control\"\n name=\"min\"\n formControlName=\"min\"\n [placeholder]=\"'e.g. {{ example }}' | translate: { example: 50 }\"\n />\n <c8y-messages\n [show]=\"\n (range?.touched || yellowRange?.touched) && yellowRange.controls?.min?.errors\n \"\n ></c8y-messages>\n </c8y-form-group>\n </div>\n\n <div class=\"col-md-6\">\n <c8y-form-group\n [ngClass]=\"{\n 'has-error':\n (range?.touched || yellowRange?.touched) && yellowRange?.controls?.max?.errors\n }\"\n >\n <label translate>Max</label>\n <input\n type=\"number\"\n class=\"form-control\"\n name=\"max\"\n formControlName=\"max\"\n [placeholder]=\"'e.g. {{ example }}' | translate: { example: 75 }\"\n />\n <c8y-messages\n [show]=\"\n (range?.touched || yellowRange?.touched) && yellowRange.controls?.max?.errors\n \"\n ></c8y-messages>\n </c8y-form-group>\n </div>\n </div>\n </fieldset>\n\n <fieldset class=\"c8y-fieldset\" formGroupName=\"redRange\">\n <legend translate>Red range</legend>\n <div class=\"row\">\n <div class=\"col-md-6\">\n <c8y-form-group\n [ngClass]=\"{\n 'has-error':\n (range?.touched || redRange?.touched) && redRange?.controls?.min?.errors\n }\"\n >\n <label translate>Min</label>\n <input\n type=\"number\"\n class=\"form-control\"\n name=\"min\"\n formControlName=\"min\"\n [placeholder]=\"'e.g. {{ example }}' | translate: { example: 75 }\"\n />\n <c8y-messages\n [show]=\"(range?.touched || redRange?.touched) && redRange.controls?.min?.errors\"\n ></c8y-messages>\n </c8y-form-group>\n </div>\n\n <div class=\"col-md-6\">\n <c8y-form-group\n [ngClass]=\"{\n 'has-error':\n (range?.touched || redRange?.touched) && redRange?.controls?.max?.errors\n }\"\n >\n <label translate>Max</label>\n <input\n type=\"number\"\n class=\"form-control\"\n name=\"max\"\n formControlName=\"max\"\n [placeholder]=\"'e.g. {{ example }}' | translate: { example: 100 }\"\n />\n <c8y-messages\n [show]=\"(range?.touched || redRange?.touched) && redRange.controls?.max?.errors\"\n ></c8y-messages>\n </c8y-form-group>\n </div>\n </div>\n </fieldset>\n </div>\n </div>\n </div>\n <div class=\"card-footer separator grid__col--fullspan\">\n <button class=\"btn btn-default\" type=\"button\" [title]=\"'Cancel' | translate\" (click)=\"cancel()\">\n {{ 'Cancel' | translate }}\n </button>\n <button\n class=\"btn btn-primary btn-form\"\n type=\"submit\"\n [title]=\"'Save' | translate\"\n *c8yIfAllowed=\"['ROLE_INVENTORY_ADMIN', 'ROLE_INVENTORY_UPDATE']; allowAny: true\"\n [disabled]=\"formGroup.invalid || formGroup.pristine\"\n >\n {{ 'Save' | translate }}\n </button>\n </div>\n</form>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"c8y-ngx-components-datapoint-library-details.mjs","sources":["../../datapoint-library/details/datapoint-library-details.component.ts","../../datapoint-library/details/datapoint-library-details.component.html","../../datapoint-library/details/c8y-ngx-components-datapoint-library-details.ts"],"sourcesContent":["import { Component, Inject, OnDestroy, OnInit, Optional } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { ActivatedRoute, Data, Router, RouterModule } from '@angular/router';\nimport { IManagedObject, InventoryService } from '@c8y/client';\nimport { AlertService, CoreModule, gettext, HumanizePipe } from '@c8y/ngx-components';\nimport { TranslateService } from '@ngx-translate/core';\nimport { get, isEmpty } from 'lodash-es';\nimport { Subscription } from 'rxjs';\nimport {\n DatapointLibraryOptions,\n DATAPOINT_LIBRARY_CONFIG,\n pathToDatapointLibrary\n} from '@c8y/ngx-components/datapoint-library/model';\nimport { C8yValidators, ColorService } from '@c8y/ngx-components';\nimport { PopoverModule } from 'ngx-bootstrap/popover';\nimport { TooltipModule } from 'ngx-bootstrap/tooltip';\nimport { DatapointParserService } from '@c8y/ngx-components/datapoint-library/services';\nimport {\n DatapointSelectorModule,\n DatapointSelectorService\n} from '@c8y/ngx-components/datapoint-selector';\n\n@Component({\n selector: 'c8y-datapoint-library-details',\n templateUrl: './datapoint-library-details.component.html',\n standalone: true,\n imports: [CoreModule, RouterModule, PopoverModule, TooltipModule, DatapointSelectorModule]\n})\nexport class DatapointLibraryDetailsComponent implements OnInit, OnDestroy {\n path = pathToDatapointLibrary;\n formGroup: ReturnType<DatapointLibraryDetailsComponent['initForm']>;\n range: FormGroup;\n redRange: FormGroup;\n yellowRange: FormGroup;\n datapoint: IManagedObject;\n isLoading = true;\n\n rangeConfig = {};\n\n routeSub: Subscription;\n\n constructor(\n private activatedRoute: ActivatedRoute,\n private inventory: InventoryService,\n private formBuilder: FormBuilder,\n private alertService: AlertService,\n private router: Router,\n private translate: TranslateService,\n private colorService: ColorService,\n private parser: DatapointParserService,\n private datapointSelectorService: DatapointSelectorService,\n @Optional() @Inject(DATAPOINT_LIBRARY_CONFIG) public config: DatapointLibraryOptions\n ) {\n this.formGroup = this.initForm();\n }\n\n ngOnInit() {\n this.routeSub = this.activatedRoute.parent.data.subscribe(data => {\n this.load(data);\n });\n }\n\n ngOnDestroy(): void {\n if (this.routeSub) {\n this.routeSub.unsubscribe();\n }\n }\n\n async save(value) {\n const kpiValues = this.extractKpiValuesFromFormValue(value);\n const kpi = Object.assign({}, this.datapoint?.c8y_Kpi || {}, kpiValues);\n const cleanedUpKpi = this.removeNullValues(kpi);\n\n const mo: Partial<IManagedObject> = {\n c8y_Kpi: cleanedUpKpi,\n c8y_Global: value.c8y_Global ? {} : null\n };\n try {\n if (this.datapoint?.id) {\n mo.id = this.datapoint.id;\n const res = await this.inventory.update(mo);\n this.datapointUpdate(res.data);\n this.alertService.saveSuccess(gettext('Data point library entry'))();\n } else {\n // during managedObject creation (POST) a fragment with the value null is actually being created and stored to the DB compared to an update (PUT) which would remove the fragment.\n // as we don't want to have that fragment stored in DB (if set to null), we will just set it to undefined.\n if (mo.c8y_Global === null) {\n mo.c8y_Global = undefined;\n }\n const res = await this.inventory.create(mo);\n this.datapointUpdate(res.data);\n this.alertService.createSuccess(gettext('Data point library entry'))();\n }\n this.navigateBackToList();\n } catch (e) {\n this.alertService.addServerFailure(e);\n }\n }\n\n cancel() {\n this.navigateBackToList();\n }\n\n formChange() {\n if (this.formGroup.invalid) {\n return;\n }\n const kpiValues = this.extractKpiValuesFromFormValue(this.formGroup.value);\n this.rangeConfig = Object.assign({ orientation: 'horizontal' }, kpiValues);\n }\n\n async pickDatapoint() {\n try {\n const datapoints = await this.datapointSelectorService.selectDataPoints({\n finishWithFirstSelection: true,\n ignoreDatapointTemplates: true,\n guessDatapointUnit: false\n });\n if (datapoints.length) {\n const datapoint = datapoints[0];\n this.formGroup.patchValue({\n fragment: datapoint.fragment,\n series: datapoint.series,\n color: datapoint.color,\n label: datapoint.label\n });\n this.formGroup.markAsTouched();\n this.formGroup.markAsDirty();\n }\n } catch (_e) {\n // modal closed\n }\n }\n\n private navigateBackToList() {\n return this.router.navigate([pathToDatapointLibrary]);\n }\n\n private datapointUpdate(tmpDatapoint: IManagedObject) {\n const datapoint = this.parser.parseDatapoint(tmpDatapoint);\n this.datapoint = datapoint;\n const {\n fragment,\n series,\n description,\n unit,\n target,\n label,\n color,\n yellowRangeMin,\n yellowRangeMax,\n redRangeMin,\n redRangeMax,\n min,\n max\n } = datapoint.c8y_Kpi;\n this.formGroup.patchValue({\n fragment,\n series,\n description,\n unit,\n target,\n label,\n color,\n range: { min, max },\n yellowRange: { min: yellowRangeMin, max: yellowRangeMax },\n redRange: { min: redRangeMin, max: redRangeMax },\n c8y_Global: !!datapoint.c8y_Global\n });\n this.formChange();\n }\n\n private extractKpiValuesFromFormValue(formValue: any) {\n const { fragment, series, description, unit, target, label, color } = formValue;\n return {\n fragment,\n series,\n description,\n unit,\n target,\n label,\n color,\n yellowRangeMin: get(formValue, 'yellowRange.min'),\n yellowRangeMax: get(formValue, 'yellowRange.max'),\n redRangeMin: get(formValue, 'redRange.min'),\n redRangeMax: get(formValue, 'redRange.max'),\n min: get(formValue, 'range.min'),\n max: get(formValue, 'range.max')\n };\n }\n\n private async load(data: Data) {\n this.isLoading = true;\n this.formGroup.reset();\n const { fragment, series } = this.activatedRoute.snapshot.queryParams;\n const humanize = new HumanizePipe();\n const label =\n fragment && series\n ? humanize.transform(`${fragment} => ${series}`)\n : this.translate.instant(gettext('New data point template'));\n const currentDate = new Date().toISOString();\n const color = await this.colorService.generateColor(currentDate);\n\n const contextFallback = {\n c8y_Kpi: {\n label,\n fragment,\n series,\n color\n },\n c8y_Global: !this.config?.doNotAddGlobalFragmentByDefault ? {} : null\n };\n const contextData = this.isContextSet(data) ? data.contextData : contextFallback;\n\n const { id } = contextData;\n if (id) {\n this.datapointUpdate((await this.inventory.detail(id)).data);\n } else {\n this.datapointUpdate(contextData);\n }\n this.isLoading = false;\n }\n\n private isContextSet(data: Data): boolean {\n return data && !isEmpty(data.contextData);\n }\n\n private initForm() {\n this.range = this.formBuilder.group(\n {\n min: [undefined, []],\n max: [undefined, []]\n },\n { validators: [C8yValidators.minMaxValidator(), C8yValidators.requireBothMinAndMax()] }\n );\n this.redRange = this.formBuilder.group(\n {\n min: [undefined, []],\n max: [undefined, []]\n },\n { validators: [C8yValidators.minMaxValidator(), C8yValidators.requireBothMinAndMax()] }\n );\n this.yellowRange = this.formBuilder.group(\n {\n min: [undefined, []],\n max: [undefined, []]\n },\n { validators: [C8yValidators.minMaxValidator(), C8yValidators.requireBothMinAndMax()] }\n );\n return this.formBuilder.group(\n {\n color: ['', [Validators.required, Validators.minLength(4)]],\n label: ['', [Validators.required, Validators.minLength(1), Validators.maxLength(120)]],\n description: ['', []],\n fragment: [\n '',\n [\n Validators.required,\n Validators.minLength(1),\n Validators.maxLength(120),\n Validators.pattern(/^[^.]*$/)\n ]\n ],\n series: [\n '',\n [\n Validators.required,\n Validators.minLength(1),\n Validators.maxLength(120),\n Validators.pattern(/^[^.]*$/)\n ]\n ],\n range: this.range,\n unit: [undefined, []],\n target: [undefined, []],\n redRange: this.redRange,\n yellowRange: this.yellowRange,\n c8y_Global: [!this.config?.doNotAddGlobalFragmentByDefault, []]\n },\n {\n validators: [\n C8yValidators.withinScale('redRange.min'),\n C8yValidators.withinScale('redRange.max'),\n C8yValidators.withinScale('yellowRange.min'),\n C8yValidators.withinScale('yellowRange.max'),\n C8yValidators.withinScale('target')\n ]\n }\n );\n }\n\n private removeNullValues(value) {\n // remove null values before sending data to backend\n const cleanedupValues = Object.assign({}, value);\n Object.keys(cleanedupValues).forEach(key => {\n if (cleanedupValues[key] === null) {\n delete cleanedupValues[key];\n }\n });\n return cleanedupValues;\n }\n}\n","<c8y-title *ngIf=\"!isLoading\">\n {{ formGroup.value?.label }}\n <small *ngIf=\"formGroup.value?.fragment && formGroup.value?.series\">\n {{ formGroup.value?.fragment }} / {{ formGroup.value?.series }}\n </small>\n</c8y-title>\n\n<c8y-breadcrumb>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-tools'\"\n [label]=\"'Configuration' | translate\"\n ></c8y-breadcrumb-item>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-data-points'\"\n [label]=\"'Data point library' | translate\"\n [path]=\"path\"\n ></c8y-breadcrumb-item>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-data-points'\"\n [label]=\"formGroup.value?.label\"\n ></c8y-breadcrumb-item>\n</c8y-breadcrumb>\n\n<form\n (ngSubmit)=\"formGroup.valid && save(formGroup.value)\"\n (change)=\"formChange()\"\n [formGroup]=\"formGroup\"\n class=\"card content-fullpage card--grid grid__col--6-6--md grid__row--fit-auto\"\n novalidate\n>\n <div class=\"card-header large-padding separator grid__col--fullspan\">\n <div class=\"card-title\">\n {{ formGroup.value?.label }}\n </div>\n </div>\n <div *ngIf=\"!isLoading\" class=\"d-contents\">\n <div class=\"inner-scroll bg-level-0 flex-grow\">\n <div class=\"card-block large-padding\">\n <div class=\"d-flex\">\n <c8y-form-group>\n <label translate>Color</label>\n <div class=\"data-point-color form-control\">\n <div class=\"c8y-colorpicker\">\n <input\n [attr.aria-label]=\"'Color picker' | translate\"\n type=\"color\"\n name=\"color\"\n formControlName=\"color\"\n />\n <span [style.background-color]=\"formGroup.value?.color\"></span>\n </div>\n </div>\n </c8y-form-group>\n <c8y-form-group class=\"flex-grow p-l-8\">\n <label translate>Label</label>\n <input\n class=\"form-control\"\n formControlName=\"label\"\n name=\"label\"\n [placeholder]=\"'e.g. Temperature' | translate\"\n type=\"text\"\n />\n <c8y-messages\n [show]=\"formGroup.controls?.label?.touched && formGroup.controls?.label?.errors\"\n ></c8y-messages>\n </c8y-form-group>\n </div>\n <c8y-form-group>\n <label translate>Description</label>\n <textarea\n class=\"form-control\"\n formControlName=\"description\"\n name=\"description\"\n [placeholder]=\"'e.g. Ambient Temperature in Celsius' | translate\"\n rows=\"3\"\n ></textarea>\n </c8y-form-group>\n\n <div class=\"d-flex a-i-center gap-8\">\n <c8y-form-group class=\"flex-grow\">\n <label translate>Fragment</label>\n <input\n class=\"form-control\"\n name=\"fragment\"\n formControlName=\"fragment\"\n [placeholder]=\"'e.g. {{ example }}' | translate: { example: 'c8y_Temperature' }\"\n type=\"text\"\n />\n <c8y-messages\n [show]=\"formGroup.controls?.fragment?.touched && formGroup.controls?.fragment?.errors\"\n ></c8y-messages>\n </c8y-form-group>\n\n <c8y-form-group class=\"flex-grow\">\n <label translate>Series</label>\n <input\n class=\"form-control\"\n formControlName=\"series\"\n name=\"series\"\n [placeholder]=\"'e.g. {{ example }}' | translate: { example: 'T' }\"\n type=\"text\"\n />\n <c8y-messages\n [show]=\"formGroup.controls?.series?.touched && formGroup.controls?.series?.errors\"\n ></c8y-messages>\n </c8y-form-group>\n <div class=\"flex-no-grow\">\n <button\n class=\"btn btn-default p-l-8 p-r-8\"\n (click)=\"pickDatapoint()\"\n type=\"button\"\n [tooltip]=\"'Load fragment and series from an existing data point' | translate\"\n [delay]=\"500\"\n [attr.aria-label]=\"'Load fragment and series from an existing data point' | translate\"\n >\n <i c8yIcon=\"eyedropper\"></i>\n </button>\n </div>\n </div>\n\n <div class=\"row\" *ngIf=\"config?.showCheckboxForGlobalFragment\">\n <div class=\"col-sm-6\">\n <c8y-form-group>\n <label class=\"c8y-checkbox\">\n <input name=\"c8y_Global\" formControlName=\"c8y_Global\" type=\"checkbox\" />\n <span></span>\n <span translate>Globally available</span>\n <button\n class=\"btn-help\"\n type=\"button\"\n [attr.aria-label]=\"'Help' | translate\"\n [popover]=\"\n 'Will make this entry available to all users on the tenant if checked.'\n | translate\n \"\n placement=\"right\"\n triggers=\"focus\"\n container=\"body\"\n ></button>\n </label>\n </c8y-form-group>\n </div>\n </div>\n </div>\n </div>\n <div class=\"inner-scroll bg-level-1\">\n <div class=\"card-block large-padding\">\n <fieldset class=\"c8y-fieldset\">\n <legend translate>Preview</legend>\n <c8y-range-display [config]=\"rangeConfig\" class=\"m-b-16 d-block\"></c8y-range-display>\n </fieldset>\n\n <fieldset class=\"c8y-fieldset\">\n <legend translate>Range</legend>\n <div class=\"row\" formGroupName=\"range\">\n <div class=\"col-md-6\">\n <c8y-form-group\n [ngClass]=\"{ 'has-error': range?.touched && range?.controls?.min?.errors }\"\n >\n <label translate>Min</label>\n <input\n type=\"number\"\n class=\"form-control\"\n name=\"min\"\n formControlName=\"min\"\n [placeholder]=\"'e.g. {{ example }}' | translate: { example: 0 }\"\n />\n <c8y-messages [show]=\"range?.touched && range.controls?.min?.errors\"></c8y-messages>\n </c8y-form-group>\n </div>\n <div class=\"col-md-6\">\n <c8y-form-group\n [ngClass]=\"{ 'has-error': range?.touched && range?.controls?.max?.errors }\"\n >\n <label translate>Max</label>\n <input\n type=\"number\"\n class=\"form-control\"\n name=\"max\"\n formControlName=\"max\"\n [placeholder]=\"'e.g. {{ example }}' | translate: { example: 100 }\"\n />\n <c8y-messages [show]=\"range?.touched && range.controls?.max?.errors\"></c8y-messages>\n </c8y-form-group>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-md-6\">\n <c8y-form-group>\n <label translate>Unit</label>\n <input\n class=\"form-control\"\n name=\"unit\"\n formControlName=\"unit\"\n [placeholder]=\"'e.g. {{ example }}' | translate: { example: 'ºC' }\"\n />\n <c8y-messages\n [show]=\"formGroup.controls?.unit?.touched && formGroup.controls?.unit?.errors\"\n ></c8y-messages>\n </c8y-form-group>\n </div>\n\n <div class=\"col-md-6\">\n <c8y-form-group\n [ngClass]=\"{\n 'has-error':\n (range?.touched || formGroup.controls?.target?.touched) &&\n formGroup.controls?.target?.errors\n }\"\n >\n <label translate>Target</label>\n <input\n type=\"number\"\n class=\"form-control\"\n name=\"target\"\n formControlName=\"target\"\n [placeholder]=\"'e.g. {{ example }}' | translate: { example: 25 }\"\n />\n <c8y-messages\n [show]=\"\n (range?.touched || formGroup.controls?.target?.touched) &&\n formGroup.controls?.target?.errors\n \"\n ></c8y-messages>\n </c8y-form-group>\n </div>\n </div>\n </fieldset>\n\n <fieldset class=\"c8y-fieldset\" formGroupName=\"yellowRange\">\n <legend translate>Yellow range</legend>\n <div class=\"row\">\n <div class=\"col-md-6\">\n <c8y-form-group\n [ngClass]=\"{\n 'has-error':\n (range?.touched || yellowRange?.touched) && yellowRange?.controls?.min?.errors\n }\"\n >\n <label translate>Min</label>\n <input\n type=\"number\"\n class=\"form-control\"\n name=\"min\"\n formControlName=\"min\"\n [placeholder]=\"'e.g. {{ example }}' | translate: { example: 50 }\"\n />\n <c8y-messages\n [show]=\"\n (range?.touched || yellowRange?.touched) && yellowRange.controls?.min?.errors\n \"\n ></c8y-messages>\n </c8y-form-group>\n </div>\n\n <div class=\"col-md-6\">\n <c8y-form-group\n [ngClass]=\"{\n 'has-error':\n (range?.touched || yellowRange?.touched) && yellowRange?.controls?.max?.errors\n }\"\n >\n <label translate>Max</label>\n <input\n type=\"number\"\n class=\"form-control\"\n name=\"max\"\n formControlName=\"max\"\n [placeholder]=\"'e.g. {{ example }}' | translate: { example: 75 }\"\n />\n <c8y-messages\n [show]=\"\n (range?.touched || yellowRange?.touched) && yellowRange.controls?.max?.errors\n \"\n ></c8y-messages>\n </c8y-form-group>\n </div>\n </div>\n </fieldset>\n\n <fieldset class=\"c8y-fieldset\" formGroupName=\"redRange\">\n <legend translate>Red range</legend>\n <div class=\"row\">\n <div class=\"col-md-6\">\n <c8y-form-group\n [ngClass]=\"{\n 'has-error':\n (range?.touched || redRange?.touched) && redRange?.controls?.min?.errors\n }\"\n >\n <label translate>Min</label>\n <input\n type=\"number\"\n class=\"form-control\"\n name=\"min\"\n formControlName=\"min\"\n [placeholder]=\"'e.g. {{ example }}' | translate: { example: 75 }\"\n />\n <c8y-messages\n [show]=\"(range?.touched || redRange?.touched) && redRange.controls?.min?.errors\"\n ></c8y-messages>\n </c8y-form-group>\n </div>\n\n <div class=\"col-md-6\">\n <c8y-form-group\n [ngClass]=\"{\n 'has-error':\n (range?.touched || redRange?.touched) && redRange?.controls?.max?.errors\n }\"\n >\n <label translate>Max</label>\n <input\n type=\"number\"\n class=\"form-control\"\n name=\"max\"\n formControlName=\"max\"\n [placeholder]=\"'e.g. {{ example }}' | translate: { example: 100 }\"\n />\n <c8y-messages\n [show]=\"(range?.touched || redRange?.touched) && redRange.controls?.max?.errors\"\n ></c8y-messages>\n </c8y-form-group>\n </div>\n </div>\n </fieldset>\n </div>\n </div>\n </div>\n <div class=\"card-footer separator grid__col--fullspan\">\n <button class=\"btn btn-default\" type=\"button\" [title]=\"'Cancel' | translate\" (click)=\"cancel()\">\n {{ 'Cancel' | translate }}\n </button>\n <button\n class=\"btn btn-primary btn-form\"\n type=\"submit\"\n [title]=\"'Save' | translate\"\n *c8yIfAllowed=\"['ROLE_INVENTORY_ADMIN', 'ROLE_INVENTORY_UPDATE']; allowAny: true\"\n [disabled]=\"formGroup.invalid || formGroup.pristine\"\n >\n {{ 'Save' | translate }}\n </button>\n </div>\n</form>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -62,6 +62,11 @@ class DatapointLibraryDetailsComponent {
|
|
|
62
62
|
this.alertService.saveSuccess(gettext('Data point library entry'))();
|
|
63
63
|
}
|
|
64
64
|
else {
|
|
65
|
+
// during managedObject creation (POST) a fragment with the value null is actually being created and stored to the DB compared to an update (PUT) which would remove the fragment.
|
|
66
|
+
// as we don't want to have that fragment stored in DB (if set to null), we will just set it to undefined.
|
|
67
|
+
if (mo.c8y_Global === null) {
|
|
68
|
+
mo.c8y_Global = undefined;
|
|
69
|
+
}
|
|
65
70
|
const res = await this.inventory.create(mo);
|
|
66
71
|
this.datapointUpdate(res.data);
|
|
67
72
|
this.alertService.createSuccess(gettext('Data point library entry'))();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"c8y-ngx-components-datapoint-library-details.mjs","sources":["../../datapoint-library/details/datapoint-library-details.component.ts","../../datapoint-library/details/datapoint-library-details.component.html","../../datapoint-library/details/c8y-ngx-components-datapoint-library-details.ts"],"sourcesContent":["import { Component, Inject, OnDestroy, OnInit, Optional } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { ActivatedRoute, Data, Router, RouterModule } from '@angular/router';\nimport { IManagedObject, InventoryService } from '@c8y/client';\nimport { AlertService, CoreModule, gettext, HumanizePipe } from '@c8y/ngx-components';\nimport { TranslateService } from '@ngx-translate/core';\nimport { get, isEmpty } from 'lodash-es';\nimport { Subscription } from 'rxjs';\nimport {\n DatapointLibraryOptions,\n DATAPOINT_LIBRARY_CONFIG,\n pathToDatapointLibrary\n} from '@c8y/ngx-components/datapoint-library/model';\nimport { C8yValidators, ColorService } from '@c8y/ngx-components';\nimport { PopoverModule } from 'ngx-bootstrap/popover';\nimport { TooltipModule } from 'ngx-bootstrap/tooltip';\nimport { DatapointParserService } from '@c8y/ngx-components/datapoint-library/services';\nimport {\n DatapointSelectorModule,\n DatapointSelectorService\n} from '@c8y/ngx-components/datapoint-selector';\n\n@Component({\n selector: 'c8y-datapoint-library-details',\n templateUrl: './datapoint-library-details.component.html',\n standalone: true,\n imports: [CoreModule, RouterModule, PopoverModule, TooltipModule, DatapointSelectorModule]\n})\nexport class DatapointLibraryDetailsComponent implements OnInit, OnDestroy {\n path = pathToDatapointLibrary;\n formGroup: ReturnType<DatapointLibraryDetailsComponent['initForm']>;\n range: FormGroup;\n redRange: FormGroup;\n yellowRange: FormGroup;\n datapoint: IManagedObject;\n isLoading = true;\n\n rangeConfig = {};\n\n routeSub: Subscription;\n\n constructor(\n private activatedRoute: ActivatedRoute,\n private inventory: InventoryService,\n private formBuilder: FormBuilder,\n private alertService: AlertService,\n private router: Router,\n private translate: TranslateService,\n private colorService: ColorService,\n private parser: DatapointParserService,\n private datapointSelectorService: DatapointSelectorService,\n @Optional() @Inject(DATAPOINT_LIBRARY_CONFIG) public config: DatapointLibraryOptions\n ) {\n this.formGroup = this.initForm();\n }\n\n ngOnInit() {\n this.routeSub = this.activatedRoute.parent.data.subscribe(data => {\n this.load(data);\n });\n }\n\n ngOnDestroy(): void {\n if (this.routeSub) {\n this.routeSub.unsubscribe();\n }\n }\n\n async save(value) {\n const kpiValues = this.extractKpiValuesFromFormValue(value);\n const kpi = Object.assign({}, this.datapoint?.c8y_Kpi || {}, kpiValues);\n const cleanedUpKpi = this.removeNullValues(kpi);\n\n const mo: Partial<IManagedObject> = {\n c8y_Kpi: cleanedUpKpi,\n c8y_Global: value.c8y_Global ? {} : null\n };\n try {\n if (this.datapoint?.id) {\n mo.id = this.datapoint.id;\n const res = await this.inventory.update(mo);\n this.datapointUpdate(res.data);\n this.alertService.saveSuccess(gettext('Data point library entry'))();\n } else {\n const res = await this.inventory.create(mo);\n this.datapointUpdate(res.data);\n this.alertService.createSuccess(gettext('Data point library entry'))();\n }\n this.navigateBackToList();\n } catch (e) {\n this.alertService.addServerFailure(e);\n }\n }\n\n cancel() {\n this.navigateBackToList();\n }\n\n formChange() {\n if (this.formGroup.invalid) {\n return;\n }\n const kpiValues = this.extractKpiValuesFromFormValue(this.formGroup.value);\n this.rangeConfig = Object.assign({ orientation: 'horizontal' }, kpiValues);\n }\n\n async pickDatapoint() {\n try {\n const datapoints = await this.datapointSelectorService.selectDataPoints({\n finishWithFirstSelection: true,\n ignoreDatapointTemplates: true,\n guessDatapointUnit: false\n });\n if (datapoints.length) {\n const datapoint = datapoints[0];\n this.formGroup.patchValue({\n fragment: datapoint.fragment,\n series: datapoint.series,\n color: datapoint.color,\n label: datapoint.label\n });\n this.formGroup.markAsTouched();\n this.formGroup.markAsDirty();\n }\n } catch (_e) {\n // modal closed\n }\n }\n\n private navigateBackToList() {\n return this.router.navigate([pathToDatapointLibrary]);\n }\n\n private datapointUpdate(tmpDatapoint: IManagedObject) {\n const datapoint = this.parser.parseDatapoint(tmpDatapoint);\n this.datapoint = datapoint;\n const {\n fragment,\n series,\n description,\n unit,\n target,\n label,\n color,\n yellowRangeMin,\n yellowRangeMax,\n redRangeMin,\n redRangeMax,\n min,\n max\n } = datapoint.c8y_Kpi;\n this.formGroup.patchValue({\n fragment,\n series,\n description,\n unit,\n target,\n label,\n color,\n range: { min, max },\n yellowRange: { min: yellowRangeMin, max: yellowRangeMax },\n redRange: { min: redRangeMin, max: redRangeMax },\n c8y_Global: !!datapoint.c8y_Global\n });\n this.formChange();\n }\n\n private extractKpiValuesFromFormValue(formValue: any) {\n const { fragment, series, description, unit, target, label, color } = formValue;\n return {\n fragment,\n series,\n description,\n unit,\n target,\n label,\n color,\n yellowRangeMin: get(formValue, 'yellowRange.min'),\n yellowRangeMax: get(formValue, 'yellowRange.max'),\n redRangeMin: get(formValue, 'redRange.min'),\n redRangeMax: get(formValue, 'redRange.max'),\n min: get(formValue, 'range.min'),\n max: get(formValue, 'range.max')\n };\n }\n\n private async load(data: Data) {\n this.isLoading = true;\n this.formGroup.reset();\n const { fragment, series } = this.activatedRoute.snapshot.queryParams;\n const humanize = new HumanizePipe();\n const label =\n fragment && series\n ? humanize.transform(`${fragment} => ${series}`)\n : this.translate.instant(gettext('New data point template'));\n const currentDate = new Date().toISOString();\n const color = await this.colorService.generateColor(currentDate);\n\n const contextFallback = {\n c8y_Kpi: {\n label,\n fragment,\n series,\n color\n },\n c8y_Global: !this.config?.doNotAddGlobalFragmentByDefault ? {} : null\n };\n const contextData = this.isContextSet(data) ? data.contextData : contextFallback;\n\n const { id } = contextData;\n if (id) {\n this.datapointUpdate((await this.inventory.detail(id)).data);\n } else {\n this.datapointUpdate(contextData);\n }\n this.isLoading = false;\n }\n\n private isContextSet(data: Data): boolean {\n return data && !isEmpty(data.contextData);\n }\n\n private initForm() {\n this.range = this.formBuilder.group(\n {\n min: [undefined, []],\n max: [undefined, []]\n },\n { validators: [C8yValidators.minMaxValidator(), C8yValidators.requireBothMinAndMax()] }\n );\n this.redRange = this.formBuilder.group(\n {\n min: [undefined, []],\n max: [undefined, []]\n },\n { validators: [C8yValidators.minMaxValidator(), C8yValidators.requireBothMinAndMax()] }\n );\n this.yellowRange = this.formBuilder.group(\n {\n min: [undefined, []],\n max: [undefined, []]\n },\n { validators: [C8yValidators.minMaxValidator(), C8yValidators.requireBothMinAndMax()] }\n );\n return this.formBuilder.group(\n {\n color: ['', [Validators.required, Validators.minLength(4)]],\n label: ['', [Validators.required, Validators.minLength(1), Validators.maxLength(120)]],\n description: ['', []],\n fragment: [\n '',\n [\n Validators.required,\n Validators.minLength(1),\n Validators.maxLength(120),\n Validators.pattern(/^[^.]*$/)\n ]\n ],\n series: [\n '',\n [\n Validators.required,\n Validators.minLength(1),\n Validators.maxLength(120),\n Validators.pattern(/^[^.]*$/)\n ]\n ],\n range: this.range,\n unit: [undefined, []],\n target: [undefined, []],\n redRange: this.redRange,\n yellowRange: this.yellowRange,\n c8y_Global: [!this.config?.doNotAddGlobalFragmentByDefault, []]\n },\n {\n validators: [\n C8yValidators.withinScale('redRange.min'),\n C8yValidators.withinScale('redRange.max'),\n C8yValidators.withinScale('yellowRange.min'),\n C8yValidators.withinScale('yellowRange.max'),\n C8yValidators.withinScale('target')\n ]\n }\n );\n }\n\n private removeNullValues(value) {\n // remove null values before sending data to backend\n const cleanedupValues = Object.assign({}, value);\n Object.keys(cleanedupValues).forEach(key => {\n if (cleanedupValues[key] === null) {\n delete cleanedupValues[key];\n }\n });\n return cleanedupValues;\n }\n}\n","<c8y-title *ngIf=\"!isLoading\">\n {{ formGroup.value?.label }}\n <small *ngIf=\"formGroup.value?.fragment && formGroup.value?.series\">\n {{ formGroup.value?.fragment }} / {{ formGroup.value?.series }}\n </small>\n</c8y-title>\n\n<c8y-breadcrumb>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-tools'\"\n [label]=\"'Configuration' | translate\"\n ></c8y-breadcrumb-item>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-data-points'\"\n [label]=\"'Data point library' | translate\"\n [path]=\"path\"\n ></c8y-breadcrumb-item>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-data-points'\"\n [label]=\"formGroup.value?.label\"\n ></c8y-breadcrumb-item>\n</c8y-breadcrumb>\n\n<form\n (ngSubmit)=\"formGroup.valid && save(formGroup.value)\"\n (change)=\"formChange()\"\n [formGroup]=\"formGroup\"\n class=\"card content-fullpage card--grid grid__col--6-6--md grid__row--fit-auto\"\n novalidate\n>\n <div class=\"card-header large-padding separator grid__col--fullspan\">\n <div class=\"card-title\">\n {{ formGroup.value?.label }}\n </div>\n </div>\n <div *ngIf=\"!isLoading\" class=\"d-contents\">\n <div class=\"inner-scroll bg-level-0 flex-grow\">\n <div class=\"card-block large-padding\">\n <div class=\"d-flex\">\n <c8y-form-group>\n <label translate>Color</label>\n <div class=\"data-point-color form-control\">\n <div class=\"c8y-colorpicker\">\n <input\n [attr.aria-label]=\"'Color picker' | translate\"\n type=\"color\"\n name=\"color\"\n formControlName=\"color\"\n />\n <span [style.background-color]=\"formGroup.value?.color\"></span>\n </div>\n </div>\n </c8y-form-group>\n <c8y-form-group class=\"flex-grow p-l-8\">\n <label translate>Label</label>\n <input\n class=\"form-control\"\n formControlName=\"label\"\n name=\"label\"\n [placeholder]=\"'e.g. Temperature' | translate\"\n type=\"text\"\n />\n <c8y-messages\n [show]=\"formGroup.controls?.label?.touched && formGroup.controls?.label?.errors\"\n ></c8y-messages>\n </c8y-form-group>\n </div>\n <c8y-form-group>\n <label translate>Description</label>\n <textarea\n class=\"form-control\"\n formControlName=\"description\"\n name=\"description\"\n [placeholder]=\"'e.g. Ambient Temperature in Celsius' | translate\"\n rows=\"3\"\n ></textarea>\n </c8y-form-group>\n\n <div class=\"d-flex a-i-center gap-8\">\n <c8y-form-group class=\"flex-grow\">\n <label translate>Fragment</label>\n <input\n class=\"form-control\"\n name=\"fragment\"\n formControlName=\"fragment\"\n [placeholder]=\"'e.g. {{ example }}' | translate: { example: 'c8y_Temperature' }\"\n type=\"text\"\n />\n <c8y-messages\n [show]=\"formGroup.controls?.fragment?.touched && formGroup.controls?.fragment?.errors\"\n ></c8y-messages>\n </c8y-form-group>\n\n <c8y-form-group class=\"flex-grow\">\n <label translate>Series</label>\n <input\n class=\"form-control\"\n formControlName=\"series\"\n name=\"series\"\n [placeholder]=\"'e.g. {{ example }}' | translate: { example: 'T' }\"\n type=\"text\"\n />\n <c8y-messages\n [show]=\"formGroup.controls?.series?.touched && formGroup.controls?.series?.errors\"\n ></c8y-messages>\n </c8y-form-group>\n <div class=\"flex-no-grow\">\n <button\n class=\"btn btn-default p-l-8 p-r-8\"\n (click)=\"pickDatapoint()\"\n type=\"button\"\n [tooltip]=\"'Load fragment and series from an existing data point' | translate\"\n [delay]=\"500\"\n [attr.aria-label]=\"'Load fragment and series from an existing data point' | translate\"\n >\n <i c8yIcon=\"eyedropper\"></i>\n </button>\n </div>\n </div>\n\n <div class=\"row\" *ngIf=\"config?.showCheckboxForGlobalFragment\">\n <div class=\"col-sm-6\">\n <c8y-form-group>\n <label class=\"c8y-checkbox\">\n <input name=\"c8y_Global\" formControlName=\"c8y_Global\" type=\"checkbox\" />\n <span></span>\n <span translate>Globally available</span>\n <button\n class=\"btn-help\"\n type=\"button\"\n [attr.aria-label]=\"'Help' | translate\"\n [popover]=\"\n 'Will make this entry available to all users on the tenant if checked.'\n | translate\n \"\n placement=\"right\"\n triggers=\"focus\"\n container=\"body\"\n ></button>\n </label>\n </c8y-form-group>\n </div>\n </div>\n </div>\n </div>\n <div class=\"inner-scroll bg-level-1\">\n <div class=\"card-block large-padding\">\n <fieldset class=\"c8y-fieldset\">\n <legend translate>Preview</legend>\n <c8y-range-display [config]=\"rangeConfig\" class=\"m-b-16 d-block\"></c8y-range-display>\n </fieldset>\n\n <fieldset class=\"c8y-fieldset\">\n <legend translate>Range</legend>\n <div class=\"row\" formGroupName=\"range\">\n <div class=\"col-md-6\">\n <c8y-form-group\n [ngClass]=\"{ 'has-error': range?.touched && range?.controls?.min?.errors }\"\n >\n <label translate>Min</label>\n <input\n type=\"number\"\n class=\"form-control\"\n name=\"min\"\n formControlName=\"min\"\n [placeholder]=\"'e.g. {{ example }}' | translate: { example: 0 }\"\n />\n <c8y-messages [show]=\"range?.touched && range.controls?.min?.errors\"></c8y-messages>\n </c8y-form-group>\n </div>\n <div class=\"col-md-6\">\n <c8y-form-group\n [ngClass]=\"{ 'has-error': range?.touched && range?.controls?.max?.errors }\"\n >\n <label translate>Max</label>\n <input\n type=\"number\"\n class=\"form-control\"\n name=\"max\"\n formControlName=\"max\"\n [placeholder]=\"'e.g. {{ example }}' | translate: { example: 100 }\"\n />\n <c8y-messages [show]=\"range?.touched && range.controls?.max?.errors\"></c8y-messages>\n </c8y-form-group>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-md-6\">\n <c8y-form-group>\n <label translate>Unit</label>\n <input\n class=\"form-control\"\n name=\"unit\"\n formControlName=\"unit\"\n [placeholder]=\"'e.g. {{ example }}' | translate: { example: 'ºC' }\"\n />\n <c8y-messages\n [show]=\"formGroup.controls?.unit?.touched && formGroup.controls?.unit?.errors\"\n ></c8y-messages>\n </c8y-form-group>\n </div>\n\n <div class=\"col-md-6\">\n <c8y-form-group\n [ngClass]=\"{\n 'has-error':\n (range?.touched || formGroup.controls?.target?.touched) &&\n formGroup.controls?.target?.errors\n }\"\n >\n <label translate>Target</label>\n <input\n type=\"number\"\n class=\"form-control\"\n name=\"target\"\n formControlName=\"target\"\n [placeholder]=\"'e.g. {{ example }}' | translate: { example: 25 }\"\n />\n <c8y-messages\n [show]=\"\n (range?.touched || formGroup.controls?.target?.touched) &&\n formGroup.controls?.target?.errors\n \"\n ></c8y-messages>\n </c8y-form-group>\n </div>\n </div>\n </fieldset>\n\n <fieldset class=\"c8y-fieldset\" formGroupName=\"yellowRange\">\n <legend translate>Yellow range</legend>\n <div class=\"row\">\n <div class=\"col-md-6\">\n <c8y-form-group\n [ngClass]=\"{\n 'has-error':\n (range?.touched || yellowRange?.touched) && yellowRange?.controls?.min?.errors\n }\"\n >\n <label translate>Min</label>\n <input\n type=\"number\"\n class=\"form-control\"\n name=\"min\"\n formControlName=\"min\"\n [placeholder]=\"'e.g. {{ example }}' | translate: { example: 50 }\"\n />\n <c8y-messages\n [show]=\"\n (range?.touched || yellowRange?.touched) && yellowRange.controls?.min?.errors\n \"\n ></c8y-messages>\n </c8y-form-group>\n </div>\n\n <div class=\"col-md-6\">\n <c8y-form-group\n [ngClass]=\"{\n 'has-error':\n (range?.touched || yellowRange?.touched) && yellowRange?.controls?.max?.errors\n }\"\n >\n <label translate>Max</label>\n <input\n type=\"number\"\n class=\"form-control\"\n name=\"max\"\n formControlName=\"max\"\n [placeholder]=\"'e.g. {{ example }}' | translate: { example: 75 }\"\n />\n <c8y-messages\n [show]=\"\n (range?.touched || yellowRange?.touched) && yellowRange.controls?.max?.errors\n \"\n ></c8y-messages>\n </c8y-form-group>\n </div>\n </div>\n </fieldset>\n\n <fieldset class=\"c8y-fieldset\" formGroupName=\"redRange\">\n <legend translate>Red range</legend>\n <div class=\"row\">\n <div class=\"col-md-6\">\n <c8y-form-group\n [ngClass]=\"{\n 'has-error':\n (range?.touched || redRange?.touched) && redRange?.controls?.min?.errors\n }\"\n >\n <label translate>Min</label>\n <input\n type=\"number\"\n class=\"form-control\"\n name=\"min\"\n formControlName=\"min\"\n [placeholder]=\"'e.g. {{ example }}' | translate: { example: 75 }\"\n />\n <c8y-messages\n [show]=\"(range?.touched || redRange?.touched) && redRange.controls?.min?.errors\"\n ></c8y-messages>\n </c8y-form-group>\n </div>\n\n <div class=\"col-md-6\">\n <c8y-form-group\n [ngClass]=\"{\n 'has-error':\n (range?.touched || redRange?.touched) && redRange?.controls?.max?.errors\n }\"\n >\n <label translate>Max</label>\n <input\n type=\"number\"\n class=\"form-control\"\n name=\"max\"\n formControlName=\"max\"\n [placeholder]=\"'e.g. {{ example }}' | translate: { example: 100 }\"\n />\n <c8y-messages\n [show]=\"(range?.touched || redRange?.touched) && redRange.controls?.max?.errors\"\n ></c8y-messages>\n </c8y-form-group>\n </div>\n </div>\n </fieldset>\n </div>\n </div>\n </div>\n <div class=\"card-footer separator grid__col--fullspan\">\n <button class=\"btn btn-default\" type=\"button\" [title]=\"'Cancel' | translate\" (click)=\"cancel()\">\n {{ 'Cancel' | translate }}\n </button>\n <button\n class=\"btn btn-primary btn-form\"\n type=\"submit\"\n [title]=\"'Save' | translate\"\n *c8yIfAllowed=\"['ROLE_INVENTORY_ADMIN', 'ROLE_INVENTORY_UPDATE']; allowAny: true\"\n [disabled]=\"formGroup.invalid || formGroup.pristine\"\n >\n {{ 'Save' | translate }}\n </button>\n </div>\n</form>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"c8y-ngx-components-datapoint-library-details.mjs","sources":["../../datapoint-library/details/datapoint-library-details.component.ts","../../datapoint-library/details/datapoint-library-details.component.html","../../datapoint-library/details/c8y-ngx-components-datapoint-library-details.ts"],"sourcesContent":["import { Component, Inject, OnDestroy, OnInit, Optional } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { ActivatedRoute, Data, Router, RouterModule } from '@angular/router';\nimport { IManagedObject, InventoryService } from '@c8y/client';\nimport { AlertService, CoreModule, gettext, HumanizePipe } from '@c8y/ngx-components';\nimport { TranslateService } from '@ngx-translate/core';\nimport { get, isEmpty } from 'lodash-es';\nimport { Subscription } from 'rxjs';\nimport {\n DatapointLibraryOptions,\n DATAPOINT_LIBRARY_CONFIG,\n pathToDatapointLibrary\n} from '@c8y/ngx-components/datapoint-library/model';\nimport { C8yValidators, ColorService } from '@c8y/ngx-components';\nimport { PopoverModule } from 'ngx-bootstrap/popover';\nimport { TooltipModule } from 'ngx-bootstrap/tooltip';\nimport { DatapointParserService } from '@c8y/ngx-components/datapoint-library/services';\nimport {\n DatapointSelectorModule,\n DatapointSelectorService\n} from '@c8y/ngx-components/datapoint-selector';\n\n@Component({\n selector: 'c8y-datapoint-library-details',\n templateUrl: './datapoint-library-details.component.html',\n standalone: true,\n imports: [CoreModule, RouterModule, PopoverModule, TooltipModule, DatapointSelectorModule]\n})\nexport class DatapointLibraryDetailsComponent implements OnInit, OnDestroy {\n path = pathToDatapointLibrary;\n formGroup: ReturnType<DatapointLibraryDetailsComponent['initForm']>;\n range: FormGroup;\n redRange: FormGroup;\n yellowRange: FormGroup;\n datapoint: IManagedObject;\n isLoading = true;\n\n rangeConfig = {};\n\n routeSub: Subscription;\n\n constructor(\n private activatedRoute: ActivatedRoute,\n private inventory: InventoryService,\n private formBuilder: FormBuilder,\n private alertService: AlertService,\n private router: Router,\n private translate: TranslateService,\n private colorService: ColorService,\n private parser: DatapointParserService,\n private datapointSelectorService: DatapointSelectorService,\n @Optional() @Inject(DATAPOINT_LIBRARY_CONFIG) public config: DatapointLibraryOptions\n ) {\n this.formGroup = this.initForm();\n }\n\n ngOnInit() {\n this.routeSub = this.activatedRoute.parent.data.subscribe(data => {\n this.load(data);\n });\n }\n\n ngOnDestroy(): void {\n if (this.routeSub) {\n this.routeSub.unsubscribe();\n }\n }\n\n async save(value) {\n const kpiValues = this.extractKpiValuesFromFormValue(value);\n const kpi = Object.assign({}, this.datapoint?.c8y_Kpi || {}, kpiValues);\n const cleanedUpKpi = this.removeNullValues(kpi);\n\n const mo: Partial<IManagedObject> = {\n c8y_Kpi: cleanedUpKpi,\n c8y_Global: value.c8y_Global ? {} : null\n };\n try {\n if (this.datapoint?.id) {\n mo.id = this.datapoint.id;\n const res = await this.inventory.update(mo);\n this.datapointUpdate(res.data);\n this.alertService.saveSuccess(gettext('Data point library entry'))();\n } else {\n // during managedObject creation (POST) a fragment with the value null is actually being created and stored to the DB compared to an update (PUT) which would remove the fragment.\n // as we don't want to have that fragment stored in DB (if set to null), we will just set it to undefined.\n if (mo.c8y_Global === null) {\n mo.c8y_Global = undefined;\n }\n const res = await this.inventory.create(mo);\n this.datapointUpdate(res.data);\n this.alertService.createSuccess(gettext('Data point library entry'))();\n }\n this.navigateBackToList();\n } catch (e) {\n this.alertService.addServerFailure(e);\n }\n }\n\n cancel() {\n this.navigateBackToList();\n }\n\n formChange() {\n if (this.formGroup.invalid) {\n return;\n }\n const kpiValues = this.extractKpiValuesFromFormValue(this.formGroup.value);\n this.rangeConfig = Object.assign({ orientation: 'horizontal' }, kpiValues);\n }\n\n async pickDatapoint() {\n try {\n const datapoints = await this.datapointSelectorService.selectDataPoints({\n finishWithFirstSelection: true,\n ignoreDatapointTemplates: true,\n guessDatapointUnit: false\n });\n if (datapoints.length) {\n const datapoint = datapoints[0];\n this.formGroup.patchValue({\n fragment: datapoint.fragment,\n series: datapoint.series,\n color: datapoint.color,\n label: datapoint.label\n });\n this.formGroup.markAsTouched();\n this.formGroup.markAsDirty();\n }\n } catch (_e) {\n // modal closed\n }\n }\n\n private navigateBackToList() {\n return this.router.navigate([pathToDatapointLibrary]);\n }\n\n private datapointUpdate(tmpDatapoint: IManagedObject) {\n const datapoint = this.parser.parseDatapoint(tmpDatapoint);\n this.datapoint = datapoint;\n const {\n fragment,\n series,\n description,\n unit,\n target,\n label,\n color,\n yellowRangeMin,\n yellowRangeMax,\n redRangeMin,\n redRangeMax,\n min,\n max\n } = datapoint.c8y_Kpi;\n this.formGroup.patchValue({\n fragment,\n series,\n description,\n unit,\n target,\n label,\n color,\n range: { min, max },\n yellowRange: { min: yellowRangeMin, max: yellowRangeMax },\n redRange: { min: redRangeMin, max: redRangeMax },\n c8y_Global: !!datapoint.c8y_Global\n });\n this.formChange();\n }\n\n private extractKpiValuesFromFormValue(formValue: any) {\n const { fragment, series, description, unit, target, label, color } = formValue;\n return {\n fragment,\n series,\n description,\n unit,\n target,\n label,\n color,\n yellowRangeMin: get(formValue, 'yellowRange.min'),\n yellowRangeMax: get(formValue, 'yellowRange.max'),\n redRangeMin: get(formValue, 'redRange.min'),\n redRangeMax: get(formValue, 'redRange.max'),\n min: get(formValue, 'range.min'),\n max: get(formValue, 'range.max')\n };\n }\n\n private async load(data: Data) {\n this.isLoading = true;\n this.formGroup.reset();\n const { fragment, series } = this.activatedRoute.snapshot.queryParams;\n const humanize = new HumanizePipe();\n const label =\n fragment && series\n ? humanize.transform(`${fragment} => ${series}`)\n : this.translate.instant(gettext('New data point template'));\n const currentDate = new Date().toISOString();\n const color = await this.colorService.generateColor(currentDate);\n\n const contextFallback = {\n c8y_Kpi: {\n label,\n fragment,\n series,\n color\n },\n c8y_Global: !this.config?.doNotAddGlobalFragmentByDefault ? {} : null\n };\n const contextData = this.isContextSet(data) ? data.contextData : contextFallback;\n\n const { id } = contextData;\n if (id) {\n this.datapointUpdate((await this.inventory.detail(id)).data);\n } else {\n this.datapointUpdate(contextData);\n }\n this.isLoading = false;\n }\n\n private isContextSet(data: Data): boolean {\n return data && !isEmpty(data.contextData);\n }\n\n private initForm() {\n this.range = this.formBuilder.group(\n {\n min: [undefined, []],\n max: [undefined, []]\n },\n { validators: [C8yValidators.minMaxValidator(), C8yValidators.requireBothMinAndMax()] }\n );\n this.redRange = this.formBuilder.group(\n {\n min: [undefined, []],\n max: [undefined, []]\n },\n { validators: [C8yValidators.minMaxValidator(), C8yValidators.requireBothMinAndMax()] }\n );\n this.yellowRange = this.formBuilder.group(\n {\n min: [undefined, []],\n max: [undefined, []]\n },\n { validators: [C8yValidators.minMaxValidator(), C8yValidators.requireBothMinAndMax()] }\n );\n return this.formBuilder.group(\n {\n color: ['', [Validators.required, Validators.minLength(4)]],\n label: ['', [Validators.required, Validators.minLength(1), Validators.maxLength(120)]],\n description: ['', []],\n fragment: [\n '',\n [\n Validators.required,\n Validators.minLength(1),\n Validators.maxLength(120),\n Validators.pattern(/^[^.]*$/)\n ]\n ],\n series: [\n '',\n [\n Validators.required,\n Validators.minLength(1),\n Validators.maxLength(120),\n Validators.pattern(/^[^.]*$/)\n ]\n ],\n range: this.range,\n unit: [undefined, []],\n target: [undefined, []],\n redRange: this.redRange,\n yellowRange: this.yellowRange,\n c8y_Global: [!this.config?.doNotAddGlobalFragmentByDefault, []]\n },\n {\n validators: [\n C8yValidators.withinScale('redRange.min'),\n C8yValidators.withinScale('redRange.max'),\n C8yValidators.withinScale('yellowRange.min'),\n C8yValidators.withinScale('yellowRange.max'),\n C8yValidators.withinScale('target')\n ]\n }\n );\n }\n\n private removeNullValues(value) {\n // remove null values before sending data to backend\n const cleanedupValues = Object.assign({}, value);\n Object.keys(cleanedupValues).forEach(key => {\n if (cleanedupValues[key] === null) {\n delete cleanedupValues[key];\n }\n });\n return cleanedupValues;\n }\n}\n","<c8y-title *ngIf=\"!isLoading\">\n {{ formGroup.value?.label }}\n <small *ngIf=\"formGroup.value?.fragment && formGroup.value?.series\">\n {{ formGroup.value?.fragment }} / {{ formGroup.value?.series }}\n </small>\n</c8y-title>\n\n<c8y-breadcrumb>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-tools'\"\n [label]=\"'Configuration' | translate\"\n ></c8y-breadcrumb-item>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-data-points'\"\n [label]=\"'Data point library' | translate\"\n [path]=\"path\"\n ></c8y-breadcrumb-item>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-data-points'\"\n [label]=\"formGroup.value?.label\"\n ></c8y-breadcrumb-item>\n</c8y-breadcrumb>\n\n<form\n (ngSubmit)=\"formGroup.valid && save(formGroup.value)\"\n (change)=\"formChange()\"\n [formGroup]=\"formGroup\"\n class=\"card content-fullpage card--grid grid__col--6-6--md grid__row--fit-auto\"\n novalidate\n>\n <div class=\"card-header large-padding separator grid__col--fullspan\">\n <div class=\"card-title\">\n {{ formGroup.value?.label }}\n </div>\n </div>\n <div *ngIf=\"!isLoading\" class=\"d-contents\">\n <div class=\"inner-scroll bg-level-0 flex-grow\">\n <div class=\"card-block large-padding\">\n <div class=\"d-flex\">\n <c8y-form-group>\n <label translate>Color</label>\n <div class=\"data-point-color form-control\">\n <div class=\"c8y-colorpicker\">\n <input\n [attr.aria-label]=\"'Color picker' | translate\"\n type=\"color\"\n name=\"color\"\n formControlName=\"color\"\n />\n <span [style.background-color]=\"formGroup.value?.color\"></span>\n </div>\n </div>\n </c8y-form-group>\n <c8y-form-group class=\"flex-grow p-l-8\">\n <label translate>Label</label>\n <input\n class=\"form-control\"\n formControlName=\"label\"\n name=\"label\"\n [placeholder]=\"'e.g. Temperature' | translate\"\n type=\"text\"\n />\n <c8y-messages\n [show]=\"formGroup.controls?.label?.touched && formGroup.controls?.label?.errors\"\n ></c8y-messages>\n </c8y-form-group>\n </div>\n <c8y-form-group>\n <label translate>Description</label>\n <textarea\n class=\"form-control\"\n formControlName=\"description\"\n name=\"description\"\n [placeholder]=\"'e.g. Ambient Temperature in Celsius' | translate\"\n rows=\"3\"\n ></textarea>\n </c8y-form-group>\n\n <div class=\"d-flex a-i-center gap-8\">\n <c8y-form-group class=\"flex-grow\">\n <label translate>Fragment</label>\n <input\n class=\"form-control\"\n name=\"fragment\"\n formControlName=\"fragment\"\n [placeholder]=\"'e.g. {{ example }}' | translate: { example: 'c8y_Temperature' }\"\n type=\"text\"\n />\n <c8y-messages\n [show]=\"formGroup.controls?.fragment?.touched && formGroup.controls?.fragment?.errors\"\n ></c8y-messages>\n </c8y-form-group>\n\n <c8y-form-group class=\"flex-grow\">\n <label translate>Series</label>\n <input\n class=\"form-control\"\n formControlName=\"series\"\n name=\"series\"\n [placeholder]=\"'e.g. {{ example }}' | translate: { example: 'T' }\"\n type=\"text\"\n />\n <c8y-messages\n [show]=\"formGroup.controls?.series?.touched && formGroup.controls?.series?.errors\"\n ></c8y-messages>\n </c8y-form-group>\n <div class=\"flex-no-grow\">\n <button\n class=\"btn btn-default p-l-8 p-r-8\"\n (click)=\"pickDatapoint()\"\n type=\"button\"\n [tooltip]=\"'Load fragment and series from an existing data point' | translate\"\n [delay]=\"500\"\n [attr.aria-label]=\"'Load fragment and series from an existing data point' | translate\"\n >\n <i c8yIcon=\"eyedropper\"></i>\n </button>\n </div>\n </div>\n\n <div class=\"row\" *ngIf=\"config?.showCheckboxForGlobalFragment\">\n <div class=\"col-sm-6\">\n <c8y-form-group>\n <label class=\"c8y-checkbox\">\n <input name=\"c8y_Global\" formControlName=\"c8y_Global\" type=\"checkbox\" />\n <span></span>\n <span translate>Globally available</span>\n <button\n class=\"btn-help\"\n type=\"button\"\n [attr.aria-label]=\"'Help' | translate\"\n [popover]=\"\n 'Will make this entry available to all users on the tenant if checked.'\n | translate\n \"\n placement=\"right\"\n triggers=\"focus\"\n container=\"body\"\n ></button>\n </label>\n </c8y-form-group>\n </div>\n </div>\n </div>\n </div>\n <div class=\"inner-scroll bg-level-1\">\n <div class=\"card-block large-padding\">\n <fieldset class=\"c8y-fieldset\">\n <legend translate>Preview</legend>\n <c8y-range-display [config]=\"rangeConfig\" class=\"m-b-16 d-block\"></c8y-range-display>\n </fieldset>\n\n <fieldset class=\"c8y-fieldset\">\n <legend translate>Range</legend>\n <div class=\"row\" formGroupName=\"range\">\n <div class=\"col-md-6\">\n <c8y-form-group\n [ngClass]=\"{ 'has-error': range?.touched && range?.controls?.min?.errors }\"\n >\n <label translate>Min</label>\n <input\n type=\"number\"\n class=\"form-control\"\n name=\"min\"\n formControlName=\"min\"\n [placeholder]=\"'e.g. {{ example }}' | translate: { example: 0 }\"\n />\n <c8y-messages [show]=\"range?.touched && range.controls?.min?.errors\"></c8y-messages>\n </c8y-form-group>\n </div>\n <div class=\"col-md-6\">\n <c8y-form-group\n [ngClass]=\"{ 'has-error': range?.touched && range?.controls?.max?.errors }\"\n >\n <label translate>Max</label>\n <input\n type=\"number\"\n class=\"form-control\"\n name=\"max\"\n formControlName=\"max\"\n [placeholder]=\"'e.g. {{ example }}' | translate: { example: 100 }\"\n />\n <c8y-messages [show]=\"range?.touched && range.controls?.max?.errors\"></c8y-messages>\n </c8y-form-group>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-md-6\">\n <c8y-form-group>\n <label translate>Unit</label>\n <input\n class=\"form-control\"\n name=\"unit\"\n formControlName=\"unit\"\n [placeholder]=\"'e.g. {{ example }}' | translate: { example: 'ºC' }\"\n />\n <c8y-messages\n [show]=\"formGroup.controls?.unit?.touched && formGroup.controls?.unit?.errors\"\n ></c8y-messages>\n </c8y-form-group>\n </div>\n\n <div class=\"col-md-6\">\n <c8y-form-group\n [ngClass]=\"{\n 'has-error':\n (range?.touched || formGroup.controls?.target?.touched) &&\n formGroup.controls?.target?.errors\n }\"\n >\n <label translate>Target</label>\n <input\n type=\"number\"\n class=\"form-control\"\n name=\"target\"\n formControlName=\"target\"\n [placeholder]=\"'e.g. {{ example }}' | translate: { example: 25 }\"\n />\n <c8y-messages\n [show]=\"\n (range?.touched || formGroup.controls?.target?.touched) &&\n formGroup.controls?.target?.errors\n \"\n ></c8y-messages>\n </c8y-form-group>\n </div>\n </div>\n </fieldset>\n\n <fieldset class=\"c8y-fieldset\" formGroupName=\"yellowRange\">\n <legend translate>Yellow range</legend>\n <div class=\"row\">\n <div class=\"col-md-6\">\n <c8y-form-group\n [ngClass]=\"{\n 'has-error':\n (range?.touched || yellowRange?.touched) && yellowRange?.controls?.min?.errors\n }\"\n >\n <label translate>Min</label>\n <input\n type=\"number\"\n class=\"form-control\"\n name=\"min\"\n formControlName=\"min\"\n [placeholder]=\"'e.g. {{ example }}' | translate: { example: 50 }\"\n />\n <c8y-messages\n [show]=\"\n (range?.touched || yellowRange?.touched) && yellowRange.controls?.min?.errors\n \"\n ></c8y-messages>\n </c8y-form-group>\n </div>\n\n <div class=\"col-md-6\">\n <c8y-form-group\n [ngClass]=\"{\n 'has-error':\n (range?.touched || yellowRange?.touched) && yellowRange?.controls?.max?.errors\n }\"\n >\n <label translate>Max</label>\n <input\n type=\"number\"\n class=\"form-control\"\n name=\"max\"\n formControlName=\"max\"\n [placeholder]=\"'e.g. {{ example }}' | translate: { example: 75 }\"\n />\n <c8y-messages\n [show]=\"\n (range?.touched || yellowRange?.touched) && yellowRange.controls?.max?.errors\n \"\n ></c8y-messages>\n </c8y-form-group>\n </div>\n </div>\n </fieldset>\n\n <fieldset class=\"c8y-fieldset\" formGroupName=\"redRange\">\n <legend translate>Red range</legend>\n <div class=\"row\">\n <div class=\"col-md-6\">\n <c8y-form-group\n [ngClass]=\"{\n 'has-error':\n (range?.touched || redRange?.touched) && redRange?.controls?.min?.errors\n }\"\n >\n <label translate>Min</label>\n <input\n type=\"number\"\n class=\"form-control\"\n name=\"min\"\n formControlName=\"min\"\n [placeholder]=\"'e.g. {{ example }}' | translate: { example: 75 }\"\n />\n <c8y-messages\n [show]=\"(range?.touched || redRange?.touched) && redRange.controls?.min?.errors\"\n ></c8y-messages>\n </c8y-form-group>\n </div>\n\n <div class=\"col-md-6\">\n <c8y-form-group\n [ngClass]=\"{\n 'has-error':\n (range?.touched || redRange?.touched) && redRange?.controls?.max?.errors\n }\"\n >\n <label translate>Max</label>\n <input\n type=\"number\"\n class=\"form-control\"\n name=\"max\"\n formControlName=\"max\"\n [placeholder]=\"'e.g. {{ example }}' | translate: { example: 100 }\"\n />\n <c8y-messages\n [show]=\"(range?.touched || redRange?.touched) && redRange.controls?.max?.errors\"\n ></c8y-messages>\n </c8y-form-group>\n </div>\n </div>\n </fieldset>\n </div>\n </div>\n </div>\n <div class=\"card-footer separator grid__col--fullspan\">\n <button class=\"btn btn-default\" type=\"button\" [title]=\"'Cancel' | translate\" (click)=\"cancel()\">\n {{ 'Cancel' | translate }}\n </button>\n <button\n class=\"btn btn-primary btn-form\"\n type=\"submit\"\n [title]=\"'Save' | translate\"\n *c8yIfAllowed=\"['ROLE_INVENTORY_ADMIN', 'ROLE_INVENTORY_UPDATE']; allowAny: true\"\n [disabled]=\"formGroup.invalid || formGroup.pristine\"\n >\n {{ 'Save' | translate }}\n </button>\n </div>\n</form>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;MA4Ba,gCAAgC,CAAA;AAa3C,IAAA,WAAA,CACU,cAA8B,EAC9B,SAA2B,EAC3B,WAAwB,EACxB,YAA0B,EAC1B,MAAc,EACd,SAA2B,EAC3B,YAA0B,EAC1B,MAA8B,EAC9B,wBAAkD,EACL,MAA+B,EAAA;QAT5E,IAAc,CAAA,cAAA,GAAd,cAAc,CAAgB;QAC9B,IAAS,CAAA,SAAA,GAAT,SAAS,CAAkB;QAC3B,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;QACxB,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAc;QAC1B,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;QACd,IAAS,CAAA,SAAA,GAAT,SAAS,CAAkB;QAC3B,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAc;QAC1B,IAAM,CAAA,MAAA,GAAN,MAAM,CAAwB;QAC9B,IAAwB,CAAA,wBAAA,GAAxB,wBAAwB,CAA0B;QACL,IAAM,CAAA,MAAA,GAAN,MAAM,CAAyB;QAtBtF,IAAI,CAAA,IAAA,GAAG,sBAAsB,CAAC;QAM9B,IAAS,CAAA,SAAA,GAAG,IAAI,CAAC;QAEjB,IAAW,CAAA,WAAA,GAAG,EAAE,CAAC;AAgBf,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;KAClC;IAED,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAG;AAC/D,YAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAClB,SAAC,CAAC,CAAC;KACJ;IAED,WAAW,GAAA;QACT,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;AAC7B,SAAA;KACF;IAED,MAAM,IAAI,CAAC,KAAK,EAAA;QACd,MAAM,SAAS,GAAG,IAAI,CAAC,6BAA6B,CAAC,KAAK,CAAC,CAAC;AAC5D,QAAA,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,IAAI,EAAE,EAAE,SAAS,CAAC,CAAC;QACxE,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;AAEhD,QAAA,MAAM,EAAE,GAA4B;AAClC,YAAA,OAAO,EAAE,YAAY;YACrB,UAAU,EAAE,KAAK,CAAC,UAAU,GAAG,EAAE,GAAG,IAAI;SACzC,CAAC;QACF,IAAI;AACF,YAAA,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE,EAAE;gBACtB,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC1B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAC5C,gBAAA,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC/B,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC,EAAE,CAAC;AACtE,aAAA;AAAM,iBAAA;;;AAGL,gBAAA,IAAI,EAAE,CAAC,UAAU,KAAK,IAAI,EAAE;AAC1B,oBAAA,EAAE,CAAC,UAAU,GAAG,SAAS,CAAC;AAC3B,iBAAA;gBACD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAC5C,gBAAA,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC/B,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC,EAAE,CAAC;AACxE,aAAA;YACD,IAAI,CAAC,kBAAkB,EAAE,CAAC;AAC3B,SAAA;AAAC,QAAA,OAAO,CAAC,EAAE;AACV,YAAA,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;AACvC,SAAA;KACF;IAED,MAAM,GAAA;QACJ,IAAI,CAAC,kBAAkB,EAAE,CAAC;KAC3B;IAED,UAAU,GAAA;AACR,QAAA,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;YAC1B,OAAO;AACR,SAAA;AACD,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC3E,QAAA,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,EAAE,SAAS,CAAC,CAAC;KAC5E;AAED,IAAA,MAAM,aAAa,GAAA;QACjB,IAAI;YACF,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,gBAAgB,CAAC;AACtE,gBAAA,wBAAwB,EAAE,IAAI;AAC9B,gBAAA,wBAAwB,EAAE,IAAI;AAC9B,gBAAA,kBAAkB,EAAE,KAAK;AAC1B,aAAA,CAAC,CAAC;YACH,IAAI,UAAU,CAAC,MAAM,EAAE;AACrB,gBAAA,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;AAChC,gBAAA,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;oBACxB,QAAQ,EAAE,SAAS,CAAC,QAAQ;oBAC5B,MAAM,EAAE,SAAS,CAAC,MAAM;oBACxB,KAAK,EAAE,SAAS,CAAC,KAAK;oBACtB,KAAK,EAAE,SAAS,CAAC,KAAK;AACvB,iBAAA,CAAC,CAAC;AACH,gBAAA,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC;AAC/B,gBAAA,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;AAC9B,aAAA;AACF,SAAA;AAAC,QAAA,OAAO,EAAE,EAAE;;AAEZ,SAAA;KACF;IAEO,kBAAkB,GAAA;QACxB,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC;KACvD;AAEO,IAAA,eAAe,CAAC,YAA4B,EAAA;QAClD,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;AAC3D,QAAA,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;AAC3B,QAAA,MAAM,EACJ,QAAQ,EACR,MAAM,EACN,WAAW,EACX,IAAI,EACJ,MAAM,EACN,KAAK,EACL,KAAK,EACL,cAAc,EACd,cAAc,EACd,WAAW,EACX,WAAW,EACX,GAAG,EACH,GAAG,EACJ,GAAG,SAAS,CAAC,OAAO,CAAC;AACtB,QAAA,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;YACxB,QAAQ;YACR,MAAM;YACN,WAAW;YACX,IAAI;YACJ,MAAM;YACN,KAAK;YACL,KAAK;AACL,YAAA,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE;YACnB,WAAW,EAAE,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,EAAE,cAAc,EAAE;YACzD,QAAQ,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;AAChD,YAAA,UAAU,EAAE,CAAC,CAAC,SAAS,CAAC,UAAU;AACnC,SAAA,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,EAAE,CAAC;KACnB;AAEO,IAAA,6BAA6B,CAAC,SAAc,EAAA;AAClD,QAAA,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC;QAChF,OAAO;YACL,QAAQ;YACR,MAAM;YACN,WAAW;YACX,IAAI;YACJ,MAAM;YACN,KAAK;YACL,KAAK;AACL,YAAA,cAAc,EAAE,GAAG,CAAC,SAAS,EAAE,iBAAiB,CAAC;AACjD,YAAA,cAAc,EAAE,GAAG,CAAC,SAAS,EAAE,iBAAiB,CAAC;AACjD,YAAA,WAAW,EAAE,GAAG,CAAC,SAAS,EAAE,cAAc,CAAC;AAC3C,YAAA,WAAW,EAAE,GAAG,CAAC,SAAS,EAAE,cAAc,CAAC;AAC3C,YAAA,GAAG,EAAE,GAAG,CAAC,SAAS,EAAE,WAAW,CAAC;AAChC,YAAA,GAAG,EAAE,GAAG,CAAC,SAAS,EAAE,WAAW,CAAC;SACjC,CAAC;KACH;IAEO,MAAM,IAAI,CAAC,IAAU,EAAA;AAC3B,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;AACtB,QAAA,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;AACvB,QAAA,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,WAAW,CAAC;AACtE,QAAA,MAAM,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAC;AACpC,QAAA,MAAM,KAAK,GACT,QAAQ,IAAI,MAAM;cACd,QAAQ,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAA,IAAA,EAAO,MAAM,CAAA,CAAE,CAAC;AAChD,cAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC,CAAC;QACjE,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC7C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;AAEjE,QAAA,MAAM,eAAe,GAAG;AACtB,YAAA,OAAO,EAAE;gBACP,KAAK;gBACL,QAAQ;gBACR,MAAM;gBACN,KAAK;AACN,aAAA;AACD,YAAA,UAAU,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,+BAA+B,GAAG,EAAE,GAAG,IAAI;SACtE,CAAC;AACF,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,GAAG,eAAe,CAAC;AAEjF,QAAA,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,CAAC;AAC3B,QAAA,IAAI,EAAE,EAAE;AACN,YAAA,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;AAC9D,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;AACnC,SAAA;AACD,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;KACxB;AAEO,IAAA,YAAY,CAAC,IAAU,EAAA;QAC7B,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;KAC3C;IAEO,QAAQ,GAAA;QACd,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CACjC;AACE,YAAA,GAAG,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC;AACpB,YAAA,GAAG,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC;AACrB,SAAA,EACD,EAAE,UAAU,EAAE,CAAC,aAAa,CAAC,eAAe,EAAE,EAAE,aAAa,CAAC,oBAAoB,EAAE,CAAC,EAAE,CACxF,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CACpC;AACE,YAAA,GAAG,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC;AACpB,YAAA,GAAG,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC;AACrB,SAAA,EACD,EAAE,UAAU,EAAE,CAAC,aAAa,CAAC,eAAe,EAAE,EAAE,aAAa,CAAC,oBAAoB,EAAE,CAAC,EAAE,CACxF,CAAC;QACF,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CACvC;AACE,YAAA,GAAG,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC;AACpB,YAAA,GAAG,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC;AACrB,SAAA,EACD,EAAE,UAAU,EAAE,CAAC,aAAa,CAAC,eAAe,EAAE,EAAE,aAAa,CAAC,oBAAoB,EAAE,CAAC,EAAE,CACxF,CAAC;AACF,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAC3B;AACE,YAAA,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3D,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;AACtF,YAAA,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;AACrB,YAAA,QAAQ,EAAE;gBACR,EAAE;AACF,gBAAA;AACE,oBAAA,UAAU,CAAC,QAAQ;AACnB,oBAAA,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;AACvB,oBAAA,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC;AACzB,oBAAA,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC;AAC9B,iBAAA;AACF,aAAA;AACD,YAAA,MAAM,EAAE;gBACN,EAAE;AACF,gBAAA;AACE,oBAAA,UAAU,CAAC,QAAQ;AACnB,oBAAA,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;AACvB,oBAAA,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC;AACzB,oBAAA,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC;AAC9B,iBAAA;AACF,aAAA;YACD,KAAK,EAAE,IAAI,CAAC,KAAK;AACjB,YAAA,IAAI,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC;AACrB,YAAA,MAAM,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC;YACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,+BAA+B,EAAE,EAAE,CAAC;SAChE,EACD;AACE,YAAA,UAAU,EAAE;AACV,gBAAA,aAAa,CAAC,WAAW,CAAC,cAAc,CAAC;AACzC,gBAAA,aAAa,CAAC,WAAW,CAAC,cAAc,CAAC;AACzC,gBAAA,aAAa,CAAC,WAAW,CAAC,iBAAiB,CAAC;AAC5C,gBAAA,aAAa,CAAC,WAAW,CAAC,iBAAiB,CAAC;AAC5C,gBAAA,aAAa,CAAC,WAAW,CAAC,QAAQ,CAAC;AACpC,aAAA;AACF,SAAA,CACF,CAAC;KACH;AAEO,IAAA,gBAAgB,CAAC,KAAK,EAAA;;QAE5B,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACjD,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,GAAG,IAAG;AACzC,YAAA,IAAI,eAAe,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE;AACjC,gBAAA,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC;AAC7B,aAAA;AACH,SAAC,CAAC,CAAC;AACH,QAAA,OAAO,eAAe,CAAC;KACxB;;AAhRU,gCAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gCAAgC,uSAuBrB,wBAAwB,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;iHAvBnC,gCAAgC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,+BAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC5B7C,41ZAwVA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,ED9TY,UAAU,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,WAAA,EAAA,OAAA,EAAA,MAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,IAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,6BAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,sBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,8CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,iGAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,4BAAA,EAAA,QAAA,EAAA,uGAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,YAAA,EAAA,YAAA,EAAA,cAAA,EAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iCAAA,EAAA,QAAA,EAAA,yCAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,aAAa,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,kBAAA,EAAA,mBAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,WAAA,EAAA,cAAA,EAAA,UAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,aAAa,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,GAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,CAAA,kBAAA,EAAA,SAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,YAAA,EAAA,OAAA,EAAA,aAAA,EAAA,kBAAA,EAAA,eAAA,EAAA,eAAA,EAAA,qBAAA,EAAA,kBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,EAAA,SAAA,EAAA,UAAA,EAAA,qBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,uBAAuB,EAAA,CAAA,EAAA,CAAA,CAAA;2FAE9E,gCAAgC,EAAA,UAAA,EAAA,CAAA;kBAN5C,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,+BAA+B,EAE7B,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,uBAAuB,CAAC,EAAA,QAAA,EAAA,41ZAAA,EAAA,CAAA;;0BAyBvF,QAAQ;;0BAAI,MAAM;2BAAC,wBAAwB,CAAA;;;AEnDhD;;AAEG;;;;"}
|
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@c8y/ngx-components","version":"1018.0.89","license":"Apache-2.0","author":"Cumulocity","description":"Angular modules for Cumulocity IoT applications","keywords":["Cumulocity","IoT","m2m","Angular","Components"],"peerDependencies":{"@angular/cdk":"^14.0.6","@angular/common":"^14.0.6","@angular/core":"^14.0.6","@angular/forms":"^14.0.6","@angular/platform-browser":"^14.0.6","@angular/router":"^14.0.6","@angular/upgrade":"^14.0.6","rxjs":"~6.6.3","leaflet":"^1.7.1"},"dependencies":{"@c8y/client":"1018.0.89","@ngx-translate/core":"14.0.0","@ngx-translate/http-loader":"7.0.0","@ngx-formly/core":"6.1.3","libphonenumber-js":"1.10.17","lodash-es":"^4.0.0","ngx-bootstrap":"9.0.0","three":"0.148.0","tslib":"^2.3.1","angularx-qrcode":"14.0.0","file-saver":"2.0.5","marked":"4.2.12","semver":"~7.5.2"},"module":"fesm2015/c8y-ngx-components.mjs","es2020":"fesm2020/c8y-ngx-components.mjs","esm2020":"esm2020/c8y-ngx-components.mjs","fesm2020":"fesm2020/c8y-ngx-components.mjs","fesm2015":"fesm2015/c8y-ngx-components.mjs","typings":"index.d.ts","exports":{"./locales/de.po":"./locales/de.po","./locales/en.po":"./locales/en.po","./locales/es.po":"./locales/es.po","./locales/fr.po":"./locales/fr.po","./locales/ja_JP.po":"./locales/ja_JP.po","./locales/ko.po":"./locales/ko.po","./locales/nl.po":"./locales/nl.po","./locales/pt_BR.po":"./locales/pt_BR.po","./locales/ru.po":"./locales/ru.po","./locales/zh_CN.po":"./locales/zh_CN.po","./locales/zh_TW.po":"./locales/zh_TW.po","./locales/pl.po":"./locales/pl.po","./package.json":{"default":"./package.json"},".":{"types":"./index.d.ts","esm2020":"./esm2020/c8y-ngx-components.mjs","es2020":"./fesm2020/c8y-ngx-components.mjs","es2015":"./fesm2015/c8y-ngx-components.mjs","node":"./fesm2015/c8y-ngx-components.mjs","default":"./fesm2020/c8y-ngx-components.mjs"},"./actility-device-registration":{"types":"./actility-device-registration/index.d.ts","esm2020":"./esm2020/actility-device-registration/c8y-ngx-components-actility-device-registration.mjs","es2020":"./fesm2020/c8y-ngx-components-actility-device-registration.mjs","es2015":"./fesm2015/c8y-ngx-components-actility-device-registration.mjs","node":"./fesm2015/c8y-ngx-components-actility-device-registration.mjs","default":"./fesm2020/c8y-ngx-components-actility-device-registration.mjs"},"./api":{"types":"./api/index.d.ts","esm2020":"./esm2020/api/c8y-ngx-components-api.mjs","es2020":"./fesm2020/c8y-ngx-components-api.mjs","es2015":"./fesm2015/c8y-ngx-components-api.mjs","node":"./fesm2015/c8y-ngx-components-api.mjs","default":"./fesm2020/c8y-ngx-components-api.mjs"},"./app-logs":{"types":"./app-logs/index.d.ts","esm2020":"./esm2020/app-logs/c8y-ngx-components-app-logs.mjs","es2020":"./fesm2020/c8y-ngx-components-app-logs.mjs","es2015":"./fesm2015/c8y-ngx-components-app-logs.mjs","node":"./fesm2015/c8y-ngx-components-app-logs.mjs","default":"./fesm2020/c8y-ngx-components-app-logs.mjs"},"./assets-navigator":{"types":"./assets-navigator/index.d.ts","esm2020":"./esm2020/assets-navigator/c8y-ngx-components-assets-navigator.mjs","es2020":"./fesm2020/c8y-ngx-components-assets-navigator.mjs","es2015":"./fesm2015/c8y-ngx-components-assets-navigator.mjs","node":"./fesm2015/c8y-ngx-components-assets-navigator.mjs","default":"./fesm2020/c8y-ngx-components-assets-navigator.mjs"},"./auth-configuration":{"types":"./auth-configuration/index.d.ts","esm2020":"./esm2020/auth-configuration/c8y-ngx-components-auth-configuration.mjs","es2020":"./fesm2020/c8y-ngx-components-auth-configuration.mjs","es2015":"./fesm2015/c8y-ngx-components-auth-configuration.mjs","node":"./fesm2015/c8y-ngx-components-auth-configuration.mjs","default":"./fesm2020/c8y-ngx-components-auth-configuration.mjs"},"./binary-file-download":{"types":"./binary-file-download/index.d.ts","esm2020":"./esm2020/binary-file-download/c8y-ngx-components-binary-file-download.mjs","es2020":"./fesm2020/c8y-ngx-components-binary-file-download.mjs","es2015":"./fesm2015/c8y-ngx-components-binary-file-download.mjs","node":"./fesm2015/c8y-ngx-components-binary-file-download.mjs","default":"./fesm2020/c8y-ngx-components-binary-file-download.mjs"},"./child-devices":{"types":"./child-devices/index.d.ts","esm2020":"./esm2020/child-devices/c8y-ngx-components-child-devices.mjs","es2020":"./fesm2020/c8y-ngx-components-child-devices.mjs","es2015":"./fesm2015/c8y-ngx-components-child-devices.mjs","node":"./fesm2015/c8y-ngx-components-child-devices.mjs","default":"./fesm2020/c8y-ngx-components-child-devices.mjs"},"./cockpit-config":{"types":"./cockpit-config/index.d.ts","esm2020":"./esm2020/cockpit-config/c8y-ngx-components-cockpit-config.mjs","es2020":"./fesm2020/c8y-ngx-components-cockpit-config.mjs","es2015":"./fesm2015/c8y-ngx-components-cockpit-config.mjs","node":"./fesm2015/c8y-ngx-components-cockpit-config.mjs","default":"./fesm2020/c8y-ngx-components-cockpit-config.mjs"},"./connectivity":{"types":"./connectivity/index.d.ts","esm2020":"./esm2020/connectivity/c8y-ngx-components-connectivity.mjs","es2020":"./fesm2020/c8y-ngx-components-connectivity.mjs","es2015":"./fesm2015/c8y-ngx-components-connectivity.mjs","node":"./fesm2015/c8y-ngx-components-connectivity.mjs","default":"./fesm2020/c8y-ngx-components-connectivity.mjs"},"./context-dashboard":{"types":"./context-dashboard/index.d.ts","esm2020":"./esm2020/context-dashboard/c8y-ngx-components-context-dashboard.mjs","es2020":"./fesm2020/c8y-ngx-components-context-dashboard.mjs","es2015":"./fesm2015/c8y-ngx-components-context-dashboard.mjs","node":"./fesm2015/c8y-ngx-components-context-dashboard.mjs","default":"./fesm2020/c8y-ngx-components-context-dashboard.mjs"},"./data-broker":{"types":"./data-broker/index.d.ts","esm2020":"./esm2020/data-broker/c8y-ngx-components-data-broker.mjs","es2020":"./fesm2020/c8y-ngx-components-data-broker.mjs","es2015":"./fesm2015/c8y-ngx-components-data-broker.mjs","node":"./fesm2015/c8y-ngx-components-data-broker.mjs","default":"./fesm2020/c8y-ngx-components-data-broker.mjs"},"./datapoint-library/details":{"types":"./datapoint-library/details/index.d.ts","esm2020":"./esm2020/datapoint-library/details/c8y-ngx-components-datapoint-library-details.mjs","es2020":"./fesm2020/c8y-ngx-components-datapoint-library-details.mjs","es2015":"./fesm2015/c8y-ngx-components-datapoint-library-details.mjs","node":"./fesm2015/c8y-ngx-components-datapoint-library-details.mjs","default":"./fesm2020/c8y-ngx-components-datapoint-library-details.mjs"},"./datapoint-library/list":{"types":"./datapoint-library/list/index.d.ts","esm2020":"./esm2020/datapoint-library/list/c8y-ngx-components-datapoint-library-list.mjs","es2020":"./fesm2020/c8y-ngx-components-datapoint-library-list.mjs","es2015":"./fesm2015/c8y-ngx-components-datapoint-library-list.mjs","node":"./fesm2015/c8y-ngx-components-datapoint-library-list.mjs","default":"./fesm2020/c8y-ngx-components-datapoint-library-list.mjs"},"./datapoint-library/model":{"types":"./datapoint-library/model/index.d.ts","esm2020":"./esm2020/datapoint-library/model/c8y-ngx-components-datapoint-library-model.mjs","es2020":"./fesm2020/c8y-ngx-components-datapoint-library-model.mjs","es2015":"./fesm2015/c8y-ngx-components-datapoint-library-model.mjs","node":"./fesm2015/c8y-ngx-components-datapoint-library-model.mjs","default":"./fesm2020/c8y-ngx-components-datapoint-library-model.mjs"},"./datapoint-library":{"types":"./datapoint-library/index.d.ts","esm2020":"./esm2020/datapoint-library/c8y-ngx-components-datapoint-library.mjs","es2020":"./fesm2020/c8y-ngx-components-datapoint-library.mjs","es2015":"./fesm2015/c8y-ngx-components-datapoint-library.mjs","node":"./fesm2015/c8y-ngx-components-datapoint-library.mjs","default":"./fesm2020/c8y-ngx-components-datapoint-library.mjs"},"./datapoint-library/services":{"types":"./datapoint-library/services/index.d.ts","esm2020":"./esm2020/datapoint-library/services/c8y-ngx-components-datapoint-library-services.mjs","es2020":"./fesm2020/c8y-ngx-components-datapoint-library-services.mjs","es2015":"./fesm2015/c8y-ngx-components-datapoint-library-services.mjs","node":"./fesm2015/c8y-ngx-components-datapoint-library-services.mjs","default":"./fesm2020/c8y-ngx-components-datapoint-library-services.mjs"},"./datapoint-selector":{"types":"./datapoint-selector/index.d.ts","esm2020":"./esm2020/datapoint-selector/c8y-ngx-components-datapoint-selector.mjs","es2020":"./fesm2020/c8y-ngx-components-datapoint-selector.mjs","es2015":"./fesm2015/c8y-ngx-components-datapoint-selector.mjs","node":"./fesm2015/c8y-ngx-components-datapoint-selector.mjs","default":"./fesm2020/c8y-ngx-components-datapoint-selector.mjs"},"./default-subscriptions":{"types":"./default-subscriptions/index.d.ts","esm2020":"./esm2020/default-subscriptions/c8y-ngx-components-default-subscriptions.mjs","es2020":"./fesm2020/c8y-ngx-components-default-subscriptions.mjs","es2015":"./fesm2015/c8y-ngx-components-default-subscriptions.mjs","node":"./fesm2015/c8y-ngx-components-default-subscriptions.mjs","default":"./fesm2020/c8y-ngx-components-default-subscriptions.mjs"},"./device-grid":{"types":"./device-grid/index.d.ts","esm2020":"./esm2020/device-grid/c8y-ngx-components-device-grid.mjs","es2020":"./fesm2020/c8y-ngx-components-device-grid.mjs","es2015":"./fesm2015/c8y-ngx-components-device-grid.mjs","node":"./fesm2015/c8y-ngx-components-device-grid.mjs","default":"./fesm2020/c8y-ngx-components-device-grid.mjs"},"./device-list":{"types":"./device-list/index.d.ts","esm2020":"./esm2020/device-list/c8y-ngx-components-device-list.mjs","es2020":"./fesm2020/c8y-ngx-components-device-list.mjs","es2015":"./fesm2015/c8y-ngx-components-device-list.mjs","node":"./fesm2015/c8y-ngx-components-device-list.mjs","default":"./fesm2020/c8y-ngx-components-device-list.mjs"},"./device-profile":{"types":"./device-profile/index.d.ts","esm2020":"./esm2020/device-profile/c8y-ngx-components-device-profile.mjs","es2020":"./fesm2020/c8y-ngx-components-device-profile.mjs","es2015":"./fesm2015/c8y-ngx-components-device-profile.mjs","node":"./fesm2015/c8y-ngx-components-device-profile.mjs","default":"./fesm2020/c8y-ngx-components-device-profile.mjs"},"./device-shell":{"types":"./device-shell/index.d.ts","esm2020":"./esm2020/device-shell/c8y-ngx-components-device-shell.mjs","es2020":"./fesm2020/c8y-ngx-components-device-shell.mjs","es2015":"./fesm2015/c8y-ngx-components-device-shell.mjs","node":"./fesm2015/c8y-ngx-components-device-shell.mjs","default":"./fesm2020/c8y-ngx-components-device-shell.mjs"},"./diagnostics":{"types":"./diagnostics/index.d.ts","esm2020":"./esm2020/diagnostics/c8y-ngx-components-diagnostics.mjs","es2020":"./fesm2020/c8y-ngx-components-diagnostics.mjs","es2015":"./fesm2015/c8y-ngx-components-diagnostics.mjs","node":"./fesm2015/c8y-ngx-components-diagnostics.mjs","default":"./fesm2020/c8y-ngx-components-diagnostics.mjs"},"./ecosystem/application-plugins":{"types":"./ecosystem/application-plugins/index.d.ts","esm2020":"./esm2020/ecosystem/application-plugins/c8y-ngx-components-ecosystem-application-plugins.mjs","es2020":"./fesm2020/c8y-ngx-components-ecosystem-application-plugins.mjs","es2015":"./fesm2015/c8y-ngx-components-ecosystem-application-plugins.mjs","node":"./fesm2015/c8y-ngx-components-ecosystem-application-plugins.mjs","default":"./fesm2020/c8y-ngx-components-ecosystem-application-plugins.mjs"},"./ecosystem/license-confirm":{"types":"./ecosystem/license-confirm/index.d.ts","esm2020":"./esm2020/ecosystem/license-confirm/c8y-ngx-components-ecosystem-license-confirm.mjs","es2020":"./fesm2020/c8y-ngx-components-ecosystem-license-confirm.mjs","es2015":"./fesm2015/c8y-ngx-components-ecosystem-license-confirm.mjs","node":"./fesm2015/c8y-ngx-components-ecosystem-license-confirm.mjs","default":"./fesm2020/c8y-ngx-components-ecosystem-license-confirm.mjs"},"./ecosystem":{"types":"./ecosystem/index.d.ts","esm2020":"./esm2020/ecosystem/c8y-ngx-components-ecosystem.mjs","es2020":"./fesm2020/c8y-ngx-components-ecosystem.mjs","es2015":"./fesm2015/c8y-ngx-components-ecosystem.mjs","node":"./fesm2015/c8y-ngx-components-ecosystem.mjs","default":"./fesm2020/c8y-ngx-components-ecosystem.mjs"},"./ecosystem/plugin-setup-stepper":{"types":"./ecosystem/plugin-setup-stepper/index.d.ts","esm2020":"./esm2020/ecosystem/plugin-setup-stepper/c8y-ngx-components-ecosystem-plugin-setup-stepper.mjs","es2020":"./fesm2020/c8y-ngx-components-ecosystem-plugin-setup-stepper.mjs","es2015":"./fesm2015/c8y-ngx-components-ecosystem-plugin-setup-stepper.mjs","node":"./fesm2015/c8y-ngx-components-ecosystem-plugin-setup-stepper.mjs","default":"./fesm2020/c8y-ngx-components-ecosystem-plugin-setup-stepper.mjs"},"./ecosystem/shared":{"types":"./ecosystem/shared/index.d.ts","esm2020":"./esm2020/ecosystem/shared/c8y-ngx-components-ecosystem-shared.mjs","es2020":"./fesm2020/c8y-ngx-components-ecosystem-shared.mjs","es2015":"./fesm2015/c8y-ngx-components-ecosystem-shared.mjs","node":"./fesm2015/c8y-ngx-components-ecosystem-shared.mjs","default":"./fesm2020/c8y-ngx-components-ecosystem-shared.mjs"},"./file-preview":{"types":"./file-preview/index.d.ts","esm2020":"./esm2020/file-preview/c8y-ngx-components-file-preview.mjs","es2020":"./fesm2020/c8y-ngx-components-file-preview.mjs","es2015":"./fesm2015/c8y-ngx-components-file-preview.mjs","node":"./fesm2015/c8y-ngx-components-file-preview.mjs","default":"./fesm2020/c8y-ngx-components-file-preview.mjs"},"./files-repository":{"types":"./files-repository/index.d.ts","esm2020":"./esm2020/files-repository/c8y-ngx-components-files-repository.mjs","es2020":"./fesm2020/c8y-ngx-components-files-repository.mjs","es2015":"./fesm2015/c8y-ngx-components-files-repository.mjs","node":"./fesm2015/c8y-ngx-components-files-repository.mjs","default":"./fesm2020/c8y-ngx-components-files-repository.mjs"},"./icon-selector/icons/arrows":{"types":"./icon-selector/icons/arrows/index.d.ts","esm2020":"./esm2020/icon-selector/icons/arrows/c8y-ngx-components-icon-selector-icons-arrows.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-arrows.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-arrows.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-arrows.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-arrows.mjs"},"./icon-selector/icons/city":{"types":"./icon-selector/icons/city/index.d.ts","esm2020":"./esm2020/icon-selector/icons/city/c8y-ngx-components-icon-selector-icons-city.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-city.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-city.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-city.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-city.mjs"},"./icon-selector/icons/data":{"types":"./icon-selector/icons/data/index.d.ts","esm2020":"./esm2020/icon-selector/icons/data/c8y-ngx-components-icon-selector-icons-data.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-data.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-data.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-data.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-data.mjs"},"./icon-selector/icons/dateAndTime":{"types":"./icon-selector/icons/dateAndTime/index.d.ts","esm2020":"./esm2020/icon-selector/icons/dateAndTime/c8y-ngx-components-icon-selector-icons-dateAndTime.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-dateAndTime.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-dateAndTime.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-dateAndTime.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-dateAndTime.mjs"},"./icon-selector/icons/devicesAndSensors":{"types":"./icon-selector/icons/devicesAndSensors/index.d.ts","esm2020":"./esm2020/icon-selector/icons/devicesAndSensors/c8y-ngx-components-icon-selector-icons-devicesAndSensors.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-devicesAndSensors.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-devicesAndSensors.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-devicesAndSensors.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-devicesAndSensors.mjs"},"./icon-selector/icons/ecommerce":{"types":"./icon-selector/icons/ecommerce/index.d.ts","esm2020":"./esm2020/icon-selector/icons/ecommerce/c8y-ngx-components-icon-selector-icons-ecommerce.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-ecommerce.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-ecommerce.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-ecommerce.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-ecommerce.mjs"},"./icon-selector/icons/editing":{"types":"./icon-selector/icons/editing/index.d.ts","esm2020":"./esm2020/icon-selector/icons/editing/c8y-ngx-components-icon-selector-icons-editing.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-editing.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-editing.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-editing.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-editing.mjs"},"./icon-selector/icons/filesAndFolders":{"types":"./icon-selector/icons/filesAndFolders/index.d.ts","esm2020":"./esm2020/icon-selector/icons/filesAndFolders/c8y-ngx-components-icon-selector-icons-filesAndFolders.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-filesAndFolders.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-filesAndFolders.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-filesAndFolders.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-filesAndFolders.mjs"},"./icon-selector/icons/finance":{"types":"./icon-selector/icons/finance/index.d.ts","esm2020":"./esm2020/icon-selector/icons/finance/c8y-ngx-components-icon-selector-icons-finance.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-finance.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-finance.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-finance.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-finance.mjs"},"./icon-selector/icons/hands":{"types":"./icon-selector/icons/hands/index.d.ts","esm2020":"./esm2020/icon-selector/icons/hands/c8y-ngx-components-icon-selector-icons-hands.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-hands.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-hands.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-hands.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-hands.mjs"},"./icon-selector/icons/location":{"types":"./icon-selector/icons/location/index.d.ts","esm2020":"./esm2020/icon-selector/icons/location/c8y-ngx-components-icon-selector-icons-location.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-location.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-location.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-location.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-location.mjs"},"./icon-selector/icons/messaging":{"types":"./icon-selector/icons/messaging/index.d.ts","esm2020":"./esm2020/icon-selector/icons/messaging/c8y-ngx-components-icon-selector-icons-messaging.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-messaging.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-messaging.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-messaging.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-messaging.mjs"},"./icon-selector/icons/multimedia":{"types":"./icon-selector/icons/multimedia/index.d.ts","esm2020":"./esm2020/icon-selector/icons/multimedia/c8y-ngx-components-icon-selector-icons-multimedia.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-multimedia.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-multimedia.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-multimedia.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-multimedia.mjs"},"./icon-selector/icons/network":{"types":"./icon-selector/icons/network/index.d.ts","esm2020":"./esm2020/icon-selector/icons/network/c8y-ngx-components-icon-selector-icons-network.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-network.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-network.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-network.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-network.mjs"},"./icon-selector/icons":{"types":"./icon-selector/icons/index.d.ts","esm2020":"./esm2020/icon-selector/icons/c8y-ngx-components-icon-selector-icons.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons.mjs"},"./icon-selector/icons/office":{"types":"./icon-selector/icons/office/index.d.ts","esm2020":"./esm2020/icon-selector/icons/office/c8y-ngx-components-icon-selector-icons-office.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-office.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-office.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-office.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-office.mjs"},"./icon-selector/icons/people":{"types":"./icon-selector/icons/people/index.d.ts","esm2020":"./esm2020/icon-selector/icons/people/c8y-ngx-components-icon-selector-icons-people.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-people.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-people.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-people.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-people.mjs"},"./icon-selector/icons/platform":{"types":"./icon-selector/icons/platform/index.d.ts","esm2020":"./esm2020/icon-selector/icons/platform/c8y-ngx-components-icon-selector-icons-platform.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-platform.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-platform.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-platform.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-platform.mjs"},"./icon-selector/icons/programming":{"types":"./icon-selector/icons/programming/index.d.ts","esm2020":"./esm2020/icon-selector/icons/programming/c8y-ngx-components-icon-selector-icons-programming.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-programming.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-programming.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-programming.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-programming.mjs"},"./icon-selector/icons/security":{"types":"./icon-selector/icons/security/index.d.ts","esm2020":"./esm2020/icon-selector/icons/security/c8y-ngx-components-icon-selector-icons-security.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-security.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-security.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-security.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-security.mjs"},"./icon-selector/icons/transport":{"types":"./icon-selector/icons/transport/index.d.ts","esm2020":"./esm2020/icon-selector/icons/transport/c8y-ngx-components-icon-selector-icons-transport.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-transport.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-transport.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-transport.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-transport.mjs"},"./icon-selector/icons/userInterface":{"types":"./icon-selector/icons/userInterface/index.d.ts","esm2020":"./esm2020/icon-selector/icons/userInterface/c8y-ngx-components-icon-selector-icons-userInterface.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-userInterface.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-userInterface.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-userInterface.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-userInterface.mjs"},"./icon-selector/icons/weather":{"types":"./icon-selector/icons/weather/index.d.ts","esm2020":"./esm2020/icon-selector/icons/weather/c8y-ngx-components-icon-selector-icons-weather.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-weather.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-weather.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-weather.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-weather.mjs"},"./icon-selector/model":{"types":"./icon-selector/model/index.d.ts","esm2020":"./esm2020/icon-selector/model/c8y-ngx-components-icon-selector-model.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-model.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-model.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-model.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-model.mjs"},"./icon-selector":{"types":"./icon-selector/index.d.ts","esm2020":"./esm2020/icon-selector/c8y-ngx-components-icon-selector.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector.mjs"},"./lazy/three-orbit-controls":{"types":"./lazy/three-orbit-controls/index.d.ts","esm2020":"./esm2020/lazy/three-orbit-controls/c8y-ngx-components-lazy-three-orbit-controls.mjs","es2020":"./fesm2020/c8y-ngx-components-lazy-three-orbit-controls.mjs","es2015":"./fesm2015/c8y-ngx-components-lazy-three-orbit-controls.mjs","node":"./fesm2015/c8y-ngx-components-lazy-three-orbit-controls.mjs","default":"./fesm2020/c8y-ngx-components-lazy-three-orbit-controls.mjs"},"./lazy/three":{"types":"./lazy/three/index.d.ts","esm2020":"./esm2020/lazy/three/c8y-ngx-components-lazy-three.mjs","es2020":"./fesm2020/c8y-ngx-components-lazy-three.mjs","es2015":"./fesm2015/c8y-ngx-components-lazy-three.mjs","node":"./fesm2015/c8y-ngx-components-lazy-three.mjs","default":"./fesm2020/c8y-ngx-components-lazy-three.mjs"},"./loriot-device-registration":{"types":"./loriot-device-registration/index.d.ts","esm2020":"./esm2020/loriot-device-registration/c8y-ngx-components-loriot-device-registration.mjs","es2020":"./fesm2020/c8y-ngx-components-loriot-device-registration.mjs","es2015":"./fesm2015/c8y-ngx-components-loriot-device-registration.mjs","node":"./fesm2015/c8y-ngx-components-loriot-device-registration.mjs","default":"./fesm2020/c8y-ngx-components-loriot-device-registration.mjs"},"./map":{"types":"./map/index.d.ts","esm2020":"./esm2020/map/c8y-ngx-components-map.mjs","es2020":"./fesm2020/c8y-ngx-components-map.mjs","es2015":"./fesm2015/c8y-ngx-components-map.mjs","node":"./fesm2015/c8y-ngx-components-map.mjs","default":"./fesm2020/c8y-ngx-components-map.mjs"},"./operations/bulk-operation-from-single":{"types":"./operations/bulk-operation-from-single/index.d.ts","esm2020":"./esm2020/operations/bulk-operation-from-single/c8y-ngx-components-operations-bulk-operation-from-single.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-bulk-operation-from-single.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-bulk-operation-from-single.mjs","node":"./fesm2015/c8y-ngx-components-operations-bulk-operation-from-single.mjs","default":"./fesm2020/c8y-ngx-components-operations-bulk-operation-from-single.mjs"},"./operations/bulk-operation-list-item":{"types":"./operations/bulk-operation-list-item/index.d.ts","esm2020":"./esm2020/operations/bulk-operation-list-item/c8y-ngx-components-operations-bulk-operation-list-item.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-bulk-operation-list-item.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-bulk-operation-list-item.mjs","node":"./fesm2015/c8y-ngx-components-operations-bulk-operation-list-item.mjs","default":"./fesm2020/c8y-ngx-components-operations-bulk-operation-list-item.mjs"},"./operations/bulk-operation-modal-details":{"types":"./operations/bulk-operation-modal-details/index.d.ts","esm2020":"./esm2020/operations/bulk-operation-modal-details/c8y-ngx-components-operations-bulk-operation-modal-details.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-bulk-operation-modal-details.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-bulk-operation-modal-details.mjs","node":"./fesm2015/c8y-ngx-components-operations-bulk-operation-modal-details.mjs","default":"./fesm2020/c8y-ngx-components-operations-bulk-operation-modal-details.mjs"},"./operations/bulk-operation-scheduler":{"types":"./operations/bulk-operation-scheduler/index.d.ts","esm2020":"./esm2020/operations/bulk-operation-scheduler/c8y-ngx-components-operations-bulk-operation-scheduler.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-bulk-operation-scheduler.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-bulk-operation-scheduler.mjs","node":"./fesm2015/c8y-ngx-components-operations-bulk-operation-scheduler.mjs","default":"./fesm2020/c8y-ngx-components-operations-bulk-operation-scheduler.mjs"},"./operations/bulk-operation-stepper":{"types":"./operations/bulk-operation-stepper/index.d.ts","esm2020":"./esm2020/operations/bulk-operation-stepper/c8y-ngx-components-operations-bulk-operation-stepper.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-bulk-operation-stepper.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-bulk-operation-stepper.mjs","node":"./fesm2015/c8y-ngx-components-operations-bulk-operation-stepper.mjs","default":"./fesm2020/c8y-ngx-components-operations-bulk-operation-stepper.mjs"},"./operations/bulk-operations-list":{"types":"./operations/bulk-operations-list/index.d.ts","esm2020":"./esm2020/operations/bulk-operations-list/c8y-ngx-components-operations-bulk-operations-list.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-bulk-operations-list.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-bulk-operations-list.mjs","node":"./fesm2015/c8y-ngx-components-operations-bulk-operations-list.mjs","default":"./fesm2020/c8y-ngx-components-operations-bulk-operations-list.mjs"},"./operations/bulk-operations-service":{"types":"./operations/bulk-operations-service/index.d.ts","esm2020":"./esm2020/operations/bulk-operations-service/c8y-ngx-components-operations-bulk-operations-service.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-bulk-operations-service.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-bulk-operations-service.mjs","node":"./fesm2015/c8y-ngx-components-operations-bulk-operations-service.mjs","default":"./fesm2020/c8y-ngx-components-operations-bulk-operations-service.mjs"},"./operations/bulk-operations-stepper-container":{"types":"./operations/bulk-operations-stepper-container/index.d.ts","esm2020":"./esm2020/operations/bulk-operations-stepper-container/c8y-ngx-components-operations-bulk-operations-stepper-container.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-bulk-operations-stepper-container.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-bulk-operations-stepper-container.mjs","node":"./fesm2015/c8y-ngx-components-operations-bulk-operations-stepper-container.mjs","default":"./fesm2020/c8y-ngx-components-operations-bulk-operations-stepper-container.mjs"},"./operations/bulk-single-operations-list":{"types":"./operations/bulk-single-operations-list/index.d.ts","esm2020":"./esm2020/operations/bulk-single-operations-list/c8y-ngx-components-operations-bulk-single-operations-list.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-bulk-single-operations-list.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-bulk-single-operations-list.mjs","node":"./fesm2015/c8y-ngx-components-operations-bulk-single-operations-list.mjs","default":"./fesm2020/c8y-ngx-components-operations-bulk-single-operations-list.mjs"},"./operations/create-bulk-operation-details":{"types":"./operations/create-bulk-operation-details/index.d.ts","esm2020":"./esm2020/operations/create-bulk-operation-details/c8y-ngx-components-operations-create-bulk-operation-details.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-create-bulk-operation-details.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-create-bulk-operation-details.mjs","node":"./fesm2015/c8y-ngx-components-operations-create-bulk-operation-details.mjs","default":"./fesm2020/c8y-ngx-components-operations-create-bulk-operation-details.mjs"},"./operations/device-selector":{"types":"./operations/device-selector/index.d.ts","esm2020":"./esm2020/operations/device-selector/c8y-ngx-components-operations-device-selector.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-device-selector.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-device-selector.mjs","node":"./fesm2015/c8y-ngx-components-operations-device-selector.mjs","default":"./fesm2020/c8y-ngx-components-operations-device-selector.mjs"},"./operations":{"types":"./operations/index.d.ts","esm2020":"./esm2020/operations/c8y-ngx-components-operations.mjs","es2020":"./fesm2020/c8y-ngx-components-operations.mjs","es2015":"./fesm2015/c8y-ngx-components-operations.mjs","node":"./fesm2015/c8y-ngx-components-operations.mjs","default":"./fesm2020/c8y-ngx-components-operations.mjs"},"./operations/operation-details":{"types":"./operations/operation-details/index.d.ts","esm2020":"./esm2020/operations/operation-details/c8y-ngx-components-operations-operation-details.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-operation-details.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-operation-details.mjs","node":"./fesm2015/c8y-ngx-components-operations-operation-details.mjs","default":"./fesm2020/c8y-ngx-components-operations-operation-details.mjs"},"./operations/operation-summary":{"types":"./operations/operation-summary/index.d.ts","esm2020":"./esm2020/operations/operation-summary/c8y-ngx-components-operations-operation-summary.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-operation-summary.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-operation-summary.mjs","node":"./fesm2015/c8y-ngx-components-operations-operation-summary.mjs","default":"./fesm2020/c8y-ngx-components-operations-operation-summary.mjs"},"./operations/operations-list-item-details":{"types":"./operations/operations-list-item-details/index.d.ts","esm2020":"./esm2020/operations/operations-list-item-details/c8y-ngx-components-operations-operations-list-item-details.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-operations-list-item-details.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-operations-list-item-details.mjs","node":"./fesm2015/c8y-ngx-components-operations-operations-list-item-details.mjs","default":"./fesm2020/c8y-ngx-components-operations-operations-list-item-details.mjs"},"./operations/operations-list":{"types":"./operations/operations-list/index.d.ts","esm2020":"./esm2020/operations/operations-list/c8y-ngx-components-operations-operations-list.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-operations-list.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-operations-list.mjs","node":"./fesm2015/c8y-ngx-components-operations-operations-list.mjs","default":"./fesm2020/c8y-ngx-components-operations-operations-list.mjs"},"./operations/operations-timeline":{"types":"./operations/operations-timeline/index.d.ts","esm2020":"./esm2020/operations/operations-timeline/c8y-ngx-components-operations-operations-timeline.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-operations-timeline.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-operations-timeline.mjs","node":"./fesm2015/c8y-ngx-components-operations-operations-timeline.mjs","default":"./fesm2020/c8y-ngx-components-operations-operations-timeline.mjs"},"./operations/product-experience":{"types":"./operations/product-experience/index.d.ts","esm2020":"./esm2020/operations/product-experience/c8y-ngx-components-operations-product-experience.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-product-experience.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-product-experience.mjs","node":"./fesm2015/c8y-ngx-components-operations-product-experience.mjs","default":"./fesm2020/c8y-ngx-components-operations-product-experience.mjs"},"./operations/shared":{"types":"./operations/shared/index.d.ts","esm2020":"./esm2020/operations/shared/c8y-ngx-components-operations-shared.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-shared.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-shared.mjs","node":"./fesm2015/c8y-ngx-components-operations-shared.mjs","default":"./fesm2020/c8y-ngx-components-operations-shared.mjs"},"./operations/status-filter":{"types":"./operations/status-filter/index.d.ts","esm2020":"./esm2020/operations/status-filter/c8y-ngx-components-operations-status-filter.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-status-filter.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-status-filter.mjs","node":"./fesm2015/c8y-ngx-components-operations-status-filter.mjs","default":"./fesm2020/c8y-ngx-components-operations-status-filter.mjs"},"./operations/stepper-bulk-type-configuration":{"types":"./operations/stepper-bulk-type-configuration/index.d.ts","esm2020":"./esm2020/operations/stepper-bulk-type-configuration/c8y-ngx-components-operations-stepper-bulk-type-configuration.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-stepper-bulk-type-configuration.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-stepper-bulk-type-configuration.mjs","node":"./fesm2015/c8y-ngx-components-operations-stepper-bulk-type-configuration.mjs","default":"./fesm2020/c8y-ngx-components-operations-stepper-bulk-type-configuration.mjs"},"./operations/stepper-bulk-type-device-profile":{"types":"./operations/stepper-bulk-type-device-profile/index.d.ts","esm2020":"./esm2020/operations/stepper-bulk-type-device-profile/c8y-ngx-components-operations-stepper-bulk-type-device-profile.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-stepper-bulk-type-device-profile.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-stepper-bulk-type-device-profile.mjs","node":"./fesm2015/c8y-ngx-components-operations-stepper-bulk-type-device-profile.mjs","default":"./fesm2020/c8y-ngx-components-operations-stepper-bulk-type-device-profile.mjs"},"./operations/stepper-bulk-type-firmware":{"types":"./operations/stepper-bulk-type-firmware/index.d.ts","esm2020":"./esm2020/operations/stepper-bulk-type-firmware/c8y-ngx-components-operations-stepper-bulk-type-firmware.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-stepper-bulk-type-firmware.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-stepper-bulk-type-firmware.mjs","node":"./fesm2015/c8y-ngx-components-operations-stepper-bulk-type-firmware.mjs","default":"./fesm2020/c8y-ngx-components-operations-stepper-bulk-type-firmware.mjs"},"./operations/stepper-bulk-type-software":{"types":"./operations/stepper-bulk-type-software/index.d.ts","esm2020":"./esm2020/operations/stepper-bulk-type-software/c8y-ngx-components-operations-stepper-bulk-type-software.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-stepper-bulk-type-software.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-stepper-bulk-type-software.mjs","node":"./fesm2015/c8y-ngx-components-operations-stepper-bulk-type-software.mjs","default":"./fesm2020/c8y-ngx-components-operations-stepper-bulk-type-software.mjs"},"./operations/stepper-frames":{"types":"./operations/stepper-frames/index.d.ts","esm2020":"./esm2020/operations/stepper-frames/c8y-ngx-components-operations-stepper-frames.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-stepper-frames.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-stepper-frames.mjs","node":"./fesm2015/c8y-ngx-components-operations-stepper-frames.mjs","default":"./fesm2020/c8y-ngx-components-operations-stepper-frames.mjs"},"./polyfills":{"types":"./polyfills/index.d.ts","esm2020":"./esm2020/polyfills/c8y-ngx-components-polyfills.mjs","es2020":"./fesm2020/c8y-ngx-components-polyfills.mjs","es2015":"./fesm2015/c8y-ngx-components-polyfills.mjs","node":"./fesm2015/c8y-ngx-components-polyfills.mjs","default":"./fesm2020/c8y-ngx-components-polyfills.mjs"},"./protocol-impact":{"types":"./protocol-impact/index.d.ts","esm2020":"./esm2020/protocol-impact/c8y-ngx-components-protocol-impact.mjs","es2020":"./fesm2020/c8y-ngx-components-protocol-impact.mjs","es2015":"./fesm2015/c8y-ngx-components-protocol-impact.mjs","node":"./fesm2015/c8y-ngx-components-protocol-impact.mjs","default":"./fesm2020/c8y-ngx-components-protocol-impact.mjs"},"./protocol-lpwan":{"types":"./protocol-lpwan/index.d.ts","esm2020":"./esm2020/protocol-lpwan/c8y-ngx-components-protocol-lpwan.mjs","es2020":"./fesm2020/c8y-ngx-components-protocol-lpwan.mjs","es2015":"./fesm2015/c8y-ngx-components-protocol-lpwan.mjs","node":"./fesm2015/c8y-ngx-components-protocol-lpwan.mjs","default":"./fesm2020/c8y-ngx-components-protocol-lpwan.mjs"},"./protocol-lwm2m/components/bootstrap-parameters":{"types":"./protocol-lwm2m/components/bootstrap-parameters/index.d.ts","esm2020":"./esm2020/protocol-lwm2m/components/bootstrap-parameters/c8y-ngx-components-protocol-lwm2m-components-bootstrap-parameters.mjs","es2020":"./fesm2020/c8y-ngx-components-protocol-lwm2m-components-bootstrap-parameters.mjs","es2015":"./fesm2015/c8y-ngx-components-protocol-lwm2m-components-bootstrap-parameters.mjs","node":"./fesm2015/c8y-ngx-components-protocol-lwm2m-components-bootstrap-parameters.mjs","default":"./fesm2020/c8y-ngx-components-protocol-lwm2m-components-bootstrap-parameters.mjs"},"./protocol-lwm2m/components/post-registration-operations":{"types":"./protocol-lwm2m/components/post-registration-operations/index.d.ts","esm2020":"./esm2020/protocol-lwm2m/components/post-registration-operations/c8y-ngx-components-protocol-lwm2m-components-post-registration-operations.mjs","es2020":"./fesm2020/c8y-ngx-components-protocol-lwm2m-components-post-registration-operations.mjs","es2015":"./fesm2015/c8y-ngx-components-protocol-lwm2m-components-post-registration-operations.mjs","node":"./fesm2015/c8y-ngx-components-protocol-lwm2m-components-post-registration-operations.mjs","default":"./fesm2020/c8y-ngx-components-protocol-lwm2m-components-post-registration-operations.mjs"},"./protocol-lwm2m/factories":{"types":"./protocol-lwm2m/factories/index.d.ts","esm2020":"./esm2020/protocol-lwm2m/factories/c8y-ngx-components-protocol-lwm2m-factories.mjs","es2020":"./fesm2020/c8y-ngx-components-protocol-lwm2m-factories.mjs","es2015":"./fesm2015/c8y-ngx-components-protocol-lwm2m-factories.mjs","node":"./fesm2015/c8y-ngx-components-protocol-lwm2m-factories.mjs","default":"./fesm2020/c8y-ngx-components-protocol-lwm2m-factories.mjs"},"./protocol-lwm2m/guards":{"types":"./protocol-lwm2m/guards/index.d.ts","esm2020":"./esm2020/protocol-lwm2m/guards/c8y-ngx-components-protocol-lwm2m-guards.mjs","es2020":"./fesm2020/c8y-ngx-components-protocol-lwm2m-guards.mjs","es2015":"./fesm2015/c8y-ngx-components-protocol-lwm2m-guards.mjs","node":"./fesm2015/c8y-ngx-components-protocol-lwm2m-guards.mjs","default":"./fesm2020/c8y-ngx-components-protocol-lwm2m-guards.mjs"},"./protocol-lwm2m/model":{"types":"./protocol-lwm2m/model/index.d.ts","esm2020":"./esm2020/protocol-lwm2m/model/c8y-ngx-components-protocol-lwm2m-model.mjs","es2020":"./fesm2020/c8y-ngx-components-protocol-lwm2m-model.mjs","es2015":"./fesm2015/c8y-ngx-components-protocol-lwm2m-model.mjs","node":"./fesm2015/c8y-ngx-components-protocol-lwm2m-model.mjs","default":"./fesm2020/c8y-ngx-components-protocol-lwm2m-model.mjs"},"./protocol-lwm2m":{"types":"./protocol-lwm2m/index.d.ts","esm2020":"./esm2020/protocol-lwm2m/c8y-ngx-components-protocol-lwm2m.mjs","es2020":"./fesm2020/c8y-ngx-components-protocol-lwm2m.mjs","es2015":"./fesm2015/c8y-ngx-components-protocol-lwm2m.mjs","node":"./fesm2015/c8y-ngx-components-protocol-lwm2m.mjs","default":"./fesm2020/c8y-ngx-components-protocol-lwm2m.mjs"},"./protocol-lwm2m/services":{"types":"./protocol-lwm2m/services/index.d.ts","esm2020":"./esm2020/protocol-lwm2m/services/c8y-ngx-components-protocol-lwm2m-services.mjs","es2020":"./fesm2020/c8y-ngx-components-protocol-lwm2m-services.mjs","es2015":"./fesm2015/c8y-ngx-components-protocol-lwm2m-services.mjs","node":"./fesm2015/c8y-ngx-components-protocol-lwm2m-services.mjs","default":"./fesm2020/c8y-ngx-components-protocol-lwm2m-services.mjs"},"./protocol-opcua":{"types":"./protocol-opcua/index.d.ts","esm2020":"./esm2020/protocol-opcua/c8y-ngx-components-protocol-opcua.mjs","es2020":"./fesm2020/c8y-ngx-components-protocol-opcua.mjs","es2015":"./fesm2015/c8y-ngx-components-protocol-opcua.mjs","node":"./fesm2015/c8y-ngx-components-protocol-opcua.mjs","default":"./fesm2020/c8y-ngx-components-protocol-opcua.mjs"},"./register-device":{"types":"./register-device/index.d.ts","esm2020":"./esm2020/register-device/c8y-ngx-components-register-device.mjs","es2020":"./fesm2020/c8y-ngx-components-register-device.mjs","es2015":"./fesm2015/c8y-ngx-components-register-device.mjs","node":"./fesm2015/c8y-ngx-components-register-device.mjs","default":"./fesm2020/c8y-ngx-components-register-device.mjs"},"./reports":{"types":"./reports/index.d.ts","esm2020":"./esm2020/reports/c8y-ngx-components-reports.mjs","es2020":"./fesm2020/c8y-ngx-components-reports.mjs","es2015":"./fesm2015/c8y-ngx-components-reports.mjs","node":"./fesm2015/c8y-ngx-components-reports.mjs","default":"./fesm2020/c8y-ngx-components-reports.mjs"},"./repository/configuration":{"types":"./repository/configuration/index.d.ts","esm2020":"./esm2020/repository/configuration/c8y-ngx-components-repository-configuration.mjs","es2020":"./fesm2020/c8y-ngx-components-repository-configuration.mjs","es2015":"./fesm2015/c8y-ngx-components-repository-configuration.mjs","node":"./fesm2015/c8y-ngx-components-repository-configuration.mjs","default":"./fesm2020/c8y-ngx-components-repository-configuration.mjs"},"./repository/firmware":{"types":"./repository/firmware/index.d.ts","esm2020":"./esm2020/repository/firmware/c8y-ngx-components-repository-firmware.mjs","es2020":"./fesm2020/c8y-ngx-components-repository-firmware.mjs","es2015":"./fesm2015/c8y-ngx-components-repository-firmware.mjs","node":"./fesm2015/c8y-ngx-components-repository-firmware.mjs","default":"./fesm2020/c8y-ngx-components-repository-firmware.mjs"},"./repository":{"types":"./repository/index.d.ts","esm2020":"./esm2020/repository/c8y-ngx-components-repository.mjs","es2020":"./fesm2020/c8y-ngx-components-repository.mjs","es2015":"./fesm2015/c8y-ngx-components-repository.mjs","node":"./fesm2015/c8y-ngx-components-repository.mjs","default":"./fesm2020/c8y-ngx-components-repository.mjs"},"./repository/shared":{"types":"./repository/shared/index.d.ts","esm2020":"./esm2020/repository/shared/c8y-ngx-components-repository-shared.mjs","es2020":"./fesm2020/c8y-ngx-components-repository-shared.mjs","es2015":"./fesm2015/c8y-ngx-components-repository-shared.mjs","node":"./fesm2015/c8y-ngx-components-repository-shared.mjs","default":"./fesm2020/c8y-ngx-components-repository-shared.mjs"},"./repository/software":{"types":"./repository/software/index.d.ts","esm2020":"./esm2020/repository/software/c8y-ngx-components-repository-software.mjs","es2020":"./fesm2020/c8y-ngx-components-repository-software.mjs","es2015":"./fesm2015/c8y-ngx-components-repository-software.mjs","node":"./fesm2015/c8y-ngx-components-repository-software.mjs","default":"./fesm2020/c8y-ngx-components-repository-software.mjs"},"./search":{"types":"./search/index.d.ts","esm2020":"./esm2020/search/c8y-ngx-components-search.mjs","es2020":"./fesm2020/c8y-ngx-components-search.mjs","es2015":"./fesm2015/c8y-ngx-components-search.mjs","node":"./fesm2015/c8y-ngx-components-search.mjs","default":"./fesm2020/c8y-ngx-components-search.mjs"},"./sensor-phone":{"types":"./sensor-phone/index.d.ts","esm2020":"./esm2020/sensor-phone/c8y-ngx-components-sensor-phone.mjs","es2020":"./fesm2020/c8y-ngx-components-sensor-phone.mjs","es2015":"./fesm2015/c8y-ngx-components-sensor-phone.mjs","node":"./fesm2015/c8y-ngx-components-sensor-phone.mjs","default":"./fesm2020/c8y-ngx-components-sensor-phone.mjs"},"./sensor-phone/sensor-phone-modal":{"types":"./sensor-phone/sensor-phone-modal/index.d.ts","esm2020":"./esm2020/sensor-phone/sensor-phone-modal/c8y-ngx-components-sensor-phone-sensor-phone-modal.mjs","es2020":"./fesm2020/c8y-ngx-components-sensor-phone-sensor-phone-modal.mjs","es2015":"./fesm2015/c8y-ngx-components-sensor-phone-sensor-phone-modal.mjs","node":"./fesm2015/c8y-ngx-components-sensor-phone-sensor-phone-modal.mjs","default":"./fesm2020/c8y-ngx-components-sensor-phone-sensor-phone-modal.mjs"},"./services":{"types":"./services/index.d.ts","esm2020":"./esm2020/services/c8y-ngx-components-services.mjs","es2020":"./fesm2020/c8y-ngx-components-services.mjs","es2015":"./fesm2015/c8y-ngx-components-services.mjs","node":"./fesm2015/c8y-ngx-components-services.mjs","default":"./fesm2020/c8y-ngx-components-services.mjs"},"./sigfox-device-registration":{"types":"./sigfox-device-registration/index.d.ts","esm2020":"./esm2020/sigfox-device-registration/c8y-ngx-components-sigfox-device-registration.mjs","es2020":"./fesm2020/c8y-ngx-components-sigfox-device-registration.mjs","es2015":"./fesm2015/c8y-ngx-components-sigfox-device-registration.mjs","node":"./fesm2015/c8y-ngx-components-sigfox-device-registration.mjs","default":"./fesm2020/c8y-ngx-components-sigfox-device-registration.mjs"},"./sms-gateway":{"types":"./sms-gateway/index.d.ts","esm2020":"./esm2020/sms-gateway/c8y-ngx-components-sms-gateway.mjs","es2020":"./fesm2020/c8y-ngx-components-sms-gateway.mjs","es2015":"./fesm2015/c8y-ngx-components-sms-gateway.mjs","node":"./fesm2015/c8y-ngx-components-sms-gateway.mjs","default":"./fesm2020/c8y-ngx-components-sms-gateway.mjs"},"./sub-assets":{"types":"./sub-assets/index.d.ts","esm2020":"./esm2020/sub-assets/c8y-ngx-components-sub-assets.mjs","es2020":"./fesm2020/c8y-ngx-components-sub-assets.mjs","es2015":"./fesm2015/c8y-ngx-components-sub-assets.mjs","node":"./fesm2015/c8y-ngx-components-sub-assets.mjs","default":"./fesm2020/c8y-ngx-components-sub-assets.mjs"},"./tenants":{"types":"./tenants/index.d.ts","esm2020":"./esm2020/tenants/c8y-ngx-components-tenants.mjs","es2020":"./fesm2020/c8y-ngx-components-tenants.mjs","es2015":"./fesm2015/c8y-ngx-components-tenants.mjs","node":"./fesm2015/c8y-ngx-components-tenants.mjs","default":"./fesm2020/c8y-ngx-components-tenants.mjs"},"./trusted-certificates":{"types":"./trusted-certificates/index.d.ts","esm2020":"./esm2020/trusted-certificates/c8y-ngx-components-trusted-certificates.mjs","es2020":"./fesm2020/c8y-ngx-components-trusted-certificates.mjs","es2015":"./fesm2015/c8y-ngx-components-trusted-certificates.mjs","node":"./fesm2015/c8y-ngx-components-trusted-certificates.mjs","default":"./fesm2020/c8y-ngx-components-trusted-certificates.mjs"},"./upgrade":{"types":"./upgrade/index.d.ts","esm2020":"./esm2020/upgrade/c8y-ngx-components-upgrade.mjs","es2020":"./fesm2020/c8y-ngx-components-upgrade.mjs","es2015":"./fesm2015/c8y-ngx-components-upgrade.mjs","node":"./fesm2015/c8y-ngx-components-upgrade.mjs","default":"./fesm2020/c8y-ngx-components-upgrade.mjs"},"./widgets/cockpit":{"types":"./widgets/cockpit/index.d.ts","esm2020":"./esm2020/widgets/cockpit/c8y-ngx-components-widgets-cockpit.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-cockpit.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-cockpit.mjs","node":"./fesm2015/c8y-ngx-components-widgets-cockpit.mjs","default":"./fesm2020/c8y-ngx-components-widgets-cockpit.mjs"},"./widgets/definitions/cockpit-legacy-welcome":{"types":"./widgets/definitions/cockpit-legacy-welcome/index.d.ts","esm2020":"./esm2020/widgets/definitions/cockpit-legacy-welcome/c8y-ngx-components-widgets-definitions-cockpit-legacy-welcome.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-definitions-cockpit-legacy-welcome.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-definitions-cockpit-legacy-welcome.mjs","node":"./fesm2015/c8y-ngx-components-widgets-definitions-cockpit-legacy-welcome.mjs","default":"./fesm2020/c8y-ngx-components-widgets-definitions-cockpit-legacy-welcome.mjs"},"./widgets/definitions/cockpit-welcome":{"types":"./widgets/definitions/cockpit-welcome/index.d.ts","esm2020":"./esm2020/widgets/definitions/cockpit-welcome/c8y-ngx-components-widgets-definitions-cockpit-welcome.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-definitions-cockpit-welcome.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-definitions-cockpit-welcome.mjs","node":"./fesm2015/c8y-ngx-components-widgets-definitions-cockpit-welcome.mjs","default":"./fesm2020/c8y-ngx-components-widgets-definitions-cockpit-welcome.mjs"},"./widgets/definitions/device-management-welcome":{"types":"./widgets/definitions/device-management-welcome/index.d.ts","esm2020":"./esm2020/widgets/definitions/device-management-welcome/c8y-ngx-components-widgets-definitions-device-management-welcome.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-definitions-device-management-welcome.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-definitions-device-management-welcome.mjs","node":"./fesm2015/c8y-ngx-components-widgets-definitions-device-management-welcome.mjs","default":"./fesm2020/c8y-ngx-components-widgets-definitions-device-management-welcome.mjs"},"./widgets/definitions/help-and-service":{"types":"./widgets/definitions/help-and-service/index.d.ts","esm2020":"./esm2020/widgets/definitions/help-and-service/c8y-ngx-components-widgets-definitions-help-and-service.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-definitions-help-and-service.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-definitions-help-and-service.mjs","node":"./fesm2015/c8y-ngx-components-widgets-definitions-help-and-service.mjs","default":"./fesm2020/c8y-ngx-components-widgets-definitions-help-and-service.mjs"},"./widgets/definitions/image":{"types":"./widgets/definitions/image/index.d.ts","esm2020":"./esm2020/widgets/definitions/image/c8y-ngx-components-widgets-definitions-image.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-definitions-image.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-definitions-image.mjs","node":"./fesm2015/c8y-ngx-components-widgets-definitions-image.mjs","default":"./fesm2020/c8y-ngx-components-widgets-definitions-image.mjs"},"./widgets/definitions/kpi":{"types":"./widgets/definitions/kpi/index.d.ts","esm2020":"./esm2020/widgets/definitions/kpi/c8y-ngx-components-widgets-definitions-kpi.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-definitions-kpi.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-definitions-kpi.mjs","node":"./fesm2015/c8y-ngx-components-widgets-definitions-kpi.mjs","default":"./fesm2020/c8y-ngx-components-widgets-definitions-kpi.mjs"},"./widgets/definitions/map":{"types":"./widgets/definitions/map/index.d.ts","esm2020":"./esm2020/widgets/definitions/map/c8y-ngx-components-widgets-definitions-map.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-definitions-map.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-definitions-map.mjs","node":"./fesm2015/c8y-ngx-components-widgets-definitions-map.mjs","default":"./fesm2020/c8y-ngx-components-widgets-definitions-map.mjs"},"./widgets/definitions/markdown":{"types":"./widgets/definitions/markdown/index.d.ts","esm2020":"./esm2020/widgets/definitions/markdown/c8y-ngx-components-widgets-definitions-markdown.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-definitions-markdown.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-definitions-markdown.mjs","node":"./fesm2015/c8y-ngx-components-widgets-definitions-markdown.mjs","default":"./fesm2020/c8y-ngx-components-widgets-definitions-markdown.mjs"},"./widgets/definitions":{"types":"./widgets/definitions/index.d.ts","esm2020":"./esm2020/widgets/definitions/c8y-ngx-components-widgets-definitions.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-definitions.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-definitions.mjs","node":"./fesm2015/c8y-ngx-components-widgets-definitions.mjs","default":"./fesm2020/c8y-ngx-components-widgets-definitions.mjs"},"./widgets/definitions/three-d-rotation":{"types":"./widgets/definitions/three-d-rotation/index.d.ts","esm2020":"./esm2020/widgets/definitions/three-d-rotation/c8y-ngx-components-widgets-definitions-three-d-rotation.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-definitions-three-d-rotation.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-definitions-three-d-rotation.mjs","node":"./fesm2015/c8y-ngx-components-widgets-definitions-three-d-rotation.mjs","default":"./fesm2020/c8y-ngx-components-widgets-definitions-three-d-rotation.mjs"},"./widgets/device-management":{"types":"./widgets/device-management/index.d.ts","esm2020":"./esm2020/widgets/device-management/c8y-ngx-components-widgets-device-management.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-device-management.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-device-management.mjs","node":"./fesm2015/c8y-ngx-components-widgets-device-management.mjs","default":"./fesm2020/c8y-ngx-components-widgets-device-management.mjs"},"./widgets/implementations/cockpit-legacy-welcome":{"types":"./widgets/implementations/cockpit-legacy-welcome/index.d.ts","esm2020":"./esm2020/widgets/implementations/cockpit-legacy-welcome/c8y-ngx-components-widgets-implementations-cockpit-legacy-welcome.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-implementations-cockpit-legacy-welcome.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-implementations-cockpit-legacy-welcome.mjs","node":"./fesm2015/c8y-ngx-components-widgets-implementations-cockpit-legacy-welcome.mjs","default":"./fesm2020/c8y-ngx-components-widgets-implementations-cockpit-legacy-welcome.mjs"},"./widgets/implementations/cockpit-welcome":{"types":"./widgets/implementations/cockpit-welcome/index.d.ts","esm2020":"./esm2020/widgets/implementations/cockpit-welcome/c8y-ngx-components-widgets-implementations-cockpit-welcome.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-implementations-cockpit-welcome.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-implementations-cockpit-welcome.mjs","node":"./fesm2015/c8y-ngx-components-widgets-implementations-cockpit-welcome.mjs","default":"./fesm2020/c8y-ngx-components-widgets-implementations-cockpit-welcome.mjs"},"./widgets/implementations/device-management-welcome":{"types":"./widgets/implementations/device-management-welcome/index.d.ts","esm2020":"./esm2020/widgets/implementations/device-management-welcome/c8y-ngx-components-widgets-implementations-device-management-welcome.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-implementations-device-management-welcome.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-implementations-device-management-welcome.mjs","node":"./fesm2015/c8y-ngx-components-widgets-implementations-device-management-welcome.mjs","default":"./fesm2020/c8y-ngx-components-widgets-implementations-device-management-welcome.mjs"},"./widgets/implementations/help-and-service-widget":{"types":"./widgets/implementations/help-and-service-widget/index.d.ts","esm2020":"./esm2020/widgets/implementations/help-and-service-widget/c8y-ngx-components-widgets-implementations-help-and-service-widget.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-implementations-help-and-service-widget.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-implementations-help-and-service-widget.mjs","node":"./fesm2015/c8y-ngx-components-widgets-implementations-help-and-service-widget.mjs","default":"./fesm2020/c8y-ngx-components-widgets-implementations-help-and-service-widget.mjs"},"./widgets/implementations/image":{"types":"./widgets/implementations/image/index.d.ts","esm2020":"./esm2020/widgets/implementations/image/c8y-ngx-components-widgets-implementations-image.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-implementations-image.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-implementations-image.mjs","node":"./fesm2015/c8y-ngx-components-widgets-implementations-image.mjs","default":"./fesm2020/c8y-ngx-components-widgets-implementations-image.mjs"},"./widgets/implementations/kpi":{"types":"./widgets/implementations/kpi/index.d.ts","esm2020":"./esm2020/widgets/implementations/kpi/c8y-ngx-components-widgets-implementations-kpi.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-implementations-kpi.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-implementations-kpi.mjs","node":"./fesm2015/c8y-ngx-components-widgets-implementations-kpi.mjs","default":"./fesm2020/c8y-ngx-components-widgets-implementations-kpi.mjs"},"./widgets/implementations/map":{"types":"./widgets/implementations/map/index.d.ts","esm2020":"./esm2020/widgets/implementations/map/c8y-ngx-components-widgets-implementations-map.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-implementations-map.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-implementations-map.mjs","node":"./fesm2015/c8y-ngx-components-widgets-implementations-map.mjs","default":"./fesm2020/c8y-ngx-components-widgets-implementations-map.mjs"},"./widgets/implementations/markdown":{"types":"./widgets/implementations/markdown/index.d.ts","esm2020":"./esm2020/widgets/implementations/markdown/c8y-ngx-components-widgets-implementations-markdown.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-implementations-markdown.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-implementations-markdown.mjs","node":"./fesm2015/c8y-ngx-components-widgets-implementations-markdown.mjs","default":"./fesm2020/c8y-ngx-components-widgets-implementations-markdown.mjs"},"./widgets/implementations/three-d-rotation/box-model":{"types":"./widgets/implementations/three-d-rotation/box-model/index.d.ts","esm2020":"./esm2020/widgets/implementations/three-d-rotation/box-model/c8y-ngx-components-widgets-implementations-three-d-rotation-box-model.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-implementations-three-d-rotation-box-model.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-implementations-three-d-rotation-box-model.mjs","node":"./fesm2015/c8y-ngx-components-widgets-implementations-three-d-rotation-box-model.mjs","default":"./fesm2020/c8y-ngx-components-widgets-implementations-three-d-rotation-box-model.mjs"},"./widgets/implementations/three-d-rotation/lazy-box-model":{"types":"./widgets/implementations/three-d-rotation/lazy-box-model/index.d.ts","esm2020":"./esm2020/widgets/implementations/three-d-rotation/lazy-box-model/c8y-ngx-components-widgets-implementations-three-d-rotation-lazy-box-model.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-implementations-three-d-rotation-lazy-box-model.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-implementations-three-d-rotation-lazy-box-model.mjs","node":"./fesm2015/c8y-ngx-components-widgets-implementations-three-d-rotation-lazy-box-model.mjs","default":"./fesm2020/c8y-ngx-components-widgets-implementations-three-d-rotation-lazy-box-model.mjs"},"./widgets/implementations/three-d-rotation/lazy-phone-model":{"types":"./widgets/implementations/three-d-rotation/lazy-phone-model/index.d.ts","esm2020":"./esm2020/widgets/implementations/three-d-rotation/lazy-phone-model/c8y-ngx-components-widgets-implementations-three-d-rotation-lazy-phone-model.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-implementations-three-d-rotation-lazy-phone-model.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-implementations-three-d-rotation-lazy-phone-model.mjs","node":"./fesm2015/c8y-ngx-components-widgets-implementations-three-d-rotation-lazy-phone-model.mjs","default":"./fesm2020/c8y-ngx-components-widgets-implementations-three-d-rotation-lazy-phone-model.mjs"},"./widgets/implementations/three-d-rotation":{"types":"./widgets/implementations/three-d-rotation/index.d.ts","esm2020":"./esm2020/widgets/implementations/three-d-rotation/c8y-ngx-components-widgets-implementations-three-d-rotation.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-implementations-three-d-rotation.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-implementations-three-d-rotation.mjs","node":"./fesm2015/c8y-ngx-components-widgets-implementations-three-d-rotation.mjs","default":"./fesm2020/c8y-ngx-components-widgets-implementations-three-d-rotation.mjs"},"./widgets/implementations/three-d-rotation/phone-model":{"types":"./widgets/implementations/three-d-rotation/phone-model/index.d.ts","esm2020":"./esm2020/widgets/implementations/three-d-rotation/phone-model/c8y-ngx-components-widgets-implementations-three-d-rotation-phone-model.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-implementations-three-d-rotation-phone-model.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-implementations-three-d-rotation-phone-model.mjs","node":"./fesm2015/c8y-ngx-components-widgets-implementations-three-d-rotation-phone-model.mjs","default":"./fesm2020/c8y-ngx-components-widgets-implementations-three-d-rotation-phone-model.mjs"},"./widgets":{"types":"./widgets/index.d.ts","esm2020":"./esm2020/widgets/c8y-ngx-components-widgets.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets.mjs","node":"./fesm2015/c8y-ngx-components-widgets.mjs","default":"./fesm2020/c8y-ngx-components-widgets.mjs"}},"sideEffects":false}
|
|
1
|
+
{"name":"@c8y/ngx-components","version":"1018.0.91","license":"Apache-2.0","author":"Cumulocity","description":"Angular modules for Cumulocity IoT applications","keywords":["Cumulocity","IoT","m2m","Angular","Components"],"peerDependencies":{"@angular/cdk":"^14.0.6","@angular/common":"^14.0.6","@angular/core":"^14.0.6","@angular/forms":"^14.0.6","@angular/platform-browser":"^14.0.6","@angular/router":"^14.0.6","@angular/upgrade":"^14.0.6","rxjs":"~6.6.3","leaflet":"^1.7.1"},"dependencies":{"@c8y/client":"1018.0.91","@ngx-translate/core":"14.0.0","@ngx-translate/http-loader":"7.0.0","@ngx-formly/core":"6.1.3","libphonenumber-js":"1.10.17","lodash-es":"^4.0.0","ngx-bootstrap":"9.0.0","three":"0.148.0","tslib":"^2.3.1","angularx-qrcode":"14.0.0","file-saver":"2.0.5","marked":"4.2.12","semver":"~7.5.2"},"module":"fesm2015/c8y-ngx-components.mjs","es2020":"fesm2020/c8y-ngx-components.mjs","esm2020":"esm2020/c8y-ngx-components.mjs","fesm2020":"fesm2020/c8y-ngx-components.mjs","fesm2015":"fesm2015/c8y-ngx-components.mjs","typings":"index.d.ts","exports":{"./locales/de.po":"./locales/de.po","./locales/en.po":"./locales/en.po","./locales/es.po":"./locales/es.po","./locales/fr.po":"./locales/fr.po","./locales/ja_JP.po":"./locales/ja_JP.po","./locales/ko.po":"./locales/ko.po","./locales/nl.po":"./locales/nl.po","./locales/pt_BR.po":"./locales/pt_BR.po","./locales/ru.po":"./locales/ru.po","./locales/zh_CN.po":"./locales/zh_CN.po","./locales/zh_TW.po":"./locales/zh_TW.po","./locales/pl.po":"./locales/pl.po","./package.json":{"default":"./package.json"},".":{"types":"./index.d.ts","esm2020":"./esm2020/c8y-ngx-components.mjs","es2020":"./fesm2020/c8y-ngx-components.mjs","es2015":"./fesm2015/c8y-ngx-components.mjs","node":"./fesm2015/c8y-ngx-components.mjs","default":"./fesm2020/c8y-ngx-components.mjs"},"./actility-device-registration":{"types":"./actility-device-registration/index.d.ts","esm2020":"./esm2020/actility-device-registration/c8y-ngx-components-actility-device-registration.mjs","es2020":"./fesm2020/c8y-ngx-components-actility-device-registration.mjs","es2015":"./fesm2015/c8y-ngx-components-actility-device-registration.mjs","node":"./fesm2015/c8y-ngx-components-actility-device-registration.mjs","default":"./fesm2020/c8y-ngx-components-actility-device-registration.mjs"},"./api":{"types":"./api/index.d.ts","esm2020":"./esm2020/api/c8y-ngx-components-api.mjs","es2020":"./fesm2020/c8y-ngx-components-api.mjs","es2015":"./fesm2015/c8y-ngx-components-api.mjs","node":"./fesm2015/c8y-ngx-components-api.mjs","default":"./fesm2020/c8y-ngx-components-api.mjs"},"./app-logs":{"types":"./app-logs/index.d.ts","esm2020":"./esm2020/app-logs/c8y-ngx-components-app-logs.mjs","es2020":"./fesm2020/c8y-ngx-components-app-logs.mjs","es2015":"./fesm2015/c8y-ngx-components-app-logs.mjs","node":"./fesm2015/c8y-ngx-components-app-logs.mjs","default":"./fesm2020/c8y-ngx-components-app-logs.mjs"},"./assets-navigator":{"types":"./assets-navigator/index.d.ts","esm2020":"./esm2020/assets-navigator/c8y-ngx-components-assets-navigator.mjs","es2020":"./fesm2020/c8y-ngx-components-assets-navigator.mjs","es2015":"./fesm2015/c8y-ngx-components-assets-navigator.mjs","node":"./fesm2015/c8y-ngx-components-assets-navigator.mjs","default":"./fesm2020/c8y-ngx-components-assets-navigator.mjs"},"./auth-configuration":{"types":"./auth-configuration/index.d.ts","esm2020":"./esm2020/auth-configuration/c8y-ngx-components-auth-configuration.mjs","es2020":"./fesm2020/c8y-ngx-components-auth-configuration.mjs","es2015":"./fesm2015/c8y-ngx-components-auth-configuration.mjs","node":"./fesm2015/c8y-ngx-components-auth-configuration.mjs","default":"./fesm2020/c8y-ngx-components-auth-configuration.mjs"},"./binary-file-download":{"types":"./binary-file-download/index.d.ts","esm2020":"./esm2020/binary-file-download/c8y-ngx-components-binary-file-download.mjs","es2020":"./fesm2020/c8y-ngx-components-binary-file-download.mjs","es2015":"./fesm2015/c8y-ngx-components-binary-file-download.mjs","node":"./fesm2015/c8y-ngx-components-binary-file-download.mjs","default":"./fesm2020/c8y-ngx-components-binary-file-download.mjs"},"./child-devices":{"types":"./child-devices/index.d.ts","esm2020":"./esm2020/child-devices/c8y-ngx-components-child-devices.mjs","es2020":"./fesm2020/c8y-ngx-components-child-devices.mjs","es2015":"./fesm2015/c8y-ngx-components-child-devices.mjs","node":"./fesm2015/c8y-ngx-components-child-devices.mjs","default":"./fesm2020/c8y-ngx-components-child-devices.mjs"},"./cockpit-config":{"types":"./cockpit-config/index.d.ts","esm2020":"./esm2020/cockpit-config/c8y-ngx-components-cockpit-config.mjs","es2020":"./fesm2020/c8y-ngx-components-cockpit-config.mjs","es2015":"./fesm2015/c8y-ngx-components-cockpit-config.mjs","node":"./fesm2015/c8y-ngx-components-cockpit-config.mjs","default":"./fesm2020/c8y-ngx-components-cockpit-config.mjs"},"./connectivity":{"types":"./connectivity/index.d.ts","esm2020":"./esm2020/connectivity/c8y-ngx-components-connectivity.mjs","es2020":"./fesm2020/c8y-ngx-components-connectivity.mjs","es2015":"./fesm2015/c8y-ngx-components-connectivity.mjs","node":"./fesm2015/c8y-ngx-components-connectivity.mjs","default":"./fesm2020/c8y-ngx-components-connectivity.mjs"},"./context-dashboard":{"types":"./context-dashboard/index.d.ts","esm2020":"./esm2020/context-dashboard/c8y-ngx-components-context-dashboard.mjs","es2020":"./fesm2020/c8y-ngx-components-context-dashboard.mjs","es2015":"./fesm2015/c8y-ngx-components-context-dashboard.mjs","node":"./fesm2015/c8y-ngx-components-context-dashboard.mjs","default":"./fesm2020/c8y-ngx-components-context-dashboard.mjs"},"./data-broker":{"types":"./data-broker/index.d.ts","esm2020":"./esm2020/data-broker/c8y-ngx-components-data-broker.mjs","es2020":"./fesm2020/c8y-ngx-components-data-broker.mjs","es2015":"./fesm2015/c8y-ngx-components-data-broker.mjs","node":"./fesm2015/c8y-ngx-components-data-broker.mjs","default":"./fesm2020/c8y-ngx-components-data-broker.mjs"},"./datapoint-library/details":{"types":"./datapoint-library/details/index.d.ts","esm2020":"./esm2020/datapoint-library/details/c8y-ngx-components-datapoint-library-details.mjs","es2020":"./fesm2020/c8y-ngx-components-datapoint-library-details.mjs","es2015":"./fesm2015/c8y-ngx-components-datapoint-library-details.mjs","node":"./fesm2015/c8y-ngx-components-datapoint-library-details.mjs","default":"./fesm2020/c8y-ngx-components-datapoint-library-details.mjs"},"./datapoint-library/list":{"types":"./datapoint-library/list/index.d.ts","esm2020":"./esm2020/datapoint-library/list/c8y-ngx-components-datapoint-library-list.mjs","es2020":"./fesm2020/c8y-ngx-components-datapoint-library-list.mjs","es2015":"./fesm2015/c8y-ngx-components-datapoint-library-list.mjs","node":"./fesm2015/c8y-ngx-components-datapoint-library-list.mjs","default":"./fesm2020/c8y-ngx-components-datapoint-library-list.mjs"},"./datapoint-library/model":{"types":"./datapoint-library/model/index.d.ts","esm2020":"./esm2020/datapoint-library/model/c8y-ngx-components-datapoint-library-model.mjs","es2020":"./fesm2020/c8y-ngx-components-datapoint-library-model.mjs","es2015":"./fesm2015/c8y-ngx-components-datapoint-library-model.mjs","node":"./fesm2015/c8y-ngx-components-datapoint-library-model.mjs","default":"./fesm2020/c8y-ngx-components-datapoint-library-model.mjs"},"./datapoint-library":{"types":"./datapoint-library/index.d.ts","esm2020":"./esm2020/datapoint-library/c8y-ngx-components-datapoint-library.mjs","es2020":"./fesm2020/c8y-ngx-components-datapoint-library.mjs","es2015":"./fesm2015/c8y-ngx-components-datapoint-library.mjs","node":"./fesm2015/c8y-ngx-components-datapoint-library.mjs","default":"./fesm2020/c8y-ngx-components-datapoint-library.mjs"},"./datapoint-library/services":{"types":"./datapoint-library/services/index.d.ts","esm2020":"./esm2020/datapoint-library/services/c8y-ngx-components-datapoint-library-services.mjs","es2020":"./fesm2020/c8y-ngx-components-datapoint-library-services.mjs","es2015":"./fesm2015/c8y-ngx-components-datapoint-library-services.mjs","node":"./fesm2015/c8y-ngx-components-datapoint-library-services.mjs","default":"./fesm2020/c8y-ngx-components-datapoint-library-services.mjs"},"./datapoint-selector":{"types":"./datapoint-selector/index.d.ts","esm2020":"./esm2020/datapoint-selector/c8y-ngx-components-datapoint-selector.mjs","es2020":"./fesm2020/c8y-ngx-components-datapoint-selector.mjs","es2015":"./fesm2015/c8y-ngx-components-datapoint-selector.mjs","node":"./fesm2015/c8y-ngx-components-datapoint-selector.mjs","default":"./fesm2020/c8y-ngx-components-datapoint-selector.mjs"},"./default-subscriptions":{"types":"./default-subscriptions/index.d.ts","esm2020":"./esm2020/default-subscriptions/c8y-ngx-components-default-subscriptions.mjs","es2020":"./fesm2020/c8y-ngx-components-default-subscriptions.mjs","es2015":"./fesm2015/c8y-ngx-components-default-subscriptions.mjs","node":"./fesm2015/c8y-ngx-components-default-subscriptions.mjs","default":"./fesm2020/c8y-ngx-components-default-subscriptions.mjs"},"./device-grid":{"types":"./device-grid/index.d.ts","esm2020":"./esm2020/device-grid/c8y-ngx-components-device-grid.mjs","es2020":"./fesm2020/c8y-ngx-components-device-grid.mjs","es2015":"./fesm2015/c8y-ngx-components-device-grid.mjs","node":"./fesm2015/c8y-ngx-components-device-grid.mjs","default":"./fesm2020/c8y-ngx-components-device-grid.mjs"},"./device-list":{"types":"./device-list/index.d.ts","esm2020":"./esm2020/device-list/c8y-ngx-components-device-list.mjs","es2020":"./fesm2020/c8y-ngx-components-device-list.mjs","es2015":"./fesm2015/c8y-ngx-components-device-list.mjs","node":"./fesm2015/c8y-ngx-components-device-list.mjs","default":"./fesm2020/c8y-ngx-components-device-list.mjs"},"./device-profile":{"types":"./device-profile/index.d.ts","esm2020":"./esm2020/device-profile/c8y-ngx-components-device-profile.mjs","es2020":"./fesm2020/c8y-ngx-components-device-profile.mjs","es2015":"./fesm2015/c8y-ngx-components-device-profile.mjs","node":"./fesm2015/c8y-ngx-components-device-profile.mjs","default":"./fesm2020/c8y-ngx-components-device-profile.mjs"},"./device-shell":{"types":"./device-shell/index.d.ts","esm2020":"./esm2020/device-shell/c8y-ngx-components-device-shell.mjs","es2020":"./fesm2020/c8y-ngx-components-device-shell.mjs","es2015":"./fesm2015/c8y-ngx-components-device-shell.mjs","node":"./fesm2015/c8y-ngx-components-device-shell.mjs","default":"./fesm2020/c8y-ngx-components-device-shell.mjs"},"./diagnostics":{"types":"./diagnostics/index.d.ts","esm2020":"./esm2020/diagnostics/c8y-ngx-components-diagnostics.mjs","es2020":"./fesm2020/c8y-ngx-components-diagnostics.mjs","es2015":"./fesm2015/c8y-ngx-components-diagnostics.mjs","node":"./fesm2015/c8y-ngx-components-diagnostics.mjs","default":"./fesm2020/c8y-ngx-components-diagnostics.mjs"},"./ecosystem/application-plugins":{"types":"./ecosystem/application-plugins/index.d.ts","esm2020":"./esm2020/ecosystem/application-plugins/c8y-ngx-components-ecosystem-application-plugins.mjs","es2020":"./fesm2020/c8y-ngx-components-ecosystem-application-plugins.mjs","es2015":"./fesm2015/c8y-ngx-components-ecosystem-application-plugins.mjs","node":"./fesm2015/c8y-ngx-components-ecosystem-application-plugins.mjs","default":"./fesm2020/c8y-ngx-components-ecosystem-application-plugins.mjs"},"./ecosystem/license-confirm":{"types":"./ecosystem/license-confirm/index.d.ts","esm2020":"./esm2020/ecosystem/license-confirm/c8y-ngx-components-ecosystem-license-confirm.mjs","es2020":"./fesm2020/c8y-ngx-components-ecosystem-license-confirm.mjs","es2015":"./fesm2015/c8y-ngx-components-ecosystem-license-confirm.mjs","node":"./fesm2015/c8y-ngx-components-ecosystem-license-confirm.mjs","default":"./fesm2020/c8y-ngx-components-ecosystem-license-confirm.mjs"},"./ecosystem":{"types":"./ecosystem/index.d.ts","esm2020":"./esm2020/ecosystem/c8y-ngx-components-ecosystem.mjs","es2020":"./fesm2020/c8y-ngx-components-ecosystem.mjs","es2015":"./fesm2015/c8y-ngx-components-ecosystem.mjs","node":"./fesm2015/c8y-ngx-components-ecosystem.mjs","default":"./fesm2020/c8y-ngx-components-ecosystem.mjs"},"./ecosystem/plugin-setup-stepper":{"types":"./ecosystem/plugin-setup-stepper/index.d.ts","esm2020":"./esm2020/ecosystem/plugin-setup-stepper/c8y-ngx-components-ecosystem-plugin-setup-stepper.mjs","es2020":"./fesm2020/c8y-ngx-components-ecosystem-plugin-setup-stepper.mjs","es2015":"./fesm2015/c8y-ngx-components-ecosystem-plugin-setup-stepper.mjs","node":"./fesm2015/c8y-ngx-components-ecosystem-plugin-setup-stepper.mjs","default":"./fesm2020/c8y-ngx-components-ecosystem-plugin-setup-stepper.mjs"},"./ecosystem/shared":{"types":"./ecosystem/shared/index.d.ts","esm2020":"./esm2020/ecosystem/shared/c8y-ngx-components-ecosystem-shared.mjs","es2020":"./fesm2020/c8y-ngx-components-ecosystem-shared.mjs","es2015":"./fesm2015/c8y-ngx-components-ecosystem-shared.mjs","node":"./fesm2015/c8y-ngx-components-ecosystem-shared.mjs","default":"./fesm2020/c8y-ngx-components-ecosystem-shared.mjs"},"./file-preview":{"types":"./file-preview/index.d.ts","esm2020":"./esm2020/file-preview/c8y-ngx-components-file-preview.mjs","es2020":"./fesm2020/c8y-ngx-components-file-preview.mjs","es2015":"./fesm2015/c8y-ngx-components-file-preview.mjs","node":"./fesm2015/c8y-ngx-components-file-preview.mjs","default":"./fesm2020/c8y-ngx-components-file-preview.mjs"},"./files-repository":{"types":"./files-repository/index.d.ts","esm2020":"./esm2020/files-repository/c8y-ngx-components-files-repository.mjs","es2020":"./fesm2020/c8y-ngx-components-files-repository.mjs","es2015":"./fesm2015/c8y-ngx-components-files-repository.mjs","node":"./fesm2015/c8y-ngx-components-files-repository.mjs","default":"./fesm2020/c8y-ngx-components-files-repository.mjs"},"./icon-selector/icons/arrows":{"types":"./icon-selector/icons/arrows/index.d.ts","esm2020":"./esm2020/icon-selector/icons/arrows/c8y-ngx-components-icon-selector-icons-arrows.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-arrows.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-arrows.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-arrows.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-arrows.mjs"},"./icon-selector/icons/city":{"types":"./icon-selector/icons/city/index.d.ts","esm2020":"./esm2020/icon-selector/icons/city/c8y-ngx-components-icon-selector-icons-city.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-city.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-city.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-city.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-city.mjs"},"./icon-selector/icons/data":{"types":"./icon-selector/icons/data/index.d.ts","esm2020":"./esm2020/icon-selector/icons/data/c8y-ngx-components-icon-selector-icons-data.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-data.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-data.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-data.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-data.mjs"},"./icon-selector/icons/dateAndTime":{"types":"./icon-selector/icons/dateAndTime/index.d.ts","esm2020":"./esm2020/icon-selector/icons/dateAndTime/c8y-ngx-components-icon-selector-icons-dateAndTime.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-dateAndTime.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-dateAndTime.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-dateAndTime.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-dateAndTime.mjs"},"./icon-selector/icons/devicesAndSensors":{"types":"./icon-selector/icons/devicesAndSensors/index.d.ts","esm2020":"./esm2020/icon-selector/icons/devicesAndSensors/c8y-ngx-components-icon-selector-icons-devicesAndSensors.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-devicesAndSensors.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-devicesAndSensors.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-devicesAndSensors.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-devicesAndSensors.mjs"},"./icon-selector/icons/ecommerce":{"types":"./icon-selector/icons/ecommerce/index.d.ts","esm2020":"./esm2020/icon-selector/icons/ecommerce/c8y-ngx-components-icon-selector-icons-ecommerce.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-ecommerce.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-ecommerce.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-ecommerce.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-ecommerce.mjs"},"./icon-selector/icons/editing":{"types":"./icon-selector/icons/editing/index.d.ts","esm2020":"./esm2020/icon-selector/icons/editing/c8y-ngx-components-icon-selector-icons-editing.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-editing.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-editing.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-editing.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-editing.mjs"},"./icon-selector/icons/filesAndFolders":{"types":"./icon-selector/icons/filesAndFolders/index.d.ts","esm2020":"./esm2020/icon-selector/icons/filesAndFolders/c8y-ngx-components-icon-selector-icons-filesAndFolders.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-filesAndFolders.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-filesAndFolders.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-filesAndFolders.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-filesAndFolders.mjs"},"./icon-selector/icons/finance":{"types":"./icon-selector/icons/finance/index.d.ts","esm2020":"./esm2020/icon-selector/icons/finance/c8y-ngx-components-icon-selector-icons-finance.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-finance.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-finance.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-finance.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-finance.mjs"},"./icon-selector/icons/hands":{"types":"./icon-selector/icons/hands/index.d.ts","esm2020":"./esm2020/icon-selector/icons/hands/c8y-ngx-components-icon-selector-icons-hands.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-hands.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-hands.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-hands.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-hands.mjs"},"./icon-selector/icons/location":{"types":"./icon-selector/icons/location/index.d.ts","esm2020":"./esm2020/icon-selector/icons/location/c8y-ngx-components-icon-selector-icons-location.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-location.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-location.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-location.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-location.mjs"},"./icon-selector/icons/messaging":{"types":"./icon-selector/icons/messaging/index.d.ts","esm2020":"./esm2020/icon-selector/icons/messaging/c8y-ngx-components-icon-selector-icons-messaging.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-messaging.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-messaging.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-messaging.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-messaging.mjs"},"./icon-selector/icons/multimedia":{"types":"./icon-selector/icons/multimedia/index.d.ts","esm2020":"./esm2020/icon-selector/icons/multimedia/c8y-ngx-components-icon-selector-icons-multimedia.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-multimedia.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-multimedia.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-multimedia.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-multimedia.mjs"},"./icon-selector/icons/network":{"types":"./icon-selector/icons/network/index.d.ts","esm2020":"./esm2020/icon-selector/icons/network/c8y-ngx-components-icon-selector-icons-network.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-network.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-network.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-network.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-network.mjs"},"./icon-selector/icons":{"types":"./icon-selector/icons/index.d.ts","esm2020":"./esm2020/icon-selector/icons/c8y-ngx-components-icon-selector-icons.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons.mjs"},"./icon-selector/icons/office":{"types":"./icon-selector/icons/office/index.d.ts","esm2020":"./esm2020/icon-selector/icons/office/c8y-ngx-components-icon-selector-icons-office.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-office.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-office.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-office.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-office.mjs"},"./icon-selector/icons/people":{"types":"./icon-selector/icons/people/index.d.ts","esm2020":"./esm2020/icon-selector/icons/people/c8y-ngx-components-icon-selector-icons-people.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-people.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-people.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-people.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-people.mjs"},"./icon-selector/icons/platform":{"types":"./icon-selector/icons/platform/index.d.ts","esm2020":"./esm2020/icon-selector/icons/platform/c8y-ngx-components-icon-selector-icons-platform.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-platform.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-platform.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-platform.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-platform.mjs"},"./icon-selector/icons/programming":{"types":"./icon-selector/icons/programming/index.d.ts","esm2020":"./esm2020/icon-selector/icons/programming/c8y-ngx-components-icon-selector-icons-programming.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-programming.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-programming.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-programming.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-programming.mjs"},"./icon-selector/icons/security":{"types":"./icon-selector/icons/security/index.d.ts","esm2020":"./esm2020/icon-selector/icons/security/c8y-ngx-components-icon-selector-icons-security.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-security.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-security.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-security.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-security.mjs"},"./icon-selector/icons/transport":{"types":"./icon-selector/icons/transport/index.d.ts","esm2020":"./esm2020/icon-selector/icons/transport/c8y-ngx-components-icon-selector-icons-transport.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-transport.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-transport.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-transport.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-transport.mjs"},"./icon-selector/icons/userInterface":{"types":"./icon-selector/icons/userInterface/index.d.ts","esm2020":"./esm2020/icon-selector/icons/userInterface/c8y-ngx-components-icon-selector-icons-userInterface.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-userInterface.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-userInterface.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-userInterface.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-userInterface.mjs"},"./icon-selector/icons/weather":{"types":"./icon-selector/icons/weather/index.d.ts","esm2020":"./esm2020/icon-selector/icons/weather/c8y-ngx-components-icon-selector-icons-weather.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-icons-weather.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-icons-weather.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-icons-weather.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-icons-weather.mjs"},"./icon-selector/model":{"types":"./icon-selector/model/index.d.ts","esm2020":"./esm2020/icon-selector/model/c8y-ngx-components-icon-selector-model.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector-model.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector-model.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector-model.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector-model.mjs"},"./icon-selector":{"types":"./icon-selector/index.d.ts","esm2020":"./esm2020/icon-selector/c8y-ngx-components-icon-selector.mjs","es2020":"./fesm2020/c8y-ngx-components-icon-selector.mjs","es2015":"./fesm2015/c8y-ngx-components-icon-selector.mjs","node":"./fesm2015/c8y-ngx-components-icon-selector.mjs","default":"./fesm2020/c8y-ngx-components-icon-selector.mjs"},"./lazy/three-orbit-controls":{"types":"./lazy/three-orbit-controls/index.d.ts","esm2020":"./esm2020/lazy/three-orbit-controls/c8y-ngx-components-lazy-three-orbit-controls.mjs","es2020":"./fesm2020/c8y-ngx-components-lazy-three-orbit-controls.mjs","es2015":"./fesm2015/c8y-ngx-components-lazy-three-orbit-controls.mjs","node":"./fesm2015/c8y-ngx-components-lazy-three-orbit-controls.mjs","default":"./fesm2020/c8y-ngx-components-lazy-three-orbit-controls.mjs"},"./lazy/three":{"types":"./lazy/three/index.d.ts","esm2020":"./esm2020/lazy/three/c8y-ngx-components-lazy-three.mjs","es2020":"./fesm2020/c8y-ngx-components-lazy-three.mjs","es2015":"./fesm2015/c8y-ngx-components-lazy-three.mjs","node":"./fesm2015/c8y-ngx-components-lazy-three.mjs","default":"./fesm2020/c8y-ngx-components-lazy-three.mjs"},"./loriot-device-registration":{"types":"./loriot-device-registration/index.d.ts","esm2020":"./esm2020/loriot-device-registration/c8y-ngx-components-loriot-device-registration.mjs","es2020":"./fesm2020/c8y-ngx-components-loriot-device-registration.mjs","es2015":"./fesm2015/c8y-ngx-components-loriot-device-registration.mjs","node":"./fesm2015/c8y-ngx-components-loriot-device-registration.mjs","default":"./fesm2020/c8y-ngx-components-loriot-device-registration.mjs"},"./map":{"types":"./map/index.d.ts","esm2020":"./esm2020/map/c8y-ngx-components-map.mjs","es2020":"./fesm2020/c8y-ngx-components-map.mjs","es2015":"./fesm2015/c8y-ngx-components-map.mjs","node":"./fesm2015/c8y-ngx-components-map.mjs","default":"./fesm2020/c8y-ngx-components-map.mjs"},"./operations/bulk-operation-from-single":{"types":"./operations/bulk-operation-from-single/index.d.ts","esm2020":"./esm2020/operations/bulk-operation-from-single/c8y-ngx-components-operations-bulk-operation-from-single.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-bulk-operation-from-single.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-bulk-operation-from-single.mjs","node":"./fesm2015/c8y-ngx-components-operations-bulk-operation-from-single.mjs","default":"./fesm2020/c8y-ngx-components-operations-bulk-operation-from-single.mjs"},"./operations/bulk-operation-list-item":{"types":"./operations/bulk-operation-list-item/index.d.ts","esm2020":"./esm2020/operations/bulk-operation-list-item/c8y-ngx-components-operations-bulk-operation-list-item.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-bulk-operation-list-item.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-bulk-operation-list-item.mjs","node":"./fesm2015/c8y-ngx-components-operations-bulk-operation-list-item.mjs","default":"./fesm2020/c8y-ngx-components-operations-bulk-operation-list-item.mjs"},"./operations/bulk-operation-modal-details":{"types":"./operations/bulk-operation-modal-details/index.d.ts","esm2020":"./esm2020/operations/bulk-operation-modal-details/c8y-ngx-components-operations-bulk-operation-modal-details.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-bulk-operation-modal-details.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-bulk-operation-modal-details.mjs","node":"./fesm2015/c8y-ngx-components-operations-bulk-operation-modal-details.mjs","default":"./fesm2020/c8y-ngx-components-operations-bulk-operation-modal-details.mjs"},"./operations/bulk-operation-scheduler":{"types":"./operations/bulk-operation-scheduler/index.d.ts","esm2020":"./esm2020/operations/bulk-operation-scheduler/c8y-ngx-components-operations-bulk-operation-scheduler.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-bulk-operation-scheduler.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-bulk-operation-scheduler.mjs","node":"./fesm2015/c8y-ngx-components-operations-bulk-operation-scheduler.mjs","default":"./fesm2020/c8y-ngx-components-operations-bulk-operation-scheduler.mjs"},"./operations/bulk-operation-stepper":{"types":"./operations/bulk-operation-stepper/index.d.ts","esm2020":"./esm2020/operations/bulk-operation-stepper/c8y-ngx-components-operations-bulk-operation-stepper.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-bulk-operation-stepper.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-bulk-operation-stepper.mjs","node":"./fesm2015/c8y-ngx-components-operations-bulk-operation-stepper.mjs","default":"./fesm2020/c8y-ngx-components-operations-bulk-operation-stepper.mjs"},"./operations/bulk-operations-list":{"types":"./operations/bulk-operations-list/index.d.ts","esm2020":"./esm2020/operations/bulk-operations-list/c8y-ngx-components-operations-bulk-operations-list.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-bulk-operations-list.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-bulk-operations-list.mjs","node":"./fesm2015/c8y-ngx-components-operations-bulk-operations-list.mjs","default":"./fesm2020/c8y-ngx-components-operations-bulk-operations-list.mjs"},"./operations/bulk-operations-service":{"types":"./operations/bulk-operations-service/index.d.ts","esm2020":"./esm2020/operations/bulk-operations-service/c8y-ngx-components-operations-bulk-operations-service.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-bulk-operations-service.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-bulk-operations-service.mjs","node":"./fesm2015/c8y-ngx-components-operations-bulk-operations-service.mjs","default":"./fesm2020/c8y-ngx-components-operations-bulk-operations-service.mjs"},"./operations/bulk-operations-stepper-container":{"types":"./operations/bulk-operations-stepper-container/index.d.ts","esm2020":"./esm2020/operations/bulk-operations-stepper-container/c8y-ngx-components-operations-bulk-operations-stepper-container.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-bulk-operations-stepper-container.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-bulk-operations-stepper-container.mjs","node":"./fesm2015/c8y-ngx-components-operations-bulk-operations-stepper-container.mjs","default":"./fesm2020/c8y-ngx-components-operations-bulk-operations-stepper-container.mjs"},"./operations/bulk-single-operations-list":{"types":"./operations/bulk-single-operations-list/index.d.ts","esm2020":"./esm2020/operations/bulk-single-operations-list/c8y-ngx-components-operations-bulk-single-operations-list.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-bulk-single-operations-list.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-bulk-single-operations-list.mjs","node":"./fesm2015/c8y-ngx-components-operations-bulk-single-operations-list.mjs","default":"./fesm2020/c8y-ngx-components-operations-bulk-single-operations-list.mjs"},"./operations/create-bulk-operation-details":{"types":"./operations/create-bulk-operation-details/index.d.ts","esm2020":"./esm2020/operations/create-bulk-operation-details/c8y-ngx-components-operations-create-bulk-operation-details.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-create-bulk-operation-details.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-create-bulk-operation-details.mjs","node":"./fesm2015/c8y-ngx-components-operations-create-bulk-operation-details.mjs","default":"./fesm2020/c8y-ngx-components-operations-create-bulk-operation-details.mjs"},"./operations/device-selector":{"types":"./operations/device-selector/index.d.ts","esm2020":"./esm2020/operations/device-selector/c8y-ngx-components-operations-device-selector.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-device-selector.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-device-selector.mjs","node":"./fesm2015/c8y-ngx-components-operations-device-selector.mjs","default":"./fesm2020/c8y-ngx-components-operations-device-selector.mjs"},"./operations":{"types":"./operations/index.d.ts","esm2020":"./esm2020/operations/c8y-ngx-components-operations.mjs","es2020":"./fesm2020/c8y-ngx-components-operations.mjs","es2015":"./fesm2015/c8y-ngx-components-operations.mjs","node":"./fesm2015/c8y-ngx-components-operations.mjs","default":"./fesm2020/c8y-ngx-components-operations.mjs"},"./operations/operation-details":{"types":"./operations/operation-details/index.d.ts","esm2020":"./esm2020/operations/operation-details/c8y-ngx-components-operations-operation-details.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-operation-details.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-operation-details.mjs","node":"./fesm2015/c8y-ngx-components-operations-operation-details.mjs","default":"./fesm2020/c8y-ngx-components-operations-operation-details.mjs"},"./operations/operation-summary":{"types":"./operations/operation-summary/index.d.ts","esm2020":"./esm2020/operations/operation-summary/c8y-ngx-components-operations-operation-summary.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-operation-summary.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-operation-summary.mjs","node":"./fesm2015/c8y-ngx-components-operations-operation-summary.mjs","default":"./fesm2020/c8y-ngx-components-operations-operation-summary.mjs"},"./operations/operations-list-item-details":{"types":"./operations/operations-list-item-details/index.d.ts","esm2020":"./esm2020/operations/operations-list-item-details/c8y-ngx-components-operations-operations-list-item-details.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-operations-list-item-details.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-operations-list-item-details.mjs","node":"./fesm2015/c8y-ngx-components-operations-operations-list-item-details.mjs","default":"./fesm2020/c8y-ngx-components-operations-operations-list-item-details.mjs"},"./operations/operations-list":{"types":"./operations/operations-list/index.d.ts","esm2020":"./esm2020/operations/operations-list/c8y-ngx-components-operations-operations-list.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-operations-list.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-operations-list.mjs","node":"./fesm2015/c8y-ngx-components-operations-operations-list.mjs","default":"./fesm2020/c8y-ngx-components-operations-operations-list.mjs"},"./operations/operations-timeline":{"types":"./operations/operations-timeline/index.d.ts","esm2020":"./esm2020/operations/operations-timeline/c8y-ngx-components-operations-operations-timeline.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-operations-timeline.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-operations-timeline.mjs","node":"./fesm2015/c8y-ngx-components-operations-operations-timeline.mjs","default":"./fesm2020/c8y-ngx-components-operations-operations-timeline.mjs"},"./operations/product-experience":{"types":"./operations/product-experience/index.d.ts","esm2020":"./esm2020/operations/product-experience/c8y-ngx-components-operations-product-experience.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-product-experience.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-product-experience.mjs","node":"./fesm2015/c8y-ngx-components-operations-product-experience.mjs","default":"./fesm2020/c8y-ngx-components-operations-product-experience.mjs"},"./operations/shared":{"types":"./operations/shared/index.d.ts","esm2020":"./esm2020/operations/shared/c8y-ngx-components-operations-shared.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-shared.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-shared.mjs","node":"./fesm2015/c8y-ngx-components-operations-shared.mjs","default":"./fesm2020/c8y-ngx-components-operations-shared.mjs"},"./operations/status-filter":{"types":"./operations/status-filter/index.d.ts","esm2020":"./esm2020/operations/status-filter/c8y-ngx-components-operations-status-filter.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-status-filter.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-status-filter.mjs","node":"./fesm2015/c8y-ngx-components-operations-status-filter.mjs","default":"./fesm2020/c8y-ngx-components-operations-status-filter.mjs"},"./operations/stepper-bulk-type-configuration":{"types":"./operations/stepper-bulk-type-configuration/index.d.ts","esm2020":"./esm2020/operations/stepper-bulk-type-configuration/c8y-ngx-components-operations-stepper-bulk-type-configuration.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-stepper-bulk-type-configuration.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-stepper-bulk-type-configuration.mjs","node":"./fesm2015/c8y-ngx-components-operations-stepper-bulk-type-configuration.mjs","default":"./fesm2020/c8y-ngx-components-operations-stepper-bulk-type-configuration.mjs"},"./operations/stepper-bulk-type-device-profile":{"types":"./operations/stepper-bulk-type-device-profile/index.d.ts","esm2020":"./esm2020/operations/stepper-bulk-type-device-profile/c8y-ngx-components-operations-stepper-bulk-type-device-profile.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-stepper-bulk-type-device-profile.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-stepper-bulk-type-device-profile.mjs","node":"./fesm2015/c8y-ngx-components-operations-stepper-bulk-type-device-profile.mjs","default":"./fesm2020/c8y-ngx-components-operations-stepper-bulk-type-device-profile.mjs"},"./operations/stepper-bulk-type-firmware":{"types":"./operations/stepper-bulk-type-firmware/index.d.ts","esm2020":"./esm2020/operations/stepper-bulk-type-firmware/c8y-ngx-components-operations-stepper-bulk-type-firmware.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-stepper-bulk-type-firmware.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-stepper-bulk-type-firmware.mjs","node":"./fesm2015/c8y-ngx-components-operations-stepper-bulk-type-firmware.mjs","default":"./fesm2020/c8y-ngx-components-operations-stepper-bulk-type-firmware.mjs"},"./operations/stepper-bulk-type-software":{"types":"./operations/stepper-bulk-type-software/index.d.ts","esm2020":"./esm2020/operations/stepper-bulk-type-software/c8y-ngx-components-operations-stepper-bulk-type-software.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-stepper-bulk-type-software.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-stepper-bulk-type-software.mjs","node":"./fesm2015/c8y-ngx-components-operations-stepper-bulk-type-software.mjs","default":"./fesm2020/c8y-ngx-components-operations-stepper-bulk-type-software.mjs"},"./operations/stepper-frames":{"types":"./operations/stepper-frames/index.d.ts","esm2020":"./esm2020/operations/stepper-frames/c8y-ngx-components-operations-stepper-frames.mjs","es2020":"./fesm2020/c8y-ngx-components-operations-stepper-frames.mjs","es2015":"./fesm2015/c8y-ngx-components-operations-stepper-frames.mjs","node":"./fesm2015/c8y-ngx-components-operations-stepper-frames.mjs","default":"./fesm2020/c8y-ngx-components-operations-stepper-frames.mjs"},"./polyfills":{"types":"./polyfills/index.d.ts","esm2020":"./esm2020/polyfills/c8y-ngx-components-polyfills.mjs","es2020":"./fesm2020/c8y-ngx-components-polyfills.mjs","es2015":"./fesm2015/c8y-ngx-components-polyfills.mjs","node":"./fesm2015/c8y-ngx-components-polyfills.mjs","default":"./fesm2020/c8y-ngx-components-polyfills.mjs"},"./protocol-impact":{"types":"./protocol-impact/index.d.ts","esm2020":"./esm2020/protocol-impact/c8y-ngx-components-protocol-impact.mjs","es2020":"./fesm2020/c8y-ngx-components-protocol-impact.mjs","es2015":"./fesm2015/c8y-ngx-components-protocol-impact.mjs","node":"./fesm2015/c8y-ngx-components-protocol-impact.mjs","default":"./fesm2020/c8y-ngx-components-protocol-impact.mjs"},"./protocol-lpwan":{"types":"./protocol-lpwan/index.d.ts","esm2020":"./esm2020/protocol-lpwan/c8y-ngx-components-protocol-lpwan.mjs","es2020":"./fesm2020/c8y-ngx-components-protocol-lpwan.mjs","es2015":"./fesm2015/c8y-ngx-components-protocol-lpwan.mjs","node":"./fesm2015/c8y-ngx-components-protocol-lpwan.mjs","default":"./fesm2020/c8y-ngx-components-protocol-lpwan.mjs"},"./protocol-lwm2m/components/bootstrap-parameters":{"types":"./protocol-lwm2m/components/bootstrap-parameters/index.d.ts","esm2020":"./esm2020/protocol-lwm2m/components/bootstrap-parameters/c8y-ngx-components-protocol-lwm2m-components-bootstrap-parameters.mjs","es2020":"./fesm2020/c8y-ngx-components-protocol-lwm2m-components-bootstrap-parameters.mjs","es2015":"./fesm2015/c8y-ngx-components-protocol-lwm2m-components-bootstrap-parameters.mjs","node":"./fesm2015/c8y-ngx-components-protocol-lwm2m-components-bootstrap-parameters.mjs","default":"./fesm2020/c8y-ngx-components-protocol-lwm2m-components-bootstrap-parameters.mjs"},"./protocol-lwm2m/components/post-registration-operations":{"types":"./protocol-lwm2m/components/post-registration-operations/index.d.ts","esm2020":"./esm2020/protocol-lwm2m/components/post-registration-operations/c8y-ngx-components-protocol-lwm2m-components-post-registration-operations.mjs","es2020":"./fesm2020/c8y-ngx-components-protocol-lwm2m-components-post-registration-operations.mjs","es2015":"./fesm2015/c8y-ngx-components-protocol-lwm2m-components-post-registration-operations.mjs","node":"./fesm2015/c8y-ngx-components-protocol-lwm2m-components-post-registration-operations.mjs","default":"./fesm2020/c8y-ngx-components-protocol-lwm2m-components-post-registration-operations.mjs"},"./protocol-lwm2m/factories":{"types":"./protocol-lwm2m/factories/index.d.ts","esm2020":"./esm2020/protocol-lwm2m/factories/c8y-ngx-components-protocol-lwm2m-factories.mjs","es2020":"./fesm2020/c8y-ngx-components-protocol-lwm2m-factories.mjs","es2015":"./fesm2015/c8y-ngx-components-protocol-lwm2m-factories.mjs","node":"./fesm2015/c8y-ngx-components-protocol-lwm2m-factories.mjs","default":"./fesm2020/c8y-ngx-components-protocol-lwm2m-factories.mjs"},"./protocol-lwm2m/guards":{"types":"./protocol-lwm2m/guards/index.d.ts","esm2020":"./esm2020/protocol-lwm2m/guards/c8y-ngx-components-protocol-lwm2m-guards.mjs","es2020":"./fesm2020/c8y-ngx-components-protocol-lwm2m-guards.mjs","es2015":"./fesm2015/c8y-ngx-components-protocol-lwm2m-guards.mjs","node":"./fesm2015/c8y-ngx-components-protocol-lwm2m-guards.mjs","default":"./fesm2020/c8y-ngx-components-protocol-lwm2m-guards.mjs"},"./protocol-lwm2m/model":{"types":"./protocol-lwm2m/model/index.d.ts","esm2020":"./esm2020/protocol-lwm2m/model/c8y-ngx-components-protocol-lwm2m-model.mjs","es2020":"./fesm2020/c8y-ngx-components-protocol-lwm2m-model.mjs","es2015":"./fesm2015/c8y-ngx-components-protocol-lwm2m-model.mjs","node":"./fesm2015/c8y-ngx-components-protocol-lwm2m-model.mjs","default":"./fesm2020/c8y-ngx-components-protocol-lwm2m-model.mjs"},"./protocol-lwm2m":{"types":"./protocol-lwm2m/index.d.ts","esm2020":"./esm2020/protocol-lwm2m/c8y-ngx-components-protocol-lwm2m.mjs","es2020":"./fesm2020/c8y-ngx-components-protocol-lwm2m.mjs","es2015":"./fesm2015/c8y-ngx-components-protocol-lwm2m.mjs","node":"./fesm2015/c8y-ngx-components-protocol-lwm2m.mjs","default":"./fesm2020/c8y-ngx-components-protocol-lwm2m.mjs"},"./protocol-lwm2m/services":{"types":"./protocol-lwm2m/services/index.d.ts","esm2020":"./esm2020/protocol-lwm2m/services/c8y-ngx-components-protocol-lwm2m-services.mjs","es2020":"./fesm2020/c8y-ngx-components-protocol-lwm2m-services.mjs","es2015":"./fesm2015/c8y-ngx-components-protocol-lwm2m-services.mjs","node":"./fesm2015/c8y-ngx-components-protocol-lwm2m-services.mjs","default":"./fesm2020/c8y-ngx-components-protocol-lwm2m-services.mjs"},"./protocol-opcua":{"types":"./protocol-opcua/index.d.ts","esm2020":"./esm2020/protocol-opcua/c8y-ngx-components-protocol-opcua.mjs","es2020":"./fesm2020/c8y-ngx-components-protocol-opcua.mjs","es2015":"./fesm2015/c8y-ngx-components-protocol-opcua.mjs","node":"./fesm2015/c8y-ngx-components-protocol-opcua.mjs","default":"./fesm2020/c8y-ngx-components-protocol-opcua.mjs"},"./register-device":{"types":"./register-device/index.d.ts","esm2020":"./esm2020/register-device/c8y-ngx-components-register-device.mjs","es2020":"./fesm2020/c8y-ngx-components-register-device.mjs","es2015":"./fesm2015/c8y-ngx-components-register-device.mjs","node":"./fesm2015/c8y-ngx-components-register-device.mjs","default":"./fesm2020/c8y-ngx-components-register-device.mjs"},"./reports":{"types":"./reports/index.d.ts","esm2020":"./esm2020/reports/c8y-ngx-components-reports.mjs","es2020":"./fesm2020/c8y-ngx-components-reports.mjs","es2015":"./fesm2015/c8y-ngx-components-reports.mjs","node":"./fesm2015/c8y-ngx-components-reports.mjs","default":"./fesm2020/c8y-ngx-components-reports.mjs"},"./repository/configuration":{"types":"./repository/configuration/index.d.ts","esm2020":"./esm2020/repository/configuration/c8y-ngx-components-repository-configuration.mjs","es2020":"./fesm2020/c8y-ngx-components-repository-configuration.mjs","es2015":"./fesm2015/c8y-ngx-components-repository-configuration.mjs","node":"./fesm2015/c8y-ngx-components-repository-configuration.mjs","default":"./fesm2020/c8y-ngx-components-repository-configuration.mjs"},"./repository/firmware":{"types":"./repository/firmware/index.d.ts","esm2020":"./esm2020/repository/firmware/c8y-ngx-components-repository-firmware.mjs","es2020":"./fesm2020/c8y-ngx-components-repository-firmware.mjs","es2015":"./fesm2015/c8y-ngx-components-repository-firmware.mjs","node":"./fesm2015/c8y-ngx-components-repository-firmware.mjs","default":"./fesm2020/c8y-ngx-components-repository-firmware.mjs"},"./repository":{"types":"./repository/index.d.ts","esm2020":"./esm2020/repository/c8y-ngx-components-repository.mjs","es2020":"./fesm2020/c8y-ngx-components-repository.mjs","es2015":"./fesm2015/c8y-ngx-components-repository.mjs","node":"./fesm2015/c8y-ngx-components-repository.mjs","default":"./fesm2020/c8y-ngx-components-repository.mjs"},"./repository/shared":{"types":"./repository/shared/index.d.ts","esm2020":"./esm2020/repository/shared/c8y-ngx-components-repository-shared.mjs","es2020":"./fesm2020/c8y-ngx-components-repository-shared.mjs","es2015":"./fesm2015/c8y-ngx-components-repository-shared.mjs","node":"./fesm2015/c8y-ngx-components-repository-shared.mjs","default":"./fesm2020/c8y-ngx-components-repository-shared.mjs"},"./repository/software":{"types":"./repository/software/index.d.ts","esm2020":"./esm2020/repository/software/c8y-ngx-components-repository-software.mjs","es2020":"./fesm2020/c8y-ngx-components-repository-software.mjs","es2015":"./fesm2015/c8y-ngx-components-repository-software.mjs","node":"./fesm2015/c8y-ngx-components-repository-software.mjs","default":"./fesm2020/c8y-ngx-components-repository-software.mjs"},"./search":{"types":"./search/index.d.ts","esm2020":"./esm2020/search/c8y-ngx-components-search.mjs","es2020":"./fesm2020/c8y-ngx-components-search.mjs","es2015":"./fesm2015/c8y-ngx-components-search.mjs","node":"./fesm2015/c8y-ngx-components-search.mjs","default":"./fesm2020/c8y-ngx-components-search.mjs"},"./sensor-phone":{"types":"./sensor-phone/index.d.ts","esm2020":"./esm2020/sensor-phone/c8y-ngx-components-sensor-phone.mjs","es2020":"./fesm2020/c8y-ngx-components-sensor-phone.mjs","es2015":"./fesm2015/c8y-ngx-components-sensor-phone.mjs","node":"./fesm2015/c8y-ngx-components-sensor-phone.mjs","default":"./fesm2020/c8y-ngx-components-sensor-phone.mjs"},"./sensor-phone/sensor-phone-modal":{"types":"./sensor-phone/sensor-phone-modal/index.d.ts","esm2020":"./esm2020/sensor-phone/sensor-phone-modal/c8y-ngx-components-sensor-phone-sensor-phone-modal.mjs","es2020":"./fesm2020/c8y-ngx-components-sensor-phone-sensor-phone-modal.mjs","es2015":"./fesm2015/c8y-ngx-components-sensor-phone-sensor-phone-modal.mjs","node":"./fesm2015/c8y-ngx-components-sensor-phone-sensor-phone-modal.mjs","default":"./fesm2020/c8y-ngx-components-sensor-phone-sensor-phone-modal.mjs"},"./services":{"types":"./services/index.d.ts","esm2020":"./esm2020/services/c8y-ngx-components-services.mjs","es2020":"./fesm2020/c8y-ngx-components-services.mjs","es2015":"./fesm2015/c8y-ngx-components-services.mjs","node":"./fesm2015/c8y-ngx-components-services.mjs","default":"./fesm2020/c8y-ngx-components-services.mjs"},"./sigfox-device-registration":{"types":"./sigfox-device-registration/index.d.ts","esm2020":"./esm2020/sigfox-device-registration/c8y-ngx-components-sigfox-device-registration.mjs","es2020":"./fesm2020/c8y-ngx-components-sigfox-device-registration.mjs","es2015":"./fesm2015/c8y-ngx-components-sigfox-device-registration.mjs","node":"./fesm2015/c8y-ngx-components-sigfox-device-registration.mjs","default":"./fesm2020/c8y-ngx-components-sigfox-device-registration.mjs"},"./sms-gateway":{"types":"./sms-gateway/index.d.ts","esm2020":"./esm2020/sms-gateway/c8y-ngx-components-sms-gateway.mjs","es2020":"./fesm2020/c8y-ngx-components-sms-gateway.mjs","es2015":"./fesm2015/c8y-ngx-components-sms-gateway.mjs","node":"./fesm2015/c8y-ngx-components-sms-gateway.mjs","default":"./fesm2020/c8y-ngx-components-sms-gateway.mjs"},"./sub-assets":{"types":"./sub-assets/index.d.ts","esm2020":"./esm2020/sub-assets/c8y-ngx-components-sub-assets.mjs","es2020":"./fesm2020/c8y-ngx-components-sub-assets.mjs","es2015":"./fesm2015/c8y-ngx-components-sub-assets.mjs","node":"./fesm2015/c8y-ngx-components-sub-assets.mjs","default":"./fesm2020/c8y-ngx-components-sub-assets.mjs"},"./tenants":{"types":"./tenants/index.d.ts","esm2020":"./esm2020/tenants/c8y-ngx-components-tenants.mjs","es2020":"./fesm2020/c8y-ngx-components-tenants.mjs","es2015":"./fesm2015/c8y-ngx-components-tenants.mjs","node":"./fesm2015/c8y-ngx-components-tenants.mjs","default":"./fesm2020/c8y-ngx-components-tenants.mjs"},"./trusted-certificates":{"types":"./trusted-certificates/index.d.ts","esm2020":"./esm2020/trusted-certificates/c8y-ngx-components-trusted-certificates.mjs","es2020":"./fesm2020/c8y-ngx-components-trusted-certificates.mjs","es2015":"./fesm2015/c8y-ngx-components-trusted-certificates.mjs","node":"./fesm2015/c8y-ngx-components-trusted-certificates.mjs","default":"./fesm2020/c8y-ngx-components-trusted-certificates.mjs"},"./upgrade":{"types":"./upgrade/index.d.ts","esm2020":"./esm2020/upgrade/c8y-ngx-components-upgrade.mjs","es2020":"./fesm2020/c8y-ngx-components-upgrade.mjs","es2015":"./fesm2015/c8y-ngx-components-upgrade.mjs","node":"./fesm2015/c8y-ngx-components-upgrade.mjs","default":"./fesm2020/c8y-ngx-components-upgrade.mjs"},"./widgets/cockpit":{"types":"./widgets/cockpit/index.d.ts","esm2020":"./esm2020/widgets/cockpit/c8y-ngx-components-widgets-cockpit.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-cockpit.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-cockpit.mjs","node":"./fesm2015/c8y-ngx-components-widgets-cockpit.mjs","default":"./fesm2020/c8y-ngx-components-widgets-cockpit.mjs"},"./widgets/definitions/cockpit-legacy-welcome":{"types":"./widgets/definitions/cockpit-legacy-welcome/index.d.ts","esm2020":"./esm2020/widgets/definitions/cockpit-legacy-welcome/c8y-ngx-components-widgets-definitions-cockpit-legacy-welcome.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-definitions-cockpit-legacy-welcome.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-definitions-cockpit-legacy-welcome.mjs","node":"./fesm2015/c8y-ngx-components-widgets-definitions-cockpit-legacy-welcome.mjs","default":"./fesm2020/c8y-ngx-components-widgets-definitions-cockpit-legacy-welcome.mjs"},"./widgets/definitions/cockpit-welcome":{"types":"./widgets/definitions/cockpit-welcome/index.d.ts","esm2020":"./esm2020/widgets/definitions/cockpit-welcome/c8y-ngx-components-widgets-definitions-cockpit-welcome.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-definitions-cockpit-welcome.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-definitions-cockpit-welcome.mjs","node":"./fesm2015/c8y-ngx-components-widgets-definitions-cockpit-welcome.mjs","default":"./fesm2020/c8y-ngx-components-widgets-definitions-cockpit-welcome.mjs"},"./widgets/definitions/device-management-welcome":{"types":"./widgets/definitions/device-management-welcome/index.d.ts","esm2020":"./esm2020/widgets/definitions/device-management-welcome/c8y-ngx-components-widgets-definitions-device-management-welcome.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-definitions-device-management-welcome.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-definitions-device-management-welcome.mjs","node":"./fesm2015/c8y-ngx-components-widgets-definitions-device-management-welcome.mjs","default":"./fesm2020/c8y-ngx-components-widgets-definitions-device-management-welcome.mjs"},"./widgets/definitions/help-and-service":{"types":"./widgets/definitions/help-and-service/index.d.ts","esm2020":"./esm2020/widgets/definitions/help-and-service/c8y-ngx-components-widgets-definitions-help-and-service.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-definitions-help-and-service.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-definitions-help-and-service.mjs","node":"./fesm2015/c8y-ngx-components-widgets-definitions-help-and-service.mjs","default":"./fesm2020/c8y-ngx-components-widgets-definitions-help-and-service.mjs"},"./widgets/definitions/image":{"types":"./widgets/definitions/image/index.d.ts","esm2020":"./esm2020/widgets/definitions/image/c8y-ngx-components-widgets-definitions-image.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-definitions-image.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-definitions-image.mjs","node":"./fesm2015/c8y-ngx-components-widgets-definitions-image.mjs","default":"./fesm2020/c8y-ngx-components-widgets-definitions-image.mjs"},"./widgets/definitions/kpi":{"types":"./widgets/definitions/kpi/index.d.ts","esm2020":"./esm2020/widgets/definitions/kpi/c8y-ngx-components-widgets-definitions-kpi.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-definitions-kpi.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-definitions-kpi.mjs","node":"./fesm2015/c8y-ngx-components-widgets-definitions-kpi.mjs","default":"./fesm2020/c8y-ngx-components-widgets-definitions-kpi.mjs"},"./widgets/definitions/map":{"types":"./widgets/definitions/map/index.d.ts","esm2020":"./esm2020/widgets/definitions/map/c8y-ngx-components-widgets-definitions-map.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-definitions-map.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-definitions-map.mjs","node":"./fesm2015/c8y-ngx-components-widgets-definitions-map.mjs","default":"./fesm2020/c8y-ngx-components-widgets-definitions-map.mjs"},"./widgets/definitions/markdown":{"types":"./widgets/definitions/markdown/index.d.ts","esm2020":"./esm2020/widgets/definitions/markdown/c8y-ngx-components-widgets-definitions-markdown.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-definitions-markdown.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-definitions-markdown.mjs","node":"./fesm2015/c8y-ngx-components-widgets-definitions-markdown.mjs","default":"./fesm2020/c8y-ngx-components-widgets-definitions-markdown.mjs"},"./widgets/definitions":{"types":"./widgets/definitions/index.d.ts","esm2020":"./esm2020/widgets/definitions/c8y-ngx-components-widgets-definitions.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-definitions.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-definitions.mjs","node":"./fesm2015/c8y-ngx-components-widgets-definitions.mjs","default":"./fesm2020/c8y-ngx-components-widgets-definitions.mjs"},"./widgets/definitions/three-d-rotation":{"types":"./widgets/definitions/three-d-rotation/index.d.ts","esm2020":"./esm2020/widgets/definitions/three-d-rotation/c8y-ngx-components-widgets-definitions-three-d-rotation.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-definitions-three-d-rotation.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-definitions-three-d-rotation.mjs","node":"./fesm2015/c8y-ngx-components-widgets-definitions-three-d-rotation.mjs","default":"./fesm2020/c8y-ngx-components-widgets-definitions-three-d-rotation.mjs"},"./widgets/device-management":{"types":"./widgets/device-management/index.d.ts","esm2020":"./esm2020/widgets/device-management/c8y-ngx-components-widgets-device-management.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-device-management.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-device-management.mjs","node":"./fesm2015/c8y-ngx-components-widgets-device-management.mjs","default":"./fesm2020/c8y-ngx-components-widgets-device-management.mjs"},"./widgets/implementations/cockpit-legacy-welcome":{"types":"./widgets/implementations/cockpit-legacy-welcome/index.d.ts","esm2020":"./esm2020/widgets/implementations/cockpit-legacy-welcome/c8y-ngx-components-widgets-implementations-cockpit-legacy-welcome.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-implementations-cockpit-legacy-welcome.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-implementations-cockpit-legacy-welcome.mjs","node":"./fesm2015/c8y-ngx-components-widgets-implementations-cockpit-legacy-welcome.mjs","default":"./fesm2020/c8y-ngx-components-widgets-implementations-cockpit-legacy-welcome.mjs"},"./widgets/implementations/cockpit-welcome":{"types":"./widgets/implementations/cockpit-welcome/index.d.ts","esm2020":"./esm2020/widgets/implementations/cockpit-welcome/c8y-ngx-components-widgets-implementations-cockpit-welcome.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-implementations-cockpit-welcome.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-implementations-cockpit-welcome.mjs","node":"./fesm2015/c8y-ngx-components-widgets-implementations-cockpit-welcome.mjs","default":"./fesm2020/c8y-ngx-components-widgets-implementations-cockpit-welcome.mjs"},"./widgets/implementations/device-management-welcome":{"types":"./widgets/implementations/device-management-welcome/index.d.ts","esm2020":"./esm2020/widgets/implementations/device-management-welcome/c8y-ngx-components-widgets-implementations-device-management-welcome.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-implementations-device-management-welcome.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-implementations-device-management-welcome.mjs","node":"./fesm2015/c8y-ngx-components-widgets-implementations-device-management-welcome.mjs","default":"./fesm2020/c8y-ngx-components-widgets-implementations-device-management-welcome.mjs"},"./widgets/implementations/help-and-service-widget":{"types":"./widgets/implementations/help-and-service-widget/index.d.ts","esm2020":"./esm2020/widgets/implementations/help-and-service-widget/c8y-ngx-components-widgets-implementations-help-and-service-widget.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-implementations-help-and-service-widget.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-implementations-help-and-service-widget.mjs","node":"./fesm2015/c8y-ngx-components-widgets-implementations-help-and-service-widget.mjs","default":"./fesm2020/c8y-ngx-components-widgets-implementations-help-and-service-widget.mjs"},"./widgets/implementations/image":{"types":"./widgets/implementations/image/index.d.ts","esm2020":"./esm2020/widgets/implementations/image/c8y-ngx-components-widgets-implementations-image.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-implementations-image.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-implementations-image.mjs","node":"./fesm2015/c8y-ngx-components-widgets-implementations-image.mjs","default":"./fesm2020/c8y-ngx-components-widgets-implementations-image.mjs"},"./widgets/implementations/kpi":{"types":"./widgets/implementations/kpi/index.d.ts","esm2020":"./esm2020/widgets/implementations/kpi/c8y-ngx-components-widgets-implementations-kpi.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-implementations-kpi.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-implementations-kpi.mjs","node":"./fesm2015/c8y-ngx-components-widgets-implementations-kpi.mjs","default":"./fesm2020/c8y-ngx-components-widgets-implementations-kpi.mjs"},"./widgets/implementations/map":{"types":"./widgets/implementations/map/index.d.ts","esm2020":"./esm2020/widgets/implementations/map/c8y-ngx-components-widgets-implementations-map.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-implementations-map.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-implementations-map.mjs","node":"./fesm2015/c8y-ngx-components-widgets-implementations-map.mjs","default":"./fesm2020/c8y-ngx-components-widgets-implementations-map.mjs"},"./widgets/implementations/markdown":{"types":"./widgets/implementations/markdown/index.d.ts","esm2020":"./esm2020/widgets/implementations/markdown/c8y-ngx-components-widgets-implementations-markdown.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-implementations-markdown.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-implementations-markdown.mjs","node":"./fesm2015/c8y-ngx-components-widgets-implementations-markdown.mjs","default":"./fesm2020/c8y-ngx-components-widgets-implementations-markdown.mjs"},"./widgets/implementations/three-d-rotation/box-model":{"types":"./widgets/implementations/three-d-rotation/box-model/index.d.ts","esm2020":"./esm2020/widgets/implementations/three-d-rotation/box-model/c8y-ngx-components-widgets-implementations-three-d-rotation-box-model.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-implementations-three-d-rotation-box-model.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-implementations-three-d-rotation-box-model.mjs","node":"./fesm2015/c8y-ngx-components-widgets-implementations-three-d-rotation-box-model.mjs","default":"./fesm2020/c8y-ngx-components-widgets-implementations-three-d-rotation-box-model.mjs"},"./widgets/implementations/three-d-rotation/lazy-box-model":{"types":"./widgets/implementations/three-d-rotation/lazy-box-model/index.d.ts","esm2020":"./esm2020/widgets/implementations/three-d-rotation/lazy-box-model/c8y-ngx-components-widgets-implementations-three-d-rotation-lazy-box-model.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-implementations-three-d-rotation-lazy-box-model.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-implementations-three-d-rotation-lazy-box-model.mjs","node":"./fesm2015/c8y-ngx-components-widgets-implementations-three-d-rotation-lazy-box-model.mjs","default":"./fesm2020/c8y-ngx-components-widgets-implementations-three-d-rotation-lazy-box-model.mjs"},"./widgets/implementations/three-d-rotation/lazy-phone-model":{"types":"./widgets/implementations/three-d-rotation/lazy-phone-model/index.d.ts","esm2020":"./esm2020/widgets/implementations/three-d-rotation/lazy-phone-model/c8y-ngx-components-widgets-implementations-three-d-rotation-lazy-phone-model.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-implementations-three-d-rotation-lazy-phone-model.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-implementations-three-d-rotation-lazy-phone-model.mjs","node":"./fesm2015/c8y-ngx-components-widgets-implementations-three-d-rotation-lazy-phone-model.mjs","default":"./fesm2020/c8y-ngx-components-widgets-implementations-three-d-rotation-lazy-phone-model.mjs"},"./widgets/implementations/three-d-rotation":{"types":"./widgets/implementations/three-d-rotation/index.d.ts","esm2020":"./esm2020/widgets/implementations/three-d-rotation/c8y-ngx-components-widgets-implementations-three-d-rotation.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-implementations-three-d-rotation.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-implementations-three-d-rotation.mjs","node":"./fesm2015/c8y-ngx-components-widgets-implementations-three-d-rotation.mjs","default":"./fesm2020/c8y-ngx-components-widgets-implementations-three-d-rotation.mjs"},"./widgets/implementations/three-d-rotation/phone-model":{"types":"./widgets/implementations/three-d-rotation/phone-model/index.d.ts","esm2020":"./esm2020/widgets/implementations/three-d-rotation/phone-model/c8y-ngx-components-widgets-implementations-three-d-rotation-phone-model.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets-implementations-three-d-rotation-phone-model.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets-implementations-three-d-rotation-phone-model.mjs","node":"./fesm2015/c8y-ngx-components-widgets-implementations-three-d-rotation-phone-model.mjs","default":"./fesm2020/c8y-ngx-components-widgets-implementations-three-d-rotation-phone-model.mjs"},"./widgets":{"types":"./widgets/index.d.ts","esm2020":"./esm2020/widgets/c8y-ngx-components-widgets.mjs","es2020":"./fesm2020/c8y-ngx-components-widgets.mjs","es2015":"./fesm2015/c8y-ngx-components-widgets.mjs","node":"./fesm2015/c8y-ngx-components-widgets.mjs","default":"./fesm2020/c8y-ngx-components-widgets.mjs"}},"sideEffects":false}
|