bpm-core 0.0.96 → 0.0.98
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/esm2022/lib/components/shared-components/form-field/attachment-section/attachment-section.component.mjs +7 -5
- package/esm2022/lib/components/shared-components/form-field/checkbox/checkbox.component.mjs +3 -3
- package/esm2022/lib/components/shared-components/form-field/control-value-accessor.directive.mjs +5 -5
- package/esm2022/lib/components/shared-components/form-field/custom-searchable-autocomplete/custom-searchable.component.mjs +3 -3
- package/esm2022/lib/components/shared-components/form-field/date-picker/date-picker.component.mjs +3 -3
- package/esm2022/lib/components/shared-components/form-field/date-range-picker/date-range-picker.component.mjs +3 -3
- package/esm2022/lib/components/shared-components/form-field/doc-uploader/docs-uploader.component.mjs +8 -9
- package/esm2022/lib/components/shared-components/form-field/input/input.component.mjs +3 -3
- package/esm2022/lib/components/shared-components/form-field/input-currency/input-currency.component.mjs +6 -5
- package/esm2022/lib/components/shared-components/form-field/input-email/input-email.component.mjs +3 -3
- package/esm2022/lib/components/shared-components/form-field/input-number/input-number.component.mjs +3 -3
- package/esm2022/lib/components/shared-components/form-field/input-telephone/input-telephone.component.mjs +3 -3
- package/esm2022/lib/components/shared-components/form-field/radio/radio.component.mjs +3 -3
- package/esm2022/lib/components/shared-components/form-field/search-employee/search-employee.component.mjs +3 -3
- package/esm2022/lib/components/shared-components/form-field/textarea/textarea.component.mjs +3 -3
- package/esm2022/lib/components/shared-components/form-field/toggle-button/toggle-button.component.mjs +3 -3
- package/esm2022/lib/testComponent/request-details-section/request-details-section.component.mjs +3 -3
- package/fesm2022/bpm-core.mjs +47 -45
- package/fesm2022/bpm-core.mjs.map +1 -1
- package/lib/components/shared-components/form-field/attachment-section/attachment-section.component.d.ts +2 -1
- package/lib/components/shared-components/form-field/control-value-accessor.directive.d.ts +2 -2
- package/package.json +1 -1
|
@@ -93,7 +93,7 @@ export class CustomSearchableComponent extends ControlValueAccessorDirective {
|
|
|
93
93
|
useExisting: forwardRef(() => CustomSearchableComponent),
|
|
94
94
|
multi: true,
|
|
95
95
|
},
|
|
96
|
-
], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@if(isReadOnly && control?.value) {\r\n<ng-container>\r\n <app-info-item\r\n class=\"info-item w-100\"\r\n [label]=\"label\"\r\n [insideTable]=\"insideTable\"\r\n [hasLabel]=\"!!label\"\r\n [value]=\"control?.value.value\"\r\n ></app-info-item>\r\n</ng-container>\r\n} @if(!isReadOnly) {\r\n<ng-container>\r\n @if(label) {\r\n <app-form-label\r\n [label]=\"label\"\r\n [optional]=\"
|
|
96
|
+
], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@if(isReadOnly && control?.value) {\r\n<ng-container>\r\n <app-info-item\r\n class=\"info-item w-100\"\r\n [label]=\"label\"\r\n [insideTable]=\"insideTable\"\r\n [hasLabel]=\"!!label\"\r\n [value]=\"control?.value.value\"\r\n ></app-info-item>\r\n</ng-container>\r\n} @if(!isReadOnly) {\r\n<ng-container>\r\n @if(label) {\r\n <app-form-label\r\n [label]=\"label\"\r\n [optional]=\"required || mandatory ? false : true\"\r\n [tooltip]=\"tooltip\"\r\n ></app-form-label>\r\n }\r\n\r\n <mat-form-field\r\n class=\"primary-form {{ className }}\"\r\n [ngClass]=\"{ 'input-disabled': disabled || loading,\r\n 'custom-validation': !control.hasValidator(Validators['required'])\r\n }\"\r\n [floatLabel]=\"floatLabel\"\r\n >\r\n <span class=\"sfi sfi-search fc-coral fs-18\" matPrefix></span>\r\n <label class=\"mat-form-content\">\r\n <input\r\n #autocompleteInput\r\n type=\"text\"\r\n (keydown)=\"onKeyDown($event, autocompleteInput)\"\r\n [attr.disabled]=\"disabled\"\r\n [placeholder]=\"label\"\r\n aria-label=\"Number\"\r\n matInput\r\n (input)=\"onValueChange($event)\"\r\n [formControl]=\"searchControl\"\r\n [name]=\"name\"\r\n [matAutocomplete]=\"auto\"\r\n [value]=\"value?.key\"\r\n (focusout)=\"onFocusOut()\"\r\n />\r\n </label>\r\n\r\n @if(loading) {\r\n <span class=\"sfi sfi-spinner d-inline-block spin fc-coral\" matSuffix></span>\r\n } @if(!loading && searchControl?.value) {\r\n <span\r\n class=\"sfi sfi-close d-inline-block fc-coral cursor-pointer fs-12\"\r\n (click)=\"clearInput()\"\r\n matSuffix\r\n ></span>\r\n }\r\n\r\n <mat-autocomplete\r\n autoActiveFirstOption\r\n #auto=\"matAutocomplete\"\r\n [displayWith]=\"displayFn\"\r\n (optionSelected)=\"getAutoComplete($event.option.value)\">\r\n\r\n\r\n\r\n\r\n @if(!noData) {\r\n <ng-container>\r\n @for(option of filteredOptions; track option) {\r\n <mat-option [value]=\"option\">\r\n <div class=\"d-flex align-items-center\">\r\n @if(option['avatar_url']) {\r\n <figure class=\"img-card small circled-img p-0 m-0\">\r\n <img [src]=\"option['avatar_url']\" alt=\"\" />\r\n </figure>\r\n } @if(option['avatar_url']) {\r\n <span class=\"mx-2\"></span>\r\n }\r\n\r\n {{ option[displayedLabel] }}\r\n </div>\r\n </mat-option>\r\n }\r\n </ng-container>\r\n } @if(noData) {\r\n <ng-container>\r\n <mat-option [disabled]=\"true\" class=\"text-center\">No Data</mat-option>\r\n </ng-container>\r\n }\r\n </mat-autocomplete>\r\n\r\n <!-- <mat-error class=\"mb-2\" *ngIf=\"(!control?.valid)\">{{ 'validSelectError' | translate }}{{ label }}</mat-error> -->\r\n\r\n @if(showHint) {\r\n <mat-hint>\r\n <span\r\n class=\"sfi sfi-check-circle font-10 fc-dark-gray\"\r\n [ngClass]=\"{ 'fc-oasis-light-imp': value }\"\r\n ></span>\r\n <span class=\"mx-1\"></span>\r\n <span class=\"fs-12 fc-onyx\">{{ hint }}</span>\r\n </mat-hint>\r\n }\r\n </mat-form-field>\r\n\r\n <app-validation-errors [errors]=\"control.errors\"></app-validation-errors>\r\n</ng-container>\r\n}\r\n", styles: [".small-input~.btn{height:41px}:host{flex-grow:1}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i2.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i3.FormLabelComponent, selector: "app-form-label", inputs: ["tooltip", "label", "optional"] }, { kind: "component", type: i4.ValidationErrorsComponent, selector: "app-validation-errors", inputs: ["errors", "customErrorMessages"] }, { kind: "component", type: i5.InfoItemComponent, selector: "app-info-item", inputs: ["label", "value", "name", "type", "dateType", "multiple", "insideTable", "hasLabel", "arrayList", "actionType", "download"] }, { kind: "ngmodule", type: i6.ReactiveFormsModule }, { kind: "directive", type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
|
|
97
97
|
}
|
|
98
98
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: CustomSearchableComponent, decorators: [{
|
|
99
99
|
type: Component,
|
|
@@ -110,7 +110,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
110
110
|
useExisting: forwardRef(() => CustomSearchableComponent),
|
|
111
111
|
multi: true,
|
|
112
112
|
},
|
|
113
|
-
], template: "@if(isReadOnly && control?.value) {\r\n<ng-container>\r\n <app-info-item\r\n class=\"info-item w-100\"\r\n [label]=\"label\"\r\n [insideTable]=\"insideTable\"\r\n [hasLabel]=\"!!label\"\r\n [value]=\"control?.value.value\"\r\n ></app-info-item>\r\n</ng-container>\r\n} @if(!isReadOnly) {\r\n<ng-container>\r\n @if(label) {\r\n <app-form-label\r\n [label]=\"label\"\r\n [optional]=\"
|
|
113
|
+
], template: "@if(isReadOnly && control?.value) {\r\n<ng-container>\r\n <app-info-item\r\n class=\"info-item w-100\"\r\n [label]=\"label\"\r\n [insideTable]=\"insideTable\"\r\n [hasLabel]=\"!!label\"\r\n [value]=\"control?.value.value\"\r\n ></app-info-item>\r\n</ng-container>\r\n} @if(!isReadOnly) {\r\n<ng-container>\r\n @if(label) {\r\n <app-form-label\r\n [label]=\"label\"\r\n [optional]=\"required || mandatory ? false : true\"\r\n [tooltip]=\"tooltip\"\r\n ></app-form-label>\r\n }\r\n\r\n <mat-form-field\r\n class=\"primary-form {{ className }}\"\r\n [ngClass]=\"{ 'input-disabled': disabled || loading,\r\n 'custom-validation': !control.hasValidator(Validators['required'])\r\n }\"\r\n [floatLabel]=\"floatLabel\"\r\n >\r\n <span class=\"sfi sfi-search fc-coral fs-18\" matPrefix></span>\r\n <label class=\"mat-form-content\">\r\n <input\r\n #autocompleteInput\r\n type=\"text\"\r\n (keydown)=\"onKeyDown($event, autocompleteInput)\"\r\n [attr.disabled]=\"disabled\"\r\n [placeholder]=\"label\"\r\n aria-label=\"Number\"\r\n matInput\r\n (input)=\"onValueChange($event)\"\r\n [formControl]=\"searchControl\"\r\n [name]=\"name\"\r\n [matAutocomplete]=\"auto\"\r\n [value]=\"value?.key\"\r\n (focusout)=\"onFocusOut()\"\r\n />\r\n </label>\r\n\r\n @if(loading) {\r\n <span class=\"sfi sfi-spinner d-inline-block spin fc-coral\" matSuffix></span>\r\n } @if(!loading && searchControl?.value) {\r\n <span\r\n class=\"sfi sfi-close d-inline-block fc-coral cursor-pointer fs-12\"\r\n (click)=\"clearInput()\"\r\n matSuffix\r\n ></span>\r\n }\r\n\r\n <mat-autocomplete\r\n autoActiveFirstOption\r\n #auto=\"matAutocomplete\"\r\n [displayWith]=\"displayFn\"\r\n (optionSelected)=\"getAutoComplete($event.option.value)\">\r\n\r\n\r\n\r\n\r\n @if(!noData) {\r\n <ng-container>\r\n @for(option of filteredOptions; track option) {\r\n <mat-option [value]=\"option\">\r\n <div class=\"d-flex align-items-center\">\r\n @if(option['avatar_url']) {\r\n <figure class=\"img-card small circled-img p-0 m-0\">\r\n <img [src]=\"option['avatar_url']\" alt=\"\" />\r\n </figure>\r\n } @if(option['avatar_url']) {\r\n <span class=\"mx-2\"></span>\r\n }\r\n\r\n {{ option[displayedLabel] }}\r\n </div>\r\n </mat-option>\r\n }\r\n </ng-container>\r\n } @if(noData) {\r\n <ng-container>\r\n <mat-option [disabled]=\"true\" class=\"text-center\">No Data</mat-option>\r\n </ng-container>\r\n }\r\n </mat-autocomplete>\r\n\r\n <!-- <mat-error class=\"mb-2\" *ngIf=\"(!control?.valid)\">{{ 'validSelectError' | translate }}{{ label }}</mat-error> -->\r\n\r\n @if(showHint) {\r\n <mat-hint>\r\n <span\r\n class=\"sfi sfi-check-circle font-10 fc-dark-gray\"\r\n [ngClass]=\"{ 'fc-oasis-light-imp': value }\"\r\n ></span>\r\n <span class=\"mx-1\"></span>\r\n <span class=\"fs-12 fc-onyx\">{{ hint }}</span>\r\n </mat-hint>\r\n }\r\n </mat-form-field>\r\n\r\n <app-validation-errors [errors]=\"control.errors\"></app-validation-errors>\r\n</ng-container>\r\n}\r\n", styles: [".small-input~.btn{height:41px}:host{flex-grow:1}\n"] }]
|
|
114
114
|
}], propDecorators: { options: [{
|
|
115
115
|
type: Input
|
|
116
116
|
}], selectedValue: [{
|
|
@@ -128,4 +128,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
128
128
|
}], className: [{
|
|
129
129
|
type: Input
|
|
130
130
|
}] } });
|
|
131
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXNlYXJjaGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlZC1jb21wb25lbnRzL2Zvcm0tZmllbGQvY3VzdG9tLXNlYXJjaGFibGUtYXV0b2NvbXBsZXRlL2N1c3RvbS1zZWFyY2hhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JwbS1jb3JlL3NyYy9saWIvY29tcG9uZW50cy9zaGFyZWQtY29tcG9uZW50cy9mb3JtLWZpZWxkL2N1c3RvbS1zZWFyY2hhYmxlLWF1dG9jb21wbGV0ZS9jdXN0b20tc2VhcmNoYWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFpQixzQkFBc0IsRUFBRSxVQUFVLEVBQVUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0SixPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDeEMsT0FBTyxFQUFDLGVBQWUsRUFBRSxzQkFBc0IsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNwRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7OztBQTRCaEUsTUFBTSxPQUFPLHlCQUFpQyxTQUFRLDZCQUFtQztJ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R0EsNEdEM0ZJLE9BQU8sb0ZBQ1AsZUFBZSx5V0FDZixTQUFTLHFKQUNULHNCQUFzQixvUUFDdEIsY0FBYzs7MkZBZUwseUJBQXlCO2tCQXpCckMsU0FBUzsrQkFDRSx1QkFBdUIsV0FHeEIsQ0FBQyxzQkFBc0IsQ0FBQyxXQUN4Qjt3QkFDUCxPQUFPO3dCQUNQLGVBQWU7d0JBQ2YsU0FBUzt3QkFDVCxzQkFBc0I7d0JBQ3RCLGNBQWM7d0JBQ2QsR0FBRyxPQUFPO3FCQUNiLGNBQ2EsSUFBSSxhQUNMO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLDBCQUEwQixDQUFDOzRCQUN4RCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjs4QkFNUSxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0ksYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxvQkFBb0I7c0JBQTdCLE1BQU07Z0JBQ0UsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05HX1ZBTFVFX0FDQ0VTU09SfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBTaW1wbGVDaGFuZ2VzLCBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBmb3J3YXJkUmVmLCBPbkluaXQsIERlc3Ryb3lSZWYsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge05nQ2xhc3N9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHtNYXRBdXRvY29tcGxldGUsIE1hdEF1dG9jb21wbGV0ZVRyaWdnZXIsIE1hdE9wdGlvbn0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZVwiO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvckRpcmVjdGl2ZSB9IGZyb20gJy4uL2NvbnRyb2wtdmFsdWUtYWNjZXNzb3IuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XHJcbmltcG9ydCB7IFNoYXJlZHMgfSBmcm9tICcuLi9zaGFyZWQtaW1wb3J0cyc7XHJcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1jdXN0b20tc2VhcmNoYWJsZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2N1c3RvbS1zZWFyY2hhYmxlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jdXN0b20tc2VhcmNoYWJsZS5jb21wb25lbnQuc2NzcyddLFxyXG4gIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBOZ0NsYXNzLFxyXG4gICAgTWF0QXV0b2NvbXBsZXRlLFxyXG4gICAgTWF0T3B0aW9uLFxyXG4gICAgTWF0QXV0b2NvbXBsZXRlVHJpZ2dlcixcclxuICAgIE1hdElucHV0TW9kdWxlLFxyXG4gICAgLi4uU2hhcmVkc1xyXG5dLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBDdXN0b21TZWFyY2hhYmxlQ29tcG9uZW50KSxcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICB9LFxyXG4gIF1cclxufSlcclxuXHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIEN1c3RvbVNlYXJjaGFibGVDb21wb25lbnQgPFR5cGU+IGV4dGVuZHMgQ29udHJvbFZhbHVlQWNjZXNzb3JEaXJlY3RpdmU8VHlwZT4gaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpIG9wdGlvbnMhOiBhbnk7XHJcbiAgQE91dHB1dCgpIHNlbGVjdGVkVmFsdWUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGlzTGVuZ3RoR3JlYXRlclRoYW40ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgZGlzcGxheWVkTGFiZWw6IHN0cmluZz0gJ2Rlc2NyaXB0aW9uJztcclxuICBASW5wdXQoKSBrZXk6IHN0cmluZyA9ICdkZXNjcmlwdGlvbic7XHJcbiAgQElucHV0KCkgZmxvYXRMYWJlbDogYW55ID0gJ2F1dG8nO1xyXG4gIEBJbnB1dCgpIGNsYXNzTmFtZSA9ICdib3JkZXJlZC1pbnB1dCc7XHJcbiAgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcclxuICBvdmVycmlkZSBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHN1cGVyLm5nT25Jbml0KClcclxuICAgIHRoaXMuYWN0aW9uU3RhdGVTZXJ2aWNlLnJlc2V0QWN0aW9uJFxyXG4gICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpXHJcbiAgICAuc3Vic2NyaWJlKHJlcyA9PiB7XHJcbiAgICAgIGlmICghdGhpcy5pc1JlYWRPbmx5ICYmIHRoaXMuY29udHJvbC5lbmFibGVkKSB7XHJcbiAgICAgICAgdGhpcy5jb250cm9sLnJlc2V0KCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICB9XHJcblxyXG4gIG5vRGF0YSA9IGZhbHNlO1xyXG4gIGZpbHRlcmVkT3B0aW9ucyE6IGFueTtcclxuXHJcbiAgY2xlYXJJbnB1dCgpIHtcclxuICAgIHRoaXMuY29udHJvbC5yZXNldCgpXHJcbiAgICB0aGlzLnNlYXJjaENvbnRyb2wucmVzZXQoKVxyXG4gICAgaWYgKCF0aGlzLmlzUmVhZE9ubHkpIHtcclxuICAgICAgdGhpcy5zZXRGaWx0ZXJlZE9wdGlvbnMoKVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25Gb2N1c091dCgpe1xyXG4gICAgdGhpcy5jb250cm9sLm1hcmtBc1RvdWNoZWQoKVxyXG4gIH1cclxuXHJcbiAgb25LZXlEb3duKGU6IEtleWJvYXJkRXZlbnQsIGlucHV0OiBIVE1MSW5wdXRFbGVtZW50KXtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAvL3Jlc2V0IGluIGNhc2Ugbm8gdmFsdWUgYW5kIGRlbGV0ZSBvciBiYWNrc3BhY2UgcHJlc3NlZFxyXG4gICAgICBpZiggKGUua2V5Q29kZSA9PSA4IHx8IGUua2V5Q29kZSA9PSA0NikgJiYgIXRoaXMuY29udHJvbC52YWx1ZSl7XHJcbiAgICAgICAgaWYodGhpcy5jb250cm9sKXtcclxuICAgICAgICAgIHRoaXMuY29udHJvbC5yZXNldCgpXHJcbiAgICAgICAgICB0aGlzLmNvbnRyb2wubWFya0FzVG91Y2hlZCgpXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlucHV0LmZvY3VzKCk7XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICB0aGlzLnNldEZpbHRlcmVkT3B0aW9ucygpXHJcbiAgfVxyXG4gIG9uVmFsdWVDaGFuZ2UoZGF0YSkge1xyXG4gICAgdGhpcy5zZXRGaWx0ZXJlZE9wdGlvbnMoZGF0YSlcclxuICB9XHJcblxyXG4gIHNldEZpbHRlcmVkT3B0aW9ucyhkYXRhPykge1xyXG4gICAgaWYgKHRoaXMub3B0aW9ucz8ubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLm5vRGF0YSA9IGZhbHNlXHJcbiAgICAgIC8vIHRoaXMubG9hZGluZyA9IGZhbHNlXHJcbiAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zID0gZGF0YT8udGFyZ2V0Py52YWx1ZSA/IHRoaXMuX2ZpbHRlcihkYXRhLnRhcmdldC52YWx1ZSkgOiB0aGlzLm9wdGlvbnMuc2xpY2UoMCwgMzApXHJcbiAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm5vRGF0YSA9IHRydWVcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2ZpbHRlcih2YWx1ZTogYW55KTogYW55IHtcclxuICAgIGNvbnN0IGZpbHRlclZhbHVlID0gdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyA/IHZhbHVlPy50b0xvd2VyQ2FzZSgpIDogdmFsdWU7XHJcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zPy5maWx0ZXIoKG9wdGlvbjogYW55KSA9PiBPYmplY3QudmFsdWVzKG9wdGlvbikuam9pbignJyk/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoZmlsdGVyVmFsdWUpKS5zbGljZSgwLCAzMCk7XHJcbiAgfVxyXG5cclxuICBkaXNwbGF5Rm4ob3B0aW9uOiBhbnkpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIG9wdGlvbiA/IG9wdGlvbiA6ICcnO1xyXG4gIH1cclxuXHJcbiAgZ2V0QXV0b0NvbXBsZXRlKHZhbHVlOiBhbnkpIHtcclxuICAgICAgIHRoaXMuY29udHJvbC5zZXRWYWx1ZSh7a2V5OnZhbHVlW3RoaXMua2V5XSx2YWx1ZTp2YWx1ZVt0aGlzLmRpc3BsYXllZExhYmVsXX0pO1xyXG4gICAgICAgdGhpcy5zZWFyY2hDb250cm9sLnNldFZhbHVlKHZhbHVlW3RoaXMuZGlzcGxheWVkTGFiZWxdKTtcclxuICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZS5lbWl0KHZhbHVlKVxyXG4gIH1cclxuXHJcbn1cclxuIiwiQGlmKGlzUmVhZE9ubHkgJiYgY29udHJvbD8udmFsdWUpIHtcclxuPG5nLWNvbnRhaW5lcj5cclxuICA8YXBwLWluZm8taXRlbVxyXG4gICAgY2xhc3M9XCJpbmZvLWl0ZW0gdy0xMDBcIlxyXG4gICAgW2xhYmVsXT1cImxhYmVsXCJcclxuICAgIFtpbnNpZGVUYWJsZV09XCJpbnNpZGVUYWJsZVwiXHJcbiAgICBbaGFzTGFiZWxdPVwiISFsYWJlbFwiXHJcbiAgICBbdmFsdWVdPVwiY29udHJvbD8udmFsdWUudmFsdWVcIlxyXG4gID48L2FwcC1pbmZvLWl0ZW0+XHJcbjwvbmctY29udGFpbmVyPlxyXG59IEBpZighaXNSZWFkT25seSkge1xyXG48bmctY29udGFpbmVyPlxyXG4gIEBpZihsYWJlbCkge1xyXG4gIDxhcHAtZm9ybS1sYWJlbFxyXG4gICAgW2xhYmVsXT1cImxhYmVsXCJcclxuICAgIFtvcHRpb25hbF09XCIhcmVxdWlyZWRcIlxyXG4gICAgW3Rvb2x0aXBdPVwidG9vbHRpcFwiXHJcbiAgPjwvYXBwLWZvcm0tbGFiZWw+XHJcbiAgfVxyXG5cclxuICA8bWF0LWZvcm0tZmllbGRcclxuICAgIGNsYXNzPVwicHJpbWFyeS1mb3JtIHt7IGNsYXNzTmFtZSB9fVwiXHJcbiAgICBbbmdDbGFzc109XCJ7ICdpbnB1dC1kaXNhYmxlZCc6IGRpc2FibGVkIHx8IGxvYWRpbmcsXHJcbiAgICAgICdjdXN0b20tdmFsaWRhdGlvbic6ICFjb250cm9sLmhhc1ZhbGlkYXRvcihWYWxpZGF0b3JzWydyZXF1aXJlZCddKVxyXG4gICAgIH1cIlxyXG4gICAgW2Zsb2F0TGFiZWxdPVwiZmxvYXRMYWJlbFwiXHJcbiAgPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJzZmkgc2ZpLXNlYXJjaCBmYy1jb3JhbCBmcy0xOFwiIG1hdFByZWZpeD48L3NwYW4+XHJcbiAgICA8bGFiZWwgY2xhc3M9XCJtYXQtZm9ybS1jb250ZW50XCI+XHJcbiAgICAgIDxpbnB1dFxyXG4gICAgICAgICNhdXRvY29tcGxldGVJbnB1dFxyXG4gICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAoa2V5ZG93bik9XCJvbktleURvd24oJGV2ZW50LCBhdXRvY29tcGxldGVJbnB1dClcIlxyXG4gICAgICAgIFthdHRyLmRpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwibGFiZWxcIlxyXG4gICAgICAgIGFyaWEtbGFiZWw9XCJOdW1iZXJcIlxyXG4gICAgICAgIG1hdElucHV0XHJcbiAgICAgICAgKGlucHV0KT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cInNlYXJjaENvbnRyb2xcIlxyXG4gICAgICAgIFtuYW1lXT1cIm5hbWVcIlxyXG4gICAgICAgIFttYXRBdXRvY29tcGxldGVdPVwiYXV0b1wiXHJcbiAgICAgICAgW3ZhbHVlXT1cInZhbHVlPy5rZXlcIlxyXG4gICAgICAgIChmb2N1c291dCk9XCJvbkZvY3VzT3V0KClcIlxyXG4gICAgICAvPlxyXG4gICAgPC9sYWJlbD5cclxuXHJcbiAgICBAaWYobG9hZGluZykge1xyXG4gICAgPHNwYW4gY2xhc3M9XCJzZmkgc2ZpLXNwaW5uZXIgZC1pbmxpbmUtYmxvY2sgc3BpbiBmYy1jb3JhbFwiIG1hdFN1ZmZpeD48L3NwYW4+XHJcbiAgICB9IEBpZighbG9hZGluZyAmJiBzZWFyY2hDb250cm9sPy52YWx1ZSkge1xyXG4gICAgPHNwYW5cclxuICAgICAgY2xhc3M9XCJzZmkgc2ZpLWNsb3NlIGQtaW5saW5lLWJsb2NrIGZjLWNvcmFsIGN1cnNvci1wb2ludGVyIGZzLTEyXCJcclxuICAgICAgKGNsaWNrKT1cImNsZWFySW5wdXQoKVwiXHJcbiAgICAgIG1hdFN1ZmZpeFxyXG4gICAgPjwvc3Bhbj5cclxuICAgIH1cclxuXHJcbiAgICA8bWF0LWF1dG9jb21wbGV0ZVxyXG4gICAgICBhdXRvQWN0aXZlRmlyc3RPcHRpb25cclxuICAgICAgI2F1dG89XCJtYXRBdXRvY29tcGxldGVcIlxyXG4gICAgICBbZGlzcGxheVdpdGhdPVwiZGlzcGxheUZuXCJcclxuICAgICAgKG9wdGlvblNlbGVjdGVkKT1cImdldEF1dG9Db21wbGV0ZSgkZXZlbnQub3B0aW9uLnZhbHVlKVwiPlxyXG5cclxuXHJcblxyXG5cclxuICAgICAgQGlmKCFub0RhdGEpIHtcclxuICAgICAgPG5nLWNvbnRhaW5lcj5cclxuICAgICAgICBAZm9yKG9wdGlvbiBvZiBmaWx0ZXJlZE9wdGlvbnM7IHRyYWNrIG9wdGlvbikge1xyXG4gICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJvcHRpb25cIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgIEBpZihvcHRpb25bJ2F2YXRhcl91cmwnXSkge1xyXG4gICAgICAgICAgICA8ZmlndXJlIGNsYXNzPVwiaW1nLWNhcmQgc21hbGwgY2lyY2xlZC1pbWcgcC0wIG0tMFwiPlxyXG4gICAgICAgICAgICAgIDxpbWcgW3NyY109XCJvcHRpb25bJ2F2YXRhcl91cmwnXVwiIGFsdD1cIlwiIC8+XHJcbiAgICAgICAgICAgIDwvZmlndXJlPlxyXG4gICAgICAgICAgICB9IEBpZihvcHRpb25bJ2F2YXRhcl91cmwnXSkge1xyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm14LTJcIj48L3NwYW4+XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHt7IG9wdGlvbltkaXNwbGF5ZWRMYWJlbF0gfX1cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbWF0LW9wdGlvbj5cclxuICAgICAgICB9XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICB9IEBpZihub0RhdGEpIHtcclxuICAgICAgPG5nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bWF0LW9wdGlvbiBbZGlzYWJsZWRdPVwidHJ1ZVwiIGNsYXNzPVwidGV4dC1jZW50ZXJcIj5ObyBEYXRhPC9tYXQtb3B0aW9uPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgfVxyXG4gICAgPC9tYXQtYXV0b2NvbXBsZXRlPlxyXG5cclxuICAgIDwhLS0gPG1hdC1lcnJvciBjbGFzcz1cIm1iLTJcIiAqbmdJZj1cIighY29udHJvbD8udmFsaWQpXCI+e3sgJ3ZhbGlkU2VsZWN0RXJyb3InIHwgdHJhbnNsYXRlIH19e3sgbGFiZWwgfX08L21hdC1lcnJvcj4gLS0+XHJcblxyXG4gICAgQGlmKHNob3dIaW50KSB7XHJcbiAgICA8bWF0LWhpbnQ+XHJcbiAgICAgIDxzcGFuXHJcbiAgICAgICAgY2xhc3M9XCJzZmkgc2ZpLWNoZWNrLWNpcmNsZSBmb250LTEwIGZjLWRhcmstZ3JheVwiXHJcbiAgICAgICAgW25nQ2xhc3NdPVwieyAnZmMtb2FzaXMtbGlnaHQtaW1wJzogdmFsdWUgfVwiXHJcbiAgICAgID48L3NwYW4+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwibXgtMVwiPjwvc3Bhbj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJmcy0xMiBmYy1vbnl4XCI+e3sgaGludCB9fTwvc3Bhbj5cclxuICAgIDwvbWF0LWhpbnQ+XHJcbiAgICB9XHJcbiAgPC9tYXQtZm9ybS1maWVsZD5cclxuXHJcbiAgPGFwcC12YWxpZGF0aW9uLWVycm9ycyBbZXJyb3JzXT1cImNvbnRyb2wuZXJyb3JzXCI+PC9hcHAtdmFsaWRhdGlvbi1lcnJvcnM+XHJcbjwvbmctY29udGFpbmVyPlxyXG59XHJcbiJdfQ==
|
|
131
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXNlYXJjaGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlZC1jb21wb25lbnRzL2Zvcm0tZmllbGQvY3VzdG9tLXNlYXJjaGFibGUtYXV0b2NvbXBsZXRlL2N1c3RvbS1zZWFyY2hhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JwbS1jb3JlL3NyYy9saWIvY29tcG9uZW50cy9zaGFyZWQtY29tcG9uZW50cy9mb3JtLWZpZWxkL2N1c3RvbS1zZWFyY2hhYmxlLWF1dG9jb21wbGV0ZS9jdXN0b20tc2VhcmNoYWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFpQixzQkFBc0IsRUFBRSxVQUFVLEVBQVUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0SixPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDeEMsT0FBTyxFQUFDLGVBQWUsRUFBRSxzQkFBc0IsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNwRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7OztBQTRCaEUsTUFBTSxPQUFPLHlCQUFpQyxTQUFRLDZCQUFtQztJ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R0EsNEdEM0ZJLE9BQU8sb0ZBQ1AsZUFBZSx5V0FDZixTQUFTLHFKQUNULHNCQUFzQixvUUFDdEIsY0FBYzs7MkZBZUwseUJBQXlCO2tCQXpCckMsU0FBUzsrQkFDRSx1QkFBdUIsV0FHeEIsQ0FBQyxzQkFBc0IsQ0FBQyxXQUN4Qjt3QkFDUCxPQUFPO3dCQUNQLGVBQWU7d0JBQ2YsU0FBUzt3QkFDVCxzQkFBc0I7d0JBQ3RCLGNBQWM7d0JBQ2QsR0FBRyxPQUFPO3FCQUNiLGNBQ2EsSUFBSSxhQUNMO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLDBCQUEwQixDQUFDOzRCQUN4RCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjs4QkFNUSxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0ksYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxvQkFBb0I7c0JBQTdCLE1BQU07Z0JBQ0UsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05HX1ZBTFVFX0FDQ0VTU09SfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBTaW1wbGVDaGFuZ2VzLCBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBmb3J3YXJkUmVmLCBPbkluaXQsIERlc3Ryb3lSZWYsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge05nQ2xhc3N9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHtNYXRBdXRvY29tcGxldGUsIE1hdEF1dG9jb21wbGV0ZVRyaWdnZXIsIE1hdE9wdGlvbn0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZVwiO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvckRpcmVjdGl2ZSB9IGZyb20gJy4uL2NvbnRyb2wtdmFsdWUtYWNjZXNzb3IuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XHJcbmltcG9ydCB7IFNoYXJlZHMgfSBmcm9tICcuLi9zaGFyZWQtaW1wb3J0cyc7XHJcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1jdXN0b20tc2VhcmNoYWJsZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2N1c3RvbS1zZWFyY2hhYmxlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jdXN0b20tc2VhcmNoYWJsZS5jb21wb25lbnQuc2NzcyddLFxyXG4gIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBOZ0NsYXNzLFxyXG4gICAgTWF0QXV0b2NvbXBsZXRlLFxyXG4gICAgTWF0T3B0aW9uLFxyXG4gICAgTWF0QXV0b2NvbXBsZXRlVHJpZ2dlcixcclxuICAgIE1hdElucHV0TW9kdWxlLFxyXG4gICAgLi4uU2hhcmVkc1xyXG5dLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBDdXN0b21TZWFyY2hhYmxlQ29tcG9uZW50KSxcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICB9LFxyXG4gIF1cclxufSlcclxuXHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIEN1c3RvbVNlYXJjaGFibGVDb21wb25lbnQgPFR5cGU+IGV4dGVuZHMgQ29udHJvbFZhbHVlQWNjZXNzb3JEaXJlY3RpdmU8VHlwZT4gaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpIG9wdGlvbnMhOiBhbnk7XHJcbiAgQE91dHB1dCgpIHNlbGVjdGVkVmFsdWUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGlzTGVuZ3RoR3JlYXRlclRoYW40ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgZGlzcGxheWVkTGFiZWw6IHN0cmluZz0gJ2Rlc2NyaXB0aW9uJztcclxuICBASW5wdXQoKSBrZXk6IHN0cmluZyA9ICdkZXNjcmlwdGlvbic7XHJcbiAgQElucHV0KCkgZmxvYXRMYWJlbDogYW55ID0gJ2F1dG8nO1xyXG4gIEBJbnB1dCgpIGNsYXNzTmFtZSA9ICdib3JkZXJlZC1pbnB1dCc7XHJcbiAgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcclxuICBvdmVycmlkZSBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHN1cGVyLm5nT25Jbml0KClcclxuICAgIHRoaXMuYWN0aW9uU3RhdGVTZXJ2aWNlLnJlc2V0QWN0aW9uJFxyXG4gICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpXHJcbiAgICAuc3Vic2NyaWJlKHJlcyA9PiB7XHJcbiAgICAgIGlmICghdGhpcy5pc1JlYWRPbmx5ICYmIHRoaXMuY29udHJvbC5lbmFibGVkKSB7XHJcbiAgICAgICAgdGhpcy5jb250cm9sLnJlc2V0KCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICB9XHJcblxyXG4gIG5vRGF0YSA9IGZhbHNlO1xyXG4gIGZpbHRlcmVkT3B0aW9ucyE6IGFueTtcclxuXHJcbiAgY2xlYXJJbnB1dCgpIHtcclxuICAgIHRoaXMuY29udHJvbC5yZXNldCgpXHJcbiAgICB0aGlzLnNlYXJjaENvbnRyb2wucmVzZXQoKVxyXG4gICAgaWYgKCF0aGlzLmlzUmVhZE9ubHkpIHtcclxuICAgICAgdGhpcy5zZXRGaWx0ZXJlZE9wdGlvbnMoKVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25Gb2N1c091dCgpe1xyXG4gICAgdGhpcy5jb250cm9sLm1hcmtBc1RvdWNoZWQoKVxyXG4gIH1cclxuXHJcbiAgb25LZXlEb3duKGU6IEtleWJvYXJkRXZlbnQsIGlucHV0OiBIVE1MSW5wdXRFbGVtZW50KXtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAvL3Jlc2V0IGluIGNhc2Ugbm8gdmFsdWUgYW5kIGRlbGV0ZSBvciBiYWNrc3BhY2UgcHJlc3NlZFxyXG4gICAgICBpZiggKGUua2V5Q29kZSA9PSA4IHx8IGUua2V5Q29kZSA9PSA0NikgJiYgIXRoaXMuY29udHJvbC52YWx1ZSl7XHJcbiAgICAgICAgaWYodGhpcy5jb250cm9sKXtcclxuICAgICAgICAgIHRoaXMuY29udHJvbC5yZXNldCgpXHJcbiAgICAgICAgICB0aGlzLmNvbnRyb2wubWFya0FzVG91Y2hlZCgpXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlucHV0LmZvY3VzKCk7XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICB0aGlzLnNldEZpbHRlcmVkT3B0aW9ucygpXHJcbiAgfVxyXG4gIG9uVmFsdWVDaGFuZ2UoZGF0YSkge1xyXG4gICAgdGhpcy5zZXRGaWx0ZXJlZE9wdGlvbnMoZGF0YSlcclxuICB9XHJcblxyXG4gIHNldEZpbHRlcmVkT3B0aW9ucyhkYXRhPykge1xyXG4gICAgaWYgKHRoaXMub3B0aW9ucz8ubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLm5vRGF0YSA9IGZhbHNlXHJcbiAgICAgIC8vIHRoaXMubG9hZGluZyA9IGZhbHNlXHJcbiAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zID0gZGF0YT8udGFyZ2V0Py52YWx1ZSA/IHRoaXMuX2ZpbHRlcihkYXRhLnRhcmdldC52YWx1ZSkgOiB0aGlzLm9wdGlvbnMuc2xpY2UoMCwgMzApXHJcbiAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm5vRGF0YSA9IHRydWVcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2ZpbHRlcih2YWx1ZTogYW55KTogYW55IHtcclxuICAgIGNvbnN0IGZpbHRlclZhbHVlID0gdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyA/IHZhbHVlPy50b0xvd2VyQ2FzZSgpIDogdmFsdWU7XHJcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zPy5maWx0ZXIoKG9wdGlvbjogYW55KSA9PiBPYmplY3QudmFsdWVzKG9wdGlvbikuam9pbignJyk/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoZmlsdGVyVmFsdWUpKS5zbGljZSgwLCAzMCk7XHJcbiAgfVxyXG5cclxuICBkaXNwbGF5Rm4ob3B0aW9uOiBhbnkpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIG9wdGlvbiA/IG9wdGlvbiA6ICcnO1xyXG4gIH1cclxuXHJcbiAgZ2V0QXV0b0NvbXBsZXRlKHZhbHVlOiBhbnkpIHtcclxuICAgICAgIHRoaXMuY29udHJvbC5zZXRWYWx1ZSh7a2V5OnZhbHVlW3RoaXMua2V5XSx2YWx1ZTp2YWx1ZVt0aGlzLmRpc3BsYXllZExhYmVsXX0pO1xyXG4gICAgICAgdGhpcy5zZWFyY2hDb250cm9sLnNldFZhbHVlKHZhbHVlW3RoaXMuZGlzcGxheWVkTGFiZWxdKTtcclxuICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZS5lbWl0KHZhbHVlKVxyXG4gIH1cclxuXHJcbn1cclxuIiwiQGlmKGlzUmVhZE9ubHkgJiYgY29udHJvbD8udmFsdWUpIHtcclxuPG5nLWNvbnRhaW5lcj5cclxuICA8YXBwLWluZm8taXRlbVxyXG4gICAgY2xhc3M9XCJpbmZvLWl0ZW0gdy0xMDBcIlxyXG4gICAgW2xhYmVsXT1cImxhYmVsXCJcclxuICAgIFtpbnNpZGVUYWJsZV09XCJpbnNpZGVUYWJsZVwiXHJcbiAgICBbaGFzTGFiZWxdPVwiISFsYWJlbFwiXHJcbiAgICBbdmFsdWVdPVwiY29udHJvbD8udmFsdWUudmFsdWVcIlxyXG4gID48L2FwcC1pbmZvLWl0ZW0+XHJcbjwvbmctY29udGFpbmVyPlxyXG59IEBpZighaXNSZWFkT25seSkge1xyXG48bmctY29udGFpbmVyPlxyXG4gIEBpZihsYWJlbCkge1xyXG4gIDxhcHAtZm9ybS1sYWJlbFxyXG4gICAgW2xhYmVsXT1cImxhYmVsXCJcclxuICAgIFtvcHRpb25hbF09XCJyZXF1aXJlZCB8fCBtYW5kYXRvcnkgPyBmYWxzZSA6IHRydWVcIlxyXG4gICAgW3Rvb2x0aXBdPVwidG9vbHRpcFwiXHJcbiAgPjwvYXBwLWZvcm0tbGFiZWw+XHJcbiAgfVxyXG5cclxuICA8bWF0LWZvcm0tZmllbGRcclxuICAgIGNsYXNzPVwicHJpbWFyeS1mb3JtIHt7IGNsYXNzTmFtZSB9fVwiXHJcbiAgICBbbmdDbGFzc109XCJ7ICdpbnB1dC1kaXNhYmxlZCc6IGRpc2FibGVkIHx8IGxvYWRpbmcsXHJcbiAgICAgICdjdXN0b20tdmFsaWRhdGlvbic6ICFjb250cm9sLmhhc1ZhbGlkYXRvcihWYWxpZGF0b3JzWydyZXF1aXJlZCddKVxyXG4gICAgIH1cIlxyXG4gICAgW2Zsb2F0TGFiZWxdPVwiZmxvYXRMYWJlbFwiXHJcbiAgPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJzZmkgc2ZpLXNlYXJjaCBmYy1jb3JhbCBmcy0xOFwiIG1hdFByZWZpeD48L3NwYW4+XHJcbiAgICA8bGFiZWwgY2xhc3M9XCJtYXQtZm9ybS1jb250ZW50XCI+XHJcbiAgICAgIDxpbnB1dFxyXG4gICAgICAgICNhdXRvY29tcGxldGVJbnB1dFxyXG4gICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAoa2V5ZG93bik9XCJvbktleURvd24oJGV2ZW50LCBhdXRvY29tcGxldGVJbnB1dClcIlxyXG4gICAgICAgIFthdHRyLmRpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwibGFiZWxcIlxyXG4gICAgICAgIGFyaWEtbGFiZWw9XCJOdW1iZXJcIlxyXG4gICAgICAgIG1hdElucHV0XHJcbiAgICAgICAgKGlucHV0KT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cInNlYXJjaENvbnRyb2xcIlxyXG4gICAgICAgIFtuYW1lXT1cIm5hbWVcIlxyXG4gICAgICAgIFttYXRBdXRvY29tcGxldGVdPVwiYXV0b1wiXHJcbiAgICAgICAgW3ZhbHVlXT1cInZhbHVlPy5rZXlcIlxyXG4gICAgICAgIChmb2N1c291dCk9XCJvbkZvY3VzT3V0KClcIlxyXG4gICAgICAvPlxyXG4gICAgPC9sYWJlbD5cclxuXHJcbiAgICBAaWYobG9hZGluZykge1xyXG4gICAgPHNwYW4gY2xhc3M9XCJzZmkgc2ZpLXNwaW5uZXIgZC1pbmxpbmUtYmxvY2sgc3BpbiBmYy1jb3JhbFwiIG1hdFN1ZmZpeD48L3NwYW4+XHJcbiAgICB9IEBpZighbG9hZGluZyAmJiBzZWFyY2hDb250cm9sPy52YWx1ZSkge1xyXG4gICAgPHNwYW5cclxuICAgICAgY2xhc3M9XCJzZmkgc2ZpLWNsb3NlIGQtaW5saW5lLWJsb2NrIGZjLWNvcmFsIGN1cnNvci1wb2ludGVyIGZzLTEyXCJcclxuICAgICAgKGNsaWNrKT1cImNsZWFySW5wdXQoKVwiXHJcbiAgICAgIG1hdFN1ZmZpeFxyXG4gICAgPjwvc3Bhbj5cclxuICAgIH1cclxuXHJcbiAgICA8bWF0LWF1dG9jb21wbGV0ZVxyXG4gICAgICBhdXRvQWN0aXZlRmlyc3RPcHRpb25cclxuICAgICAgI2F1dG89XCJtYXRBdXRvY29tcGxldGVcIlxyXG4gICAgICBbZGlzcGxheVdpdGhdPVwiZGlzcGxheUZuXCJcclxuICAgICAgKG9wdGlvblNlbGVjdGVkKT1cImdldEF1dG9Db21wbGV0ZSgkZXZlbnQub3B0aW9uLnZhbHVlKVwiPlxyXG5cclxuXHJcblxyXG5cclxuICAgICAgQGlmKCFub0RhdGEpIHtcclxuICAgICAgPG5nLWNvbnRhaW5lcj5cclxuICAgICAgICBAZm9yKG9wdGlvbiBvZiBmaWx0ZXJlZE9wdGlvbnM7IHRyYWNrIG9wdGlvbikge1xyXG4gICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJvcHRpb25cIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgIEBpZihvcHRpb25bJ2F2YXRhcl91cmwnXSkge1xyXG4gICAgICAgICAgICA8ZmlndXJlIGNsYXNzPVwiaW1nLWNhcmQgc21hbGwgY2lyY2xlZC1pbWcgcC0wIG0tMFwiPlxyXG4gICAgICAgICAgICAgIDxpbWcgW3NyY109XCJvcHRpb25bJ2F2YXRhcl91cmwnXVwiIGFsdD1cIlwiIC8+XHJcbiAgICAgICAgICAgIDwvZmlndXJlPlxyXG4gICAgICAgICAgICB9IEBpZihvcHRpb25bJ2F2YXRhcl91cmwnXSkge1xyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm14LTJcIj48L3NwYW4+XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHt7IG9wdGlvbltkaXNwbGF5ZWRMYWJlbF0gfX1cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbWF0LW9wdGlvbj5cclxuICAgICAgICB9XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICB9IEBpZihub0RhdGEpIHtcclxuICAgICAgPG5nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bWF0LW9wdGlvbiBbZGlzYWJsZWRdPVwidHJ1ZVwiIGNsYXNzPVwidGV4dC1jZW50ZXJcIj5ObyBEYXRhPC9tYXQtb3B0aW9uPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgfVxyXG4gICAgPC9tYXQtYXV0b2NvbXBsZXRlPlxyXG5cclxuICAgIDwhLS0gPG1hdC1lcnJvciBjbGFzcz1cIm1iLTJcIiAqbmdJZj1cIighY29udHJvbD8udmFsaWQpXCI+e3sgJ3ZhbGlkU2VsZWN0RXJyb3InIHwgdHJhbnNsYXRlIH19e3sgbGFiZWwgfX08L21hdC1lcnJvcj4gLS0+XHJcblxyXG4gICAgQGlmKHNob3dIaW50KSB7XHJcbiAgICA8bWF0LWhpbnQ+XHJcbiAgICAgIDxzcGFuXHJcbiAgICAgICAgY2xhc3M9XCJzZmkgc2ZpLWNoZWNrLWNpcmNsZSBmb250LTEwIGZjLWRhcmstZ3JheVwiXHJcbiAgICAgICAgW25nQ2xhc3NdPVwieyAnZmMtb2FzaXMtbGlnaHQtaW1wJzogdmFsdWUgfVwiXHJcbiAgICAgID48L3NwYW4+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwibXgtMVwiPjwvc3Bhbj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJmcy0xMiBmYy1vbnl4XCI+e3sgaGludCB9fTwvc3Bhbj5cclxuICAgIDwvbWF0LWhpbnQ+XHJcbiAgICB9XHJcbiAgPC9tYXQtZm9ybS1maWVsZD5cclxuXHJcbiAgPGFwcC12YWxpZGF0aW9uLWVycm9ycyBbZXJyb3JzXT1cImNvbnRyb2wuZXJyb3JzXCI+PC9hcHAtdmFsaWRhdGlvbi1lcnJvcnM+XHJcbjwvbmctY29udGFpbmVyPlxyXG59XHJcbiJdfQ==
|
package/esm2022/lib/components/shared-components/form-field/date-picker/date-picker.component.mjs
CHANGED
|
@@ -133,7 +133,7 @@ export class DatePickerComponent extends ControlValueAccessorDirective {
|
|
|
133
133
|
provide: MAT_DATE_FORMATS,
|
|
134
134
|
useClass: CustomDateFormat,
|
|
135
135
|
},
|
|
136
|
-
], viewQueries: [{ propertyName: "datepicker", first: true, predicate: MatDatepicker, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@if(!isReadOnly) {\r\n <ng-container>\r\n @if(label) {\r\n <app-form-label [label]=\"label\" [optional]=\"
|
|
136
|
+
], viewQueries: [{ propertyName: "datepicker", first: true, predicate: MatDatepicker, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@if(!isReadOnly) {\r\n <ng-container>\r\n @if(label) {\r\n <app-form-label [label]=\"label\" [optional]=\"required || mandatory ? false : true\" [tooltip]=\"tooltip\"></app-form-label>\r\n }\r\n\r\n <div class=\"datePicker justify-content-between mb-1\">\r\n <mat-form-field\r\n [ngClass]=\"{ 'input-disabled': isDisabled }\"\r\n [floatLabel]=\"floatLabel\"\r\n >\r\n <label class=\"mat-form-content\">\r\n <input\r\n matInput\r\n (dateInput)=\"dateChange($event)\"\r\n [placeholder]=\"label ? ('select' | translate) + ' ' + label : ''\"\r\n (click)=\"focusPicker(dp)\"\r\n [min]=\"minDateValue\"\r\n [max]=\"maxDateValue\"\r\n readonly\r\n [matDatepicker]=\"dp\"\r\n [formControl]=\"control\"\r\n />\r\n </label>\r\n\r\n @if(control?.value) {\r\n <ds-icon\r\n matSuffix\r\n icon=\"close\"\r\n class=\"fc-coral fs-10 mx-2 cursor-pointer\"\r\n (click)=\"clearDateValue($event)\"\r\n ></ds-icon>\r\n }\r\n\r\n <mat-datepicker-toggle matSuffix [for]=\"dp\">\r\n <ds-icon\r\n icon=\"calendar-o\"\r\n class=\"fc-black fs-18\"\r\n matDatepickerToggleIcon\r\n ></ds-icon>\r\n </mat-datepicker-toggle>\r\n\r\n <mat-datepicker #dp></mat-datepicker>\r\n <!-- <mat-error *ngIf=\"errorMessage\">{{errorMessage}}</mat-error> -->\r\n </mat-form-field>\r\n </div>\r\n <app-validation-errors [errors]=\"control.errors\"></app-validation-errors>\r\n\r\n </ng-container>\r\n}\r\n\r\n@if(isReadOnly && control.value) {\r\n <ng-container>\r\n <app-info-item\r\n class=\"info-item w-100\"\r\n type=\"date\"\r\n [insideTable]=\"insideTable\"\r\n [dateType]=\"calendarType\"\r\n [label]=\"label\"\r\n [value]=\"control.value\"\r\n [hasLabel]=\"!!label\"\r\n >\r\n </app-info-item>\r\n </ng-container>\r\n}\r\n", styles: [":host{flex-grow:1}::ng-deep .year-only .mat-calendar-period-button{pointer-events:none}::ng-deep .year-only .mat-calendar-arrow{display:none}\n"], dependencies: [{ kind: "component", type: MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "component", type: i1.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "directive", type: i1.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "ngmodule", type: i1.MatDatepickerModule }, { kind: "directive", type: i1.MatDatepickerToggleIcon, selector: "[matDatepickerToggleIcon]" }, { kind: "ngmodule", type: i2.MatNativeDateModule }, { kind: "ngmodule", type: i3.MatFormFieldModule }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i5.FormLabelComponent, selector: "app-form-label", inputs: ["tooltip", "label", "optional"] }, { kind: "component", type: i6.ValidationErrorsComponent, selector: "app-validation-errors", inputs: ["errors", "customErrorMessages"] }, { kind: "component", type: i7.InfoItemComponent, selector: "app-info-item", inputs: ["label", "value", "name", "type", "dateType", "multiple", "insideTable", "hasLabel", "arrayList", "actionType", "download"] }, { kind: "ngmodule", type: i8.ReactiveFormsModule }, { kind: "directive", type: i8.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i8.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i9.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i10.TranslatePipe, name: "translate" }] });
|
|
137
137
|
}
|
|
138
138
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: DatePickerComponent, decorators: [{
|
|
139
139
|
type: Component,
|
|
@@ -152,7 +152,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
152
152
|
...MatDatePickerImports,
|
|
153
153
|
...MatFormImports,
|
|
154
154
|
...Shareds
|
|
155
|
-
], template: "@if(!isReadOnly) {\r\n <ng-container>\r\n @if(label) {\r\n <app-form-label [label]=\"label\" [optional]=\"
|
|
155
|
+
], template: "@if(!isReadOnly) {\r\n <ng-container>\r\n @if(label) {\r\n <app-form-label [label]=\"label\" [optional]=\"required || mandatory ? false : true\" [tooltip]=\"tooltip\"></app-form-label>\r\n }\r\n\r\n <div class=\"datePicker justify-content-between mb-1\">\r\n <mat-form-field\r\n [ngClass]=\"{ 'input-disabled': isDisabled }\"\r\n [floatLabel]=\"floatLabel\"\r\n >\r\n <label class=\"mat-form-content\">\r\n <input\r\n matInput\r\n (dateInput)=\"dateChange($event)\"\r\n [placeholder]=\"label ? ('select' | translate) + ' ' + label : ''\"\r\n (click)=\"focusPicker(dp)\"\r\n [min]=\"minDateValue\"\r\n [max]=\"maxDateValue\"\r\n readonly\r\n [matDatepicker]=\"dp\"\r\n [formControl]=\"control\"\r\n />\r\n </label>\r\n\r\n @if(control?.value) {\r\n <ds-icon\r\n matSuffix\r\n icon=\"close\"\r\n class=\"fc-coral fs-10 mx-2 cursor-pointer\"\r\n (click)=\"clearDateValue($event)\"\r\n ></ds-icon>\r\n }\r\n\r\n <mat-datepicker-toggle matSuffix [for]=\"dp\">\r\n <ds-icon\r\n icon=\"calendar-o\"\r\n class=\"fc-black fs-18\"\r\n matDatepickerToggleIcon\r\n ></ds-icon>\r\n </mat-datepicker-toggle>\r\n\r\n <mat-datepicker #dp></mat-datepicker>\r\n <!-- <mat-error *ngIf=\"errorMessage\">{{errorMessage}}</mat-error> -->\r\n </mat-form-field>\r\n </div>\r\n <app-validation-errors [errors]=\"control.errors\"></app-validation-errors>\r\n\r\n </ng-container>\r\n}\r\n\r\n@if(isReadOnly && control.value) {\r\n <ng-container>\r\n <app-info-item\r\n class=\"info-item w-100\"\r\n type=\"date\"\r\n [insideTable]=\"insideTable\"\r\n [dateType]=\"calendarType\"\r\n [label]=\"label\"\r\n [value]=\"control.value\"\r\n [hasLabel]=\"!!label\"\r\n >\r\n </app-info-item>\r\n </ng-container>\r\n}\r\n", styles: [":host{flex-grow:1}::ng-deep .year-only .mat-calendar-period-button{pointer-events:none}::ng-deep .year-only .mat-calendar-arrow{display:none}\n"] }]
|
|
156
156
|
}], propDecorators: { className: [{
|
|
157
157
|
type: Input
|
|
158
158
|
}], calendarType: [{
|
|
@@ -172,4 +172,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
172
172
|
type: ViewChild,
|
|
173
173
|
args: [MatDatepicker]
|
|
174
174
|
}] } });
|
|
175
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlZC1jb21wb25lbnRzL2Zvcm0tZmllbGQvZGF0ZS1waWNrZXIvZGF0ZS1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlZC1jb21wb25lbnRzL2Zvcm0tZmllbGQvZGF0ZS1waWNrZXIvZGF0ZS1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFdBQVcsRUFDWCxpQkFBaUIsR0FFbEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBRUwsU0FBUyxFQUNULHNCQUFzQixFQUN0QixVQUFVLEVBQ1YsWUFBWSxFQUNaLFVBQVUsRUFDVixNQUFNLEVBQ04sTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBRU4sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNwRixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxjQUFjLEVBQUUsT0FBTyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzdELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7Ozs7Ozs7QUFFaEUsTUFBTSxnQkFB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T0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztnQkFDbEQsS0FBSyxFQUFFLElBQUk7YUFDWjtZQUNEO2dCQUNFLE9BQU8sRUFBRSxnQkFBZ0I7Z0JBQ3pCLFFBQVEsRUFBRSxnQkFBZ0I7YUFDM0I7U0FDRixzRUFnQ1UsYUFBYSw0RkN2RjFCLDQvREFpRUEseU1EUEksYUFBYTs7MkZBTUosbUJBQW1CO2tCQXpCL0IsU0FBUzsrQkFDRSxnQkFBZ0IsY0FHZCxJQUFJLFdBQ1AsQ0FBQyxzQkFBc0IsQ0FBQyxhQUN0Qjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxvQkFBb0IsQ0FBQzs0QkFDbEQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLGdCQUFnQjs0QkFDekIsUUFBUSxFQUFFLGdCQUFnQjt5QkFDM0I7cUJBQ0YsV0FFUTt3QkFDUCxhQUFhO3dCQUNiLEdBQUcsb0JBQW9CO3dCQUN2QixHQUFHLGNBQWM7d0JBQ2pCLEdBQUcsT0FBTztxQkFDWDs4QkFPUSxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDSSxTQUFTO3NCQUFsQixNQUFNO2dCQUVFLEtBQUs7c0JBQWIsS0FBSztnQkFDMkIsVUFBVTtzQkFBMUMsTUFBTTt1QkFBQyxnQkFBZ0I7Z0JBR1gsTUFBTTtzQkFBbEIsS0FBSztnQkFTb0IsVUFBVTtzQkFBbkMsU0FBUzt1QkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBGb3JtQ29udHJvbCxcclxuICBOR19WQUxVRV9BQ0NFU1NPUixcclxuICBWYWxpZGF0b3JzLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHtcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIENvbXBvbmVudCxcclxuICBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLFxyXG4gIERlc3Ryb3lSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIGZvcndhcmRSZWYsXHJcbiAgaW5qZWN0LFxyXG4gIEluamVjdCxcclxuICBJbnB1dCxcclxuICBPdXRwdXQsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBWaWV3Q2hpbGQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEN1c3RvbURhdGVGb3JtYXQgfSBmcm9tICcuL2RhdGUtZm9ybWF0JztcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3JEaXJlY3RpdmUgfSBmcm9tICcuLi9jb250cm9sLXZhbHVlLWFjY2Vzc29yLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IGZvcm1hdCB9IGZyb20gJ2RhdGUtZm5zJztcclxuaW1wb3J0IHsgTWF0RGF0ZVBpY2tlckltcG9ydHMsIE1hdEZvcm1JbXBvcnRzLCBTaGFyZWRzIH0gZnJvbSAnLi4vc2hhcmVkLWltcG9ydHMnO1xyXG5pbXBvcnQgeyBNQVRfREFURV9GT1JNQVRTIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XHJcbmltcG9ydCB7IE1hdERhdGVwaWNrZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyJztcclxuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xyXG5cclxuY29uc3QgWUVBUl9PTkxZX0ZPUk1BVCA9IHtcclxuICBwYXJzZToge1xyXG4gICAgZGF0ZUlucHV0OiAnWVlZWScsXHJcbiAgfSxcclxuICBkaXNwbGF5OiB7XHJcbiAgICBkYXRlSW5wdXQ6ICdZWVlZJyxcclxuICAgIG1vbnRoWWVhckxhYmVsOiAnWVlZWScsXHJcbiAgICBkYXRlQTExeUxhYmVsOiAnTEwnLFxyXG4gICAgbW9udGhZZWFyQTExeUxhYmVsOiAnWVlZWScsXHJcbiAgfSxcclxufTtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWRhdGVwaWNrZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRlLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZGF0ZS1waWNrZXIuY29tcG9uZW50LnNjc3MnXSxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IERhdGVQaWNrZXJDb21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE1BVF9EQVRFX0ZPUk1BVFMsXHJcbiAgICAgIHVzZUNsYXNzOiBDdXN0b21EYXRlRm9ybWF0LFxyXG4gICAgfSxcclxuICBdLFxyXG5cclxuICBpbXBvcnRzOiBbXHJcbiAgICBNYXREYXRlcGlja2VyLFxyXG4gICAgLi4uTWF0RGF0ZVBpY2tlckltcG9ydHMsXHJcbiAgICAuLi5NYXRGb3JtSW1wb3J0cyxcclxuICAgIC4uLlNoYXJlZHNcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGF0ZVBpY2tlckNvbXBvbmVudDxUeXBlPlxyXG4gIGV4dGVuZHMgQ29udHJvbFZhbHVlQWNjZXNzb3JEaXJlY3RpdmU8VHlwZT5cclxuICBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXRcclxue1xyXG4gIGRhdGUgPSBuZXcgRm9ybUNvbnRyb2woKTtcclxuICBASW5wdXQoKSBjbGFzc05hbWUhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgY2FsZW5kYXJUeXBlITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHllYXJPbmx5OiBib29sZWFuO1xyXG4gIEBPdXRwdXQoKSBkYXRlVmFsdWU6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIHNob3dJc2xhbWljID0gZmFsc2U7XHJcbiAgQElucHV0KCkgZXJyb3IhOiBzdHJpbmc7XHJcbiAgQEluamVjdChNQVRfREFURV9GT1JNQVRTKSBwdWJsaWMgZGF0ZUZvcm1hdDogQ3VzdG9tRGF0ZUZvcm1hdDtcclxuICBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xyXG5cclxuICBASW5wdXQoKSBzZXQgZm9ybWF0KF9mb3JtYXQ6IHN0cmluZykge1xyXG4gICAgaWYgKF9mb3JtYXQpIHtcclxuICAgICAgdGhpcy5kYXRlRm9ybWF0LnVwZGF0ZURhdGVGb3JtYXQoXHJcbiAgICAgICAgeyBkYXRlSW5wdXQ6IF9mb3JtYXQgfSxcclxuICAgICAgICB7IGRhdGVJbnB1dDogX2Zvcm1hdCB9XHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAVmlld0NoaWxkKE1hdERhdGVwaWNrZXIpIGRhdGVwaWNrZXI6IE1hdERhdGVwaWNrZXI8YW55PjtcclxuICBmbG9hdExhYmVsOiBhbnkgPSAnYXV0byc7XHJcbiAgb3ZlcnJpZGUgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBzdXBlci5uZ09uSW5pdCgpXHJcbiAgICB0aGlzLmFjdGlvblN0YXRlU2VydmljZS5yZXNldEFjdGlvbiRcclxuICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKVxyXG4gICAgLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICBpZiAoIXRoaXMuaXNSZWFkT25seSAmJiB0aGlzLmNvbnRyb2wuZW5hYmxlZCkge1xyXG4gICAgICAgIHRoaXMuY29udHJvbC5yZXNldCgpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuaXNSZWFkT25seSAmJiB0aGlzLnllYXJPbmx5KSB0aGlzLmFjdGl2YXRlWWVhck9ubHlNb2RlKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICB0aGlzLnNldERhdGVGb3JtQ29udHJvbCgpO1xyXG4gIH1cclxuXHJcbiAgc2V0RGF0ZUZvcm1Db250cm9sKCkge1xyXG4gICAgY29uc3QgdG9kYXkgPSBuZXcgRGF0ZSgpO1xyXG4gICAgY29uc3QgY3VycmVudFllYXIgPSB0b2RheS5nZXRGdWxsWWVhcigpO1xyXG4gICAgY29uc3QgY3VycmVudE1vbnRoID0gdG9kYXkuZ2V0TW9udGgoKTtcclxuICAgIGNvbnN0IGN1cnJlbnREYXkgPSB0b2RheS5nZXREYXRlKCk7XHJcbiAgICBpZiAodGhpcy5taW5EYXRlKSB7XHJcbiAgICAgIGlmICh0aGlzLm1pbkRhdGUgPT0gJ3RvZGF5Jykge1xyXG4gICAgICAgIHRoaXMubWluRGF0ZVZhbHVlID0gbmV3IERhdGUoY3VycmVudFllYXIsIGN1cnJlbnRNb250aCwgY3VycmVudERheSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5tYXhEYXRlKSB7XHJcbiAgICAgIGlmICh0aGlzLm1heERhdGUgPT0gJ3RvZGF5Jykge1xyXG4gICAgICAgIHRoaXMubWF4RGF0ZVZhbHVlID0gbmV3IERhdGUoY3VycmVudFllYXIsIGN1cnJlbnRNb250aCwgY3VycmVudERheSk7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5tYXhEYXRlID09ICdvbmVZZWFyJykge1xyXG4gICAgICAgIHRoaXMubWF4RGF0ZVZhbHVlID0gbmV3IERhdGUoXHJcbiAgICAgICAgICBjdXJyZW50WWVhciArIDEsXHJcbiAgICAgICAgICBjdXJyZW50TW9udGgsXHJcbiAgICAgICAgICBjdXJyZW50RGF5IC0gMVxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmICh0aGlzLmN1c3RvbU1heERhdGUpIHtcclxuICAgICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKHRoaXMuY3VzdG9tTWF4RGF0ZSk7XHJcbiAgICAgIHRoaXMubWF4RGF0ZVZhbHVlID0gbmV3IERhdGUoXHJcbiAgICAgICAgZGF0ZS5nZXRGdWxsWWVhcigpLFxyXG4gICAgICAgIGRhdGUuZ2V0TW9udGgoKSxcclxuICAgICAgICBkYXRlLmdldERhdGUoKVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuY3VzdG9tTWluRGF0ZSkge1xyXG4gICAgICBjb25zdCBkYXRlID0gbmV3IERhdGUodGhpcy5jdXN0b21NaW5EYXRlKTtcclxuICAgICAgdGhpcy5taW5EYXRlVmFsdWUgPSBuZXcgRGF0ZShcclxuICAgICAgICBkYXRlLmdldEZ1bGxZZWFyKCksXHJcbiAgICAgICAgZGF0ZS5nZXRNb250aCgpLFxyXG4gICAgICAgIGRhdGUuZ2V0RGF0ZSgpXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgICAvLyBpZiAodGhpcy5yZXF1aXJlZCkgdGhpcy5jb250cm9sLmFkZFZhbGlkYXRvcnMoVmFsaWRhdG9ycy5yZXF1aXJlZCk7XHJcbiAgfVxyXG5cclxuICBmb2N1c1BpY2tlcihwaWNrZXIpIHtcclxuICAgIHBpY2tlci5vcGVuKCk7XHJcbiAgfVxyXG5cclxuICBkYXRlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIGlmIChldmVudD8udmFsdWUgJiYgIXRoaXMuaXNEaXNhYmxlZCkge1xyXG4gICAgICBsZXQgaW5wdXRWYWx1ZTtcclxuICAgICAgaW5wdXRWYWx1ZSA9IGZvcm1hdChcclxuICAgICAgICBuZXcgRGF0ZShldmVudC52YWx1ZSksXHJcbiAgICAgICAgXCJ5eXl5LU1NLWRkJ1QnSEg6bW06c3MuU1NTeHh4XCJcclxuICAgICAgKTtcclxuICAgICAgdGhpcy5jb250cm9sLnNldFZhbHVlKGlucHV0VmFsdWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2xlYXJEYXRlVmFsdWUoZXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMuY29udHJvbC5yZXNldCgpO1xyXG4gICAgdGhpcy5jb250cm9sLm1hcmtBc1RvdWNoZWQoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYWN0aXZhdGVZZWFyT25seU1vZGUoKTogdm9pZCB7XHJcbiAgICB0aGlzLmRhdGVGb3JtYXQudXBkYXRlRGF0ZUZvcm1hdChcclxuICAgICAgWUVBUl9PTkxZX0ZPUk1BVC5wYXJzZSxcclxuICAgICAgWUVBUl9PTkxZX0ZPUk1BVC5kaXNwbGF5XHJcbiAgICApO1xyXG4gICAgaWYgKHRoaXMuY29udHJvbCkge1xyXG4gICAgICB0aGlzLmNvbnRyb2wuc2V0VmFsdWUoZm9ybWF0KG5ldyBEYXRlKHRoaXMuY29udHJvbC52YWx1ZSksICd5eXl5JykpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5kYXRlcGlja2VyLnN0YXJ0VmlldyA9ICdtdWx0aS15ZWFyJztcclxuICAgIHRoaXMuZGF0ZXBpY2tlci55ZWFyU2VsZWN0ZWQuc3Vic2NyaWJlKChlKSA9PiB7XHJcbiAgICAgIHRoaXMuY29udHJvbC5zZXRWYWx1ZShmb3JtYXQobmV3IERhdGUoZSksICd5eXl5JykpO1xyXG4gICAgICB0aGlzLmRhdGVwaWNrZXIuY2xvc2UoKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5kYXRlcGlja2VyLm9wZW5lZFN0cmVhbS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5hZGQoJ3llYXItb25seScpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLmRhdGVwaWNrZXIuY2xvc2VkU3RyZWFtLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnJlbW92ZSgneWVhci1vbmx5Jyk7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiQGlmKCFpc1JlYWRPbmx5KSB7XHJcbiAgPG5nLWNvbnRhaW5lcj5cclxuICAgIEBpZihsYWJlbCkge1xyXG4gICAgICA8YXBwLWZvcm0tbGFiZWwgW2xhYmVsXT1cImxhYmVsXCIgW29wdGlvbmFsXT1cIiFyZXF1aXJlZFwiIFt0b29sdGlwXT1cInRvb2x0aXBcIj48L2FwcC1mb3JtLWxhYmVsPlxyXG4gICAgfVxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJkYXRlUGlja2VyIGp1c3RpZnktY29udGVudC1iZXR3ZWVuIG1iLTFcIj5cclxuICAgICAgPG1hdC1mb3JtLWZpZWxkXHJcbiAgICAgICAgW25nQ2xhc3NdPVwieyAnaW5wdXQtZGlzYWJsZWQnOiBpc0Rpc2FibGVkIH1cIlxyXG4gICAgICAgIFtmbG9hdExhYmVsXT1cImZsb2F0TGFiZWxcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGxhYmVsIGNsYXNzPVwibWF0LWZvcm0tY29udGVudFwiPlxyXG4gICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgIG1hdElucHV0XHJcbiAgICAgICAgICAgIChkYXRlSW5wdXQpPVwiZGF0ZUNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImxhYmVsID8gKCdzZWxlY3QnIHwgdHJhbnNsYXRlKSArICcgJyArIGxhYmVsIDogJydcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwiZm9jdXNQaWNrZXIoZHApXCJcclxuICAgICAgICAgICAgW21pbl09XCJtaW5EYXRlVmFsdWVcIlxyXG4gICAgICAgICAgICBbbWF4XT1cIm1heERhdGVWYWx1ZVwiXHJcbiAgICAgICAgICAgIHJlYWRvbmx5XHJcbiAgICAgICAgICAgIFttYXREYXRlcGlja2VyXT1cImRwXCJcclxuICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICBAaWYoY29udHJvbD8udmFsdWUpIHtcclxuICAgICAgICAgIDxkcy1pY29uXHJcbiAgICAgICAgICAgIG1hdFN1ZmZpeFxyXG4gICAgICAgICAgICBpY29uPVwiY2xvc2VcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImZjLWNvcmFsIGZzLTEwIG14LTIgY3Vyc29yLXBvaW50ZXJcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwiY2xlYXJEYXRlVmFsdWUoJGV2ZW50KVwiXHJcbiAgICAgICAgICA+PC9kcy1pY29uPlxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgPG1hdC1kYXRlcGlja2VyLXRvZ2dsZSBtYXRTdWZmaXggW2Zvcl09XCJkcFwiPlxyXG4gICAgICAgICAgPGRzLWljb25cclxuICAgICAgICAgICAgaWNvbj1cImNhbGVuZGFyLW9cIlxyXG4gICAgICAgICAgICBjbGFzcz1cImZjLWJsYWNrIGZzLTE4XCJcclxuICAgICAgICAgICAgbWF0RGF0ZXBpY2tlclRvZ2dsZUljb25cclxuICAgICAgICAgID48L2RzLWljb24+XHJcbiAgICAgICAgPC9tYXQtZGF0ZXBpY2tlci10b2dnbGU+XHJcblxyXG4gICAgICAgIDxtYXQtZGF0ZXBpY2tlciAjZHA+PC9tYXQtZGF0ZXBpY2tlcj5cclxuICAgICAgICA8IS0tIDxtYXQtZXJyb3IgKm5nSWY9XCJlcnJvck1lc3NhZ2VcIj57e2Vycm9yTWVzc2FnZX19PC9tYXQtZXJyb3I+IC0tPlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8YXBwLXZhbGlkYXRpb24tZXJyb3JzIFtlcnJvcnNdPVwiY29udHJvbC5lcnJvcnNcIj48L2FwcC12YWxpZGF0aW9uLWVycm9ycz5cclxuXHJcbiAgPC9uZy1jb250YWluZXI+XHJcbn1cclxuXHJcbkBpZihpc1JlYWRPbmx5ICYmIGNvbnRyb2wudmFsdWUpIHtcclxuICA8bmctY29udGFpbmVyPlxyXG4gICAgPGFwcC1pbmZvLWl0ZW1cclxuICAgICAgY2xhc3M9XCJpbmZvLWl0ZW0gdy0xMDBcIlxyXG4gICAgICB0eXBlPVwiZGF0ZVwiXHJcbiAgICAgIFtpbnNpZGVUYWJsZV09XCJpbnNpZGVUYWJsZVwiXHJcbiAgICAgIFtkYXRlVHlwZV09XCJjYWxlbmRhclR5cGVcIlxyXG4gICAgICBbbGFiZWxdPVwibGFiZWxcIlxyXG4gICAgICBbdmFsdWVdPVwiY29udHJvbC52YWx1ZVwiXHJcbiAgICAgIFtoYXNMYWJlbF09XCIhIWxhYmVsXCJcclxuICAgID5cclxuICAgIDwvYXBwLWluZm8taXRlbT5cclxuICA8L25nLWNvbnRhaW5lcj5cclxufVxyXG4iXX0=
|
|
175
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlZC1jb21wb25lbnRzL2Zvcm0tZmllbGQvZGF0ZS1waWNrZXIvZGF0ZS1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlZC1jb21wb25lbnRzL2Zvcm0tZmllbGQvZGF0ZS1waWNrZXIvZGF0ZS1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFdBQVcsRUFDWCxpQkFBaUIsR0FFbEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBRUwsU0FBUyxFQUNULHNCQUFzQixFQUN0QixVQUFVLEVBQ1YsWUFBWSxFQUNaLFVBQVUsRUFDVixNQUFNLEVBQ04sTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBRU4sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNwRixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxjQUFjLEVBQUUsT0FBTyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzdELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7Ozs7Ozs7QUFFaEUsTUFBTSxnQkFB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T0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztnQkFDbEQsS0FBSyxFQUFFLElBQUk7YUFDWjtZQUNEO2dCQUNFLE9BQU8sRUFBRSxnQkFBZ0I7Z0JBQ3pCLFFBQVEsRUFBRSxnQkFBZ0I7YUFDM0I7U0FDRixzRUFnQ1UsYUFBYSw0RkN2RjFCLHVoRUFpRUEseU1EUEksYUFBYTs7MkZBTUosbUJBQW1CO2tCQXpCL0IsU0FBUzsrQkFDRSxnQkFBZ0IsY0FHZCxJQUFJLFdBQ1AsQ0FBQyxzQkFBc0IsQ0FBQyxhQUN0Qjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxvQkFBb0IsQ0FBQzs0QkFDbEQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLGdCQUFnQjs0QkFDekIsUUFBUSxFQUFFLGdCQUFnQjt5QkFDM0I7cUJBQ0YsV0FFUTt3QkFDUCxhQUFhO3dCQUNiLEdBQUcsb0JBQW9CO3dCQUN2QixHQUFHLGNBQWM7d0JBQ2pCLEdBQUcsT0FBTztxQkFDWDs4QkFPUSxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDSSxTQUFTO3NCQUFsQixNQUFNO2dCQUVFLEtBQUs7c0JBQWIsS0FBSztnQkFDMkIsVUFBVTtzQkFBMUMsTUFBTTt1QkFBQyxnQkFBZ0I7Z0JBR1gsTUFBTTtzQkFBbEIsS0FBSztnQkFTb0IsVUFBVTtzQkFBbkMsU0FBUzt1QkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBGb3JtQ29udHJvbCxcclxuICBOR19WQUxVRV9BQ0NFU1NPUixcclxuICBWYWxpZGF0b3JzLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHtcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIENvbXBvbmVudCxcclxuICBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLFxyXG4gIERlc3Ryb3lSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIGZvcndhcmRSZWYsXHJcbiAgaW5qZWN0LFxyXG4gIEluamVjdCxcclxuICBJbnB1dCxcclxuICBPdXRwdXQsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBWaWV3Q2hpbGQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEN1c3RvbURhdGVGb3JtYXQgfSBmcm9tICcuL2RhdGUtZm9ybWF0JztcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3JEaXJlY3RpdmUgfSBmcm9tICcuLi9jb250cm9sLXZhbHVlLWFjY2Vzc29yLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IGZvcm1hdCB9IGZyb20gJ2RhdGUtZm5zJztcclxuaW1wb3J0IHsgTWF0RGF0ZVBpY2tlckltcG9ydHMsIE1hdEZvcm1JbXBvcnRzLCBTaGFyZWRzIH0gZnJvbSAnLi4vc2hhcmVkLWltcG9ydHMnO1xyXG5pbXBvcnQgeyBNQVRfREFURV9GT1JNQVRTIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XHJcbmltcG9ydCB7IE1hdERhdGVwaWNrZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyJztcclxuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xyXG5cclxuY29uc3QgWUVBUl9PTkxZX0ZPUk1BVCA9IHtcclxuICBwYXJzZToge1xyXG4gICAgZGF0ZUlucHV0OiAnWVlZWScsXHJcbiAgfSxcclxuICBkaXNwbGF5OiB7XHJcbiAgICBkYXRlSW5wdXQ6ICdZWVlZJyxcclxuICAgIG1vbnRoWWVhckxhYmVsOiAnWVlZWScsXHJcbiAgICBkYXRlQTExeUxhYmVsOiAnTEwnLFxyXG4gICAgbW9udGhZZWFyQTExeUxhYmVsOiAnWVlZWScsXHJcbiAgfSxcclxufTtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWRhdGVwaWNrZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRlLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZGF0ZS1waWNrZXIuY29tcG9uZW50LnNjc3MnXSxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IERhdGVQaWNrZXJDb21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE1BVF9EQVRFX0ZPUk1BVFMsXHJcbiAgICAgIHVzZUNsYXNzOiBDdXN0b21EYXRlRm9ybWF0LFxyXG4gICAgfSxcclxuICBdLFxyXG5cclxuICBpbXBvcnRzOiBbXHJcbiAgICBNYXREYXRlcGlja2VyLFxyXG4gICAgLi4uTWF0RGF0ZVBpY2tlckltcG9ydHMsXHJcbiAgICAuLi5NYXRGb3JtSW1wb3J0cyxcclxuICAgIC4uLlNoYXJlZHNcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGF0ZVBpY2tlckNvbXBvbmVudDxUeXBlPlxyXG4gIGV4dGVuZHMgQ29udHJvbFZhbHVlQWNjZXNzb3JEaXJlY3RpdmU8VHlwZT5cclxuICBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXRcclxue1xyXG4gIGRhdGUgPSBuZXcgRm9ybUNvbnRyb2woKTtcclxuICBASW5wdXQoKSBjbGFzc05hbWUhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgY2FsZW5kYXJUeXBlITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHllYXJPbmx5OiBib29sZWFuO1xyXG4gIEBPdXRwdXQoKSBkYXRlVmFsdWU6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIHNob3dJc2xhbWljID0gZmFsc2U7XHJcbiAgQElucHV0KCkgZXJyb3IhOiBzdHJpbmc7XHJcbiAgQEluamVjdChNQVRfREFURV9GT1JNQVRTKSBwdWJsaWMgZGF0ZUZvcm1hdDogQ3VzdG9tRGF0ZUZvcm1hdDtcclxuICBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xyXG5cclxuICBASW5wdXQoKSBzZXQgZm9ybWF0KF9mb3JtYXQ6IHN0cmluZykge1xyXG4gICAgaWYgKF9mb3JtYXQpIHtcclxuICAgICAgdGhpcy5kYXRlRm9ybWF0LnVwZGF0ZURhdGVGb3JtYXQoXHJcbiAgICAgICAgeyBkYXRlSW5wdXQ6IF9mb3JtYXQgfSxcclxuICAgICAgICB7IGRhdGVJbnB1dDogX2Zvcm1hdCB9XHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAVmlld0NoaWxkKE1hdERhdGVwaWNrZXIpIGRhdGVwaWNrZXI6IE1hdERhdGVwaWNrZXI8YW55PjtcclxuICBmbG9hdExhYmVsOiBhbnkgPSAnYXV0byc7XHJcbiAgb3ZlcnJpZGUgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBzdXBlci5uZ09uSW5pdCgpXHJcbiAgICB0aGlzLmFjdGlvblN0YXRlU2VydmljZS5yZXNldEFjdGlvbiRcclxuICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKVxyXG4gICAgLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICBpZiAoIXRoaXMuaXNSZWFkT25seSAmJiB0aGlzLmNvbnRyb2wuZW5hYmxlZCkge1xyXG4gICAgICAgIHRoaXMuY29udHJvbC5yZXNldCgpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuaXNSZWFkT25seSAmJiB0aGlzLnllYXJPbmx5KSB0aGlzLmFjdGl2YXRlWWVhck9ubHlNb2RlKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICB0aGlzLnNldERhdGVGb3JtQ29udHJvbCgpO1xyXG4gIH1cclxuXHJcbiAgc2V0RGF0ZUZvcm1Db250cm9sKCkge1xyXG4gICAgY29uc3QgdG9kYXkgPSBuZXcgRGF0ZSgpO1xyXG4gICAgY29uc3QgY3VycmVudFllYXIgPSB0b2RheS5nZXRGdWxsWWVhcigpO1xyXG4gICAgY29uc3QgY3VycmVudE1vbnRoID0gdG9kYXkuZ2V0TW9udGgoKTtcclxuICAgIGNvbnN0IGN1cnJlbnREYXkgPSB0b2RheS5nZXREYXRlKCk7XHJcbiAgICBpZiAodGhpcy5taW5EYXRlKSB7XHJcbiAgICAgIGlmICh0aGlzLm1pbkRhdGUgPT0gJ3RvZGF5Jykge1xyXG4gICAgICAgIHRoaXMubWluRGF0ZVZhbHVlID0gbmV3IERhdGUoY3VycmVudFllYXIsIGN1cnJlbnRNb250aCwgY3VycmVudERheSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5tYXhEYXRlKSB7XHJcbiAgICAgIGlmICh0aGlzLm1heERhdGUgPT0gJ3RvZGF5Jykge1xyXG4gICAgICAgIHRoaXMubWF4RGF0ZVZhbHVlID0gbmV3IERhdGUoY3VycmVudFllYXIsIGN1cnJlbnRNb250aCwgY3VycmVudERheSk7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5tYXhEYXRlID09ICdvbmVZZWFyJykge1xyXG4gICAgICAgIHRoaXMubWF4RGF0ZVZhbHVlID0gbmV3IERhdGUoXHJcbiAgICAgICAgICBjdXJyZW50WWVhciArIDEsXHJcbiAgICAgICAgICBjdXJyZW50TW9udGgsXHJcbiAgICAgICAgICBjdXJyZW50RGF5IC0gMVxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmICh0aGlzLmN1c3RvbU1heERhdGUpIHtcclxuICAgICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKHRoaXMuY3VzdG9tTWF4RGF0ZSk7XHJcbiAgICAgIHRoaXMubWF4RGF0ZVZhbHVlID0gbmV3IERhdGUoXHJcbiAgICAgICAgZGF0ZS5nZXRGdWxsWWVhcigpLFxyXG4gICAgICAgIGRhdGUuZ2V0TW9udGgoKSxcclxuICAgICAgICBkYXRlLmdldERhdGUoKVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuY3VzdG9tTWluRGF0ZSkge1xyXG4gICAgICBjb25zdCBkYXRlID0gbmV3IERhdGUodGhpcy5jdXN0b21NaW5EYXRlKTtcclxuICAgICAgdGhpcy5taW5EYXRlVmFsdWUgPSBuZXcgRGF0ZShcclxuICAgICAgICBkYXRlLmdldEZ1bGxZZWFyKCksXHJcbiAgICAgICAgZGF0ZS5nZXRNb250aCgpLFxyXG4gICAgICAgIGRhdGUuZ2V0RGF0ZSgpXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgICAvLyBpZiAodGhpcy5yZXF1aXJlZCkgdGhpcy5jb250cm9sLmFkZFZhbGlkYXRvcnMoVmFsaWRhdG9ycy5yZXF1aXJlZCk7XHJcbiAgfVxyXG5cclxuICBmb2N1c1BpY2tlcihwaWNrZXIpIHtcclxuICAgIHBpY2tlci5vcGVuKCk7XHJcbiAgfVxyXG5cclxuICBkYXRlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIGlmIChldmVudD8udmFsdWUgJiYgIXRoaXMuaXNEaXNhYmxlZCkge1xyXG4gICAgICBsZXQgaW5wdXRWYWx1ZTtcclxuICAgICAgaW5wdXRWYWx1ZSA9IGZvcm1hdChcclxuICAgICAgICBuZXcgRGF0ZShldmVudC52YWx1ZSksXHJcbiAgICAgICAgXCJ5eXl5LU1NLWRkJ1QnSEg6bW06c3MuU1NTeHh4XCJcclxuICAgICAgKTtcclxuICAgICAgdGhpcy5jb250cm9sLnNldFZhbHVlKGlucHV0VmFsdWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2xlYXJEYXRlVmFsdWUoZXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMuY29udHJvbC5yZXNldCgpO1xyXG4gICAgdGhpcy5jb250cm9sLm1hcmtBc1RvdWNoZWQoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYWN0aXZhdGVZZWFyT25seU1vZGUoKTogdm9pZCB7XHJcbiAgICB0aGlzLmRhdGVGb3JtYXQudXBkYXRlRGF0ZUZvcm1hdChcclxuICAgICAgWUVBUl9PTkxZX0ZPUk1BVC5wYXJzZSxcclxuICAgICAgWUVBUl9PTkxZX0ZPUk1BVC5kaXNwbGF5XHJcbiAgICApO1xyXG4gICAgaWYgKHRoaXMuY29udHJvbCkge1xyXG4gICAgICB0aGlzLmNvbnRyb2wuc2V0VmFsdWUoZm9ybWF0KG5ldyBEYXRlKHRoaXMuY29udHJvbC52YWx1ZSksICd5eXl5JykpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5kYXRlcGlja2VyLnN0YXJ0VmlldyA9ICdtdWx0aS15ZWFyJztcclxuICAgIHRoaXMuZGF0ZXBpY2tlci55ZWFyU2VsZWN0ZWQuc3Vic2NyaWJlKChlKSA9PiB7XHJcbiAgICAgIHRoaXMuY29udHJvbC5zZXRWYWx1ZShmb3JtYXQobmV3IERhdGUoZSksICd5eXl5JykpO1xyXG4gICAgICB0aGlzLmRhdGVwaWNrZXIuY2xvc2UoKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5kYXRlcGlja2VyLm9wZW5lZFN0cmVhbS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5hZGQoJ3llYXItb25seScpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLmRhdGVwaWNrZXIuY2xvc2VkU3RyZWFtLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnJlbW92ZSgneWVhci1vbmx5Jyk7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiQGlmKCFpc1JlYWRPbmx5KSB7XHJcbiAgPG5nLWNvbnRhaW5lcj5cclxuICAgIEBpZihsYWJlbCkge1xyXG4gICAgICA8YXBwLWZvcm0tbGFiZWwgW2xhYmVsXT1cImxhYmVsXCIgW29wdGlvbmFsXT1cInJlcXVpcmVkIHx8IG1hbmRhdG9yeSA/IGZhbHNlIDogdHJ1ZVwiIFt0b29sdGlwXT1cInRvb2x0aXBcIj48L2FwcC1mb3JtLWxhYmVsPlxyXG4gICAgfVxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJkYXRlUGlja2VyIGp1c3RpZnktY29udGVudC1iZXR3ZWVuIG1iLTFcIj5cclxuICAgICAgPG1hdC1mb3JtLWZpZWxkXHJcbiAgICAgICAgW25nQ2xhc3NdPVwieyAnaW5wdXQtZGlzYWJsZWQnOiBpc0Rpc2FibGVkIH1cIlxyXG4gICAgICAgIFtmbG9hdExhYmVsXT1cImZsb2F0TGFiZWxcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGxhYmVsIGNsYXNzPVwibWF0LWZvcm0tY29udGVudFwiPlxyXG4gICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgIG1hdElucHV0XHJcbiAgICAgICAgICAgIChkYXRlSW5wdXQpPVwiZGF0ZUNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImxhYmVsID8gKCdzZWxlY3QnIHwgdHJhbnNsYXRlKSArICcgJyArIGxhYmVsIDogJydcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwiZm9jdXNQaWNrZXIoZHApXCJcclxuICAgICAgICAgICAgW21pbl09XCJtaW5EYXRlVmFsdWVcIlxyXG4gICAgICAgICAgICBbbWF4XT1cIm1heERhdGVWYWx1ZVwiXHJcbiAgICAgICAgICAgIHJlYWRvbmx5XHJcbiAgICAgICAgICAgIFttYXREYXRlcGlja2VyXT1cImRwXCJcclxuICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L2xhYmVsPlxyXG5cclxuICAgICAgICBAaWYoY29udHJvbD8udmFsdWUpIHtcclxuICAgICAgICAgIDxkcy1pY29uXHJcbiAgICAgICAgICAgIG1hdFN1ZmZpeFxyXG4gICAgICAgICAgICBpY29uPVwiY2xvc2VcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImZjLWNvcmFsIGZzLTEwIG14LTIgY3Vyc29yLXBvaW50ZXJcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwiY2xlYXJEYXRlVmFsdWUoJGV2ZW50KVwiXHJcbiAgICAgICAgICA+PC9kcy1pY29uPlxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgPG1hdC1kYXRlcGlja2VyLXRvZ2dsZSBtYXRTdWZmaXggW2Zvcl09XCJkcFwiPlxyXG4gICAgICAgICAgPGRzLWljb25cclxuICAgICAgICAgICAgaWNvbj1cImNhbGVuZGFyLW9cIlxyXG4gICAgICAgICAgICBjbGFzcz1cImZjLWJsYWNrIGZzLTE4XCJcclxuICAgICAgICAgICAgbWF0RGF0ZXBpY2tlclRvZ2dsZUljb25cclxuICAgICAgICAgID48L2RzLWljb24+XHJcbiAgICAgICAgPC9tYXQtZGF0ZXBpY2tlci10b2dnbGU+XHJcblxyXG4gICAgICAgIDxtYXQtZGF0ZXBpY2tlciAjZHA+PC9tYXQtZGF0ZXBpY2tlcj5cclxuICAgICAgICA8IS0tIDxtYXQtZXJyb3IgKm5nSWY9XCJlcnJvck1lc3NhZ2VcIj57e2Vycm9yTWVzc2FnZX19PC9tYXQtZXJyb3I+IC0tPlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8YXBwLXZhbGlkYXRpb24tZXJyb3JzIFtlcnJvcnNdPVwiY29udHJvbC5lcnJvcnNcIj48L2FwcC12YWxpZGF0aW9uLWVycm9ycz5cclxuXHJcbiAgPC9uZy1jb250YWluZXI+XHJcbn1cclxuXHJcbkBpZihpc1JlYWRPbmx5ICYmIGNvbnRyb2wudmFsdWUpIHtcclxuICA8bmctY29udGFpbmVyPlxyXG4gICAgPGFwcC1pbmZvLWl0ZW1cclxuICAgICAgY2xhc3M9XCJpbmZvLWl0ZW0gdy0xMDBcIlxyXG4gICAgICB0eXBlPVwiZGF0ZVwiXHJcbiAgICAgIFtpbnNpZGVUYWJsZV09XCJpbnNpZGVUYWJsZVwiXHJcbiAgICAgIFtkYXRlVHlwZV09XCJjYWxlbmRhclR5cGVcIlxyXG4gICAgICBbbGFiZWxdPVwibGFiZWxcIlxyXG4gICAgICBbdmFsdWVdPVwiY29udHJvbC52YWx1ZVwiXHJcbiAgICAgIFtoYXNMYWJlbF09XCIhIWxhYmVsXCJcclxuICAgID5cclxuICAgIDwvYXBwLWluZm8taXRlbT5cclxuICA8L25nLWNvbnRhaW5lcj5cclxufVxyXG4iXX0=
|
|
@@ -151,7 +151,7 @@ export class DateRangePickerComponent extends ControlValueAccessorDirective {
|
|
|
151
151
|
provide: MAT_DATE_FORMATS,
|
|
152
152
|
useClass: CustomDateFormat,
|
|
153
153
|
},
|
|
154
|
-
], viewQueries: [{ propertyName: "datepicker", first: true, predicate: MatDatepicker, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@if(!isReadOnly) {\r\n @if(label) {\r\n <app-form-label [label]=\"label\" [optional]=\"
|
|
154
|
+
], viewQueries: [{ propertyName: "datepicker", first: true, predicate: MatDatepicker, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@if(!isReadOnly) {\r\n @if(label) {\r\n <app-form-label [label]=\"label\" [optional]=\"required || mandatory ? false : true\" [tooltip]=\"tooltip\"></app-form-label>\r\n }\r\n\r\n<div class=\"datePicker\">\r\n <mat-form-field class=\"date-range primary-form {{ className }}\"\r\n [ngClass]=\"{\r\n 'custom-validation-error': !startDateControl.value && !endDateControl.value && startDateControl.touched\r\n }\">\r\n <label class=\"mat-form-content\">\r\n <mat-date-range-input\r\n [rangePicker]=\"picker\"\r\n [min]=\"minDateValue\"\r\n [max]=\"maxDateValue\"\r\n >\r\n <input\r\n matStartDate\r\n placeholder=\"{{ 'startDate' | translate }}\"\r\n [formControl]=\"startDateControl\"\r\n (dateInput)=\"startDateChange($event)\"\r\n (click)=\"focusPicker(picker)\"\r\n readonly\r\n />\r\n <input\r\n matEndDate\r\n placeholder=\"{{ 'endDate' | translate }}\"\r\n [formControl]=\"endDateControl\"\r\n (dateInput)=\"endDateChange($event)\"\r\n (click)=\"focusPicker(picker)\"\r\n readonly\r\n />\r\n </mat-date-range-input>\r\n </label>\r\n\r\n @if(control?.value) {\r\n <ds-icon\r\n matSuffix\r\n icon=\"close\"\r\n class=\"fc-coral fs-10 mx-2 cursor-pointer\"\r\n (click)=\"clearDateValue($event)\"\r\n ></ds-icon>\r\n }\r\n\r\n <mat-datepicker-toggle matSuffix [for]=\"picker\" [disableRipple]=\"true\">\r\n <i class=\"sfi sfi-calendar-o fc-black font-18\" matDatepickerToggleIcon></i>\r\n </mat-datepicker-toggle>\r\n\r\n <mat-date-range-picker #picker></mat-date-range-picker>\r\n </mat-form-field>\r\n</div>\r\n<app-validation-errors [errors]=\"control.errors\"></app-validation-errors>\r\n\r\n\r\n} @else if(isReadOnly && control.value) {\r\n<ng-container>\r\n <app-info-item\r\n class=\"info-item w-100\"\r\n type=\"date\"\r\n [insideTable]=\"insideTable\"\r\n [dateType]=\"calendarType\"\r\n [label]=\"label\"\r\n [value]=\"{\r\n startDate: control?.value?.startDate,\r\n endDate: control?.value?.endDate\r\n }\"\r\n [hasLabel]=\"!!label\"\r\n >\r\n </app-info-item>\r\n</ng-container>\r\n}\r\n", styles: [":host{flex-grow:1}\n"], dependencies: [{ kind: "component", type: i1.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "ngmodule", type: i1.MatDatepickerModule }, { kind: "directive", type: i1.MatDatepickerToggleIcon, selector: "[matDatepickerToggleIcon]" }, { kind: "component", type: i1.MatDateRangeInput, selector: "mat-date-range-input", inputs: ["rangePicker", "required", "dateFilter", "min", "max", "disabled", "separator", "comparisonStart", "comparisonEnd"], exportAs: ["matDateRangeInput"] }, { kind: "directive", type: i1.MatStartDate, selector: "input[matStartDate]", outputs: ["dateChange", "dateInput"] }, { kind: "directive", type: i1.MatEndDate, selector: "input[matEndDate]", outputs: ["dateChange", "dateInput"] }, { kind: "component", type: i1.MatDateRangePicker, selector: "mat-date-range-picker", exportAs: ["matDateRangePicker"] }, { kind: "ngmodule", type: i2.MatNativeDateModule }, { kind: "ngmodule", type: i3.MatFormFieldModule }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i4.FormLabelComponent, selector: "app-form-label", inputs: ["tooltip", "label", "optional"] }, { kind: "component", type: i5.ValidationErrorsComponent, selector: "app-validation-errors", inputs: ["errors", "customErrorMessages"] }, { kind: "component", type: i6.InfoItemComponent, selector: "app-info-item", inputs: ["label", "value", "name", "type", "dateType", "multiple", "insideTable", "hasLabel", "arrayList", "actionType", "download"] }, { kind: "ngmodule", type: i7.ReactiveFormsModule }, { kind: "directive", type: i7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i8.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }] });
|
|
155
155
|
}
|
|
156
156
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: DateRangePickerComponent, decorators: [{
|
|
157
157
|
type: Component,
|
|
@@ -169,7 +169,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
169
169
|
...MatDatePickerImports,
|
|
170
170
|
...MatFormImports,
|
|
171
171
|
...Shareds
|
|
172
|
-
], template: "@if(!isReadOnly) {\r\n @if(label) {\r\n <app-form-label [label]=\"label\" [optional]=\"
|
|
172
|
+
], template: "@if(!isReadOnly) {\r\n @if(label) {\r\n <app-form-label [label]=\"label\" [optional]=\"required || mandatory ? false : true\" [tooltip]=\"tooltip\"></app-form-label>\r\n }\r\n\r\n<div class=\"datePicker\">\r\n <mat-form-field class=\"date-range primary-form {{ className }}\"\r\n [ngClass]=\"{\r\n 'custom-validation-error': !startDateControl.value && !endDateControl.value && startDateControl.touched\r\n }\">\r\n <label class=\"mat-form-content\">\r\n <mat-date-range-input\r\n [rangePicker]=\"picker\"\r\n [min]=\"minDateValue\"\r\n [max]=\"maxDateValue\"\r\n >\r\n <input\r\n matStartDate\r\n placeholder=\"{{ 'startDate' | translate }}\"\r\n [formControl]=\"startDateControl\"\r\n (dateInput)=\"startDateChange($event)\"\r\n (click)=\"focusPicker(picker)\"\r\n readonly\r\n />\r\n <input\r\n matEndDate\r\n placeholder=\"{{ 'endDate' | translate }}\"\r\n [formControl]=\"endDateControl\"\r\n (dateInput)=\"endDateChange($event)\"\r\n (click)=\"focusPicker(picker)\"\r\n readonly\r\n />\r\n </mat-date-range-input>\r\n </label>\r\n\r\n @if(control?.value) {\r\n <ds-icon\r\n matSuffix\r\n icon=\"close\"\r\n class=\"fc-coral fs-10 mx-2 cursor-pointer\"\r\n (click)=\"clearDateValue($event)\"\r\n ></ds-icon>\r\n }\r\n\r\n <mat-datepicker-toggle matSuffix [for]=\"picker\" [disableRipple]=\"true\">\r\n <i class=\"sfi sfi-calendar-o fc-black font-18\" matDatepickerToggleIcon></i>\r\n </mat-datepicker-toggle>\r\n\r\n <mat-date-range-picker #picker></mat-date-range-picker>\r\n </mat-form-field>\r\n</div>\r\n<app-validation-errors [errors]=\"control.errors\"></app-validation-errors>\r\n\r\n\r\n} @else if(isReadOnly && control.value) {\r\n<ng-container>\r\n <app-info-item\r\n class=\"info-item w-100\"\r\n type=\"date\"\r\n [insideTable]=\"insideTable\"\r\n [dateType]=\"calendarType\"\r\n [label]=\"label\"\r\n [value]=\"{\r\n startDate: control?.value?.startDate,\r\n endDate: control?.value?.endDate\r\n }\"\r\n [hasLabel]=\"!!label\"\r\n >\r\n </app-info-item>\r\n</ng-container>\r\n}\r\n", styles: [":host{flex-grow:1}\n"] }]
|
|
173
173
|
}], propDecorators: { className: [{
|
|
174
174
|
type: Input
|
|
175
175
|
}], yearOnly: [{
|
|
@@ -183,4 +183,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
183
183
|
}], calendarType: [{
|
|
184
184
|
type: Input
|
|
185
185
|
}] } });
|
|
186
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlZC1jb21wb25lbnRzL2Zvcm0tZmllbGQvZGF0ZS1yYW5nZS1waWNrZXIvZGF0ZS1yYW5nZS1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlZC1jb21wb25lbnRzL2Zvcm0tZmllbGQvZGF0ZS1yYW5nZS1waWNrZXIvZGF0ZS1yYW5nZS1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELHlEQUF5RDtBQUN6RCxPQUFPLEVBQ0wsU0FBUyxFQUNULHNCQUFzQixFQUN0QixVQUFVLEVBQ1YsVUFBVSxFQUNWLE1BQU0sRUFDTixNQUFNLEVBQ04sS0FBSyxFQUVMLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNwRixPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFVBQVUsR0FDWCxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxjQUFjLEVBQUUsT0FBTyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0s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dUVBOzsyRkRYYSx3QkFBd0I7a0JBdkJwQyxTQUFTOytCQUNFLHVCQUF1QixXQUd4QixDQUFDLHNCQUFzQixDQUFDLGNBQ3JCLElBQUksYUFDTDt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSx5QkFBeUIsQ0FBQzs0QkFDdkQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLGdCQUFnQjs0QkFDekIsUUFBUSxFQUFFLGdCQUFnQjt5QkFDM0I7cUJBQ0YsV0FDUTt3QkFDUCxHQUFHLG9CQUFvQjt3QkFDdkIsR0FBRyxjQUFjO3dCQUNqQixHQUFHLE9BQU87cUJBQ1g7OEJBS1EsU0FBUztzQkFBakIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUMyQixVQUFVO3NCQUExQyxNQUFNO3VCQUFDLGdCQUFnQjtnQkFDRSxVQUFVO3NCQUFuQyxTQUFTO3VCQUFDLGFBQWE7Z0JBQ2YsWUFBWTtzQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3IgKi9cclxuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uICovXHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsXHJcbiAgRGVzdHJveVJlZixcclxuICBmb3J3YXJkUmVmLFxyXG4gIGluamVjdCxcclxuICBJbmplY3QsXHJcbiAgSW5wdXQsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBWaWV3Q2hpbGQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yRGlyZWN0aXZlIH0gZnJvbSAnLi4vY29udHJvbC12YWx1ZS1hY2Nlc3Nvci5kaXJlY3RpdmUnO1xyXG5pbXBvcnQge1xyXG4gIE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gIFZhbGlkYXRvcnMsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXREYXRlcGlja2VyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XHJcbmltcG9ydCB7IE1BVF9EQVRFX0ZPUk1BVFMgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcclxuaW1wb3J0IHsgQ3VzdG9tRGF0ZUZvcm1hdCB9IGZyb20gJy4uL2RhdGUtcGlja2VyL2RhdGUtZm9ybWF0JztcclxuaW1wb3J0IHsgZm9ybWF0IH0gZnJvbSAnZGF0ZS1mbnMnO1xyXG5pbXBvcnQgeyBNYXREYXRlUGlja2VySW1wb3J0cywgTWF0Rm9ybUltcG9ydHMsIFNoYXJlZHMgfSBmcm9tICcuLi9zaGFyZWQtaW1wb3J0cyc7XHJcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcclxuXHJcbmNvbnN0IFlFQVJfT05MWV9GT1JNQVQgPSB7XHJcbiAgcGFyc2U6IHtcclxuICAgIGRhdGVJbnB1dDogJ1lZWVknLFxyXG4gIH0sXHJcbiAgZGlzcGxheToge1xyXG4gICAgZGF0ZUlucHV0OiAnWVlZWScsXHJcbiAgICBtb250aFllYXJMYWJlbDogJ1lZWVknLFxyXG4gICAgZGF0ZUExMXlMYWJlbDogJ0xMJyxcclxuICAgIG1vbnRoWWVhckExMXlMYWJlbDogJ1lZWVknLFxyXG4gIH0sXHJcbn07XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1kYXRlLXJhbmdlLXBpY2tlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGUtcmFuZ2UtcGlja2VyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9kYXRlLXJhbmdlLXBpY2tlci5jb21wb25lbnQuc2NzcyddLFxyXG4gIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRGF0ZVJhbmdlUGlja2VyQ29tcG9uZW50KSxcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBNQVRfREFURV9GT1JNQVRTLFxyXG4gICAgICB1c2VDbGFzczogQ3VzdG9tRGF0ZUZvcm1hdCxcclxuICAgIH0sXHJcbiAgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICAuLi5NYXREYXRlUGlja2VySW1wb3J0cyxcclxuICAgIC4uLk1hdEZvcm1JbXBvcnRzLFxyXG4gICAgLi4uU2hhcmVkc1xyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEYXRlUmFuZ2VQaWNrZXJDb21wb25lbnQ8XHJcbiAgVHlwZVxyXG4+IGV4dGVuZHMgQ29udHJvbFZhbHVlQWNjZXNzb3JEaXJlY3RpdmU8VHlwZT4ge1xyXG4gIEBJbnB1dCgpIGNsYXNzTmFtZSA9ICd3aGl0ZS1pbnB1dCc7XHJcbiAgQElucHV0KCkgeWVhck9ubHk6IGJvb2xlYW47XHJcbiAgQEluamVjdChNQVRfREFURV9GT1JNQVRTKSBwdWJsaWMgZGF0ZUZvcm1hdDogQ3VzdG9tRGF0ZUZvcm1hdDtcclxuICBAVmlld0NoaWxkKE1hdERhdGVwaWNrZXIpIGRhdGVwaWNrZXI6IE1hdERhdGVwaWNrZXI8YW55PjtcclxuICBASW5wdXQoKSBjYWxlbmRhclR5cGUhOiBzdHJpbmc7XHJcbiAgc3RhcnRJbnB1dFZhbHVlOiBzdHJpbmc7XHJcbiAgZW5kSW5wdXRWYWx1ZTogc3RyaW5nO1xyXG4gIGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XHJcbiAgZGF0ZVJhbmdlOiBhbnk7XHJcbiAgb3ZlcnJpZGUgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBzdXBlci5uZ09uSW5pdCgpXHJcbiAgICB0aGlzLmFjdGlvblN0YXRlU2VydmljZS5yZXNldEFjdGlvbiRcclxuICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKVxyXG4gICAgLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICBpZiAoIXRoaXMuaXNSZWFkT25seSAmJiB0aGlzLmNvbnRyb2wuZW5hYmxlZCkge1xyXG4gICAgICAgIHRoaXMuY29udHJvbC5yZXNldCgpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuaXNSZWFkT25seSAmJiB0aGlzLnllYXJPbmx5KSB0aGlzLmFjdGl2YXRlWWVhck9ubHlNb2RlKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICB0aGlzLnNldERhdGVGb3JtQ29udHJvbCgpO1xyXG4gIH1cclxuXHJcbiAgc2V0RGF0ZUZvcm1Db250cm9sKCkge1xyXG4gICAgY29uc3QgdG9kYXkgPSBuZXcgRGF0ZSgpO1xyXG4gICAgY29uc3QgY3VycmVudFllYXIgPSB0b2RheS5nZXRGdWxsWWVhcigpO1xyXG4gICAgY29uc3QgY3VycmVudE1vbnRoID0gdG9kYXkuZ2V0TW9udGgoKTtcclxuICAgIGNvbnN0IGN1cnJlbnREYXkgPSB0b2RheS5nZXREYXRlKCk7XHJcbiAgICBpZiAodGhpcy5taW5EYXRlKSB7XHJcbiAgICAgIGlmICh0aGlzLm1pbkRhdGUgPT0gJ3RvZGF5Jykge1xyXG4gICAgICAgIHRoaXMubWluRGF0ZVZhbHVlID0gbmV3IERhdGUoY3VycmVudFllYXIsIGN1cnJlbnRNb250aCwgY3VycmVudERheSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5tYXhEYXRlKSB7XHJcbiAgICAgIGlmICh0aGlzLm1heERhdGUgPT0gJ3RvZGF5Jykge1xyXG4gICAgICAgIHRoaXMubWF4RGF0ZVZhbHVlID0gbmV3IERhdGUoY3VycmVudFllYXIsIGN1cnJlbnRNb250aCwgY3VycmVudERheSk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMubWF4RGF0ZSA9PSAnb25lWWVhcicpIHtcclxuICAgICAgICB0aGlzLm1heERhdGVWYWx1ZSA9IG5ldyBEYXRlKFxyXG4gICAgICAgICAgY3VycmVudFllYXIgKyAxLFxyXG4gICAgICAgICAgY3VycmVudE1vbnRoLFxyXG4gICAgICAgICAgY3VycmVudERheSAtIDFcclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5jdXN0b21NYXhEYXRlKSB7XHJcbiAgICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSh0aGlzLmN1c3RvbU1heERhdGUpO1xyXG4gICAgICB0aGlzLm1heERhdGVWYWx1ZSA9IG5ldyBEYXRlKFxyXG4gICAgICAgIGRhdGUuZ2V0RnVsbFllYXIoKSxcclxuICAgICAgICBkYXRlLmdldE1vbnRoKCksXHJcbiAgICAgICAgZGF0ZS5nZXREYXRlKClcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmN1c3RvbU1pbkRhdGUpIHtcclxuICAgICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKHRoaXMuY3VzdG9tTWluRGF0ZSk7XHJcbiAgICAgIHRoaXMubWluRGF0ZVZhbHVlID0gbmV3IERhdGUoXHJcbiAgICAgICAgZGF0ZS5nZXRGdWxsWWVhcigpLFxyXG4gICAgICAgIGRhdGUuZ2V0TW9udGgoKSxcclxuICAgICAgICBkYXRlLmdldERhdGUoKVxyXG4gICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLnJlcXVpcmVkKSB0aGlzLmNvbnRyb2wuYWRkVmFsaWRhdG9ycyhWYWxpZGF0b3JzLnJlcXVpcmVkKTtcclxuICB9XHJcblxyXG4gIGZvY3VzUGlja2VyKHBpY2tlcikge1xyXG4gICAgcGlja2VyLm9wZW4oKTtcclxuICAgIHRoaXMuY29udHJvbC5tYXJrQXNUb3VjaGVkKCk7XHJcbiAgfVxyXG5cclxuICBzdGFydERhdGVDaGFuZ2UoZXZlbnQ6IGFueSkge1xyXG4gICAgaWYgKGV2ZW50Py52YWx1ZSAmJiAhdGhpcy5pc0Rpc2FibGVkKSB7XHJcbiAgICAgIGlmICh0aGlzLnN0YXJ0RGF0ZUNvbnRyb2wudmFsdWUpIHtcclxuICAgICAgICB0aGlzLnN0YXJ0RGF0ZUNvbnRyb2wuc2V0VmFsdWUoXHJcbiAgICAgICAgICBmb3JtYXQobmV3IERhdGUoZXZlbnQudmFsdWUpLCBcInl5eXktTU0tZGQnVCdISDptbTpzcy5TU1N4eHhcIilcclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBlbmREYXRlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIGlmIChldmVudD8udmFsdWUgJiYgIXRoaXMuaXNEaXNhYmxlZCkge1xyXG4gICAgICBpZiAodGhpcy5zdGFydERhdGVDb250cm9sLnZhbHVlICYmIHRoaXMuZW5kRGF0ZUNvbnRyb2wudmFsdWUpIHtcclxuICAgICAgICB0aGlzLmVuZERhdGVDb250cm9sLnNldFZhbHVlKFxyXG4gICAgICAgICAgZm9ybWF0KG5ldyBEYXRlKGV2ZW50LnZhbHVlKSwgXCJ5eXl5LU1NLWRkJ1QnSEg6bW06c3MuU1NTeHh4XCIpXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLnNldERhdGVSYW5nZUNvbnRyb2xWYWx1ZSgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXREYXRlUmFuZ2VDb250cm9sVmFsdWUoKSB7XHJcbiAgICB0aGlzLmRhdGVSYW5nZSA9IHtcclxuICAgICAgc3RhcnREYXRlOiB0aGlzLnN0YXJ0RGF0ZUNvbnRyb2wudmFsdWUsXHJcbiAgICAgIGVuZERhdGU6IHRoaXMuZW5kRGF0ZUNvbnRyb2wudmFsdWUsXHJcbiAgICB9O1xyXG4gICAgdGhpcy5jb250cm9sLnNldFZhbHVlKHRoaXMuZGF0ZVJhbmdlKTtcclxuICB9XHJcblxyXG4gIGNsZWFyRGF0ZVZhbHVlKGV2ZW50KTogdm9pZCB7XHJcbiAgICB0aGlzLmRhdGVSYW5nZSA9IG51bGw7XHJcbiAgICB0aGlzLnN0YXJ0SW5wdXRWYWx1ZSA9IG51bGw7XHJcbiAgICB0aGlzLmVuZElucHV0VmFsdWUgPSBudWxsO1xyXG4gICAgdGhpcy5jb250cm9sLnJlc2V0KCk7XHJcbiAgICB0aGlzLmVuZERhdGVDb250cm9sLnJlc2V0KCk7XHJcbiAgICB0aGlzLnN0YXJ0RGF0ZUNvbnRyb2wucmVzZXQoKTtcclxuICAgIHRoaXMuY29udHJvbC5tYXJrQXNUb3VjaGVkKCk7XHJcbiAgICB0aGlzLmVuZERhdGVDb250cm9sLm1hcmtBc1RvdWNoZWQoKTtcclxuICAgIHRoaXMuc3RhcnREYXRlQ29udHJvbC5tYXJrQXNUb3VjaGVkKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFjdGl2YXRlWWVhck9ubHlNb2RlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5kYXRlRm9ybWF0LnVwZGF0ZURhdGVGb3JtYXQoXHJcbiAgICAgIFlFQVJfT05MWV9GT1JNQVQucGFyc2UsXHJcbiAgICAgIFlFQVJfT05MWV9GT1JNQVQuZGlzcGxheVxyXG4gICAgKTtcclxuICAgIGlmICh0aGlzLmNvbnRyb2wpIHtcclxuICAgICAgdGhpcy5jb250cm9sLnNldFZhbHVlKGZvcm1hdChuZXcgRGF0ZSh0aGlzLmNvbnRyb2wudmFsdWUpLCAneXl5eScpKTtcclxuICAgIH1cclxuICAgIHRoaXMuZGF0ZXBpY2tlci5zdGFydFZpZXcgPSAnbXVsdGkteWVhcic7XHJcbiAgICB0aGlzLmRhdGVwaWNrZXIueWVhclNlbGVjdGVkLnN1YnNjcmliZSgoZSkgPT4ge1xyXG4gICAgICB0aGlzLmNvbnRyb2wuc2V0VmFsdWUoZm9ybWF0KG5ldyBEYXRlKGUpLCAneXl5eScpKTtcclxuICAgICAgdGhpcy5kYXRlcGlja2VyLmNsb3NlKCk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuZGF0ZXBpY2tlci5vcGVuZWRTdHJlYW0uc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKCd5ZWFyLW9ubHknKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5kYXRlcGlja2VyLmNsb3NlZFN0cmVhbS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5yZW1vdmUoJ3llYXItb25seScpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIkBpZighaXNSZWFkT25seSkge1xyXG4gIEBpZihsYWJlbCkge1xyXG4gICAgPGFwcC1mb3JtLWxhYmVsIFtsYWJlbF09XCJsYWJlbFwiIFtvcHRpb25hbF09XCIhcmVxdWlyZWRcIiBbdG9vbHRpcF09XCJ0b29sdGlwXCI+PC9hcHAtZm9ybS1sYWJlbD5cclxuICB9XHJcblxyXG48ZGl2IGNsYXNzPVwiZGF0ZVBpY2tlclwiPlxyXG4gIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImRhdGUtcmFuZ2UgcHJpbWFyeS1mb3JtIHt7IGNsYXNzTmFtZSB9fVwiXHJcbiAgW25nQ2xhc3NdPVwie1xyXG4gICAgJ2N1c3RvbS12YWxpZGF0aW9uLWVycm9yJzogIXN0YXJ0RGF0ZUNvbnRyb2wudmFsdWUgJiYgIWVuZERhdGVDb250cm9sLnZhbHVlICYmIHN0YXJ0RGF0ZUNvbnRyb2wudG91Y2hlZFxyXG4gICB9XCI+XHJcbiAgICA8bGFiZWwgY2xhc3M9XCJtYXQtZm9ybS1jb250ZW50XCI+XHJcbiAgICAgIDxtYXQtZGF0ZS1yYW5nZS1pbnB1dFxyXG4gICAgICAgIFtyYW5nZVBpY2tlcl09XCJwaWNrZXJcIlxyXG4gICAgICAgIFttaW5dPVwibWluRGF0ZVZhbHVlXCJcclxuICAgICAgICBbbWF4XT1cIm1heERhdGVWYWx1ZVwiXHJcbiAgICAgID5cclxuICAgICAgICA8aW5wdXRcclxuICAgICAgICAgIG1hdFN0YXJ0RGF0ZVxyXG4gICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7eyAnc3RhcnREYXRlJyB8IHRyYW5zbGF0ZSB9fVwiXHJcbiAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwic3RhcnREYXRlQ29udHJvbFwiXHJcbiAgICAgICAgICAoZGF0ZUlucHV0KT1cInN0YXJ0RGF0ZUNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgIChjbGljayk9XCJmb2N1c1BpY2tlcihwaWNrZXIpXCJcclxuICAgICAgICAgIHJlYWRvbmx5XHJcbiAgICAgICAgLz5cclxuICAgICAgICA8aW5wdXRcclxuICAgICAgICAgIG1hdEVuZERhdGVcclxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3sgJ2VuZERhdGUnIHwgdHJhbnNsYXRlIH19XCJcclxuICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJlbmREYXRlQ29udHJvbFwiXHJcbiAgICAgICAgICAoZGF0ZUlucHV0KT1cImVuZERhdGVDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAoY2xpY2spPVwiZm9jdXNQaWNrZXIocGlja2VyKVwiXHJcbiAgICAgICAgICByZWFkb25seVxyXG4gICAgICAgIC8+XHJcbiAgICAgIDwvbWF0LWRhdGUtcmFuZ2UtaW5wdXQ+XHJcbiAgICA8L2xhYmVsPlxyXG5cclxuICAgIEBpZihjb250cm9sPy52YWx1ZSkge1xyXG4gICAgPGRzLWljb25cclxuICAgICAgbWF0U3VmZml4XHJcbiAgICAgIGljb249XCJjbG9zZVwiXHJcbiAgICAgIGNsYXNzPVwiZmMtY29yYWwgZnMtMTAgbXgtMiBjdXJzb3ItcG9pbnRlclwiXHJcbiAgICAgIChjbGljayk9XCJjbGVhckRhdGVWYWx1ZSgkZXZlbnQpXCJcclxuICAgID48L2RzLWljb24+XHJcbiAgICB9XHJcblxyXG4gICAgPG1hdC1kYXRlcGlja2VyLXRvZ2dsZSBtYXRTdWZmaXggW2Zvcl09XCJwaWNrZXJcIiBbZGlzYWJsZVJpcHBsZV09XCJ0cnVlXCI+XHJcbiAgICAgIDxpIGNsYXNzPVwic2ZpIHNmaS1jYWxlbmRhci1vIGZjLWJsYWNrIGZvbnQtMThcIiBtYXREYXRlcGlja2VyVG9nZ2xlSWNvbj48L2k+XHJcbiAgICA8L21hdC1kYXRlcGlja2VyLXRvZ2dsZT5cclxuXHJcbiAgICA8bWF0LWRhdGUtcmFuZ2UtcGlja2VyICNwaWNrZXI+PC9tYXQtZGF0ZS1yYW5nZS1waWNrZXI+XHJcbiAgPC9tYXQtZm9ybS1maWVsZD5cclxuPC9kaXY+XHJcbjxhcHAtdmFsaWRhdGlvbi1lcnJvcnMgW2Vycm9yc109XCJjb250cm9sLmVycm9yc1wiPjwvYXBwLXZhbGlkYXRpb24tZXJyb3JzPlxyXG5cclxuXHJcbn0gQGVsc2UgaWYoaXNSZWFkT25seSAmJiBjb250cm9sLnZhbHVlKSB7XHJcbjxuZy1jb250YWluZXI+XHJcbiAgPGFwcC1pbmZvLWl0ZW1cclxuICAgIGNsYXNzPVwiaW5mby1pdGVtIHctMTAwXCJcclxuICAgIHR5cGU9XCJkYXRlXCJcclxuICAgIFtpbnNpZGVUYWJsZV09XCJpbnNpZGVUYWJsZVwiXHJcbiAgICBbZGF0ZVR5cGVdPVwiY2FsZW5kYXJUeXBlXCJcclxuICAgIFtsYWJlbF09XCJsYWJlbFwiXHJcbiAgICBbdmFsdWVdPVwie1xyXG4gICAgICBzdGFydERhdGU6IGNvbnRyb2w/LnZhbHVlPy5zdGFydERhdGUsXHJcbiAgICAgIGVuZERhdGU6IGNvbnRyb2w/LnZhbHVlPy5lbmREYXRlXHJcbiAgICB9XCJcclxuICAgIFtoYXNMYWJlbF09XCIhIWxhYmVsXCJcclxuICA+XHJcbiAgPC9hcHAtaW5mby1pdGVtPlxyXG48L25nLWNvbnRhaW5lcj5cclxufVxyXG4iXX0=
|
|
186
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlZC1jb21wb25lbnRzL2Zvcm0tZmllbGQvZGF0ZS1yYW5nZS1waWNrZXIvZGF0ZS1yYW5nZS1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlZC1jb21wb25lbnRzL2Zvcm0tZmllbGQvZGF0ZS1yYW5nZS1waWNrZXIvZGF0ZS1yYW5nZS1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELHlEQUF5RDtBQUN6RCxPQUFPLEVBQ0wsU0FBUyxFQUNULHNCQUFzQixFQUN0QixVQUFVLEVBQ1YsVUFBVSxFQUNWLE1BQU0sRUFDTixNQUFNLEVBQ04sS0FBSyxFQUVMLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNwRixPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFVBQVUsR0FDWCxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxjQUFjLEVBQUUsT0FBTyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0s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dUVBOzsyRkRYYSx3QkFBd0I7a0JBdkJwQyxTQUFTOytCQUNFLHVCQUF1QixXQUd4QixDQUFDLHNCQUFzQixDQUFDLGNBQ3JCLElBQUksYUFDTDt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSx5QkFBeUIsQ0FBQzs0QkFDdkQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLGdCQUFnQjs0QkFDekIsUUFBUSxFQUFFLGdCQUFnQjt5QkFDM0I7cUJBQ0YsV0FDUTt3QkFDUCxHQUFHLG9CQUFvQjt3QkFDdkIsR0FBRyxjQUFjO3dCQUNqQixHQUFHLE9BQU87cUJBQ1g7OEJBS1EsU0FBUztzQkFBakIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUMyQixVQUFVO3NCQUExQyxNQUFNO3VCQUFDLGdCQUFnQjtnQkFDRSxVQUFVO3NCQUFuQyxTQUFTO3VCQUFDLGFBQWE7Z0JBQ2YsWUFBWTtzQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3IgKi9cclxuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uICovXHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsXHJcbiAgRGVzdHJveVJlZixcclxuICBmb3J3YXJkUmVmLFxyXG4gIGluamVjdCxcclxuICBJbmplY3QsXHJcbiAgSW5wdXQsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBWaWV3Q2hpbGQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yRGlyZWN0aXZlIH0gZnJvbSAnLi4vY29udHJvbC12YWx1ZS1hY2Nlc3Nvci5kaXJlY3RpdmUnO1xyXG5pbXBvcnQge1xyXG4gIE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gIFZhbGlkYXRvcnMsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXREYXRlcGlja2VyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XHJcbmltcG9ydCB7IE1BVF9EQVRFX0ZPUk1BVFMgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcclxuaW1wb3J0IHsgQ3VzdG9tRGF0ZUZvcm1hdCB9IGZyb20gJy4uL2RhdGUtcGlja2VyL2RhdGUtZm9ybWF0JztcclxuaW1wb3J0IHsgZm9ybWF0IH0gZnJvbSAnZGF0ZS1mbnMnO1xyXG5pbXBvcnQgeyBNYXREYXRlUGlja2VySW1wb3J0cywgTWF0Rm9ybUltcG9ydHMsIFNoYXJlZHMgfSBmcm9tICcuLi9zaGFyZWQtaW1wb3J0cyc7XHJcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcclxuXHJcbmNvbnN0IFlFQVJfT05MWV9GT1JNQVQgPSB7XHJcbiAgcGFyc2U6IHtcclxuICAgIGRhdGVJbnB1dDogJ1lZWVknLFxyXG4gIH0sXHJcbiAgZGlzcGxheToge1xyXG4gICAgZGF0ZUlucHV0OiAnWVlZWScsXHJcbiAgICBtb250aFllYXJMYWJlbDogJ1lZWVknLFxyXG4gICAgZGF0ZUExMXlMYWJlbDogJ0xMJyxcclxuICAgIG1vbnRoWWVhckExMXlMYWJlbDogJ1lZWVknLFxyXG4gIH0sXHJcbn07XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1kYXRlLXJhbmdlLXBpY2tlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGUtcmFuZ2UtcGlja2VyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9kYXRlLXJhbmdlLXBpY2tlci5jb21wb25lbnQuc2NzcyddLFxyXG4gIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRGF0ZVJhbmdlUGlja2VyQ29tcG9uZW50KSxcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBNQVRfREFURV9GT1JNQVRTLFxyXG4gICAgICB1c2VDbGFzczogQ3VzdG9tRGF0ZUZvcm1hdCxcclxuICAgIH0sXHJcbiAgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICAuLi5NYXREYXRlUGlja2VySW1wb3J0cyxcclxuICAgIC4uLk1hdEZvcm1JbXBvcnRzLFxyXG4gICAgLi4uU2hhcmVkc1xyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEYXRlUmFuZ2VQaWNrZXJDb21wb25lbnQ8XHJcbiAgVHlwZVxyXG4+IGV4dGVuZHMgQ29udHJvbFZhbHVlQWNjZXNzb3JEaXJlY3RpdmU8VHlwZT4ge1xyXG4gIEBJbnB1dCgpIGNsYXNzTmFtZSA9ICd3aGl0ZS1pbnB1dCc7XHJcbiAgQElucHV0KCkgeWVhck9ubHk6IGJvb2xlYW47XHJcbiAgQEluamVjdChNQVRfREFURV9GT1JNQVRTKSBwdWJsaWMgZGF0ZUZvcm1hdDogQ3VzdG9tRGF0ZUZvcm1hdDtcclxuICBAVmlld0NoaWxkKE1hdERhdGVwaWNrZXIpIGRhdGVwaWNrZXI6IE1hdERhdGVwaWNrZXI8YW55PjtcclxuICBASW5wdXQoKSBjYWxlbmRhclR5cGUhOiBzdHJpbmc7XHJcbiAgc3RhcnRJbnB1dFZhbHVlOiBzdHJpbmc7XHJcbiAgZW5kSW5wdXRWYWx1ZTogc3RyaW5nO1xyXG4gIGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XHJcbiAgZGF0ZVJhbmdlOiBhbnk7XHJcbiAgb3ZlcnJpZGUgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBzdXBlci5uZ09uSW5pdCgpXHJcbiAgICB0aGlzLmFjdGlvblN0YXRlU2VydmljZS5yZXNldEFjdGlvbiRcclxuICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKVxyXG4gICAgLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICBpZiAoIXRoaXMuaXNSZWFkT25seSAmJiB0aGlzLmNvbnRyb2wuZW5hYmxlZCkge1xyXG4gICAgICAgIHRoaXMuY29udHJvbC5yZXNldCgpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuaXNSZWFkT25seSAmJiB0aGlzLnllYXJPbmx5KSB0aGlzLmFjdGl2YXRlWWVhck9ubHlNb2RlKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICB0aGlzLnNldERhdGVGb3JtQ29udHJvbCgpO1xyXG4gIH1cclxuXHJcbiAgc2V0RGF0ZUZvcm1Db250cm9sKCkge1xyXG4gICAgY29uc3QgdG9kYXkgPSBuZXcgRGF0ZSgpO1xyXG4gICAgY29uc3QgY3VycmVudFllYXIgPSB0b2RheS5nZXRGdWxsWWVhcigpO1xyXG4gICAgY29uc3QgY3VycmVudE1vbnRoID0gdG9kYXkuZ2V0TW9udGgoKTtcclxuICAgIGNvbnN0IGN1cnJlbnREYXkgPSB0b2RheS5nZXREYXRlKCk7XHJcbiAgICBpZiAodGhpcy5taW5EYXRlKSB7XHJcbiAgICAgIGlmICh0aGlzLm1pbkRhdGUgPT0gJ3RvZGF5Jykge1xyXG4gICAgICAgIHRoaXMubWluRGF0ZVZhbHVlID0gbmV3IERhdGUoY3VycmVudFllYXIsIGN1cnJlbnRNb250aCwgY3VycmVudERheSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5tYXhEYXRlKSB7XHJcbiAgICAgIGlmICh0aGlzLm1heERhdGUgPT0gJ3RvZGF5Jykge1xyXG4gICAgICAgIHRoaXMubWF4RGF0ZVZhbHVlID0gbmV3IERhdGUoY3VycmVudFllYXIsIGN1cnJlbnRNb250aCwgY3VycmVudERheSk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMubWF4RGF0ZSA9PSAnb25lWWVhcicpIHtcclxuICAgICAgICB0aGlzLm1heERhdGVWYWx1ZSA9IG5ldyBEYXRlKFxyXG4gICAgICAgICAgY3VycmVudFllYXIgKyAxLFxyXG4gICAgICAgICAgY3VycmVudE1vbnRoLFxyXG4gICAgICAgICAgY3VycmVudERheSAtIDFcclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5jdXN0b21NYXhEYXRlKSB7XHJcbiAgICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSh0aGlzLmN1c3RvbU1heERhdGUpO1xyXG4gICAgICB0aGlzLm1heERhdGVWYWx1ZSA9IG5ldyBEYXRlKFxyXG4gICAgICAgIGRhdGUuZ2V0RnVsbFllYXIoKSxcclxuICAgICAgICBkYXRlLmdldE1vbnRoKCksXHJcbiAgICAgICAgZGF0ZS5nZXREYXRlKClcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmN1c3RvbU1pbkRhdGUpIHtcclxuICAgICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKHRoaXMuY3VzdG9tTWluRGF0ZSk7XHJcbiAgICAgIHRoaXMubWluRGF0ZVZhbHVlID0gbmV3IERhdGUoXHJcbiAgICAgICAgZGF0ZS5nZXRGdWxsWWVhcigpLFxyXG4gICAgICAgIGRhdGUuZ2V0TW9udGgoKSxcclxuICAgICAgICBkYXRlLmdldERhdGUoKVxyXG4gICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLnJlcXVpcmVkKSB0aGlzLmNvbnRyb2wuYWRkVmFsaWRhdG9ycyhWYWxpZGF0b3JzLnJlcXVpcmVkKTtcclxuICB9XHJcblxyXG4gIGZvY3VzUGlja2VyKHBpY2tlcikge1xyXG4gICAgcGlja2VyLm9wZW4oKTtcclxuICAgIHRoaXMuY29udHJvbC5tYXJrQXNUb3VjaGVkKCk7XHJcbiAgfVxyXG5cclxuICBzdGFydERhdGVDaGFuZ2UoZXZlbnQ6IGFueSkge1xyXG4gICAgaWYgKGV2ZW50Py52YWx1ZSAmJiAhdGhpcy5pc0Rpc2FibGVkKSB7XHJcbiAgICAgIGlmICh0aGlzLnN0YXJ0RGF0ZUNvbnRyb2wudmFsdWUpIHtcclxuICAgICAgICB0aGlzLnN0YXJ0RGF0ZUNvbnRyb2wuc2V0VmFsdWUoXHJcbiAgICAgICAgICBmb3JtYXQobmV3IERhdGUoZXZlbnQudmFsdWUpLCBcInl5eXktTU0tZGQnVCdISDptbTpzcy5TU1N4eHhcIilcclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBlbmREYXRlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIGlmIChldmVudD8udmFsdWUgJiYgIXRoaXMuaXNEaXNhYmxlZCkge1xyXG4gICAgICBpZiAodGhpcy5zdGFydERhdGVDb250cm9sLnZhbHVlICYmIHRoaXMuZW5kRGF0ZUNvbnRyb2wudmFsdWUpIHtcclxuICAgICAgICB0aGlzLmVuZERhdGVDb250cm9sLnNldFZhbHVlKFxyXG4gICAgICAgICAgZm9ybWF0KG5ldyBEYXRlKGV2ZW50LnZhbHVlKSwgXCJ5eXl5LU1NLWRkJ1QnSEg6bW06c3MuU1NTeHh4XCIpXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLnNldERhdGVSYW5nZUNvbnRyb2xWYWx1ZSgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXREYXRlUmFuZ2VDb250cm9sVmFsdWUoKSB7XHJcbiAgICB0aGlzLmRhdGVSYW5nZSA9IHtcclxuICAgICAgc3RhcnREYXRlOiB0aGlzLnN0YXJ0RGF0ZUNvbnRyb2wudmFsdWUsXHJcbiAgICAgIGVuZERhdGU6IHRoaXMuZW5kRGF0ZUNvbnRyb2wudmFsdWUsXHJcbiAgICB9O1xyXG4gICAgdGhpcy5jb250cm9sLnNldFZhbHVlKHRoaXMuZGF0ZVJhbmdlKTtcclxuICB9XHJcblxyXG4gIGNsZWFyRGF0ZVZhbHVlKGV2ZW50KTogdm9pZCB7XHJcbiAgICB0aGlzLmRhdGVSYW5nZSA9IG51bGw7XHJcbiAgICB0aGlzLnN0YXJ0SW5wdXRWYWx1ZSA9IG51bGw7XHJcbiAgICB0aGlzLmVuZElucHV0VmFsdWUgPSBudWxsO1xyXG4gICAgdGhpcy5jb250cm9sLnJlc2V0KCk7XHJcbiAgICB0aGlzLmVuZERhdGVDb250cm9sLnJlc2V0KCk7XHJcbiAgICB0aGlzLnN0YXJ0RGF0ZUNvbnRyb2wucmVzZXQoKTtcclxuICAgIHRoaXMuY29udHJvbC5tYXJrQXNUb3VjaGVkKCk7XHJcbiAgICB0aGlzLmVuZERhdGVDb250cm9sLm1hcmtBc1RvdWNoZWQoKTtcclxuICAgIHRoaXMuc3RhcnREYXRlQ29udHJvbC5tYXJrQXNUb3VjaGVkKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFjdGl2YXRlWWVhck9ubHlNb2RlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5kYXRlRm9ybWF0LnVwZGF0ZURhdGVGb3JtYXQoXHJcbiAgICAgIFlFQVJfT05MWV9GT1JNQVQucGFyc2UsXHJcbiAgICAgIFlFQVJfT05MWV9GT1JNQVQuZGlzcGxheVxyXG4gICAgKTtcclxuICAgIGlmICh0aGlzLmNvbnRyb2wpIHtcclxuICAgICAgdGhpcy5jb250cm9sLnNldFZhbHVlKGZvcm1hdChuZXcgRGF0ZSh0aGlzLmNvbnRyb2wudmFsdWUpLCAneXl5eScpKTtcclxuICAgIH1cclxuICAgIHRoaXMuZGF0ZXBpY2tlci5zdGFydFZpZXcgPSAnbXVsdGkteWVhcic7XHJcbiAgICB0aGlzLmRhdGVwaWNrZXIueWVhclNlbGVjdGVkLnN1YnNjcmliZSgoZSkgPT4ge1xyXG4gICAgICB0aGlzLmNvbnRyb2wuc2V0VmFsdWUoZm9ybWF0KG5ldyBEYXRlKGUpLCAneXl5eScpKTtcclxuICAgICAgdGhpcy5kYXRlcGlja2VyLmNsb3NlKCk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuZGF0ZXBpY2tlci5vcGVuZWRTdHJlYW0uc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKCd5ZWFyLW9ubHknKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5kYXRlcGlja2VyLmNsb3NlZFN0cmVhbS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5yZW1vdmUoJ3llYXItb25seScpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIkBpZighaXNSZWFkT25seSkge1xyXG4gIEBpZihsYWJlbCkge1xyXG4gICAgPGFwcC1mb3JtLWxhYmVsIFtsYWJlbF09XCJsYWJlbFwiIFtvcHRpb25hbF09XCJyZXF1aXJlZCB8fCBtYW5kYXRvcnkgPyBmYWxzZSA6IHRydWVcIiBbdG9vbHRpcF09XCJ0b29sdGlwXCI+PC9hcHAtZm9ybS1sYWJlbD5cclxuICB9XHJcblxyXG48ZGl2IGNsYXNzPVwiZGF0ZVBpY2tlclwiPlxyXG4gIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImRhdGUtcmFuZ2UgcHJpbWFyeS1mb3JtIHt7IGNsYXNzTmFtZSB9fVwiXHJcbiAgW25nQ2xhc3NdPVwie1xyXG4gICAgJ2N1c3RvbS12YWxpZGF0aW9uLWVycm9yJzogIXN0YXJ0RGF0ZUNvbnRyb2wudmFsdWUgJiYgIWVuZERhdGVDb250cm9sLnZhbHVlICYmIHN0YXJ0RGF0ZUNvbnRyb2wudG91Y2hlZFxyXG4gICB9XCI+XHJcbiAgICA8bGFiZWwgY2xhc3M9XCJtYXQtZm9ybS1jb250ZW50XCI+XHJcbiAgICAgIDxtYXQtZGF0ZS1yYW5nZS1pbnB1dFxyXG4gICAgICAgIFtyYW5nZVBpY2tlcl09XCJwaWNrZXJcIlxyXG4gICAgICAgIFttaW5dPVwibWluRGF0ZVZhbHVlXCJcclxuICAgICAgICBbbWF4XT1cIm1heERhdGVWYWx1ZVwiXHJcbiAgICAgID5cclxuICAgICAgICA8aW5wdXRcclxuICAgICAgICAgIG1hdFN0YXJ0RGF0ZVxyXG4gICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7eyAnc3RhcnREYXRlJyB8IHRyYW5zbGF0ZSB9fVwiXHJcbiAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwic3RhcnREYXRlQ29udHJvbFwiXHJcbiAgICAgICAgICAoZGF0ZUlucHV0KT1cInN0YXJ0RGF0ZUNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgIChjbGljayk9XCJmb2N1c1BpY2tlcihwaWNrZXIpXCJcclxuICAgICAgICAgIHJlYWRvbmx5XHJcbiAgICAgICAgLz5cclxuICAgICAgICA8aW5wdXRcclxuICAgICAgICAgIG1hdEVuZERhdGVcclxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3sgJ2VuZERhdGUnIHwgdHJhbnNsYXRlIH19XCJcclxuICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJlbmREYXRlQ29udHJvbFwiXHJcbiAgICAgICAgICAoZGF0ZUlucHV0KT1cImVuZERhdGVDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAoY2xpY2spPVwiZm9jdXNQaWNrZXIocGlja2VyKVwiXHJcbiAgICAgICAgICByZWFkb25seVxyXG4gICAgICAgIC8+XHJcbiAgICAgIDwvbWF0LWRhdGUtcmFuZ2UtaW5wdXQ+XHJcbiAgICA8L2xhYmVsPlxyXG5cclxuICAgIEBpZihjb250cm9sPy52YWx1ZSkge1xyXG4gICAgPGRzLWljb25cclxuICAgICAgbWF0U3VmZml4XHJcbiAgICAgIGljb249XCJjbG9zZVwiXHJcbiAgICAgIGNsYXNzPVwiZmMtY29yYWwgZnMtMTAgbXgtMiBjdXJzb3ItcG9pbnRlclwiXHJcbiAgICAgIChjbGljayk9XCJjbGVhckRhdGVWYWx1ZSgkZXZlbnQpXCJcclxuICAgID48L2RzLWljb24+XHJcbiAgICB9XHJcblxyXG4gICAgPG1hdC1kYXRlcGlja2VyLXRvZ2dsZSBtYXRTdWZmaXggW2Zvcl09XCJwaWNrZXJcIiBbZGlzYWJsZVJpcHBsZV09XCJ0cnVlXCI+XHJcbiAgICAgIDxpIGNsYXNzPVwic2ZpIHNmaS1jYWxlbmRhci1vIGZjLWJsYWNrIGZvbnQtMThcIiBtYXREYXRlcGlja2VyVG9nZ2xlSWNvbj48L2k+XHJcbiAgICA8L21hdC1kYXRlcGlja2VyLXRvZ2dsZT5cclxuXHJcbiAgICA8bWF0LWRhdGUtcmFuZ2UtcGlja2VyICNwaWNrZXI+PC9tYXQtZGF0ZS1yYW5nZS1waWNrZXI+XHJcbiAgPC9tYXQtZm9ybS1maWVsZD5cclxuPC9kaXY+XHJcbjxhcHAtdmFsaWRhdGlvbi1lcnJvcnMgW2Vycm9yc109XCJjb250cm9sLmVycm9yc1wiPjwvYXBwLXZhbGlkYXRpb24tZXJyb3JzPlxyXG5cclxuXHJcbn0gQGVsc2UgaWYoaXNSZWFkT25seSAmJiBjb250cm9sLnZhbHVlKSB7XHJcbjxuZy1jb250YWluZXI+XHJcbiAgPGFwcC1pbmZvLWl0ZW1cclxuICAgIGNsYXNzPVwiaW5mby1pdGVtIHctMTAwXCJcclxuICAgIHR5cGU9XCJkYXRlXCJcclxuICAgIFtpbnNpZGVUYWJsZV09XCJpbnNpZGVUYWJsZVwiXHJcbiAgICBbZGF0ZVR5cGVdPVwiY2FsZW5kYXJUeXBlXCJcclxuICAgIFtsYWJlbF09XCJsYWJlbFwiXHJcbiAgICBbdmFsdWVdPVwie1xyXG4gICAgICBzdGFydERhdGU6IGNvbnRyb2w/LnZhbHVlPy5zdGFydERhdGUsXHJcbiAgICAgIGVuZERhdGU6IGNvbnRyb2w/LnZhbHVlPy5lbmREYXRlXHJcbiAgICB9XCJcclxuICAgIFtoYXNMYWJlbF09XCIhIWxhYmVsXCJcclxuICA+XHJcbiAgPC9hcHAtaW5mby1pdGVtPlxyXG48L25nLWNvbnRhaW5lcj5cclxufVxyXG4iXX0=
|