@updevs/components 1.0.0-alpha.47 → 1.0.0-alpha.49
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/README.md +1 -13
- package/calendar/calendar.component.d.ts +58 -122
- package/calendar/models/calendar-date.model.d.ts +10 -0
- package/calendar/models/calendar-month.model.d.ts +7 -0
- package/calendar/models/calendar-selected.model.d.ts +5 -0
- package/calendar/models/calendar-year.model.d.ts +6 -0
- package/calendar/models/date-range.model.d.ts +0 -4
- package/calendar/models/enums/calendar-view.enum.d.ts +5 -0
- package/calendar/models/public-api.d.ts +5 -0
- package/calendar/upd-calendar.module.d.ts +6 -11
- package/card/public-api.d.ts +1 -0
- package/card/types/public-api.d.ts +5 -0
- package/dropdown/dropdown.component.d.ts +3 -0
- package/esm2022/calendar/calendar.component.mjs +288 -217
- package/esm2022/calendar/models/calendar-date.model.mjs +2 -0
- package/esm2022/calendar/models/calendar-month.model.mjs +2 -0
- package/esm2022/calendar/models/calendar-selected.model.mjs +2 -0
- package/esm2022/calendar/models/calendar-year.model.mjs +2 -0
- package/esm2022/calendar/models/date-range.model.mjs +1 -1
- package/esm2022/calendar/models/enums/calendar-view.enum.mjs +7 -0
- package/esm2022/calendar/models/public-api.mjs +6 -1
- package/esm2022/calendar/upd-calendar.module.mjs +2 -20
- package/esm2022/card/public-api.mjs +2 -1
- package/esm2022/card/types/public-api.mjs +6 -0
- package/esm2022/dropdown/dropdown.component.mjs +23 -7
- package/esm2022/form-controls/date-picker/date-picker.component.mjs +45 -60
- package/esm2022/form-controls/input/input.component.mjs +3 -3
- package/esm2022/lib/models/row-column-size.mjs +1 -1
- package/esm2022/lib/tools/column-size.helper.mjs +2 -2
- package/esm2022/popover/popover.directive.mjs +10 -26
- package/esm2022/pricing-cards/index.mjs +2 -0
- package/esm2022/pricing-cards/models/price-item-feature.model.mjs +2 -0
- package/esm2022/pricing-cards/models/price-item-features-group.model.mjs +2 -0
- package/esm2022/pricing-cards/models/price-item.model.mjs +2 -0
- package/esm2022/pricing-cards/models/public-api.mjs +4 -0
- package/esm2022/pricing-cards/pricing-cards.component.mjs +24 -0
- package/esm2022/pricing-cards/public-api.mjs +4 -0
- package/esm2022/pricing-cards/upd-pricing-cards.module.mjs +36 -0
- package/esm2022/pricing-cards/updevs-components-pricing-cards.mjs +5 -0
- package/esm2022/table/abstractions/base.column.mjs +30 -44
- package/esm2022/table/table.component.mjs +9 -12
- package/fesm2022/updevs-components-calendar.mjs +319 -1449
- package/fesm2022/updevs-components-calendar.mjs.map +1 -1
- package/fesm2022/updevs-components-dropdown.mjs +22 -6
- package/fesm2022/updevs-components-dropdown.mjs.map +1 -1
- package/fesm2022/updevs-components-form-controls-date-picker.mjs +44 -59
- package/fesm2022/updevs-components-form-controls-date-picker.mjs.map +1 -1
- package/fesm2022/updevs-components-form-controls-input.mjs +2 -2
- package/fesm2022/updevs-components-form-controls-input.mjs.map +1 -1
- package/fesm2022/updevs-components-popover.mjs +9 -25
- package/fesm2022/updevs-components-popover.mjs.map +1 -1
- package/fesm2022/updevs-components-pricing-cards.mjs +64 -0
- package/fesm2022/updevs-components-pricing-cards.mjs.map +1 -0
- package/fesm2022/updevs-components-table.mjs +38 -55
- package/fesm2022/updevs-components-table.mjs.map +1 -1
- package/fesm2022/updevs-components.mjs +1 -1
- package/fesm2022/updevs-components.mjs.map +1 -1
- package/form-controls/date-picker/date-picker.component.d.ts +10 -31
- package/lib/models/row-column-size.d.ts +5 -9
- package/package.json +36 -30
- package/pricing-cards/index.d.ts +1 -0
- package/pricing-cards/models/price-item-feature.model.d.ts +5 -0
- package/pricing-cards/models/price-item-features-group.model.d.ts +5 -0
- package/pricing-cards/models/price-item.model.d.ts +19 -0
- package/pricing-cards/models/public-api.d.ts +3 -0
- package/pricing-cards/pricing-cards.component.d.ts +11 -0
- package/pricing-cards/public-api.d.ts +3 -0
- package/pricing-cards/upd-pricing-cards.module.d.ts +11 -0
- package/table/abstractions/base.column.d.ts +4 -0
- package/calendar/components/calendar-body/calendar-body.component.d.ts +0 -263
- package/calendar/components/calendar-header/calendar-header.component.d.ts +0 -57
- package/calendar/components/calendar-month-view/calendar-month-view.component.d.ts +0 -151
- package/calendar/components/calendar-multi-year-view/calendar-multi-year-view.component.d.ts +0 -10
- package/calendar/components/calendar-year-view/calendar-year-view.component.d.ts +0 -9
- package/calendar/models/calendar-cell.model.d.ts +0 -16
- package/calendar/services/calendar.service.d.ts +0 -15
- package/calendar/tools/events-options.d.ts +0 -12
- package/calendar/tools/keyboard-tools.d.ts +0 -9
- package/calendar/tools/passive-listeners.d.ts +0 -16
- package/calendar/types/calendar-cell-class-function.type.d.ts +0 -3
- package/calendar/types/calendar-cell-css-classes.type.d.ts +0 -3
- package/calendar/types/modifier-key.type.d.ts +0 -1
- package/esm2022/calendar/components/calendar-body/calendar-body.component.mjs +0 -515
- package/esm2022/calendar/components/calendar-header/calendar-header.component.mjs +0 -144
- package/esm2022/calendar/components/calendar-month-view/calendar-month-view.component.mjs +0 -423
- package/esm2022/calendar/components/calendar-multi-year-view/calendar-multi-year-view.component.mjs +0 -18
- package/esm2022/calendar/components/calendar-year-view/calendar-year-view.component.mjs +0 -17
- package/esm2022/calendar/models/calendar-cell.model.mjs +0 -18
- package/esm2022/calendar/services/calendar.service.mjs +0 -40
- package/esm2022/calendar/tools/events-options.mjs +0 -14
- package/esm2022/calendar/tools/keyboard-tools.mjs +0 -14
- package/esm2022/calendar/tools/passive-listeners.mjs +0 -29
- package/esm2022/calendar/types/calendar-cell-class-function.type.mjs +0 -2
- package/esm2022/calendar/types/calendar-cell-css-classes.type.mjs +0 -2
- package/esm2022/calendar/types/modifier-key.type.mjs +0 -2
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItZGF0ZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jYWxlbmRhci9zcmMvbW9kZWxzL2NhbGVuZGFyLWRhdGUubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQ2FsZW5kYXJEYXRlTW9kZWwge1xuICAgIGRhdGU6IERhdGU7XG4gICAgaXNDdXJyZW50TW9udGg6IGJvb2xlYW47XG4gICAgaXNUb2RheTogYm9vbGVhbjtcbiAgICBpc1NlbGVjdGVkOiBib29sZWFuO1xuICAgIGlzRGlzYWJsZWQ6IGJvb2xlYW47XG4gICAgaXNJblJhbmdlPzogYm9vbGVhbjtcbiAgICBpc1JhbmdlU3RhcnQ/OiBib29sZWFuO1xuICAgIGlzUmFuZ2VFbmQ/OiBib29sZWFuO1xufVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItbW9udGgubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY2FsZW5kYXIvc3JjL21vZGVscy9jYWxlbmRhci1tb250aC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBDYWxlbmRhck1vbnRoTW9kZWwge1xuICAgIG1vbnRoSW5kZXg6IG51bWJlcjtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgaXNDdXJyZW50TW9udGg6IGJvb2xlYW47XG4gICAgaXNTZWxlY3RlZDogYm9vbGVhbjtcbiAgICBpc0Rpc2FibGVkOiBib29sZWFuO1xufVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItc2VsZWN0ZWQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY2FsZW5kYXIvc3JjL21vZGVscy9jYWxlbmRhci1zZWxlY3RlZC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBDYWxlbmRhclNlbGVjdGVkTW9kZWwge1xuICAgIHNlbGVjdGVkRGF0ZT86IERhdGU7XG4gICAgc3RhcnREYXRlPzogRGF0ZTtcbiAgICBlbmREYXRlPzogRGF0ZTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIteWVhci5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jYWxlbmRhci9zcmMvbW9kZWxzL2NhbGVuZGFyLXllYXIubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQ2FsZW5kYXJZZWFyTW9kZWwge1xuICAgIHllYXI6IG51bWJlcjtcbiAgICBpc0N1cnJlbnRZZWFyOiBib29sZWFuO1xuICAgIGlzU2VsZWN0ZWQ6IGJvb2xlYW47XG4gICAgaXNEaXNhYmxlZDogYm9vbGVhbjtcbn1cbiJdfQ==
|
|
@@ -15,4 +15,4 @@ export class DateRangeModel {
|
|
|
15
15
|
this.end = end;
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jYWxlbmRhci9zcmMvbW9kZWxzL2RhdGUtcmFuZ2UubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxNQUFNLE9BQU8sY0FBYztJQUN2QjtJQUNJOztPQUVHO0lBQ00sS0FBWTtJQUNyQjs7T0FFRztJQUNNLEdBQVU7UUFKVixVQUFLLEdBQUwsS0FBSyxDQUFPO1FBSVosUUFBRyxHQUFILEdBQUcsQ0FBTztJQUV2QixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEEgY2xhc3MgcmVwcmVzZW50aW5nIGEgcmFuZ2Ugb2YgZGF0ZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBEYXRlUmFuZ2VNb2RlbCB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBUaGUgc3RhcnQgZGF0ZSBvZiB0aGUgcmFuZ2UuXG4gICAgICAgICAqL1xuICAgICAgICByZWFkb25seSBzdGFydD86IERhdGUsXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBUaGUgZW5kIGRhdGUgb2YgdGhlIHJhbmdlLlxuICAgICAgICAgKi9cbiAgICAgICAgcmVhZG9ubHkgZW5kPzogRGF0ZVxuICAgICkge1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export var CalendarViewEnum;
|
|
2
|
+
(function (CalendarViewEnum) {
|
|
3
|
+
CalendarViewEnum["Days"] = "days";
|
|
4
|
+
CalendarViewEnum["Months"] = "months";
|
|
5
|
+
CalendarViewEnum["Years"] = "years";
|
|
6
|
+
})(CalendarViewEnum || (CalendarViewEnum = {}));
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItdmlldy5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NhbGVuZGFyL3NyYy9tb2RlbHMvZW51bXMvY2FsZW5kYXItdmlldy5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLGdCQUlYO0FBSkQsV0FBWSxnQkFBZ0I7SUFDeEIsaUNBQWEsQ0FBQTtJQUNiLHFDQUFpQixDQUFBO0lBQ2pCLG1DQUFlLENBQUE7QUFDbkIsQ0FBQyxFQUpXLGdCQUFnQixLQUFoQixnQkFBZ0IsUUFJM0IiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBDYWxlbmRhclZpZXdFbnVtIHtcbiAgICBEYXlzID0gJ2RheXMnLFxuICAgIE1vbnRocyA9ICdtb250aHMnLFxuICAgIFllYXJzID0gJ3llYXJzJ1xufVxuIl19
|
|
@@ -1,3 +1,8 @@
|
|
|
1
1
|
export * from './calendar-user-event.model';
|
|
2
2
|
export * from './date-range.model';
|
|
3
|
-
|
|
3
|
+
export * from './enums/calendar-view.enum';
|
|
4
|
+
export * from './calendar-date.model';
|
|
5
|
+
export * from './calendar-month.model';
|
|
6
|
+
export * from './calendar-year.model';
|
|
7
|
+
export * from './calendar-selected.model';
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jYWxlbmRhci9zcmMvbW9kZWxzL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYywyQkFBMkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2FsZW5kYXItdXNlci1ldmVudC5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2RhdGUtcmFuZ2UubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9lbnVtcy9jYWxlbmRhci12aWV3LmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9jYWxlbmRhci1kYXRlLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vY2FsZW5kYXItbW9udGgubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9jYWxlbmRhci15ZWFyLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vY2FsZW5kYXItc2VsZWN0ZWQubW9kZWwnO1xuXG4iXX0=
|
|
@@ -5,13 +5,7 @@ import { UpdIconsModule } from '@updevs/icons';
|
|
|
5
5
|
import { TranslocoService, TranslocoDirective } from '@jsverse/transloco';
|
|
6
6
|
import * as en from './assets/i18n/en.json';
|
|
7
7
|
import * as pt from './assets/i18n/pt.json';
|
|
8
|
-
import { CalendarHeaderComponent } from './components/calendar-header/calendar-header.component';
|
|
9
|
-
import { CalendarService } from './services/calendar.service';
|
|
10
8
|
import { CalendarSignalsService } from './services/calendar-signals.service';
|
|
11
|
-
import { CalendarMultiYearViewComponent } from './components/calendar-multi-year-view/calendar-multi-year-view.component';
|
|
12
|
-
import { CalendarYearViewComponent } from './components/calendar-year-view/calendar-year-view.component';
|
|
13
|
-
import { CalendarMonthViewComponent } from './components/calendar-month-view/calendar-month-view.component';
|
|
14
|
-
import { CalendarBodyComponent } from './components/calendar-body/calendar-body.component';
|
|
15
9
|
import { CalendarRangeStrategyService } from './services/calendar-range-strategy.service';
|
|
16
10
|
import { CalendarComponent } from './calendar.component';
|
|
17
11
|
import * as i0 from "@angular/core";
|
|
@@ -23,17 +17,11 @@ export class UpdCalendarModule {
|
|
|
23
17
|
translocoService.setTranslation(pt, 'pt');
|
|
24
18
|
}
|
|
25
19
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: UpdCalendarModule, deps: [{ token: i1.TranslocoService }], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
26
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.0", ngImport: i0, type: UpdCalendarModule, declarations: [
|
|
27
|
-
CalendarMultiYearViewComponent,
|
|
28
|
-
CalendarYearViewComponent,
|
|
29
|
-
CalendarMonthViewComponent,
|
|
30
|
-
CalendarBodyComponent,
|
|
31
|
-
CalendarComponent], imports: [CommonModule,
|
|
20
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.0", ngImport: i0, type: UpdCalendarModule, declarations: [CalendarComponent], imports: [CommonModule,
|
|
32
21
|
UpdButtonModule,
|
|
33
22
|
TranslocoDirective,
|
|
34
23
|
UpdIconsModule], exports: [CalendarComponent] }); }
|
|
35
24
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: UpdCalendarModule, providers: [
|
|
36
|
-
CalendarService,
|
|
37
25
|
CalendarSignalsService,
|
|
38
26
|
CalendarRangeStrategyService
|
|
39
27
|
], imports: [CommonModule,
|
|
@@ -50,21 +38,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
|
|
|
50
38
|
UpdIconsModule
|
|
51
39
|
],
|
|
52
40
|
declarations: [
|
|
53
|
-
CalendarHeaderComponent,
|
|
54
|
-
CalendarMultiYearViewComponent,
|
|
55
|
-
CalendarYearViewComponent,
|
|
56
|
-
CalendarMonthViewComponent,
|
|
57
|
-
CalendarBodyComponent,
|
|
58
41
|
CalendarComponent
|
|
59
42
|
],
|
|
60
43
|
exports: [
|
|
61
44
|
CalendarComponent
|
|
62
45
|
],
|
|
63
46
|
providers: [
|
|
64
|
-
CalendarService,
|
|
65
47
|
CalendarSignalsService,
|
|
66
48
|
CalendarRangeStrategyService
|
|
67
49
|
]
|
|
68
50
|
}]
|
|
69
51
|
}], ctorParameters: () => [{ type: i1.TranslocoService }] });
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkLWNhbGVuZGFyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jYWxlbmRhci9zcmMvdXBkLWNhbGVuZGFyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUUxRSxPQUFPLEtBQUssRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzVDLE9BQU8sS0FBSyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDNUMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDN0UsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDMUYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7OztBQW9CekQsTUFBTSxPQUFPLGlCQUFpQjtJQUMxQixZQUFZLGdCQUFrQztRQUMxQyxnQkFBZ0IsQ0FBQyxvQ0FBb0MsQ0FBQyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzlFLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDMUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM5QyxDQUFDOzhHQUxRLGlCQUFpQjsrR0FBakIsaUJBQWlCLGlCQVZ0QixpQkFBaUIsYUFOakIsWUFBWTtZQUNaLGVBQWU7WUFDZixrQkFBa0I7WUFDbEIsY0FBYyxhQU1kLGlCQUFpQjsrR0FPWixpQkFBaUIsYUFMZjtZQUNQLHNCQUFzQjtZQUN0Qiw0QkFBNEI7U0FDL0IsWUFkRyxZQUFZO1lBQ1osZUFBZTtZQUVmLGNBQWM7OzJGQWFULGlCQUFpQjtrQkFsQjdCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFO3dCQUNMLFlBQVk7d0JBQ1osZUFBZTt3QkFDZixrQkFBa0I7d0JBQ2xCLGNBQWM7cUJBQ2pCO29CQUNELFlBQVksRUFBRTt3QkFDVixpQkFBaUI7cUJBQ3BCO29CQUNELE9BQU8sRUFBRTt3QkFDTCxpQkFBaUI7cUJBQ3BCO29CQUNELFNBQVMsRUFBRTt3QkFDUCxzQkFBc0I7d0JBQ3RCLDRCQUE0QjtxQkFDL0I7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFVwZEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0B1cGRldnMvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHsgVXBkSWNvbnNNb2R1bGUgfSBmcm9tICdAdXBkZXZzL2ljb25zJztcbmltcG9ydCB7IFRyYW5zbG9jb1NlcnZpY2UsIFRyYW5zbG9jb0RpcmVjdGl2ZSB9IGZyb20gJ0Bqc3ZlcnNlL3RyYW5zbG9jbyc7XG5cbmltcG9ydCAqIGFzIGVuIGZyb20gJy4vYXNzZXRzL2kxOG4vZW4uanNvbic7XG5pbXBvcnQgKiBhcyBwdCBmcm9tICcuL2Fzc2V0cy9pMThuL3B0Lmpzb24nO1xuaW1wb3J0IHsgQ2FsZW5kYXJTaWduYWxzU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvY2FsZW5kYXItc2lnbmFscy5zZXJ2aWNlJztcbmltcG9ydCB7IENhbGVuZGFyUmFuZ2VTdHJhdGVneVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2NhbGVuZGFyLXJhbmdlLXN0cmF0ZWd5LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2FsZW5kYXJDb21wb25lbnQgfSBmcm9tICcuL2NhbGVuZGFyLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIFVwZEJ1dHRvbk1vZHVsZSxcbiAgICAgICAgVHJhbnNsb2NvRGlyZWN0aXZlLFxuICAgICAgICBVcGRJY29uc01vZHVsZVxuICAgIF0sXG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIENhbGVuZGFyQ29tcG9uZW50XG4gICAgXSxcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIENhbGVuZGFyQ29tcG9uZW50XG4gICAgXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgQ2FsZW5kYXJTaWduYWxzU2VydmljZSxcbiAgICAgICAgQ2FsZW5kYXJSYW5nZVN0cmF0ZWd5U2VydmljZVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgVXBkQ2FsZW5kYXJNb2R1bGUge1xuICAgIGNvbnN0cnVjdG9yKHRyYW5zbG9jb1NlcnZpY2U6IFRyYW5zbG9jb1NlcnZpY2UpIHtcbiAgICAgICAgdHJhbnNsb2NvU2VydmljZS5zZXRGYWxsYmFja0xhbmdGb3JNaXNzaW5nVHJhbnNsYXRpb24oeyBmYWxsYmFja0xhbmc6ICdlbicgfSk7XG4gICAgICAgIHRyYW5zbG9jb1NlcnZpY2Uuc2V0VHJhbnNsYXRpb24oZW4sICdlbicpO1xuICAgICAgICB0cmFuc2xvY29TZXJ2aWNlLnNldFRyYW5zbGF0aW9uKHB0LCAncHQnKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export * from './directives/public-api';
|
|
2
|
+
export * from './types/public-api';
|
|
2
3
|
export * from './upd-card.module';
|
|
3
4
|
export * from './card.component';
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jYXJkL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvcHVibGljLWFwaSc7XG5leHBvcnQgKiBmcm9tICcuL3R5cGVzL3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi91cGQtY2FyZC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jYXJkLmNvbXBvbmVudCc7XG4iXX0=
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from './card-state.type';
|
|
2
|
+
export * from './card-style.type';
|
|
3
|
+
export * from './hover-effect.type';
|
|
4
|
+
export * from './ribbon-style.type';
|
|
5
|
+
export * from './status-position.type';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jYXJkL3NyYy90eXBlcy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2FyZC1zdGF0ZS50eXBlJztcbmV4cG9ydCAqIGZyb20gJy4vY2FyZC1zdHlsZS50eXBlJztcbmV4cG9ydCAqIGZyb20gJy4vaG92ZXItZWZmZWN0LnR5cGUnO1xuZXhwb3J0ICogZnJvbSAnLi9yaWJib24tc3R5bGUudHlwZSc7XG5leHBvcnQgKiBmcm9tICcuL3N0YXR1cy1wb3NpdGlvbi50eXBlJztcbiJdfQ==
|
|
@@ -77,16 +77,32 @@ export class DropdownComponent extends BaseComponent {
|
|
|
77
77
|
};
|
|
78
78
|
return btn;
|
|
79
79
|
}
|
|
80
|
+
trackByItemId(index, item) {
|
|
81
|
+
return item.id ?? index;
|
|
82
|
+
}
|
|
83
|
+
getButtonClasses(item) {
|
|
84
|
+
const classes = ['dropdown-item'];
|
|
85
|
+
if (item.isDisabled) {
|
|
86
|
+
classes.push('disabled');
|
|
87
|
+
}
|
|
88
|
+
if (item.isActive) {
|
|
89
|
+
classes.push('active');
|
|
90
|
+
}
|
|
91
|
+
return classes.join(' ');
|
|
92
|
+
}
|
|
80
93
|
closeOnOutsideClick() {
|
|
81
|
-
|
|
94
|
+
if (!!this.dropdownOutsideClickSub) {
|
|
95
|
+
this.dropdownOutsideClickSub.unsubscribe();
|
|
96
|
+
}
|
|
97
|
+
const excludedElements = [this.dropdownElement];
|
|
82
98
|
if (!!this.dropdownReference) {
|
|
83
99
|
excludedElements.push(this.dropdownReference.nativeElement);
|
|
84
100
|
}
|
|
85
|
-
|
|
101
|
+
this.dropdownOutsideClickSub = this.domEventsService.startOutsideClickListener(() => this.ngZone.run(() => {
|
|
86
102
|
this.updateOpenState(false);
|
|
87
|
-
this.
|
|
103
|
+
this.updateWrapperClasses();
|
|
88
104
|
}), this.dropdownElement, true, ...excludedElements);
|
|
89
|
-
this.addSubscriptions(
|
|
105
|
+
this.addSubscriptions(this.dropdownOutsideClickSub);
|
|
90
106
|
}
|
|
91
107
|
updateStyle() {
|
|
92
108
|
this.updateWrapperClasses();
|
|
@@ -138,11 +154,11 @@ export class DropdownComponent extends BaseComponent {
|
|
|
138
154
|
this.renderer.setStyle(ddElement, 'top', `${result.y}px`, RendererStyleFlags2.Important);
|
|
139
155
|
}
|
|
140
156
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: DropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
141
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: DropdownComponent, selector: "upd-dropdown", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: false, isRequired: false, transformFunction: null }, header: { classPropertyName: "header", publicName: "header", isSignal: false, isRequired: false, transformFunction: null }, isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: false, isRequired: false, transformFunction: null }, shouldCloseOnOutsideClick: { classPropertyName: "shouldCloseOnOutsideClick", publicName: "shouldCloseOnOutsideClick", isSignal: false, isRequired: false, transformFunction: null }, arrowType: { classPropertyName: "arrowType", publicName: "arrowType", isSignal: false, isRequired: false, transformFunction: null }, wrapperClasses: { classPropertyName: "wrapperClasses", publicName: "wrapperClasses", isSignal: false, isRequired: false, transformFunction: null }, elementsExcludedFromOutsideClick: { classPropertyName: "elementsExcludedFromOutsideClick", publicName: "elementsExcludedFromOutsideClick", isSignal: false, isRequired: false, transformFunction: null }, minHeight: { classPropertyName: "minHeight", publicName: "minHeight", isSignal: false, isRequired: false, transformFunction: null }, maxHeight: { classPropertyName: "maxHeight", publicName: "maxHeight", isSignal: false, isRequired: false, transformFunction: null }, minWidth: { classPropertyName: "minWidth", publicName: "minWidth", isSignal: false, isRequired: false, transformFunction: null }, maxWidth: { classPropertyName: "maxWidth", publicName: "maxWidth", isSignal: false, isRequired: false, transformFunction: null }, dropdownReference: { classPropertyName: "dropdownReference", publicName: "dropdownReference", isSignal: false, isRequired: false, transformFunction: null }, dropdownReferencePosition: { classPropertyName: "dropdownReferencePosition", publicName: "dropdownReferencePosition", isSignal: false, isRequired: false, transformFunction: null }, textOverflowStrategy: { classPropertyName: "textOverflowStrategy", publicName: "textOverflowStrategy", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isOpenChange: "isOpenChange", selectedItem: "selectedItem", checkboxChanged: "checkboxChanged" }, host: { properties: { "class": "this.localWrapperClasses" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@if (!!header) {\n <h6 class=\"dropdown-header\">{{ header }}</h6>\n}\n\n@for (item of items; track item) {\n @switch (item.type) {\n @case ('divider') {\n <div class=\"dropdown-divider\"></div>\n }\n @case ('default') {\n <upd-button [customClasses]=\"
|
|
157
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: DropdownComponent, selector: "upd-dropdown", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: false, isRequired: false, transformFunction: null }, header: { classPropertyName: "header", publicName: "header", isSignal: false, isRequired: false, transformFunction: null }, isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: false, isRequired: false, transformFunction: null }, shouldCloseOnOutsideClick: { classPropertyName: "shouldCloseOnOutsideClick", publicName: "shouldCloseOnOutsideClick", isSignal: false, isRequired: false, transformFunction: null }, arrowType: { classPropertyName: "arrowType", publicName: "arrowType", isSignal: false, isRequired: false, transformFunction: null }, wrapperClasses: { classPropertyName: "wrapperClasses", publicName: "wrapperClasses", isSignal: false, isRequired: false, transformFunction: null }, elementsExcludedFromOutsideClick: { classPropertyName: "elementsExcludedFromOutsideClick", publicName: "elementsExcludedFromOutsideClick", isSignal: false, isRequired: false, transformFunction: null }, minHeight: { classPropertyName: "minHeight", publicName: "minHeight", isSignal: false, isRequired: false, transformFunction: null }, maxHeight: { classPropertyName: "maxHeight", publicName: "maxHeight", isSignal: false, isRequired: false, transformFunction: null }, minWidth: { classPropertyName: "minWidth", publicName: "minWidth", isSignal: false, isRequired: false, transformFunction: null }, maxWidth: { classPropertyName: "maxWidth", publicName: "maxWidth", isSignal: false, isRequired: false, transformFunction: null }, dropdownReference: { classPropertyName: "dropdownReference", publicName: "dropdownReference", isSignal: false, isRequired: false, transformFunction: null }, dropdownReferencePosition: { classPropertyName: "dropdownReferencePosition", publicName: "dropdownReferencePosition", isSignal: false, isRequired: false, transformFunction: null }, textOverflowStrategy: { classPropertyName: "textOverflowStrategy", publicName: "textOverflowStrategy", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isOpenChange: "isOpenChange", selectedItem: "selectedItem", checkboxChanged: "checkboxChanged" }, host: { properties: { "class": "this.localWrapperClasses" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@if (!!header) {\n <h6 class=\"dropdown-header\">{{ header }}</h6>\n}\n\n@for (item of items; track trackByItemId($index, item)) {\n @switch (item.type) {\n @case ('divider') {\n <div class=\"dropdown-divider\"></div>\n }\n @case ('default') {\n <upd-button [customClasses]=\"getButtonClasses(item)\"\n [shouldIgnoreBtnClass]=\"true\" (clicked)=\"onSelect(item)\">\n @if (!!item.icon) {\n <upd-icon [model]=\"item.icon\" customClasses=\"dropdown-item-icon\"></upd-icon>\n }\n\n @if (!!item.leftBoxText || !!item.leftBoxImage) {\n <span style=\"background-image: url({{item.leftBoxImage}})\"\n class=\"avatar avatar-xs rounded me-2\">{{ item.leftBoxText }}</span>\n }\n\n {{ textService.getText(item.text) }}\n\n @if (!!item.badgeColor) {\n <span class=\"badge bg-{{item.badgeColor}} ms-auto\">{{ item.badgeText }}</span>\n }\n </upd-button>\n }\n @case ('radio') {\n <upd-radio (selected)=\"onSelect(item)\" [label]=\"item.text\" [isChecked]=\"item.isChecked || false\"\n [wrapperClasses]=\"'dropdown-item' + (item.isDisabled ? ' disabled' : '') + (item.isActive ? ' active' : '')\"></upd-radio>\n }\n @case ('checkbox') {\n <upd-checkbox (changed)=\"onCheckboxChange(item, $event)\" [label]=\"item.text\" [isChecked]=\"item.isChecked || false\"\n [isSwitch]=\"item.isSwitch || false\"\n [wrapperClasses]=\"'dropdown-item' + (item.isDisabled ? ' disabled' : '') + (item.isActive ? ' active' : '')\"></upd-checkbox>\n }\n @case ('with-toolbar') {\n <div class=\"dropdown-item\" [class.disabled]=\"item.isDisabled\" [class.active]=\"item.isActive\" (click)=\"onSelect(item)\">\n @if (!!item.icon) {\n <upd-icon [model]=\"item.icon\" customClasses=\"dropdown-item-icon\"></upd-icon>\n }\n\n @if (!!item.leftBoxText || !!item.leftBoxImage) {\n <span style=\"background-image: url({{item.leftBoxImage}})\"\n class=\"avatar avatar-xs rounded me-2\">{{ item.leftBoxText }}</span>\n }\n\n <span [ngClass]=\"overflowClass\">\n {{ textService.getText(item.text) }}\n </span>\n\n @if ((item.actionButtons?.length || 0) > 0) {\n <div class=\"ms-auto d-flex\" [class.btn-group]=\"item.toolbarType === 'grouped'\"\n [class.gap-1]=\"item.toolbarType === 'spaced'\">\n @for (btn of item.actionButtons; track btn) {\n <upd-button [model]=\"adaptAction(btn, item)\"></upd-button>\n }\n </div>\n }\n\n @if (!!item.badgeColor) {\n <span class=\"badge bg-{{item.badgeColor}} ms-auto\">{{ item.badgeText }}</span>\n }\n </div>\n }\n }\n}\n\n<ng-content></ng-content>\n", styles: [".dropdown-show{display:inline-block!important;width:100%!important;position:relative;top:0!important;margin-bottom:1rem!important}.dropdown-item>.form-check{margin-bottom:0!important}.dropdown-item{cursor:pointer!important}.dropdown-overflow{overflow-y:auto!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.IconComponent, selector: "upd-icon", inputs: ["model", "wrapperClasses", "color", "colorClass", "removeDefaultClasses", "customClasses", "tablerIcon", "tablerIconWeight", "tablerIconType", "tablerIconSize", "heroIcon", "heroIconSize", "heroIconType"] }, { kind: "component", type: i3.RadioComponent, selector: "upd-radio", inputs: ["wrapperClasses", "value", "customClasses", "isChecked", "isInline"], outputs: ["selected"] }, { kind: "component", type: i4.CheckboxComponent, selector: "upd-checkbox", inputs: ["wrapperClasses", "value", "customClasses", "isChecked", "isInline", "isSwitch", "isIndeterminate"], outputs: ["changed", "isCheckedChange", "isIndeterminateChange"] }, { kind: "component", type: i5.ButtonComponent, selector: "upd-button", inputs: ["model", "text", "brandColorStyle", "customClasses", "isOutline", "isGhost", "isSquare", "isPill", "isIcon", "isLoading", "isList", "isFloating", "isAction", "isNavigationLink", "isLink", "shouldIgnoreBtnClass", "iconModel", "iconPosition", "isDisabled", "isActive", "badgeConfig", "colorStyle", "size", "title"], outputs: ["clicked"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
142
158
|
}
|
|
143
159
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: DropdownComponent, decorators: [{
|
|
144
160
|
type: Component,
|
|
145
|
-
args: [{ selector: 'upd-dropdown', encapsulation: ViewEncapsulation.None, template: "@if (!!header) {\n <h6 class=\"dropdown-header\">{{ header }}</h6>\n}\n\n@for (item of items; track item) {\n @switch (item.type) {\n @case ('divider') {\n <div class=\"dropdown-divider\"></div>\n }\n @case ('default') {\n <upd-button [customClasses]=\"
|
|
161
|
+
args: [{ selector: 'upd-dropdown', encapsulation: ViewEncapsulation.None, template: "@if (!!header) {\n <h6 class=\"dropdown-header\">{{ header }}</h6>\n}\n\n@for (item of items; track trackByItemId($index, item)) {\n @switch (item.type) {\n @case ('divider') {\n <div class=\"dropdown-divider\"></div>\n }\n @case ('default') {\n <upd-button [customClasses]=\"getButtonClasses(item)\"\n [shouldIgnoreBtnClass]=\"true\" (clicked)=\"onSelect(item)\">\n @if (!!item.icon) {\n <upd-icon [model]=\"item.icon\" customClasses=\"dropdown-item-icon\"></upd-icon>\n }\n\n @if (!!item.leftBoxText || !!item.leftBoxImage) {\n <span style=\"background-image: url({{item.leftBoxImage}})\"\n class=\"avatar avatar-xs rounded me-2\">{{ item.leftBoxText }}</span>\n }\n\n {{ textService.getText(item.text) }}\n\n @if (!!item.badgeColor) {\n <span class=\"badge bg-{{item.badgeColor}} ms-auto\">{{ item.badgeText }}</span>\n }\n </upd-button>\n }\n @case ('radio') {\n <upd-radio (selected)=\"onSelect(item)\" [label]=\"item.text\" [isChecked]=\"item.isChecked || false\"\n [wrapperClasses]=\"'dropdown-item' + (item.isDisabled ? ' disabled' : '') + (item.isActive ? ' active' : '')\"></upd-radio>\n }\n @case ('checkbox') {\n <upd-checkbox (changed)=\"onCheckboxChange(item, $event)\" [label]=\"item.text\" [isChecked]=\"item.isChecked || false\"\n [isSwitch]=\"item.isSwitch || false\"\n [wrapperClasses]=\"'dropdown-item' + (item.isDisabled ? ' disabled' : '') + (item.isActive ? ' active' : '')\"></upd-checkbox>\n }\n @case ('with-toolbar') {\n <div class=\"dropdown-item\" [class.disabled]=\"item.isDisabled\" [class.active]=\"item.isActive\" (click)=\"onSelect(item)\">\n @if (!!item.icon) {\n <upd-icon [model]=\"item.icon\" customClasses=\"dropdown-item-icon\"></upd-icon>\n }\n\n @if (!!item.leftBoxText || !!item.leftBoxImage) {\n <span style=\"background-image: url({{item.leftBoxImage}})\"\n class=\"avatar avatar-xs rounded me-2\">{{ item.leftBoxText }}</span>\n }\n\n <span [ngClass]=\"overflowClass\">\n {{ textService.getText(item.text) }}\n </span>\n\n @if ((item.actionButtons?.length || 0) > 0) {\n <div class=\"ms-auto d-flex\" [class.btn-group]=\"item.toolbarType === 'grouped'\"\n [class.gap-1]=\"item.toolbarType === 'spaced'\">\n @for (btn of item.actionButtons; track btn) {\n <upd-button [model]=\"adaptAction(btn, item)\"></upd-button>\n }\n </div>\n }\n\n @if (!!item.badgeColor) {\n <span class=\"badge bg-{{item.badgeColor}} ms-auto\">{{ item.badgeText }}</span>\n }\n </div>\n }\n }\n}\n\n<ng-content></ng-content>\n", styles: [".dropdown-show{display:inline-block!important;width:100%!important;position:relative;top:0!important;margin-bottom:1rem!important}.dropdown-item>.form-check{margin-bottom:0!important}.dropdown-item{cursor:pointer!important}.dropdown-overflow{overflow-y:auto!important}\n"] }]
|
|
146
162
|
}], ctorParameters: () => [], propDecorators: { localWrapperClasses: [{
|
|
147
163
|
type: HostBinding,
|
|
148
164
|
args: ['class']
|
|
@@ -179,4 +195,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
|
|
|
179
195
|
}], checkboxChanged: [{
|
|
180
196
|
type: Output
|
|
181
197
|
}] } });
|
|
182
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Ryb3Bkb3duL3NyYy9kcm9wZG93bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZHJvcGRvd24vc3JjL2Ryb3Bkb3duLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsV0FBVyxFQUNYLGlCQUFpQixFQUNqQixLQUFLLEVBR0wsTUFBTSxFQUNOLFlBQVksRUFDWixNQUFNLEVBQ04sVUFBVSxFQUNWLFNBQVMsRUFDVCxtQkFBbUIsRUFDbkIsTUFBTSxFQUFFLEtBQUssRUFDaEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxrQkFBa0IsRUFBeUIsZ0JBQWdCLEVBQWUsTUFBTSxvQkFBb0IsQ0FBQztBQUU3SCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDOzs7Ozs7O0FBVzFDLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxhQUFhO0lBTWhELElBQ0ksTUFBTSxDQUFDLEtBQWM7UUFDckIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU1QixJQUFJLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQy9CLENBQUM7SUFDTCxDQUFDO0lBNkNELElBQUksTUFBTTtRQUNOLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2IsUUFBUSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsRUFBRSxDQUFDO1lBQ2xDLEtBQUssU0FBUztnQkFDVixPQUFPLGFBQWEsQ0FBQztZQUN6QixLQUFLLE1BQU07Z0JBQ1AsT0FBTyxXQUFXLENBQUM7WUFDdkIsS0FBSyxZQUFZ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QyxJQUFJO3dEQUdmLG1CQUFtQjtzQkFBeEMsV0FBVzt1QkFBQyxPQUFPO2dCQUVYLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBR0YsTUFBTTtzQkFEVCxLQUFLO2dCQVNHLHlCQUF5QjtzQkFBakMsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBS0csZ0NBQWdDO3NCQUF4QyxLQUFLO2dCQUlHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBS0csU0FBUztzQkFBakIsS0FBSztnQkFJRyxRQUFRO3NCQUFoQixLQUFLO2dCQUtHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBSUcsaUJBQWlCO3NCQUF6QixLQUFLO2dCQUlHLHlCQUF5QjtzQkFBakMsS0FBSztnQkFFYSxZQUFZO3NCQUE5QixNQUFNO2dCQUNZLFlBQVk7c0JBQTlCLE1BQU07Z0JBQ1ksZUFBZTtzQkFBakMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIElucHV0LFxuICAgIE9uSW5pdCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT3V0cHV0LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBOZ1pvbmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBSZW5kZXJlcjIsXG4gICAgUmVuZGVyZXJTdHlsZUZsYWdzMixcbiAgICBpbmplY3QsIGlucHV0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCwgUG9zaXRpb25pbmdTZXJ2aWNlLCBDb21wdXRlUG9zaXRpb25SZXN1bHQsIERvbUV2ZW50c1NlcnZpY2UsIEJ1dHRvbk1vZGVsIH0gZnJvbSAnQHVwZGV2cy9zZGsvbGF5b3V0JztcbmltcG9ydCB7IFRvcEJvdHRvbUxlZnRSaWdodFR5cGUsIExlZnRSaWdodFR5cGUsIE92ZXJmbG93U3RyYXRlZ3lUeXBlIH0gZnJvbSAnQHVwZGV2cy9zZGsvdHlwZXMnO1xuaW1wb3J0IHsgVGV4dFNlcnZpY2UgfSBmcm9tICdAdXBkZXZzL3Nkayc7XG5cbmltcG9ydCB7IERyb3Bkb3duSXRlbSB9IGZyb20gJy4vbW9kZWxzL2Ryb3Bkb3duLWl0ZW0nO1xuaW1wb3J0IHsgRHJvcGRvd25BY3Rpb25DbGlja2VkTW9kZWwgfSBmcm9tICcuL21vZGVscy9kcm9wZG93bi1hY3Rpb24tY2xpY2tlZC5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndXBkLWRyb3Bkb3duJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZHJvcGRvd24uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2Ryb3Bkb3duLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBEcm9wZG93bkNvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIGxvY2FsV3JhcHBlckNsYXNzZXMgPSAnJztcblxuICAgIEBJbnB1dCgpIGl0ZW1zOiBEcm9wZG93bkl0ZW1bXSA9IFtdO1xuICAgIEBJbnB1dCgpIGhlYWRlcj86IHN0cmluZztcblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IGlzT3Blbih2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnVwZGF0ZU9wZW5TdGF0ZSh2YWx1ZSk7XG5cbiAgICAgICAgaWYgKHRoaXMuc2hvdWxkQ2xvc2VPbk91dHNpZGVDbGljaykge1xuICAgICAgICAgICAgdGhpcy5jbG9zZU9uT3V0c2lkZUNsaWNrKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASW5wdXQoKSBzaG91bGRDbG9zZU9uT3V0c2lkZUNsaWNrID0gZmFsc2U7XG4gICAgQElucHV0KCkgYXJyb3dUeXBlPzogTGVmdFJpZ2h0VHlwZTtcbiAgICBASW5wdXQoKSB3cmFwcGVyQ2xhc3NlcyA9ICcnO1xuICAgIC8qKlxuICAgICAqIEVsZW1lbnRzIHRoYXQgd29uJ3QgdHJpZ2dlciB0aGUgY2xvc2Ugb2YgdGhlIGRyb3Bkb3duIGlmIGNsaWNrZWQgdXBvbi5cbiAgICAgKiBPbmx5IHdvcmtzIHdoZW4gYHNob3VsZENsb3NlT25PdXRzaWRlQ2xpY2tgIGlzIHNldCB0byB0cnVlLlxuICAgICAqL1xuICAgIEBJbnB1dCgpIGVsZW1lbnRzRXhjbHVkZWRGcm9tT3V0c2lkZUNsaWNrPzogSFRNTEVsZW1lbnRbXTtcbiAgICAvKipcbiAgICAgKiBNaW5pbXVtIGhlaWdodCBvZiB0aGUgY29tcG9uZW50LlxuICAgICAqL1xuICAgIEBJbnB1dCgpIG1pbkhlaWdodD86IG51bWJlcjtcbiAgICAvKipcbiAgICAgKiBNYXhpbXVtIGhlaWdodCBvZiB0aGUgY29tcG9uZW50LlxuICAgICAqIElmIHNldCwgc2Nyb2xsIGJhcnMgd2lsbCBiZSB1c2VkIHdoZW4gdGhlIGNvbnRlbnQncyBzaXplIGlzIGJpZ2dlciB0aGFuIHRoZSBjb21wb25lbnQncy5cbiAgICAgKi9cbiAgICBASW5wdXQoKSBtYXhIZWlnaHQ/OiBudW1iZXI7XG4gICAgLyoqXG4gICAgICogTWluaW11bSB3aWR0aCBvZiB0aGUgY29tcG9uZW50LlxuICAgICAqL1xuICAgIEBJbnB1dCgpIG1pbldpZHRoPzogbnVtYmVyO1xuICAgIC8qKlxuICAgICAqIE1heGltdW0gd2lkdGggb2YgdGhlIGNvbXBvbmVudC5cbiAgICAgKiBJZiBzZXQsIHNjcm9sbCBiYXJzIHdpbGwgYmUgdXNlZCB3aGVuIHRoZSBjb250ZW50J3Mgc2l6ZSBpcyBiaWdnZXIgdGhhbiB0aGUgY29tcG9uZW50J3MuXG4gICAgICovXG4gICAgQElucHV0KCkgbWF4V2lkdGg/OiBudW1iZXI7XG4gICAgLyoqXG4gICAgICogSWYgc2V0LCB0aGUgcG9zaXRpb24gb2YgdGhlIGRyb3Bkb3duIHdpbGwgYmUgc2V0IGFjY29yZGluZyB0byB0aGlzIGVsZW1lbnQuXG4gICAgICovXG4gICAgQElucHV0KCkgZHJvcGRvd25SZWZlcmVuY2U/OiBFbGVtZW50UmVmO1xuICAgIC8qKlxuICAgICAqIElmIGEgcmVmZXJlbmNlIGlzIHByb3ZpZGVkLCB0aGlzIHdpbGwgYmUgdGhlIHBvc2l0aW9uIG9mIHRoZSBkcm9wZG93biBpbiByZWxhdGlvbiB0byB0aGF0IHJlZmVyZW5jZS5cbiAgICAgKi9cbiAgICBASW5wdXQoKSBkcm9wZG93blJlZmVyZW5jZVBvc2l0aW9uOiBUb3BCb3R0b21MZWZ0UmlnaHRUeXBlID0gJ2JvdHRvbSc7XG5cbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgaXNPcGVuQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICAgIEBPdXRwdXQoKSByZWFkb25seSBzZWxlY3RlZEl0ZW0gPSBuZXcgRXZlbnRFbWl0dGVyPERyb3Bkb3duSXRlbT4oKTtcbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgY2hlY2tib3hDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxEcm9wZG93bkl0ZW0+KCk7XG5cbiAgICB0ZXh0T3ZlcmZsb3dTdHJhdGVneSA9IGlucHV0PE92ZXJmbG93U3RyYXRlZ3lUeXBlPignd3JhcCcpO1xuXG4gICAgcmVhZG9ubHkgdGV4dFNlcnZpY2UgPSBpbmplY3QoVGV4dFNlcnZpY2UpO1xuXG4gICAgZ2V0IGlzT3BlbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzT3BlbjtcbiAgICB9XG5cbiAgICBnZXQgb3ZlcmZsb3dDbGFzcygpOiBzdHJpbmcge1xuICAgICAgICBzd2l0Y2ggKHRoaXMudGV4dE92ZXJmbG93U3RyYXRlZ3koKSkge1xuICAgICAgICAgICAgY2FzZSAnbm8td3JhcCc6XG4gICAgICAgICAgICAgICAgcmV0dXJuICd0ZXh0LW5vd3JhcCc7XG4gICAgICAgICAgICBjYXNlICd3cmFwJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gJ3RleHQtd3JhcCc7XG4gICAgICAgICAgICBjYXNlICd3b3JkLWJyZWFrJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gJ3RleHQtYnJlYWsnO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gJ3RleHQtdHJ1bmNhdGUnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBiYXNlV3JhcHBlckNsYXNzZXMgPSAnZHJvcGRvd24tbWVudSc7XG4gICAgcHJpdmF0ZSBfaXNPcGVuID0gZmFsc2U7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkcm9wZG93bkVsZW1lbnQ6IEhUTUxFbGVtZW50O1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbmdab25lID0gaW5qZWN0KE5nWm9uZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVuZGVyZXIgPSBpbmplY3QoUmVuZGVyZXIyKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBvc2l0aW9uaW5nU2VydmljZSA9IGluamVjdChQb3NpdGlvbmluZ1NlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZG9tRXZlbnRzU2VydmljZSA9IGluamVjdChEb21FdmVudHNTZXJ2aWNlKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmRyb3Bkb3duRWxlbWVudCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZVN0eWxlKCk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlU3R5bGUoKTtcbiAgICB9XG5cbiAgICBvblNlbGVjdChpdGVtOiBEcm9wZG93bkl0ZW0pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW0uZW1pdChpdGVtKTtcbiAgICB9XG5cbiAgICBvbkNoZWNrYm94Q2hhbmdlKGl0ZW06IERyb3Bkb3duSXRlbSwgaXNDaGVja2VkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGl0ZW0uaXNDaGVja2VkID0gaXNDaGVja2VkO1xuICAgICAgICB0aGlzLmNoZWNrYm94Q2hhbmdlZC5lbWl0KGl0ZW0pO1xuICAgIH1cblxuICAgIGFkYXB0QWN0aW9uKGJ0bjogQnV0dG9uTW9kZWwsIGl0ZW06IERyb3Bkb3duSXRlbSk6IEJ1dHRvbk1vZGVsIHtcbiAgICAgICAgY29uc3QgZGVmYXVsdEZ1bmN0aW9uID0gYnRuLmNsaWNrRnVuY3Rpb247XG4gICAgICAgIGJ0bi5jbGlja0Z1bmN0aW9uID0gKGV2dCkgPT4ge1xuICAgICAgICAgICAgZXZ0LmV2ZW50Py5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgZXZ0LmV2ZW50Py5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgICAgICAgICAgaWYgKCEhZGVmYXVsdEZ1bmN0aW9uKSB7XG4gICAgICAgICAgICAgICAgZGVmYXVsdEZ1bmN0aW9uKHsgZXZlbnQ6IGV2dC5ldmVudCwgZGF0YTogeyBpdGVtLCBidXR0b246IGJ0biB9IGFzIERyb3Bkb3duQWN0aW9uQ2xpY2tlZE1vZGVsIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gYnRuO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2xvc2VPbk91dHNpZGVDbGljaygpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZXhjbHVkZWRFbGVtZW50cyA9IFtdO1xuXG4gICAgICAgIGlmICghIXRoaXMuZHJvcGRvd25SZWZlcmVuY2UpIHtcbiAgICAgICAgICAgIGV4Y2x1ZGVkRWxlbWVudHMucHVzaCh0aGlzLmRyb3Bkb3duUmVmZXJlbmNlLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgb3V0c2lkZUNsaWNrU3ViID0gdGhpcy5kb21FdmVudHNTZXJ2aWNlLnN0YXJ0T3V0c2lkZUNsaWNrTGlzdGVuZXIoXG4gICAgICAgICAgICAoKSA9PiB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlT3BlblN0YXRlKGZhbHNlKTtcbiAgICAgICAgICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4gdGhpcy51cGRhdGVXcmFwcGVyQ2xhc3NlcygpKTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgdGhpcy5kcm9wZG93bkVsZW1lbnQsXG4gICAgICAgICAgICB0cnVlLFxuICAgICAgICAgICAgLi4uZXhjbHVkZWRFbGVtZW50c1xuICAgICAgICApO1xuICAgICAgICB0aGlzLmFkZFN1YnNjcmlwdGlvbnMob3V0c2lkZUNsaWNrU3ViKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVN0eWxlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZVdyYXBwZXJDbGFzc2VzKCk7XG4gICAgICAgIHRoaXMudXBkYXRlTWF4SGVpZ2h0KCk7XG4gICAgICAgIHRoaXMuc3RhcnRQb3NpdGlvblVwZGF0ZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlV3JhcHBlckNsYXNzZXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubG9jYWxXcmFwcGVyQ2xhc3NlcyA9IHRoaXMuYmFzZVdyYXBwZXJDbGFzc2VzICsgJyAnICsgdGhpcy53cmFwcGVyQ2xhc3NlcztcblxuICAgICAgICBpZiAodGhpcy5pc09wZW4pIHtcbiAgICAgICAgICAgIHRoaXMubG9jYWxXcmFwcGVyQ2xhc3NlcyArPSAnIGRyb3Bkb3duLXNob3cnO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCEhdGhpcy5hcnJvd1R5cGUpIHtcbiAgICAgICAgICAgIHRoaXMubG9jYWxXcmFwcGVyQ2xhc3NlcyArPSAnIGRyb3Bkb3duLW1lbnUtYXJyb3cnICsgKHRoaXMuYXJyb3dUeXBlID09PSAncmlnaHQnID8gJyBkcm9wZG93bi1tZW51LWVuZCcgOiAnJyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoISF0aGlzLm1heEhlaWdodCkge1xuICAgICAgICAgICAgdGhpcy5sb2NhbFdyYXBwZXJDbGFzc2VzICs9ICcgZHJvcGRvd24tb3ZlcmZsb3cnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVPcGVuU3RhdGUoaXNPcGVuOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2lzT3BlbiA9IGlzT3BlbjtcbiAgICAgICAgdGhpcy5pc09wZW5DaGFuZ2UuZW1pdChpc09wZW4pO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlTWF4SGVpZ2h0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZHJvcGRvd25FbGVtZW50LCAnbWF4LWhlaWdodCcsIGAke3RoaXMubWF4SGVpZ2h0fXB4YCwgUmVuZGVyZXJTdHlsZUZsYWdzMi5JbXBvcnRhbnQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhcnRQb3NpdGlvblVwZGF0ZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmRyb3Bkb3duUmVmZXJlbmNlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PlxuICAgICAgICAgICAgdGhpcy5wb3NpdGlvbmluZ1NlcnZpY2VcbiAgICAgICAgICAgICAgICAuY29tcHV0ZVBvc2l0aW9uKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmRyb3Bkb3duUmVmZXJlbmNlISxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50UmVmLFxuICAgICAgICAgICAgICAgICAgICB7IHBsYWNlbWVudDogdGhpcy5kcm9wZG93blJlZmVyZW5jZVBvc2l0aW9uIH0sXG4gICAgICAgICAgICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICB0cnVlXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUocmVzcCA9PiB0aGlzLnVwZGF0ZVBvc2l0aW9uKHJlc3ApKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlUG9zaXRpb24ocmVzdWx0OiBDb21wdXRlUG9zaXRpb25SZXN1bHQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcmVmZXJlbmNlID0gdGhpcy5kcm9wZG93blJlZmVyZW5jZSEubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgY29uc3QgZGRFbGVtZW50ID0gdGhpcy5kcm9wZG93bkVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IHdpZHRoID0gTWF0aC5hYnMocmVmZXJlbmNlLndpZHRoKTtcbiAgICAgICAgbGV0IHdpZHRoT2Zmc2V0ID0gMDtcblxuICAgICAgICBpZiAoISF0aGlzLm1heFdpZHRoKSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGRkRWxlbWVudCwgJ21heC13aWR0aCcsIGAke3RoaXMubWF4V2lkdGh9cHhgLCBSZW5kZXJlclN0eWxlRmxhZ3MyLkltcG9ydGFudCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoISF0aGlzLm1pbldpZHRoKSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGRkRWxlbWVudCwgJ21pbi13aWR0aCcsIGAke3RoaXMubWluV2lkdGh9cHhgLCBSZW5kZXJlclN0eWxlRmxhZ3MyLkltcG9ydGFudCk7XG4gICAgICAgICAgICB3aWR0aE9mZnNldCA9ICh0aGlzLm1pbldpZHRoID4gd2lkdGggPyB0aGlzLm1pbldpZHRoIC0gd2lkdGggOiAwKSAvIDI7IC8vIFRPRE86IGNoZWNrIGxvZ2ljXG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGRkRWxlbWVudCwgJ3Bvc2l0aW9uJywgcmVzdWx0LnN0cmF0ZWd5LCBSZW5kZXJlclN0eWxlRmxhZ3MyLkltcG9ydGFudCk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZGRFbGVtZW50LCAnd2lkdGgnLCBgJHt3aWR0aH1weGAsIFJlbmRlcmVyU3R5bGVGbGFnczIuSW1wb3J0YW50KTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShkZEVsZW1lbnQsICdsZWZ0JywgYCR7cmVzdWx0LnggLSB3aWR0aE9mZnNldH1weGAsIFJlbmRlcmVyU3R5bGVGbGFnczIuSW1wb3J0YW50KTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShkZEVsZW1lbnQsICd0b3AnLCBgJHtyZXN1bHQueX1weGAsIFJlbmRlcmVyU3R5bGVGbGFnczIuSW1wb3J0YW50KTtcbiAgICB9XG59XG4iLCJAaWYgKCEhaGVhZGVyKSB7XG4gICAgPGg2IGNsYXNzPVwiZHJvcGRvd24taGVhZGVyXCI+e3sgaGVhZGVyIH19PC9oNj5cbn1cblxuQGZvciAoaXRlbSBvZiBpdGVtczsgdHJhY2sgaXRlbSkge1xuICAgIEBzd2l0Y2ggKGl0ZW0udHlwZSkge1xuICAgICAgICBAY2FzZSAoJ2RpdmlkZXInKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24tZGl2aWRlclwiPjwvZGl2PlxuICAgICAgICB9XG4gICAgICAgIEBjYXNlICgnZGVmYXVsdCcpIHtcbiAgICAgICAgICAgIDx1cGQtYnV0dG9uIFtjdXN0b21DbGFzc2VzXT1cIidkcm9wZG93bi1pdGVtJyArIChpdGVtLmlzRGlzYWJsZWQgPyAnIGRpc2FibGVkJyA6ICcnKSArIChpdGVtLmlzQWN0aXZlID8gJyBhY3RpdmUnIDogJycpXCJcbiAgICAgICAgICAgICAgICBbc2hvdWxkSWdub3JlQnRuQ2xhc3NdPVwidHJ1ZVwiIChjbGlja2VkKT1cIm9uU2VsZWN0KGl0ZW0pXCI+XG4gICAgICAgICAgICAgICAgQGlmICghIWl0ZW0uaWNvbikge1xuICAgICAgICAgICAgICAgICAgICA8dXBkLWljb24gW21vZGVsXT1cIml0ZW0uaWNvblwiIGN1c3RvbUNsYXNzZXM9XCJkcm9wZG93bi1pdGVtLWljb25cIj48L3VwZC1pY29uPlxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpZiAoISFpdGVtLmxlZnRCb3hUZXh0IHx8ICEhaXRlbS5sZWZ0Qm94SW1hZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9XCJiYWNrZ3JvdW5kLWltYWdlOiB1cmwoe3tpdGVtLmxlZnRCb3hJbWFnZX19KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImF2YXRhciBhdmF0YXIteHMgcm91bmRlZCBtZS0yXCI+e3sgaXRlbS5sZWZ0Qm94VGV4dCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB7eyB0ZXh0U2VydmljZS5nZXRUZXh0KGl0ZW0udGV4dCkgfX1cblxuICAgICAgICAgICAgICAgIEBpZiAoISFpdGVtLmJhZGdlQ29sb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJiYWRnZSBiZy17e2l0ZW0uYmFkZ2VDb2xvcn19IG1zLWF1dG9cIj57eyBpdGVtLmJhZGdlVGV4dCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L3VwZC1idXR0b24+XG4gICAgICAgIH1cbiAgICAgICAgQGNhc2UgKCdyYWRpbycpIHtcbiAgICAgICAgICAgIDx1cGQtcmFkaW8gKHNlbGVjdGVkKT1cIm9uU2VsZWN0KGl0ZW0pXCIgW2xhYmVsXT1cIml0ZW0udGV4dFwiIFtpc0NoZWNrZWRdPVwiaXRlbS5pc0NoZWNrZWQgfHwgZmFsc2VcIlxuICAgICAgICAgICAgICAgIFt3cmFwcGVyQ2xhc3Nlc109XCInZHJvcGRvd24taXRlbScgKyAoaXRlbS5pc0Rpc2FibGVkID8gJyBkaXNhYmxlZCcgOiAnJykgKyAoaXRlbS5pc0FjdGl2ZSA/ICcgYWN0aXZlJyA6ICcnKVwiPjwvdXBkLXJhZGlvPlxuICAgICAgICB9XG4gICAgICAgIEBjYXNlICgnY2hlY2tib3gnKSB7XG4gICAgICAgICAgICA8dXBkLWNoZWNrYm94IChjaGFuZ2VkKT1cIm9uQ2hlY2tib3hDaGFuZ2UoaXRlbSwgJGV2ZW50KVwiIFtsYWJlbF09XCJpdGVtLnRleHRcIiBbaXNDaGVja2VkXT1cIml0ZW0uaXNDaGVja2VkIHx8IGZhbHNlXCJcbiAgICAgICAgICAgICAgICBbaXNTd2l0Y2hdPVwiaXRlbS5pc1N3aXRjaCB8fCBmYWxzZVwiXG4gICAgICAgICAgICAgICAgW3dyYXBwZXJDbGFzc2VzXT1cIidkcm9wZG93bi1pdGVtJyArIChpdGVtLmlzRGlzYWJsZWQgPyAnIGRpc2FibGVkJyA6ICcnKSArIChpdGVtLmlzQWN0aXZlID8gJyBhY3RpdmUnIDogJycpXCI+PC91cGQtY2hlY2tib3g+XG4gICAgICAgIH1cbiAgICAgICAgQGNhc2UgKCd3aXRoLXRvb2xiYXInKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24taXRlbVwiIFtjbGFzcy5kaXNhYmxlZF09XCJpdGVtLmlzRGlzYWJsZWRcIiBbY2xhc3MuYWN0aXZlXT1cIml0ZW0uaXNBY3RpdmVcIiAoY2xpY2spPVwib25TZWxlY3QoaXRlbSlcIj5cbiAgICAgICAgICAgICAgICBAaWYgKCEhaXRlbS5pY29uKSB7XG4gICAgICAgICAgICAgICAgICAgIDx1cGQtaWNvbiBbbW9kZWxdPVwiaXRlbS5pY29uXCIgY3VzdG9tQ2xhc3Nlcz1cImRyb3Bkb3duLWl0ZW0taWNvblwiPjwvdXBkLWljb24+XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGlmICghIWl0ZW0ubGVmdEJveFRleHQgfHwgISFpdGVtLmxlZnRCb3hJbWFnZSkge1xuICAgICAgICAgICAgICAgICAgICA8c3BhbiBzdHlsZT1cImJhY2tncm91bmQtaW1hZ2U6IHVybCh7e2l0ZW0ubGVmdEJveEltYWdlfX0pXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYXZhdGFyIGF2YXRhci14cyByb3VuZGVkIG1lLTJcIj57eyBpdGVtLmxlZnRCb3hUZXh0IH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIDxzcGFuIFtuZ0NsYXNzXT1cIm92ZXJmbG93Q2xhc3NcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgdGV4dFNlcnZpY2UuZ2V0VGV4dChpdGVtLnRleHQpIH19XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgICAgICAgICAgQGlmICgoaXRlbS5hY3Rpb25CdXR0b25zPy5sZW5ndGggfHwgMCkgPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcy1hdXRvIGQtZmxleFwiIFtjbGFzcy5idG4tZ3JvdXBdPVwiaXRlbS50b29sYmFyVHlwZSA9PT0gJ2dyb3VwZWQnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5nYXAtMV09XCJpdGVtLnRvb2xiYXJUeXBlID09PSAnc3BhY2VkJ1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgQGZvciAoYnRuIG9mIGl0ZW0uYWN0aW9uQnV0dG9uczsgdHJhY2sgYnRuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVwZC1idXR0b24gW21vZGVsXT1cImFkYXB0QWN0aW9uKGJ0biwgaXRlbSlcIj48L3VwZC1idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpZiAoISFpdGVtLmJhZGdlQ29sb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJiYWRnZSBiZy17e2l0ZW0uYmFkZ2VDb2xvcn19IG1zLWF1dG9cIj57eyBpdGVtLmJhZGdlVGV4dCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgIH1cbn1cblxuPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuIl19
|
|
198
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Ryb3Bkb3duL3NyYy9kcm9wZG93bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZHJvcGRvd24vc3JjL2Ryb3Bkb3duLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsV0FBVyxFQUNYLGlCQUFpQixFQUNqQixLQUFLLEVBR0wsTUFBTSxFQUNOLFlBQVksRUFDWixNQUFNLEVBQ04sVUFBVSxFQUNWLFNBQVMsRUFDVCxtQkFBbUIsRUFDbkIsTUFBTSxFQUFFLEtBQUssRUFDaEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxrQkFBa0IsRUFBeUIsZ0JBQWdCLEVBQWUsTUFBTSxvQkFBb0IsQ0FBQztBQUU3SCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDOzs7Ozs7O0FBWTFDLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxhQUFhO0lBTWhELElBQ0ksTUFBTSxDQUFDLEtBQWM7UUFDckIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU1QixJQUFJLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQy9CLENBQUM7SUFDTCxDQUFDO0lBNkNELElBQUksTUFBTTtRQUNOLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2IsUUFBUSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsRUFBRSxDQUFDO1lBQ2xDLEtBQUssU0FBUztnQkFDVixPQUFPLGFBQWEsQ0FBQztZQUN6QixLQUFLLE1BQU07Z0JBQ1AsT0FBTyxXQUFXLENBQUM7WUFDdkIsS0FBSyxZQUFZ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IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIElucHV0LFxuICAgIE9uSW5pdCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT3V0cHV0LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBOZ1pvbmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBSZW5kZXJlcjIsXG4gICAgUmVuZGVyZXJTdHlsZUZsYWdzMixcbiAgICBpbmplY3QsIGlucHV0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCwgUG9zaXRpb25pbmdTZXJ2aWNlLCBDb21wdXRlUG9zaXRpb25SZXN1bHQsIERvbUV2ZW50c1NlcnZpY2UsIEJ1dHRvbk1vZGVsIH0gZnJvbSAnQHVwZGV2cy9zZGsvbGF5b3V0JztcbmltcG9ydCB7IFRvcEJvdHRvbUxlZnRSaWdodFR5cGUsIExlZnRSaWdodFR5cGUsIE92ZXJmbG93U3RyYXRlZ3lUeXBlIH0gZnJvbSAnQHVwZGV2cy9zZGsvdHlwZXMnO1xuaW1wb3J0IHsgVGV4dFNlcnZpY2UgfSBmcm9tICdAdXBkZXZzL3Nkayc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgRHJvcGRvd25JdGVtIH0gZnJvbSAnLi9tb2RlbHMvZHJvcGRvd24taXRlbSc7XG5pbXBvcnQgeyBEcm9wZG93bkFjdGlvbkNsaWNrZWRNb2RlbCB9IGZyb20gJy4vbW9kZWxzL2Ryb3Bkb3duLWFjdGlvbi1jbGlja2VkLm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd1cGQtZHJvcGRvd24nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kcm9wZG93bi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZHJvcGRvd24uY29tcG9uZW50LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIERyb3Bkb3duQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgbG9jYWxXcmFwcGVyQ2xhc3NlcyA9ICcnO1xuXG4gICAgQElucHV0KCkgaXRlbXM6IERyb3Bkb3duSXRlbVtdID0gW107XG4gICAgQElucHV0KCkgaGVhZGVyPzogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBzZXQgaXNPcGVuKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMudXBkYXRlT3BlblN0YXRlKHZhbHVlKTtcblxuICAgICAgICBpZiAodGhpcy5zaG91bGRDbG9zZU9uT3V0c2lkZUNsaWNrKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlT25PdXRzaWRlQ2xpY2soKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBJbnB1dCgpIHNob3VsZENsb3NlT25PdXRzaWRlQ2xpY2sgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBhcnJvd1R5cGU/OiBMZWZ0UmlnaHRUeXBlO1xuICAgIEBJbnB1dCgpIHdyYXBwZXJDbGFzc2VzID0gJyc7XG4gICAgLyoqXG4gICAgICogRWxlbWVudHMgdGhhdCB3b24ndCB0cmlnZ2VyIHRoZSBjbG9zZSBvZiB0aGUgZHJvcGRvd24gaWYgY2xpY2tlZCB1cG9uLlxuICAgICAqIE9ubHkgd29ya3Mgd2hlbiBgc2hvdWxkQ2xvc2VPbk91dHNpZGVDbGlja2AgaXMgc2V0IHRvIHRydWUuXG4gICAgICovXG4gICAgQElucHV0KCkgZWxlbWVudHNFeGNsdWRlZEZyb21PdXRzaWRlQ2xpY2s/OiBIVE1MRWxlbWVudFtdO1xuICAgIC8qKlxuICAgICAqIE1pbmltdW0gaGVpZ2h0IG9mIHRoZSBjb21wb25lbnQuXG4gICAgICovXG4gICAgQElucHV0KCkgbWluSGVpZ2h0PzogbnVtYmVyO1xuICAgIC8qKlxuICAgICAqIE1heGltdW0gaGVpZ2h0IG9mIHRoZSBjb21wb25lbnQuXG4gICAgICogSWYgc2V0LCBzY3JvbGwgYmFycyB3aWxsIGJlIHVzZWQgd2hlbiB0aGUgY29udGVudCdzIHNpemUgaXMgYmlnZ2VyIHRoYW4gdGhlIGNvbXBvbmVudCdzLlxuICAgICAqL1xuICAgIEBJbnB1dCgpIG1heEhlaWdodD86IG51bWJlcjtcbiAgICAvKipcbiAgICAgKiBNaW5pbXVtIHdpZHRoIG9mIHRoZSBjb21wb25lbnQuXG4gICAgICovXG4gICAgQElucHV0KCkgbWluV2lkdGg/OiBudW1iZXI7XG4gICAgLyoqXG4gICAgICogTWF4aW11bSB3aWR0aCBvZiB0aGUgY29tcG9uZW50LlxuICAgICAqIElmIHNldCwgc2Nyb2xsIGJhcnMgd2lsbCBiZSB1c2VkIHdoZW4gdGhlIGNvbnRlbnQncyBzaXplIGlzIGJpZ2dlciB0aGFuIHRoZSBjb21wb25lbnQncy5cbiAgICAgKi9cbiAgICBASW5wdXQoKSBtYXhXaWR0aD86IG51bWJlcjtcbiAgICAvKipcbiAgICAgKiBJZiBzZXQsIHRoZSBwb3NpdGlvbiBvZiB0aGUgZHJvcGRvd24gd2lsbCBiZSBzZXQgYWNjb3JkaW5nIHRvIHRoaXMgZWxlbWVudC5cbiAgICAgKi9cbiAgICBASW5wdXQoKSBkcm9wZG93blJlZmVyZW5jZT86IEVsZW1lbnRSZWY7XG4gICAgLyoqXG4gICAgICogSWYgYSByZWZlcmVuY2UgaXMgcHJvdmlkZWQsIHRoaXMgd2lsbCBiZSB0aGUgcG9zaXRpb24gb2YgdGhlIGRyb3Bkb3duIGluIHJlbGF0aW9uIHRvIHRoYXQgcmVmZXJlbmNlLlxuICAgICAqL1xuICAgIEBJbnB1dCgpIGRyb3Bkb3duUmVmZXJlbmNlUG9zaXRpb246IFRvcEJvdHRvbUxlZnRSaWdodFR5cGUgPSAnYm90dG9tJztcblxuICAgIEBPdXRwdXQoKSByZWFkb25seSBpc09wZW5DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IHNlbGVjdGVkSXRlbSA9IG5ldyBFdmVudEVtaXR0ZXI8RHJvcGRvd25JdGVtPigpO1xuICAgIEBPdXRwdXQoKSByZWFkb25seSBjaGVja2JveENoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPERyb3Bkb3duSXRlbT4oKTtcblxuICAgIHRleHRPdmVyZmxvd1N0cmF0ZWd5ID0gaW5wdXQ8T3ZlcmZsb3dTdHJhdGVneVR5cGU+KCd3cmFwJyk7XG5cbiAgICByZWFkb25seSB0ZXh0U2VydmljZSA9IGluamVjdChUZXh0U2VydmljZSk7XG5cbiAgICBnZXQgaXNPcGVuKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNPcGVuO1xuICAgIH1cblxuICAgIGdldCBvdmVyZmxvd0NsYXNzKCk6IHN0cmluZyB7XG4gICAgICAgIHN3aXRjaCAodGhpcy50ZXh0T3ZlcmZsb3dTdHJhdGVneSgpKSB7XG4gICAgICAgICAgICBjYXNlICduby13cmFwJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gJ3RleHQtbm93cmFwJztcbiAgICAgICAgICAgIGNhc2UgJ3dyYXAnOlxuICAgICAgICAgICAgICAgIHJldHVybiAndGV4dC13cmFwJztcbiAgICAgICAgICAgIGNhc2UgJ3dvcmQtYnJlYWsnOlxuICAgICAgICAgICAgICAgIHJldHVybiAndGV4dC1icmVhayc7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiAndGV4dC10cnVuY2F0ZSc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGJhc2VXcmFwcGVyQ2xhc3NlcyA9ICdkcm9wZG93bi1tZW51JztcbiAgICBwcml2YXRlIF9pc09wZW4gPSBmYWxzZTtcbiAgICBwcml2YXRlIGRyb3Bkb3duT3V0c2lkZUNsaWNrU3ViPzogU3Vic2NyaXB0aW9uO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZHJvcGRvd25FbGVtZW50OiBIVE1MRWxlbWVudDtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5nWm9uZSA9IGluamVjdChOZ1pvbmUpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlbmRlcmVyID0gaW5qZWN0KFJlbmRlcmVyMik7XG4gICAgcHJpdmF0ZSByZWFkb25seSBwb3NpdGlvbmluZ1NlcnZpY2UgPSBpbmplY3QoUG9zaXRpb25pbmdTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRvbUV2ZW50c1NlcnZpY2UgPSBpbmplY3QoRG9tRXZlbnRzU2VydmljZSk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5kcm9wZG93bkVsZW1lbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVTdHlsZSgpO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZVN0eWxlKCk7XG4gICAgfVxuXG4gICAgb25TZWxlY3QoaXRlbTogRHJvcGRvd25JdGVtKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtLmVtaXQoaXRlbSk7XG4gICAgfVxuXG4gICAgb25DaGVja2JveENoYW5nZShpdGVtOiBEcm9wZG93bkl0ZW0sIGlzQ2hlY2tlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBpdGVtLmlzQ2hlY2tlZCA9IGlzQ2hlY2tlZDtcbiAgICAgICAgdGhpcy5jaGVja2JveENoYW5nZWQuZW1pdChpdGVtKTtcbiAgICB9XG5cbiAgICBhZGFwdEFjdGlvbihidG46IEJ1dHRvbk1vZGVsLCBpdGVtOiBEcm9wZG93bkl0ZW0pOiBCdXR0b25Nb2RlbCB7XG4gICAgICAgIGNvbnN0IGRlZmF1bHRGdW5jdGlvbiA9IGJ0bi5jbGlja0Z1bmN0aW9uO1xuICAgICAgICBidG4uY2xpY2tGdW5jdGlvbiA9IChldnQpID0+IHtcbiAgICAgICAgICAgIGV2dC5ldmVudD8ucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGV2dC5ldmVudD8uc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICAgICAgICAgIGlmICghIWRlZmF1bHRGdW5jdGlvbikge1xuICAgICAgICAgICAgICAgIGRlZmF1bHRGdW5jdGlvbih7IGV2ZW50OiBldnQuZXZlbnQsIGRhdGE6IHsgaXRlbSwgYnV0dG9uOiBidG4gfSBhcyBEcm9wZG93bkFjdGlvbkNsaWNrZWRNb2RlbCB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4gYnRuO1xuICAgIH1cblxuICAgIHRyYWNrQnlJdGVtSWQoaW5kZXg6IG51bWJlciwgaXRlbTogRHJvcGRvd25JdGVtKTogYW55IHtcbiAgICAgICAgcmV0dXJuIGl0ZW0uaWQgPz8gaW5kZXg7XG4gICAgfVxuXG4gICAgZ2V0QnV0dG9uQ2xhc3NlcyhpdGVtOiBEcm9wZG93bkl0ZW0pOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBjbGFzc2VzID0gWydkcm9wZG93bi1pdGVtJ107XG5cbiAgICAgICAgaWYgKGl0ZW0uaXNEaXNhYmxlZCkge1xuICAgICAgICAgICAgY2xhc3Nlcy5wdXNoKCdkaXNhYmxlZCcpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGl0ZW0uaXNBY3RpdmUpIHtcbiAgICAgICAgICAgIGNsYXNzZXMucHVzaCgnYWN0aXZlJyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY2xhc3Nlcy5qb2luKCcgJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjbG9zZU9uT3V0c2lkZUNsaWNrKCk6IHZvaWQge1xuICAgICAgICBpZiAoISF0aGlzLmRyb3Bkb3duT3V0c2lkZUNsaWNrU3ViKSB7XG4gICAgICAgICAgICB0aGlzLmRyb3Bkb3duT3V0c2lkZUNsaWNrU3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBleGNsdWRlZEVsZW1lbnRzID0gW3RoaXMuZHJvcGRvd25FbGVtZW50XTtcblxuICAgICAgICBpZiAoISF0aGlzLmRyb3Bkb3duUmVmZXJlbmNlKSB7XG4gICAgICAgICAgICBleGNsdWRlZEVsZW1lbnRzLnB1c2godGhpcy5kcm9wZG93blJlZmVyZW5jZS5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZHJvcGRvd25PdXRzaWRlQ2xpY2tTdWIgPSB0aGlzLmRvbUV2ZW50c1NlcnZpY2Uuc3RhcnRPdXRzaWRlQ2xpY2tMaXN0ZW5lcihcbiAgICAgICAgICAgICgpID0+IHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVPcGVuU3RhdGUoZmFsc2UpO1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlV3JhcHBlckNsYXNzZXMoKTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgdGhpcy5kcm9wZG93bkVsZW1lbnQsXG4gICAgICAgICAgICB0cnVlLFxuICAgICAgICAgICAgLi4uZXhjbHVkZWRFbGVtZW50c1xuICAgICAgICApO1xuICAgICAgICB0aGlzLmFkZFN1YnNjcmlwdGlvbnModGhpcy5kcm9wZG93bk91dHNpZGVDbGlja1N1Yik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVTdHlsZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVXcmFwcGVyQ2xhc3NlcygpO1xuICAgICAgICB0aGlzLnVwZGF0ZU1heEhlaWdodCgpO1xuICAgICAgICB0aGlzLnN0YXJ0UG9zaXRpb25VcGRhdGUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVdyYXBwZXJDbGFzc2VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmxvY2FsV3JhcHBlckNsYXNzZXMgPSB0aGlzLmJhc2VXcmFwcGVyQ2xhc3NlcyArICcgJyArIHRoaXMud3JhcHBlckNsYXNzZXM7XG5cbiAgICAgICAgaWYgKHRoaXMuaXNPcGVuKSB7XG4gICAgICAgICAgICB0aGlzLmxvY2FsV3JhcHBlckNsYXNzZXMgKz0gJyBkcm9wZG93bi1zaG93JztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghIXRoaXMuYXJyb3dUeXBlKSB7XG4gICAgICAgICAgICB0aGlzLmxvY2FsV3JhcHBlckNsYXNzZXMgKz0gJyBkcm9wZG93bi1tZW51LWFycm93JyArICh0aGlzLmFycm93VHlwZSA9PT0gJ3JpZ2h0JyA/ICcgZHJvcGRvd24tbWVudS1lbmQnIDogJycpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCEhdGhpcy5tYXhIZWlnaHQpIHtcbiAgICAgICAgICAgIHRoaXMubG9jYWxXcmFwcGVyQ2xhc3NlcyArPSAnIGRyb3Bkb3duLW92ZXJmbG93JztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlT3BlblN0YXRlKGlzT3BlbjogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLl9pc09wZW4gPSBpc09wZW47XG4gICAgICAgIHRoaXMuaXNPcGVuQ2hhbmdlLmVtaXQoaXNPcGVuKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZU1heEhlaWdodCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmRyb3Bkb3duRWxlbWVudCwgJ21heC1oZWlnaHQnLCBgJHt0aGlzLm1heEhlaWdodH1weGAsIFJlbmRlcmVyU3R5bGVGbGFnczIuSW1wb3J0YW50KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXJ0UG9zaXRpb25VcGRhdGUoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5kcm9wZG93blJlZmVyZW5jZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT5cbiAgICAgICAgICAgIHRoaXMucG9zaXRpb25pbmdTZXJ2aWNlXG4gICAgICAgICAgICAgICAgLmNvbXB1dGVQb3NpdGlvbihcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kcm9wZG93blJlZmVyZW5jZSEsXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZixcbiAgICAgICAgICAgICAgICAgICAgeyBwbGFjZW1lbnQ6IHRoaXMuZHJvcGRvd25SZWZlcmVuY2VQb3NpdGlvbiB9LFxuICAgICAgICAgICAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgdHJ1ZVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKHJlc3AgPT4gdGhpcy51cGRhdGVQb3NpdGlvbihyZXNwKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVBvc2l0aW9uKHJlc3VsdDogQ29tcHV0ZVBvc2l0aW9uUmVzdWx0KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHJlZmVyZW5jZSA9IHRoaXMuZHJvcGRvd25SZWZlcmVuY2UhLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIGNvbnN0IGRkRWxlbWVudCA9IHRoaXMuZHJvcGRvd25FbGVtZW50O1xuICAgICAgICBjb25zdCB3aWR0aCA9IE1hdGguYWJzKHJlZmVyZW5jZS53aWR0aCk7XG4gICAgICAgIGxldCB3aWR0aE9mZnNldCA9IDA7XG5cbiAgICAgICAgaWYgKCEhdGhpcy5tYXhXaWR0aCkge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShkZEVsZW1lbnQsICdtYXgtd2lkdGgnLCBgJHt0aGlzLm1heFdpZHRofXB4YCwgUmVuZGVyZXJTdHlsZUZsYWdzMi5JbXBvcnRhbnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCEhdGhpcy5taW5XaWR0aCkge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShkZEVsZW1lbnQsICdtaW4td2lkdGgnLCBgJHt0aGlzLm1pbldpZHRofXB4YCwgUmVuZGVyZXJTdHlsZUZsYWdzMi5JbXBvcnRhbnQpO1xuICAgICAgICAgICAgd2lkdGhPZmZzZXQgPSAodGhpcy5taW5XaWR0aCA+IHdpZHRoID8gdGhpcy5taW5XaWR0aCAtIHdpZHRoIDogMCkgLyAyOyAvLyBUT0RPOiBjaGVjayBsb2dpY1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShkZEVsZW1lbnQsICdwb3NpdGlvbicsIHJlc3VsdC5zdHJhdGVneSwgUmVuZGVyZXJTdHlsZUZsYWdzMi5JbXBvcnRhbnQpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGRkRWxlbWVudCwgJ3dpZHRoJywgYCR7d2lkdGh9cHhgLCBSZW5kZXJlclN0eWxlRmxhZ3MyLkltcG9ydGFudCk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZGRFbGVtZW50LCAnbGVmdCcsIGAke3Jlc3VsdC54IC0gd2lkdGhPZmZzZXR9cHhgLCBSZW5kZXJlclN0eWxlRmxhZ3MyLkltcG9ydGFudCk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZGRFbGVtZW50LCAndG9wJywgYCR7cmVzdWx0Lnl9cHhgLCBSZW5kZXJlclN0eWxlRmxhZ3MyLkltcG9ydGFudCk7XG4gICAgfVxufVxuIiwiQGlmICghIWhlYWRlcikge1xuICAgIDxoNiBjbGFzcz1cImRyb3Bkb3duLWhlYWRlclwiPnt7IGhlYWRlciB9fTwvaDY+XG59XG5cbkBmb3IgKGl0ZW0gb2YgaXRlbXM7IHRyYWNrIHRyYWNrQnlJdGVtSWQoJGluZGV4LCBpdGVtKSkge1xuICAgIEBzd2l0Y2ggKGl0ZW0udHlwZSkge1xuICAgICAgICBAY2FzZSAoJ2RpdmlkZXInKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24tZGl2aWRlclwiPjwvZGl2PlxuICAgICAgICB9XG4gICAgICAgIEBjYXNlICgnZGVmYXVsdCcpIHtcbiAgICAgICAgICAgIDx1cGQtYnV0dG9uIFtjdXN0b21DbGFzc2VzXT1cImdldEJ1dHRvbkNsYXNzZXMoaXRlbSlcIlxuICAgICAgICAgICAgICAgIFtzaG91bGRJZ25vcmVCdG5DbGFzc109XCJ0cnVlXCIgKGNsaWNrZWQpPVwib25TZWxlY3QoaXRlbSlcIj5cbiAgICAgICAgICAgICAgICBAaWYgKCEhaXRlbS5pY29uKSB7XG4gICAgICAgICAgICAgICAgICAgIDx1cGQtaWNvbiBbbW9kZWxdPVwiaXRlbS5pY29uXCIgY3VzdG9tQ2xhc3Nlcz1cImRyb3Bkb3duLWl0ZW0taWNvblwiPjwvdXBkLWljb24+XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGlmICghIWl0ZW0ubGVmdEJveFRleHQgfHwgISFpdGVtLmxlZnRCb3hJbWFnZSkge1xuICAgICAgICAgICAgICAgICAgICA8c3BhbiBzdHlsZT1cImJhY2tncm91bmQtaW1hZ2U6IHVybCh7e2l0ZW0ubGVmdEJveEltYWdlfX0pXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYXZhdGFyIGF2YXRhci14cyByb3VuZGVkIG1lLTJcIj57eyBpdGVtLmxlZnRCb3hUZXh0IH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHt7IHRleHRTZXJ2aWNlLmdldFRleHQoaXRlbS50ZXh0KSB9fVxuXG4gICAgICAgICAgICAgICAgQGlmICghIWl0ZW0uYmFkZ2VDb2xvcikge1xuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJhZGdlIGJnLXt7aXRlbS5iYWRnZUNvbG9yfX0gbXMtYXV0b1wiPnt7IGl0ZW0uYmFkZ2VUZXh0IH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvdXBkLWJ1dHRvbj5cbiAgICAgICAgfVxuICAgICAgICBAY2FzZSAoJ3JhZGlvJykge1xuICAgICAgICAgICAgPHVwZC1yYWRpbyAoc2VsZWN0ZWQpPVwib25TZWxlY3QoaXRlbSlcIiBbbGFiZWxdPVwiaXRlbS50ZXh0XCIgW2lzQ2hlY2tlZF09XCJpdGVtLmlzQ2hlY2tlZCB8fCBmYWxzZVwiXG4gICAgICAgICAgICAgICAgW3dyYXBwZXJDbGFzc2VzXT1cIidkcm9wZG93bi1pdGVtJyArIChpdGVtLmlzRGlzYWJsZWQgPyAnIGRpc2FibGVkJyA6ICcnKSArIChpdGVtLmlzQWN0aXZlID8gJyBhY3RpdmUnIDogJycpXCI+PC91cGQtcmFkaW8+XG4gICAgICAgIH1cbiAgICAgICAgQGNhc2UgKCdjaGVja2JveCcpIHtcbiAgICAgICAgICAgIDx1cGQtY2hlY2tib3ggKGNoYW5nZWQpPVwib25DaGVja2JveENoYW5nZShpdGVtLCAkZXZlbnQpXCIgW2xhYmVsXT1cIml0ZW0udGV4dFwiIFtpc0NoZWNrZWRdPVwiaXRlbS5pc0NoZWNrZWQgfHwgZmFsc2VcIlxuICAgICAgICAgICAgICAgIFtpc1N3aXRjaF09XCJpdGVtLmlzU3dpdGNoIHx8IGZhbHNlXCJcbiAgICAgICAgICAgICAgICBbd3JhcHBlckNsYXNzZXNdPVwiJ2Ryb3Bkb3duLWl0ZW0nICsgKGl0ZW0uaXNEaXNhYmxlZCA/ICcgZGlzYWJsZWQnIDogJycpICsgKGl0ZW0uaXNBY3RpdmUgPyAnIGFjdGl2ZScgOiAnJylcIj48L3VwZC1jaGVja2JveD5cbiAgICAgICAgfVxuICAgICAgICBAY2FzZSAoJ3dpdGgtdG9vbGJhcicpIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93bi1pdGVtXCIgW2NsYXNzLmRpc2FibGVkXT1cIml0ZW0uaXNEaXNhYmxlZFwiIFtjbGFzcy5hY3RpdmVdPVwiaXRlbS5pc0FjdGl2ZVwiIChjbGljayk9XCJvblNlbGVjdChpdGVtKVwiPlxuICAgICAgICAgICAgICAgIEBpZiAoISFpdGVtLmljb24pIHtcbiAgICAgICAgICAgICAgICAgICAgPHVwZC1pY29uIFttb2RlbF09XCJpdGVtLmljb25cIiBjdXN0b21DbGFzc2VzPVwiZHJvcGRvd24taXRlbS1pY29uXCI+PC91cGQtaWNvbj5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaWYgKCEhaXRlbS5sZWZ0Qm94VGV4dCB8fCAhIWl0ZW0ubGVmdEJveEltYWdlKSB7XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPVwiYmFja2dyb3VuZC1pbWFnZTogdXJsKHt7aXRlbS5sZWZ0Qm94SW1hZ2V9fSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhdmF0YXIgYXZhdGFyLXhzIHJvdW5kZWQgbWUtMlwiPnt7IGl0ZW0ubGVmdEJveFRleHQgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgPHNwYW4gW25nQ2xhc3NdPVwib3ZlcmZsb3dDbGFzc1wiPlxuICAgICAgICAgICAgICAgICAgICB7eyB0ZXh0U2VydmljZS5nZXRUZXh0KGl0ZW0udGV4dCkgfX1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgICAgICAgICBAaWYgKChpdGVtLmFjdGlvbkJ1dHRvbnM/Lmxlbmd0aCB8fCAwKSA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1zLWF1dG8gZC1mbGV4XCIgW2NsYXNzLmJ0bi1ncm91cF09XCJpdGVtLnRvb2xiYXJUeXBlID09PSAnZ3JvdXBlZCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmdhcC0xXT1cIml0ZW0udG9vbGJhclR5cGUgPT09ICdzcGFjZWQnXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICBAZm9yIChidG4gb2YgaXRlbS5hY3Rpb25CdXR0b25zOyB0cmFjayBidG4pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXBkLWJ1dHRvbiBbbW9kZWxdPVwiYWRhcHRBY3Rpb24oYnRuLCBpdGVtKVwiPjwvdXBkLWJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGlmICghIWl0ZW0uYmFkZ2VDb2xvcikge1xuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJhZGdlIGJnLXt7aXRlbS5iYWRnZUNvbG9yfX0gbXMtYXV0b1wiPnt7IGl0ZW0uYmFkZ2VUZXh0IH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgfVxufVxuXG48bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4iXX0=
|