@scion/components 16.0.0 → 16.2.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/_index.scss +116 -1
- package/design/_index.scss +1 -0
- package/design/_theming.scss +244 -0
- package/design/colors/_scion-dark-colors.scss +91 -0
- package/design/colors/_scion-light-colors.scss +91 -0
- package/design/colors/_scion-static-colors.scss +4 -0
- package/design/components/_scion-component-tokens.scss +48 -0
- package/design/themes/_scion-dark-theme.scss +55 -0
- package/design/themes/_scion-light-theme.scss +55 -0
- package/dimension/dimension.directive.d.ts +1 -1
- package/dimension/dimension.module.d.ts +1 -2
- package/esm2022/dimension/dimension.directive.mjs +3 -2
- package/esm2022/dimension/dimension.module.mjs +3 -7
- package/esm2022/sashbox/element-ref.directive.mjs +7 -3
- package/esm2022/sashbox/public_api.mjs +4 -4
- package/esm2022/sashbox/sash-initializer.directive.mjs +7 -4
- package/esm2022/sashbox/sash.directive.mjs +3 -2
- package/esm2022/sashbox/sashbox.component.mjs +32 -24
- package/esm2022/sashbox/sashbox.module.mjs +5 -19
- package/esm2022/splitter/public_api.mjs +3 -3
- package/esm2022/splitter/splitter.component.mjs +15 -16
- package/esm2022/splitter/splitter.module.mjs +4 -8
- package/esm2022/throbber/ellipsis-throbber/ellipsis-throbber.component.mjs +3 -3
- package/esm2022/throbber/ripple-throbber/ripple-throbber.component.mjs +3 -3
- package/esm2022/throbber/roller-throbber/roller-throbber.component.mjs +3 -3
- package/esm2022/throbber/spinner-throbber/spinner-throbber.component.mjs +3 -3
- package/esm2022/throbber/throbber.component.mjs +19 -10
- package/esm2022/throbber/throbber.module.mjs +4 -20
- package/esm2022/viewport/native-scrollbar-track-size-provider.service.mjs +6 -5
- package/esm2022/viewport/public_api.mjs +4 -5
- package/esm2022/viewport/scrollable.directive.mjs +3 -2
- package/esm2022/viewport/scrollbar/scrollbar.component.mjs +9 -8
- package/esm2022/viewport/viewport.component.mjs +20 -12
- package/esm2022/viewport/viewport.module.mjs +4 -12
- package/fesm2022/scion-components-dimension.mjs +4 -7
- package/fesm2022/scion-components-dimension.mjs.map +1 -1
- package/fesm2022/scion-components-sashbox.mjs +48 -44
- package/fesm2022/scion-components-sashbox.mjs.map +1 -1
- package/fesm2022/scion-components-splitter.mjs +18 -22
- package/fesm2022/scion-components-splitter.mjs.map +1 -1
- package/fesm2022/scion-components-throbber.mjs +25 -28
- package/fesm2022/scion-components-throbber.mjs.map +1 -1
- package/fesm2022/scion-components-viewport.mjs +125 -122
- package/fesm2022/scion-components-viewport.mjs.map +1 -1
- package/package.json +7 -1
- package/sashbox/element-ref.directive.d.ts +1 -1
- package/sashbox/public_api.d.ts +3 -3
- package/sashbox/sash-initializer.directive.d.ts +1 -1
- package/sashbox/sash.directive.d.ts +2 -2
- package/sashbox/sashbox.component.d.ts +13 -14
- package/sashbox/sashbox.module.d.ts +1 -5
- package/splitter/public_api.d.ts +2 -2
- package/splitter/splitter.component.d.ts +13 -14
- package/splitter/splitter.module.d.ts +1 -2
- package/throbber/ellipsis-throbber/ellipsis-throbber.component.d.ts +1 -1
- package/throbber/ripple-throbber/ripple-throbber.component.d.ts +1 -1
- package/throbber/roller-throbber/roller-throbber.component.d.ts +1 -1
- package/throbber/spinner-throbber/spinner-throbber.component.d.ts +1 -1
- package/throbber/throbber.component.d.ts +4 -3
- package/throbber/throbber.module.d.ts +1 -6
- package/viewport/native-scrollbar-track-size-provider.service.d.ts +0 -2
- package/viewport/public_api.d.ts +3 -4
- package/viewport/scrollable.directive.d.ts +1 -1
- package/viewport/{_scrollbar.scss → scrollbar/_scrollbar.scss} +3 -4
- package/viewport/scrollbar/scrollbar.component.d.ts +6 -5
- package/viewport/viewport.component.d.ts +7 -6
- package/viewport/viewport.module.d.ts +1 -3
- /package/viewport/{_index.scss → scrollbar/_index.scss} +0 -0
|
@@ -8,42 +8,26 @@
|
|
|
8
8
|
* SPDX-License-Identifier: EPL-2.0
|
|
9
9
|
*/
|
|
10
10
|
import { NgModule } from '@angular/core';
|
|
11
|
-
import { CommonModule } from '@angular/common';
|
|
12
11
|
import { SciThrobberComponent } from './throbber.component';
|
|
13
|
-
import { SciEllipsisThrobberComponent } from './ellipsis-throbber/ellipsis-throbber.component';
|
|
14
|
-
import { SciRippleThrobberComponent } from './ripple-throbber/ripple-throbber.component';
|
|
15
|
-
import { SciRollerThrobberComponent } from './roller-throbber/roller-throbber.component';
|
|
16
|
-
import { SciSpinnerThrobberComponent } from './spinner-throbber/spinner-throbber.component';
|
|
17
12
|
import * as i0 from "@angular/core";
|
|
18
13
|
/**
|
|
19
14
|
* Provides {@link SciThrobberComponent}, an animated graphical control to indicate the execution of an action.
|
|
20
15
|
*/
|
|
21
16
|
class SciThrobberModule {
|
|
22
17
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: SciThrobberModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
23
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.1", ngImport: i0, type: SciThrobberModule,
|
|
24
|
-
|
|
25
|
-
SciRippleThrobberComponent,
|
|
26
|
-
SciRollerThrobberComponent,
|
|
27
|
-
SciSpinnerThrobberComponent], imports: [CommonModule], exports: [SciThrobberComponent] }); }
|
|
28
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: SciThrobberModule, imports: [CommonModule] }); }
|
|
18
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.1", ngImport: i0, type: SciThrobberModule, imports: [SciThrobberComponent], exports: [SciThrobberComponent] }); }
|
|
19
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: SciThrobberModule }); }
|
|
29
20
|
}
|
|
30
21
|
export { SciThrobberModule };
|
|
31
22
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: SciThrobberModule, decorators: [{
|
|
32
23
|
type: NgModule,
|
|
33
24
|
args: [{
|
|
34
|
-
declarations: [
|
|
35
|
-
SciThrobberComponent,
|
|
36
|
-
SciEllipsisThrobberComponent,
|
|
37
|
-
SciRippleThrobberComponent,
|
|
38
|
-
SciRollerThrobberComponent,
|
|
39
|
-
SciSpinnerThrobberComponent,
|
|
40
|
-
],
|
|
41
25
|
imports: [
|
|
42
|
-
|
|
26
|
+
SciThrobberComponent,
|
|
43
27
|
],
|
|
44
28
|
exports: [
|
|
45
29
|
SciThrobberComponent,
|
|
46
30
|
],
|
|
47
31
|
}]
|
|
48
32
|
}] });
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhyb2JiZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2Npb24vY29tcG9uZW50cy90aHJvYmJlci9zcmMvdGhyb2JiZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztHQVFHO0FBRUgsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQzs7QUFFMUQ7O0dBRUc7QUFDSCxNQVFhLGlCQUFpQjs4R0FBakIsaUJBQWlCOytHQUFqQixpQkFBaUIsWUFOMUIsb0JBQW9CLGFBR3BCLG9CQUFvQjsrR0FHWCxpQkFBaUI7O1NBQWpCLGlCQUFpQjsyRkFBakIsaUJBQWlCO2tCQVI3QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxvQkFBb0I7cUJBQ3JCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxvQkFBb0I7cUJBQ3JCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOC0yMDE5IFN3aXNzIEZlZGVyYWwgUmFpbHdheXNcbiAqXG4gKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlXG4gKiBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMFxuICogd2hpY2ggaXMgYXZhaWxhYmxlIGF0IGh0dHBzOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAvXG4gKlxuICogIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wXG4gKi9cblxuaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1NjaVRocm9iYmVyQ29tcG9uZW50fSBmcm9tICcuL3Rocm9iYmVyLmNvbXBvbmVudCc7XG5cbi8qKlxuICogUHJvdmlkZXMge0BsaW5rIFNjaVRocm9iYmVyQ29tcG9uZW50fSwgYW4gYW5pbWF0ZWQgZ3JhcGhpY2FsIGNvbnRyb2wgdG8gaW5kaWNhdGUgdGhlIGV4ZWN1dGlvbiBvZiBhbiBhY3Rpb24uXG4gKi9cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBTY2lUaHJvYmJlckNvbXBvbmVudCxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIFNjaVRocm9iYmVyQ29tcG9uZW50LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTY2lUaHJvYmJlck1vZHVsZSB7XG59XG4iXX0=
|
|
@@ -14,8 +14,6 @@ import { debounceTime, distinctUntilChanged, map, startWith, takeUntil } from 'r
|
|
|
14
14
|
import * as i0 from "@angular/core";
|
|
15
15
|
/**
|
|
16
16
|
* Provides the native scrollbar tracksize.
|
|
17
|
-
*
|
|
18
|
-
* @dynamic ignore 'strictMetadataEmit' errors due to the usage of {@link Document} as ambient type for DI.
|
|
19
17
|
*/
|
|
20
18
|
class SciNativeScrollbarTrackSizeProvider {
|
|
21
19
|
constructor(_document, _zone) {
|
|
@@ -63,9 +61,12 @@ class SciNativeScrollbarTrackSizeProvider {
|
|
|
63
61
|
});
|
|
64
62
|
viewportDiv.appendChild(viewportClientDiv);
|
|
65
63
|
this._document.body.appendChild(viewportDiv);
|
|
64
|
+
// Do not use client and offset width/height to calculate the size of the scrollbar, as they are rounded, resulting in unwanted spacing when zooming the page.
|
|
65
|
+
const viewportBounds = viewportDiv.getBoundingClientRect();
|
|
66
|
+
const viewportClientBounds = viewportClientDiv.getBoundingClientRect();
|
|
66
67
|
const trackSize = {
|
|
67
|
-
hScrollbarTrackHeight:
|
|
68
|
-
vScrollbarTrackWidth:
|
|
68
|
+
hScrollbarTrackHeight: viewportBounds.height - viewportClientBounds.height,
|
|
69
|
+
vScrollbarTrackWidth: viewportBounds.width - viewportClientBounds.width,
|
|
69
70
|
};
|
|
70
71
|
// destroy temporary viewport
|
|
71
72
|
this._document.body.removeChild(viewportDiv);
|
|
@@ -112,4 +113,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImpor
|
|
|
112
113
|
function setStyle(element, style) {
|
|
113
114
|
Object.keys(style).forEach(key => element.style.setProperty(key, style[key]));
|
|
114
115
|
}
|
|
115
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF0aXZlLXNjcm9sbGJhci10cmFjay1zaXplLXByb3ZpZGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zY2lvbi9jb21wb25lbnRzL3ZpZXdwb3J0L3NyYy9uYXRpdmUtc2Nyb2xsYmFyLXRyYWNrLXNpemUtcHJvdmlkZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUVILE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFvQixNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFDLGVBQWUsRUFBRSxTQUFTLEVBQWMsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFFN0Y7Ozs7R0FJRztBQUNILE1BQ2EsbUNBQW1DO0lBSzlDLFlBQXNDLFNBQW1CLEVBQVUsS0FBYTtRQUExQyxjQUFTLEdBQVQsU0FBUyxDQUFVO1FBQVUsVUFBSyxHQUFMLEtBQUssQ0FBUTtRQUgvRCxnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFrQyxJQUFJLENBQUMsQ0FBQztRQUN6RSxjQUFTLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUcvQyxJQUFJLENBQUMsdUNBQXVDLEVBQUUsQ0FBQztJQUNqRCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILElBQVcsVUFBVTtRQUNuQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLGdCQUFnQjtR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LENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2hGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LTIwMTkgU3dpc3MgRmVkZXJhbCBSYWlsd2F5c1xuICpcbiAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGVcbiAqIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wXG4gKiB3aGljaCBpcyBhdmFpbGFibGUgYXQgaHR0cHM6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC9cbiAqXG4gKiAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjBcbiAqL1xuXG5pbXBvcnQge0luamVjdCwgSW5qZWN0YWJsZSwgTmdab25lLCBPbkRlc3Ryb3l9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtET0NVTUVOVH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBmcm9tRXZlbnQsIE9ic2VydmFibGUsIFN1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAsIHN0YXJ0V2l0aCwgdGFrZVVudGlsfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbi8qKlxuICogUHJvdmlkZXMgdGhlIG5hdGl2ZSBzY3JvbGxiYXIgdHJhY2tzaXplLlxuICpcbiAqIEBkeW5hbWljIGlnbm9yZSAnc3RyaWN0TWV0YWRhdGFFbWl0JyBlcnJvcnMgZHVlIHRvIHRoZSB1c2FnZSBvZiB7QGxpbmsgRG9jdW1lbnR9IGFzIGFtYmllbnQgdHlwZSBmb3IgREkuXG4gKi9cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIFNjaU5hdGl2ZVNjcm9sbGJhclRyYWNrU2l6ZVByb3ZpZGVyIGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICBwcml2YXRlIHJlYWRvbmx5IF90cmFja1NpemUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxOYXRpdmVTY3JvbGxiYXJUcmFja1NpemUgfCBudWxsPihudWxsKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgX2RvY3VtZW50OiBEb2N1bWVudCwgcHJpdmF0ZSBfem9uZTogTmdab25lKSB7XG4gICAgdGhpcy5pbnN0YWxsTmF0aXZlU2Nyb2xsYmFyVHJhY2tTaXplTGlzdGVuZXIoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIHtPYnNlcnZhYmxlfSB3aGljaCBlbWl0cyB0aGUgbmF0aXZlIHNjcm9sbGJhciB0cmFjayBzaXplLCBpZiBhbnksIG9yIGVsc2UgYG51bGxgLlxuICAgKlxuICAgKiBVcG9uIHN1YnNjcmlwdGlvbiwgaXQgZW1pdHMgdGhlIHRyYWNrIHNpemUgaW1tZWRpYXRlbHksIGFuZCB0aGVuIGNvbnRpbnVvdXNseSBlbWl0cyB3aGVuIHRoZSB0cmFjayBzaXplIGNoYW5nZXMuXG4gICAqL1xuICBwdWJsaWMgZ2V0IHRyYWNrU2l6ZSQoKTogT2JzZXJ2YWJsZTxOYXRpdmVTY3JvbGxiYXJUcmFja1NpemUgfCBudWxsPiB7XG4gICAgcmV0dXJuIHRoaXMuX3RyYWNrU2l6ZSQ7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgbmF0aXZlIHNjcm9sbGJhciB0cmFjayBzaXplLCBpZiBhbnksIG9yIGVsc2UgYG51bGxgLlxuICAgKi9cbiAgcHVibGljIGdldCB0cmFja1NpemUoKTogTmF0aXZlU2Nyb2xsYmFyVHJhY2tTaXplIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX3RyYWNrU2l6ZSQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb21wdXRlcyB0aGUgbmF0aXZlIHNjcm9sbGJhciB0cmFjayBzaXplLlxuICAgKlxuICAgKiBAcmV0dXJucyBuYXRpdmUgdHJhY2sgc2l6ZSwgb3IgYG51bGxgIGlmIHRoZSBuYXRpdmUgc2Nyb2xsYmFycyBzaXQgb24gdG9wIG9mIHRoZSBjb250ZW50LlxuICAgKi9cbiAgcHJpdmF0ZSBjb21wdXRlVHJhY2tTaXplKCk6IE5hdGl2ZVNjcm9sbGJhclRyYWNrU2l6ZSB8IG51bGwge1xuICAgIC8vIGNyZWF0ZSB0ZW1wb3Jhcnkgdmlld3BvcnQgYW5kIHZpZXdwb3J0IGNsaWVudCB3aXRoIG5hdGl2ZSBzY3JvbGxiYXJzIHRvIGNvbXB1dGUgc2Nyb2xsdHJhY2sgd2lkdGhcbiAgICBjb25zdCB2aWV3cG9ydERpdiA9IHRoaXMuX2RvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgIHNldFN0eWxlKHZpZXdwb3J0RGl2LCB7XG4gICAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICAgIG92ZXJmbG93OiAnc2Nyb2xsJyxcbiAgICAgIGhlaWdodDogJzEwMHB4JyxcbiAgICAgIHdpZHRoOiAnMTAwcHgnLFxuICAgICAgYm9yZGVyOiAwLFxuICAgICAgdmlzaWJpbGl0eTogJ2hpZGRlbicsXG4gICAgfSk7XG5cbiAgICBjb25zdCB2aWV3cG9ydENsaWVudERpdiA9IHRoaXMuX2RvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgIHNldFN0eWxlKHZpZXdwb3J0Q2xpZW50RGl2LCB7XG4gICAgICBoZWlnaHQ6ICcxMDAlJyxcbiAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICBib3JkZXI6IDAsXG4gICAgfSk7XG5cbiAgICB2aWV3cG9ydERpdi5hcHBlbmRDaGlsZCh2aWV3cG9ydENsaWVudERpdik7XG4gICAgdGhpcy5fZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh2aWV3cG9ydERpdik7XG5cbiAgICBjb25zdCB0cmFja1NpemU6IE5hdGl2ZVNjcm9sbGJhclRyYWNrU2l6ZSA9IHtcbiAgICAgIGhTY3JvbGxiYXJUcmFja0hlaWdodDogdmlld3BvcnREaXYub2Zmc2V0SGVpZ2h0IC0gdmlld3BvcnRDbGllbnREaXYub2Zmc2V0SGVpZ2h0LFxuICAgICAgdlNjcm9sbGJhclRyYWNrV2lkdGg6IHZpZXdwb3J0RGl2Lm9mZnNldFdpZHRoIC0gdmlld3BvcnRDbGllbnREaXYub2Zmc2V0V2lkdGgsXG4gICAgfTtcblxuICAgIC8vIGRlc3Ryb3kgdGVtcG9yYXJ5IHZpZXdwb3J0XG4gICAgdGhpcy5fZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh2aWV3cG9ydERpdik7XG4gICAgaWYgKHRyYWNrU2l6ZS5oU2Nyb2xsYmFyVHJhY2tIZWlnaHQgPT09IDAgJiYgdHJhY2tTaXplLnZTY3JvbGxiYXJUcmFja1dpZHRoID09PSAwKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gdHJhY2tTaXplO1xuICB9XG5cbiAgcHJpdmF0ZSBpbnN0YWxsTmF0aXZlU2Nyb2xsYmFyVHJhY2tTaXplTGlzdGVuZXIoKTogdm9pZCB7XG4gICAgLy8gV2UgY29tcHV0ZSB0aGUgc2l6ZSBvZiB0aGUgbmF0aXZlIHNjcm9sbGJhciB0cmFjayB3aGVuIHRoZSBicm93c2VyIGZpcmVzIHRoZSBvbnJlc2l6ZSB3aW5kb3cgZXZlbnQuXG4gICAgLy8gVGhpcyBldmVudCBpcyBhbHNvIGZpcmVkIG9uIHBhZ2Ugem9vbSBvciB3aGVuIGRpc3BsYXlpbmcgYSBoaWRkZW4gZG9jdW1lbnQuIEhpZGRlbiBkb2N1bWVudHMgZG8gbm90IGhhdmVcbiAgICAvLyBhIHNjcm9sbGJhciB0cmFjayBzaXplIHVudGlsIGJlaW5nIGRpc3BsYXllZCwgZS5nLiwgYWZ0ZXIgc2hvd2luZyBoaWRkZW4gaWZyYW1lcy5cbiAgICB0aGlzLl96b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIGZyb21FdmVudCh3aW5kb3csICdyZXNpemUnKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBkZWJvdW5jZVRpbWUoNSksXG4gICAgICAgICAgc3RhcnRXaXRoKG51bGwpLCAvLyB0cmlnZ2VyIHRoZSBpbml0aWFsIGNvbXB1dGF0aW9uXG4gICAgICAgICAgbWFwKCgpID0+IHRoaXMuY29tcHV0ZVRyYWNrU2l6ZSgpKSxcbiAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgodDEsIHQyKSA9PiBKU09OLnN0cmluZ2lmeSh0MSkgPT09IEpTT04uc3RyaW5naWZ5KHQyKSksXG4gICAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKHRyYWNrU2l6ZSA9PiB7XG4gICAgICAgICAgdGhpcy5fem9uZS5ydW4oKCkgPT4gdGhpcy5fdHJhY2tTaXplJC5uZXh0KHRyYWNrU2l6ZSkpO1xuICAgICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KCk7XG4gIH1cbn1cblxuLyoqXG4gKiBBcHBsaWVzIHRoZSBnaXZlbiBzdHlsZShzKSB0byB0aGUgZ2l2ZW4gZWxlbWVudC5cbiAqXG4gKiBTcGVjaWZ5IHN0eWxlcyB0byBiZSBtb2RpZmllZCBieSBwYXNzaW5nIGEgZGljdGlvbmFyeSBjb250YWluaW5nIENTUyBwcm9wZXJ0eSBuYW1lcyAoaHlwaGVuIGNhc2UpLlxuICogVG8gcmVtb3ZlIGEgc3R5bGUsIHNldCBpdHMgdmFsdWUgdG8gYG51bGxgLlxuICpcbiAqIEBpZ25vcmVcbiAqL1xuZnVuY3Rpb24gc2V0U3R5bGUoZWxlbWVudDogSFRNTEVsZW1lbnQsIHN0eWxlOiB7W3N0eWxlOiBzdHJpbmddOiBhbnkgfCBudWxsfSk6IHZvaWQge1xuICBPYmplY3Qua2V5cyhzdHlsZSkuZm9yRWFjaChrZXkgPT4gZWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShrZXksIHN0eWxlW2tleV0pKTtcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIHRoZSBuYXRpdmUgc2Nyb2xsYmFyIHRyYWNrIHNpemUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTmF0aXZlU2Nyb2xsYmFyVHJhY2tTaXplIHtcbiAgaFNjcm9sbGJhclRyYWNrSGVpZ2h0OiBudW1iZXI7XG4gIHZTY3JvbGxiYXJUcmFja1dpZHRoOiBudW1iZXI7XG59XG4iXX0=
|
|
116
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF0aXZlLXNjcm9sbGJhci10cmFjay1zaXplLXByb3ZpZGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zY2lvbi9jb21wb25lbnRzL3ZpZXdwb3J0L3NyYy9uYXRpdmUtc2Nyb2xsYmFyLXRyYWNrLXNpemUtcHJvdmlkZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUVILE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFvQixNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFDLGVBQWUsRUFBRSxTQUFTLEVBQWMsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFFN0Y7O0dBRUc7QUFDSCxNQUNhLG1DQUFtQztJQUs5QyxZQUFzQyxTQUFtQixFQUFVLEtBQWE7UUFBMUMsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQUFVLFVBQUssR0FBTCxLQUFLLENBQVE7UUFIL0QsZ0JBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBa0MsSUFBSSxDQUFDLENBQUM7UUFDekUsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFHL0MsSUFBSSxDQUFDLHVDQUF1QyxFQUFFLENBQUM7SUFDakQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxJQUFXLFVBQVU7UUFDbkIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsU0FBUztRQUNsQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxnQkFBZ0I7UUFD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O0FBd0Y5Qjs7Ozs7OztHQU9HO0FBQ0gsU0FBUyxRQUFRLENBQUMsT0FBb0IsRUFBRSxLQUFvQztJQUMxRSxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2hGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LTIwMTkgU3dpc3MgRmVkZXJhbCBSYWlsd2F5c1xuICpcbiAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGVcbiAqIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wXG4gKiB3aGljaCBpcyBhdmFpbGFibGUgYXQgaHR0cHM6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC9cbiAqXG4gKiAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjBcbiAqL1xuXG5pbXBvcnQge0luamVjdCwgSW5qZWN0YWJsZSwgTmdab25lLCBPbkRlc3Ryb3l9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtET0NVTUVOVH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBmcm9tRXZlbnQsIE9ic2VydmFibGUsIFN1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAsIHN0YXJ0V2l0aCwgdGFrZVVudGlsfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbi8qKlxuICogUHJvdmlkZXMgdGhlIG5hdGl2ZSBzY3JvbGxiYXIgdHJhY2tzaXplLlxuICovXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBTY2lOYXRpdmVTY3JvbGxiYXJUcmFja1NpemVQcm92aWRlciBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfdHJhY2tTaXplJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TmF0aXZlU2Nyb2xsYmFyVHJhY2tTaXplIHwgbnVsbD4obnVsbCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIF9kb2N1bWVudDogRG9jdW1lbnQsIHByaXZhdGUgX3pvbmU6IE5nWm9uZSkge1xuICAgIHRoaXMuaW5zdGFsbE5hdGl2ZVNjcm9sbGJhclRyYWNrU2l6ZUxpc3RlbmVyKCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhbiB7T2JzZXJ2YWJsZX0gd2hpY2ggZW1pdHMgdGhlIG5hdGl2ZSBzY3JvbGxiYXIgdHJhY2sgc2l6ZSwgaWYgYW55LCBvciBlbHNlIGBudWxsYC5cbiAgICpcbiAgICogVXBvbiBzdWJzY3JpcHRpb24sIGl0IGVtaXRzIHRoZSB0cmFjayBzaXplIGltbWVkaWF0ZWx5LCBhbmQgdGhlbiBjb250aW51b3VzbHkgZW1pdHMgd2hlbiB0aGUgdHJhY2sgc2l6ZSBjaGFuZ2VzLlxuICAgKi9cbiAgcHVibGljIGdldCB0cmFja1NpemUkKCk6IE9ic2VydmFibGU8TmF0aXZlU2Nyb2xsYmFyVHJhY2tTaXplIHwgbnVsbD4ge1xuICAgIHJldHVybiB0aGlzLl90cmFja1NpemUkO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIG5hdGl2ZSBzY3JvbGxiYXIgdHJhY2sgc2l6ZSwgaWYgYW55LCBvciBlbHNlIGBudWxsYC5cbiAgICovXG4gIHB1YmxpYyBnZXQgdHJhY2tTaXplKCk6IE5hdGl2ZVNjcm9sbGJhclRyYWNrU2l6ZSB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl90cmFja1NpemUkLmdldFZhbHVlKCk7XG4gIH1cblxuICAvKipcbiAgICogQ29tcHV0ZXMgdGhlIG5hdGl2ZSBzY3JvbGxiYXIgdHJhY2sgc2l6ZS5cbiAgICpcbiAgICogQHJldHVybnMgbmF0aXZlIHRyYWNrIHNpemUsIG9yIGBudWxsYCBpZiB0aGUgbmF0aXZlIHNjcm9sbGJhcnMgc2l0IG9uIHRvcCBvZiB0aGUgY29udGVudC5cbiAgICovXG4gIHByaXZhdGUgY29tcHV0ZVRyYWNrU2l6ZSgpOiBOYXRpdmVTY3JvbGxiYXJUcmFja1NpemUgfCBudWxsIHtcbiAgICAvLyBjcmVhdGUgdGVtcG9yYXJ5IHZpZXdwb3J0IGFuZCB2aWV3cG9ydCBjbGllbnQgd2l0aCBuYXRpdmUgc2Nyb2xsYmFycyB0byBjb21wdXRlIHNjcm9sbHRyYWNrIHdpZHRoXG4gICAgY29uc3Qgdmlld3BvcnREaXYgPSB0aGlzLl9kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICBzZXRTdHlsZSh2aWV3cG9ydERpdiwge1xuICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICBvdmVyZmxvdzogJ3Njcm9sbCcsXG4gICAgICBoZWlnaHQ6ICcxMDBweCcsXG4gICAgICB3aWR0aDogJzEwMHB4JyxcbiAgICAgIGJvcmRlcjogMCxcbiAgICAgIHZpc2liaWxpdHk6ICdoaWRkZW4nLFxuICAgIH0pO1xuXG4gICAgY29uc3Qgdmlld3BvcnRDbGllbnREaXYgPSB0aGlzLl9kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICBzZXRTdHlsZSh2aWV3cG9ydENsaWVudERpdiwge1xuICAgICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgYm9yZGVyOiAwLFxuICAgIH0pO1xuXG4gICAgdmlld3BvcnREaXYuYXBwZW5kQ2hpbGQodmlld3BvcnRDbGllbnREaXYpO1xuICAgIHRoaXMuX2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodmlld3BvcnREaXYpO1xuXG4gICAgLy8gRG8gbm90IHVzZSBjbGllbnQgYW5kIG9mZnNldCB3aWR0aC9oZWlnaHQgdG8gY2FsY3VsYXRlIHRoZSBzaXplIG9mIHRoZSBzY3JvbGxiYXIsIGFzIHRoZXkgYXJlIHJvdW5kZWQsIHJlc3VsdGluZyBpbiB1bndhbnRlZCBzcGFjaW5nIHdoZW4gem9vbWluZyB0aGUgcGFnZS5cbiAgICBjb25zdCB2aWV3cG9ydEJvdW5kcyA9IHZpZXdwb3J0RGl2LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIGNvbnN0IHZpZXdwb3J0Q2xpZW50Qm91bmRzID0gdmlld3BvcnRDbGllbnREaXYuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3QgdHJhY2tTaXplOiBOYXRpdmVTY3JvbGxiYXJUcmFja1NpemUgPSB7XG4gICAgICBoU2Nyb2xsYmFyVHJhY2tIZWlnaHQ6IHZpZXdwb3J0Qm91bmRzLmhlaWdodCAtIHZpZXdwb3J0Q2xpZW50Qm91bmRzLmhlaWdodCxcbiAgICAgIHZTY3JvbGxiYXJUcmFja1dpZHRoOiB2aWV3cG9ydEJvdW5kcy53aWR0aCAtIHZpZXdwb3J0Q2xpZW50Qm91bmRzLndpZHRoLFxuICAgIH07XG5cbiAgICAvLyBkZXN0cm95IHRlbXBvcmFyeSB2aWV3cG9ydFxuICAgIHRoaXMuX2RvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodmlld3BvcnREaXYpO1xuICAgIGlmICh0cmFja1NpemUuaFNjcm9sbGJhclRyYWNrSGVpZ2h0ID09PSAwICYmIHRyYWNrU2l6ZS52U2Nyb2xsYmFyVHJhY2tXaWR0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRyYWNrU2l6ZTtcbiAgfVxuXG4gIHByaXZhdGUgaW5zdGFsbE5hdGl2ZVNjcm9sbGJhclRyYWNrU2l6ZUxpc3RlbmVyKCk6IHZvaWQge1xuICAgIC8vIFdlIGNvbXB1dGUgdGhlIHNpemUgb2YgdGhlIG5hdGl2ZSBzY3JvbGxiYXIgdHJhY2sgd2hlbiB0aGUgYnJvd3NlciBmaXJlcyB0aGUgb25yZXNpemUgd2luZG93IGV2ZW50LlxuICAgIC8vIFRoaXMgZXZlbnQgaXMgYWxzbyBmaXJlZCBvbiBwYWdlIHpvb20gb3Igd2hlbiBkaXNwbGF5aW5nIGEgaGlkZGVuIGRvY3VtZW50LiBIaWRkZW4gZG9jdW1lbnRzIGRvIG5vdCBoYXZlXG4gICAgLy8gYSBzY3JvbGxiYXIgdHJhY2sgc2l6ZSB1bnRpbCBiZWluZyBkaXNwbGF5ZWQsIGUuZy4sIGFmdGVyIHNob3dpbmcgaGlkZGVuIGlmcmFtZXMuXG4gICAgdGhpcy5fem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICBmcm9tRXZlbnQod2luZG93LCAncmVzaXplJylcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgZGVib3VuY2VUaW1lKDUpLFxuICAgICAgICAgIHN0YXJ0V2l0aChudWxsKSwgLy8gdHJpZ2dlciB0aGUgaW5pdGlhbCBjb21wdXRhdGlvblxuICAgICAgICAgIG1hcCgoKSA9PiB0aGlzLmNvbXB1dGVUcmFja1NpemUoKSksXG4gICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKHQxLCB0MikgPT4gSlNPTi5zdHJpbmdpZnkodDEpID09PSBKU09OLnN0cmluZ2lmeSh0MikpLFxuICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSh0cmFja1NpemUgPT4ge1xuICAgICAgICAgIHRoaXMuX3pvbmUucnVuKCgpID0+IHRoaXMuX3RyYWNrU2l6ZSQubmV4dCh0cmFja1NpemUpKTtcbiAgICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fZGVzdHJveSQubmV4dCgpO1xuICB9XG59XG5cbi8qKlxuICogQXBwbGllcyB0aGUgZ2l2ZW4gc3R5bGUocykgdG8gdGhlIGdpdmVuIGVsZW1lbnQuXG4gKlxuICogU3BlY2lmeSBzdHlsZXMgdG8gYmUgbW9kaWZpZWQgYnkgcGFzc2luZyBhIGRpY3Rpb25hcnkgY29udGFpbmluZyBDU1MgcHJvcGVydHkgbmFtZXMgKGh5cGhlbiBjYXNlKS5cbiAqIFRvIHJlbW92ZSBhIHN0eWxlLCBzZXQgaXRzIHZhbHVlIHRvIGBudWxsYC5cbiAqXG4gKiBAaWdub3JlXG4gKi9cbmZ1bmN0aW9uIHNldFN0eWxlKGVsZW1lbnQ6IEhUTUxFbGVtZW50LCBzdHlsZToge1tzdHlsZTogc3RyaW5nXTogYW55IHwgbnVsbH0pOiB2b2lkIHtcbiAgT2JqZWN0LmtleXMoc3R5bGUpLmZvckVhY2goa2V5ID0+IGVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoa2V5LCBzdHlsZVtrZXldKSk7XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyB0aGUgbmF0aXZlIHNjcm9sbGJhciB0cmFjayBzaXplLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5hdGl2ZVNjcm9sbGJhclRyYWNrU2l6ZSB7XG4gIGhTY3JvbGxiYXJUcmFja0hlaWdodDogbnVtYmVyO1xuICB2U2Nyb2xsYmFyVHJhY2tXaWR0aDogbnVtYmVyO1xufVxuIl19
|
|
@@ -13,8 +13,7 @@
|
|
|
13
13
|
* @see https://github.com/ng-packagr/ng-packagr/blob/master/docs/secondary-entrypoints.md
|
|
14
14
|
*/
|
|
15
15
|
export { SciViewportModule } from './viewport.module';
|
|
16
|
-
export
|
|
17
|
-
export
|
|
18
|
-
export
|
|
19
|
-
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NjaW9uL2NvbXBvbmVudHMvdmlld3BvcnQvc3JjL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7O0dBUUc7QUFFSDs7OztHQUlHO0FBQ0gsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxnREFBZ0QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAxOSBTd2lzcyBGZWRlcmFsIFJhaWx3YXlzXG4gKlxuICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZVxuICogYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjBcbiAqIHdoaWNoIGlzIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wL1xuICpcbiAqICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMFxuICovXG5cbi8qXG4gKiBTZWNvbmRhcnkgZW50cnlwb2ludDogJ0BzY2lvbi9jb21wb25lbnRzL3ZpZXdwb3J0J1xuICpcbiAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL25nLXBhY2thZ3IvbmctcGFja2Fnci9ibG9iL21hc3Rlci9kb2NzL3NlY29uZGFyeS1lbnRyeXBvaW50cy5tZFxuICovXG5leHBvcnQge1NjaVZpZXdwb3J0TW9kdWxlfSBmcm9tICcuL3ZpZXdwb3J0Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL3ZpZXdwb3J0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3Njcm9sbGFibGUuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vc2Nyb2xsYmFyL3Njcm9sbGJhci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9uYXRpdmUtc2Nyb2xsYmFyLXRyYWNrLXNpemUtcHJvdmlkZXIuc2VydmljZSc7XG4iXX0=
|
|
16
|
+
export { SciViewportComponent } from './viewport.component';
|
|
17
|
+
export { SciScrollbarComponent } from './scrollbar/scrollbar.component';
|
|
18
|
+
export { SciScrollableDirective } from './scrollable.directive';
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NjaW9uL2NvbXBvbmVudHMvdmlld3BvcnQvc3JjL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7O0dBUUc7QUFFSDs7OztHQUlHO0FBQ0gsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFDLG9CQUFvQixFQUFpQixNQUFNLHNCQUFzQixDQUFDO0FBQzFFLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ3RFLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLHdCQUF3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOC0yMDE5IFN3aXNzIEZlZGVyYWwgUmFpbHdheXNcbiAqXG4gKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlXG4gKiBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMFxuICogd2hpY2ggaXMgYXZhaWxhYmxlIGF0IGh0dHBzOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAvXG4gKlxuICogIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wXG4gKi9cblxuLypcbiAqIFNlY29uZGFyeSBlbnRyeXBvaW50OiAnQHNjaW9uL2NvbXBvbmVudHMvdmlld3BvcnQnXG4gKlxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vbmctcGFja2Fnci9uZy1wYWNrYWdyL2Jsb2IvbWFzdGVyL2RvY3Mvc2Vjb25kYXJ5LWVudHJ5cG9pbnRzLm1kXG4gKi9cbmV4cG9ydCB7U2NpVmlld3BvcnRNb2R1bGV9IGZyb20gJy4vdmlld3BvcnQubW9kdWxlJztcbmV4cG9ydCB7U2NpVmlld3BvcnRDb21wb25lbnQsIFNjcm9sbGJhclN0eWxlfSBmcm9tICcuL3ZpZXdwb3J0LmNvbXBvbmVudCc7XG5leHBvcnQge1NjaVNjcm9sbGJhckNvbXBvbmVudH0gZnJvbSAnLi9zY3JvbGxiYXIvc2Nyb2xsYmFyLmNvbXBvbmVudCc7XG5leHBvcnQge1NjaVNjcm9sbGFibGVEaXJlY3RpdmV9IGZyb20gJy4vc2Nyb2xsYWJsZS5kaXJlY3RpdmUnO1xuIl19
|
|
@@ -79,16 +79,17 @@ class SciScrollableDirective {
|
|
|
79
79
|
this._destroy$.next();
|
|
80
80
|
}
|
|
81
81
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: SciScrollableDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.SciNativeScrollbarTrackSizeProvider }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
82
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.1", type: SciScrollableDirective, selector: "[sciScrollable]", inputs: { isDisplayNativeScrollbar: ["sciScrollableDisplayNativeScrollbar", "isDisplayNativeScrollbar"] }, usesOnChanges: true, ngImport: i0 }); }
|
|
82
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.1", type: SciScrollableDirective, isStandalone: true, selector: "[sciScrollable]", inputs: { isDisplayNativeScrollbar: ["sciScrollableDisplayNativeScrollbar", "isDisplayNativeScrollbar"] }, usesOnChanges: true, ngImport: i0 }); }
|
|
83
83
|
}
|
|
84
84
|
export { SciScrollableDirective };
|
|
85
85
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: SciScrollableDirective, decorators: [{
|
|
86
86
|
type: Directive,
|
|
87
87
|
args: [{
|
|
88
88
|
selector: '[sciScrollable]',
|
|
89
|
+
standalone: true,
|
|
89
90
|
}]
|
|
90
91
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.SciNativeScrollbarTrackSizeProvider }]; }, propDecorators: { isDisplayNativeScrollbar: [{
|
|
91
92
|
type: Input,
|
|
92
93
|
args: ['sciScrollableDisplayNativeScrollbar']
|
|
93
94
|
}] } });
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsYWJsZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zY2lvbi9jb21wb25lbnRzL3ZpZXdwb3J0L3NyYy9zY3JvbGxhYmxlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUVILE9BQU8sRUFBQyxTQUFTLEVBQWMsS0FBSyxFQUFpRCxNQUFNLGVBQWUsQ0FBQztBQUUzRyxPQUFPLEVBQUMsR0FBRyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBQyxLQUFLLEVBQUUsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDOzs7QUFHcEM7Ozs7Ozs7Ozs7R0FVRztBQUNILE1BSWEsc0JBQXNCO0lBWWpDLFlBQW9CLEtBQWlDLEVBQ2pDLFNBQW9CLEVBQzVCLGdDQUFxRTtRQUY3RCxVQUFLLEdBQUwsS0FBSyxDQUE0QjtRQUNqQyxjQUFTLEdBQVQsU0FBUyxDQUFXO1FBWGhDLGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQ2hDLGtCQUFhLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUU1Qzs7O1dBR0c7UUFFSSw2QkFBd0IsR0FBRyxLQUFLLENBQUM7UUFLdEMsS0FBSyxDQUNILGdDQUFnQyxDQUFDLFVBQVUsRUFDM0MsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLGdDQUFnQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQy9FO2FBQ0UsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDL0IsU0FBUyxDQUFDLHdCQUF3QixDQUFDLEVBQUU7WUFDcEMsSUFBSSx3QkFBd0IsS0FBSyxJQUFJLEVBQUUsRUFBRSxrREFBa0Q7Z0JBQ3pGLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO2FBQzVCO2lCQUNJO2dCQUNILElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO2FBQ25IO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxtQkFBbUI7UUFDekIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRTtZQUN0QyxRQUFRLEVBQUUsTUFBTTtZQUNoQixLQUFLLEVBQUUsTUFBTTtZQUNiLE1BQU0sRUFBRSxNQUFNO1lBQ2QsV0FBVyxFQUFFLENBQUM7WUFDZCxZQUFZLEVBQUUsQ0FBQztTQUNoQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxxQkFBcUIsQ0FBQyx3QkFBa0Q7UUFDOUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRTtZQUN0QyxRQUFRLEVBQUUsUUFBUTtZQUNsQixLQUFLLEVBQUUsZUFBZSx3QkFBd0IsQ0FBQyxvQkFBb0IsSUFBSTtZQUN2RSxNQUFNLEVBQUUsZUFBZSx3QkFBd0IsQ0FBQyxxQkFBcUIsSUFBSTtZQUN6RSxXQUFXLEVBQUUsSUFBSSx3QkFBd0IsQ0FBQyxvQkFBb0IsSUFBSTtZQUNsRSxZQUFZLEVBQUUsSUFBSSx3QkFBd0IsQ0FBQyxxQkFBcUIsSUFBSTtTQUNyRSxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sUUFBUSxDQUFDLE9BQWdCLEVBQUUsS0FBaUI7UUFDbEQsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkYsQ0FBQztJQUVNLFdBQVcsQ0FBQyxPQUFzQjtRQUN2QyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDeEIsQ0FBQzs4R0FsRVUsc0JBQXNCO2tHQUF0QixzQkFBc0I7O1NBQXRCLHNCQUFzQjsyRkFBdEIsc0JBQXNCO2tCQUpsQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjsyS0FXUSx3QkFBd0I7c0JBRDlCLEtBQUs7dUJBQUMscUNBQXFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOC0yMDE5IFN3aXNzIEZlZGVyYWwgUmFpbHdheXNcbiAqXG4gKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlXG4gKiBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMFxuICogd2hpY2ggaXMgYXZhaWxhYmxlIGF0IGh0dHBzOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAvXG4gKlxuICogIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wXG4gKi9cblxuaW1wb3J0IHtEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgUmVuZGVyZXIyLCBTaW1wbGVDaGFuZ2VzfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmF0aXZlU2Nyb2xsYmFyVHJhY2tTaXplLCBTY2lOYXRpdmVTY3JvbGxiYXJUcmFja1NpemVQcm92aWRlcn0gZnJvbSAnLi9uYXRpdmUtc2Nyb2xsYmFyLXRyYWNrLXNpemUtcHJvdmlkZXIuc2VydmljZSc7XG5pbXBvcnQge21hcCwgdGFrZVVudGlsfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge21lcmdlLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7RGljdGlvbmFyeX0gZnJvbSAnQHNjaW9uL3Rvb2xraXQvdXRpbCc7XG5cbi8qKlxuICogTWFrZXMgdGhlIGhvc3QgZWxlbWVudCBuYXRpdmVseSBzY3JvbGxhYmxlIGFuZCBoaWRlcyBuYXRpdmUgc2Nyb2xsYmFycyBieSBkZWZhdWx0LCB1bmxlc3MgbmF0aXZlIHNjcm9sbGJhcnNcbiAqIGFscmVhZHkgc2l0IG9uIHRvcCBvZiB0aGUgdmlld3BvcnQgKGUuZy4gaW4gT1MgWCkuXG4gKlxuICogQmVjYXVzZSB0aGVyZSBpcyBubyBjcm9zcy1icm93c2VyIEFQSSB0byBoaWRlIHNjcm9sbGJhcnMgd2l0aG91dCBsb3NpbmcgbmF0aXZlIHNjcm9sbCBzdXBwb3J0LCB3ZSBzZXQgJ292ZXJmbG93J1xuICogdG8gJ3Njcm9sbCcgYnV0IHNoaWZ0IHRoZSBuYXRpdmUgc2Nyb2xsYmFycyBvdXQgb2YgdGhlIHZpc2libGUgdmlld3BvcnQgYXJlYS4gVGhlIHNoaWZ0IG9mZnNldCBpcyBjb21wdXRlZCB1cGZyb250LlxuICpcbiAqIFRoaXMgZGlyZWN0aXZlIGV4cGVjdHMgaXRzIGhvc3QgZWxlbWVudCB0byBiZSB0aGUgb25seSBjaGlsZCBpbiBkb2N1bWVudCBmbG93IGluIGl0cyBwYXJlbnQgRE9NIGVsZW1lbnQuIEl0IG1ha2VzIHRoZSBob3N0IGVsZW1lbnRcbiAqIGZpbGwgdXAgdGhlIGVudGlyZSBzcGFjZSAod2lkdGggYW5kIGhlaWdodCBzZXQgdG8gMTAwJSkuIFRoZSBwYXJlbnQgZWxlbWVudCBtdXN0IGhhdmUgaXRzIENTUyBgb3ZlcmZsb3dgIHByb3BlcnR5IHNldCB0byBgaGlkZGVuYFxuICogdG8gaGlkZSB0aGUgcHVzaGVkIG91dCBuYXRpdmUgc2Nyb2xsYmFycy5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3NjaVNjcm9sbGFibGVdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgU2NpU2Nyb2xsYWJsZURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcblxuICBwcml2YXRlIF9kZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHByaXZhdGUgX2lucHV0Q2hhbmdlJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgLyoqXG4gICAqIENvbnRyb2xzIHdoZXRoZXIgdG8gZGlzcGxheSBuYXRpdmUgc2Nyb2xsYmFycy5cbiAgICogSGFzIG5vIGVmZmVjdCBpZiB0aGUgbmF0aXZlIHNjcm9sbGJhciBzaXRzIG9uIHRvcCBvZiB0aGUgY29udGVudCwgZS5nLiBpbiBPUyBYLlxuICAgKi9cbiAgQElucHV0KCdzY2lTY3JvbGxhYmxlRGlzcGxheU5hdGl2ZVNjcm9sbGJhcicpLy8gZXNsaW50LWRpc2FibGUtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lXG4gIHB1YmxpYyBpc0Rpc3BsYXlOYXRpdmVTY3JvbGxiYXIgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9ob3N0OiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PixcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgICAgICAgbmF0aXZlU2Nyb2xsYmFyVHJhY2tTaXplUHJvdmlkZXI6IFNjaU5hdGl2ZVNjcm9sbGJhclRyYWNrU2l6ZVByb3ZpZGVyKSB7XG4gICAgbWVyZ2UoXG4gICAgICBuYXRpdmVTY3JvbGxiYXJUcmFja1NpemVQcm92aWRlci50cmFja1NpemUkLFxuICAgICAgdGhpcy5faW5wdXRDaGFuZ2UkLnBpcGUobWFwKCgpID0+IG5hdGl2ZVNjcm9sbGJhclRyYWNrU2l6ZVByb3ZpZGVyLnRyYWNrU2l6ZSkpLFxuICAgIClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKG5hdGl2ZVNjcm9sbGJhclRyYWNrU2l6ZSA9PiB7XG4gICAgICAgIGlmIChuYXRpdmVTY3JvbGxiYXJUcmFja1NpemUgPT09IG51bGwpIHsgLy8gdGhlIG5hdGl2ZSBzY3JvbGxiYXIgc2l0cyBvbiB0b3Agb2YgdGhlIGNvbnRlbnRcbiAgICAgICAgICB0aGlzLnVzZU5hdGl2ZVNjcm9sbGJhcnMoKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICB0aGlzLmlzRGlzcGxheU5hdGl2ZVNjcm9sbGJhciA/IHRoaXMudXNlTmF0aXZlU2Nyb2xsYmFycygpIDogdGhpcy5zaGlmdE5hdGl2ZVNjcm9sbGJhcnMobmF0aXZlU2Nyb2xsYmFyVHJhY2tTaXplKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogVXNlcyB0aGUgbmF0aXZlIHNjcm9sbGJhcnMgd2hlbiBjb250ZW50IG92ZXJmbG93cy5cbiAgICovXG4gIHByaXZhdGUgdXNlTmF0aXZlU2Nyb2xsYmFycygpOiB2b2lkIHtcbiAgICB0aGlzLnNldFN0eWxlKHRoaXMuX2hvc3QubmF0aXZlRWxlbWVudCwge1xuICAgICAgb3ZlcmZsb3c6ICdhdXRvJyxcbiAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICBoZWlnaHQ6ICcxMDAlJyxcbiAgICAgIG1hcmdpblJpZ2h0OiAwLFxuICAgICAgbWFyZ2luQm90dG9tOiAwLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNoaWZ0cyB0aGUgbmF0aXZlIHNjcm9sbGJhcnMgb3V0IG9mIHRoZSB2aXNpYmxlIHZpZXdwb3J0IGFyZWEuXG4gICAqL1xuICBwcml2YXRlIHNoaWZ0TmF0aXZlU2Nyb2xsYmFycyhuYXRpdmVTY3JvbGxiYXJUcmFja1NpemU6IE5hdGl2ZVNjcm9sbGJhclRyYWNrU2l6ZSk6IHZvaWQge1xuICAgIHRoaXMuc2V0U3R5bGUodGhpcy5faG9zdC5uYXRpdmVFbGVtZW50LCB7XG4gICAgICBvdmVyZmxvdzogJ3Njcm9sbCcsXG4gICAgICB3aWR0aDogYGNhbGMoMTAwJSArICR7bmF0aXZlU2Nyb2xsYmFyVHJhY2tTaXplLnZTY3JvbGxiYXJUcmFja1dpZHRofXB4YCxcbiAgICAgIGhlaWdodDogYGNhbGMoMTAwJSArICR7bmF0aXZlU2Nyb2xsYmFyVHJhY2tTaXplLmhTY3JvbGxiYXJUcmFja0hlaWdodH1weGAsXG4gICAgICBtYXJnaW5SaWdodDogYC0ke25hdGl2ZVNjcm9sbGJhclRyYWNrU2l6ZS52U2Nyb2xsYmFyVHJhY2tXaWR0aH1weGAsXG4gICAgICBtYXJnaW5Cb3R0b206IGAtJHtuYXRpdmVTY3JvbGxiYXJUcmFja1NpemUuaFNjcm9sbGJhclRyYWNrSGVpZ2h0fXB4YCxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0U3R5bGUoZWxlbWVudDogRWxlbWVudCwgc3R5bGU6IERpY3Rpb25hcnkpOiB2b2lkIHtcbiAgICBPYmplY3Qua2V5cyhzdHlsZSkuZm9yRWFjaChrZXkgPT4gdGhpcy5fcmVuZGVyZXIuc2V0U3R5bGUoZWxlbWVudCwga2V5LCBzdHlsZVtrZXldKSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIHRoaXMuX2lucHV0Q2hhbmdlJC5uZXh0KCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fZGVzdHJveSQubmV4dCgpO1xuICB9XG59XG4iXX0=
|
|
@@ -22,11 +22,12 @@ import * as i0 from "@angular/core";
|
|
|
22
22
|
* - enlarges the thumb if the mouse pointer is near the thumb
|
|
23
23
|
* - allows paging on mousedown on the scroll track
|
|
24
24
|
*
|
|
25
|
-
* ###
|
|
25
|
+
* ### Styling:
|
|
26
26
|
*
|
|
27
|
-
*
|
|
27
|
+
* To customize the default look of SCION components or support different themes, configure the `@scion/components` SCSS module in `styles.scss`.
|
|
28
|
+
* To style a specific `sci-scrollbar` component, the following CSS variables can be set directly on the component.
|
|
28
29
|
*
|
|
29
|
-
* - sci-scrollbar-color: Sets the color of the scrollbar
|
|
30
|
+
* - sci-scrollbar-color: Sets the color of the scrollbar.
|
|
30
31
|
*
|
|
31
32
|
* Example:
|
|
32
33
|
*
|
|
@@ -293,13 +294,13 @@ class SciScrollbarComponent {
|
|
|
293
294
|
this._destroy$.next();
|
|
294
295
|
}
|
|
295
296
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: SciScrollbarComponent, deps: [{ token: i0.ElementRef }, { token: DOCUMENT }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
296
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: SciScrollbarComponent, selector: "sci-scrollbar", inputs: { direction: "direction", setViewport: ["viewport", "setViewport"] }, host: { properties: { "class.vertical": "this.vertical", "class.horizontal": "this.horizontal", "class.scrolling": "this.scrolling" } }, viewQueries: [{ propertyName: "thumbElement", first: true, predicate: ["thumb_handle"], descendants: true, static: true }], ngImport: i0, template: "<!-- scrolltrack to move the viewport client upwards (paging) -->\n<div class=\"scrolltrack-start\" (mousedown)=\"onScrollTrackMouseDown($event, 'up')\"></div>\n\n<!-- scrollthumb -->\n<div #thumb_handle\n class=\"thumb-handle\"\n [class.vertical]=\"vertical\"\n [class.horizontal]=\"horizontal\"\n (mousedown)=\"onMouseDown($event)\"\n (touchstart)=\"onTouchStart($event)\"\n (touchmove)=\"onTouchMove($event)\"\n (touchend)=\"onTouchEnd($event)\"\n (touchcancel)=\"onTouchEnd($event)\">\n <div class=\"thumb\"\n [class.vertical]=\"vertical\"\n [class.horizontal]=\"horizontal\">\n </div>\n</div>\n\n<!-- scrolltrack to move the viewport client downwards (paging) -->\n<div class=\"scrolltrack-end\" (mousedown)=\"onScrollTrackMouseDown($event, 'down')\"></div>\n", styles: ["@charset \"UTF-8\";:host{display:flex;border:2px solid transparent;box-sizing:border-box
|
|
297
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: SciScrollbarComponent, isStandalone: true, selector: "sci-scrollbar", inputs: { direction: "direction", setViewport: ["viewport", "setViewport"] }, host: { properties: { "class.vertical": "this.vertical", "class.horizontal": "this.horizontal", "class.scrolling": "this.scrolling" } }, viewQueries: [{ propertyName: "thumbElement", first: true, predicate: ["thumb_handle"], descendants: true, static: true }], ngImport: i0, template: "<!-- scrolltrack to move the viewport client upwards (paging) -->\n<div class=\"scrolltrack-start\" (mousedown)=\"onScrollTrackMouseDown($event, 'up')\"></div>\n\n<!-- scrollthumb -->\n<div #thumb_handle\n class=\"thumb-handle\"\n [class.vertical]=\"vertical\"\n [class.horizontal]=\"horizontal\"\n (mousedown)=\"onMouseDown($event)\"\n (touchstart)=\"onTouchStart($event)\"\n (touchmove)=\"onTouchMove($event)\"\n (touchend)=\"onTouchEnd($event)\"\n (touchcancel)=\"onTouchEnd($event)\">\n <div class=\"thumb\"\n [class.vertical]=\"vertical\"\n [class.horizontal]=\"horizontal\">\n </div>\n</div>\n\n<!-- scrolltrack to move the viewport client downwards (paging) -->\n<div class=\"scrolltrack-end\" (mousedown)=\"onScrollTrackMouseDown($event, 'down')\"></div>\n", styles: ["@charset \"UTF-8\";:host{display:flex;border:2px solid transparent;box-sizing:border-box;--\\275sci-scrollbar-color: var(--sci-scrollbar-color, rgb(78, 78, 78));--\\275sci-scrollbar-thumb-position-fr: 0;--\\275sci-scrollbar-thumb-size-fr: 0}:host.vertical{flex-direction:column}:host.horizontal{flex-direction:row}:host>div.scrolltrack-start{flex-grow:var(--\\275sci-scrollbar-thumb-position-fr)}:host>div.thumb-handle{flex-basis:20px;display:flex;flex-grow:var(--\\275sci-scrollbar-thumb-size-fr);align-items:center}:host>div.thumb-handle.vertical{flex-direction:column}:host>div.thumb-handle.horizontal{flex-direction:row}:host>div.thumb-handle>div.thumb{flex:auto;border-radius:4px;background-color:var(--\\275sci-scrollbar-color);opacity:.4;transition-duration:125ms;transition-property:width,height;transition-timing-function:ease-out}:host>div.thumb-handle>div.thumb.vertical{width:60%}:host>div.thumb-handle>div.thumb.horizontal{height:60%}:host>div.scrolltrack-end{flex-grow:calc(1 - (var(--\\275sci-scrollbar-thumb-position-fr) + var(--\\275sci-scrollbar-thumb-size-fr)))}:host-context:not(.overflow){display:none}:host-context:hover>div.thumb-handle>div.thumb,:host-context(.scrolling)>div.thumb-handle>div.thumb{background-color:var(--\\275sci-scrollbar-color);opacity:.75}:host-context:hover>div.thumb-handle>div.thumb.vertical,:host-context(.scrolling)>div.thumb-handle>div.thumb.vertical{width:100%}:host-context:hover>div.thumb-handle>div.thumb.horizontal,:host-context(.scrolling)>div.thumb-handle>div.thumb.horizontal{height:100%}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
297
298
|
}
|
|
298
299
|
export { SciScrollbarComponent };
|
|
299
300
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: SciScrollbarComponent, decorators: [{
|
|
300
301
|
type: Component,
|
|
301
|
-
args: [{ selector: 'sci-scrollbar', changeDetection: ChangeDetectionStrategy.OnPush, template: "<!-- scrolltrack to move the viewport client upwards (paging) -->\n<div class=\"scrolltrack-start\" (mousedown)=\"onScrollTrackMouseDown($event, 'up')\"></div>\n\n<!-- scrollthumb -->\n<div #thumb_handle\n class=\"thumb-handle\"\n [class.vertical]=\"vertical\"\n [class.horizontal]=\"horizontal\"\n (mousedown)=\"onMouseDown($event)\"\n (touchstart)=\"onTouchStart($event)\"\n (touchmove)=\"onTouchMove($event)\"\n (touchend)=\"onTouchEnd($event)\"\n (touchcancel)=\"onTouchEnd($event)\">\n <div class=\"thumb\"\n [class.vertical]=\"vertical\"\n [class.horizontal]=\"horizontal\">\n </div>\n</div>\n\n<!-- scrolltrack to move the viewport client downwards (paging) -->\n<div class=\"scrolltrack-end\" (mousedown)=\"onScrollTrackMouseDown($event, 'down')\"></div>\n", styles: ["@charset \"UTF-8\";:host{display:flex;border:2px solid transparent;box-sizing:border-box
|
|
302
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type:
|
|
302
|
+
args: [{ selector: 'sci-scrollbar', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<!-- scrolltrack to move the viewport client upwards (paging) -->\n<div class=\"scrolltrack-start\" (mousedown)=\"onScrollTrackMouseDown($event, 'up')\"></div>\n\n<!-- scrollthumb -->\n<div #thumb_handle\n class=\"thumb-handle\"\n [class.vertical]=\"vertical\"\n [class.horizontal]=\"horizontal\"\n (mousedown)=\"onMouseDown($event)\"\n (touchstart)=\"onTouchStart($event)\"\n (touchmove)=\"onTouchMove($event)\"\n (touchend)=\"onTouchEnd($event)\"\n (touchcancel)=\"onTouchEnd($event)\">\n <div class=\"thumb\"\n [class.vertical]=\"vertical\"\n [class.horizontal]=\"horizontal\">\n </div>\n</div>\n\n<!-- scrolltrack to move the viewport client downwards (paging) -->\n<div class=\"scrolltrack-end\" (mousedown)=\"onScrollTrackMouseDown($event, 'down')\"></div>\n", styles: ["@charset \"UTF-8\";:host{display:flex;border:2px solid transparent;box-sizing:border-box;--\\275sci-scrollbar-color: var(--sci-scrollbar-color, rgb(78, 78, 78));--\\275sci-scrollbar-thumb-position-fr: 0;--\\275sci-scrollbar-thumb-size-fr: 0}:host.vertical{flex-direction:column}:host.horizontal{flex-direction:row}:host>div.scrolltrack-start{flex-grow:var(--\\275sci-scrollbar-thumb-position-fr)}:host>div.thumb-handle{flex-basis:20px;display:flex;flex-grow:var(--\\275sci-scrollbar-thumb-size-fr);align-items:center}:host>div.thumb-handle.vertical{flex-direction:column}:host>div.thumb-handle.horizontal{flex-direction:row}:host>div.thumb-handle>div.thumb{flex:auto;border-radius:4px;background-color:var(--\\275sci-scrollbar-color);opacity:.4;transition-duration:125ms;transition-property:width,height;transition-timing-function:ease-out}:host>div.thumb-handle>div.thumb.vertical{width:60%}:host>div.thumb-handle>div.thumb.horizontal{height:60%}:host>div.scrolltrack-end{flex-grow:calc(1 - (var(--\\275sci-scrollbar-thumb-position-fr) + var(--\\275sci-scrollbar-thumb-size-fr)))}:host-context:not(.overflow){display:none}:host-context:hover>div.thumb-handle>div.thumb,:host-context(.scrolling)>div.thumb-handle>div.thumb{background-color:var(--\\275sci-scrollbar-color);opacity:.75}:host-context:hover>div.thumb-handle>div.thumb.vertical,:host-context(.scrolling)>div.thumb-handle>div.thumb.vertical{width:100%}:host-context:hover>div.thumb-handle>div.thumb.horizontal,:host-context(.scrolling)>div.thumb-handle>div.thumb.horizontal{height:100%}\n"] }]
|
|
303
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: Document, decorators: [{
|
|
303
304
|
type: Inject,
|
|
304
305
|
args: [DOCUMENT]
|
|
305
306
|
}] }, { type: i0.NgZone }]; }, propDecorators: { thumbElement: [{
|
|
@@ -318,6 +319,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImpor
|
|
|
318
319
|
type: Input
|
|
319
320
|
}], setViewport: [{
|
|
320
321
|
type: Input,
|
|
321
|
-
args: ['viewport']
|
|
322
|
+
args: [{ alias: 'viewport', required: true }]
|
|
322
323
|
}] } });
|
|
323
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NjaW9uL2NvbXBvbmVudHMvdmlld3BvcnQvc3JjL3Njcm9sbGJhci9zY3JvbGxiYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2Npb24vY29tcG9uZW50cy92aWV3cG9ydC9zcmMvc2Nyb2xsYmFyL3Njcm9sbGJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUVILE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFjLFdBQVcsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBYSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkksT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDdEUsT0FBTyxFQUFDLFlBQVksRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwSCxPQUFPLEVBQUMsY0FBYyxFQUFFLGFBQWEsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3hFLE9BQU8sRUFBQyxXQUFXLEVBQUUsZUFBZSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7O0FBRXRFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBQ0gsTUFNYSxxQkFBcUI7SUFFaEM7Ozs7Ozs7O09BUUc7YUFDb0Isa0NBQTZCLEdBQUcsRUFBRSxBQUFMLENBQU07SUFlMUQsSUFDVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFNBQVMsS0FBSyxTQUFTLENB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QU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQztJQUM5RSxDQUFDO0lBRUQsbUJBQW1CO0lBQ1osV0FBVztRQUNoQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3hCLENBQUM7OEdBblVVLHFCQUFxQiw0Q0EyRFosUUFBUTtrR0EzRGpCLHFCQUFxQix3WUM5Q2xDLDR5QkFxQkE7O1NEeUJhLHFCQUFxQjsyRkFBckIscUJBQXFCO2tCQU5qQyxTQUFTOytCQUNFLGVBQWUsbUJBR1IsdUJBQXVCLENBQUMsTUFBTTs7MEJBNkRsQyxNQUFNOzJCQUFDLFFBQVE7aUVBbkNyQixZQUFZO3NCQURsQixTQUFTO3VCQUFDLGNBQWMsRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUM7Z0JBSTlCLFFBQVE7c0JBRGxCLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQU1sQixVQUFVO3NCQURwQixXQUFXO3VCQUFDLGtCQUFrQjtnQkFNcEIsU0FBUztzQkFEbkIsV0FBVzt1QkFBQyxpQkFBaUI7Z0JBV3ZCLFNBQVM7c0JBRGYsS0FBSztnQkFPSyxXQUFXO3NCQURyQixLQUFLO3VCQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LTIwMTkgU3dpc3MgRmVkZXJhbCBSYWlsd2F5c1xuICpcbiAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGVcbiAqIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wXG4gKiB3aGljaCBpcyBhdmFpbGFibGUgYXQgaHR0cHM6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC9cbiAqXG4gKiAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjBcbiAqL1xuXG5pbXBvcnQge0RPQ1VNRU5UfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBIb3N0QmluZGluZywgSW5qZWN0LCBJbnB1dCwgTmdab25lLCBPbkRlc3Ryb3ksIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge2Zyb21FdmVudCwgbWVyZ2UsIE9ic2VydmFibGUsIG9mLCBTdWJqZWN0LCB0aW1lcn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2RlYm91bmNlVGltZSwgZmlyc3QsIG1hcCwgc3RhcnRXaXRoLCBzd2l0Y2hNYXAsIHRha2VVbnRpbCwgdGFrZVdoaWxlLCB3aXRoTGF0ZXN0RnJvbX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtmcm9tRGltZW5zaW9uJCwgZnJvbU11dGF0aW9uJH0gZnJvbSAnQHNjaW9uL3Rvb2xraXQvb2JzZXJ2YWJsZSc7XG5pbXBvcnQge2ZpbHRlckFycmF5LCBzdWJzY3JpYmVJbnNpZGV9IGZyb20gJ0BzY2lvbi90b29sa2l0L29wZXJhdG9ycyc7XG5cbi8qKlxuICogUmVuZGVycyBhIHZlcnRpY2FsIG9yIGhvcml6b250YWwgc2Nyb2xsYmFyLlxuICpcbiAqIFRoZSBzY3JvbGxiYXIgZmVhdHVyZXMgdGhlIGZvbGxvd2luZyBmdW5jdGlvbmFsaXR5OlxuICogLSBhbGxvd3MgdG8gbW92ZSB0aGUgdGh1bWIgYnkgbW91c2Ugb3IgdG91Y2hcbiAqIC0gZW5sYXJnZXMgdGhlIHRodW1iIGlmIHRoZSBtb3VzZSBwb2ludGVyIGlzIG5lYXIgdGhlIHRodW1iXG4gKiAtIGFsbG93cyBwYWdpbmcgb24gbW91c2Vkb3duIG9uIHRoZSBzY3JvbGwgdHJhY2tcbiAqXG4gKiAjIyMgQ1NTIHN0eWxpbmc6XG4gKlxuICogWW91IGNhbiBvdmVycmlkZSB0aGUgZm9sbG93aW5nIENTUyB2YXJpYWJsZXM6XG4gKlxuICogLSBzY2ktc2Nyb2xsYmFyLWNvbG9yOiAgICBTZXRzIHRoZSBjb2xvciBvZiB0aGUgc2Nyb2xsYmFyIChieSBkZWZhdWx0LCB1c2VzIGByZ2IoNzgsIDc4LCA3OClgKS5cbiAqXG4gKiBFeGFtcGxlOlxuICpcbiAqIGBgYGNzc1xuICpcbiAqIHNjaS1zY3JvbGxiYXIge1xuICogICAtLXNjaS1zY3JvbGxiYXItY29sb3I6IGJsdWU7XG4gKiB9XG4gKiBgYGBcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2NpLXNjcm9sbGJhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zY3JvbGxiYXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zY3JvbGxiYXIuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNjaVNjcm9sbGJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cbiAgLyoqXG4gICAqIFRpbWVvdXQgZm9yIGRlYm91bmNpbmcgdmlld3BvcnQgcmVzaXplIGV2ZW50cyB0aGF0IHRyaWdnZXIgdGhlIHNjcm9sbCBwb3NpdGlvbiBjb21wdXRhdGlvbi5cbiAgICpcbiAgICogRGVib3VuY2luZyBpcyBwYXJ0aWN1bGFybHkgaW1wb3J0YW50IGluIHRoZSBjb250ZXh0IG9mIEFuZ3VsYXIgYW5pbWF0aW9ucywgc2luY2UgdGhleSBjb250aW51b3VzbHlcbiAgICogdHJpZ2dlciByZXNpemUgZXZlbnRzLiBEZWJvdW5jaW5nIHByZXZlbnRzIHRoZSBzY3JvbGxiYXIgZnJvbSBmbGlja2VyaW5nLCBmb3IgZXhhbXBsZSwgd2hlbiB0aGUgdXNlclxuICAgKiBleHBhbmRzIGEgcGFuZWwgdGhhdCBjb250YWlucyBhIHZpZXdwb3J0LlxuICAgKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVklFV1BPUlRfUkVTSVpFX0RFQk9VTkNFX1RJTUUgPSA1MDtcblxuICBwcml2YXRlIF9kZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHByaXZhdGUgX3ZpZXdwb3J0ITogSFRNTEVsZW1lbnQ7XG4gIHByaXZhdGUgX3ZpZXdwb3J0Q2hhbmdlJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHByaXZhdGUgX2xhc3REcmFnUG9zaXRpb246IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgX292ZXJmbG93ID0gZmFsc2U7XG4gIHByaXZhdGUgX3RodW1iU2l6ZUZyID0gMDtcbiAgcHJpdmF0ZSBfdGh1bWJQb3NpdGlvbkZyID0gMDtcblxuICAvKiBAZG9jcy1wcml2YXRlICovXG4gIEBWaWV3Q2hpbGQoJ3RodW1iX2hhbmRsZScsIHtzdGF0aWM6IHRydWV9KVxuICBwdWJsaWMgdGh1bWJFbGVtZW50ITogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy52ZXJ0aWNhbCcpXG4gIHB1YmxpYyBnZXQgdmVydGljYWwoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZGlyZWN0aW9uID09PSAndnNjcm9sbCc7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmhvcml6b250YWwnKVxuICBwdWJsaWMgZ2V0IGhvcml6b250YWwoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZGlyZWN0aW9uID09PSAnaHNjcm9sbCc7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnNjcm9sbGluZycpXG4gIHB1YmxpYyBnZXQgc2Nyb2xsaW5nKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9sYXN0RHJhZ1Bvc2l0aW9uICE9PSBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgZGlyZWN0aW9uIG9mIHRoZSBzY3JvbGxiYXIuXG4gICAqXG4gICAqIEJ5IGRlZmF1bHQsIGlmIG5vdCBzcGVjaWZpZWQsIHJlbmRlcnMgYSB2ZXJ0aWNhbCBzY3JvbGxiYXIuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZGlyZWN0aW9uOiAndnNjcm9sbCcgfCAnaHNjcm9sbCcgPSAndnNjcm9sbCc7XG5cbiAgLyoqXG4gICAqIFRoZSB2aWV3cG9ydCB0byBwcm92aWRlIHNjcm9sbGJhcnMgZm9yLlxuICAgKi9cbiAgQElucHV0KCd2aWV3cG9ydCcpIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZVxuICBwdWJsaWMgc2V0IHNldFZpZXdwb3J0KHZpZXdwb3J0OiBIVE1MRWxlbWVudCkge1xuICAgIHRoaXMuX3ZpZXdwb3J0ID0gdmlld3BvcnQ7XG4gICAgdGhpcy5fdmlld3BvcnRDaGFuZ2UkLm5leHQoKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2hvc3Q6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICAgICAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIF9kb2N1bWVudDogYW55LFxuICAgICAgICAgICAgICBwcml2YXRlIF96b25lOiBOZ1pvbmUpIHtcbiAgICB0aGlzLl92aWV3cG9ydENoYW5nZSRcbiAgICAgIC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4ge1xuICAgICAgICAgIGlmICghdGhpcy5fdmlld3BvcnQpIHtcbiAgICAgICAgICAgIHJldHVybiBvZih1bmRlZmluZWQpO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gbWVyZ2UoXG4gICAgICAgICAgICB0aGlzLnZpZXdwb3J0U2Nyb2xsQ2hhbmdlJCgpLFxuICAgICAgICAgICAgdGhpcy52aWV3cG9ydERpbWVuc2lvbkNoYW5nZSQoe2RlYm91bmNlVGltZTogU2NpU2Nyb2xsYmFyQ29tcG9uZW50LlZJRVdQT1JUX1JFU0laRV9ERUJPVU5DRV9USU1FfSksXG4gICAgICAgICAgICB0aGlzLnZpZXdwb3J0Q2xpZW50RGltZW5zaW9uQ2hhbmdlJCh7ZGVib3VuY2VUaW1lOiBTY2lTY3JvbGxiYXJDb21wb25lbnQuVklFV1BPUlRfUkVTSVpFX0RFQk9VTkNFX1RJTUV9KSxcbiAgICAgICAgICApO1xuICAgICAgICB9KSxcbiAgICAgICAgc3Vic2NyaWJlSW5zaWRlKGNvbnRpbnVlRm4gPT4gdGhpcy5fem9uZS5ydW5PdXRzaWRlQW5ndWxhcihjb250aW51ZUZuKSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuX3ZpZXdwb3J0KSB7XG4gICAgICAgICAgdGhpcy5yZW5kZXJTY3JvbGxQb3NpdGlvbigpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgIHRoaXMudW5zZXRTY3JvbGxQb3NpdGlvbigpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb21wdXRlcyB0aGUgc2Nyb2xsIHBvc2l0aW9uIGFuZCB1cGRhdGVzIENTUyB2YXJpYWJsZXMgdG8gcmVuZGVyIHRoZSBzY3JvbGwgcG9zaXRpb24gaW4gdGhlIFVJLlxuICAgKi9cbiAgcHJpdmF0ZSByZW5kZXJTY3JvbGxQb3NpdGlvbigpOiB2b2lkIHtcbiAgICBOZ1pvbmUuYXNzZXJ0Tm90SW5Bbmd1bGFyWm9uZSgpO1xuICAgIGNvbnN0IHZpZXdwb3J0U2l6ZSA9IHRoaXMudmlld3BvcnRTaXplO1xuICAgIGNvbnN0IHZpZXdwb3J0Q2xpZW50U2l6ZSA9IHRoaXMudmlld3BvcnRDbGllbnRTaXplO1xuICAgIGNvbnN0IHRodW1iUG9zaXRpb25GciA9IHRoaXMuc2Nyb2xsUG9zaXRpb24gLyB2aWV3cG9ydENsaWVudFNpemU7XG4gICAgY29uc3QgdGh1bWJTaXplRnIgPSB2aWV3cG9ydFNpemUgLyB2aWV3cG9ydENsaWVudFNpemU7XG4gICAgY29uc3Qgb3ZlcmZsb3cgPSB2aWV3cG9ydENsaWVudFNpemUgPiB2aWV3cG9ydFNpemU7XG5cbiAgICBpZiAodGh1bWJQb3NpdGlvbkZyICE9PSB0aGlzLl90aHVtYlBvc2l0aW9uRnIgfHwgdGh1bWJTaXplRnIgIT09IHRoaXMuX3RodW1iU2l6ZUZyKSB7XG4gICAgICB0aGlzLl90aHVtYlBvc2l0aW9uRnIgPSB0aHVtYlBvc2l0aW9uRnI7XG4gICAgICB0aGlzLl90aHVtYlNpemVGciA9IHRodW1iU2l6ZUZyO1xuICAgICAgdGhpcy5zZXRDc3NWYXJpYWJsZSgnLS3JtXNjaS1zY3JvbGxiYXItdGh1bWItcG9zaXRpb24tZnInLCB0aHVtYlBvc2l0aW9uRnIpO1xuICAgICAgdGhpcy5zZXRDc3NWYXJpYWJsZSgnLS3JtXNjaS1zY3JvbGxiYXItdGh1bWItc2l6ZS1mcicsIHRodW1iU2l6ZUZyKTtcbiAgICB9XG5cbiAgICBpZiAob3ZlcmZsb3cgIT09IHRoaXMuX292ZXJmbG93KSB7XG4gICAgICB0aGlzLl9vdmVyZmxvdyA9IG92ZXJmbG93O1xuICAgICAgb3ZlcmZsb3cgPyB0aGlzLl9ob3N0Lm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnb3ZlcmZsb3cnKSA6IHRoaXMuX2hvc3QubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdvdmVyZmxvdycpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDbGVhcnMgQ1NTIHZhcmlhYmxlcyB1c2VkIGZvciByZW5kZXJpbmcgdGhlIHNjcm9sbCBwb3NpdGlvbiBpbiB0aGUgVUkuXG4gICAqL1xuICBwcml2YXRlIHVuc2V0U2Nyb2xsUG9zaXRpb24oKTogdm9pZCB7XG4gICAgTmdab25lLmFzc2VydE5vdEluQW5ndWxhclpvbmUoKTtcbiAgICB0aGlzLl90aHVtYlBvc2l0aW9uRnIgPSAwO1xuICAgIHRoaXMuX3RodW1iU2l6ZUZyID0gMDtcbiAgICB0aGlzLl9vdmVyZmxvdyA9IGZhbHNlO1xuICAgIHRoaXMuc2V0Q3NzVmFyaWFibGUoJy0tybVzY2ktc2Nyb2xsYmFyLXRodW1iLXBvc2l0aW9uLWZyJywgMCk7XG4gICAgdGhpcy5zZXRDc3NWYXJpYWJsZSgnLS3JtXNjaS1zY3JvbGxiYXItdGh1bWItc2l6ZS1mcicsIDApO1xuICAgIHRoaXMuX2hvc3QubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdvdmVyZmxvdycpO1xuICB9XG5cbiAgLyogQGRvY3MtcHJpdmF0ZSAqL1xuICBwdWJsaWMgb25Ub3VjaFN0YXJ0KGV2ZW50OiBUb3VjaEV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB0aGlzLl9sYXN0RHJhZ1Bvc2l0aW9uID0gdGhpcy52ZXJ0aWNhbCA/IGV2ZW50LnRvdWNoZXNbMF0uc2NyZWVuWSA6IGV2ZW50LnRvdWNoZXNbMF0uc2NyZWVuWDtcbiAgfVxuXG4gIC8qIEBkb2NzLXByaXZhdGUgKi9cbiAgcHVibGljIG9uVG91Y2hNb3ZlKGV2ZW50OiBUb3VjaEV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgIGNvbnN0IG5ld0RyYWdQb3NpdGlvblB4ID0gdGhpcy52ZXJ0aWNhbCA/IGV2ZW50LnRvdWNoZXNbMF0uc2NyZWVuWSA6IGV2ZW50LnRvdWNoZXNbMF0uc2NyZWVuWDtcbiAgICBjb25zdCBzY3JvbGxiYXJQYW5QeCA9IG5ld0RyYWdQb3NpdGlvblB4IC0gdGhpcy5fbGFzdERyYWdQb3NpdGlvbiE7XG4gICAgY29uc3Qgdmlld3BvcnRQYW5QeCA9IHRoaXMudG9WaWV3cG9ydFBhblB4KHNjcm9sbGJhclBhblB4KTtcbiAgICB0aGlzLl9sYXN0RHJhZ1Bvc2l0aW9uID0gbmV3RHJhZ1Bvc2l0aW9uUHg7XG4gICAgdGhpcy5tb3ZlVmlld3BvcnRDbGllbnQodmlld3BvcnRQYW5QeCk7XG4gIH1cblxuICAvKiBAZG9jcy1wcml2YXRlICovXG4gIHB1YmxpYyBvblRvdWNoRW5kKGV2ZW50OiBUb3VjaEV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB0aGlzLl9sYXN0RHJhZ1Bvc2l0aW9uID0gbnVsbDtcbiAgfVxuXG4gIC8qIEBkb2NzLXByaXZhdGUgKi9cbiAgcHVibGljIG9uTW91c2VEb3duKG1vdXNlZG93bkV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgaWYgKG1vdXNlZG93bkV2ZW50LmJ1dHRvbiAhPT0gMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIG1vdXNlZG93bkV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy5fbGFzdERyYWdQb3NpdGlvbiA9IHRoaXMudmVydGljYWwgPyBtb3VzZWRvd25FdmVudC5zY3JlZW5ZIDogbW91c2Vkb3duRXZlbnQuc2NyZWVuWDtcblxuICAgIC8vIExpc3RlbiBmb3IgJ21vdXNlbW92ZScgZXZlbnRzXG4gICAgdGhpcy5fem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICBjb25zdCBtb3VzZW1vdmVMaXN0ZW5lciA9IG1lcmdlKGZyb21FdmVudDxNb3VzZUV2ZW50Pih0aGlzLl9kb2N1bWVudCwgJ21vdXNlbW92ZScpLCBmcm9tRXZlbnQ8TW91c2VFdmVudD4odGhpcy5fZG9jdW1lbnQsICdzY2ktbW91c2Vtb3ZlJykpXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpXG4gICAgICAgIC5zdWJzY3JpYmUobW91c2Vtb3ZlRXZlbnQgPT4ge1xuICAgICAgICAgIG1vdXNlbW92ZUV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgICAgICBjb25zdCBuZXdEcmFnUG9zaXRpb25QeCA9IHRoaXMudmVydGljYWwgPyBtb3VzZW1vdmVFdmVudC5zY3JlZW5ZIDogbW91c2Vtb3ZlRXZlbnQuc2NyZWVuWDtcbiAgICAgICAgICBjb25zdCBzY3JvbGxiYXJQYW5QeCA9IG5ld0RyYWdQb3NpdGlvblB4IC0gdGhpcy5fbGFzdERyYWdQb3NpdGlvbiE7XG4gICAgICAgICAgY29uc3Qgdmlld3BvcnRQYW5QeCA9IHRoaXMudG9WaWV3cG9ydFBhblB4KHNjcm9sbGJhclBhblB4KTtcbiAgICAgICAgICB0aGlzLl9sYXN0RHJhZ1Bvc2l0aW9uID0gbmV3RHJhZ1Bvc2l0aW9uUHg7XG4gICAgICAgICAgdGhpcy5tb3ZlVmlld3BvcnRDbGllbnQodmlld3BvcnRQYW5QeCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAvLyBMaXN0ZW4gZm9yICdtb3VzZXVwJyBldmVudHM7IHVzZSAnY2FwdHVyZSBwaGFzZScgYW5kICdzdG9wIHByb3BhZ2F0aW9uJyB0byBub3QgY2xvc2Ugb3ZlcmxheXNcbiAgICAgIG1lcmdlKGZyb21FdmVudDxNb3VzZUV2ZW50Pih0aGlzLl9kb2N1bWVudCwgJ21vdXNldXAnLCB7Y2FwdHVyZTogdHJ1ZX0pLCBmcm9tRXZlbnQ8TW91c2VFdmVudD4odGhpcy5fZG9jdW1lbnQsICdzY2ktbW91c2V1cCcpKVxuICAgICAgICAucGlwZShmaXJzdCgpLCB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKVxuICAgICAgICAuc3Vic2NyaWJlKG1vdXNldXBFdmVudCA9PiB7XG4gICAgICAgICAgbW91c2V1cEV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgIG1vdXNlbW92ZUxpc3RlbmVyLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgdGhpcy5fbGFzdERyYWdQb3NpdGlvbiA9IG51bGw7XG4gICAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLyogQGRvY3MtcHJpdmF0ZSAqL1xuICBwdWJsaWMgb25TY3JvbGxUcmFja01vdXNlRG93bihldmVudDogTW91c2VFdmVudCwgZGlyZWN0aW9uOiAndXAnIHwgJ2Rvd24nKTogdm9pZCB7XG4gICAgY29uc3Qgc2lnbnVtID0gKGRpcmVjdGlvbiA9PT0gJ3VwJyA/IC0xIDogKzEpO1xuICAgIHRoaXMuc2Nyb2xsV2hpbGVNb3VzZURvd24odGhpcy50b1ZpZXdwb3J0UGFuUHgoc2lnbnVtICogdGhpcy50aHVtYlNpemUpLCBldmVudCk7XG4gIH1cblxuICAvKipcbiAgICogUHJvamVjdHMgdGhlIGdpdmVuIHNjcm9sbGJhciBzY3JvbGwgcGl4ZWxzIGludG8gdmlld3BvcnQgc2Nyb2xsIHBpeGVscy5cbiAgICovXG4gIHByaXZhdGUgdG9WaWV3cG9ydFBhblB4KHNjcm9sbGJhclBhblB4OiBudW1iZXIpOiBudW1iZXIge1xuICAgIGNvbnN0IHNjcm9sbFJhbmdlUHggPSB0aGlzLnRyYWNrU2l6ZSAtIHRoaXMudGh1bWJTaXplO1xuICAgIGNvbnN0IHNjcm9sbFJhdGlvID0gc2Nyb2xsYmFyUGFuUHggLyBzY3JvbGxSYW5nZVB4O1xuICAgIHJldHVybiBzY3JvbGxSYXRpbyAqICh0aGlzLnZpZXdwb3J0Q2xpZW50U2l6ZSAtIHRoaXMudmlld3BvcnRTaXplKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNb3ZlcyB0aGUgdmlld3BvcnQgY2xpZW50IGJ5IHRoZSBzcGVjaWZpZWQgbnVtYmVycyBvZiBwaXhlbHMuXG4gICAqL1xuICBwcml2YXRlIG1vdmVWaWV3cG9ydENsaWVudCh2aWV3cG9ydFBhblB4OiBudW1iZXIpOiB2b2lkIHtcbiAgICBpZiAodGhpcy52ZXJ0aWNhbCkge1xuICAgICAgdGhpcy5fdmlld3BvcnQuc2Nyb2xsVG9wICs9IHZpZXdwb3J0UGFuUHg7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgdGhpcy5fdmlld3BvcnQuc2Nyb2xsTGVmdCArPSB2aWV3cG9ydFBhblB4O1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgdGhlIGNvbnRlbnQgb3ZlcmZsb3dzLlxuICAgKi9cbiAgcHVibGljIGdldCBvdmVyZmxvdygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fb3ZlcmZsb3c7XG4gIH1cblxuICAvKipcbiAgICogU2Nyb2xscyBjb250aW51b3VzbHkgd2hpbGUgaG9sZGluZyB0aGUgbW91c2UgcHJlc3NlZCwgb3IgdW50aWwgdGhlIG1vdXNlIGxlYXZlcyB0aGUgc2Nyb2xsdHJhY2suXG4gICAqL1xuICBwcml2YXRlIHNjcm9sbFdoaWxlTW91c2VEb3duKHZpZXdwb3J0U2Nyb2xsUHg6IG51bWJlciwgbW91c2Vkb3duRXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAvLyBUaGUgYEV2ZW50VGFyZ2V0YCB0eXBlIG9mIGBFdmVudC50YXJnZXRgIGlzIG5vdCB5ZXQgY29tcGF0aWJsZSB3aXRoIGBGcm9tRXZlbnRUYXJnZXRgIHVzZWQgaW4gYGZyb21FdmVudGAuXG4gICAgLy8gVGhpcyB3aWxsIGJlIGZpeGVkIGluIHJ4anMgdmVyc2lvbiA3LjAuMC4gUmVmZXIgdG8gaHR0cHM6Ly9naXRodWIuY29tL1JlYWN0aXZlWC9yeGpzL2NvbW1pdC81ZjAyMmQ3ODQ1NzA2ODQ2MzJlNmZkNWFlMjQ3ZmMyNTllZTM0YzRiXG4gICAgLy8gZm9yIG1vcmUgZGV0YWlscy5cbiAgICBjb25zdCBzY3JvbGxUcmFja0VsZW1lbnQgPSBtb3VzZWRvd25FdmVudC50YXJnZXQgYXMgRWxlbWVudDtcblxuICAgIC8vIHNjcm9sbCBjb250aW51b3VzbHkgZXZlcnkgNTBtcyBhZnRlciBhbiBpbml0aWFsIGRlbGF5IG9mIDI1MG1zXG4gICAgdGltZXIoMjUwLCA1MClcbiAgICAgIC5waXBlKFxuICAgICAgICAvLyBjb250aW51ZSBjaGFpbiB3aXRoIGxhdGVzdCBtb3VzZSBldmVudFxuICAgICAgICB3aXRoTGF0ZXN0RnJvbShtZXJnZShvZihtb3VzZWRvd25FdmVudCksIGZyb21FdmVudDxNb3VzZUV2ZW50PihzY3JvbGxUcmFja0VsZW1lbnQsICdtb3VzZW1vdmUnKSksICh0aWNrLCBldmVudCkgPT4gZXZlbnQpLFxuICAgICAgICAvLyBzdGFydCBpbW1lZGlhdGVseVxuICAgICAgICBzdGFydFdpdGgobW91c2Vkb3duRXZlbnQpLFxuICAgICAgICAvLyBzdG9wIHNjcm9sbGluZyBpZiB0aGUgdGh1bWIgaGl0cyB0aGUgbW91c2UgcG9pbnRlciBwb3NpdGlvblxuICAgICAgICB0YWtlV2hpbGUoKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiBzY3JvbGxUcmFja0VsZW1lbnQgPT09IHRoaXMuX2RvY3VtZW50LmVsZW1lbnRGcm9tUG9pbnQoZXZlbnQuY2xpZW50WCwgZXZlbnQuY2xpZW50WSkpLFxuICAgICAgICBkZWJvdW5jZVRpbWUoMTApLFxuICAgICAgICAvLyBzdG9wIHNjcm9sbGluZyBvbiBtb3VzZW91dCBvciBtb3VzZXVwXG4gICAgICAgIHRha2VVbnRpbChtZXJnZShmcm9tRXZlbnQoc2Nyb2xsVHJhY2tFbGVtZW50LCAnbW91c2VvdXQnKSwgZnJvbUV2ZW50KHNjcm9sbFRyYWNrRWxlbWVudCwgJ21vdXNldXAnKSkpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMubW92ZVZpZXdwb3J0Q2xpZW50KHZpZXdwb3J0U2Nyb2xsUHgpO1xuICAgICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogRW1pdHMgd2hlbmV2ZXIgdGhlIHZpZXdwb3J0IHNjcm9sbHMuXG4gICAqL1xuICBwcml2YXRlIHZpZXdwb3J0U2Nyb2xsQ2hhbmdlJCgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gZnJvbUV2ZW50KHRoaXMuX3ZpZXdwb3J0LCAnc2Nyb2xsJywge3Bhc3NpdmU6IHRydWV9KS5waXBlKG1hcCgoKSA9PiB1bmRlZmluZWQpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbWl0cyBvbiBzdWJzY3JpcHRpb24sIGFuZCB0aGVuIGVhY2ggdGltZSB0aGUgc2l6ZSBvZiB0aGUgdmlld3BvcnQgY2hhbmdlcy5cbiAgICovXG4gIHByaXZhdGUgdmlld3BvcnREaW1lbnNpb25DaGFuZ2UkKG9wdGlvbnM6IHtkZWJvdW5jZVRpbWU6IG51bWJlcn0pOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gZnJvbURpbWVuc2lvbiQodGhpcy5fdmlld3BvcnQpXG4gICAgICAucGlwZShcbiAgICAgICAgLy8gRGVib3VuY2luZyBpcyBwYXJ0aWN1bGFybHkgaW1wb3J0YW50IGluIHRoZSBjb250ZXh0IG9mIEFuZ3VsYXIgYW5pbWF0aW9ucywgc2luY2UgdGhleSBjb250aW51b3VzbHlcbiAgICAgICAgLy8gdHJpZ2dlciByZXNpemUgZXZlbnRzLiBEZWJvdW5jaW5nIHByZXZlbnRzIHRoZSBzY3JvbGxiYXIgZnJvbSBmbGlja2VyaW5nLCBmb3IgZXhhbXBsZSwgd2hlbiB0aGUgdXNlclxuICAgICAgICAvLyBleHBhbmRzIGEgcGFuZWwgdGhhdCBjb250YWlucyBhIHZpZXdwb3J0LlxuICAgICAgICBkZWJvdW5jZVRpbWUob3B0aW9ucy5kZWJvdW5jZVRpbWUpLFxuICAgICAgICBtYXAoKCkgPT4gdW5kZWZpbmVkKSxcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogRW1pdHMgb24gc3Vic2NyaXB0aW9uLCBhbmQgdGhlbiBlYWNoIHRpbWUgdGhlIHNpemUgb3Igc3R5bGUgcHJvcGVydHkgb2YgdGhlIHZpZXdwb3J0IGNsaWVudCBjaGFuZ2VzLlxuICAgKi9cbiAgcHJpdmF0ZSB2aWV3cG9ydENsaWVudERpbWVuc2lvbkNoYW5nZSQob3B0aW9uczoge2RlYm91bmNlVGltZTogbnVtYmVyfSk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmNoaWxkcmVuJCh0aGlzLl92aWV3cG9ydClcbiAgICAgIC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoY2hpbGRyZW4gPT4gbWVyZ2UoLi4uY2hpbGRyZW4ubWFwKGNoaWxkID0+IG1lcmdlKFxuICAgICAgICAgIGZyb21EaW1lbnNpb24kKGNoaWxkKSxcbiAgICAgICAgICAvLyBPYnNlcnZlIHN0eWxlIG11dGF0aW9ucyBzaW5jZSBzb21lIHRyYW5zZm9ybWF0aW9ucyBjaGFuZ2UgdGhlIHNjcm9sbCBwb3NpdGlvbiB3aXRob3V0IG5lY2Vzc2FyaWx5IHRyaWdnZXJpbmcgYSBkaW1lbnNpb24gY2hhbmdlLFxuICAgICAgICAgIC8vIGUuZy4sIGBzY2FsZWAgb3IgYHRyYW5zbGF0ZWAgdXNlZCBieSBzb21lIHZpcnR1YWwgc2Nyb2xsIGltcGxlbWVudGF0aW9uc1xuICAgICAgICAgIGZyb21NdXRhdGlvbiQoY2hpbGQsIHtzdWJ0cmVlOiBmYWxzZSwgY2hpbGRMaXN0OiBmYWxzZSwgYXR0cmlidXRlRmlsdGVyOiBbJ3N0eWxlJ119KSksXG4gICAgICAgICkpKSxcbiAgICAgICAgLy8gRGVib3VuY2luZyBpcyBwYXJ0aWN1bGFybHkgaW1wb3J0YW50IGluIHRoZSBjb250ZXh0IG9mIEFuZ3VsYXIgYW5pbWF0aW9ucywgc2luY2UgdGhleSBjb250aW51b3VzbHlcbiAgICAgICAgLy8gdHJpZ2dlciByZXNpemUgZXZlbnRzLiBEZWJvdW5jaW5nIHByZXZlbnRzIHRoZSBzY3JvbGxiYXIgZnJvbSBmbGlja2VyaW5nLCBmb3IgZXhhbXBsZSwgd2hlbiB0aGUgdXNlclxuICAgICAgICAvLyBleHBhbmRzIGEgcGFuZWwgdGhhdCBjb250YWlucyBhIHZpZXdwb3J0LlxuICAgICAgICBkZWJvdW5jZVRpbWUob3B0aW9ucy5kZWJvdW5jZVRpbWUpLFxuICAgICAgICBtYXAoKCkgPT4gdW5kZWZpbmVkKSxcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogRW1pdHMgdGhlIGNoaWxkcmVuIG9mIHRoZSBwYXNzZWQgZWxlbWVudCwgYW5kIHRoZW4gZWFjaCB0aW1lIGNoaWxkIGVsZW1lbnRzIGFyZSBhZGRlZCBvciByZW1vdmVkLlxuICAgKi9cbiAgcHJpdmF0ZSBjaGlsZHJlbiQoZWxlbWVudDogSFRNTEVsZW1lbnQpOiBPYnNlcnZhYmxlPEhUTUxFbGVtZW50W10+IHtcbiAgICByZXR1cm4gZnJvbU11dGF0aW9uJChlbGVtZW50LCB7c3VidHJlZTogZmFsc2UsIGNoaWxkTGlzdDogdHJ1ZX0pXG4gICAgICAucGlwZShcbiAgICAgICAgc3RhcnRXaXRoKHVuZGVmaW5lZCBhcyB2b2lkKSxcbiAgICAgICAgbWFwKCgpID0+IEFycmF5LmZyb20oZWxlbWVudC5jaGlsZHJlbikpLFxuICAgICAgICBmaWx0ZXJBcnJheSgoY2hpbGQ6IEVsZW1lbnQpOiBjaGlsZCBpcyBIVE1MRWxlbWVudCA9PiBjaGlsZCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSxcbiAgICAgICk7XG4gIH1cblxuICBwcml2YXRlIHNldENzc1ZhcmlhYmxlKGtleTogc3RyaW5nLCB2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgdGhpcy5faG9zdC5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KGtleSwgdmFsdWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgdmlld3BvcnRTaXplKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX3ZpZXdwb3J0ID8gKHRoaXMudmVydGljYWwgPyB0aGlzLl92aWV3cG9ydC5jbGllbnRIZWlnaHQgOiB0aGlzLl92aWV3cG9ydC5jbGllbnRXaWR0aCkgOiAwO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgdmlld3BvcnRDbGllbnRTaXplKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX3ZpZXdwb3J0ID8gKHRoaXMudmVydGljYWwgPyB0aGlzLl92aWV3cG9ydC5zY3JvbGxIZWlnaHQgOiB0aGlzLl92aWV3cG9ydC5zY3JvbGxXaWR0aCkgOiAwO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgc2Nyb2xsUG9zaXRpb24oKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fdmlld3BvcnQgPyAodGhpcy52ZXJ0aWNhbCA/IHRoaXMuX3ZpZXdwb3J0LnNjcm9sbFRvcCA6IHRoaXMuX3ZpZXdwb3J0LnNjcm9sbExlZnQpIDogMDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IHRodW1iU2l6ZSgpOiBudW1iZXIge1xuICAgIGNvbnN0IHRodW1iRWxlbWVudCA9IHRoaXMudGh1bWJFbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgcmV0dXJuIHRoaXMudmVydGljYWwgPyB0aHVtYkVsZW1lbnQuY2xpZW50SGVpZ2h0IDogdGh1bWJFbGVtZW50LmNsaWVudFdpZHRoO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgdHJhY2tTaXplKCk6IG51bWJlciB7XG4gICAgY29uc3QgdHJhY2tFbGVtZW50ID0gdGhpcy5faG9zdC5uYXRpdmVFbGVtZW50O1xuICAgIHJldHVybiB0aGlzLnZlcnRpY2FsID8gdHJhY2tFbGVtZW50LmNsaWVudEhlaWdodCA6IHRyYWNrRWxlbWVudC5jbGllbnRXaWR0aDtcbiAgfVxuXG4gIC8qIEBkb2NzLXByaXZhdGUgKi9cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQoKTtcbiAgfVxufVxuIiwiPCEtLSBzY3JvbGx0cmFjayB0byBtb3ZlIHRoZSB2aWV3cG9ydCBjbGllbnQgdXB3YXJkcyAocGFnaW5nKSAtLT5cbjxkaXYgY2xhc3M9XCJzY3JvbGx0cmFjay1zdGFydFwiIChtb3VzZWRvd24pPVwib25TY3JvbGxUcmFja01vdXNlRG93bigkZXZlbnQsICd1cCcpXCI+PC9kaXY+XG5cbjwhLS0gc2Nyb2xsdGh1bWIgLS0+XG48ZGl2ICN0aHVtYl9oYW5kbGVcbiAgICAgY2xhc3M9XCJ0aHVtYi1oYW5kbGVcIlxuICAgICBbY2xhc3MudmVydGljYWxdPVwidmVydGljYWxcIlxuICAgICBbY2xhc3MuaG9yaXpvbnRhbF09XCJob3Jpem9udGFsXCJcbiAgICAgKG1vdXNlZG93bik9XCJvbk1vdXNlRG93bigkZXZlbnQpXCJcbiAgICAgKHRvdWNoc3RhcnQpPVwib25Ub3VjaFN0YXJ0KCRldmVudClcIlxuICAgICAodG91Y2htb3ZlKT1cIm9uVG91Y2hNb3ZlKCRldmVudClcIlxuICAgICAodG91Y2hlbmQpPVwib25Ub3VjaEVuZCgkZXZlbnQpXCJcbiAgICAgKHRvdWNoY2FuY2VsKT1cIm9uVG91Y2hFbmQoJGV2ZW50KVwiPlxuICA8ZGl2IGNsYXNzPVwidGh1bWJcIlxuICAgICAgIFtjbGFzcy52ZXJ0aWNhbF09XCJ2ZXJ0aWNhbFwiXG4gICAgICAgW2NsYXNzLmhvcml6b250YWxdPVwiaG9yaXpvbnRhbFwiPlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48IS0tIHNjcm9sbHRyYWNrIHRvIG1vdmUgdGhlIHZpZXdwb3J0IGNsaWVudCBkb3dud2FyZHMgKHBhZ2luZykgLS0+XG48ZGl2IGNsYXNzPVwic2Nyb2xsdHJhY2stZW5kXCIgKG1vdXNlZG93bik9XCJvblNjcm9sbFRyYWNrTW91c2VEb3duKCRldmVudCwgJ2Rvd24nKVwiPjwvZGl2PlxuIl19
|
|
324
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NjaW9uL2NvbXBvbmVudHMvdmlld3BvcnQvc3JjL3Njcm9sbGJhci9zY3JvbGxiYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2Npb24vY29tcG9uZW50cy92aWV3cG9ydC9zcmMvc2Nyb2xsYmFyL3Njcm9sbGJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUVILE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFjLFdBQVcsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBYSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkksT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDdEUsT0FBTyxFQUFDLFlBQVksRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwSCxPQUFPLEVBQUMsY0FBYyxFQUFFLGFBQWEsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3hFLE9BQU8sRUFBQyxXQUFXLEVBQUUsZUFBZSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7O0FBRXRFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVCRztBQUNILE1BT2EscUJBQXFCO0lBRWhDOzs7Ozs7OztPQVFHO2FBQ29CLGtDQUE2QixHQUFHLEVBQUUsQUFBTCxDQUFNO0lBZTFELElBQ1csUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxTQUFTLEtBQUssU0FBUyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxJQUNXLFVBQVU7UUFDbkIsT0FBTyxJQUFJLENBQUMsU0FBUyxLQUFLLFNBQVMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsSUFDVyxTQUFTO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixLQUFLLElBQUksQ0FBQztJQUN6QyxDQUFDO0lBVUQ7O09BRUc7SUFDSCxJQUNXLFdBQVcsQ0FBQyxRQUFxQjtRQUMxQyxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztRQUMxQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVELFlBQW9CLEtBQThCLEVBQ1osU0FBbUIsRUFDckMsS0FBYTtRQUZiLFVBQUssR0FBTCxLQUFLLENBQXlCO1FBQ1osY0FBUyxHQUFULFNBQVMsQ0FBVTtRQUNyQyxVQUFLLEdBQUwsS0FBSyxDQUFRO1FBL0N6QixjQUFTLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUVoQyxxQkFBZ0IsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQ3ZDLHNCQUFpQixHQUFrQixJQUFJLENBQUM7UUFFeEMsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixpQkFBWSxHQUFHLENBQUMsQ0FBQztRQUNqQixxQkFBZ0IsR0FBRyxDQUFDLENBQUM7UUFxQjdCOzs7O1dBSUc7UUFFSSxjQUFTLEdBQTBCLFNBQVMsQ0FBQztRQWNsRCxJQUFJLENBQUMsZ0JBQWdCO2FBQ2xCLElBQUksQ0FDSCxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7Z0JBQ25CLE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQ3RCO1lBQ0QsT0FBTyxLQUFLLENBQ1YsSUFBSSxDQUFDLHFCQUFxQixFQUFFLEVBQzVCLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxFQUFDLFlBQVksRUFBRSxxQkFBcUIsQ0FBQyw2QkFBNkIsRUFBQyxDQUFDLEVBQ2xHLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxFQUFDLFlBQVksRUFBRSxxQkFBcUIsQ0FBQyw2QkFBNkIsRUFBQyxDQUFDLENBQ3pHLENBQUM7UUFDSixDQUFDLENBQUMsRUFDRixlQUFlLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQ3ZFLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQzFCO2FBQ0EsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtnQkFDbEIsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7YUFDN0I7aUJBQ0k7Z0JBQ0gsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7YUFDNUI7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRDs7T0FFRztJQUNLLG9CQUFvQjtRQUMxQixNQUFNLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUNoQyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO1FBQ3ZDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDO1FBQ25ELE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxjQUFjLEdBQUcsa0JBQWtCLENBQUM7UUFDakUsTUFBTSxXQUFXLEdBQUcsWUFBWSxHQUFHLGtCQUFrQixDQUFDO1FBQ3RELE1BQU0sUUFBUSxHQUFHLGtCQUFrQixHQUFHLFlBQVksQ0FBQztRQUVuRCxJQUFJLGVBQWUsS0FBSyxJQUFJLENBQUMsZ0JBQWdCLElBQUksV0FBVyxLQUFLLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDbEYsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGVBQWUsQ0FBQztZQUN4QyxJQUFJLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQztZQUNoQyxJQUFJLENBQUMsY0FBYyxDQUFDLG9DQUFvQyxFQUFFLGVBQWUsQ0FBQyxDQUFDO1lBQzNFLElBQUksQ0FBQyxjQUFjLENBQUMsZ0NBQWdDLEVBQUUsV0FBVyxDQUFDLENBQUM7U0FDcEU7UUFFRCxJQUFJLFFBQVEsS0FBSyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQy9CLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO1lBQzFCLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUN2SDtJQUNILENBQUM7SUFFRDs7T0FFRztJQUNLLG1CQUFtQjtRQUN6QixNQUFNLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUNoQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxjQUFjLENBQUMsb0NBQW9DLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDN0QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxnQ0FBZ0MsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxtQkFBbUI7SUFDWixZQUFZLENBQUMsS0FBaUI7UUFDbkMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDL0YsQ0FBQztJQUVELG1CQUFtQjtJQUNaLFdBQVcsQ0FBQyxLQUFpQjtRQUNsQyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFFdkIsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7UUFDOUYsTUFBTSxjQUFjLEdBQUcsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLGlCQUFrQixDQUFDO1FBQ25FLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDM0QsSUFBSSxDQUFDLGlCQUFpQixHQUFHLGlCQUFpQixDQUFDO1FBQzNDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsbUJBQW1CO0lBQ1osVUFBVSxDQUFDLEtBQWlCO1FBQ2pDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxtQkFBbUI7SUFDWixXQUFXLENBQUMsY0FBMEI7UUFDM0MsSUFBSSxjQUFjLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUMvQixPQUFPO1NBQ1I7UUFFRCxjQUFjLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDaEMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUM7UUFFekYsZ0NBQWdDO1FBQ2hDLElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFO1lBQ2hDLE1BQU0saUJBQWlCLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBYSxJQUFJLENBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBQyxFQUFFLFNBQVMsQ0FBYSxJQUFJLENBQUMsU0FBUyxFQUFFLGVBQWUsQ0FBQyxDQUFDO2lCQUN4SSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztpQkFDL0IsU0FBUyxDQUFDLGNBQWMsQ0FBQyxFQUFFO2dCQUMxQixjQUFjLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBRWhDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQztnQkFDMUYsTUFBTSxjQUFjLEdBQUcsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLGlCQUFrQixDQUFDO2dCQUNuRSxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxDQUFDO2dCQUMzRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsaUJBQWlCLENBQUM7Z0JBQzNDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUN6QyxDQUFDLENBQUMsQ0FBQztZQUVMLGdHQUFnRztZQUNoRyxLQUFLLENBQUMsU0FBUyxDQUFhLElBQUksQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLEVBQUMsT0FBTyxFQUFFLElBQUksRUFBQyxDQUFDLEVBQUUsU0FBUyxDQUFhLElBQUksQ0FBQyxTQUFTLEVBQUUsYUFBYSxDQUFDLENBQUM7aUJBQzNILElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2lCQUN4QyxTQUFTLENBQUMsWUFBWSxDQUFDLEVBQUU7Z0JBQ3hCLFlBQVksQ0FBQyxlQUFlLEVBQUUsQ0FBQztnQkFDL0IsaUJBQWlCLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ2hDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7WUFDaEMsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxtQkFBbUI7SUFDWixzQkFBc0IsQ0FBQyxLQUFpQixFQUFFLFNBQXdCO1FBQ3ZFLE1BQU0sTUFBTSxHQUFHLENBQUMsU0FBUyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNsRixDQUFDO0lBRUQ7O09BRUc7SUFDSyxlQUFlLENBQUMsY0FBc0I7UUFDNUMsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ3RELE1BQU0sV0FBVyxHQUFHLGNBQWMsR0FBRyxhQUFhLENBQUM7UUFDbkQsT0FBTyxXQUFXLEdBQUcsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFRDs7T0FFRztJQUNLLGtCQUFrQixDQUFDLGFBQXFCO1FBQzlDLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNqQixJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsSUFBSSxhQUFhLENBQUM7U0FDM0M7YUFDSTtZQUNILElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxJQUFJLGFBQWEsQ0FBQztTQUM1QztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVEOztPQUVHO0lBQ0ssb0JBQW9CLENBQUMsZ0JBQXdCLEVBQUUsY0FBMEI7UUFDL0UsNkdBQTZHO1FBQzdHLHVJQUF1STtRQUN2SSxvQkFBb0I7UUFDcEIsTUFBTSxrQkFBa0IsR0FBRyxjQUFjLENBQUMsTUFBaUIsQ0FBQztRQUU1RCxpRUFBaUU7UUFDakUsS0FBSyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUM7YUFDWCxJQUFJO1FBQ0gseUNBQXlDO1FBQ3pDLGNBQWMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxFQUFFLFNBQVMsQ0FBYSxrQkFBa0IsRUFBRSxXQUFXLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDO1FBQ3pILG9CQUFvQjtRQUNwQixTQUFTLENBQUMsY0FBYyxDQUFDO1FBQ3pCLDhEQUE4RDtRQUM5RCxTQUFTLENBQUMsQ0FBQyxLQUFpQixFQUFFLEVBQUUsQ0FBQyxrQkFBa0IsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQ3RILFlBQVksQ0FBQyxFQUFFLENBQUM7UUFDaEIsd0NBQXdDO1FBQ3hDLFNBQVMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLGtCQUFrQixFQUFFLFVBQVUsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxrQkFBa0IsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQ3RHO2FBQ0EsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzVDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVEOztPQUVHO0lBQ0sscUJBQXFCO1FBQzNCLE9BQU8sU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsUUFBUSxFQUFFLEVBQUMsT0FBTyxFQUFFLElBQUksRUFBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ3pGLENBQUM7SUFFRDs7T0FFRztJQUNLLHdCQUF3QixDQUFDLE9BQStCO1FBQzlELE9BQU8sY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7YUFDbEMsSUFBSTtRQUNILHFHQUFxRztRQUNyRyx1R0FBdUc7UUFDdkcsNENBQTRDO1FBQzVDLFlBQVksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEVBQ2xDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FDckIsQ0FBQztJQUNOLENBQUM7SUFFRDs7T0FFRztJQUNLLDhCQUE4QixDQUFDLE9BQStCO1FBQ3BFLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO2FBQ2xDLElBQUksQ0FDSCxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUN4RCxjQUFjLENBQUMsS0FBSyxDQUFDO1FBQ3JCLG1JQUFtSTtRQUNuSSwyRUFBMkU7UUFDM0UsYUFBYSxDQUFDLEtBQUssRUFBRSxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FDdEYsQ0FBQyxDQUFDO1FBQ0gscUdBQXFHO1FBQ3JHLHVHQUF1RztRQUN2Ryw0Q0FBNEM7UUFDNUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsRUFDbEMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUNyQixDQUFDO0lBQ04sQ0FBQztJQUVEOztPQUVHO0lBQ0ssU0FBUyxDQUFDLE9BQW9CO1FBQ3BDLE9BQU8sYUFBYSxDQUFDLE9BQU8sRUFBRSxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBQyxDQUFDO2FBQzdELElBQUksQ0FDSCxTQUFTLENBQUMsU0FBaUIsQ0FBQyxFQUM1QixHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsRUFDdkMsV0FBVyxDQUFDLENBQUMsS0FBYyxFQUF3QixFQUFFLENBQUMsS0FBSyxZQUFZLFdBQVcsQ0FBQyxDQUNwRixDQUFDO0lBQ04sQ0FBQztJQUVPLGNBQWMsQ0FBQyxHQUFXLEVBQUUsS0FBVTtRQUM1QyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsSUFBWSxZQUFZO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3pHLENBQUM7SUFFRCxJQUFZLGtCQUFrQjtRQUM1QixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN6RyxDQUFDO0lBRUQsSUFBWSxjQUFjO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JHLENBQUM7SUFFRCxJQUFZLFNBQVM7UUFDbkIsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUM7UUFDckQsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDO0lBQzlFLENBQUM7SUFFRCxJQUFZLFNBQVM7UUFDbkIsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUM7UUFDOUMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDO0lBQzlFLENBQUM7SUFFRCxtQkFBbUI7SUFDWixXQUFXO1FBQ2hCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDeEIsQ0FBQzs4R0FuVVUscUJBQXFCLDRDQTJEWixRQUFRO2tHQTNEakIscUJBQXFCLDRaQ2hEbEMsNHlCQXFCQTs7U0QyQmEscUJBQXFCOzJGQUFyQixxQkFBcUI7a0JBUGpDLFNBQVM7K0JBQ0UsZUFBZSxtQkFHUix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUk7OzBCQTZESCxNQUFNOzJCQUFDLFFBQVE7aUVBbkNyQixZQUFZO3NCQURsQixTQUFTO3VCQUFDLGNBQWMsRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUM7Z0JBSTlCLFFBQVE7c0JBRGxCLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQU1sQixVQUFVO3NCQURwQixXQUFXO3VCQUFDLGtCQUFrQjtnQkFNcEIsU0FBUztzQkFEbkIsV0FBVzt1QkFBQyxpQkFBaUI7Z0JBV3ZCLFNBQVM7c0JBRGYsS0FBSztnQkFPSyxXQUFXO3NCQURyQixLQUFLO3VCQUFDLEVBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOC0yMDE5IFN3aXNzIEZlZGVyYWwgUmFpbHdheXNcbiAqXG4gKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlXG4gKiBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMFxuICogd2hpY2ggaXMgYXZhaWxhYmxlIGF0IGh0dHBzOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAvXG4gKlxuICogIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wXG4gKi9cblxuaW1wb3J0IHtET0NVTUVOVH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmcsIEluamVjdCwgSW5wdXQsIE5nWm9uZSwgT25EZXN0cm95LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtmcm9tRXZlbnQsIG1lcmdlLCBPYnNlcnZhYmxlLCBvZiwgU3ViamVjdCwgdGltZXJ9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtkZWJvdW5jZVRpbWUsIGZpcnN0LCBtYXAsIHN0YXJ0V2l0aCwgc3dpdGNoTWFwLCB0YWtlVW50aWwsIHRha2VXaGlsZSwgd2l0aExhdGVzdEZyb219IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7ZnJvbURpbWVuc2lvbiQsIGZyb21NdXRhdGlvbiR9IGZyb20gJ0BzY2lvbi90b29sa2l0L29ic2VydmFibGUnO1xuaW1wb3J0IHtmaWx0ZXJBcnJheSwgc3Vic2NyaWJlSW5zaWRlfSBmcm9tICdAc2Npb24vdG9vbGtpdC9vcGVyYXRvcnMnO1xuXG4vKipcbiAqIFJlbmRlcnMgYSB2ZXJ0aWNhbCBvciBob3Jpem9udGFsIHNjcm9sbGJhci5cbiAqXG4gKiBUaGUgc2Nyb2xsYmFyIGZlYXR1cmVzIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb25hbGl0eTpcbiAqIC0gYWxsb3dzIHRvIG1vdmUgdGhlIHRodW1iIGJ5IG1vdXNlIG9yIHRvdWNoXG4gKiAtIGVubGFyZ2VzIHRoZSB0aHVtYiBpZiB0aGUgbW91c2UgcG9pbnRlciBpcyBuZWFyIHRoZSB0aHVtYlxuICogLSBhbGxvd3MgcGFnaW5nIG9uIG1vdXNlZG93biBvbiB0aGUgc2Nyb2xsIHRyYWNrXG4gKlxuICogIyMjIFN0eWxpbmc6XG4gKlxuICogVG8gY3VzdG9taXplIHRoZSBkZWZhdWx0IGxvb2sgb2YgU0NJT04gY29tcG9uZW50cyBvciBzdXBwb3J0IGRpZmZlcmVudCB0aGVtZXMsIGNvbmZpZ3VyZSB0aGUgYEBzY2lvbi9jb21wb25lbnRzYCBTQ1NTIG1vZHVsZSBpbiBgc3R5bGVzLnNjc3NgLlxuICogVG8gc3R5bGUgYSBzcGVjaWZpYyBgc2NpLXNjcm9sbGJhcmAgY29tcG9uZW50LCB0aGUgZm9sbG93aW5nIENTUyB2YXJpYWJsZXMgY2FuIGJlIHNldCBkaXJlY3RseSBvbiB0aGUgY29tcG9uZW50LlxuICpcbiAqIC0gc2NpLXNjcm9sbGJhci1jb2xvcjogICAgU2V0cyB0aGUgY29sb3Igb2YgdGhlIHNjcm9sbGJhci5cbiAqXG4gKiBFeGFtcGxlOlxuICpcbiAqIGBgYGNzc1xuICpcbiAqIHNjaS1zY3JvbGxiYXIge1xuICogICAtLXNjaS1zY3JvbGxiYXItY29sb3I6IGJsdWU7XG4gKiB9XG4gKiBgYGBcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2NpLXNjcm9sbGJhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zY3JvbGxiYXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zY3JvbGxiYXIuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIFNjaVNjcm9sbGJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cbiAgLyoqXG4gICAqIFRpbWVvdXQgZm9yIGRlYm91bmNpbmcgdmlld3BvcnQgcmVzaXplIGV2ZW50cyB0aGF0IHRyaWdnZXIgdGhlIHNjcm9sbCBwb3NpdGlvbiBjb21wdXRhdGlvbi5cbiAgICpcbiAgICogRGVib3VuY2luZyBpcyBwYXJ0aWN1bGFybHkgaW1wb3J0YW50IGluIHRoZSBjb250ZXh0IG9mIEFuZ3VsYXIgYW5pbWF0aW9ucywgc2luY2UgdGhleSBjb250aW51b3VzbHlcbiAgICogdHJpZ2dlciByZXNpemUgZXZlbnRzLiBEZWJvdW5jaW5nIHByZXZlbnRzIHRoZSBzY3JvbGxiYXIgZnJvbSBmbGlja2VyaW5nLCBmb3IgZXhhbXBsZSwgd2hlbiB0aGUgdXNlclxuICAgKiBleHBhbmRzIGEgcGFuZWwgdGhhdCBjb250YWlucyBhIHZpZXdwb3J0LlxuICAgKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVklFV1BPUlRfUkVTSVpFX0RFQk9VTkNFX1RJTUUgPSA1MDtcblxuICBwcml2YXRlIF9kZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHByaXZhdGUgX3ZpZXdwb3J0ITogSFRNTEVsZW1lbnQ7XG4gIHByaXZhdGUgX3ZpZXdwb3J0Q2hhbmdlJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHByaXZhdGUgX2xhc3REcmFnUG9zaXRpb246IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgX292ZXJmbG93ID0gZmFsc2U7XG4gIHByaXZhdGUgX3RodW1iU2l6ZUZyID0gMDtcbiAgcHJpdmF0ZSBfdGh1bWJQb3NpdGlvbkZyID0gMDtcblxuICAvKiBAZG9jcy1wcml2YXRlICovXG4gIEBWaWV3Q2hpbGQoJ3RodW1iX2hhbmRsZScsIHtzdGF0aWM6IHRydWV9KVxuICBwdWJsaWMgdGh1bWJFbGVtZW50ITogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy52ZXJ0aWNhbCcpXG4gIHB1YmxpYyBnZXQgdmVydGljYWwoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZGlyZWN0aW9uID09PSAndnNjcm9sbCc7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmhvcml6b250YWwnKVxuICBwdWJsaWMgZ2V0IGhvcml6b250YWwoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZGlyZWN0aW9uID09PSAnaHNjcm9sbCc7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnNjcm9sbGluZycpXG4gIHB1YmxpYyBnZXQgc2Nyb2xsaW5nKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9sYXN0RHJhZ1Bvc2l0aW9uICE9PSBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgZGlyZWN0aW9uIG9mIHRoZSBzY3JvbGxiYXIuXG4gICAqXG4gICAqIEJ5IGRlZmF1bHQsIGlmIG5vdCBzcGVjaWZpZWQsIHJlbmRlcnMgYSB2ZXJ0aWNhbCBzY3JvbGxiYXIuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZGlyZWN0aW9uOiAndnNjcm9sbCcgfCAnaHNjcm9sbCcgPSAndnNjcm9sbCc7XG5cbiAgLyoqXG4gICAqIFRoZSB2aWV3cG9ydCB0byBwcm92aWRlIHNjcm9sbGJhcnMgZm9yLlxuICAgKi9cbiAgQElucHV0KHthbGlhczogJ3ZpZXdwb3J0JywgcmVxdWlyZWQ6IHRydWV9KSAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dC1yZW5hbWVcbiAgcHVibGljIHNldCBzZXRWaWV3cG9ydCh2aWV3cG9ydDogSFRNTEVsZW1lbnQpIHtcbiAgICB0aGlzLl92aWV3cG9ydCA9IHZpZXdwb3J0O1xuICAgIHRoaXMuX3ZpZXdwb3J0Q2hhbmdlJC5uZXh0KCk7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9ob3N0OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgICAgICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBfZG9jdW1lbnQ6IERvY3VtZW50LFxuICAgICAgICAgICAgICBwcml2YXRlIF96b25lOiBOZ1pvbmUpIHtcbiAgICB0aGlzLl92aWV3cG9ydENoYW5nZSRcbiAgICAgIC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4ge1xuICAgICAgICAgIGlmICghdGhpcy5fdmlld3BvcnQpIHtcbiAgICAgICAgICAgIHJldHVybiBvZih1bmRlZmluZWQpO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gbWVyZ2UoXG4gICAgICAgICAgICB0aGlzLnZpZXdwb3J0U2Nyb2xsQ2hhbmdlJCgpLFxuICAgICAgICAgICAgdGhpcy52aWV3cG9ydERpbWVuc2lvbkNoYW5nZSQoe2RlYm91bmNlVGltZTogU2NpU2Nyb2xsYmFyQ29tcG9uZW50LlZJRVdQT1JUX1JFU0laRV9ERUJPVU5DRV9USU1FfSksXG4gICAgICAgICAgICB0aGlzLnZpZXdwb3J0Q2xpZW50RGltZW5zaW9uQ2hhbmdlJCh7ZGVib3VuY2VUaW1lOiBTY2lTY3JvbGxiYXJDb21wb25lbnQuVklFV1BPUlRfUkVTSVpFX0RFQk9VTkNFX1RJTUV9KSxcbiAgICAgICAgICApO1xuICAgICAgICB9KSxcbiAgICAgICAgc3Vic2NyaWJlSW5zaWRlKGNvbnRpbnVlRm4gPT4gdGhpcy5fem9uZS5ydW5PdXRzaWRlQW5ndWxhcihjb250aW51ZUZuKSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuX3ZpZXdwb3J0KSB7XG4gICAgICAgICAgdGhpcy5yZW5kZXJTY3JvbGxQb3NpdGlvbigpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgIHRoaXMudW5zZXRTY3JvbGxQb3NpdGlvbigpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb21wdXRlcyB0aGUgc2Nyb2xsIHBvc2l0aW9uIGFuZCB1cGRhdGVzIENTUyB2YXJpYWJsZXMgdG8gcmVuZGVyIHRoZSBzY3JvbGwgcG9zaXRpb24gaW4gdGhlIFVJLlxuICAgKi9cbiAgcHJpdmF0ZSByZW5kZXJTY3JvbGxQb3NpdGlvbigpOiB2b2lkIHtcbiAgICBOZ1pvbmUuYXNzZXJ0Tm90SW5Bbmd1bGFyWm9uZSgpO1xuICAgIGNvbnN0IHZpZXdwb3J0U2l6ZSA9IHRoaXMudmlld3BvcnRTaXplO1xuICAgIGNvbnN0IHZpZXdwb3J0Q2xpZW50U2l6ZSA9IHRoaXMudmlld3BvcnRDbGllbnRTaXplO1xuICAgIGNvbnN0IHRodW1iUG9zaXRpb25GciA9IHRoaXMuc2Nyb2xsUG9zaXRpb24gLyB2aWV3cG9ydENsaWVudFNpemU7XG4gICAgY29uc3QgdGh1bWJTaXplRnIgPSB2aWV3cG9ydFNpemUgLyB2aWV3cG9ydENsaWVudFNpemU7XG4gICAgY29uc3Qgb3ZlcmZsb3cgPSB2aWV3cG9ydENsaWVudFNpemUgPiB2aWV3cG9ydFNpemU7XG5cbiAgICBpZiAodGh1bWJQb3NpdGlvbkZyICE9PSB0aGlzLl90aHVtYlBvc2l0aW9uRnIgfHwgdGh1bWJTaXplRnIgIT09IHRoaXMuX3RodW1iU2l6ZUZyKSB7XG4gICAgICB0aGlzLl90aHVtYlBvc2l0aW9uRnIgPSB0aHVtYlBvc2l0aW9uRnI7XG4gICAgICB0aGlzLl90aHVtYlNpemVGciA9IHRodW1iU2l6ZUZyO1xuICAgICAgdGhpcy5zZXRDc3NWYXJpYWJsZSgnLS3JtXNjaS1zY3JvbGxiYXItdGh1bWItcG9zaXRpb24tZnInLCB0aHVtYlBvc2l0aW9uRnIpO1xuICAgICAgdGhpcy5zZXRDc3NWYXJpYWJsZSgnLS3JtXNjaS1zY3JvbGxiYXItdGh1bWItc2l6ZS1mcicsIHRodW1iU2l6ZUZyKTtcbiAgICB9XG5cbiAgICBpZiAob3ZlcmZsb3cgIT09IHRoaXMuX292ZXJmbG93KSB7XG4gICAgICB0aGlzLl9vdmVyZmxvdyA9IG92ZXJmbG93O1xuICAgICAgb3ZlcmZsb3cgPyB0aGlzLl9ob3N0Lm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnb3ZlcmZsb3cnKSA6IHRoaXMuX2hvc3QubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdvdmVyZmxvdycpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDbGVhcnMgQ1NTIHZhcmlhYmxlcyB1c2VkIGZvciByZW5kZXJpbmcgdGhlIHNjcm9sbCBwb3NpdGlvbiBpbiB0aGUgVUkuXG4gICAqL1xuICBwcml2YXRlIHVuc2V0U2Nyb2xsUG9zaXRpb24oKTogdm9pZCB7XG4gICAgTmdab25lLmFzc2VydE5vdEluQW5ndWxhclpvbmUoKTtcbiAgICB0aGlzLl90aHVtYlBvc2l0aW9uRnIgPSAwO1xuICAgIHRoaXMuX3RodW1iU2l6ZUZyID0gMDtcbiAgICB0aGlzLl9vdmVyZmxvdyA9IGZhbHNlO1xuICAgIHRoaXMuc2V0Q3NzVmFyaWFibGUoJy0tybVzY2ktc2Nyb2xsYmFyLXRodW1iLXBvc2l0aW9uLWZyJywgMCk7XG4gICAgdGhpcy5zZXRDc3NWYXJpYWJsZSgnLS3JtXNjaS1zY3JvbGxiYXItdGh1bWItc2l6ZS1mcicsIDApO1xuICAgIHRoaXMuX2hvc3QubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdvdmVyZmxvdycpO1xuICB9XG5cbiAgLyogQGRvY3MtcHJpdmF0ZSAqL1xuICBwdWJsaWMgb25Ub3VjaFN0YXJ0KGV2ZW50OiBUb3VjaEV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB0aGlzLl9sYXN0RHJhZ1Bvc2l0aW9uID0gdGhpcy52ZXJ0aWNhbCA/IGV2ZW50LnRvdWNoZXNbMF0uc2NyZWVuWSA6IGV2ZW50LnRvdWNoZXNbMF0uc2NyZWVuWDtcbiAgfVxuXG4gIC8qIEBkb2NzLXByaXZhdGUgKi9cbiAgcHVibGljIG9uVG91Y2hNb3ZlKGV2ZW50OiBUb3VjaEV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgIGNvbnN0IG5ld0RyYWdQb3NpdGlvblB4ID0gdGhpcy52ZXJ0aWNhbCA/IGV2ZW50LnRvdWNoZXNbMF0uc2NyZWVuWSA6IGV2ZW50LnRvdWNoZXNbMF0uc2NyZWVuWDtcbiAgICBjb25zdCBzY3JvbGxiYXJQYW5QeCA9IG5ld0RyYWdQb3NpdGlvblB4IC0gdGhpcy5fbGFzdERyYWdQb3NpdGlvbiE7XG4gICAgY29uc3Qgdmlld3BvcnRQYW5QeCA9IHRoaXMudG9WaWV3cG9ydFBhblB4KHNjcm9sbGJhclBhblB4KTtcbiAgICB0aGlzLl9sYXN0RHJhZ1Bvc2l0aW9uID0gbmV3RHJhZ1Bvc2l0aW9uUHg7XG4gICAgdGhpcy5tb3ZlVmlld3BvcnRDbGllbnQodmlld3BvcnRQYW5QeCk7XG4gIH1cblxuICAvKiBAZG9jcy1wcml2YXRlICovXG4gIHB1YmxpYyBvblRvdWNoRW5kKGV2ZW50OiBUb3VjaEV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB0aGlzLl9sYXN0RHJhZ1Bvc2l0aW9uID0gbnVsbDtcbiAgfVxuXG4gIC8qIEBkb2NzLXByaXZhdGUgKi9cbiAgcHVibGljIG9uTW91c2VEb3duKG1vdXNlZG93bkV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgaWYgKG1vdXNlZG93bkV2ZW50LmJ1dHRvbiAhPT0gMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIG1vdXNlZG93bkV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy5fbGFzdERyYWdQb3NpdGlvbiA9IHRoaXMudmVydGljYWwgPyBtb3VzZWRvd25FdmVudC5zY3JlZW5ZIDogbW91c2Vkb3duRXZlbnQuc2NyZWVuWDtcblxuICAgIC8vIExpc3RlbiBmb3IgJ21vdXNlbW92ZScgZXZlbnRzXG4gICAgdGhpcy5fem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICBjb25zdCBtb3VzZW1vdmVMaXN0ZW5lciA9IG1lcmdlKGZyb21FdmVudDxNb3VzZUV2ZW50Pih0aGlzLl9kb2N1bWVudCwgJ21vdXNlbW92ZScpLCBmcm9tRXZlbnQ8TW91c2VFdmVudD4odGhpcy5fZG9jdW1lbnQsICdzY2ktbW91c2Vtb3ZlJykpXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpXG4gICAgICAgIC5zdWJzY3JpYmUobW91c2Vtb3ZlRXZlbnQgPT4ge1xuICAgICAgICAgIG1vdXNlbW92ZUV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgICAgICBjb25zdCBuZXdEcmFnUG9zaXRpb25QeCA9IHRoaXMudmVydGljYWwgPyBtb3VzZW1vdmVFdmVudC5zY3JlZW5ZIDogbW91c2Vtb3ZlRXZlbnQuc2NyZWVuWDtcbiAgICAgICAgICBjb25zdCBzY3JvbGxiYXJQYW5QeCA9IG5ld0RyYWdQb3NpdGlvblB4IC0gdGhpcy5fbGFzdERyYWdQb3NpdGlvbiE7XG4gICAgICAgICAgY29uc3Qgdmlld3BvcnRQYW5QeCA9IHRoaXMudG9WaWV3cG9ydFBhblB4KHNjcm9sbGJhclBhblB4KTtcbiAgICAgICAgICB0aGlzLl9sYXN0RHJhZ1Bvc2l0aW9uID0gbmV3RHJhZ1Bvc2l0aW9uUHg7XG4gICAgICAgICAgdGhpcy5tb3ZlVmlld3BvcnRDbGllbnQodmlld3BvcnRQYW5QeCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAvLyBMaXN0ZW4gZm9yICdtb3VzZXVwJyBldmVudHM7IHVzZSAnY2FwdHVyZSBwaGFzZScgYW5kICdzdG9wIHByb3BhZ2F0aW9uJyB0byBub3QgY2xvc2Ugb3ZlcmxheXNcbiAgICAgIG1lcmdlKGZyb21FdmVudDxNb3VzZUV2ZW50Pih0aGlzLl9kb2N1bWVudCwgJ21vdXNldXAnLCB7Y2FwdHVyZTogdHJ1ZX0pLCBmcm9tRXZlbnQ8TW91c2VFdmVudD4odGhpcy5fZG9jdW1lbnQsICdzY2ktbW91c2V1cCcpKVxuICAgICAgICAucGlwZShmaXJzdCgpLCB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKVxuICAgICAgICAuc3Vic2NyaWJlKG1vdXNldXBFdmVudCA9PiB7XG4gICAgICAgICAgbW91c2V1cEV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgIG1vdXNlbW92ZUxpc3RlbmVyLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgdGhpcy5fbGFzdERyYWdQb3NpdGlvbiA9IG51bGw7XG4gICAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLyogQGRvY3MtcHJpdmF0ZSAqL1xuICBwdWJsaWMgb25TY3JvbGxUcmFja01vdXNlRG93bihldmVudDogTW91c2VFdmVudCwgZGlyZWN0aW9uOiAndXAnIHwgJ2Rvd24nKTogdm9pZCB7XG4gICAgY29uc3Qgc2lnbnVtID0gKGRpcmVjdGlvbiA9PT0gJ3VwJyA/IC0xIDogKzEpO1xuICAgIHRoaXMuc2Nyb2xsV2hpbGVNb3VzZURvd24odGhpcy50b1ZpZXdwb3J0UGFuUHgoc2lnbnVtICogdGhpcy50aHVtYlNpemUpLCBldmVudCk7XG4gIH1cblxuICAvKipcbiAgICogUHJvamVjdHMgdGhlIGdpdmVuIHNjcm9sbGJhciBzY3JvbGwgcGl4ZWxzIGludG8gdmlld3BvcnQgc2Nyb2xsIHBpeGVscy5cbiAgICovXG4gIHByaXZhdGUgdG9WaWV3cG9ydFBhblB4KHNjcm9sbGJhclBhblB4OiBudW1iZXIpOiBudW1iZXIge1xuICAgIGNvbnN0IHNjcm9sbFJhbmdlUHggPSB0aGlzLnRyYWNrU2l6ZSAtIHRoaXMudGh1bWJTaXplO1xuICAgIGNvbnN0IHNjcm9sbFJhdGlvID0gc2Nyb2xsYmFyUGFuUHggLyBzY3JvbGxSYW5nZVB4O1xuICAgIHJldHVybiBzY3JvbGxSYXRpbyAqICh0aGlzLnZpZXdwb3J0Q2xpZW50U2l6ZSAtIHRoaXMudmlld3BvcnRTaXplKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNb3ZlcyB0aGUgdmlld3BvcnQgY2xpZW50IGJ5IHRoZSBzcGVjaWZpZWQgbnVtYmVycyBvZiBwaXhlbHMuXG4gICAqL1xuICBwcml2YXRlIG1vdmVWaWV3cG9ydENsaWVudCh2aWV3cG9ydFBhblB4OiBudW1iZXIpOiB2b2lkIHtcbiAgICBpZiAodGhpcy52ZXJ0aWNhbCkge1xuICAgICAgdGhpcy5fdmlld3BvcnQuc2Nyb2xsVG9wICs9IHZpZXdwb3J0UGFuUHg7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgdGhpcy5fdmlld3BvcnQuc2Nyb2xsTGVmdCArPSB2aWV3cG9ydFBhblB4O1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgdGhlIGNvbnRlbnQgb3ZlcmZsb3dzLlxuICAgKi9cbiAgcHVibGljIGdldCBvdmVyZmxvdygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fb3ZlcmZsb3c7XG4gIH1cblxuICAvKipcbiAgICogU2Nyb2xscyBjb250aW51b3VzbHkgd2hpbGUgaG9sZGluZyB0aGUgbW91c2UgcHJlc3NlZCwgb3IgdW50aWwgdGhlIG1vdXNlIGxlYXZlcyB0aGUgc2Nyb2xsdHJhY2suXG4gICAqL1xuICBwcml2YXRlIHNjcm9sbFdoaWxlTW91c2VEb3duKHZpZXdwb3J0U2Nyb2xsUHg6IG51bWJlciwgbW91c2Vkb3duRXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAvLyBUaGUgYEV2ZW50VGFyZ2V0YCB0eXBlIG9mIGBFdmVudC50YXJnZXRgIGlzIG5vdCB5ZXQgY29tcGF0aWJsZSB3aXRoIGBGcm9tRXZlbnRUYXJnZXRgIHVzZWQgaW4gYGZyb21FdmVudGAuXG4gICAgLy8gVGhpcyB3aWxsIGJlIGZpeGVkIGluIHJ4anMgdmVyc2lvbiA3LjAuMC4gUmVmZXIgdG8gaHR0cHM6Ly9naXRodWIuY29tL1JlYWN0aXZlWC9yeGpzL2NvbW1pdC81ZjAyMmQ3ODQ1NzA2ODQ2MzJlNmZkNWFlMjQ3ZmMyNTllZTM0YzRiXG4gICAgLy8gZm9yIG1vcmUgZGV0YWlscy5cbiAgICBjb25zdCBzY3JvbGxUcmFja0VsZW1lbnQgPSBtb3VzZWRvd25FdmVudC50YXJnZXQgYXMgRWxlbWVudDtcblxuICAgIC8vIHNjcm9sbCBjb250aW51b3VzbHkgZXZlcnkgNTBtcyBhZnRlciBhbiBpbml0aWFsIGRlbGF5IG9mIDI1MG1zXG4gICAgdGltZXIoMjUwLCA1MClcbiAgICAgIC5waXBlKFxuICAgICAgICAvLyBjb250aW51ZSBjaGFpbiB3aXRoIGxhdGVzdCBtb3VzZSBldmVudFxuICAgICAgICB3aXRoTGF0ZXN0RnJvbShtZXJnZShvZihtb3VzZWRvd25FdmVudCksIGZyb21FdmVudDxNb3VzZUV2ZW50PihzY3JvbGxUcmFja0VsZW1lbnQsICdtb3VzZW1vdmUnKSksICh0aWNrLCBldmVudCkgPT4gZXZlbnQpLFxuICAgICAgICAvLyBzdGFydCBpbW1lZGlhdGVseVxuICAgICAgICBzdGFydFdpdGgobW91c2Vkb3duRXZlbnQpLFxuICAgICAgICAvLyBzdG9wIHNjcm9sbGluZyBpZiB0aGUgdGh1bWIgaGl0cyB0aGUgbW91c2UgcG9pbnRlciBwb3NpdGlvblxuICAgICAgICB0YWtlV2hpbGUoKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiBzY3JvbGxUcmFja0VsZW1lbnQgPT09IHRoaXMuX2RvY3VtZW50LmVsZW1lbnRGcm9tUG9pbnQoZXZlbnQuY2xpZW50WCwgZXZlbnQuY2xpZW50WSkpLFxuICAgICAgICBkZWJvdW5jZVRpbWUoMTApLFxuICAgICAgICAvLyBzdG9wIHNjcm9sbGluZyBvbiBtb3VzZW91dCBvciBtb3VzZXVwXG4gICAgICAgIHRha2VVbnRpbChtZXJnZShmcm9tRXZlbnQoc2Nyb2xsVHJhY2tFbGVtZW50LCAnbW91c2VvdXQnKSwgZnJvbUV2ZW50KHNjcm9sbFRyYWNrRWxlbWVudCwgJ21vdXNldXAnKSkpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMubW92ZVZpZXdwb3J0Q2xpZW50KHZpZXdwb3J0U2Nyb2xsUHgpO1xuICAgICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogRW1pdHMgd2hlbmV2ZXIgdGhlIHZpZXdwb3J0IHNjcm9sbHMuXG4gICAqL1xuICBwcml2YXRlIHZpZXdwb3J0U2Nyb2xsQ2hhbmdlJCgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gZnJvbUV2ZW50KHRoaXMuX3ZpZXdwb3J0LCAnc2Nyb2xsJywge3Bhc3NpdmU6IHRydWV9KS5waXBlKG1hcCgoKSA9PiB1bmRlZmluZWQpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbWl0cyBvbiBzdWJzY3JpcHRpb24sIGFuZCB0aGVuIGVhY2ggdGltZSB0aGUgc2l6ZSBvZiB0aGUgdmlld3BvcnQgY2hhbmdlcy5cbiAgICovXG4gIHByaXZhdGUgdmlld3BvcnREaW1lbnNpb25DaGFuZ2UkKG9wdGlvbnM6IHtkZWJvdW5jZVRpbWU6IG51bWJlcn0pOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gZnJvbURpbWVuc2lvbiQodGhpcy5fdmlld3BvcnQpXG4gICAgICAucGlwZShcbiAgICAgICAgLy8gRGVib3VuY2luZyBpcyBwYXJ0aWN1bGFybHkgaW1wb3J0YW50IGluIHRoZSBjb250ZXh0IG9mIEFuZ3VsYXIgYW5pbWF0aW9ucywgc2luY2UgdGhleSBjb250aW51b3VzbHlcbiAgICAgICAgLy8gdHJpZ2dlciByZXNpemUgZXZlbnRzLiBEZWJvdW5jaW5nIHByZXZlbnRzIHRoZSBzY3JvbGxiYXIgZnJvbSBmbGlja2VyaW5nLCBmb3IgZXhhbXBsZSwgd2hlbiB0aGUgdXNlclxuICAgICAgICAvLyBleHBhbmRzIGEgcGFuZWwgdGhhdCBjb250YWlucyBhIHZpZXdwb3J0LlxuICAgICAgICBkZWJvdW5jZVRpbWUob3B0aW9ucy5kZWJvdW5jZVRpbWUpLFxuICAgICAgICBtYXAoKCkgPT4gdW5kZWZpbmVkKSxcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogRW1pdHMgb24gc3Vic2NyaXB0aW9uLCBhbmQgdGhlbiBlYWNoIHRpbWUgdGhlIHNpemUgb3Igc3R5bGUgcHJvcGVydHkgb2YgdGhlIHZpZXdwb3J0IGNsaWVudCBjaGFuZ2VzLlxuICAgKi9cbiAgcHJpdmF0ZSB2aWV3cG9ydENsaWVudERpbWVuc2lvbkNoYW5nZSQob3B0aW9uczoge2RlYm91bmNlVGltZTogbnVtYmVyfSk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmNoaWxkcmVuJCh0aGlzLl92aWV3cG9ydClcbiAgICAgIC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoY2hpbGRyZW4gPT4gbWVyZ2UoLi4uY2hpbGRyZW4ubWFwKGNoaWxkID0+IG1lcmdlKFxuICAgICAgICAgIGZyb21EaW1lbnNpb24kKGNoaWxkKSxcbiAgICAgICAgICAvLyBPYnNlcnZlIHN0eWxlIG11dGF0aW9ucyBzaW5jZSBzb21lIHRyYW5zZm9ybWF0aW9ucyBjaGFuZ2UgdGhlIHNjcm9sbCBwb3NpdGlvbiB3aXRob3V0IG5lY2Vzc2FyaWx5IHRyaWdnZXJpbmcgYSBkaW1lbnNpb24gY2hhbmdlLFxuICAgICAgICAgIC8vIGUuZy4sIGBzY2FsZWAgb3IgYHRyYW5zbGF0ZWAgdXNlZCBieSBzb21lIHZpcnR1YWwgc2Nyb2xsIGltcGxlbWVudGF0aW9uc1xuICAgICAgICAgIGZyb21NdXRhdGlvbiQoY2hpbGQsIHtzdWJ0cmVlOiBmYWxzZSwgY2hpbGRMaXN0OiBmYWxzZSwgYXR0cmlidXRlRmlsdGVyOiBbJ3N0eWxlJ119KSksXG4gICAgICAgICkpKSxcbiAgICAgICAgLy8gRGVib3VuY2luZyBpcyBwYXJ0aWN1bGFybHkgaW1wb3J0YW50IGluIHRoZSBjb250ZXh0IG9mIEFuZ3VsYXIgYW5pbWF0aW9ucywgc2luY2UgdGhleSBjb250aW51b3VzbHlcbiAgICAgICAgLy8gdHJpZ2dlciByZXNpemUgZXZlbnRzLiBEZWJvdW5jaW5nIHByZXZlbnRzIHRoZSBzY3JvbGxiYXIgZnJvbSBmbGlja2VyaW5nLCBmb3IgZXhhbXBsZSwgd2hlbiB0aGUgdXNlclxuICAgICAgICAvLyBleHBhbmRzIGEgcGFuZWwgdGhhdCBjb250YWlucyBhIHZpZXdwb3J0LlxuICAgICAgICBkZWJvdW5jZVRpbWUob3B0aW9ucy5kZWJvdW5jZVRpbWUpLFxuICAgICAgICBtYXAoKCkgPT4gdW5kZWZpbmVkKSxcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogRW1pdHMgdGhlIGNoaWxkcmVuIG9mIHRoZSBwYXNzZWQgZWxlbWVudCwgYW5kIHRoZW4gZWFjaCB0aW1lIGNoaWxkIGVsZW1lbnRzIGFyZSBhZGRlZCBvciByZW1vdmVkLlxuICAgKi9cbiAgcHJpdmF0ZSBjaGlsZHJlbiQoZWxlbWVudDogSFRNTEVsZW1lbnQpOiBPYnNlcnZhYmxlPEhUTUxFbGVtZW50W10+IHtcbiAgICByZXR1cm4gZnJvbU11dGF0aW9uJChlbGVtZW50LCB7c3VidHJlZTogZmFsc2UsIGNoaWxkTGlzdDogdHJ1ZX0pXG4gICAgICAucGlwZShcbiAgICAgICAgc3RhcnRXaXRoKHVuZGVmaW5lZCBhcyB2b2lkKSxcbiAgICAgICAgbWFwKCgpID0+IEFycmF5LmZyb20oZWxlbWVudC5jaGlsZHJlbikpLFxuICAgICAgICBmaWx0ZXJBcnJheSgoY2hpbGQ6IEVsZW1lbnQpOiBjaGlsZCBpcyBIVE1MRWxlbWVudCA9PiBjaGlsZCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSxcbiAgICAgICk7XG4gIH1cblxuICBwcml2YXRlIHNldENzc1ZhcmlhYmxlKGtleTogc3RyaW5nLCB2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgdGhpcy5faG9zdC5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KGtleSwgdmFsdWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgdmlld3BvcnRTaXplKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX3ZpZXdwb3J0ID8gKHRoaXMudmVydGljYWwgPyB0aGlzLl92aWV3cG9ydC5jbGllbnRIZWlnaHQgOiB0aGlzLl92aWV3cG9ydC5jbGllbnRXaWR0aCkgOiAwO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgdmlld3BvcnRDbGllbnRTaXplKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX3ZpZXdwb3J0ID8gKHRoaXMudmVydGljYWwgPyB0aGlzLl92aWV3cG9ydC5zY3JvbGxIZWlnaHQgOiB0aGlzLl92aWV3cG9ydC5zY3JvbGxXaWR0aCkgOiAwO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgc2Nyb2xsUG9zaXRpb24oKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fdmlld3BvcnQgPyAodGhpcy52ZXJ0aWNhbCA/IHRoaXMuX3ZpZXdwb3J0LnNjcm9sbFRvcCA6IHRoaXMuX3ZpZXdwb3J0LnNjcm9sbExlZnQpIDogMDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IHRodW1iU2l6ZSgpOiBudW1iZXIge1xuICAgIGNvbnN0IHRodW1iRWxlbWVudCA9IHRoaXMudGh1bWJFbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgcmV0dXJuIHRoaXMudmVydGljYWwgPyB0aHVtYkVsZW1lbnQuY2xpZW50SGVpZ2h0IDogdGh1bWJFbGVtZW50LmNsaWVudFdpZHRoO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgdHJhY2tTaXplKCk6IG51bWJlciB7XG4gICAgY29uc3QgdHJhY2tFbGVtZW50ID0gdGhpcy5faG9zdC5uYXRpdmVFbGVtZW50O1xuICAgIHJldHVybiB0aGlzLnZlcnRpY2FsID8gdHJhY2tFbGVtZW50LmNsaWVudEhlaWdodCA6IHRyYWNrRWxlbWVudC5jbGllbnRXaWR0aDtcbiAgfVxuXG4gIC8qIEBkb2NzLXByaXZhdGUgKi9cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQoKTtcbiAgfVxufVxuIiwiPCEtLSBzY3JvbGx0cmFjayB0byBtb3ZlIHRoZSB2aWV3cG9ydCBjbGllbnQgdXB3YXJkcyAocGFnaW5nKSAtLT5cbjxkaXYgY2xhc3M9XCJzY3JvbGx0cmFjay1zdGFydFwiIChtb3VzZWRvd24pPVwib25TY3JvbGxUcmFja01vdXNlRG93bigkZXZlbnQsICd1cCcpXCI+PC9kaXY+XG5cbjwhLS0gc2Nyb2xsdGh1bWIgLS0+XG48ZGl2ICN0aHVtYl9oYW5kbGVcbiAgICAgY2xhc3M9XCJ0aHVtYi1oYW5kbGVcIlxuICAgICBbY2xhc3MudmVydGljYWxdPVwidmVydGljYWxcIlxuICAgICBbY2xhc3MuaG9yaXpvbnRhbF09XCJob3Jpem9udGFsXCJcbiAgICAgKG1vdXNlZG93bik9XCJvbk1vdXNlRG93bigkZXZlbnQpXCJcbiAgICAgKHRvdWNoc3RhcnQpPVwib25Ub3VjaFN0YXJ0KCRldmVudClcIlxuICAgICAodG91Y2htb3ZlKT1cIm9uVG91Y2hNb3ZlKCRldmVudClcIlxuICAgICAodG91Y2hlbmQpPVwib25Ub3VjaEVuZCgkZXZlbnQpXCJcbiAgICAgKHRvdWNoY2FuY2VsKT1cIm9uVG91Y2hFbmQoJGV2ZW50KVwiPlxuICA8ZGl2IGNsYXNzPVwidGh1bWJcIlxuICAgICAgIFtjbGFzcy52ZXJ0aWNhbF09XCJ2ZXJ0aWNhbFwiXG4gICAgICAgW2NsYXNzLmhvcml6b250YWxdPVwiaG9yaXpvbnRhbFwiPlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48IS0tIHNjcm9sbHRyYWNrIHRvIG1vdmUgdGhlIHZpZXdwb3J0IGNsaWVudCBkb3dud2FyZHMgKHBhZ2luZykgLS0+XG48ZGl2IGNsYXNzPVwic2Nyb2xsdHJhY2stZW5kXCIgKG1vdXNlZG93bik9XCJvblNjcm9sbFRyYWNrTW91c2VEb3duKCRldmVudCwgJ2Rvd24nKVwiPjwvZGl2PlxuIl19
|