@ethlete/cdk 3.19.1 → 3.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/esm2022/lib/components/forms/components/select/components/combobox/components/combobox/combobox.component.mjs +9 -3
- package/esm2022/lib/components/forms/components/select/components/combobox/directives/combobox/combobox.directive.mjs +69 -2
- package/esm2022/lib/components/forms/components/select/components/combobox/partials/combobox-body/combobox-body.component.mjs +15 -5
- package/esm2022/lib/components/forms/components/select/components/combobox/partials/combobox-option/combobox-option.component.mjs +8 -4
- package/esm2022/lib/components/forms/components/select/components/select/directives/select/select.directive.mjs +4 -1
- package/esm2022/lib/components/forms/components/select/components/select/partials/select-body/select-body.component.mjs +9 -3
- package/esm2022/lib/components/overlay/components/overlay/components/overlay-container/overlay-container.component.mjs +11 -4
- package/esm2022/lib/components/overlay/components/toggletip/components/toggletip/toggletip.component.mjs +9 -3
- package/esm2022/lib/components/overlay/components/toggletip/directives/toggletip/toggletip.directive.mjs +4 -1
- package/esm2022/lib/components/overlay/components/tooltip/components/tooltip/tooltip.component.mjs +9 -3
- package/esm2022/lib/components/overlay/components/tooltip/directives/tooltip/tooltip.directive.mjs +4 -1
- package/esm2022/lib/components/picture/picture.component.mjs +7 -4
- package/fesm2022/ethlete-cdk.mjs +133 -21
- package/fesm2022/ethlete-cdk.mjs.map +1 -1
- package/lib/components/forms/components/select/components/combobox/components/combobox/combobox.component.d.ts +1 -1
- package/lib/components/forms/components/select/components/combobox/directives/combobox/combobox.directive.d.ts +30 -1
- package/lib/components/forms/components/select/components/combobox/partials/combobox-body/combobox-body.component.d.ts +8 -3
- package/lib/components/forms/components/select/components/combobox/partials/combobox-option/combobox-option.component.d.ts +3 -0
- package/lib/components/forms/components/select/components/select/directives/select/select.directive.d.ts +1 -0
- package/lib/components/forms/components/select/components/select/partials/select-body/select-body.component.d.ts +5 -1
- package/lib/components/overlay/components/overlay/components/overlay-container/overlay-container.component.d.ts +4 -1
- package/lib/components/overlay/components/toggletip/components/toggletip/toggletip.component.d.ts +5 -1
- package/lib/components/overlay/components/toggletip/directives/toggletip/toggletip.directive.d.ts +1 -0
- package/lib/components/overlay/components/tooltip/components/tooltip/tooltip.component.d.ts +5 -1
- package/lib/components/overlay/components/tooltip/directives/tooltip/tooltip.directive.d.ts +1 -0
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# @ethlete/cdk
|
|
2
2
|
|
|
3
|
+
## 3.20.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [`41e6e320`](https://github.com/ethlete-io/ethdk/commit/41e6e32047598c9e49f0a6808402df3e7293ed31) Thanks [@TomTomB](https://github.com/TomTomB)! - Add inputs to pass to combobox custom component parts
|
|
8
|
+
|
|
9
|
+
## 3.19.2
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- [`df887bf2`](https://github.com/ethlete-io/ethdk/commit/df887bf295417edf634d0a2b7be3d94739548fa1) Thanks [@TomTomB](https://github.com/TomTomB)! - Add missing support for theming inside overlays
|
|
14
|
+
|
|
15
|
+
- [`6a484e3f`](https://github.com/ethlete-io/ethdk/commit/6a484e3f63cd33b2d5a46d325379fad8772c7467) Thanks [@TomTomB](https://github.com/TomTomB)! - Bind picture default source to srcset instead of src
|
|
16
|
+
|
|
3
17
|
## 3.19.1
|
|
4
18
|
|
|
5
19
|
### Patch Changes
|
|
@@ -17,7 +17,7 @@ export class ComboboxComponent extends DecoratedInputBase {
|
|
|
17
17
|
this.combobox.setBodyComponent(ComboboxBodyComponent);
|
|
18
18
|
}
|
|
19
19
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: ComboboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
20
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: ComboboxComponent, isStandalone: true, selector: "et-combobox", host: { listeners: { "click": "combobox.selectInputAndOpen()" }, classAttribute: "et-combobox" }, usesInheritance: true, hostDirectives: [{ directive: i1.AnimatedOverlayDirective }, { directive: i2.InputDirective, inputs: ["placeholder", "placeholder"] }, { directive: i3.ComboboxDirective, inputs: ["options", "options", "initialValue", "initialValue", "filterInternal", "filterInternal", "loading", "loading", "error", "error", "emptyText", "emptyText", "placeholder", "placeholder", "multiple", "multiple", "bindLabel", "bindLabel", "bindValue", "bindValue", "allowCustomValues", "allowCustomValues", "selectedOptionComponent", "selectedOptionComponent", "optionComponent", "optionComponent", "bodyErrorComponent", "bodyErrorComponent", "bodyLoadingComponent", "bodyLoadingComponent", "bodyEmptyComponent", "bodyEmptyComponent", "bodyMoreItemsHintComponent", "bodyMoreItemsHintComponent", "showBodyMoreItemsHint", "showBodyMoreItemsHint", "bodyEmptyText", "bodyEmptyText", "bodyMoreItemsHintText", "bodyMoreItemsHintText"], outputs: ["filterChange", "filterChange"] }], ngImport: i0, template: "<ng-content select=\"[etInputPrefix]\" />\n\n<div>\n <div *ngIf=\"combobox.multiple$ | async\" class=\"et-combobox-selected-options\">\n <div\n *ngFor=\"let item of combobox.selectedOptions$ | async; trackBy: combobox.trackByOptionKeyFn\"\n class=\"et-combobox-selected-option\"\n aria-hidden=\"true\"\n >\n <ng-container\n *ngIf=\"\n combobox.customSelectedOptionTpl$ | async as customSelectedOptionTpl;\n else compOrDefaultSelectedOptionLabelTpl\n \"\n >\n <ng-container *ngTemplateOutlet=\"customSelectedOptionTpl; context: { option: item }\" />\n </ng-container>\n\n <ng-template #compOrDefaultSelectedOptionLabelTpl>\n <ng-container\n *ngIf=\"combobox.customSelectedOptionComponent$ | async as comp; else defaultSelectedOptionLabelTpl\"\n >\n <ng-container
|
|
20
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: ComboboxComponent, isStandalone: true, selector: "et-combobox", host: { listeners: { "click": "combobox.selectInputAndOpen()" }, classAttribute: "et-combobox" }, usesInheritance: true, hostDirectives: [{ directive: i1.AnimatedOverlayDirective }, { directive: i2.InputDirective, inputs: ["placeholder", "placeholder"] }, { directive: i3.ComboboxDirective, inputs: ["options", "options", "initialValue", "initialValue", "filterInternal", "filterInternal", "loading", "loading", "error", "error", "emptyText", "emptyText", "placeholder", "placeholder", "multiple", "multiple", "bindLabel", "bindLabel", "bindValue", "bindValue", "allowCustomValues", "allowCustomValues", "selectedOptionComponent", "selectedOptionComponent", "optionComponent", "optionComponent", "bodyErrorComponent", "bodyErrorComponent", "bodyLoadingComponent", "bodyLoadingComponent", "bodyEmptyComponent", "bodyEmptyComponent", "bodyMoreItemsHintComponent", "bodyMoreItemsHintComponent", "showBodyMoreItemsHint", "showBodyMoreItemsHint", "bodyEmptyText", "bodyEmptyText", "bodyMoreItemsHintText", "bodyMoreItemsHintText", "optionComponentInputs", "optionComponentInputs", "selectedOptionComponentInputs", "selectedOptionComponentInputs", "bodyErrorComponentInputs", "bodyErrorComponentInputs", "bodyLoadingComponentInputs", "bodyLoadingComponentInputs", "bodyEmptyComponentInputs", "bodyEmptyComponentInputs", "bodyMoreItemsHintComponentInputs", "bodyMoreItemsHintComponentInputs"], outputs: ["filterChange", "filterChange"] }], ngImport: i0, template: "<ng-content select=\"[etInputPrefix]\" />\n\n<div>\n <div *ngIf=\"combobox.multiple$ | async\" class=\"et-combobox-selected-options\">\n <div\n *ngFor=\"let item of combobox.selectedOptions$ | async; trackBy: combobox.trackByOptionKeyFn\"\n class=\"et-combobox-selected-option\"\n aria-hidden=\"true\"\n >\n <ng-container\n *ngIf=\"\n combobox.customSelectedOptionTpl$ | async as customSelectedOptionTpl;\n else compOrDefaultSelectedOptionLabelTpl\n \"\n >\n <ng-container *ngTemplateOutlet=\"customSelectedOptionTpl; context: { option: item }\" />\n </ng-container>\n\n <ng-template #compOrDefaultSelectedOptionLabelTpl>\n <ng-container\n *ngIf=\"combobox.customSelectedOptionComponent$ | async as comp; else defaultSelectedOptionLabelTpl\"\n >\n <ng-container\n *ngComponentOutlet=\"\n comp;\n inputs: (combobox.combineSelectedOptionWithComponentInputs(item) | async) ?? { option: item }\n \"\n ></ng-container>\n </ng-container>\n <ng-template #defaultSelectedOptionLabelTpl>\n {{ combobox.getOptionLabel(item) | async }}\n </ng-template>\n </ng-template>\n\n <button\n (click)=\"combobox.removeSelectedOption(item); $event.stopPropagation()\"\n class=\"et-combobox-selected-option-remove\"\n tabindex=\"-1\"\n >\n x\n </button>\n </div>\n <div class=\"et-combobox-muliple-input\">\n <ng-container *ngTemplateOutlet=\"inputTpl\" />\n </div>\n </div>\n\n <ng-template #inputTpl>\n <input\n [disabled]=\"input.disabled\"\n [attr.id]=\"input.id\"\n [attr.aria-required]=\"(input.required$ | async) || null\"\n [attr.aria-disabled]=\"(input.disabled$ | async) || null\"\n [attr.aria-invalid]=\"(input.invalid$ | async) || null\"\n [attr.aria-expanded]=\"combobox.isOpen$ | async\"\n [attr.aria-describedby]=\"input.describedBy$ | async\"\n [attr.placeholder]=\"input.placeholder || null\"\n [attr.aria-activedescendant]=\"combobox.activeOptionId$ | async\"\n [attr.aria-controls]=\"(combobox.selectBodyId$ | async) || null\"\n [attr.aria-owns]=\"(combobox.selectBodyId$ | async) || null\"\n (keydown)=\"combobox._processKeydownEvent($event)\"\n (keyup)=\"combobox._processKeyupEvent()\"\n (click)=\"combobox.open()\"\n (blur)=\"combobox._handleBlurEvent()\"\n (input)=\"combobox._processInputEvent($event)\"\n class=\"et-combobox-wrapper\"\n aria-haspopup=\"listbox\"\n role=\"combobox\"\n aria-autocomplete=\"list\"\n type=\"text\"\n value=\"{{ combobox.currentFilter }}\"\n etNativeInputRef\n />\n </ng-template>\n\n <ng-container *ngIf=\"(combobox.multiple$ | async) === false\">\n <ng-container *ngTemplateOutlet=\"inputTpl\" />\n </ng-container>\n\n <et-chevron-icon class=\"et-combobox-chevron\" />\n</div>\n\n<ng-content select=\"[etInputSuffix]\" />\n\n<ng-template>\n <ng-content />\n</ng-template>\n", styles: [".et-combobox-body.et-with-default-animation .et-combobox-body-container.et-animation-enter-from,.et-combobox-body.et-with-default-animation .et-combobox-body-container.et-animation-leave-to{opacity:0;transform:scaleY(0)}.et-combobox-body.et-with-default-animation .et-combobox-body-container.et-animation-enter-active{transition:transform 125ms var(--ease-out-5),opacity 125ms var(--ease-out-5)}.et-combobox-body.et-with-default-animation .et-combobox-body-container.et-animation-leave-active{transition:transform 50ms var(--ease-in-5),opacity 50ms var(--ease-in-5)}.et-combobox-body.et-with-default-animation[et-floating-placement^=top] .et-combobox-body-container{transform-origin:bottom}.et-combobox-body.et-with-default-animation[et-floating-placement^=bottom] .et-combobox-body-container{transform-origin:top}.et-combobox-body-container{display:block;background-color:#3d3d3d;color:#fff;max-height:min(200px,var(--et-floating-max-height, 200px));overflow:auto}@supports (overflow: overlay){.et-combobox-body-container{overflow:overlay}}.et-combobox-body{width:100%;display:grid;transform:var(--et-floating-translate);will-change:transform}.et-combobox-option{display:block}:where(.et-combobox-option--active){background-color:#1e1e1e}.et-combobox{display:block;border:1px solid #ccc;padding:15px;position:relative}.et-combobox-chevron{transform:rotate(180deg);display:block;inline-size:15px;block-size:15px;position:absolute;inset-inline-end:15px;inset-block-start:7px}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NativeInputRefDirective, selector: "input[etNativeInputRef], textarea[etNativeInputRef], select[etNativeInputRef], button[etNativeInputRef]" }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "component", type: ChevronIconComponent, selector: "et-chevron-icon" }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
21
21
|
}
|
|
22
22
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: ComboboxComponent, decorators: [{
|
|
23
23
|
type: Component,
|
|
@@ -59,10 +59,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImpor
|
|
|
59
59
|
'showBodyMoreItemsHint',
|
|
60
60
|
'bodyEmptyText',
|
|
61
61
|
'bodyMoreItemsHintText',
|
|
62
|
+
'optionComponentInputs',
|
|
63
|
+
'selectedOptionComponentInputs',
|
|
64
|
+
'bodyErrorComponentInputs',
|
|
65
|
+
'bodyLoadingComponentInputs',
|
|
66
|
+
'bodyEmptyComponentInputs',
|
|
67
|
+
'bodyMoreItemsHintComponentInputs',
|
|
62
68
|
],
|
|
63
69
|
// eslint-disable-next-line @angular-eslint/no-outputs-metadata-property
|
|
64
70
|
outputs: ['filterChange'],
|
|
65
71
|
},
|
|
66
|
-
], template: "<ng-content select=\"[etInputPrefix]\" />\n\n<div>\n <div *ngIf=\"combobox.multiple$ | async\" class=\"et-combobox-selected-options\">\n <div\n *ngFor=\"let item of combobox.selectedOptions$ | async; trackBy: combobox.trackByOptionKeyFn\"\n class=\"et-combobox-selected-option\"\n aria-hidden=\"true\"\n >\n <ng-container\n *ngIf=\"\n combobox.customSelectedOptionTpl$ | async as customSelectedOptionTpl;\n else compOrDefaultSelectedOptionLabelTpl\n \"\n >\n <ng-container *ngTemplateOutlet=\"customSelectedOptionTpl; context: { option: item }\" />\n </ng-container>\n\n <ng-template #compOrDefaultSelectedOptionLabelTpl>\n <ng-container\n *ngIf=\"combobox.customSelectedOptionComponent$ | async as comp; else defaultSelectedOptionLabelTpl\"\n >\n <ng-container
|
|
72
|
+
], template: "<ng-content select=\"[etInputPrefix]\" />\n\n<div>\n <div *ngIf=\"combobox.multiple$ | async\" class=\"et-combobox-selected-options\">\n <div\n *ngFor=\"let item of combobox.selectedOptions$ | async; trackBy: combobox.trackByOptionKeyFn\"\n class=\"et-combobox-selected-option\"\n aria-hidden=\"true\"\n >\n <ng-container\n *ngIf=\"\n combobox.customSelectedOptionTpl$ | async as customSelectedOptionTpl;\n else compOrDefaultSelectedOptionLabelTpl\n \"\n >\n <ng-container *ngTemplateOutlet=\"customSelectedOptionTpl; context: { option: item }\" />\n </ng-container>\n\n <ng-template #compOrDefaultSelectedOptionLabelTpl>\n <ng-container\n *ngIf=\"combobox.customSelectedOptionComponent$ | async as comp; else defaultSelectedOptionLabelTpl\"\n >\n <ng-container\n *ngComponentOutlet=\"\n comp;\n inputs: (combobox.combineSelectedOptionWithComponentInputs(item) | async) ?? { option: item }\n \"\n ></ng-container>\n </ng-container>\n <ng-template #defaultSelectedOptionLabelTpl>\n {{ combobox.getOptionLabel(item) | async }}\n </ng-template>\n </ng-template>\n\n <button\n (click)=\"combobox.removeSelectedOption(item); $event.stopPropagation()\"\n class=\"et-combobox-selected-option-remove\"\n tabindex=\"-1\"\n >\n x\n </button>\n </div>\n <div class=\"et-combobox-muliple-input\">\n <ng-container *ngTemplateOutlet=\"inputTpl\" />\n </div>\n </div>\n\n <ng-template #inputTpl>\n <input\n [disabled]=\"input.disabled\"\n [attr.id]=\"input.id\"\n [attr.aria-required]=\"(input.required$ | async) || null\"\n [attr.aria-disabled]=\"(input.disabled$ | async) || null\"\n [attr.aria-invalid]=\"(input.invalid$ | async) || null\"\n [attr.aria-expanded]=\"combobox.isOpen$ | async\"\n [attr.aria-describedby]=\"input.describedBy$ | async\"\n [attr.placeholder]=\"input.placeholder || null\"\n [attr.aria-activedescendant]=\"combobox.activeOptionId$ | async\"\n [attr.aria-controls]=\"(combobox.selectBodyId$ | async) || null\"\n [attr.aria-owns]=\"(combobox.selectBodyId$ | async) || null\"\n (keydown)=\"combobox._processKeydownEvent($event)\"\n (keyup)=\"combobox._processKeyupEvent()\"\n (click)=\"combobox.open()\"\n (blur)=\"combobox._handleBlurEvent()\"\n (input)=\"combobox._processInputEvent($event)\"\n class=\"et-combobox-wrapper\"\n aria-haspopup=\"listbox\"\n role=\"combobox\"\n aria-autocomplete=\"list\"\n type=\"text\"\n value=\"{{ combobox.currentFilter }}\"\n etNativeInputRef\n />\n </ng-template>\n\n <ng-container *ngIf=\"(combobox.multiple$ | async) === false\">\n <ng-container *ngTemplateOutlet=\"inputTpl\" />\n </ng-container>\n\n <et-chevron-icon class=\"et-combobox-chevron\" />\n</div>\n\n<ng-content select=\"[etInputSuffix]\" />\n\n<ng-template>\n <ng-content />\n</ng-template>\n", styles: [".et-combobox-body.et-with-default-animation .et-combobox-body-container.et-animation-enter-from,.et-combobox-body.et-with-default-animation .et-combobox-body-container.et-animation-leave-to{opacity:0;transform:scaleY(0)}.et-combobox-body.et-with-default-animation .et-combobox-body-container.et-animation-enter-active{transition:transform 125ms var(--ease-out-5),opacity 125ms var(--ease-out-5)}.et-combobox-body.et-with-default-animation .et-combobox-body-container.et-animation-leave-active{transition:transform 50ms var(--ease-in-5),opacity 50ms var(--ease-in-5)}.et-combobox-body.et-with-default-animation[et-floating-placement^=top] .et-combobox-body-container{transform-origin:bottom}.et-combobox-body.et-with-default-animation[et-floating-placement^=bottom] .et-combobox-body-container{transform-origin:top}.et-combobox-body-container{display:block;background-color:#3d3d3d;color:#fff;max-height:min(200px,var(--et-floating-max-height, 200px));overflow:auto}@supports (overflow: overlay){.et-combobox-body-container{overflow:overlay}}.et-combobox-body{width:100%;display:grid;transform:var(--et-floating-translate);will-change:transform}.et-combobox-option{display:block}:where(.et-combobox-option--active){background-color:#1e1e1e}.et-combobox{display:block;border:1px solid #ccc;padding:15px;position:relative}.et-combobox-chevron{transform:rotate(180deg);display:block;inline-size:15px;block-size:15px;position:absolute;inset-inline-end:15px;inset-block-start:7px}\n"] }]
|
|
67
73
|
}], ctorParameters: function () { return []; } });
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tYm9ib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm1zL2NvbXBvbmVudHMvc2VsZWN0L2NvbXBvbmVudHMvY29tYm9ib3gvY29tcG9uZW50cy9jb21ib2JveC9jb21ib2JveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvY29tcG9uZW50cy9zZWxlY3QvY29tcG9uZW50cy9jb21ib2JveC9jb21wb25lbnRzL2NvbWJvYm94L2NvbWJvYm94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzdELE9BQU8sRUFBRSxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNyRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUF1RHZELE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxrQkFBa0I7SUFHdkQ7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQUhTLGFBQVEsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFLbkQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQ3hELENBQUM7OEdBUFUsaUJBQWlCO2tHQUFqQixpQkFBaUIsd25DQzlEOUIsbzVGQWtGQSw4L0NEN0RJLElBQUksNkZBQ0osdUJBQXVCLCtJQUN2QixTQUFTLDhDQUNULG9CQUFvQiw0REFFcEIsS0FBSyxtSEFDTCxnQkFBZ0Isb0pBQ2hCLGlCQUFpQjs7MkZBa0NSLGlCQUFpQjtrQkFyRDdCLFNBQVM7K0JBQ0UsYUFBYSxjQUdYLElBQUksbUJBQ0MsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxRQUMvQjt3QkFDSixLQUFLLEVBQUUsYUFBYTt3QkFDcEIsU0FBUyxFQUFFLCtCQUErQjtxQkFDM0MsV0FDUTt3QkFDUCxJQUFJO3dCQUNKLHVCQUF1Qjt3QkFDdkIsU0FBUzt3QkFDVCxvQkFBb0I7d0JBQ3BCLFlBQVk7d0JBQ1osS0FBSzt3QkFDTCxnQkFBZ0I7d0JBQ2hCLGlCQUFpQjtxQkFDbEIsa0JBQ2U7d0JBQ2Qsd0JBQXdCO3dCQUN4QixFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLENBQUMsYUFBYSxDQUFDLEVBQUU7d0JBQ3REOzRCQUNFLFNBQVMsRUFBRSxpQkFBaUI7NEJBQzVCLE1BQU0sRUFBRTtnQ0FDTixTQUFTO2dDQUNULGNBQWM7Z0NBQ2QsZ0JBQWdCO2dDQUNoQixTQUFTO2dDQUNULE9BQU87Z0NBQ1AsV0FBVztnQ0FDWCxhQUFhO2dDQUNiLFVBQVU7Z0NBQ1YsV0FBVztnQ0FDWCxXQUFXO2dDQUNYLG1CQUFtQjtnQ0FDbkIseUJBQXlCO2dDQUN6QixpQkFBaUI7Z0NBQ2pCLG9CQUFvQjtnQ0FDcEIsc0JBQXNCO2dDQUN0QixvQkFBb0I7Z0NBQ3BCLDRCQUE0QjtnQ0FDNUIsdUJBQXVCO2dDQUN2QixlQUFlO2dDQUNmLHVCQUF1Qjs2QkFDeEI7NEJBQ0Qsd0VBQXdFOzRCQUN4RSxPQUFPLEVBQUUsQ0FBQyxjQUFjLENBQUM7eUJBQzFCO3FCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXN5bmNQaXBlLCBOZ0NvbXBvbmVudE91dGxldCwgTmdGb3IsIE5nSWYsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24sIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQW5pbWF0ZWRPdmVybGF5RGlyZWN0aXZlLCBMZXREaXJlY3RpdmUgfSBmcm9tICdAZXRobGV0ZS9jb3JlJztcbmltcG9ydCB7IENoZXZyb25JY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vaWNvbnMnO1xuaW1wb3J0IHsgSW5wdXREaXJlY3RpdmUsIE5hdGl2ZUlucHV0UmVmRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBEZWNvcmF0ZWRJbnB1dEJhc2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi91dGlscyc7XG5pbXBvcnQgeyBDT01CT0JPWF9UT0tFTiwgQ29tYm9ib3hEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IENvbWJvYm94Qm9keUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3BhcnRpYWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZXQtY29tYm9ib3gnLFxuICB0ZW1wbGF0ZVVybDogJy4vY29tYm9ib3guY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb21ib2JveC5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnZXQtY29tYm9ib3gnLFxuICAgICcoY2xpY2spJzogJ2NvbWJvYm94LnNlbGVjdElucHV0QW5kT3BlbigpJyxcbiAgfSxcbiAgaW1wb3J0czogW1xuICAgIE5nSWYsXG4gICAgTmF0aXZlSW5wdXRSZWZEaXJlY3RpdmUsXG4gICAgQXN5bmNQaXBlLFxuICAgIENoZXZyb25JY29uQ29tcG9uZW50LFxuICAgIExldERpcmVjdGl2ZSxcbiAgICBOZ0ZvcixcbiAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgIE5nQ29tcG9uZW50T3V0bGV0LFxuICBdLFxuICBob3N0RGlyZWN0aXZlczogW1xuICAgIEFuaW1hdGVkT3ZlcmxheURpcmVjdGl2ZSxcbiAgICB7IGRpcmVjdGl2ZTogSW5wdXREaXJlY3RpdmUsIGlucHV0czogWydwbGFjZWhvbGRlciddIH0sXG4gICAge1xuICAgICAgZGlyZWN0aXZlOiBDb21ib2JveERpcmVjdGl2ZSxcbiAgICAgIGlucHV0czogW1xuICAgICAgICAnb3B0aW9ucycsXG4gICAgICAgICdpbml0aWFsVmFsdWUnLFxuICAgICAgICAnZmlsdGVySW50ZXJuYWwnLFxuICAgICAgICAnbG9hZGluZycsXG4gICAgICAgICdlcnJvcicsXG4gICAgICAgICdlbXB0eVRleHQnLFxuICAgICAgICAncGxhY2Vob2xkZXInLFxuICAgICAgICAnbXVsdGlwbGUnLFxuICAgICAgICAnYmluZExhYmVsJyxcbiAgICAgICAgJ2JpbmRWYWx1ZScsXG4gICAgICAgICdhbGxvd0N1c3RvbVZhbHVlcycsXG4gICAgICAgICdzZWxlY3RlZE9wdGlvbkNvbXBvbmVudCcsXG4gICAgICAgICdvcHRpb25Db21wb25lbnQnLFxuICAgICAgICAnYm9keUVycm9yQ29tcG9uZW50JyxcbiAgICAgICAgJ2JvZHlMb2FkaW5nQ29tcG9uZW50JyxcbiAgICAgICAgJ2JvZHlFbXB0eUNvbXBvbmVudCcsXG4gICAgICAgICdib2R5TW9yZUl0ZW1zSGludENvbXBvbmVudCcsXG4gICAgICAgICdzaG93Qm9keU1vcmVJdGVtc0hpbnQnLFxuICAgICAgICAnYm9keUVtcHR5VGV4dCcsXG4gICAgICAgICdib2R5TW9yZUl0ZW1zSGludFRleHQnLFxuICAgICAgXSxcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICAgICAgb3V0cHV0czogWydmaWx0ZXJDaGFuZ2UnXSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBDb21ib2JveENvbXBvbmVudCBleHRlbmRzIERlY29yYXRlZElucHV0QmFzZSB7XG4gIHByb3RlY3RlZCByZWFkb25seSBjb21ib2JveCA9IGluamVjdChDT01CT0JPWF9UT0tFTik7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIHRoaXMuY29tYm9ib3guc2V0Qm9keUNvbXBvbmVudChDb21ib2JveEJvZHlDb21wb25lbnQpO1xuICB9XG59XG4iLCI8bmctY29udGVudCBzZWxlY3Q9XCJbZXRJbnB1dFByZWZpeF1cIiAvPlxuXG48ZGl2PlxuICA8ZGl2ICpuZ0lmPVwiY29tYm9ib3gubXVsdGlwbGUkIHwgYXN5bmNcIiBjbGFzcz1cImV0LWNvbWJvYm94LXNlbGVjdGVkLW9wdGlvbnNcIj5cbiAgICA8ZGl2XG4gICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBjb21ib2JveC5zZWxlY3RlZE9wdGlvbnMkIHwgYXN5bmM7IHRyYWNrQnk6IGNvbWJvYm94LnRyYWNrQnlPcHRpb25LZXlGblwiXG4gICAgICBjbGFzcz1cImV0LWNvbWJvYm94LXNlbGVjdGVkLW9wdGlvblwiXG4gICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgID5cbiAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICBjb21ib2JveC5jdXN0b21TZWxlY3RlZE9wdGlvblRwbCQgfCBhc3luYyBhcyBjdXN0b21TZWxlY3RlZE9wdGlvblRwbDtcbiAgICAgICAgICBlbHNlIGNvbXBPckRlZmF1bHRTZWxlY3RlZE9wdGlvbkxhYmVsVHBsXG4gICAgICAgIFwiXG4gICAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjdXN0b21TZWxlY3RlZE9wdGlvblRwbDsgY29udGV4dDogeyBvcHRpb246IGl0ZW0gfVwiIC8+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPG5nLXRlbXBsYXRlICNjb21wT3JEZWZhdWx0U2VsZWN0ZWRPcHRpb25MYWJlbFRwbD5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ0lmPVwiY29tYm9ib3guY3VzdG9tU2VsZWN0ZWRPcHRpb25Db21wb25lbnQkIHwgYXN5bmMgYXMgY29tcDsgZWxzZSBkZWZhdWx0U2VsZWN0ZWRPcHRpb25MYWJlbFRwbFwiXG4gICAgICAgID5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0NvbXBvbmVudE91dGxldD1cImNvbXA7IGlucHV0czogeyBvcHRpb246IGl0ZW0gfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0U2VsZWN0ZWRPcHRpb25MYWJlbFRwbD5cbiAgICAgICAgICB7eyBjb21ib2JveC5nZXRPcHRpb25MYWJlbChpdGVtKSB8IGFzeW5jIH19XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICA8YnV0dG9uXG4gICAgICAgIChjbGljayk9XCJjb21ib2JveC5yZW1vdmVTZWxlY3RlZE9wdGlvbihpdGVtKTsgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgICAgY2xhc3M9XCJldC1jb21ib2JveC1zZWxlY3RlZC1vcHRpb24tcmVtb3ZlXCJcbiAgICAgICAgdGFiaW5kZXg9XCItMVwiXG4gICAgICA+XG4gICAgICAgIHhcbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJldC1jb21ib2JveC1tdWxpcGxlLWlucHV0XCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaW5wdXRUcGxcIiAvPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8bmctdGVtcGxhdGUgI2lucHV0VHBsPlxuICAgIDxpbnB1dFxuICAgICAgW2Rpc2FibGVkXT1cImlucHV0LmRpc2FibGVkXCJcbiAgICAgIFthdHRyLmlkXT1cImlucHV0LmlkXCJcbiAgICAgIFthdHRyLmFyaWEtcmVxdWlyZWRdPVwiKGlucHV0LnJlcXVpcmVkJCB8IGFzeW5jKSB8fCBudWxsXCJcbiAgICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiKGlucHV0LmRpc2FibGVkJCB8IGFzeW5jKSB8fCBudWxsXCJcbiAgICAgIFthdHRyLmFyaWEtaW52YWxpZF09XCIoaW5wdXQuaW52YWxpZCQgfCBhc3luYykgfHwgbnVsbFwiXG4gICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cImNvbWJvYm94LmlzT3BlbiQgfCBhc3luY1wiXG4gICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImlucHV0LmRlc2NyaWJlZEJ5JCB8IGFzeW5jXCJcbiAgICAgIFthdHRyLnBsYWNlaG9sZGVyXT1cImlucHV0LnBsYWNlaG9sZGVyIHx8IG51bGxcIlxuICAgICAgW2F0dHIuYXJpYS1hY3RpdmVkZXNjZW5kYW50XT1cImNvbWJvYm94LmFjdGl2ZU9wdGlvbklkJCB8IGFzeW5jXCJcbiAgICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwiKGNvbWJvYm94LnNlbGVjdEJvZHlJZCQgfCBhc3luYykgfHwgbnVsbFwiXG4gICAgICBbYXR0ci5hcmlhLW93bnNdPVwiKGNvbWJvYm94LnNlbGVjdEJvZHlJZCQgfCBhc3luYykgfHwgbnVsbFwiXG4gICAgICAoa2V5ZG93bik9XCJjb21ib2JveC5fcHJvY2Vzc0tleWRvd25FdmVudCgkZXZlbnQpXCJcbiAgICAgIChrZXl1cCk9XCJjb21ib2JveC5fcHJvY2Vzc0tleXVwRXZlbnQoKVwiXG4gICAgICAoY2xpY2spPVwiY29tYm9ib3gub3BlbigpXCJcbiAgICAgIChibHVyKT1cImNvbWJvYm94Ll9oYW5kbGVCbHVyRXZlbnQoKVwiXG4gICAgICAoaW5wdXQpPVwiY29tYm9ib3guX3Byb2Nlc3NJbnB1dEV2ZW50KCRldmVudClcIlxuICAgICAgY2xhc3M9XCJldC1jb21ib2JveC13cmFwcGVyXCJcbiAgICAgIGFyaWEtaGFzcG9wdXA9XCJsaXN0Ym94XCJcbiAgICAgIHJvbGU9XCJjb21ib2JveFwiXG4gICAgICBhcmlhLWF1dG9jb21wbGV0ZT1cImxpc3RcIlxuICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgdmFsdWU9XCJ7eyBjb21ib2JveC5jdXJyZW50RmlsdGVyIH19XCJcbiAgICAgIGV0TmF0aXZlSW5wdXRSZWZcbiAgICAvPlxuICA8L25nLXRlbXBsYXRlPlxuXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCIoY29tYm9ib3gubXVsdGlwbGUkIHwgYXN5bmMpID09PSBmYWxzZVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpbnB1dFRwbFwiIC8+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxldC1jaGV2cm9uLWljb24gY2xhc3M9XCJldC1jb21ib2JveC1jaGV2cm9uXCIgLz5cbjwvZGl2PlxuXG48bmctY29udGVudCBzZWxlY3Q9XCJbZXRJbnB1dFN1ZmZpeF1cIiAvPlxuXG48bmctdGVtcGxhdGU+XG4gIDxuZy1jb250ZW50IC8+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tYm9ib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm1zL2NvbXBvbmVudHMvc2VsZWN0L2NvbXBvbmVudHMvY29tYm9ib3gvY29tcG9uZW50cy9jb21ib2JveC9jb21ib2JveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvY29tcG9uZW50cy9zZWxlY3QvY29tcG9uZW50cy9jb21ib2JveC9jb21wb25lbnRzL2NvbWJvYm94L2NvbWJvYm94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzdELE9BQU8sRUFBRSxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNyRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUE2RHZELE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxrQkFBa0I7SUFHdkQ7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQUhTLGFBQVEsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFLbkQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQ3hELENBQUM7OEdBUFUsaUJBQWlCO2tHQUFqQixpQkFBaUIsZytDQ3BFOUIsK2hHQXVGQSw4L0NEbEVJLElBQUksNkZBQ0osdUJBQXVCLCtJQUN2QixTQUFTLDhDQUNULG9CQUFvQiw0REFFcEIsS0FBSyxtSEFDTCxnQkFBZ0Isb0pBQ2hCLGlCQUFpQjs7MkZBd0NSLGlCQUFpQjtrQkEzRDdCLFNBQVM7K0JBQ0UsYUFBYSxjQUdYLElBQUksbUJBQ0MsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxRQUMvQjt3QkFDSixLQUFLLEVBQUUsYUFBYTt3QkFDcEIsU0FBUyxFQUFFLCtCQUErQjtxQkFDM0MsV0FDUTt3QkFDUCxJQUFJO3dCQUNKLHVCQUF1Qjt3QkFDdkIsU0FBUzt3QkFDVCxvQkFBb0I7d0JBQ3BCLFlBQVk7d0JBQ1osS0FBSzt3QkFDTCxnQkFBZ0I7d0JBQ2hCLGlCQUFpQjtxQkFDbEIsa0JBQ2U7d0JBQ2Qsd0JBQXdCO3dCQUN4QixFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLENBQUMsYUFBYSxDQUFDLEVBQUU7d0JBQ3REOzRCQUNFLFNBQVMsRUFBRSxpQkFBaUI7NEJBQzVCLE1BQU0sRUFBRTtnQ0FDTixTQUFTO2dDQUNULGNBQWM7Z0NBQ2QsZ0JBQWdCO2dDQUNoQixTQUFTO2dDQUNULE9BQU87Z0NBQ1AsV0FBVztnQ0FDWCxhQUFhO2dDQUNiLFVBQVU7Z0NBQ1YsV0FBVztnQ0FDWCxXQUFXO2dDQUNYLG1CQUFtQjtnQ0FDbkIseUJBQXlCO2dDQUN6QixpQkFBaUI7Z0NBQ2pCLG9CQUFvQjtnQ0FDcEIsc0JBQXNCO2dDQUN0QixvQkFBb0I7Z0NBQ3BCLDRCQUE0QjtnQ0FDNUIsdUJBQXVCO2dDQUN2QixlQUFlO2dDQUNmLHVCQUF1QjtnQ0FDdkIsdUJBQXVCO2dDQUN2QiwrQkFBK0I7Z0NBQy9CLDBCQUEwQjtnQ0FDMUIsNEJBQTRCO2dDQUM1QiwwQkFBMEI7Z0NBQzFCLGtDQUFrQzs2QkFDbkM7NEJBQ0Qsd0VBQXdFOzRCQUN4RSxPQUFPLEVBQUUsQ0FBQyxjQUFjLENBQUM7eUJBQzFCO3FCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXN5bmNQaXBlLCBOZ0NvbXBvbmVudE91dGxldCwgTmdGb3IsIE5nSWYsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24sIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQW5pbWF0ZWRPdmVybGF5RGlyZWN0aXZlLCBMZXREaXJlY3RpdmUgfSBmcm9tICdAZXRobGV0ZS9jb3JlJztcbmltcG9ydCB7IENoZXZyb25JY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vaWNvbnMnO1xuaW1wb3J0IHsgSW5wdXREaXJlY3RpdmUsIE5hdGl2ZUlucHV0UmVmRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBEZWNvcmF0ZWRJbnB1dEJhc2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi91dGlscyc7XG5pbXBvcnQgeyBDT01CT0JPWF9UT0tFTiwgQ29tYm9ib3hEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IENvbWJvYm94Qm9keUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3BhcnRpYWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZXQtY29tYm9ib3gnLFxuICB0ZW1wbGF0ZVVybDogJy4vY29tYm9ib3guY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb21ib2JveC5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnZXQtY29tYm9ib3gnLFxuICAgICcoY2xpY2spJzogJ2NvbWJvYm94LnNlbGVjdElucHV0QW5kT3BlbigpJyxcbiAgfSxcbiAgaW1wb3J0czogW1xuICAgIE5nSWYsXG4gICAgTmF0aXZlSW5wdXRSZWZEaXJlY3RpdmUsXG4gICAgQXN5bmNQaXBlLFxuICAgIENoZXZyb25JY29uQ29tcG9uZW50LFxuICAgIExldERpcmVjdGl2ZSxcbiAgICBOZ0ZvcixcbiAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgIE5nQ29tcG9uZW50T3V0bGV0LFxuICBdLFxuICBob3N0RGlyZWN0aXZlczogW1xuICAgIEFuaW1hdGVkT3ZlcmxheURpcmVjdGl2ZSxcbiAgICB7IGRpcmVjdGl2ZTogSW5wdXREaXJlY3RpdmUsIGlucHV0czogWydwbGFjZWhvbGRlciddIH0sXG4gICAge1xuICAgICAgZGlyZWN0aXZlOiBDb21ib2JveERpcmVjdGl2ZSxcbiAgICAgIGlucHV0czogW1xuICAgICAgICAnb3B0aW9ucycsXG4gICAgICAgICdpbml0aWFsVmFsdWUnLFxuICAgICAgICAnZmlsdGVySW50ZXJuYWwnLFxuICAgICAgICAnbG9hZGluZycsXG4gICAgICAgICdlcnJvcicsXG4gICAgICAgICdlbXB0eVRleHQnLFxuICAgICAgICAncGxhY2Vob2xkZXInLFxuICAgICAgICAnbXVsdGlwbGUnLFxuICAgICAgICAnYmluZExhYmVsJyxcbiAgICAgICAgJ2JpbmRWYWx1ZScsXG4gICAgICAgICdhbGxvd0N1c3RvbVZhbHVlcycsXG4gICAgICAgICdzZWxlY3RlZE9wdGlvbkNvbXBvbmVudCcsXG4gICAgICAgICdvcHRpb25Db21wb25lbnQnLFxuICAgICAgICAnYm9keUVycm9yQ29tcG9uZW50JyxcbiAgICAgICAgJ2JvZHlMb2FkaW5nQ29tcG9uZW50JyxcbiAgICAgICAgJ2JvZHlFbXB0eUNvbXBvbmVudCcsXG4gICAgICAgICdib2R5TW9yZUl0ZW1zSGludENvbXBvbmVudCcsXG4gICAgICAgICdzaG93Qm9keU1vcmVJdGVtc0hpbnQnLFxuICAgICAgICAnYm9keUVtcHR5VGV4dCcsXG4gICAgICAgICdib2R5TW9yZUl0ZW1zSGludFRleHQnLFxuICAgICAgICAnb3B0aW9uQ29tcG9uZW50SW5wdXRzJyxcbiAgICAgICAgJ3NlbGVjdGVkT3B0aW9uQ29tcG9uZW50SW5wdXRzJyxcbiAgICAgICAgJ2JvZHlFcnJvckNvbXBvbmVudElucHV0cycsXG4gICAgICAgICdib2R5TG9hZGluZ0NvbXBvbmVudElucHV0cycsXG4gICAgICAgICdib2R5RW1wdHlDb21wb25lbnRJbnB1dHMnLFxuICAgICAgICAnYm9keU1vcmVJdGVtc0hpbnRDb21wb25lbnRJbnB1dHMnLFxuICAgICAgXSxcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICAgICAgb3V0cHV0czogWydmaWx0ZXJDaGFuZ2UnXSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBDb21ib2JveENvbXBvbmVudCBleHRlbmRzIERlY29yYXRlZElucHV0QmFzZSB7XG4gIHByb3RlY3RlZCByZWFkb25seSBjb21ib2JveCA9IGluamVjdChDT01CT0JPWF9UT0tFTik7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIHRoaXMuY29tYm9ib3guc2V0Qm9keUNvbXBvbmVudChDb21ib2JveEJvZHlDb21wb25lbnQpO1xuICB9XG59XG4iLCI8bmctY29udGVudCBzZWxlY3Q9XCJbZXRJbnB1dFByZWZpeF1cIiAvPlxuXG48ZGl2PlxuICA8ZGl2ICpuZ0lmPVwiY29tYm9ib3gubXVsdGlwbGUkIHwgYXN5bmNcIiBjbGFzcz1cImV0LWNvbWJvYm94LXNlbGVjdGVkLW9wdGlvbnNcIj5cbiAgICA8ZGl2XG4gICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBjb21ib2JveC5zZWxlY3RlZE9wdGlvbnMkIHwgYXN5bmM7IHRyYWNrQnk6IGNvbWJvYm94LnRyYWNrQnlPcHRpb25LZXlGblwiXG4gICAgICBjbGFzcz1cImV0LWNvbWJvYm94LXNlbGVjdGVkLW9wdGlvblwiXG4gICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgID5cbiAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICBjb21ib2JveC5jdXN0b21TZWxlY3RlZE9wdGlvblRwbCQgfCBhc3luYyBhcyBjdXN0b21TZWxlY3RlZE9wdGlvblRwbDtcbiAgICAgICAgICBlbHNlIGNvbXBPckRlZmF1bHRTZWxlY3RlZE9wdGlvbkxhYmVsVHBsXG4gICAgICAgIFwiXG4gICAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjdXN0b21TZWxlY3RlZE9wdGlvblRwbDsgY29udGV4dDogeyBvcHRpb246IGl0ZW0gfVwiIC8+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPG5nLXRlbXBsYXRlICNjb21wT3JEZWZhdWx0U2VsZWN0ZWRPcHRpb25MYWJlbFRwbD5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ0lmPVwiY29tYm9ib3guY3VzdG9tU2VsZWN0ZWRPcHRpb25Db21wb25lbnQkIHwgYXN5bmMgYXMgY29tcDsgZWxzZSBkZWZhdWx0U2VsZWN0ZWRPcHRpb25MYWJlbFRwbFwiXG4gICAgICAgID5cbiAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAqbmdDb21wb25lbnRPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgY29tcDtcbiAgICAgICAgICAgICAgaW5wdXRzOiAoY29tYm9ib3guY29tYmluZVNlbGVjdGVkT3B0aW9uV2l0aENvbXBvbmVudElucHV0cyhpdGVtKSB8IGFzeW5jKSA/PyB7IG9wdGlvbjogaXRlbSB9XG4gICAgICAgICAgICBcIlxuICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdFNlbGVjdGVkT3B0aW9uTGFiZWxUcGw+XG4gICAgICAgICAge3sgY29tYm9ib3guZ2V0T3B0aW9uTGFiZWwoaXRlbSkgfCBhc3luYyB9fVxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgPGJ1dHRvblxuICAgICAgICAoY2xpY2spPVwiY29tYm9ib3gucmVtb3ZlU2VsZWN0ZWRPcHRpb24oaXRlbSk7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgIGNsYXNzPVwiZXQtY29tYm9ib3gtc2VsZWN0ZWQtb3B0aW9uLXJlbW92ZVwiXG4gICAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICAgPlxuICAgICAgICB4XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZXQtY29tYm9ib3gtbXVsaXBsZS1pbnB1dFwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImlucHV0VHBsXCIgLz5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPG5nLXRlbXBsYXRlICNpbnB1dFRwbD5cbiAgICA8aW5wdXRcbiAgICAgIFtkaXNhYmxlZF09XCJpbnB1dC5kaXNhYmxlZFwiXG4gICAgICBbYXR0ci5pZF09XCJpbnB1dC5pZFwiXG4gICAgICBbYXR0ci5hcmlhLXJlcXVpcmVkXT1cIihpbnB1dC5yZXF1aXJlZCQgfCBhc3luYykgfHwgbnVsbFwiXG4gICAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cIihpbnB1dC5kaXNhYmxlZCQgfCBhc3luYykgfHwgbnVsbFwiXG4gICAgICBbYXR0ci5hcmlhLWludmFsaWRdPVwiKGlucHV0LmludmFsaWQkIHwgYXN5bmMpIHx8IG51bGxcIlxuICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJjb21ib2JveC5pc09wZW4kIHwgYXN5bmNcIlxuICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJpbnB1dC5kZXNjcmliZWRCeSQgfCBhc3luY1wiXG4gICAgICBbYXR0ci5wbGFjZWhvbGRlcl09XCJpbnB1dC5wbGFjZWhvbGRlciB8fCBudWxsXCJcbiAgICAgIFthdHRyLmFyaWEtYWN0aXZlZGVzY2VuZGFudF09XCJjb21ib2JveC5hY3RpdmVPcHRpb25JZCQgfCBhc3luY1wiXG4gICAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cIihjb21ib2JveC5zZWxlY3RCb2R5SWQkIHwgYXN5bmMpIHx8IG51bGxcIlxuICAgICAgW2F0dHIuYXJpYS1vd25zXT1cIihjb21ib2JveC5zZWxlY3RCb2R5SWQkIHwgYXN5bmMpIHx8IG51bGxcIlxuICAgICAgKGtleWRvd24pPVwiY29tYm9ib3guX3Byb2Nlc3NLZXlkb3duRXZlbnQoJGV2ZW50KVwiXG4gICAgICAoa2V5dXApPVwiY29tYm9ib3guX3Byb2Nlc3NLZXl1cEV2ZW50KClcIlxuICAgICAgKGNsaWNrKT1cImNvbWJvYm94Lm9wZW4oKVwiXG4gICAgICAoYmx1cik9XCJjb21ib2JveC5faGFuZGxlQmx1ckV2ZW50KClcIlxuICAgICAgKGlucHV0KT1cImNvbWJvYm94Ll9wcm9jZXNzSW5wdXRFdmVudCgkZXZlbnQpXCJcbiAgICAgIGNsYXNzPVwiZXQtY29tYm9ib3gtd3JhcHBlclwiXG4gICAgICBhcmlhLWhhc3BvcHVwPVwibGlzdGJveFwiXG4gICAgICByb2xlPVwiY29tYm9ib3hcIlxuICAgICAgYXJpYS1hdXRvY29tcGxldGU9XCJsaXN0XCJcbiAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgIHZhbHVlPVwie3sgY29tYm9ib3guY3VycmVudEZpbHRlciB9fVwiXG4gICAgICBldE5hdGl2ZUlucHV0UmVmXG4gICAgLz5cbiAgPC9uZy10ZW1wbGF0ZT5cblxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiKGNvbWJvYm94Lm11bHRpcGxlJCB8IGFzeW5jKSA9PT0gZmFsc2VcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaW5wdXRUcGxcIiAvPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8ZXQtY2hldnJvbi1pY29uIGNsYXNzPVwiZXQtY29tYm9ib3gtY2hldnJvblwiIC8+XG48L2Rpdj5cblxuPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2V0SW5wdXRTdWZmaXhdXCIgLz5cblxuPG5nLXRlbXBsYXRlPlxuICA8bmctY29udGVudCAvPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|