@acorex/components 5.3.2 → 5.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/base/components.class.mjs +8 -1
- package/esm2020/lib/base/mixin/base-menu-mixin.class.mjs +6 -3
- package/esm2020/lib/color-palette/color-palette-input.component.mjs +67 -0
- package/esm2020/lib/color-palette/color-palette-picker.component.mjs +17 -0
- package/esm2020/lib/color-palette/color-palette-preview.component.mjs +36 -0
- package/esm2020/lib/color-palette/color-palette-swatches.component.mjs +261 -0
- package/esm2020/lib/color-palette/color-palette.class.mjs +10 -0
- package/esm2020/lib/color-palette/color-palette.component.mjs +46 -0
- package/esm2020/lib/color-palette/color-palette.module.mjs +54 -0
- package/esm2020/lib/color-palette/index.mjs +7 -0
- package/esm2020/lib/color-picker/color-picker.component.mjs +19 -262
- package/esm2020/lib/color-picker/color-picker.module.mjs +12 -6
- package/esm2020/lib/menu/menu.component.mjs +31 -5
- package/esm2020/lib/selectbox/selectbox.component.mjs +2 -1
- package/esm2020/public-api.mjs +2 -1
- package/fesm2015/acorex-components.mjs +1396 -1154
- package/fesm2015/acorex-components.mjs.map +1 -1
- package/fesm2020/acorex-components.mjs +1252 -1014
- package/fesm2020/acorex-components.mjs.map +1 -1
- package/lib/base/components.class.d.ts +8 -0
- package/lib/base/mixin/base-menu-mixin.class.d.ts +1 -1
- package/lib/base/mixin/mixin.class.d.ts +1 -1
- package/lib/color-palette/color-palette-input.component.d.ts +15 -0
- package/lib/color-palette/color-palette-picker.component.d.ts +8 -0
- package/lib/color-palette/color-palette-preview.component.d.ts +12 -0
- package/lib/color-palette/color-palette-swatches.component.d.ts +16 -0
- package/lib/color-palette/color-palette.class.d.ts +12 -0
- package/lib/color-palette/color-palette.component.d.ts +18 -0
- package/lib/color-palette/color-palette.module.d.ts +17 -0
- package/lib/color-palette/index.d.ts +6 -0
- package/lib/color-picker/color-picker.component.d.ts +159 -35
- package/lib/color-picker/color-picker.module.d.ts +2 -1
- package/lib/menu/menu.component.d.ts +8 -2
- package/package.json +4 -4
- package/public-api.d.ts +1 -0
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';
|
|
2
|
+
import { Subject } from 'rxjs';
|
|
3
|
+
import { AXBaseValueComponentMixin } from '../base';
|
|
4
|
+
import { INTERACTIVE_INPUTS, INTERACTIVE_OUTPUT } from '../base/mixin/interactive-mixin.class';
|
|
5
|
+
import { VALUE_INPUTS, VALUE_OUTPUT } from '../base/mixin/value-mixin.class';
|
|
6
|
+
import { AXColorComponent } from './color-palette.class';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "./color-palette-preview.component";
|
|
9
|
+
import * as i2 from "./color-palette-swatches.component";
|
|
10
|
+
import * as i3 from "./color-palette-input.component";
|
|
11
|
+
import * as i4 from "@angular/common";
|
|
12
|
+
export class AXColorPalleteComponent extends AXBaseValueComponentMixin {
|
|
13
|
+
constructor(elementRef, cdr) {
|
|
14
|
+
super(elementRef, cdr);
|
|
15
|
+
this._onInternalColorChanged$ = new Subject();
|
|
16
|
+
this.modeChange = new EventEmitter();
|
|
17
|
+
this._mode = 'hex';
|
|
18
|
+
//
|
|
19
|
+
this._onInternalColorChanged$.subscribe(e => {
|
|
20
|
+
this.value = e.color;
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* A character value that specifies the separator character.
|
|
25
|
+
*/
|
|
26
|
+
get mode() {
|
|
27
|
+
return this._mode;
|
|
28
|
+
}
|
|
29
|
+
set mode(v) {
|
|
30
|
+
this._setOption({
|
|
31
|
+
name: "mode",
|
|
32
|
+
value: v,
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
AXColorPalleteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AXColorPalleteComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
37
|
+
AXColorPalleteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: AXColorPalleteComponent, selector: "ax-color-palette", inputs: { disabled: "disabled", tabIndex: "tabIndex", readonly: "readonly", allowNull: "allowNull", value: "value", debounceTime: "debounceTime", name: "name", checked: "checked", mode: "mode" }, outputs: { onBlur: "onBlur", onFocus: "onFocus", valueChange: "valueChange", onValueChanged: "onValueChanged", modeChange: "modeChange" }, providers: [{ provide: AXColorComponent, useExisting: AXColorPalleteComponent }], usesInheritance: true, ngImport: i0, template: "<ng-content select='ax-header'></ng-content>\r\n\r\n<ng-container [ngTemplateOutlet]=\"default\"></ng-container>\r\n\r\n<ng-template #default>\r\n <ax-color-palette-preview></ax-color-palette-preview>\r\n <ax-color-palette-swatches></ax-color-palette-swatches>\r\n <ng-content select=\"ax-color-palette-favorite\"></ng-content>\r\n <ax-color-palette-input></ax-color-palette-input>\r\n</ng-template>\r\n<ng-content select='ax-footer'></ng-content>", components: [{ type: i1.AXColorPalettePreviewComponent, selector: "ax-color-palette-preview" }, { type: i2.AXColorPaletteSwatchesComponent, selector: "ax-color-palette-swatches, ax-color-palette-favorite", inputs: ["colors"] }, { type: i3.AXColorPaletteInputComponent, selector: "ax-color-palette-input" }], directives: [{ type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
38
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AXColorPalleteComponent, decorators: [{
|
|
39
|
+
type: Component,
|
|
40
|
+
args: [{ selector: 'ax-color-palette', changeDetection: ChangeDetectionStrategy.OnPush, inputs: [...INTERACTIVE_INPUTS, ...VALUE_INPUTS], outputs: [...INTERACTIVE_OUTPUT, ...VALUE_OUTPUT], encapsulation: ViewEncapsulation.None, providers: [{ provide: AXColorComponent, useExisting: AXColorPalleteComponent }], template: "<ng-content select='ax-header'></ng-content>\r\n\r\n<ng-container [ngTemplateOutlet]=\"default\"></ng-container>\r\n\r\n<ng-template #default>\r\n <ax-color-palette-preview></ax-color-palette-preview>\r\n <ax-color-palette-swatches></ax-color-palette-swatches>\r\n <ng-content select=\"ax-color-palette-favorite\"></ng-content>\r\n <ax-color-palette-input></ax-color-palette-input>\r\n</ng-template>\r\n<ng-content select='ax-footer'></ng-content>" }]
|
|
41
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { modeChange: [{
|
|
42
|
+
type: Output
|
|
43
|
+
}], mode: [{
|
|
44
|
+
type: Input
|
|
45
|
+
}] } });
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItcGFsZXR0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL2NvbG9yLXBhbGV0dGUvY29sb3ItcGFsZXR0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL2NvbG9yLXBhbGV0dGUvY29sb3ItcGFsZXR0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBYyxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsSixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNwRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRixPQUFPLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7QUFXekQsTUFBTSxPQUFPLHVCQUF3QixTQUFRLHlCQUF5QjtJQXlCbEUsWUFBWSxVQUFzQixFQUFFLEdBQXNCO1FBQ3RELEtBQUssQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUM7UUF4QjNCLDZCQUF3QixHQUFpQixJQUFJLE9BQU8sRUFBTyxDQUFDO1FBSTVELGVBQVUsR0FBOEIsSUFBSSxZQUFZLEVBQWUsQ0FBQztRQUNoRSxVQUFLLEdBQWlCLEtBQUssQ0FBQztRQW9CaEMsRUFBRTtRQUNGLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDeEMsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQXZCRDs7TUFFRTtJQUNGLElBQ1csSUFBSTtRQUNiLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBQ0QsSUFBVyxJQUFJLENBQUMsQ0FBYztRQUM1QixJQUFJLENBQUMsVUFBVSxDQUFDO1lBQ2QsSUFBSSxFQUFFLE1BQU07WUFDWixLQUFLLEVBQUUsQ0FBQztTQUNULENBQUMsQ0FBQTtJQUNKLENBQUM7O29IQXBCUSx1QkFBdUI7d0dBQXZCLHVCQUF1QiwwWEFGckIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsdUJBQXVCLEVBQUUsQ0FBQyxpRENmcEYsNmNBVTRDOzJGRE8vQix1QkFBdUI7a0JBVG5DLFNBQVM7K0JBQ0ksa0JBQWtCLG1CQUVYLHVCQUF1QixDQUFDLE1BQU0sVUFDdkMsQ0FBQyxHQUFHLGtCQUFrQixFQUFFLEdBQUcsWUFBWSxDQUFDLFdBQ3ZDLENBQUMsR0FBRyxrQkFBa0IsRUFBRSxHQUFHLFlBQVksQ0FBQyxpQkFDbEMsaUJBQWlCLENBQUMsSUFBSSxhQUMxQixDQUFDLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcseUJBQXlCLEVBQUUsQ0FBQztpSUFRaEYsVUFBVTtzQkFEVCxNQUFNO2dCQU9JLElBQUk7c0JBRGQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQ29sb3JNb2RlIH0gZnJvbSAnQGFjb3JleC9jb3JlJztcclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBBWEJhc2VWYWx1ZUNvbXBvbmVudE1peGluIH0gZnJvbSAnLi4vYmFzZSc7XHJcbmltcG9ydCB7IElOVEVSQUNUSVZFX0lOUFVUUywgSU5URVJBQ1RJVkVfT1VUUFVUIH0gZnJvbSAnLi4vYmFzZS9taXhpbi9pbnRlcmFjdGl2ZS1taXhpbi5jbGFzcyc7XHJcbmltcG9ydCB7IFZBTFVFX0lOUFVUUywgVkFMVUVfT1VUUFVUIH0gZnJvbSAnLi4vYmFzZS9taXhpbi92YWx1ZS1taXhpbi5jbGFzcyc7XHJcbmltcG9ydCB7IEFYQ29sb3JDb21wb25lbnQgfSBmcm9tICcuL2NvbG9yLXBhbGV0dGUuY2xhc3MnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2F4LWNvbG9yLXBhbGV0dGUnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NvbG9yLXBhbGV0dGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBpbnB1dHM6IFsuLi5JTlRFUkFDVElWRV9JTlBVVFMsIC4uLlZBTFVFX0lOUFVUU10sXHJcbiAgICBvdXRwdXRzOiBbLi4uSU5URVJBQ1RJVkVfT1VUUFVULCAuLi5WQUxVRV9PVVRQVVRdLFxyXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogQVhDb2xvckNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYQ29sb3JQYWxsZXRlQ29tcG9uZW50IH1dXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWENvbG9yUGFsbGV0ZUNvbXBvbmVudCBleHRlbmRzIEFYQmFzZVZhbHVlQ29tcG9uZW50TWl4aW4ge1xyXG5cclxuICAgIF9vbkludGVybmFsQ29sb3JDaGFuZ2VkJDogU3ViamVjdDxhbnk+ID0gbmV3IFN1YmplY3Q8YW55PigpO1xyXG5cclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIG1vZGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxBWENvbG9yTW9kZT4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYQ29sb3JNb2RlPigpO1xyXG4gICAgcHJpdmF0ZSBfbW9kZTogQVhDb2xvck1vZGUgPSAgJ2hleCc7XHJcbiAgICAvKipcclxuICAgICogIEEgY2hhcmFjdGVyIHZhbHVlIHRoYXQgc3BlY2lmaWVzIHRoZSBzZXBhcmF0b3IgY2hhcmFjdGVyLlxyXG4gICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZ2V0IG1vZGUoKTogQVhDb2xvck1vZGUge1xyXG4gICAgICByZXR1cm4gdGhpcy5fbW9kZTtcclxuICAgIH1cclxuICAgIHB1YmxpYyBzZXQgbW9kZSh2OiBBWENvbG9yTW9kZSkge1xyXG4gICAgICB0aGlzLl9zZXRPcHRpb24oe1xyXG4gICAgICAgIG5hbWU6IFwibW9kZVwiLFxyXG4gICAgICAgIHZhbHVlOiB2LFxyXG4gICAgICB9KVxyXG4gICAgfVxyXG4gICAgXHJcblxyXG5cclxuXHJcbiAgICBjb25zdHJ1Y3RvcihlbGVtZW50UmVmOiBFbGVtZW50UmVmLCBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcbiAgICAgICAgc3VwZXIoZWxlbWVudFJlZiwgY2RyKTtcclxuICAgICAgICAvL1xyXG4gICAgICAgIHRoaXMuX29uSW50ZXJuYWxDb2xvckNoYW5nZWQkLnN1YnNjcmliZShlID0+IHtcclxuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IGUuY29sb3I7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG59XHJcbiIsIjxuZy1jb250ZW50IHNlbGVjdD0nYXgtaGVhZGVyJz48L25nLWNvbnRlbnQ+XHJcblxyXG48bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImRlZmF1bHRcIj48L25nLWNvbnRhaW5lcj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdD5cclxuICAgIDxheC1jb2xvci1wYWxldHRlLXByZXZpZXc+PC9heC1jb2xvci1wYWxldHRlLXByZXZpZXc+XHJcbiAgICA8YXgtY29sb3ItcGFsZXR0ZS1zd2F0Y2hlcz48L2F4LWNvbG9yLXBhbGV0dGUtc3dhdGNoZXM+XHJcbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJheC1jb2xvci1wYWxldHRlLWZhdm9yaXRlXCI+PC9uZy1jb250ZW50PlxyXG4gICAgPGF4LWNvbG9yLXBhbGV0dGUtaW5wdXQ+PC9heC1jb2xvci1wYWxldHRlLWlucHV0PlxyXG48L25nLXRlbXBsYXRlPlxyXG48bmctY29udGVudCBzZWxlY3Q9J2F4LWZvb3Rlcic+PC9uZy1jb250ZW50PiJdfQ==
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { AXColorPalleteComponent } from './color-palette.component';
|
|
4
|
+
import { AXTextBoxModule } from '../textbox';
|
|
5
|
+
import { AXLabelModule } from '../label';
|
|
6
|
+
import { AXButtonModule } from '../button';
|
|
7
|
+
import { AXDecoratorModule } from '../decorators';
|
|
8
|
+
import { AXColorPalettePreviewComponent } from './color-palette-preview.component';
|
|
9
|
+
import { AXColorPaletteSwatchesComponent } from './color-palette-swatches.component';
|
|
10
|
+
import { AXColorPaletteInputComponent } from './color-palette-input.component';
|
|
11
|
+
import { AXColorPalettePickerComponent } from './color-palette-picker.component';
|
|
12
|
+
import { AXNumberBoxModule } from '../number-box';
|
|
13
|
+
import * as i0 from "@angular/core";
|
|
14
|
+
const MODULES = [
|
|
15
|
+
AXTextBoxModule,
|
|
16
|
+
AXLabelModule,
|
|
17
|
+
AXButtonModule,
|
|
18
|
+
AXDecoratorModule,
|
|
19
|
+
AXNumberBoxModule
|
|
20
|
+
];
|
|
21
|
+
const CONPONENTS = [
|
|
22
|
+
AXColorPalleteComponent,
|
|
23
|
+
AXColorPalettePreviewComponent,
|
|
24
|
+
AXColorPaletteSwatchesComponent,
|
|
25
|
+
AXColorPaletteInputComponent,
|
|
26
|
+
AXColorPalettePickerComponent
|
|
27
|
+
];
|
|
28
|
+
export class AXColorPaletteModule {
|
|
29
|
+
}
|
|
30
|
+
AXColorPaletteModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AXColorPaletteModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
31
|
+
AXColorPaletteModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AXColorPaletteModule, declarations: [AXColorPalleteComponent,
|
|
32
|
+
AXColorPalettePreviewComponent,
|
|
33
|
+
AXColorPaletteSwatchesComponent,
|
|
34
|
+
AXColorPaletteInputComponent,
|
|
35
|
+
AXColorPalettePickerComponent], imports: [CommonModule, AXTextBoxModule,
|
|
36
|
+
AXLabelModule,
|
|
37
|
+
AXButtonModule,
|
|
38
|
+
AXDecoratorModule,
|
|
39
|
+
AXNumberBoxModule], exports: [AXColorPalleteComponent,
|
|
40
|
+
AXColorPalettePreviewComponent,
|
|
41
|
+
AXColorPaletteSwatchesComponent,
|
|
42
|
+
AXColorPaletteInputComponent,
|
|
43
|
+
AXColorPalettePickerComponent] });
|
|
44
|
+
AXColorPaletteModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AXColorPaletteModule, providers: [], imports: [[CommonModule, ...MODULES]] });
|
|
45
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AXColorPaletteModule, decorators: [{
|
|
46
|
+
type: NgModule,
|
|
47
|
+
args: [{
|
|
48
|
+
declarations: [...CONPONENTS],
|
|
49
|
+
imports: [CommonModule, ...MODULES],
|
|
50
|
+
exports: [...CONPONENTS],
|
|
51
|
+
providers: [],
|
|
52
|
+
}]
|
|
53
|
+
}] });
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItcGFsZXR0ZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL2NvbG9yLXBhbGV0dGUvY29sb3ItcGFsZXR0ZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUM3QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDM0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFbEQsTUFBTSxPQUFPLEdBQVU7SUFDbkIsZUFBZTtJQUNmLGFBQWE7SUFDYixjQUFjO0lBQ2QsaUJBQWlCO0lBQ2pCLGlCQUFpQjtDQUNwQixDQUFBO0FBQ0QsTUFBTSxVQUFVLEdBQVU7SUFDdEIsdUJBQXVCO0lBQ3ZCLDhCQUE4QjtJQUM5QiwrQkFBK0I7SUFDL0IsNEJBQTRCO0lBQzVCLDZCQUE2QjtDQUNoQyxDQUFBO0FBUUQsTUFBTSxPQUFPLG9CQUFvQjs7aUhBQXBCLG9CQUFvQjtrSEFBcEIsb0JBQW9CLGlCQWI3Qix1QkFBdUI7UUFDdkIsOEJBQThCO1FBQzlCLCtCQUErQjtRQUMvQiw0QkFBNEI7UUFDNUIsNkJBQTZCLGFBS25CLFlBQVksRUFoQnRCLGVBQWU7UUFDZixhQUFhO1FBQ2IsY0FBYztRQUNkLGlCQUFpQjtRQUNqQixpQkFBaUIsYUFHakIsdUJBQXVCO1FBQ3ZCLDhCQUE4QjtRQUM5QiwrQkFBK0I7UUFDL0IsNEJBQTRCO1FBQzVCLDZCQUE2QjtrSEFTcEIsb0JBQW9CLGFBRmxCLEVBQUUsWUFGSixDQUFDLFlBQVksRUFBRSxHQUFHLE9BQU8sQ0FBQzsyRkFJMUIsb0JBQW9CO2tCQU5oQyxRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDO29CQUM3QixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsR0FBRyxPQUFPLENBQUM7b0JBQ25DLE9BQU8sRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDO29CQUN4QixTQUFTLEVBQUUsRUFBRTtpQkFDaEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBBWENvbG9yUGFsbGV0ZUNvbXBvbmVudCB9IGZyb20gJy4vY29sb3ItcGFsZXR0ZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBWFRleHRCb3hNb2R1bGUgfSBmcm9tICcuLi90ZXh0Ym94JztcclxuaW1wb3J0IHsgQVhMYWJlbE1vZHVsZSB9IGZyb20gJy4uL2xhYmVsJztcclxuaW1wb3J0IHsgQVhCdXR0b25Nb2R1bGUgfSBmcm9tICcuLi9idXR0b24nO1xyXG5pbXBvcnQgeyBBWERlY29yYXRvck1vZHVsZSB9IGZyb20gJy4uL2RlY29yYXRvcnMnO1xyXG5pbXBvcnQgeyBBWENvbG9yUGFsZXR0ZVByZXZpZXdDb21wb25lbnQgfSBmcm9tICcuL2NvbG9yLXBhbGV0dGUtcHJldmlldy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBWENvbG9yUGFsZXR0ZVN3YXRjaGVzQ29tcG9uZW50IH0gZnJvbSAnLi9jb2xvci1wYWxldHRlLXN3YXRjaGVzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFYQ29sb3JQYWxldHRlSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2NvbG9yLXBhbGV0dGUtaW5wdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQVhDb2xvclBhbGV0dGVQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbG9yLXBhbGV0dGUtcGlja2VyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFYTnVtYmVyQm94TW9kdWxlIH0gZnJvbSAnLi4vbnVtYmVyLWJveCc7XHJcblxyXG5jb25zdCBNT0RVTEVTOiBhbnlbXSA9IFtcclxuICAgIEFYVGV4dEJveE1vZHVsZSxcclxuICAgIEFYTGFiZWxNb2R1bGUsXHJcbiAgICBBWEJ1dHRvbk1vZHVsZSxcclxuICAgIEFYRGVjb3JhdG9yTW9kdWxlLFxyXG4gICAgQVhOdW1iZXJCb3hNb2R1bGVcclxuXVxyXG5jb25zdCBDT05QT05FTlRTOiBhbnlbXSA9IFtcclxuICAgIEFYQ29sb3JQYWxsZXRlQ29tcG9uZW50LFxyXG4gICAgQVhDb2xvclBhbGV0dGVQcmV2aWV3Q29tcG9uZW50LFxyXG4gICAgQVhDb2xvclBhbGV0dGVTd2F0Y2hlc0NvbXBvbmVudCxcclxuICAgIEFYQ29sb3JQYWxldHRlSW5wdXRDb21wb25lbnQsXHJcbiAgICBBWENvbG9yUGFsZXR0ZVBpY2tlckNvbXBvbmVudFxyXG5dXHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgZGVjbGFyYXRpb25zOiBbLi4uQ09OUE9ORU5UU10sXHJcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCAuLi5NT0RVTEVTXSxcclxuICAgIGV4cG9ydHM6IFsuLi5DT05QT05FTlRTXSxcclxuICAgIHByb3ZpZGVyczogW10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWENvbG9yUGFsZXR0ZU1vZHVsZSB7IH0iXX0=
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from './color-palette.component';
|
|
2
|
+
export * from './color-palette-preview.component';
|
|
3
|
+
export * from './color-palette-input.component';
|
|
4
|
+
export * from './color-palette-picker.component';
|
|
5
|
+
export * from './color-palette-swatches.component';
|
|
6
|
+
export * from './color-palette.module';
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL2NvbG9yLXBhbGV0dGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbG9yLXBhbGV0dGUuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9jb2xvci1wYWxldHRlLXByZXZpZXcuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9jb2xvci1wYWxldHRlLWlucHV0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY29sb3ItcGFsZXR0ZS1waWNrZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9jb2xvci1wYWxldHRlLXN3YXRjaGVzLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY29sb3ItcGFsZXR0ZS5tb2R1bGUnOyJdfQ==
|
|
@@ -1,46 +1,36 @@
|
|
|
1
|
-
import { AXTranslator } from '@acorex/core';
|
|
2
|
-
import { ChangeDetectionStrategy, Component,
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import { VALUE_INPUTS, VALUE_OUTPUT } from '../base/mixin/value-mixin.class';
|
|
1
|
+
import { AXColorUtil, AXTranslator } from '@acorex/core';
|
|
2
|
+
import { ChangeDetectionStrategy, Component, ViewChild, ViewEncapsulation } from '@angular/core';
|
|
3
|
+
import { AXBaseComponent, AXClosbaleComponent } from '../base';
|
|
4
|
+
import { DROPDOWN_INPUTS, DROPDOWN_OUTPUT, _DropdownComponenetMixin } from '../base/mixin/dropdown-mixin.class';
|
|
5
|
+
import { INTERACTIVE_INPUTS, INTERACTIVE_OUTPUT, _InteractiveComponenetMixin } from '../base/mixin/interactive-mixin.class';
|
|
6
|
+
import { TEXTBOX_INPUTS, TEXTBOX_OUTPUT, _TextboxComponenetMixin } from '../base/mixin/textbox-mixin.class';
|
|
7
|
+
import { VALUE_INPUTS, VALUE_OUTPUT, _ValueComponenetMixin } from '../base/mixin/value-mixin.class';
|
|
9
8
|
import { AXPopoverComponent } from '../popover';
|
|
10
9
|
import * as i0 from "@angular/core";
|
|
11
10
|
import * as i1 from "@acorex/core";
|
|
12
11
|
import * as i2 from "../button/button.component";
|
|
13
12
|
import * as i3 from "../decorators/icon.component";
|
|
14
|
-
import * as i4 from "../
|
|
15
|
-
import * as i5 from "../
|
|
16
|
-
import * as i6 from "
|
|
17
|
-
import * as i7 from "@angular/
|
|
18
|
-
|
|
13
|
+
import * as i4 from "../popover/popover.component";
|
|
14
|
+
import * as i5 from "../color-palette/color-palette.component";
|
|
15
|
+
import * as i6 from "@angular/common";
|
|
16
|
+
import * as i7 from "@angular/cdk/a11y";
|
|
17
|
+
export const AXBaseColorPickerMixin = _InteractiveComponenetMixin(_DropdownComponenetMixin(_ValueComponenetMixin(_TextboxComponenetMixin(AXBaseComponent))));
|
|
19
18
|
/**
|
|
20
19
|
* The Button is a component which detects user interaction and triggers a corresponding event
|
|
21
20
|
*
|
|
22
21
|
* @category Components
|
|
23
22
|
*/
|
|
24
|
-
export class AXColorPickerComponent extends
|
|
23
|
+
export class AXColorPickerComponent extends AXBaseColorPickerMixin {
|
|
25
24
|
/**
|
|
26
25
|
* @ignore
|
|
27
26
|
*/
|
|
28
27
|
constructor(_elementRef, _cdr, _zone, _platform) {
|
|
29
28
|
super(_elementRef, _cdr);
|
|
30
29
|
this._elementRef = _elementRef;
|
|
31
|
-
this._cdr = _cdr;
|
|
32
30
|
this._zone = _zone;
|
|
33
31
|
this._platform = _platform;
|
|
34
|
-
|
|
35
|
-
* Defines the clearButton.
|
|
36
|
-
*/
|
|
37
|
-
this.clearButton = false;
|
|
38
|
-
/**
|
|
39
|
-
* Defines the checkbox.
|
|
40
|
-
*/
|
|
41
|
-
this.checkbox = false;
|
|
32
|
+
this._mode = 'hex';
|
|
42
33
|
this._isMobile = false;
|
|
43
|
-
this._forceFocus = false;
|
|
44
34
|
this._isMobile = this._platform.is('Mobile');
|
|
45
35
|
this._platform.resize.subscribe(() => {
|
|
46
36
|
this._isMobile = this._platform.is('Mobile');
|
|
@@ -48,9 +38,6 @@ export class AXColorPickerComponent extends AXBaseSelectionDropdownMixin {
|
|
|
48
38
|
this._popoverWidth = this._isMobile ? null : this._target.offsetWidth;
|
|
49
39
|
});
|
|
50
40
|
}
|
|
51
|
-
get emptyTemplate() {
|
|
52
|
-
return this._contentEmptyTemplate;
|
|
53
|
-
}
|
|
54
41
|
_handleArrowClickEvent(e) {
|
|
55
42
|
e.nativeEvent.stopPropagation();
|
|
56
43
|
this.toggle();
|
|
@@ -68,257 +55,27 @@ export class AXColorPickerComponent extends AXBaseSelectionDropdownMixin {
|
|
|
68
55
|
super.onViewInit();
|
|
69
56
|
this._popoverWidth = this._isMobile ? null : this._target.offsetWidth;
|
|
70
57
|
}
|
|
71
|
-
refresh() {
|
|
72
|
-
this.value = null;
|
|
73
|
-
super.refresh();
|
|
74
|
-
}
|
|
75
|
-
_handleOnItemClick(e, item) {
|
|
76
|
-
if (this.isItemDisabled(item)) {
|
|
77
|
-
return;
|
|
78
|
-
}
|
|
79
|
-
if (!this.multiple)
|
|
80
|
-
this.close();
|
|
81
|
-
this.toggleSelect(item);
|
|
82
|
-
this._cdr.detectChanges();
|
|
83
|
-
}
|
|
84
|
-
_handleListScroll(e) {
|
|
85
|
-
const list = e.target;
|
|
86
|
-
if ((list.scrollTop < list.scrollHeight - list.clientHeight)) {
|
|
87
|
-
return;
|
|
88
|
-
}
|
|
89
|
-
this._fetchData();
|
|
90
|
-
}
|
|
91
|
-
_checkForLoadData() {
|
|
92
|
-
const list = this.listContainer.nativeElement;
|
|
93
|
-
if (this.loadedCount < this.totalCount && list.scrollHeight < ((list.parentElement.clientHeight) * 1.5)) {
|
|
94
|
-
this._fetchData();
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
_onDataLoaded() {
|
|
98
|
-
if (this.popover.isOpen) {
|
|
99
|
-
setTimeout(() => {
|
|
100
|
-
this._checkForLoadData();
|
|
101
|
-
this.popover.updatePosition();
|
|
102
|
-
if (this._forceFocus) {
|
|
103
|
-
this._focusSelectedItem();
|
|
104
|
-
this._forceFocus = false;
|
|
105
|
-
}
|
|
106
|
-
}, 100);
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
58
|
_onValueChanged(oldValue, newValue) {
|
|
110
59
|
super._onValueChanged(oldValue, newValue);
|
|
111
|
-
|
|
112
|
-
_handleOnRemoveItemClick(e, item) {
|
|
113
|
-
this.unselectItems(item);
|
|
114
|
-
e.stopPropagation();
|
|
115
|
-
}
|
|
116
|
-
_handleBadgeRemove(e, item) {
|
|
117
|
-
this.unselectItems(item);
|
|
118
|
-
e.stopPropagation();
|
|
119
|
-
this.close();
|
|
120
|
-
}
|
|
121
|
-
_handleKeydown(e) {
|
|
122
|
-
const isLetter = new RegExp(/[a-zA-Z0-9\-]/).test(String.fromCharCode(e.keyCode));
|
|
123
|
-
if (e.code === 'Backspace' && e.type === 'keydown' &&
|
|
124
|
-
((this.allowNull === true && this.selectedItems.length > 0) ||
|
|
125
|
-
(this.allowNull !== true && this.selectedItems.length > 1))) {
|
|
126
|
-
this.isUserInput = true;
|
|
127
|
-
this.unselectItems(this.selectedItems.pop());
|
|
128
|
-
e.preventDefault();
|
|
129
|
-
return;
|
|
130
|
-
}
|
|
131
|
-
else if ((e.code === 'ArrowDown' || e.code === 'ArrowUp' || e.code === 'Space') && !this.popover.isOpen && e.type === 'keydown') {
|
|
132
|
-
if (this.multiple) {
|
|
133
|
-
this.open();
|
|
134
|
-
}
|
|
135
|
-
else {
|
|
136
|
-
this.isUserInput = true;
|
|
137
|
-
if (e.ctrlKey || e.code === 'Space') {
|
|
138
|
-
this.open();
|
|
139
|
-
}
|
|
140
|
-
else {
|
|
141
|
-
this._selectedItemByNav((e.key === 'ArrowDown' ? 1 : -1));
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
e.preventDefault();
|
|
145
|
-
return;
|
|
146
|
-
}
|
|
147
|
-
else if (isLetter) {
|
|
148
|
-
this.text = e.key;
|
|
149
|
-
this.open();
|
|
150
|
-
e.preventDefault();
|
|
151
|
-
return;
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
_handlePopoverKeydown(e) {
|
|
155
|
-
if (e.target.tagName == "INPUT" && ['Space', 'Backspace'].includes(e.code))
|
|
156
|
-
return;
|
|
157
|
-
if ((e.key === 'ArrowDown' || e.key === 'ArrowUp') && this.displayItems.length > 0) {
|
|
158
|
-
this.isUserInput = true;
|
|
159
|
-
this._focusItemByNav((e.key === 'ArrowDown' ? 1 : -1));
|
|
160
|
-
e.preventDefault();
|
|
161
|
-
}
|
|
162
|
-
else if (e.code === 'Backspace' &&
|
|
163
|
-
((this.allowNull === true && this.selectedItems.length > 0) ||
|
|
164
|
-
(this.allowNull !== true && this.selectedItems.length > 1))) {
|
|
165
|
-
this.isUserInput = true;
|
|
166
|
-
this.unselectItems(this.selectedItems.pop());
|
|
167
|
-
e.preventDefault();
|
|
168
|
-
}
|
|
169
|
-
else if ((e.code === 'Space' || e.code === 'Enter')) {
|
|
170
|
-
debugger;
|
|
171
|
-
e.preventDefault();
|
|
172
|
-
const focusedItemId = this.listContainer.nativeElement.querySelector('.ax-state-focus')?.dataset?.id;
|
|
173
|
-
const focusedItem = _.findLast(this.flatItems, [this.valueField, focusedItemId]);
|
|
174
|
-
if (focusedItem) {
|
|
175
|
-
if (this.isItemDisabled(focusedItem)) {
|
|
176
|
-
return;
|
|
177
|
-
}
|
|
178
|
-
if (this.multiple) {
|
|
179
|
-
this.isUserInput = true;
|
|
180
|
-
this.toggleSelect(focusedItem);
|
|
181
|
-
}
|
|
182
|
-
else {
|
|
183
|
-
this.isUserInput = true;
|
|
184
|
-
this.selectItems(focusedItem);
|
|
185
|
-
this.close();
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
else if (e.code === "Tab") {
|
|
190
|
-
this.close();
|
|
191
|
-
e.preventDefault();
|
|
192
|
-
e.stopPropagation();
|
|
193
|
-
}
|
|
194
|
-
else if (e.key === 'Escape') {
|
|
195
|
-
this.close();
|
|
196
|
-
e.preventDefault();
|
|
197
|
-
e.stopPropagation();
|
|
198
|
-
}
|
|
60
|
+
this._colorCode = AXColorUtil.to(newValue, this._mode);
|
|
199
61
|
}
|
|
200
62
|
async _handlePopupOnOpened(e) {
|
|
201
|
-
this.popover.focus();
|
|
202
|
-
if (this.displayItems.length == 0) {
|
|
203
|
-
this._forceFocus = true;
|
|
204
|
-
this._fetchData();
|
|
205
|
-
}
|
|
206
|
-
else {
|
|
207
|
-
this._focusSelectedItem();
|
|
208
|
-
}
|
|
209
|
-
debugger;
|
|
210
|
-
if (this._searchBox && !this._isMobile) {
|
|
211
|
-
this._searchBox.focus();
|
|
212
|
-
}
|
|
213
63
|
}
|
|
214
64
|
_handlePopupOnClosed(e) {
|
|
215
65
|
this.focus();
|
|
216
66
|
}
|
|
217
|
-
_focusItemByNav(sign) {
|
|
218
|
-
const list = this.listContainer.nativeElement;
|
|
219
|
-
const fn = (s) => list.querySelector(s);
|
|
220
|
-
const itemDiv = fn(`.ax-list-item.ax-state-focus`) || fn(`.ax-list-item.ax-state-selected`) || fn(`.ax-list-item`);
|
|
221
|
-
let next = (sign == 1 ? itemDiv.nextElementSibling : itemDiv.previousElementSibling);
|
|
222
|
-
if (next) {
|
|
223
|
-
this._focusItemElement(next);
|
|
224
|
-
}
|
|
225
|
-
else {
|
|
226
|
-
const parent = itemDiv.closest('.ax-list-item-group');
|
|
227
|
-
if (parent) {
|
|
228
|
-
const lis = (sign == 1 ? parent.nextElementSibling : parent.previousElementSibling)?.querySelectorAll('li');
|
|
229
|
-
const a = sign == 1 ? _.first(lis) : _.last(lis);
|
|
230
|
-
if (a) {
|
|
231
|
-
this._focusItemElement(a);
|
|
232
|
-
}
|
|
233
|
-
}
|
|
234
|
-
}
|
|
235
|
-
}
|
|
236
|
-
_focusSelectedItem() {
|
|
237
|
-
this._zone.runOutsideAngular(() => {
|
|
238
|
-
const list = this.listContainer.nativeElement;
|
|
239
|
-
const fn = (s) => list.querySelector(s);
|
|
240
|
-
const itemDiv = fn(`.ax-list-item.ax-state-selected`) || fn(`.ax-list-item`);
|
|
241
|
-
if (itemDiv) {
|
|
242
|
-
this._focusItemElement(itemDiv);
|
|
243
|
-
}
|
|
244
|
-
});
|
|
245
|
-
}
|
|
246
|
-
_focusItemElement(el) {
|
|
247
|
-
this._zone.runOutsideAngular(() => {
|
|
248
|
-
const list = this.listContainer.nativeElement;
|
|
249
|
-
list.querySelectorAll('.ax-list-item').forEach(c => {
|
|
250
|
-
if (c == el) {
|
|
251
|
-
c.classList.add('ax-state-focus');
|
|
252
|
-
el.scrollIntoView({ behavior: 'auto' });
|
|
253
|
-
}
|
|
254
|
-
else {
|
|
255
|
-
c.classList.remove('ax-state-focus');
|
|
256
|
-
}
|
|
257
|
-
});
|
|
258
|
-
if (!this._isMobile && this._searchBox)
|
|
259
|
-
this._searchBox.focus();
|
|
260
|
-
else
|
|
261
|
-
el.focus();
|
|
262
|
-
});
|
|
263
|
-
}
|
|
264
|
-
_selectedItemByNav(sign) {
|
|
265
|
-
const last = _.last(this.selectedItems);
|
|
266
|
-
let i = 0;
|
|
267
|
-
if (last) {
|
|
268
|
-
i = _.findLastIndex(this.flatItems, [this.valueField, last[this.valueField]]);
|
|
269
|
-
}
|
|
270
|
-
i += sign;
|
|
271
|
-
let next = _.nth(this.flatItems, i);
|
|
272
|
-
while (next?.children && next?.children.length) {
|
|
273
|
-
i += sign;
|
|
274
|
-
next = _.nth(this.flatItems, i);
|
|
275
|
-
}
|
|
276
|
-
if (next) {
|
|
277
|
-
this.selectItems(next);
|
|
278
|
-
}
|
|
279
|
-
else if (next == null && sign == 1) {
|
|
280
|
-
this._fetchData();
|
|
281
|
-
}
|
|
282
|
-
}
|
|
283
|
-
_onSearchExprChanged(e) {
|
|
284
|
-
this.empty();
|
|
285
|
-
this._forceFocus = true;
|
|
286
|
-
this._fetchData();
|
|
287
|
-
}
|
|
288
|
-
search(exp) {
|
|
289
|
-
debugger;
|
|
290
|
-
this.empty();
|
|
291
|
-
this._forceFocus = true;
|
|
292
|
-
this._fetchData();
|
|
293
|
-
}
|
|
294
|
-
_fetchData() {
|
|
295
|
-
super._fetchData({ searchQuery: this._searchBox?.searchExp });
|
|
296
|
-
}
|
|
297
67
|
}
|
|
298
68
|
AXColorPickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AXColorPickerComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i1.AXPlatform }], target: i0.ɵɵFactoryTarget.Component });
|
|
299
|
-
AXColorPickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: AXColorPickerComponent, selector: "ax-color-picker", inputs: { isOpen: "isOpen", fitParent: "fitParent", dropdownWidth: "dropdownWidth", position: "position", disabled: "disabled", tabIndex: "tabIndex", readonly: "readonly", allowNull: "allowNull", value: "value", debounceTime: "debounceTime", name: "name", checked: "checked", placeholder: "placeholder", maxLength: "maxLength", type: "type", autoComplete: "autoComplete"
|
|
69
|
+
AXColorPickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: AXColorPickerComponent, selector: "ax-color-picker", inputs: { isOpen: "isOpen", fitParent: "fitParent", dropdownWidth: "dropdownWidth", position: "position", disabled: "disabled", tabIndex: "tabIndex", readonly: "readonly", allowNull: "allowNull", value: "value", debounceTime: "debounceTime", name: "name", checked: "checked", placeholder: "placeholder", maxLength: "maxLength", type: "type", autoComplete: "autoComplete" }, outputs: { onOpened: "onOpened", onClosed: "onClosed", onBlur: "onBlur", onFocus: "onFocus", valueChange: "valueChange", onValueChanged: "onValueChanged" }, host: { classAttribute: "ax-editor-container ax-drop-down" }, providers: [
|
|
300
70
|
{ provide: AXClosbaleComponent, useExisting: AXColorPickerComponent }
|
|
301
|
-
],
|
|
71
|
+
], viewQueries: [{ propertyName: "popover", first: true, predicate: AXPopoverComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-prefix\">\r\n</ng-content>\r\n<div class=\"ax-dropdown-content\" [class.ax-state-disabled]=\"disabled\" (click)=\"_handleInputClickEvent($event)\">\r\n <div *ngIf=\"value\" class=\"color-badge\" [ngStyle]=\"{'background-color': value}\"></div>\r\n <div class=\"ax-uppercase\">{{_colorCode}}</div>\r\n</div>\r\n<ax-button color=\"light\" look=\"blank\" (onClick)=\"clear()\" [tabIndex]=\"-1\" *ngIf=\"value && !(disabled || readonly)\">\r\n <ax-icon icon=\"ax-ic ax-ic-close\"></ax-icon>\r\n</ax-button>\r\n<ax-button [disabled]=\"disabled\" [tabIndex]=\"-1\" color=\"light\" look=\"blank\" (onClick)=\"_handleArrowClickEvent($event)\">\r\n <ax-icon #icon icon=\"ax-ic ax-ic-chevron ax-transform ax--rotate-90\"></ax-icon>\r\n</ax-button>\r\n<ng-content select=\"ax-validation-rule\">\r\n</ng-content>\r\n<ng-content select=\"ax-suffix\">\r\n</ng-content>\r\n<ax-popover [target]=\"_target\" [position]=\"position\" [openTrigger]=\"'manual'\" [closeTrigger]=\"'clickout'\"\r\n [adaptivityEnabled]=\"true\" (onOpened)=\"_handlePopupOnOpened($event)\" (onClosed)=\"_handlePopupOnClosed($event)\">\r\n <div class=\"ax-overlay-pane\" tabindex=\"0\" aria-modal=\"true\" cdkTrapFocus\r\n [class.ax-overlay-actionsheet]=\"_isMobile\">\r\n <ax-color-palette [(value)]=\"value\" [(mode)]=\"_mode\">\r\n </ax-color-palette>\r\n </div>\r\n</ax-popover>", components: [{ type: i2.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "tabIndex", "size", "color", "look", "text", "submitBehavior", "cancelBehavior", "toggleable", "selected"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange"] }, { type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { type: i4.AXPopoverComponent, selector: "ax-popover", inputs: ["target", "position", "openTrigger", "closeTrigger", "hasBackdrop", "backdropClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { type: i5.AXColorPalleteComponent, selector: "ax-color-palette", inputs: ["disabled", "tabIndex", "readonly", "allowNull", "value", "debounceTime", "name", "checked", "mode"], outputs: ["onBlur", "onFocus", "valueChange", "onValueChanged", "modeChange"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i7.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
302
72
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AXColorPickerComponent, decorators: [{
|
|
303
73
|
type: Component,
|
|
304
74
|
args: [{ selector: 'ax-color-picker', inputs: [...DROPDOWN_INPUTS, ...INTERACTIVE_INPUTS, ...VALUE_INPUTS, ...TEXTBOX_INPUTS], outputs: [...DROPDOWN_OUTPUT, ...INTERACTIVE_OUTPUT, ...VALUE_OUTPUT, ...TEXTBOX_OUTPUT], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
305
75
|
{ provide: AXClosbaleComponent, useExisting: AXColorPickerComponent }
|
|
306
|
-
], host: { class: 'ax-editor-container ax-drop-down' }, template: "<ng-content select=\"ax-prefix\">\r\n</ng-content>\r\n<div class=\"ax-dropdown-content\" [class.ax-state-disabled]=\"disabled\" (click)=\"_handleInputClickEvent($event)\">\r\n \r\n</div>\r\n<ax-button color=\"light\" look=\"blank\" (onClick)=\"clear()\" [tabIndex]=\"-1\"
|
|
76
|
+
], host: { class: 'ax-editor-container ax-drop-down' }, template: "<ng-content select=\"ax-prefix\">\r\n</ng-content>\r\n<div class=\"ax-dropdown-content\" [class.ax-state-disabled]=\"disabled\" (click)=\"_handleInputClickEvent($event)\">\r\n <div *ngIf=\"value\" class=\"color-badge\" [ngStyle]=\"{'background-color': value}\"></div>\r\n <div class=\"ax-uppercase\">{{_colorCode}}</div>\r\n</div>\r\n<ax-button color=\"light\" look=\"blank\" (onClick)=\"clear()\" [tabIndex]=\"-1\" *ngIf=\"value && !(disabled || readonly)\">\r\n <ax-icon icon=\"ax-ic ax-ic-close\"></ax-icon>\r\n</ax-button>\r\n<ax-button [disabled]=\"disabled\" [tabIndex]=\"-1\" color=\"light\" look=\"blank\" (onClick)=\"_handleArrowClickEvent($event)\">\r\n <ax-icon #icon icon=\"ax-ic ax-ic-chevron ax-transform ax--rotate-90\"></ax-icon>\r\n</ax-button>\r\n<ng-content select=\"ax-validation-rule\">\r\n</ng-content>\r\n<ng-content select=\"ax-suffix\">\r\n</ng-content>\r\n<ax-popover [target]=\"_target\" [position]=\"position\" [openTrigger]=\"'manual'\" [closeTrigger]=\"'clickout'\"\r\n [adaptivityEnabled]=\"true\" (onOpened)=\"_handlePopupOnOpened($event)\" (onClosed)=\"_handlePopupOnClosed($event)\">\r\n <div class=\"ax-overlay-pane\" tabindex=\"0\" aria-modal=\"true\" cdkTrapFocus\r\n [class.ax-overlay-actionsheet]=\"_isMobile\">\r\n <ax-color-palette [(value)]=\"value\" [(mode)]=\"_mode\">\r\n </ax-color-palette>\r\n </div>\r\n</ax-popover>" }]
|
|
307
77
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: i1.AXPlatform }]; }, propDecorators: { popover: [{
|
|
308
78
|
type: ViewChild,
|
|
309
79
|
args: [AXPopoverComponent, { static: true }]
|
|
310
|
-
}], clearButton: [{
|
|
311
|
-
type: Input
|
|
312
|
-
}], checkbox: [{
|
|
313
|
-
type: Input
|
|
314
|
-
}], listContainer: [{
|
|
315
|
-
type: ViewChild,
|
|
316
|
-
args: ['listContainer', { static: true }]
|
|
317
|
-
}], _contentEmptyTemplate: [{
|
|
318
|
-
type: ContentChild,
|
|
319
|
-
args: ['emptyTemplate']
|
|
320
|
-
}], _handleKeydown: [{
|
|
321
|
-
type: HostListener,
|
|
322
|
-
args: ['keydown', ['$event']]
|
|
323
80
|
}] } });
|
|
324
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3NyYy9saWIvY29sb3ItcGlja2VyL2NvbG9yLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL2NvbG9yLXBpY2tlci9jb2xvci1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN4RCxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBRSxZQUFZLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBdUIsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hMLE9BQU8sQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUN2QixPQUFPLEVBQUUsNEJBQTRCLEVBQWdCLG1CQUFtQixFQUE4QyxNQUFNLFNBQVMsQ0FBQztBQUV0SSxPQUFPLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRS9GLE9BQU8sRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDbkYsT0FBTyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxZQUFZLENBQUM7Ozs7Ozs7Ozs7QUFHaEQ7Ozs7R0FJRztBQWFILE1BQU0sT0FBTyxzQkFBdUIsU0FBUSw0QkFBNEI7SUF1Q3BFOztNQUVFO0lBQ0YsWUFDWSxXQUF1QyxFQUN2QyxJQUF1QixFQUN2QixLQUFhLEVBQ2IsU0FB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QUUsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUNsRSxDQUFDOzttSEE3VVEsc0JBQXNCO3VHQUF0QixzQkFBc0IsaXVCQUxwQjtRQUNQLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxzQkFBc0IsRUFBRTtLQUN4RSx1TEFNVSxrQkFBa0Isb01DakNqQywrL0NBNEJjOzJGREVELHNCQUFzQjtrQkFabEMsU0FBUzsrQkFDSSxpQkFBaUIsVUFFbkIsQ0FBQyxHQUFHLGVBQWUsRUFBRSxHQUFHLGtCQUFrQixFQUFFLEdBQUcsWUFBWSxFQUFFLEdBQUcsY0FBYyxDQUFDLFdBQzlFLENBQUMsR0FBRyxlQUFlLEVBQUUsR0FBRyxrQkFBa0IsRUFBRSxHQUFHLFlBQVksRUFBRSxHQUFHLGNBQWMsQ0FBQyxpQkFDekUsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDUCxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLHdCQUF3QixFQUFFO3FCQUN4RSxRQUNLLEVBQUUsS0FBSyxFQUFFLGtDQUFrQyxFQUFFOytLQU1uRCxPQUFPO3NCQUROLFNBQVM7dUJBQUMsa0JBQWtCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQWEvQyxXQUFXO3NCQURWLEtBQUs7Z0JBU04sUUFBUTtzQkFEUCxLQUFLO2dCQUlFLGFBQWE7c0JBRHBCLFNBQVM7dUJBQUMsZUFBZSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJcEMscUJBQXFCO3NCQUQ1QixZQUFZO3VCQUFDLGVBQWU7Z0JBK0c3QixjQUFjO3NCQURiLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQbGF0Zm9ybSwgQVhUcmFuc2xhdG9yIH0gZnJvbSAnQGFjb3JleC9jb3JlJztcclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBJbnB1dCwgTmdab25lLCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xyXG5pbXBvcnQgeyBBWEJhc2VTZWxlY3Rpb25Ecm9wZG93bk1peGluLCBBWENsaWNrRXZlbnQsIEFYQ2xvc2JhbGVDb21wb25lbnQsIEFYU2VhcmNoYWJsZUNvbXBvbmVudCwgQVhWYWx1ZUNoYW5nZWRFdmVudCB9IGZyb20gJy4uL2Jhc2UnO1xyXG5pbXBvcnQgeyBEQVRBTElTVF9JTlBVVFMgfSBmcm9tICcuLi9iYXNlL21peGluL2RhdGFsaXN0LWNvbXBvbmVudC5jbGFzcyc7XHJcbmltcG9ydCB7IERST1BET1dOX0lOUFVUUywgRFJPUERPV05fT1VUUFVUIH0gZnJvbSAnLi4vYmFzZS9taXhpbi9kcm9wZG93bi1taXhpbi5jbGFzcyc7XHJcbmltcG9ydCB7IElOVEVSQUNUSVZFX0lOUFVUUywgSU5URVJBQ1RJVkVfT1VUUFVUIH0gZnJvbSAnLi4vYmFzZS9taXhpbi9pbnRlcmFjdGl2ZS1taXhpbi5jbGFzcyc7XHJcbmltcG9ydCB7IFNFTEVDVElPTl9JTlBVVFMsIFNFTEVDVElPTl9PVVRQVVQgfSBmcm9tICcuLi9iYXNlL21peGluL3NlbGVjdGlvbi1jb21wb25lbnQuY2xhc3MnO1xyXG5pbXBvcnQgeyBURVhUQk9YX0lOUFVUUywgVEVYVEJPWF9PVVRQVVQgfSBmcm9tICcuLi9iYXNlL21peGluL3RleHRib3gtbWl4aW4uY2xhc3MnO1xyXG5pbXBvcnQgeyBWQUxVRV9JTlBVVFMsIFZBTFVFX09VVFBVVCB9IGZyb20gJy4uL2Jhc2UvbWl4aW4vdmFsdWUtbWl4aW4uY2xhc3MnO1xyXG5pbXBvcnQgeyBBWFBvcG92ZXJDb21wb25lbnQgfSBmcm9tICcuLi9wb3BvdmVyJztcclxuaW1wb3J0IHsgQVhTZWFyY2hCb3hDb21wb25lbnQgfSBmcm9tICcuLi9zZWFyY2hib3gnO1xyXG5cclxuLyoqXHJcbiAqIFRoZSBCdXR0b24gaXMgYSBjb21wb25lbnQgd2hpY2ggZGV0ZWN0cyB1c2VyIGludGVyYWN0aW9uIGFuZCB0cmlnZ2VycyBhIGNvcnJlc3BvbmRpbmcgZXZlbnRcclxuICpcclxuICogQGNhdGVnb3J5IENvbXBvbmVudHNcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdheC1jb2xvci1waWNrZXInLFxyXG4gICAgdGVtcGxhdGVVcmw6ICdjb2xvci1waWNrZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgaW5wdXRzOiBbLi4uRFJPUERPV05fSU5QVVRTLCAuLi5JTlRFUkFDVElWRV9JTlBVVFMsIC4uLlZBTFVFX0lOUFVUUywgLi4uVEVYVEJPWF9JTlBVVFNdLFxyXG4gICAgb3V0cHV0czogWy4uLkRST1BET1dOX09VVFBVVCwgLi4uSU5URVJBQ1RJVkVfT1VUUFVULCAuLi5WQUxVRV9PVVRQVVQsIC4uLlRFWFRCT1hfT1VUUFVUXSxcclxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIHsgcHJvdmlkZTogQVhDbG9zYmFsZUNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYQ29sb3JQaWNrZXJDb21wb25lbnQgfVxyXG4gICAgXSxcclxuICAgIGhvc3Q6IHsgY2xhc3M6ICdheC1lZGl0b3ItY29udGFpbmVyIGF4LWRyb3AtZG93bicgfVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhDb2xvclBpY2tlckNvbXBvbmVudCBleHRlbmRzIEFYQmFzZVNlbGVjdGlvbkRyb3Bkb3duTWl4aW4ge1xyXG5cclxuXHJcbiAgICBAVmlld0NoaWxkKEFYUG9wb3ZlckNvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSlcclxuICAgIHBvcG92ZXI6IEFYUG9wb3ZlckNvbXBvbmVudDtcclxuXHJcblxyXG4gICAgX3RhcmdldDogSFRNTERpdkVsZW1lbnQ7XHJcbiAgICBfcG9wb3ZlclRpdGxlOiBzdHJpbmc7XHJcbiAgICBfcG9wb3ZlcldpZHRoOiBudW1iZXI7XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogIERlZmluZXMgdGhlIGNsZWFyQnV0dG9uLlxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgY2xlYXJCdXR0b246IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogIERlZmluZXMgdGhlIGNoZWNrYm94LlxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgY2hlY2tib3g6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBAVmlld0NoaWxkKCdsaXN0Q29udGFpbmVyJywgeyBzdGF0aWM6IHRydWUgfSlcclxuICAgIHByaXZhdGUgbGlzdENvbnRhaW5lcjogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XHJcblxyXG4gICAgQENvbnRlbnRDaGlsZCgnZW1wdHlUZW1wbGF0ZScpXHJcbiAgICBwcml2YXRlIF9jb250ZW50RW1wdHlUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcblxyXG4gICAgZ2V0IGVtcHR5VGVtcGxhdGUoKTogVGVtcGxhdGVSZWY8YW55PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbnRlbnRFbXB0eVRlbXBsYXRlO1xyXG4gICAgfVxyXG5cclxuICAgIF9pc01vYmlsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgX2ZvcmNlRm9jdXM6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIC8qKlxyXG4gICAgKiAgQGlnbm9yZVxyXG4gICAgKi9cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+LFxyXG4gICAgICAgIHByaXZhdGUgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICAgICAgcHJpdmF0ZSBfem9uZTogTmdab25lLFxyXG4gICAgICAgIHByaXZhdGUgX3BsYXRmb3JtOiBBWFBsYXRmb3JtLFxyXG4gICAgKSB7XHJcbiAgICAgICAgc3VwZXIoX2VsZW1lbnRSZWYsIF9jZHIpO1xyXG4gICAgICAgIHRoaXMuX2lzTW9iaWxlID0gdGhpcy5fcGxhdGZvcm0uaXMoJ01vYmlsZScpO1xyXG4gICAgICAgIHRoaXMuX3BsYXRmb3JtLnJlc2l6ZS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLl9pc01vYmlsZSA9IHRoaXMuX3BsYXRmb3JtLmlzKCdNb2JpbGUnKTtcclxuICAgICAgICAgICAgdGhpcy5wb3BvdmVyLmRpc3Bvc2UoKTtcclxuICAgICAgICAgICAgdGhpcy5fcG9wb3ZlcldpZHRoID0gdGhpcy5faXNNb2JpbGUgPyBudWxsIDogdGhpcy5fdGFyZ2V0Lm9mZnNldFdpZHRoO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIF9oYW5kbGVBcnJvd0NsaWNrRXZlbnQoZTogQVhDbGlja0V2ZW50KSB7XHJcbiAgICAgICAgZS5uYXRpdmVFdmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgICB0aGlzLnRvZ2dsZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIF9oYW5kbGVJbnB1dENsaWNrRXZlbnQoZTogTW91c2VFdmVudCkge1xyXG4gICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgICAgdGhpcy50b2dnbGUoKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgb25Jbml0KCkge1xyXG4gICAgICAgIHN1cGVyLm9uSW5pdCgpO1xyXG4gICAgICAgIHRoaXMuX3RhcmdldCA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcclxuXHJcbiAgICAgICAgdGhpcy5fcG9wb3ZlclRpdGxlID0gdGhpcy5wbGFjZWhvbGRlciB8fCBBWFRyYW5zbGF0b3IuZ2V0KCdzZWxlY3Rib3gucG9wb3Zlci50aXRsZScpXHJcbiAgICB9XHJcblxyXG4gICAgb25WaWV3SW5pdCgpIHtcclxuICAgICAgICBzdXBlci5vblZpZXdJbml0KCk7XHJcbiAgICAgICAgdGhpcy5fcG9wb3ZlcldpZHRoID0gdGhpcy5faXNNb2JpbGUgPyBudWxsIDogdGhpcy5fdGFyZ2V0Lm9mZnNldFdpZHRoO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICByZWZyZXNoKCkge1xyXG4gICAgICAgIHRoaXMudmFsdWUgPSBudWxsO1xyXG4gICAgICAgIHN1cGVyLnJlZnJlc2goKTtcclxuICAgIH1cclxuXHJcbiAgICBfaGFuZGxlT25JdGVtQ2xpY2soZTogTW91c2VFdmVudCwgaXRlbTogYW55KSB7XHJcbiAgICAgICAgaWYgKHRoaXMuaXNJdGVtRGlzYWJsZWQoaXRlbSkpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoIXRoaXMubXVsdGlwbGUpXHJcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcclxuICAgICAgICB0aGlzLnRvZ2dsZVNlbGVjdChpdGVtKTtcclxuICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG5cclxuICAgIF9oYW5kbGVMaXN0U2Nyb2xsKGU6IEV2ZW50KSB7XHJcbiAgICAgICAgY29uc3QgbGlzdCA9IGUudGFyZ2V0IGFzIEhUTUxEaXZFbGVtZW50O1xyXG4gICAgICAgIGlmICgobGlzdC5zY3JvbGxUb3AgPCBsaXN0LnNjcm9sbEhlaWdodCAtIGxpc3QuY2xpZW50SGVpZ2h0KSkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuX2ZldGNoRGF0YSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX2NoZWNrRm9yTG9hZERhdGEoKSB7XHJcbiAgICAgICAgY29uc3QgbGlzdCA9IHRoaXMubGlzdENvbnRhaW5lci5uYXRpdmVFbGVtZW50O1xyXG4gICAgICAgIGlmICh0aGlzLmxvYWRlZENvdW50IDwgdGhpcy50b3RhbENvdW50ICYmIGxpc3Quc2Nyb2xsSGVpZ2h0IDwgKChsaXN0LnBhcmVudEVsZW1lbnQuY2xpZW50SGVpZ2h0KSAqIDEuNSkpIHtcclxuICAgICAgICAgICAgdGhpcy5fZmV0Y2hEYXRhKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIF9vbkRhdGFMb2FkZWQoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMucG9wb3Zlci5pc09wZW4pIHtcclxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9jaGVja0ZvckxvYWREYXRhKCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnBvcG92ZXIudXBkYXRlUG9zaXRpb24oKTtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLl9mb3JjZUZvY3VzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fZm9jdXNTZWxlY3RlZEl0ZW0oKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9mb3JjZUZvY3VzID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0sIDEwMCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIF9vblZhbHVlQ2hhbmdlZChvbGRWYWx1ZTogYW55LCBuZXdWYWx1ZTogYW55KSB7XHJcbiAgICAgICAgc3VwZXIuX29uVmFsdWVDaGFuZ2VkKG9sZFZhbHVlLCBuZXdWYWx1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgX2hhbmRsZU9uUmVtb3ZlSXRlbUNsaWNrKGU6IE1vdXNlRXZlbnQsIGl0ZW06IGFueSkge1xyXG4gICAgICAgIHRoaXMudW5zZWxlY3RJdGVtcyhpdGVtKVxyXG4gICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB9XHJcblxyXG4gICAgX2hhbmRsZUJhZGdlUmVtb3ZlKGU6IE1vdXNlRXZlbnQsIGl0ZW0pIHtcclxuICAgICAgICB0aGlzLnVuc2VsZWN0SXRlbXMoaXRlbSlcclxuICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpXHJcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxyXG4gICAgX2hhbmRsZUtleWRvd24oZTogS2V5Ym9hcmRFdmVudCkge1xyXG4gICAgICAgIGNvbnN0IGlzTGV0dGVyID0gbmV3IFJlZ0V4cCgvW2EtekEtWjAtOVxcLV0vKS50ZXN0KFN0cmluZy5mcm9tQ2hhckNvZGUoZS5rZXlDb2RlKSk7XHJcbiAgICAgICAgaWYgKGUuY29kZSA9PT0gJ0JhY2tzcGFjZScgJiYgZS50eXBlID09PSAna2V5ZG93bicgJiZcclxuICAgICAgICAgICAgKCh0aGlzLmFsbG93TnVsbCA9PT0gdHJ1ZSAmJiB0aGlzLnNlbGVjdGVkSXRlbXMubGVuZ3RoID4gMCkgfHxcclxuICAgICAgICAgICAgICAgICh0aGlzLmFsbG93TnVsbCAhPT0gdHJ1ZSAmJiB0aGlzLnNlbGVjdGVkSXRlbXMubGVuZ3RoID4gMSkpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaXNVc2VySW5wdXQgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLnVuc2VsZWN0SXRlbXModGhpcy5zZWxlY3RlZEl0ZW1zLnBvcCgpKTtcclxuICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKChlLmNvZGUgPT09ICdBcnJvd0Rvd24nIHx8IGUuY29kZSA9PT0gJ0Fycm93VXAnIHx8IGUuY29kZSA9PT0gJ1NwYWNlJykgJiYgIXRoaXMucG9wb3Zlci5pc09wZW4gJiYgZS50eXBlID09PSAna2V5ZG93bicpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMub3BlbigpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pc1VzZXJJbnB1dCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICBpZiAoZS5jdHJsS2V5IHx8IGUuY29kZSA9PT0gJ1NwYWNlJykge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMub3BlbigpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWRJdGVtQnlOYXYoKGUua2V5ID09PSAnQXJyb3dEb3duJyA/IDEgOiAtMSkpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpc0xldHRlcikge1xyXG4gICAgICAgICAgICB0aGlzLnRleHQgPSBlLmtleTtcclxuICAgICAgICAgICAgdGhpcy5vcGVuKCk7XHJcbiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgX2hhbmRsZVBvcG92ZXJLZXlkb3duKGU6IEtleWJvYXJkRXZlbnQpIHtcclxuICAgICAgICBpZiAoKGUudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS50YWdOYW1lID09IFwiSU5QVVRcIiAmJiBbJ1NwYWNlJywgJ0JhY2tzcGFjZSddLmluY2x1ZGVzKGUuY29kZSkpXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICBpZiAoKGUua2V5ID09PSAnQXJyb3dEb3duJyB8fCBlLmtleSA9PT0gJ0Fycm93VXAnKSAmJiB0aGlzLmRpc3BsYXlJdGVtcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaXNVc2VySW5wdXQgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLl9mb2N1c0l0ZW1CeU5hdigoZS5rZXkgPT09ICdBcnJvd0Rvd24nID8gMSA6IC0xKSk7XHJcbiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoZS5jb2RlID09PSAnQmFja3NwYWNlJyAmJlxyXG4gICAgICAgICAgICAoKHRoaXMuYWxsb3dOdWxsID09PSB0cnVlICYmIHRoaXMuc2VsZWN0ZWRJdGVtcy5sZW5ndGggPiAwKSB8fFxyXG4gICAgICAgICAgICAgICAgKHRoaXMuYWxsb3dOdWxsICE9PSB0cnVlICYmIHRoaXMuc2VsZWN0ZWRJdGVtcy5sZW5ndGggPiAxKSkpIHtcclxuICAgICAgICAgICAgdGhpcy5pc1VzZXJJbnB1dCA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMudW5zZWxlY3RJdGVtcyh0aGlzLnNlbGVjdGVkSXRlbXMucG9wKCkpO1xyXG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKChlLmNvZGUgPT09ICdTcGFjZScgfHwgZS5jb2RlID09PSAnRW50ZXInKSkge1xyXG4gICAgICAgICAgICBkZWJ1Z2dlcjtcclxuICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgICBjb25zdCBmb2N1c2VkSXRlbUlkID0gdGhpcy5saXN0Q29udGFpbmVyLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcjxIVE1MRWxlbWVudD4oJy5heC1zdGF0ZS1mb2N1cycpPy5kYXRhc2V0Py5pZDtcclxuICAgICAgICAgICAgY29uc3QgZm9jdXNlZEl0ZW0gPSBfLmZpbmRMYXN0KHRoaXMuZmxhdEl0ZW1zLCBbdGhpcy52YWx1ZUZpZWxkLCBmb2N1c2VkSXRlbUlkXSk7XHJcbiAgICAgICAgICAgIGlmIChmb2N1c2VkSXRlbSkge1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNJdGVtRGlzYWJsZWQoZm9jdXNlZEl0ZW0pKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzVXNlcklucHV0ID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRvZ2dsZVNlbGVjdChmb2N1c2VkSXRlbSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzVXNlcklucHV0ID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdEl0ZW1zKGZvY3VzZWRJdGVtKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNsb3NlKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoZS5jb2RlID09PSBcIlRhYlwiKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcclxuICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChlLmtleSA9PT0gJ0VzY2FwZScpIHtcclxuICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xyXG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIF9oYW5kbGVQb3B1cE9uT3BlbmVkKGUpIHtcclxuICAgICAgICB0aGlzLnBvcG92ZXIuZm9jdXMoKTtcclxuICAgICAgICBpZiAodGhpcy5kaXNwbGF5SXRlbXMubGVuZ3RoID09IDApIHtcclxuICAgICAgICAgICAgdGhpcy5fZm9yY2VGb2N1cyA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuX2ZldGNoRGF0YSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5fZm9jdXNTZWxlY3RlZEl0ZW0oKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZGVidWdnZXJcclxuICAgICAgICBpZiAodGhpcy5fc2VhcmNoQm94ICYmICF0aGlzLl9pc01vYmlsZSkge1xyXG4gICAgICAgICAgICB0aGlzLl9zZWFyY2hCb3guZm9jdXMoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgX2hhbmRsZVBvcHVwT25DbG9zZWQoZSkge1xyXG4gICAgICAgIHRoaXMuZm9jdXMoKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgcHJpdmF0ZSBfZm9jdXNJdGVtQnlOYXYoc2lnbjogLTEgfCAxKTogdm9pZCB7XHJcblxyXG4gICAgICAgIGNvbnN0IGxpc3QgPSB0aGlzLmxpc3RDb250YWluZXIubmF0aXZlRWxlbWVudDtcclxuICAgICAgICBjb25zdCBmbiA9IChzKSA9PiBsaXN0LnF1ZXJ5U2VsZWN0b3I8SFRNTEVsZW1lbnQ+KHMpO1xyXG4gICAgICAgIGNvbnN0IGl0ZW1EaXYgPSBmbihgLmF4LWxpc3QtaXRlbS5heC1zdGF0ZS1mb2N1c2ApIHx8IGZuKGAuYXgtbGlzdC1pdGVtLmF4LXN0YXRlLXNlbGVjdGVkYCkgfHwgZm4oYC5heC1saXN0LWl0ZW1gKTtcclxuICAgICAgICBsZXQgbmV4dCA9IChzaWduID09IDEgPyBpdGVtRGl2Lm5leHRFbGVtZW50U2libGluZyA6IGl0ZW1EaXYucHJldmlvdXNFbGVtZW50U2libGluZykgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICAgICAgaWYgKG5leHQpIHtcclxuICAgICAgICAgICAgdGhpcy5fZm9jdXNJdGVtRWxlbWVudChuZXh0KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHBhcmVudCA9IGl0ZW1EaXYuY2xvc2VzdCgnLmF4LWxpc3QtaXRlbS1ncm91cCcpO1xyXG4gICAgICAgICAgICBpZiAocGFyZW50KSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBsaXMgPSAoc2lnbiA9PSAxID8gcGFyZW50Lm5leHRFbGVtZW50U2libGluZyA6IHBhcmVudC5wcmV2aW91c0VsZW1lbnRTaWJsaW5nKT8ucXVlcnlTZWxlY3RvckFsbCgnbGknKTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGEgPSBzaWduID09IDEgPyBfLmZpcnN0KGxpcykgOiBfLmxhc3QobGlzKTtcclxuICAgICAgICAgICAgICAgIGlmIChhKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fZm9jdXNJdGVtRWxlbWVudChhKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgcHJpdmF0ZSBfZm9jdXNTZWxlY3RlZEl0ZW0oKSB7XHJcbiAgICAgICAgdGhpcy5fem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGxpc3QgPSB0aGlzLmxpc3RDb250YWluZXIubmF0aXZlRWxlbWVudDtcclxuICAgICAgICAgICAgY29uc3QgZm4gPSAocykgPT4gbGlzdC5xdWVyeVNlbGVjdG9yPEhUTUxFbGVtZW50PihzKTtcclxuICAgICAgICAgICAgY29uc3QgaXRlbURpdiA9IGZuKGAuYXgtbGlzdC1pdGVtLmF4LXN0YXRlLXNlbGVjdGVkYCkgfHwgZm4oYC5heC1saXN0LWl0ZW1gKTtcclxuICAgICAgICAgICAgaWYgKGl0ZW1EaXYpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2ZvY3VzSXRlbUVsZW1lbnQoaXRlbURpdik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9mb2N1c0l0ZW1FbGVtZW50KGVsOiBIVE1MRWxlbWVudCkge1xyXG4gICAgICAgIHRoaXMuX3pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBsaXN0ID0gdGhpcy5saXN0Q29udGFpbmVyLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICAgICAgICAgIGxpc3QucXVlcnlTZWxlY3RvckFsbCgnLmF4LWxpc3QtaXRlbScpLmZvckVhY2goYyA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoYyA9PSBlbCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGMuY2xhc3NMaXN0LmFkZCgnYXgtc3RhdGUtZm9jdXMnKTtcclxuICAgICAgICAgICAgICAgICAgICBlbC5zY3JvbGxJbnRvVmlldyh7IGJlaGF2aW9yOiAnYXV0bycgfSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBjLmNsYXNzTGlzdC5yZW1vdmUoJ2F4LXN0YXRlLWZvY3VzJyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICBpZiAoIXRoaXMuX2lzTW9iaWxlICYmIHRoaXMuX3NlYXJjaEJveClcclxuICAgICAgICAgICAgICAgIHRoaXMuX3NlYXJjaEJveC5mb2N1cygpXHJcbiAgICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgICAgIGVsLmZvY3VzKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHByaXZhdGUgX3NlbGVjdGVkSXRlbUJ5TmF2KHNpZ246IC0xIHwgMSk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGxhc3QgPSBfLmxhc3QodGhpcy5zZWxlY3RlZEl0ZW1zKTtcclxuICAgICAgICBsZXQgaSA9IDA7XHJcbiAgICAgICAgaWYgKGxhc3QpIHtcclxuICAgICAgICAgICAgaSA9IF8uZmluZExhc3RJbmRleCh0aGlzLmZsYXRJdGVtcywgW3RoaXMudmFsdWVGaWVsZCwgbGFzdFt0aGlzLnZhbHVlRmllbGRdXSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGkgKz0gc2lnbjtcclxuICAgICAgICBsZXQgbmV4dCA9IF8ubnRoPGFueT4odGhpcy5mbGF0SXRlbXMsIGkpO1xyXG4gICAgICAgIHdoaWxlIChuZXh0Py5jaGlsZHJlbiAmJiBuZXh0Py5jaGlsZHJlbi5sZW5ndGgpIHtcclxuICAgICAgICAgICAgaSArPSBzaWduO1xyXG4gICAgICAgICAgICBuZXh0ID0gXy5udGg8YW55Pih0aGlzLmZsYXRJdGVtcywgaSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChuZXh0KSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0SXRlbXMobmV4dCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKG5leHQgPT0gbnVsbCAmJiBzaWduID09IDEpIHtcclxuICAgICAgICAgICAgdGhpcy5fZmV0Y2hEYXRhKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICBfb25TZWFyY2hFeHByQ2hhbmdlZChlOiBBWFZhbHVlQ2hhbmdlZEV2ZW50PHN0cmluZz4pIHtcclxuICAgICAgICB0aGlzLmVtcHR5KCk7XHJcbiAgICAgICAgdGhpcy5fZm9yY2VGb2N1cyA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5fZmV0Y2hEYXRhKCk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHNlYXJjaChleHA6c3RyaW5nKVxyXG4gICAge1xyXG4gICAgICAgIGRlYnVnZ2VyO1xyXG4gICAgICAgIHRoaXMuZW1wdHkoKTtcclxuICAgICAgICB0aGlzLl9mb3JjZUZvY3VzID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLl9mZXRjaERhdGEoKTtcclxuICAgIH1cclxuXHJcbiAgICBfZmV0Y2hEYXRhKCkge1xyXG4gICAgICAgIHN1cGVyLl9mZXRjaERhdGEoeyBzZWFyY2hRdWVyeTogdGhpcy5fc2VhcmNoQm94Py5zZWFyY2hFeHAgfSk7XHJcbiAgICB9XHJcbn0iLCI8bmctY29udGVudCBzZWxlY3Q9XCJheC1wcmVmaXhcIj5cclxuPC9uZy1jb250ZW50PlxyXG48ZGl2IGNsYXNzPVwiYXgtZHJvcGRvd24tY29udGVudFwiIFtjbGFzcy5heC1zdGF0ZS1kaXNhYmxlZF09XCJkaXNhYmxlZFwiIChjbGljayk9XCJfaGFuZGxlSW5wdXRDbGlja0V2ZW50KCRldmVudClcIj5cclxuICAgIFxyXG48L2Rpdj5cclxuPGF4LWJ1dHRvbiBjb2xvcj1cImxpZ2h0XCIgbG9vaz1cImJsYW5rXCIgKG9uQ2xpY2spPVwiY2xlYXIoKVwiIFt0YWJJbmRleF09XCItMVwiXHJcbiAgICAqbmdJZj1cInZhbHVlICYmIGNsZWFyQnV0dG9uICYmICAhKGRpc2FibGVkIHx8IHJlYWRvbmx5KVwiPlxyXG4gICAgPGF4LWljb24gaWNvbj1cImF4LWljIGF4LWljLWNsb3NlXCI+PC9heC1pY29uPlxyXG48L2F4LWJ1dHRvbj5cclxuPGF4LWJ1dHRvbiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbdGFiSW5kZXhdPVwiLTFcIiBjb2xvcj1cImxpZ2h0XCIgbG9vaz1cImJsYW5rXCIgKG9uQ2xpY2spPVwiX2hhbmRsZUFycm93Q2xpY2tFdmVudCgkZXZlbnQpXCI+XHJcbiAgICA8YXgtcHJlZml4ICpuZ0lmPVwiKGlzTG9hZGluZyAmJiAhdGhpcy5wb3BvdmVyLmlzT3Blbik7ZWxzZSBpY29uXCI+XHJcbiAgICAgICAgPGF4LWxvYWRpbmcgdHlwZT1cInNwaW5uZXJcIj48L2F4LWxvYWRpbmc+XHJcbiAgICA8L2F4LXByZWZpeD5cclxuICAgIDxuZy10ZW1wbGF0ZSAjaWNvbj5cclxuICAgICAgICA8YXgtaWNvbiAjaWNvbiBpY29uPVwiYXgtaWMgYXgtaWMtY2hldnJvbiBheC10cmFuc2Zvcm0gYXgtLXJvdGF0ZS05MFwiPjwvYXgtaWNvbj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbjwvYXgtYnV0dG9uPlxyXG48bmctY29udGVudCBzZWxlY3Q9XCJheC12YWxpZGF0aW9uLXJ1bGVcIj5cclxuPC9uZy1jb250ZW50PlxyXG48bmctY29udGVudCBzZWxlY3Q9XCJheC1zdWZmaXhcIj5cclxuPC9uZy1jb250ZW50PlxyXG48YXgtcG9wb3ZlciBbdGFyZ2V0XT1cIl90YXJnZXRcIiBbcG9zaXRpb25dPVwicG9zaXRpb25cIiBbb3BlblRyaWdnZXJdPVwiJ21hbnVhbCdcIiBbY2xvc2VUcmlnZ2VyXT1cIidjbGlja291dCdcIiBbYWRhcHRpdml0eUVuYWJsZWRdPVwidHJ1ZVwiXHJcbiAgICAob25PcGVuZWQpPVwiX2hhbmRsZVBvcHVwT25PcGVuZWQoJGV2ZW50KVwiIChvbkNsb3NlZCk9XCJfaGFuZGxlUG9wdXBPbkNsb3NlZCgkZXZlbnQpXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYXgtb3ZlcmxheS1wYW5lIFwiIChrZXlkb3duKT1cIl9oYW5kbGVQb3BvdmVyS2V5ZG93bigkZXZlbnQpXCIgdGFiaW5kZXg9XCIwXCIgYXJpYS1tb2RhbD1cInRydWVcIiBjZGtUcmFwRm9jdXNcclxuICAgICAgICBbY2xhc3MuYXgtb3ZlcmxheS1hY3Rpb25zaGVldF09XCJfaXNNb2JpbGVcIiBbY2xhc3MuYXgtZnVsbF09XCJfc2VhcmNoQm94IHx8ICBpc0xhenlcIlxyXG4gICAgICAgIFtzdHlsZS5taW4td2lkdGgucHhdPVwiX3BvcG92ZXJXaWR0aFwiPlxyXG4gICAgICAgXHJcbiAgICA8L2Rpdj5cclxuPC9heC1wb3BvdmVyPiAiXX0=
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL3NyYy9saWIvY29sb3ItcGlja2VyL2NvbG9yLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9zcmMvbGliL2NvbG9yLXBpY2tlci9jb2xvci1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFlLFdBQVcsRUFBYyxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDbEYsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQXNFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV4TCxPQUFPLEVBQUUsZUFBZSxFQUFnQixtQkFBbUIsRUFBOEMsTUFBTSxTQUFTLENBQUM7QUFDekgsT0FBTyxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNoSCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM1SCxPQUFPLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzVHLE9BQU8sRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDcEcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sWUFBWSxDQUFDOzs7Ozs7Ozs7QUFFaEQsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQy9CLDJCQUEyQixDQUN2Qix3QkFBd0IsQ0FDcEIscUJBQXFCLENBQ2pCLHVCQUF1QixDQUFDLGVBQWUsQ0FBQyxDQUMzQyxDQUNKLENBQ0osQ0FBQztBQUdOOzs7O0dBSUc7QUFhSCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsc0JBQXNCO0lBZ0I5RDs7TUFFRTtJQUNGLFlBQ2MsV0FBdUMsRUFDakQsSUFBdUIsRUFDZixLQUFhLEVBQ2IsU0FBcUI7UUFFN0IsS0FBSyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUxmLGdCQUFXLEdBQVgsV0FBVyxDQUE0QjtRQUV6QyxVQUFLLEdBQUwsS0FBSyxDQUFRO1FBQ2IsY0FBUyxHQUFULFNBQVMsQ0FBWTtRQVpqQyxVQUFLLEdBQWdCLEtBQUssQ0FBQztRQUkzQixjQUFTLEdBQVksS0FBSyxDQUFDO1FBV3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDN0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNqQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzdDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDO1FBQzFFLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELHNCQUFzQixDQUFDLENBQWU7UUFDbEMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUNoQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDbEIsQ0FBQztJQUVELHNCQUFzQixDQUFDLENBQWE7UUFDaEMsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBR0QsTUFBTTtRQUNGLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNmLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUM7UUFFOUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsV0FBVyxJQUFJLFlBQVksQ0FBQyxHQUFHLENBQUMseUJBQXlCLENBQUMsQ0FBQTtJQUN4RixDQUFDO0lBRUQsVUFBVTtRQUNOLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7SUFDMUUsQ0FBQztJQUVELGVBQWUsQ0FBQyxRQUFhLEVBQUUsUUFBYTtRQUN4QyxLQUFLLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsVUFBVSxHQUFHLFdBQVcsQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUMxRCxDQUFDO0lBRUQsS0FBSyxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFFNUIsQ0FBQztJQUVELG9CQUFvQixDQUFDLENBQUM7UUFDbEIsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2pCLENBQUM7O21IQXBFUSxzQkFBc0I7dUdBQXRCLHNCQUFzQiwybkJBTHBCO1FBQ1AsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLHNCQUFzQixFQUFFO0tBQ3hFLG1FQU1VLGtCQUFrQixxRkN4Q2pDLGk0Q0F1QmE7MkZEY0Esc0JBQXNCO2tCQVpsQyxTQUFTOytCQUNJLGlCQUFpQixVQUVuQixDQUFDLEdBQUcsZUFBZSxFQUFFLEdBQUcsa0JBQWtCLEVBQUUsR0FBRyxZQUFZLEVBQUUsR0FBRyxjQUFjLENBQUMsV0FDOUUsQ0FBQyxHQUFHLGVBQWUsRUFBRSxHQUFHLGtCQUFrQixFQUFFLEdBQUcsWUFBWSxFQUFFLEdBQUcsY0FBYyxDQUFDLGlCQUN6RSxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDO3dCQUNQLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsd0JBQXdCLEVBQUU7cUJBQ3hFLFFBQ0ssRUFBRSxLQUFLLEVBQUUsa0NBQWtDLEVBQUU7K0tBTW5ELE9BQU87c0JBRE4sU0FBUzt1QkFBQyxrQkFBa0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWENvbG9yTW9kZSwgQVhDb2xvclV0aWwsIEFYUGxhdGZvcm0sIEFYVHJhbnNsYXRvciB9IGZyb20gJ0BhY29yZXgvY29yZSc7XHJcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE5nWm9uZSwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcclxuaW1wb3J0IHsgQVhCYXNlQ29tcG9uZW50LCBBWENsaWNrRXZlbnQsIEFYQ2xvc2JhbGVDb21wb25lbnQsIEFYU2VhcmNoYWJsZUNvbXBvbmVudCwgQVhWYWx1ZUNoYW5nZWRFdmVudCB9IGZyb20gJy4uL2Jhc2UnO1xyXG5pbXBvcnQgeyBEUk9QRE9XTl9JTlBVVFMsIERST1BET1dOX09VVFBVVCwgX0Ryb3Bkb3duQ29tcG9uZW5ldE1peGluIH0gZnJvbSAnLi4vYmFzZS9taXhpbi9kcm9wZG93bi1taXhpbi5jbGFzcyc7XHJcbmltcG9ydCB7IElOVEVSQUNUSVZFX0lOUFVUUywgSU5URVJBQ1RJVkVfT1VUUFVULCBfSW50ZXJhY3RpdmVDb21wb25lbmV0TWl4aW4gfSBmcm9tICcuLi9iYXNlL21peGluL2ludGVyYWN0aXZlLW1peGluLmNsYXNzJztcclxuaW1wb3J0IHsgVEVYVEJPWF9JTlBVVFMsIFRFWFRCT1hfT1VUUFVULCBfVGV4dGJveENvbXBvbmVuZXRNaXhpbiB9IGZyb20gJy4uL2Jhc2UvbWl4aW4vdGV4dGJveC1taXhpbi5jbGFzcyc7XHJcbmltcG9ydCB7IFZBTFVFX0lOUFVUUywgVkFMVUVfT1VUUFVULCBfVmFsdWVDb21wb25lbmV0TWl4aW4gfSBmcm9tICcuLi9iYXNlL21peGluL3ZhbHVlLW1peGluLmNsYXNzJztcclxuaW1wb3J0IHsgQVhQb3BvdmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vcG9wb3Zlcic7XHJcblxyXG5leHBvcnQgY29uc3QgQVhCYXNlQ29sb3JQaWNrZXJNaXhpbiA9XHJcbiAgICBfSW50ZXJhY3RpdmVDb21wb25lbmV0TWl4aW4oXHJcbiAgICAgICAgX0Ryb3Bkb3duQ29tcG9uZW5ldE1peGluKFxyXG4gICAgICAgICAgICBfVmFsdWVDb21wb25lbmV0TWl4aW4oXHJcbiAgICAgICAgICAgICAgICBfVGV4dGJveENvbXBvbmVuZXRNaXhpbihBWEJhc2VDb21wb25lbnQpXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICApXHJcbiAgICApO1xyXG5cclxuXHJcbi8qKlxyXG4gKiBUaGUgQnV0dG9uIGlzIGEgY29tcG9uZW50IHdoaWNoIGRldGVjdHMgdXNlciBpbnRlcmFjdGlvbiBhbmQgdHJpZ2dlcnMgYSBjb3JyZXNwb25kaW5nIGV2ZW50XHJcbiAqXHJcbiAqIEBjYXRlZ29yeSBDb21wb25lbnRzXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYXgtY29sb3ItcGlja2VyJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnY29sb3ItcGlja2VyLmNvbXBvbmVudC5odG1sJyxcclxuICAgIGlucHV0czogWy4uLkRST1BET1dOX0lOUFVUUywgLi4uSU5URVJBQ1RJVkVfSU5QVVRTLCAuLi5WQUxVRV9JTlBVVFMsIC4uLlRFWFRCT1hfSU5QVVRTXSxcclxuICAgIG91dHB1dHM6IFsuLi5EUk9QRE9XTl9PVVRQVVQsIC4uLklOVEVSQUNUSVZFX09VVFBVVCwgLi4uVkFMVUVfT1VUUFVULCAuLi5URVhUQk9YX09VVFBVVF0sXHJcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICB7IHByb3ZpZGU6IEFYQ2xvc2JhbGVDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWENvbG9yUGlja2VyQ29tcG9uZW50IH1cclxuICAgIF0sXHJcbiAgICBob3N0OiB7IGNsYXNzOiAnYXgtZWRpdG9yLWNvbnRhaW5lciBheC1kcm9wLWRvd24nIH1cclxufSlcclxuZXhwb3J0IGNsYXNzIEFYQ29sb3JQaWNrZXJDb21wb25lbnQgZXh0ZW5kcyBBWEJhc2VDb2xvclBpY2tlck1peGluIHtcclxuXHJcblxyXG4gICAgQFZpZXdDaGlsZChBWFBvcG92ZXJDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pXHJcbiAgICBwb3BvdmVyOiBBWFBvcG92ZXJDb21wb25lbnQ7XHJcblxyXG5cclxuICAgIF90YXJnZXQ6IEhUTUxEaXZFbGVtZW50O1xyXG4gICAgX3BvcG92ZXJUaXRsZTogc3RyaW5nO1xyXG4gICAgX3BvcG92ZXJXaWR0aDogbnVtYmVyO1xyXG4gICAgX2NvbG9yQ29kZTogc3RyaW5nO1xyXG4gICAgX21vZGU6IEFYQ29sb3JNb2RlID0gJ2hleCc7XHJcblxyXG5cclxuXHJcbiAgICBfaXNNb2JpbGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIC8qKlxyXG4gICAgKiAgQGlnbm9yZVxyXG4gICAgKi9cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByb3RlY3RlZCBfZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD4sXHJcbiAgICAgICAgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICAgICAgcHJpdmF0ZSBfem9uZTogTmdab25lLFxyXG4gICAgICAgIHByaXZhdGUgX3BsYXRmb3JtOiBBWFBsYXRmb3JtLFxyXG4gICAgKSB7XHJcbiAgICAgICAgc3VwZXIoX2VsZW1lbnRSZWYsIF9jZHIpO1xyXG4gICAgICAgIHRoaXMuX2lzTW9iaWxlID0gdGhpcy5fcGxhdGZvcm0uaXMoJ01vYmlsZScpO1xyXG4gICAgICAgIHRoaXMuX3BsYXRmb3JtLnJlc2l6ZS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLl9pc01vYmlsZSA9IHRoaXMuX3BsYXRmb3JtLmlzKCdNb2JpbGUnKTtcclxuICAgICAgICAgICAgdGhpcy5wb3BvdmVyLmRpc3Bvc2UoKTtcclxuICAgICAgICAgICAgdGhpcy5fcG9wb3ZlcldpZHRoID0gdGhpcy5faXNNb2JpbGUgPyBudWxsIDogdGhpcy5fdGFyZ2V0Lm9mZnNldFdpZHRoO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIF9oYW5kbGVBcnJvd0NsaWNrRXZlbnQoZTogQVhDbGlja0V2ZW50KSB7XHJcbiAgICAgICAgZS5uYXRpdmVFdmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgICB0aGlzLnRvZ2dsZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIF9oYW5kbGVJbnB1dENsaWNrRXZlbnQoZTogTW91c2VFdmVudCkge1xyXG4gICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgICAgdGhpcy50b2dnbGUoKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgb25Jbml0KCkge1xyXG4gICAgICAgIHN1cGVyLm9uSW5pdCgpO1xyXG4gICAgICAgIHRoaXMuX3RhcmdldCA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcclxuXHJcbiAgICAgICAgdGhpcy5fcG9wb3ZlclRpdGxlID0gdGhpcy5wbGFjZWhvbGRlciB8fCBBWFRyYW5zbGF0b3IuZ2V0KCdzZWxlY3Rib3gucG9wb3Zlci50aXRsZScpXHJcbiAgICB9XHJcblxyXG4gICAgb25WaWV3SW5pdCgpIHtcclxuICAgICAgICBzdXBlci5vblZpZXdJbml0KCk7XHJcbiAgICAgICAgdGhpcy5fcG9wb3ZlcldpZHRoID0gdGhpcy5faXNNb2JpbGUgPyBudWxsIDogdGhpcy5fdGFyZ2V0Lm9mZnNldFdpZHRoO1xyXG4gICAgfVxyXG5cclxuICAgIF9vblZhbHVlQ2hhbmdlZChvbGRWYWx1ZTogYW55LCBuZXdWYWx1ZTogYW55KSB7XHJcbiAgICAgICAgc3VwZXIuX29uVmFsdWVDaGFuZ2VkKG9sZFZhbHVlLCBuZXdWYWx1ZSk7XHJcbiAgICAgICAgdGhpcy5fY29sb3JDb2RlID0gQVhDb2xvclV0aWwudG8obmV3VmFsdWUsIHRoaXMuX21vZGUpXHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgX2hhbmRsZVBvcHVwT25PcGVuZWQoZSkge1xyXG5cclxuICAgIH1cclxuXHJcbiAgICBfaGFuZGxlUG9wdXBPbkNsb3NlZChlKSB7XHJcbiAgICAgICAgdGhpcy5mb2N1cygpO1xyXG4gICAgfVxyXG59IiwiPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtcHJlZml4XCI+XHJcbjwvbmctY29udGVudD5cclxuPGRpdiBjbGFzcz1cImF4LWRyb3Bkb3duLWNvbnRlbnRcIiBbY2xhc3MuYXgtc3RhdGUtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiAoY2xpY2spPVwiX2hhbmRsZUlucHV0Q2xpY2tFdmVudCgkZXZlbnQpXCI+XHJcbiAgICA8ZGl2ICpuZ0lmPVwidmFsdWVcIiBjbGFzcz1cImNvbG9yLWJhZGdlXCIgW25nU3R5bGVdPVwieydiYWNrZ3JvdW5kLWNvbG9yJzogdmFsdWV9XCI+PC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYXgtdXBwZXJjYXNlXCI+e3tfY29sb3JDb2RlfX08L2Rpdj5cclxuPC9kaXY+XHJcbjxheC1idXR0b24gY29sb3I9XCJsaWdodFwiIGxvb2s9XCJibGFua1wiIChvbkNsaWNrKT1cImNsZWFyKClcIiBbdGFiSW5kZXhdPVwiLTFcIiAqbmdJZj1cInZhbHVlICYmICAhKGRpc2FibGVkIHx8IHJlYWRvbmx5KVwiPlxyXG4gICAgPGF4LWljb24gaWNvbj1cImF4LWljIGF4LWljLWNsb3NlXCI+PC9heC1pY29uPlxyXG48L2F4LWJ1dHRvbj5cclxuPGF4LWJ1dHRvbiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbdGFiSW5kZXhdPVwiLTFcIiBjb2xvcj1cImxpZ2h0XCIgbG9vaz1cImJsYW5rXCIgKG9uQ2xpY2spPVwiX2hhbmRsZUFycm93Q2xpY2tFdmVudCgkZXZlbnQpXCI+XHJcbiAgICA8YXgtaWNvbiAjaWNvbiBpY29uPVwiYXgtaWMgYXgtaWMtY2hldnJvbiBheC10cmFuc2Zvcm0gYXgtLXJvdGF0ZS05MFwiPjwvYXgtaWNvbj5cclxuPC9heC1idXR0b24+XHJcbjxuZy1jb250ZW50IHNlbGVjdD1cImF4LXZhbGlkYXRpb24tcnVsZVwiPlxyXG48L25nLWNvbnRlbnQ+XHJcbjxuZy1jb250ZW50IHNlbGVjdD1cImF4LXN1ZmZpeFwiPlxyXG48L25nLWNvbnRlbnQ+XHJcbjxheC1wb3BvdmVyIFt0YXJnZXRdPVwiX3RhcmdldFwiIFtwb3NpdGlvbl09XCJwb3NpdGlvblwiIFtvcGVuVHJpZ2dlcl09XCInbWFudWFsJ1wiIFtjbG9zZVRyaWdnZXJdPVwiJ2NsaWNrb3V0J1wiXHJcbiAgICBbYWRhcHRpdml0eUVuYWJsZWRdPVwidHJ1ZVwiIChvbk9wZW5lZCk9XCJfaGFuZGxlUG9wdXBPbk9wZW5lZCgkZXZlbnQpXCIgKG9uQ2xvc2VkKT1cIl9oYW5kbGVQb3B1cE9uQ2xvc2VkKCRldmVudClcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJheC1vdmVybGF5LXBhbmVcIiB0YWJpbmRleD1cIjBcIiBhcmlhLW1vZGFsPVwidHJ1ZVwiIGNka1RyYXBGb2N1c1xyXG4gICAgICAgIFtjbGFzcy5heC1vdmVybGF5LWFjdGlvbnNoZWV0XT1cIl9pc01vYmlsZVwiPlxyXG4gICAgICAgIDxheC1jb2xvci1wYWxldHRlIFsodmFsdWUpXT1cInZhbHVlXCIgWyhtb2RlKV09XCJfbW9kZVwiPlxyXG4gICAgICAgIDwvYXgtY29sb3ItcGFsZXR0ZT5cclxuICAgIDwvZGl2PlxyXG48L2F4LXBvcG92ZXI+Il19
|