igniteui-angular 15.1.30 → 15.1.31

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 (67) hide show
  1. package/esm2020/lib/action-strip/action-strip.component.mjs +3 -3
  2. package/esm2020/lib/action-strip/grid-actions/grid-action-button.component.mjs +3 -3
  3. package/esm2020/lib/banner/banner.component.mjs +8 -8
  4. package/esm2020/lib/card/card.component.mjs +3 -3
  5. package/esm2020/lib/carousel/carousel.component.mjs +7 -7
  6. package/esm2020/lib/combo/combo-dropdown.component.mjs +3 -3
  7. package/esm2020/lib/combo/combo.common.mjs +5 -5
  8. package/esm2020/lib/combo/combo.component.mjs +3 -3
  9. package/esm2020/lib/combo/combo.directives.mjs +2 -2
  10. package/esm2020/lib/core/navigation/directives.mjs +3 -3
  11. package/esm2020/lib/date-common/calendar-container/calendar-container.component.mjs +3 -3
  12. package/esm2020/lib/date-picker/date-picker.component.mjs +7 -7
  13. package/esm2020/lib/date-range-picker/date-range-picker.component.mjs +6 -6
  14. package/esm2020/lib/dialog/dialog.component.mjs +5 -5
  15. package/esm2020/lib/directives/button/button.directive.mjs +8 -8
  16. package/esm2020/lib/directives/ripple/ripple.directive.mjs +6 -6
  17. package/esm2020/lib/directives/tooltip/tooltip-target.directive.mjs +7 -9
  18. package/esm2020/lib/directives/tooltip/tooltip.directive.mjs +2 -2
  19. package/esm2020/lib/drop-down/drop-down.component.mjs +3 -3
  20. package/esm2020/lib/expansion-panel/expansion-panel.component.mjs +4 -4
  21. package/esm2020/lib/grids/column-actions/column-actions.component.mjs +3 -3
  22. package/esm2020/lib/grids/common/crud.service.mjs +2 -2
  23. package/esm2020/lib/grids/filtering/base/grid-filtering-row.component.mjs +3 -3
  24. package/esm2020/lib/grids/filtering/excel-style/excel-style-custom-dialog.component.mjs +3 -3
  25. package/esm2020/lib/grids/filtering/excel-style/excel-style-date-expression.component.mjs +3 -3
  26. package/esm2020/lib/grids/filtering/excel-style/excel-style-default-expression.component.mjs +3 -3
  27. package/esm2020/lib/grids/filtering/excel-style/excel-style-header.component.mjs +3 -3
  28. package/esm2020/lib/grids/filtering/excel-style/excel-style-moving.component.mjs +3 -3
  29. package/esm2020/lib/grids/filtering/excel-style/excel-style-search.component.mjs +3 -3
  30. package/esm2020/lib/grids/filtering/excel-style/excel-style-sorting.component.mjs +3 -3
  31. package/esm2020/lib/grids/grid/grid.component.mjs +3 -3
  32. package/esm2020/lib/grids/grid-base.directive.mjs +4 -4
  33. package/esm2020/lib/grids/hierarchical-grid/hierarchical-grid.component.mjs +3 -3
  34. package/esm2020/lib/grids/tree-grid/tree-grid.component.mjs +3 -3
  35. package/esm2020/lib/query-builder/query-builder.component.mjs +3 -3
  36. package/esm2020/lib/simple-combo/simple-combo.component.mjs +3 -3
  37. package/esm2020/lib/snackbar/snackbar.component.mjs +4 -4
  38. package/esm2020/lib/tabs/tabs/tabs.component.mjs +3 -3
  39. package/esm2020/lib/time-picker/time-picker.component.mjs +6 -5
  40. package/esm2020/lib/toast/toast.component.mjs +2 -2
  41. package/esm2020/lib/tree/tree-node/tree-node.component.mjs +4 -4
  42. package/fesm2015/igniteui-angular.mjs +117 -118
  43. package/fesm2015/igniteui-angular.mjs.map +1 -1
  44. package/fesm2020/igniteui-angular.mjs +117 -118
  45. package/fesm2020/igniteui-angular.mjs.map +1 -1
  46. package/lib/banner/banner.component.d.ts +5 -5
  47. package/lib/card/card.component.d.ts +2 -2
  48. package/lib/carousel/carousel.component.d.ts +6 -6
  49. package/lib/combo/combo.common.d.ts +4 -4
  50. package/lib/combo/combo.directives.d.ts +1 -1
  51. package/lib/core/navigation/directives.d.ts +2 -2
  52. package/lib/date-picker/date-picker.component.d.ts +4 -4
  53. package/lib/date-range-picker/date-range-picker.component.d.ts +3 -3
  54. package/lib/dialog/dialog.component.d.ts +4 -4
  55. package/lib/directives/button/button.directive.d.ts +7 -7
  56. package/lib/directives/ripple/ripple.directive.d.ts +6 -6
  57. package/lib/directives/tooltip/tooltip-target.directive.d.ts +6 -8
  58. package/lib/directives/tooltip/tooltip.directive.d.ts +1 -1
  59. package/lib/expansion-panel/expansion-panel.component.d.ts +3 -3
  60. package/lib/grids/common/crud.service.d.ts +1 -1
  61. package/lib/grids/grid-base.directive.d.ts +3 -3
  62. package/lib/snackbar/snackbar.component.d.ts +1 -1
  63. package/lib/time-picker/time-picker.component.d.ts +1 -1
  64. package/lib/toast/toast.component.d.ts +1 -1
  65. package/lib/tree/tree-node/tree-node.component.d.ts +3 -3
  66. package/migrations/common/UpdateChanges.js +1 -1
  67. package/package.json +1 -1
@@ -57,10 +57,10 @@ export class IgxExcelStyleSortingComponent {
57
57
  }
58
58
  }
59
59
  IgxExcelStyleSortingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: IgxExcelStyleSortingComponent, deps: [{ token: i1.BaseFilteringComponent }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
60
- IgxExcelStyleSortingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: IgxExcelStyleSortingComponent, selector: "igx-excel-style-sorting", host: { properties: { "class.igx-excel-filter__sort": "this.defaultClass" } }, viewQueries: [{ propertyName: "sortButtonGroup", first: true, predicate: ["sortButtonGroup"], descendants: true, read: IgxButtonGroupComponent }], ngImport: i0, template: "<ng-container *ngIf=\"esf.column\">\n<header>\n {{ esf.grid.resourceStrings.igx_grid_excel_filter_sorting_header }}\n</header>\n<igx-buttongroup #sortButtonGroup [multiSelection]=\"false\">\n <button igxButton\n [displayDensity]=\"esf.grid.displayDensity\"\n [attr.data-togglable]=\"true\"\n (click)=\"onSortButtonClicked(1)\"\n >\n <igx-icon>arrow_upwards</igx-icon>\n <span>\n {{ esf.grid.displayDensity==='compact'?\n esf.grid.resourceStrings.igx_grid_excel_filter_sorting_asc_short:\n esf.grid.resourceStrings.igx_grid_excel_filter_sorting_asc }}\n </span>\n </button>\n\n <button igxButton\n [displayDensity]=\"esf.grid.displayDensity\"\n [attr.data-togglable]=\"true\"\n (click)=\"onSortButtonClicked(2)\"\n >\n <igx-icon>arrow_downwards</igx-icon>\n <span>\n {{ esf.grid.displayDensity==='compact'?\n esf.grid.resourceStrings.igx_grid_excel_filter_sorting_desc_short:\n esf.grid.resourceStrings.igx_grid_excel_filter_sorting_desc\n }}\n </span>\n </button>\n</igx-buttongroup>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.IgxButtonDirective, selector: "[igxButton]", inputs: ["selected", "igxButton", "igxButtonColor", "igxButtonBackground", "igxLabel", "disabled"], outputs: ["buttonClick", "buttonSelected"] }, { kind: "component", type: i4.IgxButtonGroupComponent, selector: "igx-buttongroup", inputs: ["id", "itemContentCssClass", "multiSelection", "values", "disabled", "alignment"], outputs: ["selected", "deselected"] }, { kind: "component", type: i5.IgxIconComponent, selector: "igx-icon", inputs: ["family", "active", "name"] }] });
60
+ IgxExcelStyleSortingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: IgxExcelStyleSortingComponent, selector: "igx-excel-style-sorting", host: { properties: { "class.igx-excel-filter__sort": "this.defaultClass" } }, viewQueries: [{ propertyName: "sortButtonGroup", first: true, predicate: ["sortButtonGroup"], descendants: true, read: IgxButtonGroupComponent }], ngImport: i0, template: "<ng-container *ngIf=\"esf.column\">\n<header>\n {{ esf.grid.resourceStrings.igx_grid_excel_filter_sorting_header }}\n</header>\n<igx-buttongroup #sortButtonGroup>\n <button type=\"button\"\n igxButton\n [displayDensity]=\"esf.displayDensity\"\n [attr.data-togglable]=\"true\"\n (click)=\"onSortButtonClicked(1)\"\n >\n <igx-icon>arrow_upwards</igx-icon>\n <span>\n {{ esf.grid.displayDensity==='compact'?\n esf.grid.resourceStrings.igx_grid_excel_filter_sorting_asc_short:\n esf.grid.resourceStrings.igx_grid_excel_filter_sorting_asc }}\n </span>\n </button>\n\n <button type=\"button\"\n igxButton\n [displayDensity]=\"esf.displayDensity\"\n [attr.data-togglable]=\"true\"\n (click)=\"onSortButtonClicked(2)\"\n >\n <igx-icon>arrow_downwards</igx-icon>\n <span>\n {{ esf.grid.displayDensity==='compact'?\n esf.grid.resourceStrings.igx_grid_excel_filter_sorting_desc_short:\n esf.grid.resourceStrings.igx_grid_excel_filter_sorting_desc\n }}\n </span>\n </button>\n</igx-buttongroup>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.IgxButtonDirective, selector: "[igxButton]", inputs: ["selected", "igxButton", "igxButtonColor", "igxButtonBackground", "igxLabel", "disabled"], outputs: ["buttonClick", "buttonSelected"] }, { kind: "component", type: i4.IgxButtonGroupComponent, selector: "igx-buttongroup", inputs: ["id", "itemContentCssClass", "multiSelection", "values", "disabled", "alignment"], outputs: ["selected", "deselected"] }, { kind: "component", type: i5.IgxIconComponent, selector: "igx-icon", inputs: ["family", "active", "name"] }] });
61
61
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: IgxExcelStyleSortingComponent, decorators: [{
62
62
  type: Component,
63
- args: [{ selector: 'igx-excel-style-sorting', template: "<ng-container *ngIf=\"esf.column\">\n<header>\n {{ esf.grid.resourceStrings.igx_grid_excel_filter_sorting_header }}\n</header>\n<igx-buttongroup #sortButtonGroup [multiSelection]=\"false\">\n <button igxButton\n [displayDensity]=\"esf.grid.displayDensity\"\n [attr.data-togglable]=\"true\"\n (click)=\"onSortButtonClicked(1)\"\n >\n <igx-icon>arrow_upwards</igx-icon>\n <span>\n {{ esf.grid.displayDensity==='compact'?\n esf.grid.resourceStrings.igx_grid_excel_filter_sorting_asc_short:\n esf.grid.resourceStrings.igx_grid_excel_filter_sorting_asc }}\n </span>\n </button>\n\n <button igxButton\n [displayDensity]=\"esf.grid.displayDensity\"\n [attr.data-togglable]=\"true\"\n (click)=\"onSortButtonClicked(2)\"\n >\n <igx-icon>arrow_downwards</igx-icon>\n <span>\n {{ esf.grid.displayDensity==='compact'?\n esf.grid.resourceStrings.igx_grid_excel_filter_sorting_desc_short:\n esf.grid.resourceStrings.igx_grid_excel_filter_sorting_desc\n }}\n </span>\n </button>\n</igx-buttongroup>\n</ng-container>\n" }]
63
+ args: [{ selector: 'igx-excel-style-sorting', template: "<ng-container *ngIf=\"esf.column\">\n<header>\n {{ esf.grid.resourceStrings.igx_grid_excel_filter_sorting_header }}\n</header>\n<igx-buttongroup #sortButtonGroup>\n <button type=\"button\"\n igxButton\n [displayDensity]=\"esf.displayDensity\"\n [attr.data-togglable]=\"true\"\n (click)=\"onSortButtonClicked(1)\"\n >\n <igx-icon>arrow_upwards</igx-icon>\n <span>\n {{ esf.grid.displayDensity==='compact'?\n esf.grid.resourceStrings.igx_grid_excel_filter_sorting_asc_short:\n esf.grid.resourceStrings.igx_grid_excel_filter_sorting_asc }}\n </span>\n </button>\n\n <button type=\"button\"\n igxButton\n [displayDensity]=\"esf.displayDensity\"\n [attr.data-togglable]=\"true\"\n (click)=\"onSortButtonClicked(2)\"\n >\n <igx-icon>arrow_downwards</igx-icon>\n <span>\n {{ esf.grid.displayDensity==='compact'?\n esf.grid.resourceStrings.igx_grid_excel_filter_sorting_desc_short:\n esf.grid.resourceStrings.igx_grid_excel_filter_sorting_desc\n }}\n </span>\n </button>\n</igx-buttongroup>\n</ng-container>\n" }]
64
64
  }], ctorParameters: function () { return [{ type: i1.BaseFilteringComponent }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { defaultClass: [{
65
65
  type: HostBinding,
66
66
  args: ['class.igx-excel-filter__sort']
@@ -68,4 +68,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
68
68
  type: ViewChild,
69
69
  args: ['sortButtonGroup', { read: IgxButtonGroupComponent }]
70
70
  }] } });
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjZWwtc3R5bGUtc29ydGluZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZ25pdGV1aS1hbmd1bGFyL3NyYy9saWIvZ3JpZHMvZmlsdGVyaW5nL2V4Y2VsLXN0eWxlL2V4Y2VsLXN0eWxlLXNvcnRpbmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaWduaXRldWktYW5ndWxhci9zcmMvbGliL2dyaWRzL2ZpbHRlcmluZy9leGNlbC1zdHlsZS9leGNlbC1zdHlsZS1zb3J0aW5nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsU0FBUyxFQUVULFdBQVcsRUFFZCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNyRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7OztBQUcvQjs7R0FFRztBQUtILE1BQU0sT0FBTyw2QkFBNkI7SUFldEMsWUFBbUIsR0FBMkIsRUFBVSxHQUFzQjtRQUEzRCxRQUFHLEdBQUgsR0FBRyxDQUF3QjtRQUFVLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBZDlFOztXQUVHO1FBRUksaUJBQVksR0FBRyxJQUFJLENBQUM7UUFRbkIsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFXLENBQUM7UUFHdEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2xFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN0RCxDQUFDLENBQUMsQ0FBQztJQUNOLENBQUM7SUFFTSxXQUFXO1FBQ2YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQ7O09BRUc7SUFDSSxtQkFBbUIsQ0FBQyxhQUFhO1FBQ3BDLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxlQUFlLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUNuRCxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDdEQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQyxDQUFDO2FBQ3hEO2lCQUFNO2dCQUNILElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNsRDtTQUNKO2FBQU07WUFDSCxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7U0FDbEc7SUFDTCxDQUFDO0lBRU8scUJBQXFCLENBQUMsU0FBaUI7UUFDM0MsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsS0FBSyxTQUFTLENBQUMsQ0FBQztRQUU3RixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUMxQyxJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzQyxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksU0FBUyxLQUFLLENBQUMsQ0FBQyxFQUFHO1lBQ25CLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztZQUN0RSxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDeEQ7SUFDTCxDQUFDOzswSEFyRFEsNkJBQTZCOzhHQUE3Qiw2QkFBNkIsNk9BVUEsdUJBQXVCLDZCQzdCakUsdXFDQWlDQTsyRkRkYSw2QkFBNkI7a0JBSnpDLFNBQVM7K0JBQ0kseUJBQXlCOzZJQVE1QixZQUFZO3NCQURsQixXQUFXO3VCQUFDLDhCQUE4QjtnQkFPcEMsZUFBZTtzQkFEckIsU0FBUzt1QkFBQyxpQkFBaUIsRUFBRSxFQUFFLElBQUksRUFBRSx1QkFBdUIsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIFZpZXdDaGlsZCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJZ3hCdXR0b25Hcm91cENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2J1dHRvbkdyb3VwL2J1dHRvbkdyb3VwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBCYXNlRmlsdGVyaW5nQ29tcG9uZW50IH0gZnJvbSAnLi9iYXNlLWZpbHRlcmluZy5jb21wb25lbnQnO1xuXG4vKipcbiAqIEEgY29tcG9uZW50IHVzZWQgZm9yIHByZXNlbnRpbmcgRXhjZWwgc3R5bGUgY29sdW1uIHNvcnRpbmcgVUkuXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnaWd4LWV4Y2VsLXN0eWxlLXNvcnRpbmcnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9leGNlbC1zdHlsZS1zb3J0aW5nLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBJZ3hFeGNlbFN0eWxlU29ydGluZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gICAgLyoqXG4gICAgICogQGhpZGRlbiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlneC1leGNlbC1maWx0ZXJfX3NvcnQnKVxuICAgIHB1YmxpYyBkZWZhdWx0Q2xhc3MgPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlbiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBAVmlld0NoaWxkKCdzb3J0QnV0dG9uR3JvdXAnLCB7IHJlYWQ6IElneEJ1dHRvbkdyb3VwQ29tcG9uZW50IH0pXG4gICAgcHVibGljIHNvcnRCdXR0b25Hcm91cDogSWd4QnV0dG9uR3JvdXBDb21wb25lbnQ7XG5cbiAgICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBlc2Y6IEJhc2VGaWx0ZXJpbmdDb21wb25lbnQsIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgICAgICB0aGlzLmVzZi5zb3J0aW5nQ2hhbmdlZC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlU2VsZWN0ZWRCdXR0b25zKHRoaXMuZXNmLmNvbHVtbi5maWVsZCk7XG4gICAgICAgIH0pO1xuICAgICB9XG5cbiAgICAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHB1YmxpYyBvblNvcnRCdXR0b25DbGlja2VkKHNvcnREaXJlY3Rpb24pIHtcbiAgICAgICAgaWYgKHRoaXMuc29ydEJ1dHRvbkdyb3VwLnNlbGVjdGVkSW5kZXhlcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmVzZi5ncmlkLmlzQ29sdW1uR3JvdXBlZCh0aGlzLmVzZi5jb2x1bW4uZmllbGQpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zb3J0QnV0dG9uR3JvdXAuc2VsZWN0QnV0dG9uKHNvcnREaXJlY3Rpb24gLSAxKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5lc2YuZ3JpZC5jbGVhclNvcnQodGhpcy5lc2YuY29sdW1uLmZpZWxkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZXNmLmdyaWQuc29ydCh7IGZpZWxkTmFtZTogdGhpcy5lc2YuY29sdW1uLmZpZWxkLCBkaXI6IHNvcnREaXJlY3Rpb24sIGlnbm9yZUNhc2U6IHRydWUgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVNlbGVjdGVkQnV0dG9ucyhmaWVsZE5hbWU6IHN0cmluZykge1xuICAgICAgICBjb25zdCBzb3J0SW5kZXggPSB0aGlzLmVzZi5ncmlkLnNvcnRpbmdFeHByZXNzaW9ucy5maW5kSW5kZXgocyA9PiBzLmZpZWxkTmFtZSA9PT0gZmllbGROYW1lKTtcblxuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIHRoaXMuc29ydEJ1dHRvbkdyb3VwLmJ1dHRvbnMuZm9yRWFjaCgoYiwgaSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zb3J0QnV0dG9uR3JvdXAuZGVzZWxlY3RCdXR0b24oaSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmIChzb3J0SW5kZXggIT09IC0xICkge1xuICAgICAgICAgICAgY29uc3Qgc29ydERpcmVjdGlvbiA9IHRoaXMuZXNmLmdyaWQuc29ydGluZ0V4cHJlc3Npb25zW3NvcnRJbmRleF0uZGlyO1xuICAgICAgICAgICAgdGhpcy5zb3J0QnV0dG9uR3JvdXAuc2VsZWN0QnV0dG9uKHNvcnREaXJlY3Rpb24gLSAxKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJlc2YuY29sdW1uXCI+XG48aGVhZGVyPlxuICAgIHt7IGVzZi5ncmlkLnJlc291cmNlU3RyaW5ncy5pZ3hfZ3JpZF9leGNlbF9maWx0ZXJfc29ydGluZ19oZWFkZXIgfX1cbjwvaGVhZGVyPlxuPGlneC1idXR0b25ncm91cCAjc29ydEJ1dHRvbkdyb3VwIFttdWx0aVNlbGVjdGlvbl09XCJmYWxzZVwiPlxuICAgIDxidXR0b24gaWd4QnV0dG9uXG4gICAgICAgIFtkaXNwbGF5RGVuc2l0eV09XCJlc2YuZ3JpZC5kaXNwbGF5RGVuc2l0eVwiXG4gICAgICAgIFthdHRyLmRhdGEtdG9nZ2xhYmxlXT1cInRydWVcIlxuICAgICAgICAoY2xpY2spPVwib25Tb3J0QnV0dG9uQ2xpY2tlZCgxKVwiXG4gICAgICAgID5cbiAgICAgICAgPGlneC1pY29uPmFycm93X3Vwd2FyZHM8L2lneC1pY29uPlxuICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgIHt7IGVzZi5ncmlkLmRpc3BsYXlEZW5zaXR5PT09J2NvbXBhY3QnP1xuICAgICAgICAgICAgZXNmLmdyaWQucmVzb3VyY2VTdHJpbmdzLmlneF9ncmlkX2V4Y2VsX2ZpbHRlcl9zb3J0aW5nX2FzY19zaG9ydDpcbiAgICAgICAgICAgIGVzZi5ncmlkLnJlc291cmNlU3RyaW5ncy5pZ3hfZ3JpZF9leGNlbF9maWx0ZXJfc29ydGluZ19hc2MgIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cblxuICAgIDxidXR0b24gaWd4QnV0dG9uXG4gICAgICAgIFtkaXNwbGF5RGVuc2l0eV09XCJlc2YuZ3JpZC5kaXNwbGF5RGVuc2l0eVwiXG4gICAgICAgIFthdHRyLmRhdGEtdG9nZ2xhYmxlXT1cInRydWVcIlxuICAgICAgICAoY2xpY2spPVwib25Tb3J0QnV0dG9uQ2xpY2tlZCgyKVwiXG4gICAgICAgID5cbiAgICAgICAgPGlneC1pY29uPmFycm93X2Rvd253YXJkczwvaWd4LWljb24+XG4gICAgICAgIDxzcGFuPlxuICAgICAgICAgICAge3sgZXNmLmdyaWQuZGlzcGxheURlbnNpdHk9PT0nY29tcGFjdCc/XG4gICAgICAgICAgICBlc2YuZ3JpZC5yZXNvdXJjZVN0cmluZ3MuaWd4X2dyaWRfZXhjZWxfZmlsdGVyX3NvcnRpbmdfZGVzY19zaG9ydDpcbiAgICAgICAgICAgIGVzZi5ncmlkLnJlc291cmNlU3RyaW5ncy5pZ3hfZ3JpZF9leGNlbF9maWx0ZXJfc29ydGluZ19kZXNjXG4gICAgICAgIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbjwvaWd4LWJ1dHRvbmdyb3VwPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjZWwtc3R5bGUtc29ydGluZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZ25pdGV1aS1hbmd1bGFyL3NyYy9saWIvZ3JpZHMvZmlsdGVyaW5nL2V4Y2VsLXN0eWxlL2V4Y2VsLXN0eWxlLXNvcnRpbmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaWduaXRldWktYW5ndWxhci9zcmMvbGliL2dyaWRzL2ZpbHRlcmluZy9leGNlbC1zdHlsZS9leGNlbC1zdHlsZS1zb3J0aW5nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsU0FBUyxFQUVULFdBQVcsRUFFZCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNyRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7OztBQUcvQjs7R0FFRztBQUtILE1BQU0sT0FBTyw2QkFBNkI7SUFldEMsWUFBbUIsR0FBMkIsRUFBVSxHQUFzQjtRQUEzRCxRQUFHLEdBQUgsR0FBRyxDQUF3QjtRQUFVLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBZDlFOztXQUVHO1FBRUksaUJBQVksR0FBRyxJQUFJLENBQUM7UUFRbkIsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFXLENBQUM7UUFHdEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2xFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN0RCxDQUFDLENBQUMsQ0FBQztJQUNOLENBQUM7SUFFTSxXQUFXO1FBQ2YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQ7O09BRUc7SUFDSSxtQkFBbUIsQ0FBQyxhQUFhO1FBQ3BDLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxlQUFlLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUNuRCxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDdEQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQyxDQUFDO2FBQ3hEO2lCQUFNO2dCQUNILElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNsRDtTQUNKO2FBQU07WUFDSCxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7U0FDbEc7SUFDTCxDQUFDO0lBRU8scUJBQXFCLENBQUMsU0FBaUI7UUFDM0MsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsS0FBSyxTQUFTLENBQUMsQ0FBQztRQUU3RixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUMxQyxJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzQyxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksU0FBUyxLQUFLLENBQUMsQ0FBQyxFQUFHO1lBQ25CLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztZQUN0RSxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDeEQ7SUFDTCxDQUFDOzswSEFyRFEsNkJBQTZCOzhHQUE3Qiw2QkFBNkIsNk9BVUEsdUJBQXVCLDZCQzdCakUsb3JDQW1DQTsyRkRoQmEsNkJBQTZCO2tCQUp6QyxTQUFTOytCQUNJLHlCQUF5Qjs2SUFRNUIsWUFBWTtzQkFEbEIsV0FBVzt1QkFBQyw4QkFBOEI7Z0JBT3BDLGVBQWU7c0JBRHJCLFNBQVM7dUJBQUMsaUJBQWlCLEVBQUUsRUFBRSxJQUFJLEVBQUUsdUJBQXVCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBWaWV3Q2hpbGQsXG4gICAgT25EZXN0cm95LFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIENoYW5nZURldGVjdG9yUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSWd4QnV0dG9uR3JvdXBDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9idXR0b25Hcm91cC9idXR0b25Hcm91cC5jb21wb25lbnQnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQmFzZUZpbHRlcmluZ0NvbXBvbmVudCB9IGZyb20gJy4vYmFzZS1maWx0ZXJpbmcuY29tcG9uZW50JztcblxuLyoqXG4gKiBBIGNvbXBvbmVudCB1c2VkIGZvciBwcmVzZW50aW5nIEV4Y2VsIHN0eWxlIGNvbHVtbiBzb3J0aW5nIFVJLlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2lneC1leGNlbC1zdHlsZS1zb3J0aW5nJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZXhjZWwtc3R5bGUtc29ydGluZy5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgSWd4RXhjZWxTdHlsZVNvcnRpbmdDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIC8qKlxuICAgICAqIEBoaWRkZW4gQGludGVybmFsXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pZ3gtZXhjZWwtZmlsdGVyX19zb3J0JylcbiAgICBwdWJsaWMgZGVmYXVsdENsYXNzID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW4gQGludGVybmFsXG4gICAgICovXG4gICAgQFZpZXdDaGlsZCgnc29ydEJ1dHRvbkdyb3VwJywgeyByZWFkOiBJZ3hCdXR0b25Hcm91cENvbXBvbmVudCB9KVxuICAgIHB1YmxpYyBzb3J0QnV0dG9uR3JvdXA6IElneEJ1dHRvbkdyb3VwQ29tcG9uZW50O1xuXG4gICAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgZXNmOiBCYXNlRmlsdGVyaW5nQ29tcG9uZW50LCBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICAgICAgdGhpcy5lc2Yuc29ydGluZ0NoYW5nZWQucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVNlbGVjdGVkQnV0dG9ucyh0aGlzLmVzZi5jb2x1bW4uZmllbGQpO1xuICAgICAgICB9KTtcbiAgICAgfVxuXG4gICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlbiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgb25Tb3J0QnV0dG9uQ2xpY2tlZChzb3J0RGlyZWN0aW9uKSB7XG4gICAgICAgIGlmICh0aGlzLnNvcnRCdXR0b25Hcm91cC5zZWxlY3RlZEluZGV4ZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5lc2YuZ3JpZC5pc0NvbHVtbkdyb3VwZWQodGhpcy5lc2YuY29sdW1uLmZpZWxkKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuc29ydEJ1dHRvbkdyb3VwLnNlbGVjdEJ1dHRvbihzb3J0RGlyZWN0aW9uIC0gMSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuZXNmLmdyaWQuY2xlYXJTb3J0KHRoaXMuZXNmLmNvbHVtbi5maWVsZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmVzZi5ncmlkLnNvcnQoeyBmaWVsZE5hbWU6IHRoaXMuZXNmLmNvbHVtbi5maWVsZCwgZGlyOiBzb3J0RGlyZWN0aW9uLCBpZ25vcmVDYXNlOiB0cnVlIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVTZWxlY3RlZEJ1dHRvbnMoZmllbGROYW1lOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3Qgc29ydEluZGV4ID0gdGhpcy5lc2YuZ3JpZC5zb3J0aW5nRXhwcmVzc2lvbnMuZmluZEluZGV4KHMgPT4gcy5maWVsZE5hbWUgPT09IGZpZWxkTmFtZSk7XG5cbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB0aGlzLnNvcnRCdXR0b25Hcm91cC5idXR0b25zLmZvckVhY2goKGIsIGkpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc29ydEJ1dHRvbkdyb3VwLmRlc2VsZWN0QnV0dG9uKGkpO1xuICAgICAgICB9KTtcblxuICAgICAgICBpZiAoc29ydEluZGV4ICE9PSAtMSApIHtcbiAgICAgICAgICAgIGNvbnN0IHNvcnREaXJlY3Rpb24gPSB0aGlzLmVzZi5ncmlkLnNvcnRpbmdFeHByZXNzaW9uc1tzb3J0SW5kZXhdLmRpcjtcbiAgICAgICAgICAgIHRoaXMuc29ydEJ1dHRvbkdyb3VwLnNlbGVjdEJ1dHRvbihzb3J0RGlyZWN0aW9uIC0gMSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiZXNmLmNvbHVtblwiPlxuPGhlYWRlcj5cbiAgICB7eyBlc2YuZ3JpZC5yZXNvdXJjZVN0cmluZ3MuaWd4X2dyaWRfZXhjZWxfZmlsdGVyX3NvcnRpbmdfaGVhZGVyIH19XG48L2hlYWRlcj5cbjxpZ3gtYnV0dG9uZ3JvdXAgI3NvcnRCdXR0b25Hcm91cD5cbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBpZ3hCdXR0b25cbiAgICAgICAgW2Rpc3BsYXlEZW5zaXR5XT1cImVzZi5kaXNwbGF5RGVuc2l0eVwiXG4gICAgICAgIFthdHRyLmRhdGEtdG9nZ2xhYmxlXT1cInRydWVcIlxuICAgICAgICAoY2xpY2spPVwib25Tb3J0QnV0dG9uQ2xpY2tlZCgxKVwiXG4gICAgICAgID5cbiAgICAgICAgPGlneC1pY29uPmFycm93X3Vwd2FyZHM8L2lneC1pY29uPlxuICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgIHt7IGVzZi5ncmlkLmRpc3BsYXlEZW5zaXR5PT09J2NvbXBhY3QnP1xuICAgICAgICAgICAgZXNmLmdyaWQucmVzb3VyY2VTdHJpbmdzLmlneF9ncmlkX2V4Y2VsX2ZpbHRlcl9zb3J0aW5nX2FzY19zaG9ydDpcbiAgICAgICAgICAgIGVzZi5ncmlkLnJlc291cmNlU3RyaW5ncy5pZ3hfZ3JpZF9leGNlbF9maWx0ZXJfc29ydGluZ19hc2MgIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cblxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGlneEJ1dHRvblxuICAgICAgICBbZGlzcGxheURlbnNpdHldPVwiZXNmLmRpc3BsYXlEZW5zaXR5XCJcbiAgICAgICAgW2F0dHIuZGF0YS10b2dnbGFibGVdPVwidHJ1ZVwiXG4gICAgICAgIChjbGljayk9XCJvblNvcnRCdXR0b25DbGlja2VkKDIpXCJcbiAgICAgICAgPlxuICAgICAgICA8aWd4LWljb24+YXJyb3dfZG93bndhcmRzPC9pZ3gtaWNvbj5cbiAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICB7eyBlc2YuZ3JpZC5kaXNwbGF5RGVuc2l0eT09PSdjb21wYWN0Jz9cbiAgICAgICAgICAgIGVzZi5ncmlkLnJlc291cmNlU3RyaW5ncy5pZ3hfZ3JpZF9leGNlbF9maWx0ZXJfc29ydGluZ19kZXNjX3Nob3J0OlxuICAgICAgICAgICAgZXNmLmdyaWQucmVzb3VyY2VTdHJpbmdzLmlneF9ncmlkX2V4Y2VsX2ZpbHRlcl9zb3J0aW5nX2Rlc2NcbiAgICAgICAgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuPC9pZ3gtYnV0dG9uZ3JvdXA+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==