@acorex/components 18.16.0-next.2 → 18.16.0-next.3
Sign up to get free protection for your applications and to get access to all the features.
- package/audio-wave/lib/audio-wave.component.d.ts +3 -2
- package/breadcrumbs/lib/breadcrumbs.component.d.ts +3 -2
- package/esm2022/audio-wave/lib/audio-wave.component.mjs +4 -1
- package/esm2022/breadcrumbs/lib/breadcrumbs-item.component.mjs +3 -3
- package/esm2022/breadcrumbs/lib/breadcrumbs.component.mjs +11 -4
- package/esm2022/form/lib/form-field.component.mjs +2 -2
- package/esm2022/image-editor/lib/image-editor-container/image-editor-container.component.mjs +2 -2
- package/esm2022/rate-picker/lib/rate-picker.component.mjs +2 -1
- package/esm2022/side-menu/lib/side-menu-item/side-menu-item.component.mjs +14 -8
- package/esm2022/side-menu/lib/side-menu.component.mjs +2 -2
- package/esm2022/side-menu/lib/side-menu.module.mjs +22 -4
- package/esm2022/tabs/lib/tab-item.component.mjs +9 -1
- package/esm2022/tabs/lib/tabs.component.mjs +56 -12
- package/esm2022/tree-view/lib/tree-view.class.mjs +1 -1
- package/esm2022/tree-view/lib/tree-view.component.mjs +40 -6
- package/fesm2022/acorex-components-audio-wave.mjs +3 -0
- package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
- package/fesm2022/acorex-components-breadcrumbs.mjs +11 -4
- package/fesm2022/acorex-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/acorex-components-form.mjs +2 -2
- package/fesm2022/acorex-components-form.mjs.map +1 -1
- package/fesm2022/acorex-components-image-editor.mjs +2 -2
- package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
- package/fesm2022/acorex-components-rate-picker.mjs +1 -0
- package/fesm2022/acorex-components-rate-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-side-menu.mjs +37 -13
- package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
- package/fesm2022/acorex-components-tabs.mjs +63 -11
- package/fesm2022/acorex-components-tabs.mjs.map +1 -1
- package/fesm2022/acorex-components-tree-view.mjs +39 -5
- package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
- package/package.json +1 -1
- package/side-menu/lib/side-menu-item/side-menu-item.component.d.ts +9 -1
- package/side-menu/lib/side-menu.module.d.ts +2 -1
- package/tabs/lib/tab-item.component.d.ts +6 -0
- package/tabs/lib/tabs.component.d.ts +7 -3
- package/tree-view/lib/tree-view.class.d.ts +1 -0
- package/tree-view/lib/tree-view.component.d.ts +7 -3
@@ -1,4 +1,4 @@
|
|
1
|
-
import { ElementRef, InputSignal } from '@angular/core';
|
1
|
+
import { ElementRef, InputSignal, OnDestroy } from '@angular/core';
|
2
2
|
import WaveSurfer from 'wavesurfer.js';
|
3
3
|
import { AXAudioWaveChangeEvent, AXWaveConfig } from './interfaces/audio-wave.interface';
|
4
4
|
import * as i0 from "@angular/core";
|
@@ -7,7 +7,7 @@ import * as i0 from "@angular/core";
|
|
7
7
|
*
|
8
8
|
* @category Components
|
9
9
|
*/
|
10
|
-
export declare class AXAudioWaveComponent {
|
10
|
+
export declare class AXAudioWaveComponent implements OnDestroy {
|
11
11
|
/**
|
12
12
|
* @ignore
|
13
13
|
*/
|
@@ -106,6 +106,7 @@ export declare class AXAudioWaveComponent {
|
|
106
106
|
protected handleDestroy(): void;
|
107
107
|
/** Just before the waveform is destroyed so you can clean up your events */
|
108
108
|
protected handleError(): void;
|
109
|
+
ngOnDestroy(): void;
|
109
110
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXAudioWaveComponent, never>;
|
110
111
|
static ɵcmp: i0.ɵɵComponentDeclaration<AXAudioWaveComponent, "ax-audio-wave", never, { "config": { "alias": "config"; "required": false; "isSignal": true; }; }, { "onStatusChanged": "onStatusChanged"; }, never, never, false, never>;
|
111
112
|
}
|
@@ -1,12 +1,12 @@
|
|
1
1
|
import { MXBaseComponent } from '@acorex/components/common';
|
2
|
-
import { TemplateRef } from '@angular/core';
|
2
|
+
import { AfterViewInit, TemplateRef } from '@angular/core';
|
3
3
|
import * as i0 from "@angular/core";
|
4
4
|
/**
|
5
5
|
* The Breadcrumbs component displays a navigation trail of links, helping users to track their location within an application's hierarchy.
|
6
6
|
*
|
7
7
|
* @category Components
|
8
8
|
*/
|
9
|
-
export declare class AXBreadCrumbsComponent extends MXBaseComponent {
|
9
|
+
export declare class AXBreadCrumbsComponent extends MXBaseComponent implements AfterViewInit {
|
10
10
|
/**
|
11
11
|
* @ignore
|
12
12
|
*/
|
@@ -15,6 +15,7 @@ export declare class AXBreadCrumbsComponent extends MXBaseComponent {
|
|
15
15
|
* @ignore
|
16
16
|
*/
|
17
17
|
dividerTemplate: TemplateRef<any>;
|
18
|
+
ngAfterViewInit(): void;
|
18
19
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXBreadCrumbsComponent, never>;
|
19
20
|
static ɵcmp: i0.ɵɵComponentDeclaration<AXBreadCrumbsComponent, "ax-breadcrumbs", never, {}, {}, ["_divider"], ["ax-breadcrumbs-item"], false, never>;
|
20
21
|
}
|
@@ -331,6 +331,9 @@ export class AXAudioWaveComponent {
|
|
331
331
|
});
|
332
332
|
});
|
333
333
|
}
|
334
|
+
ngOnDestroy() {
|
335
|
+
this.audio.destroy();
|
336
|
+
}
|
334
337
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXAudioWaveComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
335
338
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXAudioWaveComponent, selector: "ax-audio-wave", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onStatusChanged: "onStatusChanged" }, viewQueries: [{ propertyName: "div", first: true, predicate: ["d"], descendants: true }], ngImport: i0, template: "<div class=\"ax-audio-wave\" #d [ngStyle]=\"{'display': audioState() === 'ready' ? 'block' : 'none' }\"></div>\n\n@switch (audioState()) {\n@case ('loading') {\n<div class=\"ax-audio-skeleton\"></div>\n}\n@case ('error') {\n<div class=\"ax-wave-message\">\n {{'error.message' | translate:{ params:{ message: errorMessage() } } | async }}\n</div>\n}\n}", styles: ["ax-audio-wave{display:block;width:100%;flex:1;--ax-audio-skeleton-bg: rgba(var(--ax-color-primary-200))}ax-audio-wave .ax-audio-skeleton{position:relative;display:block;overflow:hidden;background-color:var(--ax-audio-skeleton-bg);height:1.125rem;border-radius:999rem}ax-audio-wave .ax-audio-skeleton:before{position:absolute;inset-inline-start:-13rem;top:0;display:block;height:100%;width:14rem;content:\"\";background:linear-gradient(to right,transparent 0%,rgba(var(--ax-color-black),20%) 50%,transparent 100%);animation:load 1s cubic-bezier(.4,0,.2,1) infinite}@keyframes load{0%{inset-inline-start:-13rem}to{inset-inline-start:100%}}ax-audio-wave .ax-wave-message{padding-inline-start:.5rem}\n"], dependencies: [{ kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.AXTranslatorPipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
|
336
339
|
}
|
@@ -341,4 +344,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
341
344
|
type: ViewChild,
|
342
345
|
args: ['d', { static: false }]
|
343
346
|
}] } });
|
344
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaW8td2F2ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvYXVkaW8td2F2ZS9zcmMvbGliL2F1ZGlvLXdhdmUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2F1ZGlvLXdhdmUvc3JjL2xpYi9hdWRpby13YXZlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUVWLE1BQU0sRUFDTixXQUFXLEVBQ1gsU0FBUyxFQUNULGlCQUFpQixFQUNqQixlQUFlLEVBQ2YsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04sTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sVUFBVSxNQUFNLGVBQWUsQ0FBQzs7OztBQUd2Qzs7OztHQUlHO0FBT0gsTUFBTSxPQUFPLG9CQUFvQjtJQWlDL0I7O09BRUc7SUFDSDtRQTlCQTs7V0FFRztRQUNILFdBQU0sR0FBOEIsS0FBSyxFQUFnQixDQUFDO1FBRTFEOzs7O1dBSUc7UUFDSCxvQkFBZSxHQUFHLE1BQU0sRUFBMEIsQ0FBQztRQUVuRCxlQUFVLEdBQUcsTUFBTSxDQUF1RCxRQUFRLENBQUMsQ0FBQztRQUVwRixpQkFBWSxHQUFHLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQU8xQjs7V0FFRztRQUNLLFdBQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFeEIsZUFBVSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUt2QyxlQUFlLENBQUMsR0FBRyxFQUFFO1lBQ25CLElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7Z0JBQ3ZDLE1BQU0sVUFBVSxHQUFHLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO2dCQUM5RixNQUFNLFVBQVUsR0FBRyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsd0JBQXdCLENBQUMsQ0FBQztnQkFFOUYsSUFBSSxDQUFDLEtBQUssR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDO29CQUM3QixTQUFTLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhO29CQUNqQyxTQUFTLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLFNBQVMsSUFBSSxRQUFRLFVBQVUsR0FBRztvQkFDNUQsYUFBYSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxhQUFhLElBQUksUUFBUSxVQUFVLEdBQUc7b0JBQ3BFLEdBQUcsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsR0FBRyxJQUFJLEVBQUU7b0JBQzdCLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsUUFBUSxJQUFJLENBQUM7b0JBQ3RDLFNBQVMsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsU0FBUyxJQUFJLENBQUM7b0JBQ3hDLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsTUFBTSxJQUFJLENBQUM7b0JBQ2xDLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsTUFBTSxJQUFJLEVBQUU7aUJBQ3BDLENBQUMsQ0FBQztZQUNMLENBQUM7WUFDRCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDWixJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxTQUFTLEVBQUUsR0FBRyxFQUFFO2dCQUM3QixJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNqQyxDQUFDLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUU7Z0JBQzNCLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQy9CLENBQUMsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQzVCLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQztnQkFDbEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDL0IsQ0FBQyxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDcEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUc7UUFDMUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQUk7UUFDRixPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSztRQUNILElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVEOzs7T0FHRztJQUNILFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxlQUFlO1FBQ2IsT0FBTyxJQUFJLENBQUMsS0FBSyxFQUFFLGVBQWUsRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsT0FBTyxDQUFDLElBQVk7UUFDbEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVEOztPQUVHO0lBQ08sVUFBVTtRQUNsQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFDRCxnQ0FBZ0M7SUFDdEIsVUFBVTtRQUNsQixJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUM3QixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUU7Z0JBQ25CLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDO29CQUN4QixTQUFTLEVBQUUsSUFBSTtvQkFDZixJQUFJLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFO29CQUNsQixNQUFNLEVBQUUsTUFBTTtvQkFDZCxpQkFBaUIsRUFBRSxLQUFLO2lCQUN6QixDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELDJCQUEyQjtJQUNqQixhQUFhO1FBQ3JCLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ3BDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTtnQkFDbkIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUM7b0JBQ3hCLFNBQVMsRUFBRSxJQUFJO29CQUNmLElBQUksRUFBRSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUU7b0JBQzFCLE1BQU0sRUFBRSxTQUFTO29CQUNqQixpQkFBaUIsRUFBRSxLQUFLO2lCQUN6QixDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELHNDQUFzQztJQUM1QixZQUFZO1FBQ3BCLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ3BDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTtnQkFDbkIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUM7b0JBQ3hCLFNBQVMsRUFBRSxJQUFJO29CQUNmLElBQUksRUFBRSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUU7b0JBQzVCLE1BQU0sRUFBRSxRQUFRO29CQUNoQixpQkFBaUIsRUFBRSxLQUFLO2lCQUN6QixDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGtEQUFrRDtJQUN4QyxXQUFXO1FBQ25CLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ25DLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTtnQkFDbkIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUM7b0JBQ3hCLFNBQVMsRUFBRSxJQUFJO29CQUNmLElBQUksRUFBRSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUU7b0JBQzVCLE1BQU0sRUFBRSxPQUFPO29CQUNmLGlCQUFpQixFQUFFLEtBQUs7aUJBQ3pCLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsK0RBQStEO0lBQ3JELG9CQUFvQjtRQUM1QixJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxHQUFHLEVBQUU7WUFDcEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO2dCQUNuQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQztvQkFDeEIsU0FBUyxFQUFFLElBQUk7b0JBQ2YsSUFBSSxFQUFFLElBQUk7b0JBQ1YsTUFBTSxFQUFFLGdCQUFnQjtvQkFDeEIsaUJBQWlCLEVBQUUsS0FBSztpQkFDekIsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxvQ0FBb0M7SUFDMUIsVUFBVTtRQUNsQixJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFO1lBQzFCLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTtnQkFDbkIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZHLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsNEJBQTRCO0lBQ2xCLFdBQVc7UUFDbkIsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRTtZQUMzQixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUU7Z0JBQ25CLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUN4RyxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELHNDQUFzQztJQUM1QixZQUFZO1FBQ3BCLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUU7WUFDNUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO2dCQUNuQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQztvQkFDeEIsU0FBUyxFQUFFLElBQUk7b0JBQ2YsSUFBSSxFQUFFLElBQUk7b0JBQ1YsTUFBTSxFQUFFLFFBQVE7b0JBQ2hCLGlCQUFpQixFQUFFLEtBQUs7aUJBQ3pCLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsbUVBQW1FO0lBQ3pELGdCQUFnQjtRQUN4QixJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxXQUFXLEVBQUUsRUFBRTtZQUMzQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUU7Z0JBQ25CLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDO29CQUN4QixTQUFTLEVBQUUsSUFBSTtvQkFDZixJQUFJLEVBQUUsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFO29CQUNsQyxNQUFNLEVBQUUsWUFBWTtvQkFDcEIsaUJBQWlCLEVBQUUsS0FBSztpQkFDekIsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCw0Q0FBNEM7SUFDbEMsYUFBYTtRQUNyQixJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxXQUFXLEVBQUUsRUFBRTtZQUN4QyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUU7Z0JBQ25CLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDO29CQUN4QixTQUFTLEVBQUUsSUFBSTtvQkFDZixJQUFJLEVBQUUsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFO29CQUNsQyxNQUFNLEVBQUUsU0FBUztvQkFDakIsaUJBQWlCLEVBQUUsS0FBSztpQkFDekIsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCw2RUFBNkU7SUFDbkUsaUJBQWlCO1FBQ3pCLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ3hDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTtnQkFDbkIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUM7b0JBQ3hCLFNBQVMsRUFBRSxJQUFJO29CQUNmLElBQUksRUFBRSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUU7b0JBQzFCLE1BQU0sRUFBRSxhQUFhO29CQUNyQixpQkFBaUIsRUFBRSxLQUFLO2lCQUN6QixDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELDJDQUEyQztJQUNqQyxXQUFXO1FBQ25CLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLFNBQVMsRUFBRSxFQUFFO1lBQ3BDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTtnQkFDbkIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUM7b0JBQ3hCLFNBQVMsRUFBRSxJQUFJO29CQUNmLElBQUksRUFBRSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUU7b0JBQzlCLE1BQU0sRUFBRSxPQUFPO29CQUNmLGlCQUFpQixFQUFFLEtBQUs7aUJBQ3pCLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQscUNBQXFDO0lBQzNCLFVBQVU7UUFDbEIsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDbkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO2dCQUNuQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQztvQkFDeEIsU0FBUyxFQUFFLElBQUk7b0JBQ2YsSUFBSSxFQUFFLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRTtvQkFDOUIsTUFBTSxFQUFFLE1BQU07b0JBQ2QsaUJBQWlCLEVBQUUsS0FBSztpQkFDekIsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCw2Q0FBNkM7SUFDbkMsWUFBWTtRQUNwQixJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsRUFBRTtZQUM1RCxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUU7Z0JBQ25CLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDO29CQUN4QixTQUFTLEVBQUUsSUFBSTtvQkFDZixJQUFJLEVBQUUsRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUU7b0JBQzFDLE1BQU0sRUFBRSxRQUFRO29CQUNoQixpQkFBaUIsRUFBRSxLQUFLO2lCQUN6QixDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGtDQUFrQztJQUN4QixVQUFVO1FBQ2xCLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLFdBQVcsRUFBRSxFQUFFO1lBQ3JDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTtnQkFDbkIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUM7b0JBQ3hCLFNBQVMsRUFBRSxJQUFJO29CQUNmLElBQUksRUFBRSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUU7b0JBQ2xDLE1BQU0sRUFBRSxNQUFNO29CQUNkLGlCQUFpQixFQUFFLEtBQUs7aUJBQ3pCLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsNEVBQTRFO0lBQ2xFLGFBQWE7UUFDckIsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRTtZQUM3QixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUU7Z0JBQ25CLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDO29CQUN4QixTQUFTLEVBQUUsSUFBSTtvQkFDZixJQUFJLEVBQUUsSUFBSTtvQkFDVixNQUFNLEVBQUUsU0FBUztvQkFDakIsaUJBQWlCLEVBQUUsS0FBSztpQkFDekIsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCw0RUFBNEU7SUFDbEUsV0FBVztRQUNuQixJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUM1QixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUU7Z0JBQ25CLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUNyRyxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0F2V1Usb0JBQW9CO2tHQUFwQixvQkFBb0IsdVVDN0JqQyxvV0FXQzs7MkZEa0JZLG9CQUFvQjtrQkFOaEMsU0FBUzsrQkFDRSxlQUFlLGlCQUdWLGlCQUFpQixDQUFDLElBQUk7d0RBTVEsR0FBRztzQkFBL0MsU0FBUzt1QkFBQyxHQUFHLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbnB1dFNpZ25hbCxcbiAgTmdab25lLFxuICBQTEFURk9STV9JRCxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgYWZ0ZXJOZXh0UmVuZGVyLFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBvdXRwdXQsXG4gIHNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgV2F2ZVN1cmZlciBmcm9tICd3YXZlc3VyZmVyLmpzJztcbmltcG9ydCB7IEFYQXVkaW9XYXZlQ2hhbmdlRXZlbnQsIEFYV2F2ZUNvbmZpZyB9IGZyb20gJy4vaW50ZXJmYWNlcy9hdWRpby13YXZlLmludGVyZmFjZSc7XG5cbi8qKlxuICogRGlzcGxheXMgYW5kIGludGVyYWN0cyB3aXRoIGF1ZGlvIHdhdmVmb3JtIHZpc3VhbGl6YXRpb24uXG4gKlxuICogQGNhdGVnb3J5IENvbXBvbmVudHNcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtYXVkaW8td2F2ZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9hdWRpby13YXZlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYXVkaW8td2F2ZS5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBBWEF1ZGlvV2F2ZUNvbXBvbmVudCB7XG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgQFZpZXdDaGlsZCgnZCcsIHsgc3RhdGljOiBmYWxzZSB9KSBwcm90ZWN0ZWQgZGl2OiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcblxuICAvKipcbiAgICogQ29uZmlndXJhdGlvbiBzZXR0aW5ncyBmb3IgdGhlIGF1ZGlvIHdhdmUuXG4gICAqL1xuICBjb25maWc6IElucHV0U2lnbmFsPEFYV2F2ZUNvbmZpZz4gPSBpbnB1dDxBWFdhdmVDb25maWc+KCk7XG5cbiAgLyoqXG4gICAqIEVtaXRzIGFuIGV2ZW50IHdoZW4gdGhlIHN0YXR1cyBvZiB0aGUgYXVkaW8gd2F2ZSBjaGFuZ2VzLlxuICAgKlxuICAgKiBAZXZlbnRcbiAgICovXG4gIG9uU3RhdHVzQ2hhbmdlZCA9IG91dHB1dDxBWEF1ZGlvV2F2ZUNoYW5nZUV2ZW50PigpO1xuXG4gIGF1ZGlvU3RhdGUgPSBzaWduYWw8J3BsYXlpbmcnIHwgJ3BhdXNlZCcgfCAnbG9hZGluZycgfCAncmVhZHknIHwgJ2Vycm9yJz4oJ3BhdXNlZCcpO1xuXG4gIGVycm9yTWVzc2FnZSA9IHNpZ25hbCgnJyk7XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcm90ZWN0ZWQgYXVkaW86IFdhdmVTdXJmZXI7XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcml2YXRlIG5nWm9uZSA9IGluamVjdChOZ1pvbmUpO1xuXG4gIHByaXZhdGUgcGxhdGZvcm1JRCA9IGluamVjdChQTEFURk9STV9JRCk7XG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgYWZ0ZXJOZXh0UmVuZGVyKCgpID0+IHtcbiAgICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSUQpKSB7XG4gICAgICAgIGNvbnN0IHByaW1hcnkyMDAgPSBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmJvZHkpLmdldFByb3BlcnR5VmFsdWUoJy0tYXgtY29sb3ItcHJpbWFyeS0yMDAnKTtcbiAgICAgICAgY29uc3QgcHJpbWFyeTcwMCA9IGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuYm9keSkuZ2V0UHJvcGVydHlWYWx1ZSgnLS1heC1jb2xvci1wcmltYXJ5LTcwMCcpO1xuXG4gICAgICAgIHRoaXMuYXVkaW8gPSBXYXZlU3VyZmVyLmNyZWF0ZSh7XG4gICAgICAgICAgY29udGFpbmVyOiB0aGlzLmRpdi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgIHdhdmVDb2xvcjogdGhpcy5jb25maWcoKT8ud2F2ZUNvbG9yIHx8IGByZ2JhKCR7cHJpbWFyeTIwMH0pYCxcbiAgICAgICAgICBwcm9ncmVzc0NvbG9yOiB0aGlzLmNvbmZpZygpPy5wcm9ncmVzc0NvbG9yIHx8IGByZ2JhKCR7cHJpbWFyeTcwMH0pYCxcbiAgICAgICAgICB1cmw6IHRoaXMuY29uZmlnKCk/LnVybCB8fCAnJyxcbiAgICAgICAgICBiYXJXaWR0aDogdGhpcy5jb25maWcoKT8uYmFyV2lkdGggfHwgMixcbiAgICAgICAgICBiYXJSYWRpdXM6IHRoaXMuY29uZmlnKCk/LmJhclJhZGl1cyB8fCAyLFxuICAgICAgICAgIGJhckdhcDogdGhpcy5jb25maWcoKT8uYmFyR2FwIHx8IDIsXG4gICAgICAgICAgaGVpZ2h0OiB0aGlzLmNvbmZpZygpPy5oZWlnaHQgfHwgMzYsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgdGhpcy5sb2FkKCk7XG4gICAgICB0aGlzLmF1ZGlvPy5vbignbG9hZGluZycsICgpID0+IHtcbiAgICAgICAgdGhpcy5hdWRpb1N0YXRlLnNldCgnbG9hZGluZycpO1xuICAgICAgfSk7XG4gICAgICB0aGlzLmF1ZGlvPy5vbigncmVhZHknLCAoKSA9PiB7XG4gICAgICAgIHRoaXMuYXVkaW9TdGF0ZS5zZXQoJ3JlYWR5Jyk7XG4gICAgICB9KTtcbiAgICAgIHRoaXMuYXVkaW8/Lm9uKCdlcnJvcicsIChlKSA9PiB7XG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlLnNldChlPy5tZXNzYWdlKTtcbiAgICAgICAgdGhpcy5hdWRpb1N0YXRlLnNldCgnZXJyb3InKTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy5iaW5kRXZlbnRzKCk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogTG9hZHMgdGhlIGF1ZGlvIGZyb20gdGhlIHNwZWNpZmllZCBVUkwuXG4gICAqXG4gICAqIEBwYXJhbSB1cmwgLSBUaGUgVVJMIG9mIHRoZSBhdWRpbyB0byBsb2FkLiBEZWZhdWx0cyB0byB0aGUgVVJMIGZyb20gdGhlIGNvbmZpZy5cbiAgICovXG4gIGxvYWQodXJsID0gdGhpcy5jb25maWcoKS51cmwpIHtcbiAgICB0aGlzLmF1ZGlvLmxvYWQodXJsKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQbGF5cyB0aGUgYXVkaW8uXG4gICAqXG4gICAqL1xuICBwbGF5KCk6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuYXVkaW8/LnBsYXkoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQYXVzZXMgdGhlIGF1ZGlvLlxuICAgKi9cbiAgcGF1c2UoKTogdm9pZCB7XG4gICAgdGhpcy5hdWRpbz8ucGF1c2UoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZXMgdGhlIGR1cmF0aW9uIG9mIHRoZSBhdWRpby5cbiAgICpcbiAgICovXG4gIGdldER1cmF0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLmF1ZGlvPy5nZXREdXJhdGlvbigpID8/IDA7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmVzIHRoZSBtZWRpYSBlbGVtZW50IG9mIHRoZSBhdWRpby5cbiAgICpcbiAgICovXG4gIGdldE1lZGlhRWxlbWVudCgpIHtcbiAgICByZXR1cm4gdGhpcy5hdWRpbz8uZ2V0TWVkaWFFbGVtZW50KCk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgcGxheWJhY2sgcmF0ZSBvZiB0aGUgYXVkaW8uXG4gICAqXG4gICAqIEBwYXJhbSByYXRlIC0gVGhlIHBsYXliYWNrIHJhdGUgdG8gc2V0LlxuICAgKi9cbiAgc2V0UmF0ZShyYXRlOiBudW1iZXIpIHtcbiAgICB0aGlzLmF1ZGlvLnNldFBsYXliYWNrUmF0ZShyYXRlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJvdGVjdGVkIGJpbmRFdmVudHMoKSB7XG4gICAgdGhpcy5oYW5kbGVMb2FkKCk7XG4gICAgdGhpcy5oYW5kbGVMb2FkaW5nKCk7XG4gICAgdGhpcy5oYW5kbGVEZWNvZGUoKTtcbiAgICB0aGlzLmhhbmRsZVJlYWR5KCk7XG4gICAgdGhpcy5oYW5kbGVSZWRSYXdDb21wbGV0ZSgpO1xuICAgIHRoaXMuaGFuZGxlUGxheSgpO1xuICAgIHRoaXMuaGFuZGxlUGF1c2UoKTtcbiAgICB0aGlzLmhhbmRsZUZpbmlzaCgpO1xuICAgIHRoaXMuaGFuZGxlVGltZVVwZGF0ZSgpO1xuICAgIHRoaXMuaGFuZGxlU2Vla2luZygpO1xuICAgIHRoaXMuaGFuZGxlSW50ZXJhY3Rpb24oKTtcbiAgICB0aGlzLmhhbmRsZUNsaWNrKCk7XG4gICAgdGhpcy5oYW5kbGVEcmFnKCk7XG4gICAgdGhpcy5oYW5kbGVTY3JvbGwoKTtcbiAgICB0aGlzLmhhbmRsZVpvb20oKTtcbiAgICB0aGlzLmhhbmRsZURlc3Ryb3koKTtcbiAgICB0aGlzLmhhbmRsZUVycm9yKCk7XG4gIH1cbiAgLyoqIFdoZW4gYXVkaW8gc3RhcnRzIGxvYWRpbmcgKi9cbiAgcHJvdGVjdGVkIGhhbmRsZUxvYWQoKSB7XG4gICAgdGhpcy5hdWRpbz8ub24oJ2xvYWQnLCAodXJsKSA9PiB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICB0aGlzLm9uU3RhdHVzQ2hhbmdlZC5lbWl0KHtcbiAgICAgICAgICBjb21wb25lbnQ6IHRoaXMsXG4gICAgICAgICAgZGF0YTogeyB1cmw6IHVybCB9LFxuICAgICAgICAgIHN0YXR1czogJ2xvYWQnLFxuICAgICAgICAgIGlzVXNlckludGVyYWN0aW9uOiBmYWxzZSxcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBEdXJpbmcgYXVkaW8gbG9hZGluZyAqL1xuICBwcm90ZWN0ZWQgaGFuZGxlTG9hZGluZygpIHtcbiAgICB0aGlzLmF1ZGlvPy5vbignbG9hZGluZycsIChwZXJjZW50KSA9PiB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICB0aGlzLm9uU3RhdHVzQ2hhbmdlZC5lbWl0KHtcbiAgICAgICAgICBjb21wb25lbnQ6IHRoaXMsXG4gICAgICAgICAgZGF0YTogeyBwZXJjZW50OiBwZXJjZW50IH0sXG4gICAgICAgICAgc3RhdHVzOiAnbG9hZGluZycsXG4gICAgICAgICAgaXNVc2VySW50ZXJhY3Rpb246IGZhbHNlLFxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqIFdoZW4gdGhlIGF1ZGlvIGhhcyBiZWVuIGRlY29kZWQgKi9cbiAgcHJvdGVjdGVkIGhhbmRsZURlY29kZSgpIHtcbiAgICB0aGlzLmF1ZGlvPy5vbignZGVjb2RlJywgKGR1cmF0aW9uKSA9PiB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICB0aGlzLm9uU3RhdHVzQ2hhbmdlZC5lbWl0KHtcbiAgICAgICAgICBjb21wb25lbnQ6IHRoaXMsXG4gICAgICAgICAgZGF0YTogeyBkdXJhdGlvbjogZHVyYXRpb24gfSxcbiAgICAgICAgICBzdGF0dXM6ICdkZWNvZGUnLFxuICAgICAgICAgIGlzVXNlckludGVyYWN0aW9uOiBmYWxzZSxcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBXaGVuIHRoZSBhdWRpbyBpcyBib3RoIGRlY29kZWQgYW5kIGNhbiBwbGF5ICovXG4gIHByb3RlY3RlZCBoYW5kbGVSZWFkeSgpIHtcbiAgICB0aGlzLmF1ZGlvPy5vbigncmVhZHknLCAoZHVyYXRpb24pID0+IHtcbiAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgIHRoaXMub25TdGF0dXNDaGFuZ2VkLmVtaXQoe1xuICAgICAgICAgIGNvbXBvbmVudDogdGhpcyxcbiAgICAgICAgICBkYXRhOiB7IGR1cmF0aW9uOiBkdXJhdGlvbiB9LFxuICAgICAgICAgIHN0YXR1czogJ3JlYWR5JyxcbiAgICAgICAgICBpc1VzZXJJbnRlcmFjdGlvbjogZmFsc2UsXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvKiogV2hlbiBhbGwgYXVkaW8gY2hhbm5lbCBjaHVua3Mgb2YgdGhlIHdhdmVmb3JtIGhhdmUgZHJhd24gKi9cbiAgcHJvdGVjdGVkIGhhbmRsZVJlZFJhd0NvbXBsZXRlKCkge1xuICAgIHRoaXMuYXVkaW8/Lm9uKCdyZWRyYXdjb21wbGV0ZScsICgpID0+IHtcbiAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgIHRoaXMub25TdGF0dXNDaGFuZ2VkLmVtaXQoe1xuICAgICAgICAgIGNvbXBvbmVudDogdGhpcyxcbiAgICAgICAgICBkYXRhOiBudWxsLFxuICAgICAgICAgIHN0YXR1czogJ3JlZHJhd2NvbXBsZXRlJyxcbiAgICAgICAgICBpc1VzZXJJbnRlcmFjdGlvbjogZmFsc2UsXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvKiogV2hlbiB0aGUgYXVkaW8gc3RhcnRzIHBsYXlpbmcgKi9cbiAgcHJvdGVjdGVkIGhhbmRsZVBsYXkoKSB7XG4gICAgdGhpcy5hdWRpbz8ub24oJ3BsYXknLCAoKSA9PiB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICB0aGlzLm9uU3RhdHVzQ2hhbmdlZC5lbWl0KHsgY29tcG9uZW50OiB0aGlzLCBkYXRhOiBudWxsLCBzdGF0dXM6ICdwbGF5JywgaXNVc2VySW50ZXJhY3Rpb246IGZhbHNlIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvKiogV2hlbiB0aGUgYXVkaW8gcGF1c2VzICovXG4gIHByb3RlY3RlZCBoYW5kbGVQYXVzZSgpIHtcbiAgICB0aGlzLmF1ZGlvPy5vbigncGF1c2UnLCAoKSA9PiB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICB0aGlzLm9uU3RhdHVzQ2hhbmdlZC5lbWl0KHsgY29tcG9uZW50OiB0aGlzLCBkYXRhOiBudWxsLCBzdGF0dXM6ICdwYXVzZScsIGlzVXNlckludGVyYWN0aW9uOiBmYWxzZSB9KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqIFdoZW4gdGhlIGF1ZGlvIGZpbmlzaGVzIHBsYXlpbmcgKi9cbiAgcHJvdGVjdGVkIGhhbmRsZUZpbmlzaCgpIHtcbiAgICB0aGlzLmF1ZGlvPy5vbignZmluaXNoJywgKCkgPT4ge1xuICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgdGhpcy5vblN0YXR1c0NoYW5nZWQuZW1pdCh7XG4gICAgICAgICAgY29tcG9uZW50OiB0aGlzLFxuICAgICAgICAgIGRhdGE6IG51bGwsXG4gICAgICAgICAgc3RhdHVzOiAnZmluaXNoJyxcbiAgICAgICAgICBpc1VzZXJJbnRlcmFjdGlvbjogZmFsc2UsXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvKiogT24gYXVkaW8gcG9zaXRpb24gY2hhbmdlLCBmaXJlcyBjb250aW51b3VzbHkgZHVyaW5nIHBsYXliYWNrICovXG4gIHByb3RlY3RlZCBoYW5kbGVUaW1lVXBkYXRlKCkge1xuICAgIHRoaXMuYXVkaW8/Lm9uKCd0aW1ldXBkYXRlJywgKGN1cnJlbnRUaW1lKSA9PiB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICB0aGlzLm9uU3RhdHVzQ2hhbmdlZC5lbWl0KHtcbiAgICAgICAgICBjb21wb25lbnQ6IHRoaXMsXG4gICAgICAgICAgZGF0YTogeyBjdXJyZW50VGltZTogY3VycmVudFRpbWUgfSxcbiAgICAgICAgICBzdGF0dXM6ICd0aW1ldXBkYXRlJyxcbiAgICAgICAgICBpc1VzZXJJbnRlcmFjdGlvbjogZmFsc2UsXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvKiogV2hlbiB0aGUgdXNlciBzZWVrcyB0byBhIG5ldyBwb3NpdGlvbiAqL1xuICBwcm90ZWN0ZWQgaGFuZGxlU2Vla2luZygpIHtcbiAgICB0aGlzLmF1ZGlvPy5vbignc2Vla2luZycsIChjdXJyZW50VGltZSkgPT4ge1xuICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgdGhpcy5vblN0YXR1c0NoYW5nZWQuZW1pdCh7XG4gICAgICAgICAgY29tcG9uZW50OiB0aGlzLFxuICAgICAgICAgIGRhdGE6IHsgY3VycmVudFRpbWU6IGN1cnJlbnRUaW1lIH0sXG4gICAgICAgICAgc3RhdHVzOiAnc2Vla2luZycsXG4gICAgICAgICAgaXNVc2VySW50ZXJhY3Rpb246IGZhbHNlLFxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqIFdoZW4gdGhlIHVzZXIgaW50ZXJhY3RzIHdpdGggdGhlIHdhdmVmb3JtIChpLmcuIGNsaWNrcyBvciBkcmFncyBvbiBpdCkgKi9cbiAgcHJvdGVjdGVkIGhhbmRsZUludGVyYWN0aW9uKCkge1xuICAgIHRoaXMuYXVkaW8/Lm9uKCdpbnRlcmFjdGlvbicsIChuZXdUaW1lKSA9PiB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICB0aGlzLm9uU3RhdHVzQ2hhbmdlZC5lbWl0KHtcbiAgICAgICAgICBjb21wb25lbnQ6IHRoaXMsXG4gICAgICAgICAgZGF0YTogeyBuZXdUaW1lOiBuZXdUaW1lIH0sXG4gICAgICAgICAgc3RhdHVzOiAnaW50ZXJhY3Rpb24nLFxuICAgICAgICAgIGlzVXNlckludGVyYWN0aW9uOiBmYWxzZSxcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBXaGVuIHRoZSB1c2VyIGNsaWNrcyBvbiB0aGUgd2F2ZWZvcm0gKi9cbiAgcHJvdGVjdGVkIGhhbmRsZUNsaWNrKCkge1xuICAgIHRoaXMuYXVkaW8/Lm9uKCdjbGljaycsIChyZWxhdGl2ZVgpID0+IHtcbiAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgIHRoaXMub25TdGF0dXNDaGFuZ2VkLmVtaXQoe1xuICAgICAgICAgIGNvbXBvbmVudDogdGhpcyxcbiAgICAgICAgICBkYXRhOiB7IHJlbGF0aXZlWDogcmVsYXRpdmVYIH0sXG4gICAgICAgICAgc3RhdHVzOiAnY2xpY2snLFxuICAgICAgICAgIGlzVXNlckludGVyYWN0aW9uOiBmYWxzZSxcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBXaGVuIHRoZSB1c2VyIGRyYWdzIHRoZSBjdXJzb3IgKi9cbiAgcHJvdGVjdGVkIGhhbmRsZURyYWcoKSB7XG4gICAgdGhpcy5hdWRpbz8ub24oJ2RyYWcnLCAocmVsYXRpdmVYKSA9PiB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICB0aGlzLm9uU3RhdHVzQ2hhbmdlZC5lbWl0KHtcbiAgICAgICAgICBjb21wb25lbnQ6IHRoaXMsXG4gICAgICAgICAgZGF0YTogeyByZWxhdGl2ZVg6IHJlbGF0aXZlWCB9LFxuICAgICAgICAgIHN0YXR1czogJ2RyYWcnLFxuICAgICAgICAgIGlzVXNlckludGVyYWN0aW9uOiBmYWxzZSxcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBXaGVuIHRoZSB3YXZlZm9ybSBpcyBzY3JvbGxlZCAocGFubmVkKSAqL1xuICBwcm90ZWN0ZWQgaGFuZGxlU2Nyb2xsKCkge1xuICAgIHRoaXMuYXVkaW8/Lm9uKCdzY3JvbGwnLCAodmlzaWJsZVN0YXJ0VGltZSwgdmlzaWJsZUVuZFRpbWUpID0+IHtcbiAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgIHRoaXMub25TdGF0dXNDaGFuZ2VkLmVtaXQoe1xuICAgICAgICAgIGNvbXBvbmVudDogdGhpcyxcbiAgICAgICAgICBkYXRhOiB7IHZpc2libGVTdGFydFRpbWUsIHZpc2libGVFbmRUaW1lIH0sXG4gICAgICAgICAgc3RhdHVzOiAnc2Nyb2xsJyxcbiAgICAgICAgICBpc1VzZXJJbnRlcmFjdGlvbjogZmFsc2UsXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvKiogV2hlbiB0aGUgem9vbSBsZXZlbCBjaGFuZ2VzICovXG4gIHByb3RlY3RlZCBoYW5kbGVab29tKCkge1xuICAgIHRoaXMuYXVkaW8/Lm9uKCd6b29tJywgKG1pblB4UGVyU2VjKSA9PiB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICB0aGlzLm9uU3RhdHVzQ2hhbmdlZC5lbWl0KHtcbiAgICAgICAgICBjb21wb25lbnQ6IHRoaXMsXG4gICAgICAgICAgZGF0YTogeyBtaW5QeFBlclNlYzogbWluUHhQZXJTZWMgfSxcbiAgICAgICAgICBzdGF0dXM6ICd6b29tJyxcbiAgICAgICAgICBpc1VzZXJJbnRlcmFjdGlvbjogZmFsc2UsXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvKiogSnVzdCBiZWZvcmUgdGhlIHdhdmVmb3JtIGlzIGRlc3Ryb3llZCBzbyB5b3UgY2FuIGNsZWFuIHVwIHlvdXIgZXZlbnRzICovXG4gIHByb3RlY3RlZCBoYW5kbGVEZXN0cm95KCkge1xuICAgIHRoaXMuYXVkaW8/Lm9uKCdkZXN0cm95JywgKCkgPT4ge1xuICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgdGhpcy5vblN0YXR1c0NoYW5nZWQuZW1pdCh7XG4gICAgICAgICAgY29tcG9uZW50OiB0aGlzLFxuICAgICAgICAgIGRhdGE6IG51bGwsXG4gICAgICAgICAgc3RhdHVzOiAnZGVzdHJveScsXG4gICAgICAgICAgaXNVc2VySW50ZXJhY3Rpb246IGZhbHNlLFxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG4gIC8qKiBKdXN0IGJlZm9yZSB0aGUgd2F2ZWZvcm0gaXMgZGVzdHJveWVkIHNvIHlvdSBjYW4gY2xlYW4gdXAgeW91ciBldmVudHMgKi9cbiAgcHJvdGVjdGVkIGhhbmRsZUVycm9yKCkge1xuICAgIHRoaXMuYXVkaW8/Lm9uKCdlcnJvcicsIChlKSA9PiB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICB0aGlzLm9uU3RhdHVzQ2hhbmdlZC5lbWl0KHsgY29tcG9uZW50OiB0aGlzLCBkYXRhOiBlLCBzdGF0dXM6ICdlcnJvcicsIGlzVXNlckludGVyYWN0aW9uOiBmYWxzZSB9KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYXgtYXVkaW8td2F2ZVwiICNkIFtuZ1N0eWxlXT1cInsnZGlzcGxheSc6IGF1ZGlvU3RhdGUoKSA9PT0gJ3JlYWR5JyA/ICdibG9jaycgOiAnbm9uZScgfVwiPjwvZGl2PlxuXG5Ac3dpdGNoIChhdWRpb1N0YXRlKCkpIHtcbkBjYXNlICgnbG9hZGluZycpIHtcbjxkaXYgY2xhc3M9XCJheC1hdWRpby1za2VsZXRvblwiPjwvZGl2PlxufVxuQGNhc2UgKCdlcnJvcicpIHtcbjxkaXYgY2xhc3M9XCJheC13YXZlLW1lc3NhZ2VcIj5cbiAgICB7eydlcnJvci5tZXNzYWdlJyB8IHRyYW5zbGF0ZTp7IHBhcmFtczp7IG1lc3NhZ2U6IGVycm9yTWVzc2FnZSgpIH0gfSB8IGFzeW5jIH19XG48L2Rpdj5cbn1cbn0iXX0=
|
347
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaW8td2F2ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvYXVkaW8td2F2ZS9zcmMvbGliL2F1ZGlvLXdhdmUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2F1ZGlvLXdhdmUvc3JjL2xpYi9hdWRpby13YXZlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUVWLE1BQU0sRUFFTixXQUFXLEVBQ1gsU0FBUyxFQUNULGlCQUFpQixFQUNqQixlQUFlLEVBQ2YsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04sTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sVUFBVSxNQUFNLGVBQWUsQ0FBQzs7OztBQUd2Qzs7OztHQUlHO0FBT0gsTUFBTSxPQUFPLG9CQUFvQjtJQWlDL0I7O09BRUc7SUFDSDtRQTlCQTs7V0FFRztRQUNILFdBQU0sR0FBOEIsS0FBSyxFQUFnQixDQUFDO1FBRTFEOzs7O1dBSUc7UUFDSCxvQkFBZSxHQUFHLE1BQU0sRUFBMEIsQ0FBQztRQUVuRCxlQUFVLEdBQUcsTUFBTSxDQUF1RCxRQUFRLENBQUMsQ0FBQztRQUVwRixpQkFBWSxHQUFHLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQU8xQjs7V0FFRztRQUNLLFdBQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFeEIsZUFBVSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUt2QyxlQUFlLENBQUMsR0FBRyxFQUFFO1lBQ25CLElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7Z0JBQ3ZDLE1BQU0sVUFBVSxHQUFH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LENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3ZCLENBQUM7OEdBM1dVLG9CQUFvQjtrR0FBcEIsb0JBQW9CLHVVQzlCakMsb1dBV0M7OzJGRG1CWSxvQkFBb0I7a0JBTmhDLFNBQVM7K0JBQ0UsZUFBZSxpQkFHVixpQkFBaUIsQ0FBQyxJQUFJO3dEQU1RLEdBQUc7c0JBQS9DLFNBQVM7dUJBQUMsR0FBRyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSW5wdXRTaWduYWwsXG4gIE5nWm9uZSxcbiAgT25EZXN0cm95LFxuICBQTEFURk9STV9JRCxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgYWZ0ZXJOZXh0UmVuZGVyLFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBvdXRwdXQsXG4gIHNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgV2F2ZVN1cmZlciBmcm9tICd3YXZlc3VyZmVyLmpzJztcbmltcG9ydCB7IEFYQXVkaW9XYXZlQ2hhbmdlRXZlbnQsIEFYV2F2ZUNvbmZpZyB9IGZyb20gJy4vaW50ZXJmYWNlcy9hdWRpby13YXZlLmludGVyZmFjZSc7XG5cbi8qKlxuICogRGlzcGxheXMgYW5kIGludGVyYWN0cyB3aXRoIGF1ZGlvIHdhdmVmb3JtIHZpc3VhbGl6YXRpb24uXG4gKlxuICogQGNhdGVnb3J5IENvbXBvbmVudHNcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtYXVkaW8td2F2ZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9hdWRpby13YXZlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYXVkaW8td2F2ZS5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBBWEF1ZGlvV2F2ZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgQFZpZXdDaGlsZCgnZCcsIHsgc3RhdGljOiBmYWxzZSB9KSBwcm90ZWN0ZWQgZGl2OiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcblxuICAvKipcbiAgICogQ29uZmlndXJhdGlvbiBzZXR0aW5ncyBmb3IgdGhlIGF1ZGlvIHdhdmUuXG4gICAqL1xuICBjb25maWc6IElucHV0U2lnbmFsPEFYV2F2ZUNvbmZpZz4gPSBpbnB1dDxBWFdhdmVDb25maWc+KCk7XG5cbiAgLyoqXG4gICAqIEVtaXRzIGFuIGV2ZW50IHdoZW4gdGhlIHN0YXR1cyBvZiB0aGUgYXVkaW8gd2F2ZSBjaGFuZ2VzLlxuICAgKlxuICAgKiBAZXZlbnRcbiAgICovXG4gIG9uU3RhdHVzQ2hhbmdlZCA9IG91dHB1dDxBWEF1ZGlvV2F2ZUNoYW5nZUV2ZW50PigpO1xuXG4gIGF1ZGlvU3RhdGUgPSBzaWduYWw8J3BsYXlpbmcnIHwgJ3BhdXNlZCcgfCAnbG9hZGluZycgfCAncmVhZHknIHwgJ2Vycm9yJz4oJ3BhdXNlZCcpO1xuXG4gIGVycm9yTWVzc2FnZSA9IHNpZ25hbCgnJyk7XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcm90ZWN0ZWQgYXVkaW86IFdhdmVTdXJmZXI7XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBwcml2YXRlIG5nWm9uZSA9IGluamVjdChOZ1pvbmUpO1xuXG4gIHByaXZhdGUgcGxhdGZvcm1JRCA9IGluamVjdChQTEFURk9STV9JRCk7XG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgYWZ0ZXJOZXh0UmVuZGVyKCgpID0+IHtcbiAgICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSUQpKSB7XG4gICAgICAgIGNvbnN0IHByaW1hcnkyMDAgPSBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmJvZHkpLmdldFByb3BlcnR5VmFsdWUoJy0tYXgtY29sb3ItcHJpbWFyeS0yMDAnKTtcbiAgICAgICAgY29uc3QgcHJpbWFyeTcwMCA9IGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuYm9keSkuZ2V0UHJvcGVydHlWYWx1ZSgnLS1heC1jb2xvci1wcmltYXJ5LTcwMCcpO1xuXG4gICAgICAgIHRoaXMuYXVkaW8gPSBXYXZlU3VyZmVyLmNyZWF0ZSh7XG4gICAgICAgICAgY29udGFpbmVyOiB0aGlzLmRpdi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgIHdhdmVDb2xvcjogdGhpcy5jb25maWcoKT8ud2F2ZUNvbG9yIHx8IGByZ2JhKCR7cHJpbWFyeTIwMH0pYCxcbiAgICAgICAgICBwcm9ncmVzc0NvbG9yOiB0aGlzLmNvbmZpZygpPy5wcm9ncmVzc0NvbG9yIHx8IGByZ2JhKCR7cHJpbWFyeTcwMH0pYCxcbiAgICAgICAgICB1cmw6IHRoaXMuY29uZmlnKCk/LnVybCB8fCAnJyxcbiAgICAgICAgICBiYXJXaWR0aDogdGhpcy5jb25maWcoKT8uYmFyV2lkdGggfHwgMixcbiAgICAgICAgICBiYXJSYWRpdXM6IHRoaXMuY29uZmlnKCk/LmJhclJhZGl1cyB8fCAyLFxuICAgICAgICAgIGJhckdhcDogdGhpcy5jb25maWcoKT8uYmFyR2FwIHx8IDIsXG4gICAgICAgICAgaGVpZ2h0OiB0aGlzLmNvbmZpZygpPy5oZWlnaHQgfHwgMzYsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgdGhpcy5sb2FkKCk7XG4gICAgICB0aGlzLmF1ZGlvPy5vbignbG9hZGluZycsICgpID0+IHtcbiAgICAgICAgdGhpcy5hdWRpb1N0YXRlLnNldCgnbG9hZGluZycpO1xuICAgICAgfSk7XG4gICAgICB0aGlzLmF1ZGlvPy5vbigncmVhZHknLCAoKSA9PiB7XG4gICAgICAgIHRoaXMuYXVkaW9TdGF0ZS5zZXQoJ3JlYWR5Jyk7XG4gICAgICB9KTtcbiAgICAgIHRoaXMuYXVkaW8/Lm9uKCdlcnJvcicsIChlKSA9PiB7XG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlLnNldChlPy5tZXNzYWdlKTtcbiAgICAgICAgdGhpcy5hdWRpb1N0YXRlLnNldCgnZXJyb3InKTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy5iaW5kRXZlbnRzKCk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogTG9hZHMgdGhlIGF1ZGlvIGZyb20gdGhlIHNwZWNpZmllZCBVUkwuXG4gICAqXG4gICAqIEBwYXJhbSB1cmwgLSBUaGUgVVJMIG9mIHRoZSBhdWRpbyB0byBsb2FkLiBEZWZhdWx0cyB0byB0aGUgVVJMIGZyb20gdGhlIGNvbmZpZy5cbiAgICovXG4gIGxvYWQodXJsID0gdGhpcy5jb25maWcoKS51cmwpIHtcbiAgICB0aGlzLmF1ZGlvLmxvYWQodXJsKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQbGF5cyB0aGUgYXVkaW8uXG4gICAqXG4gICAqL1xuICBwbGF5KCk6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuYXVkaW8/LnBsYXkoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQYXVzZXMgdGhlIGF1ZGlvLlxuICAgKi9cbiAgcGF1c2UoKTogdm9pZCB7XG4gICAgdGhpcy5hdWRpbz8ucGF1c2UoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZXMgdGhlIGR1cmF0aW9uIG9mIHRoZSBhdWRpby5cbiAgICpcbiAgICovXG4gIGdldER1cmF0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLmF1ZGlvPy5nZXREdXJhdGlvbigpID8/IDA7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmVzIHRoZSBtZWRpYSBlbGVtZW50IG9mIHRoZSBhdWRpby5cbiAgICpcbiAgICovXG4gIGdldE1lZGlhRWxlbWVudCgpIHtcbiAgICByZXR1cm4gdGhpcy5hdWRpbz8uZ2V0TWVkaWFFbGVtZW50KCk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgcGxheWJhY2sgcmF0ZSBvZiB0aGUgYXVkaW8uXG4gICAqXG4gICAqIEBwYXJhbSByYXRlIC0gVGhlIHBsYXliYWNrIHJhdGUgdG8gc2V0LlxuICAgKi9cbiAgc2V0UmF0ZShyYXRlOiBudW1iZXIpIHtcbiAgICB0aGlzLmF1ZGlvLnNldFBsYXliYWNrUmF0ZShyYXRlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgcHJvdGVjdGVkIGJpbmRFdmVudHMoKSB7XG4gICAgdGhpcy5oYW5kbGVMb2FkKCk7XG4gICAgdGhpcy5oYW5kbGVMb2FkaW5nKCk7XG4gICAgdGhpcy5oYW5kbGVEZWNvZGUoKTtcbiAgICB0aGlzLmhhbmRsZVJlYWR5KCk7XG4gICAgdGhpcy5oYW5kbGVSZWRSYXdDb21wbGV0ZSgpO1xuICAgIHRoaXMuaGFuZGxlUGxheSgpO1xuICAgIHRoaXMuaGFuZGxlUGF1c2UoKTtcbiAgICB0aGlzLmhhbmRsZUZpbmlzaCgpO1xuICAgIHRoaXMuaGFuZGxlVGltZVVwZGF0ZSgpO1xuICAgIHRoaXMuaGFuZGxlU2Vla2luZygpO1xuICAgIHRoaXMuaGFuZGxlSW50ZXJhY3Rpb24oKTtcbiAgICB0aGlzLmhhbmRsZUNsaWNrKCk7XG4gICAgdGhpcy5oYW5kbGVEcmFnKCk7XG4gICAgdGhpcy5oYW5kbGVTY3JvbGwoKTtcbiAgICB0aGlzLmhhbmRsZVpvb20oKTtcbiAgICB0aGlzLmhhbmRsZURlc3Ryb3koKTtcbiAgICB0aGlzLmhhbmRsZUVycm9yKCk7XG4gIH1cbiAgLyoqIFdoZW4gYXVkaW8gc3RhcnRzIGxvYWRpbmcgKi9cbiAgcHJvdGVjdGVkIGhhbmRsZUxvYWQoKSB7XG4gICAgdGhpcy5hdWRpbz8ub24oJ2xvYWQnLCAodXJsKSA9PiB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICB0aGlzLm9uU3RhdHVzQ2hhbmdlZC5lbWl0KHtcbiAgICAgICAgICBjb21wb25lbnQ6IHRoaXMsXG4gICAgICAgICAgZGF0YTogeyB1cmw6IHVybCB9LFxuICAgICAgICAgIHN0YXR1czogJ2xvYWQnLFxuICAgICAgICAgIGlzVXNlckludGVyYWN0aW9uOiBmYWxzZSxcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBEdXJpbmcgYXVkaW8gbG9hZGluZyAqL1xuICBwcm90ZWN0ZWQgaGFuZGxlTG9hZGluZygpIHtcbiAgICB0aGlzLmF1ZGlvPy5vbignbG9hZGluZycsIChwZXJjZW50KSA9PiB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICB0aGlzLm9uU3RhdHVzQ2hhbmdlZC5lbWl0KHtcbiAgICAgICAgICBjb21wb25lbnQ6IHRoaXMsXG4gICAgICAgICAgZGF0YTogeyBwZXJjZW50OiBwZXJjZW50IH0sXG4gICAgICAgICAgc3RhdHVzOiAnbG9hZGluZycsXG4gICAgICAgICAgaXNVc2VySW50ZXJhY3Rpb246IGZhbHNlLFxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqIFdoZW4gdGhlIGF1ZGlvIGhhcyBiZWVuIGRlY29kZWQgKi9cbiAgcHJvdGVjdGVkIGhhbmRsZURlY29kZSgpIHtcbiAgICB0aGlzLmF1ZGlvPy5vbignZGVjb2RlJywgKGR1cmF0aW9uKSA9PiB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICB0aGlzLm9uU3RhdHVzQ2hhbmdlZC5lbWl0KHtcbiAgICAgICAgICBjb21wb25lbnQ6IHRoaXMsXG4gICAgICAgICAgZGF0YTogeyBkdXJhdGlvbjogZHVyYXRpb24gfSxcbiAgICAgICAgICBzdGF0dXM6ICdkZWNvZGUnLFxuICAgICAgICAgIGlzVXNlckludGVyYWN0aW9uOiBmYWxzZSxcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBXaGVuIHRoZSBhdWRpbyBpcyBib3RoIGRlY29kZWQgYW5kIGNhbiBwbGF5ICovXG4gIHByb3RlY3RlZCBoYW5kbGVSZWFkeSgpIHtcbiAgICB0aGlzLmF1ZGlvPy5vbigncmVhZHknLCAoZHVyYXRpb24pID0+IHtcbiAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgIHRoaXMub25TdGF0dXNDaGFuZ2VkLmVtaXQoe1xuICAgICAgICAgIGNvbXBvbmVudDogdGhpcyxcbiAgICAgICAgICBkYXRhOiB7IGR1cmF0aW9uOiBkdXJhdGlvbiB9LFxuICAgICAgICAgIHN0YXR1czogJ3JlYWR5JyxcbiAgICAgICAgICBpc1VzZXJJbnRlcmFjdGlvbjogZmFsc2UsXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvKiogV2hlbiBhbGwgYXVkaW8gY2hhbm5lbCBjaHVua3Mgb2YgdGhlIHdhdmVmb3JtIGhhdmUgZHJhd24gKi9cbiAgcHJvdGVjdGVkIGhhbmRsZVJlZFJhd0NvbXBsZXRlKCkge1xuICAgIHRoaXMuYXVkaW8/Lm9uKCdyZWRyYXdjb21wbGV0ZScsICgpID0+IHtcbiAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgIHRoaXMub25TdGF0dXNDaGFuZ2VkLmVtaXQoe1xuICAgICAgICAgIGNvbXBvbmVudDogdGhpcyxcbiAgICAgICAgICBkYXRhOiBudWxsLFxuICAgICAgICAgIHN0YXR1czogJ3JlZHJhd2NvbXBsZXRlJyxcbiAgICAgICAgICBpc1VzZXJJbnRlcmFjdGlvbjogZmFsc2UsXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvKiogV2hlbiB0aGUgYXVkaW8gc3RhcnRzIHBsYXlpbmcgKi9cbiAgcHJvdGVjdGVkIGhhbmRsZVBsYXkoKSB7XG4gICAgdGhpcy5hdWRpbz8ub24oJ3BsYXknLCAoKSA9PiB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICB0aGlzLm9uU3RhdHVzQ2hhbmdlZC5lbWl0KHsgY29tcG9uZW50OiB0aGlzLCBkYXRhOiBudWxsLCBzdGF0dXM6ICdwbGF5JywgaXNVc2VySW50ZXJhY3Rpb246IGZhbHNlIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvKiogV2hlbiB0aGUgYXVkaW8gcGF1c2VzICovXG4gIHByb3RlY3RlZCBoYW5kbGVQYXVzZSgpIHtcbiAgICB0aGlzLmF1ZGlvPy5vbigncGF1c2UnLCAoKSA9PiB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICB0aGlzLm9uU3RhdHVzQ2hhbmdlZC5lbWl0KHsgY29tcG9uZW50OiB0aGlzLCBkYXRhOiBudWxsLCBzdGF0dXM6ICdwYXVzZScsIGlzVXNlckludGVyYWN0aW9uOiBmYWxzZSB9KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqIFdoZW4gdGhlIGF1ZGlvIGZpbmlzaGVzIHBsYXlpbmcgKi9cbiAgcHJvdGVjdGVkIGhhbmRsZUZpbmlzaCgpIHtcbiAgICB0aGlzLmF1ZGlvPy5vbignZmluaXNoJywgKCkgPT4ge1xuICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgdGhpcy5vblN0YXR1c0NoYW5nZWQuZW1pdCh7XG4gICAgICAgICAgY29tcG9uZW50OiB0aGlzLFxuICAgICAgICAgIGRhdGE6IG51bGwsXG4gICAgICAgICAgc3RhdHVzOiAnZmluaXNoJyxcbiAgICAgICAgICBpc1VzZXJJbnRlcmFjdGlvbjogZmFsc2UsXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvKiogT24gYXVkaW8gcG9zaXRpb24gY2hhbmdlLCBmaXJlcyBjb250aW51b3VzbHkgZHVyaW5nIHBsYXliYWNrICovXG4gIHByb3RlY3RlZCBoYW5kbGVUaW1lVXBkYXRlKCkge1xuICAgIHRoaXMuYXVkaW8/Lm9uKCd0aW1ldXBkYXRlJywgKGN1cnJlbnRUaW1lKSA9PiB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICB0aGlzLm9uU3RhdHVzQ2hhbmdlZC5lbWl0KHtcbiAgICAgICAgICBjb21wb25lbnQ6IHRoaXMsXG4gICAgICAgICAgZGF0YTogeyBjdXJyZW50VGltZTogY3VycmVudFRpbWUgfSxcbiAgICAgICAgICBzdGF0dXM6ICd0aW1ldXBkYXRlJyxcbiAgICAgICAgICBpc1VzZXJJbnRlcmFjdGlvbjogZmFsc2UsXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvKiogV2hlbiB0aGUgdXNlciBzZWVrcyB0byBhIG5ldyBwb3NpdGlvbiAqL1xuICBwcm90ZWN0ZWQgaGFuZGxlU2Vla2luZygpIHtcbiAgICB0aGlzLmF1ZGlvPy5vbignc2Vla2luZycsIChjdXJyZW50VGltZSkgPT4ge1xuICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgdGhpcy5vblN0YXR1c0NoYW5nZWQuZW1pdCh7XG4gICAgICAgICAgY29tcG9uZW50OiB0aGlzLFxuICAgICAgICAgIGRhdGE6IHsgY3VycmVudFRpbWU6IGN1cnJlbnRUaW1lIH0sXG4gICAgICAgICAgc3RhdHVzOiAnc2Vla2luZycsXG4gICAgICAgICAgaXNVc2VySW50ZXJhY3Rpb246IGZhbHNlLFxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqIFdoZW4gdGhlIHVzZXIgaW50ZXJhY3RzIHdpdGggdGhlIHdhdmVmb3JtIChpLmcuIGNsaWNrcyBvciBkcmFncyBvbiBpdCkgKi9cbiAgcHJvdGVjdGVkIGhhbmRsZUludGVyYWN0aW9uKCkge1xuICAgIHRoaXMuYXVkaW8/Lm9uKCdpbnRlcmFjdGlvbicsIChuZXdUaW1lKSA9PiB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICB0aGlzLm9uU3RhdHVzQ2hhbmdlZC5lbWl0KHtcbiAgICAgICAgICBjb21wb25lbnQ6IHRoaXMsXG4gICAgICAgICAgZGF0YTogeyBuZXdUaW1lOiBuZXdUaW1lIH0sXG4gICAgICAgICAgc3RhdHVzOiAnaW50ZXJhY3Rpb24nLFxuICAgICAgICAgIGlzVXNlckludGVyYWN0aW9uOiBmYWxzZSxcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBXaGVuIHRoZSB1c2VyIGNsaWNrcyBvbiB0aGUgd2F2ZWZvcm0gKi9cbiAgcHJvdGVjdGVkIGhhbmRsZUNsaWNrKCkge1xuICAgIHRoaXMuYXVkaW8/Lm9uKCdjbGljaycsIChyZWxhdGl2ZVgpID0+IHtcbiAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgIHRoaXMub25TdGF0dXNDaGFuZ2VkLmVtaXQoe1xuICAgICAgICAgIGNvbXBvbmVudDogdGhpcyxcbiAgICAgICAgICBkYXRhOiB7IHJlbGF0aXZlWDogcmVsYXRpdmVYIH0sXG4gICAgICAgICAgc3RhdHVzOiAnY2xpY2snLFxuICAgICAgICAgIGlzVXNlckludGVyYWN0aW9uOiBmYWxzZSxcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBXaGVuIHRoZSB1c2VyIGRyYWdzIHRoZSBjdXJzb3IgKi9cbiAgcHJvdGVjdGVkIGhhbmRsZURyYWcoKSB7XG4gICAgdGhpcy5hdWRpbz8ub24oJ2RyYWcnLCAocmVsYXRpdmVYKSA9PiB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICB0aGlzLm9uU3RhdHVzQ2hhbmdlZC5lbWl0KHtcbiAgICAgICAgICBjb21wb25lbnQ6IHRoaXMsXG4gICAgICAgICAgZGF0YTogeyByZWxhdGl2ZVg6IHJlbGF0aXZlWCB9LFxuICAgICAgICAgIHN0YXR1czogJ2RyYWcnLFxuICAgICAgICAgIGlzVXNlckludGVyYWN0aW9uOiBmYWxzZSxcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBXaGVuIHRoZSB3YXZlZm9ybSBpcyBzY3JvbGxlZCAocGFubmVkKSAqL1xuICBwcm90ZWN0ZWQgaGFuZGxlU2Nyb2xsKCkge1xuICAgIHRoaXMuYXVkaW8/Lm9uKCdzY3JvbGwnLCAodmlzaWJsZVN0YXJ0VGltZSwgdmlzaWJsZUVuZFRpbWUpID0+IHtcbiAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgIHRoaXMub25TdGF0dXNDaGFuZ2VkLmVtaXQoe1xuICAgICAgICAgIGNvbXBvbmVudDogdGhpcyxcbiAgICAgICAgICBkYXRhOiB7IHZpc2libGVTdGFydFRpbWUsIHZpc2libGVFbmRUaW1lIH0sXG4gICAgICAgICAgc3RhdHVzOiAnc2Nyb2xsJyxcbiAgICAgICAgICBpc1VzZXJJbnRlcmFjdGlvbjogZmFsc2UsXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvKiogV2hlbiB0aGUgem9vbSBsZXZlbCBjaGFuZ2VzICovXG4gIHByb3RlY3RlZCBoYW5kbGVab29tKCkge1xuICAgIHRoaXMuYXVkaW8/Lm9uKCd6b29tJywgKG1pblB4UGVyU2VjKSA9PiB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICB0aGlzLm9uU3RhdHVzQ2hhbmdlZC5lbWl0KHtcbiAgICAgICAgICBjb21wb25lbnQ6IHRoaXMsXG4gICAgICAgICAgZGF0YTogeyBtaW5QeFBlclNlYzogbWluUHhQZXJTZWMgfSxcbiAgICAgICAgICBzdGF0dXM6ICd6b29tJyxcbiAgICAgICAgICBpc1VzZXJJbnRlcmFjdGlvbjogZmFsc2UsXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvKiogSnVzdCBiZWZvcmUgdGhlIHdhdmVmb3JtIGlzIGRlc3Ryb3llZCBzbyB5b3UgY2FuIGNsZWFuIHVwIHlvdXIgZXZlbnRzICovXG4gIHByb3RlY3RlZCBoYW5kbGVEZXN0cm95KCkge1xuICAgIHRoaXMuYXVkaW8/Lm9uKCdkZXN0cm95JywgKCkgPT4ge1xuICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgdGhpcy5vblN0YXR1c0NoYW5nZWQuZW1pdCh7XG4gICAgICAgICAgY29tcG9uZW50OiB0aGlzLFxuICAgICAgICAgIGRhdGE6IG51bGwsXG4gICAgICAgICAgc3RhdHVzOiAnZGVzdHJveScsXG4gICAgICAgICAgaXNVc2VySW50ZXJhY3Rpb246IGZhbHNlLFxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG4gIC8qKiBKdXN0IGJlZm9yZSB0aGUgd2F2ZWZvcm0gaXMgZGVzdHJveWVkIHNvIHlvdSBjYW4gY2xlYW4gdXAgeW91ciBldmVudHMgKi9cbiAgcHJvdGVjdGVkIGhhbmRsZUVycm9yKCkge1xuICAgIHRoaXMuYXVkaW8/Lm9uKCdlcnJvcicsIChlKSA9PiB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICB0aGlzLm9uU3RhdHVzQ2hhbmdlZC5lbWl0KHsgY29tcG9uZW50OiB0aGlzLCBkYXRhOiBlLCBzdGF0dXM6ICdlcnJvcicsIGlzVXNlckludGVyYWN0aW9uOiBmYWxzZSB9KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5hdWRpby5kZXN0cm95KCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJheC1hdWRpby13YXZlXCIgI2QgW25nU3R5bGVdPVwieydkaXNwbGF5JzogYXVkaW9TdGF0ZSgpID09PSAncmVhZHknID8gJ2Jsb2NrJyA6ICdub25lJyB9XCI+PC9kaXY+XG5cbkBzd2l0Y2ggKGF1ZGlvU3RhdGUoKSkge1xuQGNhc2UgKCdsb2FkaW5nJykge1xuPGRpdiBjbGFzcz1cImF4LWF1ZGlvLXNrZWxldG9uXCI+PC9kaXY+XG59XG5AY2FzZSAoJ2Vycm9yJykge1xuPGRpdiBjbGFzcz1cImF4LXdhdmUtbWVzc2FnZVwiPlxuICAgIHt7J2Vycm9yLm1lc3NhZ2UnIHwgdHJhbnNsYXRlOnsgcGFyYW1zOnsgbWVzc2FnZTogZXJyb3JNZXNzYWdlKCkgfSB9IHwgYXN5bmMgfX1cbjwvZGl2PlxufVxufSJdfQ==
|
@@ -24,11 +24,11 @@ export class AXBreadCrumbsItemComponent extends MXInteractiveComponent {
|
|
24
24
|
return [`${this.active ? 'ax-state-active' : ''}`, `${this.disabled ? 'ax-state-disabled' : ''}`];
|
25
25
|
}
|
26
26
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXBreadCrumbsItemComponent, deps: [{ token: AXBreadCrumbsComponent }], target: i0.ɵɵFactoryTarget.Component }); }
|
27
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: AXBreadCrumbsItemComponent, selector: "ax-breadcrumbs-item", inputs: { disabled: "disabled", active: "active" }, host: { properties: { "class": "this.__hostClass" } }, usesInheritance: true, ngImport: i0, template: "<
|
27
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: AXBreadCrumbsItemComponent, selector: "ax-breadcrumbs-item", inputs: { disabled: "disabled", active: "active" }, host: { properties: { "class": "this.__hostClass" } }, usesInheritance: true, ngImport: i0, template: "<div class=\"ax-breadcrumb-divider\">\n <ng-container *ngTemplateOutlet=\"_parent.dividerTemplate\"></ng-container>\n</div>\n\n<ng-content select=\"ax-prefix\"></ng-content>\n<ng-content></ng-content>\n<ng-content select=\"ax-suffix\"></ng-content>\n", dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
|
28
28
|
}
|
29
29
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXBreadCrumbsItemComponent, decorators: [{
|
30
30
|
type: Component,
|
31
|
-
args: [{ selector: 'ax-breadcrumbs-item', inputs: ['disabled'], template: "<
|
31
|
+
args: [{ selector: 'ax-breadcrumbs-item', inputs: ['disabled'], template: "<div class=\"ax-breadcrumb-divider\">\n <ng-container *ngTemplateOutlet=\"_parent.dividerTemplate\"></ng-container>\n</div>\n\n<ng-content select=\"ax-prefix\"></ng-content>\n<ng-content></ng-content>\n<ng-content select=\"ax-suffix\"></ng-content>\n" }]
|
32
32
|
}], ctorParameters: () => [{ type: i2.AXBreadCrumbsComponent, decorators: [{
|
33
33
|
type: Inject,
|
34
34
|
args: [AXBreadCrumbsComponent]
|
@@ -38,4 +38,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
38
38
|
type: HostBinding,
|
39
39
|
args: ['class']
|
40
40
|
}] } });
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYnMtaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvYnJlYWRjcnVtYnMvc3JjL2xpYi9icmVhZGNydW1icy1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9icmVhZGNydW1icy9zcmMvbGliL2JyZWFkY3J1bWJzLWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbkUsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7OztBQUVqRTs7OztHQUlHO0FBTUgsTUFBTSxPQUFPLDBCQUEyQixTQUFRLHNCQUFzQjtJQU1wRTs7T0FFRztJQUNILFlBRVMsT0FBK0I7UUFFdEMsS0FBSyxFQUFFLENBQUM7UUFGRCxZQUFPLEdBQVAsT0FBTyxDQUF3QjtJQUd4QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUNZLFdBQVc7UUFDckIsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDcEcsQ0FBQzs4R0F0QlUsMEJBQTBCLGtCQVUzQixzQkFBc0I7a0dBVnJCLDBCQUEwQiw2TENkdkMsNlBBT0E7OzJGRE9hLDBCQUEwQjtrQkFMdEMsU0FBUzsrQkFDRSxxQkFBcUIsVUFDdkIsQ0FBQyxVQUFVLENBQUM7OzBCQWFqQixNQUFNOzJCQUFDLHNCQUFzQjt5Q0FOdkIsTUFBTTtzQkFBZCxLQUFLO2dCQWdCTSxXQUFXO3NCQUR0QixXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNWEludGVyYWN0aXZlQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBJbmplY3QsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWEJyZWFkQ3J1bWJzQ29tcG9uZW50IH0gZnJvbSAnLi9icmVhZGNydW1icy5jb21wb25lbnQnO1xuXG4vKipcbiAqIENvbXBvbmVudCByZXByZXNlbnRpbmcgYW4gaXRlbSBpbiBhIGJyZWFkY3J1bWJzIG5hdmlnYXRpb24uXG4gKlxuICogQGNhdGVnb3J5IENvbXBvbmVudHNcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtYnJlYWRjcnVtYnMtaXRlbScsXG4gIGlucHV0czogWydkaXNhYmxlZCddLFxuICB0ZW1wbGF0ZVVybDogJy4vYnJlYWRjcnVtYnMtaXRlbS5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIEFYQnJlYWRDcnVtYnNJdGVtQ29tcG9uZW50IGV4dGVuZHMgTVhJbnRlcmFjdGl2ZUNvbXBvbmVudCB7XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0aGlzIGJyZWFkY3J1bWIgaXRlbSBpcyB0aGUgY3VycmVudCBhY3RpdmUgaXRlbS5cbiAgICovXG4gIEBJbnB1dCgpIGFjdGl2ZTogYm9vbGVhbjtcblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoQVhCcmVhZENydW1ic0NvbXBvbmVudClcbiAgICBwdWJsaWMgX3BhcmVudDogQVhCcmVhZENydW1ic0NvbXBvbmVudCxcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIHByaXZhdGUgZ2V0IF9faG9zdENsYXNzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gW2Ake3RoaXMuYWN0aXZlID8gJ2F4LXN0YXRlLWFjdGl2ZScgOiAnJ31gLCBgJHt0aGlzLmRpc2FibGVkID8gJ2F4LXN0YXRlLWRpc2FibGVkJyA6ICcnfWBdO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYXgtYnJlYWRjcnVtYi1kaXZpZGVyXCI+XG4gIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJfcGFyZW50LmRpdmlkZXJUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuPC9kaXY+XG5cbjxuZy1jb250ZW50IHNlbGVjdD1cImF4LXByZWZpeFwiPjwvbmctY29udGVudD5cbjxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjxuZy1jb250ZW50IHNlbGVjdD1cImF4LXN1ZmZpeFwiPjwvbmctY29udGVudD5cbiJdfQ==
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { MXBaseComponent } from '@acorex/components/common';
|
2
|
-
import { ChangeDetectionStrategy, Component, ContentChild, TemplateRef, ViewChild, ViewEncapsulation } from '@angular/core';
|
2
|
+
import { ChangeDetectionStrategy, Component, ContentChild, TemplateRef, ViewChild, ViewEncapsulation, } from '@angular/core';
|
3
3
|
import * as i0 from "@angular/core";
|
4
4
|
import * as i1 from "@angular/common";
|
5
5
|
/**
|
@@ -8,12 +8,19 @@ import * as i1 from "@angular/common";
|
|
8
8
|
* @category Components
|
9
9
|
*/
|
10
10
|
export class AXBreadCrumbsComponent extends MXBaseComponent {
|
11
|
+
ngAfterViewInit() {
|
12
|
+
this.getHostElement().scrollTo({
|
13
|
+
left: this.getHostElement().scrollWidth,
|
14
|
+
top: 0,
|
15
|
+
behavior: 'instant',
|
16
|
+
});
|
17
|
+
}
|
11
18
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXBreadCrumbsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
12
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXBreadCrumbsComponent, selector: "ax-breadcrumbs", queries: [{ propertyName: "_divider", first: true, predicate: ["divider"], descendants: true }], viewQueries: [{ propertyName: "dividerTemplate", first: true, predicate: ["dividerTpl"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-breadcrumbs-item\"></ng-content>\n<ng-template #dividerTpl>\n @if(!_divider){\n <ng-container [ngTemplateOutlet]=\"default\"></ng-container>\n }\n @if(_divider){\n <ng-container [ngTemplateOutlet]=\"_divider\"></ng-container>\n }\n <ng-template #default>\n <div class=\"ax-breadcrumb-divider\">/</div>\n </ng-template>\n</ng-template>", styles: ["ax-breadcrumbs{display:inline-flex;width:100%;align-items:center;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-snap-type:x proximity;font-size:initial}ax-breadcrumbs ax-breadcrumbs-item{display:inline-flex;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;font-size:.875rem;line-height:1.25rem;text-decoration-line:none;font-weight:500;color:rgba(var(--ax-color-text-default),.75)}ax-breadcrumbs ax-breadcrumbs-item.ax-state-active{color:rgba(var(--ax-color-primary-500))}ax-breadcrumbs ax-breadcrumbs-item.ax-state-disabled{cursor:not-allowed;opacity:.5}ax-breadcrumbs ax-breadcrumbs-item ax-prefix{padding-left:.5rem;padding-right:.5rem;padding-top:0;padding-bottom:0}ax-breadcrumbs ax-breadcrumbs-item>.ax-breadcrumb-divider{font-size:.875rem;padding-left:.375rem;padding-right:.375rem;padding-top:2px;padding-bottom:0}ax-breadcrumbs ax-breadcrumbs-item:
|
19
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXBreadCrumbsComponent, selector: "ax-breadcrumbs", queries: [{ propertyName: "_divider", first: true, predicate: ["divider"], descendants: true }], viewQueries: [{ propertyName: "dividerTemplate", first: true, predicate: ["dividerTpl"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-breadcrumbs-item\"></ng-content>\n<ng-template #dividerTpl>\n @if(!_divider){\n <ng-container [ngTemplateOutlet]=\"default\"></ng-container>\n }\n @if(_divider){\n <ng-container [ngTemplateOutlet]=\"_divider\"></ng-container>\n }\n <ng-template #default>\n <div class=\"ax-breadcrumb-divider\">/</div>\n </ng-template>\n</ng-template>", styles: ["ax-breadcrumbs{display:inline-flex;width:100%;align-items:center;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;overscroll-behavior-x:contain;scroll-snap-type:x proximity;font-size:initial}ax-breadcrumbs ax-breadcrumbs-item{display:inline-flex;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;font-size:.875rem;line-height:1.25rem;text-decoration-line:none;font-weight:500;color:rgba(var(--ax-color-text-default),.75);white-space:nowrap}ax-breadcrumbs ax-breadcrumbs-item.ax-state-active{color:rgba(var(--ax-color-primary-500))}ax-breadcrumbs ax-breadcrumbs-item.ax-state-disabled{cursor:not-allowed;opacity:.5}ax-breadcrumbs ax-breadcrumbs-item ax-prefix{padding-left:.5rem;padding-right:.5rem;padding-top:0;padding-bottom:0}ax-breadcrumbs ax-breadcrumbs-item>.ax-breadcrumb-divider{font-size:.875rem;padding-left:.375rem;padding-right:.375rem;padding-top:2px;padding-bottom:0}ax-breadcrumbs ax-breadcrumbs-item:first-child .ax-breadcrumb-divider{display:none}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
13
20
|
}
|
14
21
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXBreadCrumbsComponent, decorators: [{
|
15
22
|
type: Component,
|
16
|
-
args: [{ selector: 'ax-breadcrumbs', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content select=\"ax-breadcrumbs-item\"></ng-content>\n<ng-template #dividerTpl>\n @if(!_divider){\n <ng-container [ngTemplateOutlet]=\"default\"></ng-container>\n }\n @if(_divider){\n <ng-container [ngTemplateOutlet]=\"_divider\"></ng-container>\n }\n <ng-template #default>\n <div class=\"ax-breadcrumb-divider\">/</div>\n </ng-template>\n</ng-template>", styles: ["ax-breadcrumbs{display:inline-flex;width:100%;align-items:center;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-snap-type:x proximity;font-size:initial}ax-breadcrumbs ax-breadcrumbs-item{display:inline-flex;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;font-size:.875rem;line-height:1.25rem;text-decoration-line:none;font-weight:500;color:rgba(var(--ax-color-text-default),.75)}ax-breadcrumbs ax-breadcrumbs-item.ax-state-active{color:rgba(var(--ax-color-primary-500))}ax-breadcrumbs ax-breadcrumbs-item.ax-state-disabled{cursor:not-allowed;opacity:.5}ax-breadcrumbs ax-breadcrumbs-item ax-prefix{padding-left:.5rem;padding-right:.5rem;padding-top:0;padding-bottom:0}ax-breadcrumbs ax-breadcrumbs-item>.ax-breadcrumb-divider{font-size:.875rem;padding-left:.375rem;padding-right:.375rem;padding-top:2px;padding-bottom:0}ax-breadcrumbs ax-breadcrumbs-item:
|
23
|
+
args: [{ selector: 'ax-breadcrumbs', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content select=\"ax-breadcrumbs-item\"></ng-content>\n<ng-template #dividerTpl>\n @if(!_divider){\n <ng-container [ngTemplateOutlet]=\"default\"></ng-container>\n }\n @if(_divider){\n <ng-container [ngTemplateOutlet]=\"_divider\"></ng-container>\n }\n <ng-template #default>\n <div class=\"ax-breadcrumb-divider\">/</div>\n </ng-template>\n</ng-template>", styles: ["ax-breadcrumbs{display:inline-flex;width:100%;align-items:center;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;overscroll-behavior-x:contain;scroll-snap-type:x proximity;font-size:initial}ax-breadcrumbs ax-breadcrumbs-item{display:inline-flex;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;font-size:.875rem;line-height:1.25rem;text-decoration-line:none;font-weight:500;color:rgba(var(--ax-color-text-default),.75);white-space:nowrap}ax-breadcrumbs ax-breadcrumbs-item.ax-state-active{color:rgba(var(--ax-color-primary-500))}ax-breadcrumbs ax-breadcrumbs-item.ax-state-disabled{cursor:not-allowed;opacity:.5}ax-breadcrumbs ax-breadcrumbs-item ax-prefix{padding-left:.5rem;padding-right:.5rem;padding-top:0;padding-bottom:0}ax-breadcrumbs ax-breadcrumbs-item>.ax-breadcrumb-divider{font-size:.875rem;padding-left:.375rem;padding-right:.375rem;padding-top:2px;padding-bottom:0}ax-breadcrumbs ax-breadcrumbs-item:first-child .ax-breadcrumb-divider{display:none}\n"] }]
|
17
24
|
}], propDecorators: { _divider: [{
|
18
25
|
type: ContentChild,
|
19
26
|
args: ['divider']
|
@@ -21,4 +28,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
21
28
|
type: ViewChild,
|
22
29
|
args: ['dividerTpl']
|
23
30
|
}] } });
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2JyZWFkY3J1bWJzL3NyYy9saWIvYnJlYWRjcnVtYnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2JyZWFkY3J1bWJzL3NyYy9saWIvYnJlYWRjcnVtYnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixXQUFXLEVBQ1gsU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQzs7O0FBRXZCOzs7O0dBSUc7QUFRSCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsZUFBZTtJQWF6RCxlQUFlO1FBQ2IsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLFFBQVEsQ0FBQztZQUM3QixJQUFJLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLFdBQVc7WUFDdkMsR0FBRyxFQUFFLENBQUM7WUFDTixRQUFRLEVBQUUsU0FBUztTQUNwQixDQUFDLENBQUM7SUFDTCxDQUFDOzhHQW5CVSxzQkFBc0I7a0dBQXRCLHNCQUFzQiw2UkN2Qm5DLHVZQVdjOzsyRkRZRCxzQkFBc0I7a0JBUGxDLFNBQVM7K0JBQ0UsZ0JBQWdCLGlCQUdYLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU07OEJBT3JDLFFBQVE7c0JBRGpCLFlBQVk7dUJBQUMsU0FBUztnQkFPdkIsZUFBZTtzQkFEZCxTQUFTO3VCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNWEJhc2VDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uJztcbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIFRoZSBCcmVhZGNydW1icyBjb21wb25lbnQgZGlzcGxheXMgYSBuYXZpZ2F0aW9uIHRyYWlsIG9mIGxpbmtzLCBoZWxwaW5nIHVzZXJzIHRvIHRyYWNrIHRoZWlyIGxvY2F0aW9uIHdpdGhpbiBhbiBhcHBsaWNhdGlvbidzIGhpZXJhcmNoeS5cbiAqXG4gKiBAY2F0ZWdvcnkgQ29tcG9uZW50c1xuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1icmVhZGNydW1icycsXG4gIHRlbXBsYXRlVXJsOiAnLi9icmVhZGNydW1icy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2JyZWFkY3J1bWJzLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBBWEJyZWFkQ3J1bWJzQ29tcG9uZW50IGV4dGVuZHMgTVhCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgQENvbnRlbnRDaGlsZCgnZGl2aWRlcicpXG4gIHByb3RlY3RlZCBfZGl2aWRlcjogVGVtcGxhdGVSZWY8YW55PjtcblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIEBWaWV3Q2hpbGQoJ2RpdmlkZXJUcGwnKVxuICBkaXZpZGVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZ2V0SG9zdEVsZW1lbnQoKS5zY3JvbGxUbyh7XG4gICAgICBsZWZ0OiB0aGlzLmdldEhvc3RFbGVtZW50KCkuc2Nyb2xsV2lkdGgsXG4gICAgICB0b3A6IDAsXG4gICAgICBiZWhhdmlvcjogJ2luc3RhbnQnLFxuICAgIH0pO1xuICB9XG59XG4iLCI8bmctY29udGVudCBzZWxlY3Q9XCJheC1icmVhZGNydW1icy1pdGVtXCI+PC9uZy1jb250ZW50PlxuPG5nLXRlbXBsYXRlICNkaXZpZGVyVHBsPlxuICAgIEBpZighX2RpdmlkZXIpe1xuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiZGVmYXVsdFwiPjwvbmctY29udGFpbmVyPlxuICAgIH1cbiAgICBAaWYoX2RpdmlkZXIpe1xuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiX2RpdmlkZXJcIj48L25nLWNvbnRhaW5lcj5cbiAgICB9XG4gICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtYnJlYWRjcnVtYi1kaXZpZGVyXCI+LzwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG48L25nLXRlbXBsYXRlPiJdfQ==
|
@@ -124,11 +124,11 @@ export class AXFormFieldComponent extends MXBaseComponent {
|
|
124
124
|
return [`ax-state-${this._labelMode()}-label`, `${hasValue && 'ax-state-has-value'}`];
|
125
125
|
}
|
126
126
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXFormFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
127
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.0", type: AXFormFieldComponent, selector: "ax-form-field", inputs: { labelMode: { classPropertyName: "labelMode", publicName: "labelMode", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "this.__hostClass" } }, providers: [AXUnsubscriber], queries: [{ propertyName: "input", first: true, predicate: AXValuableComponent, descendants: true }, { propertyName: "label", first: true, predicate: AXLabelComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, styles: [".ax-dark ax-form.ax-form-normal .ax-error-message{border-color:rgba(var(--ax-color-danger-500));background-color:rgba(var(--ax-color-danger-200));color:rgba(var(--ax-color-danger-fore-tint))}.ax-dark ax-form.ax-form-normal .ax-error-message:before,.ax-dark ax-form.ax-form-normal .ax-error-message:after{border-bottom-color:rgba(var(--ax-color-danger-500))}.ax-dark ax-form.ax-form-normal .ax-error-message:before{border-bottom-color:rgba(var(--ax-color-danger-500))}.ax-dark ax-form form.ax-float-error .ax-error-message{border-color:rgba(var(--ax-color-danger-700));background-color:rgba(var(--ax-color-danger-700));color:rgba(var(--ax-color-danger-fore))}.ax-dark ax-form form.ax-float-error .ax-error-message:before,.ax-dark ax-form form.ax-float-error .ax-error-message:after{border-bottom-color:rgba(var(--ax-color-danger-700))}.ax-dark ax-form form.ax-float-error .ax-error-message:before{border-bottom-color:rgba(var(--ax-color-danger-700))}ax-form-field{position:relative;display:block;width:100%}ax-form-field.ax-state-floating-label{--ax-size-default: 3.5rem}ax-form-field.ax-state-floating-label>ax-label{position:absolute;top:
|
127
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.0", type: AXFormFieldComponent, selector: "ax-form-field", inputs: { labelMode: { classPropertyName: "labelMode", publicName: "labelMode", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "this.__hostClass" } }, providers: [AXUnsubscriber], queries: [{ propertyName: "input", first: true, predicate: AXValuableComponent, descendants: true }, { propertyName: "label", first: true, predicate: AXLabelComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, styles: [".ax-dark ax-form.ax-form-normal .ax-error-message{border-color:rgba(var(--ax-color-danger-500));background-color:rgba(var(--ax-color-danger-200));color:rgba(var(--ax-color-danger-fore-tint))}.ax-dark ax-form.ax-form-normal .ax-error-message:before,.ax-dark ax-form.ax-form-normal .ax-error-message:after{border-bottom-color:rgba(var(--ax-color-danger-500))}.ax-dark ax-form.ax-form-normal .ax-error-message:before{border-bottom-color:rgba(var(--ax-color-danger-500))}.ax-dark ax-form form.ax-float-error .ax-error-message{border-color:rgba(var(--ax-color-danger-700));background-color:rgba(var(--ax-color-danger-700));color:rgba(var(--ax-color-danger-fore))}.ax-dark ax-form form.ax-float-error .ax-error-message:before,.ax-dark ax-form form.ax-float-error .ax-error-message:after{border-bottom-color:rgba(var(--ax-color-danger-700))}.ax-dark ax-form form.ax-float-error .ax-error-message:before{border-bottom-color:rgba(var(--ax-color-danger-700))}ax-form-field{position:relative;display:block;width:100%}ax-form-field.ax-state-floating-label{--ax-size-default: 3.5rem}ax-form-field.ax-state-floating-label>ax-label{position:absolute;top:calc(var(--ax-size-default, 3.5rem) / 2);transform:translateY(-50%);inset-inline-start:1rem;pointer-events:none;z-index:10;transition:all .15s ease-in-out;display:inline-grid}ax-form-field.ax-state-floating-label>ax-label label{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}ax-form-field.ax-state-floating-label .ax-input::placeholder{opacity:0}ax-form-field.ax-state-floating-label.ax-state-focused>ax-label,ax-form-field.ax-state-floating-label.ax-state-has-value>ax-label{transform:translateY(-115%) translate(-2.5%) scale(.95);inset-inline-start:.25rem;padding:0 .5rem}ax-form-field.ax-state-floating-label.ax-state-focused>ax-label label,ax-form-field.ax-state-floating-label.ax-state-has-value>ax-label label{font-size:.75rem;color:rgba(var(--ax-color-text-default),.5)}ax-form-field.ax-state-floating-label.ax-state-focused .ax-input,ax-form-field.ax-state-floating-label.ax-state-focused .ax-content,ax-form-field.ax-state-floating-label.ax-state-focused ax-text-area,ax-form-field.ax-state-floating-label.ax-state-has-value .ax-input,ax-form-field.ax-state-floating-label.ax-state-has-value .ax-content,ax-form-field.ax-state-floating-label.ax-state-has-value ax-text-area{padding-top:.875rem}ax-form-field.ax-state-floating-label.ax-state-focused .ax-input::placeholder,ax-form-field.ax-state-floating-label.ax-state-focused .ax-content::placeholder,ax-form-field.ax-state-floating-label.ax-state-focused ax-text-area::placeholder,ax-form-field.ax-state-floating-label.ax-state-has-value .ax-input::placeholder,ax-form-field.ax-state-floating-label.ax-state-has-value .ax-content::placeholder,ax-form-field.ax-state-floating-label.ax-state-has-value ax-text-area::placeholder{opacity:1}ax-form-field.ax-state-floating-label.ax-state-focused ax-text-area textarea,ax-form-field.ax-state-floating-label.ax-state-has-value ax-text-area textarea{padding-top:1.5rem!important}ax-form-field.ax-state-over-label{--ax-size-default: 3.5rem}ax-form-field.ax-state-over-label>ax-label{position:absolute;pointer-events:none;z-index:10;transition:all .15s ease-in-out;display:inline-grid;top:10%;transform:translateY(-10%);inset-inline-start:.25rem;padding:0 .5rem}ax-form-field.ax-state-over-label>ax-label label{margin:0;overflow:hidden;text-overflow:ellipsis;font-size:.75rem;white-space:nowrap}ax-form-field.ax-state-over-label .ax-input::placeholder{opacity:0}ax-form-field.ax-state-over-label.ax-state-focused .ax-input,ax-form-field.ax-state-over-label.ax-state-focused .ax-content,ax-form-field.ax-state-over-label.ax-state-focused ax-text-area,ax-form-field.ax-state-over-label.ax-state-has-value .ax-input,ax-form-field.ax-state-over-label.ax-state-has-value .ax-content,ax-form-field.ax-state-over-label.ax-state-has-value ax-text-area{padding-top:1rem}ax-form-field.ax-state-over-label.ax-state-focused .ax-input::placeholder,ax-form-field.ax-state-over-label.ax-state-focused .ax-content::placeholder,ax-form-field.ax-state-over-label.ax-state-focused ax-text-area::placeholder,ax-form-field.ax-state-over-label.ax-state-has-value .ax-input::placeholder,ax-form-field.ax-state-over-label.ax-state-has-value .ax-content::placeholder,ax-form-field.ax-state-over-label.ax-state-has-value ax-text-area::placeholder{opacity:1}ax-form-field.ax-state-over-label.ax-state-focused ax-text-area textarea,ax-form-field.ax-state-over-label.ax-state-has-value ax-text-area textarea{padding-top:1.5rem!important}ax-form-field.ax-state-floating-label .ax-select-box-selection.ax-multiple,ax-form-field.ax-state-over-label .ax-select-box-selection.ax-multiple{padding-top:1.5rem!important;padding-inline-start:.75rem}ax-form-field .ax-error-message{margin-top:.25rem;margin-bottom:.25rem;display:block;font-size:.75rem;line-height:1rem}ax-form{width:100%}ax-form form.ax-bottom-error .ax-error-message{color:rgba(var(--ax-color-danger-500))}ax-form form.ax-float-error .ax-error-message{position:absolute;bottom:-2.5rem;z-index:20;display:block;width:fit-content;border-radius:.375rem;border-width:1px;border-color:rgba(var(--ax-color-danger-500));background-color:rgba(var(--ax-color-danger-500));padding:.25rem .5rem;font-weight:400;color:rgba(var(--ax-color-danger-fore))}ax-form form.ax-float-error .ax-error-message:before,ax-form form.ax-float-error .ax-error-message:after{pointer-events:none;position:absolute;bottom:100%;inset-inline-start:.75rem;z-index:20;height:0px;width:0px;border-bottom-color:rgba(var(--ax-color-danger-500));border-inline-end-color:transparent;border-inline-start-color:transparent;border-top-color:transparent;content:\"\"}ax-form form.ax-float-error .ax-error-message:before{margin-inline-start:-1px;border-width:4px;border-bottom-color:rgba(var(--ax-color-danger-500))}ax-form form.ax-float-error .ax-error-message:after{border-width:4px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
128
128
|
}
|
129
129
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXFormFieldComponent, decorators: [{
|
130
130
|
type: Component,
|
131
|
-
args: [{ selector: 'ax-form-field', template: `<ng-content></ng-content>`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [AXUnsubscriber], styles: [".ax-dark ax-form.ax-form-normal .ax-error-message{border-color:rgba(var(--ax-color-danger-500));background-color:rgba(var(--ax-color-danger-200));color:rgba(var(--ax-color-danger-fore-tint))}.ax-dark ax-form.ax-form-normal .ax-error-message:before,.ax-dark ax-form.ax-form-normal .ax-error-message:after{border-bottom-color:rgba(var(--ax-color-danger-500))}.ax-dark ax-form.ax-form-normal .ax-error-message:before{border-bottom-color:rgba(var(--ax-color-danger-500))}.ax-dark ax-form form.ax-float-error .ax-error-message{border-color:rgba(var(--ax-color-danger-700));background-color:rgba(var(--ax-color-danger-700));color:rgba(var(--ax-color-danger-fore))}.ax-dark ax-form form.ax-float-error .ax-error-message:before,.ax-dark ax-form form.ax-float-error .ax-error-message:after{border-bottom-color:rgba(var(--ax-color-danger-700))}.ax-dark ax-form form.ax-float-error .ax-error-message:before{border-bottom-color:rgba(var(--ax-color-danger-700))}ax-form-field{position:relative;display:block;width:100%}ax-form-field.ax-state-floating-label{--ax-size-default: 3.5rem}ax-form-field.ax-state-floating-label>ax-label{position:absolute;top:
|
131
|
+
args: [{ selector: 'ax-form-field', template: `<ng-content></ng-content>`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [AXUnsubscriber], styles: [".ax-dark ax-form.ax-form-normal .ax-error-message{border-color:rgba(var(--ax-color-danger-500));background-color:rgba(var(--ax-color-danger-200));color:rgba(var(--ax-color-danger-fore-tint))}.ax-dark ax-form.ax-form-normal .ax-error-message:before,.ax-dark ax-form.ax-form-normal .ax-error-message:after{border-bottom-color:rgba(var(--ax-color-danger-500))}.ax-dark ax-form.ax-form-normal .ax-error-message:before{border-bottom-color:rgba(var(--ax-color-danger-500))}.ax-dark ax-form form.ax-float-error .ax-error-message{border-color:rgba(var(--ax-color-danger-700));background-color:rgba(var(--ax-color-danger-700));color:rgba(var(--ax-color-danger-fore))}.ax-dark ax-form form.ax-float-error .ax-error-message:before,.ax-dark ax-form form.ax-float-error .ax-error-message:after{border-bottom-color:rgba(var(--ax-color-danger-700))}.ax-dark ax-form form.ax-float-error .ax-error-message:before{border-bottom-color:rgba(var(--ax-color-danger-700))}ax-form-field{position:relative;display:block;width:100%}ax-form-field.ax-state-floating-label{--ax-size-default: 3.5rem}ax-form-field.ax-state-floating-label>ax-label{position:absolute;top:calc(var(--ax-size-default, 3.5rem) / 2);transform:translateY(-50%);inset-inline-start:1rem;pointer-events:none;z-index:10;transition:all .15s ease-in-out;display:inline-grid}ax-form-field.ax-state-floating-label>ax-label label{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}ax-form-field.ax-state-floating-label .ax-input::placeholder{opacity:0}ax-form-field.ax-state-floating-label.ax-state-focused>ax-label,ax-form-field.ax-state-floating-label.ax-state-has-value>ax-label{transform:translateY(-115%) translate(-2.5%) scale(.95);inset-inline-start:.25rem;padding:0 .5rem}ax-form-field.ax-state-floating-label.ax-state-focused>ax-label label,ax-form-field.ax-state-floating-label.ax-state-has-value>ax-label label{font-size:.75rem;color:rgba(var(--ax-color-text-default),.5)}ax-form-field.ax-state-floating-label.ax-state-focused .ax-input,ax-form-field.ax-state-floating-label.ax-state-focused .ax-content,ax-form-field.ax-state-floating-label.ax-state-focused ax-text-area,ax-form-field.ax-state-floating-label.ax-state-has-value .ax-input,ax-form-field.ax-state-floating-label.ax-state-has-value .ax-content,ax-form-field.ax-state-floating-label.ax-state-has-value ax-text-area{padding-top:.875rem}ax-form-field.ax-state-floating-label.ax-state-focused .ax-input::placeholder,ax-form-field.ax-state-floating-label.ax-state-focused .ax-content::placeholder,ax-form-field.ax-state-floating-label.ax-state-focused ax-text-area::placeholder,ax-form-field.ax-state-floating-label.ax-state-has-value .ax-input::placeholder,ax-form-field.ax-state-floating-label.ax-state-has-value .ax-content::placeholder,ax-form-field.ax-state-floating-label.ax-state-has-value ax-text-area::placeholder{opacity:1}ax-form-field.ax-state-floating-label.ax-state-focused ax-text-area textarea,ax-form-field.ax-state-floating-label.ax-state-has-value ax-text-area textarea{padding-top:1.5rem!important}ax-form-field.ax-state-over-label{--ax-size-default: 3.5rem}ax-form-field.ax-state-over-label>ax-label{position:absolute;pointer-events:none;z-index:10;transition:all .15s ease-in-out;display:inline-grid;top:10%;transform:translateY(-10%);inset-inline-start:.25rem;padding:0 .5rem}ax-form-field.ax-state-over-label>ax-label label{margin:0;overflow:hidden;text-overflow:ellipsis;font-size:.75rem;white-space:nowrap}ax-form-field.ax-state-over-label .ax-input::placeholder{opacity:0}ax-form-field.ax-state-over-label.ax-state-focused .ax-input,ax-form-field.ax-state-over-label.ax-state-focused .ax-content,ax-form-field.ax-state-over-label.ax-state-focused ax-text-area,ax-form-field.ax-state-over-label.ax-state-has-value .ax-input,ax-form-field.ax-state-over-label.ax-state-has-value .ax-content,ax-form-field.ax-state-over-label.ax-state-has-value ax-text-area{padding-top:1rem}ax-form-field.ax-state-over-label.ax-state-focused .ax-input::placeholder,ax-form-field.ax-state-over-label.ax-state-focused .ax-content::placeholder,ax-form-field.ax-state-over-label.ax-state-focused ax-text-area::placeholder,ax-form-field.ax-state-over-label.ax-state-has-value .ax-input::placeholder,ax-form-field.ax-state-over-label.ax-state-has-value .ax-content::placeholder,ax-form-field.ax-state-over-label.ax-state-has-value ax-text-area::placeholder{opacity:1}ax-form-field.ax-state-over-label.ax-state-focused ax-text-area textarea,ax-form-field.ax-state-over-label.ax-state-has-value ax-text-area textarea{padding-top:1.5rem!important}ax-form-field.ax-state-floating-label .ax-select-box-selection.ax-multiple,ax-form-field.ax-state-over-label .ax-select-box-selection.ax-multiple{padding-top:1.5rem!important;padding-inline-start:.75rem}ax-form-field .ax-error-message{margin-top:.25rem;margin-bottom:.25rem;display:block;font-size:.75rem;line-height:1rem}ax-form{width:100%}ax-form form.ax-bottom-error .ax-error-message{color:rgba(var(--ax-color-danger-500))}ax-form form.ax-float-error .ax-error-message{position:absolute;bottom:-2.5rem;z-index:20;display:block;width:fit-content;border-radius:.375rem;border-width:1px;border-color:rgba(var(--ax-color-danger-500));background-color:rgba(var(--ax-color-danger-500));padding:.25rem .5rem;font-weight:400;color:rgba(var(--ax-color-danger-fore))}ax-form form.ax-float-error .ax-error-message:before,ax-form form.ax-float-error .ax-error-message:after{pointer-events:none;position:absolute;bottom:100%;inset-inline-start:.75rem;z-index:20;height:0px;width:0px;border-bottom-color:rgba(var(--ax-color-danger-500));border-inline-end-color:transparent;border-inline-start-color:transparent;border-top-color:transparent;content:\"\"}ax-form form.ax-float-error .ax-error-message:before{margin-inline-start:-1px;border-width:4px;border-bottom-color:rgba(var(--ax-color-danger-500))}ax-form form.ax-float-error .ax-error-message:after{border-width:4px}\n"] }]
|
132
132
|
}], ctorParameters: () => [], propDecorators: { input: [{
|
133
133
|
type: ContentChild,
|
134
134
|
args: [AXValuableComponent]
|
package/esm2022/image-editor/lib/image-editor-container/image-editor-container.component.mjs
CHANGED
@@ -14,10 +14,10 @@ export class AXImageEditorContainerComponent extends MXLookComponent {
|
|
14
14
|
this.service = inject(AXImageEditorService);
|
15
15
|
}
|
16
16
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXImageEditorContainerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
17
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXImageEditorContainerComponent, selector: "ax-image-editor-container", providers: [AXImageEditorService], usesInheritance: true, ngImport: i0, template: "@if (service.isImageLoad()) {\n <div class=\"ax-editor-container ax-look-solid\">\n <ng-content> </ng-content>\n </div>\n} @else {\n <ax-loading-spinner [size]=\"16\" color=\"primary\" text=\"Loading Image ...\"></ax-loading-spinner>\n}\n", styles: ["ax-image-editor-container{display:flex;justify-content:center;align-items:center}ax-image-editor-container>.ax-editor-container{display:flex;flex-direction:column;justify-content:center;align-items:center;height:auto!important}\n"], dependencies: [{ kind: "component", type: i1.AXLoadingSpinnerComponent, selector: "ax-loading-spinner", inputs: ["text", "color", "size", "stroke"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
17
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXImageEditorContainerComponent, selector: "ax-image-editor-container", providers: [AXImageEditorService], usesInheritance: true, ngImport: i0, template: "@if (service.isImageLoad()) {\n <div class=\"ax-editor-container ax-look-solid\">\n <ng-content> </ng-content>\n </div>\n} @else {\n <ax-loading-spinner [size]=\"16\" color=\"primary\" text=\"Loading Image ...\"></ax-loading-spinner>\n}\n", styles: ["ax-image-editor-container{display:flex;justify-content:center;align-items:center;width:100%}ax-image-editor-container>.ax-editor-container{display:flex;flex-direction:column;justify-content:center;align-items:center;height:auto!important}\n"], dependencies: [{ kind: "component", type: i1.AXLoadingSpinnerComponent, selector: "ax-loading-spinner", inputs: ["text", "color", "size", "stroke"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
18
18
|
}
|
19
19
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXImageEditorContainerComponent, decorators: [{
|
20
20
|
type: Component,
|
21
|
-
args: [{ selector: 'ax-image-editor-container', encapsulation: ViewEncapsulation.None, providers: [AXImageEditorService], template: "@if (service.isImageLoad()) {\n <div class=\"ax-editor-container ax-look-solid\">\n <ng-content> </ng-content>\n </div>\n} @else {\n <ax-loading-spinner [size]=\"16\" color=\"primary\" text=\"Loading Image ...\"></ax-loading-spinner>\n}\n", styles: ["ax-image-editor-container{display:flex;justify-content:center;align-items:center}ax-image-editor-container>.ax-editor-container{display:flex;flex-direction:column;justify-content:center;align-items:center;height:auto!important}\n"] }]
|
21
|
+
args: [{ selector: 'ax-image-editor-container', encapsulation: ViewEncapsulation.None, providers: [AXImageEditorService], template: "@if (service.isImageLoad()) {\n <div class=\"ax-editor-container ax-look-solid\">\n <ng-content> </ng-content>\n </div>\n} @else {\n <ax-loading-spinner [size]=\"16\" color=\"primary\" text=\"Loading Image ...\"></ax-loading-spinner>\n}\n", styles: ["ax-image-editor-container{display:flex;justify-content:center;align-items:center;width:100%}ax-image-editor-container>.ax-editor-container{display:flex;flex-direction:column;justify-content:center;align-items:center;height:auto!important}\n"] }]
|
22
22
|
}] });
|
23
23
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtZWRpdG9yLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvaW1hZ2UtZWRpdG9yL3NyYy9saWIvaW1hZ2UtZWRpdG9yLWNvbnRhaW5lci9pbWFnZS1lZGl0b3ItY29udGFpbmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9pbWFnZS1lZGl0b3Ivc3JjL2xpYi9pbWFnZS1lZGl0b3ItY29udGFpbmVyL2ltYWdlLWVkaXRvci1jb250YWluZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7QUFFL0Q7OztHQUdHO0FBUUgsTUFBTSxPQUFPLCtCQUFnQyxTQUFRLGVBQWU7SUFQcEU7O1FBUUUsY0FBYztRQUNKLFlBQU8sR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztLQUNsRDs4R0FIWSwrQkFBK0I7a0dBQS9CLCtCQUErQixvREFGL0IsQ0FBQyxvQkFBb0IsQ0FBQyxpRENibkMsc1BBT0E7OzJGRFFhLCtCQUErQjtrQkFQM0MsU0FBUzsrQkFDRSwyQkFBMkIsaUJBR3RCLGlCQUFpQixDQUFDLElBQUksYUFDMUIsQ0FBQyxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1YTG9va0NvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWEltYWdlRWRpdG9yU2VydmljZSB9IGZyb20gJy4uL2ltYWdlLWVkaXRvci5zZXJ2aWNlJztcblxuLyoqXG4gKiBwYWludCBjb250YWluZXIuXG4gKiBAY2F0ZWdvcnkgQ29tcG9uZW50c1xuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1pbWFnZS1lZGl0b3ItY29udGFpbmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ltYWdlLWVkaXRvci1jb250YWluZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vaW1hZ2UtZWRpdG9yLWNvbnRhaW5lci5jb21wb25lbnQuc2NzcycsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHByb3ZpZGVyczogW0FYSW1hZ2VFZGl0b3JTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhJbWFnZUVkaXRvckNvbnRhaW5lckNvbXBvbmVudCBleHRlbmRzIE1YTG9va0NvbXBvbmVudCB7XG4gIC8qKiBAaWdub3JlICovXG4gIHByb3RlY3RlZCBzZXJ2aWNlID0gaW5qZWN0KEFYSW1hZ2VFZGl0b3JTZXJ2aWNlKTtcbn1cbiIsIkBpZiAoc2VydmljZS5pc0ltYWdlTG9hZCgpKSB7XG4gIDxkaXYgY2xhc3M9XCJheC1lZGl0b3ItY29udGFpbmVyIGF4LWxvb2stc29saWRcIj5cbiAgICA8bmctY29udGVudD4gPC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbn0gQGVsc2Uge1xuICA8YXgtbG9hZGluZy1zcGlubmVyIFtzaXplXT1cIjE2XCIgY29sb3I9XCJwcmltYXJ5XCIgdGV4dD1cIkxvYWRpbmcgSW1hZ2UgLi4uXCI+PC9heC1sb2FkaW5nLXNwaW5uZXI+XG59XG4iXX0=
|
@@ -128,6 +128,7 @@ export class AXRatePickerComponent extends MXValueComponent {
|
|
128
128
|
}
|
129
129
|
else {
|
130
130
|
this.commitValue(Number(value.toFixed(decimals)));
|
131
|
+
this.mouseEnter();
|
131
132
|
}
|
132
133
|
}
|
133
134
|
}
|
@@ -249,4 +250,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
249
250
|
type: HostBinding,
|
250
251
|
args: ['class.disable']
|
251
252
|
}] } });
|
252
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmF0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3JhdGUtcGlja2VyL3NyYy9saWIvcmF0ZS1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3JhdGUtcGlja2VyL3NyYy9saWIvcmF0ZS1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEYsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsUUFBUSxFQUNSLE1BQU0sRUFFTixVQUFVLEVBQ1YsV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBQ0wsU0FBUyxFQUNULE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQUU3RDs7Ozs7Ozs7R0FRRztBQWlCSCxNQUFNLE9BQU8scUJBQXNCLFNBQVEsZ0JBQXdCO0lBZ0ZqRTs7O09BR0c7SUFDSDtRQUNFLEtBQUssRUFBRSxDQUFDO1FBcEZWOzs7O1dBSUc7UUFDSCxhQUFRLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRTVCOzs7OztXQUtHO1FBQ0gsUUFBRyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVmOzs7OztXQUtHO1FBQ0gsU0FBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVuQjs7OztXQUlHO1FBQ0gsa0JBQWEsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFNUI7OztXQUdHO1FBQ08sbUJBQWMs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cEU7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztnQkFDcEQsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLG1RQzFDSCxvdEJBcUJBOzsyRkR1QmEscUJBQXFCO2tCQWhCakMsU0FBUzsrQkFDRSxnQkFBZ0IsaUJBR1gsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxVQUN2QyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsYUFDckI7d0JBQ1QsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyx1QkFBdUIsRUFBRTt3QkFDcEU7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsc0JBQXNCLENBQUM7NEJBQ3BELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO3dEQW9OZ0MsUUFBUTtzQkFBeEMsV0FBVzt1QkFBQyxjQUFjO2dCQVFRLFVBQVU7c0JBQTVDLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQVFLLFVBQVU7c0JBQTNDLFdBQVc7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYVmFsdWFibGVDb21wb25lbnQsIE1YVmFsdWVDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIGNvbXB1dGVkLFxuICBlZmZlY3QsXG4gIEVsZW1lbnRSZWYsXG4gIGZvcndhcmRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBSZW5kZXJlcjIsXG4gIHNpZ25hbCxcbiAgdmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGdldFBvaW50ZXJQZXJjZW50YWdlIH0gZnJvbSAnLi9jYWxjdWxhdGVQZXJjZW50YWdlJztcblxuLyoqXG4gKiBAZGVzY3JpcHRpb25cbiAqIFRoZSBgQVhSYXRlUGlja2VyQ29tcG9uZW50YCBwcm92aWRlcyBhIGN1c3RvbWl6YWJsZSByYXRpbmcgcGlja2VyLlxuICogVGhlIGNvbXBvbmVudCBhbGxvd3MgdXNlcnMgdG8gc2VsZWN0IGEgcmF0aW5nIGJldHdlZW4gMCBhbmQgdGhlIGRlZmluZWQgbWF4aW11bS5cbiAqIEl0IHN1cHBvcnRzIHRyYW5zaXRpb25zLCBkeW5hbWljIHZhbHVlIGNoYW5nZXMsIGFuZCBob3ZlciBzdGF0ZXMuXG4gKlxuICogQGV4YW1wbGVcbiAqIDxheC1yYXRlLXBpY2tlciBbbWF4XT1cIjVcIiBbcmVhZG9ubHldPVwiZmFsc2VcIiBbZGlzYWJsZWRdPVwiZmFsc2VcIj48L2F4LXJhdGUtcGlja2VyPlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1yYXRlLXBpY2tlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9yYXRlLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3JhdGUtcGlja2VyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbnB1dHM6IFsncmVhZG9ubHknLCAnZGlzYWJsZWQnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBBWFZhbHVhYmxlQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhSYXRlUGlja2VyQ29tcG9uZW50IH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBBWFJhdGVQaWNrZXJDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhSYXRlUGlja2VyQ29tcG9uZW50IGV4dGVuZHMgTVhWYWx1ZUNvbXBvbmVudDxudW1iZXI+IHtcbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBUaGUgaWNvbiB0byBiZSB1c2VkIGZvciBlYWNoIHJhdGluZyBwb2ludC5cbiAgICogQGRlZmF1bHQgJ2ZhLXN0YXInXG4gICAqL1xuICBpY29uTmFtZSA9IGlucHV0KCdmYS1zdGFyJyk7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBNYXhpbXVtIHZhbHVlIGZvciB0aGUgcmF0aW5nLlxuICAgKiBEZWZpbmVzIGhvdyBtYW55IHJhdGluZyBwb2ludHMgYXJlIGF2YWlsYWJsZS5cbiAgICogQGRlZmF1bHQgNVxuICAgKi9cbiAgbWF4ID0gaW5wdXQoNSk7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBEZWZpbmVzIHRoZSBzdGVwIGluY3JlbWVudCBiZXR3ZWVuIHJhdGluZyB2YWx1ZXMuXG4gICAqIFRoZSByYXRpbmcgdmFsdWUgd2lsbCBiZSByb3VuZGVkIHRvIHRoZSBuZWFyZXN0IG11bHRpcGxlIG9mIHRoaXMgc3RlcC5cbiAgICogQGRlZmF1bHQgMC4wMVxuICAgKi9cbiAgc3RlcCA9IGlucHV0KDAuMDEpO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogV2hldGhlciB0aGUgcmF0aW5nIHNob3VsZCBoYXZlIGEgdHJhbnNpdGlvbiBlZmZlY3Qgd2hlbiBjaGFuZ2luZyB2YWx1ZXMuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIGhhc1RyYW5zaXRpb24gPSBpbnB1dCh0cnVlKTtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFRoZSBwZXJjZW50YWdlIG9mIHRoZSBjdXJyZW50IHJhdGluZyB2YWx1ZSByZWxhdGl2ZSB0byB0aGUgbWF4aW11bSByYXRpbmcuXG4gICAqL1xuICBwcm90ZWN0ZWQgcmF0ZVBlcmNlbnRhZ2UgPSBjb21wdXRlZCgoKSA9PiBNYXRoLnJvdW5kKCh0aGlzLmN1cnJlbnRWYWx1ZSgpIC8gdGhpcy5tYXgoKSkgKiAxMDAwMCkgLyAxMDApO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogVGhlIGN1cnJlbnQgcmF0aW5nIHZhbHVlIGFzIGEgc2lnbmFsLlxuICAgKi9cbiAgcHJpdmF0ZSBjdXJyZW50VmFsdWUgPSBzaWduYWwodGhpcy5tYXgoKSk7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBTdGF0ZSBmb3IgdHJhY2tpbmcgaG92ZXIgc3RhdHVzIGFuZCBwcmV2aW91cyB2YWx1ZS5cbiAgICovXG4gIHByaXZhdGUgcHJldlN0YXRlOiB7IGlzaG92ZXI6IGJvb2xlYW47IHByZXZpb3VzVmFsdWU/OiBudW1iZXIgfSA9IHtcbiAgICBpc2hvdmVyOiBmYWxzZSxcbiAgICBwcmV2aW91c1ZhbHVlOiB1bmRlZmluZWQsXG4gIH07XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBSZWZlcmVuY2UgdG8gdGhlIGNvbnRhaW5lciBlbGVtZW50LlxuICAgKi9cbiAgY29udGFpbmVyRWwgPSB2aWV3Q2hpbGQucmVxdWlyZWQ8RWxlbWVudFJlZj4oJ2MnKTtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFJlZmVyZW5jZSB0byB0aGUgcmF0aW5nIGVsZW1lbnQuXG4gICAqL1xuICByYXRpbmdFbCA9IHZpZXdDaGlsZC5yZXF1aXJlZDxFbGVtZW50UmVmPigncicpO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogUmVuZGVyZXIgZm9yIG1hbmlwdWxhdGluZyBzdHlsZXMuXG4gICAqL1xuICByZW5kZXJlciA9IGluamVjdChSZW5kZXJlcjIpO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQXJyYXkgb2YgcmF0aW5nIHZhbHVlcyBmcm9tIDEgdG8gYG1heGAuXG4gICAqL1xuICBwcm90ZWN0ZWQgcmF0ZXMgPSBjb21wdXRlZCgoKSA9PlxuICAgIEFycmF5KHRoaXMubWF4KCkpXG4gICAgICAuZmlsbCgwKVxuICAgICAgLm1hcCgoXywgaW5kZXgpID0+IGluZGV4ICsgMSksXG4gICk7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBJbml0aWFsaXplcyB0aGUgY29tcG9uZW50IGFuZCBzZXRzIHVwIHZhbHVlIGNoYW5nZSBzdWJzY3JpcHRpb24uXG4gICAqL1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAoIXRoaXMuaGFzVHJhbnNpdGlvbigpKSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlU3R5bGUodGhpcy5yYXRpbmdFbCgpLm5hdGl2ZUVsZW1lbnQsICd0cmFuc2l0aW9uJyk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdGhpcy5oYXNUcmFuc2l0aW9uKCk7XG4gICAgfSk7XG4gICAgdGhpcy5vblZhbHVlQ2hhbmdlZC5zdWJzY3JpYmUoKHZhbDogeyB2YWx1ZSB9KSA9PiB7XG4gICAgICBpZiAodmFsLnZhbHVlIDwgMCkge1xuICAgICAgICB0aGlzLmN1cnJlbnRWYWx1ZS5zZXQoMCk7XG4gICAgICAgIGNvbnNvbGUud2FybignYXgtcmF0ZS1waWNrZXI6IHZhbHVlIGNhbnQgYmUgbmVnYXRpdmUhJyk7XG4gICAgICB9IGVsc2UgaWYgKHZhbC52YWx1ZSA+IHRoaXMubWF4KCkpIHtcbiAgICAgICAgdGhpcy5jdXJyZW50VmFsdWUuc2V0KHRoaXMubWF4KCkpO1xuICAgICAgICBjb25zb2xlLndhcm4oJ2F4LXJhdGUtcGlja2VyOiB2YWx1ZSBjYW50IGJlIG1vcmUgdGhhbiBtYXghJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmN1cnJlbnRWYWx1ZS5zZXQodmFsLnZhbHVlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQ2FsY3VsYXRlcyBhbmQgdXBkYXRlcyB0aGUgcmF0aW5nIGJhc2VkIG9uIHRoZSBtb3VzZSBvciB0b3VjaCBldmVudC5cbiAgICpcbiAgICogQHBhcmFtIGV2ZW50IC0gVGhlIG1vdXNlIG9yIHRvdWNoIGV2ZW50IHRyaWdnZXJpbmcgdGhlIHJhdGluZyBjYWxjdWxhdGlvbi5cbiAgICovXG4gIHByb3RlY3RlZCBjYWxjdWxhdGVSYXRlKGV2ZW50OiBNb3VzZUV2ZW50IHwgVG91Y2hFdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmhhc1RyYW5zaXRpb24oKSkge1xuICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVTdHlsZSh0aGlzLnJhdGluZ0VsKCkubmF0aXZlRWxlbWVudCwgJ3RyYW5zaXRpb24nKTtcbiAgICB9XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBpZiAoIXRoaXMucmVhZG9ubHkgJiYgIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIGNvbnN0IHBvaW50ZXJQZXJjZW50YWdlID0gZ2V0UG9pbnRlclBlcmNlbnRhZ2UoZXZlbnQpO1xuICAgICAgaWYgKHBvaW50ZXJQZXJjZW50YWdlID09PSAtMSkge1xuICAgICAgICByZXR1cm4gY29uc29sZS53YXJuKCdPbmx5IHN1cHBvcnQgdG91Y2ggYW5kIGNsaWNrIGV2ZW50cy4nKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5yb3VuZFRvU3RlcChwb2ludGVyUGVyY2VudGFnZSk7XG4gICAgICBjb25zdCBkZWNpbWFscyA9IHRoaXMuY291bnREZWNpbWFscyh0aGlzLnN0ZXAoKSk7XG4gICAgICBpZiAodGhpcy5wcmV2U3RhdGUuaXNob3ZlciA9PT0gdHJ1ZSkge1xuICAgICAgICB0aGlzLmN1cnJlbnRWYWx1ZS5zZXQodmFsdWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5jb21taXRWYWx1ZShOdW1iZXIodmFsdWUudG9GaXhlZChkZWNpbWFscykpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFJvdW5kcyB0aGUgcmF0aW5nIHZhbHVlIHRvIHRoZSBuZWFyZXN0IHN0ZXAuXG4gICAqXG4gICAqIEBwYXJhbSBwZXJjZW50YWdlIC0gVGhlIGNhbGN1bGF0ZWQgcGVyY2VudGFnZSBmcm9tIHBvaW50ZXIgZXZlbnQuXG4gICAqIEByZXR1cm5zIFRoZSByb3VuZGVkIHJhdGluZyB2YWx1ZS5cbiAgICovXG4gIHByaXZhdGUgcm91bmRUb1N0ZXAocGVyY2VudGFnZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBjb25zdCB2YWx1ZSA9IChwZXJjZW50YWdlIC8gMTAwKSAqIHRoaXMubWF4KCk7XG4gICAgY29uc3QgdmFsdWUyID0gTWF0aC5yb3VuZCh2YWx1ZSAvICh0aGlzLnN0ZXAoKSB8fCAwLjAxKSkgKiB0aGlzLnN0ZXAoKTtcbiAgICByZXR1cm4gdmFsdWUyO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBIYW5kbGVzIG1vdXNlIGVudGVyIGV2ZW50cyB0byBzdGFydCB0cmFja2luZyBtb3VzZSBtb3ZlbWVudHMgZm9yIHJhdGluZy5cbiAgICovXG4gIHByb3RlY3RlZCBtb3VzZUVudGVyKCkge1xuICAgIHRoaXMucHJldlN0YXRlID0ge1xuICAgICAgaXNob3ZlcjogdHJ1ZSxcbiAgICAgIHByZXZpb3VzVmFsdWU6IHRoaXMudmFsdWUsXG4gICAgfTtcbiAgICBpZiAodGhpcy5oYXNUcmFuc2l0aW9uKCkpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5yYXRpbmdFbCgpLm5hdGl2ZUVsZW1lbnQsICdvcGFjaXR5JywgJzgwJScpO1xuICAgIH1cbiAgICBjb25zdCBtb3ZlTGlzdGVuZXIgPSAobW92ZUV2ZW50OiBNb3VzZUV2ZW50IHwgVG91Y2hFdmVudCkgPT4gdGhpcy5jYWxjdWxhdGVSYXRlKG1vdmVFdmVudCk7XG4gICAgY29uc3QgZW5kTGlzdGVuZXIgPSAoKSA9PiB0aGlzLm9uRW5kKG1vdmVMaXN0ZW5lciwgZW5kTGlzdGVuZXIpO1xuICAgIGNvbnN0IGNvbnRhaW5lciA9IHRoaXMuY29udGFpbmVyRWwoKS5uYXRpdmVFbGVtZW50O1xuICAgIGNvbnRhaW5lci5hZGRFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCBtb3ZlTGlzdGVuZXIpO1xuICAgIGNvbnRhaW5lci5hZGRFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgZW5kTGlzdGVuZXIpO1xuICAgIGNvbnRhaW5lci5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWxlYXZlJywgZW5kTGlzdGVuZXIpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBIYW5kbGVzIG1vdXNlIGxlYXZlIGV2ZW50cyB0byByZXNldCBzdHlsZXMuXG4gICAqL1xuICBtb3VzZUxlYXZlKCkge1xuICAgIGlmICh0aGlzLmhhc1RyYW5zaXRpb24oKSkge1xuICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVTdHlsZSh0aGlzLnJhdGluZ0VsKCkubmF0aXZlRWxlbWVudCwgJ29wYWNpdHknKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIENsZWFucyB1cCBldmVudCBsaXN0ZW5lcnMgYW5kIHJlc3RvcmVzIHRoZSBwcmV2aW91cyByYXRpbmcgdmFsdWUuXG4gICAqXG4gICAqIEBwYXJhbSBtb3ZlTGlzdGVuZXIgLSBUaGUgZnVuY3Rpb24gdG8gcmVtb3ZlIGZvciBtb3VzZSBtb3ZlIGV2ZW50cy5cbiAgICogQHBhcmFtIGVuZExpc3RlbmVyIC0gVGhlIGZ1bmN0aW9uIHRvIHJlbW92ZSBmb3IgbW91c2UgZW5kIGV2ZW50cy5cbiAgICovXG4gIHByaXZhdGUgb25FbmQobW92ZUxpc3RlbmVyOiAoZXZlbnQ6IE1vdXNlRXZlbnQgfCBUb3VjaEV2ZW50KSA9PiB2b2lkLCBlbmRMaXN0ZW5lcjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmhhc1RyYW5zaXRpb24oKSkge1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgdGhpcy5yYXRpbmdFbCgpLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICd0cmFuc2l0aW9uJyxcbiAgICAgICAgYHdpZHRoICR7dGhpcy5tYXgoKSAqIDUwICsgMjUwfW1zIGN1YmljLWJlemllcigwLjI5LCAwLjcyLCAwLjY4LCAwLjg1KWAsXG4gICAgICApO1xuICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVTdHlsZSh0aGlzLnJhdGluZ0VsKCkubmF0aXZlRWxlbWVudCwgJ29wYWNpdHknKTtcbiAgICB9XG4gICAgdGhpcy5jdXJyZW50VmFsdWUuc2V0KHRoaXMucHJldlN0YXRlLnByZXZpb3VzVmFsdWUpO1xuICAgIHRoaXMucHJldlN0YXRlID0ge1xuICAgICAgaXNob3ZlcjogZmFsc2UsXG4gICAgICBwcmV2aW91c1ZhbHVlOiB1bmRlZmluZWQsXG4gICAgfTtcbiAgICBjb25zdCBjb250YWluZXIgPSB0aGlzLmNvbnRhaW5lckVsKCkubmF0aXZlRWxlbWVudDtcbiAgICBjb250YWluZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgbW92ZUxpc3RlbmVyKTtcbiAgICBjb250YWluZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsIGVuZExpc3RlbmVyKTtcbiAgICBjb250YWluZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2VsZWF2ZScsIGVuZExpc3RlbmVyKTtcbiAgfVxuXG4gIHByaXZhdGUgY291bnREZWNpbWFscyhudW1iZXI6IG51bWJlcik6IG51bWJlciB7XG4gICAgaWYgKE1hdGguZmxvb3IobnVtYmVyKSA9PT0gbnVtYmVyKSByZXR1cm4gMDtcbiAgICByZXR1cm4gbnVtYmVyLnRvU3RyaW5nKCkuc3BsaXQoJy4nKVsxXS5sZW5ndGggfHwgMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogRGV0ZXJtaW5lcyBpZiB0aGUgY29tcG9uZW50IGlzIGFjdGl2ZSAoaS5lLiwgbm90IHJlYWRvbmx5IG9yIGRpc2FibGVkKS5cbiAgICovXG4gIEBIb3N0QmluZGluZygnY2xhc3MuYWN0aXZlJykgZ2V0IGlzQWN0aXZlKCkge1xuICAgIHJldHVybiAhdGhpcy5yZWFkb25seSAmJiAhdGhpcy5kaXNhYmxlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogRGV0ZXJtaW5lcyBpZiB0aGUgY29tcG9uZW50IGlzIGluIHJlYWRvbmx5IG1vZGUuXG4gICAqL1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnJlYWRvbmx5JykgZ2V0IGlzUmVhZG9ubHkoKSB7XG4gICAgcmV0dXJuIHRoaXMucmVhZG9ubHk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIERldGVybWluZXMgaWYgdGhlIGNvbXBvbmVudCBpcyBkaXNhYmxlZC5cbiAgICovXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZGlzYWJsZScpIGdldCBpc0Rpc2FibGVkKCkge1xuICAgIHJldHVybiB0aGlzLmRpc2FibGVkO1xuICB9XG59XG4iLCI8ZGl2XG4gICNjXG4gIGNsYXNzPVwiYXgtcmF0ZS1waWNrZXItY29udGFpbmVyXCJcbiAgKGNsaWNrKT1cImNhbGN1bGF0ZVJhdGUoJGV2ZW50KVwiXG4gICh0b3VjaHN0YXJ0KT1cImNhbGN1bGF0ZVJhdGUoJGV2ZW50KVwiXG4gIChtb3VzZWVudGVyKT1cIm1vdXNlRW50ZXIoKVwiXG4gIChtb3VzZWxlYXZlKT1cIm1vdXNlTGVhdmUoKVwiXG4+XG4gIDxkaXYgI3IgY2xhc3M9XCJheC1yYXRlLXBpY2tlci1yYXRpbmdcIiBbc3R5bGUud2lkdGguJV09XCJyYXRlUGVyY2VudGFnZSgpXCI+XG4gICAgPGRpdiBjbGFzcz1cImF4LXJhdGUtcGlja2VyLWljb25zIGF4LXJwLWFjdGl2ZVwiPlxuICAgICAgQGZvciAocmF0ZSBvZiByYXRlcygpOyB0cmFjayByYXRlKSB7XG4gICAgICAgIDxpIGNsYXNzPVwiYXgtcmF0ZS1waWNrZXItaWNvbiBmYS1zb2xpZFwiIFtjbGFzc109XCJpY29uTmFtZSgpXCIgW2NsYXNzLnBvaW50ZXJdPVwiIXRoaXMucmVhZG9ubHlcIj48L2k+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiYXgtcmF0ZS1waWNrZXItaWNvbnMgYXgtcnAtaW5hY3RpdmVcIj5cbiAgICBAZm9yIChyYXRlIG9mIHJhdGVzKCk7IHRyYWNrIHJhdGUpIHtcbiAgICAgIDxpIGNsYXNzPVwiYXgtcmF0ZS1waWNrZXItaWNvbiBmYS1zb2xpZFwiIFtjbGFzc109XCJpY29uTmFtZSgpXCI+PC9pPlxuICAgIH1cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
253
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmF0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3JhdGUtcGlja2VyL3NyYy9saWIvcmF0ZS1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3JhdGUtcGlja2VyL3NyYy9saWIvcmF0ZS1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEYsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsUUFBUSxFQUNSLE1BQU0sRUFFTixVQUFVLEVBQ1YsV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBQ0wsU0FBUyxFQUNULE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQUU3RDs7Ozs7Ozs7R0FRRztBQWlCSCxNQUFNLE9BQU8scUJBQXNCLFNBQVEsZ0JBQXdCO0lBZ0ZqRTs7O09BR0c7SUFDSDtRQUNFLEtBQUssRUFBRSxDQUFDO1FBcEZWOzs7O1dBSUc7UUFDSCxhQUFRLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRTVCOzs7OztXQUtHO1FBQ0gsUUFBRyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVmOzs7OztXQUtHO1FBQ0gsU0FBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVuQjs7OztXQUlHO1FBQ0gsa0JBQWEsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFNUI7OztXQUdHO1FBQ08sbUJBQWMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQztRQUV4Rzs7O1dBR0c7UUFDSyxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUUxQzs7O1dBR0c7UUFDSyxjQUFTLEdBQWlEO1lBQ2hFLE9BQU8sRUFBRSxLQUFLO1lBQ2QsYUFBYSxFQUFFLFNBQVM7U0FDekIsQ0FBQztRQUVGOzs7V0FHRztRQUNILGdCQUFXLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBYSxHQUFHLENBQUMsQ0FBQztRQUVsRDs7O1dBR0c7UUFDSCxhQUFRLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBYSxHQUFHLENBQUMsQ0FBQztRQUUvQzs7O1dBR0c7UUFDSCxhQUFRLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRTdCOzs7V0FHRztRQUNPLFVBQUssR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQzlCLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7YUFDZCxJQUFJLENBQUMsQ0FBQyxDQUFDO2FBQ1AsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUNoQyxDQUFDO1FBUUEsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNWLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQztnQkFDMUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLGFBQWEsRUFBRSxZQUFZLENBQUMsQ0FBQztZQUN6RSxDQUFDO1lBQ0QsT0FBTyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDOUIsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQWMsRUFBRSxFQUFFO1lBQy9DLElBQUksR0FBRyxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDbEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3pCLE9BQU8sQ0FBQyxJQUFJLENBQUMseUNBQXlDLENBQUMsQ0FBQztZQUMxRCxDQUFDO2lCQUFNLElBQUksR0FBRyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQztnQkFDbEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7Z0JBQ2xDLE9BQU8sQ0FBQyxJQUFJLENBQUMsOENBQThDLENBQUMsQ0FBQztZQUMvRCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ25DLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNPLGFBQWEsQ0FBQyxLQUE4QjtRQUNwRCxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxhQUFhLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDekUsQ0FBQztRQUNELEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNyQyxNQUFNLGlCQUFpQixHQUFHLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3RELElBQUksaUJBQWlCLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDN0IsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLHNDQUFzQyxDQUFDLENBQUM7WUFDOUQsQ0FBQztZQUNELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZQUNsRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQ2pELElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEtBQUssSUFBSSxFQUFFLENBQUM7Z0JBQ3BDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQy9CLENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDbEQsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3BCLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNLLFdBQVcsQ0FBQyxVQUFrQjtRQUNwQyxNQUFNLEtBQUssR0FBRyxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDOUMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdkUsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVEOzs7T0FHRztJQUNPLFVBQVU7UUFDbEIsSUFBSSxDQUFDLFNBQVMsR0FBRztZQUNmLE9BQU8sRUFBRSxJQUFJO1lBQ2IsYUFBYSxFQUFFLElBQUksQ0FBQyxLQUFLO1NBQzFCLENBQUM7UUFDRixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxhQUFhLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzFFLENBQUM7UUFDRCxNQUFNLFlBQVksR0FBRyxDQUFDLFNBQWtDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDM0YsTUFBTSxXQUFXLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDaEUsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLGFBQWEsQ0FBQztRQUNuRCxTQUFTLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQ3RELFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDbkQsU0FBUyxDQUFDLGdCQUFnQixDQUFDLFlBQVksRUFBRSxXQUFXLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsVUFBVTtRQUNSLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUN0RSxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNLLEtBQUssQ0FBQyxZQUFzRCxFQUFFLFdBQXVCO1FBQzNGLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQ3BCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxhQUFhLEVBQzdCLFlBQVksRUFDWixTQUFTLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsR0FBRyx5Q0FBeUMsQ0FDeEUsQ0FBQztZQUNGLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxhQUFhLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDdEUsQ0FBQztRQUNELElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLFNBQVMsR0FBRztZQUNmLE9BQU8sRUFBRSxLQUFLO1lBQ2QsYUFBYSxFQUFFLFNBQVM7U0FDekIsQ0FBQztRQUNGLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxhQUFhLENBQUM7UUFDbkQsU0FBUyxDQUFDLG1CQUFtQixDQUFDLFdBQVcsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUN6RCxTQUFTLENBQUMsbUJBQW1CLENBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ3RELFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVPLGFBQWEsQ0FBQyxNQUFjO1FBQ2xDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxNQUFNO1lBQUUsT0FBTyxDQUFDLENBQUM7UUFDNUMsT0FBTyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQWlDLFFBQVE7UUFDdkMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQzFDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUFtQyxVQUFVO1FBQzNDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBa0MsVUFBVTtRQUMxQyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQzs4R0FyT1UscUJBQXFCO2tHQUFyQixxQkFBcUIscTdCQVRyQjtZQUNULEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxxQkFBcUIsRUFBRTtZQUNwRTtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHFCQUFxQixDQUFDO2dCQUNwRCxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsbVFDMUNILG90QkFxQkE7OzJGRHVCYSxxQkFBcUI7a0JBaEJqQyxTQUFTOytCQUNFLGdCQUFnQixpQkFHWCxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLFVBQ3ZDLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxhQUNyQjt3QkFDVCxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLHVCQUF1QixFQUFFO3dCQUNwRTs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxzQkFBc0IsQ0FBQzs0QkFDcEQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7d0RBcU5nQyxRQUFRO3NCQUF4QyxXQUFXO3VCQUFDLGNBQWM7Z0JBUVEsVUFBVTtzQkFBNUMsV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBUUssVUFBVTtzQkFBM0MsV0FBVzt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhWYWx1YWJsZUNvbXBvbmVudCwgTVhWYWx1ZUNvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgY29tcHV0ZWQsXG4gIGVmZmVjdCxcbiAgRWxlbWVudFJlZixcbiAgZm9yd2FyZFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIFJlbmRlcmVyMixcbiAgc2lnbmFsLFxuICB2aWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgZ2V0UG9pbnRlclBlcmNlbnRhZ2UgfSBmcm9tICcuL2NhbGN1bGF0ZVBlcmNlbnRhZ2UnO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvblxuICogVGhlIGBBWFJhdGVQaWNrZXJDb21wb25lbnRgIHByb3ZpZGVzIGEgY3VzdG9taXphYmxlIHJhdGluZyBwaWNrZXIuXG4gKiBUaGUgY29tcG9uZW50IGFsbG93cyB1c2VycyB0byBzZWxlY3QgYSByYXRpbmcgYmV0d2VlbiAwIGFuZCB0aGUgZGVmaW5lZCBtYXhpbXVtLlxuICogSXQgc3VwcG9ydHMgdHJhbnNpdGlvbnMsIGR5bmFtaWMgdmFsdWUgY2hhbmdlcywgYW5kIGhvdmVyIHN0YXRlcy5cbiAqXG4gKiBAZXhhbXBsZVxuICogPGF4LXJhdGUtcGlja2VyIFttYXhdPVwiNVwiIFtyZWFkb25seV09XCJmYWxzZVwiIFtkaXNhYmxlZF09XCJmYWxzZVwiPjwvYXgtcmF0ZS1waWNrZXI+XG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LXJhdGUtcGlja2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JhdGUtcGlja2VyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmF0ZS1waWNrZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGlucHV0czogWydyZWFkb25seScsICdkaXNhYmxlZCddLFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IEFYVmFsdWFibGVDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWFJhdGVQaWNrZXJDb21wb25lbnQgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEFYUmF0ZVBpY2tlckNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBWFJhdGVQaWNrZXJDb21wb25lbnQgZXh0ZW5kcyBNWFZhbHVlQ29tcG9uZW50PG51bWJlcj4ge1xuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFRoZSBpY29uIHRvIGJlIHVzZWQgZm9yIGVhY2ggcmF0aW5nIHBvaW50LlxuICAgKiBAZGVmYXVsdCAnZmEtc3RhcidcbiAgICovXG4gIGljb25OYW1lID0gaW5wdXQoJ2ZhLXN0YXInKTtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIE1heGltdW0gdmFsdWUgZm9yIHRoZSByYXRpbmcuXG4gICAqIERlZmluZXMgaG93IG1hbnkgcmF0aW5nIHBvaW50cyBhcmUgYXZhaWxhYmxlLlxuICAgKiBAZGVmYXVsdCA1XG4gICAqL1xuICBtYXggPSBpbnB1dCg1KTtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIERlZmluZXMgdGhlIHN0ZXAgaW5jcmVtZW50IGJldHdlZW4gcmF0aW5nIHZhbHVlcy5cbiAgICogVGhlIHJhdGluZyB2YWx1ZSB3aWxsIGJlIHJvdW5kZWQgdG8gdGhlIG5lYXJlc3QgbXVsdGlwbGUgb2YgdGhpcyBzdGVwLlxuICAgKiBAZGVmYXVsdCAwLjAxXG4gICAqL1xuICBzdGVwID0gaW5wdXQoMC4wMSk7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBXaGV0aGVyIHRoZSByYXRpbmcgc2hvdWxkIGhhdmUgYSB0cmFuc2l0aW9uIGVmZmVjdCB3aGVuIGNoYW5naW5nIHZhbHVlcy5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgaGFzVHJhbnNpdGlvbiA9IGlucHV0KHRydWUpO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogVGhlIHBlcmNlbnRhZ2Ugb2YgdGhlIGN1cnJlbnQgcmF0aW5nIHZhbHVlIHJlbGF0aXZlIHRvIHRoZSBtYXhpbXVtIHJhdGluZy5cbiAgICovXG4gIHByb3RlY3RlZCByYXRlUGVyY2VudGFnZSA9IGNvbXB1dGVkKCgpID0+IE1hdGgucm91bmQoKHRoaXMuY3VycmVudFZhbHVlKCkgLyB0aGlzLm1heCgpKSAqIDEwMDAwKSAvIDEwMCk7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBUaGUgY3VycmVudCByYXRpbmcgdmFsdWUgYXMgYSBzaWduYWwuXG4gICAqL1xuICBwcml2YXRlIGN1cnJlbnRWYWx1ZSA9IHNpZ25hbCh0aGlzLm1heCgpKTtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFN0YXRlIGZvciB0cmFja2luZyBob3ZlciBzdGF0dXMgYW5kIHByZXZpb3VzIHZhbHVlLlxuICAgKi9cbiAgcHJpdmF0ZSBwcmV2U3RhdGU6IHsgaXNob3ZlcjogYm9vbGVhbjsgcHJldmlvdXNWYWx1ZT86IG51bWJlciB9ID0ge1xuICAgIGlzaG92ZXI6IGZhbHNlLFxuICAgIHByZXZpb3VzVmFsdWU6IHVuZGVmaW5lZCxcbiAgfTtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFJlZmVyZW5jZSB0byB0aGUgY29udGFpbmVyIGVsZW1lbnQuXG4gICAqL1xuICBjb250YWluZXJFbCA9IHZpZXdDaGlsZC5yZXF1aXJlZDxFbGVtZW50UmVmPignYycpO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogUmVmZXJlbmNlIHRvIHRoZSByYXRpbmcgZWxlbWVudC5cbiAgICovXG4gIHJhdGluZ0VsID0gdmlld0NoaWxkLnJlcXVpcmVkPEVsZW1lbnRSZWY+KCdyJyk7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBSZW5kZXJlciBmb3IgbWFuaXB1bGF0aW5nIHN0eWxlcy5cbiAgICovXG4gIHJlbmRlcmVyID0gaW5qZWN0KFJlbmRlcmVyMik7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBBcnJheSBvZiByYXRpbmcgdmFsdWVzIGZyb20gMSB0byBgbWF4YC5cbiAgICovXG4gIHByb3RlY3RlZCByYXRlcyA9IGNvbXB1dGVkKCgpID0+XG4gICAgQXJyYXkodGhpcy5tYXgoKSlcbiAgICAgIC5maWxsKDApXG4gICAgICAubWFwKChfLCBpbmRleCkgPT4gaW5kZXggKyAxKSxcbiAgKTtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEluaXRpYWxpemVzIHRoZSBjb21wb25lbnQgYW5kIHNldHMgdXAgdmFsdWUgY2hhbmdlIHN1YnNjcmlwdGlvbi5cbiAgICovXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIGlmICghdGhpcy5oYXNUcmFuc2l0aW9uKCkpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVTdHlsZSh0aGlzLnJhdGluZ0VsKCkubmF0aXZlRWxlbWVudCwgJ3RyYW5zaXRpb24nKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0aGlzLmhhc1RyYW5zaXRpb24oKTtcbiAgICB9KTtcbiAgICB0aGlzLm9uVmFsdWVDaGFuZ2VkLnN1YnNjcmliZSgodmFsOiB7IHZhbHVlIH0pID0+IHtcbiAgICAgIGlmICh2YWwudmFsdWUgPCAwKSB7XG4gICAgICAgIHRoaXMuY3VycmVudFZhbHVlLnNldCgwKTtcbiAgICAgICAgY29uc29sZS53YXJuKCdheC1yYXRlLXBpY2tlcjogdmFsdWUgY2FudCBiZSBuZWdhdGl2ZSEnKTtcbiAgICAgIH0gZWxzZSBpZiAodmFsLnZhbHVlID4gdGhpcy5tYXgoKSkge1xuICAgICAgICB0aGlzLmN1cnJlbnRWYWx1ZS5zZXQodGhpcy5tYXgoKSk7XG4gICAgICAgIGNvbnNvbGUud2FybignYXgtcmF0ZS1waWNrZXI6IHZhbHVlIGNhbnQgYmUgbW9yZSB0aGFuIG1heCEnKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuY3VycmVudFZhbHVlLnNldCh2YWwudmFsdWUpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBDYWxjdWxhdGVzIGFuZCB1cGRhdGVzIHRoZSByYXRpbmcgYmFzZWQgb24gdGhlIG1vdXNlIG9yIHRvdWNoIGV2ZW50LlxuICAgKlxuICAgKiBAcGFyYW0gZXZlbnQgLSBUaGUgbW91c2Ugb3IgdG91Y2ggZXZlbnQgdHJpZ2dlcmluZyB0aGUgcmF0aW5nIGNhbGN1bGF0aW9uLlxuICAgKi9cbiAgcHJvdGVjdGVkIGNhbGN1bGF0ZVJhdGUoZXZlbnQ6IE1vdXNlRXZlbnQgfCBUb3VjaEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaGFzVHJhbnNpdGlvbigpKSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZVN0eWxlKHRoaXMucmF0aW5nRWwoKS5uYXRpdmVFbGVtZW50LCAndHJhbnNpdGlvbicpO1xuICAgIH1cbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGlmICghdGhpcy5yZWFkb25seSAmJiAhdGhpcy5kaXNhYmxlZCkge1xuICAgICAgY29uc3QgcG9pbnRlclBlcmNlbnRhZ2UgPSBnZXRQb2ludGVyUGVyY2VudGFnZShldmVudCk7XG4gICAgICBpZiAocG9pbnRlclBlcmNlbnRhZ2UgPT09IC0xKSB7XG4gICAgICAgIHJldHVybiBjb25zb2xlLndhcm4oJ09ubHkgc3VwcG9ydCB0b3VjaCBhbmQgY2xpY2sgZXZlbnRzLicpO1xuICAgICAgfVxuICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLnJvdW5kVG9TdGVwKHBvaW50ZXJQZXJjZW50YWdlKTtcbiAgICAgIGNvbnN0IGRlY2ltYWxzID0gdGhpcy5jb3VudERlY2ltYWxzKHRoaXMuc3RlcCgpKTtcbiAgICAgIGlmICh0aGlzLnByZXZTdGF0ZS5pc2hvdmVyID09PSB0cnVlKSB7XG4gICAgICAgIHRoaXMuY3VycmVudFZhbHVlLnNldCh2YWx1ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmNvbW1pdFZhbHVlKE51bWJlcih2YWx1ZS50b0ZpeGVkKGRlY2ltYWxzKSkpO1xuICAgICAgICB0aGlzLm1vdXNlRW50ZXIoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFJvdW5kcyB0aGUgcmF0aW5nIHZhbHVlIHRvIHRoZSBuZWFyZXN0IHN0ZXAuXG4gICAqXG4gICAqIEBwYXJhbSBwZXJjZW50YWdlIC0gVGhlIGNhbGN1bGF0ZWQgcGVyY2VudGFnZSBmcm9tIHBvaW50ZXIgZXZlbnQuXG4gICAqIEByZXR1cm5zIFRoZSByb3VuZGVkIHJhdGluZyB2YWx1ZS5cbiAgICovXG4gIHByaXZhdGUgcm91bmRUb1N0ZXAocGVyY2VudGFnZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBjb25zdCB2YWx1ZSA9IChwZXJjZW50YWdlIC8gMTAwKSAqIHRoaXMubWF4KCk7XG4gICAgY29uc3QgdmFsdWUyID0gTWF0aC5yb3VuZCh2YWx1ZSAvICh0aGlzLnN0ZXAoKSB8fCAwLjAxKSkgKiB0aGlzLnN0ZXAoKTtcbiAgICByZXR1cm4gdmFsdWUyO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBIYW5kbGVzIG1vdXNlIGVudGVyIGV2ZW50cyB0byBzdGFydCB0cmFja2luZyBtb3VzZSBtb3ZlbWVudHMgZm9yIHJhdGluZy5cbiAgICovXG4gIHByb3RlY3RlZCBtb3VzZUVudGVyKCkge1xuICAgIHRoaXMucHJldlN0YXRlID0ge1xuICAgICAgaXNob3ZlcjogdHJ1ZSxcbiAgICAgIHByZXZpb3VzVmFsdWU6IHRoaXMudmFsdWUsXG4gICAgfTtcbiAgICBpZiAodGhpcy5oYXNUcmFuc2l0aW9uKCkpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5yYXRpbmdFbCgpLm5hdGl2ZUVsZW1lbnQsICdvcGFjaXR5JywgJzgwJScpO1xuICAgIH1cbiAgICBjb25zdCBtb3ZlTGlzdGVuZXIgPSAobW92ZUV2ZW50OiBNb3VzZUV2ZW50IHwgVG91Y2hFdmVudCkgPT4gdGhpcy5jYWxjdWxhdGVSYXRlKG1vdmVFdmVudCk7XG4gICAgY29uc3QgZW5kTGlzdGVuZXIgPSAoKSA9PiB0aGlzLm9uRW5kKG1vdmVMaXN0ZW5lciwgZW5kTGlzdGVuZXIpO1xuICAgIGNvbnN0IGNvbnRhaW5lciA9IHRoaXMuY29udGFpbmVyRWwoKS5uYXRpdmVFbGVtZW50O1xuICAgIGNvbnRhaW5lci5hZGRFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCBtb3ZlTGlzdGVuZXIpO1xuICAgIGNvbnRhaW5lci5hZGRFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgZW5kTGlzdGVuZXIpO1xuICAgIGNvbnRhaW5lci5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWxlYXZlJywgZW5kTGlzdGVuZXIpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBIYW5kbGVzIG1vdXNlIGxlYXZlIGV2ZW50cyB0byByZXNldCBzdHlsZXMuXG4gICAqL1xuICBtb3VzZUxlYXZlKCkge1xuICAgIGlmICh0aGlzLmhhc1RyYW5zaXRpb24oKSkge1xuICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVTdHlsZSh0aGlzLnJhdGluZ0VsKCkubmF0aXZlRWxlbWVudCwgJ29wYWNpdHknKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIENsZWFucyB1cCBldmVudCBsaXN0ZW5lcnMgYW5kIHJlc3RvcmVzIHRoZSBwcmV2aW91cyByYXRpbmcgdmFsdWUuXG4gICAqXG4gICAqIEBwYXJhbSBtb3ZlTGlzdGVuZXIgLSBUaGUgZnVuY3Rpb24gdG8gcmVtb3ZlIGZvciBtb3VzZSBtb3ZlIGV2ZW50cy5cbiAgICogQHBhcmFtIGVuZExpc3RlbmVyIC0gVGhlIGZ1bmN0aW9uIHRvIHJlbW92ZSBmb3IgbW91c2UgZW5kIGV2ZW50cy5cbiAgICovXG4gIHByaXZhdGUgb25FbmQobW92ZUxpc3RlbmVyOiAoZXZlbnQ6IE1vdXNlRXZlbnQgfCBUb3VjaEV2ZW50KSA9PiB2b2lkLCBlbmRMaXN0ZW5lcjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmhhc1RyYW5zaXRpb24oKSkge1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgdGhpcy5yYXRpbmdFbCgpLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICd0cmFuc2l0aW9uJyxcbiAgICAgICAgYHdpZHRoICR7dGhpcy5tYXgoKSAqIDUwICsgMjUwfW1zIGN1YmljLWJlemllcigwLjI5LCAwLjcyLCAwLjY4LCAwLjg1KWAsXG4gICAgICApO1xuICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVTdHlsZSh0aGlzLnJhdGluZ0VsKCkubmF0aXZlRWxlbWVudCwgJ29wYWNpdHknKTtcbiAgICB9XG4gICAgdGhpcy5jdXJyZW50VmFsdWUuc2V0KHRoaXMucHJldlN0YXRlLnByZXZpb3VzVmFsdWUpO1xuICAgIHRoaXMucHJldlN0YXRlID0ge1xuICAgICAgaXNob3ZlcjogZmFsc2UsXG4gICAgICBwcmV2aW91c1ZhbHVlOiB1bmRlZmluZWQsXG4gICAgfTtcbiAgICBjb25zdCBjb250YWluZXIgPSB0aGlzLmNvbnRhaW5lckVsKCkubmF0aXZlRWxlbWVudDtcbiAgICBjb250YWluZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgbW92ZUxpc3RlbmVyKTtcbiAgICBjb250YWluZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsIGVuZExpc3RlbmVyKTtcbiAgICBjb250YWluZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2VsZWF2ZScsIGVuZExpc3RlbmVyKTtcbiAgfVxuXG4gIHByaXZhdGUgY291bnREZWNpbWFscyhudW1iZXI6IG51bWJlcik6IG51bWJlciB7XG4gICAgaWYgKE1hdGguZmxvb3IobnVtYmVyKSA9PT0gbnVtYmVyKSByZXR1cm4gMDtcbiAgICByZXR1cm4gbnVtYmVyLnRvU3RyaW5nKCkuc3BsaXQoJy4nKVsxXS5sZW5ndGggfHwgMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogRGV0ZXJtaW5lcyBpZiB0aGUgY29tcG9uZW50IGlzIGFjdGl2ZSAoaS5lLiwgbm90IHJlYWRvbmx5IG9yIGRpc2FibGVkKS5cbiAgICovXG4gIEBIb3N0QmluZGluZygnY2xhc3MuYWN0aXZlJykgZ2V0IGlzQWN0aXZlKCkge1xuICAgIHJldHVybiAhdGhpcy5yZWFkb25seSAmJiAhdGhpcy5kaXNhYmxlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogRGV0ZXJtaW5lcyBpZiB0aGUgY29tcG9uZW50IGlzIGluIHJlYWRvbmx5IG1vZGUuXG4gICAqL1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnJlYWRvbmx5JykgZ2V0IGlzUmVhZG9ubHkoKSB7XG4gICAgcmV0dXJuIHRoaXMucmVhZG9ubHk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIERldGVybWluZXMgaWYgdGhlIGNvbXBvbmVudCBpcyBkaXNhYmxlZC5cbiAgICovXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZGlzYWJsZScpIGdldCBpc0Rpc2FibGVkKCkge1xuICAgIHJldHVybiB0aGlzLmRpc2FibGVkO1xuICB9XG59XG4iLCI8ZGl2XG4gICNjXG4gIGNsYXNzPVwiYXgtcmF0ZS1waWNrZXItY29udGFpbmVyXCJcbiAgKGNsaWNrKT1cImNhbGN1bGF0ZVJhdGUoJGV2ZW50KVwiXG4gICh0b3VjaHN0YXJ0KT1cImNhbGN1bGF0ZVJhdGUoJGV2ZW50KVwiXG4gIChtb3VzZWVudGVyKT1cIm1vdXNlRW50ZXIoKVwiXG4gIChtb3VzZWxlYXZlKT1cIm1vdXNlTGVhdmUoKVwiXG4+XG4gIDxkaXYgI3IgY2xhc3M9XCJheC1yYXRlLXBpY2tlci1yYXRpbmdcIiBbc3R5bGUud2lkdGguJV09XCJyYXRlUGVyY2VudGFnZSgpXCI+XG4gICAgPGRpdiBjbGFzcz1cImF4LXJhdGUtcGlja2VyLWljb25zIGF4LXJwLWFjdGl2ZVwiPlxuICAgICAgQGZvciAocmF0ZSBvZiByYXRlcygpOyB0cmFjayByYXRlKSB7XG4gICAgICAgIDxpIGNsYXNzPVwiYXgtcmF0ZS1waWNrZXItaWNvbiBmYS1zb2xpZFwiIFtjbGFzc109XCJpY29uTmFtZSgpXCIgW2NsYXNzLnBvaW50ZXJdPVwiIXRoaXMucmVhZG9ubHlcIj48L2k+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiYXgtcmF0ZS1waWNrZXItaWNvbnMgYXgtcnAtaW5hY3RpdmVcIj5cbiAgICBAZm9yIChyYXRlIG9mIHJhdGVzKCk7IHRyYWNrIHJhdGUpIHtcbiAgICAgIDxpIGNsYXNzPVwiYXgtcmF0ZS1waWNrZXItaWNvbiBmYS1zb2xpZFwiIFtjbGFzc109XCJpY29uTmFtZSgpXCI+PC9pPlxuICAgIH1cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|