@eui/core 18.0.0-rc.17 → 18.0.0-rc.19

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.
@@ -421,32 +421,92 @@
421
421
  </tr>
422
422
  <tr>
423
423
  <td class="col-md-4">
424
- &nbsp;EC
424
+ &nbsp;DEFAULT
425
425
  </td>
426
426
  </tr>
427
427
  <tr>
428
428
  <td class="col-md-4">
429
- <i>Value : </i><code>ec</code>
429
+ <i>Value : </i><code>default</code>
430
430
  </td>
431
431
  </tr>
432
432
  <tr>
433
433
  <td class="col-md-4">
434
- &nbsp;EU
434
+ &nbsp;ECL_EC
435
435
  </td>
436
436
  </tr>
437
437
  <tr>
438
438
  <td class="col-md-4">
439
- <i>Value : </i><code>eu</code>
439
+ <i>Value : </i><code>ecl-ec</code>
440
440
  </td>
441
441
  </tr>
442
442
  <tr>
443
443
  <td class="col-md-4">
444
- &nbsp;EUI
444
+ &nbsp;ECL_EC_RTL
445
445
  </td>
446
446
  </tr>
447
447
  <tr>
448
448
  <td class="col-md-4">
449
- <i>Value : </i><code>eui</code>
449
+ <i>Value : </i><code>ecl-ec-rtl</code>
450
+ </td>
451
+ </tr>
452
+ <tr>
453
+ <td class="col-md-4">
454
+ &nbsp;ECL_EU
455
+ </td>
456
+ </tr>
457
+ <tr>
458
+ <td class="col-md-4">
459
+ <i>Value : </i><code>ecl-eu</code>
460
+ </td>
461
+ </tr>
462
+ <tr>
463
+ <td class="col-md-4">
464
+ &nbsp;ECL_EU_RTL
465
+ </td>
466
+ </tr>
467
+ <tr>
468
+ <td class="col-md-4">
469
+ <i>Value : </i><code>ecl-eu-rtl</code>
470
+ </td>
471
+ </tr>
472
+ <tr>
473
+ <td class="col-md-4">
474
+ &nbsp;EUI_LEGACY
475
+ </td>
476
+ </tr>
477
+ <tr>
478
+ <td class="col-md-4">
479
+ <i>Value : </i><code>eui-legacy</code>
480
+ </td>
481
+ </tr>
482
+ <tr>
483
+ <td class="col-md-4">
484
+ &nbsp;EUI_LEGACY_HC
485
+ </td>
486
+ </tr>
487
+ <tr>
488
+ <td class="col-md-4">
489
+ <i>Value : </i><code>eui-legacy-high-contrast</code>
490
+ </td>
491
+ </tr>
492
+ <tr>
493
+ <td class="col-md-4">
494
+ &nbsp;DARK
495
+ </td>
496
+ </tr>
497
+ <tr>
498
+ <td class="col-md-4">
499
+ <i>Value : </i><code>dark</code>
500
+ </td>
501
+ </tr>
502
+ <tr>
503
+ <td class="col-md-4">
504
+ &nbsp;COMPACT
505
+ </td>
506
+ </tr>
507
+ <tr>
508
+ <td class="col-md-4">
509
+ <i>Value : </i><code>compact</code>
450
510
  </td>
451
511
  </tr>
452
512
  </tbody>
@@ -272,6 +272,9 @@
272
272
  <li>
273
273
  <a href="#initialState" title="packages/eui/packages/core/src/lib/services/eui-app-shell.service.ts" ><b>initialState</b>&nbsp;&nbsp;&nbsp;(packages/.../eui-app-shell.service.ts)</a>
274
274
  </li>
275
+ <li>
276
+ <a href="#initialState" title="packages/eui/packages/core/src/lib/services/eui-theme.service.ts" ><b>initialState</b>&nbsp;&nbsp;&nbsp;(packages/.../eui-theme.service.ts)</a>
277
+ </li>
275
278
  <li>
276
279
  <a href="#isDefined" title="packages/eui/packages/core/src/lib/helpers/utils.ts" ><b>isDefined</b>&nbsp;&nbsp;&nbsp;(packages/.../utils.ts)</a>
277
280
  </li>
@@ -3542,6 +3545,58 @@
3542
3545
  </tr>
3543
3546
 
3544
3547
 
3548
+ </tbody>
3549
+ </table>
3550
+ </section>
3551
+ <h3>packages/eui/packages/core/src/lib/services/eui-theme.service.ts</h3>
3552
+ <section data-compodoc="block-properties">
3553
+ <h3></h3> <table class="table table-sm table-bordered">
3554
+ <tbody>
3555
+ <tr>
3556
+ <td class="col-md-4">
3557
+ <a name="initialState"></a>
3558
+ <span class="name">
3559
+ <span ><b>initialState</b></span>
3560
+ <a href="#initialState"><span class="icon ion-ios-link"></span></a>
3561
+ </span>
3562
+ </td>
3563
+ </tr>
3564
+ <tr>
3565
+ <td class="col-md-4">
3566
+ <i>Type : </i> <code><a href="../interfaces/ThemeState.html" target="_self" >ThemeState</a></code>
3567
+
3568
+ </td>
3569
+ </tr>
3570
+ <tr>
3571
+ <td class="col-md-4">
3572
+ <i>Default value : </i><code>{
3573
+ themes: [
3574
+ { name: EuiTheme.DEFAULT, isActive: false, styleSheet: null, cssClass: null },
3575
+ { name: EuiTheme.ECL_EC, isActive: false, styleSheet: &#x27;eui-ecl-ec.css&#x27;, cssClass: null },
3576
+ { name: EuiTheme.ECL_EC_RTL, isActive: false, styleSheet: &#x27;eui-ecl-ec-rtl.css&#x27;, cssClass: null },
3577
+ { name: EuiTheme.ECL_EU, isActive: false, styleSheet: &#x27;eui-ecl-eu.css&#x27;, cssClass: null },
3578
+ { name: EuiTheme.ECL_EU_RTL, isActive: false, styleSheet: &#x27;eui-ecl-eu-rtl.css&#x27;, cssClass: null },
3579
+ { name: EuiTheme.EUI_LEGACY, isActive: false, styleSheet: null, cssClass: &#x27;eui-t-eui-legacy&#x27; },
3580
+ { name: EuiTheme.EUI_LEGACY_HC, isActive: false, styleSheet: null, cssClass: &#x27;eui-t-high-contrast&#x27; },
3581
+ { name: EuiTheme.DARK, isActive: false, styleSheet: null, cssClass: &#x27;eui-t-dark&#x27; },
3582
+ { name: EuiTheme.COMPACT, isActive: false, styleSheet: null, cssClass: &#x27;eui-t-compact&#x27; },
3583
+ ],
3584
+ theme: {
3585
+ isDefault: false,
3586
+ isEclEc: false,
3587
+ isEclEcRtl: false,
3588
+ isEclEu: false,
3589
+ isEclEuRtl: false,
3590
+ isEuiLegacy: false,
3591
+ isEuiLegacyHc: false,
3592
+ isDark: false,
3593
+ isCompact: false,
3594
+ },
3595
+ }</code>
3596
+ </td>
3597
+ </tr>
3598
+
3599
+
3545
3600
  </tbody>
3546
3601
  </table>
3547
3602
  </section>
@@ -1,47 +1,207 @@
1
1
  import { Inject, Injectable, Optional } from '@angular/core';
2
+ import { BehaviorSubject } from 'rxjs';
2
3
  import { GLOBAL_CONFIG_TOKEN } from './config/tokens';
3
- import { map, ReplaySubject } from 'rxjs';
4
+ import { DOCUMENT } from '@angular/common';
4
5
  import * as i0 from "@angular/core";
6
+ import * as i1 from "./eui-app-shell.service";
5
7
  export var EuiTheme;
6
8
  (function (EuiTheme) {
7
- EuiTheme["EC"] = "ec";
8
- EuiTheme["EU"] = "eu";
9
- EuiTheme["EUI"] = "eui";
9
+ EuiTheme["DEFAULT"] = "default";
10
+ EuiTheme["ECL_EC"] = "ecl-ec";
11
+ EuiTheme["ECL_EC_RTL"] = "ecl-ec-rtl";
12
+ EuiTheme["ECL_EU"] = "ecl-eu";
13
+ EuiTheme["ECL_EU_RTL"] = "ecl-eu-rtl";
14
+ EuiTheme["EUI_LEGACY"] = "eui-legacy";
15
+ EuiTheme["EUI_LEGACY_HC"] = "eui-legacy-high-contrast";
16
+ EuiTheme["DARK"] = "dark";
17
+ EuiTheme["COMPACT"] = "compact";
10
18
  })(EuiTheme || (EuiTheme = {}));
19
+ ;
20
+ ;
21
+ const initialState = {
22
+ themes: [
23
+ { name: EuiTheme.DEFAULT, isActive: false, styleSheet: null, cssClass: null },
24
+ { name: EuiTheme.ECL_EC, isActive: false, styleSheet: 'eui-ecl-ec.css', cssClass: null },
25
+ { name: EuiTheme.ECL_EC_RTL, isActive: false, styleSheet: 'eui-ecl-ec-rtl.css', cssClass: null },
26
+ { name: EuiTheme.ECL_EU, isActive: false, styleSheet: 'eui-ecl-eu.css', cssClass: null },
27
+ { name: EuiTheme.ECL_EU_RTL, isActive: false, styleSheet: 'eui-ecl-eu-rtl.css', cssClass: null },
28
+ { name: EuiTheme.EUI_LEGACY, isActive: false, styleSheet: null, cssClass: 'eui-t-eui-legacy' },
29
+ { name: EuiTheme.EUI_LEGACY_HC, isActive: false, styleSheet: null, cssClass: 'eui-t-high-contrast' },
30
+ { name: EuiTheme.DARK, isActive: false, styleSheet: null, cssClass: 'eui-t-dark' },
31
+ { name: EuiTheme.COMPACT, isActive: false, styleSheet: null, cssClass: 'eui-t-compact' },
32
+ ],
33
+ theme: {
34
+ isDefault: false,
35
+ isEclEc: false,
36
+ isEclEcRtl: false,
37
+ isEclEu: false,
38
+ isEclEuRtl: false,
39
+ isEuiLegacy: false,
40
+ isEuiLegacyHc: false,
41
+ isDark: false,
42
+ isCompact: false,
43
+ },
44
+ };
11
45
  export class EuiThemeService {
12
- constructor(config) {
46
+ constructor(document, config, asService) {
47
+ this.document = document;
13
48
  this.config = config;
14
- this.theme = EuiTheme.EC;
15
- this.themeSubject = new ReplaySubject();
16
- this.theme$ = this.themeSubject.asObservable();
17
- this.isEU$ = this.theme$.pipe(map((theme) => EuiTheme.EU === theme));
18
- this.isEC$ = this.theme$.pipe(map((theme) => EuiTheme.EC === theme));
19
- const theme = this.config?.eui?.theme || EuiTheme.EC;
20
- this.setTheme(theme);
49
+ this.asService = asService;
50
+ this._state$ = new BehaviorSubject(initialState);
51
+ const themeName = this.config?.eui?.theme || EuiTheme.DEFAULT;
52
+ this.setActiveTheme(themeName, true);
21
53
  }
22
- isECTheme() {
23
- return EuiTheme.EC === this.theme;
54
+ get state$() {
55
+ return this._state$.asObservable();
24
56
  }
25
- isEUTheme() {
26
- return EuiTheme.EU === this.theme;
57
+ get state() {
58
+ return this._state$.getValue();
27
59
  }
28
- getTheme() {
29
- return this.theme;
60
+ isDefault() {
61
+ return this.state.theme.isDefault;
30
62
  }
31
- setTheme(theme) {
32
- this.theme = theme;
33
- this.themeSubject.next(theme);
63
+ isEclEc() {
64
+ return this.state.theme.isEclEc;
34
65
  }
35
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: EuiThemeService, deps: [{ token: GLOBAL_CONFIG_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
66
+ isEclEcRtl() {
67
+ return this.state.theme.isEclEcRtl;
68
+ }
69
+ isEclEu() {
70
+ return this.state.theme.isEclEu;
71
+ }
72
+ isEclEuRtl() {
73
+ return this.state.theme.isEclEuRtl;
74
+ }
75
+ isEuiLegacy() {
76
+ return this.state.theme.isEuiLegacy;
77
+ }
78
+ isEuiLegacyHc() {
79
+ return this.state.theme.isEuiLegacyHc;
80
+ }
81
+ isDark() {
82
+ return this.state.theme.isDark;
83
+ }
84
+ isCompact() {
85
+ return this.state.theme.isCompact;
86
+ }
87
+ setActiveTheme(theme, isActive) {
88
+ const themes = this.state.themes;
89
+ const themeIdx = themes.findIndex(t => t.name === theme);
90
+ if (themeIdx < 0) {
91
+ throw new Error('NO_THEME_FOUND');
92
+ }
93
+ else {
94
+ themes[themeIdx].isActive = isActive;
95
+ const themeFound = themes[themeIdx];
96
+ const status = initialState.theme;
97
+ switch (theme) {
98
+ case EuiTheme.DEFAULT: {
99
+ status.isDefault = isActive;
100
+ break;
101
+ }
102
+ case EuiTheme.ECL_EC: {
103
+ status.isEclEc = isActive;
104
+ break;
105
+ }
106
+ case EuiTheme.ECL_EC_RTL: {
107
+ status.isEclEcRtl = isActive;
108
+ break;
109
+ }
110
+ case EuiTheme.ECL_EU: {
111
+ status.isEclEu = isActive;
112
+ break;
113
+ }
114
+ case EuiTheme.ECL_EU_RTL: {
115
+ status.isEclEuRtl = isActive;
116
+ break;
117
+ }
118
+ case EuiTheme.DARK: {
119
+ status.isDark = isActive;
120
+ break;
121
+ }
122
+ case EuiTheme.COMPACT: {
123
+ status.isCompact = isActive;
124
+ break;
125
+ }
126
+ case EuiTheme.EUI_LEGACY: {
127
+ status.isEuiLegacy = isActive;
128
+ break;
129
+ }
130
+ case EuiTheme.EUI_LEGACY_HC: {
131
+ status.isEuiLegacyHc = isActive;
132
+ break;
133
+ }
134
+ }
135
+ this._state$.next({
136
+ themes,
137
+ theme: status,
138
+ });
139
+ this._renderTheme(themeFound, isActive);
140
+ }
141
+ }
142
+ _renderTheme(themeFound, isActive) {
143
+ if (themeFound.name === EuiTheme.COMPACT) {
144
+ if (isActive) {
145
+ this.asService.setBaseFontSize('14px');
146
+ }
147
+ else {
148
+ this.asService.setBaseFontSize('16px');
149
+ }
150
+ }
151
+ else if (themeFound.name === EuiTheme.ECL_EC_RTL || themeFound.name === EuiTheme.ECL_EU_RTL) {
152
+ const rtlLink = this.document.getElementById('rtl-theme');
153
+ this._renderThemeCss(themeFound, isActive, rtlLink);
154
+ }
155
+ else {
156
+ const themeLink = this.document.getElementById('eui-theme');
157
+ this._renderThemeCss(themeFound, isActive, themeLink);
158
+ }
159
+ }
160
+ _renderThemeCss(themeFound, isActive, link) {
161
+ const head = this.document.getElementsByTagName('head')[0];
162
+ if (isActive) {
163
+ if (themeFound.cssClass) {
164
+ document.querySelector('html').classList.add(themeFound.cssClass);
165
+ }
166
+ if (themeFound.styleSheet) {
167
+ if (link) {
168
+ link.href = themeFound.styleSheet;
169
+ }
170
+ else {
171
+ const style = this.document.createElement('link');
172
+ style.id = 'eui-theme';
173
+ style.rel = 'stylesheet';
174
+ style.href = `assets/${themeFound.styleSheet}`;
175
+ head.appendChild(style);
176
+ }
177
+ }
178
+ }
179
+ else {
180
+ if (themeFound.cssClass) {
181
+ document.querySelector('html').classList.remove(themeFound.cssClass);
182
+ }
183
+ if (themeFound.styleSheet) {
184
+ if (link) {
185
+ link.media = '';
186
+ }
187
+ }
188
+ }
189
+ }
190
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: EuiThemeService, deps: [{ token: DOCUMENT }, { token: GLOBAL_CONFIG_TOKEN, optional: true }, { token: i1.EuiAppShellService }], target: i0.ɵɵFactoryTarget.Injectable }); }
36
191
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: EuiThemeService, providedIn: 'root' }); }
37
192
  }
38
193
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: EuiThemeService, decorators: [{
39
194
  type: Injectable,
40
- args: [{ providedIn: 'root' }]
41
- }], ctorParameters: () => [{ type: undefined, decorators: [{
195
+ args: [{
196
+ providedIn: 'root',
197
+ }]
198
+ }], ctorParameters: () => [{ type: Document, decorators: [{
199
+ type: Inject,
200
+ args: [DOCUMENT]
201
+ }] }, { type: undefined, decorators: [{
42
202
  type: Optional
43
203
  }, {
44
204
  type: Inject,
45
205
  args: [GLOBAL_CONFIG_TOKEN]
46
- }] }] });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLXRoZW1lLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2V1aS10aGVtZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsR0FBRyxFQUFjLGFBQWEsRUFBVyxNQUFNLE1BQU0sQ0FBQzs7QUFFL0QsTUFBTSxDQUFOLElBQVksUUFJWDtBQUpELFdBQVksUUFBUTtJQUNoQixxQkFBUyxDQUFBO0lBQ1QscUJBQVMsQ0FBQTtJQUNULHVCQUFXLENBQUE7QUFDZixDQUFDLEVBSlcsUUFBUSxLQUFSLFFBQVEsUUFJbkI7QUFHRCxNQUFNLE9BQU8sZUFBZTtJQVF4QixZQUErRCxNQUFvQjtRQUFwQixXQUFNLEdBQU4sTUFBTSxDQUFjO1FBSDNFLFVBQUssR0FBYSxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQzlCLGlCQUFZLEdBQXNCLElBQUksYUFBYSxFQUFZLENBQUM7UUFHcEUsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRS9DLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFFckUsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQztRQUVyRSxNQUFNLEtBQUssR0FBSSxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxLQUFrQixJQUFJLFFBQVEsQ0FBQyxFQUFFLENBQUM7UUFDbkUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQsU0FBUztRQUNMLE9BQU8sUUFBUSxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxTQUFTO1FBQ0wsT0FBTyxRQUFRLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDdEMsQ0FBQztJQUVELFFBQVE7UUFDSixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFlO1FBQ3BCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xDLENBQUM7OEdBbENRLGVBQWUsa0JBUVEsbUJBQW1CO2tIQVIxQyxlQUFlLGNBREYsTUFBTTs7MkZBQ25CLGVBQWU7a0JBRDNCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOzswQkFTakIsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBHTE9CQUxfQ09ORklHX1RPS0VOIH0gZnJvbSAnLi9jb25maWcvdG9rZW5zJztcbmltcG9ydCB7IEdsb2JhbENvbmZpZyB9IGZyb20gJ0BldWkvYmFzZSc7XG5pbXBvcnQgeyBtYXAsIE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGVudW0gRXVpVGhlbWUge1xuICAgIEVDID0gJ2VjJyxcbiAgICBFVSA9ICdldScsXG4gICAgRVVJID0gJ2V1aScsXG59XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgRXVpVGhlbWVTZXJ2aWNlIHtcbiAgICBwdWJsaWMgdGhlbWUkOiBPYnNlcnZhYmxlPEV1aVRoZW1lPjtcbiAgICBwdWJsaWMgaXNFVSQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAgcHVibGljIGlzRUMkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gICAgcHJpdmF0ZSB0aGVtZTogRXVpVGhlbWUgPSBFdWlUaGVtZS5FQztcbiAgICBwcml2YXRlIHRoZW1lU3ViamVjdDogU3ViamVjdDxFdWlUaGVtZT4gPSBuZXcgUmVwbGF5U3ViamVjdDxFdWlUaGVtZT4oKTtcblxuICAgIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIEBJbmplY3QoR0xPQkFMX0NPTkZJR19UT0tFTikgcHJvdGVjdGVkIGNvbmZpZzogR2xvYmFsQ29uZmlnKSB7XG4gICAgICAgIHRoaXMudGhlbWUkID0gdGhpcy50aGVtZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG5cbiAgICAgICAgdGhpcy5pc0VVJCA9IHRoaXMudGhlbWUkLnBpcGUobWFwKCh0aGVtZSkgPT4gRXVpVGhlbWUuRVUgPT09IHRoZW1lKSk7XG5cbiAgICAgICAgdGhpcy5pc0VDJCA9IHRoaXMudGhlbWUkLnBpcGUobWFwKCh0aGVtZSkgPT4gRXVpVGhlbWUuRUMgPT09IHRoZW1lKSk7XG5cbiAgICAgICAgY29uc3QgdGhlbWUgPSAodGhpcy5jb25maWc/LmV1aT8udGhlbWUgYXMgRXVpVGhlbWUpIHx8IEV1aVRoZW1lLkVDO1xuICAgICAgICB0aGlzLnNldFRoZW1lKHRoZW1lKTtcbiAgICB9XG5cbiAgICBpc0VDVGhlbWUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBFdWlUaGVtZS5FQyA9PT0gdGhpcy50aGVtZTtcbiAgICB9XG5cbiAgICBpc0VVVGhlbWUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBFdWlUaGVtZS5FVSA9PT0gdGhpcy50aGVtZTtcbiAgICB9XG5cbiAgICBnZXRUaGVtZSgpOiBFdWlUaGVtZSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRoZW1lO1xuICAgIH1cblxuICAgIHNldFRoZW1lKHRoZW1lOiBFdWlUaGVtZSk6IHZvaWQge1xuICAgICAgICB0aGlzLnRoZW1lID0gdGhlbWU7XG4gICAgICAgIHRoaXMudGhlbWVTdWJqZWN0Lm5leHQodGhlbWUpO1xuICAgIH1cbn1cbiJdfQ==
206
+ }] }, { type: i1.EuiAppShellService }] });
207
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLXRoZW1lLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2V1aS10aGVtZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBR3RELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBRTNDLE1BQU0sQ0FBTixJQUFZLFFBVVg7QUFWRCxXQUFZLFFBQVE7SUFDaEIsK0JBQW1CLENBQUE7SUFDbkIsNkJBQWlCLENBQUE7SUFDakIscUNBQXlCLENBQUE7SUFDekIsNkJBQWlCLENBQUE7SUFDakIscUNBQXlCLENBQUE7SUFDekIscUNBQXlCLENBQUE7SUFDekIsc0RBQTBDLENBQUE7SUFDMUMseUJBQWEsQ0FBQTtJQUNiLCtCQUFtQixDQUFBO0FBQ3ZCLENBQUMsRUFWVyxRQUFRLEtBQVIsUUFBUSxRQVVuQjtBQUFBLENBQUM7QUFPRCxDQUFDO0FBUUYsTUFBTSxZQUFZLEdBQWU7SUFDN0IsTUFBTSxFQUFFO1FBQ0osRUFBRSxJQUFJLEVBQUUsUUFBUSxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtRQUM3RSxFQUFFLElBQUksRUFBRSxRQUFRLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7UUFDeEYsRUFBRSxJQUFJLEVBQUUsUUFBUSxDQUFDLFVBQVUsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFVBQVUs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SUFBSSxDQUFDLElBQUksR0FBRyxVQUFVLENBQUMsVUFBVSxDQUFDO2dCQUN0QyxDQUFDO3FCQUFNLENBQUM7b0JBQ0osTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQ2xELEtBQUssQ0FBQyxFQUFFLEdBQUcsV0FBVyxDQUFDO29CQUN2QixLQUFLLENBQUMsR0FBRyxHQUFHLFlBQVksQ0FBQztvQkFDekIsS0FBSyxDQUFDLElBQUksR0FBRyxVQUFVLFVBQVUsQ0FBQyxVQUFVLEVBQUUsQ0FBQztvQkFFL0MsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDNUIsQ0FBQztZQUNMLENBQUM7UUFDTCxDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUN0QixRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3pFLENBQUM7WUFFRCxJQUFJLFVBQVUsQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDeEIsSUFBSSxJQUFJLEVBQUUsQ0FBQztvQkFDUCxJQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztnQkFDcEIsQ0FBQztZQUNMLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQzs4R0FwSVEsZUFBZSxrQkFJWixRQUFRLGFBQ0ksbUJBQW1CO2tIQUxsQyxlQUFlLGNBRlosTUFBTTs7MkZBRVQsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckI7OzBCQUtRLE1BQU07MkJBQUMsUUFBUTs7MEJBQ2YsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEdMT0JBTF9DT05GSUdfVE9LRU4gfSBmcm9tICcuL2NvbmZpZy90b2tlbnMnO1xuaW1wb3J0IHsgR2xvYmFsQ29uZmlnIH0gZnJvbSAnQGV1aS9iYXNlJztcbmltcG9ydCB7IEV1aUFwcFNoZWxsU2VydmljZSB9IGZyb20gJy4vZXVpLWFwcC1zaGVsbC5zZXJ2aWNlJztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuZXhwb3J0IGVudW0gRXVpVGhlbWUge1xuICAgIERFRkFVTFQgPSAnZGVmYXVsdCcsXG4gICAgRUNMX0VDID0gJ2VjbC1lYycsXG4gICAgRUNMX0VDX1JUTCA9ICdlY2wtZWMtcnRsJyxcbiAgICBFQ0xfRVUgPSAnZWNsLWV1JyxcbiAgICBFQ0xfRVVfUlRMID0gJ2VjbC1ldS1ydGwnLFxuICAgIEVVSV9MRUdBQ1kgPSAnZXVpLWxlZ2FjeScsXG4gICAgRVVJX0xFR0FDWV9IQyA9ICdldWktbGVnYWN5LWhpZ2gtY29udHJhc3QnLFxuICAgIERBUksgPSAnZGFyaycsXG4gICAgQ09NUEFDVCA9ICdjb21wYWN0Jyxcbn07XG5cbmludGVyZmFjZSBJRXVpVGhlbWUge1xuICAgIG5hbWU6IEV1aVRoZW1lLFxuICAgIGlzQWN0aXZlOiBib29sZWFuLFxuICAgIHN0eWxlU2hlZXQ6IHN0cmluZyxcbiAgICBjc3NDbGFzczogc3RyaW5nLFxufTtcblxuZXhwb3J0IGludGVyZmFjZSBUaGVtZVN0YXRlIHtcbiAgICB0aGVtZXM6IElFdWlUaGVtZVtdO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgdGhlbWU6IGFueTtcbn1cblxuY29uc3QgaW5pdGlhbFN0YXRlOiBUaGVtZVN0YXRlID0ge1xuICAgIHRoZW1lczogW1xuICAgICAgICB7IG5hbWU6IEV1aVRoZW1lLkRFRkFVTFQsIGlzQWN0aXZlOiBmYWxzZSwgc3R5bGVTaGVldDogbnVsbCwgY3NzQ2xhc3M6IG51bGwgfSxcbiAgICAgICAgeyBuYW1lOiBFdWlUaGVtZS5FQ0xfRUMsIGlzQWN0aXZlOiBmYWxzZSwgc3R5bGVTaGVldDogJ2V1aS1lY2wtZWMuY3NzJywgY3NzQ2xhc3M6IG51bGwgfSxcbiAgICAgICAgeyBuYW1lOiBFdWlUaGVtZS5FQ0xfRUNfUlRMLCBpc0FjdGl2ZTogZmFsc2UsIHN0eWxlU2hlZXQ6ICdldWktZWNsLWVjLXJ0bC5jc3MnLCBjc3NDbGFzczogbnVsbCB9LFxuICAgICAgICB7IG5hbWU6IEV1aVRoZW1lLkVDTF9FVSwgaXNBY3RpdmU6IGZhbHNlLCBzdHlsZVNoZWV0OiAnZXVpLWVjbC1ldS5jc3MnLCBjc3NDbGFzczogbnVsbCB9LFxuICAgICAgICB7IG5hbWU6IEV1aVRoZW1lLkVDTF9FVV9SVEwsIGlzQWN0aXZlOiBmYWxzZSwgc3R5bGVTaGVldDogJ2V1aS1lY2wtZXUtcnRsLmNzcycsIGNzc0NsYXNzOiBudWxsIH0sXG4gICAgICAgIHsgbmFtZTogRXVpVGhlbWUuRVVJX0xFR0FDWSwgaXNBY3RpdmU6IGZhbHNlLCBzdHlsZVNoZWV0OiBudWxsLCBjc3NDbGFzczogJ2V1aS10LWV1aS1sZWdhY3knIH0sXG4gICAgICAgIHsgbmFtZTogRXVpVGhlbWUuRVVJX0xFR0FDWV9IQywgaXNBY3RpdmU6IGZhbHNlLCBzdHlsZVNoZWV0OiBudWxsLCBjc3NDbGFzczogJ2V1aS10LWhpZ2gtY29udHJhc3QnIH0sXG4gICAgICAgIHsgbmFtZTogRXVpVGhlbWUuREFSSywgaXNBY3RpdmU6IGZhbHNlLCBzdHlsZVNoZWV0OiBudWxsLCBjc3NDbGFzczogJ2V1aS10LWRhcmsnIH0sXG4gICAgICAgIHsgbmFtZTogRXVpVGhlbWUuQ09NUEFDVCwgaXNBY3RpdmU6IGZhbHNlLCBzdHlsZVNoZWV0OiBudWxsLCBjc3NDbGFzczogJ2V1aS10LWNvbXBhY3QnIH0sXG4gICAgXSxcbiAgICB0aGVtZToge1xuICAgICAgICBpc0RlZmF1bHQ6IGZhbHNlLFxuICAgICAgICBpc0VjbEVjOiBmYWxzZSxcbiAgICAgICAgaXNFY2xFY1J0bDogZmFsc2UsXG4gICAgICAgIGlzRWNsRXU6IGZhbHNlLFxuICAgICAgICBpc0VjbEV1UnRsOiBmYWxzZSxcbiAgICAgICAgaXNFdWlMZWdhY3k6IGZhbHNlLFxuICAgICAgICBpc0V1aUxlZ2FjeUhjOiBmYWxzZSxcbiAgICAgICAgaXNEYXJrOiBmYWxzZSxcbiAgICAgICAgaXNDb21wYWN0OiBmYWxzZSxcbiAgICB9LFxufTtcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRXVpVGhlbWVTZXJ2aWNlIHtcbiAgICBwcml2YXRlIF9zdGF0ZSQ6IEJlaGF2aW9yU3ViamVjdDxUaGVtZVN0YXRlPjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBEb2N1bWVudCxcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChHTE9CQUxfQ09ORklHX1RPS0VOKSBwcm90ZWN0ZWQgY29uZmlnOiBHbG9iYWxDb25maWcsXG4gICAgICAgIHByaXZhdGUgYXNTZXJ2aWNlOiBFdWlBcHBTaGVsbFNlcnZpY2UsXG4gICAgKSB7XG4gICAgICAgIHRoaXMuX3N0YXRlJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoaW5pdGlhbFN0YXRlKTtcbiAgICAgICAgY29uc3QgdGhlbWVOYW1lID0gKHRoaXMuY29uZmlnPy5ldWk/LnRoZW1lIGFzIEV1aVRoZW1lKSB8fCBFdWlUaGVtZS5ERUZBVUxUO1xuICAgICAgICB0aGlzLnNldEFjdGl2ZVRoZW1lKHRoZW1lTmFtZSwgdHJ1ZSk7XG4gICAgfVxuXG4gICAgZ2V0IHN0YXRlJCgpOiBPYnNlcnZhYmxlPFRoZW1lU3RhdGU+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3N0YXRlJC5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICBnZXQgc3RhdGUoKTogVGhlbWVTdGF0ZSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zdGF0ZSQuZ2V0VmFsdWUoKTtcbiAgICB9XG5cbiAgICBpc0RlZmF1bHQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0YXRlLnRoZW1lLmlzRGVmYXVsdDtcbiAgICB9XG4gICAgaXNFY2xFYygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhdGUudGhlbWUuaXNFY2xFYztcbiAgICB9XG4gICAgaXNFY2xFY1J0bCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhdGUudGhlbWUuaXNFY2xFY1J0bDtcbiAgICB9XG4gICAgaXNFY2xFdSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhdGUudGhlbWUuaXNFY2xFdTtcbiAgICB9XG4gICAgaXNFY2xFdVJ0bCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhdGUudGhlbWUuaXNFY2xFdVJ0bDtcbiAgICB9XG4gICAgaXNFdWlMZWdhY3koKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0YXRlLnRoZW1lLmlzRXVpTGVnYWN5O1xuICAgIH1cbiAgICBpc0V1aUxlZ2FjeUhjKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZS50aGVtZS5pc0V1aUxlZ2FjeUhjO1xuICAgIH1cbiAgICBpc0RhcmsoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0YXRlLnRoZW1lLmlzRGFyaztcbiAgICB9XG4gICAgaXNDb21wYWN0KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZS50aGVtZS5pc0NvbXBhY3Q7XG4gICAgfVxuXG4gICAgc2V0QWN0aXZlVGhlbWUodGhlbWU6IEV1aVRoZW1lLCBpc0FjdGl2ZTogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBjb25zdCB0aGVtZXMgPSB0aGlzLnN0YXRlLnRoZW1lcztcbiAgICAgICAgY29uc3QgdGhlbWVJZHggPSB0aGVtZXMuZmluZEluZGV4KHQgPT4gdC5uYW1lID09PSB0aGVtZSk7XG5cbiAgICAgICAgaWYgKHRoZW1lSWR4IDwgMCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdOT19USEVNRV9GT1VORCcpO1xuXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGVtZXNbdGhlbWVJZHhdLmlzQWN0aXZlID0gaXNBY3RpdmU7XG5cbiAgICAgICAgICAgIGNvbnN0IHRoZW1lRm91bmQ6IElFdWlUaGVtZSA9IHRoZW1lc1t0aGVtZUlkeF07XG5cbiAgICAgICAgICAgIGNvbnN0IHN0YXR1cyA9IGluaXRpYWxTdGF0ZS50aGVtZTtcblxuICAgICAgICAgICAgc3dpdGNoKHRoZW1lKSB7XG4gICAgICAgICAgICAgICAgY2FzZSBFdWlUaGVtZS5ERUZBVUxUOiB7IHN0YXR1cy5pc0RlZmF1bHQgPSBpc0FjdGl2ZTsgYnJlYWs7IH1cbiAgICAgICAgICAgICAgICBjYXNlIEV1aVRoZW1lLkVDTF9FQzogeyBzdGF0dXMuaXNFY2xFYyA9IGlzQWN0aXZlOyBicmVhazsgfVxuICAgICAgICAgICAgICAgIGNhc2UgRXVpVGhlbWUuRUNMX0VDX1JUTDogeyBzdGF0dXMuaXNFY2xFY1J0bCA9IGlzQWN0aXZlOyBicmVhazsgfVxuICAgICAgICAgICAgICAgIGNhc2UgRXVpVGhlbWUuRUNMX0VVOiB7IHN0YXR1cy5pc0VjbEV1ID0gaXNBY3RpdmU7IGJyZWFrOyB9XG4gICAgICAgICAgICAgICAgY2FzZSBFdWlUaGVtZS5FQ0xfRVVfUlRMOiB7IHN0YXR1cy5pc0VjbEV1UnRsID0gaXNBY3RpdmU7IGJyZWFrOyB9XG4gICAgICAgICAgICAgICAgY2FzZSBFdWlUaGVtZS5EQVJLOiB7IHN0YXR1cy5pc0RhcmsgPSBpc0FjdGl2ZTsgYnJlYWs7IH1cbiAgICAgICAgICAgICAgICBjYXNlIEV1aVRoZW1lLkNPTVBBQ1Q6IHsgc3RhdHVzLmlzQ29tcGFjdCA9IGlzQWN0aXZlOyBicmVhazsgfVxuICAgICAgICAgICAgICAgIGNhc2UgRXVpVGhlbWUuRVVJX0xFR0FDWTogeyBzdGF0dXMuaXNFdWlMZWdhY3kgPSBpc0FjdGl2ZTsgYnJlYWs7IH1cbiAgICAgICAgICAgICAgICBjYXNlIEV1aVRoZW1lLkVVSV9MRUdBQ1lfSEM6IHsgc3RhdHVzLmlzRXVpTGVnYWN5SGMgPSBpc0FjdGl2ZTsgYnJlYWs7IH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5fc3RhdGUkLm5leHQoe1xuICAgICAgICAgICAgICAgIHRoZW1lcyxcbiAgICAgICAgICAgICAgICB0aGVtZTogc3RhdHVzLFxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHRoaXMuX3JlbmRlclRoZW1lKHRoZW1lRm91bmQsIGlzQWN0aXZlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX3JlbmRlclRoZW1lKHRoZW1lRm91bmQ6IElFdWlUaGVtZSwgaXNBY3RpdmU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoZW1lRm91bmQubmFtZSA9PT0gRXVpVGhlbWUuQ09NUEFDVCkge1xuICAgICAgICAgICAgaWYgKGlzQWN0aXZlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hc1NlcnZpY2Uuc2V0QmFzZUZvbnRTaXplKCcxNHB4Jyk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuYXNTZXJ2aWNlLnNldEJhc2VGb250U2l6ZSgnMTZweCcpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH0gZWxzZSBpZiAodGhlbWVGb3VuZC5uYW1lID09PSBFdWlUaGVtZS5FQ0xfRUNfUlRMIHx8IHRoZW1lRm91bmQubmFtZSA9PT0gRXVpVGhlbWUuRUNMX0VVX1JUTCkge1xuICAgICAgICAgICAgY29uc3QgcnRsTGluayA9IHRoaXMuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3J0bC10aGVtZScpIGFzIEhUTUxMaW5rRWxlbWVudDtcbiAgICAgICAgICAgIHRoaXMuX3JlbmRlclRoZW1lQ3NzKHRoZW1lRm91bmQsIGlzQWN0aXZlLCBydGxMaW5rKTtcblxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgdGhlbWVMaW5rID0gdGhpcy5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZXVpLXRoZW1lJykgYXMgSFRNTExpbmtFbGVtZW50O1xuICAgICAgICAgICAgdGhpcy5fcmVuZGVyVGhlbWVDc3ModGhlbWVGb3VuZCwgaXNBY3RpdmUsIHRoZW1lTGluayk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9yZW5kZXJUaGVtZUNzcyh0aGVtZUZvdW5kOiBJRXVpVGhlbWUsIGlzQWN0aXZlOiBib29sZWFuLCBsaW5rOiBIVE1MTGlua0VsZW1lbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaGVhZCA9IHRoaXMuZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXTtcblxuICAgICAgICBpZiAoaXNBY3RpdmUpIHtcbiAgICAgICAgICAgIGlmICh0aGVtZUZvdW5kLmNzc0NsYXNzKSB7XG4gICAgICAgICAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignaHRtbCcpLmNsYXNzTGlzdC5hZGQodGhlbWVGb3VuZC5jc3NDbGFzcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGhlbWVGb3VuZC5zdHlsZVNoZWV0KSB7XG4gICAgICAgICAgICAgICAgaWYgKGxpbmspIHtcbiAgICAgICAgICAgICAgICAgICAgbGluay5ocmVmID0gdGhlbWVGb3VuZC5zdHlsZVNoZWV0O1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0eWxlID0gdGhpcy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsaW5rJyk7XG4gICAgICAgICAgICAgICAgICAgIHN0eWxlLmlkID0gJ2V1aS10aGVtZSc7XG4gICAgICAgICAgICAgICAgICAgIHN0eWxlLnJlbCA9ICdzdHlsZXNoZWV0JztcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUuaHJlZiA9IGBhc3NldHMvJHt0aGVtZUZvdW5kLnN0eWxlU2hlZXR9YDtcblxuICAgICAgICAgICAgICAgICAgICBoZWFkLmFwcGVuZENoaWxkKHN0eWxlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAodGhlbWVGb3VuZC5jc3NDbGFzcykge1xuICAgICAgICAgICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2h0bWwnKS5jbGFzc0xpc3QucmVtb3ZlKHRoZW1lRm91bmQuY3NzQ2xhc3MpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodGhlbWVGb3VuZC5zdHlsZVNoZWV0KSB7XG4gICAgICAgICAgICAgICAgaWYgKGxpbmspIHtcbiAgICAgICAgICAgICAgICAgICAgbGluay5tZWRpYSA9ICcnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==