@skyux/colorpicker 6.0.0-beta.2 → 6.0.0-beta.5

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.
@@ -2147,7 +2147,7 @@
2147
2147
  "sources": [
2148
2148
  {
2149
2149
  "fileName": "projects/colorpicker/src/modules/colorpicker/colorpicker-input.directive.ts",
2150
- "line": 131,
2150
+ "line": 130,
2151
2151
  "character": 2
2152
2152
  }
2153
2153
  ],
@@ -2261,7 +2261,7 @@
2261
2261
  "sources": [
2262
2262
  {
2263
2263
  "fileName": "projects/colorpicker/src/modules/colorpicker/colorpicker-input.directive.ts",
2264
- "line": 125,
2264
+ "line": 124,
2265
2265
  "character": 9
2266
2266
  }
2267
2267
  ],
@@ -2303,7 +2303,7 @@
2303
2303
  "sources": [
2304
2304
  {
2305
2305
  "fileName": "projects/colorpicker/src/modules/colorpicker/colorpicker-input.directive.ts",
2306
- "line": 118,
2306
+ "line": 117,
2307
2307
  "character": 9
2308
2308
  }
2309
2309
  ],
@@ -2345,7 +2345,7 @@
2345
2345
  "sources": [
2346
2346
  {
2347
2347
  "fileName": "projects/colorpicker/src/modules/colorpicker/colorpicker-input.directive.ts",
2348
- "line": 104,
2348
+ "line": 103,
2349
2349
  "character": 9
2350
2350
  }
2351
2351
  ],
@@ -2366,7 +2366,7 @@
2366
2366
  "sources": [
2367
2367
  {
2368
2368
  "fileName": "projects/colorpicker/src/modules/colorpicker/colorpicker-input.directive.ts",
2369
- "line": 56,
2369
+ "line": 55,
2370
2370
  "character": 9
2371
2371
  }
2372
2372
  ],
@@ -2403,7 +2403,7 @@
2403
2403
  "sources": [
2404
2404
  {
2405
2405
  "fileName": "projects/colorpicker/src/modules/colorpicker/colorpicker-input.directive.ts",
2406
- "line": 111,
2406
+ "line": 110,
2407
2407
  "character": 9
2408
2408
  }
2409
2409
  ],
@@ -2452,7 +2452,7 @@
2452
2452
  "sources": [
2453
2453
  {
2454
2454
  "fileName": "projects/colorpicker/src/modules/colorpicker/colorpicker-input.directive.ts",
2455
- "line": 94,
2455
+ "line": 93,
2456
2456
  "character": 9
2457
2457
  }
2458
2458
  ],
@@ -2494,7 +2494,7 @@
2494
2494
  "sources": [
2495
2495
  {
2496
2496
  "fileName": "projects/colorpicker/src/modules/colorpicker/colorpicker-input.directive.ts",
2497
- "line": 65,
2497
+ "line": 64,
2498
2498
  "character": 9
2499
2499
  }
2500
2500
  ],
@@ -2527,7 +2527,7 @@
2527
2527
  "sources": [
2528
2528
  {
2529
2529
  "fileName": "projects/colorpicker/src/modules/colorpicker/colorpicker-input.directive.ts",
2530
- "line": 75,
2530
+ "line": 74,
2531
2531
  "character": 13
2532
2532
  }
2533
2533
  ],
@@ -2615,7 +2615,7 @@
2615
2615
  "sources": [
2616
2616
  {
2617
2617
  "fileName": "projects/colorpicker/src/modules/colorpicker/colorpicker-input.directive.ts",
2618
- "line": 140,
2618
+ "line": 139,
2619
2619
  "character": 9
2620
2620
  }
2621
2621
  ],
@@ -2657,7 +2657,7 @@
2657
2657
  "sources": [
2658
2658
  {
2659
2659
  "fileName": "projects/colorpicker/src/modules/colorpicker/colorpicker-input.directive.ts",
2660
- "line": 225,
2660
+ "line": 224,
2661
2661
  "character": 9
2662
2662
  }
2663
2663
  ],
@@ -2694,7 +2694,7 @@
2694
2694
  "sources": [
2695
2695
  {
2696
2696
  "fileName": "projects/colorpicker/src/modules/colorpicker/colorpicker-input.directive.ts",
2697
- "line": 209,
2697
+ "line": 208,
2698
2698
  "character": 9
2699
2699
  }
2700
2700
  ],
@@ -2731,7 +2731,7 @@
2731
2731
  "sources": [
2732
2732
  {
2733
2733
  "fileName": "projects/colorpicker/src/modules/colorpicker/colorpicker-input.directive.ts",
2734
- "line": 162,
2734
+ "line": 161,
2735
2735
  "character": 9
2736
2736
  }
2737
2737
  ],
@@ -2782,7 +2782,7 @@
2782
2782
  "sources": [
2783
2783
  {
2784
2784
  "fileName": "projects/colorpicker/src/modules/colorpicker/colorpicker-input.directive.ts",
2785
- "line": 157,
2785
+ "line": 156,
2786
2786
  "character": 9
2787
2787
  }
2788
2788
  ],
@@ -2826,7 +2826,7 @@
2826
2826
  "sources": [
2827
2827
  {
2828
2828
  "fileName": "projects/colorpicker/src/modules/colorpicker/colorpicker-input.directive.ts",
2829
- "line": 147,
2829
+ "line": 146,
2830
2830
  "character": 9
2831
2831
  }
2832
2832
  ],
@@ -2868,7 +2868,7 @@
2868
2868
  "sources": [
2869
2869
  {
2870
2870
  "fileName": "projects/colorpicker/src/modules/colorpicker/colorpicker-input.directive.ts",
2871
- "line": 231,
2871
+ "line": 230,
2872
2872
  "character": 9
2873
2873
  }
2874
2874
  ],
@@ -2950,7 +2950,7 @@
2950
2950
  "sources": [
2951
2951
  {
2952
2952
  "fileName": "projects/colorpicker/src/modules/colorpicker/colorpicker-input.directive.ts",
2953
- "line": 234,
2953
+ "line": 233,
2954
2954
  "character": 9
2955
2955
  }
2956
2956
  ],
@@ -3019,7 +3019,7 @@
3019
3019
  "sources": [
3020
3020
  {
3021
3021
  "fileName": "projects/colorpicker/src/modules/colorpicker/colorpicker-input.directive.ts",
3022
- "line": 237,
3022
+ "line": 236,
3023
3023
  "character": 9
3024
3024
  }
3025
3025
  ],
@@ -3088,7 +3088,7 @@
3088
3088
  "sources": [
3089
3089
  {
3090
3090
  "fileName": "projects/colorpicker/src/modules/colorpicker/colorpicker-input.directive.ts",
3091
- "line": 213,
3091
+ "line": 212,
3092
3092
  "character": 9
3093
3093
  }
3094
3094
  ],
@@ -3117,7 +3117,7 @@
3117
3117
  "sources": [
3118
3118
  {
3119
3119
  "fileName": "projects/colorpicker/src/modules/colorpicker/colorpicker-input.directive.ts",
3120
- "line": 274,
3120
+ "line": 273,
3121
3121
  "character": 9
3122
3122
  }
3123
3123
  ],
@@ -3170,7 +3170,7 @@
3170
3170
  "sources": [
3171
3171
  {
3172
3172
  "fileName": "projects/colorpicker/src/modules/colorpicker/colorpicker-input.directive.ts",
3173
- "line": 263,
3173
+ "line": 262,
3174
3174
  "character": 9
3175
3175
  }
3176
3176
  ],
@@ -3251,7 +3251,7 @@
3251
3251
  "sources": [
3252
3252
  {
3253
3253
  "fileName": "projects/colorpicker/src/modules/colorpicker/colorpicker-input.directive.ts",
3254
- "line": 241,
3254
+ "line": 240,
3255
3255
  "character": 9
3256
3256
  }
3257
3257
  ],
@@ -3342,7 +3342,7 @@
3342
3342
  "sources": [
3343
3343
  {
3344
3344
  "fileName": "projects/colorpicker/src/modules/colorpicker/colorpicker-input.directive.ts",
3345
- "line": 53,
3345
+ "line": 52,
3346
3346
  "character": 13
3347
3347
  }
3348
3348
  ],
@@ -6,7 +6,6 @@ import { SkyColorpickerService } from './colorpicker.service';
6
6
  import * as i0 from "@angular/core";
7
7
  import * as i1 from "./colorpicker.service";
8
8
  import * as i2 from "@skyux/i18n";
9
- // tslint:disable:no-forward-ref no-use-before-declare
10
9
  const SKY_COLORPICKER_VALUE_ACCESSOR = {
11
10
  provide: NG_VALUE_ACCESSOR,
12
11
  useExisting: forwardRef(() => SkyColorpickerInputDirective),
@@ -17,7 +16,6 @@ const SKY_COLORPICKER_VALIDATOR = {
17
16
  useExisting: forwardRef(() => SkyColorpickerInputDirective),
18
17
  multi: true,
19
18
  };
20
- // tslint:enable
21
19
  const SKY_COLORPICKER_DEFAULT_COLOR = '#FFFFFF';
22
20
  /**
23
21
  * Creates the colorpicker element and dropdown.
@@ -196,7 +194,6 @@ export class SkyColorpickerInputDirective {
196
194
  const setElementValue = model.rgbaText;
197
195
  const element = this.elementRef.nativeElement;
198
196
  let output;
199
- // tslint:disable-next-line:switch-default
200
197
  switch (this.outputFormat) {
201
198
  case 'rgba':
202
199
  output = model.rgbaText;
@@ -229,9 +226,9 @@ export class SkyColorpickerInputDirective {
229
226
  return this.resourcesService.getStringForLocale({ locale: 'en-US' }, key);
230
227
  }
231
228
  }
232
- SkyColorpickerInputDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyColorpickerInputDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.SkyColorpickerService }, { token: i2.SkyLibResourcesService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive });
233
- SkyColorpickerInputDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: SkyColorpickerInputDirective, selector: "[skyColorpickerInput]", inputs: { skyColorpickerInput: "skyColorpickerInput", initialColor: "initialColor", returnFormat: "returnFormat", outputFormat: "outputFormat", presetColors: "presetColors", alphaChannel: "alphaChannel", allowTransparency: "allowTransparency" }, host: { listeners: { "input": "changeInput($event)", "change": "onChange($event)", "blur": "onBlur()" } }, providers: [SKY_COLORPICKER_VALUE_ACCESSOR, SKY_COLORPICKER_VALIDATOR], usesOnChanges: true, ngImport: i0 });
234
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyColorpickerInputDirective, decorators: [{
229
+ SkyColorpickerInputDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyColorpickerInputDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.SkyColorpickerService }, { token: i2.SkyLibResourcesService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive });
230
+ SkyColorpickerInputDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: SkyColorpickerInputDirective, selector: "[skyColorpickerInput]", inputs: { skyColorpickerInput: "skyColorpickerInput", initialColor: "initialColor", returnFormat: "returnFormat", outputFormat: "outputFormat", presetColors: "presetColors", alphaChannel: "alphaChannel", allowTransparency: "allowTransparency" }, host: { listeners: { "input": "changeInput($event)", "change": "onChange($event)", "blur": "onBlur()" } }, providers: [SKY_COLORPICKER_VALUE_ACCESSOR, SKY_COLORPICKER_VALIDATOR], usesOnChanges: true, ngImport: i0 });
231
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyColorpickerInputDirective, decorators: [{
235
232
  type: Directive,
236
233
  args: [{
237
234
  selector: '[skyColorpickerInput]',
@@ -261,4 +258,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
261
258
  type: HostListener,
262
259
  args: ['blur']
263
260
  }] } });
264
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3JwaWNrZXItaW5wdXQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvbG9ycGlja2VyL3NyYy9saWIvbW9kdWxlcy9jb2xvcnBpY2tlci9jb2xvcnBpY2tlci1pbnB1dC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFFBQVEsRUFDUixLQUFLLEVBSUwsU0FBUyxFQUNULFVBQVUsR0FDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBSUwsYUFBYSxFQUNiLGlCQUFpQixFQUNqQixTQUFTLEdBRVYsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFJckQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7QUFJOUQsc0RBQXNEO0FBQ3RELE1BQU0sOEJBQThCLEdBQUc7SUFDckMsT0FBTyxFQUFFLGlCQUFpQjtJQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLDRCQUE0QixDQUFDO0lBQzNELEtBQUssRUFBRSxJQUFJO0NBQ1osQ0FBQztBQUVGLE1BQU0seUJBQXlCLEdBQUc7SUFDaEMsT0FBTyxFQUFFLGFBQWE7SUFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyw0QkFBNEIsQ0FBQztJQUMzRCxLQUFLLEVBQUUsSUFBSTtDQUNaLENBQUM7QUFDRixnQkFBZ0I7QUFDaEIsTUFBTSw2QkFBNkIsR0FBRyxTQUFTLENBQUM7QUFFaEQ7O0dBRUc7QUFLSCxNQUFNLE9BQU8sNEJBQTRCO0lBOEV2QyxZQUNVLFVBQXNCLEVBQ3RCLFFBQW1CLEVB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RyxDQUFDLENBQUM7SUFDNUUsQ0FBQzs7eUhBeFJVLDRCQUE0Qjs2R0FBNUIsNEJBQTRCLGlaQUY1QixDQUFDLDhCQUE4QixFQUFFLHlCQUF5QixDQUFDOzJGQUUzRCw0QkFBNEI7a0JBSnhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsU0FBUyxFQUFFLENBQUMsOEJBQThCLEVBQUUseUJBQXlCLENBQUM7aUJBQ3ZFO3lOQWFRLG1CQUFtQjtzQkFEekIsS0FBSztnQkFXSyxZQUFZO3NCQUR0QixLQUFLO2dCQW9CQyxZQUFZO3NCQURsQixLQUFLO2dCQVdDLFlBQVk7c0JBRGxCLEtBQUs7Z0JBUUMsWUFBWTtzQkFEbEIsS0FBSztnQkFRQyxZQUFZO3NCQURsQixLQUFLO2dCQVFDLGlCQUFpQjtzQkFEdkIsS0FBSztnQkFnQkMsV0FBVztzQkFEakIsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBUTFCLFFBQVE7c0JBRGQsWUFBWTt1QkFBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBVzNCLE1BQU07c0JBRFosWUFBWTt1QkFBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBIb3N0TGlzdGVuZXIsXG4gIEluamVjdG9yLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgUmVuZGVyZXIyLFxuICBmb3J3YXJkUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFic3RyYWN0Q29udHJvbCxcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXG4gIEZvcm1Db250cm9sLFxuICBOR19WQUxJREFUT1JTLFxuICBOR19WQUxVRV9BQ0NFU1NPUixcbiAgTmdDb250cm9sLFxuICBWYWxpZGF0b3IsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNreUxpYlJlc291cmNlc1NlcnZpY2UgfSBmcm9tICdAc2t5dXgvaTE4bic7XG5cbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBTa3lDb2xvcnBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vY29sb3JwaWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFNreUNvbG9ycGlja2VyU2VydmljZSB9IGZyb20gJy4vY29sb3JwaWNrZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTa3lDb2xvcnBpY2tlckhzdmEgfSBmcm9tICcuL3R5cGVzL2NvbG9ycGlja2VyLWhzdmEnO1xuaW1wb3J0IHsgU2t5Q29sb3JwaWNrZXJPdXRwdXQgfSBmcm9tICcuL3R5cGVzL2NvbG9ycGlja2VyLW91dHB1dCc7XG5cbi8vIHRzbGludDpkaXNhYmxlOm5vLWZvcndhcmQtcmVmIG5vLXVzZS1iZWZvcmUtZGVjbGFyZVxuY29uc3QgU0tZX0NPTE9SUElDS0VSX1ZBTFVFX0FDQ0VTU09SID0ge1xuICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2t5Q29sb3JwaWNrZXJJbnB1dERpcmVjdGl2ZSksXG4gIG11bHRpOiB0cnVlLFxufTtcblxuY29uc3QgU0tZX0NPTE9SUElDS0VSX1ZBTElEQVRPUiA9IHtcbiAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2t5Q29sb3JwaWNrZXJJbnB1dERpcmVjdGl2ZSksXG4gIG11bHRpOiB0cnVlLFxufTtcbi8vIHRzbGludDplbmFibGVcbmNvbnN0IFNLWV9DT0xPUlBJQ0tFUl9ERUZBVUxUX0NPTE9SID0gJyNGRkZGRkYnO1xuXG4vKipcbiAqIENyZWF0ZXMgdGhlIGNvbG9ycGlja2VyIGVsZW1lbnQgYW5kIGRyb3Bkb3duLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbc2t5Q29sb3JwaWNrZXJJbnB1dF0nLFxuICBwcm92aWRlcnM6IFtTS1lfQ09MT1JQSUNLRVJfVkFMVUVfQUNDRVNTT1IsIFNLWV9DT0xPUlBJQ0tFUl9WQUxJREFUT1JdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lDb2xvcnBpY2tlcklucHV0RGlyZWN0aXZlXG4gIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBWYWxpZGF0b3IsIE9uRGVzdHJveVxue1xuICBwdWJsaWMgcGlja2VyQ2hhbmdlZFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIHRoZSBjb2xvcnBpY2tlciBlbGVtZW50IGFuZCBkcm9wZG93bi4gUGxhY2UgdGhpcyBhdHRyaWJ1dGUgb24gYW4gYGlucHV0YCBlbGVtZW50XG4gICAqIG9yIGBidXR0b25gIGVsZW1lbnQsIHdyYXAgdGhlIGVsZW1lbnQgaW4gYSBgc2t5LWNvbG9ycGlja2VyYCBjb21wb25lbnQsIGFuZCBzZXQgdGhlIGF0dHJpYnV0ZVxuICAgKiB0byB0aGUgaW5zdGFuY2Ugb2YgdGhlIGBza3ktY29sb3JwaWNrZXJgIGNvbXBvbmVudC5cbiAgICogQHJlcXVpcmVkXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2t5Q29sb3JwaWNrZXJJbnB1dDogU2t5Q29sb3JwaWNrZXJDb21wb25lbnQ7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBhbiBpbml0aWFsIGNvbG9yIHRvIGxvYWQgaW4gdGhlIGNvbG9ycGlja2VyLiBVc2UgYSByZWFjdGl2ZSBvclxuICAgKiB0ZW1wbGF0ZS1kcml2ZW4gZm9ybSB0byBzZXQgdGhpcyB2YWx1ZS4gVGhpcyBwcm9wZXJ0eSBpcyBkZXByZWNhdGVkLiBBcyBhbiBhbHRlcm5hdGl2ZSxcbiAgICogd2UgcmVjb21tZW5kIHRoZSBgZm9ybUNvbnRyb2xOYW1lYCBwcm9wZXJ0eSBvbiByZWFjdGl2ZSBmb3JtcyBvciBgbmdNb2RlbGAgb25cbiAgICogdGVtcGxhdGUtZHJpdmVuIGZvcm1zLiBTZWUgdGhlIGRlbW8gZm9yIGV4YW1wbGVzLlxuICAgKiBAZGVwcmVjYXRlZFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBpbml0aWFsQ29sb3IodmFsdWU6IHN0cmluZykge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKCF0aGlzLl9pbml0aWFsQ29sb3IgJiYgIXRoaXMubW9kZWxWYWx1ZSkge1xuICAgICAgdGhpcy53cml0ZVZhbHVlKHZhbHVlKTtcbiAgICB9XG4gICAgdGhpcy5faW5pdGlhbENvbG9yID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGluaXRpYWxDb2xvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9pbml0aWFsQ29sb3IgfHwgU0tZX0NPTE9SUElDS0VSX0RFRkFVTFRfQ09MT1I7XG4gIH1cblxuICAvKipcbiAgICogVGhpcyBwcm9wZXJ0eSBpcyBkZXByZWNhdGVkIGFuZCBkb2VzIG5vdCBhZmZlY3QgdGhlIGNvbG9ycGlja2VyLlxuICAgKiBXZSByZWNvbW1lbmQgYWdhaW5zdCB1c2luZyBpdC5cbiAgICogQGRlcHJlY2F0ZWRcbiAgICogQGRlZmF1bHQgXCJyZ2JhXCJcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyByZXR1cm5Gb3JtYXQgPSAncmdiYSc7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgZm9ybWF0IHRvIHVzZSBmb3IgdGhlIGNvbG9yIHdoZW4gdGhlIGNvbG9ycGlja2VyIHVzZXMgYSBuYXRpdmUgaW5wdXRcbiAgICogZWxlbWVudCBzdWNoIGFzIGEgc3RhbmRhcmQgdGV4dCBpbnB1dCBvciBhIGJ1dHRvbi4gVGhpcyBwcm9wZXJ0eSBhY2NlcHRzIGByZ2JhYCwgYGhleGAsXG4gICAqIG9yIGBoc2xhYCwgYnV0IHdlIGRvIG5vdCByZWNvbW1lbmQgdXNpbmcgaXQgYmVjYXVzZSB1c2VycyBuZXZlciBzZWUgb3IgdXNlIGl0cyB2YWx1ZS5cbiAgICogSW5zdGVhZCwgaWYgeW91IG5lZWQgdG8gYWNjZXNzIHRoaXMgZm9ybWF0IHZhbHVlLCBzZWUgdGhlIGRlbW8gZm9yIGFuIGV4YW1wbGUuXG4gICAqQGRlZmF1bHQgXCJyZ2JhXCJcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdXRwdXRGb3JtYXQgPSAncmdiYSc7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBhbiBhcnJheSBvZiBjb2xvcnMgdG8gbG9hZCBhcyBwcmVzZXQgY2hvaWNlcy4gVGhlIGNvbG9ycGlja2VyIGRpc3BsYXlzIHRoZVxuICAgKiBjb2xvcnMgaW4gYSBzZXJpZXMgb2YgMTIgYm94ZXMgZm9yIHVzZXJzIHRvIHNlbGVjdC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwcmVzZXRDb2xvcnMgPSBbJyMzMzMnLCAnIzg4OCcsICcjRUZFRkVGJywgJyNGRkYnXTtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSB0eXBlIG9mIHRyYW5zcGFyZW5jeSB0byB1c2UgaW4gdGhlIHRyYW5zcGFyZW5jeSBzbGlkZXIuXG4gICAqQGRlZmF1bHQgXCJoZXg2XCJcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhbHBoYUNoYW5uZWwgPSAnaGV4Nic7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRvIGRpc3BsYXkgYSB0cmFuc3BhcmVuY3kgc2xpZGVyIGZvciB1c2VycyB0byBzZWxlY3QgdHJhbnNwYXJlbmN5XG4gICAqIGxldmVscy5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhbGxvd1RyYW5zcGFyZW5jeSA9IHRydWU7XG5cbiAgcHJpdmF0ZSBfZGlzYWJsZWQ6IGJvb2xlYW47XG4gIHByaXZhdGUgX2luaXRpYWxDb2xvcjogc3RyaW5nO1xuICBwcml2YXRlIG1vZGVsVmFsdWU6IFNreUNvbG9ycGlja2VyT3V0cHV0O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSBzZXJ2aWNlOiBTa3lDb2xvcnBpY2tlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZXNvdXJjZXNTZXJ2aWNlOiBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yXG4gICkge31cblxuICBASG9zdExpc3RlbmVyKCdpbnB1dCcsIFsnJGV2ZW50J10pXG4gIHB1YmxpYyBjaGFuZ2VJbnB1dChldmVudDogYW55KSB7XG4gICAgY29uc3QgdmFsdWUgPSBldmVudC50YXJnZXQudmFsdWU7XG4gICAgdGhpcy5za3lDb2xvcnBpY2tlcklucHV0LnVwZGF0ZVBpY2tlclZhbHVlcyh2YWx1ZSk7XG4gICAgdGhpcy5za3lDb2xvcnBpY2tlcklucHV0LmJhY2tncm91bmRDb2xvckZvckRpc3BsYXkgPSB2YWx1ZTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NoYW5nZScsIFsnJGV2ZW50J10pXG4gIHB1YmxpYyBvbkNoYW5nZShldmVudDogYW55KSB7XG4gICAgY29uc3QgbmV3VmFsdWUgPSBldmVudC50YXJnZXQudmFsdWU7XG4gICAgdGhpcy5tb2RlbFZhbHVlID0gdGhpcy5mb3JtYXR0ZXIobmV3VmFsdWUpO1xuICAgIHRoaXMuX3ZhbGlkYXRvckNoYW5nZSgpO1xuICAgIHRoaXMuX29uQ2hhbmdlKHRoaXMubW9kZWxWYWx1ZSk7XG4gICAgdGhpcy53cml0ZU1vZGVsVmFsdWUodGhpcy5tb2RlbFZhbHVlKTtcbiAgfVxuXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIEBIb3N0TGlzdGVuZXIoJ2JsdXInKVxuICBwdWJsaWMgb25CbHVyKCkge1xuICAgIC8qaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICB0aGlzLl9vblRvdWNoZWQoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKGVsZW1lbnQsICdza3ktZm9ybS1jb250cm9sJyk7XG4gICAgdGhpcy5za3lDb2xvcnBpY2tlcklucHV0LmluaXRpYWxDb2xvciA9IHRoaXMuaW5pdGlhbENvbG9yO1xuICAgIHRoaXMuc2t5Q29sb3JwaWNrZXJJbnB1dC5yZXR1cm5Gb3JtYXQgPSB0aGlzLnJldHVybkZvcm1hdDtcblxuICAgIHRoaXMucGlja2VyQ2hhbmdlZFN1YnNjcmlwdGlvbiA9XG4gICAgICB0aGlzLnNreUNvbG9ycGlja2VySW5wdXQuc2VsZWN0ZWRDb2xvckNoYW5nZWQuc3Vic2NyaWJlKFxuICAgICAgICAobmV3Q29sb3I6IFNreUNvbG9ycGlja2VyT3V0cHV0KSA9PiB7XG4gICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgICBpZiAobmV3Q29sb3IpIHtcbiAgICAgICAgICAgIHRoaXMubW9kZWxWYWx1ZSA9IHRoaXMuZm9ybWF0dGVyKG5ld0NvbG9yKTtcbiAgICAgICAgICAgIHRoaXMud3JpdGVNb2RlbFZhbHVlKHRoaXMubW9kZWxWYWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuX29uQ2hhbmdlKG5ld0NvbG9yKTtcbiAgICAgICAgfVxuICAgICAgKTtcblxuICAgIHRoaXMuc2t5Q29sb3JwaWNrZXJJbnB1dC51cGRhdGVQaWNrZXJWYWx1ZXModGhpcy5pbml0aWFsQ29sb3IpO1xuXG4gICAgLyogU2FuaXR5IGNoZWNrICovXG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAoIXRoaXMuX2Rpc2FibGVkKSB7XG4gICAgICB0aGlzLnNreUNvbG9ycGlja2VySW5wdXQuYmFja2dyb3VuZENvbG9yRm9yRGlzcGxheSA9IHRoaXMuaW5pdGlhbENvbG9yO1xuICAgIH1cblxuICAgIC8vLyBTZXQgYXJpYS1sYWJlbCBhcyBkZWZhdWx0LCBpZiBub3Qgc2V0XG4gICAgaWYgKCFlbGVtZW50LmdldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbCcpKSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShcbiAgICAgICAgZWxlbWVudCxcbiAgICAgICAgJ2FyaWEtbGFiZWwnLFxuICAgICAgICB0aGlzLmdldFN0cmluZygnc2t5dXhfY29sb3JwaWNrZXJfaW5wdXRfZGVmYXVsdF9sYWJlbCcpXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IHR5cGVBdHRyID0gZWxlbWVudC5nZXRBdHRyaWJ1dGUoJ3R5cGUnKTtcbiAgICBpZiAodHlwZUF0dHIgJiYgdHlwZUF0dHIgPT09ICdoaWRkZW4nKSB7XG4gICAgICB0aGlzLnNreUNvbG9ycGlja2VySW5wdXQuaXNWaXNpYmxlID0gZmFsc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2t5Q29sb3JwaWNrZXJJbnB1dC5pc1Zpc2libGUgPSB0cnVlO1xuICAgIH1cblxuICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKCdyZWFkb25seScsICd0cnVlJyk7XG4gICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhlbGVtZW50LCAnc2t5LWNvbG9ycGlja2VyLWlucHV0Jyk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5waWNrZXJDaGFuZ2VkU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwdWJsaWMgc2V0Q29sb3JQaWNrZXJEZWZhdWx0cygpIHtcbiAgICB0aGlzLnNreUNvbG9ycGlja2VySW5wdXQuc2V0RGlhbG9nKFxuICAgICAgdGhpcyxcbiAgICAgIHRoaXMuZWxlbWVudFJlZixcbiAgICAgIHRoaXMuaW5pdGlhbENvbG9yLFxuICAgICAgdGhpcy5vdXRwdXRGb3JtYXQsXG4gICAgICB0aGlzLnByZXNldENvbG9ycyxcbiAgICAgIHRoaXMuYWxwaGFDaGFubmVsLFxuICAgICAgdGhpcy5hbGxvd1RyYW5zcGFyZW5jeVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5fdmFsaWRhdG9yQ2hhbmdlKCk7XG4gICAgdGhpcy5za3lDb2xvcnBpY2tlcklucHV0LnJldHVybkZvcm1hdCA9IHRoaXMucmV0dXJuRm9ybWF0O1xuICAgIHRoaXMuc2V0Q29sb3JQaWNrZXJEZWZhdWx0cygpO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogYW55KSA9PiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl9vbkNoYW5nZSA9IGZuO1xuICB9XG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gYW55KTogdm9pZCB7XG4gICAgdGhpcy5fb25Ub3VjaGVkID0gZm47XG4gIH1cbiAgcHVibGljIHJlZ2lzdGVyT25WYWxpZGF0b3JDaGFuZ2UoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLl92YWxpZGF0b3JDaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICBpZiAoXG4gICAgICB0aGlzLnNreUNvbG9ycGlja2VySW5wdXQgJiZcbiAgICAgIHZhbHVlICYmXG4gICAgICB2YWx1ZSAhPT0gdGhpcy5za3lDb2xvcnBpY2tlcklucHV0Lmxhc3RBcHBsaWVkQ29sb3JcbiAgICApIHtcbiAgICAgIHRoaXMubW9kZWxWYWx1ZSA9IHRoaXMuZm9ybWF0dGVyKHZhbHVlKTtcbiAgICAgIHRoaXMud3JpdGVNb2RlbFZhbHVlKHRoaXMubW9kZWxWYWx1ZSk7XG5cbiAgICAgIGlmICghdGhpcy5faW5pdGlhbENvbG9yKSB7XG4gICAgICAgIHRoaXMuX2luaXRpYWxDb2xvciA9IHZhbHVlO1xuICAgICAgICB0aGlzLnNreUNvbG9ycGlja2VySW5wdXQuaW5pdGlhbENvbG9yID0gdmFsdWU7XG4gICAgICB9XG4gICAgICB0aGlzLnNreUNvbG9ycGlja2VySW5wdXQubGFzdEFwcGxpZWRDb2xvciA9IHZhbHVlO1xuICAgICAgY29uc3QgY29udHJvbDogRm9ybUNvbnRyb2wgPSB0aGlzLmluamVjdG9yLmdldDxOZ0NvbnRyb2w+KE5nQ29udHJvbClcbiAgICAgICAgLmNvbnRyb2wgYXMgRm9ybUNvbnRyb2w7XG4gICAgICBpZiAoY29udHJvbCkge1xuICAgICAgICBjb250cm9sLnNldFZhbHVlKHRoaXMubW9kZWxWYWx1ZSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyB2YWxpZGF0ZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHtcbiAgICBjb25zdCB2YWx1ZSA9IGNvbnRyb2wudmFsdWU7XG4gICAgaWYgKCF2YWx1ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICAvLyBWYWxpZGF0aW9uXG4gIH1cblxuICAvKipcbiAgICogSW1wbGVtZW50ZWQgYXMgcGFydCBvZiBDb250cm9sVmFsdWVBY2Nlc3Nvci5cbiAgICovXG4gIHB1YmxpYyBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLl9kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gICAgdGhpcy5za3lDb2xvcnBpY2tlcklucHV0LmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICBpZiAodGhpcy5fZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuc2t5Q29sb3JwaWNrZXJJbnB1dC5iYWNrZ3JvdW5kQ29sb3JGb3JEaXNwbGF5ID0gJyNmZmYnO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNreUNvbG9ycGlja2VySW5wdXQuYmFja2dyb3VuZENvbG9yRm9yRGlzcGxheSA9IHRoaXMubW9kZWxWYWx1ZS5oZXg7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB3cml0ZU1vZGVsVmFsdWUobW9kZWw6IFNreUNvbG9ycGlja2VyT3V0cHV0KSB7XG4gICAgY29uc3Qgc2V0RWxlbWVudFZhbHVlID0gbW9kZWwucmdiYVRleHQ7XG4gICAgY29uc3QgZWxlbWVudCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuXG4gICAgbGV0IG91dHB1dDogc3RyaW5nO1xuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpzd2l0Y2gtZGVmYXVsdFxuICAgIHN3aXRjaCAodGhpcy5vdXRwdXRGb3JtYXQpIHtcbiAgICAgIGNhc2UgJ3JnYmEnOlxuICAgICAgICBvdXRwdXQgPSBtb2RlbC5yZ2JhVGV4dDtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ2hzbGEnOlxuICAgICAgICBvdXRwdXQgPSBtb2RlbC5oc2xhVGV4dDtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ2NteWsnOlxuICAgICAgICBvdXRwdXQgPSBtb2RlbC5jbXlrVGV4dDtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ2hleCc6XG4gICAgICAgIG91dHB1dCA9IG1vZGVsLmhleDtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgdGhpcy5za3lDb2xvcnBpY2tlcklucHV0LnVwZGF0ZVBpY2tlclZhbHVlcyhvdXRwdXQpO1xuICAgIHRoaXMuc2t5Q29sb3JwaWNrZXJJbnB1dC5iYWNrZ3JvdW5kQ29sb3JGb3JEaXNwbGF5ID0gb3V0cHV0O1xuXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShlbGVtZW50LCAnYmFja2dyb3VuZC1jb2xvcicsIHNldEVsZW1lbnRWYWx1ZSk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eShlbGVtZW50LCAndmFsdWUnLCBvdXRwdXQpO1xuICB9XG5cbiAgcHJpdmF0ZSBmb3JtYXR0ZXIoY29sb3I6IGFueSkge1xuICAgIGlmIChjb2xvciAmJiB0eXBlb2YgY29sb3IgIT09ICdzdHJpbmcnKSB7XG4gICAgICByZXR1cm4gY29sb3I7XG4gICAgfVxuXG4gICAgY29uc3QgaHN2YTogU2t5Q29sb3JwaWNrZXJIc3ZhID0gdGhpcy5zZXJ2aWNlLnN0cmluZ1RvSHN2YShcbiAgICAgIGNvbG9yLFxuICAgICAgdGhpcy5hbHBoYUNoYW5uZWwgPT09ICdoZXg4J1xuICAgICk7XG5cbiAgICBjb25zdCBmb3JtYXRDb2xvciA9IHRoaXMuc2VydmljZS5za3lDb2xvcnBpY2tlck91dChoc3ZhKTtcblxuICAgIHJldHVybiBmb3JtYXRDb2xvcjtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U3RyaW5nKGtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAvLyBUT0RPOiBOZWVkIHRvIGltcGxlbWVudCB0aGUgYXN5bmMgYGdldFN0cmluZ2AgbWV0aG9kIGluIGEgYnJlYWtpbmcgY2hhbmdlLlxuICAgIHJldHVybiB0aGlzLnJlc291cmNlc1NlcnZpY2UuZ2V0U3RyaW5nRm9yTG9jYWxlKHsgbG9jYWxlOiAnZW4tVVMnIH0sIGtleSk7XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gIHByaXZhdGUgX29uQ2hhbmdlID0gKF86IGFueSkgPT4ge307XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cbiAgcHJpdmF0ZSBfb25Ub3VjaGVkID0gKCkgPT4ge307XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cbiAgcHJpdmF0ZSBfdmFsaWRhdG9yQ2hhbmdlID0gKCkgPT4ge307XG59XG4iXX0=
261
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3JwaWNrZXItaW5wdXQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvbG9ycGlja2VyL3NyYy9saWIvbW9kdWxlcy9jb2xvcnBpY2tlci9jb2xvcnBpY2tlci1pbnB1dC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFFBQVEsRUFDUixLQUFLLEVBSUwsU0FBUyxFQUNULFVBQVUsR0FDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBSUwsYUFBYSxFQUNiLGlCQUFpQixFQUNqQixTQUFTLEdBRVYsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFJckQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7QUFJOUQsTUFBTSw4QkFBOEIsR0FBRztJQUNyQyxPQUFPLEVBQUUsaUJBQWlCO0lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsNEJBQTRCLENBQUM7SUFDM0QsS0FBSyxFQUFFLElBQUk7Q0FDWixDQUFDO0FBRUYsTUFBTSx5QkFBeUIsR0FBRztJQUNoQyxPQUFPLEVBQUUsYUFBYTtJQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLDRCQUE0QixDQUFDO0lBQzNELEtBQUssRUFBRSxJQUFJO0NBQ1osQ0FBQztBQUVGLE1BQU0sNkJBQTZCLEdBQUcsU0FBUyxDQUFDO0FBRWhEOztHQUVHO0FBS0gsTUFBTSxPQUFPLDRCQUE0QjtJQThFdkMsWUFDVSxVQUFzQixFQUN0QixRQUFtQixFQUNuQixPQUE4QixFQUM5QixnQkFBd0MsRUFD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R0FBNUIsNEJBQTRCLGlaQUY1QixDQUFDLDhCQUE4QixFQUFFLHlCQUF5QixDQUFDOzJGQUUzRCw0QkFBNEI7a0JBSnhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsU0FBUyxFQUFFLENBQUMsOEJBQThCLEVBQUUseUJBQXlCLENBQUM7aUJBQ3ZFO3lOQWFRLG1CQUFtQjtzQkFEekIsS0FBSztnQkFXSyxZQUFZO3NCQUR0QixLQUFLO2dCQW9CQyxZQUFZO3NCQURsQixLQUFLO2dCQVdDLFlBQVk7c0JBRGxCLEtBQUs7Z0JBUUMsWUFBWTtzQkFEbEIsS0FBSztnQkFRQyxZQUFZO3NCQURsQixLQUFLO2dCQVFDLGlCQUFpQjtzQkFEdkIsS0FBSztnQkFnQkMsV0FBVztzQkFEakIsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBUTFCLFFBQVE7c0JBRGQsWUFBWTt1QkFBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBVzNCLE1BQU07c0JBRFosWUFBWTt1QkFBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBIb3N0TGlzdGVuZXIsXG4gIEluamVjdG9yLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgUmVuZGVyZXIyLFxuICBmb3J3YXJkUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFic3RyYWN0Q29udHJvbCxcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXG4gIEZvcm1Db250cm9sLFxuICBOR19WQUxJREFUT1JTLFxuICBOR19WQUxVRV9BQ0NFU1NPUixcbiAgTmdDb250cm9sLFxuICBWYWxpZGF0b3IsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNreUxpYlJlc291cmNlc1NlcnZpY2UgfSBmcm9tICdAc2t5dXgvaTE4bic7XG5cbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBTa3lDb2xvcnBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vY29sb3JwaWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFNreUNvbG9ycGlja2VyU2VydmljZSB9IGZyb20gJy4vY29sb3JwaWNrZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTa3lDb2xvcnBpY2tlckhzdmEgfSBmcm9tICcuL3R5cGVzL2NvbG9ycGlja2VyLWhzdmEnO1xuaW1wb3J0IHsgU2t5Q29sb3JwaWNrZXJPdXRwdXQgfSBmcm9tICcuL3R5cGVzL2NvbG9ycGlja2VyLW91dHB1dCc7XG5cbmNvbnN0IFNLWV9DT0xPUlBJQ0tFUl9WQUxVRV9BQ0NFU1NPUiA9IHtcbiAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNreUNvbG9ycGlja2VySW5wdXREaXJlY3RpdmUpLFxuICBtdWx0aTogdHJ1ZSxcbn07XG5cbmNvbnN0IFNLWV9DT0xPUlBJQ0tFUl9WQUxJREFUT1IgPSB7XG4gIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNreUNvbG9ycGlja2VySW5wdXREaXJlY3RpdmUpLFxuICBtdWx0aTogdHJ1ZSxcbn07XG5cbmNvbnN0IFNLWV9DT0xPUlBJQ0tFUl9ERUZBVUxUX0NPTE9SID0gJyNGRkZGRkYnO1xuXG4vKipcbiAqIENyZWF0ZXMgdGhlIGNvbG9ycGlja2VyIGVsZW1lbnQgYW5kIGRyb3Bkb3duLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbc2t5Q29sb3JwaWNrZXJJbnB1dF0nLFxuICBwcm92aWRlcnM6IFtTS1lfQ09MT1JQSUNLRVJfVkFMVUVfQUNDRVNTT1IsIFNLWV9DT0xPUlBJQ0tFUl9WQUxJREFUT1JdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lDb2xvcnBpY2tlcklucHV0RGlyZWN0aXZlXG4gIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBWYWxpZGF0b3IsIE9uRGVzdHJveVxue1xuICBwdWJsaWMgcGlja2VyQ2hhbmdlZFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIHRoZSBjb2xvcnBpY2tlciBlbGVtZW50IGFuZCBkcm9wZG93bi4gUGxhY2UgdGhpcyBhdHRyaWJ1dGUgb24gYW4gYGlucHV0YCBlbGVtZW50XG4gICAqIG9yIGBidXR0b25gIGVsZW1lbnQsIHdyYXAgdGhlIGVsZW1lbnQgaW4gYSBgc2t5LWNvbG9ycGlja2VyYCBjb21wb25lbnQsIGFuZCBzZXQgdGhlIGF0dHJpYnV0ZVxuICAgKiB0byB0aGUgaW5zdGFuY2Ugb2YgdGhlIGBza3ktY29sb3JwaWNrZXJgIGNvbXBvbmVudC5cbiAgICogQHJlcXVpcmVkXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2t5Q29sb3JwaWNrZXJJbnB1dDogU2t5Q29sb3JwaWNrZXJDb21wb25lbnQ7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBhbiBpbml0aWFsIGNvbG9yIHRvIGxvYWQgaW4gdGhlIGNvbG9ycGlja2VyLiBVc2UgYSByZWFjdGl2ZSBvclxuICAgKiB0ZW1wbGF0ZS1kcml2ZW4gZm9ybSB0byBzZXQgdGhpcyB2YWx1ZS4gVGhpcyBwcm9wZXJ0eSBpcyBkZXByZWNhdGVkLiBBcyBhbiBhbHRlcm5hdGl2ZSxcbiAgICogd2UgcmVjb21tZW5kIHRoZSBgZm9ybUNvbnRyb2xOYW1lYCBwcm9wZXJ0eSBvbiByZWFjdGl2ZSBmb3JtcyBvciBgbmdNb2RlbGAgb25cbiAgICogdGVtcGxhdGUtZHJpdmVuIGZvcm1zLiBTZWUgdGhlIGRlbW8gZm9yIGV4YW1wbGVzLlxuICAgKiBAZGVwcmVjYXRlZFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBpbml0aWFsQ29sb3IodmFsdWU6IHN0cmluZykge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKCF0aGlzLl9pbml0aWFsQ29sb3IgJiYgIXRoaXMubW9kZWxWYWx1ZSkge1xuICAgICAgdGhpcy53cml0ZVZhbHVlKHZhbHVlKTtcbiAgICB9XG4gICAgdGhpcy5faW5pdGlhbENvbG9yID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGluaXRpYWxDb2xvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9pbml0aWFsQ29sb3IgfHwgU0tZX0NPTE9SUElDS0VSX0RFRkFVTFRfQ09MT1I7XG4gIH1cblxuICAvKipcbiAgICogVGhpcyBwcm9wZXJ0eSBpcyBkZXByZWNhdGVkIGFuZCBkb2VzIG5vdCBhZmZlY3QgdGhlIGNvbG9ycGlja2VyLlxuICAgKiBXZSByZWNvbW1lbmQgYWdhaW5zdCB1c2luZyBpdC5cbiAgICogQGRlcHJlY2F0ZWRcbiAgICogQGRlZmF1bHQgXCJyZ2JhXCJcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyByZXR1cm5Gb3JtYXQgPSAncmdiYSc7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgZm9ybWF0IHRvIHVzZSBmb3IgdGhlIGNvbG9yIHdoZW4gdGhlIGNvbG9ycGlja2VyIHVzZXMgYSBuYXRpdmUgaW5wdXRcbiAgICogZWxlbWVudCBzdWNoIGFzIGEgc3RhbmRhcmQgdGV4dCBpbnB1dCBvciBhIGJ1dHRvbi4gVGhpcyBwcm9wZXJ0eSBhY2NlcHRzIGByZ2JhYCwgYGhleGAsXG4gICAqIG9yIGBoc2xhYCwgYnV0IHdlIGRvIG5vdCByZWNvbW1lbmQgdXNpbmcgaXQgYmVjYXVzZSB1c2VycyBuZXZlciBzZWUgb3IgdXNlIGl0cyB2YWx1ZS5cbiAgICogSW5zdGVhZCwgaWYgeW91IG5lZWQgdG8gYWNjZXNzIHRoaXMgZm9ybWF0IHZhbHVlLCBzZWUgdGhlIGRlbW8gZm9yIGFuIGV4YW1wbGUuXG4gICAqQGRlZmF1bHQgXCJyZ2JhXCJcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdXRwdXRGb3JtYXQgPSAncmdiYSc7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBhbiBhcnJheSBvZiBjb2xvcnMgdG8gbG9hZCBhcyBwcmVzZXQgY2hvaWNlcy4gVGhlIGNvbG9ycGlja2VyIGRpc3BsYXlzIHRoZVxuICAgKiBjb2xvcnMgaW4gYSBzZXJpZXMgb2YgMTIgYm94ZXMgZm9yIHVzZXJzIHRvIHNlbGVjdC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwcmVzZXRDb2xvcnMgPSBbJyMzMzMnLCAnIzg4OCcsICcjRUZFRkVGJywgJyNGRkYnXTtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSB0eXBlIG9mIHRyYW5zcGFyZW5jeSB0byB1c2UgaW4gdGhlIHRyYW5zcGFyZW5jeSBzbGlkZXIuXG4gICAqQGRlZmF1bHQgXCJoZXg2XCJcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhbHBoYUNoYW5uZWwgPSAnaGV4Nic7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRvIGRpc3BsYXkgYSB0cmFuc3BhcmVuY3kgc2xpZGVyIGZvciB1c2VycyB0byBzZWxlY3QgdHJhbnNwYXJlbmN5XG4gICAqIGxldmVscy5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhbGxvd1RyYW5zcGFyZW5jeSA9IHRydWU7XG5cbiAgcHJpdmF0ZSBfZGlzYWJsZWQ6IGJvb2xlYW47XG4gIHByaXZhdGUgX2luaXRpYWxDb2xvcjogc3RyaW5nO1xuICBwcml2YXRlIG1vZGVsVmFsdWU6IFNreUNvbG9ycGlja2VyT3V0cHV0O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSBzZXJ2aWNlOiBTa3lDb2xvcnBpY2tlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZXNvdXJjZXNTZXJ2aWNlOiBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yXG4gICkge31cblxuICBASG9zdExpc3RlbmVyKCdpbnB1dCcsIFsnJGV2ZW50J10pXG4gIHB1YmxpYyBjaGFuZ2VJbnB1dChldmVudDogYW55KSB7XG4gICAgY29uc3QgdmFsdWUgPSBldmVudC50YXJnZXQudmFsdWU7XG4gICAgdGhpcy5za3lDb2xvcnBpY2tlcklucHV0LnVwZGF0ZVBpY2tlclZhbHVlcyh2YWx1ZSk7XG4gICAgdGhpcy5za3lDb2xvcnBpY2tlcklucHV0LmJhY2tncm91bmRDb2xvckZvckRpc3BsYXkgPSB2YWx1ZTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NoYW5nZScsIFsnJGV2ZW50J10pXG4gIHB1YmxpYyBvbkNoYW5nZShldmVudDogYW55KSB7XG4gICAgY29uc3QgbmV3VmFsdWUgPSBldmVudC50YXJnZXQudmFsdWU7XG4gICAgdGhpcy5tb2RlbFZhbHVlID0gdGhpcy5mb3JtYXR0ZXIobmV3VmFsdWUpO1xuICAgIHRoaXMuX3ZhbGlkYXRvckNoYW5nZSgpO1xuICAgIHRoaXMuX29uQ2hhbmdlKHRoaXMubW9kZWxWYWx1ZSk7XG4gICAgdGhpcy53cml0ZU1vZGVsVmFsdWUodGhpcy5tb2RlbFZhbHVlKTtcbiAgfVxuXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIEBIb3N0TGlzdGVuZXIoJ2JsdXInKVxuICBwdWJsaWMgb25CbHVyKCkge1xuICAgIC8qaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICB0aGlzLl9vblRvdWNoZWQoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKGVsZW1lbnQsICdza3ktZm9ybS1jb250cm9sJyk7XG4gICAgdGhpcy5za3lDb2xvcnBpY2tlcklucHV0LmluaXRpYWxDb2xvciA9IHRoaXMuaW5pdGlhbENvbG9yO1xuICAgIHRoaXMuc2t5Q29sb3JwaWNrZXJJbnB1dC5yZXR1cm5Gb3JtYXQgPSB0aGlzLnJldHVybkZvcm1hdDtcblxuICAgIHRoaXMucGlja2VyQ2hhbmdlZFN1YnNjcmlwdGlvbiA9XG4gICAgICB0aGlzLnNreUNvbG9ycGlja2VySW5wdXQuc2VsZWN0ZWRDb2xvckNoYW5nZWQuc3Vic2NyaWJlKFxuICAgICAgICAobmV3Q29sb3I6IFNreUNvbG9ycGlja2VyT3V0cHV0KSA9PiB7XG4gICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgICBpZiAobmV3Q29sb3IpIHtcbiAgICAgICAgICAgIHRoaXMubW9kZWxWYWx1ZSA9IHRoaXMuZm9ybWF0dGVyKG5ld0NvbG9yKTtcbiAgICAgICAgICAgIHRoaXMud3JpdGVNb2RlbFZhbHVlKHRoaXMubW9kZWxWYWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuX29uQ2hhbmdlKG5ld0NvbG9yKTtcbiAgICAgICAgfVxuICAgICAgKTtcblxuICAgIHRoaXMuc2t5Q29sb3JwaWNrZXJJbnB1dC51cGRhdGVQaWNrZXJWYWx1ZXModGhpcy5pbml0aWFsQ29sb3IpO1xuXG4gICAgLyogU2FuaXR5IGNoZWNrICovXG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAoIXRoaXMuX2Rpc2FibGVkKSB7XG4gICAgICB0aGlzLnNreUNvbG9ycGlja2VySW5wdXQuYmFja2dyb3VuZENvbG9yRm9yRGlzcGxheSA9IHRoaXMuaW5pdGlhbENvbG9yO1xuICAgIH1cblxuICAgIC8vLyBTZXQgYXJpYS1sYWJlbCBhcyBkZWZhdWx0LCBpZiBub3Qgc2V0XG4gICAgaWYgKCFlbGVtZW50LmdldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbCcpKSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShcbiAgICAgICAgZWxlbWVudCxcbiAgICAgICAgJ2FyaWEtbGFiZWwnLFxuICAgICAgICB0aGlzLmdldFN0cmluZygnc2t5dXhfY29sb3JwaWNrZXJfaW5wdXRfZGVmYXVsdF9sYWJlbCcpXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IHR5cGVBdHRyID0gZWxlbWVudC5nZXRBdHRyaWJ1dGUoJ3R5cGUnKTtcbiAgICBpZiAodHlwZUF0dHIgJiYgdHlwZUF0dHIgPT09ICdoaWRkZW4nKSB7XG4gICAgICB0aGlzLnNreUNvbG9ycGlja2VySW5wdXQuaXNWaXNpYmxlID0gZmFsc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2t5Q29sb3JwaWNrZXJJbnB1dC5pc1Zpc2libGUgPSB0cnVlO1xuICAgIH1cblxuICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKCdyZWFkb25seScsICd0cnVlJyk7XG4gICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhlbGVtZW50LCAnc2t5LWNvbG9ycGlja2VyLWlucHV0Jyk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5waWNrZXJDaGFuZ2VkU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwdWJsaWMgc2V0Q29sb3JQaWNrZXJEZWZhdWx0cygpIHtcbiAgICB0aGlzLnNreUNvbG9ycGlja2VySW5wdXQuc2V0RGlhbG9nKFxuICAgICAgdGhpcyxcbiAgICAgIHRoaXMuZWxlbWVudFJlZixcbiAgICAgIHRoaXMuaW5pdGlhbENvbG9yLFxuICAgICAgdGhpcy5vdXRwdXRGb3JtYXQsXG4gICAgICB0aGlzLnByZXNldENvbG9ycyxcbiAgICAgIHRoaXMuYWxwaGFDaGFubmVsLFxuICAgICAgdGhpcy5hbGxvd1RyYW5zcGFyZW5jeVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5fdmFsaWRhdG9yQ2hhbmdlKCk7XG4gICAgdGhpcy5za3lDb2xvcnBpY2tlcklucHV0LnJldHVybkZvcm1hdCA9IHRoaXMucmV0dXJuRm9ybWF0O1xuICAgIHRoaXMuc2V0Q29sb3JQaWNrZXJEZWZhdWx0cygpO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogYW55KSA9PiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl9vbkNoYW5nZSA9IGZuO1xuICB9XG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gYW55KTogdm9pZCB7XG4gICAgdGhpcy5fb25Ub3VjaGVkID0gZm47XG4gIH1cbiAgcHVibGljIHJlZ2lzdGVyT25WYWxpZGF0b3JDaGFuZ2UoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLl92YWxpZGF0b3JDaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICBpZiAoXG4gICAgICB0aGlzLnNreUNvbG9ycGlja2VySW5wdXQgJiZcbiAgICAgIHZhbHVlICYmXG4gICAgICB2YWx1ZSAhPT0gdGhpcy5za3lDb2xvcnBpY2tlcklucHV0Lmxhc3RBcHBsaWVkQ29sb3JcbiAgICApIHtcbiAgICAgIHRoaXMubW9kZWxWYWx1ZSA9IHRoaXMuZm9ybWF0dGVyKHZhbHVlKTtcbiAgICAgIHRoaXMud3JpdGVNb2RlbFZhbHVlKHRoaXMubW9kZWxWYWx1ZSk7XG5cbiAgICAgIGlmICghdGhpcy5faW5pdGlhbENvbG9yKSB7XG4gICAgICAgIHRoaXMuX2luaXRpYWxDb2xvciA9IHZhbHVlO1xuICAgICAgICB0aGlzLnNreUNvbG9ycGlja2VySW5wdXQuaW5pdGlhbENvbG9yID0gdmFsdWU7XG4gICAgICB9XG4gICAgICB0aGlzLnNreUNvbG9ycGlja2VySW5wdXQubGFzdEFwcGxpZWRDb2xvciA9IHZhbHVlO1xuICAgICAgY29uc3QgY29udHJvbDogRm9ybUNvbnRyb2wgPSB0aGlzLmluamVjdG9yLmdldDxOZ0NvbnRyb2w+KE5nQ29udHJvbClcbiAgICAgICAgLmNvbnRyb2wgYXMgRm9ybUNvbnRyb2w7XG4gICAgICBpZiAoY29udHJvbCkge1xuICAgICAgICBjb250cm9sLnNldFZhbHVlKHRoaXMubW9kZWxWYWx1ZSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyB2YWxpZGF0ZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHtcbiAgICBjb25zdCB2YWx1ZSA9IGNvbnRyb2wudmFsdWU7XG4gICAgaWYgKCF2YWx1ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICAvLyBWYWxpZGF0aW9uXG4gIH1cblxuICAvKipcbiAgICogSW1wbGVtZW50ZWQgYXMgcGFydCBvZiBDb250cm9sVmFsdWVBY2Nlc3Nvci5cbiAgICovXG4gIHB1YmxpYyBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLl9kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gICAgdGhpcy5za3lDb2xvcnBpY2tlcklucHV0LmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICBpZiAodGhpcy5fZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuc2t5Q29sb3JwaWNrZXJJbnB1dC5iYWNrZ3JvdW5kQ29sb3JGb3JEaXNwbGF5ID0gJyNmZmYnO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNreUNvbG9ycGlja2VySW5wdXQuYmFja2dyb3VuZENvbG9yRm9yRGlzcGxheSA9IHRoaXMubW9kZWxWYWx1ZS5oZXg7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB3cml0ZU1vZGVsVmFsdWUobW9kZWw6IFNreUNvbG9ycGlja2VyT3V0cHV0KSB7XG4gICAgY29uc3Qgc2V0RWxlbWVudFZhbHVlID0gbW9kZWwucmdiYVRleHQ7XG4gICAgY29uc3QgZWxlbWVudCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuXG4gICAgbGV0IG91dHB1dDogc3RyaW5nO1xuICAgIHN3aXRjaCAodGhpcy5vdXRwdXRGb3JtYXQpIHtcbiAgICAgIGNhc2UgJ3JnYmEnOlxuICAgICAgICBvdXRwdXQgPSBtb2RlbC5yZ2JhVGV4dDtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ2hzbGEnOlxuICAgICAgICBvdXRwdXQgPSBtb2RlbC5oc2xhVGV4dDtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ2NteWsnOlxuICAgICAgICBvdXRwdXQgPSBtb2RlbC5jbXlrVGV4dDtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ2hleCc6XG4gICAgICAgIG91dHB1dCA9IG1vZGVsLmhleDtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgdGhpcy5za3lDb2xvcnBpY2tlcklucHV0LnVwZGF0ZVBpY2tlclZhbHVlcyhvdXRwdXQpO1xuICAgIHRoaXMuc2t5Q29sb3JwaWNrZXJJbnB1dC5iYWNrZ3JvdW5kQ29sb3JGb3JEaXNwbGF5ID0gb3V0cHV0O1xuXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShlbGVtZW50LCAnYmFja2dyb3VuZC1jb2xvcicsIHNldEVsZW1lbnRWYWx1ZSk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eShlbGVtZW50LCAndmFsdWUnLCBvdXRwdXQpO1xuICB9XG5cbiAgcHJpdmF0ZSBmb3JtYXR0ZXIoY29sb3I6IGFueSkge1xuICAgIGlmIChjb2xvciAmJiB0eXBlb2YgY29sb3IgIT09ICdzdHJpbmcnKSB7XG4gICAgICByZXR1cm4gY29sb3I7XG4gICAgfVxuXG4gICAgY29uc3QgaHN2YTogU2t5Q29sb3JwaWNrZXJIc3ZhID0gdGhpcy5zZXJ2aWNlLnN0cmluZ1RvSHN2YShcbiAgICAgIGNvbG9yLFxuICAgICAgdGhpcy5hbHBoYUNoYW5uZWwgPT09ICdoZXg4J1xuICAgICk7XG5cbiAgICBjb25zdCBmb3JtYXRDb2xvciA9IHRoaXMuc2VydmljZS5za3lDb2xvcnBpY2tlck91dChoc3ZhKTtcblxuICAgIHJldHVybiBmb3JtYXRDb2xvcjtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U3RyaW5nKGtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAvLyBUT0RPOiBOZWVkIHRvIGltcGxlbWVudCB0aGUgYXN5bmMgYGdldFN0cmluZ2AgbWV0aG9kIGluIGEgYnJlYWtpbmcgY2hhbmdlLlxuICAgIHJldHVybiB0aGlzLnJlc291cmNlc1NlcnZpY2UuZ2V0U3RyaW5nRm9yTG9jYWxlKHsgbG9jYWxlOiAnZW4tVVMnIH0sIGtleSk7XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gIHByaXZhdGUgX29uQ2hhbmdlID0gKF86IGFueSkgPT4ge307XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cbiAgcHJpdmF0ZSBfb25Ub3VjaGVkID0gKCkgPT4ge307XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cbiAgcHJpdmF0ZSBfdmFsaWRhdG9yQ2hhbmdlID0gKCkgPT4ge307XG59XG4iXX0=
@@ -71,9 +71,9 @@ export class SkyColorpickerSliderDirective {
71
71
  window.pageYOffset);
72
72
  }
73
73
  }
74
- SkyColorpickerSliderDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyColorpickerSliderDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
75
- SkyColorpickerSliderDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: SkyColorpickerSliderDirective, selector: "[skyColorpickerSlider]", inputs: { skyColorpickerSlider: "skyColorpickerSlider", color: "color", xAxis: "xAxis", yAxis: "yAxis" }, outputs: { newColorContrast: "newColorContrast" }, host: { listeners: { "touchstart": "start($event)", "mousedown": "start($event)" } }, ngImport: i0 });
76
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyColorpickerSliderDirective, decorators: [{
74
+ SkyColorpickerSliderDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyColorpickerSliderDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
75
+ SkyColorpickerSliderDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: SkyColorpickerSliderDirective, selector: "[skyColorpickerSlider]", inputs: { skyColorpickerSlider: "skyColorpickerSlider", color: "color", xAxis: "xAxis", yAxis: "yAxis" }, outputs: { newColorContrast: "newColorContrast" }, host: { listeners: { "touchstart": "start($event)", "mousedown": "start($event)" } }, ngImport: i0 });
76
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyColorpickerSliderDirective, decorators: [{
77
77
  type: Directive,
78
78
  args: [{
79
79
  selector: '[skyColorpickerSlider]',
@@ -29,9 +29,9 @@ export class SkyColorpickerTextDirective {
29
29
  }
30
30
  }
31
31
  }
32
- SkyColorpickerTextDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyColorpickerTextDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
33
- SkyColorpickerTextDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: SkyColorpickerTextDirective, selector: "[skyColorpickerText]", inputs: { skyColorpickerText: "skyColorpickerText", color: "color", maxRange: "maxRange" }, outputs: { newColorContrast: "newColorContrast" }, host: { listeners: { "input": "changeInput($event)" } }, ngImport: i0 });
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SkyColorpickerTextDirective, decorators: [{
32
+ SkyColorpickerTextDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyColorpickerTextDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
33
+ SkyColorpickerTextDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: SkyColorpickerTextDirective, selector: "[skyColorpickerText]", inputs: { skyColorpickerText: "skyColorpickerText", color: "color", maxRange: "maxRange" }, outputs: { newColorContrast: "newColorContrast" }, host: { listeners: { "input": "changeInput($event)" } }, ngImport: i0 });
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyColorpickerTextDirective, decorators: [{
35
35
  type: Directive,
36
36
  args: [{
37
37
  selector: '[skyColorpickerText]',