@skyux/list-builder 8.0.0-alpha.2 → 8.0.0-alpha.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/documentation.json +176 -174
  2. package/esm2020/lib/modules/list/list-view.component.mjs +1 -1
  3. package/esm2020/lib/modules/list/list.component.mjs +4 -4
  4. package/esm2020/lib/modules/list/list.module.mjs +4 -4
  5. package/esm2020/lib/modules/list/state/list-state.rxstate.mjs +3 -3
  6. package/esm2020/lib/modules/list/state/list-state.state-node.mjs +3 -3
  7. package/esm2020/lib/modules/list-filters/list-filter-button.component.mjs +3 -3
  8. package/esm2020/lib/modules/list-filters/list-filter-inline-item-renderer.component.mjs +3 -3
  9. package/esm2020/lib/modules/list-filters/list-filter-inline-item.component.mjs +3 -3
  10. package/esm2020/lib/modules/list-filters/list-filter-inline.component.mjs +3 -3
  11. package/esm2020/lib/modules/list-filters/list-filter-summary.component.mjs +3 -3
  12. package/esm2020/lib/modules/list-filters/list-filters.module.mjs +4 -4
  13. package/esm2020/lib/modules/list-paging/list-paging.component.mjs +3 -3
  14. package/esm2020/lib/modules/list-paging/list-paging.module.mjs +4 -4
  15. package/esm2020/lib/modules/list-toolbar/list-multiselect-toolbar.component.mjs +3 -3
  16. package/esm2020/lib/modules/list-toolbar/list-secondary-actions/list-secondary-action.component.mjs +3 -3
  17. package/esm2020/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions-host.component.mjs +3 -3
  18. package/esm2020/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.component.mjs +3 -3
  19. package/esm2020/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.module.mjs +4 -4
  20. package/esm2020/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.service.mjs +3 -3
  21. package/esm2020/lib/modules/list-toolbar/list-toolbar-item-renderer.component.mjs +3 -3
  22. package/esm2020/lib/modules/list-toolbar/list-toolbar-item.component.mjs +3 -3
  23. package/esm2020/lib/modules/list-toolbar/list-toolbar-search-actions.component.mjs +3 -3
  24. package/esm2020/lib/modules/list-toolbar/list-toolbar-sort.component.mjs +3 -3
  25. package/esm2020/lib/modules/list-toolbar/list-toolbar-view-actions.component.mjs +3 -3
  26. package/esm2020/lib/modules/list-toolbar/list-toolbar.component.mjs +28 -28
  27. package/esm2020/lib/modules/list-toolbar/list-toolbar.module.mjs +4 -4
  28. package/esm2020/lib/modules/list-toolbar/state/toolbar-state.rxstate.mjs +3 -3
  29. package/esm2020/lib/modules/list-toolbar/state/toolbar-state.state-node.mjs +3 -3
  30. package/esm2020/lib/modules/shared/sky-list-builder-resources.module.mjs +4 -4
  31. package/fesm2015/skyux-list-builder.mjs +114 -114
  32. package/fesm2015/skyux-list-builder.mjs.map +1 -1
  33. package/fesm2020/skyux-list-builder.mjs +114 -114
  34. package/fesm2020/skyux-list-builder.mjs.map +1 -1
  35. package/lib/modules/list/state/list-state-action.type.d.ts +1 -1
  36. package/lib/modules/list-toolbar/state/toolbar-state-action.type.d.ts +1 -1
  37. package/package.json +13 -13
@@ -28,4 +28,4 @@ export class ListViewComponent {
28
28
  // eslint-disable-next-line @typescript-eslint/no-empty-function
29
29
  onViewInactive() { }
30
30
  }
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9saXN0LWJ1aWxkZXIvc3JjL2xpYi9tb2R1bGVzL2xpc3QvbGlzdC12aWV3LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxJQUFJLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBTTVFLElBQUksT0FBTyxHQUFHLENBQUMsQ0FBQztBQUVoQjs7O0dBR0c7QUFDSCxNQUFNLE9BQWdCLGlCQUFpQjtJQVNyQyxZQUFZLEtBQWdCLEVBQUUsV0FBbUI7UUFGekMsV0FBTSxHQUFHLHFCQUFxQixFQUFFLE9BQU8sRUFBRSxDQUFDO1FBR2hELElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxRQUFRLEdBQUcsV0FBVyxDQUFDO1FBRTVCLDBCQUEwQjtRQUMxQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBRTFFLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQzNCLGFBQWEsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUNyRCxDQUFDO1FBRUYsSUFBSSxDQUFDLE1BQU07YUFDUixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQzthQUM1QixTQUFTLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUN0QixRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUN2RCxDQUFDO0lBQ04sQ0FBQztJQUVELElBQUksRUFBRTtRQUNKLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxnRUFBZ0U7SUFDaEUsMEJBQTBCO0lBQ25CLFlBQVksS0FBSSxDQUFDO0lBQ3hCLGdFQUFnRTtJQUN6RCxjQUFjLEtBQUksQ0FBQztDQUMzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAgYXMgb2JzZXJ2YWJsZU1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5TGlzdENvbXBvbmVudCB9IGZyb20gJy4uL2xpc3QvbGlzdC5jb21wb25lbnQnO1xuXG5pbXBvcnQgeyBMaXN0U3RhdGUgfSBmcm9tICcuL3N0YXRlL2xpc3Qtc3RhdGUuc3RhdGUtbm9kZSc7XG5cbmxldCBpZEluZGV4ID0gMDtcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqIEBkZXByZWNhdGVkXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBMaXN0Vmlld0NvbXBvbmVudCB7XG4gIHB1YmxpYyBhY3RpdmU6IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgcHJvdGVjdGVkIHZpZXdOYW1lOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBzdGF0ZTogTGlzdFN0YXRlO1xuICBwcm90ZWN0ZWQgbGlzdDogU2t5TGlzdENvbXBvbmVudDtcbiAgcHJvdGVjdGVkIGhhc1Rvb2xiYXI6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIHByaXZhdGUgdmlld0lkID0gYHNreS1saXN0LXZpZXctY21wLSR7KytpZEluZGV4fWA7XG5cbiAgY29uc3RydWN0b3Ioc3RhdGU6IExpc3RTdGF0ZSwgZGVmYXVsdE5hbWU6IHN0cmluZykge1xuICAgIHRoaXMuc3RhdGUgPSBzdGF0ZTtcbiAgICB0aGlzLnZpZXdOYW1lID0gZGVmYXVsdE5hbWU7XG5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIHRoaXMuaGFzVG9vbGJhciA9IHRoaXMuc3RhdGUucGlwZShvYnNlcnZhYmxlTWFwKChzKSA9PiBzLnRvb2xiYXIuZXhpc3RzKSk7XG5cbiAgICB0aGlzLmFjdGl2ZSA9IHRoaXMuc3RhdGUucGlwZShcbiAgICAgIG9ic2VydmFibGVNYXAoKHMpID0+IHMudmlld3MuYWN0aXZlID09PSB0aGlzLnZpZXdJZClcbiAgICApO1xuXG4gICAgdGhpcy5hY3RpdmVcbiAgICAgIC5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpXG4gICAgICAuc3Vic2NyaWJlKChpc0FjdGl2ZSkgPT5cbiAgICAgICAgaXNBY3RpdmUgPyB0aGlzLm9uVmlld0FjdGl2ZSgpIDogdGhpcy5vblZpZXdJbmFjdGl2ZSgpXG4gICAgICApO1xuICB9XG5cbiAgZ2V0IGlkKCkge1xuICAgIHJldHVybiB0aGlzLnZpZXdJZDtcbiAgfVxuXG4gIGdldCBsYWJlbCgpIHtcbiAgICByZXR1cm4gdGhpcy52aWV3TmFtZTtcbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgcHVibGljIG9uVmlld0FjdGl2ZSgpIHt9XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cbiAgcHVibGljIG9uVmlld0luYWN0aXZlKCkge31cbn1cbiJdfQ==
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9saXN0LWJ1aWxkZXIvc3JjL2xpYi9tb2R1bGVzL2xpc3QvbGlzdC12aWV3LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxJQUFJLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBTTVFLElBQUksT0FBTyxHQUFHLENBQUMsQ0FBQztBQUVoQjs7O0dBR0c7QUFDSCxNQUFNLE9BQWdCLGlCQUFpQjtJQVNyQyxZQUFZLEtBQWdCLEVBQUUsV0FBbUI7UUFGekMsV0FBTSxHQUFHLHFCQUFxQixFQUFFLE9BQU8sRUFBRSxDQUFDO1FBR2hELElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxRQUFRLEdBQUcsV0FBVyxDQUFDO1FBRTVCLDBCQUEwQjtRQUMxQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBRTFFLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQzNCLGFBQWEsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUNyRCxDQUFDO1FBRUYsSUFBSSxDQUFDLE1BQU07YUFDUixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQzthQUM1QixTQUFTLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUN0QixRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUN2RCxDQUFDO0lBQ04sQ0FBQztJQUVELElBQVcsRUFBRTtRQUNYLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFBVyxLQUFLO1FBQ2QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxnRUFBZ0U7SUFDaEUsMEJBQTBCO0lBQ25CLFlBQVksS0FBSSxDQUFDO0lBQ3hCLGdFQUFnRTtJQUN6RCxjQUFjLEtBQUksQ0FBQztDQUMzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAgYXMgb2JzZXJ2YWJsZU1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5TGlzdENvbXBvbmVudCB9IGZyb20gJy4uL2xpc3QvbGlzdC5jb21wb25lbnQnO1xuXG5pbXBvcnQgeyBMaXN0U3RhdGUgfSBmcm9tICcuL3N0YXRlL2xpc3Qtc3RhdGUuc3RhdGUtbm9kZSc7XG5cbmxldCBpZEluZGV4ID0gMDtcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqIEBkZXByZWNhdGVkXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBMaXN0Vmlld0NvbXBvbmVudCB7XG4gIHB1YmxpYyBhY3RpdmU6IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgcHJvdGVjdGVkIHZpZXdOYW1lOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBzdGF0ZTogTGlzdFN0YXRlO1xuICBwcm90ZWN0ZWQgbGlzdDogU2t5TGlzdENvbXBvbmVudDtcbiAgcHJvdGVjdGVkIGhhc1Rvb2xiYXI6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIHByaXZhdGUgdmlld0lkID0gYHNreS1saXN0LXZpZXctY21wLSR7KytpZEluZGV4fWA7XG5cbiAgY29uc3RydWN0b3Ioc3RhdGU6IExpc3RTdGF0ZSwgZGVmYXVsdE5hbWU6IHN0cmluZykge1xuICAgIHRoaXMuc3RhdGUgPSBzdGF0ZTtcbiAgICB0aGlzLnZpZXdOYW1lID0gZGVmYXVsdE5hbWU7XG5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIHRoaXMuaGFzVG9vbGJhciA9IHRoaXMuc3RhdGUucGlwZShvYnNlcnZhYmxlTWFwKChzKSA9PiBzLnRvb2xiYXIuZXhpc3RzKSk7XG5cbiAgICB0aGlzLmFjdGl2ZSA9IHRoaXMuc3RhdGUucGlwZShcbiAgICAgIG9ic2VydmFibGVNYXAoKHMpID0+IHMudmlld3MuYWN0aXZlID09PSB0aGlzLnZpZXdJZClcbiAgICApO1xuXG4gICAgdGhpcy5hY3RpdmVcbiAgICAgIC5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpXG4gICAgICAuc3Vic2NyaWJlKChpc0FjdGl2ZSkgPT5cbiAgICAgICAgaXNBY3RpdmUgPyB0aGlzLm9uVmlld0FjdGl2ZSgpIDogdGhpcy5vblZpZXdJbmFjdGl2ZSgpXG4gICAgICApO1xuICB9XG5cbiAgcHVibGljIGdldCBpZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnZpZXdJZDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy52aWV3TmFtZTtcbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgcHVibGljIG9uVmlld0FjdGl2ZSgpIHt9XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cbiAgcHVibGljIG9uVmlld0luYWN0aXZlKCkge31cbn1cbiJdfQ==
@@ -275,9 +275,9 @@ export class SkyListComponent {
275
275
  return true;
276
276
  }
277
277
  }
278
- SkyListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyListComponent, deps: [{ token: i1.ListState }, { token: i2.ListStateDispatcher }, { token: i3.SkyLogService }], target: i0.ɵɵFactoryTarget.Component });
279
- SkyListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: SkyListComponent, selector: "sky-list", inputs: { data: "data", dataProvider: "dataProvider", defaultView: "defaultView", initialTotal: "initialTotal", selectedIds: "selectedIds", sortFields: "sortFields", appliedFilters: "appliedFilters", searchFunction: ["search", "searchFunction"] }, outputs: { selectedIdsChange: "selectedIdsChange", appliedFiltersChange: "appliedFiltersChange" }, providers: [ListState, ListStateDispatcher], queries: [{ propertyName: "listViews", predicate: ListViewComponent }], usesOnChanges: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
280
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyListComponent, decorators: [{
278
+ SkyListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyListComponent, deps: [{ token: i1.ListState }, { token: i2.ListStateDispatcher }, { token: i3.SkyLogService }], target: i0.ɵɵFactoryTarget.Component });
279
+ SkyListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: SkyListComponent, selector: "sky-list", inputs: { data: "data", dataProvider: "dataProvider", defaultView: "defaultView", initialTotal: "initialTotal", selectedIds: "selectedIds", sortFields: "sortFields", appliedFilters: "appliedFilters", searchFunction: ["search", "searchFunction"] }, outputs: { selectedIdsChange: "selectedIdsChange", appliedFiltersChange: "appliedFiltersChange" }, providers: [ListState, ListStateDispatcher], queries: [{ propertyName: "listViews", predicate: ListViewComponent }], usesOnChanges: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
280
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyListComponent, decorators: [{
281
281
  type: Component,
282
282
  args: [{
283
283
  selector: 'sky-list',
@@ -310,4 +310,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
310
310
  type: ContentChildren,
311
311
  args: [ListViewComponent]
312
312
  }] } });
313
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbGlzdC1idWlsZGVyL3NyYy9saWIvbW9kdWxlcy9saXN0L2xpc3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULGVBQWUsRUFDZixZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sR0FHUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQWEsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDakUsT0FBTyxFQUNMLGFBQWEsRUFFYixZQUFZLEdBQ2IsTUFBTSw0QkFBNEIsQ0FBQztBQUVwQyxPQUFPLEVBRUwsT0FBTyxFQUNQLGFBQWEsSUFBSSx1QkFBdUIsRUFDeEMsRUFBRSxJQUFJLFlBQVksR0FDbkIsTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLE9BQU8sRUFDUCxHQUFHLElBQUksYUFBYSxFQUNwQixJQUFJLEVBQ0osSUFBSSxFQUNKLFNBQVMsR0FDVixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBRzNHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRW5FLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxTQUFT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QUFLO2dCQVNDLFlBQVk7c0JBRGxCLEtBQUs7Z0JBU0MsV0FBVztzQkFEakIsS0FBSztnQkFTQyxVQUFVO3NCQURoQixLQUFLO2dCQWNDLGNBQWM7c0JBRHBCLEtBQUs7Z0JBT0MsaUJBQWlCO3NCQUR2QixNQUFNO2dCQU9BLG9CQUFvQjtzQkFEMUIsTUFBTTtnQkFRQSxjQUFjO3NCQURwQixLQUFLO3VCQUFDLFFBQVE7Z0JBTVAsU0FBUztzQkFEaEIsZUFBZTt1QkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lMb2dTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2NvcmUnO1xuaW1wb3J0IHsgQXN5bmNJdGVtLCBnZXRWYWx1ZSB9IGZyb20gJ0Bza3l1eC9saXN0LWJ1aWxkZXItY29tbW9uJztcbmltcG9ydCB7XG4gIExpc3RJdGVtTW9kZWwsXG4gIExpc3RTb3J0RmllbGRTZWxlY3Rvck1vZGVsLFxuICBpc09ic2VydmFibGUsXG59IGZyb20gJ0Bza3l1eC9saXN0LWJ1aWxkZXItY29tbW9uJztcblxuaW1wb3J0IHtcbiAgT2JzZXJ2YWJsZSxcbiAgU3ViamVjdCxcbiAgY29tYmluZUxhdGVzdCBhcyBvYnNlcnZhYmxlQ29tYmluZUxhdGVzdCxcbiAgb2YgYXMgb2JzZXJ2YWJsZU9mLFxufSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICBmbGF0TWFwLFxuICBtYXAgYXMgb2JzZXJ2YWJsZU1hcCxcbiAgc2tpcCxcbiAgdGFrZSxcbiAgdGFrZVVudGlsLFxufSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreUxpc3RJbk1lbW9yeURhdGFQcm92aWRlciB9IGZyb20gJy4uL2xpc3QtZGF0YS1wcm92aWRlci1pbi1tZW1vcnkvbGlzdC1kYXRhLWluLW1lbW9yeS5wcm92aWRlcic7XG5pbXBvcnQgeyBMaXN0RmlsdGVyTW9kZWwgfSBmcm9tICcuLi9saXN0LWZpbHRlcnMvZmlsdGVyLm1vZGVsJztcblxuaW1wb3J0IHsgTGlzdERhdGFSZXF1ZXN0TW9kZWwgfSBmcm9tICcuL2xpc3QtZGF0YS1yZXF1ZXN0Lm1vZGVsJztcbmltcG9ydCB7IExpc3REYXRhUmVzcG9uc2VNb2RlbCB9IGZyb20gJy4vbGlzdC1kYXRhLXJlc3BvbnNlLm1vZGVsJztcbmltcG9ydCB7IExpc3REYXRhUHJvdmlkZXIgfSBmcm9tICcuL2xpc3QtZGF0YS5wcm92aWRlcic7XG5pbXBvcnQgeyBMaXN0Vmlld0NvbXBvbmVudCB9IGZyb20gJy4vbGlzdC12aWV3LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMaXN0SXRlbXNMb2FkQWN0aW9uIH0gZnJvbSAnLi9zdGF0ZS9pdGVtcy9sb2FkLmFjdGlvbic7XG5pbXBvcnQgeyBMaXN0SXRlbXNTZXRMb2FkaW5nQWN0aW9uIH0gZnJvbSAnLi9zdGF0ZS9pdGVtcy9zZXQtbG9hZGluZy5hY3Rpb24nO1xuaW1wb3J0IHsgTGlzdFN0YXRlRGlzcGF0Y2hlciB9IGZyb20gJy4vc3RhdGUvbGlzdC1zdGF0ZS5yeHN0YXRlJztcbmltcG9ydCB7IExpc3RTdGF0ZSB9IGZyb20gJy4vc3RhdGUvbGlzdC1zdGF0ZS5zdGF0ZS1ub2RlJztcbmltcG9ydCB7IExpc3RQYWdpbmdTZXRQYWdlTnVtYmVyQWN0aW9uIH0gZnJvbSAnLi9zdGF0ZS9wYWdpbmcvc2V0LXBhZ2UtbnVtYmVyLmFjdGlvbic7XG5pbXBvcnQgeyBMaXN0U2VhcmNoTW9kZWwgfSBmcm9tICcuL3N0YXRlL3NlYXJjaC9zZWFyY2gubW9kZWwnO1xuaW1wb3J0IHsgTGlzdFNlbGVjdGVkTG9hZEFjdGlvbiB9IGZyb20gJy4vc3RhdGUvc2VsZWN0ZWQvbG9hZC5hY3Rpb24nO1xuaW1wb3J0IHsgTGlzdFNlbGVjdGVkTW9kZWwgfSBmcm9tICcuL3N0YXRlL3NlbGVjdGVkL3NlbGVjdGVkLm1vZGVsJztcbmltcG9ydCB7IExpc3RTZWxlY3RlZFNldExvYWRpbmdBY3Rpb24gfSBmcm9tICcuL3N0YXRlL3NlbGVjdGVkL3NldC1sb2FkaW5nLmFjdGlvbic7XG5pbXBvcnQgeyBMaXN0U29ydFNldEZpZWxkU2VsZWN0b3JzQWN0aW9uIH0gZnJvbSAnLi9zdGF0ZS9zb3J0L3NldC1maWVsZC1zZWxlY3RvcnMuYWN0aW9uJztcbmltcG9ydCB7IExpc3RTb3J0TW9kZWwgfSBmcm9tICcuL3N0YXRlL3NvcnQvc29ydC5tb2RlbCc7XG5pbXBvcnQgeyBMaXN0Vmlld3NMb2FkQWN0aW9uIH0gZnJvbSAnLi9zdGF0ZS92aWV3cy9sb2FkLmFjdGlvbic7XG5pbXBvcnQgeyBMaXN0Vmlld3NTZXRBY3RpdmVBY3Rpb24gfSBmcm9tICcuL3N0YXRlL3ZpZXdzL3NldC1hY3RpdmUuYWN0aW9uJztcbmltcG9ydCB7IExpc3RWaWV3TW9kZWwgfSBmcm9tICcuL3N0YXRlL3ZpZXdzL3ZpZXcubW9kZWwnO1xuXG5sZXQgaWRJbmRleCA9IDA7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgTGlzdCBidWlsZGVyIGFuZCBpdHMgZmVhdHVyZXMgYXJlIGRlcHJlY2F0ZWQuIFVzZSBkYXRhIG1hbmFnZXIgaW5zdGVhZC4gRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSBodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2NvbXBvbmVudHMvZGF0YS1tYW5hZ2VyLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktbGlzdCcsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHByb3ZpZGVyczogW0xpc3RTdGF0ZSwgTGlzdFN0YXRlRGlzcGF0Y2hlcl0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lMaXN0Q29tcG9uZW50XG4gIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3lcbntcbiAgcHVibGljIGlkID0gYHNreS1saXN0LWNtcC0keysraWRJbmRleH1gO1xuICAvKipcbiAgICogVGhlIGRhdGEgdG8gZGlzcGxheS4gVGhlIGxpc3QgY29tcG9uZW50IHJlcXVpcmVzIHRoaXMgcHJvcGVydHkgb3IgdGhlXG4gICAqIGBkYXRhUHJvdmlkZXJgIHByb3BlcnR5LiBGb3IgY2hlY2tsaXN0IG9yIG11bHRpc2VsZWN0IGdyaWRzLCBlYWNoIHJvdyByZXF1aXJlcyBhblxuICAgKiBgaWRgIHByb3BlcnR5IHRvIG1hbmFnZSBzZWxlY3RlZCBpdGVtcyB3aXRoIHRoZSBgc2VsZWN0ZWRJZHNgIGlucHV0IGFuZCB0aGVcbiAgICogYHNlbGVjdGVkSWRzQ2hhbmdlYCBldmVudC4gSWYgeW91IGRvIG5vdCBwcm92aWRlIGFuIGBpZGAsIHRoZSBsaXN0IGF1dG9tYXRpY2FsbHlcbiAgICogZ2VuZXJhdGVzIG9uZS4gVG8gdXBkYXRlIGRhdGEgaW4geW91ciB2aWV3IG91dHNpZGUgb2YgYSBgZGF0YVByb3ZpZGVyYCwgeW91IG11c3QgdXNlXG4gICAqIGFuIG9ic2VydmFibGUgaW5zdGVhZCBvZiBhIHN0YXRpYyBhcnJheS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBkYXRhPzogQXJyYXk8YW55PiB8IE9ic2VydmFibGU8QXJyYXk8YW55Pj4gPSBbXTtcblxuICAvKipcbiAgICogVGhlIGRhdGEgcHJvdmlkZXIgdGhhdCBvYnRhaW5zIHRoZSBkYXRhIHRvIGRpc3BsYXkuIFRoZSBsaXN0IGNvbXBvbmVudCByZXF1aXJlc1xuICAgKiB0aGlzIHByb3BlcnR5IG9yIHRoZSBgZGF0YWAgcHJvcGVydHkuIEZvciBsaXN0cyB0aGF0IHVzZSBgZGF0YVByb3ZpZGVyYCBpbnN0ZWFkIG9mIGBkYXRhYCxcbiAgICogY29uc3VtZXJzIGFyZSByZXNwb25zaWJsZSBmb3IgbWFuYWdpbmcgYWxsIGBMaXN0RGF0YVJlcXVlc3RNb2RlbGAgcHJvcGVydGllcy5cbiAgICogQGRlZmF1bHQgU2t5TGlzdEluTWVtb3J5RGF0YVByb3ZpZGVyXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZGF0YVByb3ZpZGVyPzogTGlzdERhdGFQcm92aWRlcjtcblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZGVmYXVsdFZpZXc/OiBMaXN0Vmlld0NvbXBvbmVudDtcblxuICAvKipcbiAgICogVGhlIHRvdGFsIG51bWJlciBvZiBpdGVtcyBmb3IgdGhlIGluaXRpYWwgZGF0YSBzZXQgd2hlbiBpbml0aWFsaXplZC4gV2hlblxuICAgKiB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggYGRhdGFgIGFuZCBgZGF0YVByb3ZpZGVyYCwgaXQgYWxsb3dzIGFuIGluaXRpYWwgZGF0YSB0byBiZVxuICAgKiBzZXQgd2l0aCB0aGUgbmVlZCB0byBjYWxsIHRoZSBgZGF0YVByb3ZpZGVyYC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpbml0aWFsVG90YWw/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBzZXQgb2YgSURzIGZvciB0aGUgaXRlbXMgdG8gc2VsZWN0IGluIGEgY2hlY2tsaXN0IG9yIG11bHRpc2VsZWN0IGdyaWQuXG4gICAqIFRoZSBJRHMgbWF0Y2ggdGhlIGBpZGAgcHJvcGVydGllcyBvZiB0aGUgYGRhdGFgIG9iamVjdHMuIEl0ZW1zIHdpdGggSURzIHRoYXQgYXJlIG5vdFxuICAgKiBpbmNsdWRlZCBhcmUgZGUtc2VsZWN0ZWQgaW4gdGhlIGNoZWNrbGlzdCBvciBtdWx0aXNlbGVjdCBncmlkLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNlbGVjdGVkSWRzPzogQXJyYXk8c3RyaW5nPiB8IE9ic2VydmFibGU8QXJyYXk8c3RyaW5nPj47XG5cbiAgLyoqXG4gICAqIFRoZSBzZXQgb2YgZmllbGRzIHRvIHNvcnQgYnkuIElmIGFycmF5IG9mIGZpZWxkcyB0aGVuIHNvcnRlZCBieSBvcmRlciBvZiBhcnJheS5cbiAgICogRm9yIGluZm9ybWF0aW9uIGFib3V0IGBMaXN0U29ydEZpZWxkU2VsZWN0b3JNb2RlbGAsIHNlZSB0aGVcbiAgICogW3NoYXJlZCBjbGFzc2VzIGZvciBsaXN0c10oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC1saXN0LWJ1aWxkZXItY29tbW9uL2RvY3MvbGlzdC1idWlsZGVyLWNvbW1vbikuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc29ydEZpZWxkcz86XG4gICAgfCBMaXN0U29ydEZpZWxkU2VsZWN0b3JNb2RlbFxuICAgIHwgQXJyYXk8TGlzdFNvcnRGaWVsZFNlbGVjdG9yTW9kZWw+XG4gICAgfCBPYnNlcnZhYmxlPEFycmF5PExpc3RTb3J0RmllbGRTZWxlY3Rvck1vZGVsPj5cbiAgICB8IE9ic2VydmFibGU8TGlzdFNvcnRGaWVsZFNlbGVjdG9yTW9kZWw+O1xuXG4gIC8qKlxuICAgKiBUaGUgc2V0IG9mIGZpbHRlcnMgdG8gYXBwbHkgdG8gbGlzdCBkYXRhLlxuICAgKiBUaGVzZSBmaWx0ZXJzIGNyZWF0ZSBhIGZpbHRlciBzdW1tYXJ5IHdoZW4gdGhlIGxpc3QgaW5jbHVkZXMgdGhlXG4gICAqIFtgc2t5LWxpc3QtZmlsdGVyLXN1bW1hcnlgXShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2NvbXBvbmVudHMvbGlzdC9maWx0ZXJzKVxuICAgKiBjb21wb25lbnQuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgYXBwbGllZEZpbHRlcnM6IEFycmF5PExpc3RGaWx0ZXJNb2RlbD4gPSBbXTtcblxuICAvKipcbiAgICogRm9yIGxpc3Qgdmlld3MgdGhhdCBzdXBwb3J0IGl0ZW0gc2VsZWN0aW9uLCBlbWl0cyB0aGUgc2VsZWN0ZWQgZW50cmllcy5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgc2VsZWN0ZWRJZHNDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPE1hcDxzdHJpbmcsIGJvb2xlYW4+PigpO1xuXG4gIC8qKlxuICAgKiBFbWl0cyB0aGUgZmlsdGVycyBhcHBsaWVkIHRvIHRoZSBsaXN0LlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBhcHBsaWVkRmlsdGVyc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8QXJyYXk8TGlzdEZpbHRlck1vZGVsPj4oKTtcblxuICAvKipcbiAgICogVGhlIGZ1bmN0aW9uIHRvIGFwcGx5IGFzIGEgZ2xvYmFsIHNvcnQgb24gdGhlIGxpc3QuXG4gICAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZVxuICBASW5wdXQoJ3NlYXJjaCcpXG4gIHB1YmxpYyBzZWFyY2hGdW5jdGlvbjogKGRhdGE6IGFueSwgc2VhcmNoVGV4dDogc3RyaW5nKSA9PiBib29sZWFuO1xuXG4gIHByaXZhdGUgZGF0YUZpcnN0TG9hZCA9IGZhbHNlO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oTGlzdFZpZXdDb21wb25lbnQpXG4gIHByaXZhdGUgbGlzdFZpZXdzOiBRdWVyeUxpc3Q8TGlzdFZpZXdDb21wb25lbnQ+O1xuXG4gIHByaXZhdGUgbGFzdFNlbGVjdGVkSWRzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIHByaXZhdGUgbGFzdEZpbHRlcnM6IExpc3RGaWx0ZXJNb2RlbFtdID0gW107XG5cbiAgcHJpdmF0ZSBuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHN0YXRlOiBMaXN0U3RhdGUsXG4gICAgcHJpdmF0ZSBkaXNwYXRjaGVyOiBMaXN0U3RhdGVEaXNwYXRjaGVyLFxuICAgIGxvZ2dlcjogU2t5TG9nU2VydmljZVxuICApIHtcbiAgICBsb2dnZXIuZGVwcmVjYXRlZCgnU2t5TGlzdENvbXBvbmVudCcsIHtcbiAgICAgIGRlcHJlY2F0aW9uTWFqb3JWZXJzaW9uOiA2LFxuICAgICAgbW9yZUluZm9Vcmw6XG4gICAgICAgICdodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2NvbXBvbmVudHMvZGF0YS1tYW5hZ2VyJyxcbiAgICAgIHJlcGxhY2VtZW50UmVjb21tZW5kYXRpb246ICdVc2UgZGF0YSBtYW5hZ2VyIGluc3RlYWQuJyxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGF0YSAmJiB0aGlzLmRhdGFQcm92aWRlciAmJiB0aGlzLmluaXRpYWxUb3RhbCkge1xuICAgICAgdGhpcy5kYXRhRmlyc3RMb2FkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5saXN0Vmlld3MubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgZGVmYXVsdFZpZXc6IExpc3RWaWV3Q29tcG9uZW50ID1cbiAgICAgICAgdGhpcy5kZWZhdWx0VmlldyA9PT0gdW5kZWZpbmVkXG4gICAgICAgICAgPyB0aGlzLmxpc3RWaWV3cy5maXJzdFxuICAgICAgICAgIDogdGhpcy5kZWZhdWx0VmlldztcblxuICAgICAgdGhpcy5kaXNwYXRjaGVyLm5leHQoXG4gICAgICAgIG5ldyBMaXN0Vmlld3NMb2FkQWN0aW9uKFxuICAgICAgICAgIHRoaXMubGlzdFZpZXdzLm1hcCgodikgPT4gbmV3IExpc3RWaWV3TW9kZWwodi5pZCwgdi5sYWJlbCkpXG4gICAgICAgIClcbiAgICAgICk7XG5cbiAgICAgIC8vIGFjdGl2YXRlIHRoZSBkZWZhdWx0IHZpZXdcbiAgICAgIHRoaXMuZGlzcGF0Y2hlci5uZXh0KG5ldyBMaXN0Vmlld3NTZXRBY3RpdmVBY3Rpb24oZGVmYXVsdFZpZXcuaWQpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIHNldCBzb3J0IGZpZWxkc1xuICAgIGdldFZhbHVlKFxuICAgICAgdGhpcy5zb3J0RmllbGRzLFxuICAgICAgKFxuICAgICAgICBzb3J0RmllbGRzOiBMaXN0U29ydEZpZWxkU2VsZWN0b3JNb2RlbFtdIHwgTGlzdFNvcnRGaWVsZFNlbGVjdG9yTW9kZWxcbiAgICAgICkgPT4ge1xuICAgICAgICBsZXQgc29ydEFycmF5OiBMaXN0U29ydEZpZWxkU2VsZWN0b3JNb2RlbFtdO1xuICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkoc29ydEZpZWxkcykgJiYgc29ydEZpZWxkcykge1xuICAgICAgICAgIHNvcnRBcnJheSA9IFtzb3J0RmllbGRzXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzb3J0QXJyYXkgPSBzb3J0RmllbGRzIGFzIExpc3RTb3J0RmllbGRTZWxlY3Rvck1vZGVsW107XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5kaXNwYXRjaGVyLm5leHQoXG4gICAgICAgICAgbmV3IExpc3RTb3J0U2V0RmllbGRTZWxlY3RvcnNBY3Rpb24oc29ydEFycmF5IHx8IFtdKVxuICAgICAgICApO1xuICAgICAgfVxuICAgICk7XG5cbiAgICB0aGlzLmRpc3BsYXllZEl0ZW1zLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XG4gICAgICB0aGlzLmRpc3BhdGNoZXIubmV4dChuZXcgTGlzdEl0ZW1zU2V0TG9hZGluZ0FjdGlvbigpKTtcbiAgICAgIHRoaXMuZGlzcGF0Y2hlci5uZXh0KFxuICAgICAgICBuZXcgTGlzdEl0ZW1zTG9hZEFjdGlvbihyZXN1bHQuaXRlbXMsIHRydWUsIHRydWUsIHJlc3VsdC5jb3VudClcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICAvLyBXYXRjaCBmb3Igc2VsZWN0aW9uIGNoYW5nZXMuXG4gICAgdGhpcy5zdGF0ZVxuICAgICAgLnBpcGUoXG4gICAgICAgIG9ic2VydmFibGVNYXAoKGN1cnJlbnQpID0+IGN1cnJlbnQuc2VsZWN0ZWQpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSxcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoc2VsZWN0ZWQpID0+IHtcbiAgICAgICAgLy8gVXBkYXRlIGxhc3RTZWxlY3RlZElkcyB0byBoZWxwIHVzIHJldGFpbiB1c2VyIHNlbGVjdGlvbnMuXG4gICAgICAgIGNvbnN0IHNlbGVjdGVkSWRzTGlzdDogc3RyaW5nW10gPSBbXTtcbiAgICAgICAgc2VsZWN0ZWQuaXRlbS5zZWxlY3RlZElkTWFwLmZvckVhY2goKHZhbHVlLCBrZXkpID0+IHtcbiAgICAgICAgICBpZiAodmFsdWUgPT09IHRydWUpIHtcbiAgICAgICAgICAgIHNlbGVjdGVkSWRzTGlzdC5wdXNoKGtleSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICAvLyBJZiBjaGFuZ2VzIGFyZSBkaXN0aW5jdCwgZW1pdCBzZWxlY3RlZElkc0NoYW5nZS5cbiAgICAgICAgY29uc3QgZGlzdGluY3RDaGFuZ2VzID0gIXRoaXMuYXJyYXlzRXF1YWwoXG4gICAgICAgICAgdGhpcy5sYXN0U2VsZWN0ZWRJZHMsXG4gICAgICAgICAgc2VsZWN0ZWRJZHNMaXN0XG4gICAgICAgICk7XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkSWRzQ2hhbmdlLm9ic2VydmVycy5sZW5ndGggPiAwICYmIGRpc3RpbmN0Q2hhbmdlcykge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJZHNDaGFuZ2UuZW1pdChzZWxlY3RlZC5pdGVtLnNlbGVjdGVkSWRNYXApO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5sYXN0U2VsZWN0ZWRJZHMgPSBzZWxlY3RlZElkc0xpc3Q7XG4gICAgICB9KTtcblxuICAgIGlmICh0aGlzLmFwcGxpZWRGaWx0ZXJzQ2hhbmdlLm9ic2VydmVycy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLnN0YXRlXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG9ic2VydmFibGVNYXAoKGN1cnJlbnQpID0+IGN1cnJlbnQuZmlsdGVycyksXG4gICAgICAgICAgdGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSksXG4gICAgICAgICAgc2tpcCgxKVxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKGZpbHRlcnMpID0+IHtcbiAgICAgICAgICAvKipcbiAgICAgICAgICAgKiBXZSBhcmUgZG9pbmcgdGhpcyBpbnN0ZWFkIG9mIGEgZGlzdGluY3RVbnRpbENoYW5nZSBkdWUgdG8gbWVtb3J5IGFsbG9jYXRpb24gaXNzdWVzXG4gICAgICAgICAgICogd2l0aCB0aGUgamF2YXNjcmlwdCBhcnJheS4gVG8gZml4IGZ1bGx5IHRoZSBhcnJheSBzaG91bGQgYmUgY2hhbmdlZCB0byBhbiBvYmplY3QgaW5cbiAgICAgICAgICAgKiBhIGJyZWFraW5nIGNoYW5nZS5cbiAgICAgICAgICAgKi9cbiAgICAgICAgICBpZiAoIXRoaXMuYXJyYXlzRXF1YWwoZmlsdGVycywgdGhpcy5sYXN0RmlsdGVycykpIHtcbiAgICAgICAgICAgIHRoaXMubGFzdEZpbHRlcnMgPSBmaWx0ZXJzLnNsaWNlKDApO1xuICAgICAgICAgICAgdGhpcy5hcHBsaWVkRmlsdGVyc0NoYW5nZS5lbWl0KGZpbHRlcnMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICBjaGFuZ2VzWydhcHBsaWVkRmlsdGVycyddICYmXG4gICAgICBjaGFuZ2VzWydhcHBsaWVkRmlsdGVycyddLmN1cnJlbnRWYWx1ZSAhPT1cbiAgICAgICAgY2hhbmdlc1snYXBwbGllZEZpbHRlcnMnXS5wcmV2aW91c1ZhbHVlXG4gICAgKSB7XG4gICAgICB0aGlzLnN0YXRlLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKChjdXJyZW50U3RhdGUpID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGN1cnJlbnRTdGF0ZS5wYWdpbmcucGFnZU51bWJlciAmJlxuICAgICAgICAgIGN1cnJlbnRTdGF0ZS5wYWdpbmcucGFnZU51bWJlciAhPT0gMVxuICAgICAgICApIHtcbiAgICAgICAgICB0aGlzLmRpc3BhdGNoZXIubmV4dChuZXcgTGlzdFBhZ2luZ1NldFBhZ2VOdW1iZXJBY3Rpb24oTnVtYmVyKDEpKSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmRpc3BhdGNoZXIuZmlsdGVyc1VwZGF0ZSh0aGlzLmFwcGxpZWRGaWx0ZXJzKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlc1snc2VsZWN0ZWRJZHMnXSkge1xuICAgICAgLy8gT25seSBzZW5kIHNlbGVjdGlvbiBjaGFuZ2VzIHRvIGRpc3BhdGNoZXIgaWYgY2hhbmdlcyBhcmUgZGlzdGluY3QuXG4gICAgICBjb25zdCBuZXdTZWxlY3RlZElkcyA9IGNoYW5nZXNbJ3NlbGVjdGVkSWRzJ10uY3VycmVudFZhbHVlO1xuICAgICAgaWYgKCF0aGlzLmFycmF5c0VxdWFsKG5ld1NlbGVjdGVkSWRzLCB0aGlzLmxhc3RTZWxlY3RlZElkcykpIHtcbiAgICAgICAgdGhpcy5kaXNwYXRjaGVyLnNldFNlbGVjdGVkKG5ld1NlbGVjdGVkSWRzLCB0cnVlLCB0cnVlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLm5nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgfVxuXG4gIHB1YmxpYyByZWZyZXNoRGlzcGxheWVkSXRlbXMoKTogdm9pZCB7XG4gICAgdGhpcy5kaXNwbGF5ZWRJdGVtcy5waXBlKHRha2UoMSkpLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XG4gICAgICB0aGlzLmRpc3BhdGNoZXIubmV4dChuZXcgTGlzdEl0ZW1zU2V0TG9hZGluZ0FjdGlvbigpKTtcbiAgICAgIHRoaXMuZGlzcGF0Y2hlci5uZXh0KFxuICAgICAgICBuZXcgTGlzdEl0ZW1zTG9hZEFjdGlvbihyZXN1bHQuaXRlbXMsIHRydWUsIHRydWUsIHJlc3VsdC5jb3VudClcbiAgICAgICk7XG4gICAgfSk7XG4gIH1cblxuICBnZXQgZGlzcGxheWVkSXRlbXMoKTogT2JzZXJ2YWJsZTxMaXN0RGF0YVJlc3BvbnNlTW9kZWw+IHtcbiAgICBpZiAoIXRoaXMuZGF0YSAmJiAhdGhpcy5kYXRhUHJvdmlkZXIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTGlzdCByZXF1aXJlcyBkYXRhIG9yIGRhdGFQcm92aWRlciB0byBiZSBzZXQuJyk7XG4gICAgfVxuXG4gICAgbGV0IGRhdGE6IGFueSA9IHRoaXMuZGF0YTtcbiAgICBpZiAoIWlzT2JzZXJ2YWJsZShkYXRhKSkge1xuICAgICAgZGF0YSA9IG9ic2VydmFibGVPZih0aGlzLmRhdGEpO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5kYXRhUHJvdmlkZXIpIHtcbiAgICAgIHRoaXMuZGF0YVByb3ZpZGVyID0gbmV3IFNreUxpc3RJbk1lbW9yeURhdGFQcm92aWRlcihcbiAgICAgICAgZGF0YSxcbiAgICAgICAgdGhpcy5zZWFyY2hGdW5jdGlvblxuICAgICAgKTtcbiAgICB9XG5cbiAgICBsZXQgc2VsZWN0ZWRJZHMgPSB0aGlzLnNlbGVjdGVkSWRzIHx8IG9ic2VydmFibGVPZihbXSk7XG4gICAgaWYgKCFpc09ic2VydmFibGUoc2VsZWN0ZWRJZHMpKSB7XG4gICAgICBzZWxlY3RlZElkcyA9IG9ic2VydmFibGVPZihzZWxlY3RlZElkcyk7XG4gICAgfVxuXG4gICAgbGV0IHNlbGVjdGVkQ2hhbmdlZCA9IGZhbHNlO1xuXG4gICAgLy8gVGhpcyBzdWJqZWN0IGlzIHVzZWQgdG8gY2FuY2VsIHByZXZpb3VzIHJlcXVlc3QgdG8gdGhlIGxpc3QncyBkYXRhIHByb3ZpZGVyIHdoZW4gYSBuZXcgY2hhbmdlXG4gICAgLy8gdG8gdGhlIGxpc3QncyBzdGF0ZSBvY2N1cnMuIEluIGEgZnV0dXJlIGJyZWFraW5nIGNoYW5nZSB0aGlzIHNob3VsZCBiZSByZXBsYWNlZCBvciBjb3VwbGVkXG4gICAgLy8gd2l0aCBhZGRpbmcgYSBkZWJvdW5jZSB0aW1lIHRvIHRoZSBPYnNlcnZhYmxlIHdoaWNoIHdhdGNoZXMgZm9yIHN0YXRlIGNoYW5nZXMuXG4gICAgY29uc3QgY2FuY2VsTGFzdFJlcXVlc3QgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgcmV0dXJuIG9ic2VydmFibGVDb21iaW5lTGF0ZXN0KFxuICAgICAgW1xuICAgICAgICB0aGlzLnN0YXRlLnBpcGUoXG4gICAgICAgICAgb2JzZXJ2YWJsZU1hcCgocykgPT4gcy5maWx0ZXJzKSxcbiAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICAgICAgICksXG4gICAgICAgIHRoaXMuc3RhdGUucGlwZShcbiAgICAgICAgICBvYnNlcnZhYmxlTWFwKChzKSA9PiBzLnNlYXJjaCksXG4gICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICAgICApLFxuICAgICAgICB0aGlzLnN0YXRlLnBpcGUoXG4gICAgICAgICAgb2JzZXJ2YWJsZU1hcCgocykgPT4gcy5zb3J0LmZpZWxkU2VsZWN0b3JzKSxcbiAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICAgICAgICksXG4gICAgICAgIHRoaXMuc3RhdGUucGlwZShcbiAgICAgICAgICBvYnNlcnZhYmxlTWFwKChzKSA9PiBzLnBhZ2luZy5pdGVtc1BlclBhZ2UpLFxuICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgICAgICAgKSxcbiAgICAgICAgdGhpcy5zdGF0ZS5waXBlKFxuICAgICAgICAgIG9ic2VydmFibGVNYXAoKHMpID0+IHMucGFnaW5nLnBhZ2VOdW1iZXIpLFxuICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgICAgICAgKSxcbiAgICAgICAgdGhpcy5zdGF0ZS5waXBlKFxuICAgICAgICAgIG9ic2VydmFibGVNYXAoKHMpID0+IHMudG9vbGJhci5kaXNhYmxlZCksXG4gICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICAgICApLFxuICAgICAgICBzZWxlY3RlZElkcy5waXBlKFxuICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgICAgb2JzZXJ2YWJsZU1hcCgoc2VsZWN0ZWQpID0+IHtcbiAgICAgICAgICAgIHNlbGVjdGVkQ2hhbmdlZCA9IHRydWU7XG4gICAgICAgICAgICByZXR1cm4gc2VsZWN0ZWQ7XG4gICAgICAgICAgfSlcbiAgICAgICAgKSxcbiAgICAgICAgZGF0YS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpLFxuICAgICAgXSxcbiAgICAgIChcbiAgICAgICAgZmlsdGVyczogTGlzdEZpbHRlck1vZGVsW10sXG4gICAgICAgIHNlYXJjaDogTGlzdFNlYXJjaE1vZGVsLFxuICAgICAgICBzb3J0RmllbGRTZWxlY3RvcnM6IEFycmF5PExpc3RTb3J0RmllbGRTZWxlY3Rvck1vZGVsPixcbiAgICAgICAgaXRlbXNQZXJQYWdlOiBudW1iZXIsXG4gICAgICAgIHBhZ2VOdW1iZXI6IG51bWJlcixcbiAgICAgICAgaXNUb29sYmFyRGlzYWJsZWQ6IGJvb2xlYW4sXG4gICAgICAgIHNlbGVjdGVkOiBBcnJheTxzdHJpbmc+LFxuICAgICAgICBpdGVtc0RhdGE6IEFycmF5PGFueT5cbiAgICAgICkgPT4ge1xuICAgICAgICBjYW5jZWxMYXN0UmVxdWVzdC5uZXh0KCk7XG4gICAgICAgIGNhbmNlbExhc3RSZXF1ZXN0LmNvbXBsZXRlKCk7XG4gICAgICAgIGlmIChzZWxlY3RlZENoYW5nZWQpIHtcbiAgICAgICAgICB0aGlzLmRpc3BhdGNoZXIubmV4dChuZXcgTGlzdFNlbGVjdGVkU2V0TG9hZGluZ0FjdGlvbigpKTtcbiAgICAgICAgICB0aGlzLmRpc3BhdGNoZXIubmV4dChuZXcgTGlzdFNlbGVjdGVkTG9hZEFjdGlvbihzZWxlY3RlZCkpO1xuICAgICAgICAgIHRoaXMuZGlzcGF0Y2hlci5uZXh0KG5ldyBMaXN0U2VsZWN0ZWRTZXRMb2FkaW5nQWN0aW9uKGZhbHNlKSk7XG4gICAgICAgICAgc2VsZWN0ZWRDaGFuZ2VkID0gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgcmVzcG9uc2U6IE9ic2VydmFibGU8TGlzdERhdGFSZXNwb25zZU1vZGVsPjtcbiAgICAgICAgaWYgKHRoaXMuZGF0YUZpcnN0TG9hZCkge1xuICAgICAgICAgIHRoaXMuZGF0YUZpcnN0TG9hZCA9IGZhbHNlO1xuICAgICAgICAgIGNvbnN0IGluaXRpYWxJdGVtcyA9IGl0ZW1zRGF0YS5tYXAoXG4gICAgICAgICAgICAoZCkgPT5cbiAgICAgICAgICAgICAgbmV3IExpc3RJdGVtTW9kZWwoZC5pZCB8fCBgc2t5LWxpc3QtaXRlbS1tb2RlbC0keysraWRJbmRleH1gLCBkKVxuICAgICAgICAgICk7XG4gICAgICAgICAgcmVzcG9uc2UgPSBvYnNlcnZhYmxlT2YoXG4gICAgICAgICAgICBuZXcgTGlzdERhdGFSZXNwb25zZU1vZGVsKHtcbiAgICAgICAgICAgICAgY291bnQ6IHRoaXMuaW5pdGlhbFRvdGFsLFxuICAgICAgICAgICAgICBpdGVtczogaW5pdGlhbEl0ZW1zLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICApLnBpcGUodGFrZVVudGlsKGNhbmNlbExhc3RSZXF1ZXN0KSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVzcG9uc2UgPSB0aGlzLmRhdGFQcm92aWRlclxuICAgICAgICAgICAgLmdldChcbiAgICAgICAgICAgICAgbmV3IExpc3REYXRhUmVxdWVzdE1vZGVsKHtcbiAgICAgICAgICAgICAgICBmaWx0ZXJzOiBmaWx0ZXJzLFxuICAgICAgICAgICAgICAgIHBhZ2VTaXplOiBpdGVtc1BlclBhZ2UsXG4gICAgICAgICAgICAgICAgcGFnZU51bWJlcjogcGFnZU51bWJlcixcbiAgICAgICAgICAgICAgICBzZWFyY2g6IHNlYXJjaCxcbiAgICAgICAgICAgICAgICBzb3J0OiBuZXcgTGlzdFNvcnRNb2RlbCh7IGZpZWxkU2VsZWN0b3JzOiBzb3J0RmllbGRTZWxlY3RvcnMgfSksXG4gICAgICAgICAgICAgICAgaXNUb29sYmFyRGlzYWJsZWQ6IGlzVG9vbGJhckRpc2FibGVkLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKGNhbmNlbExhc3RSZXF1ZXN0KSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVzcG9uc2U7XG4gICAgICB9XG4gICAgKS5waXBlKFxuICAgICAgdGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSksXG5cbiAgICAgIC8vIFJldGFpbiB1c2VyIHNlbGVjdGlvbnMgZnJvbSBwcmV2aW91cyBzdGF0ZS5cbiAgICAgIC8vIFRoaXMgaXMgb25seSBuZWNlc3NhcnkgZm9yIGdyaWRzIGNvbXBvbmVudCAoYmFzZWQgb24gaXRlbS5pc1NlbGVjdGVkKS5cbiAgICAgIG9ic2VydmFibGVNYXAoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgIHJldHVybiByZXNwb25zZS5waXBlKFxuICAgICAgICAgIG9ic2VydmFibGVNYXAoKGxpc3REYXRhUmVzcG9uc2VNb2RlbCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBMaXN0RGF0YVJlc3BvbnNlTW9kZWwoe1xuICAgICAgICAgICAgICBjb3VudDogbGlzdERhdGFSZXNwb25zZU1vZGVsLmNvdW50LFxuICAgICAgICAgICAgICBpdGVtczogdGhpcy5nZXRJdGVtc0FuZFJldGFpblNlbGVjdGlvbnMoXG4gICAgICAgICAgICAgICAgbGlzdERhdGFSZXNwb25zZU1vZGVsLml0ZW1zLFxuICAgICAgICAgICAgICAgIHRoaXMubGFzdFNlbGVjdGVkSWRzXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgfSksXG4gICAgICBmbGF0TWFwKCh2YWx1ZSkgPT4gdmFsdWUpXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2VsZWN0ZWRJdGVtcygpOiBPYnNlcnZhYmxlPEFycmF5PExpc3RJdGVtTW9kZWw+PiB7XG4gICAgcmV0dXJuIG9ic2VydmFibGVDb21iaW5lTGF0ZXN0KFxuICAgICAgdGhpcy5zdGF0ZS5waXBlKFxuICAgICAgICBvYnNlcnZhYmxlTWFwKChjdXJyZW50KSA9PiBjdXJyZW50Lml0ZW1zLml0ZW1zKSxcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICAgKSxcbiAgICAgIHRoaXMuc3RhdGUucGlwZShcbiAgICAgICAgb2JzZXJ2YWJsZU1hcCgoY3VycmVudCkgPT4gY3VycmVudC5zZWxlY3RlZCksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgICAgICksXG4gICAgICAoaXRlbXM6IEFycmF5PExpc3RJdGVtTW9kZWw+LCBzZWxlY3RlZDogQXN5bmNJdGVtPExpc3RTZWxlY3RlZE1vZGVsPikgPT4ge1xuICAgICAgICByZXR1cm4gaXRlbXMuZmlsdGVyKChpKSA9PiBzZWxlY3RlZC5pdGVtLnNlbGVjdGVkSWRNYXAuZ2V0KGkuaWQpKTtcbiAgICAgIH1cbiAgICApLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpO1xuICB9XG5cbiAgcHVibGljIGdldCBsYXN0VXBkYXRlKCk6IE9ic2VydmFibGU8RGF0ZT4ge1xuICAgIHJldHVybiB0aGlzLnN0YXRlLnBpcGUoXG4gICAgICB0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSxcbiAgICAgIG9ic2VydmFibGVNYXAoKHMpID0+XG4gICAgICAgIHMuaXRlbXMubGFzdFVwZGF0ZSA/IG5ldyBEYXRlKHMuaXRlbXMubGFzdFVwZGF0ZSkgOiB1bmRlZmluZWRcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldCB2aWV3cygpOiBBcnJheTxMaXN0Vmlld0NvbXBvbmVudD4ge1xuICAgIHJldHVybiB0aGlzLmxpc3RWaWV3cy50b0FycmF5KCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGl0ZW1Db3VudCgpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xuICAgIHJldHVybiB0aGlzLmRhdGFQcm92aWRlci5jb3VudCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRJdGVtc0FuZFJldGFpblNlbGVjdGlvbnMoXG4gICAgbmV3TGlzdDogTGlzdEl0ZW1Nb2RlbFtdLFxuICAgIHNlbGVjdGVkSWRzOiBzdHJpbmdbXVxuICApOiBMaXN0SXRlbU1vZGVsW10ge1xuICAgIGNvbnN0IHVwZGF0ZWRMaXN0TW9kZWwgPSBuZXdMaXN0LnNsaWNlKCk7XG4gICAgdXBkYXRlZExpc3RNb2RlbC5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICBpdGVtLmlzU2VsZWN0ZWQgPSBzZWxlY3RlZElkcy5pbmRleE9mKGl0ZW0uaWQpID4gLTEgPyB0cnVlIDogZmFsc2U7XG4gICAgfSk7XG4gICAgcmV0dXJuIHVwZGF0ZWRMaXN0TW9kZWw7XG4gIH1cblxuICBwcml2YXRlIGFycmF5c0VxdWFsKGFycmF5QTogYW55W10sIGFycmF5QjogYW55W10pOiBib29sZWFuIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIGlmIChhcnJheUEgPT09IGFycmF5Qikge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmIChhcnJheUEgPT09IHVuZGVmaW5lZCB8fCBhcnJheUIgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBpZiAoYXJyYXlBLmxlbmd0aCAhPT0gYXJyYXlCLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFycmF5QS5sZW5ndGg7ICsraSkge1xuICAgICAgaWYgKGFycmF5QVtpXSAhPT0gYXJyYXlCW2ldKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn1cbiJdfQ==
313
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbGlzdC1idWlsZGVyL3NyYy9saWIvbW9kdWxlcy9saXN0L2xpc3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULGVBQWUsRUFDZixZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sR0FHUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQWEsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDakUsT0FBTyxFQUNMLGFBQWEsRUFFYixZQUFZLEdBQ2IsTUFBTSw0QkFBNEIsQ0FBQztBQUVwQyxPQUFPLEVBRUwsT0FBTyxFQUNQLGFBQWEsSUFBSSx1QkFBdUIsRUFDeEMsRUFBRSxJQUFJLFlBQVksR0FDbkIsTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLE9BQU8sRUFDUCxHQUFHLElBQUksYUFBYSxFQUNwQixJQUFJLEVBQ0osSUFBSSxFQUNKLFNBQVMsR0FDVixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBRzNHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRW5FLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxTQUFT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QUFLO2dCQVNDLFlBQVk7c0JBRGxCLEtBQUs7Z0JBU0MsV0FBVztzQkFEakIsS0FBSztnQkFTQyxVQUFVO3NCQURoQixLQUFLO2dCQWNDLGNBQWM7c0JBRHBCLEtBQUs7Z0JBT0MsaUJBQWlCO3NCQUR2QixNQUFNO2dCQU9BLG9CQUFvQjtzQkFEMUIsTUFBTTtnQkFRQSxjQUFjO3NCQURwQixLQUFLO3VCQUFDLFFBQVE7Z0JBTVAsU0FBUztzQkFEaEIsZUFBZTt1QkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lMb2dTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2NvcmUnO1xuaW1wb3J0IHsgQXN5bmNJdGVtLCBnZXRWYWx1ZSB9IGZyb20gJ0Bza3l1eC9saXN0LWJ1aWxkZXItY29tbW9uJztcbmltcG9ydCB7XG4gIExpc3RJdGVtTW9kZWwsXG4gIExpc3RTb3J0RmllbGRTZWxlY3Rvck1vZGVsLFxuICBpc09ic2VydmFibGUsXG59IGZyb20gJ0Bza3l1eC9saXN0LWJ1aWxkZXItY29tbW9uJztcblxuaW1wb3J0IHtcbiAgT2JzZXJ2YWJsZSxcbiAgU3ViamVjdCxcbiAgY29tYmluZUxhdGVzdCBhcyBvYnNlcnZhYmxlQ29tYmluZUxhdGVzdCxcbiAgb2YgYXMgb2JzZXJ2YWJsZU9mLFxufSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICBmbGF0TWFwLFxuICBtYXAgYXMgb2JzZXJ2YWJsZU1hcCxcbiAgc2tpcCxcbiAgdGFrZSxcbiAgdGFrZVVudGlsLFxufSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreUxpc3RJbk1lbW9yeURhdGFQcm92aWRlciB9IGZyb20gJy4uL2xpc3QtZGF0YS1wcm92aWRlci1pbi1tZW1vcnkvbGlzdC1kYXRhLWluLW1lbW9yeS5wcm92aWRlcic7XG5pbXBvcnQgeyBMaXN0RmlsdGVyTW9kZWwgfSBmcm9tICcuLi9saXN0LWZpbHRlcnMvZmlsdGVyLm1vZGVsJztcblxuaW1wb3J0IHsgTGlzdERhdGFSZXF1ZXN0TW9kZWwgfSBmcm9tICcuL2xpc3QtZGF0YS1yZXF1ZXN0Lm1vZGVsJztcbmltcG9ydCB7IExpc3REYXRhUmVzcG9uc2VNb2RlbCB9IGZyb20gJy4vbGlzdC1kYXRhLXJlc3BvbnNlLm1vZGVsJztcbmltcG9ydCB7IExpc3REYXRhUHJvdmlkZXIgfSBmcm9tICcuL2xpc3QtZGF0YS5wcm92aWRlcic7XG5pbXBvcnQgeyBMaXN0Vmlld0NvbXBvbmVudCB9IGZyb20gJy4vbGlzdC12aWV3LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMaXN0SXRlbXNMb2FkQWN0aW9uIH0gZnJvbSAnLi9zdGF0ZS9pdGVtcy9sb2FkLmFjdGlvbic7XG5pbXBvcnQgeyBMaXN0SXRlbXNTZXRMb2FkaW5nQWN0aW9uIH0gZnJvbSAnLi9zdGF0ZS9pdGVtcy9zZXQtbG9hZGluZy5hY3Rpb24nO1xuaW1wb3J0IHsgTGlzdFN0YXRlRGlzcGF0Y2hlciB9IGZyb20gJy4vc3RhdGUvbGlzdC1zdGF0ZS5yeHN0YXRlJztcbmltcG9ydCB7IExpc3RTdGF0ZSB9IGZyb20gJy4vc3RhdGUvbGlzdC1zdGF0ZS5zdGF0ZS1ub2RlJztcbmltcG9ydCB7IExpc3RQYWdpbmdTZXRQYWdlTnVtYmVyQWN0aW9uIH0gZnJvbSAnLi9zdGF0ZS9wYWdpbmcvc2V0LXBhZ2UtbnVtYmVyLmFjdGlvbic7XG5pbXBvcnQgeyBMaXN0U2VhcmNoTW9kZWwgfSBmcm9tICcuL3N0YXRlL3NlYXJjaC9zZWFyY2gubW9kZWwnO1xuaW1wb3J0IHsgTGlzdFNlbGVjdGVkTG9hZEFjdGlvbiB9IGZyb20gJy4vc3RhdGUvc2VsZWN0ZWQvbG9hZC5hY3Rpb24nO1xuaW1wb3J0IHsgTGlzdFNlbGVjdGVkTW9kZWwgfSBmcm9tICcuL3N0YXRlL3NlbGVjdGVkL3NlbGVjdGVkLm1vZGVsJztcbmltcG9ydCB7IExpc3RTZWxlY3RlZFNldExvYWRpbmdBY3Rpb24gfSBmcm9tICcuL3N0YXRlL3NlbGVjdGVkL3NldC1sb2FkaW5nLmFjdGlvbic7XG5pbXBvcnQgeyBMaXN0U29ydFNldEZpZWxkU2VsZWN0b3JzQWN0aW9uIH0gZnJvbSAnLi9zdGF0ZS9zb3J0L3NldC1maWVsZC1zZWxlY3RvcnMuYWN0aW9uJztcbmltcG9ydCB7IExpc3RTb3J0TW9kZWwgfSBmcm9tICcuL3N0YXRlL3NvcnQvc29ydC5tb2RlbCc7XG5pbXBvcnQgeyBMaXN0Vmlld3NMb2FkQWN0aW9uIH0gZnJvbSAnLi9zdGF0ZS92aWV3cy9sb2FkLmFjdGlvbic7XG5pbXBvcnQgeyBMaXN0Vmlld3NTZXRBY3RpdmVBY3Rpb24gfSBmcm9tICcuL3N0YXRlL3ZpZXdzL3NldC1hY3RpdmUuYWN0aW9uJztcbmltcG9ydCB7IExpc3RWaWV3TW9kZWwgfSBmcm9tICcuL3N0YXRlL3ZpZXdzL3ZpZXcubW9kZWwnO1xuXG5sZXQgaWRJbmRleCA9IDA7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgTGlzdCBidWlsZGVyIGFuZCBpdHMgZmVhdHVyZXMgYXJlIGRlcHJlY2F0ZWQuIFVzZSBkYXRhIG1hbmFnZXIgaW5zdGVhZC4gRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSBodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2NvbXBvbmVudHMvZGF0YS1tYW5hZ2VyLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktbGlzdCcsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHByb3ZpZGVyczogW0xpc3RTdGF0ZSwgTGlzdFN0YXRlRGlzcGF0Y2hlcl0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lMaXN0Q29tcG9uZW50XG4gIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3lcbntcbiAgcHVibGljIGlkID0gYHNreS1saXN0LWNtcC0keysraWRJbmRleH1gO1xuICAvKipcbiAgICogVGhlIGRhdGEgdG8gZGlzcGxheS4gVGhlIGxpc3QgY29tcG9uZW50IHJlcXVpcmVzIHRoaXMgcHJvcGVydHkgb3IgdGhlXG4gICAqIGBkYXRhUHJvdmlkZXJgIHByb3BlcnR5LiBGb3IgY2hlY2tsaXN0IG9yIG11bHRpc2VsZWN0IGdyaWRzLCBlYWNoIHJvdyByZXF1aXJlcyBhblxuICAgKiBgaWRgIHByb3BlcnR5IHRvIG1hbmFnZSBzZWxlY3RlZCBpdGVtcyB3aXRoIHRoZSBgc2VsZWN0ZWRJZHNgIGlucHV0IGFuZCB0aGVcbiAgICogYHNlbGVjdGVkSWRzQ2hhbmdlYCBldmVudC4gSWYgeW91IGRvIG5vdCBwcm92aWRlIGFuIGBpZGAsIHRoZSBsaXN0IGF1dG9tYXRpY2FsbHlcbiAgICogZ2VuZXJhdGVzIG9uZS4gVG8gdXBkYXRlIGRhdGEgaW4geW91ciB2aWV3IG91dHNpZGUgb2YgYSBgZGF0YVByb3ZpZGVyYCwgeW91IG11c3QgdXNlXG4gICAqIGFuIG9ic2VydmFibGUgaW5zdGVhZCBvZiBhIHN0YXRpYyBhcnJheS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBkYXRhPzogQXJyYXk8YW55PiB8IE9ic2VydmFibGU8QXJyYXk8YW55Pj4gPSBbXTtcblxuICAvKipcbiAgICogVGhlIGRhdGEgcHJvdmlkZXIgdGhhdCBvYnRhaW5zIHRoZSBkYXRhIHRvIGRpc3BsYXkuIFRoZSBsaXN0IGNvbXBvbmVudCByZXF1aXJlc1xuICAgKiB0aGlzIHByb3BlcnR5IG9yIHRoZSBgZGF0YWAgcHJvcGVydHkuIEZvciBsaXN0cyB0aGF0IHVzZSBgZGF0YVByb3ZpZGVyYCBpbnN0ZWFkIG9mIGBkYXRhYCxcbiAgICogY29uc3VtZXJzIGFyZSByZXNwb25zaWJsZSBmb3IgbWFuYWdpbmcgYWxsIGBMaXN0RGF0YVJlcXVlc3RNb2RlbGAgcHJvcGVydGllcy5cbiAgICogQGRlZmF1bHQgU2t5TGlzdEluTWVtb3J5RGF0YVByb3ZpZGVyXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZGF0YVByb3ZpZGVyPzogTGlzdERhdGFQcm92aWRlcjtcblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZGVmYXVsdFZpZXc/OiBMaXN0Vmlld0NvbXBvbmVudDtcblxuICAvKipcbiAgICogVGhlIHRvdGFsIG51bWJlciBvZiBpdGVtcyBmb3IgdGhlIGluaXRpYWwgZGF0YSBzZXQgd2hlbiBpbml0aWFsaXplZC4gV2hlblxuICAgKiB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggYGRhdGFgIGFuZCBgZGF0YVByb3ZpZGVyYCwgaXQgYWxsb3dzIGFuIGluaXRpYWwgZGF0YSB0byBiZVxuICAgKiBzZXQgd2l0aCB0aGUgbmVlZCB0byBjYWxsIHRoZSBgZGF0YVByb3ZpZGVyYC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpbml0aWFsVG90YWw/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBzZXQgb2YgSURzIGZvciB0aGUgaXRlbXMgdG8gc2VsZWN0IGluIGEgY2hlY2tsaXN0IG9yIG11bHRpc2VsZWN0IGdyaWQuXG4gICAqIFRoZSBJRHMgbWF0Y2ggdGhlIGBpZGAgcHJvcGVydGllcyBvZiB0aGUgYGRhdGFgIG9iamVjdHMuIEl0ZW1zIHdpdGggSURzIHRoYXQgYXJlIG5vdFxuICAgKiBpbmNsdWRlZCBhcmUgZGUtc2VsZWN0ZWQgaW4gdGhlIGNoZWNrbGlzdCBvciBtdWx0aXNlbGVjdCBncmlkLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNlbGVjdGVkSWRzPzogQXJyYXk8c3RyaW5nPiB8IE9ic2VydmFibGU8QXJyYXk8c3RyaW5nPj47XG5cbiAgLyoqXG4gICAqIFRoZSBzZXQgb2YgZmllbGRzIHRvIHNvcnQgYnkuIElmIGFycmF5IG9mIGZpZWxkcyB0aGVuIHNvcnRlZCBieSBvcmRlciBvZiBhcnJheS5cbiAgICogRm9yIGluZm9ybWF0aW9uIGFib3V0IGBMaXN0U29ydEZpZWxkU2VsZWN0b3JNb2RlbGAsIHNlZSB0aGVcbiAgICogW3NoYXJlZCBjbGFzc2VzIGZvciBsaXN0c10oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC1saXN0LWJ1aWxkZXItY29tbW9uL2RvY3MvbGlzdC1idWlsZGVyLWNvbW1vbikuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc29ydEZpZWxkcz86XG4gICAgfCBMaXN0U29ydEZpZWxkU2VsZWN0b3JNb2RlbFxuICAgIHwgQXJyYXk8TGlzdFNvcnRGaWVsZFNlbGVjdG9yTW9kZWw+XG4gICAgfCBPYnNlcnZhYmxlPEFycmF5PExpc3RTb3J0RmllbGRTZWxlY3Rvck1vZGVsPj5cbiAgICB8IE9ic2VydmFibGU8TGlzdFNvcnRGaWVsZFNlbGVjdG9yTW9kZWw+O1xuXG4gIC8qKlxuICAgKiBUaGUgc2V0IG9mIGZpbHRlcnMgdG8gYXBwbHkgdG8gbGlzdCBkYXRhLlxuICAgKiBUaGVzZSBmaWx0ZXJzIGNyZWF0ZSBhIGZpbHRlciBzdW1tYXJ5IHdoZW4gdGhlIGxpc3QgaW5jbHVkZXMgdGhlXG4gICAqIFtgc2t5LWxpc3QtZmlsdGVyLXN1bW1hcnlgXShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2NvbXBvbmVudHMvbGlzdC9maWx0ZXJzKVxuICAgKiBjb21wb25lbnQuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgYXBwbGllZEZpbHRlcnM6IEFycmF5PExpc3RGaWx0ZXJNb2RlbD4gPSBbXTtcblxuICAvKipcbiAgICogRm9yIGxpc3Qgdmlld3MgdGhhdCBzdXBwb3J0IGl0ZW0gc2VsZWN0aW9uLCBlbWl0cyB0aGUgc2VsZWN0ZWQgZW50cmllcy5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgc2VsZWN0ZWRJZHNDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPE1hcDxzdHJpbmcsIGJvb2xlYW4+PigpO1xuXG4gIC8qKlxuICAgKiBFbWl0cyB0aGUgZmlsdGVycyBhcHBsaWVkIHRvIHRoZSBsaXN0LlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBhcHBsaWVkRmlsdGVyc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8QXJyYXk8TGlzdEZpbHRlck1vZGVsPj4oKTtcblxuICAvKipcbiAgICogVGhlIGZ1bmN0aW9uIHRvIGFwcGx5IGFzIGEgZ2xvYmFsIHNvcnQgb24gdGhlIGxpc3QuXG4gICAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZVxuICBASW5wdXQoJ3NlYXJjaCcpXG4gIHB1YmxpYyBzZWFyY2hGdW5jdGlvbjogKGRhdGE6IGFueSwgc2VhcmNoVGV4dDogc3RyaW5nKSA9PiBib29sZWFuO1xuXG4gIHByaXZhdGUgZGF0YUZpcnN0TG9hZCA9IGZhbHNlO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oTGlzdFZpZXdDb21wb25lbnQpXG4gIHByaXZhdGUgbGlzdFZpZXdzOiBRdWVyeUxpc3Q8TGlzdFZpZXdDb21wb25lbnQ+O1xuXG4gIHByaXZhdGUgbGFzdFNlbGVjdGVkSWRzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIHByaXZhdGUgbGFzdEZpbHRlcnM6IExpc3RGaWx0ZXJNb2RlbFtdID0gW107XG5cbiAgcHJpdmF0ZSBuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHN0YXRlOiBMaXN0U3RhdGUsXG4gICAgcHJpdmF0ZSBkaXNwYXRjaGVyOiBMaXN0U3RhdGVEaXNwYXRjaGVyLFxuICAgIGxvZ2dlcjogU2t5TG9nU2VydmljZVxuICApIHtcbiAgICBsb2dnZXIuZGVwcmVjYXRlZCgnU2t5TGlzdENvbXBvbmVudCcsIHtcbiAgICAgIGRlcHJlY2F0aW9uTWFqb3JWZXJzaW9uOiA2LFxuICAgICAgbW9yZUluZm9Vcmw6XG4gICAgICAgICdodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2NvbXBvbmVudHMvZGF0YS1tYW5hZ2VyJyxcbiAgICAgIHJlcGxhY2VtZW50UmVjb21tZW5kYXRpb246ICdVc2UgZGF0YSBtYW5hZ2VyIGluc3RlYWQuJyxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGF0YSAmJiB0aGlzLmRhdGFQcm92aWRlciAmJiB0aGlzLmluaXRpYWxUb3RhbCkge1xuICAgICAgdGhpcy5kYXRhRmlyc3RMb2FkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5saXN0Vmlld3MubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgZGVmYXVsdFZpZXc6IExpc3RWaWV3Q29tcG9uZW50ID1cbiAgICAgICAgdGhpcy5kZWZhdWx0VmlldyA9PT0gdW5kZWZpbmVkXG4gICAgICAgICAgPyB0aGlzLmxpc3RWaWV3cy5maXJzdFxuICAgICAgICAgIDogdGhpcy5kZWZhdWx0VmlldztcblxuICAgICAgdGhpcy5kaXNwYXRjaGVyLm5leHQoXG4gICAgICAgIG5ldyBMaXN0Vmlld3NMb2FkQWN0aW9uKFxuICAgICAgICAgIHRoaXMubGlzdFZpZXdzLm1hcCgodikgPT4gbmV3IExpc3RWaWV3TW9kZWwodi5pZCwgdi5sYWJlbCkpXG4gICAgICAgIClcbiAgICAgICk7XG5cbiAgICAgIC8vIGFjdGl2YXRlIHRoZSBkZWZhdWx0IHZpZXdcbiAgICAgIHRoaXMuZGlzcGF0Y2hlci5uZXh0KG5ldyBMaXN0Vmlld3NTZXRBY3RpdmVBY3Rpb24oZGVmYXVsdFZpZXcuaWQpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIHNldCBzb3J0IGZpZWxkc1xuICAgIGdldFZhbHVlKFxuICAgICAgdGhpcy5zb3J0RmllbGRzLFxuICAgICAgKFxuICAgICAgICBzb3J0RmllbGRzOiBMaXN0U29ydEZpZWxkU2VsZWN0b3JNb2RlbFtdIHwgTGlzdFNvcnRGaWVsZFNlbGVjdG9yTW9kZWxcbiAgICAgICkgPT4ge1xuICAgICAgICBsZXQgc29ydEFycmF5OiBMaXN0U29ydEZpZWxkU2VsZWN0b3JNb2RlbFtdO1xuICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkoc29ydEZpZWxkcykgJiYgc29ydEZpZWxkcykge1xuICAgICAgICAgIHNvcnRBcnJheSA9IFtzb3J0RmllbGRzXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzb3J0QXJyYXkgPSBzb3J0RmllbGRzIGFzIExpc3RTb3J0RmllbGRTZWxlY3Rvck1vZGVsW107XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5kaXNwYXRjaGVyLm5leHQoXG4gICAgICAgICAgbmV3IExpc3RTb3J0U2V0RmllbGRTZWxlY3RvcnNBY3Rpb24oc29ydEFycmF5IHx8IFtdKVxuICAgICAgICApO1xuICAgICAgfVxuICAgICk7XG5cbiAgICB0aGlzLmRpc3BsYXllZEl0ZW1zLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XG4gICAgICB0aGlzLmRpc3BhdGNoZXIubmV4dChuZXcgTGlzdEl0ZW1zU2V0TG9hZGluZ0FjdGlvbigpKTtcbiAgICAgIHRoaXMuZGlzcGF0Y2hlci5uZXh0KFxuICAgICAgICBuZXcgTGlzdEl0ZW1zTG9hZEFjdGlvbihyZXN1bHQuaXRlbXMsIHRydWUsIHRydWUsIHJlc3VsdC5jb3VudClcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICAvLyBXYXRjaCBmb3Igc2VsZWN0aW9uIGNoYW5nZXMuXG4gICAgdGhpcy5zdGF0ZVxuICAgICAgLnBpcGUoXG4gICAgICAgIG9ic2VydmFibGVNYXAoKGN1cnJlbnQpID0+IGN1cnJlbnQuc2VsZWN0ZWQpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSxcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoc2VsZWN0ZWQpID0+IHtcbiAgICAgICAgLy8gVXBkYXRlIGxhc3RTZWxlY3RlZElkcyB0byBoZWxwIHVzIHJldGFpbiB1c2VyIHNlbGVjdGlvbnMuXG4gICAgICAgIGNvbnN0IHNlbGVjdGVkSWRzTGlzdDogc3RyaW5nW10gPSBbXTtcbiAgICAgICAgc2VsZWN0ZWQuaXRlbS5zZWxlY3RlZElkTWFwLmZvckVhY2goKHZhbHVlLCBrZXkpID0+IHtcbiAgICAgICAgICBpZiAodmFsdWUgPT09IHRydWUpIHtcbiAgICAgICAgICAgIHNlbGVjdGVkSWRzTGlzdC5wdXNoKGtleSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICAvLyBJZiBjaGFuZ2VzIGFyZSBkaXN0aW5jdCwgZW1pdCBzZWxlY3RlZElkc0NoYW5nZS5cbiAgICAgICAgY29uc3QgZGlzdGluY3RDaGFuZ2VzID0gIXRoaXMuYXJyYXlzRXF1YWwoXG4gICAgICAgICAgdGhpcy5sYXN0U2VsZWN0ZWRJZHMsXG4gICAgICAgICAgc2VsZWN0ZWRJZHNMaXN0XG4gICAgICAgICk7XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkSWRzQ2hhbmdlLm9ic2VydmVycy5sZW5ndGggPiAwICYmIGRpc3RpbmN0Q2hhbmdlcykge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJZHNDaGFuZ2UuZW1pdChzZWxlY3RlZC5pdGVtLnNlbGVjdGVkSWRNYXApO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5sYXN0U2VsZWN0ZWRJZHMgPSBzZWxlY3RlZElkc0xpc3Q7XG4gICAgICB9KTtcblxuICAgIGlmICh0aGlzLmFwcGxpZWRGaWx0ZXJzQ2hhbmdlLm9ic2VydmVycy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLnN0YXRlXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG9ic2VydmFibGVNYXAoKGN1cnJlbnQpID0+IGN1cnJlbnQuZmlsdGVycyksXG4gICAgICAgICAgdGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSksXG4gICAgICAgICAgc2tpcCgxKVxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKGZpbHRlcnMpID0+IHtcbiAgICAgICAgICAvKipcbiAgICAgICAgICAgKiBXZSBhcmUgZG9pbmcgdGhpcyBpbnN0ZWFkIG9mIGEgZGlzdGluY3RVbnRpbENoYW5nZSBkdWUgdG8gbWVtb3J5IGFsbG9jYXRpb24gaXNzdWVzXG4gICAgICAgICAgICogd2l0aCB0aGUgamF2YXNjcmlwdCBhcnJheS4gVG8gZml4IGZ1bGx5IHRoZSBhcnJheSBzaG91bGQgYmUgY2hhbmdlZCB0byBhbiBvYmplY3QgaW5cbiAgICAgICAgICAgKiBhIGJyZWFraW5nIGNoYW5nZS5cbiAgICAgICAgICAgKi9cbiAgICAgICAgICBpZiAoIXRoaXMuYXJyYXlzRXF1YWwoZmlsdGVycywgdGhpcy5sYXN0RmlsdGVycykpIHtcbiAgICAgICAgICAgIHRoaXMubGFzdEZpbHRlcnMgPSBmaWx0ZXJzLnNsaWNlKDApO1xuICAgICAgICAgICAgdGhpcy5hcHBsaWVkRmlsdGVyc0NoYW5nZS5lbWl0KGZpbHRlcnMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICBjaGFuZ2VzWydhcHBsaWVkRmlsdGVycyddICYmXG4gICAgICBjaGFuZ2VzWydhcHBsaWVkRmlsdGVycyddLmN1cnJlbnRWYWx1ZSAhPT1cbiAgICAgICAgY2hhbmdlc1snYXBwbGllZEZpbHRlcnMnXS5wcmV2aW91c1ZhbHVlXG4gICAgKSB7XG4gICAgICB0aGlzLnN0YXRlLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKChjdXJyZW50U3RhdGUpID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGN1cnJlbnRTdGF0ZS5wYWdpbmcucGFnZU51bWJlciAmJlxuICAgICAgICAgIGN1cnJlbnRTdGF0ZS5wYWdpbmcucGFnZU51bWJlciAhPT0gMVxuICAgICAgICApIHtcbiAgICAgICAgICB0aGlzLmRpc3BhdGNoZXIubmV4dChuZXcgTGlzdFBhZ2luZ1NldFBhZ2VOdW1iZXJBY3Rpb24oTnVtYmVyKDEpKSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmRpc3BhdGNoZXIuZmlsdGVyc1VwZGF0ZSh0aGlzLmFwcGxpZWRGaWx0ZXJzKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlc1snc2VsZWN0ZWRJZHMnXSkge1xuICAgICAgLy8gT25seSBzZW5kIHNlbGVjdGlvbiBjaGFuZ2VzIHRvIGRpc3BhdGNoZXIgaWYgY2hhbmdlcyBhcmUgZGlzdGluY3QuXG4gICAgICBjb25zdCBuZXdTZWxlY3RlZElkcyA9IGNoYW5nZXNbJ3NlbGVjdGVkSWRzJ10uY3VycmVudFZhbHVlO1xuICAgICAgaWYgKCF0aGlzLmFycmF5c0VxdWFsKG5ld1NlbGVjdGVkSWRzLCB0aGlzLmxhc3RTZWxlY3RlZElkcykpIHtcbiAgICAgICAgdGhpcy5kaXNwYXRjaGVyLnNldFNlbGVjdGVkKG5ld1NlbGVjdGVkSWRzLCB0cnVlLCB0cnVlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLm5nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgfVxuXG4gIHB1YmxpYyByZWZyZXNoRGlzcGxheWVkSXRlbXMoKTogdm9pZCB7XG4gICAgdGhpcy5kaXNwbGF5ZWRJdGVtcy5waXBlKHRha2UoMSkpLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XG4gICAgICB0aGlzLmRpc3BhdGNoZXIubmV4dChuZXcgTGlzdEl0ZW1zU2V0TG9hZGluZ0FjdGlvbigpKTtcbiAgICAgIHRoaXMuZGlzcGF0Y2hlci5uZXh0KFxuICAgICAgICBuZXcgTGlzdEl0ZW1zTG9hZEFjdGlvbihyZXN1bHQuaXRlbXMsIHRydWUsIHRydWUsIHJlc3VsdC5jb3VudClcbiAgICAgICk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRpc3BsYXllZEl0ZW1zKCk6IE9ic2VydmFibGU8TGlzdERhdGFSZXNwb25zZU1vZGVsPiB7XG4gICAgaWYgKCF0aGlzLmRhdGEgJiYgIXRoaXMuZGF0YVByb3ZpZGVyKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0xpc3QgcmVxdWlyZXMgZGF0YSBvciBkYXRhUHJvdmlkZXIgdG8gYmUgc2V0LicpO1xuICAgIH1cblxuICAgIGxldCBkYXRhOiBhbnkgPSB0aGlzLmRhdGE7XG4gICAgaWYgKCFpc09ic2VydmFibGUoZGF0YSkpIHtcbiAgICAgIGRhdGEgPSBvYnNlcnZhYmxlT2YodGhpcy5kYXRhKTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuZGF0YVByb3ZpZGVyKSB7XG4gICAgICB0aGlzLmRhdGFQcm92aWRlciA9IG5ldyBTa3lMaXN0SW5NZW1vcnlEYXRhUHJvdmlkZXIoXG4gICAgICAgIGRhdGEsXG4gICAgICAgIHRoaXMuc2VhcmNoRnVuY3Rpb25cbiAgICAgICk7XG4gICAgfVxuXG4gICAgbGV0IHNlbGVjdGVkSWRzID0gdGhpcy5zZWxlY3RlZElkcyB8fCBvYnNlcnZhYmxlT2YoW10pO1xuICAgIGlmICghaXNPYnNlcnZhYmxlKHNlbGVjdGVkSWRzKSkge1xuICAgICAgc2VsZWN0ZWRJZHMgPSBvYnNlcnZhYmxlT2Yoc2VsZWN0ZWRJZHMpO1xuICAgIH1cblxuICAgIGxldCBzZWxlY3RlZENoYW5nZWQgPSBmYWxzZTtcblxuICAgIC8vIFRoaXMgc3ViamVjdCBpcyB1c2VkIHRvIGNhbmNlbCBwcmV2aW91cyByZXF1ZXN0IHRvIHRoZSBsaXN0J3MgZGF0YSBwcm92aWRlciB3aGVuIGEgbmV3IGNoYW5nZVxuICAgIC8vIHRvIHRoZSBsaXN0J3Mgc3RhdGUgb2NjdXJzLiBJbiBhIGZ1dHVyZSBicmVha2luZyBjaGFuZ2UgdGhpcyBzaG91bGQgYmUgcmVwbGFjZWQgb3IgY291cGxlZFxuICAgIC8vIHdpdGggYWRkaW5nIGEgZGVib3VuY2UgdGltZSB0byB0aGUgT2JzZXJ2YWJsZSB3aGljaCB3YXRjaGVzIGZvciBzdGF0ZSBjaGFuZ2VzLlxuICAgIGNvbnN0IGNhbmNlbExhc3RSZXF1ZXN0ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIHJldHVybiBvYnNlcnZhYmxlQ29tYmluZUxhdGVzdChcbiAgICAgIFtcbiAgICAgICAgdGhpcy5zdGF0ZS5waXBlKFxuICAgICAgICAgIG9ic2VydmFibGVNYXAoKHMpID0+IHMuZmlsdGVycyksXG4gICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICAgICApLFxuICAgICAgICB0aGlzLnN0YXRlLnBpcGUoXG4gICAgICAgICAgb2JzZXJ2YWJsZU1hcCgocykgPT4gcy5zZWFyY2gpLFxuICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgICAgICAgKSxcbiAgICAgICAgdGhpcy5zdGF0ZS5waXBlKFxuICAgICAgICAgIG9ic2VydmFibGVNYXAoKHMpID0+IHMuc29ydC5maWVsZFNlbGVjdG9ycyksXG4gICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICAgICApLFxuICAgICAgICB0aGlzLnN0YXRlLnBpcGUoXG4gICAgICAgICAgb2JzZXJ2YWJsZU1hcCgocykgPT4gcy5wYWdpbmcuaXRlbXNQZXJQYWdlKSxcbiAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICAgICAgICksXG4gICAgICAgIHRoaXMuc3RhdGUucGlwZShcbiAgICAgICAgICBvYnNlcnZhYmxlTWFwKChzKSA9PiBzLnBhZ2luZy5wYWdlTnVtYmVyKSxcbiAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICAgICAgICksXG4gICAgICAgIHRoaXMuc3RhdGUucGlwZShcbiAgICAgICAgICBvYnNlcnZhYmxlTWFwKChzKSA9PiBzLnRvb2xiYXIuZGlzYWJsZWQpLFxuICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgICAgICAgKSxcbiAgICAgICAgc2VsZWN0ZWRJZHMucGlwZShcbiAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICAgIG9ic2VydmFibGVNYXAoKHNlbGVjdGVkKSA9PiB7XG4gICAgICAgICAgICBzZWxlY3RlZENoYW5nZWQgPSB0cnVlO1xuICAgICAgICAgICAgcmV0dXJuIHNlbGVjdGVkO1xuICAgICAgICAgIH0pXG4gICAgICAgICksXG4gICAgICAgIGRhdGEucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKSxcbiAgICAgIF0sXG4gICAgICAoXG4gICAgICAgIGZpbHRlcnM6IExpc3RGaWx0ZXJNb2RlbFtdLFxuICAgICAgICBzZWFyY2g6IExpc3RTZWFyY2hNb2RlbCxcbiAgICAgICAgc29ydEZpZWxkU2VsZWN0b3JzOiBBcnJheTxMaXN0U29ydEZpZWxkU2VsZWN0b3JNb2RlbD4sXG4gICAgICAgIGl0ZW1zUGVyUGFnZTogbnVtYmVyLFxuICAgICAgICBwYWdlTnVtYmVyOiBudW1iZXIsXG4gICAgICAgIGlzVG9vbGJhckRpc2FibGVkOiBib29sZWFuLFxuICAgICAgICBzZWxlY3RlZDogQXJyYXk8c3RyaW5nPixcbiAgICAgICAgaXRlbXNEYXRhOiBBcnJheTxhbnk+XG4gICAgICApID0+IHtcbiAgICAgICAgY2FuY2VsTGFzdFJlcXVlc3QubmV4dCgpO1xuICAgICAgICBjYW5jZWxMYXN0UmVxdWVzdC5jb21wbGV0ZSgpO1xuICAgICAgICBpZiAoc2VsZWN0ZWRDaGFuZ2VkKSB7XG4gICAgICAgICAgdGhpcy5kaXNwYXRjaGVyLm5leHQobmV3IExpc3RTZWxlY3RlZFNldExvYWRpbmdBY3Rpb24oKSk7XG4gICAgICAgICAgdGhpcy5kaXNwYXRjaGVyLm5leHQobmV3IExpc3RTZWxlY3RlZExvYWRBY3Rpb24oc2VsZWN0ZWQpKTtcbiAgICAgICAgICB0aGlzLmRpc3BhdGNoZXIubmV4dChuZXcgTGlzdFNlbGVjdGVkU2V0TG9hZGluZ0FjdGlvbihmYWxzZSkpO1xuICAgICAgICAgIHNlbGVjdGVkQ2hhbmdlZCA9IGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IHJlc3BvbnNlOiBPYnNlcnZhYmxlPExpc3REYXRhUmVzcG9uc2VNb2RlbD47XG4gICAgICAgIGlmICh0aGlzLmRhdGFGaXJzdExvYWQpIHtcbiAgICAgICAgICB0aGlzLmRhdGFGaXJzdExvYWQgPSBmYWxzZTtcbiAgICAgICAgICBjb25zdCBpbml0aWFsSXRlbXMgPSBpdGVtc0RhdGEubWFwKFxuICAgICAgICAgICAgKGQpID0+XG4gICAgICAgICAgICAgIG5ldyBMaXN0SXRlbU1vZGVsKGQuaWQgfHwgYHNreS1saXN0LWl0ZW0tbW9kZWwtJHsrK2lkSW5kZXh9YCwgZClcbiAgICAgICAgICApO1xuICAgICAgICAgIHJlc3BvbnNlID0gb2JzZXJ2YWJsZU9mKFxuICAgICAgICAgICAgbmV3IExpc3REYXRhUmVzcG9uc2VNb2RlbCh7XG4gICAgICAgICAgICAgIGNvdW50OiB0aGlzLmluaXRpYWxUb3RhbCxcbiAgICAgICAgICAgICAgaXRlbXM6IGluaXRpYWxJdGVtcyxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKS5waXBlKHRha2VVbnRpbChjYW5jZWxMYXN0UmVxdWVzdCkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlc3BvbnNlID0gdGhpcy5kYXRhUHJvdmlkZXJcbiAgICAgICAgICAgIC5nZXQoXG4gICAgICAgICAgICAgIG5ldyBMaXN0RGF0YVJlcXVlc3RNb2RlbCh7XG4gICAgICAgICAgICAgICAgZmlsdGVyczogZmlsdGVycyxcbiAgICAgICAgICAgICAgICBwYWdlU2l6ZTogaXRlbXNQZXJQYWdlLFxuICAgICAgICAgICAgICAgIHBhZ2VOdW1iZXI6IHBhZ2VOdW1iZXIsXG4gICAgICAgICAgICAgICAgc2VhcmNoOiBzZWFyY2gsXG4gICAgICAgICAgICAgICAgc29ydDogbmV3IExpc3RTb3J0TW9kZWwoeyBmaWVsZFNlbGVjdG9yczogc29ydEZpZWxkU2VsZWN0b3JzIH0pLFxuICAgICAgICAgICAgICAgIGlzVG9vbGJhckRpc2FibGVkOiBpc1Rvb2xiYXJEaXNhYmxlZCxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbChjYW5jZWxMYXN0UmVxdWVzdCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgICAgfVxuICAgICkucGlwZShcbiAgICAgIHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpLFxuXG4gICAgICAvLyBSZXRhaW4gdXNlciBzZWxlY3Rpb25zIGZyb20gcHJldmlvdXMgc3RhdGUuXG4gICAgICAvLyBUaGlzIGlzIG9ubHkgbmVjZXNzYXJ5IGZvciBncmlkcyBjb21wb25lbnQgKGJhc2VkIG9uIGl0ZW0uaXNTZWxlY3RlZCkuXG4gICAgICBvYnNlcnZhYmxlTWFwKChyZXNwb25zZSkgPT4ge1xuICAgICAgICByZXR1cm4gcmVzcG9uc2UucGlwZShcbiAgICAgICAgICBvYnNlcnZhYmxlTWFwKChsaXN0RGF0YVJlc3BvbnNlTW9kZWwpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgTGlzdERhdGFSZXNwb25zZU1vZGVsKHtcbiAgICAgICAgICAgICAgY291bnQ6IGxpc3REYXRhUmVzcG9uc2VNb2RlbC5jb3VudCxcbiAgICAgICAgICAgICAgaXRlbXM6IHRoaXMuZ2V0SXRlbXNBbmRSZXRhaW5TZWxlY3Rpb25zKFxuICAgICAgICAgICAgICAgIGxpc3REYXRhUmVzcG9uc2VNb2RlbC5pdGVtcyxcbiAgICAgICAgICAgICAgICB0aGlzLmxhc3RTZWxlY3RlZElkc1xuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgIH0pLFxuICAgICAgZmxhdE1hcCgodmFsdWUpID0+IHZhbHVlKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNlbGVjdGVkSXRlbXMoKTogT2JzZXJ2YWJsZTxBcnJheTxMaXN0SXRlbU1vZGVsPj4ge1xuICAgIHJldHVybiBvYnNlcnZhYmxlQ29tYmluZUxhdGVzdChcbiAgICAgIHRoaXMuc3RhdGUucGlwZShcbiAgICAgICAgb2JzZXJ2YWJsZU1hcCgoY3VycmVudCkgPT4gY3VycmVudC5pdGVtcy5pdGVtcyksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgICAgICksXG4gICAgICB0aGlzLnN0YXRlLnBpcGUoXG4gICAgICAgIG9ic2VydmFibGVNYXAoKGN1cnJlbnQpID0+IGN1cnJlbnQuc2VsZWN0ZWQpLFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICAgICApLFxuICAgICAgKGl0ZW1zOiBBcnJheTxMaXN0SXRlbU1vZGVsPiwgc2VsZWN0ZWQ6IEFzeW5jSXRlbTxMaXN0U2VsZWN0ZWRNb2RlbD4pID0+IHtcbiAgICAgICAgcmV0dXJuIGl0ZW1zLmZpbHRlcigoaSkgPT4gc2VsZWN0ZWQuaXRlbS5zZWxlY3RlZElkTWFwLmdldChpLmlkKSk7XG4gICAgICB9XG4gICAgKS5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbGFzdFVwZGF0ZSgpOiBPYnNlcnZhYmxlPERhdGU+IHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZS5waXBlKFxuICAgICAgdGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSksXG4gICAgICBvYnNlcnZhYmxlTWFwKChzKSA9PlxuICAgICAgICBzLml0ZW1zLmxhc3RVcGRhdGUgPyBuZXcgRGF0ZShzLml0ZW1zLmxhc3RVcGRhdGUpIDogdW5kZWZpbmVkXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdmlld3MoKTogQXJyYXk8TGlzdFZpZXdDb21wb25lbnQ+IHtcbiAgICByZXR1cm4gdGhpcy5saXN0Vmlld3MudG9BcnJheSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBpdGVtQ291bnQoKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcbiAgICByZXR1cm4gdGhpcy5kYXRhUHJvdmlkZXIuY291bnQoKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0SXRlbXNBbmRSZXRhaW5TZWxlY3Rpb25zKFxuICAgIG5ld0xpc3Q6IExpc3RJdGVtTW9kZWxbXSxcbiAgICBzZWxlY3RlZElkczogc3RyaW5nW11cbiAgKTogTGlzdEl0ZW1Nb2RlbFtdIHtcbiAgICBjb25zdCB1cGRhdGVkTGlzdE1vZGVsID0gbmV3TGlzdC5zbGljZSgpO1xuICAgIHVwZGF0ZWRMaXN0TW9kZWwuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgaXRlbS5pc1NlbGVjdGVkID0gc2VsZWN0ZWRJZHMuaW5kZXhPZihpdGVtLmlkKSA+IC0xID8gdHJ1ZSA6IGZhbHNlO1xuICAgIH0pO1xuICAgIHJldHVybiB1cGRhdGVkTGlzdE1vZGVsO1xuICB9XG5cbiAgcHJpdmF0ZSBhcnJheXNFcXVhbChhcnJheUE6IGFueVtdLCBhcnJheUI6IGFueVtdKTogYm9vbGVhbiB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICBpZiAoYXJyYXlBID09PSBhcnJheUIpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBpZiAoYXJyYXlBID09PSB1bmRlZmluZWQgfHwgYXJyYXlCID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKGFycmF5QS5sZW5ndGggIT09IGFycmF5Qi5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcnJheUEubGVuZ3RoOyArK2kpIHtcbiAgICAgIGlmIChhcnJheUFbaV0gIT09IGFycmF5QltpXSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG59XG4iXX0=
@@ -7,10 +7,10 @@ import * as i0 from "@angular/core";
7
7
  */
8
8
  export class SkyListModule {
9
9
  }
10
- SkyListModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
- SkyListModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.4", ngImport: i0, type: SkyListModule, declarations: [SkyListComponent], imports: [CommonModule], exports: [SkyListComponent] });
12
- SkyListModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyListModule, imports: [CommonModule] });
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyListModule, decorators: [{
10
+ SkyListModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
+ SkyListModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.1", ngImport: i0, type: SkyListModule, declarations: [SkyListComponent], imports: [CommonModule], exports: [SkyListComponent] });
12
+ SkyListModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyListModule, imports: [CommonModule] });
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyListModule, decorators: [{
14
14
  type: NgModule,
15
15
  args: [{
16
16
  declarations: [SkyListComponent],
@@ -74,9 +74,9 @@ export class ListStateDispatcher extends StateDispatcher {
74
74
  this.next(new ListSelectedSetItemsSelectedAction(selectedIds, selected, refresh));
75
75
  }
76
76
  }
77
- ListStateDispatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: ListStateDispatcher, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
78
- ListStateDispatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: ListStateDispatcher });
79
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: ListStateDispatcher, decorators: [{
77
+ ListStateDispatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ListStateDispatcher, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
78
+ ListStateDispatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ListStateDispatcher });
79
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ListStateDispatcher, decorators: [{
80
80
  type: Injectable
81
81
  }] });
82
82
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1zdGF0ZS5yeHN0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xpc3QtYnVpbGRlci9zcmMvbGliL21vZHVsZXMvbGlzdC9zdGF0ZS9saXN0LXN0YXRlLnJ4c3RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFLaEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFHbEUsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDeEYsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDN0UsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDekUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFFMUYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDekUsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDcEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDbkUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbkUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDekUsT0FBTyxFQUFFLHVD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QUFDLENBQ3ZFLENBQUM7SUFDSixDQUFDOztnSEEvRVUsbUJBQW1CO29IQUFuQixtQkFBbUI7MkZBQW5CLG1CQUFtQjtrQkFEL0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0YXRlRGlzcGF0Y2hlciwgU3RhdGVPcmNoZXN0cmF0b3IgfSBmcm9tICdAc2t5dXgvbGlzdC1idWlsZGVyLWNvbW1vbic7XG5pbXBvcnQgeyBMaXN0U29ydEZpZWxkU2VsZWN0b3JNb2RlbCB9IGZyb20gJ0Bza3l1eC9saXN0LWJ1aWxkZXItY29tbW9uJztcblxuaW1wb3J0IHsgTGlzdEZpbHRlck1vZGVsIH0gZnJvbSAnLi4vLi4vbGlzdC1maWx0ZXJzL2ZpbHRlci5tb2RlbCc7XG5cbmltcG9ydCB7IExpc3RGaWx0ZXJzVXBkYXRlQWN0aW9uIH0gZnJvbSAnLi9maWx0ZXJzL3VwZGF0ZS5hY3Rpb24nO1xuaW1wb3J0IHsgTGlzdFN0YXRlQWN0aW9uIH0gZnJvbSAnLi9saXN0LXN0YXRlLWFjdGlvbi50eXBlJztcbmltcG9ydCB7IExpc3RTZWFyY2hNb2RlbCB9IGZyb20gJy4vc2VhcmNoL3NlYXJjaC5tb2RlbCc7XG5pbXBvcnQgeyBMaXN0U2VhcmNoU2V0RmllbGRTZWxlY3RvcnNBY3Rpb24gfSBmcm9tICcuL3NlYXJjaC9zZXQtZmllbGQtc2VsZWN0b3JzLmFjdGlvbic7XG5pbXBvcnQgeyBMaXN0U2VhcmNoU2V0RnVuY3Rpb25zQWN0aW9uIH0gZnJvbSAnLi9zZWFyY2gvc2V0LWZ1bmN0aW9ucy5hY3Rpb24nO1xuaW1wb3J0IHsgTGlzdFNlYXJjaFNldE9wdGlvbnNBY3Rpb24gfSBmcm9tICcuL3NlYXJjaC9zZXQtb3B0aW9ucy5hY3Rpb24nO1xuaW1wb3J0IHsgTGlzdFNlYXJjaFNldFNlYXJjaFRleHRBY3Rpb24gfSBmcm9tICcuL3NlYXJjaC9zZXQtc2VhcmNoLXRleHQuYWN0aW9uJztcbmltcG9ydCB7IExpc3RTZWxlY3RlZFNldEl0ZW1zU2VsZWN0ZWRBY3Rpb24gfSBmcm9tICcuL3NlbGVjdGVkL3NldC1pdGVtcy1zZWxlY3RlZC5hY3Rpb24nO1xuaW1wb3J0IHsgTGlzdFNvcnRMYWJlbE1vZGVsIH0gZnJvbSAnLi9zb3J0L2xhYmVsLm1vZGVsJztcbmltcG9ydCB7IExpc3RTb3J0U2V0QXZhaWxhYmxlQWN0aW9uIH0gZnJvbSAnLi9zb3J0L3NldC1hdmFpbGFibGUuYWN0aW9uJztcbmltcG9ydCB7IExpc3RTb3J0U2V0RmllbGRTZWxlY3RvcnNBY3Rpb24gfSBmcm9tICcuL3NvcnQvc2V0LWZpZWxkLXNlbGVjdG9ycy5hY3Rpb24nO1xuaW1wb3J0IHsgTGlzdFNvcnRTZXRHbG9iYWxBY3Rpb24gfSBmcm9tICcuL3NvcnQvc2V0LWdsb2JhbC5hY3Rpb24nO1xuaW1wb3J0IHsgTGlzdFRvb2xiYXJJdGVtc0Rpc2FibGVBY3Rpb24gfSBmcm9tICcuL3Rvb2xiYXIvZGlzYWJsZS5hY3Rpb24nO1xuaW1wb3J0IHsgTGlzdFRvb2xiYXJJdGVtc0xvYWRBY3Rpb24gfSBmcm9tICcuL3Rvb2xiYXIvbG9hZC5hY3Rpb24nO1xuaW1wb3J0IHsgTGlzdFRvb2xiYXJJdGVtc1JlbW92ZUFjdGlvbiB9IGZyb20gJy4vdG9vbGJhci9yZW1vdmUuYWN0aW9uJztcbmltcG9ydCB7IExpc3RUb29sYmFyU2V0RXhpc3RzQWN0aW9uIH0gZnJvbSAnLi90b29sYmFyL3NldC1leGlzdHMuYWN0aW9uJztcbmltcG9ydCB7IExpc3RUb29sYmFyU2hvd011bHRpc2VsZWN0VG9vbGJhckFjdGlvbiB9IGZyb20gJy4vdG9vbGJhci9zaG93LW11bHRpc2VsZWN0LXRvb2xiYXIuYWN0aW9uJztcbmltcG9ydCB7IExpc3RUb29sYmFySXRlbU1vZGVsIH0gZnJvbSAnLi90b29sYmFyL3Rvb2xiYXItaXRlbS5tb2RlbCc7XG5pbXBvcnQgeyBMaXN0Vmlld3NTZXRBY3RpdmVBY3Rpb24gfSBmcm9tICcuL3ZpZXdzL3NldC1hY3RpdmUuYWN0aW9uJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqIEBkZXByZWNhdGVkXG4gKi9cbmV4cG9ydCBjbGFzcyBMaXN0U3RhdGVPcmNoZXN0cmF0b3I8VD4gZXh0ZW5kcyBTdGF0ZU9yY2hlc3RyYXRvcjxcbiAgVCxcbiAgTGlzdFN0YXRlQWN0aW9uXG4+IHt9XG5cbi8qKlxuICogQGludGVybmFsXG4gKiBAZGVwcmVjYXRlZFxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTGlzdFN0YXRlRGlzcGF0Y2hlciBleHRlbmRzIFN0YXRlRGlzcGF0Y2hlcjxMaXN0U3RhdGVBY3Rpb24+IHtcbiAgcHVibGljIHZpZXdzU2V0QWN0aXZlKGlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLm5leHQobmV3IExpc3RWaWV3c1NldEFjdGl2ZUFjdGlvbihpZCkpO1xuICB9XG5cbiAgcHVibGljIHRvb2xiYXJFeGlzdHMoZXhpc3RzOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5uZXh0KG5ldyBMaXN0VG9vbGJhclNldEV4aXN0c0FjdGlvbihleGlzdHMpKTtcbiAgfVxuXG4gIHB1YmxpYyB0b29sYmFyU2V0RGlzYWJsZWQoZGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLm5leHQobmV3IExpc3RUb29sYmFySXRlbXNEaXNhYmxlQWN0aW9uKGRpc2FibGVkKSk7XG4gIH1cblxuICBwdWJsaWMgdG9vbGJhckFkZEl0ZW1zKFxuICAgIGl0ZW1zOiBMaXN0VG9vbGJhckl0ZW1Nb2RlbFtdLFxuICAgIGluZGV4OiBudW1iZXIgPSAtMVxuICApOiB2b2lkIHtcbiAgICB0aGlzLm5leHQobmV3IExpc3RUb29sYmFySXRlbXNMb2FkQWN0aW9uKGl0ZW1zLCBpbmRleCkpO1xuICB9XG5cbiAgcHVibGljIHRvb2xiYXJSZW1vdmVJdGVtcyhpZHM6IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgdGhpcy5uZXh0KG5ldyBMaXN0VG9vbGJhckl0ZW1zUmVtb3ZlQWN0aW9uKGlkcykpO1xuICB9XG5cbiAgcHVibGljIHRvb2xiYXJTaG93TXVsdGlzZWxlY3RUb29sYmFyKHNob3c6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLm5leHQobmV3IExpc3RUb29sYmFyU2hvd011bHRpc2VsZWN0VG9vbGJhckFjdGlvbihzaG93KSk7XG4gIH1cblxuICBwdWJsaWMgc2VhcmNoU2V0RnVuY3Rpb25zKFxuICAgIHNvcnRGdW5jdGlvbnM6ICgoZGF0YTogYW55LCBzZWFyY2hUZXh0OiBzdHJpbmcpID0+IGJvb2xlYW4pW11cbiAgKTogdm9pZCB7XG4gICAgdGhpcy5uZXh0KG5ldyBMaXN0U2VhcmNoU2V0RnVuY3Rpb25zQWN0aW9uKHNvcnRGdW5jdGlvbnMpKTtcbiAgfVxuXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIHB1YmxpYyBzZWFyY2hTZXRGaWVsZFNlbGVjdG9ycyhmaWVsZFNlbGVjdG9yczogQXJyYXk8c3RyaW5nPik6IHZvaWQge1xuICAgIHRoaXMubmV4dChuZXcgTGlzdFNlYXJjaFNldEZpZWxkU2VsZWN0b3JzQWN0aW9uKGZpZWxkU2VsZWN0b3JzKSk7XG4gIH1cblxuICBwdWJsaWMgc2VhcmNoU2V0VGV4dChzZWFyY2hUZXh0OiBzdHJpbmcpIHtcbiAgICB0aGlzLm5leHQobmV3IExpc3RTZWFyY2hTZXRTZWFyY2hUZXh0QWN0aW9uKHNlYXJjaFRleHQpKTtcbiAgfVxuXG4gIHB1YmxpYyBzZWFyY2hTZXRPcHRpb25zKHNlYXJjaE9wdGlvbnM6IExpc3RTZWFyY2hNb2RlbCkge1xuICAgIHRoaXMubmV4dChcbiAgICAgIG5ldyBMaXN0U2VhcmNoU2V0T3B0aW9uc0FjdGlvbihcbiAgICAgICAgbmV3IExpc3RTZWFyY2hTZXRTZWFyY2hUZXh0QWN0aW9uKHNlYXJjaE9wdGlvbnMuc2VhcmNoVGV4dCksXG4gICAgICAgIG5ldyBMaXN0U2VhcmNoU2V0RmllbGRTZWxlY3RvcnNBY3Rpb24oc2VhcmNoT3B0aW9ucy5maWVsZFNlbGVjdG9ycyksXG4gICAgICAgIG5ldyBMaXN0U2VhcmNoU2V0RnVuY3Rpb25zQWN0aW9uKHNlYXJjaE9wdGlvbnMuZnVuY3Rpb25zKVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgc29ydFNldEF2YWlsYWJsZShzb3J0TGFiZWxzOiBMaXN0U29ydExhYmVsTW9kZWxbXSk6IHZvaWQge1xuICAgIHRoaXMubmV4dChuZXcgTGlzdFNvcnRTZXRBdmFpbGFibGVBY3Rpb24oc29ydExhYmVscykpO1xuICB9XG5cbiAgcHVibGljIHNvcnRTZXRGaWVsZFNlbGVjdG9ycyhcbiAgICBmaWVsZFNlbGVjdG9yczogTGlzdFNvcnRGaWVsZFNlbGVjdG9yTW9kZWxbXVxuICApOiB2b2lkIHtcbiAgICB0aGlzLm5leHQobmV3IExpc3RTb3J0U2V0RmllbGRTZWxlY3RvcnNBY3Rpb24oZmllbGRTZWxlY3RvcnMpKTtcbiAgfVxuXG4gIHB1YmxpYyBzb3J0U2V0R2xvYmFsKHNvcnRMYWJlbHM6IExpc3RTb3J0TGFiZWxNb2RlbFtdKTogdm9pZCB7XG4gICAgdGhpcy5uZXh0KG5ldyBMaXN0U29ydFNldEdsb2JhbEFjdGlvbihzb3J0TGFiZWxzKSk7XG4gIH1cblxuICBwdWJsaWMgZmlsdGVyc1VwZGF0ZShmaWx0ZXJzOiBMaXN0RmlsdGVyTW9kZWxbXSk6IHZvaWQge1xuICAgIHRoaXMubmV4dChuZXcgTGlzdEZpbHRlcnNVcGRhdGVBY3Rpb24oZmlsdGVycykpO1xuICB9XG5cbiAgcHVibGljIHNldFNlbGVjdGVkKFxuICAgIHNlbGVjdGVkSWRzOiBzdHJpbmdbXSxcbiAgICBzZWxlY3RlZDogYm9vbGVhbixcbiAgICByZWZyZXNoOiBib29sZWFuID0gZmFsc2VcbiAgKTogdm9pZCB7XG4gICAgdGhpcy5uZXh0KFxuICAgICAgbmV3IExpc3RTZWxlY3RlZFNldEl0ZW1zU2VsZWN0ZWRBY3Rpb24oc2VsZWN0ZWRJZHMsIHNlbGVjdGVkLCByZWZyZXNoKVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -29,9 +29,9 @@ export class ListState extends StateNode {
29
29
  .begin();
30
30
  }
31
31
  }
32
- ListState.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: ListState, deps: [{ token: i1.ListStateDispatcher }], target: i0.ɵɵFactoryTarget.Injectable });
33
- ListState.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: ListState });
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: ListState, decorators: [{
32
+ ListState.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ListState, deps: [{ token: i1.ListStateDispatcher }], target: i0.ɵɵFactoryTarget.Injectable });
33
+ ListState.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ListState });
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ListState, decorators: [{
35
35
  type: Injectable
36
36
  }], ctorParameters: function () { return [{ type: i1.ListStateDispatcher }]; } });
37
37
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1zdGF0ZS5zdGF0ZS1ub2RlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xpc3QtYnVpbGRlci9zcmMvbGliL21vZHVsZXMvbGlzdC9zdGF0ZS9saXN0LXN0YXRlLnN0YXRlLW5vZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFdkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDekUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXBELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7QUFFbkU7OztHQUdHO0FBRUgsTUFBTSxPQUFPLFNBQVUsU0FBUSxTQUF5QjtJQUN0RCxZQUFZLFVBQStCO1FBQ3pDLEtBQUssQ0FBQyxJQUFJLGNBQWMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRXhDLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLHVCQUF1QixDQUFDO2FBQzlDLFFBQVEsQ0FBQyxPQUFPLEVBQUUscUJBQXFCLENBQUM7YUFDeEMsUUFBUSxDQUFDLFFBQVEsRUFBRSxzQkFBc0IsQ0FBQzthQUMxQyxRQUFRLENBQUMsUUFBUSxFQUFFLHNCQUFzQixDQUFDO2FBQzFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsb0JBQW9CLENBQUM7YUFDdEMsUUFBUSxDQUFDLFNBQVMsRUFBRSx1QkFBdUIsQ0FBQzthQUM1QyxRQUFRLENBQUMsT0FBTyxFQUFFLHFCQUFxQixDQUFDO2FBQ3hDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsd0JBQXdCLENBQUM7YUFDOUMsS0FBSyxFQUFFLENBQUM7SUFDYixDQUFDOztzR0FiVSxTQUFTOzBHQUFULFNBQVM7MkZBQVQsU0FBUztrQkFEckIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0YXRlTm9kZSB9IGZyb20gJ0Bza3l1eC9saXN0LWJ1aWxkZXItY29tbW9uJztcblxuaW1wb3J0IHsgTGlzdEZpbHRlcnNPcmNoZXN0cmF0b3IgfSBmcm9tICcuL2ZpbHRlcnMvZmlsdGVycy5vcmNoZXN0cmF0b3InO1xuaW1wb3J0IHsgTGlzdEl0ZW1zT3JjaGVzdHJhdG9yIH0gZnJvbSAnLi9pdGVtcy9pdGVtcy5vcmNoZXN0cmF0b3InO1xuaW1wb3J0IHsgTGlzdFN0YXRlTW9kZWwgfSBmcm9tICcuL2xpc3Qtc3RhdGUubW9kZWwnO1xuaW1wb3J0IHsgTGlzdFN0YXRlRGlzcGF0Y2hlciB9IGZyb20gJy4vbGlzdC1zdGF0ZS5yeHN0YXRlJztcbmltcG9ydCB7IExpc3RQYWdpbmdPcmNoZXN0cmF0b3IgfSBmcm9tICcuL3BhZ2luZy9wYWdpbmcub3JjaGVzdHJhdG9yJztcbmltcG9ydCB7IExpc3RTZWFyY2hPcmNoZXN0cmF0b3IgfSBmcm9tICcuL3NlYXJjaC9zZWFyY2gub3JjaGVzdHJhdG9yJztcbmltcG9ydCB7IExpc3RTZWxlY3RlZE9yY2hlc3RyYXRvciB9IGZyb20gJy4vc2VsZWN0ZWQvc2VsZWN0ZWQub3JjaGVzdHJhdG9yJztcbmltcG9ydCB7IExpc3RTb3J0T3JjaGVzdHJhdG9yIH0gZnJvbSAnLi9zb3J0L3NvcnQub3JjaGVzdHJhdG9yJztcbmltcG9ydCB7IExpc3RUb29sYmFyT3JjaGVzdHJhdG9yIH0gZnJvbSAnLi90b29sYmFyL3Rvb2xiYXIub3JjaGVzdHJhdG9yJztcbmltcG9ydCB7IExpc3RWaWV3c09yY2hlc3RyYXRvciB9IGZyb20gJy4vdmlld3Mvdmlld3Mub3JjaGVzdHJhdG9yJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqIEBkZXByZWNhdGVkXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBMaXN0U3RhdGUgZXh0ZW5kcyBTdGF0ZU5vZGU8TGlzdFN0YXRlTW9kZWw+IHtcbiAgY29uc3RydWN0b3IoZGlzcGF0Y2hlcjogTGlzdFN0YXRlRGlzcGF0Y2hlcikge1xuICAgIHN1cGVyKG5ldyBMaXN0U3RhdGVNb2RlbCgpLCBkaXNwYXRjaGVyKTtcblxuICAgIHRoaXMucmVnaXN0ZXIoJ2ZpbHRlcnMnLCBMaXN0RmlsdGVyc09yY2hlc3RyYXRvcilcbiAgICAgIC5yZWdpc3RlcignaXRlbXMnLCBMaXN0SXRlbXNPcmNoZXN0cmF0b3IpXG4gICAgICAucmVnaXN0ZXIoJ3BhZ2luZycsIExpc3RQYWdpbmdPcmNoZXN0cmF0b3IpXG4gICAgICAucmVnaXN0ZXIoJ3NlYXJjaCcsIExpc3RTZWFyY2hPcmNoZXN0cmF0b3IpXG4gICAgICAucmVnaXN0ZXIoJ3NvcnQnLCBMaXN0U29ydE9yY2hlc3RyYXRvcilcbiAgICAgIC5yZWdpc3RlcigndG9vbGJhcicsIExpc3RUb29sYmFyT3JjaGVzdHJhdG9yKVxuICAgICAgLnJlZ2lzdGVyKCd2aWV3cycsIExpc3RWaWV3c09yY2hlc3RyYXRvcilcbiAgICAgIC5yZWdpc3Rlcignc2VsZWN0ZWQnLCBMaXN0U2VsZWN0ZWRPcmNoZXN0cmF0b3IpXG4gICAgICAuYmVnaW4oKTtcbiAgfVxufVxuIl19
@@ -26,9 +26,9 @@ export class SkyListFilterButtonComponent {
26
26
  ]);
27
27
  }
28
28
  }
29
- SkyListFilterButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyListFilterButtonComponent, deps: [{ token: i1.ListStateDispatcher }], target: i0.ɵɵFactoryTarget.Component });
30
- SkyListFilterButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: SkyListFilterButtonComponent, selector: "sky-list-filter-button", viewQueries: [{ propertyName: "filterButtonTemplate", first: true, predicate: ["filterButton"], descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: "<ng-template #filterButton>\n <ng-content></ng-content>\n</ng-template>\n" });
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyListFilterButtonComponent, decorators: [{
29
+ SkyListFilterButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyListFilterButtonComponent, deps: [{ token: i1.ListStateDispatcher }], target: i0.ɵɵFactoryTarget.Component });
30
+ SkyListFilterButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: SkyListFilterButtonComponent, selector: "sky-list-filter-button", viewQueries: [{ propertyName: "filterButtonTemplate", first: true, predicate: ["filterButton"], descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: "<ng-template #filterButton>\n <ng-content></ng-content>\n</ng-template>\n" });
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyListFilterButtonComponent, decorators: [{
32
32
  type: Component,
33
33
  args: [{ selector: 'sky-list-filter-button', template: "<ng-template #filterButton>\n <ng-content></ng-content>\n</ng-template>\n" }]
34
34
  }], ctorParameters: function () { return [{ type: i1.ListStateDispatcher }]; }, propDecorators: { filterButtonTemplate: [{
@@ -12,9 +12,9 @@ export class SkyListFilterInlineItemRendererComponent {
12
12
  }
13
13
  }
14
14
  }
15
- SkyListFilterInlineItemRendererComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyListFilterInlineItemRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
16
- SkyListFilterInlineItemRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: SkyListFilterInlineItemRendererComponent, selector: "sky-list-filter-inline-item-renderer", inputs: { template: "template", filter: "filter" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: '<ng-template #container></ng-template>', isInline: true });
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyListFilterInlineItemRendererComponent, decorators: [{
15
+ SkyListFilterInlineItemRendererComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyListFilterInlineItemRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
16
+ SkyListFilterInlineItemRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: SkyListFilterInlineItemRendererComponent, selector: "sky-list-filter-inline-item-renderer", inputs: { template: "template", filter: "filter" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: '<ng-template #container></ng-template>', isInline: true });
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyListFilterInlineItemRendererComponent, decorators: [{
18
18
  type: Component,
19
19
  args: [{
20
20
  selector: 'sky-list-filter-inline-item-renderer',
@@ -19,9 +19,9 @@ export class SkyListFilterInlineItemComponent {
19
19
  : this.templateInput;
20
20
  }
21
21
  }
22
- SkyListFilterInlineItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyListFilterInlineItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
23
- SkyListFilterInlineItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: SkyListFilterInlineItemComponent, selector: "sky-list-filter-inline-item", inputs: { name: "name", value: "value", defaultValue: "defaultValue", filterFunction: ["filter", "filterFunction"], templateInput: ["template", "templateInput"] }, queries: [{ propertyName: "templates", predicate: TemplateRef }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyListFilterInlineItemComponent, decorators: [{
22
+ SkyListFilterInlineItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyListFilterInlineItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
23
+ SkyListFilterInlineItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: SkyListFilterInlineItemComponent, selector: "sky-list-filter-inline-item", inputs: { name: "name", value: "value", defaultValue: "defaultValue", filterFunction: ["filter", "filterFunction"], templateInput: ["template", "templateInput"] }, queries: [{ propertyName: "templates", predicate: TemplateRef }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyListFilterInlineItemComponent, decorators: [{
25
25
  type: Component,
26
26
  args: [{
27
27
  selector: 'sky-list-filter-inline-item',
@@ -58,9 +58,9 @@ export class SkyListFilterInlineComponent {
58
58
  });
59
59
  }
60
60
  }
61
- SkyListFilterInlineComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyListFilterInlineComponent, deps: [{ token: i1.ListStateDispatcher }, { token: i2.ListState }], target: i0.ɵɵFactoryTarget.Component });
62
- SkyListFilterInlineComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: SkyListFilterInlineComponent, selector: "sky-list-filter-inline", queries: [{ propertyName: "filters", predicate: SkyListFilterInlineItemComponent }], ngImport: i0, template: "<ng-content></ng-content>\n\n<sky-filter-inline>\n <sky-filter-inline-item *ngFor=\"let filter of inlineFilters\">\n <sky-list-filter-inline-item-renderer\n [template]=\"filter.template\"\n [filter]=\"filter\"\n >\n </sky-list-filter-inline-item-renderer>\n </sky-filter-inline-item>\n</sky-filter-inline>\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i4.λ2, selector: "sky-filter-inline" }, { kind: "component", type: i4.λ3, selector: "sky-filter-inline-item" }, { kind: "component", type: i5.SkyListFilterInlineItemRendererComponent, selector: "sky-list-filter-inline-item-renderer", inputs: ["template", "filter"] }] });
63
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyListFilterInlineComponent, decorators: [{
61
+ SkyListFilterInlineComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyListFilterInlineComponent, deps: [{ token: i1.ListStateDispatcher }, { token: i2.ListState }], target: i0.ɵɵFactoryTarget.Component });
62
+ SkyListFilterInlineComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: SkyListFilterInlineComponent, selector: "sky-list-filter-inline", queries: [{ propertyName: "filters", predicate: SkyListFilterInlineItemComponent }], ngImport: i0, template: "<ng-content></ng-content>\n\n<sky-filter-inline>\n <sky-filter-inline-item *ngFor=\"let filter of inlineFilters\">\n <sky-list-filter-inline-item-renderer\n [template]=\"filter.template\"\n [filter]=\"filter\"\n >\n </sky-list-filter-inline-item-renderer>\n </sky-filter-inline-item>\n</sky-filter-inline>\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i4.λ2, selector: "sky-filter-inline" }, { kind: "component", type: i4.λ3, selector: "sky-filter-inline-item" }, { kind: "component", type: i5.SkyListFilterInlineItemRendererComponent, selector: "sky-list-filter-inline-item-renderer", inputs: ["template", "filter"] }] });
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyListFilterInlineComponent, decorators: [{
64
64
  type: Component,
65
65
  args: [{ selector: 'sky-list-filter-inline', template: "<ng-content></ng-content>\n\n<sky-filter-inline>\n <sky-filter-inline-item *ngFor=\"let filter of inlineFilters\">\n <sky-list-filter-inline-item-renderer\n [template]=\"filter.template\"\n [filter]=\"filter\"\n >\n </sky-list-filter-inline-item-renderer>\n </sky-filter-inline-item>\n</sky-filter-inline>\n" }]
66
66
  }], ctorParameters: function () { return [{ type: i1.ListStateDispatcher }, { type: i2.ListState }]; }, propDecorators: { filters: [{
@@ -45,9 +45,9 @@ export class SkyListFilterSummaryComponent {
45
45
  this.summaryItemClick.emit(item);
46
46
  }
47
47
  }
48
- SkyListFilterSummaryComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyListFilterSummaryComponent, deps: [{ token: i1.ListState }, { token: i2.ListStateDispatcher }], target: i0.ɵɵFactoryTarget.Component });
49
- SkyListFilterSummaryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: SkyListFilterSummaryComponent, selector: "sky-list-filter-summary", outputs: { summaryItemClick: "summaryItemClick" }, ngImport: i0, template: "<sky-filter-summary>\n <sky-filter-summary-item\n *ngFor=\"let item of appliedFilters | async; let i = index\"\n (dismiss)=\"filterSummaryItemDismiss(i)\"\n (itemClick)=\"filterSummaryItemClick(item)\"\n [dismissible]=\"item.dismissible\"\n >\n {{ item.label || item.value }}\n </sky-filter-summary-item>\n</sky-filter-summary>\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i4.λ5, selector: "sky-filter-summary" }, { kind: "component", type: i4.λ4, selector: "sky-filter-summary-item", inputs: ["dismissible"], outputs: ["dismiss", "itemClick"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }] });
50
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyListFilterSummaryComponent, decorators: [{
48
+ SkyListFilterSummaryComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyListFilterSummaryComponent, deps: [{ token: i1.ListState }, { token: i2.ListStateDispatcher }], target: i0.ɵɵFactoryTarget.Component });
49
+ SkyListFilterSummaryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: SkyListFilterSummaryComponent, selector: "sky-list-filter-summary", outputs: { summaryItemClick: "summaryItemClick" }, ngImport: i0, template: "<sky-filter-summary>\n <sky-filter-summary-item\n *ngFor=\"let item of appliedFilters | async; let i = index\"\n (dismiss)=\"filterSummaryItemDismiss(i)\"\n (itemClick)=\"filterSummaryItemClick(item)\"\n [dismissible]=\"item.dismissible\"\n >\n {{ item.label || item.value }}\n </sky-filter-summary-item>\n</sky-filter-summary>\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i4.λ5, selector: "sky-filter-summary" }, { kind: "component", type: i4.λ4, selector: "sky-filter-summary-item", inputs: ["dismissible"], outputs: ["dismiss", "itemClick"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }] });
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyListFilterSummaryComponent, decorators: [{
51
51
  type: Component,
52
52
  args: [{ selector: 'sky-list-filter-summary', template: "<sky-filter-summary>\n <sky-filter-summary-item\n *ngFor=\"let item of appliedFilters | async; let i = index\"\n (dismiss)=\"filterSummaryItemDismiss(i)\"\n (itemClick)=\"filterSummaryItemClick(item)\"\n [dismissible]=\"item.dismissible\"\n >\n {{ item.label || item.value }}\n </sky-filter-summary-item>\n</sky-filter-summary>\n" }]
53
53
  }], ctorParameters: function () { return [{ type: i1.ListState }, { type: i2.ListStateDispatcher }]; }, propDecorators: { summaryItemClick: [{
@@ -12,8 +12,8 @@ import * as i0 from "@angular/core";
12
12
  */
13
13
  export class SkyListFiltersModule {
14
14
  }
15
- SkyListFiltersModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyListFiltersModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
16
- SkyListFiltersModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.4", ngImport: i0, type: SkyListFiltersModule, declarations: [SkyListFilterButtonComponent,
15
+ SkyListFiltersModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyListFiltersModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
16
+ SkyListFiltersModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.1", ngImport: i0, type: SkyListFiltersModule, declarations: [SkyListFilterButtonComponent,
17
17
  SkyListFilterSummaryComponent,
18
18
  SkyListFilterInlineItemComponent,
19
19
  SkyListFilterInlineComponent,
@@ -21,8 +21,8 @@ SkyListFiltersModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", ve
21
21
  SkyListFilterSummaryComponent,
22
22
  SkyListFilterInlineItemComponent,
23
23
  SkyListFilterInlineComponent] });
24
- SkyListFiltersModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyListFiltersModule, imports: [CommonModule, SkyFilterModule] });
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyListFiltersModule, decorators: [{
24
+ SkyListFiltersModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyListFiltersModule, imports: [CommonModule, SkyFilterModule] });
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyListFiltersModule, decorators: [{
26
26
  type: NgModule,
27
27
  args: [{
28
28
  declarations: [
@@ -70,11 +70,11 @@ export class SkyListPagingComponent extends ListPagingComponent {
70
70
  });
71
71
  }
72
72
  }
73
- SkyListPagingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyListPagingComponent, deps: [{ token: i1.ListState }, { token: i2.ListStateDispatcher }, { token: i3.SkyLogService }], target: i0.ɵɵFactoryTarget.Component });
74
- SkyListPagingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: SkyListPagingComponent, selector: "sky-list-paging", inputs: { pageSize: "pageSize", maxPages: "maxPages", pageNumber: "pageNumber" }, providers: [
73
+ SkyListPagingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyListPagingComponent, deps: [{ token: i1.ListState }, { token: i2.ListStateDispatcher }, { token: i3.SkyLogService }], target: i0.ɵɵFactoryTarget.Component });
74
+ SkyListPagingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: SkyListPagingComponent, selector: "sky-list-paging", inputs: { pageSize: "pageSize", maxPages: "maxPages", pageNumber: "pageNumber" }, providers: [
75
75
  { provide: ListPagingComponent, useExisting: listPagingComponentRef },
76
76
  ], usesInheritance: true, ngImport: i0, template: "<sky-paging\n [pageSize]=\"itemsPerPage | async\"\n [maxPages]=\"maxDisplayedPages | async\"\n [currentPage]=\"currentPageNumber | async\"\n [itemCount]=\"itemCount | async\"\n (currentPageChange)=\"pageChange($event)\"\n>\n</sky-paging>\n", dependencies: [{ kind: "component", type: i4.λ7, selector: "sky-paging", inputs: ["currentPage", "itemCount", "maxPages", "pageSize", "pagingLabel"], outputs: ["currentPageChange"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
77
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyListPagingComponent, decorators: [{
77
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyListPagingComponent, decorators: [{
78
78
  type: Component,
79
79
  args: [{ selector: 'sky-list-paging', providers: [
80
80
  { provide: ListPagingComponent, useExisting: listPagingComponentRef },
@@ -8,10 +8,10 @@ import * as i0 from "@angular/core";
8
8
  */
9
9
  export class SkyListPagingModule {
10
10
  }
11
- SkyListPagingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyListPagingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
- SkyListPagingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.4", ngImport: i0, type: SkyListPagingModule, declarations: [SkyListPagingComponent], imports: [CommonModule, SkyPagingModule], exports: [SkyListPagingComponent] });
13
- SkyListPagingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyListPagingModule, imports: [CommonModule, SkyPagingModule] });
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyListPagingModule, decorators: [{
11
+ SkyListPagingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyListPagingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
+ SkyListPagingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.1", ngImport: i0, type: SkyListPagingModule, declarations: [SkyListPagingComponent], imports: [CommonModule, SkyPagingModule], exports: [SkyListPagingComponent] });
13
+ SkyListPagingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyListPagingModule, imports: [CommonModule, SkyPagingModule] });
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyListPagingModule, decorators: [{
15
15
  type: NgModule,
16
16
  args: [{
17
17
  declarations: [SkyListPagingComponent],
@@ -136,9 +136,9 @@ export class SkyListMultiselectToolbarComponent {
136
136
  return true;
137
137
  }
138
138
  }
139
- SkyListMultiselectToolbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyListMultiselectToolbarComponent, deps: [{ token: i1.ListState }, { token: i2.ListStateDispatcher }], target: i0.ɵɵFactoryTarget.Component });
140
- SkyListMultiselectToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: SkyListMultiselectToolbarComponent, selector: "sky-list-multiselect-toolbar", inputs: { showOnlySelected: "showOnlySelected" }, ngImport: i0, template: "<sky-toolbar class=\"sky-list-multiselect-toolbar\">\n <sky-toolbar-section>\n <sky-toolbar-item>\n <sky-list-toolbar-item-renderer [template]=\"selectAllTemplate\">\n </sky-list-toolbar-item-renderer>\n </sky-toolbar-item>\n <sky-toolbar-item>\n <sky-list-toolbar-item-renderer [template]=\"clearSelectionsTemplate\">\n </sky-list-toolbar-item-renderer>\n </sky-toolbar-item>\n <sky-toolbar-view-actions>\n <ng-container *ngTemplateOutlet=\"showSelectedTemplate\"></ng-container>\n </sky-toolbar-view-actions>\n </sky-toolbar-section>\n</sky-toolbar>\n\n<ng-template #selectAllTemplate>\n <button\n class=\"sky-btn sky-btn-link\"\n type=\"button\"\n [attr.id]=\"multiselectToolbarId + '-select-all'\"\n (click)=\"selectAll(); $event.preventDefault()\"\n >\n {{ 'skyux_list_multiselect_select_all' | skyLibResources }}\n </button>\n</ng-template>\n\n<ng-template #clearSelectionsTemplate>\n <button\n class=\"sky-btn sky-btn-link\"\n type=\"button\"\n [attr.id]=\"multiselectToolbarId + '-clear-all'\"\n (click)=\"clearSelections(); $event.preventDefault()\"\n >\n {{ 'skyux_list_multiselect_clear_all' | skyLibResources }}\n </button>\n</ng-template>\n\n<ng-template #showSelectedTemplate>\n <sky-checkbox\n [attr.id]=\"multiselectToolbarId + '-show-selected'\"\n [checked]=\"showOnlySelected\"\n (change)=\"changeVisibleItems($event)\"\n >\n <sky-checkbox-label>\n {{ 'skyux_list_multiselect_show_selected' | skyLibResources }}\n </sky-checkbox-label>\n </sky-checkbox>\n</ng-template>\n", styles: [":host-context(sky-toolbar)+.sky-list-multiselect-toolbar ::ng-deep .sky-toolbar-container,:host-context(.sky-list-toolbar-search)+.sky-list-multiselect-toolbar ::ng-deep .sky-toolbar-container{border-top:none}\n"], dependencies: [{ kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.λ3, selector: "sky-checkbox", inputs: ["label", "labelledBy", "id", "disabled", "tabindex", "name", "icon", "checkboxType", "checked", "indeterminate", "required"], outputs: ["change", "checkedChange", "disabledChange", "indeterminateChange"] }, { kind: "component", type: i4.λ4, selector: "sky-checkbox-label" }, { kind: "component", type: i5.λ37, selector: "sky-toolbar" }, { kind: "component", type: i5.λ39, selector: "sky-toolbar-item" }, { kind: "component", type: i5.λ38, selector: "sky-toolbar-section" }, { kind: "component", type: i5.λ40, selector: "sky-toolbar-view-actions" }, { kind: "component", type: i6.SkyListToolbarItemRendererComponent, selector: "sky-list-toolbar-item-renderer", inputs: ["template"] }, { kind: "pipe", type: i7.SkyLibResourcesPipe, name: "skyLibResources" }] });
141
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyListMultiselectToolbarComponent, decorators: [{
139
+ SkyListMultiselectToolbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyListMultiselectToolbarComponent, deps: [{ token: i1.ListState }, { token: i2.ListStateDispatcher }], target: i0.ɵɵFactoryTarget.Component });
140
+ SkyListMultiselectToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: SkyListMultiselectToolbarComponent, selector: "sky-list-multiselect-toolbar", inputs: { showOnlySelected: "showOnlySelected" }, ngImport: i0, template: "<sky-toolbar class=\"sky-list-multiselect-toolbar\">\n <sky-toolbar-section>\n <sky-toolbar-item>\n <sky-list-toolbar-item-renderer [template]=\"selectAllTemplate\">\n </sky-list-toolbar-item-renderer>\n </sky-toolbar-item>\n <sky-toolbar-item>\n <sky-list-toolbar-item-renderer [template]=\"clearSelectionsTemplate\">\n </sky-list-toolbar-item-renderer>\n </sky-toolbar-item>\n <sky-toolbar-view-actions>\n <ng-container *ngTemplateOutlet=\"showSelectedTemplate\"></ng-container>\n </sky-toolbar-view-actions>\n </sky-toolbar-section>\n</sky-toolbar>\n\n<ng-template #selectAllTemplate>\n <button\n class=\"sky-btn sky-btn-link\"\n type=\"button\"\n [attr.id]=\"multiselectToolbarId + '-select-all'\"\n (click)=\"selectAll(); $event.preventDefault()\"\n >\n {{ 'skyux_list_multiselect_select_all' | skyLibResources }}\n </button>\n</ng-template>\n\n<ng-template #clearSelectionsTemplate>\n <button\n class=\"sky-btn sky-btn-link\"\n type=\"button\"\n [attr.id]=\"multiselectToolbarId + '-clear-all'\"\n (click)=\"clearSelections(); $event.preventDefault()\"\n >\n {{ 'skyux_list_multiselect_clear_all' | skyLibResources }}\n </button>\n</ng-template>\n\n<ng-template #showSelectedTemplate>\n <sky-checkbox\n [attr.id]=\"multiselectToolbarId + '-show-selected'\"\n [checked]=\"showOnlySelected\"\n (change)=\"changeVisibleItems($event)\"\n >\n <sky-checkbox-label>\n {{ 'skyux_list_multiselect_show_selected' | skyLibResources }}\n </sky-checkbox-label>\n </sky-checkbox>\n</ng-template>\n", styles: [":host-context(sky-toolbar)+.sky-list-multiselect-toolbar ::ng-deep .sky-toolbar-container,:host-context(.sky-list-toolbar-search)+.sky-list-multiselect-toolbar ::ng-deep .sky-toolbar-container{border-top:none}\n"], dependencies: [{ kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.λ3, selector: "sky-checkbox", inputs: ["label", "labelledBy", "id", "disabled", "tabindex", "name", "icon", "checkboxType", "checked", "indeterminate", "required"], outputs: ["change", "checkedChange", "disabledChange", "indeterminateChange"] }, { kind: "component", type: i4.λ4, selector: "sky-checkbox-label" }, { kind: "component", type: i5.λ37, selector: "sky-toolbar" }, { kind: "component", type: i5.λ39, selector: "sky-toolbar-item" }, { kind: "component", type: i5.λ38, selector: "sky-toolbar-section" }, { kind: "component", type: i5.λ40, selector: "sky-toolbar-view-actions" }, { kind: "component", type: i6.SkyListToolbarItemRendererComponent, selector: "sky-list-toolbar-item-renderer", inputs: ["template"] }, { kind: "pipe", type: i7.SkyLibResourcesPipe, name: "skyLibResources" }] });
141
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyListMultiselectToolbarComponent, decorators: [{
142
142
  type: Component,
143
143
  args: [{ selector: 'sky-list-multiselect-toolbar', template: "<sky-toolbar class=\"sky-list-multiselect-toolbar\">\n <sky-toolbar-section>\n <sky-toolbar-item>\n <sky-list-toolbar-item-renderer [template]=\"selectAllTemplate\">\n </sky-list-toolbar-item-renderer>\n </sky-toolbar-item>\n <sky-toolbar-item>\n <sky-list-toolbar-item-renderer [template]=\"clearSelectionsTemplate\">\n </sky-list-toolbar-item-renderer>\n </sky-toolbar-item>\n <sky-toolbar-view-actions>\n <ng-container *ngTemplateOutlet=\"showSelectedTemplate\"></ng-container>\n </sky-toolbar-view-actions>\n </sky-toolbar-section>\n</sky-toolbar>\n\n<ng-template #selectAllTemplate>\n <button\n class=\"sky-btn sky-btn-link\"\n type=\"button\"\n [attr.id]=\"multiselectToolbarId + '-select-all'\"\n (click)=\"selectAll(); $event.preventDefault()\"\n >\n {{ 'skyux_list_multiselect_select_all' | skyLibResources }}\n </button>\n</ng-template>\n\n<ng-template #clearSelectionsTemplate>\n <button\n class=\"sky-btn sky-btn-link\"\n type=\"button\"\n [attr.id]=\"multiselectToolbarId + '-clear-all'\"\n (click)=\"clearSelections(); $event.preventDefault()\"\n >\n {{ 'skyux_list_multiselect_clear_all' | skyLibResources }}\n </button>\n</ng-template>\n\n<ng-template #showSelectedTemplate>\n <sky-checkbox\n [attr.id]=\"multiselectToolbarId + '-show-selected'\"\n [checked]=\"showOnlySelected\"\n (change)=\"changeVisibleItems($event)\"\n >\n <sky-checkbox-label>\n {{ 'skyux_list_multiselect_show_selected' | skyLibResources }}\n </sky-checkbox-label>\n </sky-checkbox>\n</ng-template>\n", styles: [":host-context(sky-toolbar)+.sky-list-multiselect-toolbar ::ng-deep .sky-toolbar-container,:host-context(.sky-list-toolbar-search)+.sky-list-multiselect-toolbar ::ng-deep .sky-toolbar-container{border-top:none}\n"] }]
144
144
  }], ctorParameters: function () { return [{ type: i1.ListState }, { type: i2.ListStateDispatcher }]; }, propDecorators: { showOnlySelected: [{
@@ -15,9 +15,9 @@ export class SkyListSecondaryActionComponent {
15
15
  });
16
16
  }
17
17
  }
18
- SkyListSecondaryActionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyListSecondaryActionComponent, deps: [{ token: i1.SkyListSecondaryActionsService }], target: i0.ɵɵFactoryTarget.Component });
19
- SkyListSecondaryActionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: SkyListSecondaryActionComponent, selector: "sky-list-secondary-action", viewQueries: [{ propertyName: "templateRef", first: true, predicate: ["listSecondaryAction"], descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: "<ng-template #listSecondaryAction>\n <ng-content></ng-content>\n</ng-template>\n" });
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyListSecondaryActionComponent, decorators: [{
18
+ SkyListSecondaryActionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyListSecondaryActionComponent, deps: [{ token: i1.SkyListSecondaryActionsService }], target: i0.ɵɵFactoryTarget.Component });
19
+ SkyListSecondaryActionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: SkyListSecondaryActionComponent, selector: "sky-list-secondary-action", viewQueries: [{ propertyName: "templateRef", first: true, predicate: ["listSecondaryAction"], descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: "<ng-template #listSecondaryAction>\n <ng-content></ng-content>\n</ng-template>\n" });
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyListSecondaryActionComponent, decorators: [{
21
21
  type: Component,
22
22
  args: [{ selector: 'sky-list-secondary-action', template: "<ng-template #listSecondaryAction>\n <ng-content></ng-content>\n</ng-template>\n" }]
23
23
  }], ctorParameters: function () { return [{ type: i1.SkyListSecondaryActionsService }]; }, propDecorators: { templateRef: [{
@@ -35,9 +35,9 @@ export class SkyListSecondaryActionsHostComponent {
35
35
  this.ngUnsubscribe.complete();
36
36
  }
37
37
  }
38
- SkyListSecondaryActionsHostComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyListSecondaryActionsHostComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.SkyListSecondaryActionsService }], target: i0.ɵɵFactoryTarget.Component });
39
- SkyListSecondaryActionsHostComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: SkyListSecondaryActionsHostComponent, selector: "sky-list-secondary-actions-host", ngImport: i0, template: "<div\n class=\"sky-list-secondary-actions\"\n [ngClass]=\"{ 'sky-list-secondary-actions-hidden': dropdownHidden }\"\n>\n <sky-dropdown\n [attr.title]=\"'skyux_list_show_secondary_actions_button' | skyLibResources\"\n [label]=\"'skyux_list_show_secondary_actions_button' | skyLibResources\"\n >\n <sky-dropdown-button>\n <sky-icon icon=\"ellipsis-h\"> </sky-icon>\n <span class=\"sky-list-secondary-actions-btn-text\">\n {{ 'skyux_list_show_secondary_actions_button' | skyLibResources }}\n </span>\n </sky-dropdown-button>\n <sky-dropdown-menu>\n <sky-dropdown-item *ngFor=\"let action of actions\">\n <ng-container *ngTemplateOutlet=\"action.template\"> </ng-container>\n </sky-dropdown-item>\n </sky-dropdown-menu>\n </sky-dropdown>\n</div>\n<ng-content> </ng-content>\n", styles: [".sky-list-secondary-actions ::ng-deep .sky-dropdown-button-type-select{padding:6px 12px}.sky-list-secondary-actions ::ng-deep .sky-dropdown-button-type-select sky-icon[icon=ellipsis-h]{font-size:1.33333em;line-height:.75em;vertical-align:-15%}.sky-list-secondary-actions-hidden{display:none}:host .sky-list-secondary-actions-btn-text{display:none}:host .sky-list-secondary-actions ::ng-deep .sky-dropdown-caret{display:none}:host-context(.sky-responsive-container-xs) .sky-list-secondary-actions-btn-text,:host-context(.sky-responsive-container-sm) .sky-list-secondary-actions-btn-text,:host-context(.sky-responsive-container-md) .sky-list-secondary-actions-btn-text,:host-context(.sky-responsive-container-lg) .sky-list-secondary-actions-btn-text{display:none}:host-context(.sky-responsive-container-xs) .sky-list-secondary-actions ::ng-deep .sky-dropdown-caret,:host-context(.sky-responsive-container-sm) .sky-list-secondary-actions ::ng-deep .sky-dropdown-caret,:host-context(.sky-responsive-container-md) .sky-list-secondary-actions ::ng-deep .sky-dropdown-caret,:host-context(.sky-responsive-container-lg) .sky-list-secondary-actions ::ng-deep .sky-dropdown-caret{display:none}@media (min-width: 768px){:host .sky-list-secondary-actions-btn-text{display:inline}:host .sky-list-secondary-actions ::ng-deep .sky-dropdown-caret{display:inline-block}}:host-context(.sky-responsive-container-sm) .sky-list-secondary-actions-btn-text,:host-context(.sky-responsive-container-md) .sky-list-secondary-actions-btn-text,:host-context(.sky-responsive-container-lg) .sky-list-secondary-actions-btn-text{display:inline}:host-context(.sky-responsive-container-sm) .sky-list-secondary-actions ::ng-deep .sky-dropdown-caret,:host-context(.sky-responsive-container-md) .sky-list-secondary-actions ::ng-deep .sky-dropdown-caret,:host-context(.sky-responsive-container-lg) .sky-list-secondary-actions ::ng-deep .sky-dropdown-caret{display:inline-block}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.λ2, selector: "sky-dropdown-button" }, { kind: "component", type: i3.λ3, selector: "sky-dropdown", inputs: ["buttonStyle", "buttonType", "disabled", "dismissOnBlur", "label", "horizontalAlignment", "messageStream", "title", "trigger"] }, { kind: "component", type: i3.λ1, selector: "sky-dropdown-item", inputs: ["ariaRole"] }, { kind: "component", type: i3.λ4, selector: "sky-dropdown-menu", inputs: ["ariaLabelledBy", "ariaRole", "useNativeFocus"], outputs: ["menuChanges"] }, { kind: "component", type: i4.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "pipe", type: i5.SkyLibResourcesPipe, name: "skyLibResources" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
40
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyListSecondaryActionsHostComponent, decorators: [{
38
+ SkyListSecondaryActionsHostComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyListSecondaryActionsHostComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.SkyListSecondaryActionsService }], target: i0.ɵɵFactoryTarget.Component });
39
+ SkyListSecondaryActionsHostComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: SkyListSecondaryActionsHostComponent, selector: "sky-list-secondary-actions-host", ngImport: i0, template: "<div\n class=\"sky-list-secondary-actions\"\n [ngClass]=\"{ 'sky-list-secondary-actions-hidden': dropdownHidden }\"\n>\n <sky-dropdown\n [attr.title]=\"'skyux_list_show_secondary_actions_button' | skyLibResources\"\n [label]=\"'skyux_list_show_secondary_actions_button' | skyLibResources\"\n >\n <sky-dropdown-button>\n <sky-icon icon=\"ellipsis-h\"> </sky-icon>\n <span class=\"sky-list-secondary-actions-btn-text\">\n {{ 'skyux_list_show_secondary_actions_button' | skyLibResources }}\n </span>\n </sky-dropdown-button>\n <sky-dropdown-menu>\n <sky-dropdown-item *ngFor=\"let action of actions\">\n <ng-container *ngTemplateOutlet=\"action.template\"> </ng-container>\n </sky-dropdown-item>\n </sky-dropdown-menu>\n </sky-dropdown>\n</div>\n<ng-content> </ng-content>\n", styles: [".sky-list-secondary-actions ::ng-deep .sky-dropdown-button-type-select{padding:6px 12px}.sky-list-secondary-actions ::ng-deep .sky-dropdown-button-type-select sky-icon[icon=ellipsis-h]{font-size:1.33333em;line-height:.75em;vertical-align:-15%}.sky-list-secondary-actions-hidden{display:none}:host .sky-list-secondary-actions-btn-text{display:none}:host .sky-list-secondary-actions ::ng-deep .sky-dropdown-caret{display:none}:host-context(.sky-responsive-container-xs) .sky-list-secondary-actions-btn-text,:host-context(.sky-responsive-container-sm) .sky-list-secondary-actions-btn-text,:host-context(.sky-responsive-container-md) .sky-list-secondary-actions-btn-text,:host-context(.sky-responsive-container-lg) .sky-list-secondary-actions-btn-text{display:none}:host-context(.sky-responsive-container-xs) .sky-list-secondary-actions ::ng-deep .sky-dropdown-caret,:host-context(.sky-responsive-container-sm) .sky-list-secondary-actions ::ng-deep .sky-dropdown-caret,:host-context(.sky-responsive-container-md) .sky-list-secondary-actions ::ng-deep .sky-dropdown-caret,:host-context(.sky-responsive-container-lg) .sky-list-secondary-actions ::ng-deep .sky-dropdown-caret{display:none}@media (min-width: 768px){:host .sky-list-secondary-actions-btn-text{display:inline}:host .sky-list-secondary-actions ::ng-deep .sky-dropdown-caret{display:inline-block}}:host-context(.sky-responsive-container-sm) .sky-list-secondary-actions-btn-text,:host-context(.sky-responsive-container-md) .sky-list-secondary-actions-btn-text,:host-context(.sky-responsive-container-lg) .sky-list-secondary-actions-btn-text{display:inline}:host-context(.sky-responsive-container-sm) .sky-list-secondary-actions ::ng-deep .sky-dropdown-caret,:host-context(.sky-responsive-container-md) .sky-list-secondary-actions ::ng-deep .sky-dropdown-caret,:host-context(.sky-responsive-container-lg) .sky-list-secondary-actions ::ng-deep .sky-dropdown-caret{display:inline-block}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.λ2, selector: "sky-dropdown-button" }, { kind: "component", type: i3.λ3, selector: "sky-dropdown", inputs: ["buttonStyle", "buttonType", "disabled", "dismissOnBlur", "label", "horizontalAlignment", "messageStream", "title", "trigger"] }, { kind: "component", type: i3.λ1, selector: "sky-dropdown-item", inputs: ["ariaRole"] }, { kind: "component", type: i3.λ4, selector: "sky-dropdown-menu", inputs: ["ariaLabelledBy", "ariaRole", "useNativeFocus"], outputs: ["menuChanges"] }, { kind: "component", type: i4.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "pipe", type: i5.SkyLibResourcesPipe, name: "skyLibResources" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyListSecondaryActionsHostComponent, decorators: [{
41
41
  type: Component,
42
42
  args: [{ selector: 'sky-list-secondary-actions-host', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"sky-list-secondary-actions\"\n [ngClass]=\"{ 'sky-list-secondary-actions-hidden': dropdownHidden }\"\n>\n <sky-dropdown\n [attr.title]=\"'skyux_list_show_secondary_actions_button' | skyLibResources\"\n [label]=\"'skyux_list_show_secondary_actions_button' | skyLibResources\"\n >\n <sky-dropdown-button>\n <sky-icon icon=\"ellipsis-h\"> </sky-icon>\n <span class=\"sky-list-secondary-actions-btn-text\">\n {{ 'skyux_list_show_secondary_actions_button' | skyLibResources }}\n </span>\n </sky-dropdown-button>\n <sky-dropdown-menu>\n <sky-dropdown-item *ngFor=\"let action of actions\">\n <ng-container *ngTemplateOutlet=\"action.template\"> </ng-container>\n </sky-dropdown-item>\n </sky-dropdown-menu>\n </sky-dropdown>\n</div>\n<ng-content> </ng-content>\n", styles: [".sky-list-secondary-actions ::ng-deep .sky-dropdown-button-type-select{padding:6px 12px}.sky-list-secondary-actions ::ng-deep .sky-dropdown-button-type-select sky-icon[icon=ellipsis-h]{font-size:1.33333em;line-height:.75em;vertical-align:-15%}.sky-list-secondary-actions-hidden{display:none}:host .sky-list-secondary-actions-btn-text{display:none}:host .sky-list-secondary-actions ::ng-deep .sky-dropdown-caret{display:none}:host-context(.sky-responsive-container-xs) .sky-list-secondary-actions-btn-text,:host-context(.sky-responsive-container-sm) .sky-list-secondary-actions-btn-text,:host-context(.sky-responsive-container-md) .sky-list-secondary-actions-btn-text,:host-context(.sky-responsive-container-lg) .sky-list-secondary-actions-btn-text{display:none}:host-context(.sky-responsive-container-xs) .sky-list-secondary-actions ::ng-deep .sky-dropdown-caret,:host-context(.sky-responsive-container-sm) .sky-list-secondary-actions ::ng-deep .sky-dropdown-caret,:host-context(.sky-responsive-container-md) .sky-list-secondary-actions ::ng-deep .sky-dropdown-caret,:host-context(.sky-responsive-container-lg) .sky-list-secondary-actions ::ng-deep .sky-dropdown-caret{display:none}@media (min-width: 768px){:host .sky-list-secondary-actions-btn-text{display:inline}:host .sky-list-secondary-actions ::ng-deep .sky-dropdown-caret{display:inline-block}}:host-context(.sky-responsive-container-sm) .sky-list-secondary-actions-btn-text,:host-context(.sky-responsive-container-md) .sky-list-secondary-actions-btn-text,:host-context(.sky-responsive-container-lg) .sky-list-secondary-actions-btn-text{display:inline}:host-context(.sky-responsive-container-sm) .sky-list-secondary-actions ::ng-deep .sky-dropdown-caret,:host-context(.sky-responsive-container-md) .sky-list-secondary-actions ::ng-deep .sky-dropdown-caret,:host-context(.sky-responsive-container-lg) .sky-list-secondary-actions ::ng-deep .sky-dropdown-caret{display:inline-block}\n"] }]
43
43
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.SkyListSecondaryActionsService }]; } });
@@ -25,9 +25,9 @@ export class SkyListSecondaryActionsComponent {
25
25
  this.dispatcher.toolbarAddItems([secondaryActionItem]);
26
26
  }
27
27
  }
28
- SkyListSecondaryActionsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyListSecondaryActionsComponent, deps: [{ token: i1.ListStateDispatcher }], target: i0.ɵɵFactoryTarget.Component });
29
- SkyListSecondaryActionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: SkyListSecondaryActionsComponent, selector: "sky-list-secondary-actions", providers: [SkyListSecondaryActionsService], viewQueries: [{ propertyName: "secondaryActionsTemplate", first: true, predicate: ["secondaryActions"], descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: "<ng-template #secondaryActions>\n <sky-list-secondary-actions-host>\n <ng-content></ng-content>\n </sky-list-secondary-actions-host>\n</ng-template>\n", dependencies: [{ kind: "component", type: i2.SkyListSecondaryActionsHostComponent, selector: "sky-list-secondary-actions-host" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: SkyListSecondaryActionsComponent, decorators: [{
28
+ SkyListSecondaryActionsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyListSecondaryActionsComponent, deps: [{ token: i1.ListStateDispatcher }], target: i0.ɵɵFactoryTarget.Component });
29
+ SkyListSecondaryActionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: SkyListSecondaryActionsComponent, selector: "sky-list-secondary-actions", providers: [SkyListSecondaryActionsService], viewQueries: [{ propertyName: "secondaryActionsTemplate", first: true, predicate: ["secondaryActions"], descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: "<ng-template #secondaryActions>\n <sky-list-secondary-actions-host>\n <ng-content></ng-content>\n </sky-list-secondary-actions-host>\n</ng-template>\n", dependencies: [{ kind: "component", type: i2.SkyListSecondaryActionsHostComponent, selector: "sky-list-secondary-actions-host" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: SkyListSecondaryActionsComponent, decorators: [{
31
31
  type: Component,
32
32
  args: [{ selector: 'sky-list-secondary-actions', providers: [SkyListSecondaryActionsService], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template #secondaryActions>\n <sky-list-secondary-actions-host>\n <ng-content></ng-content>\n </sky-list-secondary-actions-host>\n</ng-template>\n" }]
33
33
  }], ctorParameters: function () { return [{ type: i1.ListStateDispatcher }]; }, propDecorators: { secondaryActionsTemplate: [{