@wkly/datetime-picker 17.0.0 → 19.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@wkly/datetime-picker",
3
- "version": "17.0.0",
4
- "description": "Angular 17 integration for WKLY date and time picker",
3
+ "version": "19.0.0",
4
+ "description": "Angular 19 integration for WKLY date and time picker",
5
5
  "license": "MIT",
6
6
  "sideEffects": false,
7
7
  "peerDependencies": {
8
- "@angular/core": ">=17 <18",
9
- "@angular/common": ">=17 <18",
10
- "@angular/forms": ">=17 <18",
11
- "@angular/cdk": ">=17 <18",
8
+ "@angular/core": ">=19 <20",
9
+ "@angular/common": ">=19 <20",
10
+ "@angular/forms": ">=19 <20",
11
+ "@angular/cdk": ">=19 <20",
12
12
  "rxjs": "^6.5.3 || ^7.4.0"
13
13
  },
14
14
  "peerDependenciesMeta": {
@@ -25,7 +25,7 @@
25
25
  "repository": {
26
26
  "type": "git",
27
27
  "url": "git+https://github.com/cokkto/wkly-datetime-picker.git",
28
- "directory": "projects/wkly-datetime-picker.17"
28
+ "directory": "projects/wkly-datetime-picker.19"
29
29
  },
30
30
  "homepage": "https://github.com/cokkto/wkly-datetime-picker#readme",
31
31
  "bugs": {
@@ -43,14 +43,10 @@
43
43
  },
44
44
  ".": {
45
45
  "types": "./index.d.ts",
46
- "esm2022": "./esm2022/wkly-datetime-picker.mjs",
47
- "esm": "./esm2022/wkly-datetime-picker.mjs",
48
46
  "default": "./fesm2022/wkly-datetime-picker.mjs"
49
47
  },
50
48
  "./cdk-overlay": {
51
49
  "types": "./cdk-overlay/index.d.ts",
52
- "esm2022": "./esm2022/cdk-overlay/wkly-datetime-picker-cdk-overlay.mjs",
53
- "esm": "./esm2022/cdk-overlay/wkly-datetime-picker-cdk-overlay.mjs",
54
50
  "default": "./fesm2022/wkly-datetime-picker-cdk-overlay.mjs"
55
51
  }
56
52
  }
@@ -1,11 +1,11 @@
1
- import { AfterViewInit, ChangeDetectorRef, ElementRef, OnChanges, OnDestroy, OnInit } from "@angular/core";
1
+ import { AfterViewInit, ChangeDetectorRef, ElementRef, OnDestroy, OnInit } from "@angular/core";
2
2
  import { AbstractControl, ControlValueAccessor, ValidationErrors, Validator } from "@angular/forms";
3
3
  import { WklyWeekOffset } from "@wkly/core";
4
+ import { WklyDraft as Draft, WklyWeekRow as Row, WklyPickerInputsPropertyKeys } from "@wkly/presentation";
4
5
  import { WklyCalendarAdapter, WklyCalendarDate, WklyPickerValue, WklyValidationError } from "@wkly/adapters";
5
- import { WklyDraft as Draft, WklyWeekRow as Row } from "@wkly/presentation";
6
- import { WklyClock, WklyCloseReason, WklyConfiguration, WklyJumpOptions, WklyPickerInputs, WklyPickerInputsPropertyKeys, WklyStrings, WklyTranslations } from "./config";
6
+ import { WklyClock, WklyCloseReason, WklyConfiguration, WklyJumpOptions, WklyPickerInputs, WklyStrings, WklyTranslations } from "./config";
7
7
  import * as i0 from "@angular/core";
8
- export declare class WklyDateTimePickerComponent extends WklyPickerInputs implements OnInit, OnChanges, AfterViewInit, OnDestroy, ControlValueAccessor, Validator {
8
+ export declare class WklyDateTimePickerComponent extends WklyPickerInputs implements OnInit, AfterViewInit, OnDestroy, ControlValueAccessor, Validator {
9
9
  private defaultLocale;
10
10
  private defaults;
11
11
  private clock;
@@ -57,9 +57,13 @@ export declare class WklyDateTimePickerComponent extends WklyPickerInputs implem
57
57
  private pendingValue;
58
58
  private emittedValue;
59
59
  private manualDateEndpoint;
60
+ private readonly formValue;
61
+ private readonly formDisabled;
62
+ private previousInputs?;
63
+ currentValue(): WklyPickerValue;
64
+ isDisabled(): boolean;
60
65
  constructor(defaultLocale: string, defaults: WklyConfiguration, clock: WklyClock, strings: WklyStrings, defaultTranslations: WklyTranslations, platform: Object, host: ElementRef<HTMLElement>, changeDetector: ChangeDetectorRef);
61
66
  ngOnInit(): void;
62
- ngOnChanges(changes: any): void;
63
67
  initialize(): void;
64
68
  configure(): void;
65
69
  private setSupportedScrollRange;
package/presentation.d.ts CHANGED
@@ -1,7 +1,6 @@
1
- import { ApplicationRef, ComponentFactoryResolver, ComponentRef, ElementRef, Injector, OnChanges, OnDestroy } from "@angular/core";
1
+ import { ApplicationRef, ComponentRef, ElementRef, EnvironmentInjector, Injector, OnDestroy } from "@angular/core";
2
2
  import { ControlValueAccessor, ValidationErrors, Validator } from "@angular/forms";
3
3
  import { WklyCalendarDate, WklyPickerValue } from "@wkly/adapters";
4
- import { Subscription } from "rxjs";
5
4
  import { WklyCloseReason, WklyJumpOptions, WklyPickerInputs } from "./config";
6
5
  import { WklyDateTimePickerComponent } from "./picker.component";
7
6
  import * as i0 from "@angular/core";
@@ -11,32 +10,37 @@ export interface WklyPresentationRef {
11
10
  }
12
11
  /** Native-dialog factory. Browser resources are allocated only by open(). */
13
12
  export declare class WklyDateTimePickerDialogService {
14
- private resolver;
15
- private injector;
13
+ private environmentInjector;
16
14
  private app;
17
15
  private document;
18
16
  private platform;
19
- constructor(resolver: ComponentFactoryResolver, injector: Injector, app: ApplicationRef, document: Document, platform: Object);
17
+ constructor(environmentInjector: EnvironmentInjector, app: ApplicationRef, document: Document, platform: Object);
20
18
  open(trigger: HTMLElement, onCancel: (reason: WklyCloseReason) => void, backdrop?: boolean, injector?: Injector): WklyPresentationRef;
21
19
  static ɵfac: i0.ɵɵFactoryDeclaration<WklyDateTimePickerDialogService, never>;
22
20
  static ɵprov: i0.ɵɵInjectableDeclaration<WklyDateTimePickerDialogService>;
23
21
  }
24
22
  /** Shared trigger lifecycle; optional presentation packages extend this class. */
25
- export declare abstract class WklyTriggerBase extends WklyPickerInputs implements ControlValueAccessor, Validator, OnChanges, OnDestroy {
23
+ export declare abstract class WklyTriggerBase extends WklyPickerInputs implements ControlValueAccessor, Validator, OnDestroy {
26
24
  protected element: ElementRef<HTMLElement>;
27
25
  protected ref: WklyPresentationRef | null;
28
- protected subscriptions: Subscription[];
26
+ protected subscriptions: {
27
+ unsubscribe(): void;
28
+ }[];
29
29
  private errors;
30
30
  private change;
31
31
  private touched;
32
32
  private validation;
33
+ private readonly formValue;
34
+ private readonly formDisabled;
35
+ private previousInputs?;
36
+ private currentValue;
37
+ private isDisabled;
33
38
  constructor(element: ElementRef<HTMLElement>);
34
39
  protected abstract create(): WklyPresentationRef;
35
40
  open(): void;
36
41
  key(event: KeyboardEvent): void;
37
42
  blur(): void;
38
43
  close(reason?: WklyCloseReason): void;
39
- ngOnChanges(): void;
40
44
  ngOnDestroy(): void;
41
45
  private copy;
42
46
  private display;
@@ -52,7 +56,7 @@ export declare abstract class WklyTriggerBase extends WklyPickerInputs implement
52
56
  scrollToCalendarDate(date: WklyCalendarDate, options?: WklyJumpOptions): void;
53
57
  scrollToValue(value: string, options?: WklyJumpOptions): void;
54
58
  static ɵfac: i0.ɵɵFactoryDeclaration<WklyTriggerBase, never>;
55
- static ɵdir: i0.ɵɵDirectiveDeclaration<WklyTriggerBase, never, never, {}, {}, never, never, false, never>;
59
+ static ɵdir: i0.ɵɵDirectiveDeclaration<WklyTriggerBase, never, never, {}, {}, never, never, true, never>;
56
60
  }
57
61
  export declare class WklyDateTimePickerDialogDirective extends WklyTriggerBase {
58
62
  private service;
@@ -1,142 +0,0 @@
1
- import { Directive, ElementRef, forwardRef, Injectable, Injector, NgModule, } from "@angular/core";
2
- import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from "@angular/forms";
3
- import { Overlay, OverlayModule } from "@angular/cdk/overlay";
4
- import { ComponentPortal } from "@angular/cdk/portal";
5
- import { FocusTrapFactory } from "@angular/cdk/a11y";
6
- import { WklyDateTimePickerComponent, WklyDateTimePickerModule, WklyTriggerBase, WklyPickerInputsPropertyKeys, } from "@wkly/datetime-picker";
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "@angular/cdk/overlay";
9
- import * as i2 from "@angular/cdk/a11y";
10
- export class WklyDateTimePickerOverlayService {
11
- overlay;
12
- injector;
13
- traps;
14
- constructor(overlay, injector, traps) {
15
- this.overlay = overlay;
16
- this.injector = injector;
17
- this.traps = traps;
18
- }
19
- open(trigger, onCancel, backdrop = true, injector) {
20
- const overlay = this.overlay.create({
21
- width: "390px",
22
- maxWidth: "100vw",
23
- maxHeight: "94vh",
24
- hasBackdrop: true,
25
- backdropClass: "cdk-overlay-transparent-backdrop",
26
- scrollStrategy: this.overlay.scrollStrategies.block(),
27
- positionStrategy: this.overlay
28
- .position()
29
- .flexibleConnectedTo(trigger)
30
- .withPush(true)
31
- .withFlexibleDimensions(false)
32
- .withLockedPosition(true)
33
- .withPositions([
34
- {
35
- originX: "start",
36
- originY: "bottom",
37
- overlayX: "start",
38
- overlayY: "top",
39
- offsetY: 6,
40
- },
41
- {
42
- originX: "start",
43
- originY: "top",
44
- overlayX: "start",
45
- overlayY: "bottom",
46
- offsetY: -6,
47
- },
48
- ]),
49
- });
50
- const component = overlay.attach(new ComponentPortal(WklyDateTimePickerComponent, null, injector || this.injector));
51
- component.instance.presentation = "transient";
52
- overlay.overlayElement.setAttribute("role", "dialog");
53
- overlay.overlayElement.setAttribute("aria-modal", "true");
54
- overlay.overlayElement.setAttribute("aria-label", "Date and time picker");
55
- overlay.overlayElement.style.overflow = "auto";
56
- const trap = this.traps.create(overlay.overlayElement);
57
- const sub = overlay.backdropClick().subscribe(() => {
58
- if (backdrop)
59
- onCancel("backdrop");
60
- });
61
- const key = overlay.keydownEvents().subscribe((event) => {
62
- if (event.key === "Escape") {
63
- event.preventDefault();
64
- onCancel("escape");
65
- }
66
- });
67
- return {
68
- component,
69
- destroy: () => {
70
- sub.unsubscribe();
71
- key.unsubscribe();
72
- trap.destroy();
73
- overlay.dispose();
74
- trigger.focus();
75
- },
76
- };
77
- }
78
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: WklyDateTimePickerOverlayService, deps: [{ token: i1.Overlay }, { token: i0.Injector }, { token: i2.FocusTrapFactory }], target: i0.ɵɵFactoryTarget.Injectable });
79
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: WklyDateTimePickerOverlayService, providedIn: "root" });
80
- }
81
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: WklyDateTimePickerOverlayService, decorators: [{
82
- type: Injectable,
83
- args: [{ providedIn: "root" }]
84
- }], ctorParameters: () => [{ type: i1.Overlay }, { type: i0.Injector }, { type: i2.FocusTrapFactory }] });
85
- export class WklyDateTimePickerOverlayDirective extends WklyTriggerBase {
86
- service;
87
- triggerInjector;
88
- constructor(element, service, triggerInjector) {
89
- super(element);
90
- this.service = service;
91
- this.triggerInjector = triggerInjector;
92
- }
93
- create() {
94
- return this.service.open(this.element.nativeElement, (reason) => this.close(reason), this[WklyPickerInputsPropertyKeys.CloseOnBackdrop], this.triggerInjector);
95
- }
96
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: WklyDateTimePickerOverlayDirective, deps: [{ token: i0.ElementRef }, { token: WklyDateTimePickerOverlayService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive });
97
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: WklyDateTimePickerOverlayDirective, selector: "[wklyDateTimePickerOverlay]", providers: [
98
- {
99
- provide: NG_VALUE_ACCESSOR,
100
- useExisting: forwardRef(() => WklyDateTimePickerOverlayDirective),
101
- multi: true,
102
- },
103
- {
104
- provide: NG_VALIDATORS,
105
- useExisting: forwardRef(() => WklyDateTimePickerOverlayDirective),
106
- multi: true,
107
- },
108
- ], exportAs: ["wklyOverlay"], usesInheritance: true, ngImport: i0 });
109
- }
110
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: WklyDateTimePickerOverlayDirective, decorators: [{
111
- type: Directive,
112
- args: [{
113
- selector: "[wklyDateTimePickerOverlay]",
114
- exportAs: "wklyOverlay",
115
- providers: [
116
- {
117
- provide: NG_VALUE_ACCESSOR,
118
- useExisting: forwardRef(() => WklyDateTimePickerOverlayDirective),
119
- multi: true,
120
- },
121
- {
122
- provide: NG_VALIDATORS,
123
- useExisting: forwardRef(() => WklyDateTimePickerOverlayDirective),
124
- multi: true,
125
- },
126
- ],
127
- }]
128
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: WklyDateTimePickerOverlayService }, { type: i0.Injector }] });
129
- export class WklyDateTimePickerOverlayModule {
130
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: WklyDateTimePickerOverlayModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
131
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: WklyDateTimePickerOverlayModule, declarations: [WklyDateTimePickerOverlayDirective], imports: [OverlayModule, WklyDateTimePickerModule], exports: [WklyDateTimePickerOverlayDirective] });
132
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: WklyDateTimePickerOverlayModule, imports: [OverlayModule, WklyDateTimePickerModule] });
133
- }
134
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: WklyDateTimePickerOverlayModule, decorators: [{
135
- type: NgModule,
136
- args: [{
137
- imports: [OverlayModule, WklyDateTimePickerModule],
138
- declarations: [WklyDateTimePickerOverlayDirective],
139
- exports: [WklyDateTimePickerOverlayDirective],
140
- }]
141
- }] });
142
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3drbHktZGF0ZXRpbWUtcGlja2VyLjE3L2Nkay1vdmVybGF5L3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsVUFBVSxFQUNWLFVBQVUsRUFDVixRQUFRLEVBQ1IsUUFBUSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzlELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNyRCxPQUFPLEVBQ0wsMkJBQTJCLEVBQzNCLHdCQUF3QixFQUd4QixlQUFlLEVBQ2YsNEJBQTRCLEdBQzdCLE1BQU0sdUJBQXVCLENBQUM7Ozs7QUFFL0IsTUFBTSxPQUFPLGdDQUFnQztJQUVqQztJQUNBO0lBQ0E7SUFIVixZQUNVLE9BQWdCLEVBQ2hCLFFBQWtCLEVBQ2xCLEtBQXVCO1FBRnZCLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFDaEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQixVQUFLLEdBQUwsS0FBSyxDQUFrQjtJQUM5QixDQUFDO0lBQ0osSUFBSSxDQUNGLE9BQW9CLEVBQ3BCLFFBQTJDLEVBQzNDLFFBQVEsR0FBRyxJQUFJLEVBQ2YsUUFBbUI7UUFFbkIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7WUFDbEMsS0FBSyxFQUFFLE9BQU87WUFDZCxRQUFRLEVBQUUsT0FBTztZQUNqQixTQUFTLEVBQUUsTUFBTTtZQUNqQixXQUFXLEVBQUUsSUFBSTtZQUNqQixhQUFhLEVBQUUsa0NBQWtDO1lBQ2pELGNBQWMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRTtZQUNyRCxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsT0FBTztpQkFDM0IsUUFBUSxFQUFFO2lCQUNWLG1CQUFtQixDQUFDLE9BQU8sQ0FBQztpQkFDNUIsUUFBUSxDQUFDLElBQUksQ0FBQztpQkFDZCxzQkFBc0IsQ0FBQyxLQUFLLENBQUM7aUJBQzdCLGtCQUFrQixDQUFDLElBQUksQ0FBQztpQkFDeEIsYUFBYSxDQUFDO2dCQUNiO29CQUNFLE9BQU8sRUFBRSxPQUFPO29CQUNoQixPQUFPLEVBQUUsUUFBUTtvQkFDakIsUUFBUSxFQUFFLE9BQU87b0JBQ2pCLFFBQVEsRUFBRSxLQUFLO29CQUNmLE9BQU8sRUFBRSxDQUFDO2lCQUNYO2dCQUNEO29CQUNFLE9BQU8sRUFBRSxPQUFPO29CQUNoQixPQUFPLEVBQUUsS0FBSztvQkFDZCxRQUFRLEVBQUUsT0FBTztvQkFDakIsUUFBUSxFQUFFLFFBQVE7b0JBQ2xCLE9BQU8sRUFBRSxDQUFDLENBQUM7aUJBQ1o7YUFDRixDQUFDO1NBQ0wsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FDOUIsSUFBSSxlQUFlLENBQ2pCLDJCQUEyQixFQUMzQixJQUFJLEVBQ0osUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQzFCLENBQ0YsQ0FBQztRQUNGLFNBQVMsQ0FBQyxRQUFRLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQztRQUM5QyxPQUFPLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDdEQsT0FBTyxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzFELE9BQU8sQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxzQkFBc0IsQ0FBQyxDQUFDO1FBQzFFLE9BQU8sQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUM7UUFDL0MsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3ZELE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxhQUFhLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2pELElBQUksUUFBUTtnQkFBRSxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDckMsQ0FBQyxDQUFDLENBQUM7UUFDSCxNQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsYUFBYSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDdEQsSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUMzQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3ZCLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNyQixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPO1lBQ0wsU0FBUztZQUNULE9BQU8sRUFBRSxHQUFHLEVBQUU7Z0JBQ1osR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUNsQixHQUFHLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ2xCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDZixPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2xCLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNsQixDQUFDO1NBQ0YsQ0FBQztJQUNKLENBQUM7d0dBMUVVLGdDQUFnQzs0R0FBaEMsZ0NBQWdDLGNBRG5CLE1BQU07OzRGQUNuQixnQ0FBZ0M7a0JBRDVDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOztBQTZGbEMsTUFBTSxPQUFPLGtDQUFtQyxTQUFRLGVBQWU7SUFHM0Q7SUFDQTtJQUhWLFlBQ0UsT0FBZ0MsRUFDeEIsT0FBeUMsRUFDekMsZUFBeUI7UUFFakMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBSFAsWUFBTyxHQUFQLE9BQU8sQ0FBa0M7UUFDekMsb0JBQWUsR0FBZixlQUFlLENBQVU7SUFHbkMsQ0FBQztJQUNTLE1BQU07UUFDZCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUN0QixJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFDMUIsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQzlCLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxlQUFlLENBQUMsRUFDbEQsSUFBSSxDQUFDLGVBQWUsQ0FDckIsQ0FBQztJQUNKLENBQUM7d0dBZlUsa0NBQWtDOzRGQUFsQyxrQ0FBa0Msc0RBYmxDO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxrQ0FBa0MsQ0FBQztnQkFDakUsS0FBSyxFQUFFLElBQUk7YUFDWjtZQUNEO2dCQUNFLE9BQU8sRUFBRSxhQUFhO2dCQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGtDQUFrQyxDQUFDO2dCQUNqRSxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0Y7OzRGQUVVLGtDQUFrQztrQkFoQjlDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDZCQUE2QjtvQkFDdkMsUUFBUSxFQUFFLGFBQWE7b0JBQ3ZCLFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxtQ0FBbUMsQ0FBQzs0QkFDakUsS0FBSyxFQUFFLElBQUk7eUJBQ1o7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLGFBQWE7NEJBQ3RCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLG1DQUFtQyxDQUFDOzRCQUNqRSxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjtpQkFDRjs7QUF1QkQsTUFBTSxPQUFPLCtCQUErQjt3R0FBL0IsK0JBQStCO3lHQUEvQiwrQkFBK0IsaUJBdEIvQixrQ0FBa0MsYUFrQm5DLGFBQWEsRUFBRSx3QkFBd0IsYUFsQnRDLGtDQUFrQzt5R0FzQmxDLCtCQUErQixZQUpoQyxhQUFhLEVBQUUsd0JBQXdCOzs0RkFJdEMsK0JBQStCO2tCQUwzQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLGFBQWEsRUFBRSx3QkFBd0IsQ0FBQztvQkFDbEQsWUFBWSxFQUFFLENBQUMsa0NBQWtDLENBQUM7b0JBQ2xELE9BQU8sRUFBRSxDQUFDLGtDQUFrQyxDQUFDO2lCQUM5QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBmb3J3YXJkUmVmLFxuICBJbmplY3RhYmxlLFxuICBJbmplY3RvcixcbiAgTmdNb2R1bGUsXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBOR19WQUxJREFUT1JTLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgT3ZlcmxheSwgT3ZlcmxheU1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jZGsvb3ZlcmxheVwiO1xuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9wb3J0YWxcIjtcbmltcG9ydCB7IEZvY3VzVHJhcEZhY3RvcnkgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL2ExMXlcIjtcbmltcG9ydCB7XG4gIFdrbHlEYXRlVGltZVBpY2tlckNvbXBvbmVudCxcbiAgV2tseURhdGVUaW1lUGlja2VyTW9kdWxlLFxuICBXa2x5Q2xvc2VSZWFzb24sXG4gIFdrbHlQcmVzZW50YXRpb25SZWYsXG4gIFdrbHlUcmlnZ2VyQmFzZSxcbiAgV2tseVBpY2tlcklucHV0c1Byb3BlcnR5S2V5cyxcbn0gZnJvbSBcIkB3a2x5L2RhdGV0aW1lLXBpY2tlclwiO1xuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiBcInJvb3RcIiB9KVxuZXhwb3J0IGNsYXNzIFdrbHlEYXRlVGltZVBpY2tlck92ZXJsYXlTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5LFxuICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgIHByaXZhdGUgdHJhcHM6IEZvY3VzVHJhcEZhY3RvcnksXG4gICkge31cbiAgb3BlbihcbiAgICB0cmlnZ2VyOiBIVE1MRWxlbWVudCxcbiAgICBvbkNhbmNlbDogKHJlYXNvbjogV2tseUNsb3NlUmVhc29uKSA9PiB2b2lkLFxuICAgIGJhY2tkcm9wID0gdHJ1ZSxcbiAgICBpbmplY3Rvcj86IEluamVjdG9yLFxuICApOiBXa2x5UHJlc2VudGF0aW9uUmVmIHtcbiAgICBjb25zdCBvdmVybGF5ID0gdGhpcy5vdmVybGF5LmNyZWF0ZSh7XG4gICAgICB3aWR0aDogXCIzOTBweFwiLFxuICAgICAgbWF4V2lkdGg6IFwiMTAwdndcIixcbiAgICAgIG1heEhlaWdodDogXCI5NHZoXCIsXG4gICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcbiAgICAgIGJhY2tkcm9wQ2xhc3M6IFwiY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3BcIixcbiAgICAgIHNjcm9sbFN0cmF0ZWd5OiB0aGlzLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5ibG9jaygpLFxuICAgICAgcG9zaXRpb25TdHJhdGVneTogdGhpcy5vdmVybGF5XG4gICAgICAgIC5wb3NpdGlvbigpXG4gICAgICAgIC5mbGV4aWJsZUNvbm5lY3RlZFRvKHRyaWdnZXIpXG4gICAgICAgIC53aXRoUHVzaCh0cnVlKVxuICAgICAgICAud2l0aEZsZXhpYmxlRGltZW5zaW9ucyhmYWxzZSlcbiAgICAgICAgLndpdGhMb2NrZWRQb3NpdGlvbih0cnVlKVxuICAgICAgICAud2l0aFBvc2l0aW9ucyhbXG4gICAgICAgICAge1xuICAgICAgICAgICAgb3JpZ2luWDogXCJzdGFydFwiLFxuICAgICAgICAgICAgb3JpZ2luWTogXCJib3R0b21cIixcbiAgICAgICAgICAgIG92ZXJsYXlYOiBcInN0YXJ0XCIsXG4gICAgICAgICAgICBvdmVybGF5WTogXCJ0b3BcIixcbiAgICAgICAgICAgIG9mZnNldFk6IDYsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBvcmlnaW5YOiBcInN0YXJ0XCIsXG4gICAgICAgICAgICBvcmlnaW5ZOiBcInRvcFwiLFxuICAgICAgICAgICAgb3ZlcmxheVg6IFwic3RhcnRcIixcbiAgICAgICAgICAgIG92ZXJsYXlZOiBcImJvdHRvbVwiLFxuICAgICAgICAgICAgb2Zmc2V0WTogLTYsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSksXG4gICAgfSk7XG4gICAgY29uc3QgY29tcG9uZW50ID0gb3ZlcmxheS5hdHRhY2goXG4gICAgICBuZXcgQ29tcG9uZW50UG9ydGFsKFxuICAgICAgICBXa2x5RGF0ZVRpbWVQaWNrZXJDb21wb25lbnQsXG4gICAgICAgIG51bGwsXG4gICAgICAgIGluamVjdG9yIHx8IHRoaXMuaW5qZWN0b3IsXG4gICAgICApLFxuICAgICk7XG4gICAgY29tcG9uZW50Lmluc3RhbmNlLnByZXNlbnRhdGlvbiA9IFwidHJhbnNpZW50XCI7XG4gICAgb3ZlcmxheS5vdmVybGF5RWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJyb2xlXCIsIFwiZGlhbG9nXCIpO1xuICAgIG92ZXJsYXkub3ZlcmxheUVsZW1lbnQuc2V0QXR0cmlidXRlKFwiYXJpYS1tb2RhbFwiLCBcInRydWVcIik7XG4gICAgb3ZlcmxheS5vdmVybGF5RWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJhcmlhLWxhYmVsXCIsIFwiRGF0ZSBhbmQgdGltZSBwaWNrZXJcIik7XG4gICAgb3ZlcmxheS5vdmVybGF5RWxlbWVudC5zdHlsZS5vdmVyZmxvdyA9IFwiYXV0b1wiO1xuICAgIGNvbnN0IHRyYXAgPSB0aGlzLnRyYXBzLmNyZWF0ZShvdmVybGF5Lm92ZXJsYXlFbGVtZW50KTtcbiAgICBjb25zdCBzdWIgPSBvdmVybGF5LmJhY2tkcm9wQ2xpY2soKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgaWYgKGJhY2tkcm9wKSBvbkNhbmNlbChcImJhY2tkcm9wXCIpO1xuICAgIH0pO1xuICAgIGNvbnN0IGtleSA9IG92ZXJsYXkua2V5ZG93bkV2ZW50cygpLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgIGlmIChldmVudC5rZXkgPT09IFwiRXNjYXBlXCIpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgb25DYW5jZWwoXCJlc2NhcGVcIik7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbXBvbmVudCxcbiAgICAgIGRlc3Ryb3k6ICgpID0+IHtcbiAgICAgICAgc3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIGtleS51bnN1YnNjcmliZSgpO1xuICAgICAgICB0cmFwLmRlc3Ryb3koKTtcbiAgICAgICAgb3ZlcmxheS5kaXNwb3NlKCk7XG4gICAgICAgIHRyaWdnZXIuZm9jdXMoKTtcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxufVxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiBcIlt3a2x5RGF0ZVRpbWVQaWNrZXJPdmVybGF5XVwiLFxuICBleHBvcnRBczogXCJ3a2x5T3ZlcmxheVwiLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFdrbHlEYXRlVGltZVBpY2tlck92ZXJsYXlEaXJlY3RpdmUpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gV2tseURhdGVUaW1lUGlja2VyT3ZlcmxheURpcmVjdGl2ZSksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBXa2x5RGF0ZVRpbWVQaWNrZXJPdmVybGF5RGlyZWN0aXZlIGV4dGVuZHMgV2tseVRyaWdnZXJCYXNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgZWxlbWVudDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgcHJpdmF0ZSBzZXJ2aWNlOiBXa2x5RGF0ZVRpbWVQaWNrZXJPdmVybGF5U2VydmljZSxcbiAgICBwcml2YXRlIHRyaWdnZXJJbmplY3RvcjogSW5qZWN0b3IsXG4gICkge1xuICAgIHN1cGVyKGVsZW1lbnQpO1xuICB9XG4gIHByb3RlY3RlZCBjcmVhdGUoKTogV2tseVByZXNlbnRhdGlvblJlZiB7XG4gICAgcmV0dXJuIHRoaXMuc2VydmljZS5vcGVuKFxuICAgICAgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsXG4gICAgICAocmVhc29uKSA9PiB0aGlzLmNsb3NlKHJlYXNvbiksXG4gICAgICB0aGlzW1drbHlQaWNrZXJJbnB1dHNQcm9wZXJ0eUtleXMuQ2xvc2VPbkJhY2tkcm9wXSxcbiAgICAgIHRoaXMudHJpZ2dlckluamVjdG9yLFxuICAgICk7XG4gIH1cbn1cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtPdmVybGF5TW9kdWxlLCBXa2x5RGF0ZVRpbWVQaWNrZXJNb2R1bGVdLFxuICBkZWNsYXJhdGlvbnM6IFtXa2x5RGF0ZVRpbWVQaWNrZXJPdmVybGF5RGlyZWN0aXZlXSxcbiAgZXhwb3J0czogW1drbHlEYXRlVGltZVBpY2tlck92ZXJsYXlEaXJlY3RpdmVdLFxufSlcbmV4cG9ydCBjbGFzcyBXa2x5RGF0ZVRpbWVQaWNrZXJPdmVybGF5TW9kdWxlIHt9XG4iXX0=
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2tseS1kYXRldGltZS1waWNrZXItY2RrLW92ZXJsYXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy93a2x5LWRhdGV0aW1lLXBpY2tlci4xNy9jZGstb3ZlcmxheS93a2x5LWRhdGV0aW1lLXBpY2tlci1jZGstb3ZlcmxheS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
@@ -1,97 +0,0 @@
1
- import { Directive, EventEmitter, InjectionToken, Input, Output, } from "@angular/core";
2
- import { DEFAULT_OVERSCAN_WEEKS, WklyPickerInputsPropertyKeys, WklyPickerOutputsPropertyKeys, } from "@wkly/presentation";
3
- import * as i0 from "@angular/core";
4
- export * from "@wkly/presentation";
5
- export const WKLY_CLOCK = new InjectionToken("WKLY_CLOCK", {
6
- providedIn: "root",
7
- factory: () => ({ now: () => new Date() }),
8
- });
9
- export const WKLY_CONFIG = new InjectionToken("WKLY_CONFIG", { providedIn: "root", factory: () => ({}) });
10
- export const WKLY_LOCALIZATION = new InjectionToken("WKLY_LOCALIZATION", { providedIn: "root", factory: () => ({}) });
11
- export const WKLY_TRANSLATIONS = new InjectionToken("WKLY_TRANSLATIONS", { providedIn: "root", factory: () => ({}) });
12
- /** Shared public inputs/outputs inherited by the picker and both trigger directives. */
13
- // Inherited inputs need literal names in published decorator metadata.
14
- export class WklyPickerInputs {
15
- [WklyPickerInputsPropertyKeys.Mode] = "datetime";
16
- [WklyPickerInputsPropertyKeys.Value] = null;
17
- [WklyPickerInputsPropertyKeys.CalendarAdapter];
18
- [WklyPickerInputsPropertyKeys.Locale] = "";
19
- [WklyPickerInputsPropertyKeys.WeekOffset] = null;
20
- [WklyPickerInputsPropertyKeys.ViewportPreset] = {
21
- kind: "full-month",
22
- };
23
- [WklyPickerInputsPropertyKeys.HourCycle] = "locale";
24
- [WklyPickerInputsPropertyKeys.ShowSeconds] = false;
25
- [WklyPickerInputsPropertyKeys.MinuteStep] = 1;
26
- [WklyPickerInputsPropertyKeys.SecondStep] = 1;
27
- [WklyPickerInputsPropertyKeys.Min] = null;
28
- [WklyPickerInputsPropertyKeys.Max] = null;
29
- [WklyPickerInputsPropertyKeys.IsDateDisabled] = null;
30
- [WklyPickerInputsPropertyKeys.IsTimeDisabled] = null;
31
- [WklyPickerInputsPropertyKeys.RangeValidator] = null;
32
- [WklyPickerInputsPropertyKeys.AllowRangeAcrossDisabled] = false;
33
- [WklyPickerInputsPropertyKeys.Required] = false;
34
- [WklyPickerInputsPropertyKeys.Disabled] = false;
35
- [WklyPickerInputsPropertyKeys.WeekLabelMode] = "locale";
36
- [WklyPickerInputsPropertyKeys.WeekLabelFormatter] = null;
37
- [WklyPickerInputsPropertyKeys.WeekCacheSize] = 256;
38
- [WklyPickerInputsPropertyKeys.OverscanWeeks] = DEFAULT_OVERSCAN_WEEKS;
39
- [WklyPickerInputsPropertyKeys.AriaLabel] = null;
40
- [WklyPickerInputsPropertyKeys.AriaDescribedBy] = null;
41
- [WklyPickerInputsPropertyKeys.InitialEpochDay] = null;
42
- [WklyPickerInputsPropertyKeys.CloseOnBackdrop] = true;
43
- [WklyPickerInputsPropertyKeys.Validators] = [];
44
- [WklyPickerInputsPropertyKeys.Translations] = null;
45
- [WklyPickerOutputsPropertyKeys.ValueChange] = new EventEmitter();
46
- [WklyPickerOutputsPropertyKeys.ValidationChange] = new EventEmitter(true);
47
- [WklyPickerOutputsPropertyKeys.Opened] = new EventEmitter();
48
- [WklyPickerOutputsPropertyKeys.Closed] = new EventEmitter();
49
- [WklyPickerOutputsPropertyKeys.ViewportChange] = new EventEmitter(true);
50
- [WklyPickerOutputsPropertyKeys.ViewModeChange] = new EventEmitter();
51
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: WklyPickerInputs, deps: [], target: i0.ɵɵFactoryTarget.Directive });
52
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: WklyPickerInputs, inputs: { mode: "mode", value: "value", calendarAdapter: "calendarAdapter", locale: "locale", weekOffset: "weekOffset", viewportPreset: "viewportPreset", hourCycle: "hourCycle", showSeconds: "showSeconds", minuteStep: "minuteStep", secondStep: "secondStep", min: "min", max: "max", isDateDisabled: "isDateDisabled", isTimeDisabled: "isTimeDisabled", rangeValidator: "rangeValidator", allowRangeAcrossDisabled: "allowRangeAcrossDisabled", required: "required", disabled: "disabled", weekLabelMode: "weekLabelMode", weekLabelFormatter: "weekLabelFormatter", weekCacheSize: "weekCacheSize", overscanWeeks: "overscanWeeks", ariaLabel: "ariaLabel", ariaDescribedBy: "ariaDescribedBy", initialEpochDay: "initialEpochDay", closeOnBackdrop: "closeOnBackdrop", validators: "validators", translations: "translations" }, outputs: { valueChange: "valueChange", validationChange: "validationChange", opened: "opened", closed: "closed", viewportChange: "viewportChange", viewModeChange: "viewModeChange" }, ngImport: i0 });
53
- }
54
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: WklyPickerInputs, decorators: [{
55
- type: Directive,
56
- args: [{
57
- inputs: [
58
- "mode",
59
- "value",
60
- "calendarAdapter",
61
- "locale",
62
- "weekOffset",
63
- "viewportPreset",
64
- "hourCycle",
65
- "showSeconds",
66
- "minuteStep",
67
- "secondStep",
68
- "min",
69
- "max",
70
- "isDateDisabled",
71
- "isTimeDisabled",
72
- "rangeValidator",
73
- "allowRangeAcrossDisabled",
74
- "required",
75
- "disabled",
76
- "weekLabelMode",
77
- "weekLabelFormatter",
78
- "weekCacheSize",
79
- "overscanWeeks",
80
- "ariaLabel",
81
- "ariaDescribedBy",
82
- "initialEpochDay",
83
- "closeOnBackdrop",
84
- "validators",
85
- "translations",
86
- ],
87
- outputs: [
88
- "valueChange",
89
- "validationChange",
90
- "opened",
91
- "closed",
92
- "viewportChange",
93
- "viewModeChange",
94
- ],
95
- }]
96
- }] });
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvd2tseS1kYXRldGltZS1waWNrZXIuMTcvc3JjL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixjQUFjLEVBQ2QsS0FBSyxFQUNMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQWV2QixPQUFPLEVBQ0wsc0JBQXNCLEVBU3RCLDRCQUE0QixFQUM1Qiw2QkFBNkIsR0FDOUIsTUFBTSxvQkFBb0IsQ0FBQzs7QUFDNUIsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsSUFBSSxjQUFjLENBQVksWUFBWSxFQUFFO0lBQ3BFLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksSUFBSSxFQUFFLEVBQUUsQ0FBQztDQUMzQyxDQUFDLENBQUM7QUFDSCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsSUFBSSxjQUFjLENBQzNDLGFBQWEsRUFDYixFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FDNUMsQ0FBQztBQUNGLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLElBQUksY0FBYyxDQUNqRCxtQkFBbUIsRUFDbkIsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQzVDLENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLGNBQWMsQ0FDakQsbUJBQW1CLEVBQ25CLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUM1QyxDQUFDO0FBQ0Ysd0ZBQXdGO0FBQ3hGLHVFQUF1RTtBQXlDdkUsTUFBTSxPQUFnQixnQkFBZ0I7SUFHM0IsQ0FBQyw0QkFBNEIsQ0FBQyxJQUFJLENBQUMsR0FBc0IsVUFBVSxDQUFDO0lBQ3BFLENBQUMsNEJBQTRCLENBQUMsS0FBSyxDQUFDLEdBQW9CLElBQUksQ0FBQztJQUM3RCxDQUFDLDRCQUE0QixDQUFDLGVBQWUsQ0FBQyxDQUF1QjtJQUNyRSxDQUFDLDRCQUE0QixDQUFDLE1BQU0sQ0FBQyxHQUFXLEVBQUUsQ0FBQztJQUNuRCxDQUFDLDRCQUE0QixDQUFDLFVBQVUsQ0FBQyxHQUNoRCxJQUFJLENBQUM7SUFDRSxDQUFDLDRCQUE0QixDQUFDLGNBQWMsQ0FBQyxHQUF1QjtRQUMzRSxJQUFJLEVBQUUsWUFBWTtLQUNuQixDQUFDO0lBQ08sQ0FBQyw0QkFBNEIsQ0FBQyxTQUFTLENBQUMsR0FBa0IsUUFBUSxDQUFDO0lBQ25FLENBQUMsNEJBQTRCLENBQUMsV0FBVyxDQUFDLEdBQVksS0FBSyxDQUFDO0lBQzVELENBQUMsNEJBQTRCLENBQUMsVUFBVSxDQUFDLEdBQVcsQ0FBQyxDQUFDO0lBQ3RELENBQUMsNEJBQTRCLENBQUMsVUFBVSxDQUFDLEdBQVcsQ0FBQyxDQUFDO0lBQ3RELENBQUMsNEJBQTRCLENBQUMsR0FBRyxDQUFDLEdBQWtCLElBQUksQ0FBQztJQUN6RCxDQUFDLDRCQUE0QixDQUFDLEdBQUcsQ0FBQyxHQUFrQixJQUFJLENBQUM7SUFFbEUsQ0FBQyw0QkFBNEIsQ0FBQyxjQUFjLENBQUMsR0FDM0MsSUFBSSxDQUFDO0lBRVAsQ0FBQyw0QkFBNEIsQ0FBQyxjQUFjLENBQUMsR0FDM0MsSUFBSSxDQUFDO0lBRVAsQ0FBQyw0QkFBNEIsQ0FBQyxjQUFjLENBQUMsR0FDM0MsSUFBSSxDQUFDO0lBQ0UsQ0FBQyw0QkFBNEIsQ0FBQyx3QkFBd0IsQ0FBQyxHQUFHLEtBQUssQ0FBQztJQUNoRSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxHQUFHLEtBQUssQ0FBQztJQUNoRCxDQUFDLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxHQUFHLEtBQUssQ0FBQztJQUNoRCxDQUFDLDRCQUE0QixDQUFDLGFBQWEsQ0FBQyxHQUNuRCxRQUFRLENBQUM7SUFFWCxDQUFDLDRCQUE0QixDQUFDLGtCQUFrQixDQUFDLEdBQy9DLElBQUksQ0FBQztJQUNFLENBQUMsNEJBQTRCLENBQUMsYUFBYSxDQUFDLEdBQUcsR0FBRyxDQUFDO0lBQ25ELENBQUMsNEJBQTRCLENBQUMsYUFBYSxDQUFDLEdBQ25ELHNCQUFzQixDQUFDO0lBQ2hCLENBQUMsNEJBQTRCLENBQUMsU0FBUyxDQUFDLEdBQWtCLElBQUksQ0FBQztJQUMvRCxDQUFDLDRCQUE0QixDQUFDLGVBQWUsQ0FBQyxHQUFrQixJQUFJLENBQUM7SUFDckUsQ0FBQyw0QkFBNEIsQ0FBQyxlQUFlLENBQUMsR0FBa0IsSUFBSSxDQUFDO0lBQ3JFLENBQUMsNEJBQTRCLENBQUMsZUFBZSxDQUFDLEdBQUcsSUFBSSxDQUFDO0lBQ3RELENBQUMsNEJBQTRCLENBQUMsVUFBVSxDQUFDLEdBRWIsRUFBRSxDQUFDO0lBRXhDLENBQUMsNEJBQTRCLENBQUMsWUFBWSxDQUFDLEdBQTRCLElBQUksQ0FBQztJQUNsRSxDQUFDLDZCQUE2QixDQUFDLFdBQVcsQ0FBQyxHQUNuRCxJQUFJLFlBQVksRUFBbUIsQ0FBQztJQUM1QixDQUFDLDZCQUE2QixDQUFDLGdCQUFnQixDQUFDLEdBQUcsSUFBSSxZQUFZLENBRTNFLElBQUksQ0FBQyxDQUFDO0lBQ0UsQ0FBQyw2QkFBNkIsQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0lBQ2xFLENBQUMsNkJBQTZCLENBQUMsTUFBTSxDQUFDLEdBQzlDLElBQUksWUFBWSxFQUFtQixDQUFDO0lBQzVCLENBQUMsNkJBQTZCLENBQUMsY0FBYyxDQUFDLEdBQ3RELElBQUksWUFBWSxDQUFxQixJQUFJLENBQUMsQ0FBQztJQUNuQyxDQUFDLDZCQUE2QixDQUFDLGNBQWMsQ0FBQyxHQUFHLElBQUksWUFBWSxFQUV4RSxDQUFDO3dHQTNEZ0IsZ0JBQWdCOzRGQUFoQixnQkFBZ0I7OzRGQUFoQixnQkFBZ0I7a0JBeENyQyxTQUFTO21CQUFDO29CQUNULE1BQU0sRUFBRTt3QkFDTixNQUFNO3dCQUNOLE9BQU87d0JBQ1AsaUJBQWlCO3dCQUNqQixRQUFRO3dCQUNSLFlBQVk7d0JBQ1osZ0JBQWdCO3dCQUNoQixXQUFXO3dCQUNYLGFBQWE7d0JBQ2IsWUFBWTt3QkFDWixZQUFZO3dCQUNaLEtBQUs7d0JBQ0wsS0FBSzt3QkFDTCxnQkFBZ0I7d0JBQ2hCLGdCQUFnQjt3QkFDaEIsZ0JBQWdCO3dCQUNoQiwwQkFBMEI7d0JBQzFCLFVBQVU7d0JBQ1YsVUFBVTt3QkFDVixlQUFlO3dCQUNmLG9CQUFvQjt3QkFDcEIsZUFBZTt3QkFDZixlQUFlO3dCQUNmLFdBQVc7d0JBQ1gsaUJBQWlCO3dCQUNqQixpQkFBaUI7d0JBQ2pCLGlCQUFpQjt3QkFDakIsWUFBWTt3QkFDWixjQUFjO3FCQUNmO29CQUNELE9BQU8sRUFBRTt3QkFDUCxhQUFhO3dCQUNiLGtCQUFrQjt3QkFDbEIsUUFBUTt3QkFDUixRQUFRO3dCQUNSLGdCQUFnQjt3QkFDaEIsZ0JBQWdCO3FCQUNqQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIERpcmVjdGl2ZSxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbmplY3Rpb25Ub2tlbixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFdrbHlXZWVrT2Zmc2V0IH0gZnJvbSBcIkB3a2x5L2NvcmVcIjtcbmltcG9ydCB7XG4gIFdrbHlDYWxlbmRhckFkYXB0ZXIsXG4gIFdrbHlEaXNhYmxlZERhdGVQcmVkaWNhdGUsXG4gIFdrbHlEaXNhYmxlZFRpbWVQcmVkaWNhdGUsXG4gIFdrbHlIb3VyQ3ljbGUsXG4gIFdrbHlQaWNrZXJWYWx1ZSxcbiAgV2tseVJhbmdlVmFsaWRhdG9yLFxuICBXa2x5U2VsZWN0aW9uTW9kZSxcbiAgV2tseVZhbGlkYXRpb25FcnJvcixcbiAgV2tseVZpZXdwb3J0UHJlc2V0LFxuICBXa2x5V2Vla0xhYmVsRm9ybWF0dGVyLFxuICBXa2x5V2Vla0xhYmVsTW9kZSxcbn0gZnJvbSBcIkB3a2x5L2FkYXB0ZXJzXCI7XG5pbXBvcnQge1xuICBERUZBVUxUX09WRVJTQ0FOX1dFRUtTLFxuICBXa2x5Q2xvY2ssXG4gIFdrbHlDb25maWd1cmF0aW9uLFxuICBXa2x5Q2xvc2VSZWFzb24sXG4gIFdrbHlQaWNrZXJJbnB1dHMgYXMgV2tseVBpY2tlcklucHV0c0NvbnRyYWN0LFxuICBXa2x5UGlja2VyT3V0cHV0cyBhcyBXa2x5UGlja2VyT3V0cHV0c0NvbnRyYWN0LFxuICBXa2x5U3RyaW5ncyxcbiAgV2tseVRyYW5zbGF0aW9ucyxcbiAgV2tseVZpZXdwb3J0Q2hhbmdlLFxuICBXa2x5UGlja2VySW5wdXRzUHJvcGVydHlLZXlzLFxuICBXa2x5UGlja2VyT3V0cHV0c1Byb3BlcnR5S2V5cyxcbn0gZnJvbSBcIkB3a2x5L3ByZXNlbnRhdGlvblwiO1xuZXhwb3J0ICogZnJvbSBcIkB3a2x5L3ByZXNlbnRhdGlvblwiO1xuZXhwb3J0IGNvbnN0IFdLTFlfQ0xPQ0sgPSBuZXcgSW5qZWN0aW9uVG9rZW48V2tseUNsb2NrPihcIldLTFlfQ0xPQ0tcIiwge1xuICBwcm92aWRlZEluOiBcInJvb3RcIixcbiAgZmFjdG9yeTogKCkgPT4gKHsgbm93OiAoKSA9PiBuZXcgRGF0ZSgpIH0pLFxufSk7XG5leHBvcnQgY29uc3QgV0tMWV9DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48V2tseUNvbmZpZ3VyYXRpb24+KFxuICBcIldLTFlfQ09ORklHXCIsXG4gIHsgcHJvdmlkZWRJbjogXCJyb290XCIsIGZhY3Rvcnk6ICgpID0+ICh7fSkgfSxcbik7XG5leHBvcnQgY29uc3QgV0tMWV9MT0NBTElaQVRJT04gPSBuZXcgSW5qZWN0aW9uVG9rZW48V2tseVN0cmluZ3M+KFxuICBcIldLTFlfTE9DQUxJWkFUSU9OXCIsXG4gIHsgcHJvdmlkZWRJbjogXCJyb290XCIsIGZhY3Rvcnk6ICgpID0+ICh7fSkgfSxcbik7XG5leHBvcnQgY29uc3QgV0tMWV9UUkFOU0xBVElPTlMgPSBuZXcgSW5qZWN0aW9uVG9rZW48V2tseVRyYW5zbGF0aW9ucz4oXG4gIFwiV0tMWV9UUkFOU0xBVElPTlNcIixcbiAgeyBwcm92aWRlZEluOiBcInJvb3RcIiwgZmFjdG9yeTogKCkgPT4gKHt9KSB9LFxuKTtcbi8qKiBTaGFyZWQgcHVibGljIGlucHV0cy9vdXRwdXRzIGluaGVyaXRlZCBieSB0aGUgcGlja2VyIGFuZCBib3RoIHRyaWdnZXIgZGlyZWN0aXZlcy4gKi9cbi8vIEluaGVyaXRlZCBpbnB1dHMgbmVlZCBsaXRlcmFsIG5hbWVzIGluIHB1Ymxpc2hlZCBkZWNvcmF0b3IgbWV0YWRhdGEuXG5ARGlyZWN0aXZlKHtcbiAgaW5wdXRzOiBbXG4gICAgXCJtb2RlXCIsXG4gICAgXCJ2YWx1ZVwiLFxuICAgIFwiY2FsZW5kYXJBZGFwdGVyXCIsXG4gICAgXCJsb2NhbGVcIixcbiAgICBcIndlZWtPZmZzZXRcIixcbiAgICBcInZpZXdwb3J0UHJlc2V0XCIsXG4gICAgXCJob3VyQ3ljbGVcIixcbiAgICBcInNob3dTZWNvbmRzXCIsXG4gICAgXCJtaW51dGVTdGVwXCIsXG4gICAgXCJzZWNvbmRTdGVwXCIsXG4gICAgXCJtaW5cIixcbiAgICBcIm1heFwiLFxuICAgIFwiaXNEYXRlRGlzYWJsZWRcIixcbiAgICBcImlzVGltZURpc2FibGVkXCIsXG4gICAgXCJyYW5nZVZhbGlkYXRvclwiLFxuICAgIFwiYWxsb3dSYW5nZUFjcm9zc0Rpc2FibGVkXCIsXG4gICAgXCJyZXF1aXJlZFwiLFxuICAgIFwiZGlzYWJsZWRcIixcbiAgICBcIndlZWtMYWJlbE1vZGVcIixcbiAgICBcIndlZWtMYWJlbEZvcm1hdHRlclwiLFxuICAgIFwid2Vla0NhY2hlU2l6ZVwiLFxuICAgIFwib3ZlcnNjYW5XZWVrc1wiLFxuICAgIFwiYXJpYUxhYmVsXCIsXG4gICAgXCJhcmlhRGVzY3JpYmVkQnlcIixcbiAgICBcImluaXRpYWxFcG9jaERheVwiLFxuICAgIFwiY2xvc2VPbkJhY2tkcm9wXCIsXG4gICAgXCJ2YWxpZGF0b3JzXCIsXG4gICAgXCJ0cmFuc2xhdGlvbnNcIixcbiAgXSxcbiAgb3V0cHV0czogW1xuICAgIFwidmFsdWVDaGFuZ2VcIixcbiAgICBcInZhbGlkYXRpb25DaGFuZ2VcIixcbiAgICBcIm9wZW5lZFwiLFxuICAgIFwiY2xvc2VkXCIsXG4gICAgXCJ2aWV3cG9ydENoYW5nZVwiLFxuICAgIFwidmlld01vZGVDaGFuZ2VcIixcbiAgXSxcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgV2tseVBpY2tlcklucHV0c1xuICBpbXBsZW1lbnRzIFdrbHlQaWNrZXJJbnB1dHNDb250cmFjdCwgV2tseVBpY2tlck91dHB1dHNDb250cmFjdFxue1xuICBASW5wdXQoKSBbV2tseVBpY2tlcklucHV0c1Byb3BlcnR5S2V5cy5Nb2RlXTogV2tseVNlbGVjdGlvbk1vZGUgPSBcImRhdGV0aW1lXCI7XG4gIEBJbnB1dCgpIFtXa2x5UGlja2VySW5wdXRzUHJvcGVydHlLZXlzLlZhbHVlXTogV2tseVBpY2tlclZhbHVlID0gbnVsbDtcbiAgQElucHV0KCkgW1drbHlQaWNrZXJJbnB1dHNQcm9wZXJ0eUtleXMuQ2FsZW5kYXJBZGFwdGVyXSE6IFdrbHlDYWxlbmRhckFkYXB0ZXI7XG4gIEBJbnB1dCgpIFtXa2x5UGlja2VySW5wdXRzUHJvcGVydHlLZXlzLkxvY2FsZV06IHN0cmluZyA9IFwiXCI7XG4gIEBJbnB1dCgpIFtXa2x5UGlja2VySW5wdXRzUHJvcGVydHlLZXlzLldlZWtPZmZzZXRdOiBXa2x5V2Vla09mZnNldCB8IG51bGwgPVxuICAgIG51bGw7XG4gIEBJbnB1dCgpIFtXa2x5UGlja2VySW5wdXRzUHJvcGVydHlLZXlzLlZpZXdwb3J0UHJlc2V0XTogV2tseVZpZXdwb3J0UHJlc2V0ID0ge1xuICAgIGtpbmQ6IFwiZnVsbC1tb250aFwiLFxuICB9O1xuICBASW5wdXQoKSBbV2tseVBpY2tlcklucHV0c1Byb3BlcnR5S2V5cy5Ib3VyQ3ljbGVdOiBXa2x5SG91ckN5Y2xlID0gXCJsb2NhbGVcIjtcbiAgQElucHV0KCkgW1drbHlQaWNrZXJJbnB1dHNQcm9wZXJ0eUtleXMuU2hvd1NlY29uZHNdOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIFtXa2x5UGlja2VySW5wdXRzUHJvcGVydHlLZXlzLk1pbnV0ZVN0ZXBdOiBudW1iZXIgPSAxO1xuICBASW5wdXQoKSBbV2tseVBpY2tlcklucHV0c1Byb3BlcnR5S2V5cy5TZWNvbmRTdGVwXTogbnVtYmVyID0gMTtcbiAgQElucHV0KCkgW1drbHlQaWNrZXJJbnB1dHNQcm9wZXJ0eUtleXMuTWluXTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIEBJbnB1dCgpIFtXa2x5UGlja2VySW5wdXRzUHJvcGVydHlLZXlzLk1heF06IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoKVxuICBbV2tseVBpY2tlcklucHV0c1Byb3BlcnR5S2V5cy5Jc0RhdGVEaXNhYmxlZF06IFdrbHlEaXNhYmxlZERhdGVQcmVkaWNhdGUgfCBudWxsID1cbiAgICBudWxsO1xuICBASW5wdXQoKVxuICBbV2tseVBpY2tlcklucHV0c1Byb3BlcnR5S2V5cy5Jc1RpbWVEaXNhYmxlZF06IFdrbHlEaXNhYmxlZFRpbWVQcmVkaWNhdGUgfCBudWxsID1cbiAgICBudWxsO1xuICBASW5wdXQoKVxuICBbV2tseVBpY2tlcklucHV0c1Byb3BlcnR5S2V5cy5SYW5nZVZhbGlkYXRvcl06IFdrbHlSYW5nZVZhbGlkYXRvciB8IG51bGwgPVxuICAgIG51bGw7XG4gIEBJbnB1dCgpIFtXa2x5UGlja2VySW5wdXRzUHJvcGVydHlLZXlzLkFsbG93UmFuZ2VBY3Jvc3NEaXNhYmxlZF0gPSBmYWxzZTtcbiAgQElucHV0KCkgW1drbHlQaWNrZXJJbnB1dHNQcm9wZXJ0eUtleXMuUmVxdWlyZWRdID0gZmFsc2U7XG4gIEBJbnB1dCgpIFtXa2x5UGlja2VySW5wdXRzUHJvcGVydHlLZXlzLkRpc2FibGVkXSA9IGZhbHNlO1xuICBASW5wdXQoKSBbV2tseVBpY2tlcklucHV0c1Byb3BlcnR5S2V5cy5XZWVrTGFiZWxNb2RlXTogV2tseVdlZWtMYWJlbE1vZGUgPVxuICAgIFwibG9jYWxlXCI7XG4gIEBJbnB1dCgpXG4gIFtXa2x5UGlja2VySW5wdXRzUHJvcGVydHlLZXlzLldlZWtMYWJlbEZvcm1hdHRlcl06IFdrbHlXZWVrTGFiZWxGb3JtYXR0ZXIgfCBudWxsID1cbiAgICBudWxsO1xuICBASW5wdXQoKSBbV2tseVBpY2tlcklucHV0c1Byb3BlcnR5S2V5cy5XZWVrQ2FjaGVTaXplXSA9IDI1NjtcbiAgQElucHV0KCkgW1drbHlQaWNrZXJJbnB1dHNQcm9wZXJ0eUtleXMuT3ZlcnNjYW5XZWVrc10gPVxuICAgIERFRkFVTFRfT1ZFUlNDQU5fV0VFS1M7XG4gIEBJbnB1dCgpIFtXa2x5UGlja2VySW5wdXRzUHJvcGVydHlLZXlzLkFyaWFMYWJlbF06IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoKSBbV2tseVBpY2tlcklucHV0c1Byb3BlcnR5S2V5cy5BcmlhRGVzY3JpYmVkQnldOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgQElucHV0KCkgW1drbHlQaWNrZXJJbnB1dHNQcm9wZXJ0eUtleXMuSW5pdGlhbEVwb2NoRGF5XTogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG4gIEBJbnB1dCgpIFtXa2x5UGlja2VySW5wdXRzUHJvcGVydHlLZXlzLkNsb3NlT25CYWNrZHJvcF0gPSB0cnVlO1xuICBASW5wdXQoKSBbV2tseVBpY2tlcklucHV0c1Byb3BlcnR5S2V5cy5WYWxpZGF0b3JzXTogcmVhZG9ubHkgKChcbiAgICB2YWx1ZTogV2tseVBpY2tlclZhbHVlLFxuICApID0+IFdrbHlWYWxpZGF0aW9uRXJyb3IgfCBudWxsKVtdID0gW107XG4gIEBJbnB1dCgpXG4gIFtXa2x5UGlja2VySW5wdXRzUHJvcGVydHlLZXlzLlRyYW5zbGF0aW9uc106IFdrbHlUcmFuc2xhdGlvbnMgfCBudWxsID0gbnVsbDtcbiAgQE91dHB1dCgpIFtXa2x5UGlja2VyT3V0cHV0c1Byb3BlcnR5S2V5cy5WYWx1ZUNoYW5nZV0gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8V2tseVBpY2tlclZhbHVlPigpO1xuICBAT3V0cHV0KCkgW1drbHlQaWNrZXJPdXRwdXRzUHJvcGVydHlLZXlzLlZhbGlkYXRpb25DaGFuZ2VdID0gbmV3IEV2ZW50RW1pdHRlcjxcbiAgICByZWFkb25seSBXa2x5VmFsaWRhdGlvbkVycm9yW11cbiAgPih0cnVlKTtcbiAgQE91dHB1dCgpIFtXa2x5UGlja2VyT3V0cHV0c1Byb3BlcnR5S2V5cy5PcGVuZWRdID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgW1drbHlQaWNrZXJPdXRwdXRzUHJvcGVydHlLZXlzLkNsb3NlZF0gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8V2tseUNsb3NlUmVhc29uPigpO1xuICBAT3V0cHV0KCkgW1drbHlQaWNrZXJPdXRwdXRzUHJvcGVydHlLZXlzLlZpZXdwb3J0Q2hhbmdlXSA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjxXa2x5Vmlld3BvcnRDaGFuZ2U+KHRydWUpO1xuICBAT3V0cHV0KCkgW1drbHlQaWNrZXJPdXRwdXRzUHJvcGVydHlLZXlzLlZpZXdNb2RlQ2hhbmdlXSA9IG5ldyBFdmVudEVtaXR0ZXI8XG4gICAgXCJjYWxlbmRhclwiIHwgXCJtYW51YWxcIlxuICA+KCk7XG59XG4iXX0=