@c8y/ngx-components 1011.0.23 → 1011.0.26

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.
Files changed (48) hide show
  1. package/bundles/c8y-ngx-components-protocol-lpwan.umd.js +15 -7
  2. package/bundles/c8y-ngx-components-protocol-lpwan.umd.js.map +1 -1
  3. package/bundles/c8y-ngx-components-protocol-lpwan.umd.min.js +2 -2
  4. package/bundles/c8y-ngx-components-protocol-lpwan.umd.min.js.map +1 -1
  5. package/bundles/c8y-ngx-components-repository.umd.js +36 -14
  6. package/bundles/c8y-ngx-components-repository.umd.js.map +1 -1
  7. package/bundles/c8y-ngx-components-repository.umd.min.js +1 -1
  8. package/bundles/c8y-ngx-components-repository.umd.min.js.map +1 -1
  9. package/bundles/c8y-ngx-components-search.umd.js +1 -1
  10. package/bundles/c8y-ngx-components-search.umd.js.map +1 -1
  11. package/bundles/c8y-ngx-components-search.umd.min.js +1 -1
  12. package/bundles/c8y-ngx-components-search.umd.min.js.map +1 -1
  13. package/bundles/c8y-ngx-components.umd.js +1 -1
  14. package/bundles/c8y-ngx-components.umd.js.map +1 -1
  15. package/bundles/c8y-ngx-components.umd.min.js +1 -1
  16. package/bundles/c8y-ngx-components.umd.min.js.map +1 -1
  17. package/c8y-ngx-components.metadata.json +1 -1
  18. package/esm2015/core/select/typeahead.component.js +2 -2
  19. package/esm2015/protocol-lpwan/lpwan-set-device-protocol.component.js +10 -3
  20. package/esm2015/protocol-lpwan/lpwan-set-device-protocol.service.js +6 -5
  21. package/esm2015/repository/configuration-device-tab/device-configuration.component.js +7 -2
  22. package/esm2015/repository/configuration-device-tab/device-configuration.guard.js +4 -2
  23. package/esm2015/repository/firmware-device-tab/firmware-device-tab.component.js +4 -3
  24. package/esm2015/repository/firmware-device-tab/firmware-device-tab.guard.js +4 -5
  25. package/esm2015/repository/software-device-tab/device-software-list.component.js +10 -3
  26. package/esm2015/repository/software-device-tab/installed-software.component.js +10 -2
  27. package/esm2015/repository/software-device-tab/software-device-tab.component.js +2 -2
  28. package/esm2015/repository/software-device-tab/software-device-tab.guard.js +9 -5
  29. package/esm2015/search/search.service.js +2 -2
  30. package/fesm2015/c8y-ngx-components-protocol-lpwan.js +14 -6
  31. package/fesm2015/c8y-ngx-components-protocol-lpwan.js.map +1 -1
  32. package/fesm2015/c8y-ngx-components-repository.js +37 -15
  33. package/fesm2015/c8y-ngx-components-repository.js.map +1 -1
  34. package/fesm2015/c8y-ngx-components-search.js +1 -1
  35. package/fesm2015/c8y-ngx-components-search.js.map +1 -1
  36. package/fesm2015/c8y-ngx-components.js +1 -1
  37. package/fesm2015/c8y-ngx-components.js.map +1 -1
  38. package/locales/locales.pot +6 -3
  39. package/package.json +2 -2
  40. package/protocol-lpwan/c8y-ngx-components-protocol-lpwan.metadata.json +1 -1
  41. package/protocol-lpwan/lpwan-set-device-protocol.component.d.ts +3 -1
  42. package/repository/c8y-ngx-components-repository.metadata.json +1 -1
  43. package/repository/configuration-device-tab/device-configuration.guard.d.ts +1 -1
  44. package/repository/firmware-device-tab/firmware-device-tab.component.d.ts +1 -0
  45. package/repository/firmware-device-tab/firmware-device-tab.guard.d.ts +1 -1
  46. package/repository/software-device-tab/device-software-list.component.d.ts +7 -2
  47. package/repository/software-device-tab/installed-software.component.d.ts +4 -0
  48. package/repository/software-device-tab/software-device-tab.guard.d.ts +2 -2
@@ -119,7 +119,7 @@ export class TypeaheadComponent {
119
119
  TypeaheadComponent.decorators = [
120
120
  { type: Component, args: [{
121
121
  selector: 'c8y-typeahead',
122
- template: "<div\n class=\"c8y-child-assets-selector dropdown\"\n dropdown\n [container]=\"container\"\n placement=\"bottom left\"\n #dropdown=\"bs-dropdown\"\n [autoClose]=\"true\"\n (onShown)=\"onShown()\"\n [isDisabled]=\"disabled\"\n>\n <div class=\"input-group input-group-dropdown\" dropdownToggle>\n <input\n #searchControl\n type=\"text\"\n class=\"form-control text-truncate p-r-24\"\n [required]=\"required\"\n [ngModel]=\"selected ? getDisplayProperty() : ''\"\n [placeholder]=\"placeholder | translate\"\n (blur)=\"doBlur()\"\n [name]=\"name\"\n [disabled]=\"disabled\"\n title=\"{{ placeholder | translate }}\"\n />\n\n <span\n class=\"label label-info p-absolute\"\n style=\"top: 10px; right: 40px; z-index: 10;\"\n translate\n *ngIf=\"\n selected\n ? selected.id === null && getDisplayProperty()?.length > 0 && allowFreeEntries\n : false\n \"\n >\n New\n </span>\n\n <span class=\"input-group-btn\">\n <button\n type=\"button\"\n class=\"btn btn-clean\"\n [disabled]=\"disabled\"\n (click)=\"onIconClick.emit(icon)\"\n >\n <i [c8yIcon]=\"icon\"></i>\n </button>\n </span>\n </div>\n\n <c8y-list-group class=\"dropdown-menu dropdown-menu--modal\" *dropdownMenu>\n <ng-content select=\"div, c8y-li, c8y-list-item, button, a\"></ng-content>\n </c8y-list-group>\n</div>\n",
122
+ template: "<div\n class=\"c8y-child-assets-selector dropdown fit-w\"\n dropdown\n [container]=\"container\"\n placement=\"bottom left\"\n #dropdown=\"bs-dropdown\"\n [autoClose]=\"true\"\n (onShown)=\"onShown()\"\n [isDisabled]=\"disabled\"\n>\n <div class=\"input-group input-group-dropdown\" dropdownToggle>\n <input\n #searchControl\n type=\"text\"\n class=\"form-control text-truncate p-r-24\"\n [required]=\"required\"\n [ngModel]=\"selected ? getDisplayProperty() : ''\"\n [placeholder]=\"placeholder | translate\"\n (blur)=\"doBlur()\"\n [name]=\"name\"\n [disabled]=\"disabled\"\n title=\"{{ placeholder | translate }}\"\n />\n\n <span\n class=\"label label-info p-absolute\"\n style=\"top: 10px; right: 40px; z-index: 10;\"\n translate\n *ngIf=\"\n selected\n ? selected.id === null && getDisplayProperty()?.length > 0 && allowFreeEntries\n : false\n \"\n >\n New\n </span>\n\n <span class=\"input-group-btn\">\n <button\n type=\"button\"\n class=\"btn btn-clean\"\n [disabled]=\"disabled\"\n (click)=\"onIconClick.emit(icon)\"\n >\n <i [c8yIcon]=\"icon\"></i>\n </button>\n </span>\n </div>\n\n <c8y-list-group class=\"dropdown-menu dropdown-menu--modal\" *dropdownMenu>\n <ng-content select=\"div, c8y-li, c8y-list-item, button, a\"></ng-content>\n </c8y-list-group>\n</div>\n",
123
123
  providers: [
124
124
  {
125
125
  provide: NG_VALUE_ACCESSOR,
@@ -151,4 +151,4 @@ TypeaheadComponent.propDecorators = {
151
151
  onSearch: [{ type: Output }],
152
152
  onIconClick: [{ type: Output }]
153
153
  };
154
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZWFoZWFkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvcmUvc2VsZWN0L3R5cGVhaGVhZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGVBQWUsRUFDZixLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWixTQUFTLEVBQ1QsU0FBUyxFQUdULFVBQVUsRUFDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUE4QixNQUFNLGdCQUFnQixDQUFDO0FBQzNFLE9BQU8sRUFBRSxTQUFTLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsR0FBRyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR2pGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNoRCxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFrQnpFLE1BQU0sT0FBTyxrQkFBa0I7SUFoQi9CO1FBc0JFLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFHMUIsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUcxQixxQkFBZ0IsR0FBWSxJQUFJLENBQUM7UUFNakMsb0JBQWUsR0FBVyxNQUFNLENBQUM7UUFHakMsU0FBSSxHQUFXLFlBQVksQ0FBQztRQUc1QixTQUFJLEdBQVcsSUFBSSxDQUFDLGVBQWUsQ0FBQztRQUdwQyxjQUFTLEdBQVksSUFBSSxDQUFDO1FBRzFCLGNBQVMsR0FBZ0IsRUFBRSxDQUFDO1FBRzVCLGFBQVEsR0FBZ0I7WUFDdEIsRUFBRSxFQUFFLElBQUk7U0FDVCxDQUFDO1FBR0YsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFHdEMs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O3VCQUM1QyxTQUFTLFNBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTttQkFDdkMsZUFBZSxTQUFDLGlCQUFpQjt1QkFFakMsS0FBSzt1QkFHTCxLQUFLOytCQUdMLEtBQUs7MEJBR0wsS0FBSzs4QkFHTCxLQUFLO21CQUdMLEtBQUs7bUJBR0wsS0FBSzt3QkFHTCxLQUFLO3dCQUdMLEtBQUs7dUJBR0wsS0FBSzt1QkFLTCxNQUFNOzBCQUdOLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb250ZW50Q2hpbGRyZW4sXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgQ29tcG9uZW50LFxuICBWaWV3Q2hpbGQsXG4gIEVsZW1lbnRSZWYsXG4gIFF1ZXJ5TGlzdCxcbiAgZm9yd2FyZFJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTElEQVRPUlMsIFZhbGlkYXRvciwgQWJzdHJhY3RDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgZnJvbUV2ZW50LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgbWFwLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgSUlkZW50aWZpZWQgfSBmcm9tICdAYzh5L2NsaWVudCc7XG5pbXBvcnQgeyBCc0Ryb3Bkb3duRGlyZWN0aXZlIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC9kcm9wZG93bic7XG5pbXBvcnQgeyBMaXN0SXRlbUNvbXBvbmVudCB9IGZyb20gJy4uL2xpc3QtZ3JvdXAvbGlzdC1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBmaW5kSW5kZXgsIGdldCwgc2V0IH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYzh5LXR5cGVhaGVhZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi90eXBlYWhlYWQuY29tcG9uZW50Lmh0bWwnLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVHlwZWFoZWFkQ29tcG9uZW50KVxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFR5cGVhaGVhZENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBUeXBlYWhlYWRDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgVmFsaWRhdG9yIHtcbiAgQFZpZXdDaGlsZCgnc2VhcmNoQ29udHJvbCcsIHsgc3RhdGljOiBmYWxzZSB9KSBzZWFyY2hDb250cm9sOiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCdkcm9wZG93bicsIHsgc3RhdGljOiBmYWxzZSB9KSBkcm9wZG93bjogQnNEcm9wZG93bkRpcmVjdGl2ZTtcbiAgQENvbnRlbnRDaGlsZHJlbihMaXN0SXRlbUNvbXBvbmVudCkgbGlzdDogUXVlcnlMaXN0PExpc3RJdGVtQ29tcG9uZW50PjtcblxuICBASW5wdXQoKVxuICByZXF1aXJlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgYWxsb3dGcmVlRW50cmllczogYm9vbGVhbiA9IHRydWU7XG5cbiAgQElucHV0KClcbiAgcGxhY2Vob2xkZXI6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBkaXNwbGF5UHJvcGVydHk6IHN0cmluZyA9ICduYW1lJztcblxuICBASW5wdXQoKVxuICBpY29uOiBzdHJpbmcgPSAnY2FyZXQtZG93bic7XG5cbiAgQElucHV0KClcbiAgbmFtZTogc3RyaW5nID0gdGhpcy5kaXNwbGF5UHJvcGVydHk7XG5cbiAgQElucHV0KClcbiAgYXV0b0Nsb3NlOiBib29sZWFuID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICBjb250YWluZXI6ICcnIHwgJ2JvZHknID0gJyc7XG5cbiAgQElucHV0KClcbiAgc2VsZWN0ZWQ6IElJZGVudGlmaWVkID0ge1xuICAgIGlkOiBudWxsXG4gIH07XG5cbiAgQE91dHB1dCgpXG4gIG9uU2VhcmNoID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgQE91dHB1dCgpXG4gIG9uSWNvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBvbkNoYW5nZTogKG5hbWUpID0+IHZvaWQ7XG4gIHByaXZhdGUgb25Ub3VjaGVkOiAoKSA9PiB2b2lkO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgS0VZQ09ERV9VUCA9IDM4O1xuICBwcml2YXRlIHJlYWRvbmx5IEtFWUNPREVfRE9XTiA9IDQwO1xuICBwcml2YXRlIHJlYWRvbmx5IEtFWUNPREVfVEFCID0gOTtcbiAgcHJpdmF0ZSByZWFkb25seSBLRVlDT0RFX0VOVEVSID0gMTM7XG4gIHByaXZhdGUgcmVhZG9ubHkgS0VZQ09ERV9FU0MgPSAyNztcblxuICB3cml0ZVZhbHVlKHZhbHVlKSB7XG4gICAgdGhpcy5zZWxlY3RlZCA9IHZhbHVlO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cblxuICBkb0JsdXIoKSB7XG4gICAgaWYgKHRoaXMub25Ub3VjaGVkKSB7XG4gICAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICAgIH1cbiAgfVxuXG4gIGdldERpc3BsYXlQcm9wZXJ0eSgpIHtcbiAgICByZXR1cm4gZ2V0KHRoaXMuc2VsZWN0ZWQsIHRoaXMuZGlzcGxheVByb3BlcnR5LCAnJyk7XG4gIH1cblxuICBvblNob3duKCkge1xuICAgIHRoaXMuc2VhcmNoQ29udHJvbC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gZnJvbUV2ZW50KHRoaXMuc2VhcmNoQ29udHJvbC5uYXRpdmVFbGVtZW50LCAna2V5ZG93bicpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChlOiBhbnkpID0+IHRoaXMuaGFuZGxlS2V5Ym9hcmQoZSkpLFxuICAgICAgICBmaWx0ZXIoKGU6IGFueSkgPT4gZSksXG4gICAgICAgIGRlYm91bmNlVGltZSgyMDApLFxuICAgICAgICBtYXAoKGU6IGFueSkgPT4gZS50YXJnZXQudmFsdWUpLFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZCA9IHtcbiAgICAgICAgICBpZDogbnVsbFxuICAgICAgICB9O1xuICAgICAgICBzZXQodGhpcy5zZWxlY3RlZCwgdGhpcy5kaXNwbGF5UHJvcGVydHksIHZhbHVlIHx8ICcnKTtcblxuICAgICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuc2VsZWN0ZWQpO1xuICAgICAgICB0aGlzLm9uU2VhcmNoLmVtaXQodmFsdWUpO1xuICAgICAgfSk7XG4gIH1cblxuICBoYW5kbGVLZXlib2FyZChldmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGtleUNvZGUgPSBldmVudC5rZXlDb2RlO1xuICAgIGlmIChcbiAgICAgIFt0aGlzLktFWUNPREVfRU5URVIsIHRoaXMuS0VZQ09ERV9ET1dOLCB0aGlzLktFWUNPREVfVEFCLCB0aGlzLktFWUNPREVfVVBdLmluY2x1ZGVzKGtleUNvZGUpXG4gICAgKSB7XG4gICAgICBjb25zdCBpdGVtcyA9IHRoaXMubGlzdC50b0FycmF5KCk7XG4gICAgICBjb25zdCBpbmRleCA9IGZpbmRJbmRleChpdGVtcywgaXRlbSA9PiBpdGVtLmFjdGl2ZSk7XG4gICAgICBpZiAoa2V5Q29kZSA9PT0gdGhpcy5LRVlDT0RFX0VOVEVSIHx8IGtleUNvZGUgPT09IHRoaXMuS0VZQ09ERV9UQUIpIHtcbiAgICAgICAgaWYgKGluZGV4ID4gLTEpIHtcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIGl0ZW1zW2luZGV4XS5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmRyb3Bkb3duLmhpZGUoKTtcbiAgICAgICAgdGhpcy5zZWFyY2hDb250cm9sLm5hdGl2ZUVsZW1lbnQuYmx1cigpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5kcm9wZG93bi5zaG93KCk7XG4gICAgICAgIGNvbnN0IHVwT3JEb3duID0ga2V5Q29kZSA9PT0gdGhpcy5LRVlDT0RFX0RPV04gPyAxIDogLTE7XG4gICAgICAgIGlmIChpbmRleCA+IC0xKSB7XG4gICAgICAgICAgaXRlbXNbaW5kZXhdLmFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2VsZWN0TmV4dEl0ZW1PbktleWJvYXJkTW92ZShpdGVtcywgaW5kZXgsIHVwT3JEb3duKTtcbiAgICAgIH1cbiAgICAgIHJldHVybjtcbiAgICB9IGVsc2UgaWYgKGtleUNvZGUgPT09IHRoaXMuS0VZQ09ERV9FU0MgJiYgdGhpcy5hdXRvQ2xvc2UpIHtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgdGhpcy5kcm9wZG93bi5oaWRlKCk7XG4gICAgICB0aGlzLnNlYXJjaENvbnRyb2wubmF0aXZlRWxlbWVudC5ibHVyKCk7XG4gICAgICByZXR1cm47XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZHJvcGRvd24uc2hvdygpO1xuICAgIH1cbiAgICByZXR1cm4gZXZlbnQ7XG4gIH1cblxuICB2YWxpZGF0ZShjdHJsOiBBYnN0cmFjdENvbnRyb2wpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHtcbiAgICBpZiAodGhpcy5yZXF1aXJlZCAmJiAhdGhpcy5nZXREaXNwbGF5UHJvcGVydHkoKSkge1xuICAgICAgcmV0dXJuIHsgcmVxdWlyZWQ6IHRydWUgfTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuYWxsb3dGcmVlRW50cmllcyAmJiB0aGlzLnNlbGVjdGVkICYmIHRoaXMuc2VsZWN0ZWQuaWQgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiB7IG5vdEV4aXN0aW5nOiB0cnVlIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBwcml2YXRlIHNlbGVjdE5leHRJdGVtT25LZXlib2FyZE1vdmUoaXRlbXM6IExpc3RJdGVtQ29tcG9uZW50W10sIGluZGV4OiBhbnksIHVwT3JEb3duOiBudW1iZXIpIHtcbiAgICBpZiAoaXRlbXNbaW5kZXggKyB1cE9yRG93bl0pIHtcbiAgICAgIGlmICghaXRlbXNbaW5kZXggKyB1cE9yRG93bl0uc2VsZWN0YWJsZSkge1xuICAgICAgICB0aGlzLnNlbGVjdE5leHRJdGVtT25LZXlib2FyZE1vdmUoaXRlbXMsIGluZGV4ICsgdXBPckRvd24sIHVwT3JEb3duKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgaXRlbXNbaW5kZXggKyB1cE9yRG93bl0uYWN0aXZlID0gdHJ1ZTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
154
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZWFoZWFkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvcmUvc2VsZWN0L3R5cGVhaGVhZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGVBQWUsRUFDZixLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWixTQUFTLEVBQ1QsU0FBUyxFQUdULFVBQVUsRUFDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUE4QixNQUFNLGdCQUFnQixDQUFDO0FBQzNFLE9BQU8sRUFBRSxTQUFTLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsR0FBRyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR2pGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNoRCxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFrQnpFLE1BQU0sT0FBTyxrQkFBa0I7SUFoQi9CO1FBc0JFLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFHMUIsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUcxQixxQkFBZ0IsR0FBWSxJQUFJLENBQUM7UUFNakMsb0JBQWUsR0FBVyxNQUFNLENBQUM7UUFHakMsU0FBSSxHQUFXLFlBQVksQ0FBQztRQUc1QixTQUFJLEdBQVcsSUFBSSxDQUFDLGVBQWUsQ0FBQztRQUdwQyxjQUFTLEdBQVksSUFBSSxDQUFDO1FBRzFCLGNBQVMsR0FBZ0IsRUFBRSxDQUFDO1FBRzVCLGFBQVEsR0FBZ0I7WUFDdEIsRUFBRSxFQUFFLElBQUk7U0FDVCxDQUFDO1FBR0YsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFHdEMs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O3VCQUM1QyxTQUFTLFNBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTttQkFDdkMsZUFBZSxTQUFDLGlCQUFpQjt1QkFFakMsS0FBSzt1QkFHTCxLQUFLOytCQUdMLEtBQUs7MEJBR0wsS0FBSzs4QkFHTCxLQUFLO21CQUdMLEtBQUs7bUJBR0wsS0FBSzt3QkFHTCxLQUFLO3dCQUdMLEtBQUs7dUJBR0wsS0FBSzt1QkFLTCxNQUFNOzBCQUdOLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb250ZW50Q2hpbGRyZW4sXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgQ29tcG9uZW50LFxuICBWaWV3Q2hpbGQsXG4gIEVsZW1lbnRSZWYsXG4gIFF1ZXJ5TGlzdCxcbiAgZm9yd2FyZFJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTElEQVRPUlMsIFZhbGlkYXRvciwgQWJzdHJhY3RDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgZnJvbUV2ZW50LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgbWFwLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgSUlkZW50aWZpZWQgfSBmcm9tICdAYzh5L2NsaWVudCc7XG5pbXBvcnQgeyBCc0Ryb3Bkb3duRGlyZWN0aXZlIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC9kcm9wZG93bic7XG5pbXBvcnQgeyBMaXN0SXRlbUNvbXBvbmVudCB9IGZyb20gJy4uL2xpc3QtZ3JvdXAvbGlzdC1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBmaW5kSW5kZXgsIGdldCwgc2V0IH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYzh5LXR5cGVhaGVhZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi90eXBlYWhlYWQuY29tcG9uZW50Lmh0bWwnLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVHlwZWFoZWFkQ29tcG9uZW50KVxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFR5cGVhaGVhZENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBUeXBlYWhlYWRDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgVmFsaWRhdG9yIHtcbiAgQFZpZXdDaGlsZCgnc2VhcmNoQ29udHJvbCcsIHsgc3RhdGljOiBmYWxzZSB9KSBzZWFyY2hDb250cm9sOiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCdkcm9wZG93bicsIHsgc3RhdGljOiBmYWxzZSB9KSBkcm9wZG93bjogQnNEcm9wZG93bkRpcmVjdGl2ZTtcbiAgQENvbnRlbnRDaGlsZHJlbihMaXN0SXRlbUNvbXBvbmVudCkgbGlzdDogUXVlcnlMaXN0PExpc3RJdGVtQ29tcG9uZW50PjtcblxuICBASW5wdXQoKVxuICByZXF1aXJlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgYWxsb3dGcmVlRW50cmllczogYm9vbGVhbiA9IHRydWU7XG5cbiAgQElucHV0KClcbiAgcGxhY2Vob2xkZXI6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBkaXNwbGF5UHJvcGVydHk6IHN0cmluZyA9ICduYW1lJztcblxuICBASW5wdXQoKVxuICBpY29uOiBzdHJpbmcgPSAnY2FyZXQtZG93bic7XG5cbiAgQElucHV0KClcbiAgbmFtZTogc3RyaW5nID0gdGhpcy5kaXNwbGF5UHJvcGVydHk7XG5cbiAgQElucHV0KClcbiAgYXV0b0Nsb3NlOiBib29sZWFuID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICBjb250YWluZXI6ICcnIHwgJ2JvZHknID0gJyc7XG5cbiAgQElucHV0KClcbiAgc2VsZWN0ZWQ6IElJZGVudGlmaWVkID0ge1xuICAgIGlkOiBudWxsXG4gIH07XG5cbiAgQE91dHB1dCgpXG4gIG9uU2VhcmNoID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgQE91dHB1dCgpXG4gIG9uSWNvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBvbkNoYW5nZTogKG5hbWUpID0+IHZvaWQ7XG4gIHByaXZhdGUgb25Ub3VjaGVkOiAoKSA9PiB2b2lkO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgS0VZQ09ERV9VUCA9IDM4O1xuICBwcml2YXRlIHJlYWRvbmx5IEtFWUNPREVfRE9XTiA9IDQwO1xuICBwcml2YXRlIHJlYWRvbmx5IEtFWUNPREVfVEFCID0gOTtcbiAgcHJpdmF0ZSByZWFkb25seSBLRVlDT0RFX0VOVEVSID0gMTM7XG4gIHByaXZhdGUgcmVhZG9ubHkgS0VZQ09ERV9FU0MgPSAyNztcblxuICB3cml0ZVZhbHVlKHZhbHVlKSB7XG4gICAgdGhpcy5zZWxlY3RlZCA9IHZhbHVlO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cblxuICBkb0JsdXIoKSB7XG4gICAgaWYgKHRoaXMub25Ub3VjaGVkKSB7XG4gICAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICAgIH1cbiAgfVxuXG4gIGdldERpc3BsYXlQcm9wZXJ0eSgpIHtcbiAgICByZXR1cm4gZ2V0KHRoaXMuc2VsZWN0ZWQsIHRoaXMuZGlzcGxheVByb3BlcnR5LCAnJyk7XG4gIH1cblxuICBvblNob3duKCkge1xuICAgIHRoaXMuc2VhcmNoQ29udHJvbC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gZnJvbUV2ZW50KHRoaXMuc2VhcmNoQ29udHJvbC5uYXRpdmVFbGVtZW50LCAna2V5ZG93bicpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChlOiBhbnkpID0+IHRoaXMuaGFuZGxlS2V5Ym9hcmQoZSkpLFxuICAgICAgICBmaWx0ZXIoKGU6IGFueSkgPT4gZSksXG4gICAgICAgIGRlYm91bmNlVGltZSgyMDApLFxuICAgICAgICBtYXAoKGU6IGFueSkgPT4gZS50YXJnZXQudmFsdWUpLFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZCA9IHtcbiAgICAgICAgICBpZDogbnVsbFxuICAgICAgICB9O1xuICAgICAgICBzZXQodGhpcy5zZWxlY3RlZCwgdGhpcy5kaXNwbGF5UHJvcGVydHksIHZhbHVlIHx8ICcnKTtcblxuICAgICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuc2VsZWN0ZWQpO1xuICAgICAgICB0aGlzLm9uU2VhcmNoLmVtaXQodmFsdWUpO1xuICAgICAgfSk7XG4gIH1cblxuICBoYW5kbGVLZXlib2FyZChldmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGtleUNvZGUgPSBldmVudC5rZXlDb2RlO1xuICAgIGlmIChcbiAgICAgIFt0aGlzLktFWUNPREVfRU5URVIsIHRoaXMuS0VZQ09ERV9ET1dOLCB0aGlzLktFWUNPREVfVEFCLCB0aGlzLktFWUNPREVfVVBdLmluY2x1ZGVzKGtleUNvZGUpXG4gICAgKSB7XG4gICAgICBjb25zdCBpdGVtcyA9IHRoaXMubGlzdC50b0FycmF5KCk7XG4gICAgICBjb25zdCBpbmRleCA9IGZpbmRJbmRleChpdGVtcywgaXRlbSA9PiBpdGVtLmFjdGl2ZSk7XG4gICAgICBpZiAoa2V5Q29kZSA9PT0gdGhpcy5LRVlDT0RFX0VOVEVSIHx8IGtleUNvZGUgPT09IHRoaXMuS0VZQ09ERV9UQUIpIHtcbiAgICAgICAgaWYgKGluZGV4ID4gLTEpIHtcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIGl0ZW1zW2luZGV4XS5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmRyb3Bkb3duLmhpZGUoKTtcbiAgICAgICAgdGhpcy5zZWFyY2hDb250cm9sLm5hdGl2ZUVsZW1lbnQuYmx1cigpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5kcm9wZG93bi5zaG93KCk7XG4gICAgICAgIGNvbnN0IHVwT3JEb3duID0ga2V5Q29kZSA9PT0gdGhpcy5LRVlDT0RFX0RPV04gPyAxIDogLTE7XG4gICAgICAgIGlmIChpbmRleCA+IC0xKSB7XG4gICAgICAgICAgaXRlbXNbaW5kZXhdLmFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2VsZWN0TmV4dEl0ZW1PbktleWJvYXJkTW92ZShpdGVtcywgaW5kZXgsIHVwT3JEb3duKTtcbiAgICAgIH1cbiAgICAgIHJldHVybjtcbiAgICB9IGVsc2UgaWYgKGtleUNvZGUgPT09IHRoaXMuS0VZQ09ERV9FU0MgJiYgdGhpcy5hdXRvQ2xvc2UpIHtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgdGhpcy5kcm9wZG93bi5oaWRlKCk7XG4gICAgICB0aGlzLnNlYXJjaENvbnRyb2wubmF0aXZlRWxlbWVudC5ibHVyKCk7XG4gICAgICByZXR1cm47XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZHJvcGRvd24uc2hvdygpO1xuICAgIH1cbiAgICByZXR1cm4gZXZlbnQ7XG4gIH1cblxuICB2YWxpZGF0ZShjdHJsOiBBYnN0cmFjdENvbnRyb2wpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHtcbiAgICBpZiAodGhpcy5yZXF1aXJlZCAmJiAhdGhpcy5nZXREaXNwbGF5UHJvcGVydHkoKSkge1xuICAgICAgcmV0dXJuIHsgcmVxdWlyZWQ6IHRydWUgfTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuYWxsb3dGcmVlRW50cmllcyAmJiB0aGlzLnNlbGVjdGVkICYmIHRoaXMuc2VsZWN0ZWQuaWQgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiB7IG5vdEV4aXN0aW5nOiB0cnVlIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBwcml2YXRlIHNlbGVjdE5leHRJdGVtT25LZXlib2FyZE1vdmUoaXRlbXM6IExpc3RJdGVtQ29tcG9uZW50W10sIGluZGV4OiBhbnksIHVwT3JEb3duOiBudW1iZXIpIHtcbiAgICBpZiAoaXRlbXNbaW5kZXggKyB1cE9yRG93bl0pIHtcbiAgICAgIGlmICghaXRlbXNbaW5kZXggKyB1cE9yRG93bl0uc2VsZWN0YWJsZSkge1xuICAgICAgICB0aGlzLnNlbGVjdE5leHRJdGVtT25LZXlib2FyZE1vdmUoaXRlbXMsIGluZGV4ICsgdXBPckRvd24sIHVwT3JEb3duKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgaXRlbXNbaW5kZXggKyB1cE9yRG93bl0uYWN0aXZlID0gdHJ1ZTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -12,13 +12,20 @@ export class LpwanAssignDeviceProtocolComponent {
12
12
  this.alertService = alertService;
13
13
  this.router = router;
14
14
  this.inventoryService = inventoryService;
15
- this.filterCurrentProtocol = pipe(map((protocols) => protocols.filter(protocol => !this.currentProtocol || this.currentProtocol.id !== protocol.id)));
15
+ this.filterProtocols = pipe();
16
+ this.pattern = '';
16
17
  }
17
18
  ngOnInit() {
18
19
  return __awaiter(this, void 0, void 0, function* () {
19
20
  yield this.reload();
21
+ this.setPipe('');
20
22
  });
21
23
  }
24
+ setPipe(filterStr) {
25
+ this.pattern = filterStr;
26
+ this.filterProtocols = pipe(map((protocols) => protocols.filter(protocol => (!this.currentProtocol || this.currentProtocol.id !== protocol.id) &&
27
+ (!filterStr || protocol.name.toLowerCase().indexOf(filterStr.toLowerCase()) > -1))));
28
+ }
22
29
  reload() {
23
30
  return __awaiter(this, void 0, void 0, function* () {
24
31
  this.loading = true;
@@ -73,7 +80,7 @@ export class LpwanAssignDeviceProtocolComponent {
73
80
  LpwanAssignDeviceProtocolComponent.decorators = [
74
81
  { type: Component, args: [{
75
82
  selector: 'set-device-protocol',
76
- template: "<form #lpwanSetDeviceProtocolForm=\"ngForm\" class=\"row\">\n <div class=\"col-md-6\">\n <div class=\"card\">\n <div class=\"card-header separator\">\n <h4 class=\"card-title\">\n {{ 'LPWAN device protocol' | translate }}\n </h4>\n </div>\n <div *ngIf=\"loading\" class=\"card-block\">\n <div class=\"p-relative\" style=\"min-height: 40px; min-width: 55px;\">\n <div class=\"spinner\">\n <div class=\"rect1\"></div>\n <div class=\"rect2\"></div>\n <div class=\"rect3\"></div>\n <div class=\"rect4\"></div>\n </div>\n </div>\n <span translate>Loading</span>\n </div>\n <div *ngIf=\"!loading\">\n <div class=\"card-block\">\n <div class=\"form-group\">\n <label translate>Current device protocol</label>\n <p class=\"form-control-static\" *ngIf=\"!currentProtocol\">\n {{ device.type }}\n </p>\n <p class=\"form-control-static\" *ngIf=\"currentProtocol\">\n {{ currentProtocol.name }}\n </p>\n </div>\n <div class=\"form-group\">\n <label translate>New device protocol</label>\n <div class=\"c8y-select-wrapper\">\n <select class=\"form-control\" [(ngModel)]=\"newProtocol\" name=\"newProtocol\" required>\n <option *ngIf=\"!newProtocol\" [ngValue]=\"null\">\n {{ 'Select device protocol' | translate }}\n </option>\n <option\n *c8yFor=\"let protocol of availableProtocols; pipe: filterCurrentProtocol\"\n [ngValue]=\"protocol\"\n >\n {{ protocol.name }}\n </option>\n </select>\n </div>\n </div>\n </div>\n <div class=\"card-footer separator\">\n <button\n title=\"{{ 'Apply' | translate }}\"\n class=\"btn btn-primary\"\n (click)=\"apply(newProtocol)\"\n [disabled]=\"!lpwanSetDeviceProtocolForm.dirty\"\n >\n {{ 'Apply' | translate }}\n </button>\n </div>\n </div>\n </div>\n </div>\n</form>\n\u200C\n"
83
+ template: "<form #lpwanSetDeviceProtocolForm=\"ngForm\">\n <div class=\"row\">\n <div class=\"col-md-6\">\n <div class=\"card card--fullpage\">\n <div class=\"card-header separator\">\n <h4 class=\"card-title\">\n {{ 'LPWAN device protocol' | translate }}\n </h4>\n </div>\n <div class=\"p-16\">\n <div *ngIf=\"loading\">\n <c8y-loading></c8y-loading>\n </div>\n\n <div *ngIf=\"!loading\">\n <div class=\"form-group\">\n <label translate>Current device protocol</label>\n <p class=\"form-control-static\" *ngIf=\"!currentProtocol\">\n {{ device.type }}\n </p>\n <p class=\"form-control-static\" *ngIf=\"currentProtocol\">\n {{ currentProtocol.name }}\n </p>\n </div>\n <c8y-form-group>\n <c8y-typeahead\n [(ngModel)]=\"newProtocol\"\n placeholder=\"{{ 'Select new device protocol' | translate }}\"\n (onSearch)=\"setPipe($event)\"\n name=\"newProtocol\"\n [allowFreeEntries]=\"false\"\n >\n <c8y-li\n *c8yFor=\"\n let protocol of availableProtocols;\n loadMore: 'hidden';\n pipe: filterProtocols\n \"\n class=\"p-l-8 p-r-8 c8y-list__item--link\"\n (click)=\"newProtocol = protocol; setPipe('')\"\n >\n <c8y-highlight [text]=\"protocol.name\" [pattern]=\"pattern\"></c8y-highlight>\n </c8y-li>\n </c8y-typeahead>\n <c8y-messages\n ><c8y-message\n name=\"notExisting\"\n [text]=\"'Select one of the protocols.' | translate\"\n ></c8y-message>\n </c8y-messages>\n </c8y-form-group>\n </div>\n </div>\n <div class=\"card-footer separator\">\n <button\n title=\"{{ 'Save' | translate }}\"\n class=\"btn btn-primary\"\n (click)=\"apply(newProtocol)\"\n [disabled]=\"!newProtocol\"\n >\n {{ 'Save' | translate }}\n </button>\n </div>\n </div>\n </div>\n </div>\n</form>\n"
77
84
  },] }
78
85
  ];
79
86
  LpwanAssignDeviceProtocolComponent.ctorParameters = () => [
@@ -85,4 +92,4 @@ LpwanAssignDeviceProtocolComponent.ctorParameters = () => [
85
92
  LpwanAssignDeviceProtocolComponent.propDecorators = {
86
93
  lpwanSetDeviceProtocolForm: [{ type: ViewChild, args: ['lpwanSetDeviceProtocolForm', { static: false },] }]
87
94
  };
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibHB3YW4tc2V0LWRldmljZS1wcm90b2NvbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm90b2NvbC1scHdhbi9scHdhbi1zZXQtZGV2aWNlLXByb3RvY29sLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDcEYsT0FBTyxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM1RCxPQUFPLEVBQWtCLGdCQUFnQixFQUFlLE1BQU0sYUFBYSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU9yQyxNQUFNLE9BQU8sa0NBQWtDO0lBYzdDLFlBQ1UsWUFBMkMsRUFDM0MsWUFBMEIsRUFDMUIsTUFBYyxFQUNkLGdCQUFrQztRQUhsQyxpQkFBWSxHQUFaLFlBQVksQ0FBK0I7UUFDM0MsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFYNUMsMEJBQXFCLEdBQUcsSUFBSSxDQUMxQixHQUFHLENBQUMsQ0FBQyxTQUEyQixFQUFFLEVBQUUsQ0FDbEMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUUsS0FBSyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQy9GLENBQ0YsQ0FBQztJQVFFLENBQUM7SUFDQyxRQUFROztZQUNaLE1BQU0sSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3RCLENBQUM7S0FBQTtJQUVLLE1BQU07O1lBQ1YsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7WUFDcEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7WUFDeEIsSUFBSTtnQkFDRixNQUFNLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDeEIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ3JGLElBQUksQ0FBQyxlQUFlLEdBQUcsTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUNoRjtZQUFDLE9BQU8sRUFBRSxFQUFFO2dCQUNYLElBQUksQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLENBQUM7YUFDeEM7b0JBQVM7Z0JBQ1IsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7YUFDdEI7UUFDSCxDQUFDO0tBQUE7SUFFSyxVQUFVOztZQUNkLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3RFLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxNQUFNLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDOUQsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDckIsQ0FBQztLQUFBO0lBRUssS0FBSyxDQUFDLGdCQUFnQjs7WUFDMUIsSUFBSTtnQkFDRixNQUFNLFNBQVMsR0FBRyxDQUFDLE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sS0FBSyxHQUFHLENBQUM7Z0JBQzVHLE1BQU0sSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNwQixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDO2dCQUMzRCxJQUFJLENBQUMsMEJBQTBCLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUMvQyxJQUFJLFNBQVMsRUFBRTtvQkFDYixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7aUJBQ3JCO2FBQ0Y7WUFBQyxPQUFPLEVBQUUsRUFBRTtnQkFDWCxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsZ0NBQWdDLENBQUMsQ0FBQyxDQUFDO2FBQ3JFO1FBQ0gsQ0FBQztLQUFBO0lBRUssWUFBWTs7WUFDaEIsSUFBSTtnQkFDRixNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUNuRDtZQUFDLE9BQU8sRUFBRSxFQUFFO2dCQUNYLDhDQUE4QzthQUMvQztRQUNILENBQUM7S0FBQTs7O1lBckVGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUscUJBQXFCO2dCQUMvQiwrdUVBQXlEO2FBQzFEOzs7WUFWUSw2QkFBNkI7WUFDN0IsWUFBWTtZQUVaLE1BQU07WUFEVSxnQkFBZ0I7Ozt5Q0FzQnRDLFNBQVMsU0FBQyw0QkFBNEIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMcHdhblNldERldmljZVByb3RvY29sU2VydmljZSB9IGZyb20gJy4vbHB3YW4tc2V0LWRldmljZS1wcm90b2NvbC5zZXJ2aWNlJztcbmltcG9ydCB7IEFsZXJ0U2VydmljZSwgZ2V0dGV4dCB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgSU1hbmFnZWRPYmplY3QsIEludmVudG9yeVNlcnZpY2UsIElSZXN1bHRMaXN0IH0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IHBpcGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2V0LWRldmljZS1wcm90b2NvbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9scHdhbi1zZXQtZGV2aWNlLXByb3RvY29sLmNvbXBvbmVudC5odG1sJ1xufSlcblxuZXhwb3J0IGNsYXNzIExwd2FuQXNzaWduRGV2aWNlUHJvdG9jb2xDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBsb2FkaW5nOiBib29sZWFuO1xuICBkZXZpY2U6IElNYW5hZ2VkT2JqZWN0O1xuICBjdXJyZW50UHJvdG9jb2w6IElNYW5hZ2VkT2JqZWN0O1xuICBhdmFpbGFibGVQcm90b2NvbHM6IElSZXN1bHRMaXN0PElNYW5hZ2VkT2JqZWN0PjtcbiAgbmV3UHJvdG9jb2w6IElNYW5hZ2VkT2JqZWN0O1xuXG4gIGZpbHRlckN1cnJlbnRQcm90b2NvbCA9IHBpcGUoXG4gICAgbWFwKChwcm90b2NvbHM6IElNYW5hZ2VkT2JqZWN0W10pID0+XG4gICAgICBwcm90b2NvbHMuZmlsdGVyKHByb3RvY29sID0+ICF0aGlzLmN1cnJlbnRQcm90b2NvbCB8fCB0aGlzLmN1cnJlbnRQcm90b2NvbC5pZCAhPT0gcHJvdG9jb2wuaWQpXG4gICAgKVxuICApO1xuICBAVmlld0NoaWxkKCdscHdhblNldERldmljZVByb3RvY29sRm9ybScsIHsgc3RhdGljOiBmYWxzZSB9KSBscHdhblNldERldmljZVByb3RvY29sRm9ybTogYW55O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbHB3YW5TZXJ2aWNlOiBMcHdhblNldERldmljZVByb3RvY29sU2VydmljZSxcbiAgICBwcml2YXRlIGFsZXJ0U2VydmljZTogQWxlcnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSBpbnZlbnRvcnlTZXJ2aWNlOiBJbnZlbnRvcnlTZXJ2aWNlXG4gICkgeyB9XG4gIGFzeW5jIG5nT25Jbml0KCkge1xuICAgIGF3YWl0IHRoaXMucmVsb2FkKCk7XG4gIH1cblxuICBhc3luYyByZWxvYWQoKSB7XG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLm5ld1Byb3RvY29sID0gbnVsbDtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgdGhpcy5sb2FkRGV2aWNlKCk7XG4gICAgICB0aGlzLmF2YWlsYWJsZVByb3RvY29scyA9IGF3YWl0IHRoaXMubHB3YW5TZXJ2aWNlLmdldEF2YWlsYWJsZVByb3RvY29scyh0aGlzLmRldmljZSk7XG4gICAgICB0aGlzLmN1cnJlbnRQcm90b2NvbCA9IGF3YWl0IHRoaXMubHB3YW5TZXJ2aWNlLmdldEN1cnJlbnRQcm90b2NvbCh0aGlzLmRldmljZSk7XG4gICAgfSBjYXRjaCAoZXgpIHtcbiAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmFkZFNlcnZlckZhaWx1cmUoZXgpO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBsb2FkRGV2aWNlKCkge1xuICAgIGNvbnN0IGRldmljZUlkID0gdGhpcy5yb3V0ZXIucm91dGVyU3RhdGUuc25hcHNob3QudXJsLm1hdGNoKC9cXGQrLylbMF07XG4gICAgY29uc3QgeyBkYXRhIH0gPSBhd2FpdCB0aGlzLmludmVudG9yeVNlcnZpY2UuZGV0YWlsKGRldmljZUlkKTtcbiAgICB0aGlzLmRldmljZSA9IGRhdGE7XG4gIH1cblxuICBhc3luYyBhcHBseShzZWxlY3RlZFByb3RvY29sKSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IG1vVXBkYXRlZCA9IChhd2FpdCB0aGlzLmxwd2FuU2VydmljZS5hcHBseVByb3RvY29sKHRoaXMuZGV2aWNlLCBzZWxlY3RlZFByb3RvY29sKSkucmVzLnN0YXR1cyA9PT0gMjAwO1xuICAgICAgYXdhaXQgdGhpcy5yZWxvYWQoKTtcbiAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLnN1Y2Nlc3MoZ2V0dGV4dCgnRGV2aWNlIHByb3RvY29sIHNldC4nKSk7XG4gICAgICB0aGlzLmxwd2FuU2V0RGV2aWNlUHJvdG9jb2xGb3JtLnJlc2V0KCdkaXJ0eScpO1xuICAgICAgaWYgKG1vVXBkYXRlZCkge1xuICAgICAgICB0aGlzLnJlZnJlc2hDYWNoZSgpO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGV4KSB7XG4gICAgICB0aGlzLmFsZXJ0U2VydmljZS5kYW5nZXIoZ2V0dGV4dCgnQ291bGQgbm90IHNldCBkZXZpY2UgcHJvdG9jb2wuJykpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIHJlZnJlc2hDYWNoZSgpIHtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgdGhpcy5scHdhblNlcnZpY2UucmVmcmVzaENhY2hlKHRoaXMuZGV2aWNlKTtcbiAgICB9IGNhdGNoIChleCkge1xuICAgICAgLy8gZG8gbm90aGluZyAocmVmcmVzaGluZyBpcyBhbiBvcHRpb25hbCBzdGVwKVxuICAgIH1cbiAgfVxufVxuIl19
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibHB3YW4tc2V0LWRldmljZS1wcm90b2NvbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm90b2NvbC1scHdhbi9scHdhbi1zZXQtZGV2aWNlLXByb3RvY29sLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDcEYsT0FBTyxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM1RCxPQUFPLEVBQWtCLGdCQUFnQixFQUFlLE1BQU0sYUFBYSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU9yQyxNQUFNLE9BQU8sa0NBQWtDO0lBWTdDLFlBQ1UsWUFBMkMsRUFDM0MsWUFBMEIsRUFDMUIsTUFBYyxFQUNkLGdCQUFrQztRQUhsQyxpQkFBWSxHQUFaLFlBQVksQ0FBK0I7UUFDM0MsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFUNUMsb0JBQWUsR0FBRyxJQUFJLEVBQUUsQ0FBQztRQUN6QixZQUFPLEdBQUcsRUFBRSxDQUFDO0lBU1QsQ0FBQztJQUNDLFFBQVE7O1lBQ1osTUFBTSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNuQixDQUFDO0tBQUE7SUFFRCxPQUFPLENBQUMsU0FBaUI7UUFDdkIsSUFBSSxDQUFDLE9BQU8sR0FB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WTtZQUVaLE1BQU07WUFEVSxnQkFBZ0I7Ozt5Q0FvQnRDLFNBQVMsU0FBQyw0QkFBNEIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMcHdhblNldERldmljZVByb3RvY29sU2VydmljZSB9IGZyb20gJy4vbHB3YW4tc2V0LWRldmljZS1wcm90b2NvbC5zZXJ2aWNlJztcbmltcG9ydCB7IEFsZXJ0U2VydmljZSwgZ2V0dGV4dCB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgSU1hbmFnZWRPYmplY3QsIEludmVudG9yeVNlcnZpY2UsIElSZXN1bHRMaXN0IH0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IHBpcGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2V0LWRldmljZS1wcm90b2NvbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9scHdhbi1zZXQtZGV2aWNlLXByb3RvY29sLmNvbXBvbmVudC5odG1sJ1xufSlcblxuZXhwb3J0IGNsYXNzIExwd2FuQXNzaWduRGV2aWNlUHJvdG9jb2xDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBsb2FkaW5nOiBib29sZWFuO1xuICBkZXZpY2U6IElNYW5hZ2VkT2JqZWN0O1xuICBjdXJyZW50UHJvdG9jb2w6IElNYW5hZ2VkT2JqZWN0O1xuICBhdmFpbGFibGVQcm90b2NvbHM6IElSZXN1bHRMaXN0PElNYW5hZ2VkT2JqZWN0PjtcbiAgbmV3UHJvdG9jb2w6IElNYW5hZ2VkT2JqZWN0O1xuXG4gIGZpbHRlclByb3RvY29scyA9IHBpcGUoKTtcbiAgcGF0dGVybiA9ICcnO1xuXG4gIEBWaWV3Q2hpbGQoJ2xwd2FuU2V0RGV2aWNlUHJvdG9jb2xGb3JtJywgeyBzdGF0aWM6IGZhbHNlIH0pIGxwd2FuU2V0RGV2aWNlUHJvdG9jb2xGb3JtOiBhbnk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBscHdhblNlcnZpY2U6IExwd2FuU2V0RGV2aWNlUHJvdG9jb2xTZXJ2aWNlLFxuICAgIHByaXZhdGUgYWxlcnRTZXJ2aWNlOiBBbGVydFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIGludmVudG9yeVNlcnZpY2U6IEludmVudG9yeVNlcnZpY2VcbiAgKSB7IH1cbiAgYXN5bmMgbmdPbkluaXQoKSB7XG4gICAgYXdhaXQgdGhpcy5yZWxvYWQoKTtcbiAgICB0aGlzLnNldFBpcGUoJycpO1xuICB9XG5cbiAgc2V0UGlwZShmaWx0ZXJTdHI6IHN0cmluZykge1xuICAgIHRoaXMucGF0dGVybiA9IGZpbHRlclN0cjtcbiAgICB0aGlzLmZpbHRlclByb3RvY29scyA9IHBpcGUoXG4gICAgICBtYXAoKHByb3RvY29sczogSU1hbmFnZWRPYmplY3RbXSkgPT5cbiAgICAgICAgcHJvdG9jb2xzLmZpbHRlcihcbiAgICAgICAgICBwcm90b2NvbCA9PlxuICAgICAgICAgICAgKCF0aGlzLmN1cnJlbnRQcm90b2NvbCB8fCB0aGlzLmN1cnJlbnRQcm90b2NvbC5pZCAhPT0gcHJvdG9jb2wuaWQpICYmXG4gICAgICAgICAgICAoIWZpbHRlclN0ciB8fCBwcm90b2NvbC5uYW1lLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihmaWx0ZXJTdHIudG9Mb3dlckNhc2UoKSkgPiAtMSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBhc3luYyByZWxvYWQoKSB7XG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLm5ld1Byb3RvY29sID0gbnVsbDtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgdGhpcy5sb2FkRGV2aWNlKCk7XG4gICAgICB0aGlzLmF2YWlsYWJsZVByb3RvY29scyA9IGF3YWl0IHRoaXMubHB3YW5TZXJ2aWNlLmdldEF2YWlsYWJsZVByb3RvY29scyh0aGlzLmRldmljZSk7XG4gICAgICB0aGlzLmN1cnJlbnRQcm90b2NvbCA9IGF3YWl0IHRoaXMubHB3YW5TZXJ2aWNlLmdldEN1cnJlbnRQcm90b2NvbCh0aGlzLmRldmljZSk7XG4gICAgfSBjYXRjaCAoZXgpIHtcbiAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmFkZFNlcnZlckZhaWx1cmUoZXgpO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBsb2FkRGV2aWNlKCkge1xuICAgIGNvbnN0IGRldmljZUlkID0gdGhpcy5yb3V0ZXIucm91dGVyU3RhdGUuc25hcHNob3QudXJsLm1hdGNoKC9cXGQrLylbMF07XG4gICAgY29uc3QgeyBkYXRhIH0gPSBhd2FpdCB0aGlzLmludmVudG9yeVNlcnZpY2UuZGV0YWlsKGRldmljZUlkKTtcbiAgICB0aGlzLmRldmljZSA9IGRhdGE7XG4gIH1cblxuICBhc3luYyBhcHBseShzZWxlY3RlZFByb3RvY29sKSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IG1vVXBkYXRlZCA9IChhd2FpdCB0aGlzLmxwd2FuU2VydmljZS5hcHBseVByb3RvY29sKHRoaXMuZGV2aWNlLCBzZWxlY3RlZFByb3RvY29sKSkucmVzLnN0YXR1cyA9PT0gMjAwO1xuICAgICAgYXdhaXQgdGhpcy5yZWxvYWQoKTtcbiAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLnN1Y2Nlc3MoZ2V0dGV4dCgnRGV2aWNlIHByb3RvY29sIHNldC4nKSk7XG4gICAgICB0aGlzLmxwd2FuU2V0RGV2aWNlUHJvdG9jb2xGb3JtLnJlc2V0KCdkaXJ0eScpO1xuICAgICAgaWYgKG1vVXBkYXRlZCkge1xuICAgICAgICB0aGlzLnJlZnJlc2hDYWNoZSgpO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGV4KSB7XG4gICAgICB0aGlzLmFsZXJ0U2VydmljZS5kYW5nZXIoZ2V0dGV4dCgnQ291bGQgbm90IHNldCBkZXZpY2UgcHJvdG9jb2wuJykpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIHJlZnJlc2hDYWNoZSgpIHtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgdGhpcy5scHdhblNlcnZpY2UucmVmcmVzaENhY2hlKHRoaXMuZGV2aWNlKTtcbiAgICB9IGNhdGNoIChleCkge1xuICAgICAgLy8gZG8gbm90aGluZyAocmVmcmVzaGluZyBpcyBhbiBvcHRpb25hbCBzdGVwKVxuICAgIH1cbiAgfVxufVxuIl19
@@ -61,11 +61,12 @@ export class LpwanSetDeviceProtocolService {
61
61
  getAvailableProtocols(device) {
62
62
  return __awaiter(this, void 0, void 0, function* () {
63
63
  const query = {
64
- type: {
65
- __in: this.getProtocolTypesMatchingDevice(device)
66
- }
64
+ __filter: {
65
+ type: { __in: this.getProtocolTypesMatchingDevice(device) }
66
+ },
67
+ __orderby: [{ name: 1 }]
67
68
  };
68
- return this.inventoryService.listQuery(query);
69
+ return this.inventoryService.listQuery(query, { withTotalPages: true, pageSize: 5 });
69
70
  });
70
71
  }
71
72
  getProtocolTypesMatchingDevice(device) {
@@ -88,4 +89,4 @@ LpwanSetDeviceProtocolService.ctorParameters = () => [
88
89
  { type: FetchClient },
89
90
  { type: IdentityService }
90
91
  ];
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibHB3YW4tc2V0LWRldmljZS1wcm90b2NvbC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvdG9jb2wtbHB3YW4vbHB3YW4tc2V0LWRldmljZS1wcm90b2NvbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBa0IsZ0JBQWdCLEVBQWUsV0FBVyxFQUFpQixlQUFlLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDekgsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUdoQyxNQUFNLE9BQU8sNkJBQTZCO0lBaUJ4QyxZQUNVLGdCQUFrQyxFQUNsQyxNQUFtQixFQUNuQixlQUFnQztRQUZoQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLFdBQU0sR0FBTixNQUFNLENBQWE7UUFDbkIsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBbkIxQyx5QkFBb0IsR0FBRztZQUNyQjtnQkFDRSxJQUFJLEVBQUUsTUFBTTtnQkFDWixLQUFLLEVBQUUsTUFBTSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLGlDQUFpQyxDQUFDLEtBQUssTUFBTTtnQkFDMUUsYUFBYSxFQUFFLENBQUMsd0JBQXdCLEVBQUUsb0JBQW9CLENBQUM7YUFDaEU7WUFDRDtnQkFDRSxJQUFJLEVBQUUsUUFBUTtnQkFDZCxLQUFLLEVBQUUsTUFBTSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLGlDQUFpQyxDQUFDLEtBQUssUUFBUTtnQkFDNUUsYUFBYSxFQUFFLENBQUMsc0JBQXNCLENBQUM7YUFDeEM7U0FDRixDQUFDO1FBRWUsV0FBTSxHQUFRLEVBQUUsY0FBYyxFQUFFLGtCQUFrQixFQUFFLENBQUM7UUFDckQsb0JBQWUsR0FBVyxpQkFBaUIsQ0FBQztJQU16RCxDQUFDO0lBRUMsWUFBWSxD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LElBQUksQ0FBQztRQUNyRSxDQUFDO0tBQUE7OztZQTVFRixVQUFVOzs7WUFIYyxnQkFBZ0I7WUFBZSxXQUFXO1lBQWlCLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJTWFuYWdlZE9iamVjdCwgSW52ZW50b3J5U2VydmljZSwgSVJlc3VsdExpc3QsIEZldGNoQ2xpZW50LCBJRmV0Y2hPcHRpb25zLCBJZGVudGl0eVNlcnZpY2UgfSBmcm9tICdAYzh5L2NsaWVudCc7XG5pbXBvcnQgeyBnZXQgfSBmcm9tICdsb2Rhc2gtZXMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTHB3YW5TZXREZXZpY2VQcm90b2NvbFNlcnZpY2Uge1xuICBzdXBwb3J0ZWREZXZpY2VzQ2ZncyA9IFtcbiAgICB7XG4gICAgICBuYW1lOiAnbG9yYScsXG4gICAgICBtYXRjaDogZGV2aWNlID0+IGdldChkZXZpY2UsICdjOHlfTHB3YW5EZXZpY2UubHB3YW5EZXZpY2VUeXBlJykgPT09ICdMb3JhJyxcbiAgICAgIHByb3RvY29sVHlwZXM6IFsnYzh5X0FjdGlsaXR5RGV2aWNlVHlwZScsICdjOHlfTG9yYURldmljZVR5cGUnXVxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogJ3NpZ2ZveCcsXG4gICAgICBtYXRjaDogZGV2aWNlID0+IGdldChkZXZpY2UsICdjOHlfTHB3YW5EZXZpY2Uuc2VydmljZVByb3ZpZGVyJykgPT09ICdTaWdmb3gnLFxuICAgICAgcHJvdG9jb2xUeXBlczogWydjOHlfU2lnZm94RGV2aWNlVHlwZSddXG4gICAgfSxcbiAgXTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGhlYWRlcjogYW55ID0geyAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nIH07XG4gIHByaXZhdGUgcmVhZG9ubHkgbWljcm9zZXJ2aWNlVXJsOiBzdHJpbmcgPSAnL3NlcnZpY2UvbG9yaW90JztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGludmVudG9yeVNlcnZpY2U6IEludmVudG9yeVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjbGllbnQ6IEZldGNoQ2xpZW50LFxuICAgIHByaXZhdGUgaWRlbnRpdHlTZXJ2aWNlOiBJZGVudGl0eVNlcnZpY2VcbiAgKSB7IH1cblxuICBhc3luYyByZWZyZXNoQ2FjaGUoZGV2aWNlKSB7XG4gICAgY29uc3QgZXh0ZXJuYWxJZCA9IGF3YWl0IHRoaXMuZ2V0RXh0ZXJuYWxJZChkZXZpY2UpO1xuICAgIGlmIChleHRlcm5hbElkKSB7XG4gICAgICBjb25zdCB1cmwgPSBgJHt0aGlzLm1pY3Jvc2VydmljZVVybH0vcmVmcmVzaENhY2hlLyR7ZXh0ZXJuYWxJZH1gO1xuICAgICAgY29uc3Qgb3B0aW9uczogSUZldGNoT3B0aW9ucyA9IHtcbiAgICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICAgIGhlYWRlcnM6IHRoaXMuaGVhZGVyLFxuICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7fSlcbiAgICAgIH07XG4gICAgICByZXR1cm4gdGhpcy5jbGllbnQuZmV0Y2godXJsLCBvcHRpb25zKTtcbiAgICB9XG4gIH1cblxuICBpc1N1cHBvcnRlZERldmljZShkZXZpY2U6IElNYW5hZ2VkT2JqZWN0KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc3VwcG9ydGVkRGV2aWNlc0NmZ3Muc29tZSgoeyBtYXRjaCB9KSA9PiBtYXRjaChkZXZpY2UpKTtcbiAgfVxuXG4gIGFzeW5jIGdldEN1cnJlbnRQcm90b2NvbChkZXZpY2U6IElNYW5hZ2VkT2JqZWN0KSB7XG4gICAgY29uc3QgcHJvdG9jb2xJZCA9IGRldmljZS5jOHlfTHB3YW5EZXZpY2UudHlwZVxuICAgICAgPyBkZXZpY2UuYzh5X0xwd2FuRGV2aWNlLnR5cGUuc3BsaXQoJy8nKVsyXVxuICAgICAgOiBudWxsO1xuICAgIGlmICghcHJvdG9jb2xJZCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGNvbnN0IHsgZGF0YSB9ID0gYXdhaXQgdGhpcy5pbnZlbnRvcnlTZXJ2aWNlLmRldGFpbChwcm90b2NvbElkKTtcbiAgICByZXR1cm4gZGF0YTtcbiAgfVxuXG4gIGFzeW5jIGFwcGx5UHJvdG9jb2woZGV2aWNlOiBJTWFuYWdlZE9iamVjdCwgc2VsZWN0ZWRQcm90b2NvbDogSU1hbmFnZWRPYmplY3QpIHtcbiAgICBkZXZpY2UuYzh5X0xwd2FuRGV2aWNlLnR5cGUgPSAnaW52ZW50b3J5L21hbmFnZWRPYmplY3RzLycgKyBzZWxlY3RlZFByb3RvY29sLmlkO1xuICAgIGRldmljZS50eXBlID0gc2VsZWN0ZWRQcm90b2NvbC5uYW1lO1xuICAgIHJldHVybiB0aGlzLmludmVudG9yeVNlcnZpY2UudXBkYXRlKGRldmljZSk7XG4gIH1cblxuICBhc3luYyBnZXRBdmFpbGFibGVQcm90b2NvbHMoZGV2aWNlOiBJTWFuYWdlZE9iamVjdCk6IFByb21pc2U8SVJlc3VsdExpc3Q8SU1hbmFnZWRPYmplY3Q+PiB7XG4gICAgY29uc3QgcXVlcnkgPSB7XG4gICAgICB0eXBlOiB7XG4gICAgICAgIF9faW46IHRoaXMuZ2V0UHJvdG9jb2xUeXBlc01hdGNoaW5nRGV2aWNlKGRldmljZSlcbiAgICAgIH1cbiAgICB9O1xuICAgIHJldHVybiB0aGlzLmludmVudG9yeVNlcnZpY2UubGlzdFF1ZXJ5KHF1ZXJ5KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UHJvdG9jb2xUeXBlc01hdGNoaW5nRGV2aWNlKGRldmljZTogSU1hbmFnZWRPYmplY3QpOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgbWF0Y2hpbmdDZmcgPSB0aGlzLnN1cHBvcnRlZERldmljZXNDZmdzLmZpbmQoKHsgbWF0Y2ggfSkgPT4gbWF0Y2goZGV2aWNlKSk7XG4gICAgcmV0dXJuIG1hdGNoaW5nQ2ZnID8gbWF0Y2hpbmdDZmcucHJvdG9jb2xUeXBlcyA6IFtdO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBnZXRFeHRlcm5hbElkKGRldmljZTogSU1hbmFnZWRPYmplY3QpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IGV4dGVybmFsSWRzID0gKGF3YWl0IHRoaXMuaWRlbnRpdHlTZXJ2aWNlLmxpc3QoZGV2aWNlLmlkKSkuZGF0YTtcbiAgICBjb25zdCBsb3Jpb3RFdWlFeHRlcm5hbElkID0gZXh0ZXJuYWxJZHMuZmluZChleHRlcm5hbElkID0+IGV4dGVybmFsSWQudHlwZSA9PT0gJ2M4eV9Mb3Jpb3RFVUknKTtcbiAgICByZXR1cm4gbG9yaW90RXVpRXh0ZXJuYWxJZCA/IGxvcmlvdEV1aUV4dGVybmFsSWQuZXh0ZXJuYWxJZCA6IG51bGw7XG4gIH1cbn1cbiJdfQ==
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibHB3YW4tc2V0LWRldmljZS1wcm90b2NvbC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvdG9jb2wtbHB3YW4vbHB3YW4tc2V0LWRldmljZS1wcm90b2NvbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBa0IsZ0JBQWdCLEVBQWUsV0FBVyxFQUFpQixlQUFlLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDekgsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUdoQyxNQUFNLE9BQU8sNkJBQTZCO0lBaUJ4QyxZQUNVLGdCQUFrQyxFQUNsQyxNQUFtQixFQUNuQixlQUFnQztRQUZoQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLFdBQU0sR0FBTixNQUFNLENBQWE7UUFDbkIsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBbkIxQyx5QkFBb0IsR0FBRztZQUNyQjtnQkFDRSxJQUFJLEVBQUUsTUFBTTtnQkFDWixLQUFLLEVBQUUsTUFBTSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLGlDQUFpQyxDQUFDLEtBQUssTUFBTTtnQkFDMUUsYUFBYSxFQUFFLENBQUMsd0JBQXdCLEVBQUUsb0JBQW9CLENBQUM7YUFDaEU7WUFDRDtnQkFDRSxJQUFJLEVBQUUsUUFBUTtnQkFDZCxLQUFLLEVBQUUsTUFBTSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLGlDQUFpQyxDQUFDLEtBQUssUUFBUTtnQkFDNUUsYUFBYSxFQUFFLENBQUMsc0JBQXNCLENBQUM7YUFDeEM7U0FDRixDQUFDO1FBRWUsV0FBTSxHQUFRLEVBQUUsY0FBYyxFQUFFLGtCQUFrQixFQUFFLENBQUM7UUFDckQsb0JBQWUsR0FBVyxpQkFBaUIsQ0FBQztJQU16RCxDQUFDO0lBRUMsWUFBWSxD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QUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxLQUFLLGVBQWUsQ0FBQyxDQUFDO1lBQ2hHLE9BQU8sbUJBQW1CLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ3JFLENBQUM7S0FBQTs7O1lBN0VGLFVBQVU7OztZQUhjLGdCQUFnQjtZQUFlLFdBQVc7WUFBaUIsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElNYW5hZ2VkT2JqZWN0LCBJbnZlbnRvcnlTZXJ2aWNlLCBJUmVzdWx0TGlzdCwgRmV0Y2hDbGllbnQsIElGZXRjaE9wdGlvbnMsIElkZW50aXR5U2VydmljZSB9IGZyb20gJ0BjOHkvY2xpZW50JztcbmltcG9ydCB7IGdldCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBMcHdhblNldERldmljZVByb3RvY29sU2VydmljZSB7XG4gIHN1cHBvcnRlZERldmljZXNDZmdzID0gW1xuICAgIHtcbiAgICAgIG5hbWU6ICdsb3JhJyxcbiAgICAgIG1hdGNoOiBkZXZpY2UgPT4gZ2V0KGRldmljZSwgJ2M4eV9McHdhbkRldmljZS5scHdhbkRldmljZVR5cGUnKSA9PT0gJ0xvcmEnLFxuICAgICAgcHJvdG9jb2xUeXBlczogWydjOHlfQWN0aWxpdHlEZXZpY2VUeXBlJywgJ2M4eV9Mb3JhRGV2aWNlVHlwZSddXG4gICAgfSxcbiAgICB7XG4gICAgICBuYW1lOiAnc2lnZm94JyxcbiAgICAgIG1hdGNoOiBkZXZpY2UgPT4gZ2V0KGRldmljZSwgJ2M4eV9McHdhbkRldmljZS5zZXJ2aWNlUHJvdmlkZXInKSA9PT0gJ1NpZ2ZveCcsXG4gICAgICBwcm90b2NvbFR5cGVzOiBbJ2M4eV9TaWdmb3hEZXZpY2VUeXBlJ11cbiAgICB9LFxuICBdO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgaGVhZGVyOiBhbnkgPSB7ICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicgfTtcbiAgcHJpdmF0ZSByZWFkb25seSBtaWNyb3NlcnZpY2VVcmw6IHN0cmluZyA9ICcvc2VydmljZS9sb3Jpb3QnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaW52ZW50b3J5U2VydmljZTogSW52ZW50b3J5U2VydmljZSxcbiAgICBwcml2YXRlIGNsaWVudDogRmV0Y2hDbGllbnQsXG4gICAgcHJpdmF0ZSBpZGVudGl0eVNlcnZpY2U6IElkZW50aXR5U2VydmljZVxuICApIHsgfVxuXG4gIGFzeW5jIHJlZnJlc2hDYWNoZShkZXZpY2UpIHtcbiAgICBjb25zdCBleHRlcm5hbElkID0gYXdhaXQgdGhpcy5nZXRFeHRlcm5hbElkKGRldmljZSk7XG4gICAgaWYgKGV4dGVybmFsSWQpIHtcbiAgICAgIGNvbnN0IHVybCA9IGAke3RoaXMubWljcm9zZXJ2aWNlVXJsfS9yZWZyZXNoQ2FjaGUvJHtleHRlcm5hbElkfWA7XG4gICAgICBjb25zdCBvcHRpb25zOiBJRmV0Y2hPcHRpb25zID0ge1xuICAgICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgICAgaGVhZGVyczogdGhpcy5oZWFkZXIsXG4gICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHt9KVxuICAgICAgfTtcbiAgICAgIHJldHVybiB0aGlzLmNsaWVudC5mZXRjaCh1cmwsIG9wdGlvbnMpO1xuICAgIH1cbiAgfVxuXG4gIGlzU3VwcG9ydGVkRGV2aWNlKGRldmljZTogSU1hbmFnZWRPYmplY3QpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zdXBwb3J0ZWREZXZpY2VzQ2Zncy5zb21lKCh7IG1hdGNoIH0pID0+IG1hdGNoKGRldmljZSkpO1xuICB9XG5cbiAgYXN5bmMgZ2V0Q3VycmVudFByb3RvY29sKGRldmljZTogSU1hbmFnZWRPYmplY3QpIHtcbiAgICBjb25zdCBwcm90b2NvbElkID0gZGV2aWNlLmM4eV9McHdhbkRldmljZS50eXBlXG4gICAgICA/IGRldmljZS5jOHlfTHB3YW5EZXZpY2UudHlwZS5zcGxpdCgnLycpWzJdXG4gICAgICA6IG51bGw7XG4gICAgaWYgKCFwcm90b2NvbElkKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgY29uc3QgeyBkYXRhIH0gPSBhd2FpdCB0aGlzLmludmVudG9yeVNlcnZpY2UuZGV0YWlsKHByb3RvY29sSWQpO1xuICAgIHJldHVybiBkYXRhO1xuICB9XG5cbiAgYXN5bmMgYXBwbHlQcm90b2NvbChkZXZpY2U6IElNYW5hZ2VkT2JqZWN0LCBzZWxlY3RlZFByb3RvY29sOiBJTWFuYWdlZE9iamVjdCkge1xuICAgIGRldmljZS5jOHlfTHB3YW5EZXZpY2UudHlwZSA9ICdpbnZlbnRvcnkvbWFuYWdlZE9iamVjdHMvJyArIHNlbGVjdGVkUHJvdG9jb2wuaWQ7XG4gICAgZGV2aWNlLnR5cGUgPSBzZWxlY3RlZFByb3RvY29sLm5hbWU7XG4gICAgcmV0dXJuIHRoaXMuaW52ZW50b3J5U2VydmljZS51cGRhdGUoZGV2aWNlKTtcbiAgfVxuXG4gIGFzeW5jIGdldEF2YWlsYWJsZVByb3RvY29scyhkZXZpY2U6IElNYW5hZ2VkT2JqZWN0KTogUHJvbWlzZTxJUmVzdWx0TGlzdDxJTWFuYWdlZE9iamVjdD4+IHtcbiAgICBjb25zdCBxdWVyeSA9IHtcbiAgICAgIF9fZmlsdGVyOiB7XG4gICAgICAgIHR5cGU6IHsgX19pbjogdGhpcy5nZXRQcm90b2NvbFR5cGVzTWF0Y2hpbmdEZXZpY2UoZGV2aWNlKSB9XG4gICAgICB9LFxuICAgICAgX19vcmRlcmJ5OiBbeyBuYW1lOiAxIH1dXG4gICAgfTtcbiAgICByZXR1cm4gdGhpcy5pbnZlbnRvcnlTZXJ2aWNlLmxpc3RRdWVyeShxdWVyeSwgeyB3aXRoVG90YWxQYWdlczogdHJ1ZSwgcGFnZVNpemU6IDUgfSk7XG4gIH1cblxuICBwcml2YXRlIGdldFByb3RvY29sVHlwZXNNYXRjaGluZ0RldmljZShkZXZpY2U6IElNYW5hZ2VkT2JqZWN0KTogc3RyaW5nW10ge1xuICAgIGNvbnN0IG1hdGNoaW5nQ2ZnID0gdGhpcy5zdXBwb3J0ZWREZXZpY2VzQ2Zncy5maW5kKCh7IG1hdGNoIH0pID0+IG1hdGNoKGRldmljZSkpO1xuICAgIHJldHVybiBtYXRjaGluZ0NmZyA/IG1hdGNoaW5nQ2ZnLnByb3RvY29sVHlwZXMgOiBbXTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZ2V0RXh0ZXJuYWxJZChkZXZpY2U6IElNYW5hZ2VkT2JqZWN0KTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBjb25zdCBleHRlcm5hbElkcyA9IChhd2FpdCB0aGlzLmlkZW50aXR5U2VydmljZS5saXN0KGRldmljZS5pZCkpLmRhdGE7XG4gICAgY29uc3QgbG9yaW90RXVpRXh0ZXJuYWxJZCA9IGV4dGVybmFsSWRzLmZpbmQoZXh0ZXJuYWxJZCA9PiBleHRlcm5hbElkLnR5cGUgPT09ICdjOHlfTG9yaW90RVVJJyk7XG4gICAgcmV0dXJuIGxvcmlvdEV1aUV4dGVybmFsSWQgPyBsb3Jpb3RFdWlFeHRlcm5hbElkLmV4dGVybmFsSWQgOiBudWxsO1xuICB9XG59XG4iXX0=
@@ -5,6 +5,7 @@ import { Realtime } from '@c8y/client';
5
5
  import { DeviceConfigurationService } from './device-configuration.service';
6
6
  import { DeviceConfigurationOperation } from '../repository.model';
7
7
  import { gettext } from '@c8y/ngx-components';
8
+ import { has } from 'lodash-es';
8
9
  import { RepositoryService } from '../repository.service';
9
10
  import { TextBasedConfigurationComponent } from './text-based-configuration.component';
10
11
  export class DeviceConfigurationComponent {
@@ -45,7 +46,11 @@ export class DeviceConfigurationComponent {
45
46
  title: gettext('No configurations available.'),
46
47
  text: gettext('Add configuration to configuration repository')
47
48
  };
48
- this.showTextBasedConfig = this.deviceConfigurationService.hasAnySupportedOperation(this.device, [DeviceConfigurationOperation.CONFIG, DeviceConfigurationOperation.SEND_CONFIG]);
49
+ this.showTextBasedConfig =
50
+ this.deviceConfigurationService.hasAnySupportedOperation(this.device, [
51
+ DeviceConfigurationOperation.CONFIG,
52
+ DeviceConfigurationOperation.SEND_CONFIG
53
+ ]) || has(this.device, 'c8y_Configuration');
49
54
  }
50
55
  onConfigTypeSelected(config) {
51
56
  return __awaiter(this, void 0, void 0, function* () {
@@ -111,4 +116,4 @@ DeviceConfigurationComponent.ctorParameters = () => [
111
116
  DeviceConfigurationComponent.propDecorators = {
112
117
  textBasedConfigurationComponent: [{ type: ViewChild, args: [TextBasedConfigurationComponent,] }]
113
118
  };
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2aWNlLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcmVwb3NpdG9yeS9jb25maWd1cmF0aW9uLWRldmljZS10YWIvZGV2aWNlLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFrQixRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDdkQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDNUUsT0FBTyxFQUlMLDRCQUE0QixFQUM3QixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQU12RixNQUFNLE9BQU8sNEJBQTRCO0lBZXZDLFlBQ1UsS0FBcUIsRUFDckIsMEJBQXNELEVBQ3RELFFBQWtCLEVBQ2xCLGlCQUFvQztRQUhwQyxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQiwrQkFBMEIsR0FBMUIsMEJBQTBCLENBQTRCO1FBQ3RELGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQWxCOUMsNEJBQXVCLEdBQWlDLEVBQUUsQ0FBQztRQUMzRCwwQkFBcUIsR0FBRyxLQUFLLENBQUM7UUFFOUIsbUJBQWMsR0FBbUMsRUFBRSxDQUFDO1FBT3BELGNBQVMsR0FBWSxLQUFLLENBQUM7UUFVekIsSUFBSSxDQUFDLDBCQUEwQixDQUFDLHFCQUFxQixDQUFDLFNB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QUM7WUFDdEIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLFNBQVMsQ0FBQztZQUNwQyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsTUFBTSxJQUFJLENBQUMsaUJBQWlCLENBQUMsMEJBQTBCLENBQ2hGLElBQUksQ0FBQyxNQUFNLEVBQ1gsSUFBSSxDQUFDLGlCQUFpQixDQUN2QixDQUFDO1lBQ0YsSUFBSSxDQUFDLG1CQUFtQixFQUFFO2dCQUN4QixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxRQUFRO29CQUNqQyxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsaUJBQWlCLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztvQkFDbkUsQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7YUFDekY7WUFDRCxJQUFLLElBQUksQ0FBQyxtQkFBbUIsRUFBRztnQkFDOUIsTUFBTSxJQUFJLENBQUMsK0JBQStCLENBQUMsSUFBSSxFQUFFLENBQUM7YUFDbkQ7WUFDRCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN6QixDQUFDO0tBQUE7OztZQTlHRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLDBCQUEwQjtnQkFDcEMsc2tMQUFvRDthQUNyRDs7O1lBaEJRLGNBQWM7WUFFZCwwQkFBMEI7WUFEVixRQUFRO1lBU3hCLGlCQUFpQjs7OzhDQW9CdkIsU0FBUyxTQUFDLCtCQUErQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IElNYW5hZ2VkT2JqZWN0LCBSZWFsdGltZSB9IGZyb20gJ0BjOHkvY2xpZW50JztcbmltcG9ydCB7IERldmljZUNvbmZpZ3VyYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi9kZXZpY2UtY29uZmlndXJhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIERldmljZUNvbmZpZ3VyYXRpb25MaXN0RW1wdHlTdGF0ZSxcbiAgQ29uZmlndXJhdGlvblNuYXBzaG90LFxuICBTdXBwb3J0ZWRDb25maWd1cmF0aW9uSXRlbSxcbiAgRGV2aWNlQ29uZmlndXJhdGlvbk9wZXJhdGlvblxufSBmcm9tICcuLi9yZXBvc2l0b3J5Lm1vZGVsJztcbmltcG9ydCB7IGdldHRleHQgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcbmltcG9ydCB7IFJlcG9zaXRvcnlTZXJ2aWNlIH0gZnJvbSAnLi4vcmVwb3NpdG9yeS5zZXJ2aWNlJztcbmltcG9ydCB7IFRleHRCYXNlZENvbmZpZ3VyYXRpb25Db21wb25lbnQgfSBmcm9tICcuL3RleHQtYmFzZWQtY29uZmlndXJhdGlvbi5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjOHktZGV2aWNlLWNvbmZpZ3VyYXRpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vZGV2aWNlLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIERldmljZUNvbmZpZ3VyYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBzdXBwb3J0ZWRDb25maWd1cmF0aW9uczogU3VwcG9ydGVkQ29uZmlndXJhdGlvbkl0ZW1bXSA9IFtdO1xuICBzaG93QmluYXJ5QmFzZWRDb25maWcgPSBmYWxzZTtcbiAgY29uZmlndXJhdGlvblR5cGU6IHN0cmluZztcbiAgY29uZmlnU25hcHNob3Q6IFBhcnRpYWw8Q29uZmlndXJhdGlvblNuYXBzaG90PiA9IHt9O1xuICByZXBvc2l0b3J5U25hcHNob3RzOiBJTWFuYWdlZE9iamVjdFtdO1xuICByZXBvc2l0b3J5U25hcHNob3Q6IENvbmZpZ3VyYXRpb25TbmFwc2hvdDtcbiAgcmVwb3NpdG9yeVNuYXBzaG90c0VtcHR5U3RhdGU6IERldmljZUNvbmZpZ3VyYXRpb25MaXN0RW1wdHlTdGF0ZTtcbiAgZGV2aWNlOiBJTWFuYWdlZE9iamVjdDtcbiAgaXNMZWdhY3k6IGJvb2xlYW47XG4gIHNob3dUZXh0QmFzZWRDb25maWc6IGJvb2xlYW47XG4gIHJlbG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBWaWV3Q2hpbGQoVGV4dEJhc2VkQ29uZmlndXJhdGlvbkNvbXBvbmVudCkgdGV4dEJhc2VkQ29uZmlndXJhdGlvbkNvbXBvbmVudDogVGV4dEJhc2VkQ29uZmlndXJhdGlvbkNvbXBvbmVudDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIGRldmljZUNvbmZpZ3VyYXRpb25TZXJ2aWNlOiBEZXZpY2VDb25maWd1cmF0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWx0aW1lOiBSZWFsdGltZSxcbiAgICBwcml2YXRlIHJlcG9zaXRvcnlTZXJ2aWNlOiBSZXBvc2l0b3J5U2VydmljZVxuICApIHtcbiAgICB0aGlzLmRldmljZUNvbmZpZ3VyYXRpb25TZXJ2aWNlLmNvbmZpZ3VyYXRpb25zVXBkYXRlZC5zdWJzY3JpYmUocmVwb3NpdG9yeVNuYXBzT25seSA9PiB7XG4gICAgICB0aGlzLnVwZGF0ZVNuYXBzaG90cyhyZXBvc2l0b3J5U25hcHNPbmx5KTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZGV2aWNlID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5wYXJlbnQuZGF0YS5jb250ZXh0RGF0YTtcbiAgICBpZiAodGhpcy5kZXZpY2UuYzh5X1N1cHBvcnRlZENvbmZpZ3VyYXRpb25zKSB7XG4gICAgICB0aGlzLnN1cHBvcnRlZENvbmZpZ3VyYXRpb25zID0gdGhpcy5kZXZpY2UuYzh5X1N1cHBvcnRlZENvbmZpZ3VyYXRpb25zLm1hcChpdGVtID0+ICh7XG4gICAgICAgIG5hbWU6IGl0ZW1cbiAgICAgIH0pKTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICB0aGlzLmRldmljZUNvbmZpZ3VyYXRpb25TZXJ2aWNlLmhhc0FueVN1cHBvcnRlZE9wZXJhdGlvbih0aGlzLmRldmljZSwgW1xuICAgICAgICBEZXZpY2VDb25maWd1cmF0aW9uT3BlcmF0aW9uLkRPV05MT0FEX0NPTkZJRyxcbiAgICAgICAgRGV2aWNlQ29uZmlndXJhdGlvbk9wZXJhdGlvbi5VUExPQURfQ09ORklHXG4gICAgICBdKVxuICAgICkge1xuICAgICAgdGhpcy5zdXBwb3J0ZWRDb25maWd1cmF0aW9ucy5wdXNoKHtcbiAgICAgICAgbmFtZTogZ2V0dGV4dCgnTGVnYWN5IGNvbmZpZ3VyYXRpb24gc25hcHNob3QnKSxcbiAgICAgICAgaXNMZWdhY3k6IHRydWVcbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAodGhpcy5zdXBwb3J0ZWRDb25maWd1cmF0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLnNob3dCaW5hcnlCYXNlZENvbmZpZyA9IHRydWU7XG4gICAgfVxuXG4gICAgdGhpcy5yZXBvc2l0b3J5U25hcHNob3RzRW1wdHlTdGF0ZSA9IHtcbiAgICAgIGljb246ICdnZWFycycsXG4gICAgICB0aXRsZTogZ2V0dGV4dCgnTm8gY29uZmlndXJhdGlvbnMgYXZhaWxhYmxlLicpLFxuICAgICAgdGV4dDogZ2V0dGV4dCgnQWRkIGNvbmZpZ3VyYXRpb24gdG8gY29uZmlndXJhdGlvbiByZXBvc2l0b3J5JylcbiAgICB9O1xuXG4gICAgdGhpcy5zaG93VGV4dEJhc2VkQ29uZmlnID0gdGhpcy5kZXZpY2VDb25maWd1cmF0aW9uU2VydmljZS5oYXNBbnlTdXBwb3J0ZWRPcGVyYXRpb24oXG4gICAgICB0aGlzLmRldmljZSxcbiAgICAgIFtEZXZpY2VDb25maWd1cmF0aW9uT3BlcmF0aW9uLkNPTkZJRywgRGV2aWNlQ29uZmlndXJhdGlvbk9wZXJhdGlvbi5TRU5EX0NPTkZJR11cbiAgICApO1xuICB9XG5cbiAgYXN5bmMgb25Db25maWdUeXBlU2VsZWN0ZWQoY29uZmlnKSB7XG4gICAgdGhpcy5jb25maWd1cmF0aW9uVHlwZSA9IGNvbmZpZy5uYW1lO1xuICAgIHRoaXMuaXNMZWdhY3kgPSBjb25maWcuaXNMZWdhY3k7XG4gICAgdGhpcy51cGRhdGVTbmFwc2hvdHMoKTtcbiAgfVxuXG4gIGFzeW5jIG9uUmVwb3NpdG9yeUNvbmZpZ1NlbGVjdGVkKGNvbmZpZykge1xuICAgIHRoaXMucmVwb3NpdG9yeVNuYXBzaG90ID0ge1xuICAgICAgaWQ6IGNvbmZpZy5pZCxcbiAgICAgIHRpbWU6IGNvbmZpZy5jcmVhdGlvblRpbWUsXG4gICAgICBuYW1lOiBjb25maWcubmFtZSxcbiAgICAgIGJpbmFyeVVybDogY29uZmlnLnVybCxcbiAgICAgIGRldmljZVR5cGU6IGNvbmZpZy5kZXZpY2VUeXBlLFxuICAgICAgY29uZmlndXJhdGlvblR5cGU6IGNvbmZpZy5jb25maWd1cmF0aW9uVHlwZVxuICAgIH07XG4gICAgaWYgKGNvbmZpZy51cmwpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IGJpbmFyeSA9IGF3YWl0IHRoaXMucmVwb3NpdG9yeVNlcnZpY2UuZ2V0QmluYXJ5RmlsZShjb25maWcudXJsLCB7XG4gICAgICAgICAgYWxsb3dFeHRlcm5hbDogZmFsc2VcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChiaW5hcnkpIHtcbiAgICAgICAgICB0aGlzLnJlcG9zaXRvcnlTbmFwc2hvdC5iaW5hcnkgPSBhd2FpdCAoYmluYXJ5IGFzIGFueSkudGV4dCgpO1xuICAgICAgICB9XG4gICAgICB9IGNhdGNoIChleCkge1xuICAgICAgICAvLyBkbyBub3RoaW5nXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgdXBkYXRlU25hcHNob3RzKHJlcG9zaXRvcnlTbmFwc09ubHk/OiBib29sZWFuKSB7XG4gICAgdGhpcy5yZWxvYWRpbmcgPSB0cnVlO1xuICAgIHRoaXMucmVwb3NpdG9yeVNuYXBzaG90ID0gdW5kZWZpbmVkO1xuICAgIHRoaXMucmVwb3NpdG9yeVNuYXBzaG90cyA9IGF3YWl0IHRoaXMucmVwb3NpdG9yeVNlcnZpY2UuZ2V0U25hcHNob3RzRnJvbVJlcG9zaXRvcnkoXG4gICAgICB0aGlzLmRldmljZSxcbiAgICAgIHRoaXMuY29uZmlndXJhdGlvblR5cGVcbiAgICApO1xuICAgIGlmICghcmVwb3NpdG9yeVNuYXBzT25seSkge1xuICAgICAgdGhpcy5jb25maWdTbmFwc2hvdCA9IHRoaXMuaXNMZWdhY3lcbiAgICAgICAgPyBhd2FpdCB0aGlzLnJlcG9zaXRvcnlTZXJ2aWNlLmdldExlZ2FjeUNvbmZpZ1NuYXBzaG90KHRoaXMuZGV2aWNlKVxuICAgICAgICA6IGF3YWl0IHRoaXMucmVwb3NpdG9yeVNlcnZpY2UuZ2V0Q29uZmlnU25hcHNob3QodGhpcy5kZXZpY2UsIHRoaXMuY29uZmlndXJhdGlvblR5cGUpO1xuICAgIH1cbiAgICBpZiAoIHRoaXMuc2hvd1RleHRCYXNlZENvbmZpZyApIHtcbiAgICAgIGF3YWl0IHRoaXMudGV4dEJhc2VkQ29uZmlndXJhdGlvbkNvbXBvbmVudC5sb2FkKCk7XG4gICAgfVxuICAgIHRoaXMucmVsb2FkaW5nID0gZmFsc2U7XG4gIH1cbn1cbiJdfQ==
119
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2aWNlLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcmVwb3NpdG9yeS9jb25maWd1cmF0aW9uLWRldmljZS10YWIvZGV2aWNlLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFrQixRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDdkQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDNUUsT0FBTyxFQUlMLDRCQUE0QixFQUM3QixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBTXZGLE1BQU0sT0FBTyw0QkFBNEI7SUFldkMsWUFDVSxLQUFxQixFQUNyQiwwQkFBc0QsRUFDdEQsUUFBa0IsRUFDbEIsaUJBQW9DO1FBSHBDLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLCtCQUEwQixHQUExQiwwQkFBMEIsQ0FBNEI7UUFDdEQsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBbEI5Qyw0QkFBdUIsR0FBaUMsRUFBRSxDQUFDO1FBQzNELDBCQUFxQixHQUFHLEtBQUssQ0FBQztRQUU5QixtQkFBYyxHQUFtQyxFQUFFLENBQUM7UUFPcEQsY0FBUyxHQUFZLEtBQUssQ0FBQztR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b0JBQ1gsYUFBYTtpQkFDZDthQUNGO1FBQ0gsQ0FBQztLQUFBO0lBRUssZUFBZSxDQUFDLG1CQUE2Qjs7WUFDakQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7WUFDdEIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLFNBQVMsQ0FBQztZQUNwQyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsTUFBTSxJQUFJLENBQUMsaUJBQWlCLENBQUMsMEJBQTBCLENBQ2hGLElBQUksQ0FBQyxNQUFNLEVBQ1gsSUFBSSxDQUFDLGlCQUFpQixDQUN2QixDQUFDO1lBQ0YsSUFBSSxDQUFDLG1CQUFtQixFQUFFO2dCQUN4QixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxRQUFRO29CQUNqQyxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsaUJBQWlCLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztvQkFDbkUsQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7YUFDekY7WUFDRCxJQUFLLElBQUksQ0FBQyxtQkFBbUIsRUFBRztnQkFDOUIsTUFBTSxJQUFJLENBQUMsK0JBQStCLENBQUMsSUFBSSxFQUFFLENBQUM7YUFDbkQ7WUFDRCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN6QixDQUFDO0tBQUE7OztZQS9HRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLDBCQUEwQjtnQkFDcEMsc2tMQUFvRDthQUNyRDs7O1lBakJRLGNBQWM7WUFFZCwwQkFBMEI7WUFEVixRQUFRO1lBVXhCLGlCQUFpQjs7OzhDQW9CdkIsU0FBUyxTQUFDLCtCQUErQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IElNYW5hZ2VkT2JqZWN0LCBSZWFsdGltZSB9IGZyb20gJ0BjOHkvY2xpZW50JztcbmltcG9ydCB7IERldmljZUNvbmZpZ3VyYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi9kZXZpY2UtY29uZmlndXJhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIERldmljZUNvbmZpZ3VyYXRpb25MaXN0RW1wdHlTdGF0ZSxcbiAgQ29uZmlndXJhdGlvblNuYXBzaG90LFxuICBTdXBwb3J0ZWRDb25maWd1cmF0aW9uSXRlbSxcbiAgRGV2aWNlQ29uZmlndXJhdGlvbk9wZXJhdGlvblxufSBmcm9tICcuLi9yZXBvc2l0b3J5Lm1vZGVsJztcbmltcG9ydCB7IGdldHRleHQgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcbmltcG9ydCB7IGhhcyB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBSZXBvc2l0b3J5U2VydmljZSB9IGZyb20gJy4uL3JlcG9zaXRvcnkuc2VydmljZSc7XG5pbXBvcnQgeyBUZXh0QmFzZWRDb25maWd1cmF0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi90ZXh0LWJhc2VkLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYzh5LWRldmljZS1jb25maWd1cmF0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RldmljZS1jb25maWd1cmF0aW9uLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBEZXZpY2VDb25maWd1cmF0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgc3VwcG9ydGVkQ29uZmlndXJhdGlvbnM6IFN1cHBvcnRlZENvbmZpZ3VyYXRpb25JdGVtW10gPSBbXTtcbiAgc2hvd0JpbmFyeUJhc2VkQ29uZmlnID0gZmFsc2U7XG4gIGNvbmZpZ3VyYXRpb25UeXBlOiBzdHJpbmc7XG4gIGNvbmZpZ1NuYXBzaG90OiBQYXJ0aWFsPENvbmZpZ3VyYXRpb25TbmFwc2hvdD4gPSB7fTtcbiAgcmVwb3NpdG9yeVNuYXBzaG90czogSU1hbmFnZWRPYmplY3RbXTtcbiAgcmVwb3NpdG9yeVNuYXBzaG90OiBDb25maWd1cmF0aW9uU25hcHNob3Q7XG4gIHJlcG9zaXRvcnlTbmFwc2hvdHNFbXB0eVN0YXRlOiBEZXZpY2VDb25maWd1cmF0aW9uTGlzdEVtcHR5U3RhdGU7XG4gIGRldmljZTogSU1hbmFnZWRPYmplY3Q7XG4gIGlzTGVnYWN5OiBib29sZWFuO1xuICBzaG93VGV4dEJhc2VkQ29uZmlnOiBib29sZWFuO1xuICByZWxvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBAVmlld0NoaWxkKFRleHRCYXNlZENvbmZpZ3VyYXRpb25Db21wb25lbnQpIHRleHRCYXNlZENvbmZpZ3VyYXRpb25Db21wb25lbnQ6IFRleHRCYXNlZENvbmZpZ3VyYXRpb25Db21wb25lbnQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSBkZXZpY2VDb25maWd1cmF0aW9uU2VydmljZTogRGV2aWNlQ29uZmlndXJhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFsdGltZTogUmVhbHRpbWUsXG4gICAgcHJpdmF0ZSByZXBvc2l0b3J5U2VydmljZTogUmVwb3NpdG9yeVNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5kZXZpY2VDb25maWd1cmF0aW9uU2VydmljZS5jb25maWd1cmF0aW9uc1VwZGF0ZWQuc3Vic2NyaWJlKHJlcG9zaXRvcnlTbmFwc09ubHkgPT4ge1xuICAgICAgdGhpcy51cGRhdGVTbmFwc2hvdHMocmVwb3NpdG9yeVNuYXBzT25seSk7XG4gICAgfSk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmRldmljZSA9IHRoaXMucm91dGUuc25hcHNob3QucGFyZW50LmRhdGEuY29udGV4dERhdGE7XG4gICAgaWYgKHRoaXMuZGV2aWNlLmM4eV9TdXBwb3J0ZWRDb25maWd1cmF0aW9ucykge1xuICAgICAgdGhpcy5zdXBwb3J0ZWRDb25maWd1cmF0aW9ucyA9IHRoaXMuZGV2aWNlLmM4eV9TdXBwb3J0ZWRDb25maWd1cmF0aW9ucy5tYXAoaXRlbSA9PiAoe1xuICAgICAgICBuYW1lOiBpdGVtXG4gICAgICB9KSk7XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgdGhpcy5kZXZpY2VDb25maWd1cmF0aW9uU2VydmljZS5oYXNBbnlTdXBwb3J0ZWRPcGVyYXRpb24odGhpcy5kZXZpY2UsIFtcbiAgICAgICAgRGV2aWNlQ29uZmlndXJhdGlvbk9wZXJhdGlvbi5ET1dOTE9BRF9DT05GSUcsXG4gICAgICAgIERldmljZUNvbmZpZ3VyYXRpb25PcGVyYXRpb24uVVBMT0FEX0NPTkZJR1xuICAgICAgXSlcbiAgICApIHtcbiAgICAgIHRoaXMuc3VwcG9ydGVkQ29uZmlndXJhdGlvbnMucHVzaCh7XG4gICAgICAgIG5hbWU6IGdldHRleHQoJ0xlZ2FjeSBjb25maWd1cmF0aW9uIHNuYXBzaG90JyksXG4gICAgICAgIGlzTGVnYWN5OiB0cnVlXG4gICAgICB9KTtcbiAgICB9XG4gICAgaWYgKHRoaXMuc3VwcG9ydGVkQ29uZmlndXJhdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5zaG93QmluYXJ5QmFzZWRDb25maWcgPSB0cnVlO1xuICAgIH1cblxuICAgIHRoaXMucmVwb3NpdG9yeVNuYXBzaG90c0VtcHR5U3RhdGUgPSB7XG4gICAgICBpY29uOiAnZ2VhcnMnLFxuICAgICAgdGl0bGU6IGdldHRleHQoJ05vIGNvbmZpZ3VyYXRpb25zIGF2YWlsYWJsZS4nKSxcbiAgICAgIHRleHQ6IGdldHRleHQoJ0FkZCBjb25maWd1cmF0aW9uIHRvIGNvbmZpZ3VyYXRpb24gcmVwb3NpdG9yeScpXG4gICAgfTtcblxuICAgIHRoaXMuc2hvd1RleHRCYXNlZENvbmZpZyA9XG4gICAgICB0aGlzLmRldmljZUNvbmZpZ3VyYXRpb25TZXJ2aWNlLmhhc0FueVN1cHBvcnRlZE9wZXJhdGlvbih0aGlzLmRldmljZSwgW1xuICAgICAgICBEZXZpY2VDb25maWd1cmF0aW9uT3BlcmF0aW9uLkNPTkZJRyxcbiAgICAgICAgRGV2aWNlQ29uZmlndXJhdGlvbk9wZXJhdGlvbi5TRU5EX0NPTkZJR1xuICAgICAgXSkgfHwgaGFzKHRoaXMuZGV2aWNlLCAnYzh5X0NvbmZpZ3VyYXRpb24nKTtcbiAgfVxuXG4gIGFzeW5jIG9uQ29uZmlnVHlwZVNlbGVjdGVkKGNvbmZpZykge1xuICAgIHRoaXMuY29uZmlndXJhdGlvblR5cGUgPSBjb25maWcubmFtZTtcbiAgICB0aGlzLmlzTGVnYWN5ID0gY29uZmlnLmlzTGVnYWN5O1xuICAgIHRoaXMudXBkYXRlU25hcHNob3RzKCk7XG4gIH1cblxuICBhc3luYyBvblJlcG9zaXRvcnlDb25maWdTZWxlY3RlZChjb25maWcpIHtcbiAgICB0aGlzLnJlcG9zaXRvcnlTbmFwc2hvdCA9IHtcbiAgICAgIGlkOiBjb25maWcuaWQsXG4gICAgICB0aW1lOiBjb25maWcuY3JlYXRpb25UaW1lLFxuICAgICAgbmFtZTogY29uZmlnLm5hbWUsXG4gICAgICBiaW5hcnlVcmw6IGNvbmZpZy51cmwsXG4gICAgICBkZXZpY2VUeXBlOiBjb25maWcuZGV2aWNlVHlwZSxcbiAgICAgIGNvbmZpZ3VyYXRpb25UeXBlOiBjb25maWcuY29uZmlndXJhdGlvblR5cGVcbiAgICB9O1xuICAgIGlmIChjb25maWcudXJsKSB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCBiaW5hcnkgPSBhd2FpdCB0aGlzLnJlcG9zaXRvcnlTZXJ2aWNlLmdldEJpbmFyeUZpbGUoY29uZmlnLnVybCwge1xuICAgICAgICAgIGFsbG93RXh0ZXJuYWw6IGZhbHNlXG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoYmluYXJ5KSB7XG4gICAgICAgICAgdGhpcy5yZXBvc2l0b3J5U25hcHNob3QuYmluYXJ5ID0gYXdhaXQgKGJpbmFyeSBhcyBhbnkpLnRleHQoKTtcbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCAoZXgpIHtcbiAgICAgICAgLy8gZG8gbm90aGluZ1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGFzeW5jIHVwZGF0ZVNuYXBzaG90cyhyZXBvc2l0b3J5U25hcHNPbmx5PzogYm9vbGVhbikge1xuICAgIHRoaXMucmVsb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLnJlcG9zaXRvcnlTbmFwc2hvdCA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLnJlcG9zaXRvcnlTbmFwc2hvdHMgPSBhd2FpdCB0aGlzLnJlcG9zaXRvcnlTZXJ2aWNlLmdldFNuYXBzaG90c0Zyb21SZXBvc2l0b3J5KFxuICAgICAgdGhpcy5kZXZpY2UsXG4gICAgICB0aGlzLmNvbmZpZ3VyYXRpb25UeXBlXG4gICAgKTtcbiAgICBpZiAoIXJlcG9zaXRvcnlTbmFwc09ubHkpIHtcbiAgICAgIHRoaXMuY29uZmlnU25hcHNob3QgPSB0aGlzLmlzTGVnYWN5XG4gICAgICAgID8gYXdhaXQgdGhpcy5yZXBvc2l0b3J5U2VydmljZS5nZXRMZWdhY3lDb25maWdTbmFwc2hvdCh0aGlzLmRldmljZSlcbiAgICAgICAgOiBhd2FpdCB0aGlzLnJlcG9zaXRvcnlTZXJ2aWNlLmdldENvbmZpZ1NuYXBzaG90KHRoaXMuZGV2aWNlLCB0aGlzLmNvbmZpZ3VyYXRpb25UeXBlKTtcbiAgICB9XG4gICAgaWYgKCB0aGlzLnNob3dUZXh0QmFzZWRDb25maWcgKSB7XG4gICAgICBhd2FpdCB0aGlzLnRleHRCYXNlZENvbmZpZ3VyYXRpb25Db21wb25lbnQubG9hZCgpO1xuICAgIH1cbiAgICB0aGlzLnJlbG9hZGluZyA9IGZhbHNlO1xuICB9XG59XG4iXX0=
@@ -1,4 +1,5 @@
1
1
  import { Injectable } from '@angular/core';
2
+ import { has } from 'lodash-es';
2
3
  import { DeviceConfigurationService } from './device-configuration.service';
3
4
  import { DeviceConfigurationOperation } from '../repository.model';
4
5
  export class DeviceConfigurationGuard {
@@ -17,7 +18,8 @@ export class DeviceConfigurationGuard {
17
18
  DeviceConfigurationOperation.UPLOAD_CONFIG,
18
19
  DeviceConfigurationOperation.CONFIG,
19
20
  DeviceConfigurationOperation.SEND_CONFIG
20
- ]));
21
+ ]) ||
22
+ has(contextData, 'c8y_Configuration'));
21
23
  }
22
24
  }
23
25
  DeviceConfigurationGuard.decorators = [
@@ -26,4 +28,4 @@ DeviceConfigurationGuard.decorators = [
26
28
  DeviceConfigurationGuard.ctorParameters = () => [
27
29
  { type: DeviceConfigurationService }
28
30
  ];
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2aWNlLWNvbmZpZ3VyYXRpb24uZ3VhcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9yZXBvc2l0b3J5L2NvbmZpZ3VyYXRpb24tZGV2aWNlLXRhYi9kZXZpY2UtY29uZmlndXJhdGlvbi5ndWFyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBR25FLE1BQU0sT0FBTyx3QkFBd0I7SUFDbkMsWUFBb0IsMEJBQXNEO1FBQXRELCtCQUEwQixHQUExQiwwQkFBMEIsQ0FBNEI7SUFBRyxDQUFDO0lBRTlFLFdBQVcsQ0FBQyxLQUE2QixFQUFFLEtBQTBCO1FBQ25FLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUM1RSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ2hCLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFDRCxPQUFPLENBQ0wsQ0FBQyxXQUFXLENBQUMsMkJBQTJCO1lBQ3RDLFdBQVcsQ0FBQywyQkFBMkIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1lBQ3JELElBQUksQ0FBQywwQkFBMEIsQ0FBQyx3QkFBd0IsQ0FBQyxXQUFXLEVBQUU7Z0JBQ3BFLDRCQUE0QixDQUFDLGVBQWU7Z0JBQzVDLDRCQUE0QixDQUFDLGFBQWE7Z0JBQzFDLDRCQUE0QixDQUFDLE1BQU07Z0JBQ25DLDRCQUE0QixDQUFDLFdBQVc7YUFDekMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDOzs7WUFuQkYsVUFBVTs7O1lBSEYsMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgQ2FuQWN0aXZhdGUsIFJvdXRlclN0YXRlU25hcHNob3QgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGV2aWNlQ29uZmlndXJhdGlvblNlcnZpY2UgfSBmcm9tICcuL2RldmljZS1jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgRGV2aWNlQ29uZmlndXJhdGlvbk9wZXJhdGlvbiB9IGZyb20gJy4uL3JlcG9zaXRvcnkubW9kZWwnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRGV2aWNlQ29uZmlndXJhdGlvbkd1YXJkIGltcGxlbWVudHMgQ2FuQWN0aXZhdGUge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRldmljZUNvbmZpZ3VyYXRpb25TZXJ2aWNlOiBEZXZpY2VDb25maWd1cmF0aW9uU2VydmljZSkge31cblxuICBjYW5BY3RpdmF0ZShyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgc3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QpIHtcbiAgICBjb25zdCBjb250ZXh0RGF0YSA9IHJvdXRlLmRhdGEuY29udGV4dERhdGEgfHwgcm91dGUucGFyZW50LmRhdGEuY29udGV4dERhdGE7XG4gICAgaWYgKCFjb250ZXh0RGF0YSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gKFxuICAgICAgKGNvbnRleHREYXRhLmM4eV9TdXBwb3J0ZWRDb25maWd1cmF0aW9ucyAmJlxuICAgICAgICBjb250ZXh0RGF0YS5jOHlfU3VwcG9ydGVkQ29uZmlndXJhdGlvbnMubGVuZ3RoID4gMCkgfHxcbiAgICAgIHRoaXMuZGV2aWNlQ29uZmlndXJhdGlvblNlcnZpY2UuaGFzQW55U3VwcG9ydGVkT3BlcmF0aW9uKGNvbnRleHREYXRhLCBbXG4gICAgICAgIERldmljZUNvbmZpZ3VyYXRpb25PcGVyYXRpb24uRE9XTkxPQURfQ09ORklHLFxuICAgICAgICBEZXZpY2VDb25maWd1cmF0aW9uT3BlcmF0aW9uLlVQTE9BRF9DT05GSUcsXG4gICAgICAgIERldmljZUNvbmZpZ3VyYXRpb25PcGVyYXRpb24uQ09ORklHLFxuICAgICAgICBEZXZpY2VDb25maWd1cmF0aW9uT3BlcmF0aW9uLlNFTkRfQ09ORklHXG4gICAgICBdKVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2aWNlLWNvbmZpZ3VyYXRpb24uZ3VhcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9yZXBvc2l0b3J5L2NvbmZpZ3VyYXRpb24tZGV2aWNlLXRhYi9kZXZpY2UtY29uZmlndXJhdGlvbi5ndWFyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDaEMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDNUUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFHbkUsTUFBTSxPQUFPLHdCQUF3QjtJQUNuQyxZQUFvQiwwQkFBc0Q7UUFBdEQsK0JBQTBCLEdBQTFCLDBCQUEwQixDQUE0QjtJQUFHLENBQUM7SUFFOUUsV0FBVyxDQUFDLEtBQTZCLEVBQUUsS0FBMEI7UUFDbkUsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQzVFLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDaEIsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUNELE9BQU8sQ0FDTCxDQUFDLFdBQVcsQ0FBQywyQkFBMkI7WUFDdEMsV0FBVyxDQUFDLDJCQUEyQixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7WUFDckQsSUFBSSxDQUFDLDBCQUEwQixDQUFDLHdCQUF3QixDQUFDLFdBQVcsRUFBRTtnQkFDcEUsNEJBQTRCLENBQUMsZUFBZTtnQkFDNUMsNEJBQTRCLENBQUMsYUFBYTtnQkFDMUMsNEJBQTRCLENBQUMsTUFBTTtnQkFDbkMsNEJBQTRCLENBQUMsV0FBVzthQUN6QyxDQUFDO1lBQ0YsR0FBRyxDQUFDLFdBQVcsRUFBRSxtQkFBbUIsQ0FBQyxDQUN0QyxDQUFDO0lBQ0osQ0FBQzs7O1lBcEJGLFVBQVU7OztZQUhGLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIENhbkFjdGl2YXRlLCBSb3V0ZXJTdGF0ZVNuYXBzaG90IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGhhcyB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBEZXZpY2VDb25maWd1cmF0aW9uU2VydmljZSB9IGZyb20gJy4vZGV2aWNlLWNvbmZpZ3VyYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBEZXZpY2VDb25maWd1cmF0aW9uT3BlcmF0aW9uIH0gZnJvbSAnLi4vcmVwb3NpdG9yeS5tb2RlbCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEZXZpY2VDb25maWd1cmF0aW9uR3VhcmQgaW1wbGVtZW50cyBDYW5BY3RpdmF0ZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZGV2aWNlQ29uZmlndXJhdGlvblNlcnZpY2U6IERldmljZUNvbmZpZ3VyYXRpb25TZXJ2aWNlKSB7fVxuXG4gIGNhbkFjdGl2YXRlKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCkge1xuICAgIGNvbnN0IGNvbnRleHREYXRhID0gcm91dGUuZGF0YS5jb250ZXh0RGF0YSB8fCByb3V0ZS5wYXJlbnQuZGF0YS5jb250ZXh0RGF0YTtcbiAgICBpZiAoIWNvbnRleHREYXRhKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiAoXG4gICAgICAoY29udGV4dERhdGEuYzh5X1N1cHBvcnRlZENvbmZpZ3VyYXRpb25zICYmXG4gICAgICAgIGNvbnRleHREYXRhLmM4eV9TdXBwb3J0ZWRDb25maWd1cmF0aW9ucy5sZW5ndGggPiAwKSB8fFxuICAgICAgdGhpcy5kZXZpY2VDb25maWd1cmF0aW9uU2VydmljZS5oYXNBbnlTdXBwb3J0ZWRPcGVyYXRpb24oY29udGV4dERhdGEsIFtcbiAgICAgICAgRGV2aWNlQ29uZmlndXJhdGlvbk9wZXJhdGlvbi5ET1dOTE9BRF9DT05GSUcsXG4gICAgICAgIERldmljZUNvbmZpZ3VyYXRpb25PcGVyYXRpb24uVVBMT0FEX0NPTkZJRyxcbiAgICAgICAgRGV2aWNlQ29uZmlndXJhdGlvbk9wZXJhdGlvbi5DT05GSUcsXG4gICAgICAgIERldmljZUNvbmZpZ3VyYXRpb25PcGVyYXRpb24uU0VORF9DT05GSUdcbiAgICAgIF0pIHx8XG4gICAgICBoYXMoY29udGV4dERhdGEsICdjOHlfQ29uZmlndXJhdGlvbicpXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -1,7 +1,7 @@
1
1
  import { __awaiter } from "tslib";
2
2
  import { Component } from '@angular/core';
3
3
  import { ActivatedRoute } from '@angular/router';
4
- import { assign, isEmpty } from 'lodash-es';
4
+ import { assign, get, isEmpty } from 'lodash-es';
5
5
  import { BsModalService } from 'ngx-bootstrap/modal';
6
6
  import { BehaviorSubject, combineLatest, from, of } from 'rxjs';
7
7
  import { distinctUntilChanged, filter, map, shareReplay, switchMap, take } from 'rxjs/operators';
@@ -31,6 +31,7 @@ export class FirmwareDeviceTabComponent {
31
31
  return of([]);
32
32
  }
33
33
  }), shareReplay(1));
34
+ this.supportsFirmwareOperations$ = this.device$.pipe(map((device) => get(device, 'c8y_SupportedOperations', []).indexOf('c8y_Firmware') > -1));
34
35
  this.changesOperation$ = new BehaviorSubject(null);
35
36
  this.changesInProgress$ = this.changesOperation$.pipe(map(operation => this.isInProgress(operation)));
36
37
  }
@@ -165,7 +166,7 @@ export class FirmwareDeviceTabComponent {
165
166
  FirmwareDeviceTabComponent.decorators = [
166
167
  { type: Component, args: [{
167
168
  selector: 'c8y-firmware-device-tab',
168
- template: "<div class=\"row\">\n <div class=\"col-lg-12 col-lg-max\">\n <div class=\"card\">\n <div class=\"card-header separator\">\n <h4 class=\"card-title\" translate>Current firmware</h4>\n </div>\n <div class=\"inner-scroll\">\n <fieldset *ngIf=\"changesOperation$ | async\" class=\"card-block bg-gray-white\">\n <c8y-single-operation [operation]=\"changesOperation$ | async\"></c8y-single-operation>\n </fieldset>\n <div class=\"card-block p-t-0 p-b-0\">\n \n <!-- EMPTY STATE -->\n <ng-container *ngIf=\"isEmpty(deviceFirmwareFragment$ | async); else firmwareBlock\">\n <div class=\"c8y-empty-state text-center\">\n <h1 c8yIcon=\"c8y-firmware\" class=\"c8y-icon-duocolor\"></h1>\n <p>\n <strong translate>No firmware installed.</strong> <br />\n <small translate>Click below to install firmware into this device.</small>\n </p>\n </div>\n </ng-container>\n\n <!-- FIRMWARE -->\n <ng-template #firmwareBlock>\n <c8y-list-group class=\"no-border-last\">\n <c8y-li>\n <c8y-li-icon>\n <i c8yIcon=\"c8y-firmware\"></i>\n </c8y-li-icon>\n\n <c8y-li-body *ngIf=\"deviceFirmwareFragment$ | async as deviceFirmwareFragment\">\n <!-- Firmware title -->\n <p class=\"m-b-16 text-medium\">\n {{ deviceFirmwareFragment.name }}\n </p>\n <!-- Firmware description -->\n <div *ngIf=\"repositoryEntry$ | async as repositoryEntry\">\n <p class=\"text-label-small\" translate>\n Description\n </p>\n <p>\n {{ repositoryEntry.description }}\n </p>\n </div>\n\n <!-- BASE/PATCH VERSION -->\n <div class=\"m-b-16\">\n <p class=\"text-label-small\" translate>\n Version\n </p>\n <p *ngIf=\"deviceFirmwareFragment.version; else versionNotSpecified\">\n {{ deviceFirmwareFragment.version }}\n </p>\n <ng-template #versionNotSpecified>\n <p>\n <em class=\"text-muted\"> ({{ 'not specified`version`' | translate }}) </em>\n </p>\n </ng-template>\n </div>\n\n <!-- ADD PATCH -->\n <button\n *ngIf=\"(this.patches$ | async)?.length > 0\"\n (click)=\"addPatch()\"\n class=\"btn btn-xs btn-primary\"\n [disabled]=\"changesInProgress$ | async\"\n title=\"{{ 'Patches available' | translate }}\"\n >\n {{ 'Patches available' | translate }}\n </button>\n </c8y-li-body>\n </c8y-li>\n </c8y-list-group>\n </ng-template>\n </div>\n </div>\n <div class=\"card-footer separator-top\">\n\n <!-- INSTALL FIRMWARE -->\n <button\n *ngIf=\"isEmpty(deviceFirmwareFragment$ | async)\"\n class=\"btn btn-primary\"\n (click)=\"installFirmware()\"\n title=\"{{ 'Install firmware' | translate }}\"\n >\n {{ 'Install firmware' | translate }}\n </button>\n\n <!-- REPLACE FIRMWARE -->\n <button\n *ngIf=\"!isEmpty(deviceFirmwareFragment$ | async)\"\n class=\"btn btn-primary\"\n (click)=\"installFirmware()\"\n [disabled]=\"changesInProgress$ | async\"\n title=\"{{ 'Replace firmware' | translate }}\"\n >\n {{ 'Replace firmware' | translate }}\n </button>\n </div>\n </div>\n </div>\n</div>\n"
169
+ template: "<div class=\"row\">\n <div class=\"col-lg-12 col-lg-max\">\n <div class=\"card\">\n <div class=\"card-header separator\">\n <h4 class=\"card-title\" translate>Current firmware</h4>\n </div>\n <div class=\"inner-scroll\">\n <fieldset *ngIf=\"changesOperation$ | async\" class=\"card-block bg-gray-white\">\n <c8y-single-operation [operation]=\"changesOperation$ | async\"></c8y-single-operation>\n </fieldset>\n <div class=\"card-block p-t-0 p-b-0\">\n <!-- EMPTY STATE -->\n <ng-container *ngIf=\"isEmpty(deviceFirmwareFragment$ | async); else firmwareBlock\">\n <div class=\"c8y-empty-state text-center\">\n <h1 c8yIcon=\"c8y-firmware\" class=\"c8y-icon-duocolor\"></h1>\n <p>\n <strong translate>No firmware installed.</strong> <br />\n <small translate>Click below to install firmware into this device.</small>\n </p>\n </div>\n </ng-container>\n\n <!-- FIRMWARE -->\n <ng-template #firmwareBlock>\n <c8y-list-group class=\"no-border-last\">\n <c8y-li>\n <c8y-li-icon>\n <i c8yIcon=\"c8y-firmware\"></i>\n </c8y-li-icon>\n\n <c8y-li-body *ngIf=\"deviceFirmwareFragment$ | async as deviceFirmwareFragment\">\n <!-- Firmware title -->\n <p class=\"m-b-16 text-medium\">\n {{ deviceFirmwareFragment.name }}\n </p>\n <!-- Firmware description -->\n <div *ngIf=\"repositoryEntry$ | async as repositoryEntry\">\n <p class=\"text-label-small\" translate>Description</p>\n <p>\n {{ repositoryEntry.description }}\n </p>\n </div>\n\n <!-- BASE/PATCH VERSION -->\n <div class=\"m-b-16\">\n <p class=\"text-label-small\" translate>Version</p>\n <p *ngIf=\"deviceFirmwareFragment.version; else versionNotSpecified\">\n {{ deviceFirmwareFragment.version }}\n </p>\n <ng-template #versionNotSpecified>\n <p>\n <em class=\"text-muted\"> ({{ 'not specified`version`' | translate }}) </em>\n </p>\n </ng-template>\n </div>\n\n <!-- ADD PATCH -->\n <button\n *ngIf=\"\n (supportsFirmwareOperations$ | async) && (this.patches$ | async)?.length > 0\n \"\n (click)=\"addPatch()\"\n class=\"btn btn-xs btn-primary\"\n [disabled]=\"changesInProgress$ | async\"\n title=\"{{ 'Patches available' | translate }}\"\n >\n {{ 'Patches available' | translate }}\n </button>\n </c8y-li-body>\n </c8y-li>\n </c8y-list-group>\n </ng-template>\n </div>\n </div>\n <div *ngIf=\"supportsFirmwareOperations$ | async\" class=\"card-footer separator-top\">\n <!-- INSTALL FIRMWARE -->\n <button\n *ngIf=\"isEmpty(deviceFirmwareFragment$ | async)\"\n class=\"btn btn-primary\"\n (click)=\"installFirmware()\"\n title=\"{{ 'Install firmware' | translate }}\"\n >\n {{ 'Install firmware' | translate }}\n </button>\n\n <!-- REPLACE FIRMWARE -->\n <button\n *ngIf=\"!isEmpty(deviceFirmwareFragment$ | async)\"\n class=\"btn btn-primary\"\n (click)=\"installFirmware()\"\n [disabled]=\"changesInProgress$ | async\"\n title=\"{{ 'Replace firmware' | translate }}\"\n >\n {{ 'Replace firmware' | translate }}\n </button>\n </div>\n </div>\n </div>\n</div>\n"
169
170
  },] }
170
171
  ];
171
172
  FirmwareDeviceTabComponent.ctorParameters = () => [
@@ -174,4 +175,4 @@ FirmwareDeviceTabComponent.ctorParameters = () => [
174
175
  { type: InventoryService },
175
176
  { type: BsModalService }
176
177
  ];
177
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlybXdhcmUtZGV2aWNlLXRhYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9yZXBvc2l0b3J5L2Zpcm13YXJlLWRldmljZS10YWIvZmlybXdhcmUtZGV2aWNlLXRhYi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzVDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFjLGFBQWEsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFakcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2xFLE9BQU8sRUFBOEIsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTVGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBa0MsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckYsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFNbkcsTUFBTSxPQUFPLDBCQUEwQjtJQWlEckMsWUFDVSxLQUFxQixFQUNyQixVQUE2QixFQUM3QixTQUEyQixFQUMzQixPQUF1QjtRQUh2QixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQixlQUFVLEdBQVYsVUFBVSxDQUFt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LENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ2hDLElBQUksQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUMsU0FBUyxDQUNuRCxlQUFlLENBQUMsRUFBRTtnQkFDaEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztnQkFDN0MsSUFBSSxlQUFlLENBQUMsTUFBTSxLQUFLLGVBQWUsQ0FBQyxVQUFVLEVBQUU7b0JBQ3pELElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztpQkFDbkI7WUFDSCxDQUFDLEVBQ0QsZUFBZSxDQUFDLEVBQUU7Z0JBQ2hCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDL0MsQ0FBQyxDQUNGLENBQUM7U0FDSDtJQUNILENBQUM7SUFFTyxZQUFZLENBQUMsU0FBcUI7UUFDeEMsT0FBTyxDQUNMLFNBQVMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQzdGLENBQUM7SUFDSixDQUFDOzs7WUFwT0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSx5QkFBeUI7Z0JBQ25DLDI5SEFBaUQ7YUFDbEQ7OztZQWhCUSxjQUFjO1lBU2QsaUJBQWlCO1lBRlcsZ0JBQWdCO1lBTDVDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGFzc2lnbiwgaXNFbXB0eSB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBCc01vZGFsU2VydmljZSB9IGZyb20gJ25neC1ib290c3RyYXAvbW9kYWwnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBjb21iaW5lTGF0ZXN0LCBmcm9tLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciwgbWFwLCBzaGFyZVJlcGxheSwgc3dpdGNoTWFwLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBNb2RhbFNlbGVjdGlvbk1vZGUsIGdldHRleHQgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcbmltcG9ydCB7IElNYW5hZ2VkT2JqZWN0LCBJT3BlcmF0aW9uLCBJbnZlbnRvcnlTZXJ2aWNlLCBPcGVyYXRpb25TdGF0dXMgfSBmcm9tICdAYzh5L2NsaWVudCc7XG5cbmltcG9ydCB7IFJlcG9zaXRvcnlTZXJ2aWNlIH0gZnJvbSAnLi4vcmVwb3NpdG9yeS5zZXJ2aWNlJztcbmltcG9ydCB7IERldmljZUZpcm13YXJlLCBGaXJtd2FyZUJpbmFyeSwgUmVwb3NpdG9yeVR5cGUgfSBmcm9tICcuLi9yZXBvc2l0b3J5Lm1vZGVsJztcbmltcG9ydCB7IFJlcG9zaXRvcnlTZWxlY3RNb2RhbENvbXBvbmVudCB9IGZyb20gJy4uL3NlbGVjdC1tb2RhbC9yZXBvc2l0b3J5LXNlbGVjdC1tb2RhbC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjOHktZmlybXdhcmUtZGV2aWNlLXRhYicsXG4gIHRlbXBsYXRlVXJsOiAnZmlybXdhcmUtZGV2aWNlLXRhYi5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgRmlybXdhcmVEZXZpY2VUYWJDb21wb25lbnQge1xuICBpc0VtcHR5ID0gaXNFbXB0eTtcbiAgcmVsb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG4gIGRldmljZSQ6IEJlaGF2aW9yU3ViamVjdDxJTWFuYWdlZE9iamVjdD4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KFxuICAgIHRoaXMucm91dGUucGFyZW50LnNuYXBzaG90LmRhdGEuY29udGV4dERhdGFcbiAgKTtcbiAgZGV2aWNlRmlybXdhcmVGcmFnbWVudCQ6IE9ic2VydmFibGU8RGV2aWNlRmlybXdhcmU+ID0gdGhpcy5kZXZpY2UkLnBpcGUoXG4gICAgbWFwKGRldmljZSA9PiBkZXZpY2UuYzh5X0Zpcm13YXJlKVxuICApO1xuICBmaXJtd2FyZUJpbmFyeSQ6IE9ic2VydmFibGU8SU1hbmFnZWRPYmplY3Q+ID0gdGhpcy5kZXZpY2VGaXJtd2FyZUZyYWdtZW50JC5waXBlKFxuICAgIGZpbHRlcihkZXZpY2VGaXJtd2FyZUZyYWdtZW50ID0+ICFpc0VtcHR5KGRldmljZUZpcm13YXJlRnJhZ21lbnQpKSxcbiAgICBzd2l0Y2hNYXAoZGV2aWNlRmlybXdhcmVGcmFnbWVudCA9PlxuICAgICAgZnJvbShcbiAgICAgICAgdGhpcy5yZXBvc2l0b3J5LmdldFJlcG9zaXRvcnlCaW5hcnlNb0J5VmVyc2lvbihcbiAgICAgICAgICBkZXZpY2VGaXJtd2FyZUZyYWdtZW50LFxuICAgICAgICAgIFJlcG9zaXRvcnlUeXBlLkZJUk1XQVJFXG4gICAgICAgIClcbiAgICAgIClcbiAgICApLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG4gIHJlcG9zaXRvcnlFbnRyeSQ6IE9ic2VydmFibGU8SU1hbmFnZWRPYmplY3Q+ID0gdGhpcy5maXJtd2FyZUJpbmFyeSQucGlwZShcbiAgICBzd2l0Y2hNYXAobW8gPT4gdGhpcy5yZXBvc2l0b3J5LmdldFJlcG9zaXRvcnlFbnRyeU1PJChtbykpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG4gIHBhdGNoZXMkOiBPYnNlcnZhYmxlPElNYW5hZ2VkT2JqZWN0W10+ID0gY29tYmluZUxhdGVzdChcbiAgICB0aGlzLmZpcm13YXJlQmluYXJ5JCxcbiAgICB0aGlzLnJlcG9zaXRvcnlFbnRyeSRcbiAgKS5waXBlKFxuICAgIHN3aXRjaE1hcCgoW2Zpcm13YXJlQmluYXJ5LCByZXBvc2l0b3J5RW50cnldKSA9PiB7XG4gICAgICBpZiAocmVwb3NpdG9yeUVudHJ5ICYmIGZpcm13YXJlQmluYXJ5KSB7XG4gICAgICAgIGNvbnN0IHZlcnNpb246IHN0cmluZyA9IHRoaXMucmVwb3NpdG9yeS5nZXRCYXNlVmVyc2lvbkZyb21NTyhcbiAgICAgICAgICBmaXJtd2FyZUJpbmFyeSBhcyBGaXJtd2FyZUJpbmFyeVxuICAgICAgICApO1xuXG4gICAgICAgIHJldHVybiBmcm9tKHRoaXMucmVwb3NpdG9yeS5saXN0UGF0Y2hWZXJzaW9ucyhyZXBvc2l0b3J5RW50cnksIHZlcnNpb24pKS5waXBlKFxuICAgICAgICAgIG1hcCgoeyBkYXRhIH0pID0+IGRhdGEpXG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gb2YoW10pO1xuICAgICAgfVxuICAgIH0pLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG4gIGNoYW5nZXNPcGVyYXRpb24kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxJT3BlcmF0aW9uPihudWxsKTtcbiAgY2hhbmdlc0luUHJvZ3Jlc3MkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5jaGFuZ2VzT3BlcmF0aW9uJC5waXBlKFxuICAgIG1hcChvcGVyYXRpb24gPT4gdGhpcy5pc0luUHJvZ3Jlc3Mob3BlcmF0aW9uKSlcbiAgKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHJlcG9zaXRvcnk6IFJlcG9zaXRvcnlTZXJ2aWNlLFxuICAgIHByaXZhdGUgaW52ZW50b3J5OiBJbnZlbnRvcnlTZXJ2aWNlLFxuICAgIHByaXZhdGUgYnNNb2RhbDogQnNNb2RhbFNlcnZpY2VcbiAgKSB7fVxuXG4gIGFzeW5jIG5nT25Jbml0KCkge1xuICAgIC8vIFRPRE8gY2hlY2sgcm91dGUgc25hcHNob3QsIHdoeSBpcyBub3QgcmVmcmVzaGluZyBkZXZpY2UuXG4gICAgLy8gU2NlbmFyaW86IG1pc3NpbmcgZGV2aWNlRmlybXdhcmVGcmFnbWVudCA9PiBpbnN0YWxsIG5ldyB2ZXJzaW9uID0+IHN3aXRjaCB0YWJzLlxuICAgIC8vIEV4cGVjdGVkOiBkZXZpY2Ugc2hvdWxkIGJlIHNldC5cbiAgICBhd2FpdCB0aGlzLmxvYWREZXZpY2UoKTtcbiAgICBhd2FpdCB0aGlzLmxvYWRPcGVyYXRpb24oKTtcbiAgfVxuXG4gIGluc3RhbGxGaXJtd2FyZSgpIHtcbiAgICBjb25zdCBpbml0aWFsU3RhdGU6IFBhcnRpYWw8UmVwb3NpdG9yeVNlbGVjdE1vZGFsQ29tcG9uZW50PiAmIHtcbiAgICAgIHJlcG9zaXRvcnlFbnRyaWVzV2l0aFZlcnNpb25zRm4kOiAobW9kYWw6IGFueSkgPT4gT2JzZXJ2YWJsZTxJTWFuYWdlZE9iamVjdFtdPjtcbiAgICB9ID0ge1xuICAgICAgcmVwb3NpdG9yeUVudHJpZXNXaXRoVmVyc2lvbnMkOiBvZihbXSksXG4gICAgICByZXBvc2l0b3J5RW50cmllc1dpdGhWZXJzaW9uc0ZuJDogbW9kYWwgPT5cbiAgICAgICAgdGhpcy5nZXRSZXBvc2l0b3J5RW50cmllc1dpdGhWZXJzaW9ucyQobW9kYWwuY29udGVudC5zZWFyY2hUZXJtKSxcbiAgICAgIHJlcG9zaXRvcnlUeXBlOiBSZXBvc2l0b3J5VHlwZS5GSVJNV0FSRSxcbiAgICAgIHRpdGxlOiBnZXR0ZXh0KCdJbnN0YWxsIGZpcm13YXJlJyksXG4gICAgICBzdWJUaXRsZTogZ2V0dGV4dCgnQXZhaWxhYmxlIGZpcm13YXJlcyBtYXRjaGluZyB0aGUgZGV2aWNlIHR5cGUnKSxcbiAgICAgIGljb246ICdjOHktZmlybXdhcmUnLFxuICAgICAgbW9kZTogTW9kYWxTZWxlY3Rpb25Nb2RlLlNJTkdMRSxcbiAgICAgIGxhYmVsczogeyBvazogZ2V0dGV4dCgnSW5zdGFsbCcpIH0sXG4gICAgICBkaXNhYmxlU2VsZWN0ZWQ6IGZhbHNlXG4gICAgfTtcblxuICAgIHRoaXMuZGV2aWNlRmlybXdhcmVGcmFnbWVudCRcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlKDEpLFxuICAgICAgICBzd2l0Y2hNYXAoZGV2aWNlRmlybXdhcmVGcmFnbWVudCA9PiB7XG4gICAgICAgICAgaWYgKGRldmljZUZpcm13YXJlRnJhZ21lbnQpIHtcbiAgICAgICAgICAgIGNvbnN0IHsgbmFtZSwgdmVyc2lvbiB9ID0gZGV2aWNlRmlybXdhcmVGcmFnbWVudDtcbiAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkID0gW3sgbmFtZSwgdmVyc2lvbiB9XTtcbiAgICAgICAgICAgIGFzc2lnbihpbml0aWFsU3RhdGUsIHsgc2VsZWN0ZWQgfSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgbW9kYWwgPSB0aGlzLmJzTW9kYWwuc2hvdyhSZXBvc2l0b3J5U2VsZWN0TW9kYWxDb21wb25lbnQsIHtcbiAgICAgICAgICAgIGlnbm9yZUJhY2tkcm9wQ2xpY2s6IHRydWUsXG4gICAgICAgICAgICBpbml0aWFsU3RhdGVcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIGlmIChpbml0aWFsU3RhdGUucmVwb3NpdG9yeUVudHJpZXNXaXRoVmVyc2lvbnNGbiQpIHtcbiAgICAgICAgICAgIG1vZGFsLmNvbnRlbnQucmVwb3NpdG9yeUVudHJpZXNXaXRoVmVyc2lvbnMkID0gaW5pdGlhbFN0YXRlLnJlcG9zaXRvcnlFbnRyaWVzV2l0aFZlcnNpb25zRm4kKFxuICAgICAgICAgICAgICBtb2RhbFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBtb2RhbC5jb250ZW50LmxvYWQubmV4dCgpO1xuXG4gICAgICAgICAgcmV0dXJuIG1vZGFsLmNvbnRlbnQucmVzdWx0RW1pdHRlcjtcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKFtzZWxlY3RlZEZpcm13YXJlXSkgPT4ge1xuICAgICAgICB0aGlzLmhhbmRsZU9wZXJhdGlvbihzZWxlY3RlZEZpcm13YXJlKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgZ2V0UmVwb3NpdG9yeUVudHJpZXNXaXRoVmVyc2lvbnMkKHNlYXJjaFRlcm0kOiBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPikge1xuICAgIHJldHVybiBzZWFyY2hUZXJtJC5waXBlKFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgIHN3aXRjaE1hcChzZWFyY2hUZXJtID0+XG4gICAgICAgIHRoaXMucmVwb3NpdG9yeS5saXN0UmVwb3NpdG9yeUVudHJpZXMoUmVwb3NpdG9yeVR5cGUuRklSTVdBUkUsIHtcbiAgICAgICAgICBxdWVyeTogdGhpcy5yZXBvc2l0b3J5LmdldERldmljZVR5cGVRdWVyeShSZXBvc2l0b3J5VHlwZS5GSVJNV0FSRSwgdGhpcy5kZXZpY2UkLnZhbHVlKSxcbiAgICAgICAgICBwYXJ0aWFsTmFtZTogc2VhcmNoVGVybSxcbiAgICAgICAgICBwYXJhbXM6IHsgcGFnZVNpemU6IDEwMCB9XG4gICAgICAgIH0pXG4gICAgICApLFxuICAgICAgbWFwKCh7IGRhdGEgfSkgPT4gZGF0YSksXG4gICAgICBtYXAobW9zID0+IHRoaXMuZ2V0QW5kQXNzaWduUmVwb3NpdG9yeUJpbmFyaWVzKG1vcykpLFxuICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICApO1xuICB9XG5cbiAgZ2V0QW5kQXNzaWduUmVwb3NpdG9yeUJpbmFyaWVzKG1vczogSU1hbmFnZWRPYmplY3RbXSkge1xuICAgIG1vcy5mb3JFYWNoKG1vID0+IHtcbiAgICAgIG1vLnZlcnNpb25zID0gdGhpcy5yZXBvc2l0b3J5Lmxpc3RCYXNlVmVyc2lvbnMobW8pO1xuICAgIH0pO1xuICAgIHJldHVybiBtb3M7XG4gIH1cblxuICBhZGRQYXRjaCgpIHtcbiAgICBjb25zdCBpbml0aWFsU3RhdGU6IFBhcnRpYWw8UmVwb3NpdG9yeVNlbGVjdE1vZGFsQ29tcG9uZW50PiAmIHtcbiAgICAgIHJlcG9zaXRvcnlFbnRyaWVzV2l0aFZlcnNpb25zJDogT2JzZXJ2YWJsZTxJTWFuYWdlZE9iamVjdFtdPjtcbiAgICB9ID0ge1xuICAgICAgcmVwb3NpdG9yeVR5cGU6IFJlcG9zaXRvcnlUeXBlLkZJUk1XQVJFLFxuICAgICAgcmVwb3NpdG9yeUVudHJpZXNXaXRoVmVyc2lvbnMkOiB0aGlzLmdldFJlcG9zaXRvcnlFbnRyeVdpdGhQYXRjaGVzJCgpLFxuICAgICAgdGl0bGU6IGdldHRleHQoJ0luc3RhbGwgZmlybXdhcmUnKSxcbiAgICAgIHN1YlRpdGxlOiBnZXR0ZXh0KCdBdmFpbGFibGUgZmlybXdhcmVzIG1hdGNoaW5nIHRoZSBkZXZpY2UgdHlwZScpLFxuICAgICAgaWNvbjogJ2M4eS1maXJtd2FyZScsXG4gICAgICBtb2RlOiBNb2RhbFNlbGVjdGlvbk1vZGUuU0lOR0xFLFxuICAgICAgbGFiZWxzOiB7IG9rOiBnZXR0ZXh0KCdJbnN0YWxsJykgfSxcbiAgICAgIGRpc2FibGVTZWxlY3RlZDogZmFsc2VcbiAgICB9O1xuXG4gICAgdGhpcy5kZXZpY2VGaXJtd2FyZUZyYWdtZW50JFxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2UoMSksXG4gICAgICAgIHN3aXRjaE1hcChkZXZpY2VGaXJtd2FyZUZyYWdtZW50ID0+IHtcbiAgICAgICAgICBpZiAoZGV2aWNlRmlybXdhcmVGcmFnbWVudCkge1xuICAgICAgICAgICAgY29uc3QgeyBuYW1lLCB2ZXJzaW9uIH0gPSBkZXZpY2VGaXJtd2FyZUZyYWdtZW50O1xuICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWQgPSBbeyBuYW1lLCB2ZXJzaW9uIH1dO1xuICAgICAgICAgICAgYXNzaWduKGluaXRpYWxTdGF0ZSwgeyBzZWxlY3RlZCB9KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCBtb2RhbCA9IHRoaXMuYnNNb2RhbC5zaG93KFJlcG9zaXRvcnlTZWxlY3RNb2RhbENvbXBvbmVudCwge1xuICAgICAgICAgICAgaWdub3JlQmFja2Ryb3BDbGljazogdHJ1ZSxcbiAgICAgICAgICAgIGluaXRpYWxTdGF0ZVxuICAgICAgICAgIH0pO1xuICAgICAgICAgIG1vZGFsLmNvbnRlbnQubG9hZC5uZXh0KCk7XG5cbiAgICAgICAgICByZXR1cm4gbW9kYWwuY29udGVudC5yZXN1bHRFbWl0dGVyO1xuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShzZWxlY3RlZE9wdGlvbiA9PiB7XG4gICAgICAgIHRoaXMuaGFuZGxlT3BlcmF0aW9uKHNlbGVjdGVkT3B0aW9uKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgZ2V0UmVwb3NpdG9yeUVudHJ5V2l0aFBhdGNoZXMkKCkge1xuICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KHRoaXMucmVwb3NpdG9yeUVudHJ5JCwgdGhpcy5wYXRjaGVzJCkucGlwZShcbiAgICAgIG1hcCgoW3JlcG9zaXRvcnlFbnRyeSwgcGF0Y2hlc10pID0+IHtcbiAgICAgICAgcmV0dXJuIFt7IC4uLnJlcG9zaXRvcnlFbnRyeSwgdmVyc2lvbnM6IHBhdGNoZXMgfV07XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBhc3luYyBsb2FkRGV2aWNlKCkge1xuICAgIHRoaXMucmVsb2FkaW5nID0gdHJ1ZTtcbiAgICBjb25zdCBkZXZpY2VJZCA9IHRoaXMuZGV2aWNlJC52YWx1ZS5pZDtcbiAgICBjb25zdCBkZXZpY2UgPSAoYXdhaXQgdGhpcy5pbnZlbnRvcnkuZGV0YWlsKGRldmljZUlkLCB7IHdpdGhDaGlsZHJlbjogZmFsc2UgfSkpLmRhdGE7XG4gICAgdGhpcy5kZXZpY2UkLm5leHQoZGV2aWNlKTtcbiAgICB0aGlzLnJlbG9hZGluZyA9IGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBoYW5kbGVPcGVyYXRpb24oc2VsZWN0ZWRGaXJtd2FyZSkge1xuICAgIGNvbnN0IG9wZXJhdGlvbiA9IGF3YWl0IHRoaXMucmVwb3NpdG9yeS5jcmVhdGVGaXJtd2FyZVVwZGF0ZU9wZXJhdGlvbihcbiAgICAgIHRoaXMuZGV2aWNlJC52YWx1ZSxcbiAgICAgIHNlbGVjdGVkRmlybXdhcmVcbiAgICApO1xuICAgIHRoaXMudHJhY2tPcGVyYXRpb24ob3BlcmF0aW9uKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgbG9hZE9wZXJhdGlvbigpIHtcbiAgICBjb25zdCBkZXZpY2VJZCA9IHRoaXMuZGV2aWNlJC52YWx1ZS5pZDtcbiAgICBjb25zdCBvcGVyYXRpb24gPSBhd2FpdCB0aGlzLnJlcG9zaXRvcnkuZ2V0TGFzdEZpcm13YXJlVXBkYXRlT3BlcmF0aW9uKGRldmljZUlkKTtcbiAgICB0aGlzLnRyYWNrT3BlcmF0aW9uKG9wZXJhdGlvbik7XG4gIH1cblxuICBwcml2YXRlIHRyYWNrT3BlcmF0aW9uKG9wZXJhdGlvbjogSU9wZXJhdGlvbikge1xuICAgIHRoaXMuY2hhbmdlc09wZXJhdGlvbiQubmV4dChvcGVyYXRpb24pO1xuXG4gICAgaWYgKHRoaXMuaXNJblByb2dyZXNzKG9wZXJhdGlvbikpIHtcbiAgICAgIHRoaXMucmVwb3NpdG9yeS5vYnNlcnZlT3BlcmF0aW9uKG9wZXJhdGlvbikuc3Vic2NyaWJlKFxuICAgICAgICBvcGVyYXRpb25VcGRhdGUgPT4ge1xuICAgICAgICAgIHRoaXMuY2hhbmdlc09wZXJhdGlvbiQubmV4dChvcGVyYXRpb25VcGRhdGUpO1xuICAgICAgICAgIGlmIChvcGVyYXRpb25VcGRhdGUuc3RhdHVzID09PSBPcGVyYXRpb25TdGF0dXMuU1VDQ0VTU0ZVTCkge1xuICAgICAgICAgICAgdGhpcy5sb2FkRGV2aWNlKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBvcGVyYXRpb25VcGRhdGUgPT4ge1xuICAgICAgICAgIHRoaXMuY2hhbmdlc09wZXJhdGlvbiQubmV4dChvcGVyYXRpb25VcGRhdGUpO1xuICAgICAgICB9XG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaXNJblByb2dyZXNzKG9wZXJhdGlvbjogSU9wZXJhdGlvbikge1xuICAgIHJldHVybiAoXG4gICAgICBvcGVyYXRpb24gJiYgW09wZXJhdGlvblN0YXR1cy5QRU5ESU5HLCBPcGVyYXRpb25TdGF0dXMuRVhFQ1VUSU5HXS5pbmNsdWRlcyhvcGVyYXRpb24uc3RhdHVzKVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
178
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlybXdhcmUtZGV2aWNlLXRhYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9yZXBvc2l0b3J5L2Zpcm13YXJlLWRldmljZS10YWIvZmlybXdhcmUtZGV2aWNlLXRhYi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNqRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFFLGVBQWUsRUFBYyxhQUFhLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWpHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRSxPQUFPLEVBQThCLGdCQUFnQixFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU1RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQWtDLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JGLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBTW5HLE1BQU0sT0FBTywwQkFBMEI7SUF1RHJDLFlBQ1UsS0FBcUIsRUFDckIsVUFBNkIsRUFDN0IsU0FBMkIsRUFDM0IsT0FBdUI7UUFIdkIsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsZUFBVSxHQUFW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LElBQUksQ0FBQyxVQUFVLENBQUMsOEJBQThCLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDakYsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNqQyxDQUFDO0tBQUE7SUFFTyxjQUFjLENBQUMsU0FBcUI7UUFDMUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUV2QyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDaEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFTLENBQ25ELGVBQWUsQ0FBQyxFQUFFO2dCQUNoQixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO2dCQUM3QyxJQUFJLGVBQWUsQ0FBQyxNQUFNLEtBQUssZUFBZSxDQUFDLFVBQVUsRUFBRTtvQkFDekQsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2lCQUNuQjtZQUNILENBQUMsRUFDRCxlQUFlLENBQUMsRUFBRTtnQkFDaEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUMvQyxDQUFDLENBQ0YsQ0FBQztTQUNIO0lBQ0gsQ0FBQztJQUVPLFlBQVksQ0FBQyxTQUFxQjtRQUN4QyxPQUFPLENBQ0wsU0FBUyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sRUFBRSxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FDN0YsQ0FBQztJQUNKLENBQUM7OztZQTFPRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHlCQUF5QjtnQkFDbkMscy9IQUFpRDthQUNsRDs7O1lBaEJRLGNBQWM7WUFTZCxpQkFBaUI7WUFGVyxnQkFBZ0I7WUFMNUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgYXNzaWduLCBnZXQsIGlzRW1wdHkgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgQnNNb2RhbFNlcnZpY2UgfSBmcm9tICduZ3gtYm9vdHN0cmFwL21vZGFsJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgY29tYmluZUxhdGVzdCwgZnJvbSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIG1hcCwgc2hhcmVSZXBsYXksIHN3aXRjaE1hcCwgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgTW9kYWxTZWxlY3Rpb25Nb2RlLCBnZXR0ZXh0IH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBJTWFuYWdlZE9iamVjdCwgSU9wZXJhdGlvbiwgSW52ZW50b3J5U2VydmljZSwgT3BlcmF0aW9uU3RhdHVzIH0gZnJvbSAnQGM4eS9jbGllbnQnO1xuXG5pbXBvcnQgeyBSZXBvc2l0b3J5U2VydmljZSB9IGZyb20gJy4uL3JlcG9zaXRvcnkuc2VydmljZSc7XG5pbXBvcnQgeyBEZXZpY2VGaXJtd2FyZSwgRmlybXdhcmVCaW5hcnksIFJlcG9zaXRvcnlUeXBlIH0gZnJvbSAnLi4vcmVwb3NpdG9yeS5tb2RlbCc7XG5pbXBvcnQgeyBSZXBvc2l0b3J5U2VsZWN0TW9kYWxDb21wb25lbnQgfSBmcm9tICcuLi9zZWxlY3QtbW9kYWwvcmVwb3NpdG9yeS1zZWxlY3QtbW9kYWwuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYzh5LWZpcm13YXJlLWRldmljZS10YWInLFxuICB0ZW1wbGF0ZVVybDogJ2Zpcm13YXJlLWRldmljZS10YWIuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEZpcm13YXJlRGV2aWNlVGFiQ29tcG9uZW50IHtcbiAgaXNFbXB0eSA9IGlzRW1wdHk7XG4gIHJlbG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuICBkZXZpY2UkOiBCZWhhdmlvclN1YmplY3Q8SU1hbmFnZWRPYmplY3Q+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChcbiAgICB0aGlzLnJvdXRlLnBhcmVudC5zbmFwc2hvdC5kYXRhLmNvbnRleHREYXRhXG4gICk7XG4gIGRldmljZUZpcm13YXJlRnJhZ21lbnQkOiBPYnNlcnZhYmxlPERldmljZUZpcm13YXJlPiA9IHRoaXMuZGV2aWNlJC5waXBlKFxuICAgIG1hcChkZXZpY2UgPT4gZGV2aWNlLmM4eV9GaXJtd2FyZSlcbiAgKTtcbiAgZmlybXdhcmVCaW5hcnkkOiBPYnNlcnZhYmxlPElNYW5hZ2VkT2JqZWN0PiA9IHRoaXMuZGV2aWNlRmlybXdhcmVGcmFnbWVudCQucGlwZShcbiAgICBmaWx0ZXIoZGV2aWNlRmlybXdhcmVGcmFnbWVudCA9PiAhaXNFbXB0eShkZXZpY2VGaXJtd2FyZUZyYWdtZW50KSksXG4gICAgc3dpdGNoTWFwKGRldmljZUZpcm13YXJlRnJhZ21lbnQgPT5cbiAgICAgIGZyb20oXG4gICAgICAgIHRoaXMucmVwb3NpdG9yeS5nZXRSZXBvc2l0b3J5QmluYXJ5TW9CeVZlcnNpb24oXG4gICAgICAgICAgZGV2aWNlRmlybXdhcmVGcmFnbWVudCxcbiAgICAgICAgICBSZXBvc2l0b3J5VHlwZS5GSVJNV0FSRVxuICAgICAgICApXG4gICAgICApXG4gICAgKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuICByZXBvc2l0b3J5RW50cnkkOiBPYnNlcnZhYmxlPElNYW5hZ2VkT2JqZWN0PiA9IHRoaXMuZmlybXdhcmVCaW5hcnkkLnBpcGUoXG4gICAgc3dpdGNoTWFwKG1vID0+IHRoaXMucmVwb3NpdG9yeS5nZXRSZXBvc2l0b3J5RW50cnlNTyQobW8pKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuICBwYXRjaGVzJDogT2JzZXJ2YWJsZTxJTWFuYWdlZE9iamVjdFtdPiA9IGNvbWJpbmVMYXRlc3QoXG4gICAgdGhpcy5maXJtd2FyZUJpbmFyeSQsXG4gICAgdGhpcy5yZXBvc2l0b3J5RW50cnkkXG4gICkucGlwZShcbiAgICBzd2l0Y2hNYXAoKFtmaXJtd2FyZUJpbmFyeSwgcmVwb3NpdG9yeUVudHJ5XSkgPT4ge1xuICAgICAgaWYgKHJlcG9zaXRvcnlFbnRyeSAmJiBmaXJtd2FyZUJpbmFyeSkge1xuICAgICAgICBjb25zdCB2ZXJzaW9uOiBzdHJpbmcgPSB0aGlzLnJlcG9zaXRvcnkuZ2V0QmFzZVZlcnNpb25Gcm9tTU8oXG4gICAgICAgICAgZmlybXdhcmVCaW5hcnkgYXMgRmlybXdhcmVCaW5hcnlcbiAgICAgICAgKTtcblxuICAgICAgICByZXR1cm4gZnJvbSh0aGlzLnJlcG9zaXRvcnkubGlzdFBhdGNoVmVyc2lvbnMocmVwb3NpdG9yeUVudHJ5LCB2ZXJzaW9uKSkucGlwZShcbiAgICAgICAgICBtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKVxuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIG9mKFtdKTtcbiAgICAgIH1cbiAgICB9KSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuICBzdXBwb3J0c0Zpcm13YXJlT3BlcmF0aW9ucyQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLmRldmljZSQucGlwZShcbiAgICBtYXAoXG4gICAgICAoZGV2aWNlOiBJTWFuYWdlZE9iamVjdCkgPT5cbiAgICAgICAgZ2V0KGRldmljZSwgJ2M4eV9TdXBwb3J0ZWRPcGVyYXRpb25zJywgW10pLmluZGV4T2YoJ2M4eV9GaXJtd2FyZScpID4gLTFcbiAgICApXG4gICk7XG4gIGNoYW5nZXNPcGVyYXRpb24kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxJT3BlcmF0aW9uPihudWxsKTtcbiAgY2hhbmdlc0luUHJvZ3Jlc3MkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5jaGFuZ2VzT3BlcmF0aW9uJC5waXBlKFxuICAgIG1hcChvcGVyYXRpb24gPT4gdGhpcy5pc0luUHJvZ3Jlc3Mob3BlcmF0aW9uKSlcbiAgKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHJlcG9zaXRvcnk6IFJlcG9zaXRvcnlTZXJ2aWNlLFxuICAgIHByaXZhdGUgaW52ZW50b3J5OiBJbnZlbnRvcnlTZXJ2aWNlLFxuICAgIHByaXZhdGUgYnNNb2RhbDogQnNNb2RhbFNlcnZpY2VcbiAgKSB7fVxuXG4gIGFzeW5jIG5nT25Jbml0KCkge1xuICAgIC8vIFRPRE8gY2hlY2sgcm91dGUgc25hcHNob3QsIHdoeSBpcyBub3QgcmVmcmVzaGluZyBkZXZpY2UuXG4gICAgLy8gU2NlbmFyaW86IG1pc3NpbmcgZGV2aWNlRmlybXdhcmVGcmFnbWVudCA9PiBpbnN0YWxsIG5ldyB2ZXJzaW9uID0+IHN3aXRjaCB0YWJzLlxuICAgIC8vIEV4cGVjdGVkOiBkZXZpY2Ugc2hvdWxkIGJlIHNldC5cbiAgICBhd2FpdCB0aGlzLmxvYWREZXZpY2UoKTtcbiAgICBhd2FpdCB0aGlzLmxvYWRPcGVyYXRpb24oKTtcbiAgfVxuXG4gIGluc3RhbGxGaXJtd2FyZSgpIHtcbiAgICBjb25zdCBpbml0aWFsU3RhdGU6IFBhcnRpYWw8UmVwb3NpdG9yeVNlbGVjdE1vZGFsQ29tcG9uZW50PiAmIHtcbiAgICAgIHJlcG9zaXRvcnlFbnRyaWVzV2l0aFZlcnNpb25zRm4kOiAobW9kYWw6IGFueSkgPT4gT2JzZXJ2YWJsZTxJTWFuYWdlZE9iamVjdFtdPjtcbiAgICB9ID0ge1xuICAgICAgcmVwb3NpdG9yeUVudHJpZXNXaXRoVmVyc2lvbnMkOiBvZihbXSksXG4gICAgICByZXBvc2l0b3J5RW50cmllc1dpdGhWZXJzaW9uc0ZuJDogbW9kYWwgPT5cbiAgICAgICAgdGhpcy5nZXRSZXBvc2l0b3J5RW50cmllc1dpdGhWZXJzaW9ucyQobW9kYWwuY29udGVudC5zZWFyY2hUZXJtKSxcbiAgICAgIHJlcG9zaXRvcnlUeXBlOiBSZXBvc2l0b3J5VHlwZS5GSVJNV0FSRSxcbiAgICAgIHRpdGxlOiBnZXR0ZXh0KCdJbnN0YWxsIGZpcm13YXJlJyksXG4gICAgICBzdWJUaXRsZTogZ2V0dGV4dCgnQXZhaWxhYmxlIGZpcm13YXJlcyBtYXRjaGluZyB0aGUgZGV2aWNlIHR5cGUnKSxcbiAgICAgIGljb246ICdjOHktZmlybXdhcmUnLFxuICAgICAgbW9kZTogTW9kYWxTZWxlY3Rpb25Nb2RlLlNJTkdMRSxcbiAgICAgIGxhYmVsczogeyBvazogZ2V0dGV4dCgnSW5zdGFsbCcpIH0sXG4gICAgICBkaXNhYmxlU2VsZWN0ZWQ6IGZhbHNlXG4gICAgfTtcblxuICAgIHRoaXMuZGV2aWNlRmlybXdhcmVGcmFnbWVudCRcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlKDEpLFxuICAgICAgICBzd2l0Y2hNYXAoZGV2aWNlRmlybXdhcmVGcmFnbWVudCA9PiB7XG4gICAgICAgICAgaWYgKGRldmljZUZpcm13YXJlRnJhZ21lbnQpIHtcbiAgICAgICAgICAgIGNvbnN0IHsgbmFtZSwgdmVyc2lvbiB9ID0gZGV2aWNlRmlybXdhcmVGcmFnbWVudDtcbiAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkID0gW3sgbmFtZSwgdmVyc2lvbiB9XTtcbiAgICAgICAgICAgIGFzc2lnbihpbml0aWFsU3RhdGUsIHsgc2VsZWN0ZWQgfSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgbW9kYWwgPSB0aGlzLmJzTW9kYWwuc2hvdyhSZXBvc2l0b3J5U2VsZWN0TW9kYWxDb21wb25lbnQsIHtcbiAgICAgICAgICAgIGlnbm9yZUJhY2tkcm9wQ2xpY2s6IHRydWUsXG4gICAgICAgICAgICBpbml0aWFsU3RhdGVcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIGlmIChpbml0aWFsU3RhdGUucmVwb3NpdG9yeUVudHJpZXNXaXRoVmVyc2lvbnNGbiQpIHtcbiAgICAgICAgICAgIG1vZGFsLmNvbnRlbnQucmVwb3NpdG9yeUVudHJpZXNXaXRoVmVyc2lvbnMkID0gaW5pdGlhbFN0YXRlLnJlcG9zaXRvcnlFbnRyaWVzV2l0aFZlcnNpb25zRm4kKFxuICAgICAgICAgICAgICBtb2RhbFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBtb2RhbC5jb250ZW50LmxvYWQubmV4dCgpO1xuXG4gICAgICAgICAgcmV0dXJuIG1vZGFsLmNvbnRlbnQucmVzdWx0RW1pdHRlcjtcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKFtzZWxlY3RlZEZpcm13YXJlXSkgPT4ge1xuICAgICAgICB0aGlzLmhhbmRsZU9wZXJhdGlvbihzZWxlY3RlZEZpcm13YXJlKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgZ2V0UmVwb3NpdG9yeUVudHJpZXNXaXRoVmVyc2lvbnMkKHNlYXJjaFRlcm0kOiBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPikge1xuICAgIHJldHVybiBzZWFyY2hUZXJtJC5waXBlKFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgIHN3aXRjaE1hcChzZWFyY2hUZXJtID0+XG4gICAgICAgIHRoaXMucmVwb3NpdG9yeS5saXN0UmVwb3NpdG9yeUVudHJpZXMoUmVwb3NpdG9yeVR5cGUuRklSTVdBUkUsIHtcbiAgICAgICAgICBxdWVyeTogdGhpcy5yZXBvc2l0b3J5LmdldERldmljZVR5cGVRdWVyeShSZXBvc2l0b3J5VHlwZS5GSVJNV0FSRSwgdGhpcy5kZXZpY2UkLnZhbHVlKSxcbiAgICAgICAgICBwYXJ0aWFsTmFtZTogc2VhcmNoVGVybSxcbiAgICAgICAgICBwYXJhbXM6IHsgcGFnZVNpemU6IDEwMCB9XG4gICAgICAgIH0pXG4gICAgICApLFxuICAgICAgbWFwKCh7IGRhdGEgfSkgPT4gZGF0YSksXG4gICAgICBtYXAobW9zID0+IHRoaXMuZ2V0QW5kQXNzaWduUmVwb3NpdG9yeUJpbmFyaWVzKG1vcykpLFxuICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICApO1xuICB9XG5cbiAgZ2V0QW5kQXNzaWduUmVwb3NpdG9yeUJpbmFyaWVzKG1vczogSU1hbmFnZWRPYmplY3RbXSkge1xuICAgIG1vcy5mb3JFYWNoKG1vID0+IHtcbiAgICAgIG1vLnZlcnNpb25zID0gdGhpcy5yZXBvc2l0b3J5Lmxpc3RCYXNlVmVyc2lvbnMobW8pO1xuICAgIH0pO1xuICAgIHJldHVybiBtb3M7XG4gIH1cblxuICBhZGRQYXRjaCgpIHtcbiAgICBjb25zdCBpbml0aWFsU3RhdGU6IFBhcnRpYWw8UmVwb3NpdG9yeVNlbGVjdE1vZGFsQ29tcG9uZW50PiAmIHtcbiAgICAgIHJlcG9zaXRvcnlFbnRyaWVzV2l0aFZlcnNpb25zJDogT2JzZXJ2YWJsZTxJTWFuYWdlZE9iamVjdFtdPjtcbiAgICB9ID0ge1xuICAgICAgcmVwb3NpdG9yeVR5cGU6IFJlcG9zaXRvcnlUeXBlLkZJUk1XQVJFLFxuICAgICAgcmVwb3NpdG9yeUVudHJpZXNXaXRoVmVyc2lvbnMkOiB0aGlzLmdldFJlcG9zaXRvcnlFbnRyeVdpdGhQYXRjaGVzJCgpLFxuICAgICAgdGl0bGU6IGdldHRleHQoJ0luc3RhbGwgZmlybXdhcmUnKSxcbiAgICAgIHN1YlRpdGxlOiBnZXR0ZXh0KCdBdmFpbGFibGUgZmlybXdhcmVzIG1hdGNoaW5nIHRoZSBkZXZpY2UgdHlwZScpLFxuICAgICAgaWNvbjogJ2M4eS1maXJtd2FyZScsXG4gICAgICBtb2RlOiBNb2RhbFNlbGVjdGlvbk1vZGUuU0lOR0xFLFxuICAgICAgbGFiZWxzOiB7IG9rOiBnZXR0ZXh0KCdJbnN0YWxsJykgfSxcbiAgICAgIGRpc2FibGVTZWxlY3RlZDogZmFsc2VcbiAgICB9O1xuXG4gICAgdGhpcy5kZXZpY2VGaXJtd2FyZUZyYWdtZW50JFxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2UoMSksXG4gICAgICAgIHN3aXRjaE1hcChkZXZpY2VGaXJtd2FyZUZyYWdtZW50ID0+IHtcbiAgICAgICAgICBpZiAoZGV2aWNlRmlybXdhcmVGcmFnbWVudCkge1xuICAgICAgICAgICAgY29uc3QgeyBuYW1lLCB2ZXJzaW9uIH0gPSBkZXZpY2VGaXJtd2FyZUZyYWdtZW50O1xuICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWQgPSBbeyBuYW1lLCB2ZXJzaW9uIH1dO1xuICAgICAgICAgICAgYXNzaWduKGluaXRpYWxTdGF0ZSwgeyBzZWxlY3RlZCB9KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCBtb2RhbCA9IHRoaXMuYnNNb2RhbC5zaG93KFJlcG9zaXRvcnlTZWxlY3RNb2RhbENvbXBvbmVudCwge1xuICAgICAgICAgICAgaWdub3JlQmFja2Ryb3BDbGljazogdHJ1ZSxcbiAgICAgICAgICAgIGluaXRpYWxTdGF0ZVxuICAgICAgICAgIH0pO1xuICAgICAgICAgIG1vZGFsLmNvbnRlbnQubG9hZC5uZXh0KCk7XG5cbiAgICAgICAgICByZXR1cm4gbW9kYWwuY29udGVudC5yZXN1bHRFbWl0dGVyO1xuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShzZWxlY3RlZE9wdGlvbiA9PiB7XG4gICAgICAgIHRoaXMuaGFuZGxlT3BlcmF0aW9uKHNlbGVjdGVkT3B0aW9uKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgZ2V0UmVwb3NpdG9yeUVudHJ5V2l0aFBhdGNoZXMkKCkge1xuICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KHRoaXMucmVwb3NpdG9yeUVudHJ5JCwgdGhpcy5wYXRjaGVzJCkucGlwZShcbiAgICAgIG1hcCgoW3JlcG9zaXRvcnlFbnRyeSwgcGF0Y2hlc10pID0+IHtcbiAgICAgICAgcmV0dXJuIFt7IC4uLnJlcG9zaXRvcnlFbnRyeSwgdmVyc2lvbnM6IHBhdGNoZXMgfV07XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBhc3luYyBsb2FkRGV2aWNlKCkge1xuICAgIHRoaXMucmVsb2FkaW5nID0gdHJ1ZTtcbiAgICBjb25zdCBkZXZpY2VJZCA9IHRoaXMuZGV2aWNlJC52YWx1ZS5pZDtcbiAgICBjb25zdCBkZXZpY2UgPSAoYXdhaXQgdGhpcy5pbnZlbnRvcnkuZGV0YWlsKGRldmljZUlkLCB7IHdpdGhDaGlsZHJlbjogZmFsc2UgfSkpLmRhdGE7XG4gICAgdGhpcy5kZXZpY2UkLm5leHQoZGV2aWNlKTtcbiAgICB0aGlzLnJlbG9hZGluZyA9IGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBoYW5kbGVPcGVyYXRpb24oc2VsZWN0ZWRGaXJtd2FyZSkge1xuICAgIGNvbnN0IG9wZXJhdGlvbiA9IGF3YWl0IHRoaXMucmVwb3NpdG9yeS5jcmVhdGVGaXJtd2FyZVVwZGF0ZU9wZXJhdGlvbihcbiAgICAgIHRoaXMuZGV2aWNlJC52YWx1ZSxcbiAgICAgIHNlbGVjdGVkRmlybXdhcmVcbiAgICApO1xuICAgIHRoaXMudHJhY2tPcGVyYXRpb24ob3BlcmF0aW9uKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgbG9hZE9wZXJhdGlvbigpIHtcbiAgICBjb25zdCBkZXZpY2VJZCA9IHRoaXMuZGV2aWNlJC52YWx1ZS5pZDtcbiAgICBjb25zdCBvcGVyYXRpb24gPSBhd2FpdCB0aGlzLnJlcG9zaXRvcnkuZ2V0TGFzdEZpcm13YXJlVXBkYXRlT3BlcmF0aW9uKGRldmljZUlkKTtcbiAgICB0aGlzLnRyYWNrT3BlcmF0aW9uKG9wZXJhdGlvbik7XG4gIH1cblxuICBwcml2YXRlIHRyYWNrT3BlcmF0aW9uKG9wZXJhdGlvbjogSU9wZXJhdGlvbikge1xuICAgIHRoaXMuY2hhbmdlc09wZXJhdGlvbiQubmV4dChvcGVyYXRpb24pO1xuXG4gICAgaWYgKHRoaXMuaXNJblByb2dyZXNzKG9wZXJhdGlvbikpIHtcbiAgICAgIHRoaXMucmVwb3NpdG9yeS5vYnNlcnZlT3BlcmF0aW9uKG9wZXJhdGlvbikuc3Vic2NyaWJlKFxuICAgICAgICBvcGVyYXRpb25VcGRhdGUgPT4ge1xuICAgICAgICAgIHRoaXMuY2hhbmdlc09wZXJhdGlvbiQubmV4dChvcGVyYXRpb25VcGRhdGUpO1xuICAgICAgICAgIGlmIChvcGVyYXRpb25VcGRhdGUuc3RhdHVzID09PSBPcGVyYXRpb25TdGF0dXMuU1VDQ0VTU0ZVTCkge1xuICAgICAgICAgICAgdGhpcy5sb2FkRGV2aWNlKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBvcGVyYXRpb25VcGRhdGUgPT4ge1xuICAgICAgICAgIHRoaXMuY2hhbmdlc09wZXJhdGlvbiQubmV4dChvcGVyYXRpb25VcGRhdGUpO1xuICAgICAgICB9XG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaXNJblByb2dyZXNzKG9wZXJhdGlvbjogSU9wZXJhdGlvbikge1xuICAgIHJldHVybiAoXG4gICAgICBvcGVyYXRpb24gJiYgW09wZXJhdGlvblN0YXR1cy5QRU5ESU5HLCBPcGVyYXRpb25TdGF0dXMuRVhFQ1VUSU5HXS5pbmNsdWRlcyhvcGVyYXRpb24uc3RhdHVzKVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -1,17 +1,16 @@
1
1
  import { Injectable } from '@angular/core';
2
- import { get, indexOf } from 'lodash-es';
2
+ import { get, has, indexOf } from 'lodash-es';
3
3
  const FIRMWARE_FRAGMENT = 'c8y_Firmware';
4
4
  const SUPPORTED_OPERATIONS_FRAGMENT = 'c8y_SupportedOperations';
5
5
  export class FirmwareDeviceTabGuard {
6
6
  canActivate(route) {
7
7
  const contextData = get(route, 'data.contextData') || get(route, 'parent.data.contextData');
8
8
  const supportedOperations = get(contextData, SUPPORTED_OPERATIONS_FRAGMENT);
9
- return !!supportedOperations
10
- ? indexOf(supportedOperations, FIRMWARE_FRAGMENT) >= 0
11
- : false;
9
+ return ((!!supportedOperations ? indexOf(supportedOperations, FIRMWARE_FRAGMENT) >= 0 : false) ||
10
+ has(contextData, 'c8y_Firmware'));
12
11
  }
13
12
  }
14
13
  FirmwareDeviceTabGuard.decorators = [
15
14
  { type: Injectable }
16
15
  ];
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlybXdhcmUtZGV2aWNlLXRhYi5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3JlcG9zaXRvcnkvZmlybXdhcmUtZGV2aWNlLXRhYi9maXJtd2FyZS1kZXZpY2UtdGFiLmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFekMsTUFBTSxpQkFBaUIsR0FBRyxjQUFjLENBQUM7QUFDekMsTUFBTSw2QkFBNkIsR0FBRyx5QkFBeUIsQ0FBQztBQUdoRSxNQUFNLE9BQU8sc0JBQXNCO0lBQ2pDLFdBQVcsQ0FBQyxLQUFLO1FBQ2YsTUFBTSxXQUFXLEdBQUcsR0FBRyxDQUFDLEtBQUssRUFBRSxrQkFBa0IsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxLQUFLLEVBQUUseUJBQXlCLENBQUMsQ0FBQztRQUM1RixNQUFNLG1CQUFtQixHQUFHLEdBQUcsQ0FBQyxXQUFXLEVBQUUsNkJBQTZCLENBQUMsQ0FBQztRQUM1RSxPQUFPLENBQUMsQ0FBQyxtQkFBbUI7WUFDMUIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJLENBQUM7WUFDdEQsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUNaLENBQUM7OztZQVJGLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDYW5BY3RpdmF0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBnZXQsIGluZGV4T2YgfSBmcm9tICdsb2Rhc2gtZXMnO1xuXG5jb25zdCBGSVJNV0FSRV9GUkFHTUVOVCA9ICdjOHlfRmlybXdhcmUnO1xuY29uc3QgU1VQUE9SVEVEX09QRVJBVElPTlNfRlJBR01FTlQgPSAnYzh5X1N1cHBvcnRlZE9wZXJhdGlvbnMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRmlybXdhcmVEZXZpY2VUYWJHdWFyZCBpbXBsZW1lbnRzIENhbkFjdGl2YXRlIHtcbiAgY2FuQWN0aXZhdGUocm91dGUpIHtcbiAgICBjb25zdCBjb250ZXh0RGF0YSA9IGdldChyb3V0ZSwgJ2RhdGEuY29udGV4dERhdGEnKSB8fCBnZXQocm91dGUsICdwYXJlbnQuZGF0YS5jb250ZXh0RGF0YScpO1xuICAgIGNvbnN0IHN1cHBvcnRlZE9wZXJhdGlvbnMgPSBnZXQoY29udGV4dERhdGEsIFNVUFBPUlRFRF9PUEVSQVRJT05TX0ZSQUdNRU5UKTtcbiAgICByZXR1cm4gISFzdXBwb3J0ZWRPcGVyYXRpb25zXG4gICAgICA/IGluZGV4T2Yoc3VwcG9ydGVkT3BlcmF0aW9ucywgRklSTVdBUkVfRlJBR01FTlQpID49IDBcbiAgICAgIDogZmFsc2U7XG4gIH1cbn1cbiJdfQ==
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlybXdhcmUtZGV2aWNlLXRhYi5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3JlcG9zaXRvcnkvZmlybXdhcmUtZGV2aWNlLXRhYi9maXJtd2FyZS1kZXZpY2UtdGFiLmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRTlDLE1BQU0saUJBQWlCLEdBQUcsY0FBYyxDQUFDO0FBQ3pDLE1BQU0sNkJBQTZCLEdBQUcseUJBQXlCLENBQUM7QUFHaEUsTUFBTSxPQUFPLHNCQUFzQjtJQUNqQyxXQUFXLENBQUMsS0FBSztRQUNmLE1BQU0sV0FBVyxHQUFHLEdBQUcsQ0FBQyxLQUFLLEVBQUUsa0JBQWtCLENBQUMsSUFBSSxHQUFHLENBQUMsS0FBSyxFQUFFLHlCQUF5QixDQUFDLENBQUM7UUFDNUYsTUFBTSxtQkFBbUIsR0FBRyxHQUFHLENBQUMsV0FBVyxFQUFFLDZCQUE2QixDQUFDLENBQUM7UUFDNUUsT0FBTyxDQUNMLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsbUJBQW1CLEVBQUUsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztZQUN0RixHQUFHLENBQUMsV0FBVyxFQUFFLGNBQWMsQ0FBQyxDQUNqQyxDQUFDO0lBQ0osQ0FBQzs7O1lBVEYsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENhbkFjdGl2YXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGdldCwgaGFzLCBpbmRleE9mIH0gZnJvbSAnbG9kYXNoLWVzJztcblxuY29uc3QgRklSTVdBUkVfRlJBR01FTlQgPSAnYzh5X0Zpcm13YXJlJztcbmNvbnN0IFNVUFBPUlRFRF9PUEVSQVRJT05TX0ZSQUdNRU5UID0gJ2M4eV9TdXBwb3J0ZWRPcGVyYXRpb25zJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEZpcm13YXJlRGV2aWNlVGFiR3VhcmQgaW1wbGVtZW50cyBDYW5BY3RpdmF0ZSB7XG4gIGNhbkFjdGl2YXRlKHJvdXRlKSB7XG4gICAgY29uc3QgY29udGV4dERhdGEgPSBnZXQocm91dGUsICdkYXRhLmNvbnRleHREYXRhJykgfHwgZ2V0KHJvdXRlLCAncGFyZW50LmRhdGEuY29udGV4dERhdGEnKTtcbiAgICBjb25zdCBzdXBwb3J0ZWRPcGVyYXRpb25zID0gZ2V0KGNvbnRleHREYXRhLCBTVVBQT1JURURfT1BFUkFUSU9OU19GUkFHTUVOVCk7XG4gICAgcmV0dXJuIChcbiAgICAgICghIXN1cHBvcnRlZE9wZXJhdGlvbnMgPyBpbmRleE9mKHN1cHBvcnRlZE9wZXJhdGlvbnMsIEZJUk1XQVJFX0ZSQUdNRU5UKSA+PSAwIDogZmFsc2UpIHx8XG4gICAgICBoYXMoY29udGV4dERhdGEsICdjOHlfRmlybXdhcmUnKVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -1,9 +1,15 @@
1
1
  import { Component, Output, Input, EventEmitter } from '@angular/core';
2
- import { filter } from 'lodash-es';
2
+ import { filter, get } from 'lodash-es';
3
3
  export class DeviceSoftwareListComponent {
4
4
  constructor() {
5
5
  this.update = new EventEmitter();
6
6
  this.remove = new EventEmitter();
7
+ this.supportsSoftwareOperations = false;
8
+ this.operationTypes = ['c8y_SoftwareUpdate', 'c8y_SoftwareList', 'c8y_Software'];
9
+ }
10
+ ngOnInit() {
11
+ const supportedOperations = get(this.device, 'c8y_SupportedOperations', []);
12
+ this.supportsSoftwareOperations = this.operationTypes.some(operationType => supportedOperations.indexOf(operationType) > -1);
7
13
  }
8
14
  ngAfterContentInit() {
9
15
  this.showUpdate = this.update.observers.length > 0;
@@ -17,13 +23,14 @@ export class DeviceSoftwareListComponent {
17
23
  DeviceSoftwareListComponent.decorators = [
18
24
  { type: Component, args: [{
19
25
  selector: 'c8y-device-software-list',
20
- template: "<c8y-list-group class=\"no-border-last\">\n <c8y-li\n [ngClass]=\"{ disabled: isSoftwareGoingToBeChanged(software) }\"\n *ngFor=\"let software of softwareList\"\n >\n <!-- SOFTWARE ICON -->\n <c8y-li-icon>\n <i c8yIcon=\"c8y-tools\"></i>\n </c8y-li-icon>\n\n <c8y-li-body class=\"content-flex-20\">\n <div title=\"{{ software.name }}\" class=\"col-8\">\n <!-- SOFTWARE NAME -->\n <p class=\"text-truncate\">{{ software.name }}</p>\n <!-- SOFTWARE VERSION -->\n <p class=\"text-truncate\">\n <span class=\"text-label-small m-r-4\" translate>\n Version\n </span>\n <span title=\"{{ software.version }}\">\n {{ software.version }}\n </span>\n </p>\n </div>\n\n <div *ngIf=\"showUpdate || showRemove\" class=\"col-4 text-right\">\n <!-- UPDATE SOFTWARE -->\n <button\n *ngIf=\"showUpdate && !isSoftwareGoingToBeChanged(software)\"\n class=\"btn btn-default btn-xs showOnHover\"\n (click)=\"update.emit(software)\"\n title=\"{{ 'Update`software,verb`' | translate }}\"\n translate\n >\n Update\n </button>\n\n <!-- REMOVE SOFTWARE -->\n <button\n *ngIf=\"showRemove && !isSoftwareGoingToBeChanged(software)\"\n title=\"{{ 'Remove`software`' | translate }}\"\n class=\"showOnHover btn btn-dot pull-right\"\n (click)=\"remove.emit(software)\"\n >\n <i c8yIcon=\"minus-circle\" class=\"text-danger\"></i>\n </button>\n </div>\n </c8y-li-body>\n </c8y-li>\n</c8y-list-group>\n"
26
+ template: "<c8y-list-group class=\"no-border-last\">\n <c8y-li\n [ngClass]=\"{ disabled: isSoftwareGoingToBeChanged(software) }\"\n *ngFor=\"let software of softwareList\"\n >\n <!-- SOFTWARE ICON -->\n <c8y-li-icon>\n <i c8yIcon=\"c8y-tools\"></i>\n </c8y-li-icon>\n\n <c8y-li-body class=\"content-flex-20\">\n <div title=\"{{ software.name }}\" class=\"col-8\">\n <!-- SOFTWARE NAME -->\n <p class=\"text-truncate\">{{ software.name }}</p>\n <!-- SOFTWARE VERSION -->\n <p class=\"text-truncate\">\n <span class=\"text-label-small m-r-4\" translate>\n Version\n </span>\n <span title=\"{{ software.version }}\">\n {{ software.version }}\n </span>\n </p>\n </div>\n\n <div\n *ngIf=\"supportsSoftwareOperations && (showUpdate || showRemove)\"\n class=\"col-4 text-right\"\n >\n <!-- UPDATE SOFTWARE -->\n <button\n *ngIf=\"showUpdate && !isSoftwareGoingToBeChanged(software)\"\n class=\"btn btn-default btn-xs showOnHover\"\n (click)=\"update.emit(software)\"\n title=\"{{ 'Update`software,verb`' | translate }}\"\n translate\n >\n Update\n </button>\n\n <!-- REMOVE SOFTWARE -->\n <button\n *ngIf=\"showRemove && !isSoftwareGoingToBeChanged(software)\"\n title=\"{{ 'Remove`software`' | translate }}\"\n class=\"showOnHover btn btn-dot pull-right\"\n (click)=\"remove.emit(software)\"\n >\n <i c8yIcon=\"minus-circle\" class=\"text-danger\"></i>\n </button>\n </div>\n </c8y-li-body>\n </c8y-li>\n</c8y-list-group>\n"
21
27
  },] }
22
28
  ];
23
29
  DeviceSoftwareListComponent.propDecorators = {
24
30
  softwareList: [{ type: Input }],
31
+ device: [{ type: Input }],
25
32
  deviceSoftwareChanges: [{ type: Input }],
26
33
  update: [{ type: Output }],
27
34
  remove: [{ type: Output }]
28
35
  };
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2aWNlLXNvZnR3YXJlLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcmVwb3NpdG9yeS9zb2Z0d2FyZS1kZXZpY2UtdGFiL2RldmljZS1zb2Z0d2FyZS1saXN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFRbkMsTUFBTSxPQUFPLDJCQUEyQjtJQUp4QztRQU9ZLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBa0IsQ0FBQztRQUM1QyxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQWtCLENBQUM7SUFheEQsQ0FBQztJQVRDLGtCQUFrQjtRQUNoQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCwwQkFBMEIsQ0FBQyxRQUF3QjtRQUNqRCxNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLHFCQUFxQixFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3JFLE9BQU8sZUFBZSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDcEMsQ0FBQzs7O1lBcEJGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsMEJBQTBCO2dCQUNwQyw0b0RBQWtEO2FBQ25EOzs7MkJBRUUsS0FBSztvQ0FDTCxLQUFLO3FCQUNMLE1BQU07cUJBQ04sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT3V0cHV0LCBJbnB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgT3BlcmF0aW9uU3RhdHVzIH0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHsgRGV2aWNlU29mdHdhcmUsIERldmljZVNvZnR3YXJlQ2hhbmdlIH0gZnJvbSAnLi4vcmVwb3NpdG9yeS5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2M4eS1kZXZpY2Utc29mdHdhcmUtbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnZGV2aWNlLXNvZnR3YXJlLWxpc3QuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIERldmljZVNvZnR3YXJlTGlzdENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHNvZnR3YXJlTGlzdDogRGV2aWNlU29mdHdhcmVbXTtcbiAgQElucHV0KCkgZGV2aWNlU29mdHdhcmVDaGFuZ2VzOiBEZXZpY2VTb2Z0d2FyZUNoYW5nZVtdO1xuICBAT3V0cHV0KCkgdXBkYXRlID0gbmV3IEV2ZW50RW1pdHRlcjxEZXZpY2VTb2Z0d2FyZT4oKTtcbiAgQE91dHB1dCgpIHJlbW92ZSA9IG5ldyBFdmVudEVtaXR0ZXI8RGV2aWNlU29mdHdhcmU+KCk7XG4gIHNob3dVcGRhdGU6IGJvb2xlYW47XG4gIHNob3dSZW1vdmU6IGJvb2xlYW47XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgIHRoaXMuc2hvd1VwZGF0ZSA9IHRoaXMudXBkYXRlLm9ic2VydmVycy5sZW5ndGggPiAwO1xuICAgIHRoaXMuc2hvd1JlbW92ZSA9IHRoaXMucmVtb3ZlLm9ic2VydmVycy5sZW5ndGggPiAwO1xuICB9XG5cbiAgaXNTb2Z0d2FyZUdvaW5nVG9CZUNoYW5nZWQoc29mdHdhcmU6IERldmljZVNvZnR3YXJlKTogYm9vbGVhbiB7XG4gICAgY29uc3QgcmVsZXZhbnRDaGFuZ2VzID0gZmlsdGVyKHRoaXMuZGV2aWNlU29mdHdhcmVDaGFuZ2VzLCBzb2Z0d2FyZSk7XG4gICAgcmV0dXJuIHJlbGV2YW50Q2hhbmdlcy5sZW5ndGggPiAwO1xuICB9XG59XG4iXX0=
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2aWNlLXNvZnR3YXJlLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcmVwb3NpdG9yeS9zb2Z0d2FyZS1kZXZpY2UtdGFiL2RldmljZS1zb2Z0d2FyZS1saXN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9FLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBT3hDLE1BQU0sT0FBTywyQkFBMkI7SUFKeEM7UUFRWSxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQWtCLENBQUM7UUFDNUMsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFrQixDQUFDO1FBR3RELCtCQUEwQixHQUFZLEtBQUssQ0FBQztRQUUzQixtQkFBYyxHQUFHLENBQUMsb0JBQW9CLEVBQUUsa0JBQWtCLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFrQi9GLENBQUM7SUFoQkMsUUFBUTtRQUNOLE1BQU0sbUJBQW1CLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUseUJBQXlCLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDNUUsSUFBSSxDQUFDLDBCQUEwQixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUN4RCxhQUFhLENBQUMsRUFBRSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FDakUsQ0FBQztJQUNKLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsMEJBQTBCLENBQUMsUUFBd0I7UUFDakQsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNyRSxPQUFPLGVBQWUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7OztZQS9CRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLDBCQUEwQjtnQkFDcEMsc3NEQUFrRDthQUNuRDs7OzJCQUVFLEtBQUs7cUJBQ0wsS0FBSztvQ0FDTCxLQUFLO3FCQUNMLE1BQU07cUJBQ04sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBPdXRwdXQsIElucHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElNYW5hZ2VkT2JqZWN0IH0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHsgZmlsdGVyLCBnZXQgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgRGV2aWNlU29mdHdhcmUsIERldmljZVNvZnR3YXJlQ2hhbmdlIH0gZnJvbSAnLi4vcmVwb3NpdG9yeS5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2M4eS1kZXZpY2Utc29mdHdhcmUtbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnZGV2aWNlLXNvZnR3YXJlLWxpc3QuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIERldmljZVNvZnR3YXJlTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHNvZnR3YXJlTGlzdDogRGV2aWNlU29mdHdhcmVbXTtcbiAgQElucHV0KCkgZGV2aWNlOiBJTWFuYWdlZE9iamVjdDtcbiAgQElucHV0KCkgZGV2aWNlU29mdHdhcmVDaGFuZ2VzOiBEZXZpY2VTb2Z0d2FyZUNoYW5nZVtdO1xuICBAT3V0cHV0KCkgdXBkYXRlID0gbmV3IEV2ZW50RW1pdHRlcjxEZXZpY2VTb2Z0d2FyZT4oKTtcbiAgQE91dHB1dCgpIHJlbW92ZSA9IG5ldyBFdmVudEVtaXR0ZXI8RGV2aWNlU29mdHdhcmU+KCk7XG4gIHNob3dVcGRhdGU6IGJvb2xlYW47XG4gIHNob3dSZW1vdmU6IGJvb2xlYW47XG4gIHN1cHBvcnRzU29mdHdhcmVPcGVyYXRpb25zOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBvcGVyYXRpb25UeXBlcyA9IFsnYzh5X1NvZnR3YXJlVXBkYXRlJywgJ2M4eV9Tb2Z0d2FyZUxpc3QnLCAnYzh5X1NvZnR3YXJlJ107XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgY29uc3Qgc3VwcG9ydGVkT3BlcmF0aW9ucyA9IGdldCh0aGlzLmRldmljZSwgJ2M4eV9TdXBwb3J0ZWRPcGVyYXRpb25zJywgW10pO1xuICAgIHRoaXMuc3VwcG9ydHNTb2Z0d2FyZU9wZXJhdGlvbnMgPSB0aGlzLm9wZXJhdGlvblR5cGVzLnNvbWUoXG4gICAgICBvcGVyYXRpb25UeXBlID0+IHN1cHBvcnRlZE9wZXJhdGlvbnMuaW5kZXhPZihvcGVyYXRpb25UeXBlKSA+IC0xXG4gICAgKTtcbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICB0aGlzLnNob3dVcGRhdGUgPSB0aGlzLnVwZGF0ZS5vYnNlcnZlcnMubGVuZ3RoID4gMDtcbiAgICB0aGlzLnNob3dSZW1vdmUgPSB0aGlzLnJlbW92ZS5vYnNlcnZlcnMubGVuZ3RoID4gMDtcbiAgfVxuXG4gIGlzU29mdHdhcmVHb2luZ1RvQmVDaGFuZ2VkKHNvZnR3YXJlOiBEZXZpY2VTb2Z0d2FyZSk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHJlbGV2YW50Q2hhbmdlcyA9IGZpbHRlcih0aGlzLmRldmljZVNvZnR3YXJlQ2hhbmdlcywgc29mdHdhcmUpO1xuICAgIHJldHVybiByZWxldmFudENoYW5nZXMubGVuZ3RoID4gMDtcbiAgfVxufVxuIl19