verben-ng-ui 0.2.8 → 0.2.9

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.
@@ -64,6 +64,7 @@ export class DataViewComponent {
64
64
  }
65
65
  onClearSearch() {
66
66
  this.searchValue = "";
67
+ this.onSearchChange.emit({ key: this.searchKey, value: this.searchValue });
67
68
  }
68
69
  toggleChildView(viewType) {
69
70
  switch (viewType) {
@@ -210,4 +211,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImpor
210
211
  }], onSearchChange: [{
211
212
  type: Output
212
213
  }] } });
213
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZlcmJlbi1uZy11aS9zcmMvbGliL2NvbXBvbmVudHMvZGF0YS12aWV3L2RhdGEtdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4tbmctdWkvc3JjL2xpYi9jb21wb25lbnRzL2RhdGEtdmlldy9kYXRhLXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7QUFtQnZCLE1BQU0sT0FBTyxpQkFBaUI7SUFDbkIsV0FBVyxDQUFVO0lBQ3JCLFNBQVMsQ0FBVTtJQUNuQixlQUFlLEdBQVUsRUFBRSxDQUFBO0lBQzNCLGlCQUFpQixHQUFTLEVBQUUsQ0FBQTtJQUM1QixpQkFBaUIsR0FBUyxFQUFFLENBQUE7SUFDNUIsZUFBZSxHQUFTLEVBQUUsQ0FBQTtJQUMxQixpQkFBaUIsR0FBUyxFQUFFLENBQUE7SUFDNUIsaUJBQWlCLEdBQVMsRUFBRSxDQUFBO0lBQzVCLE1BQU0sR0FBUyxDQUFDLENBQUE7SUFDaEIsaUJBQWlCLEdBQVEsRUFBRSxDQUFBO0lBQzNCLFNBQVMsR0FBVyxRQUFRLENBQUM7SUFDN0IsUUFBUSxHQUFXLFdBQVcsQ0FBQztJQUMvQixTQUFTLEdBQVcsRUFBRSxDQUFDO0lBQ3ZCLFVBQVUsR0FBVyxFQUFFLENBQUM7SUFDeEIsU0FBUyxHQUFRLFFBQVEsQ0FBQztJQUMxQixXQUFXLEdBQVEsRUFBRSxDQUFDO0lBQ3RCLFNBQVMsR0FBYztRQUM5QixRQUFRLEVBQUUsSUFBSTtRQUNkLFFBQVEsRUFBRSxJQUFJO1FBQ2QsUUFBUSxFQUFFLElBQUk7UUFDZCxNQUFNLEVBQUUsSUFB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S0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUVHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0ksVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmludGVyZmFjZSBWaWV3U3RhdGUge1xuICBpc1NlYXJjaD86IGJvb2xlYW47XG4gIGlzQ29sdW1uPzogYm9vbGVhbjtcbiAgaXNGaWx0ZXI/OiBib29sZWFuO1xuICBpc1NvcnQ/OiBib29sZWFuO1xuICBpc0V4cG9ydD86IGJvb2xlYW47XG4gIGlzU2VsZWN0PzogYm9vbGVhbjtcbiAgaXNDcmVhdGU/OmJvb2xlYW5cbiAgaXNUb2dnbGU/OmJvb2xlYW5cbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmVyYmVuLWRhdGEtdmlldycsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRhLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kYXRhLXZpZXcuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRGF0YVZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBidXR0b25DbGFzcz86IHN0cmluZztcbiAgQElucHV0KCkgaWNvbkNsYXNzPzogc3RyaW5nO1xuICBASW5wdXQoKSBhY3RpdmVJY29uQ2xhc3M/OiBzdHJpbmc9XCJcIlxuICBASW5wdXQoKSBjb2x1bW5DdXN0b21DbGFzcz86c3RyaW5nPScnXG4gIEBJbnB1dCgpIGZpbHRlckN1c3RvbUNsYXNzPzpzdHJpbmc9JydcbiAgQElucHV0KCkgc29ydEN1c3RvbUNsYXNzPzpzdHJpbmc9JydcbiAgQElucHV0KCkgZXhwb3J0Q3VzdG9tQ2xhc3M/OnN0cmluZz0nJ1xuICBASW5wdXQoKSBzZWxlY3RDdXN0b21DbGFzcz86c3RyaW5nPScnXG4gIEBJbnB1dCgpIHpJbmRleD86bnVtYmVyPTVcbiAgQElucHV0KCkgY3JlYXRlQ3VzdG9tQ2xhc3M6c3RyaW5nPScnXG4gIEBJbnB1dCgpIHRhYmxlSWNvbjogc3RyaW5nID0gJ2dyaWQtMyc7XG4gIEBJbnB1dCgpIGNhcmRJY29uOiBzdHJpbmcgPSAnbGlzdC12aWV3JztcbiAgQElucHV0KCkgY2FyZENsYXNzOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgdGFibGVDbGFzczogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHNlYXJjaEtleTpzdHJpbmc9J3NlYXJjaCc7XG4gIEBJbnB1dCgpIHNlYXJjaFZhbHVlOnN0cmluZz0nJztcbiAgQElucHV0KCkgdmlld1N0YXRlOiBWaWV3U3RhdGUgPSB7XG4gICAgaXNTZWFyY2g6IHRydWUsXG4gICAgaXNDb2x1bW46IHRydWUsXG4gICAgaXNGaWx0ZXI6IHRydWUsXG4gICAgaXNTb3J0OiB0cnVlLFxuICAgIGlzRXhwb3J0OiB0cnVlLFxuICAgIGlzU2VsZWN0OiB0cnVlLFxuICAgIGlzQ3JlYXRlOnRydWUsXG4gICAgaXNUb2dnbGU6dHJ1ZVxuICB9O1xuXG4gIEBJbnB1dCgpIHNlYXJjaFRlbXBsYXRlPzogTm9kZTtcbiAgQElucHV0KCkgY29sdW1uVGVtcGxhdGU/OiBOb2RlO1xuICBASW5wdXQoKSBmaWx0ZXJUZW1wbGF0ZT86IE5vZGU7XG4gIEBJbnB1dCgpIHNvcnRUZW1wbGF0ZT86IE5vZGU7XG4gIEBJbnB1dCgpIGNoaWxkcmVuPzogTm9kZTtcbiAgQElucHV0KCkgZXhwb3J0VGVtcGxhdGU/OiBOb2RlO1xuICBASW5wdXQoKSBjcmVhdGVUZW1wbGF0ZT86IE5vZGU7XG4gIEBJbnB1dCgpIHNlbGVjdGVkQ29sdW1uQ291bnQ/OiBudW1iZXIgPSAwO1xuICBASW5wdXQoKSBzZWxlY3RlZFNvcnRDb3VudDogbnVtYmVyID0gMDtcbiAgQElucHV0KCkgc2VsZWN0ZWRGaWx0ZXJUYWJsZUNvdW50OiBudW1iZXIgPSAwO1xuICBASW5wdXQoKSBpbnB1dFdpZHRoOiBzdHJpbmc9XCIxMDAlXCI7XG4gIEBJbnB1dCgpc2hvd0NvbHVtbkNoaWxkOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNob3dTb3J0Q2hpbGQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgc2hvd0ZpbHRlckNoaWxkOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNob3dFeHBvcnRDaGlsZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBjcmVhdGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgc2hvd1NlbGVjdGVkOiBib29sZWFuID0gZmFsc2U7XG4gIFxuICBASW5wdXQoKSBpc1RhYmxlVmlldzogYm9vbGVhbiA9IGZhbHNlO1xuICBAT3V0cHV0KCkgdmlld0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgQE91dHB1dCgpIHN0YXRlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjx7IGtleTogc3RyaW5nOyB2YWx1ZTogYm9vbGVhbiB9PigpO1xuICBAT3V0cHV0KCkgb25TZWFyY2hDaGFuZ2U9bmV3IEV2ZW50RW1pdHRlcjx7IGtleTogc3RyaW5nOyB2YWx1ZTogc3RyaW5nIH0+KClcbiAgbmdPbkluaXQoKTogdm9pZCB7fVxuXG4gIHRvZ2dsZVZpZXcoKTogdm9pZCB7XG4gICAgdGhpcy5pc1RhYmxlVmlldyA9ICF0aGlzLmlzVGFibGVWaWV3O1xuICAgIHRoaXMudmlld0NoYW5nZS5lbWl0KHRoaXMuaXNUYWJsZVZpZXcpO1xuICB9XG5cbiAgb25TZWFyY2goZXZlbnQ6YW55KTogdm9pZCB7XG4gICAgdGhpcy5zZWFyY2hWYWx1ZT1ldmVudC50YXJnZXQudmFsdWVcbiAgICB0aGlzLm9uU2VhcmNoQ2hhbmdlLmVtaXQoe2tleTp0aGlzLnNlYXJjaEtleSwgdmFsdWU6dGhpcy5zZWFyY2hWYWx1ZX0pO1xuICB9XG4gIFxub25DbGVhclNlYXJjaCgpe1xuIHRoaXMuc2VhcmNoVmFsdWU9XCJcIlxufVxuICB0b2dnbGVDaGlsZFZpZXcodmlld1R5cGU6IHN0cmluZyk6IHZvaWQge1xuICAgIHN3aXRjaCAodmlld1R5cGUpIHtcbiAgICAgIGNhc2UgJ2NvbHVtbic6XG4gICAgICAgIHRoaXMuc2hvd0NvbHVtbkNoaWxkID0gIXRoaXMuc2hvd0NvbHVtbkNoaWxkO1xuICAgICAgICB0aGlzLnJlc2V0Q2hpbGRWaWV3c0V4Y2VwdCgnY29sdW1uJyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnZmlsdGVyJzpcbiAgICAgICAgdGhpcy5zaG93RmlsdGVyQ2hpbGQgPSAhdGhpcy5zaG93RmlsdGVyQ2hpbGQ7XG4gICAgICAgIHRoaXMucmVzZXRDaGlsZFZpZXdzRXhjZXB0KCdmaWx0ZXInKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdzb3J0JzpcbiAgICAgICAgdGhpcy5zaG93U29ydENoaWxkID0gIXRoaXMuc2hvd1NvcnRDaGlsZDtcbiAgICAgICAgdGhpcy5yZXNldENoaWxkVmlld3NFeGNlcHQoJ3NvcnQnKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdzZWxlY3QnOlxuICAgICAgICB0aGlzLnNob3dTZWxlY3RlZCA9ICF0aGlzLnNob3dTZWxlY3RlZDtcbiAgICAgICAgdGhpcy5yZXNldENoaWxkVmlld3NFeGNlcHQoJ3NlbGVjdCcpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2V4cG9ydCc6XG4gICAgICAgIHRoaXMuc2hvd0V4cG9ydENoaWxkID0gIXRoaXMuc2hvd0V4cG9ydENoaWxkO1xuICAgICAgICB0aGlzLnJlc2V0Q2hpbGRWaWV3c0V4Y2VwdCgnZXhwb3J0Jyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdjcmVhdGUnOlxuICAgICAgICAgIHRoaXMuY3JlYXRlID0gIXRoaXMuY3JlYXRlO1xuICAgICAgICAgIHRoaXMucmVzZXRDaGlsZFZpZXdzRXhjZXB0KCdjcmVhdGUnKTtcbiAgICAgICAgICBicmVhaztcbiAgICB9XG4gICAgdGhpcy5zdGF0ZUNoYW5nZS5lbWl0KHsga2V5OiB2aWV3VHlwZSwgdmFsdWU6IHRoaXMuZ2V0Q2hpbGRWaWV3U3RhdGUodmlld1R5cGUpIH0pO1xuICAgIFxuICB9XG4gIHJlc2V0Q2hpbGRWaWV3c0V4Y2VwdCh2aWV3VHlwZTogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHZpZXdUeXBlICE9PSAnY29sdW1uJykgdGhpcy5zaG93Q29sdW1uQ2hpbGQgPSBmYWxzZTtcbiAgICBpZiAodmlld1R5cGUgIT09ICdmaWx0ZXInKSB0aGlzLnNob3dGaWx0ZXJDaGlsZCA9IGZhbHNlO1xuICAgIGlmICh2aWV3VHlwZSAhPT0gJ3NvcnQnKSB0aGlzLnNob3dTb3J0Q2hpbGQgPSBmYWxzZTtcbiAgICBpZiAodmlld1R5cGUgIT09ICdzZWxlY3QnKSB0aGlzLnNob3dTZWxlY3RlZCA9IGZhbHNlO1xuICAgIGlmICh2aWV3VHlwZSAhPT0gJ2V4cG9ydCcpIHRoaXMuc2hvd0V4cG9ydENoaWxkID0gZmFsc2U7XG4gICAgaWYgKHZpZXdUeXBlICE9PSAnY3JlYXRlJykgdGhpcy5jcmVhdGUgPSBmYWxzZTtcbiAgfVxuXG4gIC8vIEhlbHBlciBtZXRob2QgdG8gZ2V0IHRoZSBzdGF0ZSBvZiBhIHNwZWNpZmljIGNoaWxkIHZpZXdcbiAgZ2V0Q2hpbGRWaWV3U3RhdGUodmlld1R5cGU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHN3aXRjaCAodmlld1R5cGUpIHtcbiAgICAgIGNhc2UgJ2NvbHVtbic6XG4gICAgICAgIHJldHVybiB0aGlzLnNob3dDb2x1bW5DaGlsZDtcbiAgICAgIGNhc2UgJ2ZpbHRlcic6XG4gICAgICAgIHJldHVybiB0aGlzLnNob3dGaWx0ZXJDaGlsZDtcbiAgICAgIGNhc2UgJ3NvcnQnOlxuICAgICAgICByZXR1cm4gdGhpcy5zaG93U29ydENoaWxkO1xuICAgICAgY2FzZSAnc2VsZWN0JzpcbiAgICAgICAgcmV0dXJuIHRoaXMuc2hvd1NlbGVjdGVkO1xuICAgICAgY2FzZSAnZXhwb3J0JzpcbiAgICAgICAgcmV0dXJuIHRoaXMuc2hvd0V4cG9ydENoaWxkO1xuICAgICAgICBjYXNlICdjcmVhdGUnOlxuICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGU7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwidG9vbGJhciBmbGV4IGdhcCBqdXN0aWZ5LWJldHdlZW4gaXRlbXMtY2VudGVyIFwiPlxuICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwIGZsZXgtMSBqdXN0aWZ5LWVuZFwiPlxuICAgIDxkaXYgKm5nSWY9XCJ2aWV3U3RhdGUuaXNUb2dnbGVcIiBjbGFzcz1cInRvZ2dsZS1idXR0b24tY29udGFpbmVyXCI+XG4gICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwidG9nZ2xlVmlldygpXCIgW25nQ2xhc3NdPVwiYnV0dG9uQ2xhc3NcIj5cbiAgICAgICAgPHZlcmJlbi1zdmdcbiAgICAgICAgICBbaWNvbl09XCJ0YWJsZUljb25cIlxuICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiIWlzVGFibGVWaWV3XCJcbiAgICAgICAgICBbbmdDbGFzc109XCIhaXNUYWJsZVZpZXcgPyBhY3RpdmVJY29uQ2xhc3MgOiBpY29uQ2xhc3NcIlxuICAgICAgICA+PC92ZXJiZW4tc3ZnPlxuICAgICAgICA8dmVyYmVuLXN2Z1xuICAgICAgICAgIFtpY29uXT1cImNhcmRJY29uXCJcbiAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cImlzVGFibGVWaWV3XCJcbiAgICAgICAgICBbbmdDbGFzc109XCJpc1RhYmxlVmlldyA/IGFjdGl2ZUljb25DbGFzcyA6IGljb25DbGFzc1wiXG4gICAgICAgICAgW3dpZHRoXT1cIjI1XCJcbiAgICAgICAgICBbaGVpZ2h0XT1cIjI1XCJcbiAgICAgICAgPjwvdmVyYmVuLXN2Zz5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIDwhLS0gU2VhcmNoIElucHV0IC0tPlxuICAgIDxkaXZcbiAgICAgIFtzdHlsZS53aWR0aF09XCJpbnB1dFdpZHRoXCJcbiAgICAgIGNsYXNzPVwic2VhcmNoLWlucHV0XCJcbiAgICAgICpuZ0lmPVwidmlld1N0YXRlLmlzU2VhcmNoXCJcbiAgICA+XG4gICAgICA8dmVyYmVuYS1pbnB1dFxuICAgICAgICBbdHlwZV09XCIndGV4dCdcIlxuICAgICAgICBbcGxhY2VIb2xkZXJdPVwiJ1NlYXJjaC4uLidcIlxuICAgICAgICAoaW5wdXQpPVwib25TZWFyY2goJGV2ZW50KVwiXG4gICAgICAgIFtiZ0NvbG9yXT1cIid0cmFuc3BhcmVudCdcIlxuICAgICAgICBbYm9yZGVyXT1cIicwJ1wiXG4gICAgICAgIFt2YWx1ZV09XCJzZWFyY2hWYWx1ZVwiXG4gICAgICAvPlxuICAgICAgPHZlcmJlbi1zdmdcbiAgICAgICAgKm5nSWY9XCJzZWFyY2hWYWx1ZS5sZW5ndGggPiAwXCJcbiAgICAgICAgW2ljb25dPVwiJ2Nsb3NlJ1wiXG4gICAgICAgIFt3aWR0aF09XCIxNVwiXG4gICAgICAgIChjbGljayk9XCJvbkNsZWFyU2VhcmNoKClcIlxuICAgICAgICBjbGFzcz1cImNsb3NlLWljb24tY2xhc3NcIlxuICAgICAgICBbaGVpZ2h0XT1cIjE1XCJcbiAgICAgID48L3ZlcmJlbi1zdmc+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciByZWxhdGl2ZSBnYXAgZmxleC0xIGp1c3RpZnktZW5kIFwiPlxuICAgIDwhLS0gQ29sdW1uIFNlY3Rpb24gLS0+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgW2FwcE91dFNpZGVDbGlja109XCJzaG93Q29sdW1uQ2hpbGRcIlxuICAgICAgKG91dFNpZGVDbGljayk9XCJyZXNldENoaWxkVmlld3NFeGNlcHQoJ2NvbHVtbicpXCJcbiAgICAgICpuZ0lmPVwidmlld1N0YXRlLmlzQ29sdW1uICYmIGlzVGFibGVWaWV3XCJcbiAgICA+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29sdW1uVGVtcGxhdGU7IGVsc2UgZGVmYXVsdENvbHVtblwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0Q29sdW1uPlxuICAgICAgICA8c3BhblxuICAgICAgICAgIFtuZ0NsYXNzXT1cIltcbiAgICAgICAgICAgICdmbGV4IGdhcCB0ZXh0LXhzIGl0ZW1zLWNlbnRlciBwZCByb3VuZGVkIGN1cnNvci1wb2ludGVyJyxcbiAgICAgICAgICAgIGNvbHVtbkN1c3RvbUNsYXNzID8gY29sdW1uQ3VzdG9tQ2xhc3MgOiAnJ1xuICAgICAgICAgIF1cIlxuICAgICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT1cIicjRDlEOUQ5NDAnXCJcbiAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlQ2hpbGRWaWV3KCdjb2x1bW4nKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8dmVyYmVuLXN2ZyBbd2lkdGhdPVwiMTVcIiBbaWNvbl09XCInY29sdW1uJ1wiPjwvdmVyYmVuLXN2Zz5cbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgPkNvbHVtbnMgPHN1cD4oe3sgc2VsZWN0ZWRDb2x1bW5Db3VudCB9fSk8L3N1cD48L3NwYW5cbiAgICAgICAgICA+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPGRpdiBbc3R5bGUuei1pbmRleF09XCJ6SW5kZXhcIiBjbGFzcz1cImRhdGEtdmlldy1lbGVtZW50XCI+XG4gICAgICAgICAgPG5nLWNvbnRlbnQgKm5nSWY9XCJzaG93Q29sdW1uQ2hpbGRcIiBzZWxlY3Q9XCJbY29sdW1uLWNvbnRlbnRdXCI+XG4gICAgICAgICAgPC9uZy1jb250ZW50PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8IS0tIEZpbHRlciBTZWN0aW9uIC0tPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgIFthcHBPdXRTaWRlQ2xpY2tdPVwic2hvd0ZpbHRlckNoaWxkXCJcbiAgICAgIChvdXRTaWRlQ2xpY2spPVwicmVzZXRDaGlsZFZpZXdzRXhjZXB0KCdmaWx0ZXInKVwiXG4gICAgICAqbmdJZj1cInZpZXdTdGF0ZS5pc0ZpbHRlclwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZpbHRlclRlbXBsYXRlOyBlbHNlIGRlZmF1bHRGaWx0ZXJcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdEZpbHRlcj5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICBbbmdDbGFzc109XCJbXG4gICAgICAgICAgICAnZmxleCBnYXAgdGV4dC14cyBpdGVtcy1jZW50ZXIgcGQgcm91bmRlZCBjdXJzb3ItcG9pbnRlcicsXG4gICAgICAgICAgICBmaWx0ZXJDdXN0b21DbGFzcyA/IGZpbHRlckN1c3RvbUNsYXNzIDogJydcbiAgICAgICAgICBdXCJcbiAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCInI0Q5RDlEOTQwJ1wiXG4gICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZUNoaWxkVmlldygnZmlsdGVyJylcIlxuICAgICAgICA+XG4gICAgICAgICAgPHZlcmJlbi1zdmcgW3dpZHRoXT1cIjE1XCIgW2ljb25dPVwiJ2ZpbHRlcidcIj48L3ZlcmJlbi1zdmc+XG4gICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgID5GaWx0ZXIgPHN1cD4oe3sgc2VsZWN0ZWRGaWx0ZXJUYWJsZUNvdW50IH19KTwvc3VwPjwvc3BhblxuICAgICAgICAgID5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8ZGl2IFtzdHlsZS56LWluZGV4XT1cInpJbmRleFwiIGNsYXNzPVwiZGF0YS12aWV3LWVsZW1lbnRcIj5cbiAgICAgICAgICA8bmctY29udGVudFxuICAgICAgICAgICAgKm5nSWY9XCJzaG93RmlsdGVyQ2hpbGRcIlxuICAgICAgICAgICAgc2VsZWN0PVwiW2ZpbHRlci1jb250ZW50XVwiXG4gICAgICAgICAgPjwvbmctY29udGVudD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPCEtLSBTb3J0IFNlY3Rpb24gLS0+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgW2FwcE91dFNpZGVDbGlja109XCJzaG93U29ydENoaWxkXCJcbiAgICAgIChvdXRTaWRlQ2xpY2spPVwicmVzZXRDaGlsZFZpZXdzRXhjZXB0KCdzb3J0JylcIlxuICAgICAgKm5nSWY9XCJ2aWV3U3RhdGUuaXNTb3J0XCJcbiAgICA+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic29ydFRlbXBsYXRlOyBlbHNlIGRlZmF1bHRTb3J0XCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRTb3J0PlxuICAgICAgICA8c3BhblxuICAgICAgICAgIFtuZ0NsYXNzXT1cIltcbiAgICAgICAgICAgICdmbGV4IGdhcCB0ZXh0LXhzIGl0ZW1zLWNlbnRlciBwZCByb3VuZGVkIGN1cnNvci1wb2ludGVyJyxcbiAgICAgICAgICAgIHNvcnRDdXN0b21DbGFzcyA/IHNvcnRDdXN0b21DbGFzcyA6ICcnXG4gICAgICAgICAgXVwiXG4gICAgICAgICAgW3N0eWxlLmJhY2tncm91bmQtY29sb3JdPVwiJyNEOUQ5RDk0MCdcIlxuICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVDaGlsZFZpZXcoJ3NvcnQnKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8dmVyYmVuLXN2ZyBbd2lkdGhdPVwiMTVcIiBbaWNvbl09XCInc29ydCdcIj48L3ZlcmJlbi1zdmc+XG4gICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgID5Tb3J0IDxzdXA+KHt7IHNlbGVjdGVkU29ydENvdW50IH19KTwvc3VwPjwvc3BhblxuICAgICAgICAgID5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8ZGl2IFtzdHlsZS56LWluZGV4XT1cInpJbmRleFwiIGNsYXNzPVwiZGF0YS12aWV3LWVsZW1lbnRcIj5cbiAgICAgICAgICA8bmctY29udGVudFxuICAgICAgICAgICAgKm5nSWY9XCJzaG93U29ydENoaWxkXCJcbiAgICAgICAgICAgIHNlbGVjdD1cIltzb3J0LWNvbnRlbnRdXCJcbiAgICAgICAgICA+PC9uZy1jb250ZW50PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8IS0tIEV4cG9ydCBTZWN0aW9uIC0tPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgIFthcHBPdXRTaWRlQ2xpY2tdPVwic2hvd0V4cG9ydENoaWxkXCJcbiAgICAgIChvdXRTaWRlQ2xpY2spPVwicmVzZXRDaGlsZFZpZXdzRXhjZXB0KCdleHBvcnQnKVwiXG4gICAgICAqbmdJZj1cInZpZXdTdGF0ZS5pc0V4cG9ydFwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImV4cG9ydFRlbXBsYXRlOyBlbHNlIGRlZmF1bHRFeHBvcnRcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdEV4cG9ydD5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICBbbmdDbGFzc109XCJbXG4gICAgICAgICAgICAnZmxleCBnYXAgdGV4dC14cyBpdGVtcy1jZW50ZXIgcGQgcm91bmRlZCBjdXJzb3ItcG9pbnRlcicsXG4gICAgICAgICAgICBleHBvcnRDdXN0b21DbGFzcyA/IGV4cG9ydEN1c3RvbUNsYXNzIDogJydcbiAgICAgICAgICBdXCJcbiAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCInI0Q5RDlEOTQwJ1wiXG4gICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZUNoaWxkVmlldygnZXhwb3J0JylcIlxuICAgICAgICA+XG4gICAgICAgICAgPHZlcmJlbi1zdmcgW3dpZHRoXT1cIjE1XCIgW2ljb25dPVwiJ2V4cG9ydCdcIj48L3ZlcmJlbi1zdmc+XG4gICAgICAgICAgRXhwb3J0XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPGRpdiBbc3R5bGUuei1pbmRleF09XCJ6SW5kZXhcIiBjbGFzcz1cImRhdGEtdmlldy1lbGVtZW50XCI+XG4gICAgICAgICAgPG5nLWNvbnRlbnRcbiAgICAgICAgICAgICpuZ0lmPVwic2hvd0V4cG9ydENoaWxkXCJcbiAgICAgICAgICAgIHNlbGVjdD1cIltleHBvcnQtY29udGVudF1cIlxuICAgICAgICAgID48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDwhLS0gU2VsZWN0IFNlY3Rpb24gLS0+XG4gICAgPGRpdiAqbmdJZj1cInZpZXdTdGF0ZS5pc1NlbGVjdFwiPlxuICAgICAgPHNwYW5cbiAgICAgICAgW25nQ2xhc3NdPVwiW1xuICAgICAgICAgICdmbGV4IGdhcCB0ZXh0LXhzIGl0ZW1zLWNlbnRlciBwZCByb3VuZGVkIGN1cnNvci1wb2ludGVyJyxcbiAgICAgICAgICBzZWxlY3RDdXN0b21DbGFzcyA/IHNlbGVjdEN1c3RvbUNsYXNzIDogJydcbiAgICAgICAgXVwiXG4gICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT1cIicjRDlEOUQ5NDAnXCJcbiAgICAgICAgKGNsaWNrKT1cInRvZ2dsZUNoaWxkVmlldygnc2VsZWN0JylcIlxuICAgICAgPlxuICAgICAgICA8dmVyYmVuLXN2ZyBbd2lkdGhdPVwiMTVcIiBbaWNvbl09XCInc2VsZWN0J1wiPjwvdmVyYmVuLXN2Zz5cbiAgICAgICAgPHNwYW4+U2VsZWN0PC9zcGFuPlxuICAgICAgICA8dmVyYmVuLXN2ZyBbd2lkdGhdPVwiNlwiIFtpY29uXT1cIidjaGV2cm9uLWRvd24nXCI+PC92ZXJiZW4tc3ZnPlxuICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuXG4gICAgPCEtLSBDcmVhdGUgQnV0dG9uIC0tPlxuXG4gICAgPGRpdlxuICAgICAgW2FwcE91dFNpZGVDbGlja109XCJjcmVhdGVcIlxuICAgICAgKG91dFNpZGVDbGljayk9XCJyZXNldENoaWxkVmlld3NFeGNlcHQoJ2NyZWF0ZScpXCJcbiAgICAgICpuZ0lmPVwidmlld1N0YXRlLmlzQ3JlYXRlXCJcbiAgICA+XG4gICAgICA8dmVyYmVuYS1idXR0b25cbiAgICAgICAgY2xhc3M9XCJ0ZXh0LXNtIGZvbnQtc2VtaWJvbGRcIlxuICAgICAgICBbYmdDb2xvcl09XCInI0ZGRTY4MSdcIlxuICAgICAgICBbYnV0dG9uQ2xhc3NdPVwiY3JlYXRlQ3VzdG9tQ2xhc3NcIlxuICAgICAgICBbcGRdPVwiJzZweCdcIlxuICAgICAgICBbYm9yZGVyUmFkaXVzXT1cIic0cHgnXCJcbiAgICAgICAgW3RleHRDb2xvcl09XCInIzAwMCdcIlxuICAgICAgICBbc3ZnXT1cIidhZGQnXCJcbiAgICAgICAgW3N2Z1Bvc2l0aW9uXT1cIidyaWdodCdcIlxuICAgICAgICBbdGV4dF09XCInQ3JlYXRlIE5ldydcIlxuICAgICAgICAoY2xpY2spPVwidG9nZ2xlQ2hpbGRWaWV3KCdjcmVhdGUnKVwiXG4gICAgICA+XG4gICAgICA8L3ZlcmJlbmEtYnV0dG9uPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNyZWF0ZVRlbXBsYXRlOyBlbHNlIGRlZmF1bHRDcmVhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdENyZWF0ZT5cbiAgICAgICAgPGRpdiBbc3R5bGUuei1pbmRleF09XCJ6SW5kZXhcIiBjbGFzcz1cImRhdGEtdmlldy1lbGVtZW50XCI+XG4gICAgICAgICAgPG5nLWNvbnRlbnQgKm5nSWY9XCJjcmVhdGVcIiBzZWxlY3Q9XCJbY3JlYXRlLWNvbnRlbnRdXCI+PC9uZy1jb250ZW50PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9kaXY+XG4gICAgPGRpdj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjaGlsZHJlbjsgZWxzZSBkZWZhdWx0Q2hpbGRyZW5cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdENoaWxkcmVuPlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltjaGlsZHJlbl1cIj48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPCEtLSBHcmlkIGFuZCBMaXN0IFZpZXcgSGFuZGxpbmcgLS0+XG48ZGl2ICpuZ0lmPVwiaXNUYWJsZVZpZXc7IGVsc2UgbGlzdFZpZXdUZW1wbGF0ZVwiPlxuICBcbiAgPGRpdiBbc3R5bGUub3ZlcmZsb3ddPVwiJ2F1dG8nXCIgW2NsYXNzXT1cInRhYmxlQ2xhc3NcIj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbdGFibGUtY29udGVudF1cIj48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuPC9kaXY+XG48bmctdGVtcGxhdGUgI2xpc3RWaWV3VGVtcGxhdGU+XG4gIDxkaXYgW2NsYXNzXT1cImNhcmRDbGFzc1wiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltjYXJkLWNvbnRlbnRdXCI+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
214
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZlcmJlbi1uZy11aS9zcmMvbGliL2NvbXBvbmVudHMvZGF0YS12aWV3L2RhdGEtdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4tbmctdWkvc3JjL2xpYi9jb21wb25lbnRzL2RhdGEtdmlldy9kYXRhLXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7QUFtQnZCLE1BQU0sT0FBTyxpQkFBaUI7SUFDbkIsV0FBVyxDQUFVO0lBQ3JCLFNBQVMsQ0FBVTtJQUNuQixlQUFlLEdBQVUsRUFBRSxDQUFBO0lBQzNCLGlCQUFpQixHQUFTLEVBQUUsQ0FBQTtJQUM1QixpQkFBaUIsR0FBUyxFQUFFLENBQUE7SUFDNUIsZUFBZSxHQUFTLEVBQUUsQ0FBQTtJQUMxQixpQkFBaUIsR0FBUyxFQUFFLENBQUE7SUFDNUIsaUJBQWlCLEdBQVMsRUFBRSxDQUFBO0lBQzVCLE1BQU0sR0FBUyxDQUFDLENBQUE7SUFDaEIsaUJBQWlCLEdBQVEsRUFBRSxDQUFBO0lBQzNCLFNBQVMsR0FBVyxRQUFRLENBQUM7SUFDN0IsUUFBUSxHQUFXLFdBQVcsQ0FBQztJQUMvQixTQUFTLEdBQVcsRUFBRSxDQUFDO0lBQ3ZCLFVBQVUsR0FBVyxFQUFFLENBQUM7SUFDeEIsU0FBUyxHQUFRLFFBQVEsQ0FBQztJQUMxQixXQUFXLEdBQVEsRUFBRSxDQUFDO0lBQ3RCLFNBQVMsR0FBYztRQUM5QixRQUFRLEVBQUUsSUFBSTtRQUNkLFFBQVEsRUFBRSxJQUFJO1FBQ2QsUUFBUSxFQUFFLElBQUk7UUFDZCxNQUFNLEVBQUUsSUFB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SztnQkFDRSxlQUFlO3NCQUF0QixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUVHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0ksVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmludGVyZmFjZSBWaWV3U3RhdGUge1xuICBpc1NlYXJjaD86IGJvb2xlYW47XG4gIGlzQ29sdW1uPzogYm9vbGVhbjtcbiAgaXNGaWx0ZXI/OiBib29sZWFuO1xuICBpc1NvcnQ/OiBib29sZWFuO1xuICBpc0V4cG9ydD86IGJvb2xlYW47XG4gIGlzU2VsZWN0PzogYm9vbGVhbjtcbiAgaXNDcmVhdGU/OmJvb2xlYW5cbiAgaXNUb2dnbGU/OmJvb2xlYW5cbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmVyYmVuLWRhdGEtdmlldycsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRhLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kYXRhLXZpZXcuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRGF0YVZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBidXR0b25DbGFzcz86IHN0cmluZztcbiAgQElucHV0KCkgaWNvbkNsYXNzPzogc3RyaW5nO1xuICBASW5wdXQoKSBhY3RpdmVJY29uQ2xhc3M/OiBzdHJpbmc9XCJcIlxuICBASW5wdXQoKSBjb2x1bW5DdXN0b21DbGFzcz86c3RyaW5nPScnXG4gIEBJbnB1dCgpIGZpbHRlckN1c3RvbUNsYXNzPzpzdHJpbmc9JydcbiAgQElucHV0KCkgc29ydEN1c3RvbUNsYXNzPzpzdHJpbmc9JydcbiAgQElucHV0KCkgZXhwb3J0Q3VzdG9tQ2xhc3M/OnN0cmluZz0nJ1xuICBASW5wdXQoKSBzZWxlY3RDdXN0b21DbGFzcz86c3RyaW5nPScnXG4gIEBJbnB1dCgpIHpJbmRleD86bnVtYmVyPTVcbiAgQElucHV0KCkgY3JlYXRlQ3VzdG9tQ2xhc3M6c3RyaW5nPScnXG4gIEBJbnB1dCgpIHRhYmxlSWNvbjogc3RyaW5nID0gJ2dyaWQtMyc7XG4gIEBJbnB1dCgpIGNhcmRJY29uOiBzdHJpbmcgPSAnbGlzdC12aWV3JztcbiAgQElucHV0KCkgY2FyZENsYXNzOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgdGFibGVDbGFzczogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHNlYXJjaEtleTpzdHJpbmc9J3NlYXJjaCc7XG4gIEBJbnB1dCgpIHNlYXJjaFZhbHVlOnN0cmluZz0nJztcbiAgQElucHV0KCkgdmlld1N0YXRlOiBWaWV3U3RhdGUgPSB7XG4gICAgaXNTZWFyY2g6IHRydWUsXG4gICAgaXNDb2x1bW46IHRydWUsXG4gICAgaXNGaWx0ZXI6IHRydWUsXG4gICAgaXNTb3J0OiB0cnVlLFxuICAgIGlzRXhwb3J0OiB0cnVlLFxuICAgIGlzU2VsZWN0OiB0cnVlLFxuICAgIGlzQ3JlYXRlOnRydWUsXG4gICAgaXNUb2dnbGU6dHJ1ZVxuICB9O1xuXG4gIEBJbnB1dCgpIHNlYXJjaFRlbXBsYXRlPzogTm9kZTtcbiAgQElucHV0KCkgY29sdW1uVGVtcGxhdGU/OiBOb2RlO1xuICBASW5wdXQoKSBmaWx0ZXJUZW1wbGF0ZT86IE5vZGU7XG4gIEBJbnB1dCgpIHNvcnRUZW1wbGF0ZT86IE5vZGU7XG4gIEBJbnB1dCgpIGNoaWxkcmVuPzogTm9kZTtcbiAgQElucHV0KCkgZXhwb3J0VGVtcGxhdGU/OiBOb2RlO1xuICBASW5wdXQoKSBjcmVhdGVUZW1wbGF0ZT86IE5vZGU7XG4gIEBJbnB1dCgpIHNlbGVjdGVkQ29sdW1uQ291bnQ/OiBudW1iZXIgPSAwO1xuICBASW5wdXQoKSBzZWxlY3RlZFNvcnRDb3VudDogbnVtYmVyID0gMDtcbiAgQElucHV0KCkgc2VsZWN0ZWRGaWx0ZXJUYWJsZUNvdW50OiBudW1iZXIgPSAwO1xuICBASW5wdXQoKSBpbnB1dFdpZHRoOiBzdHJpbmc9XCIxMDAlXCI7XG4gIEBJbnB1dCgpc2hvd0NvbHVtbkNoaWxkOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNob3dTb3J0Q2hpbGQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgc2hvd0ZpbHRlckNoaWxkOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNob3dFeHBvcnRDaGlsZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBjcmVhdGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgc2hvd1NlbGVjdGVkOiBib29sZWFuID0gZmFsc2U7XG4gIFxuICBASW5wdXQoKSBpc1RhYmxlVmlldzogYm9vbGVhbiA9IGZhbHNlO1xuICBAT3V0cHV0KCkgdmlld0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgQE91dHB1dCgpIHN0YXRlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjx7IGtleTogc3RyaW5nOyB2YWx1ZTogYm9vbGVhbiB9PigpO1xuICBAT3V0cHV0KCkgb25TZWFyY2hDaGFuZ2U9bmV3IEV2ZW50RW1pdHRlcjx7IGtleTogc3RyaW5nOyB2YWx1ZTogc3RyaW5nIH0+KClcbiAgbmdPbkluaXQoKTogdm9pZCB7fVxuXG4gIHRvZ2dsZVZpZXcoKTogdm9pZCB7XG4gICAgdGhpcy5pc1RhYmxlVmlldyA9ICF0aGlzLmlzVGFibGVWaWV3O1xuICAgIHRoaXMudmlld0NoYW5nZS5lbWl0KHRoaXMuaXNUYWJsZVZpZXcpO1xuICB9XG5cbiAgb25TZWFyY2goZXZlbnQ6YW55KTogdm9pZCB7XG4gICAgdGhpcy5zZWFyY2hWYWx1ZT1ldmVudC50YXJnZXQudmFsdWVcbiAgICB0aGlzLm9uU2VhcmNoQ2hhbmdlLmVtaXQoe2tleTp0aGlzLnNlYXJjaEtleSwgdmFsdWU6dGhpcy5zZWFyY2hWYWx1ZX0pO1xuICB9XG4gIFxub25DbGVhclNlYXJjaCgpe1xuIHRoaXMuc2VhcmNoVmFsdWU9XCJcIlxuIHRoaXMub25TZWFyY2hDaGFuZ2UuZW1pdCh7IGtleTogdGhpcy5zZWFyY2hLZXksIHZhbHVlOiB0aGlzLnNlYXJjaFZhbHVlIH0pO1xuXG59XG4gIHRvZ2dsZUNoaWxkVmlldyh2aWV3VHlwZTogc3RyaW5nKTogdm9pZCB7XG4gICAgc3dpdGNoICh2aWV3VHlwZSkge1xuICAgICAgY2FzZSAnY29sdW1uJzpcbiAgICAgICAgdGhpcy5zaG93Q29sdW1uQ2hpbGQgPSAhdGhpcy5zaG93Q29sdW1uQ2hpbGQ7XG4gICAgICAgIHRoaXMucmVzZXRDaGlsZFZpZXdzRXhjZXB0KCdjb2x1bW4nKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdmaWx0ZXInOlxuICAgICAgICB0aGlzLnNob3dGaWx0ZXJDaGlsZCA9ICF0aGlzLnNob3dGaWx0ZXJDaGlsZDtcbiAgICAgICAgdGhpcy5yZXNldENoaWxkVmlld3NFeGNlcHQoJ2ZpbHRlcicpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3NvcnQnOlxuICAgICAgICB0aGlzLnNob3dTb3J0Q2hpbGQgPSAhdGhpcy5zaG93U29ydENoaWxkO1xuICAgICAgICB0aGlzLnJlc2V0Q2hpbGRWaWV3c0V4Y2VwdCgnc29ydCcpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3NlbGVjdCc6XG4gICAgICAgIHRoaXMuc2hvd1NlbGVjdGVkID0gIXRoaXMuc2hvd1NlbGVjdGVkO1xuICAgICAgICB0aGlzLnJlc2V0Q2hpbGRWaWV3c0V4Y2VwdCgnc2VsZWN0Jyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnZXhwb3J0JzpcbiAgICAgICAgdGhpcy5zaG93RXhwb3J0Q2hpbGQgPSAhdGhpcy5zaG93RXhwb3J0Q2hpbGQ7XG4gICAgICAgIHRoaXMucmVzZXRDaGlsZFZpZXdzRXhjZXB0KCdleHBvcnQnKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2NyZWF0ZSc6XG4gICAgICAgICAgdGhpcy5jcmVhdGUgPSAhdGhpcy5jcmVhdGU7XG4gICAgICAgICAgdGhpcy5yZXNldENoaWxkVmlld3NFeGNlcHQoJ2NyZWF0ZScpO1xuICAgICAgICAgIGJyZWFrO1xuICAgIH1cbiAgICB0aGlzLnN0YXRlQ2hhbmdlLmVtaXQoeyBrZXk6IHZpZXdUeXBlLCB2YWx1ZTogdGhpcy5nZXRDaGlsZFZpZXdTdGF0ZSh2aWV3VHlwZSkgfSk7XG4gICAgXG4gIH1cbiAgcmVzZXRDaGlsZFZpZXdzRXhjZXB0KHZpZXdUeXBlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAodmlld1R5cGUgIT09ICdjb2x1bW4nKSB0aGlzLnNob3dDb2x1bW5DaGlsZCA9IGZhbHNlO1xuICAgIGlmICh2aWV3VHlwZSAhPT0gJ2ZpbHRlcicpIHRoaXMuc2hvd0ZpbHRlckNoaWxkID0gZmFsc2U7XG4gICAgaWYgKHZpZXdUeXBlICE9PSAnc29ydCcpIHRoaXMuc2hvd1NvcnRDaGlsZCA9IGZhbHNlO1xuICAgIGlmICh2aWV3VHlwZSAhPT0gJ3NlbGVjdCcpIHRoaXMuc2hvd1NlbGVjdGVkID0gZmFsc2U7XG4gICAgaWYgKHZpZXdUeXBlICE9PSAnZXhwb3J0JykgdGhpcy5zaG93RXhwb3J0Q2hpbGQgPSBmYWxzZTtcbiAgICBpZiAodmlld1R5cGUgIT09ICdjcmVhdGUnKSB0aGlzLmNyZWF0ZSA9IGZhbHNlO1xuICB9XG5cbiAgLy8gSGVscGVyIG1ldGhvZCB0byBnZXQgdGhlIHN0YXRlIG9mIGEgc3BlY2lmaWMgY2hpbGQgdmlld1xuICBnZXRDaGlsZFZpZXdTdGF0ZSh2aWV3VHlwZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgc3dpdGNoICh2aWV3VHlwZSkge1xuICAgICAgY2FzZSAnY29sdW1uJzpcbiAgICAgICAgcmV0dXJuIHRoaXMuc2hvd0NvbHVtbkNoaWxkO1xuICAgICAgY2FzZSAnZmlsdGVyJzpcbiAgICAgICAgcmV0dXJuIHRoaXMuc2hvd0ZpbHRlckNoaWxkO1xuICAgICAgY2FzZSAnc29ydCc6XG4gICAgICAgIHJldHVybiB0aGlzLnNob3dTb3J0Q2hpbGQ7XG4gICAgICBjYXNlICdzZWxlY3QnOlxuICAgICAgICByZXR1cm4gdGhpcy5zaG93U2VsZWN0ZWQ7XG4gICAgICBjYXNlICdleHBvcnQnOlxuICAgICAgICByZXR1cm4gdGhpcy5zaG93RXhwb3J0Q2hpbGQ7XG4gICAgICAgIGNhc2UgJ2NyZWF0ZSc6XG4gICAgICAgIHJldHVybiB0aGlzLmNyZWF0ZTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ0b29sYmFyIGZsZXggZ2FwIGp1c3RpZnktYmV0d2VlbiBpdGVtcy1jZW50ZXIgXCI+XG4gIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAgZmxleC0xIGp1c3RpZnktZW5kXCI+XG4gICAgPGRpdiAqbmdJZj1cInZpZXdTdGF0ZS5pc1RvZ2dsZVwiIGNsYXNzPVwidG9nZ2xlLWJ1dHRvbi1jb250YWluZXJcIj5cbiAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJ0b2dnbGVWaWV3KClcIiBbbmdDbGFzc109XCJidXR0b25DbGFzc1wiPlxuICAgICAgICA8dmVyYmVuLXN2Z1xuICAgICAgICAgIFtpY29uXT1cInRhYmxlSWNvblwiXG4gICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCIhaXNUYWJsZVZpZXdcIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cIiFpc1RhYmxlVmlldyA/IGFjdGl2ZUljb25DbGFzcyA6IGljb25DbGFzc1wiXG4gICAgICAgID48L3ZlcmJlbi1zdmc+XG4gICAgICAgIDx2ZXJiZW4tc3ZnXG4gICAgICAgICAgW2ljb25dPVwiY2FyZEljb25cIlxuICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiaXNUYWJsZVZpZXdcIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cImlzVGFibGVWaWV3ID8gYWN0aXZlSWNvbkNsYXNzIDogaWNvbkNsYXNzXCJcbiAgICAgICAgICBbd2lkdGhdPVwiMjVcIlxuICAgICAgICAgIFtoZWlnaHRdPVwiMjVcIlxuICAgICAgICA+PC92ZXJiZW4tc3ZnPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gICAgPCEtLSBTZWFyY2ggSW5wdXQgLS0+XG4gICAgPGRpdlxuICAgICAgW3N0eWxlLndpZHRoXT1cImlucHV0V2lkdGhcIlxuICAgICAgY2xhc3M9XCJzZWFyY2gtaW5wdXRcIlxuICAgICAgKm5nSWY9XCJ2aWV3U3RhdGUuaXNTZWFyY2hcIlxuICAgID5cbiAgICAgIDx2ZXJiZW5hLWlucHV0XG4gICAgICAgIFt0eXBlXT1cIid0ZXh0J1wiXG4gICAgICAgIFtwbGFjZUhvbGRlcl09XCInU2VhcmNoLi4uJ1wiXG4gICAgICAgIChpbnB1dCk9XCJvblNlYXJjaCgkZXZlbnQpXCJcbiAgICAgICAgW2JnQ29sb3JdPVwiJ3RyYW5zcGFyZW50J1wiXG4gICAgICAgIFtib3JkZXJdPVwiJzAnXCJcbiAgICAgICAgW3ZhbHVlXT1cInNlYXJjaFZhbHVlXCJcbiAgICAgIC8+XG4gICAgICA8dmVyYmVuLXN2Z1xuICAgICAgICAqbmdJZj1cInNlYXJjaFZhbHVlLmxlbmd0aCA+IDBcIlxuICAgICAgICBbaWNvbl09XCInY2xvc2UnXCJcbiAgICAgICAgW3dpZHRoXT1cIjE1XCJcbiAgICAgICAgKGNsaWNrKT1cIm9uQ2xlYXJTZWFyY2goKVwiXG4gICAgICAgIGNsYXNzPVwiY2xvc2UtaWNvbi1jbGFzc1wiXG4gICAgICAgIFtoZWlnaHRdPVwiMTVcIlxuICAgICAgPjwvdmVyYmVuLXN2Zz5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIHJlbGF0aXZlIGdhcCBmbGV4LTEganVzdGlmeS1lbmQgXCI+XG4gICAgPCEtLSBDb2x1bW4gU2VjdGlvbiAtLT5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICBbYXBwT3V0U2lkZUNsaWNrXT1cInNob3dDb2x1bW5DaGlsZFwiXG4gICAgICAob3V0U2lkZUNsaWNrKT1cInJlc2V0Q2hpbGRWaWV3c0V4Y2VwdCgnY29sdW1uJylcIlxuICAgICAgKm5nSWY9XCJ2aWV3U3RhdGUuaXNDb2x1bW4gJiYgaXNUYWJsZVZpZXdcIlxuICAgID5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb2x1bW5UZW1wbGF0ZTsgZWxzZSBkZWZhdWx0Q29sdW1uXCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRDb2x1bW4+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgW25nQ2xhc3NdPVwiW1xuICAgICAgICAgICAgJ2ZsZXggZ2FwIHRleHQteHMgaXRlbXMtY2VudGVyIHBkIHJvdW5kZWQgY3Vyc29yLXBvaW50ZXInLFxuICAgICAgICAgICAgY29sdW1uQ3VzdG9tQ2xhc3MgPyBjb2x1bW5DdXN0b21DbGFzcyA6ICcnXG4gICAgICAgICAgXVwiXG4gICAgICAgICAgW3N0eWxlLmJhY2tncm91bmQtY29sb3JdPVwiJyNEOUQ5RDk0MCdcIlxuICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVDaGlsZFZpZXcoJ2NvbHVtbicpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDx2ZXJiZW4tc3ZnIFt3aWR0aF09XCIxNVwiIFtpY29uXT1cIidjb2x1bW4nXCI+PC92ZXJiZW4tc3ZnPlxuICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICA+Q29sdW1ucyA8c3VwPih7eyBzZWxlY3RlZENvbHVtbkNvdW50IH19KTwvc3VwPjwvc3BhblxuICAgICAgICAgID5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8ZGl2IFtzdHlsZS56LWluZGV4XT1cInpJbmRleFwiIGNsYXNzPVwiZGF0YS12aWV3LWVsZW1lbnRcIj5cbiAgICAgICAgICA8bmctY29udGVudCAqbmdJZj1cInNob3dDb2x1bW5DaGlsZFwiIHNlbGVjdD1cIltjb2x1bW4tY29udGVudF1cIj5cbiAgICAgICAgICA8L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDwhLS0gRmlsdGVyIFNlY3Rpb24gLS0+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgW2FwcE91dFNpZGVDbGlja109XCJzaG93RmlsdGVyQ2hpbGRcIlxuICAgICAgKG91dFNpZGVDbGljayk9XCJyZXNldENoaWxkVmlld3NFeGNlcHQoJ2ZpbHRlcicpXCJcbiAgICAgICpuZ0lmPVwidmlld1N0YXRlLmlzRmlsdGVyXCJcbiAgICA+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmlsdGVyVGVtcGxhdGU7IGVsc2UgZGVmYXVsdEZpbHRlclwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0RmlsdGVyPlxuICAgICAgICA8c3BhblxuICAgICAgICAgIFtuZ0NsYXNzXT1cIltcbiAgICAgICAgICAgICdmbGV4IGdhcCB0ZXh0LXhzIGl0ZW1zLWNlbnRlciBwZCByb3VuZGVkIGN1cnNvci1wb2ludGVyJyxcbiAgICAgICAgICAgIGZpbHRlckN1c3RvbUNsYXNzID8gZmlsdGVyQ3VzdG9tQ2xhc3MgOiAnJ1xuICAgICAgICAgIF1cIlxuICAgICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT1cIicjRDlEOUQ5NDAnXCJcbiAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlQ2hpbGRWaWV3KCdmaWx0ZXInKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8dmVyYmVuLXN2ZyBbd2lkdGhdPVwiMTVcIiBbaWNvbl09XCInZmlsdGVyJ1wiPjwvdmVyYmVuLXN2Zz5cbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgPkZpbHRlciA8c3VwPih7eyBzZWxlY3RlZEZpbHRlclRhYmxlQ291bnQgfX0pPC9zdXA+PC9zcGFuXG4gICAgICAgICAgPlxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxkaXYgW3N0eWxlLnotaW5kZXhdPVwiekluZGV4XCIgY2xhc3M9XCJkYXRhLXZpZXctZWxlbWVudFwiPlxuICAgICAgICAgIDxuZy1jb250ZW50XG4gICAgICAgICAgICAqbmdJZj1cInNob3dGaWx0ZXJDaGlsZFwiXG4gICAgICAgICAgICBzZWxlY3Q9XCJbZmlsdGVyLWNvbnRlbnRdXCJcbiAgICAgICAgICA+PC9uZy1jb250ZW50PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8IS0tIFNvcnQgU2VjdGlvbiAtLT5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICBbYXBwT3V0U2lkZUNsaWNrXT1cInNob3dTb3J0Q2hpbGRcIlxuICAgICAgKG91dFNpZGVDbGljayk9XCJyZXNldENoaWxkVmlld3NFeGNlcHQoJ3NvcnQnKVwiXG4gICAgICAqbmdJZj1cInZpZXdTdGF0ZS5pc1NvcnRcIlxuICAgID5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzb3J0VGVtcGxhdGU7IGVsc2UgZGVmYXVsdFNvcnRcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdFNvcnQ+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgW25nQ2xhc3NdPVwiW1xuICAgICAgICAgICAgJ2ZsZXggZ2FwIHRleHQteHMgaXRlbXMtY2VudGVyIHBkIHJvdW5kZWQgY3Vyc29yLXBvaW50ZXInLFxuICAgICAgICAgICAgc29ydEN1c3RvbUNsYXNzID8gc29ydEN1c3RvbUNsYXNzIDogJydcbiAgICAgICAgICBdXCJcbiAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCInI0Q5RDlEOTQwJ1wiXG4gICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZUNoaWxkVmlldygnc29ydCcpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDx2ZXJiZW4tc3ZnIFt3aWR0aF09XCIxNVwiIFtpY29uXT1cIidzb3J0J1wiPjwvdmVyYmVuLXN2Zz5cbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgPlNvcnQgPHN1cD4oe3sgc2VsZWN0ZWRTb3J0Q291bnQgfX0pPC9zdXA+PC9zcGFuXG4gICAgICAgICAgPlxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxkaXYgW3N0eWxlLnotaW5kZXhdPVwiekluZGV4XCIgY2xhc3M9XCJkYXRhLXZpZXctZWxlbWVudFwiPlxuICAgICAgICAgIDxuZy1jb250ZW50XG4gICAgICAgICAgICAqbmdJZj1cInNob3dTb3J0Q2hpbGRcIlxuICAgICAgICAgICAgc2VsZWN0PVwiW3NvcnQtY29udGVudF1cIlxuICAgICAgICAgID48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDwhLS0gRXhwb3J0IFNlY3Rpb24gLS0+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgW2FwcE91dFNpZGVDbGlja109XCJzaG93RXhwb3J0Q2hpbGRcIlxuICAgICAgKG91dFNpZGVDbGljayk9XCJyZXNldENoaWxkVmlld3NFeGNlcHQoJ2V4cG9ydCcpXCJcbiAgICAgICpuZ0lmPVwidmlld1N0YXRlLmlzRXhwb3J0XCJcbiAgICA+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZXhwb3J0VGVtcGxhdGU7IGVsc2UgZGVmYXVsdEV4cG9ydFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0RXhwb3J0PlxuICAgICAgICA8c3BhblxuICAgICAgICAgIFtuZ0NsYXNzXT1cIltcbiAgICAgICAgICAgICdmbGV4IGdhcCB0ZXh0LXhzIGl0ZW1zLWNlbnRlciBwZCByb3VuZGVkIGN1cnNvci1wb2ludGVyJyxcbiAgICAgICAgICAgIGV4cG9ydEN1c3RvbUNsYXNzID8gZXhwb3J0Q3VzdG9tQ2xhc3MgOiAnJ1xuICAgICAgICAgIF1cIlxuICAgICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT1cIicjRDlEOUQ5NDAnXCJcbiAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlQ2hpbGRWaWV3KCdleHBvcnQnKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8dmVyYmVuLXN2ZyBbd2lkdGhdPVwiMTVcIiBbaWNvbl09XCInZXhwb3J0J1wiPjwvdmVyYmVuLXN2Zz5cbiAgICAgICAgICBFeHBvcnRcbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8ZGl2IFtzdHlsZS56LWluZGV4XT1cInpJbmRleFwiIGNsYXNzPVwiZGF0YS12aWV3LWVsZW1lbnRcIj5cbiAgICAgICAgICA8bmctY29udGVudFxuICAgICAgICAgICAgKm5nSWY9XCJzaG93RXhwb3J0Q2hpbGRcIlxuICAgICAgICAgICAgc2VsZWN0PVwiW2V4cG9ydC1jb250ZW50XVwiXG4gICAgICAgICAgPjwvbmctY29udGVudD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPCEtLSBTZWxlY3QgU2VjdGlvbiAtLT5cbiAgICA8ZGl2ICpuZ0lmPVwidmlld1N0YXRlLmlzU2VsZWN0XCI+XG4gICAgICA8c3BhblxuICAgICAgICBbbmdDbGFzc109XCJbXG4gICAgICAgICAgJ2ZsZXggZ2FwIHRleHQteHMgaXRlbXMtY2VudGVyIHBkIHJvdW5kZWQgY3Vyc29yLXBvaW50ZXInLFxuICAgICAgICAgIHNlbGVjdEN1c3RvbUNsYXNzID8gc2VsZWN0Q3VzdG9tQ2xhc3MgOiAnJ1xuICAgICAgICBdXCJcbiAgICAgICAgW3N0eWxlLmJhY2tncm91bmQtY29sb3JdPVwiJyNEOUQ5RDk0MCdcIlxuICAgICAgICAoY2xpY2spPVwidG9nZ2xlQ2hpbGRWaWV3KCdzZWxlY3QnKVwiXG4gICAgICA+XG4gICAgICAgIDx2ZXJiZW4tc3ZnIFt3aWR0aF09XCIxNVwiIFtpY29uXT1cIidzZWxlY3QnXCI+PC92ZXJiZW4tc3ZnPlxuICAgICAgICA8c3Bhbj5TZWxlY3Q8L3NwYW4+XG4gICAgICAgIDx2ZXJiZW4tc3ZnIFt3aWR0aF09XCI2XCIgW2ljb25dPVwiJ2NoZXZyb24tZG93bidcIj48L3ZlcmJlbi1zdmc+XG4gICAgICA8L3NwYW4+XG4gICAgPC9kaXY+XG5cbiAgICA8IS0tIENyZWF0ZSBCdXR0b24gLS0+XG5cbiAgICA8ZGl2XG4gICAgICBbYXBwT3V0U2lkZUNsaWNrXT1cImNyZWF0ZVwiXG4gICAgICAob3V0U2lkZUNsaWNrKT1cInJlc2V0Q2hpbGRWaWV3c0V4Y2VwdCgnY3JlYXRlJylcIlxuICAgICAgKm5nSWY9XCJ2aWV3U3RhdGUuaXNDcmVhdGVcIlxuICAgID5cbiAgICAgIDx2ZXJiZW5hLWJ1dHRvblxuICAgICAgICBjbGFzcz1cInRleHQtc20gZm9udC1zZW1pYm9sZFwiXG4gICAgICAgIFtiZ0NvbG9yXT1cIicjRkZFNjgxJ1wiXG4gICAgICAgIFtidXR0b25DbGFzc109XCJjcmVhdGVDdXN0b21DbGFzc1wiXG4gICAgICAgIFtwZF09XCInNnB4J1wiXG4gICAgICAgIFtib3JkZXJSYWRpdXNdPVwiJzRweCdcIlxuICAgICAgICBbdGV4dENvbG9yXT1cIicjMDAwJ1wiXG4gICAgICAgIFtzdmddPVwiJ2FkZCdcIlxuICAgICAgICBbc3ZnUG9zaXRpb25dPVwiJ3JpZ2h0J1wiXG4gICAgICAgIFt0ZXh0XT1cIidDcmVhdGUgTmV3J1wiXG4gICAgICAgIChjbGljayk9XCJ0b2dnbGVDaGlsZFZpZXcoJ2NyZWF0ZScpXCJcbiAgICAgID5cbiAgICAgIDwvdmVyYmVuYS1idXR0b24+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY3JlYXRlVGVtcGxhdGU7IGVsc2UgZGVmYXVsdENyZWF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0Q3JlYXRlPlxuICAgICAgICA8ZGl2IFtzdHlsZS56LWluZGV4XT1cInpJbmRleFwiIGNsYXNzPVwiZGF0YS12aWV3LWVsZW1lbnRcIj5cbiAgICAgICAgICA8bmctY29udGVudCAqbmdJZj1cImNyZWF0ZVwiIHNlbGVjdD1cIltjcmVhdGUtY29udGVudF1cIj48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2PlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNoaWxkcmVuOyBlbHNlIGRlZmF1bHRDaGlsZHJlblwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0Q2hpbGRyZW4+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2NoaWxkcmVuXVwiPjwvbmctY29udGVudD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48IS0tIEdyaWQgYW5kIExpc3QgVmlldyBIYW5kbGluZyAtLT5cbjxkaXYgKm5nSWY9XCJpc1RhYmxlVmlldzsgZWxzZSBsaXN0Vmlld1RlbXBsYXRlXCI+XG4gIFxuICA8ZGl2IFtzdHlsZS5vdmVyZmxvd109XCInYXV0bydcIiBbY2xhc3NdPVwidGFibGVDbGFzc1wiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIlt0YWJsZS1jb250ZW50XVwiPjwvbmctY29udGVudD5cbiAgPC9kaXY+XG48L2Rpdj5cbjxuZy10ZW1wbGF0ZSAjbGlzdFZpZXdUZW1wbGF0ZT5cbiAgPGRpdiBbY2xhc3NdPVwiY2FyZENsYXNzXCI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2NhcmQtY29udGVudF1cIj48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -3,6 +3,7 @@ import * as i0 from "@angular/core";
3
3
  import * as i1 from "@angular/common";
4
4
  export class VerbenPopUpComponent {
5
5
  elementRef;
6
+ renderer;
6
7
  dropdownOpen = false;
7
8
  dropdownOpenChange = new EventEmitter();
8
9
  dropdownWidth = '';
@@ -13,12 +14,16 @@ export class VerbenPopUpComponent {
13
14
  borderRadius = '';
14
15
  enableMouseLeave = true;
15
16
  close = new EventEmitter();
16
- constructor(elementRef) {
17
+ constructor(elementRef, renderer) {
17
18
  this.elementRef = elementRef;
19
+ this.renderer = renderer;
18
20
  }
19
21
  toggleDropdown() {
20
22
  this.dropdownOpen = !this.dropdownOpen;
21
23
  this.dropdownOpenChange.emit(this.dropdownOpen);
24
+ if (this.dropdownOpen) {
25
+ this.setDropdownPosition();
26
+ }
22
27
  }
23
28
  onMouseOut() {
24
29
  if (this.enableMouseLeave) {
@@ -49,13 +54,97 @@ export class VerbenPopUpComponent {
49
54
  this.dropdownOpenChange.emit(this.dropdownOpen);
50
55
  }
51
56
  }
52
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: VerbenPopUpComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
53
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.5", type: VerbenPopUpComponent, selector: "verben-pop-Up", inputs: { dropdownOpen: "dropdownOpen", dropdownWidth: "dropdownWidth", color: "color", customStyles: "customStyles", popUpClass: "popUpClass", border: "border", borderRadius: "borderRadius", enableMouseLeave: "enableMouseLeave" }, outputs: { dropdownOpenChange: "dropdownOpenChange", close: "close" }, host: { listeners: { "document:click": "onClickOutside($event.target)" } }, ngImport: i0, template: "<div class=\"relative dropdown-container\" [ngStyle]=\"dropdownStyles\">\n <span (click)=\"toggleDropdown()\">\n <ng-content select=\"[dropdown-trigger]\"></ng-content>\n </span>\n\n <div\n appDropdownPosition\n [ngClass]=\"{'z-[9999]': true}\"\n *ngIf=\"dropdownOpen\"\n (mouseleave)=\"onMouseOut()\"\n [attr.aria-hidden]=\"!dropdownOpen\"\n class=\"absolute top-2 left-0 {{popUpClass}}\"\n [ngStyle]=\"yourStyles\"\n >\n <ng-content select=\"[dropdown-content]\"></ng-content>\n </div>\n</div>\n", styles: [".boxShadow{box-shadow:4px 4px 4px #00000040}.dropdown-content{transition:transform .2s ease-in-out,opacity .2s ease-in-out;transform:scale(.95);opacity:0}.dropdown-content.open{transform:scale(1);opacity:1}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
57
+ // private setDropdownPosition(): void {
58
+ // const dropdown = this.elementRef.nativeElement.querySelector('.dropdown-menu');
59
+ // const dropdownRect = dropdown.getBoundingClientRect();
60
+ // const parentRect = this.elementRef.nativeElement.getBoundingClientRect();
61
+ // const viewportHeight = window.innerHeight;
62
+ // const viewportWidth = window.innerWidth;
63
+ // console.log('Dropdown Rect:', dropdownRect);
64
+ // console.log('Parent Rect:', parentRect);
65
+ // console.log('Viewport:', { width: viewportWidth, height: viewportHeight });
66
+ // // Check vertical space
67
+ // if (viewportHeight - parentRect.bottom < dropdownRect.height) {
68
+ // // Position above
69
+ // this.renderer.setStyle(dropdown, 'top', 'auto');
70
+ // this.renderer.setStyle(dropdown, 'bottom', `${parentRect.height}px`);
71
+ // } else {
72
+ // // Position below
73
+ // this.renderer.setStyle(dropdown, 'top', `${parentRect.height}px`);
74
+ // this.renderer.setStyle(dropdown, 'bottom', 'auto');
75
+ // }
76
+ // // Check horizontal space
77
+ // if (parentRect.left + dropdownRect.width > viewportWidth) {
78
+ // // Position to the left
79
+ // this.renderer.setStyle(dropdown, 'left', 'auto');
80
+ // this.renderer.setStyle(dropdown, 'right', '0');
81
+ // } else if (parentRect.right - dropdownRect.width < 0) {
82
+ // // Position to the right
83
+ // this.renderer.setStyle(dropdown, 'left', '0');
84
+ // this.renderer.setStyle(dropdown, 'right', 'auto');
85
+ // } else {
86
+ // // Default alignment
87
+ // this.renderer.setStyle(dropdown, 'left', '0');
88
+ // this.renderer.setStyle(dropdown, 'right', 'auto');
89
+ // }
90
+ // }
91
+ ngAfterViewChecked() {
92
+ if (this.dropdownOpen) {
93
+ this.setDropdownPosition();
94
+ }
95
+ }
96
+ setDropdownPosition() {
97
+ const dropdown = this.elementRef.nativeElement.querySelector('.dropdown-container > div');
98
+ // const triggerElement = this.elementRef.nativeElement.querySelector('dropdown-menu')
99
+ if (!dropdown) {
100
+ console.warn('Dropdown element not found.');
101
+ return;
102
+ }
103
+ const dropdownRect = dropdown.getBoundingClientRect();
104
+ const parentRect = this.elementRef.nativeElement.getBoundingClientRect();
105
+ const viewportHeight = window.innerHeight;
106
+ const viewportWidth = window.innerWidth;
107
+ console.log('Dropdown Rect:', dropdownRect);
108
+ console.log('Parent Rect:', parentRect);
109
+ console.log('Viewport:', { width: viewportWidth, height: viewportHeight });
110
+ // Vertical Positioning
111
+ if (viewportHeight - parentRect.bottom < dropdownRect.height) {
112
+ // Not enough space below, position above
113
+ console.log('not enough space below');
114
+ const topPosition = parentRect.top - dropdownRect.height;
115
+ console.log('top pos:', topPosition);
116
+ this.renderer.setStyle(dropdown, 'top', `auto`);
117
+ this.renderer.setStyle(dropdown, 'bottom', '15px');
118
+ }
119
+ else {
120
+ // Enough space below, position below
121
+ console.log('Enough space below');
122
+ const topPosition = parentRect.bottom;
123
+ this.renderer.setStyle(dropdown, 'top', `20px`);
124
+ this.renderer.setStyle(dropdown, 'bottom', 'auto');
125
+ }
126
+ // Horizontal Positioning
127
+ if (parentRect.left + dropdownRect.width > viewportWidth) {
128
+ console.log('not Enough space right');
129
+ const leftPosition = viewportWidth - dropdownRect.width - 10;
130
+ this.renderer.setStyle(dropdown, 'left', `auto`);
131
+ // this.renderer.setStyle(dropdown, 'left', `${Math.max(leftPosition, 0)}px`);
132
+ this.renderer.setStyle(dropdown, 'right', '10px');
133
+ }
134
+ else {
135
+ console.log('Enough space right');
136
+ const leftPosition = parentRect.left;
137
+ this.renderer.setStyle(dropdown, 'left', `${10}px`);
138
+ this.renderer.setStyle(dropdown, 'right', 'auto');
139
+ }
140
+ }
141
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: VerbenPopUpComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
142
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.5", type: VerbenPopUpComponent, selector: "verben-pop-Up", inputs: { dropdownOpen: "dropdownOpen", dropdownWidth: "dropdownWidth", color: "color", customStyles: "customStyles", popUpClass: "popUpClass", border: "border", borderRadius: "borderRadius", enableMouseLeave: "enableMouseLeave" }, outputs: { dropdownOpenChange: "dropdownOpenChange", close: "close" }, host: { listeners: { "document:click": "onClickOutside($event.target)" } }, ngImport: i0, template: "<span class=\"relative dropdown-container\" [ngStyle]=\"dropdownStyles\">\n <span (click)=\"toggleDropdown()\" class=\"dropdown-menu\">\n <ng-content select=\"[dropdown-trigger]\"></ng-content>\n </span>\n\n <div\n [ngClass]=\"{'z-[9999]': true}\"\n *ngIf=\"dropdownOpen\"\n (mouseleave)=\"onMouseOut()\"\n [attr.aria-hidden]=\"!dropdownOpen\"\n class=\"absolute bottom-2 right-0 {{popUpClass}}\"\n [ngStyle]=\"yourStyles\"\n >\n <ng-content select=\"[dropdown-content]\"></ng-content>\n </div>\n</span>", styles: [".boxShadow{box-shadow:4px 4px 4px #00000040}.dropdown-content{transition:transform .2s ease-in-out,opacity .2s ease-in-out;transform:scale(.95);opacity:0}.dropdown-content.open{transform:scale(1);opacity:1}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
54
143
  }
55
144
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: VerbenPopUpComponent, decorators: [{
56
145
  type: Component,
57
- args: [{ selector: 'verben-pop-Up', template: "<div class=\"relative dropdown-container\" [ngStyle]=\"dropdownStyles\">\n <span (click)=\"toggleDropdown()\">\n <ng-content select=\"[dropdown-trigger]\"></ng-content>\n </span>\n\n <div\n appDropdownPosition\n [ngClass]=\"{'z-[9999]': true}\"\n *ngIf=\"dropdownOpen\"\n (mouseleave)=\"onMouseOut()\"\n [attr.aria-hidden]=\"!dropdownOpen\"\n class=\"absolute top-2 left-0 {{popUpClass}}\"\n [ngStyle]=\"yourStyles\"\n >\n <ng-content select=\"[dropdown-content]\"></ng-content>\n </div>\n</div>\n", styles: [".boxShadow{box-shadow:4px 4px 4px #00000040}.dropdown-content{transition:transform .2s ease-in-out,opacity .2s ease-in-out;transform:scale(.95);opacity:0}.dropdown-content.open{transform:scale(1);opacity:1}\n"] }]
58
- }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { dropdownOpen: [{
146
+ args: [{ selector: 'verben-pop-Up', template: "<span class=\"relative dropdown-container\" [ngStyle]=\"dropdownStyles\">\n <span (click)=\"toggleDropdown()\" class=\"dropdown-menu\">\n <ng-content select=\"[dropdown-trigger]\"></ng-content>\n </span>\n\n <div\n [ngClass]=\"{'z-[9999]': true}\"\n *ngIf=\"dropdownOpen\"\n (mouseleave)=\"onMouseOut()\"\n [attr.aria-hidden]=\"!dropdownOpen\"\n class=\"absolute bottom-2 right-0 {{popUpClass}}\"\n [ngStyle]=\"yourStyles\"\n >\n <ng-content select=\"[dropdown-content]\"></ng-content>\n </div>\n</span>", styles: [".boxShadow{box-shadow:4px 4px 4px #00000040}.dropdown-content{transition:transform .2s ease-in-out,opacity .2s ease-in-out;transform:scale(.95);opacity:0}.dropdown-content.open{transform:scale(1);opacity:1}\n"] }]
147
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { dropdownOpen: [{
59
148
  type: Input
60
149
  }], dropdownOpenChange: [{
61
150
  type: Output
@@ -79,4 +168,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImpor
79
168
  type: HostListener,
80
169
  args: ['document:click', ['$event.target']]
81
170
  }] } });
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wLXVwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZlcmJlbi1uZy11aS9zcmMvbGliL2NvbXBvbmVudHMvcG9wLXVwL3BvcC11cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4tbmctdWkvc3JjL2xpYi9jb21wb25lbnRzL3BvcC11cC9wb3AtdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQWMsTUFBTSxlQUFlLENBQUM7OztBQU9qRyxNQUFNLE9BQU8sb0JBQW9CO0lBWVg7SUFYWCxZQUFZLEdBQVksS0FBSyxDQUFDO0lBQzdCLGtCQUFrQixHQUEwQixJQUFJLFlBQVksRUFBVyxDQUFDO0lBQ3pFLGFBQWEsR0FBVyxFQUFFLENBQUM7SUFDM0IsS0FBSyxHQUFXLE9BQU8sQ0FBQztJQUN4QixZQUFZLEdBQThCLEVBQUUsQ0FBQztJQUM3QyxVQUFVLEdBQVUsRUFBRSxDQUFDO0lBQ3ZCLE1BQU0sR0FBVyxFQUFFLENBQUM7SUFDcEIsWUFBWSxHQUFXLEVBQUUsQ0FBQztJQUMxQixnQkFBZ0IsR0FBWSxJQUFJLENBQUM7SUFDaEMsS0FBSyxHQUF3QixJQUFJLFlBQVksRUFBRSxDQUFDO0lBRTFELFlBQW9CLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7SUFBRyxDQUFDO0lBRTlDLGNBQWM7UUFDWixJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUN2QyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztZQUMxQixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNsRCxDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDaEIsT0FBTztZQUNMLEtBQUssRUFBRSxJQUFJLENBQUMsYUFBYTtZQUN6QixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDbkIsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO1NBQ2hDLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1osT0FBTztZQUNMLEdBQUcsSUFBSSxDQUFDLFlBQVk7U0FDckIsQ0FBQztJQUNKLENBQUM7SUFHRCxjQUFjLENBQUMsYUFBMEI7UUFDdkMsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzVFLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3hDLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1lBQzFCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2xELENBQUM7SUFDSCxDQUFDO3VHQXBEVSxvQkFBb0I7MkZBQXBCLG9CQUFvQixnYkNQakMsbWhCQWlCQTs7MkZEVmEsb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLGVBQWU7K0VBS2hCLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0ksa0JBQWtCO3NCQUEzQixNQUFNO2dCQUNFLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0ksS0FBSztzQkFBZCxNQUFNO2dCQW9DUCxjQUFjO3NCQURiLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgSG9zdExpc3RlbmVyLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZlcmJlbi1wb3AtVXAnLFxuICB0ZW1wbGF0ZVVybDogJy4vcG9wLXVwLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcG9wLXVwLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBWZXJiZW5Qb3BVcENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGRyb3Bkb3duT3BlbjogYm9vbGVhbiA9IGZhbHNlO1xuICBAT3V0cHV0KCkgZHJvcGRvd25PcGVuQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIEBJbnB1dCgpIGRyb3Bkb3duV2lkdGg6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBjb2xvcjogc3RyaW5nID0gJ2JsYWNrJztcbiAgQElucHV0KCkgY3VzdG9tU3R5bGVzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge307IFxuICBASW5wdXQoKSBwb3BVcENsYXNzOnN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBib3JkZXI6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBib3JkZXJSYWRpdXM6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBlbmFibGVNb3VzZUxlYXZlOiBib29sZWFuID0gdHJ1ZTsgXG4gIEBPdXRwdXQoKSBjbG9zZTogRXZlbnRFbWl0dGVyPEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHt9XG5cbiAgdG9nZ2xlRHJvcGRvd24oKSB7XG4gICAgdGhpcy5kcm9wZG93bk9wZW4gPSAhdGhpcy5kcm9wZG93bk9wZW47XG4gICAgdGhpcy5kcm9wZG93bk9wZW5DaGFuZ2UuZW1pdCh0aGlzLmRyb3Bkb3duT3Blbik7XG4gIH1cblxuICBvbk1vdXNlT3V0KCkge1xuICAgIGlmICh0aGlzLmVuYWJsZU1vdXNlTGVhdmUpIHtcbiAgICAgIHRoaXMuY2xvc2UuZW1pdCgpO1xuICAgICAgdGhpcy5kcm9wZG93bk9wZW4gPSBmYWxzZTtcbiAgICAgIHRoaXMuZHJvcGRvd25PcGVuQ2hhbmdlLmVtaXQodGhpcy5kcm9wZG93bk9wZW4pO1xuICAgIH1cbiAgfVxuXG4gIG9uQ2xvc2UoKSB7XG4gICAgdGhpcy5jbG9zZS5lbWl0KCk7XG4gIH1cblxuICBnZXQgZHJvcGRvd25TdHlsZXMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHdpZHRoOiB0aGlzLmRyb3Bkb3duV2lkdGgsXG4gICAgICBib3JkZXI6IHRoaXMuYm9yZGVyLFxuICAgICAgYm9yZGVyUmFkaXVzOiB0aGlzLmJvcmRlclJhZGl1cyxcbiAgICB9O1xuICB9XG5cbiAgZ2V0IHlvdXJTdHlsZXMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnRoaXMuY3VzdG9tU3R5bGVzLFxuICAgIH07XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50LnRhcmdldCddKVxuICBvbkNsaWNrT3V0c2lkZSh0YXJnZXRFbGVtZW50OiBIVE1MRWxlbWVudCkge1xuICAgIGNvbnN0IGNsaWNrZWRJbnNpZGUgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyh0YXJnZXRFbGVtZW50KTtcbiAgICBpZiAoIWNsaWNrZWRJbnNpZGUgJiYgdGhpcy5kcm9wZG93bk9wZW4pIHtcbiAgICAgIHRoaXMuZHJvcGRvd25PcGVuID0gZmFsc2U7XG4gICAgICB0aGlzLmRyb3Bkb3duT3BlbkNoYW5nZS5lbWl0KHRoaXMuZHJvcGRvd25PcGVuKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJyZWxhdGl2ZSBkcm9wZG93bi1jb250YWluZXJcIiBbbmdTdHlsZV09XCJkcm9wZG93blN0eWxlc1wiPlxuICA8c3BhbiAoY2xpY2spPVwidG9nZ2xlRHJvcGRvd24oKVwiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltkcm9wZG93bi10cmlnZ2VyXVwiPjwvbmctY29udGVudD5cbiAgPC9zcGFuPlxuXG4gIDxkaXZcbiAgICBhcHBEcm9wZG93blBvc2l0aW9uXG4gICAgW25nQ2xhc3NdPVwieyd6LVs5OTk5XSc6IHRydWV9XCJcbiAgICAqbmdJZj1cImRyb3Bkb3duT3BlblwiXG4gICAgKG1vdXNlbGVhdmUpPVwib25Nb3VzZU91dCgpXCJcbiAgICBbYXR0ci5hcmlhLWhpZGRlbl09XCIhZHJvcGRvd25PcGVuXCJcbiAgICBjbGFzcz1cImFic29sdXRlIHRvcC0yIGxlZnQtMCB7e3BvcFVwQ2xhc3N9fVwiXG4gICAgW25nU3R5bGVdPVwieW91clN0eWxlc1wiXG4gID5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZHJvcGRvd24tY29udGVudF1cIj48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
171
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wLXVwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZlcmJlbi1uZy11aS9zcmMvbGliL2NvbXBvbmVudHMvcG9wLXVwL3BvcC11cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4tbmctdWkvc3JjL2xpYi9jb21wb25lbnRzL3BvcC11cC9wb3AtdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQTBDLE1BQU0sZUFBZSxDQUFDOzs7QUFPN0gsTUFBTSxPQUFPLG9CQUFvQjtJQVlYO0lBQStCO0lBWDFDLFlBQVksR0FBWSxLQUFLLENBQUM7SUFDN0Isa0JBQWtCLEdBQTBCLElBQUksWUFBWSxFQUFXLENBQUM7SUFDekUsYUFBYSxHQUFXLEVBQUUsQ0FBQztJQUMzQixLQUFLLEdBQVcsT0FBTyxDQUFDO0lBQ3hCLFlBQVksR0FBOEIsRUFBRSxDQUFDO0lBQzdDLFVBQVUsR0FBVSxFQUFFLENBQUM7SUFDdkIsTUFBTSxHQUFXLEVBQUUsQ0FBQztJQUNwQixZQUFZLEdBQVcsRUFBRSxDQUFDO0lBQzFCLGdCQUFnQixHQUFZLElBQUksQ0FBQztJQUNoQyxLQUFLLEdBQXdCLElBQUksWUFBWSxFQUFFLENBQUM7SUFFMUQsWUFBb0IsVUFBc0IsRUFBUyxRQUFtQjtRQUFsRCxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQVMsYUFBUSxHQUFSLFFBQVEsQ0FBVztJQUFHLENBQUM7SUFFMUUsY0FBYztRQUNaLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBR2hELElBQUks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IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBIb3N0TGlzdGVuZXIsIEVsZW1lbnRSZWYsUmVuZGVyZXIyLCBBZnRlclZpZXdDaGVja2VkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZlcmJlbi1wb3AtVXAnLFxuICB0ZW1wbGF0ZVVybDogJy4vcG9wLXVwLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcG9wLXVwLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBWZXJiZW5Qb3BVcENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0NoZWNrZWQge1xuICBASW5wdXQoKSBkcm9wZG93bk9wZW46IGJvb2xlYW4gPSBmYWxzZTtcbiAgQE91dHB1dCgpIGRyb3Bkb3duT3BlbkNoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBASW5wdXQoKSBkcm9wZG93bldpZHRoOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgY29sb3I6IHN0cmluZyA9ICdibGFjayc7XG4gIEBJbnB1dCgpIGN1c3RvbVN0eWxlczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9OyBcbiAgQElucHV0KCkgcG9wVXBDbGFzczpzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgYm9yZGVyOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgYm9yZGVyUmFkaXVzOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgZW5hYmxlTW91c2VMZWF2ZTogYm9vbGVhbiA9IHRydWU7IFxuICBAT3V0cHV0KCkgY2xvc2U6IEV2ZW50RW1pdHRlcjxFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMikge31cblxuICB0b2dnbGVEcm9wZG93bigpIHtcbiAgICB0aGlzLmRyb3Bkb3duT3BlbiA9ICF0aGlzLmRyb3Bkb3duT3BlbjtcbiAgICB0aGlzLmRyb3Bkb3duT3BlbkNoYW5nZS5lbWl0KHRoaXMuZHJvcGRvd25PcGVuKTtcblxuICAgIFxuICAgIGlmICh0aGlzLmRyb3Bkb3duT3Blbikge1xuICAgICAgdGhpcy5zZXREcm9wZG93blBvc2l0aW9uKCk7XG4gICAgfVxuICB9XG5cbiAgb25Nb3VzZU91dCgpIHtcbiAgICBpZiAodGhpcy5lbmFibGVNb3VzZUxlYXZlKSB7XG4gICAgICB0aGlzLmNsb3NlLmVtaXQoKTtcbiAgICAgIHRoaXMuZHJvcGRvd25PcGVuID0gZmFsc2U7XG4gICAgICB0aGlzLmRyb3Bkb3duT3BlbkNoYW5nZS5lbWl0KHRoaXMuZHJvcGRvd25PcGVuKTtcbiAgICB9XG4gIH1cblxuICBvbkNsb3NlKCkge1xuICAgIHRoaXMuY2xvc2UuZW1pdCgpO1xuICB9XG5cbiAgZ2V0IGRyb3Bkb3duU3R5bGVzKCkge1xuICAgIHJldHVybiB7XG4gICAgICB3aWR0aDogdGhpcy5kcm9wZG93bldpZHRoLFxuICAgICAgYm9yZGVyOiB0aGlzLmJvcmRlcixcbiAgICAgIGJvcmRlclJhZGl1czogdGhpcy5ib3JkZXJSYWRpdXMsXG4gICAgfTtcbiAgfVxuXG4gIGdldCB5b3VyU3R5bGVzKCkge1xuICAgIHJldHVybiB7XG4gICAgICAuLi50aGlzLmN1c3RvbVN0eWxlcyxcbiAgICB9O1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2snLCBbJyRldmVudC50YXJnZXQnXSlcbiAgb25DbGlja091dHNpZGUodGFyZ2V0RWxlbWVudDogSFRNTEVsZW1lbnQpIHtcbiAgICBjb25zdCBjbGlja2VkSW5zaWRlID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY29udGFpbnModGFyZ2V0RWxlbWVudCk7XG4gICAgaWYgKCFjbGlja2VkSW5zaWRlICYmIHRoaXMuZHJvcGRvd25PcGVuKSB7XG4gICAgICB0aGlzLmRyb3Bkb3duT3BlbiA9IGZhbHNlO1xuICAgICAgdGhpcy5kcm9wZG93bk9wZW5DaGFuZ2UuZW1pdCh0aGlzLmRyb3Bkb3duT3Blbik7XG4gICAgfVxuICB9XG5cbiAgLy8gcHJpdmF0ZSBzZXREcm9wZG93blBvc2l0aW9uKCk6IHZvaWQge1xuICAvLyAgIGNvbnN0IGRyb3Bkb3duID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLmRyb3Bkb3duLW1lbnUnKTtcbiAgLy8gICBjb25zdCBkcm9wZG93blJlY3QgPSBkcm9wZG93bi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgLy8gICBjb25zdCBwYXJlbnRSZWN0ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gIC8vICAgY29uc3Qgdmlld3BvcnRIZWlnaHQgPSB3aW5kb3cuaW5uZXJIZWlnaHQ7XG4gIC8vICAgY29uc3Qgdmlld3BvcnRXaWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoO1xuXG4gICAgXG4gIC8vICAgY29uc29sZS5sb2coJ0Ryb3Bkb3duIFJlY3Q6JywgZHJvcGRvd25SZWN0KTtcbiAgLy8gICBjb25zb2xlLmxvZygnUGFyZW50IFJlY3Q6JywgcGFyZW50UmVjdCk7XG4gIC8vICAgY29uc29sZS5sb2coJ1ZpZXdwb3J0OicsIHsgd2lkdGg6IHZpZXdwb3J0V2lkdGgsIGhlaWdodDogdmlld3BvcnRIZWlnaHQgfSk7XG4gIFxuXG4gIC8vICAgLy8gQ2hlY2sgdmVydGljYWwgc3BhY2VcbiAgLy8gICBpZiAodmlld3BvcnRIZWlnaHQgLSBwYXJlbnRSZWN0LmJvdHRvbSA8IGRyb3Bkb3duUmVjdC5oZWlnaHQpIHtcbiAgLy8gICAgIC8vIFBvc2l0aW9uIGFib3ZlXG4gIC8vICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGRyb3Bkb3duLCAndG9wJywgJ2F1dG8nKTtcbiAgLy8gICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZHJvcGRvd24sICdib3R0b20nLCBgJHtwYXJlbnRSZWN0LmhlaWdodH1weGApO1xuICAvLyAgIH0gZWxzZSB7XG4gIC8vICAgICAvLyBQb3NpdGlvbiBiZWxvd1xuICAvLyAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShkcm9wZG93biwgJ3RvcCcsIGAke3BhcmVudFJlY3QuaGVpZ2h0fXB4YCk7XG4gIC8vICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGRyb3Bkb3duLCAnYm90dG9tJywgJ2F1dG8nKTtcbiAgLy8gICB9XG5cbiAgLy8gICAvLyBDaGVjayBob3Jpem9udGFsIHNwYWNlXG4gIC8vICAgaWYgKHBhcmVudFJlY3QubGVmdCArIGRyb3Bkb3duUmVjdC53aWR0aCA+IHZpZXdwb3J0V2lkdGgpIHtcbiAgLy8gICAgIC8vIFBvc2l0aW9uIHRvIHRoZSBsZWZ0XG4gIC8vICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGRyb3Bkb3duLCAnbGVmdCcsICdhdXRvJyk7XG4gIC8vICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGRyb3Bkb3duLCAncmlnaHQnLCAnMCcpO1xuICAvLyAgIH0gZWxzZSBpZiAocGFyZW50UmVjdC5yaWdodCAtIGRyb3Bkb3duUmVjdC53aWR0aCA8IDApIHtcbiAgLy8gICAgIC8vIFBvc2l0aW9uIHRvIHRoZSByaWdodFxuICAvLyAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShkcm9wZG93biwgJ2xlZnQnLCAnMCcpO1xuICAvLyAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShkcm9wZG93biwgJ3JpZ2h0JywgJ2F1dG8nKTtcbiAgLy8gICB9IGVsc2Uge1xuICAvLyAgICAgLy8gRGVmYXVsdCBhbGlnbm1lbnRcbiAgLy8gICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZHJvcGRvd24sICdsZWZ0JywgJzAnKTtcbiAgLy8gICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZHJvcGRvd24sICdyaWdodCcsICdhdXRvJyk7XG4gIC8vICAgfVxuICAvLyB9XG5cbiAgbmdBZnRlclZpZXdDaGVja2VkKCkge1xuICAgIGlmICh0aGlzLmRyb3Bkb3duT3Blbikge1xuICAgICAgdGhpcy5zZXREcm9wZG93blBvc2l0aW9uKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXREcm9wZG93blBvc2l0aW9uKCk6IHZvaWQge1xuICAgIGNvbnN0IGRyb3Bkb3duID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLmRyb3Bkb3duLWNvbnRhaW5lciA+IGRpdicpO1xuICAgIC8vIGNvbnN0IHRyaWdnZXJFbGVtZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignZHJvcGRvd24tbWVudScpXG4gIFxuICAgIGlmICghZHJvcGRvd24pIHtcbiAgICAgIGNvbnNvbGUud2FybignRHJvcGRvd24gZWxlbWVudCBub3QgZm91bmQuJyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICBcbiAgICBjb25zdCBkcm9wZG93blJlY3QgPSBkcm9wZG93bi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBjb25zdCBwYXJlbnRSZWN0ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3Qgdmlld3BvcnRIZWlnaHQgPSB3aW5kb3cuaW5uZXJIZWlnaHQ7XG4gICAgY29uc3Qgdmlld3BvcnRXaWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoO1xuXG4gICAgXG4gICAgY29uc29sZS5sb2coJ0Ryb3Bkb3duIFJlY3Q6JywgZHJvcGRvd25SZWN0KTtcbiAgICBjb25zb2xlLmxvZygnUGFyZW50IFJlY3Q6JywgcGFyZW50UmVjdCk7XG4gICAgY29uc29sZS5sb2coJ1ZpZXdwb3J0OicsIHsgd2lkdGg6IHZpZXdwb3J0V2lkdGgsIGhlaWdodDogdmlld3BvcnRIZWlnaHQgfSk7XG4gIFxuICAgIC8vIFZlcnRpY2FsIFBvc2l0aW9uaW5nXG4gICAgaWYgKHZpZXdwb3J0SGVpZ2h0IC0gcGFyZW50UmVjdC5ib3R0b20gPCBkcm9wZG93blJlY3QuaGVpZ2h0KSB7XG4gICAgICAvLyBOb3QgZW5vdWdoIHNwYWNlIGJlbG93LCBwb3NpdGlvbiBhYm92ZVxuICAgICAgY29uc29sZS5sb2coJ25vdCBlbm91Z2ggc3BhY2UgYmVsb3cnKVxuICAgICAgY29uc3QgdG9wUG9zaXRpb24gPSBwYXJlbnRSZWN0LnRvcCAtIGRyb3Bkb3duUmVjdC5oZWlnaHQ7XG4gICAgICBjb25zb2xlLmxvZygndG9wIHBvczonLCB0b3BQb3NpdGlvbik7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGRyb3Bkb3duLCAndG9wJywgYGF1dG9gKTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZHJvcGRvd24sICdib3R0b20nLCAnMTVweCcpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBFbm91Z2ggc3BhY2UgYmVsb3csIHBvc2l0aW9uIGJlbG93XG4gICAgICBjb25zb2xlLmxvZygnRW5vdWdoIHNwYWNlIGJlbG93JylcbiAgICAgIGNvbnN0IHRvcFBvc2l0aW9uID0gcGFyZW50UmVjdC5ib3R0b207XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGRyb3Bkb3duLCAndG9wJywgYDIwcHhgKTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZHJvcGRvd24sICdib3R0b20nLCAnYXV0bycpO1xuICAgIH1cbiAgXG4gICAgLy8gSG9yaXpvbnRhbCBQb3NpdGlvbmluZ1xuICAgIGlmIChwYXJlbnRSZWN0LmxlZnQgKyBkcm9wZG93blJlY3Qud2lkdGggPiB2aWV3cG9ydFdpZHRoKSB7XG4gICAgICBjb25zb2xlLmxvZygnbm90IEVub3VnaCBzcGFjZSByaWdodCcpXG4gICAgICBjb25zdCBsZWZ0UG9zaXRpb24gPSB2aWV3cG9ydFdpZHRoIC0gZHJvcGRvd25SZWN0LndpZHRoIC0gMTA7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGRyb3Bkb3duLCAnbGVmdCcsIGBhdXRvYCk7XG4gICAgICAvLyB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGRyb3Bkb3duLCAnbGVmdCcsIGAke01hdGgubWF4KGxlZnRQb3NpdGlvbiwgMCl9cHhgKTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZHJvcGRvd24sICdyaWdodCcsICcxMHB4Jyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUubG9nKCdFbm91Z2ggc3BhY2UgcmlnaHQnKVxuICAgICAgY29uc3QgbGVmdFBvc2l0aW9uID0gcGFyZW50UmVjdC5sZWZ0O1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShkcm9wZG93biwgJ2xlZnQnLCBgJHsxMH1weGApO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShkcm9wZG93biwgJ3JpZ2h0JywgJ2F1dG8nKTtcbiAgICB9XG4gIH1cbiAgXG59IiwiPHNwYW4gY2xhc3M9XCJyZWxhdGl2ZSBkcm9wZG93bi1jb250YWluZXJcIiBbbmdTdHlsZV09XCJkcm9wZG93blN0eWxlc1wiPlxuICA8c3BhbiAoY2xpY2spPVwidG9nZ2xlRHJvcGRvd24oKVwiIGNsYXNzPVwiZHJvcGRvd24tbWVudVwiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltkcm9wZG93bi10cmlnZ2VyXVwiPjwvbmctY29udGVudD5cbiAgPC9zcGFuPlxuXG4gIDxkaXZcbiAgICBbbmdDbGFzc109XCJ7J3otWzk5OTldJzogdHJ1ZX1cIlxuICAgICpuZ0lmPVwiZHJvcGRvd25PcGVuXCJcbiAgICAobW91c2VsZWF2ZSk9XCJvbk1vdXNlT3V0KClcIlxuICAgIFthdHRyLmFyaWEtaGlkZGVuXT1cIiFkcm9wZG93bk9wZW5cIlxuICAgIGNsYXNzPVwiYWJzb2x1dGUgYm90dG9tLTIgcmlnaHQtMCB7e3BvcFVwQ2xhc3N9fVwiXG4gICAgW25nU3R5bGVdPVwieW91clN0eWxlc1wiXG4gID5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZHJvcGRvd24tY29udGVudF1cIj48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuPC9zcGFuPiJdfQ==
@@ -3,19 +3,19 @@ export class Config {
3
3
  typeOptions = [
4
4
  {
5
5
  type: DataFilterType.String,
6
- options: [ConditionalOptions.Equal, ConditionalOptions.NotEqual]
6
+ options: [ConditionalOptions.On, ConditionalOptions.NotEqual]
7
7
  },
8
8
  {
9
9
  type: DataFilterType.Integer,
10
- options: [ConditionalOptions.Equal, ConditionalOptions.LessThan, ConditionalOptions.GreaterThan]
10
+ options: [ConditionalOptions.On, ConditionalOptions.Before, ConditionalOptions.LessThanAndEqual, ConditionalOptions.After, ConditionalOptions.GreaterThanAndEqual]
11
11
  },
12
12
  {
13
13
  type: DataFilterType.Decimal,
14
- options: [ConditionalOptions.Equal, ConditionalOptions.LessThan, ConditionalOptions.GreaterThan]
14
+ options: [ConditionalOptions.On, ConditionalOptions.Before, ConditionalOptions.LessThanAndEqual, ConditionalOptions.After, ConditionalOptions.GreaterThanAndEqual]
15
15
  },
16
16
  {
17
17
  type: DataFilterType.Credit,
18
- options: [ConditionalOptions.Equal, ConditionalOptions.LessThan, ConditionalOptions.GreaterThan]
18
+ options: [ConditionalOptions.On, ConditionalOptions.Before, ConditionalOptions.LessThanAndEqual, ConditionalOptions.After, ConditionalOptions.GreaterThanAndEqual]
19
19
  },
20
20
  {
21
21
  type: DataFilterType.Date,
@@ -31,4 +31,4 @@ export class Config {
31
31
  return typeOption ? typeOption.options : null;
32
32
  }
33
33
  }
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdmVyYmVuLW5nLXVpL3NyYy9saWIvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxjQUFjLEVBQWUsTUFBTSx1QkFBdUIsQ0FBQztBQUV4RixNQUFNLE9BQU8sTUFBTTtJQUNmLFdBQVcsR0FBa0I7UUFDekI7WUFDRSxJQUFJLEVBQUUsY0FBYyxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLENBQUMsa0JBQWtCLENBQUMsS0FBSyxFQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQztTQUNoRTtRQUNEO1lBQ0UsSUFBSSxFQUFFLGNBQWMsQ0FBQyxPQUFPO1lBQzVCLE9BQU8sRUFBRSxDQUFDLGtCQUFrQixDQUFDLEtBQUssRUFBRSxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsa0JBQWtCLENBQUMsV0FBVyxDQUFDO1NBQ2pHO1FBQ0Q7WUFDRSxJQUFJLEVBQUUsY0FBYyxDQUFDLE9BQU87WUFDNUIsT0FBTyxFQUFFLENBQUMsa0JBQWtCLENBQUMsS0FBSyxFQUFFLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxrQkFBa0IsQ0FBQyxXQUFXLENBQUM7U0FDakc7UUFDRDtZQUNFLElBQUksRUFBRSxjQUFjLENBQUMsTUFBTTtZQUMzQixPQUFPLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsa0JBQWtCLENBQUMsUUFBUSxFQUFFLGtCQUFrQixDQUFDLFdBQVcsQ0FBQztTQUNqRztRQUNEO1lBQ0UsSUFBSSxFQUFFLGNBQWMsQ0FBQyxJQUFJO1lBQ3pCLE9BQU8sRUFBRSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsRUFBQyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDO1NBQ3BGO1FBQ0Q7WUFDRSxJQUFJLEVBQUUsY0FBYyxDQUFDLElBQUk7WUFDekIsT0FBTyxFQUFFLENBQUMsa0JBQWtCLENBQUMsR0FBRyxFQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQztTQUN4RDtLQUNGLENBQUM7SUFFRixtQkFBbUIsQ0FBQyxVQUEwQjtRQUM1QyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssVUFBVSxDQUFDLENBQUM7UUFDL0UsT0FBTyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNsRCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25kaXRpb25hbE9wdGlvbnMsIERhdGFGaWx0ZXJUeXBlLCBJVHlwZU9wdGlvbiB9IGZyb20gXCIuL21vZGVscy90YWJsZS1maWx0ZXJcIjtcblxuZXhwb3J0IGNsYXNzIENvbmZpZyB7XG4gICAgdHlwZU9wdGlvbnM6IElUeXBlT3B0aW9uW10gPSBbXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiBEYXRhRmlsdGVyVHlwZS5TdHJpbmcsXG4gICAgICAgICAgb3B0aW9uczogW0NvbmRpdGlvbmFsT3B0aW9ucy5FcXVhbCxDb25kaXRpb25hbE9wdGlvbnMuTm90RXF1YWxdXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiBEYXRhRmlsdGVyVHlwZS5JbnRlZ2VyLFxuICAgICAgICAgIG9wdGlvbnM6IFtDb25kaXRpb25hbE9wdGlvbnMuRXF1YWwsIENvbmRpdGlvbmFsT3B0aW9ucy5MZXNzVGhhbiwgQ29uZGl0aW9uYWxPcHRpb25zLkdyZWF0ZXJUaGFuXSBcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6IERhdGFGaWx0ZXJUeXBlLkRlY2ltYWwsXG4gICAgICAgICAgb3B0aW9uczogW0NvbmRpdGlvbmFsT3B0aW9ucy5FcXVhbCwgQ29uZGl0aW9uYWxPcHRpb25zLkxlc3NUaGFuLCBDb25kaXRpb25hbE9wdGlvbnMuR3JlYXRlclRoYW5dXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiBEYXRhRmlsdGVyVHlwZS5DcmVkaXQsXG4gICAgICAgICAgb3B0aW9uczogW0NvbmRpdGlvbmFsT3B0aW9ucy5FcXVhbCwgQ29uZGl0aW9uYWxPcHRpb25zLkxlc3NUaGFuLCBDb25kaXRpb25hbE9wdGlvbnMuR3JlYXRlclRoYW5dXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiBEYXRhRmlsdGVyVHlwZS5EYXRlLFxuICAgICAgICAgIG9wdGlvbnM6IFtDb25kaXRpb25hbE9wdGlvbnMuT24sQ29uZGl0aW9uYWxPcHRpb25zLkJlZm9yZSxDb25kaXRpb25hbE9wdGlvbnMuQWZ0ZXJdIFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogRGF0YUZpbHRlclR5cGUuQm9vbCxcbiAgICAgICAgICBvcHRpb25zOiBbQ29uZGl0aW9uYWxPcHRpb25zLlllcyxDb25kaXRpb25hbE9wdGlvbnMuTm9dXG4gICAgICAgIH1cbiAgICAgIF07XG5cbiAgICAgIGdldENvbmRpdGlvbk9wdGlvbnMoZmlsdGVyVHlwZTogRGF0YUZpbHRlclR5cGUpOiBzdHJpbmdbXSB8IG51bGwge1xuICAgICAgICBjb25zdCB0eXBlT3B0aW9uID0gdGhpcy50eXBlT3B0aW9ucy5maW5kKG9wdGlvbiA9PiBvcHRpb24udHlwZSA9PT0gZmlsdGVyVHlwZSk7XG4gICAgICAgIHJldHVybiB0eXBlT3B0aW9uID8gdHlwZU9wdGlvbi5vcHRpb25zIDogbnVsbDtcbiAgICB9IFxufVxuXG5cbiJdfQ==
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdmVyYmVuLW5nLXVpL3NyYy9saWIvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxjQUFjLEVBQWUsTUFBTSx1QkFBdUIsQ0FBQztBQUV4RixNQUFNLE9BQU8sTUFBTTtJQUNqQixXQUFXLEdBQWtCO1FBQzNCO1lBQ0UsSUFBSSxFQUFFLGNBQWMsQ0FBQyxNQUFNO1lBQzNCLE9BQU8sRUFBRSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsRUFBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUM7U0FDN0Q7UUFDRDtZQUNFLElBQUksRUFBRSxjQUFjLENBQUMsT0FBTztZQUM1QixPQUFPLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLEVBQUUsa0JBQWtCLENBQUMsTUFBTSxFQUFDLGtCQUFrQixDQUFDLGdCQUFnQixFQUFFLGtCQUFrQixDQUFDLEtBQUssRUFBQyxrQkFBa0IsQ0FBQyxtQkFBbUIsQ0FBQztTQUNqSztRQUNEO1lBQ0UsSUFBSSxFQUFFLGNBQWMsQ0FBQyxPQUFPO1lBQzVCLE9BQU8sRUFBRSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsRUFBRSxrQkFBa0IsQ0FBQyxNQUFNLEVBQUMsa0JBQWtCLENBQUMsZ0JBQWdCLEVBQUUsa0JBQWtCLENBQUMsS0FBSyxFQUFDLGtCQUFrQixDQUFDLG1CQUFtQixDQUFDO1NBQ2pLO1FBQ0Q7WUFDRSxJQUFJLEVBQUUsY0FBYyxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFDLENBQUMsa0JBQWtCLENBQUMsRUFBRSxFQUFFLGtCQUFrQixDQUFDLE1BQU0sRUFBQyxrQkFBa0IsQ0FBQyxnQkFBZ0IsRUFBRSxrQkFBa0IsQ0FBQyxLQUFLLEVBQUMsa0JBQWtCLENBQUMsbUJBQW1CLENBQUM7U0FDaEs7UUFDRDtZQUNFLElBQUksRUFBRSxjQUFjLENBQUMsSUFBSTtZQUN6QixPQUFPLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLEVBQUMsa0JBQWtCLENBQUMsTUFBTSxFQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQztTQUNwRjtRQUNEO1lBQ0UsSUFBSSxFQUFFLGNBQWMsQ0FBQyxJQUFJO1lBQ3pCLE9BQU8sRUFBRSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsRUFBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUM7U0FDeEQ7S0FDRixDQUFDO0lBRUUsbUJBQW1CLENBQUMsVUFBMEI7UUFDNUMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLFVBQVUsQ0FBQyxDQUFDO1FBQy9FLE9BQU8sVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDbEQsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uZGl0aW9uYWxPcHRpb25zLCBEYXRhRmlsdGVyVHlwZSwgSVR5cGVPcHRpb24gfSBmcm9tIFwiLi9tb2RlbHMvdGFibGUtZmlsdGVyXCI7XG5cbmV4cG9ydCBjbGFzcyBDb25maWcge1xuICB0eXBlT3B0aW9uczogSVR5cGVPcHRpb25bXSA9IFtcbiAgICB7XG4gICAgICB0eXBlOiBEYXRhRmlsdGVyVHlwZS5TdHJpbmcsXG4gICAgICBvcHRpb25zOiBbQ29uZGl0aW9uYWxPcHRpb25zLk9uLENvbmRpdGlvbmFsT3B0aW9ucy5Ob3RFcXVhbF1cbiAgICB9LFxuICAgIHtcbiAgICAgIHR5cGU6IERhdGFGaWx0ZXJUeXBlLkludGVnZXIsXG4gICAgICBvcHRpb25zOiBbQ29uZGl0aW9uYWxPcHRpb25zLk9uLCBDb25kaXRpb25hbE9wdGlvbnMuQmVmb3JlLENvbmRpdGlvbmFsT3B0aW9ucy5MZXNzVGhhbkFuZEVxdWFsLCBDb25kaXRpb25hbE9wdGlvbnMuQWZ0ZXIsQ29uZGl0aW9uYWxPcHRpb25zLkdyZWF0ZXJUaGFuQW5kRXF1YWxdXG4gICAgfSxcbiAgICB7XG4gICAgICB0eXBlOiBEYXRhRmlsdGVyVHlwZS5EZWNpbWFsLFxuICAgICAgb3B0aW9uczogW0NvbmRpdGlvbmFsT3B0aW9ucy5PbiwgQ29uZGl0aW9uYWxPcHRpb25zLkJlZm9yZSxDb25kaXRpb25hbE9wdGlvbnMuTGVzc1RoYW5BbmRFcXVhbCwgQ29uZGl0aW9uYWxPcHRpb25zLkFmdGVyLENvbmRpdGlvbmFsT3B0aW9ucy5HcmVhdGVyVGhhbkFuZEVxdWFsXVxuICAgIH0sXG4gICAge1xuICAgICAgdHlwZTogRGF0YUZpbHRlclR5cGUuQ3JlZGl0LFxuICAgICAgb3B0aW9uczpbQ29uZGl0aW9uYWxPcHRpb25zLk9uLCBDb25kaXRpb25hbE9wdGlvbnMuQmVmb3JlLENvbmRpdGlvbmFsT3B0aW9ucy5MZXNzVGhhbkFuZEVxdWFsLCBDb25kaXRpb25hbE9wdGlvbnMuQWZ0ZXIsQ29uZGl0aW9uYWxPcHRpb25zLkdyZWF0ZXJUaGFuQW5kRXF1YWxdXG4gICAgfSxcbiAgICB7XG4gICAgICB0eXBlOiBEYXRhRmlsdGVyVHlwZS5EYXRlLFxuICAgICAgb3B0aW9uczogW0NvbmRpdGlvbmFsT3B0aW9ucy5PbixDb25kaXRpb25hbE9wdGlvbnMuQmVmb3JlLENvbmRpdGlvbmFsT3B0aW9ucy5BZnRlcl1cbiAgICB9LFxuICAgIHtcbiAgICAgIHR5cGU6IERhdGFGaWx0ZXJUeXBlLkJvb2wsXG4gICAgICBvcHRpb25zOiBbQ29uZGl0aW9uYWxPcHRpb25zLlllcyxDb25kaXRpb25hbE9wdGlvbnMuTm9dXG4gICAgfVxuICBdO1xuXG4gICAgICBnZXRDb25kaXRpb25PcHRpb25zKGZpbHRlclR5cGU6IERhdGFGaWx0ZXJUeXBlKTogc3RyaW5nW10gfCBudWxsIHtcbiAgICAgICAgY29uc3QgdHlwZU9wdGlvbiA9IHRoaXMudHlwZU9wdGlvbnMuZmluZChvcHRpb24gPT4gb3B0aW9uLnR5cGUgPT09IGZpbHRlclR5cGUpO1xuICAgICAgICByZXR1cm4gdHlwZU9wdGlvbiA/IHR5cGVPcHRpb24ub3B0aW9ucyA6IG51bGw7XG4gICAgfSBcbn1cblxuXG4iXX0=
@@ -10,14 +10,13 @@ export var DataFilterType;
10
10
  })(DataFilterType || (DataFilterType = {}));
11
11
  export var ConditionalOptions;
12
12
  (function (ConditionalOptions) {
13
- ConditionalOptions["LessThan"] = "Less than";
14
- ConditionalOptions["GreaterThan"] = "Greater than";
15
- ConditionalOptions["Equal"] = "Equal";
16
- ConditionalOptions["NotEqual"] = "Not equal";
13
+ ConditionalOptions["GreaterThanAndEqual"] = "GTE";
14
+ ConditionalOptions["LessThanAndEqual"] = "LTE";
15
+ ConditionalOptions["NotEqual"] = "NEQ";
17
16
  ConditionalOptions["On"] = "On";
18
17
  ConditionalOptions["Before"] = "Before";
19
18
  ConditionalOptions["After"] = "After";
20
19
  ConditionalOptions["Yes"] = "Yes";
21
20
  ConditionalOptions["No"] = "No";
22
21
  })(ConditionalOptions || (ConditionalOptions = {}));
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtZmlsdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmVyYmVuLW5nLXVpL3NyYy9saWIvbW9kZWxzL3RhYmxlLWZpbHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxjQVFYO0FBUkQsV0FBWSxjQUFjO0lBQ3hCLG1DQUFpQixDQUFBO0lBQ2pCLHFDQUFtQixDQUFBO0lBQ25CLHFDQUFtQixDQUFBO0lBQ25CLG1DQUFnQixDQUFBO0lBQ2hCLCtCQUFhLENBQUE7SUFDYiwrQkFBYSxDQUFBO0lBQ2IsbUNBQWUsQ0FBQTtBQUNqQixDQUFDLEVBUlcsY0FBYyxLQUFkLGNBQWMsUUFRekI7QUFVRCxNQUFNLENBQU4sSUFBWSxrQkFVVjtBQVZGLFdBQVksa0JBQWtCO0lBQzVCLDRDQUFzQixDQUFBO0lBQ3RCLGtEQUE0QixDQUFBO0lBQzVCLHFDQUFlLENBQUE7SUFDZiw0Q0FBc0IsQ0FBQTtJQUN0QiwrQkFBUyxDQUFBO0lBQ1QsdUNBQWlCLENBQUE7SUFDakIscUNBQWUsQ0FBQTtJQUNmLGlDQUFXLENBQUE7SUFDWCwrQkFBUyxDQUFBO0FBQ1YsQ0FBQyxFQVZVLGtCQUFrQixLQUFsQixrQkFBa0IsUUFVNUIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBEYXRhRmlsdGVyVHlwZSB7XG4gIFN0cmluZyA9ICdTdHJpbmcnLFxuICBJbnRlZ2VyID0gJ0ludGVnZXInLFxuICBEZWNpbWFsID0gJ0RlY2ltYWwnLFxuICBDcmVkaXQ9ICdDcmVkaXQnLFxuICBEYXRlID0gJ0RhdGUnLFxuICBCb29sID0gXCJCb29sXCIsXG4gIE51bWJlcj1cIk51bWJlclwiXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURhdGFGaWx0ZXIge1xuICBuYW1lOnN0cmluZyxcbiAgdHlwZTogRGF0YUZpbHRlclR5cGU7XG4gIHZhbHVlPzphbnk7IFxuICBjaGVja2VkOiBib29sZWFuO1xuICBjb25kaXRpb24/OnN0cmluZztcbn1cblxuZXhwb3J0IGVudW0gQ29uZGl0aW9uYWxPcHRpb25zIHtcbiAgTGVzc1RoYW4gPSAnTGVzcyB0aGFuJyxcbiAgR3JlYXRlclRoYW4gPSAnR3JlYXRlciB0aGFuJyxcbiAgRXF1YWwgPSAnRXF1YWwnLFxuICBOb3RFcXVhbCA9ICdOb3QgZXF1YWwnLFxuICBPbiA9ICdPbicsXG4gIEJlZm9yZSA9ICdCZWZvcmUnLFxuICBBZnRlciA9ICdBZnRlcicsXG4gIFllcyA9ICdZZXMnLFxuICBObyA9ICdObydcbiB9XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVR5cGVPcHRpb24ge1xuICB0eXBlOiBEYXRhRmlsdGVyVHlwZTtcbiAgb3B0aW9uczogc3RyaW5nW107XG59XG4iXX0=
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtZmlsdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmVyYmVuLW5nLXVpL3NyYy9saWIvbW9kZWxzL3RhYmxlLWZpbHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxjQVFYO0FBUkQsV0FBWSxjQUFjO0lBQ3hCLG1DQUFpQixDQUFBO0lBQ2pCLHFDQUFtQixDQUFBO0lBQ25CLHFDQUFtQixDQUFBO0lBQ25CLG1DQUFnQixDQUFBO0lBQ2hCLCtCQUFhLENBQUE7SUFDYiwrQkFBYSxDQUFBO0lBQ2IsbUNBQWUsQ0FBQTtBQUNqQixDQUFDLEVBUlcsY0FBYyxLQUFkLGNBQWMsUUFRekI7QUFVRCxNQUFNLENBQU4sSUFBWSxrQkFTVjtBQVRGLFdBQVksa0JBQWtCO0lBQzVCLGlEQUEyQixDQUFBO0lBQzNCLDhDQUF3QixDQUFBO0lBQ3hCLHNDQUFnQixDQUFBO0lBQ2hCLCtCQUFTLENBQUE7SUFDVCx1Q0FBaUIsQ0FBQTtJQUNqQixxQ0FBZSxDQUFBO0lBQ2YsaUNBQVcsQ0FBQTtJQUNYLCtCQUFTLENBQUE7QUFDVixDQUFDLEVBVFUsa0JBQWtCLEtBQWxCLGtCQUFrQixRQVM1QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIERhdGFGaWx0ZXJUeXBlIHtcbiAgU3RyaW5nID0gJ1N0cmluZycsXG4gIEludGVnZXIgPSAnSW50ZWdlcicsXG4gIERlY2ltYWwgPSAnRGVjaW1hbCcsXG4gIENyZWRpdD0gJ0NyZWRpdCcsXG4gIERhdGUgPSAnRGF0ZScsXG4gIEJvb2wgPSBcIkJvb2xcIixcbiAgTnVtYmVyPVwiTnVtYmVyXCJcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRGF0YUZpbHRlciB7XG4gIG5hbWU6c3RyaW5nLFxuICB0eXBlOiBEYXRhRmlsdGVyVHlwZTtcbiAgdmFsdWU/OmFueTsgXG4gIGNoZWNrZWQ6IGJvb2xlYW47XG4gIGNvbmRpdGlvbj86c3RyaW5nO1xufVxuXG5leHBvcnQgZW51bSBDb25kaXRpb25hbE9wdGlvbnMge1xuICBHcmVhdGVyVGhhbkFuZEVxdWFsID0gJ0dURScsXG4gIExlc3NUaGFuQW5kRXF1YWwgPSAnTFRFJyxcbiAgTm90RXF1YWwgPSAnTkVRJyxcbiAgT24gPSAnT24nLFxuICBCZWZvcmUgPSAnQmVmb3JlJyxcbiAgQWZ0ZXIgPSAnQWZ0ZXInLFxuICBZZXMgPSAnWWVzJyxcbiAgTm8gPSAnTm8nLFxuIH1cblxuZXhwb3J0IGludGVyZmFjZSBJVHlwZU9wdGlvbiB7XG4gIHR5cGU6IERhdGFGaWx0ZXJUeXBlO1xuICBvcHRpb25zOiBzdHJpbmdbXTtcbn1cbiJdfQ==
@@ -2071,10 +2071,9 @@ var DataFilterType;
2071
2071
  })(DataFilterType || (DataFilterType = {}));
2072
2072
  var ConditionalOptions;
2073
2073
  (function (ConditionalOptions) {
2074
- ConditionalOptions["LessThan"] = "Less than";
2075
- ConditionalOptions["GreaterThan"] = "Greater than";
2076
- ConditionalOptions["Equal"] = "Equal";
2077
- ConditionalOptions["NotEqual"] = "Not equal";
2074
+ ConditionalOptions["GreaterThanAndEqual"] = "GTE";
2075
+ ConditionalOptions["LessThanAndEqual"] = "LTE";
2076
+ ConditionalOptions["NotEqual"] = "NEQ";
2078
2077
  ConditionalOptions["On"] = "On";
2079
2078
  ConditionalOptions["Before"] = "Before";
2080
2079
  ConditionalOptions["After"] = "After";
@@ -2086,19 +2085,19 @@ class Config {
2086
2085
  typeOptions = [
2087
2086
  {
2088
2087
  type: DataFilterType.String,
2089
- options: [ConditionalOptions.Equal, ConditionalOptions.NotEqual]
2088
+ options: [ConditionalOptions.On, ConditionalOptions.NotEqual]
2090
2089
  },
2091
2090
  {
2092
2091
  type: DataFilterType.Integer,
2093
- options: [ConditionalOptions.Equal, ConditionalOptions.LessThan, ConditionalOptions.GreaterThan]
2092
+ options: [ConditionalOptions.On, ConditionalOptions.Before, ConditionalOptions.LessThanAndEqual, ConditionalOptions.After, ConditionalOptions.GreaterThanAndEqual]
2094
2093
  },
2095
2094
  {
2096
2095
  type: DataFilterType.Decimal,
2097
- options: [ConditionalOptions.Equal, ConditionalOptions.LessThan, ConditionalOptions.GreaterThan]
2096
+ options: [ConditionalOptions.On, ConditionalOptions.Before, ConditionalOptions.LessThanAndEqual, ConditionalOptions.After, ConditionalOptions.GreaterThanAndEqual]
2098
2097
  },
2099
2098
  {
2100
2099
  type: DataFilterType.Credit,
2101
- options: [ConditionalOptions.Equal, ConditionalOptions.LessThan, ConditionalOptions.GreaterThan]
2100
+ options: [ConditionalOptions.On, ConditionalOptions.Before, ConditionalOptions.LessThanAndEqual, ConditionalOptions.After, ConditionalOptions.GreaterThanAndEqual]
2102
2101
  },
2103
2102
  {
2104
2103
  type: DataFilterType.Date,
@@ -3636,6 +3635,7 @@ class DataViewComponent {
3636
3635
  }
3637
3636
  onClearSearch() {
3638
3637
  this.searchValue = "";
3638
+ this.onSearchChange.emit({ key: this.searchKey, value: this.searchValue });
3639
3639
  }
3640
3640
  toggleChildView(viewType) {
3641
3641
  switch (viewType) {
@@ -5692,6 +5692,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImpor
5692
5692
 
5693
5693
  class VerbenPopUpComponent {
5694
5694
  elementRef;
5695
+ renderer;
5695
5696
  dropdownOpen = false;
5696
5697
  dropdownOpenChange = new EventEmitter();
5697
5698
  dropdownWidth = '';
@@ -5702,12 +5703,16 @@ class VerbenPopUpComponent {
5702
5703
  borderRadius = '';
5703
5704
  enableMouseLeave = true;
5704
5705
  close = new EventEmitter();
5705
- constructor(elementRef) {
5706
+ constructor(elementRef, renderer) {
5706
5707
  this.elementRef = elementRef;
5708
+ this.renderer = renderer;
5707
5709
  }
5708
5710
  toggleDropdown() {
5709
5711
  this.dropdownOpen = !this.dropdownOpen;
5710
5712
  this.dropdownOpenChange.emit(this.dropdownOpen);
5713
+ if (this.dropdownOpen) {
5714
+ this.setDropdownPosition();
5715
+ }
5711
5716
  }
5712
5717
  onMouseOut() {
5713
5718
  if (this.enableMouseLeave) {
@@ -5738,13 +5743,97 @@ class VerbenPopUpComponent {
5738
5743
  this.dropdownOpenChange.emit(this.dropdownOpen);
5739
5744
  }
5740
5745
  }
5741
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: VerbenPopUpComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
5742
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.5", type: VerbenPopUpComponent, selector: "verben-pop-Up", inputs: { dropdownOpen: "dropdownOpen", dropdownWidth: "dropdownWidth", color: "color", customStyles: "customStyles", popUpClass: "popUpClass", border: "border", borderRadius: "borderRadius", enableMouseLeave: "enableMouseLeave" }, outputs: { dropdownOpenChange: "dropdownOpenChange", close: "close" }, host: { listeners: { "document:click": "onClickOutside($event.target)" } }, ngImport: i0, template: "<div class=\"relative dropdown-container\" [ngStyle]=\"dropdownStyles\">\n <span (click)=\"toggleDropdown()\">\n <ng-content select=\"[dropdown-trigger]\"></ng-content>\n </span>\n\n <div\n appDropdownPosition\n [ngClass]=\"{'z-[9999]': true}\"\n *ngIf=\"dropdownOpen\"\n (mouseleave)=\"onMouseOut()\"\n [attr.aria-hidden]=\"!dropdownOpen\"\n class=\"absolute top-2 left-0 {{popUpClass}}\"\n [ngStyle]=\"yourStyles\"\n >\n <ng-content select=\"[dropdown-content]\"></ng-content>\n </div>\n</div>\n", styles: [".boxShadow{box-shadow:4px 4px 4px #00000040}.dropdown-content{transition:transform .2s ease-in-out,opacity .2s ease-in-out;transform:scale(.95);opacity:0}.dropdown-content.open{transform:scale(1);opacity:1}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
5746
+ // private setDropdownPosition(): void {
5747
+ // const dropdown = this.elementRef.nativeElement.querySelector('.dropdown-menu');
5748
+ // const dropdownRect = dropdown.getBoundingClientRect();
5749
+ // const parentRect = this.elementRef.nativeElement.getBoundingClientRect();
5750
+ // const viewportHeight = window.innerHeight;
5751
+ // const viewportWidth = window.innerWidth;
5752
+ // console.log('Dropdown Rect:', dropdownRect);
5753
+ // console.log('Parent Rect:', parentRect);
5754
+ // console.log('Viewport:', { width: viewportWidth, height: viewportHeight });
5755
+ // // Check vertical space
5756
+ // if (viewportHeight - parentRect.bottom < dropdownRect.height) {
5757
+ // // Position above
5758
+ // this.renderer.setStyle(dropdown, 'top', 'auto');
5759
+ // this.renderer.setStyle(dropdown, 'bottom', `${parentRect.height}px`);
5760
+ // } else {
5761
+ // // Position below
5762
+ // this.renderer.setStyle(dropdown, 'top', `${parentRect.height}px`);
5763
+ // this.renderer.setStyle(dropdown, 'bottom', 'auto');
5764
+ // }
5765
+ // // Check horizontal space
5766
+ // if (parentRect.left + dropdownRect.width > viewportWidth) {
5767
+ // // Position to the left
5768
+ // this.renderer.setStyle(dropdown, 'left', 'auto');
5769
+ // this.renderer.setStyle(dropdown, 'right', '0');
5770
+ // } else if (parentRect.right - dropdownRect.width < 0) {
5771
+ // // Position to the right
5772
+ // this.renderer.setStyle(dropdown, 'left', '0');
5773
+ // this.renderer.setStyle(dropdown, 'right', 'auto');
5774
+ // } else {
5775
+ // // Default alignment
5776
+ // this.renderer.setStyle(dropdown, 'left', '0');
5777
+ // this.renderer.setStyle(dropdown, 'right', 'auto');
5778
+ // }
5779
+ // }
5780
+ ngAfterViewChecked() {
5781
+ if (this.dropdownOpen) {
5782
+ this.setDropdownPosition();
5783
+ }
5784
+ }
5785
+ setDropdownPosition() {
5786
+ const dropdown = this.elementRef.nativeElement.querySelector('.dropdown-container > div');
5787
+ // const triggerElement = this.elementRef.nativeElement.querySelector('dropdown-menu')
5788
+ if (!dropdown) {
5789
+ console.warn('Dropdown element not found.');
5790
+ return;
5791
+ }
5792
+ const dropdownRect = dropdown.getBoundingClientRect();
5793
+ const parentRect = this.elementRef.nativeElement.getBoundingClientRect();
5794
+ const viewportHeight = window.innerHeight;
5795
+ const viewportWidth = window.innerWidth;
5796
+ console.log('Dropdown Rect:', dropdownRect);
5797
+ console.log('Parent Rect:', parentRect);
5798
+ console.log('Viewport:', { width: viewportWidth, height: viewportHeight });
5799
+ // Vertical Positioning
5800
+ if (viewportHeight - parentRect.bottom < dropdownRect.height) {
5801
+ // Not enough space below, position above
5802
+ console.log('not enough space below');
5803
+ const topPosition = parentRect.top - dropdownRect.height;
5804
+ console.log('top pos:', topPosition);
5805
+ this.renderer.setStyle(dropdown, 'top', `auto`);
5806
+ this.renderer.setStyle(dropdown, 'bottom', '15px');
5807
+ }
5808
+ else {
5809
+ // Enough space below, position below
5810
+ console.log('Enough space below');
5811
+ const topPosition = parentRect.bottom;
5812
+ this.renderer.setStyle(dropdown, 'top', `20px`);
5813
+ this.renderer.setStyle(dropdown, 'bottom', 'auto');
5814
+ }
5815
+ // Horizontal Positioning
5816
+ if (parentRect.left + dropdownRect.width > viewportWidth) {
5817
+ console.log('not Enough space right');
5818
+ const leftPosition = viewportWidth - dropdownRect.width - 10;
5819
+ this.renderer.setStyle(dropdown, 'left', `auto`);
5820
+ // this.renderer.setStyle(dropdown, 'left', `${Math.max(leftPosition, 0)}px`);
5821
+ this.renderer.setStyle(dropdown, 'right', '10px');
5822
+ }
5823
+ else {
5824
+ console.log('Enough space right');
5825
+ const leftPosition = parentRect.left;
5826
+ this.renderer.setStyle(dropdown, 'left', `${10}px`);
5827
+ this.renderer.setStyle(dropdown, 'right', 'auto');
5828
+ }
5829
+ }
5830
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: VerbenPopUpComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
5831
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.5", type: VerbenPopUpComponent, selector: "verben-pop-Up", inputs: { dropdownOpen: "dropdownOpen", dropdownWidth: "dropdownWidth", color: "color", customStyles: "customStyles", popUpClass: "popUpClass", border: "border", borderRadius: "borderRadius", enableMouseLeave: "enableMouseLeave" }, outputs: { dropdownOpenChange: "dropdownOpenChange", close: "close" }, host: { listeners: { "document:click": "onClickOutside($event.target)" } }, ngImport: i0, template: "<span class=\"relative dropdown-container\" [ngStyle]=\"dropdownStyles\">\n <span (click)=\"toggleDropdown()\" class=\"dropdown-menu\">\n <ng-content select=\"[dropdown-trigger]\"></ng-content>\n </span>\n\n <div\n [ngClass]=\"{'z-[9999]': true}\"\n *ngIf=\"dropdownOpen\"\n (mouseleave)=\"onMouseOut()\"\n [attr.aria-hidden]=\"!dropdownOpen\"\n class=\"absolute bottom-2 right-0 {{popUpClass}}\"\n [ngStyle]=\"yourStyles\"\n >\n <ng-content select=\"[dropdown-content]\"></ng-content>\n </div>\n</span>", styles: [".boxShadow{box-shadow:4px 4px 4px #00000040}.dropdown-content{transition:transform .2s ease-in-out,opacity .2s ease-in-out;transform:scale(.95);opacity:0}.dropdown-content.open{transform:scale(1);opacity:1}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
5743
5832
  }
5744
5833
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: VerbenPopUpComponent, decorators: [{
5745
5834
  type: Component,
5746
- args: [{ selector: 'verben-pop-Up', template: "<div class=\"relative dropdown-container\" [ngStyle]=\"dropdownStyles\">\n <span (click)=\"toggleDropdown()\">\n <ng-content select=\"[dropdown-trigger]\"></ng-content>\n </span>\n\n <div\n appDropdownPosition\n [ngClass]=\"{'z-[9999]': true}\"\n *ngIf=\"dropdownOpen\"\n (mouseleave)=\"onMouseOut()\"\n [attr.aria-hidden]=\"!dropdownOpen\"\n class=\"absolute top-2 left-0 {{popUpClass}}\"\n [ngStyle]=\"yourStyles\"\n >\n <ng-content select=\"[dropdown-content]\"></ng-content>\n </div>\n</div>\n", styles: [".boxShadow{box-shadow:4px 4px 4px #00000040}.dropdown-content{transition:transform .2s ease-in-out,opacity .2s ease-in-out;transform:scale(.95);opacity:0}.dropdown-content.open{transform:scale(1);opacity:1}\n"] }]
5747
- }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { dropdownOpen: [{
5835
+ args: [{ selector: 'verben-pop-Up', template: "<span class=\"relative dropdown-container\" [ngStyle]=\"dropdownStyles\">\n <span (click)=\"toggleDropdown()\" class=\"dropdown-menu\">\n <ng-content select=\"[dropdown-trigger]\"></ng-content>\n </span>\n\n <div\n [ngClass]=\"{'z-[9999]': true}\"\n *ngIf=\"dropdownOpen\"\n (mouseleave)=\"onMouseOut()\"\n [attr.aria-hidden]=\"!dropdownOpen\"\n class=\"absolute bottom-2 right-0 {{popUpClass}}\"\n [ngStyle]=\"yourStyles\"\n >\n <ng-content select=\"[dropdown-content]\"></ng-content>\n </div>\n</span>", styles: [".boxShadow{box-shadow:4px 4px 4px #00000040}.dropdown-content{transition:transform .2s ease-in-out,opacity .2s ease-in-out;transform:scale(.95);opacity:0}.dropdown-content.open{transform:scale(1);opacity:1}\n"] }]
5836
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { dropdownOpen: [{
5748
5837
  type: Input
5749
5838
  }], dropdownOpenChange: [{
5750
5839
  type: Output