@ecodev/natural 47.3.2 → 48.0.0
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.
- package/esm2020/lib/classes/abstract-editable-list.mjs +2 -2
- package/esm2020/lib/classes/abstract-list.mjs +1 -1
- package/esm2020/lib/modules/alert/alert.module.mjs +4 -4
- package/esm2020/lib/modules/alert/alert.service.mjs +5 -5
- package/esm2020/lib/modules/alert/confirm.component.mjs +6 -6
- package/esm2020/lib/modules/columns-picker/columns-picker.component.mjs +9 -8
- package/esm2020/lib/modules/columns-picker/columns-picker.module.mjs +11 -7
- package/esm2020/lib/modules/common/common-module.mjs +4 -4
- package/esm2020/lib/modules/common/directives/linkable-tab.directive.mjs +5 -5
- package/esm2020/lib/modules/detail-header/detail-header.component.mjs +6 -5
- package/esm2020/lib/modules/detail-header/detail-header.module.mjs +6 -5
- package/esm2020/lib/modules/dialog-trigger/dialog-trigger.component.mjs +4 -4
- package/esm2020/lib/modules/dialog-trigger/dialog-trigger.module.mjs +2 -2
- package/esm2020/lib/modules/dropdown-components/natural-dropdown-components.module.mjs +7 -7
- package/esm2020/lib/modules/dropdown-components/type-date/type-date.component.mjs +7 -8
- package/esm2020/lib/modules/dropdown-components/type-date-range/type-date-range.component.mjs +5 -5
- package/esm2020/lib/modules/dropdown-components/type-hierarchic-selector/type-hierarchic-selector.component.mjs +4 -4
- package/esm2020/lib/modules/dropdown-components/type-natural-select/type-natural-select.component.mjs +4 -4
- package/esm2020/lib/modules/dropdown-components/type-number/type-number.component.mjs +5 -5
- package/esm2020/lib/modules/dropdown-components/type-select/type-select.component.mjs +7 -7
- package/esm2020/lib/modules/dropdown-components/type-text/type-text.component.mjs +3 -3
- package/esm2020/lib/modules/file/component/file.component.mjs +7 -6
- package/esm2020/lib/modules/file/file.module.mjs +5 -4
- package/esm2020/lib/modules/fixed-button/fixed-button.component.mjs +6 -5
- package/esm2020/lib/modules/fixed-button/fixed-button.module.mjs +6 -5
- package/esm2020/lib/modules/fixed-button-detail/fixed-button-detail.component.mjs +2 -2
- package/esm2020/lib/modules/fixed-button-detail/fixed-button-detail.module.mjs +2 -2
- package/esm2020/lib/modules/hierarchic-selector/hierarchic-selector/hierarchic-selector.component.mjs +10 -9
- package/esm2020/lib/modules/hierarchic-selector/hierarchic-selector-dialog/hierarchic-selector-dialog.component.mjs +8 -8
- package/esm2020/lib/modules/hierarchic-selector/hierarchic-selector-dialog/hierarchic-selector-dialog.service.mjs +4 -4
- package/esm2020/lib/modules/hierarchic-selector/hierarchic-selector.module.mjs +8 -8
- package/esm2020/lib/modules/icon/icon.directive.mjs +100 -0
- package/esm2020/lib/modules/icon/icon.module.mjs +6 -6
- package/esm2020/lib/modules/icon/public-api.mjs +2 -2
- package/esm2020/lib/modules/panels/panels.module.mjs +2 -2
- package/esm2020/lib/modules/panels/panels.service.mjs +4 -4
- package/esm2020/lib/modules/relations/relations.component.mjs +10 -9
- package/esm2020/lib/modules/relations/relations.module.mjs +13 -9
- package/esm2020/lib/modules/search/classes/graphql-doctrine.mjs +1 -1
- package/esm2020/lib/modules/search/classes/graphql-doctrine.types.mjs +1 -1
- package/esm2020/lib/modules/search/dropdown-container/dropdown-container.component.mjs +3 -3
- package/esm2020/lib/modules/search/facet-selector/facet-selector.component.mjs +4 -5
- package/esm2020/lib/modules/search/input/input.component.mjs +8 -7
- package/esm2020/lib/modules/search/search/search.component.mjs +7 -6
- package/esm2020/lib/modules/search/search.module.mjs +12 -8
- package/esm2020/lib/modules/search/types/facet.mjs +1 -1
- package/esm2020/lib/modules/select/abstract-select.component.mjs +2 -5
- package/esm2020/lib/modules/select/select/select.component.mjs +13 -17
- package/esm2020/lib/modules/select/select-enum/select-enum.component.mjs +4 -4
- package/esm2020/lib/modules/select/select-hierarchic/select-hierarchic.component.mjs +9 -11
- package/esm2020/lib/modules/select/select.module.mjs +14 -10
- package/esm2020/lib/modules/sidenav/sidenav.module.mjs +2 -2
- package/esm2020/lib/modules/stamp/stamp.component.mjs +3 -3
- package/esm2020/lib/modules/table-button/table-button.component.mjs +6 -5
- package/esm2020/lib/modules/table-button/table-button.module.mjs +6 -5
- package/fesm2015/ecodev-natural.mjs +305 -301
- package/fesm2015/ecodev-natural.mjs.map +1 -1
- package/fesm2020/ecodev-natural.mjs +307 -301
- package/fesm2020/ecodev-natural.mjs.map +1 -1
- package/lib/classes/abstract-editable-list.d.ts +2 -2
- package/lib/classes/abstract-list.d.ts +1 -1
- package/lib/modules/alert/alert.module.d.ts +4 -4
- package/lib/modules/alert/alert.service.d.ts +2 -2
- package/lib/modules/columns-picker/columns-picker.module.d.ts +6 -5
- package/lib/modules/common/common-module.d.ts +4 -4
- package/lib/modules/common/directives/linkable-tab.directive.d.ts +2 -2
- package/lib/modules/detail-header/detail-header.module.d.ts +3 -2
- package/lib/modules/dialog-trigger/dialog-trigger.component.d.ts +1 -1
- package/lib/modules/dialog-trigger/dialog-trigger.module.d.ts +2 -2
- package/lib/modules/dropdown-components/natural-dropdown-components.module.d.ts +7 -7
- package/lib/modules/dropdown-components/type-select/type-select.component.d.ts +1 -1
- package/lib/modules/file/file.module.d.ts +2 -1
- package/lib/modules/fixed-button/fixed-button.module.d.ts +4 -3
- package/lib/modules/fixed-button-detail/fixed-button-detail.module.d.ts +2 -2
- package/lib/modules/hierarchic-selector/hierarchic-selector-dialog/hierarchic-selector-dialog.component.d.ts +1 -1
- package/lib/modules/hierarchic-selector/hierarchic-selector-dialog/hierarchic-selector-dialog.service.d.ts +1 -1
- package/lib/modules/hierarchic-selector/hierarchic-selector.module.d.ts +8 -8
- package/lib/modules/icon/icon.directive.d.ts +43 -0
- package/lib/modules/icon/icon.module.d.ts +3 -3
- package/lib/modules/icon/public-api.d.ts +1 -1
- package/lib/modules/panels/panels.module.d.ts +2 -2
- package/lib/modules/panels/panels.service.d.ts +1 -1
- package/lib/modules/relations/relations.component.d.ts +1 -1
- package/lib/modules/relations/relations.module.d.ts +8 -7
- package/lib/modules/search/classes/graphql-doctrine.types.d.ts +23 -23
- package/lib/modules/search/search.module.d.ts +6 -5
- package/lib/modules/search/types/facet.d.ts +3 -3
- package/lib/modules/select/abstract-select.component.d.ts +1 -3
- package/lib/modules/select/select/select.component.d.ts +1 -6
- package/lib/modules/select/select-hierarchic/select-hierarchic.component.d.ts +0 -3
- package/lib/modules/select/select.module.d.ts +9 -8
- package/lib/modules/sidenav/sidenav.module.d.ts +2 -2
- package/lib/modules/table-button/table-button.module.d.ts +3 -2
- package/package.json +1 -1
- package/src/lib/_natural.theme.scss +34 -2
- package/src/lib/modules/alert/_alert.theme.scss +1 -1
- package/src/lib/modules/panels/_panels.external.scss +2 -3
- package/src/lib/modules/search/input/_input.theme.scss +2 -2
- package/src/lib/styles/_table.scss +4 -4
- package/theming/_natural.theme.scss +1 -1
- package/esm2020/lib/modules/icon/icon.component.mjs +0 -95
- package/lib/modules/icon/icon.component.d.ts +0 -41
- package/src/lib/modules/icon/_icon.theme.scss +0 -34
- package/src/lib/modules/table-button/_table-button.theme.scss +0 -22
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { UntypedFormArray, UntypedFormGroup } from '@angular/forms';
|
|
2
|
-
import {
|
|
2
|
+
import { MatTableDataSource } from '@angular/material/table';
|
|
3
3
|
import { merge } from 'lodash-es';
|
|
4
4
|
import { NaturalAbstractController } from './abstract-controller';
|
|
5
5
|
import { NaturalQueryVariablesManager } from './query-variable-manager';
|
|
@@ -95,4 +95,4 @@ NaturalAbstractEditableList.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.
|
|
|
95
95
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NaturalAbstractEditableList, decorators: [{
|
|
96
96
|
type: Directive
|
|
97
97
|
}], ctorParameters: function () { return [{ type: undefined }]; } });
|
|
98
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtZWRpdGFibGUtbGlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9jbGFzc2VzL2Fic3RyYWN0LWVkaXRhYmxlLWxpc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFrQixnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ25GLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQzNELE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSxXQUFXLENBQUM7QUFFaEMsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDaEUsT0FBTyxFQUFDLDRCQUE0QixFQUFpQixNQUFNLDBCQUEwQixDQUFDO0FBRXRGLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUNyRCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDOztBQUd4Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1CRztBQUVILE1BQU0sT0FBTywyQkFnQlgsU0FBUSx5QkFBeUI7SUFNL0IsWUFBc0MsT0FBaUI7UUFDbkQsS0FBSyxFQUFFLENBQUM7UUFEMEIsWUFBTyxHQUFQLE9BQU8sQ0FBVTtRQUp2QyxjQUFTLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNyQyxxQkFBZ0IsR0FBRyxJQUFJLDRCQUE0QixFQUF5QixDQUFDO1FBQzdFLGVBQVUsR0FBRyxJQUFJLGtCQUFrQixFQUFtQixDQUFDO1FBS25FLDhHQUE4RztRQUM5RyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksZ0JBQWdCLENBQUMsRUFBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBQyxDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUM7UUFDL0MsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsRUFBQyxVQUFVLEVBQUUsRUFBQyxRQUFRLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxDQUFDLEVBQUMsRUFBMEIsQ0FBQyxDQUFDO0lBQ2xILENBQUM7SUFFRDs7T0FFRztJQUNJLFFBQVEsQ0FBQyxLQUFtQjtRQUMvQixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsYUFBYTtRQUNyQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFRDs7O09BR0c7SUFDSSxRQUFRLENBQUMsS0FBbUI7UUFDL0IsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNqQixNQUFNLGFBQWEsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyx3QkFBd0IsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQzNFLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQy9ELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3ZDLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUM7SUFDbkQsQ0FBQztJQUVNLFFBQVEsQ0FBQyxLQUFhO1FBQ3pCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDO0lBQ25ELENBQUM7SUFFRDs7T0FFRztJQUNJLFFBQVE7UUFDWCxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBTyxDQUFDLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7T0FVRztJQUNJLFFBQVE7UUFDWCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxZQUFZO1FBQ2YsdUJBQXVCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7O3dIQXZGUSwyQkFBMkI7NEdBQTNCLDJCQUEyQjsyRkFBM0IsMkJBQTJCO2tCQUR2QyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBYnN0cmFjdENvbnRyb2wsIFVudHlwZWRGb3JtQXJyYXksIFVudHlwZWRGb3JtR3JvdXB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7TWF0VGFibGVEYXRhU291cmNlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XG5pbXBvcnQge21lcmdlfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHtOYXR1cmFsQWJzdHJhY3RNb2RlbFNlcnZpY2V9IGZyb20gJy4uL3NlcnZpY2VzL2Fic3RyYWN0LW1vZGVsLnNlcnZpY2UnO1xuaW1wb3J0IHtOYXR1cmFsQWJzdHJhY3RDb250cm9sbGVyfSBmcm9tICcuL2Fic3RyYWN0LWNvbnRyb2xsZXInO1xuaW1wb3J0IHtOYXR1cmFsUXVlcnlWYXJpYWJsZXNNYW5hZ2VyLCBRdWVyeVZhcmlhYmxlc30gZnJvbSAnLi9xdWVyeS12YXJpYWJsZS1tYW5hZ2VyJztcbmltcG9ydCB7RXh0cmFjdFRhbGxPbmUsIEV4dHJhY3RWYWxsLCBMaXRlcmFsfSBmcm9tICcuLi90eXBlcy90eXBlcyc7XG5pbXBvcnQge3ZhbGlkYXRlQWxsRm9ybUNvbnRyb2xzfSBmcm9tICcuL3ZhbGlkYXRvcnMnO1xuaW1wb3J0IHtEaXJlY3RpdmV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtQYWdpbmF0ZWREYXRhfSBmcm9tICcuL2RhdGEtc291cmNlJztcblxuLyoqXG4gKiBUaGlzIGNsYXNzIGhlbHBzIG1hbmFnaW5nIG5vbi1wYWdpbmF0ZWQgcm93cyBvZiBpdGVtcyB0aGF0IGNhbiBiZSBlZGl0ZWQgaW4tcGxhY2UsIHR5cGljYWxseSBpbiBhIDxtYXQtdGFibGU+LlxuICogQnV0IGl0IGRvZXMgKipub3QqKiBtdXRhdGUgYW55dGhpbmcgdG8gcGVyc2lzdCB0aGUgZWRpdHMgb24gdGhlIHNlcnZlci4gSXQgaXMgdXAgdG8gdGhlIGNvbnN1bWluZyBjb21wb25lbnQgdG8gaW1wbGVtZW50XG4gKiBjdXN0b20gbXV0YXRpb24gbWVjaGFuaXNtLlxuICpcbiAqIFRvIGFjY2VzcyBkYXRhIG9mIHRoaXMgY29tcG9uZW50IGZyb20gYSBwYXJlbnQgY29tcG9uZW50LCB1c2U6XG4gKlxuICogYGBgXG4gKiBAVmlld0NoaWxkcmVuKENvbXBvbmVudFR5cGUpIGNtcDogQ29tcG9uZW50VHlwZTtcbiAqIHRoaXMuY21wLmdldEl0ZW1zKCk7XG4gKiBgYGBcbiAqXG4gKiBUbyBhZGQgZW1wdHkgbGluZSwgY2FsbDpcbiAqXG4gKiBgYGBcbiAqIHRoaXMuY21wLmFkZEVtcHR5KCk7XG4gKiBgYGBcbiAqXG4gKiBAZHluYW1pY1xuICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBjbGFzcyBOYXR1cmFsQWJzdHJhY3RFZGl0YWJsZUxpc3Q8XG4gICAgVFNlcnZpY2UgZXh0ZW5kcyBOYXR1cmFsQWJzdHJhY3RNb2RlbFNlcnZpY2U8XG4gICAgICAgIGFueSxcbiAgICAgICAgYW55LFxuICAgICAgICBQYWdpbmF0ZWREYXRhPExpdGVyYWw+LFxuICAgICAgICBRdWVyeVZhcmlhYmxlcyxcbiAgICAgICAgYW55LFxuICAgICAgICBhbnksXG4gICAgICAgIGFueSxcbiAgICAgICAgYW55LFxuICAgICAgICBhbnksXG4gICAgICAgIGFueVxuICAgID4sXG4gICAgLy8gVGhlIExpdGVyYWwgaGVyZSBpcyBhIGJpdCB0b28gbG9vc2UuIElkZWFsbHkgd2Ugd291bGQgbGlrZSB0byBleHByZXNzXG4gICAgLy8gXCJpdCBtdXN0IGJlIGEgdW5pb24gYW5kIG9uZSBvZiB0aGUgdHlwZSBpbiB0aGUgdW5pb24gbXVzdCBiZSBFeHRyYWN0VGFsbE9uZTxUU2VydmljZT5cIlxuICAgIFQgZXh0ZW5kcyBMaXRlcmFsID0gRXh0cmFjdFRhbGxPbmU8VFNlcnZpY2U+LFxuPiBleHRlbmRzIE5hdHVyYWxBYnN0cmFjdENvbnRyb2xsZXIge1xuICAgIHB1YmxpYyByZWFkb25seSBmb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xuICAgIHB1YmxpYyByZWFkb25seSBmb3JtQXJyYXkgPSBuZXcgVW50eXBlZEZvcm1BcnJheShbXSk7XG4gICAgcHVibGljIHJlYWRvbmx5IHZhcmlhYmxlc01hbmFnZXIgPSBuZXcgTmF0dXJhbFF1ZXJ5VmFyaWFibGVzTWFuYWdlcjxFeHRyYWN0VmFsbDxUU2VydmljZT4+KCk7XG4gICAgcHVibGljIHJlYWRvbmx5IGRhdGFTb3VyY2UgPSBuZXcgTWF0VGFibGVEYXRhU291cmNlPEFic3RyYWN0Q29udHJvbD4oKTtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgcmVhZG9ubHkgc2VydmljZTogVFNlcnZpY2UpIHtcbiAgICAgICAgc3VwZXIoKTtcblxuICAgICAgICAvLyBDcmVhdGUgYSBmb3JtIGdyb3VwIHdpdGggYSBsaW5lIGF0dHJpYnV0ZXMgdGhhdCBjb250YWluIGFuIGFycmF5IG9mIGZvcm1Hcm91cHMgKG9uZSBieSBsaW5lID0gb25lIGJ5IG1vZGVsKVxuICAgICAgICB0aGlzLmZvcm0gPSBuZXcgVW50eXBlZEZvcm1Hcm91cCh7cm93czogdGhpcy5mb3JtQXJyYXl9KTtcbiAgICAgICAgdGhpcy5kYXRhU291cmNlLmRhdGEgPSB0aGlzLmZvcm1BcnJheS5jb250cm9scztcbiAgICAgICAgdGhpcy52YXJpYWJsZXNNYW5hZ2VyLnNldCgncGFnaW5hdGlvbicsIHtwYWdpbmF0aW9uOiB7cGFnZVNpemU6IDk5OSwgcGFnZUluZGV4OiAwfX0gYXMgRXh0cmFjdFZhbGw8VFNlcnZpY2U+KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXQgdGhlIGxpc3Qgb2YgaXRlbXMgKG92ZXJ3cml0aW5nIHdoYXQgbWF5IGhhdmUgZXhpc3RlZClcbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0SXRlbXMoaXRlbXM6IHJlYWRvbmx5IFRbXSk6IHZvaWQge1xuICAgICAgICB0aGlzLmZvcm1BcnJheS5jbGVhcigpOyAvLyByZXNldCBsaXN0XG4gICAgICAgIHRoaXMuYWRkSXRlbXMoaXRlbXMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCBnaXZlbiBpdGVtcyB0byB0aGUgbGlzdFxuICAgICAqIFJlcHJvZHVjZXMgdGhlIG1vZGVsIGRhdGEgbG9hZGluZyB0aGUgc2FtZSB3YXkgYXMgaXQgd291bGQgYmUgb24gYSBkZXRhaWwgcGFnZSAodmlhIEFic3RyYWN0RGV0YWlsIGNvbnRyb2xsZXIpIGJ1dCB3aXRob3V0IHJlc29sdmluZ1xuICAgICAqL1xuICAgIHB1YmxpYyBhZGRJdGVtcyhpdGVtczogcmVhZG9ubHkgVFtdKTogdm9pZCB7XG4gICAgICAgIGl0ZW1zLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb21wbGV0ZWRJdGVtID0gbWVyZ2UodGhpcy5zZXJ2aWNlLmdldENvbnNvbGlkYXRlZEZvckNsaWVudCgpLCBpdGVtKTtcbiAgICAgICAgICAgIGNvbnN0IGxpbmVGb3JtR3JvdXAgPSB0aGlzLnNlcnZpY2UuZ2V0Rm9ybUdyb3VwKGNvbXBsZXRlZEl0ZW0pO1xuICAgICAgICAgICAgdGhpcy5mb3JtQXJyYXkucHVzaChsaW5lRm9ybUdyb3VwKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5kYXRhU291cmNlLmRhdGEgPSB0aGlzLmZvcm1BcnJheS5jb250cm9scztcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVtb3ZlQXQoaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLmZvcm1BcnJheS5yZW1vdmVBdChpbmRleCk7XG4gICAgICAgIHRoaXMuZGF0YVNvdXJjZS5kYXRhID0gdGhpcy5mb3JtQXJyYXkuY29udHJvbHM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIGVtcHR5IGl0ZW0gYXQgdGhlIGVuZCBvZiB0aGUgbGlzdFxuICAgICAqL1xuICAgIHB1YmxpYyBhZGRFbXB0eSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hZGRJdGVtcyhbe30gYXMgVF0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybiBhIGxpc3Qgb2YgbW9kZWxzIHdpdGhvdXQgYW55IHRyZWF0bWVudC5cbiAgICAgKlxuICAgICAqIFRvIG11dGF0ZSBtb2RlbHMsIGl0IHdvdWxkIGJlIHJlcXVpcmVkIHRvIG1hcCB0aGVtIHVzaW5nIDpcbiAgICAgKiAgLSBBYnN0cmFjdE1vZGVsU2VydmljZS5nZXRJbnB1dCgpXG4gICAgICogIC0gQWJzdHJhY3RNb2RlbFNlcnZpY2UuZ2V0UGFydGlhbFZhcmlhYmxlc0ZvckNyZWF0aW9uKClcbiAgICAgKiAgLSBBYnN0cmFjdE1vZGVsU2VydmljZS5nZXRQYXJ0aWFsVmFyaWFibGVzRm9yVXBkYXRlKClcbiAgICAgKiAgLSBzb21lIG90aGVyIHJlcXVpcmVkIHRyZWF0bWVudC5cbiAgICAgKlxuICAgICAqIFRPRE8gcmV0dXJuIHR5cGUgaXMgaW5jb3JyZWN0IGFuZCBzaG91bGQgYmUgY2xvc2VyIHRvIGBQYXJ0aWFsPFQ+W11gIG9yIGFuIGV2ZW4gbG9vc2VyIHR5cGUsIGJlY2F1c2Ugd2UgZG9uJ3QgcmVhbGx5IGtub3cgd2hhdCBmaWVsZHMgZXhpc3RzIGluIHRoZSBmb3JtLiBXaGVuIHdlIGZpeCB0aGlzLCB3ZSBzaG91bGQgYWxzbyByZW1vdmUgdHlwZSBjb2VyY2luZyBpbiB1bml0IHRlc3RzLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRJdGVtcygpOiBUW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5mb3JtQXJyYXkuZ2V0UmF3VmFsdWUoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBGb3JjZSB0aGUgZm9ybSB2YWxpZGF0aW9uLlxuICAgICAqXG4gICAgICogVGhlIHZhbGlkIHN0YXRlIGNhbiB0aGVuIGJlIHJlYWQgdmlhIGB0aGlzLmZvcm0udmFsaWRgXG4gICAgICovXG4gICAgcHVibGljIHZhbGlkYXRlRm9ybSgpOiB2b2lkIHtcbiAgICAgICAgdmFsaWRhdGVBbGxGb3JtQ29udHJvbHModGhpcy5mb3JtKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -418,4 +418,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImpor
|
|
|
418
418
|
}], forcedVariables: [{
|
|
419
419
|
type: Input
|
|
420
420
|
}] } });
|
|
421
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtbGlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9jbGFzc2VzL2Fic3RyYWN0LWxpc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3hELE9BQU8sRUFBQyxTQUFTLEVBQVksS0FBSyxFQUFvQixNQUFNLGVBQWUsQ0FBQztBQUc1RSxPQUFPLEVBQUMsY0FBYyxFQUFRLGFBQWEsRUFBb0IsZUFBZSxFQUFFLE1BQU0sRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQy9HLE9BQU8sRUFBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUMsTUFBTSxXQUFXLENBQUM7QUFDM0QsT0FBTyxFQUFhLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUN6QyxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNuRSxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUN0RSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNuRixPQUFPLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBSTdELE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQzFFLE9BQU8sRUFBQyxpQkFBaUIsRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDL0QsT0FBTyxFQUNILDRCQUE0QixFQUk1QixZQUFZLEdBQ2YsTUFBTSwwQkFBMEIsQ0FBQztBQUdsQyxPQUFPLEVBQUMsTUFBTSxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDOztBQUlqRCxTQUFTLGVBQWUsQ0FBQyxJQUFvQjtJQUN6QyxJQUFJLE1BQU0sSUFBSSxJQUFJLElBQUksZUFBZSxJQUFJLElBQUksRUFB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bUJBQW1CO2tCQUQvQixTQUFTO29IQXlCVSxhQUFhO3NCQUE1QixLQUFLO2dCQWVVLGVBQWU7c0JBQTlCLEtBQUs7Z0JBNEVLLGVBQWU7c0JBRHpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1NlbGVjdGlvbk1vZGVsfSBmcm9tICdAYW5ndWxhci9jZGsvY29sbGVjdGlvbnMnO1xuaW1wb3J0IHtEaXJlY3RpdmUsIEluamVjdG9yLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtMZWdhY3lQYWdlRXZlbnQgYXMgUGFnZUV2ZW50fSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9sZWdhY3ktcGFnaW5hdG9yJztcbmltcG9ydCB7U29ydH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydCc7XG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlLCBEYXRhLCBOYXZpZ2F0aW9uRW5kLCBOYXZpZ2F0aW9uRXh0cmFzLCBOYXZpZ2F0aW9uU3RhcnQsIFJvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7ZGVmYXVsdHMsIGlzRW1wdHksIGlzRXF1YWwsIHBpY2t9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQge09ic2VydmFibGUsIFN1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtOYXR1cmFsQWxlcnRTZXJ2aWNlfSBmcm9tICcuLi9tb2R1bGVzL2FsZXJ0L2FsZXJ0LnNlcnZpY2UnO1xuaW1wb3J0IHtOYXR1cmFsQWJzdHJhY3RQYW5lbH0gZnJvbSAnLi4vbW9kdWxlcy9wYW5lbHMvYWJzdHJhY3QtcGFuZWwnO1xuaW1wb3J0IHt0b0dyYXBoUUxEb2N0cmluZUZpbHRlcn0gZnJvbSAnLi4vbW9kdWxlcy9zZWFyY2gvY2xhc3Nlcy9ncmFwaHFsLWRvY3RyaW5lJztcbmltcG9ydCB7ZnJvbVVybCwgdG9Vcmx9IGZyb20gJy4uL21vZHVsZXMvc2VhcmNoL2NsYXNzZXMvdXJsJztcbmltcG9ydCB7TmF0dXJhbFNlYXJjaEZhY2V0c30gZnJvbSAnLi4vbW9kdWxlcy9zZWFyY2gvdHlwZXMvZmFjZXQnO1xuaW1wb3J0IHtOYXR1cmFsU2VhcmNoU2VsZWN0aW9uc30gZnJvbSAnLi4vbW9kdWxlcy9zZWFyY2gvdHlwZXMvdmFsdWVzJztcbmltcG9ydCB7TmF0dXJhbEFic3RyYWN0TW9kZWxTZXJ2aWNlfSBmcm9tICcuLi9zZXJ2aWNlcy9hYnN0cmFjdC1tb2RlbC5zZXJ2aWNlJztcbmltcG9ydCB7TmF0dXJhbFBlcnNpc3RlbmNlU2VydmljZX0gZnJvbSAnLi4vc2VydmljZXMvcGVyc2lzdGVuY2Uuc2VydmljZSc7XG5pbXBvcnQge05hdHVyYWxEYXRhU291cmNlLCBQYWdpbmF0ZWREYXRhfSBmcm9tICcuL2RhdGEtc291cmNlJztcbmltcG9ydCB7XG4gICAgTmF0dXJhbFF1ZXJ5VmFyaWFibGVzTWFuYWdlcixcbiAgICBQYWdpbmF0aW9uSW5wdXQsXG4gICAgUXVlcnlWYXJpYWJsZXMsXG4gICAgU29ydGluZyxcbiAgICBTb3J0aW5nT3JkZXIsXG59IGZyb20gJy4vcXVlcnktdmFyaWFibGUtbWFuYWdlcic7XG5pbXBvcnQge0V4dHJhY3RUYWxsLCBFeHRyYWN0VmFsbCwgTGl0ZXJhbH0gZnJvbSAnLi4vdHlwZXMvdHlwZXMnO1xuaW1wb3J0IHtOYXZpZ2FibGVJdGVtfSBmcm9tICcuL2Fic3RyYWN0LW5hdmlnYWJsZS1saXN0JztcbmltcG9ydCB7ZmlsdGVyLCB0YWtlVW50aWx9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxudHlwZSBNYXliZU5hdmlnYWJsZSA9IExpdGVyYWwgfCBOYXZpZ2FibGVJdGVtPExpdGVyYWw+O1xuXG5mdW5jdGlvbiB1bndyYXBOYXZpZ2FibGUoaXRlbTogTWF5YmVOYXZpZ2FibGUpOiBMaXRlcmFsIHtcbiAgICBpZiAoJ2l0ZW0nIGluIGl0ZW0gJiYgJ2hhc05hdmlnYXRpb24nIGluIGl0ZW0pIHtcbiAgICAgICAgcmV0dXJuIGl0ZW0uaXRlbTtcbiAgICB9XG5cbiAgICByZXR1cm4gaXRlbTtcbn1cblxuLyoqXG4gKiBUaGlzIGNsYXNzIGhlbHBzIG1hbmFnaW5nIGEgbGlzdCBvZiBwYWdpbmF0ZWQgaXRlbXMgdGhhdCBjYW4gYmUgZmlsdGVyZWQsXG4gKiBzZWxlY3RlZCwgYW5kIHRoZW4gYnVsayBhY3Rpb25zIGNhbiBiZSBwZXJmb3JtZWQgb24gc2VsZWN0aW9uLlxuICpcbiAqIENvbXBvbmVudHMgaW5oZXJpdGluZyBmcm9tIHRoaXMgY2xhc3MgY2FuIGJlIHVzZWQgYXMgc3RhbmRhbG9uZSB3aXRoIGlucHV0IGF0dHJpYnV0ZXMuXG4gKlxuICogVXNhZ2UgOlxuICogPG5hdHVyYWwtbXktbGlzdGluZyBbZm9yY2VkVmFyaWFibGVzXT1cIntmaWx0ZXI6Li4ufVwiIFtzZWxlY3RlZENvbHVtbnNdPVwiWydjb2wxJ11cIiBbcGVyc2lzdFNlYXJjaF09XCJmYWxzZVwiPlxuICovXG5cbi8vIEBkeW5hbWljXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBjbGFzcyBOYXR1cmFsQWJzdHJhY3RMaXN0PFxuICAgICAgICBUU2VydmljZSBleHRlbmRzIE5hdHVyYWxBYnN0cmFjdE1vZGVsU2VydmljZTxcbiAgICAgICAgICAgIGFueSxcbiAgICAgICAgICAgIGFueSxcbiAgICAgICAgICAgIFBhZ2luYXRlZERhdGE8TGl0ZXJhbD4sXG4gICAgICAgICAgICBRdWVyeVZhcmlhYmxlcyxcbiAgICAgICAgICAgIGFueSxcbiAgICAgICAgICAgIGFueSxcbiAgICAgICAgICAgIGFueSxcbiAgICAgICAgICAgIGFueSxcbiAgICAgICAgICAgIGFueSxcbiAgICAgICAgICAgIGFueVxuICAgICAgICA+LFxuICAgICAgICAvLyBJbiBtb3N0IGNhc2UgdGhpcyBzaG91bGQgbm90IGJlIHNwZWNpZmllZCBieSBpbmhlcml0aW5nIGNsYXNzZXMuXG4gICAgICAgIC8vIEl0IHNob3VsZCBvbmx5IGJlIHNwZWNpZmllZCB0byBvdmVycmlkZSBkZWZhdWx0IGlmIHRoZSBzZXJ2aWNlIGl0ZW1zIGFyZVxuICAgICAgICAvLyBtYXBwZWQgdG8gYSBkaWZmZXJlbnQgc3RydWN0dXJlIGxpa2UgaW4gTmF0dXJhbEFic3RyYWN0TmF2aWdhYmxlTGlzdFxuICAgICAgICBUYWxsIGV4dGVuZHMgUGFnaW5hdGVkRGF0YTxNYXliZU5hdmlnYWJsZT4gPSBFeHRyYWN0VGFsbDxUU2VydmljZT4sXG4gICAgPlxuICAgIGV4dGVuZHMgTmF0dXJhbEFic3RyYWN0UGFuZWxcbiAgICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95XG57XG4gICAgLyoqXG4gICAgICogV2hlcmV2ZXIgc2VhcmNoIHNob3VsZCBiZSBsb2FkZWQgZnJvbSB1cmwvc3RvcmFnZSBhbmQgcGVyc2lzdGVkIGluIGl0IHRvby5cbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgcGVyc2lzdFNlYXJjaCA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiBDb2x1bW5zIGxpc3QgYWZ0ZXIgaW50ZXJhY3Rpb24gd2l0aCA8bmF0dXJhbC1jb2x1bW5zLXBpY2tlcj5cbiAgICAgKi9cbiAgICBwdWJsaWMgY29sdW1uc0ZvclRhYmxlOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGRlZmF1bHQgY29sdW1uIHNlbGVjdGlvbiB0aGF0IGF1dG9tYXRpY2FsbHkgaGFwcGVuZWQgYWZ0ZXIgPG5hdHVyYWwtY29sdW1ucy1waWNrZXI+IGluaXRpYWxpemF0aW9uXG4gICAgICovXG4gICAgcHJpdmF0ZSBkZWZhdWx0U2VsZWN0ZWRDb2x1bW5zOiBzdHJpbmdbXSB8IG51bGwgPSBudWxsO1xuXG4gICAgLyoqXG4gICAgICogVmlzaWJsZSAoY2hlY2tlZCkgY29sdW1uc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyBzZWxlY3RlZENvbHVtbnM/OiBzdHJpbmdbXTtcblxuICAgIC8qKlxuICAgICAqIFNvdXJjZSBvZiB0aGUgbGlzdFxuICAgICAqL1xuICAgIHB1YmxpYyBkYXRhU291cmNlPzogTmF0dXJhbERhdGFTb3VyY2U8VGFsbD47XG5cbiAgICAvKipcbiAgICAgKiBTZWxlY3Rpb24gZm9yIGJ1bGsgYWN0aW9uc1xuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBzZWxlY3Rpb24gPSBuZXcgU2VsZWN0aW9uTW9kZWw8RXh0cmFjdFRhbGw8VFNlcnZpY2U+WydpdGVtcyddWzBdPih0cnVlLCBbXSk7XG5cbiAgICAvKipcbiAgICAgKiBOZXh0IGV4ZWN1dGVkIGFjdGlvbiBmcm9tIGJ1bGsgbWVudVxuICAgICAqL1xuICAgIHB1YmxpYyBidWxrQWN0aW9uU2VsZWN0ZWQ6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gICAgLyoqXG4gICAgICogQ2VudHJhbGlzYXRpb24gb2YgcXVlcnkgdmFyaWFibGVzXG4gICAgICovXG4gICAgcHVibGljIHZhcmlhYmxlc01hbmFnZXI6IE5hdHVyYWxRdWVyeVZhcmlhYmxlc01hbmFnZXI8RXh0cmFjdFZhbGw8VFNlcnZpY2U+PiA9IG5ldyBOYXR1cmFsUXVlcnlWYXJpYWJsZXNNYW5hZ2VyPFxuICAgICAgICBFeHRyYWN0VmFsbDxUU2VydmljZT5cbiAgICA+KCk7XG5cbiAgICAvKipcbiAgICAgKiBDb25maWd1cmF0aW9uIGZvciBuYXR1cmFsLXNlYXJjaCBmYWNldHNcbiAgICAgKi9cbiAgICBwdWJsaWMgbmF0dXJhbFNlYXJjaEZhY2V0czogTmF0dXJhbFNlYXJjaEZhY2V0cyA9IFtdO1xuXG4gICAgLyoqXG4gICAgICogUmVzdWx0IG9mIGEgc2VhcmNoIChjYW4gYmUgcHJvdmlkZWQgYXMgaW5wdXQgZm9yIGluaXRpYWxpc2F0aW9uKVxuICAgICAqL1xuICAgIHB1YmxpYyBuYXR1cmFsU2VhcmNoU2VsZWN0aW9uczogTmF0dXJhbFNlYXJjaFNlbGVjdGlvbnMgPSBbW11dO1xuXG4gICAgLyoqXG4gICAgICogRGF0YSBhdHRyaWJ1dGUgcHJvdmlkZWQgYnkgYWN0aXZhdGVkIHJvdXRlIHNuYXBzaG90XG4gICAgICovXG4gICAgcHVibGljIHJvdXRlRGF0YT86IERhdGE7XG5cbiAgICAvKipcbiAgICAgKiBMaXN0IG9mIHBhZ2Ugc2l6ZXNcbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgcGFnZVNpemVPcHRpb25zID0gWzUsIDEwLCAyNSwgNTAsIDEwMCwgMjAwXTtcblxuICAgIC8qKlxuICAgICAqIEluaXRpYWwgcGFnaW5hdGlvbiBzZXR1cFxuICAgICAqL1xuICAgIHByb3RlY3RlZCBkZWZhdWx0UGFnaW5hdGlvbjogUmVxdWlyZWQ8UGFnaW5hdGlvbklucHV0PiA9IHtcbiAgICAgICAgb2Zmc2V0OiBudWxsLFxuICAgICAgICBwYWdlSW5kZXg6IDAsXG4gICAgICAgIHBhZ2VTaXplOiAyNSxcbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICogSW5pdGlhbCBzb3J0aW5nXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGRlZmF1bHRTb3J0aW5nPzogQXJyYXk8U29ydGluZz47XG5cbiAgICBwcm90ZWN0ZWQgcm91dGVyOiBSb3V0ZXI7XG4gICAgcHJvdGVjdGVkIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZTtcbiAgICBwcm90ZWN0ZWQgYWxlcnRTZXJ2aWNlOiBOYXR1cmFsQWxlcnRTZXJ2aWNlO1xuICAgIHByb3RlY3RlZCBwZXJzaXN0ZW5jZVNlcnZpY2U6IE5hdHVyYWxQZXJzaXN0ZW5jZVNlcnZpY2U7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IHNlcnZpY2U6IFRTZXJ2aWNlLCBwcml2YXRlIHJlYWRvbmx5IGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgICAgICBzdXBlcigpO1xuXG4gICAgICAgIHRoaXMucm91dGVyID0gaW5qZWN0b3IuZ2V0KFJvdXRlcik7XG4gICAgICAgIHRoaXMucm91dGUgPSBpbmplY3Rvci5nZXQoQWN0aXZhdGVkUm91dGUpO1xuICAgICAgICB0aGlzLmFsZXJ0U2VydmljZSA9IGluamVjdG9yLmdldChOYXR1cmFsQWxlcnRTZXJ2aWNlKTtcbiAgICAgICAgdGhpcy5wZXJzaXN0ZW5jZVNlcnZpY2UgPSBpbmplY3Rvci5nZXQoTmF0dXJhbFBlcnNpc3RlbmNlU2VydmljZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVmFyaWFibGVzIHRoYXQgYXJlIGFsd2F5cyBmb3JjZWQgb24gYSBsaXN0LCBpbiBhZGRpdGlvbiB0byB3aGF0ZXZlciB0aGUgZW5kLXVzZXIgbWlnaHQgc2VsZWN0XG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IGZvcmNlZFZhcmlhYmxlcyh2YXJpYWJsZXM6IFF1ZXJ5VmFyaWFibGVzIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xuICAgICAgICBpZiAodmFyaWFibGVzKSB7XG4gICAgICAgICAgICB0aGlzLmFwcGx5Rm9yY2VkVmFyaWFibGVzKHZhcmlhYmxlcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJZiBjaGFuZ2UsIGNoZWNrIERvY3VtZW50c0NvbXBvbmVudCB0aGF0IG92ZXJyaWRlcyB0aGlzIGZ1bmN0aW9uIHdpdGhvdXQgY2FsbGluZyBzdXBlci5uZ09uSW5pdCgpLlxuICAgICAqL1xuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yb3V0ZURhdGEgPSB0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGE7XG5cbiAgICAgICAgdGhpcy5pbml0RnJvbVJvdXRlKCk7XG4gICAgICAgIHRoaXMuaW5pdEZyb21QZXJzaXN0ZWQoKTtcblxuICAgICAgICB0aGlzLnZhcmlhYmxlc01hbmFnZXIuZGVmYXVsdHMoJ3BhZ2luYXRpb24nLCB7cGFnaW5hdGlvbjogdGhpcy5kZWZhdWx0UGFnaW5hdGlvbn0gYXMgRXh0cmFjdFZhbGw8VFNlcnZpY2U+KTtcbiAgICAgICAgdGhpcy52YXJpYWJsZXNNYW5hZ2VyLmRlZmF1bHRzKCdzb3J0aW5nJywge3NvcnRpbmc6IHRoaXMuZGVmYXVsdFNvcnRpbmd9IGFzIEV4dHJhY3RWYWxsPFRTZXJ2aWNlPik7XG5cbiAgICAgICAgdGhpcy5kYXRhU291cmNlID0gbmV3IE5hdHVyYWxEYXRhU291cmNlPFRhbGw+KHRoaXMuZ2V0RGF0YU9ic2VydmFibGUoKSk7XG4gICAgICAgIHRoaXMuc2VsZWN0aW9uLmNsZWFyKCk7XG5cbiAgICAgICAgLy8gVXBkYXRlIG5hdHVyYWwgc2VhcmNoIHdoZW4gaGlzdG9yeSBjaGFuZ2VzIChiYWNrL2ZvcndhcmQgYnV0dG9ucylcbiAgICAgICAgLy8gSGlzdG9yeSBzdGF0ZSBpcyBkZXRlY3RhYmxlIG9ubHkgb24gTmF2aWdhdGlvblN0YXJ0IChwb3BzdGF0ZSB0cmlnZ2VyKVxuICAgICAgICAvLyBCdXQgd2UgbmVlZCBwYXJhbWV0ZXJzIGZyb20gdXJsIGFmdGVyIE5hdmlnYXRpb25FbmQuIFNvIHByb2NlZWQgaW4gdHdvIHN0ZXBzIHdpdGggYSBmbGFnLlxuICAgICAgICBsZXQgaXNQb3BTdGF0ZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLnJvdXRlci5ldmVudHNcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpLFxuICAgICAgICAgICAgICAgIGZpbHRlcihldmVudCA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydCAmJiBldmVudC5uYXZpZ2F0aW9uVHJpZ2dlciA9PT0gJ3BvcHN0YXRlJyksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICBpc1BvcFN0YXRlID0gdHJ1ZTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMucm91dGVyLmV2ZW50c1xuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSksXG4gICAgICAgICAgICAgICAgZmlsdGVyKGV2ZW50ID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCAmJiBpc1BvcFN0YXRlKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlzUG9wU3RhdGUgPSBmYWxzZTsgLy8gcmVzZXQgZmxhZ1xuICAgICAgICAgICAgICAgIHRoaXMubmF0dXJhbFNlYXJjaFNlbGVjdGlvbnMgPSBmcm9tVXJsKHRoaXMucGVyc2lzdGVuY2VTZXJ2aWNlLmdldEZyb21VcmwoJ25zJywgdGhpcy5yb3V0ZSkpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUGVyc2lzdCBzZWFyY2ggYW5kIHRoZW4gbGF1bmNoIHdoYXRldmVyIGlzIHJlcXVpcmVkIHRvIHJlZnJlc2ggdGhlIGxpc3RcbiAgICAgKi9cbiAgICBwdWJsaWMgc2VhcmNoKFxuICAgICAgICBuYXR1cmFsU2VhcmNoU2VsZWN0aW9uczogTmF0dXJhbFNlYXJjaFNlbGVjdGlvbnMsXG4gICAgICAgIG5hdmlnYXRpb25FeHRyYXM/OiBOYXZpZ2F0aW9uRXh0cmFzLFxuICAgICAgICByZXNldFBhZ2luYXRpb24gPSB0cnVlLFxuICAgICk6IHZvaWQge1xuICAgICAgICAvLyBSZXNldCBwYWdlIGluZGV4IHRvIHJlc3RhcnQgdGhlIHBhZ2luYXRpb24gKHByZXNlcnZlIHBhZ2VTaXplKVxuXG4gICAgICAgIGlmIChyZXNldFBhZ2luYXRpb24pIHtcbiAgICAgICAgICAgIHRoaXMudmFyaWFibGVzTWFuYWdlci5tZXJnZSgncGFnaW5hdGlvbicsIHtcbiAgICAgICAgICAgICAgICBwYWdpbmF0aW9uOiBwaWNrKHRoaXMuZGVmYXVsdFBhZ2luYXRpb24sIFsnb2Zmc2V0JywgJ3BhZ2VJbmRleCddKSxcbiAgICAgICAgICAgIH0gYXMgRXh0cmFjdFZhbGw8VFNlcnZpY2U+KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFBlcnNpc3QgaWYgYWN0aXZhdGVkXG4gICAgICAgIC8vIFR3byBwYXJhbGxlbCBuYXZpZ2F0aW9ucyBjb25mbGljdC4gV2UgZmlyc3QgcGVyc2lzdCB0aGUgc2VhcmNoLCB0aGVuIHRoZSBwYWdpbmF0aW9uXG4gICAgICAgIGlmICh0aGlzLnBlcnNpc3RTZWFyY2ggJiYgIXRoaXMuaXNQYW5lbCkge1xuICAgICAgICAgICAgY29uc3QgcHJvbWlzZSA9IHRoaXMucGVyc2lzdGVuY2VTZXJ2aWNlLnBlcnNpc3QoXG4gICAgICAgICAgICAgICAgJ25zJyxcbiAgICAgICAgICAgICAgICB0b1VybChuYXR1cmFsU2VhcmNoU2VsZWN0aW9ucyksXG4gICAgICAgICAgICAgICAgdGhpcy5yb3V0ZSxcbiAgICAgICAgICAgICAgICB0aGlzLmdldFN0b3JhZ2VLZXkoKSxcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIGNvbnN0IHBhZ2luYXRpb24gPSB0aGlzLmdldFBhZ2luYXRpb24oKTtcbiAgICAgICAgICAgIHRoaXMucGFnaW5hdGlvbihwYWdpbmF0aW9uLCBwcm9taXNlLCBuYXZpZ2F0aW9uRXh0cmFzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudHJhbnNsYXRlU2VhcmNoQW5kUmVmcmVzaExpc3QobmF0dXJhbFNlYXJjaFNlbGVjdGlvbnMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoYW5nZSBzb3J0aW5nIHZhcmlhYmxlcyBmb3IgcXVlcnkgYW5kIHBlcnNpc3QgdGhlIG5ldyB2YWx1ZSBpbiB1cmwgYW5kIGxvY2FsIHN0b3JhZ2VcbiAgICAgKiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBub3QgcGVyc2lzdGVkXG4gICAgICogQHBhcmFtIHNvcnRpbmdFdmVudHMgTGlzdCBvZiBtYXRlcmlhbCBzb3J0aW5nIGV2ZW50c1xuICAgICAqL1xuICAgIHB1YmxpYyBzb3J0aW5nKHNvcnRpbmdFdmVudHM6IChTb3J0ICYgUGFydGlhbDxQaWNrPFNvcnRpbmcsICdudWxsQXNIaWdoZXN0Jz4+KVtdKTogdm9pZCB7XG4gICAgICAgIC8vIFJlc2V0IHBhZ2UgaW5kZXggdG8gcmVzdGFydCB0aGUgcGFnaW5hdGlvbiAocHJlc2VydmUgcGFnZVNpemUpXG4gICAgICAgIHRoaXMudmFyaWFibGVzTWFuYWdlci5tZXJnZSgncGFnaW5hdGlvbicsIHtcbiAgICAgICAgICAgIHBhZ2luYXRpb246IHBpY2sodGhpcy5kZWZhdWx0UGFnaW5hdGlvbiwgWydvZmZzZXQnLCAncGFnZUluZGV4J10pLFxuICAgICAgICB9IGFzIEV4dHJhY3RWYWxsPFRTZXJ2aWNlPik7XG5cbiAgICAgICAgLy8gUHJlc2VydmUgb25seSBzb3J0aW5nIGV2ZW50cyB3aXRoIGRpcmVjdGlvbiBhbmQgY29udmVydCBpbnRvIG5hdHVyYWwvZ3JhcGhxbCBTb3J0aW5nIHR5cGVcbiAgICAgICAgbGV0IHNvcnRpbmc6IFNvcnRpbmdbXSA9IHNvcnRpbmdFdmVudHNcbiAgICAgICAgICAgIC5maWx0ZXIoZSA9PiAhIWUuZGlyZWN0aW9uKVxuICAgICAgICAgICAgLm1hcChzb3J0aW5nRXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHM6IFNvcnRpbmcgPSB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBzb3J0aW5nRXZlbnQuYWN0aXZlLFxuICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgICBpZiAoc29ydGluZ0V2ZW50LmRpcmVjdGlvbiA9PT0gJ2FzYycpIHtcbiAgICAgICAgICAgICAgICAgICAgcy5vcmRlciA9IFNvcnRpbmdPcmRlci5BU0M7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChzb3J0aW5nRXZlbnQuZGlyZWN0aW9uID09PSAnZGVzYycpIHtcbiAgICAgICAgICAgICAgICAgICAgcy5vcmRlciA9IFNvcnRpbmdPcmRlci5ERVNDO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmICgnbnVsbEFzSGlnaGVzdCcgaW4gc29ydGluZ0V2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIHMubnVsbEFzSGlnaGVzdCA9IHNvcnRpbmdFdmVudC5udWxsQXNIaWdoZXN0O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiBzO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gRW1wdHkgc29ydGluZyBmYWxsYmFja3Mgb24gZGVmYXVsdFxuICAgICAgICBpZiAoc29ydGluZy5sZW5ndGggPT09IDAgJiYgdGhpcy5kZWZhdWx0U29ydGluZykge1xuICAgICAgICAgICAgc29ydGluZyA9IHRoaXMuZGVmYXVsdFNvcnRpbmc7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTZXQgc29ydGluZyBhcyBzZWFyY2ggdmFyaWFibGVcbiAgICAgICAgdGhpcy52YXJpYWJsZXNNYW5hZ2VyLnNldCgnc29ydGluZycsIHtzb3J0aW5nOiBzb3J0aW5nfSBhcyBFeHRyYWN0VmFsbDxUU2VydmljZT4pO1xuXG4gICAgICAgIGlmICh0aGlzLnBlcnNpc3RTZWFyY2ggJiYgIXRoaXMuaXNQYW5lbCkge1xuICAgICAgICAgICAgLy8gSWYgc29ydGluZyBpcyBlcXVhbCB0byBkZWZhdWx0IHNvcnRpbmcsIG51bGxpZnkgaXQgdG8gcmVtb3ZlIGZyb20gcGVyc2lzdGVuY2UgKHVybCBhbmQgc2Vzc2lvbiBzdG9yYWdlKVxuICAgICAgICAgICAgY29uc3QgcHJvbWlzZSA9IHRoaXMucGVyc2lzdGVuY2VTZXJ2aWNlLnBlcnNpc3QoXG4gICAgICAgICAgICAgICAgJ3NvJyxcbiAgICAgICAgICAgICAgICBpc0VxdWFsKHNvcnRpbmcsIHRoaXMuZGVmYXVsdFNvcnRpbmcpID8gbnVsbCA6IHNvcnRpbmcsXG4gICAgICAgICAgICAgICAgdGhpcy5yb3V0ZSxcbiAgICAgICAgICAgICAgICB0aGlzLmdldFN0b3JhZ2VLZXkoKSxcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIGNvbnN0IHBhZ2luYXRpb24gPSB0aGlzLmdldFBhZ2luYXRpb24oKTtcbiAgICAgICAgICAgIHRoaXMucGFnaW5hdGlvbihwYWdpbmF0aW9uLCBwcm9taXNlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybiBjdXJyZW50IHBhZ2luYXRpb24sIGVpdGhlciB0aGUgdXNlciBkZWZpbmVkIG9uZSwgb3IgdGhlIGRlZmF1bHQgb25lXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXRQYWdpbmF0aW9uKCk6IFBhZ2luYXRpb25JbnB1dCB7XG4gICAgICAgIGNvbnN0IHBhZ2luYXRpb25DaGFubmVsOiBQYXJ0aWFsPEV4dHJhY3RWYWxsPFRTZXJ2aWNlPj4gfCB1bmRlZmluZWQgPSB0aGlzLnZhcmlhYmxlc01hbmFnZXIuZ2V0KCdwYWdpbmF0aW9uJyk7XG5cbiAgICAgICAgaWYgKHBhZ2luYXRpb25DaGFubmVsICYmIHBhZ2luYXRpb25DaGFubmVsLnBhZ2luYXRpb24pIHtcbiAgICAgICAgICAgIC8vIFRoZSBjYXN0IHNob3VsZCBub3QgYmUgbmVjZXNzYXJ5IGJlY2F1c2UgVHlwZXNjcmlwdCBjb3JyZWN0bHkgbmFycm93IGRvd24gdGhlIHR5cGUgdG8gYFBhZ2luYXRpb25JbnB1dGBcbiAgICAgICAgICAgIC8vIGJ1dCBzb21laG93IHN0aWxsIGdldCBjb25mdXNlZCB3aGVuIHJldHVybmluZyBpdFxuICAgICAgICAgICAgcmV0dXJuIHBhZ2luYXRpb25DaGFubmVsLnBhZ2luYXRpb24gYXMgUGFnaW5hdGlvbklucHV0O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZGVmYXVsdFBhZ2luYXRpb247XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hhbmdlIHBhZ2luYXRpb24gdmFyaWFibGVzIGZvciBxdWVyeSBhbmQgcGVyc2lzdCBpbiB1cmwgYW5kIGxvY2FsIHN0b3JhZ2UgdGhlIG5ldyB2YWx1ZVxuICAgICAqIFRoZSBkZWZhdWx0IHZhbHVlIG5vdCBwZXJzaXN0ZWRcbiAgICAgKlxuICAgICAqIEBwYXJhbSBldmVudCBOYXR1cmFsIG9yIFBhZ2luYXRvciBQYWdlRXZlbnRcbiAgICAgKiBAcGFyYW0gZGVmZXIgUHJvbWlzZSAodXN1YWxseSBhIHJvdXRlIHByb21pc2UpIHRoYXQgZGVmZXJzIHRoZSByZWRpcmVjdGlvbiBmcm9tIHRoaXMgY2FsbCB0byBwcmV2ZW50IHJvdXRlIG5hdmlnYXRpb24gY29sbGlzaW9uXG4gICAgICogQHBhcmFtIG5hdmlnYXRpb25FeHRyYXMgQW5ndWxhciByb3V0ZXIgbmF2aWdhdGlvbiBvcHRpb25zLiBJcyByZWxldmFudCBvbmx5IGlmIHBlcnNpc3RTZWFyY2ggaXMgdHJ1ZVxuICAgICAqL1xuICAgIHB1YmxpYyBwYWdpbmF0aW9uKFxuICAgICAgICBldmVudDogUGFnaW5hdGlvbklucHV0IHwgUGFnZUV2ZW50LFxuICAgICAgICBkZWZlcj86IFByb21pc2U8dW5rbm93bj4sXG4gICAgICAgIG5hdmlnYXRpb25FeHRyYXM/OiBOYXZpZ2F0aW9uRXh0cmFzLFxuICAgICk6IHZvaWQge1xuICAgICAgICBsZXQgcGFnaW5hdGlvbjogUGFnaW5hdGlvbklucHV0ID0gdGhpcy5kZWZhdWx0UGFnaW5hdGlvbjtcbiAgICAgICAgbGV0IGZvclBlcnNpc3RlbmNlOiBQYWdpbmF0aW9uSW5wdXQgfCBudWxsID0gbnVsbDtcblxuICAgICAgICAvLyBDb252ZXJ0IHRvIG5hdHVyYWwvZ3JhcGhxbCBmb3JtYXQsIGFkZGluZyBtaXNzaW5nIGF0dHJpYnV0ZXNcbiAgICAgICAgbGV0IG5hdHVyYWxFdmVudDogUGFnaW5hdGlvbklucHV0ID0gcGljayhldmVudCwgT2JqZWN0LmtleXModGhpcy5kZWZhdWx0UGFnaW5hdGlvbikpOyAvLyBvYmplY3Qgd2l0aCBvbmx5IFBhZ2luYXRpb25JbnB1dCBhdHRyaWJ1dGVzXG4gICAgICAgIG5hdHVyYWxFdmVudCA9IGRlZmF1bHRzKG5hdHVyYWxFdmVudCwgdGhpcy5kZWZhdWx0UGFnaW5hdGlvbik7IC8vIERlZmF1bHQgd2l0aCBjb250cm9sbGVyIHZhbHVlc1xuXG4gICAgICAgIGlmICghaXNFcXVhbChuYXR1cmFsRXZlbnQsIHRoaXMuZGVmYXVsdFBhZ2luYXRpb24pKSB7XG4gICAgICAgICAgICBwYWdpbmF0aW9uID0gZm9yUGVyc2lzdGVuY2UgPSBuYXR1cmFsRXZlbnQ7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnZhcmlhYmxlc01hbmFnZXIuc2V0KCdwYWdpbmF0aW9uJywge3BhZ2luYXRpb259IGFzIEV4dHJhY3RWYWxsPFRTZXJ2aWNlPik7XG5cbiAgICAgICAgdGhpcy5wZXJzaXN0UGFnaW5hdGlvbihmb3JQZXJzaXN0ZW5jZSwgZGVmZXIsIG5hdmlnYXRpb25FeHRyYXMpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBwZXJzaXN0UGFnaW5hdGlvbihcbiAgICAgICAgcGFnaW5hdGlvbjogUGFnaW5hdGlvbklucHV0IHwgbnVsbCxcbiAgICAgICAgZGVmZXI/OiBQcm9taXNlPHVua25vd24+LFxuICAgICAgICBuYXZpZ2F0aW9uRXh0cmFzPzogTmF2aWdhdGlvbkV4dHJhcyxcbiAgICApOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMucGVyc2lzdFNlYXJjaCAmJiAhdGhpcy5pc1BhbmVsKSB7XG4gICAgICAgICAgICAvLyBEZWNsYXJlIHBlcnNpc3QgZnVuY3Rpb25cbiAgICAgICAgICAgIGNvbnN0IHBlcnNpc3QgPSAodmFsdWU6IFBhZ2luYXRpb25JbnB1dCB8IG51bGwpOiBQcm9taXNlPGJvb2xlYW4+ID0+XG4gICAgICAgICAgICAgICAgdGhpcy5wZXJzaXN0ZW5jZVNlcnZpY2UucGVyc2lzdCgncGEnLCB2YWx1ZSwgdGhpcy5yb3V0ZSwgdGhpcy5nZXRTdG9yYWdlS2V5KCksIG5hdmlnYXRpb25FeHRyYXMpO1xuXG4gICAgICAgICAgICAvLyBDYWxsIGZ1bmN0aW9uIGRpcmVjdGx5IG9yIHdoZW4gcHJvbWlzZSBpcyByZXNvbHZlZFxuICAgICAgICAgICAgaWYgKGRlZmVyKSB7XG4gICAgICAgICAgICAgICAgZGVmZXIudGhlbigoKSA9PiBwZXJzaXN0KHBhZ2luYXRpb24pKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcGVyc2lzdChwYWdpbmF0aW9uKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNlbGVjdHMgYWxsIHJvd3MgaWYgdGhleSBhcmUgbm90IGFsbCBzZWxlY3RlZDsgb3RoZXJ3aXNlIGNsZWFyIHNlbGVjdGlvblxuICAgICAqL1xuICAgIHB1YmxpYyBtYXN0ZXJUb2dnbGUoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzQWxsU2VsZWN0ZWQoKSkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb24uY2xlYXIoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZGF0YVNvdXJjZT8uZGF0YT8uaXRlbXMuZm9yRWFjaChyb3cgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHVud3JhcHBlZCA9IHVud3JhcE5hdmlnYWJsZShyb3cpO1xuICAgICAgICAgICAgICAgIGlmICh1bndyYXBwZWQuaWQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb24uc2VsZWN0KHVud3JhcHBlZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSBudW1iZXIgb2Ygc2VsZWN0ZWQgZWxlbWVudHMgbWF0Y2hlcyB0aGUgdG90YWwgbnVtYmVyIG9mIHJvd3NcbiAgICAgKi9cbiAgICBwdWJsaWMgaXNBbGxTZWxlY3RlZCgpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgbnVtU2VsZWN0ZWQgPSB0aGlzLnNlbGVjdGlvbi5zZWxlY3RlZC5sZW5ndGg7XG4gICAgICAgIGxldCBudW1Sb3dzID0gMDtcbiAgICAgICAgdGhpcy5kYXRhU291cmNlPy5kYXRhPy5pdGVtcy5mb3JFYWNoKHJvdyA9PiB7XG4gICAgICAgICAgICBjb25zdCB1bndyYXBwZWQgPSB1bndyYXBOYXZpZ2FibGUocm93KTtcbiAgICAgICAgICAgIGlmICh1bndyYXBwZWQuaWQpIHtcbiAgICAgICAgICAgICAgICBudW1Sb3dzKys7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBudW1TZWxlY3RlZCA9PT0gbnVtUm93cztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYWxsZWQgd2hlbiBhIGJ1bGsgYWN0aW9uIGlzIHNlbGVjdGVkXG4gICAgICovXG4gICAgcHVibGljIGJ1bGtBY3Rpb24oKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5idWxrQWN0aW9uU2VsZWN0ZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVHJ5aW5nIHRvIGV4ZWN1dGUgYSBidWxrIGFjdGlvbiB3aXRob3V0IHNlbGVjdGluZyBvbmUnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghKHRoaXMuYnVsa0FjdGlvblNlbGVjdGVkIGluIHRoaXMpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RyeWluZyB0byBleGVjdXRlIGEgYnVsayBhY3Rpb24gdGhhdCBkb2VzIG5vdCBleGlzdDogJyArIHRoaXMuYnVsa0FjdGlvblNlbGVjdGVkKTtcbiAgICAgICAgfVxuXG4gICAgICAgICh0aGlzIGFzIGFueSlbdGhpcy5idWxrQWN0aW9uU2VsZWN0ZWRdKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSGVhZGVyIGlzIGFsd2F5cyB2aXNpYmxlIGluIG5vbi1wYW5lbCBjb250ZXh0XG4gICAgICogSXMgaGlkZGVuIHdoZW4gbm8gcmVzdWx0cyBpbiBwYW5lbHNcbiAgICAgKi9cbiAgICBwdWJsaWMgc2hvd0hlYWRlcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLmlzUGFuZWwgfHwgKHRoaXMuaXNQYW5lbCAmJiB0aGlzLnNob3dUYWJsZSgpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZWFyY2ggaXMgdmlzaWJsZSBpbiBtb3N0IGNhc2VzLCBidXQgaGlkZGVuIG9uIGEgcGFuZWxcbiAgICAgKi9cbiAgICBwdWJsaWMgc2hvd1NlYXJjaCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLmlzUGFuZWw7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGFibGUgc2hvdWxkIGJlIHNob3duIG9ubHkgd2hlbiB0aGVyZSBpcyBkYXRhXG4gICAgICovXG4gICAgcHVibGljIHNob3dUYWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5kYXRhU291cmNlICYmICEhdGhpcy5kYXRhU291cmNlLmRhdGEgJiYgdGhpcy5kYXRhU291cmNlLmRhdGEubGVuZ3RoID4gMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBObyByZXN1bHRzIGlzIHNob3duIHdoZW4gdGhlcmUgaXMgbm8gaXRlbXMsIGJ1dCBvbmx5IGluIG5vbi1wYW5lbCBjb250ZXh0IG9ubHkuXG4gICAgICogSW4gcGFuZWxzIHdlIHdhbnQgZGlzY3JldGUgbW9kZSwgdGhlcmUgaXMgbm8gc2VhcmNoIGFuZCBubyBcIm5vLXJlc3VsdHNcIlxuICAgICAqL1xuICAgIHB1YmxpYyBzaG93Tm9SZXN1bHRzKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMuaXNQYW5lbCAmJiAhIXRoaXMuZGF0YVNvdXJjZSAmJiAhIXRoaXMuZGF0YVNvdXJjZS5kYXRhICYmIHRoaXMuZGF0YVNvdXJjZS5kYXRhLmxlbmd0aCA9PT0gMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJbml0aWFsaXplIGZyb20gcm91dGUuXG4gICAgICpcbiAgICAgKiBVc2VzIGRhdGEgcHJvdmlkZWQgYnkgcm91dGVyIHN1Y2ggYXM6XG4gICAgICpcbiAgICAgKiAtIGByb3V0ZS5kYXRhLmZvcmNlZFZhcmlhYmxlc2BcbiAgICAgKiAtIGByb3V0ZS5kYXRhLnNlbGVjdGVkQ29sdW1uc2BcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgaW5pdEZyb21Sb3V0ZSgpOiB2b2lkIHtcbiAgICAgICAgLy8gVmFyaWFibGVzXG4gICAgICAgIGlmICh0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGEuZm9yY2VkVmFyaWFibGVzKSB7XG4gICAgICAgICAgICB0aGlzLmFwcGx5Rm9yY2VkVmFyaWFibGVzKHRoaXMucm91dGUuc25hcHNob3QuZGF0YS5mb3JjZWRWYXJpYWJsZXMpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQ29sdW1uc1xuICAgICAgICBpZiAodGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhLnNlbGVjdGVkQ29sdW1ucykge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZENvbHVtbnMgPSB0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGEuc2VsZWN0ZWRDb2x1bW5zO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldERhdGFPYnNlcnZhYmxlKCk6IE9ic2VydmFibGU8VGFsbD4ge1xuICAgICAgICAvLyBIZXJlIHRoZSBjYXN0aW5nIGlzIGEgYml0IHVuZm9ydHVuYXRlIGJ1dCByZXF1aXJlZCBiZWNhdXNlIE5hdHVyYWxBYnN0cmFjdE5hdmlnYWJsZUxpc3RcbiAgICAgICAgLy8gYnJlYWtzIHRoZSBkYXRhIHN0cnVjdHVyZSBjb252ZW50aW9uIChieSB3cmFwcGluZyBpdGVtcyBpbiBhIHN0cnVjdHVyZSkuIElkZWFsbHkgd2Ugc2hvdWxkIHJlbW92ZVxuICAgICAgICAvLyB0aGUgY2FzdGluZyBhbmQgcmVzb2x2ZSB0aGluZ3MgaW4gYSBiZXR0ZXIgd2F5LCBidXQgdGhhdCdzIHRvbyBtdWNoIHdvcmsgZm9yIG5vd1xuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlXG4gICAgICAgICAgICAud2F0Y2hBbGwodGhpcy52YXJpYWJsZXNNYW5hZ2VyIGFzIHVua25vd24gYXMgYW55KVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpIGFzIHVua25vd24gYXMgT2JzZXJ2YWJsZTxUYWxsPjtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgaW5pdEZyb21QZXJzaXN0ZWQoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5wZXJzaXN0U2VhcmNoIHx8IHRoaXMuaXNQYW5lbCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgc3RvcmFnZUtleSA9IHRoaXMuZ2V0U3RvcmFnZUtleSgpO1xuXG4gICAgICAgIC8vIFBhZ2luYXRpb24gOiBwYVxuICAgICAgICBjb25zdCBwYWdpbmF0aW9uID0gdGhpcy5wZXJzaXN0ZW5jZVNlcnZpY2UuZ2V0KCdwYScsIHRoaXMucm91dGUsIHN0b3JhZ2VLZXkpO1xuICAgICAgICBpZiAocGFnaW5hdGlvbikge1xuICAgICAgICAgICAgdGhpcy52YXJpYWJsZXNNYW5hZ2VyLnNldCgncGFnaW5hdGlvbicsIHtwYWdpbmF0aW9ufSBhcyBFeHRyYWN0VmFsbDxUU2VydmljZT4pO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU29ydGluZyA6IHNvXG4gICAgICAgIGNvbnN0IHNvcnRpbmcgPSB0aGlzLnBlcnNpc3RlbmNlU2VydmljZS5nZXQoJ3NvJywgdGhpcy5yb3V0ZSwgc3RvcmFnZUtleSk7XG4gICAgICAgIGlmIChzb3J0aW5nKSB7XG4gICAgICAgICAgICB0aGlzLnZhcmlhYmxlc01hbmFnZXIuc2V0KCdzb3J0aW5nJywge3NvcnRpbmd9IGFzIEV4dHJhY3RWYWxsPFRTZXJ2aWNlPik7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBDb2x1bW5zXG4gICAgICAgIGNvbnN0IHBlcnNpc3RlZENvbHVtbnMgPSB0aGlzLnBlcnNpc3RlbmNlU2VydmljZS5nZXQoJ2NvbCcsIHRoaXMucm91dGUsIHN0b3JhZ2VLZXkpO1xuICAgICAgICBpZiAodHlwZW9mIHBlcnNpc3RlZENvbHVtbnMgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkQ29sdW1ucyA9IHBlcnNpc3RlZENvbHVtbnMuc3BsaXQoJywnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE5hdHVyYWwgc2VhcmNoIDogbnNcbiAgICAgICAgdGhpcy5uYXR1cmFsU2VhcmNoU2VsZWN0aW9ucyA9IGZyb21VcmwodGhpcy5wZXJzaXN0ZW5jZVNlcnZpY2UuZ2V0KCducycsIHRoaXMucm91dGUsIHN0b3JhZ2VLZXkpKTtcbiAgICAgICAgdGhpcy50cmFuc2xhdGVTZWFyY2hBbmRSZWZyZXNoTGlzdCh0aGlzLm5hdHVyYWxTZWFyY2hTZWxlY3Rpb25zLCB0cnVlKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgdHJhbnNsYXRlU2VhcmNoQW5kUmVmcmVzaExpc3QoXG4gICAgICAgIG5hdHVyYWxTZWFyY2hTZWxlY3Rpb25zOiBOYXR1cmFsU2VhcmNoU2VsZWN0aW9ucyxcbiAgICAgICAgaWdub3JlRW1wdHlGaWx0ZXIgPSBmYWxzZSxcbiAgICApOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZmlsdGVyID0gdG9HcmFwaFFMRG9jdHJpbmVGaWx0ZXIodGhpcy5uYXR1cmFsU2VhcmNoRmFjZXRzLCBuYXR1cmFsU2VhcmNoU2VsZWN0aW9ucyk7XG5cbiAgICAgICAgaWYgKGlnbm9yZUVtcHR5RmlsdGVyICYmIGlzRW1wdHkoZmlsdGVyKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy52YXJpYWJsZXNNYW5hZ2VyLnNldCgnbmF0dXJhbC1zZWFyY2gnLCB7ZmlsdGVyfSBhcyBFeHRyYWN0VmFsbDxUU2VydmljZT4pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybiBjdXJyZW50IHVybCBleGNsdWRpbmcgbGFzdCByb3V0ZSBwYXJhbWV0ZXJzO1xuICAgICAqL1xuICAgIHByb3RlY3RlZCBnZXRTdG9yYWdlS2V5KCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IHVybFRyZWUgPSB0aGlzLnJvdXRlci5wYXJzZVVybCh0aGlzLnJvdXRlci51cmwpO1xuICAgICAgICB1cmxUcmVlLnJvb3QuY2hpbGRyZW4ucHJpbWFyeS5zZWdtZW50c1t1cmxUcmVlLnJvb3QuY2hpbGRyZW4ucHJpbWFyeS5zZWdtZW50cy5sZW5ndGggLSAxXS5wYXJhbWV0ZXJzID0ge307XG4gICAgICAgIHJldHVybiB1cmxUcmVlLnRvU3RyaW5nKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGJ1bGtkRGVsZXRlQ29uZmlybWF0aW9uKCk6IE9ic2VydmFibGU8Ym9vbGVhbiB8IHVuZGVmaW5lZD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5hbGVydFNlcnZpY2UuY29uZmlybShcbiAgICAgICAgICAgICRsb2NhbGl6ZWBTdXBwcmVzc2lvbmAsXG4gICAgICAgICAgICAkbG9jYWxpemVgVm91bGV6LXZvdXMgc3VwcHJpbWVyIGTDqWZpbml0aXZlbWVudCBsZXMgw6lsw6ltZW50cyBzw6lsZWN0aW9ubsOpcyA/YCxcbiAgICAgICAgICAgICRsb2NhbGl6ZWBTdXBwcmltZXIgZMOpZmluaXRpdmVtZW50YCxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZWxldGUgbXVsdGlwbGUgaXRlbXMgYXQgb25jZVxuICAgICAqL1xuICAgIHByb3RlY3RlZCBidWxrRGVsZXRlKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgICAgICBjb25zdCBzdWJqZWN0ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICAgICAgdGhpcy5idWxrZERlbGV0ZUNvbmZpcm1hdGlvbigpLnN1YnNjcmliZShjb25maXJtZWQgPT4ge1xuICAgICAgICAgICAgdGhpcy5idWxrQWN0aW9uU2VsZWN0ZWQgPSBudWxsO1xuICAgICAgICAgICAgaWYgKGNvbmZpcm1lZCkge1xuICAgICAgICAgICAgICAgIC8vIEFzc3VtZSB0aGF0IG91ciBvYmplY3RzIGhhdmUgSUQuIFRoaXMgaXMgdHJ1ZSBpbiBhbG1vc3QgYWxsIGNhc2VzLiBCdXQgaWZcbiAgICAgICAgICAgICAgICAvLyBpdCBpcyBub3QsIGxpa2UgQXR0cmlidXRlUmVwb3J0Q29tcG9uZW50LCB0aGVuIHRoZSBpbmhlcml0aW5nIGNsYXNzIG11c3RcbiAgICAgICAgICAgICAgICAvLyBuZXZlciBjYWxsIHRoaXMgbWV0aG9kLlxuICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVjdGlvbiA9IHRoaXMuc2VsZWN0aW9uLnNlbGVjdGVkIGFzIHtpZDogc3RyaW5nfVtdO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5zZXJ2aWNlLmRlbGV0ZShzZWxlY3Rpb24pLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uLmNsZWFyKCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmluZm8oJGxvY2FsaXplYFN1cHByaW3DqWApO1xuICAgICAgICAgICAgICAgICAgICBzdWJqZWN0Lm5leHQoKTtcbiAgICAgICAgICAgICAgICAgICAgc3ViamVjdC5jb21wbGV0ZSgpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gc3ViamVjdDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFwcGx5Rm9yY2VkVmFyaWFibGVzKHZhcmlhYmxlczogUXVlcnlWYXJpYWJsZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKHZhcmlhYmxlcy5maWx0ZXIpIHtcbiAgICAgICAgICAgIHRoaXMudmFyaWFibGVzTWFuYWdlci5zZXQoJ2ZvcmNlZC1maWx0ZXInLCB7ZmlsdGVyOiB2YXJpYWJsZXMuZmlsdGVyfSBhcyBFeHRyYWN0VmFsbDxUU2VydmljZT4pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHZhcmlhYmxlcy5wYWdpbmF0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLnZhcmlhYmxlc01hbmFnZXIuc2V0KCdwYWdpbmF0aW9uJywge3BhZ2luYXRpb246IHZhcmlhYmxlcy5wYWdpbmF0aW9ufSBhcyBFeHRyYWN0VmFsbDxUU2VydmljZT4pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHZhcmlhYmxlcy5zb3J0aW5nKSB7XG4gICAgICAgICAgICB0aGlzLnZhcmlhYmxlc01hbmFnZXIuc2V0KCdzb3J0aW5nJywge3NvcnRpbmc6IHZhcmlhYmxlcy5zb3J0aW5nfSBhcyBFeHRyYWN0VmFsbDxUU2VydmljZT4pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHNlbGVjdENvbHVtbnMoY29sdW1uczogc3RyaW5nW10pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb2x1bW5zRm9yVGFibGUgPSBjb2x1bW5zO1xuXG4gICAgICAgIGlmICghdGhpcy5wZXJzaXN0U2VhcmNoIHx8IHRoaXMuaXNQYW5lbCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVGhlIGZpcnN0IHNlbGVjdGlvbiB3ZSByZWNlaXZlIGlzIHRoZSBkZWZhdWx0IG9uZSBtYWRlIGJ5IDxuYXR1cmFsLWNvbHVtbnMtcGlja2VyPlxuICAgICAgICBpZiAoIXRoaXMuZGVmYXVsdFNlbGVjdGVkQ29sdW1ucykge1xuICAgICAgICAgICAgdGhpcy5kZWZhdWx0U2VsZWN0ZWRDb2x1bW5zID0gY29sdW1ucztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIFBlcnNpc3Qgb25seSBpZiB3YW50ZWQgY29sdW1ucyBhcmUgZGlmZmVyZW50IGZyb20gZGVmYXVsdCBzZWxlY3Rpb25cbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gaXNFcXVhbCh0aGlzLmRlZmF1bHRTZWxlY3RlZENvbHVtbnMsIGNvbHVtbnMpID8gbnVsbCA6IGNvbHVtbnMuam9pbignLCcpO1xuICAgICAgICAgICAgdGhpcy5wZXJzaXN0ZW5jZVNlcnZpY2UucGVyc2lzdCgnY29sJywgdmFsdWUsIHRoaXMucm91dGUsIHRoaXMuZ2V0U3RvcmFnZUtleSgpKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
421
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtbGlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9jbGFzc2VzL2Fic3RyYWN0LWxpc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3hELE9BQU8sRUFBQyxTQUFTLEVBQVksS0FBSyxFQUFvQixNQUFNLGVBQWUsQ0FBQztBQUc1RSxPQUFPLEVBQUMsY0FBYyxFQUFRLGFBQWEsRUFBb0IsZUFBZSxFQUFFLE1BQU0sRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQy9HLE9BQU8sRUFBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUMsTUFBTSxXQUFXLENBQUM7QUFDM0QsT0FBTyxFQUFhLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUN6QyxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNuRSxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUN0RSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNuRixPQUFPLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBSTdELE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQzFFLE9BQU8sRUFBQyxpQkFBaUIsRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDL0QsT0FBTyxFQUNILDRCQUE0QixFQUk1QixZQUFZLEdBQ2YsTUFBTSwwQkFBMEIsQ0FBQztBQUdsQyxPQUFPLEVBQUMsTUFBTSxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDOztBQUlqRCxTQUFTLGVBQWUsQ0FBQyxJQUFvQjtJQUN6QyxJQUFJLE1BQU0sSUFBSSxJQUFJLElBQUksZUFBZSxJQUFJLElBQUksRUFB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bUJBQW1CO2tCQUQvQixTQUFTO29IQXlCVSxhQUFhO3NCQUE1QixLQUFLO2dCQWVVLGVBQWU7c0JBQTlCLEtBQUs7Z0JBNEVLLGVBQWU7c0JBRHpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1NlbGVjdGlvbk1vZGVsfSBmcm9tICdAYW5ndWxhci9jZGsvY29sbGVjdGlvbnMnO1xuaW1wb3J0IHtEaXJlY3RpdmUsIEluamVjdG9yLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtQYWdlRXZlbnR9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvcic7XG5pbXBvcnQge1NvcnR9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NvcnQnO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZSwgRGF0YSwgTmF2aWdhdGlvbkVuZCwgTmF2aWdhdGlvbkV4dHJhcywgTmF2aWdhdGlvblN0YXJ0LCBSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge2RlZmF1bHRzLCBpc0VtcHR5LCBpc0VxdWFsLCBwaWNrfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7TmF0dXJhbEFsZXJ0U2VydmljZX0gZnJvbSAnLi4vbW9kdWxlcy9hbGVydC9hbGVydC5zZXJ2aWNlJztcbmltcG9ydCB7TmF0dXJhbEFic3RyYWN0UGFuZWx9IGZyb20gJy4uL21vZHVsZXMvcGFuZWxzL2Fic3RyYWN0LXBhbmVsJztcbmltcG9ydCB7dG9HcmFwaFFMRG9jdHJpbmVGaWx0ZXJ9IGZyb20gJy4uL21vZHVsZXMvc2VhcmNoL2NsYXNzZXMvZ3JhcGhxbC1kb2N0cmluZSc7XG5pbXBvcnQge2Zyb21VcmwsIHRvVXJsfSBmcm9tICcuLi9tb2R1bGVzL3NlYXJjaC9jbGFzc2VzL3VybCc7XG5pbXBvcnQge05hdHVyYWxTZWFyY2hGYWNldHN9IGZyb20gJy4uL21vZHVsZXMvc2VhcmNoL3R5cGVzL2ZhY2V0JztcbmltcG9ydCB7TmF0dXJhbFNlYXJjaFNlbGVjdGlvbnN9IGZyb20gJy4uL21vZHVsZXMvc2VhcmNoL3R5cGVzL3ZhbHVlcyc7XG5pbXBvcnQge05hdHVyYWxBYnN0cmFjdE1vZGVsU2VydmljZX0gZnJvbSAnLi4vc2VydmljZXMvYWJzdHJhY3QtbW9kZWwuc2VydmljZSc7XG5pbXBvcnQge05hdHVyYWxQZXJzaXN0ZW5jZVNlcnZpY2V9IGZyb20gJy4uL3NlcnZpY2VzL3BlcnNpc3RlbmNlLnNlcnZpY2UnO1xuaW1wb3J0IHtOYXR1cmFsRGF0YVNvdXJjZSwgUGFnaW5hdGVkRGF0YX0gZnJvbSAnLi9kYXRhLXNvdXJjZSc7XG5pbXBvcnQge1xuICAgIE5hdHVyYWxRdWVyeVZhcmlhYmxlc01hbmFnZXIsXG4gICAgUGFnaW5hdGlvbklucHV0LFxuICAgIFF1ZXJ5VmFyaWFibGVzLFxuICAgIFNvcnRpbmcsXG4gICAgU29ydGluZ09yZGVyLFxufSBmcm9tICcuL3F1ZXJ5LXZhcmlhYmxlLW1hbmFnZXInO1xuaW1wb3J0IHtFeHRyYWN0VGFsbCwgRXh0cmFjdFZhbGwsIExpdGVyYWx9IGZyb20gJy4uL3R5cGVzL3R5cGVzJztcbmltcG9ydCB7TmF2aWdhYmxlSXRlbX0gZnJvbSAnLi9hYnN0cmFjdC1uYXZpZ2FibGUtbGlzdCc7XG5pbXBvcnQge2ZpbHRlciwgdGFrZVVudGlsfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbnR5cGUgTWF5YmVOYXZpZ2FibGUgPSBMaXRlcmFsIHwgTmF2aWdhYmxlSXRlbTxMaXRlcmFsPjtcblxuZnVuY3Rpb24gdW53cmFwTmF2aWdhYmxlKGl0ZW06IE1heWJlTmF2aWdhYmxlKTogTGl0ZXJhbCB7XG4gICAgaWYgKCdpdGVtJyBpbiBpdGVtICYmICdoYXNOYXZpZ2F0aW9uJyBpbiBpdGVtKSB7XG4gICAgICAgIHJldHVybiBpdGVtLml0ZW07XG4gICAgfVxuXG4gICAgcmV0dXJuIGl0ZW07XG59XG5cbi8qKlxuICogVGhpcyBjbGFzcyBoZWxwcyBtYW5hZ2luZyBhIGxpc3Qgb2YgcGFnaW5hdGVkIGl0ZW1zIHRoYXQgY2FuIGJlIGZpbHRlcmVkLFxuICogc2VsZWN0ZWQsIGFuZCB0aGVuIGJ1bGsgYWN0aW9ucyBjYW4gYmUgcGVyZm9ybWVkIG9uIHNlbGVjdGlvbi5cbiAqXG4gKiBDb21wb25lbnRzIGluaGVyaXRpbmcgZnJvbSB0aGlzIGNsYXNzIGNhbiBiZSB1c2VkIGFzIHN0YW5kYWxvbmUgd2l0aCBpbnB1dCBhdHRyaWJ1dGVzLlxuICpcbiAqIFVzYWdlIDpcbiAqIDxuYXR1cmFsLW15LWxpc3RpbmcgW2ZvcmNlZFZhcmlhYmxlc109XCJ7ZmlsdGVyOi4uLn1cIiBbc2VsZWN0ZWRDb2x1bW5zXT1cIlsnY29sMSddXCIgW3BlcnNpc3RTZWFyY2hdPVwiZmFsc2VcIj5cbiAqL1xuXG4vLyBAZHluYW1pY1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgY2xhc3MgTmF0dXJhbEFic3RyYWN0TGlzdDxcbiAgICAgICAgVFNlcnZpY2UgZXh0ZW5kcyBOYXR1cmFsQWJzdHJhY3RNb2RlbFNlcnZpY2U8XG4gICAgICAgICAgICBhbnksXG4gICAgICAgICAgICBhbnksXG4gICAgICAgICAgICBQYWdpbmF0ZWREYXRhPExpdGVyYWw+LFxuICAgICAgICAgICAgUXVlcnlWYXJpYWJsZXMsXG4gICAgICAgICAgICBhbnksXG4gICAgICAgICAgICBhbnksXG4gICAgICAgICAgICBhbnksXG4gICAgICAgICAgICBhbnksXG4gICAgICAgICAgICBhbnksXG4gICAgICAgICAgICBhbnlcbiAgICAgICAgPixcbiAgICAgICAgLy8gSW4gbW9zdCBjYXNlIHRoaXMgc2hvdWxkIG5vdCBiZSBzcGVjaWZpZWQgYnkgaW5oZXJpdGluZyBjbGFzc2VzLlxuICAgICAgICAvLyBJdCBzaG91bGQgb25seSBiZSBzcGVjaWZpZWQgdG8gb3ZlcnJpZGUgZGVmYXVsdCBpZiB0aGUgc2VydmljZSBpdGVtcyBhcmVcbiAgICAgICAgLy8gbWFwcGVkIHRvIGEgZGlmZmVyZW50IHN0cnVjdHVyZSBsaWtlIGluIE5hdHVyYWxBYnN0cmFjdE5hdmlnYWJsZUxpc3RcbiAgICAgICAgVGFsbCBleHRlbmRzIFBhZ2luYXRlZERhdGE8TWF5YmVOYXZpZ2FibGU+ID0gRXh0cmFjdFRhbGw8VFNlcnZpY2U+LFxuICAgID5cbiAgICBleHRlbmRzIE5hdHVyYWxBYnN0cmFjdFBhbmVsXG4gICAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveVxue1xuICAgIC8qKlxuICAgICAqIFdoZXJldmVyIHNlYXJjaCBzaG91bGQgYmUgbG9hZGVkIGZyb20gdXJsL3N0b3JhZ2UgYW5kIHBlcnNpc3RlZCBpbiBpdCB0b28uXG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIHBlcnNpc3RTZWFyY2ggPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICogQ29sdW1ucyBsaXN0IGFmdGVyIGludGVyYWN0aW9uIHdpdGggPG5hdHVyYWwtY29sdW1ucy1waWNrZXI+XG4gICAgICovXG4gICAgcHVibGljIGNvbHVtbnNGb3JUYWJsZTogc3RyaW5nW10gPSBbXTtcblxuICAgIC8qKlxuICAgICAqIFRoZSBkZWZhdWx0IGNvbHVtbiBzZWxlY3Rpb24gdGhhdCBhdXRvbWF0aWNhbGx5IGhhcHBlbmVkIGFmdGVyIDxuYXR1cmFsLWNvbHVtbnMtcGlja2VyPiBpbml0aWFsaXphdGlvblxuICAgICAqL1xuICAgIHByaXZhdGUgZGVmYXVsdFNlbGVjdGVkQ29sdW1uczogc3RyaW5nW10gfCBudWxsID0gbnVsbDtcblxuICAgIC8qKlxuICAgICAqIFZpc2libGUgKGNoZWNrZWQpIGNvbHVtbnNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgc2VsZWN0ZWRDb2x1bW5zPzogc3RyaW5nW107XG5cbiAgICAvKipcbiAgICAgKiBTb3VyY2Ugb2YgdGhlIGxpc3RcbiAgICAgKi9cbiAgICBwdWJsaWMgZGF0YVNvdXJjZT86IE5hdHVyYWxEYXRhU291cmNlPFRhbGw+O1xuXG4gICAgLyoqXG4gICAgICogU2VsZWN0aW9uIGZvciBidWxrIGFjdGlvbnNcbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgc2VsZWN0aW9uID0gbmV3IFNlbGVjdGlvbk1vZGVsPEV4dHJhY3RUYWxsPFRTZXJ2aWNlPlsnaXRlbXMnXVswXT4odHJ1ZSwgW10pO1xuXG4gICAgLyoqXG4gICAgICogTmV4dCBleGVjdXRlZCBhY3Rpb24gZnJvbSBidWxrIG1lbnVcbiAgICAgKi9cbiAgICBwdWJsaWMgYnVsa0FjdGlvblNlbGVjdGVkOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAgIC8qKlxuICAgICAqIENlbnRyYWxpc2F0aW9uIG9mIHF1ZXJ5IHZhcmlhYmxlc1xuICAgICAqL1xuICAgIHB1YmxpYyB2YXJpYWJsZXNNYW5hZ2VyOiBOYXR1cmFsUXVlcnlWYXJpYWJsZXNNYW5hZ2VyPEV4dHJhY3RWYWxsPFRTZXJ2aWNlPj4gPSBuZXcgTmF0dXJhbFF1ZXJ5VmFyaWFibGVzTWFuYWdlcjxcbiAgICAgICAgRXh0cmFjdFZhbGw8VFNlcnZpY2U+XG4gICAgPigpO1xuXG4gICAgLyoqXG4gICAgICogQ29uZmlndXJhdGlvbiBmb3IgbmF0dXJhbC1zZWFyY2ggZmFjZXRzXG4gICAgICovXG4gICAgcHVibGljIG5hdHVyYWxTZWFyY2hGYWNldHM6IE5hdHVyYWxTZWFyY2hGYWNldHMgPSBbXTtcblxuICAgIC8qKlxuICAgICAqIFJlc3VsdCBvZiBhIHNlYXJjaCAoY2FuIGJlIHByb3ZpZGVkIGFzIGlucHV0IGZvciBpbml0aWFsaXNhdGlvbilcbiAgICAgKi9cbiAgICBwdWJsaWMgbmF0dXJhbFNlYXJjaFNlbGVjdGlvbnM6IE5hdHVyYWxTZWFyY2hTZWxlY3Rpb25zID0gW1tdXTtcblxuICAgIC8qKlxuICAgICAqIERhdGEgYXR0cmlidXRlIHByb3ZpZGVkIGJ5IGFjdGl2YXRlZCByb3V0ZSBzbmFwc2hvdFxuICAgICAqL1xuICAgIHB1YmxpYyByb3V0ZURhdGE/OiBEYXRhO1xuXG4gICAgLyoqXG4gICAgICogTGlzdCBvZiBwYWdlIHNpemVzXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IHBhZ2VTaXplT3B0aW9ucyA9IFs1LCAxMCwgMjUsIDUwLCAxMDAsIDIwMF07XG5cbiAgICAvKipcbiAgICAgKiBJbml0aWFsIHBhZ2luYXRpb24gc2V0dXBcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgZGVmYXVsdFBhZ2luYXRpb246IFJlcXVpcmVkPFBhZ2luYXRpb25JbnB1dD4gPSB7XG4gICAgICAgIG9mZnNldDogbnVsbCxcbiAgICAgICAgcGFnZUluZGV4OiAwLFxuICAgICAgICBwYWdlU2l6ZTogMjUsXG4gICAgfTtcblxuICAgIC8qKlxuICAgICAqIEluaXRpYWwgc29ydGluZ1xuICAgICAqL1xuICAgIHByb3RlY3RlZCBkZWZhdWx0U29ydGluZz86IEFycmF5PFNvcnRpbmc+O1xuXG4gICAgcHJvdGVjdGVkIHJvdXRlcjogUm91dGVyO1xuICAgIHByb3RlY3RlZCByb3V0ZTogQWN0aXZhdGVkUm91dGU7XG4gICAgcHJvdGVjdGVkIGFsZXJ0U2VydmljZTogTmF0dXJhbEFsZXJ0U2VydmljZTtcbiAgICBwcm90ZWN0ZWQgcGVyc2lzdGVuY2VTZXJ2aWNlOiBOYXR1cmFsUGVyc2lzdGVuY2VTZXJ2aWNlO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSBzZXJ2aWNlOiBUU2VydmljZSwgcHJpdmF0ZSByZWFkb25seSBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICAgICAgc3VwZXIoKTtcblxuICAgICAgICB0aGlzLnJvdXRlciA9IGluamVjdG9yLmdldChSb3V0ZXIpO1xuICAgICAgICB0aGlzLnJvdXRlID0gaW5qZWN0b3IuZ2V0KEFjdGl2YXRlZFJvdXRlKTtcbiAgICAgICAgdGhpcy5hbGVydFNlcnZpY2UgPSBpbmplY3Rvci5nZXQoTmF0dXJhbEFsZXJ0U2VydmljZSk7XG4gICAgICAgIHRoaXMucGVyc2lzdGVuY2VTZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KE5hdHVyYWxQZXJzaXN0ZW5jZVNlcnZpY2UpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFZhcmlhYmxlcyB0aGF0IGFyZSBhbHdheXMgZm9yY2VkIG9uIGEgbGlzdCwgaW4gYWRkaXRpb24gdG8gd2hhdGV2ZXIgdGhlIGVuZC11c2VyIG1pZ2h0IHNlbGVjdFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCBmb3JjZWRWYXJpYWJsZXModmFyaWFibGVzOiBRdWVyeVZhcmlhYmxlcyB8IG51bGwgfCB1bmRlZmluZWQpIHtcbiAgICAgICAgaWYgKHZhcmlhYmxlcykge1xuICAgICAgICAgICAgdGhpcy5hcHBseUZvcmNlZFZhcmlhYmxlcyh2YXJpYWJsZXMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSWYgY2hhbmdlLCBjaGVjayBEb2N1bWVudHNDb21wb25lbnQgdGhhdCBvdmVycmlkZXMgdGhpcyBmdW5jdGlvbiB3aXRob3V0IGNhbGxpbmcgc3VwZXIubmdPbkluaXQoKS5cbiAgICAgKi9cbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucm91dGVEYXRhID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhO1xuXG4gICAgICAgIHRoaXMuaW5pdEZyb21Sb3V0ZSgpO1xuICAgICAgICB0aGlzLmluaXRGcm9tUGVyc2lzdGVkKCk7XG5cbiAgICAgICAgdGhpcy52YXJpYWJsZXNNYW5hZ2VyLmRlZmF1bHRzKCdwYWdpbmF0aW9uJywge3BhZ2luYXRpb246IHRoaXMuZGVmYXVsdFBhZ2luYXRpb259IGFzIEV4dHJhY3RWYWxsPFRTZXJ2aWNlPik7XG4gICAgICAgIHRoaXMudmFyaWFibGVzTWFuYWdlci5kZWZhdWx0cygnc29ydGluZycsIHtzb3J0aW5nOiB0aGlzLmRlZmF1bHRTb3J0aW5nfSBhcyBFeHRyYWN0VmFsbDxUU2VydmljZT4pO1xuXG4gICAgICAgIHRoaXMuZGF0YVNvdXJjZSA9IG5ldyBOYXR1cmFsRGF0YVNvdXJjZTxUYWxsPih0aGlzLmdldERhdGFPYnNlcnZhYmxlKCkpO1xuICAgICAgICB0aGlzLnNlbGVjdGlvbi5jbGVhcigpO1xuXG4gICAgICAgIC8vIFVwZGF0ZSBuYXR1cmFsIHNlYXJjaCB3aGVuIGhpc3RvcnkgY2hhbmdlcyAoYmFjay9mb3J3YXJkIGJ1dHRvbnMpXG4gICAgICAgIC8vIEhpc3Rvcnkgc3RhdGUgaXMgZGV0ZWN0YWJsZSBvbmx5IG9uIE5hdmlnYXRpb25TdGFydCAocG9wc3RhdGUgdHJpZ2dlcilcbiAgICAgICAgLy8gQnV0IHdlIG5lZWQgcGFyYW1ldGVycyBmcm9tIHVybCBhZnRlciBOYXZpZ2F0aW9uRW5kLiBTbyBwcm9jZWVkIGluIHR3byBzdGVwcyB3aXRoIGEgZmxhZy5cbiAgICAgICAgbGV0IGlzUG9wU3RhdGUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5yb3V0ZXIuZXZlbnRzXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSxcbiAgICAgICAgICAgICAgICBmaWx0ZXIoZXZlbnQgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQgJiYgZXZlbnQubmF2aWdhdGlvblRyaWdnZXIgPT09ICdwb3BzdGF0ZScpLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgaXNQb3BTdGF0ZSA9IHRydWU7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnJvdXRlci5ldmVudHNcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpLFxuICAgICAgICAgICAgICAgIGZpbHRlcihldmVudCA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQgJiYgaXNQb3BTdGF0ZSksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICBpc1BvcFN0YXRlID0gZmFsc2U7IC8vIHJlc2V0IGZsYWdcbiAgICAgICAgICAgICAgICB0aGlzLm5hdHVyYWxTZWFyY2hTZWxlY3Rpb25zID0gZnJvbVVybCh0aGlzLnBlcnNpc3RlbmNlU2VydmljZS5nZXRGcm9tVXJsKCducycsIHRoaXMucm91dGUpKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBlcnNpc3Qgc2VhcmNoIGFuZCB0aGVuIGxhdW5jaCB3aGF0ZXZlciBpcyByZXF1aXJlZCB0byByZWZyZXNoIHRoZSBsaXN0XG4gICAgICovXG4gICAgcHVibGljIHNlYXJjaChcbiAgICAgICAgbmF0dXJhbFNlYXJjaFNlbGVjdGlvbnM6IE5hdHVyYWxTZWFyY2hTZWxlY3Rpb25zLFxuICAgICAgICBuYXZpZ2F0aW9uRXh0cmFzPzogTmF2aWdhdGlvbkV4dHJhcyxcbiAgICAgICAgcmVzZXRQYWdpbmF0aW9uID0gdHJ1ZSxcbiAgICApOiB2b2lkIHtcbiAgICAgICAgLy8gUmVzZXQgcGFnZSBpbmRleCB0byByZXN0YXJ0IHRoZSBwYWdpbmF0aW9uIChwcmVzZXJ2ZSBwYWdlU2l6ZSlcblxuICAgICAgICBpZiAocmVzZXRQYWdpbmF0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLnZhcmlhYmxlc01hbmFnZXIubWVyZ2UoJ3BhZ2luYXRpb24nLCB7XG4gICAgICAgICAgICAgICAgcGFnaW5hdGlvbjogcGljayh0aGlzLmRlZmF1bHRQYWdpbmF0aW9uLCBbJ29mZnNldCcsICdwYWdlSW5kZXgnXSksXG4gICAgICAgICAgICB9IGFzIEV4dHJhY3RWYWxsPFRTZXJ2aWNlPik7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBQZXJzaXN0IGlmIGFjdGl2YXRlZFxuICAgICAgICAvLyBUd28gcGFyYWxsZWwgbmF2aWdhdGlvbnMgY29uZmxpY3QuIFdlIGZpcnN0IHBlcnNpc3QgdGhlIHNlYXJjaCwgdGhlbiB0aGUgcGFnaW5hdGlvblxuICAgICAgICBpZiAodGhpcy5wZXJzaXN0U2VhcmNoICYmICF0aGlzLmlzUGFuZWwpIHtcbiAgICAgICAgICAgIGNvbnN0IHByb21pc2UgPSB0aGlzLnBlcnNpc3RlbmNlU2VydmljZS5wZXJzaXN0KFxuICAgICAgICAgICAgICAgICducycsXG4gICAgICAgICAgICAgICAgdG9VcmwobmF0dXJhbFNlYXJjaFNlbGVjdGlvbnMpLFxuICAgICAgICAgICAgICAgIHRoaXMucm91dGUsXG4gICAgICAgICAgICAgICAgdGhpcy5nZXRTdG9yYWdlS2V5KCksXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBjb25zdCBwYWdpbmF0aW9uID0gdGhpcy5nZXRQYWdpbmF0aW9uKCk7XG4gICAgICAgICAgICB0aGlzLnBhZ2luYXRpb24ocGFnaW5hdGlvbiwgcHJvbWlzZSwgbmF2aWdhdGlvbkV4dHJhcyk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlYXJjaEFuZFJlZnJlc2hMaXN0KG5hdHVyYWxTZWFyY2hTZWxlY3Rpb25zKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGFuZ2Ugc29ydGluZyB2YXJpYWJsZXMgZm9yIHF1ZXJ5IGFuZCBwZXJzaXN0IHRoZSBuZXcgdmFsdWUgaW4gdXJsIGFuZCBsb2NhbCBzdG9yYWdlXG4gICAgICogVGhlIGRlZmF1bHQgdmFsdWUgaXMgbm90IHBlcnNpc3RlZFxuICAgICAqIEBwYXJhbSBzb3J0aW5nRXZlbnRzIExpc3Qgb2YgbWF0ZXJpYWwgc29ydGluZyBldmVudHNcbiAgICAgKi9cbiAgICBwdWJsaWMgc29ydGluZyhzb3J0aW5nRXZlbnRzOiAoU29ydCAmIFBhcnRpYWw8UGljazxTb3J0aW5nLCAnbnVsbEFzSGlnaGVzdCc+PilbXSk6IHZvaWQge1xuICAgICAgICAvLyBSZXNldCBwYWdlIGluZGV4IHRvIHJlc3RhcnQgdGhlIHBhZ2luYXRpb24gKHByZXNlcnZlIHBhZ2VTaXplKVxuICAgICAgICB0aGlzLnZhcmlhYmxlc01hbmFnZXIubWVyZ2UoJ3BhZ2luYXRpb24nLCB7XG4gICAgICAgICAgICBwYWdpbmF0aW9uOiBwaWNrKHRoaXMuZGVmYXVsdFBhZ2luYXRpb24sIFsnb2Zmc2V0JywgJ3BhZ2VJbmRleCddKSxcbiAgICAgICAgfSBhcyBFeHRyYWN0VmFsbDxUU2VydmljZT4pO1xuXG4gICAgICAgIC8vIFByZXNlcnZlIG9ubHkgc29ydGluZyBldmVudHMgd2l0aCBkaXJlY3Rpb24gYW5kIGNvbnZlcnQgaW50byBuYXR1cmFsL2dyYXBocWwgU29ydGluZyB0eXBlXG4gICAgICAgIGxldCBzb3J0aW5nOiBTb3J0aW5nW10gPSBzb3J0aW5nRXZlbnRzXG4gICAgICAgICAgICAuZmlsdGVyKGUgPT4gISFlLmRpcmVjdGlvbilcbiAgICAgICAgICAgIC5tYXAoc29ydGluZ0V2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBzOiBTb3J0aW5nID0ge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogc29ydGluZ0V2ZW50LmFjdGl2ZSxcbiAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgaWYgKHNvcnRpbmdFdmVudC5kaXJlY3Rpb24gPT09ICdhc2MnKSB7XG4gICAgICAgICAgICAgICAgICAgIHMub3JkZXIgPSBTb3J0aW5nT3JkZXIuQVNDO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoc29ydGluZ0V2ZW50LmRpcmVjdGlvbiA9PT0gJ2Rlc2MnKSB7XG4gICAgICAgICAgICAgICAgICAgIHMub3JkZXIgPSBTb3J0aW5nT3JkZXIuREVTQztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAoJ251bGxBc0hpZ2hlc3QnIGluIHNvcnRpbmdFdmVudCkge1xuICAgICAgICAgICAgICAgICAgICBzLm51bGxBc0hpZ2hlc3QgPSBzb3J0aW5nRXZlbnQubnVsbEFzSGlnaGVzdDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gcztcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIC8vIEVtcHR5IHNvcnRpbmcgZmFsbGJhY2tzIG9uIGRlZmF1bHRcbiAgICAgICAgaWYgKHNvcnRpbmcubGVuZ3RoID09PSAwICYmIHRoaXMuZGVmYXVsdFNvcnRpbmcpIHtcbiAgICAgICAgICAgIHNvcnRpbmcgPSB0aGlzLmRlZmF1bHRTb3J0aW5nO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU2V0IHNvcnRpbmcgYXMgc2VhcmNoIHZhcmlhYmxlXG4gICAgICAgIHRoaXMudmFyaWFibGVzTWFuYWdlci5zZXQoJ3NvcnRpbmcnLCB7c29ydGluZzogc29ydGluZ30gYXMgRXh0cmFjdFZhbGw8VFNlcnZpY2U+KTtcblxuICAgICAgICBpZiAodGhpcy5wZXJzaXN0U2VhcmNoICYmICF0aGlzLmlzUGFuZWwpIHtcbiAgICAgICAgICAgIC8vIElmIHNvcnRpbmcgaXMgZXF1YWwgdG8gZGVmYXVsdCBzb3J0aW5nLCBudWxsaWZ5IGl0IHRvIHJlbW92ZSBmcm9tIHBlcnNpc3RlbmNlICh1cmwgYW5kIHNlc3Npb24gc3RvcmFnZSlcbiAgICAgICAgICAgIGNvbnN0IHByb21pc2UgPSB0aGlzLnBlcnNpc3RlbmNlU2VydmljZS5wZXJzaXN0KFxuICAgICAgICAgICAgICAgICdzbycsXG4gICAgICAgICAgICAgICAgaXNFcXVhbChzb3J0aW5nLCB0aGlzLmRlZmF1bHRTb3J0aW5nKSA/IG51bGwgOiBzb3J0aW5nLFxuICAgICAgICAgICAgICAgIHRoaXMucm91dGUsXG4gICAgICAgICAgICAgICAgdGhpcy5nZXRTdG9yYWdlS2V5KCksXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBjb25zdCBwYWdpbmF0aW9uID0gdGhpcy5nZXRQYWdpbmF0aW9uKCk7XG4gICAgICAgICAgICB0aGlzLnBhZ2luYXRpb24ocGFnaW5hdGlvbiwgcHJvbWlzZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm4gY3VycmVudCBwYWdpbmF0aW9uLCBlaXRoZXIgdGhlIHVzZXIgZGVmaW5lZCBvbmUsIG9yIHRoZSBkZWZhdWx0IG9uZVxuICAgICAqL1xuICAgIHByaXZhdGUgZ2V0UGFnaW5hdGlvbigpOiBQYWdpbmF0aW9uSW5wdXQge1xuICAgICAgICBjb25zdCBwYWdpbmF0aW9uQ2hhbm5lbDogUGFydGlhbDxFeHRyYWN0VmFsbDxUU2VydmljZT4+IHwgdW5kZWZpbmVkID0gdGhpcy52YXJpYWJsZXNNYW5hZ2VyLmdldCgncGFnaW5hdGlvbicpO1xuXG4gICAgICAgIGlmIChwYWdpbmF0aW9uQ2hhbm5lbCAmJiBwYWdpbmF0aW9uQ2hhbm5lbC5wYWdpbmF0aW9uKSB7XG4gICAgICAgICAgICAvLyBUaGUgY2FzdCBzaG91bGQgbm90IGJlIG5lY2Vzc2FyeSBiZWNhdXNlIFR5cGVzY3JpcHQgY29ycmVjdGx5IG5hcnJvdyBkb3duIHRoZSB0eXBlIHRvIGBQYWdpbmF0aW9uSW5wdXRgXG4gICAgICAgICAgICAvLyBidXQgc29tZWhvdyBzdGlsbCBnZXQgY29uZnVzZWQgd2hlbiByZXR1cm5pbmcgaXRcbiAgICAgICAgICAgIHJldHVybiBwYWdpbmF0aW9uQ2hhbm5lbC5wYWdpbmF0aW9uIGFzIFBhZ2luYXRpb25JbnB1dDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmRlZmF1bHRQYWdpbmF0aW9uO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoYW5nZSBwYWdpbmF0aW9uIHZhcmlhYmxlcyBmb3IgcXVlcnkgYW5kIHBlcnNpc3QgaW4gdXJsIGFuZCBsb2NhbCBzdG9yYWdlIHRoZSBuZXcgdmFsdWVcbiAgICAgKiBUaGUgZGVmYXVsdCB2YWx1ZSBub3QgcGVyc2lzdGVkXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZXZlbnQgTmF0dXJhbCBvciBQYWdpbmF0b3IgUGFnZUV2ZW50XG4gICAgICogQHBhcmFtIGRlZmVyIFByb21pc2UgKHVzdWFsbHkgYSByb3V0ZSBwcm9taXNlKSB0aGF0IGRlZmVycyB0aGUgcmVkaXJlY3Rpb24gZnJvbSB0aGlzIGNhbGwgdG8gcHJldmVudCByb3V0ZSBuYXZpZ2F0aW9uIGNvbGxpc2lvblxuICAgICAqIEBwYXJhbSBuYXZpZ2F0aW9uRXh0cmFzIEFuZ3VsYXIgcm91dGVyIG5hdmlnYXRpb24gb3B0aW9ucy4gSXMgcmVsZXZhbnQgb25seSBpZiBwZXJzaXN0U2VhcmNoIGlzIHRydWVcbiAgICAgKi9cbiAgICBwdWJsaWMgcGFnaW5hdGlvbihcbiAgICAgICAgZXZlbnQ6IFBhZ2luYXRpb25JbnB1dCB8IFBhZ2VFdmVudCxcbiAgICAgICAgZGVmZXI/OiBQcm9taXNlPHVua25vd24+LFxuICAgICAgICBuYXZpZ2F0aW9uRXh0cmFzPzogTmF2aWdhdGlvbkV4dHJhcyxcbiAgICApOiB2b2lkIHtcbiAgICAgICAgbGV0IHBhZ2luYXRpb246IFBhZ2luYXRpb25JbnB1dCA9IHRoaXMuZGVmYXVsdFBhZ2luYXRpb247XG4gICAgICAgIGxldCBmb3JQZXJzaXN0ZW5jZTogUGFnaW5hdGlvbklucHV0IHwgbnVsbCA9IG51bGw7XG5cbiAgICAgICAgLy8gQ29udmVydCB0byBuYXR1cmFsL2dyYXBocWwgZm9ybWF0LCBhZGRpbmcgbWlzc2luZyBhdHRyaWJ1dGVzXG4gICAgICAgIGxldCBuYXR1cmFsRXZlbnQ6IFBhZ2luYXRpb25JbnB1dCA9IHBpY2soZXZlbnQsIE9iamVjdC5rZXlzKHRoaXMuZGVmYXVsdFBhZ2luYXRpb24pKTsgLy8gb2JqZWN0IHdpdGggb25seSBQYWdpbmF0aW9uSW5wdXQgYXR0cmlidXRlc1xuICAgICAgICBuYXR1cmFsRXZlbnQgPSBkZWZhdWx0cyhuYXR1cmFsRXZlbnQsIHRoaXMuZGVmYXVsdFBhZ2luYXRpb24pOyAvLyBEZWZhdWx0IHdpdGggY29udHJvbGxlciB2YWx1ZXNcblxuICAgICAgICBpZiAoIWlzRXF1YWwobmF0dXJhbEV2ZW50LCB0aGlzLmRlZmF1bHRQYWdpbmF0aW9uKSkge1xuICAgICAgICAgICAgcGFnaW5hdGlvbiA9IGZvclBlcnNpc3RlbmNlID0gbmF0dXJhbEV2ZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy52YXJpYWJsZXNNYW5hZ2VyLnNldCgncGFnaW5hdGlvbicsIHtwYWdpbmF0aW9ufSBhcyBFeHRyYWN0VmFsbDxUU2VydmljZT4pO1xuXG4gICAgICAgIHRoaXMucGVyc2lzdFBhZ2luYXRpb24oZm9yUGVyc2lzdGVuY2UsIGRlZmVyLCBuYXZpZ2F0aW9uRXh0cmFzKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgcGVyc2lzdFBhZ2luYXRpb24oXG4gICAgICAgIHBhZ2luYXRpb246IFBhZ2luYXRpb25JbnB1dCB8IG51bGwsXG4gICAgICAgIGRlZmVyPzogUHJvbWlzZTx1bmtub3duPixcbiAgICAgICAgbmF2aWdhdGlvbkV4dHJhcz86IE5hdmlnYXRpb25FeHRyYXMsXG4gICAgKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnBlcnNpc3RTZWFyY2ggJiYgIXRoaXMuaXNQYW5lbCkge1xuICAgICAgICAgICAgLy8gRGVjbGFyZSBwZXJzaXN0IGZ1bmN0aW9uXG4gICAgICAgICAgICBjb25zdCBwZXJzaXN0ID0gKHZhbHVlOiBQYWdpbmF0aW9uSW5wdXQgfCBudWxsKTogUHJvbWlzZTxib29sZWFuPiA9PlxuICAgICAgICAgICAgICAgIHRoaXMucGVyc2lzdGVuY2VTZXJ2aWNlLnBlcnNpc3QoJ3BhJywgdmFsdWUsIHRoaXMucm91dGUsIHRoaXMuZ2V0U3RvcmFnZUtleSgpLCBuYXZpZ2F0aW9uRXh0cmFzKTtcblxuICAgICAgICAgICAgLy8gQ2FsbCBmdW5jdGlvbiBkaXJlY3RseSBvciB3aGVuIHByb21pc2UgaXMgcmVzb2x2ZWRcbiAgICAgICAgICAgIGlmIChkZWZlcikge1xuICAgICAgICAgICAgICAgIGRlZmVyLnRoZW4oKCkgPT4gcGVyc2lzdChwYWdpbmF0aW9uKSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHBlcnNpc3QocGFnaW5hdGlvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZWxlY3RzIGFsbCByb3dzIGlmIHRoZXkgYXJlIG5vdCBhbGwgc2VsZWN0ZWQ7IG90aGVyd2lzZSBjbGVhciBzZWxlY3Rpb25cbiAgICAgKi9cbiAgICBwdWJsaWMgbWFzdGVyVG9nZ2xlKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc0FsbFNlbGVjdGVkKCkpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uLmNsZWFyKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmRhdGFTb3VyY2U/LmRhdGE/Lml0ZW1zLmZvckVhY2gocm93ID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCB1bndyYXBwZWQgPSB1bndyYXBOYXZpZ2FibGUocm93KTtcbiAgICAgICAgICAgICAgICBpZiAodW53cmFwcGVkLmlkKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uLnNlbGVjdCh1bndyYXBwZWQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGUgbnVtYmVyIG9mIHNlbGVjdGVkIGVsZW1lbnRzIG1hdGNoZXMgdGhlIHRvdGFsIG51bWJlciBvZiByb3dzXG4gICAgICovXG4gICAgcHVibGljIGlzQWxsU2VsZWN0ZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IG51bVNlbGVjdGVkID0gdGhpcy5zZWxlY3Rpb24uc2VsZWN0ZWQubGVuZ3RoO1xuICAgICAgICBsZXQgbnVtUm93cyA9IDA7XG4gICAgICAgIHRoaXMuZGF0YVNvdXJjZT8uZGF0YT8uaXRlbXMuZm9yRWFjaChyb3cgPT4ge1xuICAgICAgICAgICAgY29uc3QgdW53cmFwcGVkID0gdW53cmFwTmF2aWdhYmxlKHJvdyk7XG4gICAgICAgICAgICBpZiAodW53cmFwcGVkLmlkKSB7XG4gICAgICAgICAgICAgICAgbnVtUm93cysrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gbnVtU2VsZWN0ZWQgPT09IG51bVJvd3M7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FsbGVkIHdoZW4gYSBidWxrIGFjdGlvbiBpcyBzZWxlY3RlZFxuICAgICAqL1xuICAgIHB1YmxpYyBidWxrQWN0aW9uKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuYnVsa0FjdGlvblNlbGVjdGVkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RyeWluZyB0byBleGVjdXRlIGEgYnVsayBhY3Rpb24gd2l0aG91dCBzZWxlY3Rpbmcgb25lJyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoISh0aGlzLmJ1bGtBY3Rpb25TZWxlY3RlZCBpbiB0aGlzKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdUcnlpbmcgdG8gZXhlY3V0ZSBhIGJ1bGsgYWN0aW9uIHRoYXQgZG9lcyBub3QgZXhpc3Q6ICcgKyB0aGlzLmJ1bGtBY3Rpb25TZWxlY3RlZCk7XG4gICAgICAgIH1cblxuICAgICAgICAodGhpcyBhcyBhbnkpW3RoaXMuYnVsa0FjdGlvblNlbGVjdGVkXSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEhlYWRlciBpcyBhbHdheXMgdmlzaWJsZSBpbiBub24tcGFuZWwgY29udGV4dFxuICAgICAqIElzIGhpZGRlbiB3aGVuIG5vIHJlc3VsdHMgaW4gcGFuZWxzXG4gICAgICovXG4gICAgcHVibGljIHNob3dIZWFkZXIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5pc1BhbmVsIHx8ICh0aGlzLmlzUGFuZWwgJiYgdGhpcy5zaG93VGFibGUoKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2VhcmNoIGlzIHZpc2libGUgaW4gbW9zdCBjYXNlcywgYnV0IGhpZGRlbiBvbiBhIHBhbmVsXG4gICAgICovXG4gICAgcHVibGljIHNob3dTZWFyY2goKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5pc1BhbmVsO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRhYmxlIHNob3VsZCBiZSBzaG93biBvbmx5IHdoZW4gdGhlcmUgaXMgZGF0YVxuICAgICAqL1xuICAgIHB1YmxpYyBzaG93VGFibGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuZGF0YVNvdXJjZSAmJiAhIXRoaXMuZGF0YVNvdXJjZS5kYXRhICYmIHRoaXMuZGF0YVNvdXJjZS5kYXRhLmxlbmd0aCA+IDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTm8gcmVzdWx0cyBpcyBzaG93biB3aGVuIHRoZXJlIGlzIG5vIGl0ZW1zLCBidXQgb25seSBpbiBub24tcGFuZWwgY29udGV4dCBvbmx5LlxuICAgICAqIEluIHBhbmVscyB3ZSB3YW50IGRpc2NyZXRlIG1vZGUsIHRoZXJlIGlzIG5vIHNlYXJjaCBhbmQgbm8gXCJuby1yZXN1bHRzXCJcbiAgICAgKi9cbiAgICBwdWJsaWMgc2hvd05vUmVzdWx0cygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLmlzUGFuZWwgJiYgISF0aGlzLmRhdGFTb3VyY2UgJiYgISF0aGlzLmRhdGFTb3VyY2UuZGF0YSAmJiB0aGlzLmRhdGFTb3VyY2UuZGF0YS5sZW5ndGggPT09IDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSW5pdGlhbGl6ZSBmcm9tIHJvdXRlLlxuICAgICAqXG4gICAgICogVXNlcyBkYXRhIHByb3ZpZGVkIGJ5IHJvdXRlciBzdWNoIGFzOlxuICAgICAqXG4gICAgICogLSBgcm91dGUuZGF0YS5mb3JjZWRWYXJpYWJsZXNgXG4gICAgICogLSBgcm91dGUuZGF0YS5zZWxlY3RlZENvbHVtbnNgXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGluaXRGcm9tUm91dGUoKTogdm9pZCB7XG4gICAgICAgIC8vIFZhcmlhYmxlc1xuICAgICAgICBpZiAodGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhLmZvcmNlZFZhcmlhYmxlcykge1xuICAgICAgICAgICAgdGhpcy5hcHBseUZvcmNlZFZhcmlhYmxlcyh0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGEuZm9yY2VkVmFyaWFibGVzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIENvbHVtbnNcbiAgICAgICAgaWYgKHRoaXMucm91dGUuc25hcHNob3QuZGF0YS5zZWxlY3RlZENvbHVtbnMpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRDb2x1bW5zID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhLnNlbGVjdGVkQ29sdW1ucztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXREYXRhT2JzZXJ2YWJsZSgpOiBPYnNlcnZhYmxlPFRhbGw+IHtcbiAgICAgICAgLy8gSGVyZSB0aGUgY2FzdGluZyBpcyBhIGJpdCB1bmZvcnR1bmF0ZSBidXQgcmVxdWlyZWQgYmVjYXVzZSBOYXR1cmFsQWJzdHJhY3ROYXZpZ2FibGVMaXN0XG4gICAgICAgIC8vIGJyZWFrcyB0aGUgZGF0YSBzdHJ1Y3R1cmUgY29udmVudGlvbiAoYnkgd3JhcHBpbmcgaXRlbXMgaW4gYSBzdHJ1Y3R1cmUpLiBJZGVhbGx5IHdlIHNob3VsZCByZW1vdmVcbiAgICAgICAgLy8gdGhlIGNhc3RpbmcgYW5kIHJlc29sdmUgdGhpbmdzIGluIGEgYmV0dGVyIHdheSwgYnV0IHRoYXQncyB0b28gbXVjaCB3b3JrIGZvciBub3dcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZVxuICAgICAgICAgICAgLndhdGNoQWxsKHRoaXMudmFyaWFibGVzTWFuYWdlciBhcyB1bmtub3duIGFzIGFueSlcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKSBhcyB1bmtub3duIGFzIE9ic2VydmFibGU8VGFsbD47XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGluaXRGcm9tUGVyc2lzdGVkKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMucGVyc2lzdFNlYXJjaCB8fCB0aGlzLmlzUGFuZWwpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHN0b3JhZ2VLZXkgPSB0aGlzLmdldFN0b3JhZ2VLZXkoKTtcblxuICAgICAgICAvLyBQYWdpbmF0aW9uIDogcGFcbiAgICAgICAgY29uc3QgcGFnaW5hdGlvbiA9IHRoaXMucGVyc2lzdGVuY2VTZXJ2aWNlLmdldCgncGEnLCB0aGlzLnJvdXRlLCBzdG9yYWdlS2V5KTtcbiAgICAgICAgaWYgKHBhZ2luYXRpb24pIHtcbiAgICAgICAgICAgIHRoaXMudmFyaWFibGVzTWFuYWdlci5zZXQoJ3BhZ2luYXRpb24nLCB7cGFnaW5hdGlvbn0gYXMgRXh0cmFjdFZhbGw8VFNlcnZpY2U+KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFNvcnRpbmcgOiBzb1xuICAgICAgICBjb25zdCBzb3J0aW5nID0gdGhpcy5wZXJzaXN0ZW5jZVNlcnZpY2UuZ2V0KCdzbycsIHRoaXMucm91dGUsIHN0b3JhZ2VLZXkpO1xuICAgICAgICBpZiAoc29ydGluZykge1xuICAgICAgICAgICAgdGhpcy52YXJpYWJsZXNNYW5hZ2VyLnNldCgnc29ydGluZycsIHtzb3J0aW5nfSBhcyBFeHRyYWN0VmFsbDxUU2VydmljZT4pO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQ29sdW1uc1xuICAgICAgICBjb25zdCBwZXJzaXN0ZWRDb2x1bW5zID0gdGhpcy5wZXJzaXN0ZW5jZVNlcnZpY2UuZ2V0KCdjb2wnLCB0aGlzLnJvdXRlLCBzdG9yYWdlS2V5KTtcbiAgICAgICAgaWYgKHR5cGVvZiBwZXJzaXN0ZWRDb2x1bW5zID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZENvbHVtbnMgPSBwZXJzaXN0ZWRDb2x1bW5zLnNwbGl0KCcsJyk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBOYXR1cmFsIHNlYXJjaCA6IG5zXG4gICAgICAgIHRoaXMubmF0dXJhbFNlYXJjaFNlbGVjdGlvbnMgPSBmcm9tVXJsKHRoaXMucGVyc2lzdGVuY2VTZXJ2aWNlLmdldCgnbnMnLCB0aGlzLnJvdXRlLCBzdG9yYWdlS2V5KSk7XG4gICAgICAgIHRoaXMudHJhbnNsYXRlU2VhcmNoQW5kUmVmcmVzaExpc3QodGhpcy5uYXR1cmFsU2VhcmNoU2VsZWN0aW9ucywgdHJ1ZSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHRyYW5zbGF0ZVNlYXJjaEFuZFJlZnJlc2hMaXN0KFxuICAgICAgICBuYXR1cmFsU2VhcmNoU2VsZWN0aW9uczogTmF0dXJhbFNlYXJjaFNlbGVjdGlvbnMsXG4gICAgICAgIGlnbm9yZUVtcHR5RmlsdGVyID0gZmFsc2UsXG4gICAgKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGZpbHRlciA9IHRvR3JhcGhRTERvY3RyaW5lRmlsdGVyKHRoaXMubmF0dXJhbFNlYXJjaEZhY2V0cywgbmF0dXJhbFNlYXJjaFNlbGVjdGlvbnMpO1xuXG4gICAgICAgIGlmIChpZ25vcmVFbXB0eUZpbHRlciAmJiBpc0VtcHR5KGZpbHRlcikpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudmFyaWFibGVzTWFuYWdlci5zZXQoJ25hdHVyYWwtc2VhcmNoJywge2ZpbHRlcn0gYXMgRXh0cmFjdFZhbGw8VFNlcnZpY2U+KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm4gY3VycmVudCB1cmwgZXhjbHVkaW5nIGxhc3Qgcm91dGUgcGFyYW1ldGVycztcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgZ2V0U3RvcmFnZUtleSgpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCB1cmxUcmVlID0gdGhpcy5yb3V0ZXIucGFyc2VVcmwodGhpcy5yb3V0ZXIudXJsKTtcbiAgICAgICAgdXJsVHJlZS5yb290LmNoaWxkcmVuLnByaW1hcnkuc2VnbWVudHNbdXJsVHJlZS5yb290LmNoaWxkcmVuLnByaW1hcnkuc2VnbWVudHMubGVuZ3RoIC0gMV0ucGFyYW1ldGVycyA9IHt9O1xuICAgICAgICByZXR1cm4gdXJsVHJlZS50b1N0cmluZygpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBidWxrZERlbGV0ZUNvbmZpcm1hdGlvbigpOiBPYnNlcnZhYmxlPGJvb2xlYW4gfCB1bmRlZmluZWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYWxlcnRTZXJ2aWNlLmNvbmZpcm0oXG4gICAgICAgICAgICAkbG9jYWxpemVgU3VwcHJlc3Npb25gLFxuICAgICAgICAgICAgJGxvY2FsaXplYFZvdWxlei12b3VzIHN1cHByaW1lciBkw6lmaW5pdGl2ZW1lbnQgbGVzIMOpbMOpbWVudHMgc8OpbGVjdGlvbm7DqXMgP2AsXG4gICAgICAgICAgICAkbG9jYWxpemVgU3VwcHJpbWVyIGTDqWZpbml0aXZlbWVudGAsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGVsZXRlIG11bHRpcGxlIGl0ZW1zIGF0IG9uY2VcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgYnVsa0RlbGV0ZSgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICAgICAgY29uc3Qgc3ViamVjdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgICAgIHRoaXMuYnVsa2REZWxldGVDb25maXJtYXRpb24oKS5zdWJzY3JpYmUoY29uZmlybWVkID0+IHtcbiAgICAgICAgICAgIHRoaXMuYnVsa0FjdGlvblNlbGVjdGVkID0gbnVsbDtcbiAgICAgICAgICAgIGlmIChjb25maXJtZWQpIHtcbiAgICAgICAgICAgICAgICAvLyBBc3N1bWUgdGhhdCBvdXIgb2JqZWN0cyBoYXZlIElELiBUaGlzIGlzIHRydWUgaW4gYWxtb3N0IGFsbCBjYXNlcy4gQnV0IGlmXG4gICAgICAgICAgICAgICAgLy8gaXQgaXMgbm90LCBsaWtlIEF0dHJpYnV0ZVJlcG9ydENvbXBvbmVudCwgdGhlbiB0aGUgaW5oZXJpdGluZyBjbGFzcyBtdXN0XG4gICAgICAgICAgICAgICAgLy8gbmV2ZXIgY2FsbCB0aGlzIG1ldGhvZC5cbiAgICAgICAgICAgICAgICBjb25zdCBzZWxlY3Rpb24gPSB0aGlzLnNlbGVjdGlvbi5zZWxlY3RlZCBhcyB7aWQ6IHN0cmluZ31bXTtcblxuICAgICAgICAgICAgICAgIHRoaXMuc2VydmljZS5kZWxldGUoc2VsZWN0aW9uKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGlvbi5jbGVhcigpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5pbmZvKCRsb2NhbGl6ZWBTdXBwcmltw6lgKTtcbiAgICAgICAgICAgICAgICAgICAgc3ViamVjdC5uZXh0KCk7XG4gICAgICAgICAgICAgICAgICAgIHN1YmplY3QuY29tcGxldGUoKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHN1YmplY3Q7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhcHBseUZvcmNlZFZhcmlhYmxlcyh2YXJpYWJsZXM6IFF1ZXJ5VmFyaWFibGVzKTogdm9pZCB7XG4gICAgICAgIGlmICh2YXJpYWJsZXMuZmlsdGVyKSB7XG4gICAgICAgICAgICB0aGlzLnZhcmlhYmxlc01hbmFnZXIuc2V0KCdmb3JjZWQtZmlsdGVyJywge2ZpbHRlcjogdmFyaWFibGVzLmZpbHRlcn0gYXMgRXh0cmFjdFZhbGw8VFNlcnZpY2U+KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh2YXJpYWJsZXMucGFnaW5hdGlvbikge1xuICAgICAgICAgICAgdGhpcy52YXJpYWJsZXNNYW5hZ2VyLnNldCgncGFnaW5hdGlvbicsIHtwYWdpbmF0aW9uOiB2YXJpYWJsZXMucGFnaW5hdGlvbn0gYXMgRXh0cmFjdFZhbGw8VFNlcnZpY2U+KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh2YXJpYWJsZXMuc29ydGluZykge1xuICAgICAgICAgICAgdGhpcy52YXJpYWJsZXNNYW5hZ2VyLnNldCgnc29ydGluZycsIHtzb3J0aW5nOiB2YXJpYWJsZXMuc29ydGluZ30gYXMgRXh0cmFjdFZhbGw8VFNlcnZpY2U+KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBzZWxlY3RDb2x1bW5zKGNvbHVtbnM6IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29sdW1uc0ZvclRhYmxlID0gY29sdW1ucztcblxuICAgICAgICBpZiAoIXRoaXMucGVyc2lzdFNlYXJjaCB8fCB0aGlzLmlzUGFuZWwpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFRoZSBmaXJzdCBzZWxlY3Rpb24gd2UgcmVjZWl2ZSBpcyB0aGUgZGVmYXVsdCBvbmUgbWFkZSBieSA8bmF0dXJhbC1jb2x1bW5zLXBpY2tlcj5cbiAgICAgICAgaWYgKCF0aGlzLmRlZmF1bHRTZWxlY3RlZENvbHVtbnMpIHtcbiAgICAgICAgICAgIHRoaXMuZGVmYXVsdFNlbGVjdGVkQ29sdW1ucyA9IGNvbHVtbnM7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBQZXJzaXN0IG9ubHkgaWYgd2FudGVkIGNvbHVtbnMgYXJlIGRpZmZlcmVudCBmcm9tIGRlZmF1bHQgc2VsZWN0aW9uXG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IGlzRXF1YWwodGhpcy5kZWZhdWx0U2VsZWN0ZWRDb2x1bW5zLCBjb2x1bW5zKSA/IG51bGwgOiBjb2x1bW5zLmpvaW4oJywnKTtcbiAgICAgICAgICAgIHRoaXMucGVyc2lzdGVuY2VTZXJ2aWNlLnBlcnNpc3QoJ2NvbCcsIHZhbHVlLCB0aGlzLnJvdXRlLCB0aGlzLmdldFN0b3JhZ2VLZXkoKSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { CommonModule } from '@angular/common';
|
|
2
2
|
import { NgModule } from '@angular/core';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
3
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
4
|
+
import { MatDialogModule } from '@angular/material/dialog';
|
|
5
|
+
import { MatSnackBarModule } from '@angular/material/snack-bar';
|
|
6
6
|
import { NaturalConfirmComponent } from './confirm.component';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
export class NaturalAlertModule {
|
|
@@ -17,4 +17,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImpor
|
|
|
17
17
|
imports: [CommonModule, MatDialogModule, MatSnackBarModule, MatButtonModule],
|
|
18
18
|
}]
|
|
19
19
|
}] });
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC9zcmMvbGliL21vZHVsZXMvYWxlcnQvYWxlcnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0scUJBQXFCLENBQUM7O0FBTTVELE1BQU0sT0FBTyxrQkFBa0I7OytHQUFsQixrQkFBa0I7Z0hBQWxCLGtCQUFrQixpQkFIWix1QkFBdUIsYUFDNUIsWUFBWSxFQUFFLGVBQWUsRUFBRSxpQkFBaUIsRUFBRSxlQUFlO2dIQUVsRSxrQkFBa0IsWUFGakIsWUFBWSxFQUFFLGVBQWUsRUFBRSxpQkFBaUIsRUFBRSxlQUFlOzJGQUVsRSxrQkFBa0I7a0JBSjlCLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFLENBQUMsdUJBQXVCLENBQUM7b0JBQ3ZDLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxDQUFDO2lCQUMvRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge01hdEJ1dHRvbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7TWF0RGlhbG9nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHtNYXRTbmFja0Jhck1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcbmltcG9ydCB7TmF0dXJhbENvbmZpcm1Db21wb25lbnR9IGZyb20gJy4vY29uZmlybS5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW05hdHVyYWxDb25maXJtQ29tcG9uZW50XSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNYXREaWFsb2dNb2R1bGUsIE1hdFNuYWNrQmFyTW9kdWxlLCBNYXRCdXR0b25Nb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBOYXR1cmFsQWxlcnRNb2R1bGUge31cbiJdfQ==
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import { NaturalConfirmComponent } from './confirm.component';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/material/
|
|
5
|
-
import * as i2 from "@angular/material/
|
|
4
|
+
import * as i1 from "@angular/material/dialog";
|
|
5
|
+
import * as i2 from "@angular/material/snack-bar";
|
|
6
6
|
export class NaturalAlertService {
|
|
7
7
|
constructor(dialog, snackBar) {
|
|
8
8
|
this.dialog = dialog;
|
|
@@ -44,12 +44,12 @@ export class NaturalAlertService {
|
|
|
44
44
|
return dialog.afterClosed();
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
|
-
NaturalAlertService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NaturalAlertService, deps: [{ token: i1.
|
|
47
|
+
NaturalAlertService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NaturalAlertService, deps: [{ token: i1.MatDialog }, { token: i2.MatSnackBar }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
48
48
|
NaturalAlertService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NaturalAlertService, providedIn: 'root' });
|
|
49
49
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NaturalAlertService, decorators: [{
|
|
50
50
|
type: Injectable,
|
|
51
51
|
args: [{
|
|
52
52
|
providedIn: 'root',
|
|
53
53
|
}]
|
|
54
|
-
}], ctorParameters: function () { return [{ type: i1.
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
}], ctorParameters: function () { return [{ type: i1.MatDialog }, { type: i2.MatSnackBar }]; } });
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL2FsZXJ0L2FsZXJ0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUl6QyxPQUFPLEVBQUMsdUJBQXVCLEVBQXFCLE1BQU0scUJBQXFCLENBQUM7Ozs7QUFLaEYsTUFBTSxPQUFPLG1CQUFtQjtJQUM1QixZQUFvQyxNQUFpQixFQUFtQixRQUFxQjtRQUF6RCxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQW1CLGFBQVEsR0FBUixRQUFRLENBQWE7SUFBRyxDQUFDO0lBRWpHOztPQUVHO0lBQ0ksSUFBSSxDQUFDLE9BQWUsRUFBRSxXQUEwQixJQUFJO1FBQ3ZELE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRTtZQUMxQyxRQUFRLEVBQUUsUUFBUSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFRO1lBQ2xELGdCQUFnQixFQUFFLEtBQUs7WUFDdkIsa0JBQWtCLEVBQUUsS0FBSztTQUM1QixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsT0FBZSxFQUFFLFdBQTBCLElBQUksRUFBRSxNQUFlO1FBQ3pFLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRTtZQUN2QyxRQUFRLEVBQUUsUUFBUSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFRO1lBQ2xELFVBQVUsRUFBRSxDQUFDLGdCQUFnQixDQUFDO1lBQzlCLGdCQUFnQixFQUFFLEtBQUs7WUFDdkIsa0JBQWtCLEVBQUUsS0FBSztTQUM1QixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxPQUFPLENBQ1YsS0FBYSxFQUNiLE9BQWUsRUFDZixXQUFtQixFQUNuQixhQUFxQixTQUFTLENBQUEsU0FBUztRQUV2QyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBdUQsdUJBQXVCLEVBQUU7WUFDM0csSUFBSSxFQUFFO2dCQUNGLEtBQUssRUFBRSxLQUFLO2dCQUNaLE9BQU8sRUFBRSxPQUFPO2dCQUNoQixXQUFXLEVBQUUsV0FBVztnQkFDeEIsVUFBVSxFQUFFLFVBQVU7YUFDekI7U0FDSixDQUFDLENBQUM7UUFFSCxPQUFPLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNoQyxDQUFDOztnSEE3Q1EsbUJBQW1CO29IQUFuQixtQkFBbUIsY0FGaEIsTUFBTTsyRkFFVCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TWF0RGlhbG9nfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHtNYXRTbmFja0JhciwgTWF0U25hY2tCYXJSZWYsIFNpbXBsZVNuYWNrQmFyfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7TmF0dXJhbENvbmZpcm1Db21wb25lbnQsIE5hdHVyYWxDb25maXJtRGF0YX0gZnJvbSAnLi9jb25maXJtLmNvbXBvbmVudCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIE5hdHVyYWxBbGVydFNlcnZpY2Uge1xuICAgIHB1YmxpYyBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGRpYWxvZzogTWF0RGlhbG9nLCBwcml2YXRlIHJlYWRvbmx5IHNuYWNrQmFyOiBNYXRTbmFja0Jhcikge31cblxuICAgIC8qKlxuICAgICAqIFNob3cgYW4gaW5mb3JtYXRpdmUgbWVzc2FnZSBpbiBhIHNuYWNrIGJhclxuICAgICAqL1xuICAgIHB1YmxpYyBpbmZvKG1lc3NhZ2U6IHN0cmluZywgZHVyYXRpb246IG51bWJlciB8IG51bGwgPSAyNTAwKTogTWF0U25hY2tCYXJSZWY8U2ltcGxlU25hY2tCYXI+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc25hY2tCYXIub3BlbihtZXNzYWdlLCB1bmRlZmluZWQsIHtcbiAgICAgICAgICAgIGR1cmF0aW9uOiBkdXJhdGlvbiA9PT0gbnVsbCA/IHVuZGVmaW5lZCA6IGR1cmF0aW9uLFxuICAgICAgICAgICAgdmVydGljYWxQb3NpdGlvbjogJ3RvcCcsXG4gICAgICAgICAgICBob3Jpem9udGFsUG9zaXRpb246ICdlbmQnLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTaG93IGFuIGVycm9yIGluIGEgc25hY2sgYmFyXG4gICAgICovXG4gICAgcHVibGljIGVycm9yKG1lc3NhZ2U6IHN0cmluZywgZHVyYXRpb246IG51bWJlciB8IG51bGwgPSAyNTAwLCBhY3Rpb24/OiBzdHJpbmcpOiBNYXRTbmFja0JhclJlZjxTaW1wbGVTbmFja0Jhcj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zbmFja0Jhci5vcGVuKG1lc3NhZ2UsIGFjdGlvbiwge1xuICAgICAgICAgICAgZHVyYXRpb246IGR1cmF0aW9uID09PSBudWxsID8gdW5kZWZpbmVkIDogZHVyYXRpb24sXG4gICAgICAgICAgICBwYW5lbENsYXNzOiBbJ3NuYWNrYmFyLWVycm9yJ10sXG4gICAgICAgICAgICB2ZXJ0aWNhbFBvc2l0aW9uOiAndG9wJyxcbiAgICAgICAgICAgIGhvcml6b250YWxQb3NpdGlvbjogJ2VuZCcsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNob3cgYSBzaW1wbGUgY29uZmlybWF0aW9uIGRpYWxvZyBhbmQgcmV0dXJucyB0cnVlIGlmIHVzZXIgY29uZmlybWVkIGl0XG4gICAgICovXG4gICAgcHVibGljIGNvbmZpcm0oXG4gICAgICAgIHRpdGxlOiBzdHJpbmcsXG4gICAgICAgIG1lc3NhZ2U6IHN0cmluZyxcbiAgICAgICAgY29uZmlybVRleHQ6IHN0cmluZyxcbiAgICAgICAgY2FuY2VsVGV4dDogc3RyaW5nID0gJGxvY2FsaXplYEFubnVsZXJgLFxuICAgICk6IE9ic2VydmFibGU8Ym9vbGVhbiB8IHVuZGVmaW5lZD4ge1xuICAgICAgICBjb25zdCBkaWFsb2cgPSB0aGlzLmRpYWxvZy5vcGVuPE5hdHVyYWxDb25maXJtQ29tcG9uZW50LCBOYXR1cmFsQ29uZmlybURhdGEsIGJvb2xlYW4+KE5hdHVyYWxDb25maXJtQ29tcG9uZW50LCB7XG4gICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgdGl0bGU6IHRpdGxlLFxuICAgICAgICAgICAgICAgIG1lc3NhZ2U6IG1lc3NhZ2UsXG4gICAgICAgICAgICAgICAgY29uZmlybVRleHQ6IGNvbmZpcm1UZXh0LFxuICAgICAgICAgICAgICAgIGNhbmNlbFRleHQ6IGNhbmNlbFRleHQsXG4gICAgICAgICAgICB9LFxuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gZGlhbG9nLmFmdGVyQ2xvc2VkKCk7XG4gICAgfVxufVxuIl19
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import { Component, Inject } from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { MAT_DIALOG_DATA } from '@angular/material/dialog';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/material/
|
|
5
|
-
import * as i2 from "@angular/material/
|
|
4
|
+
import * as i1 from "@angular/material/dialog";
|
|
5
|
+
import * as i2 from "@angular/material/button";
|
|
6
6
|
export class NaturalConfirmComponent {
|
|
7
7
|
constructor(data) {
|
|
8
8
|
this.data = data;
|
|
9
9
|
}
|
|
10
10
|
}
|
|
11
11
|
NaturalConfirmComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NaturalConfirmComponent, deps: [{ token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
|
|
12
|
-
NaturalConfirmComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: NaturalConfirmComponent, selector: "ng-component", ngImport: i0, template: "<h2 mat-dialog-title>{{ data.title }}</h2>\n<mat-dialog-content\n ><p class=\"mat-body\">{{ data.message }}</p></mat-dialog-content\n>\n<mat-dialog-actions>\n <button [mat-dialog-close]=\"false\" mat-button>{{ data.cancelText }}</button>\n <button [mat-dialog-close]=\"true\" mat-stroked-button cdkFocusInitial>{{ data.confirmText }}</button>\n</mat-dialog-actions>\n", styles: ["mat-dialog-content{max-width:40em}
|
|
12
|
+
NaturalConfirmComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: NaturalConfirmComponent, selector: "ng-component", ngImport: i0, template: "<h2 mat-dialog-title>{{ data.title }}</h2>\n<mat-dialog-content\n ><p class=\"mat-body\">{{ data.message }}</p></mat-dialog-content\n>\n<mat-dialog-actions align=\"end\">\n <button [mat-dialog-close]=\"false\" mat-button>{{ data.cancelText }}</button>\n <button [mat-dialog-close]=\"true\" mat-stroked-button cdkFocusInitial>{{ data.confirmText }}</button>\n</mat-dialog-actions>\n", styles: ["mat-dialog-content{max-width:40em}\n"], dependencies: [{ kind: "directive", type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }] });
|
|
13
13
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NaturalConfirmComponent, decorators: [{
|
|
14
14
|
type: Component,
|
|
15
|
-
args: [{ template: "<h2 mat-dialog-title>{{ data.title }}</h2>\n<mat-dialog-content\n ><p class=\"mat-body\">{{ data.message }}</p></mat-dialog-content\n>\n<mat-dialog-actions>\n <button [mat-dialog-close]=\"false\" mat-button>{{ data.cancelText }}</button>\n <button [mat-dialog-close]=\"true\" mat-stroked-button cdkFocusInitial>{{ data.confirmText }}</button>\n</mat-dialog-actions>\n", styles: ["mat-dialog-content{max-width:40em}
|
|
15
|
+
args: [{ template: "<h2 mat-dialog-title>{{ data.title }}</h2>\n<mat-dialog-content\n ><p class=\"mat-body\">{{ data.message }}</p></mat-dialog-content\n>\n<mat-dialog-actions align=\"end\">\n <button [mat-dialog-close]=\"false\" mat-button>{{ data.cancelText }}</button>\n <button [mat-dialog-close]=\"true\" mat-stroked-button cdkFocusInitial>{{ data.confirmText }}</button>\n</mat-dialog-actions>\n", styles: ["mat-dialog-content{max-width:40em}\n"] }]
|
|
16
16
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
17
17
|
type: Inject,
|
|
18
18
|
args: [MAT_DIALOG_DATA]
|
|
19
19
|
}] }]; } });
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uYXR1cmFsL3NyYy9saWIvbW9kdWxlcy9hbGVydC9jb25maXJtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL2FsZXJ0L2NvbmZpcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDaEQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDBCQUEwQixDQUFDOzs7O0FBYXpELE1BQU0sT0FBTyx1QkFBdUI7SUFDaEMsWUFBbUQsSUFBd0I7UUFBeEIsU0FBSSxHQUFKLElBQUksQ0FBb0I7SUFBRyxDQUFDOztvSEFEdEUsdUJBQXVCLGtCQUNMLGVBQWU7d0dBRGpDLHVCQUF1QixvRENkcEMsd1lBUUE7MkZETWEsdUJBQXVCO2tCQUpuQyxTQUFTOzs7MEJBS2MsTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEluamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge01BVF9ESUFMT0dfREFUQX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcblxuZXhwb3J0IGludGVyZmFjZSBOYXR1cmFsQ29uZmlybURhdGEge1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgbWVzc2FnZTogc3RyaW5nO1xuICAgIGNvbmZpcm1UZXh0OiBzdHJpbmc7XG4gICAgY2FuY2VsVGV4dDogc3RyaW5nO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICB0ZW1wbGF0ZVVybDogJy4vY29uZmlybS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vY29uZmlybS5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBOYXR1cmFsQ29uZmlybUNvbXBvbmVudCB7XG4gICAgcHVibGljIGNvbnN0cnVjdG9yKEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogTmF0dXJhbENvbmZpcm1EYXRhKSB7fVxufVxuIiwiPGgyIG1hdC1kaWFsb2ctdGl0bGU+e3sgZGF0YS50aXRsZSB9fTwvaDI+XG48bWF0LWRpYWxvZy1jb250ZW50XG4gICAgPjxwIGNsYXNzPVwibWF0LWJvZHlcIj57eyBkYXRhLm1lc3NhZ2UgfX08L3A+PC9tYXQtZGlhbG9nLWNvbnRlbnRcbj5cbjxtYXQtZGlhbG9nLWFjdGlvbnMgYWxpZ249XCJlbmRcIj5cbiAgICA8YnV0dG9uIFttYXQtZGlhbG9nLWNsb3NlXT1cImZhbHNlXCIgbWF0LWJ1dHRvbj57eyBkYXRhLmNhbmNlbFRleHQgfX08L2J1dHRvbj5cbiAgICA8YnV0dG9uIFttYXQtZGlhbG9nLWNsb3NlXT1cInRydWVcIiBtYXQtc3Ryb2tlZC1idXR0b24gY2RrRm9jdXNJbml0aWFsPnt7IGRhdGEuY29uZmlybVRleHQgfX08L2J1dHRvbj5cbjwvbWF0LWRpYWxvZy1hY3Rpb25zPlxuIl19
|
|
@@ -5,11 +5,12 @@ import { Subject } from 'rxjs';
|
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
import * as i1 from "@angular/common";
|
|
7
7
|
import * as i2 from "@angular/forms";
|
|
8
|
-
import * as i3 from "@angular/material/
|
|
9
|
-
import * as i4 from "@angular/material/
|
|
10
|
-
import * as i5 from "@angular/material/
|
|
11
|
-
import * as i6 from "../icon/icon.
|
|
12
|
-
import * as i7 from "@angular/material/
|
|
8
|
+
import * as i3 from "@angular/material/menu";
|
|
9
|
+
import * as i4 from "@angular/material/button";
|
|
10
|
+
import * as i5 from "@angular/material/checkbox";
|
|
11
|
+
import * as i6 from "../icon/icon.directive";
|
|
12
|
+
import * as i7 from "@angular/material/tooltip";
|
|
13
|
+
import * as i8 from "@angular/material/icon";
|
|
13
14
|
export class NaturalColumnsPickerComponent {
|
|
14
15
|
/**
|
|
15
16
|
* Set the columns that are wanted but might be unavailable.
|
|
@@ -69,10 +70,10 @@ export class NaturalColumnsPickerComponent {
|
|
|
69
70
|
}
|
|
70
71
|
}
|
|
71
72
|
NaturalColumnsPickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NaturalColumnsPickerComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
72
|
-
NaturalColumnsPickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: NaturalColumnsPickerComponent, selector: "natural-columns-picker", inputs: { selections: "selections" }, outputs: { selectionChange: "selectionChange" }, queries: [{ propertyName: "availableColumns", predicate: NaturalColumnsPickerColumnDirective }], ngImport: i0, template: "<div>\n <mat-menu #naturalMenu=\"matMenu\">\n <div\n (click)=\"$event.stopPropagation(); column.checked = !column.checked; updateColumns()\"\n *ngFor=\"let column of displayedColumns\"\n
|
|
73
|
+
NaturalColumnsPickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: NaturalColumnsPickerComponent, selector: "natural-columns-picker", inputs: { selections: "selections" }, outputs: { selectionChange: "selectionChange" }, queries: [{ propertyName: "availableColumns", predicate: NaturalColumnsPickerColumnDirective }], ngImport: i0, template: "<div>\n <mat-menu #naturalMenu=\"matMenu\">\n <div\n (click)=\"$event.stopPropagation(); column.checked = !column.checked; updateColumns()\"\n *ngFor=\"let column of displayedColumns\"\n mat-menu-item\n >\n <mat-checkbox (click)=\"$event.stopPropagation()\" (change)=\"updateColumns()\" [(ngModel)]=\"column.checked\">{{\n column.label\n }}</mat-checkbox>\n </div>\n </mat-menu>\n <button [matMenuTriggerFor]=\"naturalMenu\" mat-icon-button i18n-matTooltip matTooltip=\"S\u00E9lectionner les colonnes\">\n <mat-icon naturalIcon=\"view_column\"></mat-icon>\n </button>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i3.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i3.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i5.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i6.NaturalIconDirective, selector: "mat-icon[naturalIcon]", inputs: ["naturalIcon", "size"] }, { kind: "directive", type: i7.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
73
74
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NaturalColumnsPickerComponent, decorators: [{
|
|
74
75
|
type: Component,
|
|
75
|
-
args: [{ selector: 'natural-columns-picker', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div>\n <mat-menu #naturalMenu=\"matMenu\">\n <div\n (click)=\"$event.stopPropagation(); column.checked = !column.checked; updateColumns()\"\n *ngFor=\"let column of displayedColumns\"\n
|
|
76
|
+
args: [{ selector: 'natural-columns-picker', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div>\n <mat-menu #naturalMenu=\"matMenu\">\n <div\n (click)=\"$event.stopPropagation(); column.checked = !column.checked; updateColumns()\"\n *ngFor=\"let column of displayedColumns\"\n mat-menu-item\n >\n <mat-checkbox (click)=\"$event.stopPropagation()\" (change)=\"updateColumns()\" [(ngModel)]=\"column.checked\">{{\n column.label\n }}</mat-checkbox>\n </div>\n </mat-menu>\n <button [matMenuTriggerFor]=\"naturalMenu\" mat-icon-button i18n-matTooltip matTooltip=\"S\u00E9lectionner les colonnes\">\n <mat-icon naturalIcon=\"view_column\"></mat-icon>\n </button>\n</div>\n" }]
|
|
76
77
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { selections: [{
|
|
77
78
|
type: Input
|
|
78
79
|
}], selectionChange: [{
|
|
@@ -81,4 +82,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImpor
|
|
|
81
82
|
type: ContentChildren,
|
|
82
83
|
args: [NaturalColumnsPickerColumnDirective]
|
|
83
84
|
}] } });
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1ucy1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC9zcmMvbGliL21vZHVsZXMvY29sdW1ucy1waWNrZXIvY29sdW1ucy1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC9zcmMvbGliL21vZHVsZXMvY29sdW1ucy1waWNrZXIvY29sdW1ucy1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsZUFBZSxFQUNmLFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxHQUVULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxtQ0FBbUMsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ3RGLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7QUFPN0IsTUFBTSxPQUFPLDZCQUE2QjtJQUd0Qzs7Ozs7OztPQU9HO0lBQ0gsSUFDVyxVQUFVLENBQUMsT0FBNkI7UUFDL0MsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUM7UUFFM0IsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUNwQyxPQUFPO1NBQ1Y7UUFFRCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ2pDLEdBQUcsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDNUMsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQW9CRCxZQUFvQyxpQkFBb0M7UUFBcEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQWxCeEU7O1dBRUc7UUFDdUIsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBWSxDQUFDO1FBRXpFOztXQUVHO1FBRUkscUJBQWdCLEdBQTBELElBQUksQ0FBQztRQUV0Rjs7V0FFRztRQUNJLHFCQUFnQixHQUEwQyxFQUFFLENBQUM7UUFFNUQsa0JBQWEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBRStCLENBQUM7SUFFckUsZUFBZTtRQUNsQixrQkFBa0IsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNsRCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUMzQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxXQUFXO1FBQ2YsSUFBSSxDQUFDLGdCQUFnQixFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNqQyxHQUFHLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUM7UUFDOUYsQ0FBQyxDQUFDLENBQUM7UUFFSCxvREFBb0Q7UUFDcEQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDcEYsQ0FBQztJQUVNLGFBQWE7UUFDaEIsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDOUYsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVNLFdBQVc7UUFDZCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsd0JBQXdCO1FBQ25ELElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyx3REFBd0Q7SUFDM0YsQ0FBQzs7MEhBdkVRLDZCQUE2Qjs4R0FBN0IsNkJBQTZCLHNMQWtDckIsbUNBQW1DLDZCQ3ZEeEQsaXJCQWdCQTsyRkRLYSw2QkFBNkI7a0JBTHpDLFNBQVM7K0JBQ0ksd0JBQXdCLG1CQUVqQix1QkFBdUIsQ0FBQyxNQUFNO3dHQWNwQyxVQUFVO3NCQURwQixLQUFLO2dCQWtCb0IsZUFBZTtzQkFBeEMsTUFBTTtnQkFNQSxnQkFBZ0I7c0JBRHRCLGVBQWU7dUJBQUMsbUNBQW1DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmF0dXJhbENvbHVtbnNQaWNrZXJDb2x1bW5EaXJlY3RpdmV9IGZyb20gJy4vY29sdW1ucy1waWNrZXItY29sdW1uLmRpcmVjdGl2ZSc7XG5pbXBvcnQge2NhbmNlbGxhYmxlVGltZW91dH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9yeGpzJztcbmltcG9ydCB7U3ViamVjdH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmF0dXJhbC1jb2x1bW5zLXBpY2tlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NvbHVtbnMtcGlja2VyLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgTmF0dXJhbENvbHVtbnNQaWNrZXJDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICAgIHByaXZhdGUgX3NlbGVjdGlvbnM/OiBzdHJpbmdbXTtcblxuICAgIC8qKlxuICAgICAqIFNldCB0aGUgY29sdW1ucyB0aGF0IGFyZSB3YW50ZWQgYnV0IG1pZ2h0IGJlIHVuYXZhaWxhYmxlLlxuICAgICAqXG4gICAgICogSWYgYSBjb2x1bW4gaXMgdW5hdmFpbGFibGUgaXQgd2lsbCBiZSBpZ25vcmVkIHNpbGVudGx5LiBUbyBrbm93IHdoYXQgY29sdW1ucyB3ZXJlIGFjdHVhbGx5IGFwcGxpZWRcbiAgICAgKiB5b3Ugc2hvdWxkIHVzZSBgc2VsZWN0aW9uQ2hhbmdlYC5cbiAgICAgKlxuICAgICAqIEl0IGlzIG9mdGVuIHNldCBvbmNlIG9uIGNvbXBvbmVudCBpbml0aWFsaXphdGlvbiwgYnV0IGl0IGNhbiBhbHNvIGJlIHNldCBhZ2FpbiBsYXRlciBpbiB0aGUgbGlmZXNwYW4gb2YgdGhlIGNvbXBvbmVudC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgc2VsZWN0aW9ucyhjb2x1bW5zOiBzdHJpbmdbXSB8IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLl9zZWxlY3Rpb25zID0gY29sdW1ucztcblxuICAgICAgICBpZiAoIWNvbHVtbnMgfHwgIXRoaXMuYXZhaWxhYmxlQ29sdW1ucykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5hdmFpbGFibGVDb2x1bW5zPy5mb3JFYWNoKGNvbCA9PiB7XG4gICAgICAgICAgICBjb2wuY2hlY2tlZCA9IGNvbHVtbnMuaW5jbHVkZXMoY29sLmtleSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMudXBkYXRlQ29sdW1ucygpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEVtaXQgYSBsaXN0IG9mIHZhbGlkIGFuZCBzZWxlY3RlZCBjb2x1bW4ga2V5cyB3aGVuZXZlciB0aGUgc2VsZWN0aW9uIGNoYW5nZXNcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgcHVibGljIHJlYWRvbmx5IHNlbGVjdGlvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nW10+KCk7XG5cbiAgICAvKipcbiAgICAgKiBBdmFpbGFibGUgY29sdW1ucyBhcmUgZGVmaW5lZCBieSBvcHRpb25zIGluIHRoZSB0ZW1wbGF0ZVxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGRyZW4oTmF0dXJhbENvbHVtbnNQaWNrZXJDb2x1bW5EaXJlY3RpdmUpXG4gICAgcHVibGljIGF2YWlsYWJsZUNvbHVtbnM6IFF1ZXJ5TGlzdDxOYXR1cmFsQ29sdW1uc1BpY2tlckNvbHVtbkRpcmVjdGl2ZT4gfCBudWxsID0gbnVsbDtcblxuICAgIC8qKlxuICAgICAqIERpc3BsYXllZCBvcHRpb25zIGluIHRoZSBkcm9wZG93biBtZW51XG4gICAgICovXG4gICAgcHVibGljIGRpc3BsYXllZENvbHVtbnM6IE5hdHVyYWxDb2x1bW5zUGlja2VyQ29sdW1uRGlyZWN0aXZlW10gPSBbXTtcblxuICAgIHByaXZhdGUgbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBjYW5jZWxsYWJsZVRpbWVvdXQodGhpcy5uZ1Vuc3Vic2NyaWJlKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5pbml0Q29sdW1ucygpO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVDb2x1bW5zKCk7XG4gICAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0Q29sdW1ucygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hdmFpbGFibGVDb2x1bW5zPy5mb3JFYWNoKGNvbCA9PiB7XG4gICAgICAgICAgICBjb2wuY2hlY2tlZCA9IHRoaXMuX3NlbGVjdGlvbnM/Lmxlbmd0aCA/IHRoaXMuX3NlbGVjdGlvbnMuaW5jbHVkZXMoY29sLmtleSkgOiBjb2wuY2hlY2tlZDtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gU2hvdyBvcHRpb25zIG9ubHkgZm9yIGNvbHVtbnMgdGhhdCBhcmUgbm90IGhpZGRlblxuICAgICAgICB0aGlzLmRpc3BsYXllZENvbHVtbnMgPSB0aGlzLmF2YWlsYWJsZUNvbHVtbnM/LmZpbHRlcihjb2wgPT4gIWNvbC5oaWRkZW4pID8/IFtdO1xuICAgIH1cblxuICAgIHB1YmxpYyB1cGRhdGVDb2x1bW5zKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBzZWxlY3RlZENvbHVtbnMgPSB0aGlzLmF2YWlsYWJsZUNvbHVtbnM/LmZpbHRlcihjb2wgPT4gY29sLmNoZWNrZWQpLm1hcChjb2wgPT4gY29sLmtleSk7XG4gICAgICAgIHRoaXMuc2VsZWN0aW9uQ2hhbmdlLmVtaXQoc2VsZWN0ZWRDb2x1bW5zKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMubmdVbnN1YnNjcmliZS5uZXh0KCk7IC8vIHVuc3Vic2NyaWJlIGV2ZXJ5Ym9keVxuICAgICAgICB0aGlzLm5nVW5zdWJzY3JpYmUuY29tcGxldGUoKTsgLy8gY29tcGxldGUgdGhlIHN0cmVhbSwgYmVjYXVzZSB3ZSB3aWxsIG5ldmVyIGVtaXQgYWdhaW5cbiAgICB9XG59XG4iLCI8ZGl2PlxuICAgIDxtYXQtbWVudSAjbmF0dXJhbE1lbnU9XCJtYXRNZW51XCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7IGNvbHVtbi5jaGVja2VkID0gIWNvbHVtbi5jaGVja2VkOyB1cGRhdGVDb2x1bW5zKClcIlxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBkaXNwbGF5ZWRDb2x1bW5zXCJcbiAgICAgICAgICAgIG1hdC1tZW51LWl0ZW1cbiAgICAgICAgPlxuICAgICAgICAgICAgPG1hdC1jaGVja2JveCAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCIgKGNoYW5nZSk9XCJ1cGRhdGVDb2x1bW5zKClcIiBbKG5nTW9kZWwpXT1cImNvbHVtbi5jaGVja2VkXCI+e3tcbiAgICAgICAgICAgICAgICBjb2x1bW4ubGFiZWxcbiAgICAgICAgICAgIH19PC9tYXQtY2hlY2tib3g+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbWF0LW1lbnU+XG4gICAgPGJ1dHRvbiBbbWF0TWVudVRyaWdnZXJGb3JdPVwibmF0dXJhbE1lbnVcIiBtYXQtaWNvbi1idXR0b24gaTE4bi1tYXRUb29sdGlwIG1hdFRvb2x0aXA9XCJTw6lsZWN0aW9ubmVyIGxlcyBjb2xvbm5lc1wiPlxuICAgICAgICA8bWF0LWljb24gbmF0dXJhbEljb249XCJ2aWV3X2NvbHVtblwiPjwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { CommonModule } from '@angular/common';
|
|
2
2
|
import { NgModule } from '@angular/core';
|
|
3
3
|
import { FormsModule } from '@angular/forms';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
4
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
5
|
+
import { MatCheckboxModule } from '@angular/material/checkbox';
|
|
6
|
+
import { MatMenuModule } from '@angular/material/menu';
|
|
7
7
|
import { NaturalIconModule } from '../icon/icon.module';
|
|
8
8
|
import { NaturalColumnsPickerColumnDirective } from './columns-picker-column.directive';
|
|
9
9
|
import { NaturalColumnsPickerComponent } from './columns-picker.component';
|
|
10
|
-
import {
|
|
10
|
+
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
11
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
11
12
|
import * as i0 from "@angular/core";
|
|
12
13
|
export class NaturalColumnsPickerModule {
|
|
13
14
|
}
|
|
@@ -18,14 +19,16 @@ NaturalColumnsPickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.
|
|
|
18
19
|
MatButtonModule,
|
|
19
20
|
MatCheckboxModule,
|
|
20
21
|
NaturalIconModule,
|
|
21
|
-
MatTooltipModule
|
|
22
|
+
MatTooltipModule,
|
|
23
|
+
MatIconModule], exports: [NaturalColumnsPickerColumnDirective, NaturalColumnsPickerComponent] });
|
|
22
24
|
NaturalColumnsPickerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NaturalColumnsPickerModule, imports: [CommonModule,
|
|
23
25
|
FormsModule,
|
|
24
26
|
MatMenuModule,
|
|
25
27
|
MatButtonModule,
|
|
26
28
|
MatCheckboxModule,
|
|
27
29
|
NaturalIconModule,
|
|
28
|
-
MatTooltipModule
|
|
30
|
+
MatTooltipModule,
|
|
31
|
+
MatIconModule] });
|
|
29
32
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NaturalColumnsPickerModule, decorators: [{
|
|
30
33
|
type: NgModule,
|
|
31
34
|
args: [{
|
|
@@ -38,8 +41,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImpor
|
|
|
38
41
|
MatCheckboxModule,
|
|
39
42
|
NaturalIconModule,
|
|
40
43
|
MatTooltipModule,
|
|
44
|
+
MatIconModule,
|
|
41
45
|
],
|
|
42
46
|
exports: [NaturalColumnsPickerColumnDirective, NaturalColumnsPickerComponent],
|
|
43
47
|
}]
|
|
44
48
|
}] });
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1ucy1waWNrZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC9zcmMvbGliL21vZHVsZXMvY29sdW1ucy1waWNrZXIvY29sdW1ucy1waWNrZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBQyxtQ0FBbUMsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ3RGLE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3pFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQzs7QUFnQnJELE1BQU0sT0FBTywwQkFBMEI7O3VIQUExQiwwQkFBMEI7d0hBQTFCLDBCQUEwQixpQkFicEIsbUNBQW1DLEVBQUUsNkJBQTZCLGFBRTdFLFlBQVk7UUFDWixXQUFXO1FBQ1gsYUFBYTtRQUNiLGVBQWU7UUFDZixpQkFBaUI7UUFDakIsaUJBQWlCO1FBQ2pCLGdCQUFnQjtRQUNoQixhQUFhLGFBRVAsbUNBQW1DLEVBQUUsNkJBQTZCO3dIQUVuRSwwQkFBMEIsWUFYL0IsWUFBWTtRQUNaLFdBQVc7UUFDWCxhQUFhO1FBQ2IsZUFBZTtRQUNmLGlCQUFpQjtRQUNqQixpQkFBaUI7UUFDakIsZ0JBQWdCO1FBQ2hCLGFBQWE7MkZBSVIsMEJBQTBCO2tCQWR0QyxRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRSxDQUFDLG1DQUFtQyxFQUFFLDZCQUE2QixDQUFDO29CQUNsRixPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixXQUFXO3dCQUNYLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixpQkFBaUI7d0JBQ2pCLGlCQUFpQjt3QkFDakIsZ0JBQWdCO3dCQUNoQixhQUFhO3FCQUNoQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxtQ0FBbUMsRUFBRSw2QkFBNkIsQ0FBQztpQkFDaEYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtNYXRCdXR0b25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQge01hdENoZWNrYm94TW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XG5pbXBvcnQge01hdE1lbnVNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xuaW1wb3J0IHtOYXR1cmFsSWNvbk1vZHVsZX0gZnJvbSAnLi4vaWNvbi9pY29uLm1vZHVsZSc7XG5pbXBvcnQge05hdHVyYWxDb2x1bW5zUGlja2VyQ29sdW1uRGlyZWN0aXZlfSBmcm9tICcuL2NvbHVtbnMtcGlja2VyLWNvbHVtbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHtOYXR1cmFsQ29sdW1uc1BpY2tlckNvbXBvbmVudH0gZnJvbSAnLi9jb2x1bW5zLXBpY2tlci5jb21wb25lbnQnO1xuaW1wb3J0IHtNYXRUb29sdGlwTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcbmltcG9ydCB7TWF0SWNvbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbTmF0dXJhbENvbHVtbnNQaWNrZXJDb2x1bW5EaXJlY3RpdmUsIE5hdHVyYWxDb2x1bW5zUGlja2VyQ29tcG9uZW50XSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIE1hdE1lbnVNb2R1bGUsXG4gICAgICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICAgICAgTWF0Q2hlY2tib3hNb2R1bGUsXG4gICAgICAgIE5hdHVyYWxJY29uTW9kdWxlLFxuICAgICAgICBNYXRUb29sdGlwTW9kdWxlLFxuICAgICAgICBNYXRJY29uTW9kdWxlLFxuICAgIF0sXG4gICAgZXhwb3J0czogW05hdHVyYWxDb2x1bW5zUGlja2VyQ29sdW1uRGlyZWN0aXZlLCBOYXR1cmFsQ29sdW1uc1BpY2tlckNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIE5hdHVyYWxDb2x1bW5zUGlja2VyTW9kdWxlIHt9XG4iXX0=
|
|
@@ -7,9 +7,9 @@ import { NaturalEllipsisPipe } from './pipes/ellipsis.pipe';
|
|
|
7
7
|
import { NaturalEnumPipe } from './pipes/enum.pipe';
|
|
8
8
|
import { localStorageProvider, sessionStorageProvider } from './services/memory-storage';
|
|
9
9
|
import { NaturalSwissDatePipe } from './pipes/swiss-date.pipe';
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
10
|
+
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
11
|
+
import { MatInputModule } from '@angular/material/input';
|
|
12
|
+
import { MatSelectModule } from '@angular/material/select';
|
|
13
13
|
import { NaturalSrcDensityDirective } from './directives/src-density.directive';
|
|
14
14
|
import { NaturalTimeAgoPipe } from './pipes/time-ago.pipe';
|
|
15
15
|
import * as i0 from "@angular/core";
|
|
@@ -51,4 +51,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImpor
|
|
|
51
51
|
providers: [sessionStorageProvider, localStorageProvider],
|
|
52
52
|
}]
|
|
53
53
|
}] });
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLW1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL2NvbW1vbi9jb21tb24tbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQ2xGLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ2hGLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUMsb0JBQW9CLEVBQUUsc0JBQXNCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUN2RixPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQzlFLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHVCQUF1QixDQUFDOztBQUV6RCxNQUFNLG9CQUFvQixHQUFHO0lBQ3pCLHFCQUFxQjtJQUNyQixtQkFBbUI7SUFDbkIsZUFBZTtJQUNmLDBCQUEwQjtJQUMxQiwyQkFBMkI7SUFDM0IsMEJBQTBCO0lBQzFCLG9CQUFvQjtJQUNwQixrQkFBa0I7Q0FDckIsQ0FBQztBQVFGLE1BQU0sT0FBTyxtQkFBbUI7O2dIQUFuQixtQkFBbUI7aUhBQW5CLG1CQUFtQixpQkFoQjVCLHFCQUFxQjtRQUNyQixtQkFBbUI7UUFDbkIsZUFBZTtRQUNmLDBCQUEwQjtRQUMxQiwyQkFBMkI7UUFDM0IsMEJBQTBCO1FBQzFCLG9CQUFvQjtRQUNwQixrQkFBa0IsYUFLUixZQUFZLEVBQUUsa0JBQWtCLEVBQUUsY0FBYyxFQUFFLGVBQWUsYUFaM0UscUJBQXFCO1FBQ3JCLG1CQUFtQjtRQUNuQixlQUFlO1FBQ2YsMEJBQTBCO1FBQzFCLDJCQUEyQjtRQUMzQiwwQkFBMEI7UUFDMUIsb0JBQW9CO1FBQ3BCLGtCQUFrQjtpSEFTVCxtQkFBbUIsYUFGakIsQ0FBQyxzQkFBc0IsRUFBRSxvQkFBb0IsQ0FBQyxZQUYvQyxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsY0FBYyxFQUFFLGVBQWU7MkZBSWxFLG1CQUFtQjtrQkFOL0IsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUUsQ0FBQyxHQUFHLG9CQUFvQixDQUFDO29CQUN2QyxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsY0FBYyxFQUFFLGVBQWUsQ0FBQztvQkFDNUUsT0FBTyxFQUFFLENBQUMsR0FBRyxvQkFBb0IsQ0FBQztvQkFDbEMsU0FBUyxFQUFFLENBQUMsc0JBQXNCLEVBQUUsb0JBQW9CLENBQUM7aUJBQzVEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmF0dXJhbEh0dHBQcmVmaXhEaXJlY3RpdmV9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvaHR0cC1wcmVmaXguZGlyZWN0aXZlJztcbmltcG9ydCB7TmF0dXJhbExpbmthYmxlVGFiRGlyZWN0aXZlfSBmcm9tICcuL2RpcmVjdGl2ZXMvbGlua2FibGUtdGFiLmRpcmVjdGl2ZSc7XG5pbXBvcnQge05hdHVyYWxDYXBpdGFsaXplUGlwZX0gZnJvbSAnLi9waXBlcy9jYXBpdGFsaXplLnBpcGUnO1xuaW1wb3J0IHtOYXR1cmFsRWxsaXBzaXNQaXBlfSBmcm9tICcuL3BpcGVzL2VsbGlwc2lzLnBpcGUnO1xuaW1wb3J0IHtOYXR1cmFsRW51bVBpcGV9IGZyb20gJy4vcGlwZXMvZW51bS5waXBlJztcbmltcG9ydCB7bG9jYWxTdG9yYWdlUHJvdmlkZXIsIHNlc3Npb25TdG9yYWdlUHJvdmlkZXJ9IGZyb20gJy4vc2VydmljZXMvbWVtb3J5LXN0b3JhZ2UnO1xuaW1wb3J0IHtOYXR1cmFsU3dpc3NEYXRlUGlwZX0gZnJvbSAnLi9waXBlcy9zd2lzcy1kYXRlLnBpcGUnO1xuaW1wb3J0IHtNYXRGb3JtRmllbGRNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHtNYXRJbnB1dE1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHtNYXRTZWxlY3RNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5pbXBvcnQge05hdHVyYWxTcmNEZW5zaXR5RGlyZWN0aXZlfSBmcm9tICcuL2RpcmVjdGl2ZXMvc3JjLWRlbnNpdHkuZGlyZWN0aXZlJztcbmltcG9ydCB7TmF0dXJhbFRpbWVBZ29QaXBlfSBmcm9tICcuL3BpcGVzL3RpbWUtYWdvLnBpcGUnO1xuXG5jb25zdCBkZWNsYXJhdGlvbnNUb0V4cG9ydCA9IFtcbiAgICBOYXR1cmFsQ2FwaXRhbGl6ZVBpcGUsXG4gICAgTmF0dXJhbEVsbGlwc2lzUGlwZSxcbiAgICBOYXR1cmFsRW51bVBpcGUsXG4gICAgTmF0dXJhbEh0dHBQcmVmaXhEaXJlY3RpdmUsXG4gICAgTmF0dXJhbExpbmthYmxlVGFiRGlyZWN0aXZlLFxuICAgIE5hdHVyYWxTcmNEZW5zaXR5RGlyZWN0aXZlLFxuICAgIE5hdHVyYWxTd2lzc0RhdGVQaXBlLFxuICAgIE5hdHVyYWxUaW1lQWdvUGlwZSxcbl07XG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbLi4uZGVjbGFyYXRpb25zVG9FeHBvcnRdLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE1hdEZvcm1GaWVsZE1vZHVsZSwgTWF0SW5wdXRNb2R1bGUsIE1hdFNlbGVjdE1vZHVsZV0sXG4gICAgZXhwb3J0czogWy4uLmRlY2xhcmF0aW9uc1RvRXhwb3J0XSxcbiAgICBwcm92aWRlcnM6IFtzZXNzaW9uU3RvcmFnZVByb3ZpZGVyLCBsb2NhbFN0b3JhZ2VQcm92aWRlcl0sXG59KVxuZXhwb3J0IGNsYXNzIE5hdHVyYWxDb21tb25Nb2R1bGUge31cbiJdfQ==
|