barsa-novin-ray-core 2.2.63 → 2.2.64

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -19,7 +19,7 @@ export class BaseColumnPropsComponent extends BaseComponent {
19
19
  this.changeToEditMode.emit(this._el.nativeElement);
20
20
  }
21
21
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BaseColumnPropsComponent, deps: [{ token: i1.ColumnService, optional: true, self: true }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
22
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: BaseColumnPropsComponent, selector: "bnrc-base-column-props", inputs: { allColumns: "allColumns", column: "column", attachmentViewType: "attachmentViewType", mo: "mo", index: "index", editMode: "editMode", isMobile: "isMobile", customRowHeight: "customRowHeight", controlUi: "controlUi", formLayoutShowLabel: "formLayoutShowLabel", isChecked: "isChecked", isdirty: "isdirty", isNewInlineMo: "isNewInlineMo", layout94: "layout94", detailsComponentSetting: "detailsComponentSetting", value: "value", icon: "icon", rtl: "rtl", deviceName: "deviceName", deviceSize: "deviceSize", customComponent: "customComponent" }, outputs: { save: "save", cancel: "cancel", tab: "tab", changeToEditMode: "changeToEditMode" }, usesInheritance: true, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
22
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: BaseColumnPropsComponent, selector: "bnrc-base-column-props", inputs: { allColumns: "allColumns", column: "column", attachmentViewType: "attachmentViewType", mo: "mo", index: "index", editMode: "editMode", isMobile: "isMobile", customRowHeight: "customRowHeight", controlUi: "controlUi", formLayoutShowLabel: "formLayoutShowLabel", isChecked: "isChecked", isdirty: "isdirty", isNewInlineMo: "isNewInlineMo", layout94: "layout94", detailsComponentSetting: "detailsComponentSetting", value: "value", icon: "icon", rtl: "rtl", cellEdit: "cellEdit", deviceName: "deviceName", deviceSize: "deviceSize", customComponent: "customComponent" }, outputs: { save: "save", cancel: "cancel", tab: "tab", changeToEditMode: "changeToEditMode" }, usesInheritance: true, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
23
23
  }
24
24
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BaseColumnPropsComponent, decorators: [{
25
25
  type: Component,
@@ -77,6 +77,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
77
77
  type: Input
78
78
  }], rtl: [{
79
79
  type: Input
80
+ }], cellEdit: [{
81
+ type: Input
80
82
  }], deviceName: [{
81
83
  type: Input
82
84
  }], deviceSize: [{
@@ -84,4 +86,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
84
86
  }], customComponent: [{
85
87
  type: Input
86
88
  }] } });
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb2x1bW4tcHJvcHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL2Fic3RyYWN0LWNsYXNzZXMvYmFzZS1jb2x1bW4tcHJvcHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILHVCQUF1QixFQUN2QixTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFFTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLElBQUksRUFDUCxNQUFNLGVBQWUsQ0FBQztBQVd2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFakQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7O0FBT2pDLE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxhQUFhO0lBMkJ2RCxZQUFnQyxjQUE2QixFQUFZLEdBQWU7UUFDcEYsS0FBSyxFQUFFLENBQUM7UUFENkQsUUFBRyxHQUFILEdBQUcsQ0FBWTtRQTFCOUUsU0FBSSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDL0IsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDakMsUUFBRyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDOUIscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQXlCakQsY0FBYyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUM5RSxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxxQkFBcUI7UUFDakIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7K0dBcENRLHdCQUF3QjttR0FBeEIsd0JBQXdCLDR0QkFKdkIsRUFBRTs7NEZBSUgsd0JBQXdCO2tCQU5wQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx3QkFBd0I7b0JBQ2xDLFFBQVEsRUFBRSxFQUFFO29CQUNaLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxVQUFVLEVBQUUsS0FBSztpQkFDcEI7OzBCQTRCZ0IsUUFBUTs7MEJBQUksSUFBSTtrRUExQm5CLElBQUk7c0JBQWIsTUFBTTtnQkFDRyxNQUFNO3NCQUFmLE1BQU07Z0JBQ0csR0FBRztzQkFBWixNQUFNO2dCQUNHLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFDRSxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csRUFBRTtzQkFBVixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csdUJBQXVCO3NCQUEvQixLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIEFmdGVyVmlld0luaXQsXHJcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICAgIENvbXBvbmVudCxcclxuICAgIEVsZW1lbnRSZWYsXHJcbiAgICBFdmVudEVtaXR0ZXIsXHJcbiAgICBJbnB1dCxcclxuICAgIE9uQ2hhbmdlcyxcclxuICAgIE9wdGlvbmFsLFxyXG4gICAgT3V0cHV0LFxyXG4gICAgU2VsZlxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHtcclxuICAgIE1ldGFvYmplY3REYXRhTW9kZWwsXHJcbiAgICBMYXlvdXRTZXR0aW5nLFxyXG4gICAgQWJicmV2YXRpb25EZXZpY2VTaXplLFxyXG4gICAgRWpyYXlPbGdvLFxyXG4gICAgUmVwb3J0Vmlld0NvbHVtbixcclxuICAgIFVpUmVwb3J0Vmlld0Jhc2VTZXR0aW5nLFxyXG4gICAgRGV2aWNlU2l6ZVxyXG59IGZyb20gJy4uL2Fic3RyYWN0LWNsYXNzZXMnO1xyXG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9iYXNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbHVtblNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYm5yYy1iYXNlLWNvbHVtbi1wcm9wcycsXHJcbiAgICB0ZW1wbGF0ZTogYGAsXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCYXNlQ29sdW1uUHJvcHNDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25DaGFuZ2VzIHtcclxuICAgIEBPdXRwdXQoKSBzYXZlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgICBAT3V0cHV0KCkgY2FuY2VsID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgICBAT3V0cHV0KCkgdGFiID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgICBAT3V0cHV0KCkgY2hhbmdlVG9FZGl0TW9kZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gICAgQElucHV0KCkgYWxsQ29sdW1uczogUmVwb3J0Vmlld0NvbHVtbltdO1xyXG4gICAgQElucHV0KCkgY29sdW1uOiBhbnk7XHJcbiAgICBASW5wdXQoKSBhdHRhY2htZW50Vmlld1R5cGU6IG51bWJlcjtcclxuICAgIEBJbnB1dCgpIG1vOiBNZXRhb2JqZWN0RGF0YU1vZGVsO1xyXG4gICAgQElucHV0KCkgaW5kZXg6IGFueTtcclxuICAgIEBJbnB1dCgpIGVkaXRNb2RlOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgaXNNb2JpbGU6IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSBjdXN0b21Sb3dIZWlnaHQ6IGFueTtcclxuICAgIEBJbnB1dCgpIGNvbnRyb2xVaTogTGF5b3V0U2V0dGluZyB8IG51bGw7XHJcbiAgICBASW5wdXQoKSBmb3JtTGF5b3V0U2hvd0xhYmVsOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgaXNDaGVja2VkOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgaXNkaXJ0eTogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIGlzTmV3SW5saW5lTW86IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSBsYXlvdXQ5NDogTGF5b3V0U2V0dGluZztcclxuICAgIEBJbnB1dCgpIGRldGFpbHNDb21wb25lbnRTZXR0aW5nOiBVaVJlcG9ydFZpZXdCYXNlU2V0dGluZztcclxuXHJcbiAgICBASW5wdXQoKSB2YWx1ZTogYW55O1xyXG4gICAgQElucHV0KCkgaWNvbjogYW55O1xyXG4gICAgQElucHV0KCkgcnRsOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgZGV2aWNlTmFtZTogRGV2aWNlU2l6ZTtcclxuICAgIEBJbnB1dCgpIGRldmljZVNpemU6IEFiYnJldmF0aW9uRGV2aWNlU2l6ZTtcclxuICAgIEBJbnB1dCgpIGN1c3RvbUNvbXBvbmVudDogRWpyYXlPbGdvIHwgbnVsbDtcclxuICAgIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIEBTZWxmKCkgX2NvbHVtblNlcnZpY2U6IENvbHVtblNlcnZpY2UsIHByb3RlY3RlZCBfZWw6IEVsZW1lbnRSZWYpIHtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgICAgIF9jb2x1bW5TZXJ2aWNlLnVpQ29udHJvbFJlbmRlcmVkLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLl9jYWxsQ2hhbmdlVG9FZGl0TW9kZSgpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIF9jYWxsQ2hhbmdlVG9FZGl0TW9kZSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmNoYW5nZVRvRWRpdE1vZGUuZW1pdCh0aGlzLl9lbC5uYXRpdmVFbGVtZW50KTtcclxuICAgIH1cclxufVxyXG4iXX0=
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb2x1bW4tcHJvcHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL2Fic3RyYWN0LWNsYXNzZXMvYmFzZS1jb2x1bW4tcHJvcHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILHVCQUF1QixFQUN2QixTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFFTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLElBQUksRUFDUCxNQUFNLGVBQWUsQ0FBQztBQVd2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFakQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7O0FBT2pDLE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxhQUFhO0lBNEJ2RCxZQUFnQyxjQUE2QixFQUFZLEdBQWU7UUFDcEYsS0FBSyxFQUFFLENBQUM7UUFENkQsUUFBRyxHQUFILEdBQUcsQ0FBWTtRQTNCOUUsU0FBSSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDL0IsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDakMsUUFBRyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDOUIscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQTBCakQsY0FBYyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUM5RSxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxxQkFBcUI7UUFDakIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7K0dBckNRLHdCQUF3QjttR0FBeEIsd0JBQXdCLGt2QkFKdkIsRUFBRTs7NEZBSUgsd0JBQXdCO2tCQU5wQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx3QkFBd0I7b0JBQ2xDLFFBQVEsRUFBRSxFQUFFO29CQUNaLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxVQUFVLEVBQUUsS0FBSztpQkFDcEI7OzBCQTZCZ0IsUUFBUTs7MEJBQUksSUFBSTtrRUEzQm5CLElBQUk7c0JBQWIsTUFBTTtnQkFDRyxNQUFNO3NCQUFmLE1BQU07Z0JBQ0csR0FBRztzQkFBWixNQUFNO2dCQUNHLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFDRSxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csRUFBRTtzQkFBVixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csdUJBQXVCO3NCQUEvQixLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgQWZ0ZXJWaWV3SW5pdCxcclxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgRWxlbWVudFJlZixcclxuICAgIEV2ZW50RW1pdHRlcixcclxuICAgIElucHV0LFxyXG4gICAgT25DaGFuZ2VzLFxyXG4gICAgT3B0aW9uYWwsXHJcbiAgICBPdXRwdXQsXHJcbiAgICBTZWxmXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQge1xyXG4gICAgTWV0YW9iamVjdERhdGFNb2RlbCxcclxuICAgIExheW91dFNldHRpbmcsXHJcbiAgICBBYmJyZXZhdGlvbkRldmljZVNpemUsXHJcbiAgICBFanJheU9sZ28sXHJcbiAgICBSZXBvcnRWaWV3Q29sdW1uLFxyXG4gICAgVWlSZXBvcnRWaWV3QmFzZVNldHRpbmcsXHJcbiAgICBEZXZpY2VTaXplXHJcbn0gZnJvbSAnLi4vYWJzdHJhY3QtY2xhc3Nlcyc7XHJcbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tICcuL2Jhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29sdW1uU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzJztcclxuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdibnJjLWJhc2UtY29sdW1uLXByb3BzJyxcclxuICAgIHRlbXBsYXRlOiBgYCxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgc3RhbmRhbG9uZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIEJhc2VDb2x1bW5Qcm9wc0NvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMge1xyXG4gICAgQE91dHB1dCgpIHNhdmUgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICAgIEBPdXRwdXQoKSBjYW5jZWwgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICAgIEBPdXRwdXQoKSB0YWIgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICAgIEBPdXRwdXQoKSBjaGFuZ2VUb0VkaXRNb2RlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgICBASW5wdXQoKSBhbGxDb2x1bW5zOiBSZXBvcnRWaWV3Q29sdW1uW107XHJcbiAgICBASW5wdXQoKSBjb2x1bW46IGFueTtcclxuICAgIEBJbnB1dCgpIGF0dGFjaG1lbnRWaWV3VHlwZTogbnVtYmVyO1xyXG4gICAgQElucHV0KCkgbW86IE1ldGFvYmplY3REYXRhTW9kZWw7XHJcbiAgICBASW5wdXQoKSBpbmRleDogYW55O1xyXG4gICAgQElucHV0KCkgZWRpdE1vZGU6IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSBpc01vYmlsZTogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIGN1c3RvbVJvd0hlaWdodDogYW55O1xyXG4gICAgQElucHV0KCkgY29udHJvbFVpOiBMYXlvdXRTZXR0aW5nIHwgbnVsbDtcclxuICAgIEBJbnB1dCgpIGZvcm1MYXlvdXRTaG93TGFiZWw6IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSBpc0NoZWNrZWQ6IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSBpc2RpcnR5OiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgaXNOZXdJbmxpbmVNbzogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIGxheW91dDk0OiBMYXlvdXRTZXR0aW5nO1xyXG4gICAgQElucHV0KCkgZGV0YWlsc0NvbXBvbmVudFNldHRpbmc6IFVpUmVwb3J0Vmlld0Jhc2VTZXR0aW5nO1xyXG5cclxuICAgIEBJbnB1dCgpIHZhbHVlOiBhbnk7XHJcbiAgICBASW5wdXQoKSBpY29uOiBhbnk7XHJcbiAgICBASW5wdXQoKSBydGw6IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSBjZWxsRWRpdDogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIGRldmljZU5hbWU6IERldmljZVNpemU7XHJcbiAgICBASW5wdXQoKSBkZXZpY2VTaXplOiBBYmJyZXZhdGlvbkRldmljZVNpemU7XHJcbiAgICBASW5wdXQoKSBjdXN0b21Db21wb25lbnQ6IEVqcmF5T2xnbyB8IG51bGw7XHJcbiAgICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBAU2VsZigpIF9jb2x1bW5TZXJ2aWNlOiBDb2x1bW5TZXJ2aWNlLCBwcm90ZWN0ZWQgX2VsOiBFbGVtZW50UmVmKSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgICAgICBfY29sdW1uU2VydmljZS51aUNvbnRyb2xSZW5kZXJlZC5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5fY2FsbENoYW5nZVRvRWRpdE1vZGUoKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBfY2FsbENoYW5nZVRvRWRpdE1vZGUoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5jaGFuZ2VUb0VkaXRNb2RlLmVtaXQodGhpcy5fZWwubmF0aXZlRWxlbWVudCk7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -4,7 +4,7 @@ import { distinctUntilChanged, map, takeUntil } from 'rxjs/operators';
4
4
  import { BaseComponent } from './base.component';
5
5
  import { DIALOG_SERVICE } from '../injdection-tokens';
6
6
  import { BarsaApi } from './barsa-api';
7
- import { getDeviceIsMobile, getDeviceIsTablet } from '../constants';
7
+ import { getDeviceIsMobile, getDeviceIsTablet, getFocusableTagNames } from '../constants';
8
8
  import * as i0 from "@angular/core";
9
9
  import * as i1 from "../services";
10
10
  import * as i2 from "../pipes";
@@ -92,7 +92,7 @@ export class FieldBaseComponent extends BaseComponent {
92
92
  this._columnService?.controlRendered();
93
93
  if (this.focusControl) {
94
94
  const elDom = this._el.nativeElement;
95
- const focusableNodeList = elDom.querySelectorAll(' button, [href], input, select, textarea, [tabindex]:not([tabindex=”-1″])');
95
+ const focusableNodeList = elDom.querySelectorAll(getFocusableTagNames());
96
96
  let focused = false;
97
97
  focusableNodeList.forEach((el) => {
98
98
  const tagName = el.tagName.toLocaleLowerCase();
@@ -164,7 +164,7 @@ export class FieldBaseComponent extends BaseComponent {
164
164
  }
165
165
  }
166
166
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FieldBaseComponent, deps: [{ token: i1.PortalService }, { token: i2.BbbTranslatePipe }, { token: i2.PictureFieldSourcePipe }, { token: i2.NumeralPipe }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i3.ActivatedRoute }, { token: i4.DomSanitizer }, { token: DIALOG_SERVICE, optional: true }, { token: i1.UploadService, optional: true, self: true }, { token: i5.DateService, optional: true, self: true }, { token: i1.AudioRecordingService, optional: true, self: true }, { token: i1.VideoRecordingService, optional: true, self: true }, { token: i1.ColumnService, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
167
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FieldBaseComponent, selector: "bnrc-field-base", inputs: { context: "context", focusControl: "focusControl", layoutInfo: "layoutInfo", value: "value", width: "width", height: "height", formHeight: "formHeight", inlineEdit: "inlineEdit", formContainer: "formContainer", id: "id", parametes: "parametes" }, outputs: { valueChange: "valueChange", formmatedValue: "formmatedValue" }, host: { properties: { "class.isMobile": "this.isMobile", "class.isTablet": "this.isTablet" } }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
167
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FieldBaseComponent, selector: "bnrc-field-base", inputs: { context: "context", focusControl: "focusControl", layoutInfo: "layoutInfo", value: "value", width: "width", height: "height", formHeight: "formHeight", inlineEdit: "inlineEdit", cellEdit: "cellEdit", formContainer: "formContainer", id: "id", parametes: "parametes" }, outputs: { valueChange: "valueChange", formmatedValue: "formmatedValue" }, host: { properties: { "class.isMobile": "this.isMobile", "class.isTablet": "this.isTablet" } }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
168
168
  }
169
169
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FieldBaseComponent, decorators: [{
170
170
  type: Component,
@@ -213,6 +213,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
213
213
  type: Input
214
214
  }], inlineEdit: [{
215
215
  type: Input
216
+ }], cellEdit: [{
217
+ type: Input
216
218
  }], formContainer: [{
217
219
  type: Input
218
220
  }], id: [{
@@ -230,4 +232,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
230
232
  type: HostBinding,
231
233
  args: ['class.isTablet']
232
234
  }] } });
233
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLW5vdmluLXJheS1jb3JlL3NyYy9saWIvYWJzdHJhY3QtY2xhc3Nlcy9maWVsZC1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWixTQUFTLEVBTVQsdUJBQXVCLEVBRXZCLElBQUksRUFDSixRQUFRLEVBQ1IsTUFBTSxFQUNOLFdBQVcsRUFDZCxNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV0RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFakQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR3RELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFdkMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFDOzs7Ozs7O0FBNkJwRSxNQUFNLE9BQWdCLGtCQUFtQixTQUFRLGFBQWE7SUFtQzFELElBQUksZUFBZTtRQUNmLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDO0lBQ2hELENBQUM7SUFNRCxZQUNjLGNBQTZCLEVBQzdCLFFBQTBCLEVBQzFCLFlBQW9DLEVBQ3BDLFlBQXlCLEVBQ3pCLEdBQWUsRUFDZixJQUF1QixFQUN2QixVQUFxQixFQUNyQixlQUErQixFQUMvQixhQUEyQixFQUNTLGNBQW1CLEVBQ25DLGNBQTZCLEVBQzdCLFlBQXlCLEVBQ3pCLGNBQXFDLEVBQ3JDLGFBQW9DLEVBQzVDLGNBQTZCO1FBRW5ELEtBQUssRUFBRSxDQUFDO1FBaEJFLG1CQUFjLEdBQWQsY0FBYyxDQUFlO1FBQzdCLGFBQVEsR0FBUixRQUFRLENBQWtCO1FBQzFCLGlCQUFZLEdBQVosWUFBWSxDQUF3QjtRQUNwQyxpQkFBWSxHQUFaLFlBQVksQ0FBYTtRQUN6QixRQUFHLEdBQUgsR0FBRyxDQUFZO1FBQ2YsU0FBSSxHQUFKLElBQUksQ0FBbUI7UUFDdkIsZUFBVSxHQUFWLFVBQVUsQ0FBVztRQUNyQixvQkFBZSxHQUFmLGVBQWUsQ0FBZ0I7UUFDL0Isa0JBQWEsR0FBYixhQUFhLENBQWM7UUFDUyxtQkFBYyxHQUFkLGNBQWMsQ0FBSztRQUNuQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZTtRQUM3QixpQkFBWSxHQUFaLFlBQVksQ0FBYTtRQUN6QixtQkFBYyxHQUFkLGNBQWMsQ0FBdUI7UUFDckMsa0JBQWEsR0FBYixhQUFhLENBQXVCO1FBQzVDLG1CQUFjLEdBQWQsY0FBYyxDQUFlO1FBOUM3QyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDdEMsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ3BCLGFBQVEsR0FBRyxpQkFBaUIsRUFBRSxDQUFDO1FBQy9CLGFBQVEsR0FBRyxpQkFBaUIsRUFBRSxDQUFDO1FBVzlELGlCQUFZLEdBQVE7WUFDaEIsS0FBSyxFQUFFLFFBQVE7WUFDZixpQkFBaUIsRUFBRSxPQUFPO1lBQzFCLGdCQUFnQixFQUFFLFFBQVE7WUFDMUIsY0FBYyxFQUFFLElBQUk7WUFDcEIsWUFBWSxFQUFFO2dCQUNWLFNBQVMsRUFBRSxRQUFRO2FBQ3RCO1NBQ0osQ0FBQztRQUlNLG1CQUFjLEdBQUcsSUFBSSxPQUFPLEVBQU8sQ0FBQztRQUNwQyx3QkFBbUIsR0FBRyxJQUFJLE9BQU8sRUFBTyxDQUFDO1FBQ3pDLDBCQUFxQixHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQzVELDJCQUFzQixHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBb0JqRSxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztRQUNyRixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBQ3hGLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUM7UUFDbkQsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMscUJBQXFCO2FBQ3JDLFlBQVksRUFBRTthQUNkLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLG9CQUFvQixFQUFFLENBQUMsQ0FBQztRQUMvRCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxzQkFBc0I7YUFDdkMsWUFBWSxFQUFFO2FBQ2QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDO1FBQy9ELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDekUsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLEVBQUUsRUFBRSxDQUFDLE9BQU8sSUFBSSxRQUFRLENBQUMsRUFDakQsb0JBQW9CLEVBQUUsQ0FDekIsQ0FBQztRQUNGLElBQUksQ0FBQyxFQUFFLEdBQUcsR0FBRyxDQUFDO0lBQ2xCLENBQUM7SUFFRCxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUM7WUFDekMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUUxQixnQ0FBZ0M7WUFDaEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQzFELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDO1lBQ3hDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ25DLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDOUMseUdBQXlHO1lBQ3pHLDBCQUEwQjtZQUMxQiwyR0FBMkc7WUFDM0csSUFBSTtZQUNKLElBQUksQ0FBQyxhQUFhLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDdkcsQ0FBQztRQUNELElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBQ0QsV0FBVztRQUNQLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUNELGVBQWU7UUFDWCxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDZixJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDakMsQ0FBQztRQUNELElBQUksQ0FBQyxjQUFjLEVBQUUsZUFBZSxFQUFFLENBQUM7UUFDdkMsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDcEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUE0QixDQUFDO1lBQ3BELE1BQU0saUJBQWlCLEdBQTRCLEtBQUssQ0FBQyxnQkFBZ0IsQ0FDckUsMkVBQTJFLENBQzlFLENBQUM7WUFDRixJQUFJLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDcEIsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBZSxFQUFFLEVBQUU7Z0JBQzFDLE1BQU0sT0FBTyxHQUFXLEVBQUUsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztnQkFDdkQsSUFDSSxDQUFDLE9BQU87b0JBQ1IsRUFBRSxDQUFDLFdBQVcsR0FBRyxDQUFDO29CQUNsQixFQUFFLENBQUMsWUFBWSxHQUFHLENBQUM7b0JBQ25CLEVBQUUsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLEtBQUssTUFBTTtvQkFDdEMsRUFBRSxDQUFDLFlBQVksQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLE1BQU07b0JBQ2pELENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFDNUIsQ0FBQztvQkFDQyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUM7b0JBQ1gsT0FBTyxHQUFHLElBQUksQ0FBQztnQkFDbkIsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztJQUNMLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxLQUFhLEVBQUUsS0FBVSxFQUFFLE1BQVksRUFBRSxNQUFZO1FBQ2xFLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFDUyxnQkFBZ0I7UUFDdEIsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUN2QyxZQUFZLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsNkJBQTZCLENBQUM7UUFDakUsWUFBWSxDQUFDLFlBQVksSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsU0FBUyxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4RixZQUFZLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0QsWUFBWSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFDUyxZQUFZO1FBQ2xCLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUNaLG1CQUFtQixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztnQkFDOUMscUJBQXFCLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO2dCQUNsRCxzQkFBc0IsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7Z0JBQ3BELGNBQWMsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7Z0JBQzNDLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7YUFDL0MsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztJQUNMLENBQUM7SUFDUyxlQUFlO1FBQ3JCLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLHFCQUFxQixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUN2RCxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyx1QkFBdUIsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDM0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsd0JBQXdCLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQzdELElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUNwRCxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3pELENBQUM7SUFDTCxDQUFDO0lBQ1MsYUFBYSxDQUFDLE9BQU87UUFDM0Isa0NBQWtDO1FBQ2xDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUNTLFNBQVMsQ0FBQyxLQUFLO1FBQ3JCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBQ1MsV0FBVyxDQUFDLEtBQUs7UUFDdkIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBQ1MsV0FBVyxDQUFDLEtBQUssRUFBRSxZQUFZLEdBQUcsSUFBSTtRQUM1QyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZDLElBQUksWUFBWSxFQUFFLENBQUM7WUFDZixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzlCLENBQUM7SUFDTCxDQUFDO0lBQ1MsWUFBWSxDQUFDLEtBQUssRUFBRSxZQUFZLEdBQUcsSUFBSTtRQUM3QyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hDLElBQUksWUFBWSxFQUFFLENBQUM7WUFDZixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzlCLENBQUM7SUFDTCxDQUFDOytHQXhMaUIsa0JBQWtCLDhSQXFEWixjQUFjO21HQXJEcEIsa0JBQWtCLHlmQUoxQixFQUFFOzs0RkFJTSxrQkFBa0I7a0JBTnZDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsUUFBUSxFQUFFLEVBQUU7b0JBQ1osZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFVBQVUsRUFBRSxLQUFLO2lCQUNwQjs7MEJBc0RRLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsY0FBYzs7MEJBQ2pDLElBQUk7OzBCQUFJLFFBQVE7OzBCQUNoQixJQUFJOzswQkFBSSxRQUFROzswQkFDaEIsSUFBSTs7MEJBQUksUUFBUTs7MEJBQ2hCLElBQUk7OzBCQUFJLFFBQVE7OzBCQUNoQixRQUFRO3lDQXpESixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLEVBQUU7c0JBQVYsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNJLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTTtnQkFDd0IsUUFBUTtzQkFBdEMsV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBQ0UsUUFBUTtzQkFBdEMsV0FBVzt1QkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgSW5wdXQsXHJcbiAgICBPdXRwdXQsXHJcbiAgICBFdmVudEVtaXR0ZXIsXHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIEVsZW1lbnRSZWYsXHJcbiAgICBPbkluaXQsXHJcbiAgICBPbkRlc3Ryb3ksXHJcbiAgICBBZnRlclZpZXdJbml0LFxyXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgICBSZW5kZXJlcjIsXHJcbiAgICBTZWxmLFxyXG4gICAgT3B0aW9uYWwsXHJcbiAgICBJbmplY3QsXHJcbiAgICBIb3N0QmluZGluZ1xyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJy4vYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEYXRlU2VydmljZSB9IGZyb20gJy4uL2RhdGUtc2VydmljZXMnO1xyXG5pbXBvcnQgeyBESUFMT0dfU0VSVklDRSB9IGZyb20gJy4uL2luamRlY3Rpb24tdG9rZW5zJztcclxuaW1wb3J0IHsgQmJiVHJhbnNsYXRlUGlwZSwgTnVtZXJhbFBpcGUsIFBpY3R1cmVGaWVsZFNvdXJjZVBpcGUgfSBmcm9tICcuLi9waXBlcyc7XHJcbmltcG9ydCB7IEF1ZGlvUmVjb3JkaW5nU2VydmljZSwgQ29sdW1uU2VydmljZSwgUG9ydGFsU2VydmljZSwgVXBsb2FkU2VydmljZSwgVmlkZW9SZWNvcmRpbmdTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBCYXJzYUFwaSB9IGZyb20gJy4vYmFyc2EtYXBpJztcclxuaW1wb3J0IHsgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwsIEFiYnJldmF0aW9uRGV2aWNlU2l6ZSwgTWV0YW9iamVjdERhdGFNb2RlbCB9IGZyb20gJy4vbW9kZWxzJztcclxuaW1wb3J0IHsgZ2V0RGV2aWNlSXNNb2JpbGUsIGdldERldmljZUlzVGFibGV0IH0gZnJvbSAnLi4vY29uc3RhbnRzJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRmllbGRTZXR0aW5nIHtcclxuICAgIFtrZXk6IHN0cmluZ106IGFueTtcclxuICAgIENvbnRyb2xGaWVsZENhcHRpb246IHN0cmluZztcclxuICAgIENvbnRyb2xGaWVsZENhcHRpb25UcmFuc2xhdGVkOiBzdHJpbmc7XHJcbiAgICBDb250cm9sRmllbGREZWZJZDogc3RyaW5nO1xyXG4gICAgQ29udHJvbE5hbWU6IHN0cmluZztcclxuICAgIFJlbGF0ZWRGaWVsZExpc3Q6IFtdO1xyXG4gICAgSGlkZTogYm9vbGVhbjtcclxuICAgIHh0eXBlOiBzdHJpbmc7XHJcbiAgICBMYWJlbFBvc2l0aW9uOiBzdHJpbmc7XHJcbiAgICBJc01hbmRhdG9yeTogYm9vbGVhbjtcclxuICAgIElzVmlzaWJsZTogYm9vbGVhbjtcclxuICAgIFNob3dMYWJlbDogYm9vbGVhbjtcclxuICAgIElzUmVhZE9ubHk6IGJvb2xlYW47XHJcbiAgICBJc0VuYWJsZWQ6IGJvb2xlYW47XHJcbiAgICBJc0JvbGQ6IGJvb2xlYW47XHJcbiAgICBJc0F1dG9tYXRpYzogYm9vbGVhbjtcclxuICAgIEpzb25FeHRyYVByb3A6IGFueSB8IG51bGw7XHJcbiAgICBGaWVsZEljb246IHN0cmluZztcclxuICAgIElzTHRyOiBib29sZWFuO1xyXG59XHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdibnJjLWZpZWxkLWJhc2UnLFxyXG4gICAgdGVtcGxhdGU6ICcnLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBzdGFuZGFsb25lOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRmllbGRCYXNlQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdJbml0IHtcclxuICAgIEBJbnB1dCgpIGNvbnRleHQ6IGFueTtcclxuICAgIEBJbnB1dCgpIGZvY3VzQ29udHJvbDogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIGxheW91dEluZm86IGFueTtcclxuICAgIEBJbnB1dCgpIHZhbHVlOiBhbnk7XHJcbiAgICBASW5wdXQoKSB3aWR0aDogbnVtYmVyO1xyXG4gICAgQElucHV0KCkgaGVpZ2h0OiBudW1iZXI7XHJcbiAgICBASW5wdXQoKSBmb3JtSGVpZ2h0OiBudW1iZXI7XHJcbiAgICBASW5wdXQoKSBpbmxpbmVFZGl0OiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgZm9ybUNvbnRhaW5lcjogSFRNTEVsZW1lbnQ7XHJcbiAgICBASW5wdXQoKSBpZDogc3RyaW5nO1xyXG4gICAgQElucHV0KCkgcGFyYW1ldGVzOiBNZXRhb2JqZWN0RGF0YU1vZGVsO1xyXG4gICAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgICBAT3V0cHV0KCkgZm9ybW1hdGVkVmFsdWUgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaXNNb2JpbGUnKSBpc01vYmlsZSA9IGdldERldmljZUlzTW9iaWxlKCk7XHJcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlzVGFibGV0JykgaXNUYWJsZXQgPSBnZXREZXZpY2VJc1RhYmxldCgpO1xyXG4gICAgSnNvbkV4dHJhUHJvcDogYW55O1xyXG4gICAgcGFyYW1ldGVyczogYW55O1xyXG4gICAgU2V0dGluZzogR2VuZXJhbENvbnRyb2xJbmZvTW9kZWw7XHJcbiAgICByZWZyZXNoJDogT2JzZXJ2YWJsZTxhbnk+O1xyXG4gICAgdmFsdWUkOiBPYnNlcnZhYmxlPGFueT47XHJcbiAgICBkaXNhYmxlJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcclxuICAgIHJlYWRvbmx5JDogT2JzZXJ2YWJsZTxib29sZWFuPjtcclxuICAgIGRpc2FibGVPclJlYWRvbmx5JDogT2JzZXJ2YWJsZTxib29sZWFuPjtcclxuICAgIGRldmljZVNpemUkOiBPYnNlcnZhYmxlPEFiYnJldmF0aW9uRGV2aWNlU2l6ZT47XHJcbiAgICBlbDogYW55O1xyXG4gICAgbW9iaWxlQ29uZmlnOiBhbnkgPSB7XHJcbiAgICAgICAgdGl0bGU6ICfYp9mG2KrYrtin2KgnLFxyXG4gICAgICAgIGFwcHJvdmVCdXR0b25UZXh0OiAn2KrYp9uM24zYrycsXHJcbiAgICAgICAgY2FuY2VsQnV0dG9uVGV4dDogJ9in2YbYtdix2KfZgScsXHJcbiAgICAgICAgaGFzQ2xvc2VCdXR0b246IHRydWUsXHJcbiAgICAgICAgZGlhbG9nQ29uZmlnOiB7XHJcbiAgICAgICAgICAgIGFyaWFMYWJlbDogJ9in2YbYqtiu2KfYqCdcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgZ2V0IGN1c3RvbUZpZWxkSW5mbygpOiBNZXRhb2JqZWN0RGF0YU1vZGVsIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jb250ZXh0LlNldHRpbmcuQ3VzdG9tRmllbGRJbmZvO1xyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSBfcmVmcmVzaFNvdXJjZSA9IG5ldyBTdWJqZWN0PGFueT4oKTtcclxuICAgIHByaXZhdGUgX3ZhbHVlQ2hhbmdlZFNvdXJjZSA9IG5ldyBTdWJqZWN0PGFueT4oKTtcclxuICAgIHByaXZhdGUgX2Rpc2FibGVDaGFuZ2VkU291cmNlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XHJcbiAgICBwcml2YXRlIF9yZWFkb25seUNoYW5nZWRTb3VyY2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcm90ZWN0ZWQgX3BvcnRhbFNlcnZpY2U6IFBvcnRhbFNlcnZpY2UsXHJcbiAgICAgICAgcHJvdGVjdGVkIF9iYmJQaXBlOiBCYmJUcmFuc2xhdGVQaXBlLFxyXG4gICAgICAgIHByb3RlY3RlZCBfcGljRmllbGRTcmM6IFBpY3R1cmVGaWVsZFNvdXJjZVBpcGUsXHJcbiAgICAgICAgcHJvdGVjdGVkIF9udW1lcmFsUGlwZTogTnVtZXJhbFBpcGUsXHJcbiAgICAgICAgcHJvdGVjdGVkIF9lbDogRWxlbWVudFJlZixcclxuICAgICAgICBwcm90ZWN0ZWQgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICAgICAgcHJvdGVjdGVkIF9yZW5kZXJlcjI6IFJlbmRlcmVyMixcclxuICAgICAgICBwcm90ZWN0ZWQgX2FjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcclxuICAgICAgICBwcm90ZWN0ZWQgX2RvbVNhbml0aXplcjogRG9tU2FuaXRpemVyLFxyXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoRElBTE9HX1NFUlZJQ0UpIHByb3RlY3RlZCBfZGlhbG9nU2VydmljZTogYW55LFxyXG4gICAgICAgIEBTZWxmKCkgQE9wdGlvbmFsKCkgcHJvdGVjdGVkIF91cGxvYWRTZXJ2aWNlOiBVcGxvYWRTZXJ2aWNlLFxyXG4gICAgICAgIEBTZWxmKCkgQE9wdGlvbmFsKCkgcHJvdGVjdGVkIF9kYXRlU2VydmljZTogRGF0ZVNlcnZpY2UsXHJcbiAgICAgICAgQFNlbGYoKSBAT3B0aW9uYWwoKSBwcm90ZWN0ZWQgX2F1ZGlvUmVjb3JkZXI6IEF1ZGlvUmVjb3JkaW5nU2VydmljZSxcclxuICAgICAgICBAU2VsZigpIEBPcHRpb25hbCgpIHByb3RlY3RlZCBfdmlkZW9SZWNvZGVyOiBWaWRlb1JlY29yZGluZ1NlcnZpY2UsXHJcbiAgICAgICAgQE9wdGlvbmFsKCkgcHJvdGVjdGVkIF9jb2x1bW5TZXJ2aWNlOiBDb2x1bW5TZXJ2aWNlXHJcbiAgICApIHtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgICAgIHRoaXMucmVmcmVzaCQgPSB0aGlzLl9yZWZyZXNoU291cmNlLmFzT2JzZXJ2YWJsZSgpLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKTtcclxuICAgICAgICB0aGlzLnZhbHVlJCA9IHRoaXMuX3ZhbHVlQ2hhbmdlZFNvdXJjZS5hc09ic2VydmFibGUoKS5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSk7XHJcbiAgICAgICAgdGhpcy5kZXZpY2VTaXplJCA9IHRoaXMuX3BvcnRhbFNlcnZpY2UuZGV2aWNlU2l6ZSQ7XHJcbiAgICAgICAgdGhpcy5kaXNhYmxlJCA9IHRoaXMuX2Rpc2FibGVDaGFuZ2VkU291cmNlXHJcbiAgICAgICAgICAgIC5hc09ic2VydmFibGUoKVxyXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xyXG4gICAgICAgIHRoaXMucmVhZG9ubHkkID0gdGhpcy5fcmVhZG9ubHlDaGFuZ2VkU291cmNlXHJcbiAgICAgICAgICAgIC5hc09ic2VydmFibGUoKVxyXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xyXG4gICAgICAgIHRoaXMuZGlzYWJsZU9yUmVhZG9ubHkkID0gY29tYmluZUxhdGVzdChbdGhpcy5yZWFkb25seSQsIHRoaXMuZGlzYWJsZSRdKS5waXBlKFxyXG4gICAgICAgICAgICBtYXAoKFtkaXNhYmxlLCByZWFkb25seV0pID0+IGRpc2FibGUgfHwgcmVhZG9ubHkpLFxyXG4gICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLmVsID0gX2VsO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICAgICAgaWYgKHRoaXMuY29udGV4dCkge1xyXG4gICAgICAgICAgICB0aGlzLmNvbnRleHQuZG9tID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xyXG4gICAgICAgICAgICB0aGlzLmNvbnRleHQuaWQgPSB0aGlzLmlkO1xyXG5cclxuICAgICAgICAgICAgLy8gdGhpcy5jb250ZXh0LnJlbmRlcmVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5TZXR0aW5nID0gdGhpcy5jb250ZXh0ID8gdGhpcy5jb250ZXh0LlNldHRpbmcgOiBudWxsO1xyXG4gICAgICAgICAgICBjb25zdCByZWFkb25seSA9IHRoaXMuY29udGV4dD8ucmVhZE9ubHk7XHJcbiAgICAgICAgICAgIHRoaXMuX3NldFJlYWRvbmx5KHJlYWRvbmx5LCBmYWxzZSk7XHJcbiAgICAgICAgICAgIHRoaXMuX3NldERpc2FibGUodGhpcy5jb250ZXh0LmRpc2FibGUsIGZhbHNlKTtcclxuICAgICAgICAgICAgLy8gdGhpcy5wYXJhbWV0ZXJzID0gQmFyc2FBcGkuQ29tbW9uLlV0aWwuVHJ5R2V0VmFsdWUodGhpcy5jb250ZXh0LCAnU2V0dGluZy5DdXN0b21VaS5QYXJhbWV0ZXJzJywgbnVsbCk7XHJcbiAgICAgICAgICAgIC8vIGlmICghdGhpcy5wYXJhbWV0ZXJzKSB7XHJcbiAgICAgICAgICAgIC8vICAgICB0aGlzLnBhcmFtZXRlcnMgPSBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZSh0aGlzLmNvbnRleHQsICdTZXR0aW5nLkN1c3RvbVVpLlNldHRpbmdzJywgbnVsbCk7XHJcbiAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgdGhpcy5Kc29uRXh0cmFQcm9wID0gQmFyc2FBcGkuQ29tbW9uLlV0aWwuVHJ5R2V0VmFsdWUodGhpcy5jb250ZXh0LCAnU2V0dGluZy5Kc29uRXh0cmFQcm9wJywgbnVsbCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuX2FkZExpc3RlbmVyKCk7XHJcbiAgICAgICAgdGhpcy5fc2V0TW9iaWxlQ29uZmlnKCk7XHJcbiAgICB9XHJcbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xyXG4gICAgICAgIHRoaXMuX3JlbW92ZUxpc3RlbmVyKCk7XHJcbiAgICB9XHJcbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdBZnRlclZpZXdJbml0KCk7XHJcbiAgICAgICAgaWYgKHRoaXMuY29udGV4dCkge1xyXG4gICAgICAgICAgICB0aGlzLmNvbnRleHQucmVuZGVyZWQgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLl9jb2x1bW5TZXJ2aWNlPy5jb250cm9sUmVuZGVyZWQoKTtcclxuICAgICAgICBpZiAodGhpcy5mb2N1c0NvbnRyb2wpIHtcclxuICAgICAgICAgICAgY29uc3QgZWxEb20gPSB0aGlzLl9lbC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xyXG4gICAgICAgICAgICBjb25zdCBmb2N1c2FibGVOb2RlTGlzdDogTm9kZUxpc3RPZjxIVE1MRWxlbWVudD4gPSBlbERvbS5xdWVyeVNlbGVjdG9yQWxsKFxyXG4gICAgICAgICAgICAgICAgJyBidXR0b24sIFtocmVmXSwgaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEsIFt0YWJpbmRleF06bm90KFt0YWJpbmRleD3igJ0tMeKAs10pJ1xyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICBsZXQgZm9jdXNlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICBmb2N1c2FibGVOb2RlTGlzdC5mb3JFYWNoKChlbDogSFRNTEVsZW1lbnQpID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHRhZ05hbWU6IHN0cmluZyA9IGVsLnRhZ05hbWUudG9Mb2NhbGVMb3dlckNhc2UoKTtcclxuICAgICAgICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgICAgICAgICAhZm9jdXNlZCAmJlxyXG4gICAgICAgICAgICAgICAgICAgIGVsLm9mZnNldFdpZHRoID4gMCAmJlxyXG4gICAgICAgICAgICAgICAgICAgIGVsLm9mZnNldEhlaWdodCA+IDAgJiZcclxuICAgICAgICAgICAgICAgICAgICBlbC5nZXRBdHRyaWJ1dGUoJ2Rpc2FibGVkJykgIT09ICd0cnVlJyAmJlxyXG4gICAgICAgICAgICAgICAgICAgIGVsLmdldEF0dHJpYnV0ZSgnbmctcmVmbGVjdC1kaXNhYmxlZCcpICE9PSAndHJ1ZScgJiZcclxuICAgICAgICAgICAgICAgICAgICAhdGFnTmFtZS5zdGFydHNXaXRoKCdmZHAnKVxyXG4gICAgICAgICAgICAgICAgKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZWwuZm9jdXMoKTtcclxuICAgICAgICAgICAgICAgICAgICBmb2N1c2VkID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGZpcmVDb250ZXh0RXZlbnQoZXZlbnQ6IHN0cmluZywgdmFsdWU6IGFueSwgdmFsdWUxPzogYW55LCB2YWx1ZTI/OiBhbnkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmNvbnRleHQuZmlyZUV2ZW50KGV2ZW50LCB2YWx1ZSwgdmFsdWUxLCB2YWx1ZTIpO1xyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIF9zZXRNb2JpbGVDb25maWcoKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgbW9iaWxlQ29uZmlnID0gdGhpcy5tb2JpbGVDb25maWc7XHJcbiAgICAgICAgbW9iaWxlQ29uZmlnLnRpdGxlID0gdGhpcy5TZXR0aW5nPy5Db250cm9sRmllbGRDYXB0aW9uVHJhbnNsYXRlZDtcclxuICAgICAgICBtb2JpbGVDb25maWcuZGlhbG9nQ29uZmlnICYmIChtb2JpbGVDb25maWcuZGlhbG9nQ29uZmlnLmFyaWFMYWJlbCA9IG1vYmlsZUNvbmZpZy50aXRsZSk7XHJcbiAgICAgICAgbW9iaWxlQ29uZmlnLmFwcHJvdmVCdXR0b25UZXh0ID0gdGhpcy5fYmJiUGlwZS50cmFuc2Zvcm0oJ09rJyk7XHJcbiAgICAgICAgbW9iaWxlQ29uZmlnLmNhbmNlbEJ1dHRvblRleHQgPSB0aGlzLl9iYmJQaXBlLnRyYW5zZm9ybSgnQ2FuY2VsJyk7XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgX2FkZExpc3RlbmVyKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmNvbnRleHQgJiYgdGhpcy5jb250ZXh0Lm9uKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY29udGV4dC5vbih7XHJcbiAgICAgICAgICAgICAgICBDb250cm9sVmFsdWVDaGFuZ2VkOiB0aGlzLl9zZXRWYWx1ZS5iaW5kKHRoaXMpLFxyXG4gICAgICAgICAgICAgICAgQ29udHJvbERpc2FibGVDaGFuZ2VkOiB0aGlzLl9zZXREaXNhYmxlLmJpbmQodGhpcyksXHJcbiAgICAgICAgICAgICAgICBDb250cm9sUmVhZG9ubHlDaGFuZ2VkOiB0aGlzLl9zZXRSZWFkb25seS5iaW5kKHRoaXMpLFxyXG4gICAgICAgICAgICAgICAgQ29udHJvbFJlZnJlc2g6IHRoaXMuX3NldFJlZnJlc2guYmluZCh0aGlzKSxcclxuICAgICAgICAgICAgICAgIENvbmZpZ0NoYW5nZWQ6IHRoaXMuX2NvbmZpZ0NoYW5lZC5iaW5kKHRoaXMpXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHByb3RlY3RlZCBfcmVtb3ZlTGlzdGVuZXIoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuY29udGV4dCAmJiB0aGlzLmNvbnRleHQudW4pIHtcclxuICAgICAgICAgICAgdGhpcy5jb250ZXh0LnVuKCdDb250cm9sVmFsdWVDaGFuZ2VkJywgdGhpcy5fc2V0VmFsdWUpO1xyXG4gICAgICAgICAgICB0aGlzLmNvbnRleHQudW4oJ0NvbnRyb2xEaXNhYmxlQ2hhbmdlZCcsIHRoaXMuX3NldERpc2FibGUpO1xyXG4gICAgICAgICAgICB0aGlzLmNvbnRleHQudW4oJ0NvbnRyb2xSZWFkb25seUNoYW5nZWQnLCB0aGlzLl9zZXRSZWFkb25seSk7XHJcbiAgICAgICAgICAgIHRoaXMuY29udGV4dC51bignQ29udHJvbFJlZnJlc2gnLCB0aGlzLl9zZXRSZWZyZXNoKTtcclxuICAgICAgICAgICAgdGhpcy5jb250ZXh0LnVuKCdDb25maWdDaGFuZ2VkJywgdGhpcy5fY29uZmlnQ2hhbmVkKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgX2NvbmZpZ0NoYW5lZChvcHRpb25zKTogdm9pZCB7XHJcbiAgICAgICAgLy8gaW1wbGVtZW50ZWQgYnkgY2hpbGQgY29tcG9uZW50c1xyXG4gICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgX3NldFZhbHVlKHZhbHVlKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gICAgICAgIHRoaXMuX3ZhbHVlQ2hhbmdlZFNvdXJjZS5uZXh0KHZhbHVlKTtcclxuICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIF9zZXRSZWZyZXNoKHZhbHVlKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fcmVmcmVzaFNvdXJjZS5uZXh0KHZhbHVlKTtcclxuICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIF9zZXREaXNhYmxlKHZhbHVlLCBjaGFuZ2VEZXRlY3QgPSB0cnVlKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fZGlzYWJsZUNoYW5nZWRTb3VyY2UubmV4dCh2YWx1ZSk7XHJcbiAgICAgICAgaWYgKGNoYW5nZURldGVjdCkge1xyXG4gICAgICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHByb3RlY3RlZCBfc2V0UmVhZG9ubHkodmFsdWUsIGNoYW5nZURldGVjdCA9IHRydWUpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9yZWFkb25seUNoYW5nZWRTb3VyY2UubmV4dCh2YWx1ZSk7XHJcbiAgICAgICAgaWYgKGNoYW5nZURldGVjdCkge1xyXG4gICAgICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=
235
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLW5vdmluLXJheS1jb3JlL3NyYy9saWIvYWJzdHJhY3QtY2xhc3Nlcy9maWVsZC1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWixTQUFTLEVBTVQsdUJBQXVCLEVBRXZCLElBQUksRUFDSixRQUFRLEVBQ1IsTUFBTSxFQUNOLFdBQVcsRUFDZCxNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV0RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFakQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR3RELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFdkMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGlCQUFpQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sY0FBYyxDQUFDOzs7Ozs7O0FBNkIxRixNQUFNLE9BQWdCLGtCQUFtQixTQUFRLGFBQWE7SUFvQzFELElBQUksZUFBZTtRQUNmLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDO0lBQ2hELENBQUM7SUFNRCxZQUNjLGNBQTZCLEVBQzdCLFFBQTBCLEVBQzFCLFlBQW9DLEVBQ3BDLFlBQXlCLEVBQ3pCLEdBQWUsRUFDZixJQUF1QixFQUN2QixVQUFxQixFQUNyQixlQUErQixFQUMvQixhQUEyQixFQUNTLGNBQW1CLEVBQ25DLGNBQTZCLEVBQzdCLFlBQXlCLEVBQ3pCLGNBQXFDLEVBQ3JDLGFB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Q2YsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUM5QixDQUFDO0lBQ0wsQ0FBQzsrR0F2TGlCLGtCQUFrQiw4UkFzRFosY0FBYzttR0F0RHBCLGtCQUFrQiwrZ0JBSjFCLEVBQUU7OzRGQUlNLGtCQUFrQjtrQkFOdkMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixRQUFRLEVBQUUsRUFBRTtvQkFDWixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsVUFBVSxFQUFFLEtBQUs7aUJBQ3BCOzswQkF1RFEsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxjQUFjOzswQkFDakMsSUFBSTs7MEJBQUksUUFBUTs7MEJBQ2hCLElBQUk7OzBCQUFJLFFBQVE7OzBCQUNoQixJQUFJOzswQkFBSSxRQUFROzswQkFDaEIsSUFBSTs7MEJBQUksUUFBUTs7MEJBQ2hCLFFBQVE7eUNBMURKLE9BQU87c0JBQWYsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDSSxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ3dCLFFBQVE7c0JBQXRDLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQUNFLFFBQVE7c0JBQXRDLFdBQVc7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIElucHV0LFxyXG4gICAgT3V0cHV0LFxyXG4gICAgRXZlbnRFbWl0dGVyLFxyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBFbGVtZW50UmVmLFxyXG4gICAgT25Jbml0LFxyXG4gICAgT25EZXN0cm95LFxyXG4gICAgQWZ0ZXJWaWV3SW5pdCxcclxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gICAgUmVuZGVyZXIyLFxyXG4gICAgU2VsZixcclxuICAgIE9wdGlvbmFsLFxyXG4gICAgSW5qZWN0LFxyXG4gICAgSG9zdEJpbmRpbmdcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tICcuL2Jhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRGF0ZVNlcnZpY2UgfSBmcm9tICcuLi9kYXRlLXNlcnZpY2VzJztcclxuaW1wb3J0IHsgRElBTE9HX1NFUlZJQ0UgfSBmcm9tICcuLi9pbmpkZWN0aW9uLXRva2Vucyc7XHJcbmltcG9ydCB7IEJiYlRyYW5zbGF0ZVBpcGUsIE51bWVyYWxQaXBlLCBQaWN0dXJlRmllbGRTb3VyY2VQaXBlIH0gZnJvbSAnLi4vcGlwZXMnO1xyXG5pbXBvcnQgeyBBdWRpb1JlY29yZGluZ1NlcnZpY2UsIENvbHVtblNlcnZpY2UsIFBvcnRhbFNlcnZpY2UsIFVwbG9hZFNlcnZpY2UsIFZpZGVvUmVjb3JkaW5nU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzJztcclxuaW1wb3J0IHsgQmFyc2FBcGkgfSBmcm9tICcuL2JhcnNhLWFwaSc7XHJcbmltcG9ydCB7IEdlbmVyYWxDb250cm9sSW5mb01vZGVsLCBBYmJyZXZhdGlvbkRldmljZVNpemUsIE1ldGFvYmplY3REYXRhTW9kZWwgfSBmcm9tICcuL21vZGVscyc7XHJcbmltcG9ydCB7IGdldERldmljZUlzTW9iaWxlLCBnZXREZXZpY2VJc1RhYmxldCwgZ2V0Rm9jdXNhYmxlVGFnTmFtZXMgfSBmcm9tICcuLi9jb25zdGFudHMnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBGaWVsZFNldHRpbmcge1xyXG4gICAgW2tleTogc3RyaW5nXTogYW55O1xyXG4gICAgQ29udHJvbEZpZWxkQ2FwdGlvbjogc3RyaW5nO1xyXG4gICAgQ29udHJvbEZpZWxkQ2FwdGlvblRyYW5zbGF0ZWQ6IHN0cmluZztcclxuICAgIENvbnRyb2xGaWVsZERlZklkOiBzdHJpbmc7XHJcbiAgICBDb250cm9sTmFtZTogc3RyaW5nO1xyXG4gICAgUmVsYXRlZEZpZWxkTGlzdDogW107XHJcbiAgICBIaWRlOiBib29sZWFuO1xyXG4gICAgeHR5cGU6IHN0cmluZztcclxuICAgIExhYmVsUG9zaXRpb246IHN0cmluZztcclxuICAgIElzTWFuZGF0b3J5OiBib29sZWFuO1xyXG4gICAgSXNWaXNpYmxlOiBib29sZWFuO1xyXG4gICAgU2hvd0xhYmVsOiBib29sZWFuO1xyXG4gICAgSXNSZWFkT25seTogYm9vbGVhbjtcclxuICAgIElzRW5hYmxlZDogYm9vbGVhbjtcclxuICAgIElzQm9sZDogYm9vbGVhbjtcclxuICAgIElzQXV0b21hdGljOiBib29sZWFuO1xyXG4gICAgSnNvbkV4dHJhUHJvcDogYW55IHwgbnVsbDtcclxuICAgIEZpZWxkSWNvbjogc3RyaW5nO1xyXG4gICAgSXNMdHI6IGJvb2xlYW47XHJcbn1cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2JucmMtZmllbGQtYmFzZScsXHJcbiAgICB0ZW1wbGF0ZTogJycsXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBGaWVsZEJhc2VDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQge1xyXG4gICAgQElucHV0KCkgY29udGV4dDogYW55O1xyXG4gICAgQElucHV0KCkgZm9jdXNDb250cm9sOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgbGF5b3V0SW5mbzogYW55O1xyXG4gICAgQElucHV0KCkgdmFsdWU6IGFueTtcclxuICAgIEBJbnB1dCgpIHdpZHRoOiBudW1iZXI7XHJcbiAgICBASW5wdXQoKSBoZWlnaHQ6IG51bWJlcjtcclxuICAgIEBJbnB1dCgpIGZvcm1IZWlnaHQ6IG51bWJlcjtcclxuICAgIEBJbnB1dCgpIGlubGluZUVkaXQ6IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSBjZWxsRWRpdDogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIGZvcm1Db250YWluZXI6IEhUTUxFbGVtZW50O1xyXG4gICAgQElucHV0KCkgaWQ6IHN0cmluZztcclxuICAgIEBJbnB1dCgpIHBhcmFtZXRlczogTWV0YW9iamVjdERhdGFNb2RlbDtcclxuICAgIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gICAgQE91dHB1dCgpIGZvcm1tYXRlZFZhbHVlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlzTW9iaWxlJykgaXNNb2JpbGUgPSBnZXREZXZpY2VJc01vYmlsZSgpO1xyXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pc1RhYmxldCcpIGlzVGFibGV0ID0gZ2V0RGV2aWNlSXNUYWJsZXQoKTtcclxuICAgIEpzb25FeHRyYVByb3A6IGFueTtcclxuICAgIHBhcmFtZXRlcnM6IGFueTtcclxuICAgIFNldHRpbmc6IEdlbmVyYWxDb250cm9sSW5mb01vZGVsO1xyXG4gICAgcmVmcmVzaCQ6IE9ic2VydmFibGU8YW55PjtcclxuICAgIHZhbHVlJDogT2JzZXJ2YWJsZTxhbnk+O1xyXG4gICAgZGlzYWJsZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XHJcbiAgICByZWFkb25seSQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XHJcbiAgICBkaXNhYmxlT3JSZWFkb25seSQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XHJcbiAgICBkZXZpY2VTaXplJDogT2JzZXJ2YWJsZTxBYmJyZXZhdGlvbkRldmljZVNpemU+O1xyXG4gICAgZWw6IGFueTtcclxuICAgIG1vYmlsZUNvbmZpZzogYW55ID0ge1xyXG4gICAgICAgIHRpdGxlOiAn2KfZhtiq2K7Yp9ioJyxcclxuICAgICAgICBhcHByb3ZlQnV0dG9uVGV4dDogJ9iq2KfbjNuM2K8nLFxyXG4gICAgICAgIGNhbmNlbEJ1dHRvblRleHQ6ICfYp9mG2LXYsdin2YEnLFxyXG4gICAgICAgIGhhc0Nsb3NlQnV0dG9uOiB0cnVlLFxyXG4gICAgICAgIGRpYWxvZ0NvbmZpZzoge1xyXG4gICAgICAgICAgICBhcmlhTGFiZWw6ICfYp9mG2KrYrtin2KgnXHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuICAgIGdldCBjdXN0b21GaWVsZEluZm8oKTogTWV0YW9iamVjdERhdGFNb2RlbCB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udGV4dC5TZXR0aW5nLkN1c3RvbUZpZWxkSW5mbztcclxuICAgIH1cclxuICAgIHByaXZhdGUgX3JlZnJlc2hTb3VyY2UgPSBuZXcgU3ViamVjdDxhbnk+KCk7XHJcbiAgICBwcml2YXRlIF92YWx1ZUNoYW5nZWRTb3VyY2UgPSBuZXcgU3ViamVjdDxhbnk+KCk7XHJcbiAgICBwcml2YXRlIF9kaXNhYmxlQ2hhbmdlZFNvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gICAgcHJpdmF0ZSBfcmVhZG9ubHlDaGFuZ2VkU291cmNlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJvdGVjdGVkIF9wb3J0YWxTZXJ2aWNlOiBQb3J0YWxTZXJ2aWNlLFxyXG4gICAgICAgIHByb3RlY3RlZCBfYmJiUGlwZTogQmJiVHJhbnNsYXRlUGlwZSxcclxuICAgICAgICBwcm90ZWN0ZWQgX3BpY0ZpZWxkU3JjOiBQaWN0dXJlRmllbGRTb3VyY2VQaXBlLFxyXG4gICAgICAgIHByb3RlY3RlZCBfbnVtZXJhbFBpcGU6IE51bWVyYWxQaXBlLFxyXG4gICAgICAgIHByb3RlY3RlZCBfZWw6IEVsZW1lbnRSZWYsXHJcbiAgICAgICAgcHJvdGVjdGVkIF9jZHI6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgICAgIHByb3RlY3RlZCBfcmVuZGVyZXIyOiBSZW5kZXJlcjIsXHJcbiAgICAgICAgcHJvdGVjdGVkIF9hY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICAgICAgcHJvdGVjdGVkIF9kb21TYW5pdGl6ZXI6IERvbVNhbml0aXplcixcclxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KERJQUxPR19TRVJWSUNFKSBwcm90ZWN0ZWQgX2RpYWxvZ1NlcnZpY2U6IGFueSxcclxuICAgICAgICBAU2VsZigpIEBPcHRpb25hbCgpIHByb3RlY3RlZCBfdXBsb2FkU2VydmljZTogVXBsb2FkU2VydmljZSxcclxuICAgICAgICBAU2VsZigpIEBPcHRpb25hbCgpIHByb3RlY3RlZCBfZGF0ZVNlcnZpY2U6IERhdGVTZXJ2aWNlLFxyXG4gICAgICAgIEBTZWxmKCkgQE9wdGlvbmFsKCkgcHJvdGVjdGVkIF9hdWRpb1JlY29yZGVyOiBBdWRpb1JlY29yZGluZ1NlcnZpY2UsXHJcbiAgICAgICAgQFNlbGYoKSBAT3B0aW9uYWwoKSBwcm90ZWN0ZWQgX3ZpZGVvUmVjb2RlcjogVmlkZW9SZWNvcmRpbmdTZXJ2aWNlLFxyXG4gICAgICAgIEBPcHRpb25hbCgpIHByb3RlY3RlZCBfY29sdW1uU2VydmljZTogQ29sdW1uU2VydmljZVxyXG4gICAgKSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgICAgICB0aGlzLnJlZnJlc2gkID0gdGhpcy5fcmVmcmVzaFNvdXJjZS5hc09ic2VydmFibGUoKS5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSk7XHJcbiAgICAgICAgdGhpcy52YWx1ZSQgPSB0aGlzLl92YWx1ZUNoYW5nZWRTb3VyY2UuYXNPYnNlcnZhYmxlKCkucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpO1xyXG4gICAgICAgIHRoaXMuZGV2aWNlU2l6ZSQgPSB0aGlzLl9wb3J0YWxTZXJ2aWNlLmRldmljZVNpemUkO1xyXG4gICAgICAgIHRoaXMuZGlzYWJsZSQgPSB0aGlzLl9kaXNhYmxlQ2hhbmdlZFNvdXJjZVxyXG4gICAgICAgICAgICAuYXNPYnNlcnZhYmxlKClcclxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKTtcclxuICAgICAgICB0aGlzLnJlYWRvbmx5JCA9IHRoaXMuX3JlYWRvbmx5Q2hhbmdlZFNvdXJjZVxyXG4gICAgICAgICAgICAuYXNPYnNlcnZhYmxlKClcclxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKTtcclxuICAgICAgICB0aGlzLmRpc2FibGVPclJlYWRvbmx5JCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMucmVhZG9ubHkkLCB0aGlzLmRpc2FibGUkXSkucGlwZShcclxuICAgICAgICAgICAgbWFwKChbZGlzYWJsZSwgcmVhZG9ubHldKSA9PiBkaXNhYmxlIHx8IHJlYWRvbmx5KSxcclxuICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgdGhpcy5lbCA9IF9lbDtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgICAgIGlmICh0aGlzLmNvbnRleHQpIHtcclxuICAgICAgICAgICAgdGhpcy5jb250ZXh0LmRvbSA9IHRoaXMuZWwubmF0aXZlRWxlbWVudDtcclxuICAgICAgICAgICAgdGhpcy5jb250ZXh0LmlkID0gdGhpcy5pZDtcclxuXHJcbiAgICAgICAgICAgIC8vIHRoaXMuY29udGV4dC5yZW5kZXJlZCA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuU2V0dGluZyA9IHRoaXMuY29udGV4dCA/IHRoaXMuY29udGV4dC5TZXR0aW5nIDogbnVsbDtcclxuICAgICAgICAgICAgY29uc3QgcmVhZG9ubHkgPSB0aGlzLmNvbnRleHQ/LnJlYWRPbmx5O1xyXG4gICAgICAgICAgICB0aGlzLl9zZXRSZWFkb25seShyZWFkb25seSwgZmFsc2UpO1xyXG4gICAgICAgICAgICB0aGlzLl9zZXREaXNhYmxlKHRoaXMuY29udGV4dC5kaXNhYmxlLCBmYWxzZSk7XHJcbiAgICAgICAgICAgIC8vIHRoaXMucGFyYW1ldGVycyA9IEJhcnNhQXBpLkNvbW1vbi5VdGlsLlRyeUdldFZhbHVlKHRoaXMuY29udGV4dCwgJ1NldHRpbmcuQ3VzdG9tVWkuUGFyYW1ldGVycycsIG51bGwpO1xyXG4gICAgICAgICAgICAvLyBpZiAoIXRoaXMucGFyYW1ldGVycykge1xyXG4gICAgICAgICAgICAvLyAgICAgdGhpcy5wYXJhbWV0ZXJzID0gQmFyc2FBcGkuQ29tbW9uLlV0aWwuVHJ5R2V0VmFsdWUodGhpcy5jb250ZXh0LCAnU2V0dGluZy5DdXN0b21VaS5TZXR0aW5ncycsIG51bGwpO1xyXG4gICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgIHRoaXMuSnNvbkV4dHJhUHJvcCA9IEJhcnNhQXBpLkNvbW1vbi5VdGlsLlRyeUdldFZhbHVlKHRoaXMuY29udGV4dCwgJ1NldHRpbmcuSnNvbkV4dHJhUHJvcCcsIG51bGwpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLl9hZGRMaXN0ZW5lcigpO1xyXG4gICAgICAgIHRoaXMuX3NldE1vYmlsZUNvbmZpZygpO1xyXG4gICAgfVxyXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcclxuICAgICAgICB0aGlzLl9yZW1vdmVMaXN0ZW5lcigpO1xyXG4gICAgfVxyXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nQWZ0ZXJWaWV3SW5pdCgpO1xyXG4gICAgICAgIGlmICh0aGlzLmNvbnRleHQpIHtcclxuICAgICAgICAgICAgdGhpcy5jb250ZXh0LnJlbmRlcmVkID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5fY29sdW1uU2VydmljZT8uY29udHJvbFJlbmRlcmVkKCk7XHJcbiAgICAgICAgaWYgKHRoaXMuZm9jdXNDb250cm9sKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGVsRG9tID0gdGhpcy5fZWwubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcclxuICAgICAgICAgICAgY29uc3QgZm9jdXNhYmxlTm9kZUxpc3Q6IE5vZGVMaXN0T2Y8SFRNTEVsZW1lbnQ+ID0gZWxEb20ucXVlcnlTZWxlY3RvckFsbChnZXRGb2N1c2FibGVUYWdOYW1lcygpKTtcclxuICAgICAgICAgICAgbGV0IGZvY3VzZWQgPSBmYWxzZTtcclxuICAgICAgICAgICAgZm9jdXNhYmxlTm9kZUxpc3QuZm9yRWFjaCgoZWw6IEhUTUxFbGVtZW50KSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCB0YWdOYW1lOiBzdHJpbmcgPSBlbC50YWdOYW1lLnRvTG9jYWxlTG93ZXJDYXNlKCk7XHJcbiAgICAgICAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgICAgICAgICAgIWZvY3VzZWQgJiZcclxuICAgICAgICAgICAgICAgICAgICBlbC5vZmZzZXRXaWR0aCA+IDAgJiZcclxuICAgICAgICAgICAgICAgICAgICBlbC5vZmZzZXRIZWlnaHQgPiAwICYmXHJcbiAgICAgICAgICAgICAgICAgICAgZWwuZ2V0QXR0cmlidXRlKCdkaXNhYmxlZCcpICE9PSAndHJ1ZScgJiZcclxuICAgICAgICAgICAgICAgICAgICBlbC5nZXRBdHRyaWJ1dGUoJ25nLXJlZmxlY3QtZGlzYWJsZWQnKSAhPT0gJ3RydWUnICYmXHJcbiAgICAgICAgICAgICAgICAgICAgIXRhZ05hbWUuc3RhcnRzV2l0aCgnZmRwJylcclxuICAgICAgICAgICAgICAgICkge1xyXG4gICAgICAgICAgICAgICAgICAgIGVsLmZvY3VzKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9jdXNlZCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBmaXJlQ29udGV4dEV2ZW50KGV2ZW50OiBzdHJpbmcsIHZhbHVlOiBhbnksIHZhbHVlMT86IGFueSwgdmFsdWUyPzogYW55KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5jb250ZXh0LmZpcmVFdmVudChldmVudCwgdmFsdWUsIHZhbHVlMSwgdmFsdWUyKTtcclxuICAgIH1cclxuICAgIHByb3RlY3RlZCBfc2V0TW9iaWxlQ29uZmlnKCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IG1vYmlsZUNvbmZpZyA9IHRoaXMubW9iaWxlQ29uZmlnO1xyXG4gICAgICAgIG1vYmlsZUNvbmZpZy50aXRsZSA9IHRoaXMuU2V0dGluZz8uQ29udHJvbEZpZWxkQ2FwdGlvblRyYW5zbGF0ZWQ7XHJcbiAgICAgICAgbW9iaWxlQ29uZmlnLmRpYWxvZ0NvbmZpZyAmJiAobW9iaWxlQ29uZmlnLmRpYWxvZ0NvbmZpZy5hcmlhTGFiZWwgPSBtb2JpbGVDb25maWcudGl0bGUpO1xyXG4gICAgICAgIG1vYmlsZUNvbmZpZy5hcHByb3ZlQnV0dG9uVGV4dCA9IHRoaXMuX2JiYlBpcGUudHJhbnNmb3JtKCdPaycpO1xyXG4gICAgICAgIG1vYmlsZUNvbmZpZy5jYW5jZWxCdXR0b25UZXh0ID0gdGhpcy5fYmJiUGlwZS50cmFuc2Zvcm0oJ0NhbmNlbCcpO1xyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIF9hZGRMaXN0ZW5lcigpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5jb250ZXh0ICYmIHRoaXMuY29udGV4dC5vbikge1xyXG4gICAgICAgICAgICB0aGlzLmNvbnRleHQub24oe1xyXG4gICAgICAgICAgICAgICAgQ29udHJvbFZhbHVlQ2hhbmdlZDogdGhpcy5fc2V0VmFsdWUuYmluZCh0aGlzKSxcclxuICAgICAgICAgICAgICAgIENvbnRyb2xEaXNhYmxlQ2hhbmdlZDogdGhpcy5fc2V0RGlzYWJsZS5iaW5kKHRoaXMpLFxyXG4gICAgICAgICAgICAgICAgQ29udHJvbFJlYWRvbmx5Q2hhbmdlZDogdGhpcy5fc2V0UmVhZG9ubHkuYmluZCh0aGlzKSxcclxuICAgICAgICAgICAgICAgIENvbnRyb2xSZWZyZXNoOiB0aGlzLl9zZXRSZWZyZXNoLmJpbmQodGhpcyksXHJcbiAgICAgICAgICAgICAgICBDb25maWdDaGFuZ2VkOiB0aGlzLl9jb25maWdDaGFuZWQuYmluZCh0aGlzKVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgX3JlbW92ZUxpc3RlbmVyKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmNvbnRleHQgJiYgdGhpcy5jb250ZXh0LnVuKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY29udGV4dC51bignQ29udHJvbFZhbHVlQ2hhbmdlZCcsIHRoaXMuX3NldFZhbHVlKTtcclxuICAgICAgICAgICAgdGhpcy5jb250ZXh0LnVuKCdDb250cm9sRGlzYWJsZUNoYW5nZWQnLCB0aGlzLl9zZXREaXNhYmxlKTtcclxuICAgICAgICAgICAgdGhpcy5jb250ZXh0LnVuKCdDb250cm9sUmVhZG9ubHlDaGFuZ2VkJywgdGhpcy5fc2V0UmVhZG9ubHkpO1xyXG4gICAgICAgICAgICB0aGlzLmNvbnRleHQudW4oJ0NvbnRyb2xSZWZyZXNoJywgdGhpcy5fc2V0UmVmcmVzaCk7XHJcbiAgICAgICAgICAgIHRoaXMuY29udGV4dC51bignQ29uZmlnQ2hhbmdlZCcsIHRoaXMuX2NvbmZpZ0NoYW5lZCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIF9jb25maWdDaGFuZWQob3B0aW9ucyk6IHZvaWQge1xyXG4gICAgICAgIC8vIGltcGxlbWVudGVkIGJ5IGNoaWxkIGNvbXBvbmVudHNcclxuICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIF9zZXRWYWx1ZSh2YWx1ZSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcclxuICAgICAgICB0aGlzLl92YWx1ZUNoYW5nZWRTb3VyY2UubmV4dCh2YWx1ZSk7XHJcbiAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuICAgIHByb3RlY3RlZCBfc2V0UmVmcmVzaCh2YWx1ZSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3JlZnJlc2hTb3VyY2UubmV4dCh2YWx1ZSk7XHJcbiAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuICAgIHByb3RlY3RlZCBfc2V0RGlzYWJsZSh2YWx1ZSwgY2hhbmdlRGV0ZWN0ID0gdHJ1ZSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX2Rpc2FibGVDaGFuZ2VkU291cmNlLm5leHQodmFsdWUpO1xyXG4gICAgICAgIGlmIChjaGFuZ2VEZXRlY3QpIHtcclxuICAgICAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgX3NldFJlYWRvbmx5KHZhbHVlLCBjaGFuZ2VEZXRlY3QgPSB0cnVlKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fcmVhZG9ubHlDaGFuZ2VkU291cmNlLm5leHQodmFsdWUpO1xyXG4gICAgICAgIGlmIChjaGFuZ2VEZXRlY3QpIHtcclxuICAgICAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19