valtech-components 2.0.528 → 2.0.530
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/molecules/command-display/command-display.component.mjs +4 -2
- package/esm2022/lib/components/molecules/plain-code-box/plain-code-box.component.mjs +4 -2
- package/esm2022/lib/components/molecules/share-buttons/share-buttons.component.mjs +4 -2
- package/esm2022/lib/components/organisms/comment-section/comment-section.component.mjs +15 -10
- package/esm2022/lib/components/organisms/infinite-list/infinite-list.component.mjs +20 -18
- package/esm2022/lib/services/i18n/default-content.mjs +99 -1
- package/fesm2022/valtech-components.mjs +134 -28
- package/fesm2022/valtech-components.mjs.map +1 -1
- package/lib/components/molecules/command-display/command-display.component.d.ts +2 -2
- package/lib/components/molecules/plain-code-box/plain-code-box.component.d.ts +4 -4
- package/lib/components/molecules/share-buttons/share-buttons.component.d.ts +1 -0
- package/lib/components/organisms/comment-section/comment-section.component.d.ts +2 -0
- package/lib/components/organisms/infinite-list/infinite-list.component.d.ts +2 -0
- package/package.json +1 -1
|
@@ -3,17 +3,19 @@ import { Component, inject, Input } from '@angular/core';
|
|
|
3
3
|
import { Clipboard } from '@capacitor/clipboard';
|
|
4
4
|
import { ToastController } from '@ionic/angular';
|
|
5
5
|
import { IonIcon } from '@ionic/angular/standalone';
|
|
6
|
+
import { I18nService } from '../../../services/i18n';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
8
|
export class CommandDisplayComponent {
|
|
8
9
|
constructor() {
|
|
9
10
|
this.toast = inject(ToastController);
|
|
11
|
+
this.i18n = inject(I18nService);
|
|
10
12
|
}
|
|
11
13
|
async copyCommand() {
|
|
12
14
|
if (this.props.text) {
|
|
13
15
|
await Clipboard.write({
|
|
14
16
|
string: this.props.text,
|
|
15
17
|
});
|
|
16
|
-
this.presentToast('
|
|
18
|
+
this.presentToast(this.i18n.t('copiedToClipboard'));
|
|
17
19
|
}
|
|
18
20
|
}
|
|
19
21
|
async presentToast(message) {
|
|
@@ -44,4 +46,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
44
46
|
}], propDecorators: { props: [{
|
|
45
47
|
type: Input
|
|
46
48
|
}] } });
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC1kaXNwbGF5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvY29tbWFuZC1kaXNwbGF5L2NvbW1hbmQtZGlzcGxheS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBZXJELE1BQU0sT0FBTyx1QkFBdUI7SUFacEM7UUFhVSxVQUFLLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ2hDLFNBQUksR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7S0FzQnBDO0lBbEJDLEtBQUssQ0FBQyxXQUFXO1FBQ2YsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3BCLE1BQU0sU0FBUyxDQUFDLEtBQUssQ0FBQztnQkFDcEIsTUFBTSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSTthQUN4QixDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQztRQUN0RCxDQUFDO0lBQ0gsQ0FBQztJQUVELEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBZTtRQUNoQyxNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO1lBQ3BDLE9BQU8sRUFBRSxPQUFPO1lBQ2hCLFFBQVEsRUFBRSxJQUFJO1lBQ2QsUUFBUSxFQUFFLFFBQVE7WUFDbEIsS0FBSyxFQUFFLE1BQU07U0FDZCxDQUFDLENBQUM7UUFDSCxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDbEIsQ0FBQzsrR0F2QlUsdUJBQXVCO21HQUF2Qix1QkFBdUIsMkdBUnhCOzs7OztHQUtULHNuQkFOUyxZQUFZLCtCQUFFLE9BQU87OzRGQVNwQix1QkFBdUI7a0JBWm5DLFNBQVM7K0JBQ0UscUJBQXFCLGNBQ25CLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsWUFDdEI7Ozs7O0dBS1Q7OEJBT1EsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2xpcGJvYXJkIH0gZnJvbSAnQGNhcGFjaXRvci9jbGlwYm9hcmQnO1xuaW1wb3J0IHsgVG9hc3RDb250cm9sbGVyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuaW1wb3J0IHsgSW9uSWNvbiB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgSTE4blNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pMThuJztcbmltcG9ydCB7IENvbW1hbmREaXNwbGF5TWV0YWRhdGEgfSBmcm9tICcuL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWNvbW1hbmQtZGlzcGxheScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIElvbkljb25dLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJjb21tYW5kLWNvbnRhaW5lclwiPlxuICAgICAgPGRpdiBjbGFzcz1cImNvbW1hbmQtdGV4dFwiPiQge3sgcHJvcHMudGV4dCB9fTwvZGl2PlxuICAgICAgPGlvbi1pY29uIG5hbWU9XCJjb3B5LW91dGxpbmVcIiBjbGFzcz1cImNvcHktaWNvblwiIChjbGljayk9XCJjb3B5Q29tbWFuZCgpXCI+PC9pb24taWNvbj5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vY29tbWFuZC1kaXNwbGF5LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIENvbW1hbmREaXNwbGF5Q29tcG9uZW50IHtcbiAgcHJpdmF0ZSB0b2FzdCA9IGluamVjdChUb2FzdENvbnRyb2xsZXIpO1xuICBwcml2YXRlIGkxOG4gPSBpbmplY3QoSTE4blNlcnZpY2UpO1xuXG4gIEBJbnB1dCgpIHByb3BzOiBDb21tYW5kRGlzcGxheU1ldGFkYXRhO1xuXG4gIGFzeW5jIGNvcHlDb21tYW5kKCkge1xuICAgIGlmICh0aGlzLnByb3BzLnRleHQpIHtcbiAgICAgIGF3YWl0IENsaXBib2FyZC53cml0ZSh7XG4gICAgICAgIHN0cmluZzogdGhpcy5wcm9wcy50ZXh0LFxuICAgICAgfSk7XG4gICAgICB0aGlzLnByZXNlbnRUb2FzdCh0aGlzLmkxOG4udCgnY29waWVkVG9DbGlwYm9hcmQnKSk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgcHJlc2VudFRvYXN0KG1lc3NhZ2U6IHN0cmluZykge1xuICAgIGNvbnN0IHRvYXN0ID0gYXdhaXQgdGhpcy50b2FzdC5jcmVhdGUoe1xuICAgICAgbWVzc2FnZTogbWVzc2FnZSxcbiAgICAgIGR1cmF0aW9uOiAyMDAwLFxuICAgICAgcG9zaXRpb246ICdib3R0b20nLFxuICAgICAgY29sb3I6ICdkYXJrJyxcbiAgICB9KTtcbiAgICB0b2FzdC5wcmVzZW50KCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -3,6 +3,7 @@ import { ChangeDetectorRef, Component, inject, Input, ViewChild, } from '@angula
|
|
|
3
3
|
import { Clipboard } from '@capacitor/clipboard';
|
|
4
4
|
import { ToastController } from '@ionic/angular';
|
|
5
5
|
import { IonButton, IonIcon } from '@ionic/angular/standalone';
|
|
6
|
+
import { I18nService } from '../../../services/i18n';
|
|
6
7
|
import * as Prism from 'prismjs';
|
|
7
8
|
import 'prismjs/components/prism-bash';
|
|
8
9
|
import 'prismjs/components/prism-css';
|
|
@@ -15,6 +16,7 @@ export class PlainCodeBoxComponent {
|
|
|
15
16
|
constructor() {
|
|
16
17
|
this.toast = inject(ToastController);
|
|
17
18
|
this.cdr = inject(ChangeDetectorRef);
|
|
19
|
+
this.i18n = inject(I18nService);
|
|
18
20
|
this.props = { lines: [] };
|
|
19
21
|
}
|
|
20
22
|
ngOnChanges(changes) {
|
|
@@ -37,7 +39,7 @@ export class PlainCodeBoxComponent {
|
|
|
37
39
|
await Clipboard.write({
|
|
38
40
|
string: fullCode,
|
|
39
41
|
});
|
|
40
|
-
this.presentToast('
|
|
42
|
+
this.presentToast(this.i18n.t('copiedToClipboard'));
|
|
41
43
|
}
|
|
42
44
|
}
|
|
43
45
|
async presentToast(message) {
|
|
@@ -77,4 +79,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
77
79
|
type: ViewChild,
|
|
78
80
|
args: ['codeBlock']
|
|
79
81
|
}] } });
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhaW4tY29kZS1ib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9wbGFpbi1jb2RlLWJveC9wbGFpbi1jb2RlLWJveC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFFTCxpQkFBaUIsRUFDakIsU0FBUyxFQUVULE1BQU0sRUFDTixLQUFLLEVBR0wsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFckQsT0FBTyxLQUFLLEtBQUssTUFBTSxTQUFTLENBQUM7QUFDakMsT0FBTywrQkFBK0IsQ0FBQztBQUN2QyxPQUFPLDhCQUE4QixDQUFDO0FBQ3RDLE9BQU8scUNBQXFDLENBQUM7QUFDN0MsT0FBTyxpQ0FBaUMsQ0FBQztBQUN6QyxPQUFPLHFDQUFxQyxDQUFDOzs7QUFrQjdDLE1BQU0sT0FBTyxxQkFBcUI7SUFmbEM7UUFnQlUsVUFBSyxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNoQyxRQUFHLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDaEMsU0FBSSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUUxQixVQUFLLEdBQXlCLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDO0tBd0N0RDtJQXBDQyxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdEQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN6QixVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7UUFDekMsQ0FBQztJQUNILENBQUM7SUFFRCxlQUFlO1FBQ2IsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFTyxhQUFhO1FBQ25CLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDdEUsS0FBSyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDdkQsQ0FBQztJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsUUFBUTtRQUNaLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEUsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNiLE1BQU0sU0FBUyxDQUFDLEtBQUssQ0FBQztnQkFDcEIsTUFBTSxFQUFFLFFBQVE7YUFDakIsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7UUFDdEQsQ0FBQztJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsWUFBWSxDQUFDLE9BQWU7UUFDaEMsTUFBTSxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztZQUNwQyxPQUFPLEVBQUUsT0FBTztZQUNoQixRQUFRLEVBQUUsSUFBSTtZQUNkLFFBQVEsRUFBRSxRQUFRO1lBQ2xCLEtBQUssRUFBRSxNQUFNO1NBQ2QsQ0FBQyxDQUFDO1FBQ0gsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2xCLENBQUM7K0dBNUNVLHFCQUFxQjttR0FBckIscUJBQXFCLHVPQVh0Qjs7Ozs7Ozs7R0FRVCw2b0ZBVFMsWUFBWSxnUUFBRSxPQUFPLDJKQUFFLFNBQVM7OzRGQVkvQixxQkFBcUI7a0JBZmpDLFNBQVM7K0JBQ0Usb0JBQW9CLGNBQ2xCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxPQUFPLEVBQUUsU0FBUyxDQUFDLFlBQ2pDOzs7Ozs7OztHQVFUOzhCQVFRLEtBQUs7c0JBQWIsS0FBSztnQkFFa0IsU0FBUztzQkFBaEMsU0FBUzt1QkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIGluamVjdCxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENsaXBib2FyZCB9IGZyb20gJ0BjYXBhY2l0b3IvY2xpcGJvYXJkJztcbmltcG9ydCB7IFRvYXN0Q29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcbmltcG9ydCB7IElvbkJ1dHRvbiwgSW9uSWNvbiB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgSTE4blNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pMThuJztcblxuaW1wb3J0ICogYXMgUHJpc20gZnJvbSAncHJpc21qcyc7XG5pbXBvcnQgJ3ByaXNtanMvY29tcG9uZW50cy9wcmlzbS1iYXNoJztcbmltcG9ydCAncHJpc21qcy9jb21wb25lbnRzL3ByaXNtLWNzcyc7XG5pbXBvcnQgJ3ByaXNtanMvY29tcG9uZW50cy9wcmlzbS1qYXZhc2NyaXB0JztcbmltcG9ydCAncHJpc21qcy9jb21wb25lbnRzL3ByaXNtLW1hcmt1cCc7XG5pbXBvcnQgJ3ByaXNtanMvY29tcG9uZW50cy9wcmlzbS10eXBlc2NyaXB0JztcbmltcG9ydCB7IFBsYWluQ29kZUJveE1ldGFkYXRhIH0gZnJvbSAnLi90eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1wbGFpbi1jb2RlLWJveCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIElvbkljb24sIElvbkJ1dHRvbl0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cImNvZGUtYm94LWNvbnRhaW5lclwiPlxuICAgICAgPGlvbi1idXR0b24gKm5nSWY9XCJwcm9wcy5zaG93Q29weUJ1dHRvbiAhPT0gZmFsc2VcIiBmaWxsPVwiY2xlYXJcIiBjbGFzcz1cImNvcHktYnV0dG9uXCIgKGNsaWNrKT1cImNvcHlDb2RlKClcIj5cbiAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJjb3B5LW91dGxpbmVcIj48L2lvbi1pY29uPlxuICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgPHByZT48Y29kZSBbY2xhc3NdPVwiJ2xhbmd1YWdlLScgKyAocHJvcHMubGFuZ3VhZ2UgfHwgJ2Jhc2gnKVwiICNjb2RlQmxvY2s+PG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgbGluZSBvZiBwcm9wcy5saW5lczsgbGV0IGkgPSBpbmRleFwiPjxzcGFuIFtjbGFzc109XCJsaW5lLnR5cGUgPyAnbGluZS0nICsgbGluZS50eXBlIDogJ2xpbmUtbm9ybWFsJ1wiPnt7IGxpbmUudGV4dCB9fTwvc3Bhbj48YnIgKm5nSWY9XCJpIDwgcHJvcHMubGluZXMubGVuZ3RoIC0gMVwiPlxuPC9uZy1jb250YWluZXI+PC9jb2RlPjwvcHJlPlxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9wbGFpbi1jb2RlLWJveC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBQbGFpbkNvZGVCb3hDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMge1xuICBwcml2YXRlIHRvYXN0ID0gaW5qZWN0KFRvYXN0Q29udHJvbGxlcik7XG4gIHByaXZhdGUgY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgcHJpdmF0ZSBpMThuID0gaW5qZWN0KEkxOG5TZXJ2aWNlKTtcblxuICBASW5wdXQoKSBwcm9wczogUGxhaW5Db2RlQm94TWV0YWRhdGEgPSB7IGxpbmVzOiBbXSB9O1xuXG4gIEBWaWV3Q2hpbGQoJ2NvZGVCbG9jaycpIGNvZGVCbG9jayE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1sncHJvcHMnXSAmJiAhY2hhbmdlc1sncHJvcHMnXS5maXJzdENoYW5nZSkge1xuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmhpZ2hsaWdodENvZGUoKSk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5oaWdobGlnaHRDb2RlKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBoaWdobGlnaHRDb2RlKCkge1xuICAgIGlmICh0aGlzLmNvZGVCbG9jayAmJiB0aGlzLnByb3BzLmxpbmVzICYmIHRoaXMucHJvcHMubGluZXMubGVuZ3RoID4gMCkge1xuICAgICAgUHJpc20uaGlnaGxpZ2h0RWxlbWVudCh0aGlzLmNvZGVCbG9jay5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBjb3B5Q29kZSgpIHtcbiAgICBjb25zdCBmdWxsQ29kZSA9IHRoaXMucHJvcHMubGluZXMubWFwKGxpbmUgPT4gbGluZS50ZXh0KS5qb2luKCdcXG4nKTtcbiAgICBpZiAoZnVsbENvZGUpIHtcbiAgICAgIGF3YWl0IENsaXBib2FyZC53cml0ZSh7XG4gICAgICAgIHN0cmluZzogZnVsbENvZGUsXG4gICAgICB9KTtcbiAgICAgIHRoaXMucHJlc2VudFRvYXN0KHRoaXMuaTE4bi50KCdjb3BpZWRUb0NsaXBib2FyZCcpKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBwcmVzZW50VG9hc3QobWVzc2FnZTogc3RyaW5nKSB7XG4gICAgY29uc3QgdG9hc3QgPSBhd2FpdCB0aGlzLnRvYXN0LmNyZWF0ZSh7XG4gICAgICBtZXNzYWdlOiBtZXNzYWdlLFxuICAgICAgZHVyYXRpb246IDIwMDAsXG4gICAgICBwb3NpdGlvbjogJ2JvdHRvbScsXG4gICAgICBjb2xvcjogJ2RhcmsnLFxuICAgIH0pO1xuICAgIHRvYXN0LnByZXNlbnQoKTtcbiAgfVxufVxuIl19
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { CommonModule } from '@angular/common';
|
|
2
2
|
import { Component, Input, Output, EventEmitter, inject } from '@angular/core';
|
|
3
3
|
import { IonButton, IonIcon, ToastController } from '@ionic/angular/standalone';
|
|
4
|
+
import { I18nService } from '../../../services/i18n';
|
|
4
5
|
import { addIcons } from 'ionicons';
|
|
5
6
|
import { logoWhatsapp, logoFacebook, logoTwitter, logoLinkedin, paperPlaneOutline, mailOutline, copyOutline, shareOutline, } from 'ionicons/icons';
|
|
6
7
|
import { PLATFORM_CONFIGS, DEFAULT_PLATFORMS, } from './types';
|
|
@@ -66,6 +67,7 @@ export class ShareButtonsComponent {
|
|
|
66
67
|
constructor() {
|
|
67
68
|
this.shareComplete = new EventEmitter();
|
|
68
69
|
this.toastController = inject(ToastController);
|
|
70
|
+
this.i18n = inject(I18nService);
|
|
69
71
|
}
|
|
70
72
|
getButtons() {
|
|
71
73
|
if (this.props.buttons?.length) {
|
|
@@ -179,7 +181,7 @@ export class ShareButtonsComponent {
|
|
|
179
181
|
}
|
|
180
182
|
}
|
|
181
183
|
getCopySuccessMessage() {
|
|
182
|
-
return this.props.copySuccessMessage || '
|
|
184
|
+
return this.props.copySuccessMessage || this.i18n.t('linkCopied');
|
|
183
185
|
}
|
|
184
186
|
isNativeShareSupported() {
|
|
185
187
|
return typeof navigator !== 'undefined' && !!navigator.share;
|
|
@@ -269,4 +271,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
269
271
|
}], shareComplete: [{
|
|
270
272
|
type: Output
|
|
271
273
|
}] } });
|
|
272
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmUtYnV0dG9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL3NoYXJlLWJ1dHRvbnMvc2hhcmUtYnV0dG9ucy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDcEMsT0FBTyxFQUNMLFlBQVksRUFDWixZQUFZLEVBQ1osV0FBVyxFQUNYLFlBQVksRUFDWixpQkFBaUIsRUFDakIsV0FBVyxFQUNYLFdBQVcsRUFDWCxZQUFZLEdBQ2IsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBS0wsZ0JBQWdCLEVBQ2hCLGlCQUFpQixHQUNsQixNQUFNLFNBQVMsQ0FBQzs7QUFFakIsUUFBUSxDQUFDO0lBQ1AsWUFBWTtJQUNaLFlBQVk7SUFDWixXQUFXO0lBQ1gsWUFBWTtJQUNaLGlCQUFpQjtJQUNqQixXQUFXO0lBQ1gsV0FBVztJQUNYLFlBQVk7Q0FDYixDQUFDLENBQUM7QUE4Q0g7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E4Q0c7QUFDSCxNQUFNLE9BQU8scUJBQXFCO0lBM0ZsQztRQThGWSxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFjLENBQUM7UUFFakQsb0JBQWUsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7S0F3SW5EO0lBdElDLFVBQVU7UUFDUixJQUFJ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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQ1QscXVFQXRDUyxZQUFZLCtCQUFFLFNBQVMsb1BBQUUsT0FBTzs7NEZBd0YvQixxQkFBcUI7a0JBM0ZqQyxTQUFTOytCQUNFLG1CQUFtQixjQUNqQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQyxZQUNqQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXFDVDs4QkFtRFEsS0FBSztzQkFBYixLQUFLO2dCQUVJLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW9uQnV0dG9uLCBJb25JY29uLCBUb2FzdENvbnRyb2xsZXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IGFkZEljb25zIH0gZnJvbSAnaW9uaWNvbnMnO1xuaW1wb3J0IHtcbiAgbG9nb1doYXRzYXBwLFxuICBsb2dvRmFjZWJvb2ssXG4gIGxvZ29Ud2l0dGVyLFxuICBsb2dvTGlua2VkaW4sXG4gIHBhcGVyUGxhbmVPdXRsaW5lLFxuICBtYWlsT3V0bGluZSxcbiAgY29weU91dGxpbmUsXG4gIHNoYXJlT3V0bGluZSxcbn0gZnJvbSAnaW9uaWNvbnMvaWNvbnMnO1xuaW1wb3J0IHtcbiAgU2hhcmVCdXR0b25zTWV0YWRhdGEsXG4gIFNoYXJlRXZlbnQsXG4gIFNoYXJlUGxhdGZvcm0sXG4gIFNoYXJlQnV0dG9uQ29uZmlnLFxuICBQTEFURk9STV9DT05GSUdTLFxuICBERUZBVUxUX1BMQVRGT1JNUyxcbn0gZnJvbSAnLi90eXBlcyc7XG5cbmFkZEljb25zKHtcbiAgbG9nb1doYXRzYXBwLFxuICBsb2dvRmFjZWJvb2ssXG4gIGxvZ29Ud2l0dGVyLFxuICBsb2dvTGlua2VkaW4sXG4gIHBhcGVyUGxhbmVPdXRsaW5lLFxuICBtYWlsT3V0bGluZSxcbiAgY29weU91dGxpbmUsXG4gIHNoYXJlT3V0bGluZSxcbn0pO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtc2hhcmUtYnV0dG9ucycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIElvbkJ1dHRvbiwgSW9uSWNvbl0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJzaGFyZS1idXR0b25zLWNvbnRhaW5lclwiXG4gICAgICBbY2xhc3NdPVwicHJvcHMuY3NzQ2xhc3NcIlxuICAgICAgW2NsYXNzLmxheW91dC1ob3Jpem9udGFsXT1cInByb3BzLmxheW91dCAhPT0gJ3ZlcnRpY2FsJ1wiXG4gICAgICBbY2xhc3MubGF5b3V0LXZlcnRpY2FsXT1cInByb3BzLmxheW91dCA9PT0gJ3ZlcnRpY2FsJ1wiXG4gICAgICBbY2xhc3Muc2l6ZS1zbWFsbF09XCJwcm9wcy5zaXplID09PSAnc21hbGwnXCJcbiAgICAgIFtjbGFzcy5zaXplLW1lZGl1bV09XCJwcm9wcy5zaXplID09PSAnbWVkaXVtJyB8fCAhcHJvcHMuc2l6ZVwiXG4gICAgICBbY2xhc3Muc2l6ZS1sYXJnZV09XCJwcm9wcy5zaXplID09PSAnbGFyZ2UnXCJcbiAgICAgIFtjbGFzcy52YXJpYW50LXNvbGlkXT1cInByb3BzLnZhcmlhbnQgPT09ICdzb2xpZCcgfHwgIXByb3BzLnZhcmlhbnRcIlxuICAgICAgW2NsYXNzLnZhcmlhbnQtb3V0bGluZV09XCJwcm9wcy52YXJpYW50ID09PSAnb3V0bGluZSdcIlxuICAgICAgW2NsYXNzLnZhcmlhbnQtaWNvbi1vbmx5XT1cInByb3BzLnZhcmlhbnQgPT09ICdpY29uLW9ubHknXCJcbiAgICAgIFtzdHlsZS4tLXNoYXJlLWdhcF09XCIocHJvcHMuZ2FwIHx8IDgpICsgJ3B4J1wiXG4gICAgPlxuICAgICAgQGZvciAoYnV0dG9uIG9mIGdldEJ1dHRvbnMoKTsgdHJhY2sgYnV0dG9uLnBsYXRmb3JtKSB7XG4gICAgICAgIDxpb24tYnV0dG9uXG4gICAgICAgICAgY2xhc3M9XCJzaGFyZS1idXR0b25cIlxuICAgICAgICAgIFtjbGFzc109XCIncGxhdGZvcm0tJyArIGJ1dHRvbi5wbGF0Zm9ybVwiXG4gICAgICAgICAgW2ZpbGxdPVwiZ2V0QnV0dG9uRmlsbCgpXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiYnV0dG9uLmRpc2FibGVkXCJcbiAgICAgICAgICBbc3R5bGUuLS1iYWNrZ3JvdW5kXT1cImdldEJ1dHRvbkNvbG9yKGJ1dHRvbilcIlxuICAgICAgICAgIFtzdHlsZS4tLWJhY2tncm91bmQtaG92ZXJdPVwiZ2V0QnV0dG9uQ29sb3IoYnV0dG9uKVwiXG4gICAgICAgICAgW3N0eWxlLi0tYm9yZGVyLWNvbG9yXT1cImdldEJ1dHRvbkNvbG9yKGJ1dHRvbilcIlxuICAgICAgICAgIFtzdHlsZS4tLWNvbG9yXT1cInByb3BzLnZhcmlhbnQgPT09ICdvdXRsaW5lJyA/IGdldEJ1dHRvbkNvbG9yKGJ1dHRvbikgOiBudWxsXCJcbiAgICAgICAgICAoY2xpY2spPVwic2hhcmUoYnV0dG9uLnBsYXRmb3JtKVwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJnZXRCdXR0b25MYWJlbChidXR0b24pXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxpb24taWNvblxuICAgICAgICAgICAgW3Nsb3RdPVwicHJvcHMuc2hvd0xhYmVscyA9PT0gZmFsc2UgfHwgcHJvcHMudmFyaWFudCA9PT0gJ2ljb24tb25seScgPyAnaWNvbi1vbmx5JyA6ICdzdGFydCdcIlxuICAgICAgICAgICAgW25hbWVdPVwiZ2V0QnV0dG9uSWNvbihidXR0b24pXCJcbiAgICAgICAgICA+PC9pb24taWNvbj5cbiAgICAgICAgICBAaWYgKHByb3BzLnNob3dMYWJlbHMgIT09IGZhbHNlICYmIHByb3BzLnZhcmlhbnQgIT09ICdpY29uLW9ubHknKSB7XG4gICAgICAgICAgICB7eyBnZXRCdXR0b25MYWJlbChidXR0b24pIH19XG4gICAgICAgICAgfVxuICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL3NoYXJlLWJ1dHRvbnMuY29tcG9uZW50LnNjc3MnXSxcbn0pXG4vKipcbiAqIHZhbC1zaGFyZS1idXR0b25zXG4gKlxuICogQSBjb21wb25lbnQgZm9yIHNoYXJpbmcgY29udGVudCB0byB2YXJpb3VzIHNvY2lhbCBtZWRpYSBwbGF0Zm9ybXMuXG4gKlxuICogQGV4YW1wbGUgQmFzaWMgdXNhZ2VcbiAqIGBgYGh0bWxcbiAqIDx2YWwtc2hhcmUtYnV0dG9uc1xuICogICBbcHJvcHNdPVwie1xuICogICAgIHNoYXJlRGF0YToge1xuICogICAgICAgdGl0bGU6ICdDaGVjayB0aGlzIG91dCEnLFxuICogICAgICAgdGV4dDogJ0FtYXppbmcgY29udGVudCBoZXJlJyxcbiAqICAgICAgIHVybDogJ2h0dHBzOi8vZXhhbXBsZS5jb20nXG4gKiAgICAgfVxuICogICB9XCJcbiAqID48L3ZhbC1zaGFyZS1idXR0b25zPlxuICogYGBgXG4gKlxuICogQGV4YW1wbGUgV2l0aCBzcGVjaWZpYyBwbGF0Zm9ybXNcbiAqIGBgYGh0bWxcbiAqIDx2YWwtc2hhcmUtYnV0dG9uc1xuICogICBbcHJvcHNdPVwie1xuICogICAgIHNoYXJlRGF0YToge1xuICogICAgICAgdGl0bGU6ICdKb2luIG15IHJhZmZsZSEnLFxuICogICAgICAgdGV4dDogJ1dpbiBhbWF6aW5nIHByaXplcycsXG4gKiAgICAgICB1cmw6ICdodHRwczovL3JhZmZsZS5leGFtcGxlLmNvbS8xMjMnXG4gKiAgICAgfSxcbiAqICAgICBwbGF0Zm9ybXM6IFsnd2hhdHNhcHAnLCAnZmFjZWJvb2snLCAndHdpdHRlcicsICdjb3B5J10sXG4gKiAgICAgdmFyaWFudDogJ2ljb24tb25seScsXG4gKiAgICAgdXNlUGxhdGZvcm1Db2xvcnM6IHRydWVcbiAqICAgfVwiXG4gKiAgIChzaGFyZUNvbXBsZXRlKT1cIm9uU2hhcmUoJGV2ZW50KVwiXG4gKiA+PC92YWwtc2hhcmUtYnV0dG9ucz5cbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlIFZlcnRpY2FsIGxheW91dFxuICogYGBgaHRtbFxuICogPHZhbC1zaGFyZS1idXR0b25zXG4gKiAgIFtwcm9wc109XCJ7XG4gKiAgICAgc2hhcmVEYXRhOiBzaGFyZURhdGEsXG4gKiAgICAgbGF5b3V0OiAndmVydGljYWwnLFxuICogICAgIHNob3dMYWJlbHM6IHRydWUsXG4gKiAgICAgc2l6ZTogJ2xhcmdlJ1xuICogICB9XCJcbiAqID48L3ZhbC1zaGFyZS1idXR0b25zPlxuICogYGBgXG4gKi9cbmV4cG9ydCBjbGFzcyBTaGFyZUJ1dHRvbnNDb21wb25lbnQge1xuICBASW5wdXQoKSBwcm9wczogU2hhcmVCdXR0b25zTWV0YWRhdGE7XG5cbiAgQE91dHB1dCgpIHNoYXJlQ29tcGxldGUgPSBuZXcgRXZlbnRFbWl0dGVyPFNoYXJlRXZlbnQ+KCk7XG5cbiAgcHJpdmF0ZSB0b2FzdENvbnRyb2xsZXIgPSBpbmplY3QoVG9hc3RDb250cm9sbGVyKTtcblxuICBnZXRCdXR0b25zKCk6IFNoYXJlQnV0dG9uQ29uZmlnW10ge1xuICAgIGlmICh0aGlzLnByb3BzLmJ1dHRvbnM/Lmxlbmd0aCkge1xuICAgICAgcmV0dXJuIHRoaXMucHJvcHMuYnV0dG9ucztcbiAgICB9XG5cbiAgICBjb25zdCBwbGF0Zm9ybXMgPSB0aGlzLnByb3BzLnBsYXRmb3JtcyB8fCBERUZBVUxUX1BMQVRGT1JNUztcblxuICAgIC8vIEZpbHRlciBvdXQgbmF0aXZlIHNoYXJlIGlmIG5vdCBzdXBwb3J0ZWRcbiAgICBjb25zdCBmaWx0ZXJlZFBsYXRmb3JtcyA9IHBsYXRmb3Jtcy5maWx0ZXIocCA9PiB7XG4gICAgICBpZiAocCA9PT0gJ25hdGl2ZScgJiYgIXRoaXMuaXNOYXRpdmVTaGFyZVN1cHBvcnRlZCgpKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGZpbHRlcmVkUGxhdGZvcm1zLm1hcChwbGF0Zm9ybSA9PiAoeyBwbGF0Zm9ybSB9KSk7XG4gIH1cblxuICBnZXRCdXR0b25GaWxsKCk6ICdzb2xpZCcgfCAnb3V0bGluZScgfCAnY2xlYXInIHtcbiAgICBpZiAodGhpcy5wcm9wcy52YXJpYW50ID09PSAnb3V0bGluZScpIHJldHVybiAnb3V0bGluZSc7XG4gICAgaWYgKHRoaXMucHJvcHMudmFyaWFudCA9PT0gJ2ljb24tb25seScpIHJldHVybiAnY2xlYXInO1xuICAgIHJldHVybiAnc29saWQnO1xuICB9XG5cbiAgZ2V0QnV0dG9uSWNvbihidXR0b246IFNoYXJlQnV0dG9uQ29uZmlnKTogc3RyaW5nIHtcbiAgICBpZiAoYnV0dG9uLmljb24pIHJldHVybiBidXR0b24uaWNvbjtcbiAgICByZXR1cm4gUExBVEZPUk1fQ09ORklHU1tidXR0b24ucGxhdGZvcm1dPy5pY29uIHx8ICdzaGFyZS1vdXRsaW5lJztcbiAgfVxuXG4gIGdldEJ1dHRvbkxhYmVsKGJ1dHRvbjogU2hhcmVCdXR0b25Db25maWcpOiBzdHJpbmcge1xuICAgIGlmIChidXR0b24ubGFiZWwpIHJldHVybiBidXR0b24ubGFiZWw7XG4gICAgcmV0dXJuIFBMQVRGT1JNX0NPTkZJR1NbYnV0dG9uLnBsYXRmb3JtXT8ubmFtZSB8fCBidXR0b24ucGxhdGZvcm07XG4gIH1cblxuICBnZXRCdXR0b25Db2xvcihidXR0b246IFNoYXJlQnV0dG9uQ29uZmlnKTogc3RyaW5nIHtcbiAgICBpZiAoYnV0dG9uLmNvbG9yKSB7XG4gICAgICBpZiAodHlwZW9mIGJ1dHRvbi5jb2xvciA9PT0gJ3N0cmluZycgJiYgYnV0dG9uLmNvbG9yLnN0YXJ0c1dpdGgoJyMnKSkge1xuICAgICAgICByZXR1cm4gYnV0dG9uLmNvbG9yO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGB2YXIoLS1pb24tY29sb3ItJHtidXR0b24uY29sb3J9KWA7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMucHJvcHMudXNlUGxhdGZvcm1Db2xvcnMgIT09IGZhbHNlKSB7XG4gICAgICByZXR1cm4gUExBVEZPUk1fQ09ORklHU1tidXR0b24ucGxhdGZvcm1dPy5jb2xvciB8fCAndmFyKC0taW9uLWNvbG9yLXByaW1hcnkpJztcbiAgICB9XG5cbiAgICBpZiAodGhpcy5wcm9wcy5jb2xvcikge1xuICAgICAgcmV0dXJuIGB2YXIoLS1pb24tY29sb3ItJHt0aGlzLnByb3BzLmNvbG9yfSlgO1xuICAgIH1cblxuICAgIHJldHVybiAndmFyKC0taW9uLWNvbG9yLXByaW1hcnkpJztcbiAgfVxuXG4gIGFzeW5jIHNoYXJlKHBsYXRmb3JtOiBTaGFyZVBsYXRmb3JtKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3Qgc2hhcmVEYXRhID0gdGhpcy5wcm9wcy5zaGFyZURhdGE7XG5cbiAgICB0cnkge1xuICAgICAgc3dpdGNoIChwbGF0Zm9ybSkge1xuICAgICAgICBjYXNlICduYXRpdmUnOlxuICAgICAgICAgIGF3YWl0IHRoaXMubmF0aXZlU2hhcmUoKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnY29weSc6XG4gICAgICAgICAgYXdhaXQgdGhpcy5jb3B5VG9DbGlwYm9hcmQoKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICB0aGlzLm9wZW5TaGFyZVVybChwbGF0Zm9ybSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuc2hhcmVDb21wbGV0ZS5lbWl0KHtcbiAgICAgICAgcGxhdGZvcm0sXG4gICAgICAgIHN1Y2Nlc3M6IHRydWUsXG4gICAgICAgIHNoYXJlRGF0YSxcbiAgICAgIH0pO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aGlzLnNoYXJlQ29tcGxldGUuZW1pdCh7XG4gICAgICAgIHBsYXRmb3JtLFxuICAgICAgICBzdWNjZXNzOiBmYWxzZSxcbiAgICAgICAgZXJyb3I6IGVycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogJ1Vua25vd24gZXJyb3InLFxuICAgICAgICBzaGFyZURhdGEsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIG9wZW5TaGFyZVVybChwbGF0Zm9ybTogU2hhcmVQbGF0Zm9ybSk6IHZvaWQge1xuICAgIGNvbnN0IGNvbmZpZyA9IFBMQVRGT1JNX0NPTkZJR1NbcGxhdGZvcm1dO1xuICAgIGlmICghY29uZmlnKSByZXR1cm47XG5cbiAgICBjb25zdCB1cmwgPSBjb25maWcuZ2V0VXJsKHRoaXMucHJvcHMuc2hhcmVEYXRhKTtcbiAgICBpZiAodXJsKSB7XG4gICAgICB3aW5kb3cub3Blbih1cmwsICdfYmxhbmsnLCAnbm9vcGVuZXIsbm9yZWZlcnJlcicpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgbmF0aXZlU2hhcmUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCF0aGlzLmlzTmF0aXZlU2hhcmVTdXBwb3J0ZWQoKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdOYXRpdmUgc2hhcmUgbm90IHN1cHBvcnRlZCcpO1xuICAgIH1cblxuICAgIGNvbnN0IGRhdGE6IFNoYXJlRGF0YSA9IHtcbiAgICAgIHRpdGxlOiB0aGlzLnByb3BzLnNoYXJlRGF0YS50aXRsZSxcbiAgICAgIHRleHQ6IHRoaXMucHJvcHMuc2hhcmVEYXRhLnRleHQsXG4gICAgICB1cmw6IHRoaXMucHJvcHMuc2hhcmVEYXRhLnVybCxcbiAgICB9O1xuXG4gICAgYXdhaXQgbmF2aWdhdG9yLnNoYXJlKGRhdGEgYXMgZ2xvYmFsVGhpcy5TaGFyZURhdGEpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBjb3B5VG9DbGlwYm9hcmQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgdGV4dFRvQ29weSA9IHRoaXMucHJvcHMuc2hhcmVEYXRhLnVybCB8fFxuICAgICAgYCR7dGhpcy5wcm9wcy5zaGFyZURhdGEudGV4dCB8fCAnJ30gJHt0aGlzLnByb3BzLnNoYXJlRGF0YS51cmwgfHwgJyd9YC50cmltKCk7XG5cbiAgICBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dCh0ZXh0VG9Db3B5KTtcblxuICAgIGlmICh0aGlzLnByb3BzLnNob3dDb3B5VG9hc3QgIT09IGZhbHNlKSB7XG4gICAgICBjb25zdCBtZXNzYWdlID0gdGhpcy5nZXRDb3B5U3VjY2Vzc01lc3NhZ2UoKTtcbiAgICAgIGNvbnN0IHRvYXN0ID0gYXdhaXQgdGhpcy50b2FzdENvbnRyb2xsZXIuY3JlYXRlKHtcbiAgICAgICAgbWVzc2FnZSxcbiAgICAgICAgZHVyYXRpb246IDIwMDAsXG4gICAgICAgIHBvc2l0aW9uOiAnYm90dG9tJyxcbiAgICAgICAgY29sb3I6ICdzdWNjZXNzJyxcbiAgICAgICAgaWNvbjogJ2NoZWNrbWFyay1jaXJjbGUtb3V0bGluZScsXG4gICAgICB9KTtcbiAgICAgIGF3YWl0IHRvYXN0LnByZXNlbnQoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldENvcHlTdWNjZXNzTWVzc2FnZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnByb3BzLmNvcHlTdWNjZXNzTWVzc2FnZSB8fCAnwqFFbmxhY2UgY29waWFkbyEnO1xuICB9XG5cbiAgcHJpdmF0ZSBpc05hdGl2ZVNoYXJlU3VwcG9ydGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0eXBlb2YgbmF2aWdhdG9yICE9PSAndW5kZWZpbmVkJyAmJiAhIW5hdmlnYXRvci5zaGFyZTtcbiAgfVxufVxuIl19
|
|
274
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmUtYnV0dG9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL3NoYXJlLWJ1dHRvbnMvc2hhcmUtYnV0dG9ucy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLE9BQU8sRUFDTCxZQUFZLEVBQ1osWUFBWSxFQUNaLFdBQVcsRUFDWCxZQUFZLEVBQ1osaUJBQWlCLEVBQ2pCLFdBQVcsRUFDWCxXQUFXLEVBQ1gsWUFBWSxHQUNiLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUtMLGdCQUFnQixFQUNoQixpQkFBaUIsR0FDbEIsTUFBTSxTQUFTLENBQUM7O0FBRWpCLFFBQVEsQ0FBQztJQUNQLFlBQVk7SUFDWixZQUFZO0lBQ1osV0FBVztJQUNYLFlBQVk7SUFDWixpQkFBaUI7SUFDakIsV0FBVztJQUNYLFdBQVc7SUFDWCxZQUFZO0NBQ2IsQ0FBQyxDQUFDO0FBOENIOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBOENHO0FBQ0gsTUFBTSxPQUFPLHFCQUFxQjtJQTNGbEM7UUE4Rlksa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBYyxDQUFDO1FBRWpELG9CQUFlLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzFDLFNBQUksR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7S0F3SXBDO0lBdElDLFVBQVU7UUFDUixJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQy9CLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDNUIsQ0FBQztRQUVELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxJQUFJLGlCQUFpQixDQUFDO1FBRTVELDJDQUEyQztRQUMzQyxNQUFNLGlCQUFpQixHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDN0MsSUFBSSxDQUFDLEtBQUssUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFFLEVBQUUsQ0FBQztnQkFDckQsT0FBTyxLQUFLLENBQUM7WUFDZixDQUFDO1lBQ0QsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8saUJBQWlCLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEtBQUssU0FBUztZQUFFLE9BQU8sU0FBUyxDQUFDO1FBQ3ZELElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEtBQUssV0FBVztZQUFFLE9BQU8sT0FBTyxDQUFDO1FBQ3ZELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxhQUFhLENBQUMsTUFBeUI7UUFDckMsSUFBSSxNQUFNLENBQUMsSUFBSTtZQUFFLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQztRQUNwQyxPQUFPLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRSxJQUFJLElBQUksZUFBZSxDQUFDO0lBQ3BFLENBQUM7SUFFRCxjQUFjLENBQUMsTUFBeUI7UUFDdEMsSUFBSSxNQUFNLENBQUMsS0FBSztZQUFFLE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQztRQUN0QyxPQUFPLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRSxJQUFJLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQztJQUNwRSxDQUFDO0lBRUQsY0FBYyxDQUFDLE1BQXlCO1FBQ3RDLElBQUksTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2pCLElBQUksT0FBTyxNQUFNLENBQUMsS0FBSyxLQUFLLFFBQVEsSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUNyRSxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUM7WUFDdEIsQ0FBQztZQUNELE9BQU8sbUJBQW1CLE1BQU0sQ0FBQyxLQUFLLEdBQUcsQ0FBQztRQUM1QyxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixLQUFLLEtBQUssRUFBRSxDQUFDO1lBQzNDLE9BQU8sZ0JBQWdCLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEtBQUssSUFBSSwwQkFBMEIsQ0FBQztRQUNoRixDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3JCLE9BQU8sbUJBQW1CLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLENBQUM7UUFDaEQsQ0FBQztRQUVELE9BQU8sMEJBQTBCLENBQUM7SUFDcEMsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUFLLENBQUMsUUFBdUI7UUFDakMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUM7UUFFdkMsSUFBSSxDQUFDO1lBQ0gsUUFBUSxRQUFRLEVBQUUsQ0FBQztnQkFDakIsS0FBSyxRQUFRO29CQUNYLE1BQU0sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO29CQUN6QixNQUFNO2dCQUNSLEtBQUssTUFBTTtvQkFDVCxNQUFNLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztvQkFDN0IsTUFBTTtnQkFDUjtvQkFDRSxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO29CQUM1QixNQUFNO1lBQ1YsQ0FBQztZQUVELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDO2dCQUN0QixRQUFRO2dCQUNSLE9BQU8sRUFBRSxJQUFJO2dCQUNiLFNBQVM7YUFDVixDQUFDLENBQUM7UUFDTCxDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDO2dCQUN0QixRQUFRO2dCQUNSLE9BQU8sRUFBRSxLQUFLO2dCQUNkLEtBQUssRUFBRSxLQUFLLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxlQUFlO2dCQUMvRCxTQUFTO2FBQ1YsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7SUFFTyxZQUFZLENBQUMsUUFBdUI7UUFDMUMsTUFBTSxNQUFNLEdBQUcsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLE1BQU07WUFBRSxPQUFPO1FBRXBCLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNoRCxJQUFJLEdBQUcsRUFBRSxDQUFDO1lBQ1IsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsUUFBUSxFQUFFLHFCQUFxQixDQUFDLENBQUM7UUFDcEQsQ0FBQztJQUNILENBQUM7SUFFTyxLQUFLLENBQUMsV0FBVztRQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFFLEVBQUUsQ0FBQztZQUNuQyxNQUFNLElBQUksS0FBSyxDQUFDLDRCQUE0QixDQUFDLENBQUM7UUFDaEQsQ0FBQztRQUVELE1BQU0sSUFBSSxHQUFjO1lBQ3RCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLO1lBQ2pDLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJO1lBQy9CLEdBQUcsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxHQUFHO1NBQzlCLENBQUM7UUFFRixNQUFNLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBNEIsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFTyxLQUFLLENBQUMsZUFBZTtRQUMzQixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxHQUFHO1lBQ3pDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxJQUFJLEVBQUUsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxHQUFHLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFaEYsTUFBTSxTQUFTLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUVoRCxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxLQUFLLEtBQUssRUFBRSxDQUFDO1lBQ3ZDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1lBQzdDLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUM7Z0JBQzlDLE9BQU87Z0JBQ1AsUUFBUSxFQUFFLElBQUk7Z0JBQ2QsUUFBUSxFQUFFLFFBQVE7Z0JBQ2xCLEtBQUssRUFBRSxTQUFTO2dCQUNoQixJQUFJLEVBQUUsMEJBQTBCO2FBQ2pDLENBQUMsQ0FBQztZQUNILE1BQU0sS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3hCLENBQUM7SUFDSCxDQUFDO0lBRU8scUJBQXFCO1FBQzNCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRU8sc0JBQXNCO1FBQzVCLE9BQU8sT0FBTyxTQUFTLEtBQUssV0FBVyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDO0lBQy9ELENBQUM7K0dBN0lVLHFCQUFxQjttR0FBckIscUJBQXFCLHNKQXZGdEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQ1QscXVFQXRDUyxZQUFZLCtCQUFFLFNBQVMsb1BBQUUsT0FBTzs7NEZBd0YvQixxQkFBcUI7a0JBM0ZqQyxTQUFTOytCQUNFLG1CQUFtQixjQUNqQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQyxZQUNqQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXFDVDs4QkFtRFEsS0FBSztzQkFBYixLQUFLO2dCQUVJLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW9uQnV0dG9uLCBJb25JY29uLCBUb2FzdENvbnRyb2xsZXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvaTE4bic7XG5pbXBvcnQgeyBhZGRJY29ucyB9IGZyb20gJ2lvbmljb25zJztcbmltcG9ydCB7XG4gIGxvZ29XaGF0c2FwcCxcbiAgbG9nb0ZhY2Vib29rLFxuICBsb2dvVHdpdHRlcixcbiAgbG9nb0xpbmtlZGluLFxuICBwYXBlclBsYW5lT3V0bGluZSxcbiAgbWFpbE91dGxpbmUsXG4gIGNvcHlPdXRsaW5lLFxuICBzaGFyZU91dGxpbmUsXG59IGZyb20gJ2lvbmljb25zL2ljb25zJztcbmltcG9ydCB7XG4gIFNoYXJlQnV0dG9uc01ldGFkYXRhLFxuICBTaGFyZUV2ZW50LFxuICBTaGFyZVBsYXRmb3JtLFxuICBTaGFyZUJ1dHRvbkNvbmZpZyxcbiAgUExBVEZPUk1fQ09ORklHUyxcbiAgREVGQVVMVF9QTEFURk9STVMsXG59IGZyb20gJy4vdHlwZXMnO1xuXG5hZGRJY29ucyh7XG4gIGxvZ29XaGF0c2FwcCxcbiAgbG9nb0ZhY2Vib29rLFxuICBsb2dvVHdpdHRlcixcbiAgbG9nb0xpbmtlZGluLFxuICBwYXBlclBsYW5lT3V0bGluZSxcbiAgbWFpbE91dGxpbmUsXG4gIGNvcHlPdXRsaW5lLFxuICBzaGFyZU91dGxpbmUsXG59KTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLXNoYXJlLWJ1dHRvbnMnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBJb25CdXR0b24sIElvbkljb25dLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwic2hhcmUtYnV0dG9ucy1jb250YWluZXJcIlxuICAgICAgW2NsYXNzXT1cInByb3BzLmNzc0NsYXNzXCJcbiAgICAgIFtjbGFzcy5sYXlvdXQtaG9yaXpvbnRhbF09XCJwcm9wcy5sYXlvdXQgIT09ICd2ZXJ0aWNhbCdcIlxuICAgICAgW2NsYXNzLmxheW91dC12ZXJ0aWNhbF09XCJwcm9wcy5sYXlvdXQgPT09ICd2ZXJ0aWNhbCdcIlxuICAgICAgW2NsYXNzLnNpemUtc21hbGxdPVwicHJvcHMuc2l6ZSA9PT0gJ3NtYWxsJ1wiXG4gICAgICBbY2xhc3Muc2l6ZS1tZWRpdW1dPVwicHJvcHMuc2l6ZSA9PT0gJ21lZGl1bScgfHwgIXByb3BzLnNpemVcIlxuICAgICAgW2NsYXNzLnNpemUtbGFyZ2VdPVwicHJvcHMuc2l6ZSA9PT0gJ2xhcmdlJ1wiXG4gICAgICBbY2xhc3MudmFyaWFudC1zb2xpZF09XCJwcm9wcy52YXJpYW50ID09PSAnc29saWQnIHx8ICFwcm9wcy52YXJpYW50XCJcbiAgICAgIFtjbGFzcy52YXJpYW50LW91dGxpbmVdPVwicHJvcHMudmFyaWFudCA9PT0gJ291dGxpbmUnXCJcbiAgICAgIFtjbGFzcy52YXJpYW50LWljb24tb25seV09XCJwcm9wcy52YXJpYW50ID09PSAnaWNvbi1vbmx5J1wiXG4gICAgICBbc3R5bGUuLS1zaGFyZS1nYXBdPVwiKHByb3BzLmdhcCB8fCA4KSArICdweCdcIlxuICAgID5cbiAgICAgIEBmb3IgKGJ1dHRvbiBvZiBnZXRCdXR0b25zKCk7IHRyYWNrIGJ1dHRvbi5wbGF0Zm9ybSkge1xuICAgICAgICA8aW9uLWJ1dHRvblxuICAgICAgICAgIGNsYXNzPVwic2hhcmUtYnV0dG9uXCJcbiAgICAgICAgICBbY2xhc3NdPVwiJ3BsYXRmb3JtLScgKyBidXR0b24ucGxhdGZvcm1cIlxuICAgICAgICAgIFtmaWxsXT1cImdldEJ1dHRvbkZpbGwoKVwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImJ1dHRvbi5kaXNhYmxlZFwiXG4gICAgICAgICAgW3N0eWxlLi0tYmFja2dyb3VuZF09XCJnZXRCdXR0b25Db2xvcihidXR0b24pXCJcbiAgICAgICAgICBbc3R5bGUuLS1iYWNrZ3JvdW5kLWhvdmVyXT1cImdldEJ1dHRvbkNvbG9yKGJ1dHRvbilcIlxuICAgICAgICAgIFtzdHlsZS4tLWJvcmRlci1jb2xvcl09XCJnZXRCdXR0b25Db2xvcihidXR0b24pXCJcbiAgICAgICAgICBbc3R5bGUuLS1jb2xvcl09XCJwcm9wcy52YXJpYW50ID09PSAnb3V0bGluZScgPyBnZXRCdXR0b25Db2xvcihidXR0b24pIDogbnVsbFwiXG4gICAgICAgICAgKGNsaWNrKT1cInNoYXJlKGJ1dHRvbi5wbGF0Zm9ybSlcIlxuICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiZ2V0QnV0dG9uTGFiZWwoYnV0dG9uKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8aW9uLWljb25cbiAgICAgICAgICAgIFtzbG90XT1cInByb3BzLnNob3dMYWJlbHMgPT09IGZhbHNlIHx8IHByb3BzLnZhcmlhbnQgPT09ICdpY29uLW9ubHknID8gJ2ljb24tb25seScgOiAnc3RhcnQnXCJcbiAgICAgICAgICAgIFtuYW1lXT1cImdldEJ1dHRvbkljb24oYnV0dG9uKVwiXG4gICAgICAgICAgPjwvaW9uLWljb24+XG4gICAgICAgICAgQGlmIChwcm9wcy5zaG93TGFiZWxzICE9PSBmYWxzZSAmJiBwcm9wcy52YXJpYW50ICE9PSAnaWNvbi1vbmx5Jykge1xuICAgICAgICAgICAge3sgZ2V0QnV0dG9uTGFiZWwoYnV0dG9uKSB9fVxuICAgICAgICAgIH1cbiAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgfVxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9zaGFyZS1idXR0b25zLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuLyoqXG4gKiB2YWwtc2hhcmUtYnV0dG9uc1xuICpcbiAqIEEgY29tcG9uZW50IGZvciBzaGFyaW5nIGNvbnRlbnQgdG8gdmFyaW91cyBzb2NpYWwgbWVkaWEgcGxhdGZvcm1zLlxuICpcbiAqIEBleGFtcGxlIEJhc2ljIHVzYWdlXG4gKiBgYGBodG1sXG4gKiA8dmFsLXNoYXJlLWJ1dHRvbnNcbiAqICAgW3Byb3BzXT1cIntcbiAqICAgICBzaGFyZURhdGE6IHtcbiAqICAgICAgIHRpdGxlOiAnQ2hlY2sgdGhpcyBvdXQhJyxcbiAqICAgICAgIHRleHQ6ICdBbWF6aW5nIGNvbnRlbnQgaGVyZScsXG4gKiAgICAgICB1cmw6ICdodHRwczovL2V4YW1wbGUuY29tJ1xuICogICAgIH1cbiAqICAgfVwiXG4gKiA+PC92YWwtc2hhcmUtYnV0dG9ucz5cbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlIFdpdGggc3BlY2lmaWMgcGxhdGZvcm1zXG4gKiBgYGBodG1sXG4gKiA8dmFsLXNoYXJlLWJ1dHRvbnNcbiAqICAgW3Byb3BzXT1cIntcbiAqICAgICBzaGFyZURhdGE6IHtcbiAqICAgICAgIHRpdGxlOiAnSm9pbiBteSByYWZmbGUhJyxcbiAqICAgICAgIHRleHQ6ICdXaW4gYW1hemluZyBwcml6ZXMnLFxuICogICAgICAgdXJsOiAnaHR0cHM6Ly9yYWZmbGUuZXhhbXBsZS5jb20vMTIzJ1xuICogICAgIH0sXG4gKiAgICAgcGxhdGZvcm1zOiBbJ3doYXRzYXBwJywgJ2ZhY2Vib29rJywgJ3R3aXR0ZXInLCAnY29weSddLFxuICogICAgIHZhcmlhbnQ6ICdpY29uLW9ubHknLFxuICogICAgIHVzZVBsYXRmb3JtQ29sb3JzOiB0cnVlXG4gKiAgIH1cIlxuICogICAoc2hhcmVDb21wbGV0ZSk9XCJvblNoYXJlKCRldmVudClcIlxuICogPjwvdmFsLXNoYXJlLWJ1dHRvbnM+XG4gKiBgYGBcbiAqXG4gKiBAZXhhbXBsZSBWZXJ0aWNhbCBsYXlvdXRcbiAqIGBgYGh0bWxcbiAqIDx2YWwtc2hhcmUtYnV0dG9uc1xuICogICBbcHJvcHNdPVwie1xuICogICAgIHNoYXJlRGF0YTogc2hhcmVEYXRhLFxuICogICAgIGxheW91dDogJ3ZlcnRpY2FsJyxcbiAqICAgICBzaG93TGFiZWxzOiB0cnVlLFxuICogICAgIHNpemU6ICdsYXJnZSdcbiAqICAgfVwiXG4gKiA+PC92YWwtc2hhcmUtYnV0dG9ucz5cbiAqIGBgYFxuICovXG5leHBvcnQgY2xhc3MgU2hhcmVCdXR0b25zQ29tcG9uZW50IHtcbiAgQElucHV0KCkgcHJvcHM6IFNoYXJlQnV0dG9uc01ldGFkYXRhO1xuXG4gIEBPdXRwdXQoKSBzaGFyZUNvbXBsZXRlID0gbmV3IEV2ZW50RW1pdHRlcjxTaGFyZUV2ZW50PigpO1xuXG4gIHByaXZhdGUgdG9hc3RDb250cm9sbGVyID0gaW5qZWN0KFRvYXN0Q29udHJvbGxlcik7XG4gIHByaXZhdGUgaTE4biA9IGluamVjdChJMThuU2VydmljZSk7XG5cbiAgZ2V0QnV0dG9ucygpOiBTaGFyZUJ1dHRvbkNvbmZpZ1tdIHtcbiAgICBpZiAodGhpcy5wcm9wcy5idXR0b25zPy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiB0aGlzLnByb3BzLmJ1dHRvbnM7XG4gICAgfVxuXG4gICAgY29uc3QgcGxhdGZvcm1zID0gdGhpcy5wcm9wcy5wbGF0Zm9ybXMgfHwgREVGQVVMVF9QTEFURk9STVM7XG5cbiAgICAvLyBGaWx0ZXIgb3V0IG5hdGl2ZSBzaGFyZSBpZiBub3Qgc3VwcG9ydGVkXG4gICAgY29uc3QgZmlsdGVyZWRQbGF0Zm9ybXMgPSBwbGF0Zm9ybXMuZmlsdGVyKHAgPT4ge1xuICAgICAgaWYgKHAgPT09ICduYXRpdmUnICYmICF0aGlzLmlzTmF0aXZlU2hhcmVTdXBwb3J0ZWQoKSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9KTtcblxuICAgIHJldHVybiBmaWx0ZXJlZFBsYXRmb3Jtcy5tYXAocGxhdGZvcm0gPT4gKHsgcGxhdGZvcm0gfSkpO1xuICB9XG5cbiAgZ2V0QnV0dG9uRmlsbCgpOiAnc29saWQnIHwgJ291dGxpbmUnIHwgJ2NsZWFyJyB7XG4gICAgaWYgKHRoaXMucHJvcHMudmFyaWFudCA9PT0gJ291dGxpbmUnKSByZXR1cm4gJ291dGxpbmUnO1xuICAgIGlmICh0aGlzLnByb3BzLnZhcmlhbnQgPT09ICdpY29uLW9ubHknKSByZXR1cm4gJ2NsZWFyJztcbiAgICByZXR1cm4gJ3NvbGlkJztcbiAgfVxuXG4gIGdldEJ1dHRvbkljb24oYnV0dG9uOiBTaGFyZUJ1dHRvbkNvbmZpZyk6IHN0cmluZyB7XG4gICAgaWYgKGJ1dHRvbi5pY29uKSByZXR1cm4gYnV0dG9uLmljb247XG4gICAgcmV0dXJuIFBMQVRGT1JNX0NPTkZJR1NbYnV0dG9uLnBsYXRmb3JtXT8uaWNvbiB8fCAnc2hhcmUtb3V0bGluZSc7XG4gIH1cblxuICBnZXRCdXR0b25MYWJlbChidXR0b246IFNoYXJlQnV0dG9uQ29uZmlnKTogc3RyaW5nIHtcbiAgICBpZiAoYnV0dG9uLmxhYmVsKSByZXR1cm4gYnV0dG9uLmxhYmVsO1xuICAgIHJldHVybiBQTEFURk9STV9DT05GSUdTW2J1dHRvbi5wbGF0Zm9ybV0/Lm5hbWUgfHwgYnV0dG9uLnBsYXRmb3JtO1xuICB9XG5cbiAgZ2V0QnV0dG9uQ29sb3IoYnV0dG9uOiBTaGFyZUJ1dHRvbkNvbmZpZyk6IHN0cmluZyB7XG4gICAgaWYgKGJ1dHRvbi5jb2xvcikge1xuICAgICAgaWYgKHR5cGVvZiBidXR0b24uY29sb3IgPT09ICdzdHJpbmcnICYmIGJ1dHRvbi5jb2xvci5zdGFydHNXaXRoKCcjJykpIHtcbiAgICAgICAgcmV0dXJuIGJ1dHRvbi5jb2xvcjtcbiAgICAgIH1cbiAgICAgIHJldHVybiBgdmFyKC0taW9uLWNvbG9yLSR7YnV0dG9uLmNvbG9yfSlgO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnByb3BzLnVzZVBsYXRmb3JtQ29sb3JzICE9PSBmYWxzZSkge1xuICAgICAgcmV0dXJuIFBMQVRGT1JNX0NPTkZJR1NbYnV0dG9uLnBsYXRmb3JtXT8uY29sb3IgfHwgJ3ZhcigtLWlvbi1jb2xvci1wcmltYXJ5KSc7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMucHJvcHMuY29sb3IpIHtcbiAgICAgIHJldHVybiBgdmFyKC0taW9uLWNvbG9yLSR7dGhpcy5wcm9wcy5jb2xvcn0pYDtcbiAgICB9XG5cbiAgICByZXR1cm4gJ3ZhcigtLWlvbi1jb2xvci1wcmltYXJ5KSc7XG4gIH1cblxuICBhc3luYyBzaGFyZShwbGF0Zm9ybTogU2hhcmVQbGF0Zm9ybSk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHNoYXJlRGF0YSA9IHRoaXMucHJvcHMuc2hhcmVEYXRhO1xuXG4gICAgdHJ5IHtcbiAgICAgIHN3aXRjaCAocGxhdGZvcm0pIHtcbiAgICAgICAgY2FzZSAnbmF0aXZlJzpcbiAgICAgICAgICBhd2FpdCB0aGlzLm5hdGl2ZVNoYXJlKCk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2NvcHknOlxuICAgICAgICAgIGF3YWl0IHRoaXMuY29weVRvQ2xpcGJvYXJkKCk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgdGhpcy5vcGVuU2hhcmVVcmwocGxhdGZvcm0pO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnNoYXJlQ29tcGxldGUuZW1pdCh7XG4gICAgICAgIHBsYXRmb3JtLFxuICAgICAgICBzdWNjZXNzOiB0cnVlLFxuICAgICAgICBzaGFyZURhdGEsXG4gICAgICB9KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhpcy5zaGFyZUNvbXBsZXRlLmVtaXQoe1xuICAgICAgICBwbGF0Zm9ybSxcbiAgICAgICAgc3VjY2VzczogZmFsc2UsXG4gICAgICAgIGVycm9yOiBlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6ICdVbmtub3duIGVycm9yJyxcbiAgICAgICAgc2hhcmVEYXRhLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBvcGVuU2hhcmVVcmwocGxhdGZvcm06IFNoYXJlUGxhdGZvcm0pOiB2b2lkIHtcbiAgICBjb25zdCBjb25maWcgPSBQTEFURk9STV9DT05GSUdTW3BsYXRmb3JtXTtcbiAgICBpZiAoIWNvbmZpZykgcmV0dXJuO1xuXG4gICAgY29uc3QgdXJsID0gY29uZmlnLmdldFVybCh0aGlzLnByb3BzLnNoYXJlRGF0YSk7XG4gICAgaWYgKHVybCkge1xuICAgICAgd2luZG93Lm9wZW4odXJsLCAnX2JsYW5rJywgJ25vb3BlbmVyLG5vcmVmZXJyZXInKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIG5hdGl2ZVNoYXJlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICghdGhpcy5pc05hdGl2ZVNoYXJlU3VwcG9ydGVkKCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTmF0aXZlIHNoYXJlIG5vdCBzdXBwb3J0ZWQnKTtcbiAgICB9XG5cbiAgICBjb25zdCBkYXRhOiBTaGFyZURhdGEgPSB7XG4gICAgICB0aXRsZTogdGhpcy5wcm9wcy5zaGFyZURhdGEudGl0bGUsXG4gICAgICB0ZXh0OiB0aGlzLnByb3BzLnNoYXJlRGF0YS50ZXh0LFxuICAgICAgdXJsOiB0aGlzLnByb3BzLnNoYXJlRGF0YS51cmwsXG4gICAgfTtcblxuICAgIGF3YWl0IG5hdmlnYXRvci5zaGFyZShkYXRhIGFzIGdsb2JhbFRoaXMuU2hhcmVEYXRhKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgY29weVRvQ2xpcGJvYXJkKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHRleHRUb0NvcHkgPSB0aGlzLnByb3BzLnNoYXJlRGF0YS51cmwgfHxcbiAgICAgIGAke3RoaXMucHJvcHMuc2hhcmVEYXRhLnRleHQgfHwgJyd9ICR7dGhpcy5wcm9wcy5zaGFyZURhdGEudXJsIHx8ICcnfWAudHJpbSgpO1xuXG4gICAgYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQodGV4dFRvQ29weSk7XG5cbiAgICBpZiAodGhpcy5wcm9wcy5zaG93Q29weVRvYXN0ICE9PSBmYWxzZSkge1xuICAgICAgY29uc3QgbWVzc2FnZSA9IHRoaXMuZ2V0Q29weVN1Y2Nlc3NNZXNzYWdlKCk7XG4gICAgICBjb25zdCB0b2FzdCA9IGF3YWl0IHRoaXMudG9hc3RDb250cm9sbGVyLmNyZWF0ZSh7XG4gICAgICAgIG1lc3NhZ2UsXG4gICAgICAgIGR1cmF0aW9uOiAyMDAwLFxuICAgICAgICBwb3NpdGlvbjogJ2JvdHRvbScsXG4gICAgICAgIGNvbG9yOiAnc3VjY2VzcycsXG4gICAgICAgIGljb246ICdjaGVja21hcmstY2lyY2xlLW91dGxpbmUnLFxuICAgICAgfSk7XG4gICAgICBhd2FpdCB0b2FzdC5wcmVzZW50KCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRDb3B5U3VjY2Vzc01lc3NhZ2UoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5jb3B5U3VjY2Vzc01lc3NhZ2UgfHwgdGhpcy5pMThuLnQoJ2xpbmtDb3BpZWQnKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNOYXRpdmVTaGFyZVN1cHBvcnRlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHlwZW9mIG5hdmlnYXRvciAhPT0gJ3VuZGVmaW5lZCcgJiYgISFuYXZpZ2F0b3Iuc2hhcmU7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { Component, Input, Output, EventEmitter } from '@angular/core';
|
|
1
|
+
import { Component, Input, Output, EventEmitter, inject } from '@angular/core';
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
3
|
import { FormsModule } from '@angular/forms';
|
|
4
|
+
import { I18nService } from '../../../services/i18n';
|
|
4
5
|
import { IonIcon, IonButton, IonBadge, IonTextarea, IonItem, IonSelect, IonSelectOption, IonSpinner, IonInfiniteScroll, IonInfiniteScrollContent, } from '@ionic/angular/standalone';
|
|
5
6
|
import { addIcons } from 'ionicons';
|
|
6
7
|
import { chatbubblesOutline, filterOutline, sendOutline, chatbubbleEllipsesOutline, swapVerticalOutline, } from 'ionicons/icons';
|
|
@@ -61,6 +62,7 @@ addIcons({
|
|
|
61
62
|
*/
|
|
62
63
|
export class CommentSectionComponent {
|
|
63
64
|
constructor() {
|
|
65
|
+
this.i18n = inject(I18nService);
|
|
64
66
|
// Section events
|
|
65
67
|
this.sortChange = new EventEmitter();
|
|
66
68
|
this.commentSubmit = new EventEmitter();
|
|
@@ -84,8 +86,11 @@ export class CommentSectionComponent {
|
|
|
84
86
|
this.updateDisplayTexts();
|
|
85
87
|
}
|
|
86
88
|
updateDisplayTexts() {
|
|
87
|
-
this.displayTitle = this.props.title || '
|
|
88
|
-
this.displayLoadMoreLabel = this.props.loadMoreLabel || '
|
|
89
|
+
this.displayTitle = this.props.title || this.i18n.t('comments');
|
|
90
|
+
this.displayLoadMoreLabel = this.props.loadMoreLabel || this.i18n.t('loadMoreComments');
|
|
91
|
+
}
|
|
92
|
+
getSortByLabel() {
|
|
93
|
+
return this.i18n.t('sortBy');
|
|
89
94
|
}
|
|
90
95
|
formatCount(count) {
|
|
91
96
|
if (count >= 1000000) {
|
|
@@ -100,16 +105,16 @@ export class CommentSectionComponent {
|
|
|
100
105
|
return option.label;
|
|
101
106
|
}
|
|
102
107
|
getInputPlaceholder() {
|
|
103
|
-
return this.props.inputConfig?.placeholder || '
|
|
108
|
+
return this.props.inputConfig?.placeholder || this.i18n.t('writeComment');
|
|
104
109
|
}
|
|
105
110
|
getSubmitLabel() {
|
|
106
|
-
return this.props.inputConfig?.submitLabel || '
|
|
111
|
+
return this.props.inputConfig?.submitLabel || this.i18n.t('publish');
|
|
107
112
|
}
|
|
108
113
|
getEmptyTitle() {
|
|
109
|
-
return this.props.emptyState?.title || '
|
|
114
|
+
return this.props.emptyState?.title || this.i18n.t('noCommentsYet');
|
|
110
115
|
}
|
|
111
116
|
getEmptyMessage() {
|
|
112
|
-
return this.props.emptyState?.message || '
|
|
117
|
+
return this.props.emptyState?.message || this.i18n.t('beFirstToComment');
|
|
113
118
|
}
|
|
114
119
|
getSkeletonArray() {
|
|
115
120
|
const count = this.props.skeletonCount || 3;
|
|
@@ -205,7 +210,7 @@ export class CommentSectionComponent {
|
|
|
205
210
|
<ion-icon name="swap-vertical-outline" slot="start" class="sort-icon"></ion-icon>
|
|
206
211
|
<ion-select
|
|
207
212
|
[value]="props.selectedSort"
|
|
208
|
-
[placeholder]="props.sortLabel ||
|
|
213
|
+
[placeholder]="props.sortLabel || getSortByLabel()"
|
|
209
214
|
interface="popover"
|
|
210
215
|
(ionChange)="onSortChange($event)"
|
|
211
216
|
>
|
|
@@ -375,7 +380,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
375
380
|
<ion-icon name="swap-vertical-outline" slot="start" class="sort-icon"></ion-icon>
|
|
376
381
|
<ion-select
|
|
377
382
|
[value]="props.selectedSort"
|
|
378
|
-
[placeholder]="props.sortLabel ||
|
|
383
|
+
[placeholder]="props.sortLabel || getSortByLabel()"
|
|
379
384
|
interface="popover"
|
|
380
385
|
(ionChange)="onSortChange($event)"
|
|
381
386
|
>
|
|
@@ -529,4 +534,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
529
534
|
}], replyStart: [{
|
|
530
535
|
type: Output
|
|
531
536
|
}] } });
|
|
532
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudC1zZWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9vcmdhbmlzbXMvY29tbWVudC1zZWN0aW9uL2NvbW1lbnQtc2VjdGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFDTCxPQUFPLEVBQ1AsU0FBUyxFQUNULFFBQVEsRUFDUixXQUFXLEVBQ1gsT0FBTyxFQUNQLFNBQVMsRUFDVCxlQUFlLEVBQ2YsVUFBVSxFQUNWLGlCQUFpQixFQUNqQix3QkFBd0IsR0FDekIsTUFBTSwyQkFBMkIsQ0FBQztBQUNuQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLE9BQU8sRUFDTCxrQkFBa0IsRUFDbEIsYUFBYSxFQUNiLFdBQVcsRUFDWCx5QkFBeUIsRUFDekIsbUJBQW1CLEdBQ3BCLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDN0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDOzs7QUFnQjVFLFFBQVEsQ0FBQztJQUNQLGtCQUFrQjtJQUNsQixhQUFhO0lBQ2IsV0FBVztJQUNYLHlCQUF5QjtJQUN6QixtQkFBbUI7Q0FDcEIsQ0FBQyxDQUFDO0FBK0tIOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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Q1M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNKVDs4QkErQ1EsS0FBSztzQkFBYixLQUFLO2dCQUdJLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxRQUFRO3NCQUFqQixNQUFNO2dCQUdHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csZUFBZTtzQkFBeEIsTUFBTTtnQkFDRyxjQUFjO3NCQUF2QixNQUFNO2dCQUdHLFVBQVU7c0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICBJb25JY29uLFxuICBJb25CdXR0b24sXG4gIElvbkJhZGdlLFxuICBJb25UZXh0YXJlYSxcbiAgSW9uSXRlbSxcbiAgSW9uU2VsZWN0LFxuICBJb25TZWxlY3RPcHRpb24sXG4gIElvblNwaW5uZXIsXG4gIElvbkluZmluaXRlU2Nyb2xsLFxuICBJb25JbmZpbml0ZVNjcm9sbENvbnRlbnQsXG59IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgYWRkSWNvbnMgfSBmcm9tICdpb25pY29ucyc7XG5pbXBvcnQge1xuICBjaGF0YnViYmxlc091dGxpbmUsXG4gIGZpbHRlck91dGxpbmUsXG4gIHNlbmRPdXRsaW5lLFxuICBjaGF0YnViYmxlRWxsaXBzZXNPdXRsaW5lLFxuICBzd2FwVmVydGljYWxPdXRsaW5lLFxufSBmcm9tICdpb25pY29ucy9pY29ucyc7XG5cbmltcG9ydCB7IENvbW1lbnRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvY29tbWVudC9jb21tZW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBdmF0YXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy9hdmF0YXIvYXZhdGFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa2VsZXRvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL3NrZWxldG9uL3NrZWxldG9uLmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICBDb21tZW50U2VjdGlvbk1ldGFkYXRhLFxuICBDb21tZW50U29ydE9wdGlvbixcbiAgQ29tbWVudFNvcnRDaGFuZ2VFdmVudCxcbiAgQ29tbWVudFN1Ym1pdEV2ZW50LFxuICBDb21tZW50U2VjdGlvbkxvYWRNb3JlRXZlbnQsXG59IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHtcbiAgQ29tbWVudEF1dGhvckNsaWNrRXZlbnQsXG4gIENvbW1lbnRSZWFjdGlvbkNsaWNrRXZlbnQsXG4gIENvbW1lbnRBY3Rpb25DbGlja0V2ZW50LFxuICBDb21tZW50TWVudUl0ZW1DbGlja0V2ZW50LFxuICBDb21tZW50TG9hZE1vcmVFdmVudCxcbn0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL2NvbW1lbnQvdHlwZXMnO1xuXG5hZGRJY29ucyh7XG4gIGNoYXRidWJibGVzT3V0bGluZSxcbiAgZmlsdGVyT3V0bGluZSxcbiAgc2VuZE91dGxpbmUsXG4gIGNoYXRidWJibGVFbGxpcHNlc091dGxpbmUsXG4gIHN3YXBWZXJ0aWNhbE91dGxpbmUsXG59KTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWNvbW1lbnQtc2VjdGlvbicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgSW9uSWNvbixcbiAgICBJb25CdXR0b24sXG4gICAgSW9uQmFkZ2UsXG4gICAgSW9uVGV4dGFyZWEsXG4gICAgSW9uSXRlbSxcbiAgICBJb25TZWxlY3QsXG4gICAgSW9uU2VsZWN0T3B0aW9uLFxuICAgIElvblNwaW5uZXIsXG4gICAgSW9uSW5maW5pdGVTY3JvbGwsXG4gICAgSW9uSW5maW5pdGVTY3JvbGxDb250ZW50LFxuICAgIENvbW1lbnRDb21wb25lbnQsXG4gICAgQXZhdGFyQ29tcG9uZW50LFxuICAgIFNrZWxldG9uQ29tcG9uZW50LFxuICBdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJjb21tZW50LXNlY3Rpb25cIiBbY2xhc3MubG9hZGluZ109XCJwcm9wcy5sb2FkaW5nXCI+XG4gICAgICA8IS0tIEhlYWRlciAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJzZWN0aW9uLWhlYWRlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyLXRpdGxlXCI+XG4gICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJjaGF0YnViYmxlcy1vdXRsaW5lXCIgY2xhc3M9XCJ0aXRsZS1pY29uXCI+PC9pb24taWNvbj5cbiAgICAgICAgICA8aDMgY2xhc3M9XCJ0aXRsZVwiPnt7IGRpc3BsYXlUaXRsZSB9fTwvaDM+XG4gICAgICAgICAgQGlmIChwcm9wcy5zaG93Q291bnQgIT09IGZhbHNlICYmIHByb3BzLmNvdW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIDxpb24tYmFkZ2UgY29sb3I9XCJtZWRpdW1cIiBjbGFzcz1cImNvdW50LWJhZGdlXCI+XG4gICAgICAgICAgICAgIHt7IGZvcm1hdENvdW50KHByb3BzLmNvdW50KSB9fVxuICAgICAgICAgICAgPC9pb24tYmFkZ2U+XG4gICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICBAaWYgKHByb3BzLnNvcnRPcHRpb25zICYmIHByb3BzLnNvcnRPcHRpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyLWFjdGlvbnNcIj5cbiAgICAgICAgICAgIDxpb24taXRlbSBsaW5lcz1cIm5vbmVcIiBjbGFzcz1cInNvcnQtc2VsZWN0LWl0ZW1cIj5cbiAgICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJzd2FwLXZlcnRpY2FsLW91dGxpbmVcIiBzbG90PVwic3RhcnRcIiBjbGFzcz1cInNvcnQtaWNvblwiPjwvaW9uLWljb24+XG4gICAgICAgICAgICAgIDxpb24tc2VsZWN0XG4gICAgICAgICAgICAgICAgW3ZhbHVlXT1cInByb3BzLnNlbGVjdGVkU29ydFwiXG4gICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInByb3BzLnNvcnRMYWJlbCB8fCAnU29ydCBieSdcIlxuICAgICAgICAgICAgICAgIGludGVyZmFjZT1cInBvcG92ZXJcIlxuICAgICAgICAgICAgICAgIChpb25DaGFuZ2UpPVwib25Tb3J0Q2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgQGZvciAob3B0aW9uIG9mIHByb3BzLnNvcnRPcHRpb25zOyB0cmFjayBvcHRpb24udG9rZW4pIHtcbiAgICAgICAgICAgICAgICAgIDxpb24tc2VsZWN0LW9wdGlvbiBbdmFsdWVdPVwib3B0aW9uLnRva2VuXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IGdldFNvcnRPcHRpb25MYWJlbChvcHRpb24pIH19XG4gICAgICAgICAgICAgICAgICA8L2lvbi1zZWxlY3Qtb3B0aW9uPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPC9pb24tc2VsZWN0PlxuICAgICAgICAgICAgPC9pb24taXRlbT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG5cbiAgICAgIDwhLS0gTmV3IENvbW1lbnQgSW5wdXQgLS0+XG4gICAgICBAaWYgKHByb3BzLnNob3dJbnB1dCAhPT0gZmFsc2UpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cIm5ldy1jb21tZW50LXNlY3Rpb25cIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtd3JhcHBlclwiPlxuICAgICAgICAgICAgQGlmIChwcm9wcy5pbnB1dENvbmZpZz8uY3VycmVudFVzZXI/LmF2YXRhcikge1xuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtYXZhdGFyXCI+XG4gICAgICAgICAgICAgICAgPHZhbC1hdmF0YXIgW3Byb3BzXT1cInByb3BzLmlucHV0Q29uZmlnLmN1cnJlbnRVc2VyLmF2YXRhclwiPjwvdmFsLWF2YXRhcj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgPGlvbi10ZXh0YXJlYVxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwibmV3Q29tbWVudFRleHRcIlxuICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJnZXRJbnB1dFBsYWNlaG9sZGVyKClcIlxuICAgICAgICAgICAgICAgIFttYXhsZW5ndGhdPVwicHJvcHMuaW5wdXRDb25maWc/Lm1heExlbmd0aCB8fCAyMDAwXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwicHJvcHMuaW5wdXRDb25maWc/LmRpc2FibGVkIHx8IHByb3BzLmxvYWRpbmdcIlxuICAgICAgICAgICAgICAgIFthdXRvR3Jvd109XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICByb3dzPVwiMlwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJjb21tZW50LXRleHRhcmVhXCJcbiAgICAgICAgICAgICAgPjwvaW9uLXRleHRhcmVhPlxuXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1hY3Rpb25zXCI+XG4gICAgICAgICAgICAgICAgQGlmIChwcm9wcy5pbnB1dENvbmZpZz8uc2hvd0NvdW50ZXIgJiYgcHJvcHMuaW5wdXRDb25maWc/Lm1heExlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjaGFyLWNvdW50ZXJcIiBbY2xhc3Mud2FybmluZ109XCJpc05lYXJMaW1pdCgpXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IG5ld0NvbW1lbnRUZXh0Lmxlbmd0aCB9fSAvIHt7IHByb3BzLmlucHV0Q29uZmlnLm1heExlbmd0aCB9fVxuICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIDxpb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICBbY29sb3JdPVwicHJvcHMuaW5wdXRDb25maWc/LnN1Ym1pdENvbG9yIHx8IHByb3BzLmNvbG9yIHx8ICdwcmltYXJ5J1wiXG4gICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiIWNhblN1Ym1pdCgpXCJcbiAgICAgICAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25TdWJtaXRDb21tZW50KClcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwic2VuZC1vdXRsaW5lXCIgc2xvdD1cInN0YXJ0XCI+PC9pb24taWNvbj5cbiAgICAgICAgICAgICAgICAgIHt7IGdldFN1Ym1pdExhYmVsKCkgfX1cbiAgICAgICAgICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuXG4gICAgICBAaWYgKHByb3BzLmxvYWRpbmcpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImxvYWRpbmctc3RhdGVcIj5cbiAgICAgICAgICBAZm9yIChpIG9mIGdldFNrZWxldG9uQXJyYXkoKTsgdHJhY2sgaSkge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNrZWxldG9uLWNvbW1lbnRcIj5cbiAgICAgICAgICAgICAgPHZhbC1za2VsZXRvbiBbcHJvcHNdPVwieyB0eXBlOiAnYXZhdGFyJywgd2lkdGg6ICczNnB4JywgaGVpZ2h0OiAnMzZweCcgfVwiPjwvdmFsLXNrZWxldG9uPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2tlbGV0b24tY29udGVudFwiPlxuICAgICAgICAgICAgICAgIDx2YWwtc2tlbGV0b24gW3Byb3BzXT1cInsgdHlwZTogJ3RleHQnLCB3aWR0aDogJzEyMHB4JywgaGVpZ2h0OiAnMTRweCcgfVwiPjwvdmFsLXNrZWxldG9uPlxuICAgICAgICAgICAgICAgIDx2YWwtc2tlbGV0b24gW3Byb3BzXT1cInsgdHlwZTogJ3BhcmFncmFwaCcsIGxpbmVzOiAyIH1cIj48L3ZhbC1za2VsZXRvbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgfSBAZWxzZSBpZiAocHJvcHMuY29tbWVudHMgJiYgcHJvcHMuY29tbWVudHMubGVuZ3RoID4gMCkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiY29tbWVudHMtbGlzdFwiIFtjbGFzcy53aXRoLWRpdmlkZXJzXT1cInByb3BzLnNob3dEaXZpZGVyc1wiPlxuICAgICAgICAgIEBmb3IgKGNvbW1lbnQgb2YgcHJvcHMuY29tbWVudHM7IHRyYWNrIGNvbW1lbnQudG9rZW4pIHtcbiAgICAgICAgICAgIDx2YWwtY29tbWVudFxuICAgICAgICAgICAgICBbcHJvcHNdPVwiY29tbWVudFwiXG4gICAgICAgICAgICAgIChhdXRob3JDbGljayk9XCJhdXRob3JDbGljay5lbWl0KCRldmVudClcIlxuICAgICAgICAgICAgICAocmVhY3Rpb25DbGljayk9XCJyZWFjdGlvbkNsaWNrLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgIChhY3Rpb25DbGljayk9XCJvbkNvbW1lbnRBY3Rpb24oJGV2ZW50KVwiXG4gICAgICAgICAgICAgIChtZW51SXRlbUNsaWNrKT1cIm1lbnVJdGVtQ2xpY2suZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgKGxvYWRNb3JlQ2xpY2spPVwiY29tbWVudExvYWRNb3JlLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgIChjb2xsYXBzZVRvZ2dsZSk9XCJjb2xsYXBzZVRvZ2dsZS5lbWl0KCRldmVudClcIlxuICAgICAgICAgICAgPjwvdmFsLWNvbW1lbnQ+XG5cbiAgICAgICAgICAgIEBpZiAocHJvcHMuc2hvd0RpdmlkZXJzICYmICEkbGFzdCkge1xuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29tbWVudC1kaXZpZGVyXCI+PC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGlmIChwcm9wcy5oYXNNb3JlICYmIHByb3BzLnBhZ2luYXRpb25Nb2RlICE9PSAnaW5maW5pdGUnKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibG9hZC1tb3JlLXNlY3Rpb25cIj5cbiAgICAgICAgICAgICAgQGlmIChwcm9wcy5sb2FkaW5nTW9yZSkge1xuICAgICAgICAgICAgICAgIDxpb24tc3Bpbm5lciBuYW1lPVwiY3Jlc2NlbnRcIiBbY29sb3JdPVwicHJvcHMuY29sb3IgfHwgJ3ByaW1hcnknXCI+PC9pb24tc3Bpbm5lcj5cbiAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgPGlvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgIGZpbGw9XCJvdXRsaW5lXCJcbiAgICAgICAgICAgICAgICAgIFtjb2xvcl09XCJwcm9wcy5jb2xvciB8fCAncHJpbWFyeSdcIlxuICAgICAgICAgICAgICAgICAgZXhwYW5kPVwiYmxvY2tcIlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uTG9hZE1vcmUoKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge3sgZGlzcGxheUxvYWRNb3JlTGFiZWwgfX1cbiAgICAgICAgICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgQGlmIChwcm9wcy5wYWdpbmF0aW9uTW9kZSA9PT0gJ2luZmluaXRlJykge1xuICAgICAgICAgIDxpb24taW5maW5pdGUtc2Nyb2xsXG4gICAgICAgICAgICBbdGhyZXNob2xkXT1cInByb3BzLmluZmluaXRlU2Nyb2xsVGhyZXNob2xkIHx8ICcxMDBweCdcIlxuICAgICAgICAgICAgW3Bvc2l0aW9uXT1cInByb3BzLmluZmluaXRlU2Nyb2xsUG9zaXRpb24gfHwgJ2JvdHRvbSdcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFwcm9wcy5oYXNNb3JlXCJcbiAgICAgICAgICAgIChpb25JbmZpbml0ZSk9XCJvbkluZmluaXRlU2Nyb2xsKCRldmVudClcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxpb24taW5maW5pdGUtc2Nyb2xsLWNvbnRlbnRcbiAgICAgICAgICAgICAgW2xvYWRpbmdTcGlubmVyXT1cIidjcmVzY2VudCdcIlxuICAgICAgICAgICAgICBbbG9hZGluZ1RleHRdPVwiZGlzcGxheUxvYWRNb3JlTGFiZWxcIlxuICAgICAgICAgICAgPjwvaW9uLWluZmluaXRlLXNjcm9sbC1jb250ZW50PlxuICAgICAgICAgIDwvaW9uLWluZmluaXRlLXNjcm9sbD5cbiAgICAgICAgfVxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJlbXB0eS1zdGF0ZVwiPlxuICAgICAgICAgIDxpb24taWNvblxuICAgICAgICAgICAgW25hbWVdPVwicHJvcHMuZW1wdHlTdGF0ZT8uaWNvbiB8fCAnY2hhdGJ1YmJsZS1lbGxpcHNlcy1vdXRsaW5lJ1wiXG4gICAgICAgICAgICBjbGFzcz1cImVtcHR5LWljb25cIlxuICAgICAgICAgID48L2lvbi1pY29uPlxuICAgICAgICAgIDxoNCBjbGFzcz1cImVtcHR5LXRpdGxlXCI+e3sgZ2V0RW1wdHlUaXRsZSgpIH19PC9oND5cbiAgICAgICAgICA8cCBjbGFzcz1cImVtcHR5LW1lc3NhZ2VcIj57eyBnZXRFbXB0eU1lc3NhZ2UoKSB9fTwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL2NvbW1lbnQtc2VjdGlvbi5jb21wb25lbnQuc2NzcyddLFxufSlcbi8qKlxuICogdmFsLWNvbW1lbnQtc2VjdGlvblxuICpcbiAqIEFuIG9yZ2FuaXNtIGNvbXBvbmVudCB0aGF0IHByb3ZpZGVzIGEgY29tcGxldGUgY29tbWVudCBzZWN0aW9uIHdpdGg6XG4gKiAtIEhlYWRlciB3aXRoIHRpdGxlIGFuZCBjb3VudFxuICogLSBTb3J0L2ZpbHRlciBvcHRpb25zXG4gKiAtIE5ldyBjb21tZW50IGlucHV0XG4gKiAtIENvbW1lbnRzIGxpc3Qgd2l0aCB2YWwtY29tbWVudFxuICogLSBMb2FkIG1vcmUgcGFnaW5hdGlvblxuICogLSBFbXB0eSBzdGF0ZVxuICpcbiAqIEBleGFtcGxlIEJhc2ljIHVzYWdlXG4gKiA8dmFsLWNvbW1lbnQtc2VjdGlvbiBbcHJvcHNdPVwie1xuICogICB0aXRsZTogJ0NvbW1lbnRzJyxcbiAqICAgY291bnQ6IDQyLFxuICogICBjb21tZW50czogY29tbWVudHNBcnJheSxcbiAqICAgc2hvd0lucHV0OiB0cnVlXG4gKiB9XCI+PC92YWwtY29tbWVudC1zZWN0aW9uPlxuICpcbiAqIEBleGFtcGxlIFdpdGggc29ydGluZ1xuICogPHZhbC1jb21tZW50LXNlY3Rpb24gW3Byb3BzXT1cIntcbiAqICAgdGl0bGU6ICdSZXZpZXdzJyxcbiAqICAgY291bnQ6IDEyOCxcbiAqICAgY29tbWVudHM6IHJldmlld3MsXG4gKiAgIHNvcnRPcHRpb25zOiBbXG4gKiAgICAgeyB0b2tlbjogJ25ld2VzdCcsIGxhYmVsOiAnTmV3ZXN0IGZpcnN0JyB9LFxuICogICAgIHsgdG9rZW46ICdvbGRlc3QnLCBsYWJlbDogJ09sZGVzdCBmaXJzdCcgfSxcbiAqICAgICB7IHRva2VuOiAncG9wdWxhcicsIGxhYmVsOiAnTW9zdCBwb3B1bGFyJyB9XG4gKiAgIF0sXG4gKiAgIHNlbGVjdGVkU29ydDogJ25ld2VzdCdcbiAqIH1cIiAoc29ydENoYW5nZSk9XCJvblNvcnQoJGV2ZW50KVwiPjwvdmFsLWNvbW1lbnQtc2VjdGlvbj5cbiAqXG4gKiBAaW5wdXQgcHJvcHM6IENvbW1lbnRTZWN0aW9uTWV0YWRhdGEgLSBDb25maWd1cmF0aW9uIGZvciB0aGUgc2VjdGlvblxuICogQG91dHB1dCBzb3J0Q2hhbmdlIC0gU29ydCBvcHRpb24gY2hhbmdlZFxuICogQG91dHB1dCBjb21tZW50U3VibWl0IC0gTmV3IGNvbW1lbnQgc3VibWl0dGVkXG4gKiBAb3V0cHV0IGxvYWRNb3JlIC0gTG9hZCBtb3JlIGNsaWNrZWRcbiAqIEBvdXRwdXQgYXV0aG9yQ2xpY2sgLSBDb21tZW50IGF1dGhvciBjbGlja2VkIChidWJibGVkIGZyb20gdmFsLWNvbW1lbnQpXG4gKiBAb3V0cHV0IHJlYWN0aW9uQ2xpY2sgLSBSZWFjdGlvbiBjbGlja2VkIChidWJibGVkKVxuICogQG91dHB1dCBhY3Rpb25DbGljayAtIEFjdGlvbiBjbGlja2VkIChidWJibGVkKVxuICogQG91dHB1dCBtZW51SXRlbUNsaWNrIC0gTWVudSBpdGVtIGNsaWNrZWQgKGJ1YmJsZWQpXG4gKiBAb3V0cHV0IGNvbW1lbnRMb2FkTW9yZSAtIExvYWQgbW9yZSByZXBsaWVzIGNsaWNrZWQgKGJ1YmJsZWQpXG4gKiBAb3V0cHV0IGNvbGxhcHNlVG9nZ2xlIC0gQ29tbWVudCBjb2xsYXBzZSB0b2dnbGVkIChidWJibGVkKVxuICovXG5leHBvcnQgY2xhc3MgQ29tbWVudFNlY3Rpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBwcm9wczogQ29tbWVudFNlY3Rpb25NZXRhZGF0YTtcblxuICAvLyBTZWN0aW9uIGV2ZW50c1xuICBAT3V0cHV0KCkgc29ydENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Q29tbWVudFNvcnRDaGFuZ2VFdmVudD4oKTtcbiAgQE91dHB1dCgpIGNvbW1lbnRTdWJtaXQgPSBuZXcgRXZlbnRFbWl0dGVyPENvbW1lbnRTdWJtaXRFdmVudD4oKTtcbiAgQE91dHB1dCgpIGxvYWRNb3JlID0gbmV3IEV2ZW50RW1pdHRlcjxDb21tZW50U2VjdGlvbkxvYWRNb3JlRXZlbnQ+KCk7XG5cbiAgLy8gQnViYmxlZCBldmVudHMgZnJvbSB2YWwtY29tbWVudFxuICBAT3V0cHV0KCkgYXV0aG9yQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPENvbW1lbnRBdXRob3JDbGlja0V2ZW50PigpO1xuICBAT3V0cHV0KCkgcmVhY3Rpb25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8Q29tbWVudFJlYWN0aW9uQ2xpY2tFdmVudD4oKTtcbiAgQE91dHB1dCgpIGFjdGlvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxDb21tZW50QWN0aW9uQ2xpY2tFdmVudD4oKTtcbiAgQE91dHB1dCgpIG1lbnVJdGVtQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPENvbW1lbnRNZW51SXRlbUNsaWNrRXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSBjb21tZW50TG9hZE1vcmUgPSBuZXcgRXZlbnRFbWl0dGVyPENvbW1lbnRMb2FkTW9yZUV2ZW50PigpO1xuICBAT3V0cHV0KCkgY29sbGFwc2VUb2dnbGUgPSBuZXcgRXZlbnRFbWl0dGVyPHsgdG9rZW46IHN0cmluZzsgY29sbGFwc2VkOiBib29sZWFuIH0+KCk7XG5cbiAgLy8gUmVwbHkgc3RhdGVcbiAgQE91dHB1dCgpIHJlcGx5U3RhcnQgPSBuZXcgRXZlbnRFbWl0dGVyPHsgY29tbWVudFRva2VuOiBzdHJpbmcgfT4oKTtcblxuICBuZXdDb21tZW50VGV4dCA9ICcnO1xuICByZXBseWluZ1RvOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICBkaXNwbGF5VGl0bGUgPSAnJztcbiAgZGlzcGxheUxvYWRNb3JlTGFiZWwgPSAnJztcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZURpc3BsYXlUZXh0cygpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVEaXNwbGF5VGV4dHMoKTogdm9pZCB7XG4gICAgdGhpcy5kaXNwbGF5VGl0bGUgPSB0aGlzLnByb3BzLnRpdGxlIHx8ICdDb21lbnRhcmlvcyc7XG4gICAgdGhpcy5kaXNwbGF5TG9hZE1vcmVMYWJlbCA9IHRoaXMucHJvcHMubG9hZE1vcmVMYWJlbCB8fCAnQ2FyZ2FyIG3DoXMgY29tZW50YXJpb3MnO1xuICB9XG5cbiAgZm9ybWF0Q291bnQoY291bnQ6IG51bWJlcik6IHN0cmluZyB7XG4gICAgaWYgKGNvdW50ID49IDEwMDAwMDApIHtcbiAgICAgIHJldHVybiAoY291bnQgLyAxMDAwMDAwKS50b0ZpeGVkKDEpLnJlcGxhY2UoL1xcLjAkLywgJycpICsgJ00nO1xuICAgIH1cbiAgICBpZiAoY291bnQgPj0gMTAwMCkge1xuICAgICAgcmV0dXJuIChjb3VudCAvIDEwMDApLnRvRml4ZWQoMSkucmVwbGFjZSgvXFwuMCQvLCAnJykgKyAnSyc7XG4gICAgfVxuICAgIHJldHVybiBjb3VudC50b1N0cmluZygpO1xuICB9XG5cbiAgZ2V0U29ydE9wdGlvbkxhYmVsKG9wdGlvbjogQ29tbWVudFNvcnRPcHRpb24pOiBzdHJpbmcge1xuICAgIHJldHVybiBvcHRpb24ubGFiZWw7XG4gIH1cblxuICBnZXRJbnB1dFBsYWNlaG9sZGVyKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMuaW5wdXRDb25maWc/LnBsYWNlaG9sZGVyIHx8ICdFc2NyaWJlIHVuIGNvbWVudGFyaW8uLi4nO1xuICB9XG5cbiAgZ2V0U3VibWl0TGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5pbnB1dENvbmZpZz8uc3VibWl0TGFiZWwgfHwgJ1B1YmxpY2FyJztcbiAgfVxuXG4gIGdldEVtcHR5VGl0bGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5lbXB0eVN0YXRlPy50aXRsZSB8fCAnU2luIGNvbWVudGFyaW9zIGHDum4nO1xuICB9XG5cbiAgZ2V0RW1wdHlNZXNzYWdlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMuZW1wdHlTdGF0ZT8ubWVzc2FnZSB8fCAnwqFTw6kgZWwgcHJpbWVybyBlbiBjb21wYXJ0aXIgdHUgb3BpbmnDs24hJztcbiAgfVxuXG4gIGdldFNrZWxldG9uQXJyYXkoKTogbnVtYmVyW10ge1xuICAgIGNvbnN0IGNvdW50ID0gdGhpcy5wcm9wcy5za2VsZXRvbkNvdW50IHx8IDM7XG4gICAgcmV0dXJuIEFycmF5KGNvdW50KS5maWxsKDApLm1hcCgoXywgaSkgPT4gaSk7XG4gIH1cblxuICBjYW5TdWJtaXQoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgbWluTGVuZ3RoID0gdGhpcy5wcm9wcy5pbnB1dENvbmZpZz8ubWluTGVuZ3RoIHx8IDE7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMubmV3Q29tbWVudFRleHQudHJpbSgpLmxlbmd0aCA+PSBtaW5MZW5ndGggJiZcbiAgICAgICF0aGlzLnByb3BzLmxvYWRpbmcgJiZcbiAgICAgICF0aGlzLnByb3BzLmlucHV0Q29uZmlnPy5kaXNhYmxlZFxuICAgICk7XG4gIH1cblxuICBpc05lYXJMaW1pdCgpOiBib29sZWFuIHtcbiAgICBjb25zdCBtYXhMZW5ndGggPSB0aGlzLnByb3BzLmlucHV0Q29uZmlnPy5tYXhMZW5ndGggfHwgMjAwMDtcbiAgICByZXR1cm4gdGhpcy5uZXdDb21tZW50VGV4dC5sZW5ndGggPiBtYXhMZW5ndGggKiAwLjk7XG4gIH1cblxuICBvblNvcnRDaGFuZ2UoZXZlbnQ6IEN1c3RvbUV2ZW50KTogdm9pZCB7XG4gICAgY29uc3Qgc2VsZWN0ZWRUb2tlbiA9IGV2ZW50LmRldGFpbC52YWx1ZTtcbiAgICBjb25zdCBvcHRpb24gPSB0aGlzLnByb3BzLnNvcnRPcHRpb25zPy5maW5kKChvKSA9PiBvLnRva2VuID09PSBzZWxlY3RlZFRva2VuKTtcblxuICAgIGlmIChvcHRpb24pIHtcbiAgICAgIHRoaXMuc29ydENoYW5nZS5lbWl0KHtcbiAgICAgICAgb3B0aW9uLFxuICAgICAgICBwcmV2aW91c1NvcnQ6IHRoaXMucHJvcHMuc2VsZWN0ZWRTb3J0LFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgb25TdWJtaXRDb21tZW50KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5jYW5TdWJtaXQoKSkgcmV0dXJuO1xuXG4gICAgdGhpcy5jb21tZW50U3VibWl0LmVtaXQoe1xuICAgICAgY29udGVudDogdGhpcy5uZXdDb21tZW50VGV4dC50cmltKCksXG4gICAgICBwYXJlbnRUb2tlbjogdGhpcy5yZXBseWluZ1RvIHx8IHVuZGVmaW5lZCxcbiAgICAgIHNlY3Rpb25Ub2tlbjogdGhpcy5wcm9wcy50b2tlbixcbiAgICB9KTtcblxuICAgIHRoaXMubmV3Q29tbWVudFRleHQgPSAnJztcbiAgICB0aGlzLnJlcGx5aW5nVG8gPSBudWxsO1xuICB9XG5cbiAgb25Db21tZW50QWN0aW9uKGV2ZW50OiBDb21tZW50QWN0aW9uQ2xpY2tFdmVudCk6IHZvaWQge1xuICAgIC8vIENoZWNrIGlmIGl0J3MgYSByZXBseSBhY3Rpb25cbiAgICBpZiAoZXZlbnQuYWN0aW9uLnRva2VuID09PSAncmVwbHknKSB7XG4gICAgICB0aGlzLnJlcGx5aW5nVG8gPSBldmVudC5jb21tZW50VG9rZW47XG4gICAgICB0aGlzLnJlcGx5U3RhcnQuZW1pdCh7IGNvbW1lbnRUb2tlbjogZXZlbnQuY29tbWVudFRva2VuIH0pO1xuICAgIH1cblxuICAgIHRoaXMuYWN0aW9uQ2xpY2suZW1pdChldmVudCk7XG4gIH1cblxuICBvbkxvYWRNb3JlKCk6IHZvaWQge1xuICAgIHRoaXMubG9hZE1vcmUuZW1pdCh7XG4gICAgICBzZWN0aW9uVG9rZW46IHRoaXMucHJvcHMudG9rZW4sXG4gICAgICBjdXJyZW50Q291bnQ6IHRoaXMucHJvcHMuY29tbWVudHM/Lmxlbmd0aCB8fCAwLFxuICAgIH0pO1xuICB9XG5cbiAgb25JbmZpbml0ZVNjcm9sbChldmVudDogQ3VzdG9tRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmxvYWRNb3JlLmVtaXQoe1xuICAgICAgc2VjdGlvblRva2VuOiB0aGlzLnByb3BzLnRva2VuLFxuICAgICAgY3VycmVudENvdW50OiB0aGlzLnByb3BzLmNvbW1lbnRzPy5sZW5ndGggfHwgMCxcbiAgICB9KTtcblxuICAgIC8vIFRoZSBwYXJlbnQgY29tcG9uZW50IHNob3VsZCBjYWxsIGNvbXBsZXRlSW5maW5pdGVTY3JvbGwoKSB3aGVuIGRvbmUgbG9hZGluZ1xuICAgIC8vIFN0b3JlIHJlZmVyZW5jZSB0byBjb21wbGV0ZSB0aGUgaW5maW5pdGUgc2Nyb2xsXG4gICAgdGhpcy5pbmZpbml0ZVNjcm9sbEV2ZW50ID0gZXZlbnQ7XG4gIH1cblxuICAvLyBDYWxsIHRoaXMgbWV0aG9kIGZyb20gcGFyZW50IGFmdGVyIGxvYWRpbmcgbW9yZSBjb21tZW50c1xuICBjb21wbGV0ZUluZmluaXRlU2Nyb2xsKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmluZmluaXRlU2Nyb2xsRXZlbnQpIHtcbiAgICAgICh0aGlzLmluZmluaXRlU2Nyb2xsRXZlbnQudGFyZ2V0IGFzIEhUTUxJb25JbmZpbml0ZVNjcm9sbEVsZW1lbnQpLmNvbXBsZXRlKCk7XG4gICAgICB0aGlzLmluZmluaXRlU2Nyb2xsRXZlbnQgPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaW5maW5pdGVTY3JvbGxFdmVudDogQ3VzdG9tRXZlbnQgfCBudWxsID0gbnVsbDtcblxuICAvLyBNZXRob2QgdG8gcHJvZ3JhbW1hdGljYWxseSBzdGFydCBhIHJlcGx5XG4gIHN0YXJ0UmVwbHkoY29tbWVudFRva2VuOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnJlcGx5aW5nVG8gPSBjb21tZW50VG9rZW47XG4gIH1cblxuICAvLyBNZXRob2QgdG8gY2FuY2VsIHJlcGx5XG4gIGNhbmNlbFJlcGx5KCk6IHZvaWQge1xuICAgIHRoaXMucmVwbHlpbmdUbyA9IG51bGw7XG4gIH1cbn1cbiJdfQ==
|
|
537
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudC1zZWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9vcmdhbmlzbXMvY29tbWVudC1zZWN0aW9uL2NvbW1lbnQtc2VjdGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUNMLE9BQU8sRUFDUCxTQUFTLEVBQ1QsUUFBUSxFQUNSLFdBQVcsRUFDWCxPQUFPLEVBQ1AsU0FBUyxFQUNULGVBQWUsRUFDZixVQUFVLEVBQ1YsaUJBQWlCLEVBQ2pCLHdCQUF3QixHQUN6QixNQUFNLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDcEMsT0FBTyxFQUNMLGtCQUFrQixFQUNsQixhQUFhLEVBQ2IsV0FBVyxFQUNYLHlCQUF5QixFQUN6QixtQkFBbUIsR0FDcEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUNBQXlDLENBQUM7OztBQWdCNUUsUUFBUSxDQUFDO0lBQ1Asa0JBQWtCO0lBQ2xCLGFBQWE7SUFDYixXQUFXO0lBQ1gseUJBQXlCO0lBQ3pCLG1CQUFtQjtDQUNwQixDQUFD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UyxvUEFDVCxRQUFRLGlGQUNSLFdBQVcsaWFBQ1gsT0FBTywwTkFDUCxTQUFTLGtWQUNULGVBQWUsNkZBQ2YsVUFBVSx5R0FDVixpQkFBaUIsK0dBQ2pCLHdCQUF3QixtSEFDeEIsZ0JBQWdCLHlMQUNoQixlQUFlLGdHQUNmLGlCQUFpQjs7NEZBc01SLHVCQUF1QjtrQkF4Tm5DLFNBQVM7K0JBQ0UscUJBQXFCLGNBQ25CLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsT0FBTzt3QkFDUCxTQUFTO3dCQUNULFFBQVE7d0JBQ1IsV0FBVzt3QkFDWCxPQUFPO3dCQUNQLFNBQVM7d0JBQ1QsZUFBZTt3QkFDZixVQUFVO3dCQUNWLGlCQUFpQjt3QkFDakIsd0JBQXdCO3dCQUN4QixnQkFBZ0I7d0JBQ2hCLGVBQWU7d0JBQ2YsaUJBQWlCO3FCQUNsQixZQUNTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzSlQ7OEJBaURRLEtBQUs7c0JBQWIsS0FBSztnQkFHSSxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csUUFBUTtzQkFBakIsTUFBTTtnQkFHRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLGVBQWU7c0JBQXhCLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTTtnQkFHRyxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIE9uSW5pdCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2kxOG4nO1xuaW1wb3J0IHtcbiAgSW9uSWNvbixcbiAgSW9uQnV0dG9uLFxuICBJb25CYWRnZSxcbiAgSW9uVGV4dGFyZWEsXG4gIElvbkl0ZW0sXG4gIElvblNlbGVjdCxcbiAgSW9uU2VsZWN0T3B0aW9uLFxuICBJb25TcGlubmVyLFxuICBJb25JbmZpbml0ZVNjcm9sbCxcbiAgSW9uSW5maW5pdGVTY3JvbGxDb250ZW50LFxufSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IGFkZEljb25zIH0gZnJvbSAnaW9uaWNvbnMnO1xuaW1wb3J0IHtcbiAgY2hhdGJ1YmJsZXNPdXRsaW5lLFxuICBmaWx0ZXJPdXRsaW5lLFxuICBzZW5kT3V0bGluZSxcbiAgY2hhdGJ1YmJsZUVsbGlwc2VzT3V0bGluZSxcbiAgc3dhcFZlcnRpY2FsT3V0bGluZSxcbn0gZnJvbSAnaW9uaWNvbnMvaWNvbnMnO1xuXG5pbXBvcnQgeyBDb21tZW50Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL2NvbW1lbnQvY29tbWVudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXZhdGFyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvYXZhdGFyL2F2YXRhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2tlbGV0b25Db21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy9za2VsZXRvbi9za2VsZXRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgQ29tbWVudFNlY3Rpb25NZXRhZGF0YSxcbiAgQ29tbWVudFNvcnRPcHRpb24sXG4gIENvbW1lbnRTb3J0Q2hhbmdlRXZlbnQsXG4gIENvbW1lbnRTdWJtaXRFdmVudCxcbiAgQ29tbWVudFNlY3Rpb25Mb2FkTW9yZUV2ZW50LFxufSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7XG4gIENvbW1lbnRBdXRob3JDbGlja0V2ZW50LFxuICBDb21tZW50UmVhY3Rpb25DbGlja0V2ZW50LFxuICBDb21tZW50QWN0aW9uQ2xpY2tFdmVudCxcbiAgQ29tbWVudE1lbnVJdGVtQ2xpY2tFdmVudCxcbiAgQ29tbWVudExvYWRNb3JlRXZlbnQsXG59IGZyb20gJy4uLy4uL21vbGVjdWxlcy9jb21tZW50L3R5cGVzJztcblxuYWRkSWNvbnMoe1xuICBjaGF0YnViYmxlc091dGxpbmUsXG4gIGZpbHRlck91dGxpbmUsXG4gIHNlbmRPdXRsaW5lLFxuICBjaGF0YnViYmxlRWxsaXBzZXNPdXRsaW5lLFxuICBzd2FwVmVydGljYWxPdXRsaW5lLFxufSk7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1jb21tZW50LXNlY3Rpb24nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIElvbkljb24sXG4gICAgSW9uQnV0dG9uLFxuICAgIElvbkJhZGdlLFxuICAgIElvblRleHRhcmVhLFxuICAgIElvbkl0ZW0sXG4gICAgSW9uU2VsZWN0LFxuICAgIElvblNlbGVjdE9wdGlvbixcbiAgICBJb25TcGlubmVyLFxuICAgIElvbkluZmluaXRlU2Nyb2xsLFxuICAgIElvbkluZmluaXRlU2Nyb2xsQ29udGVudCxcbiAgICBDb21tZW50Q29tcG9uZW50LFxuICAgIEF2YXRhckNvbXBvbmVudCxcbiAgICBTa2VsZXRvbkNvbXBvbmVudCxcbiAgXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwiY29tbWVudC1zZWN0aW9uXCIgW2NsYXNzLmxvYWRpbmddPVwicHJvcHMubG9hZGluZ1wiPlxuICAgICAgPCEtLSBIZWFkZXIgLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwic2VjdGlvbi1oZWFkZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci10aXRsZVwiPlxuICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwiY2hhdGJ1YmJsZXMtb3V0bGluZVwiIGNsYXNzPVwidGl0bGUtaWNvblwiPjwvaW9uLWljb24+XG4gICAgICAgICAgPGgzIGNsYXNzPVwidGl0bGVcIj57eyBkaXNwbGF5VGl0bGUgfX08L2gzPlxuICAgICAgICAgIEBpZiAocHJvcHMuc2hvd0NvdW50ICE9PSBmYWxzZSAmJiBwcm9wcy5jb3VudCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICA8aW9uLWJhZGdlIGNvbG9yPVwibWVkaXVtXCIgY2xhc3M9XCJjb3VudC1iYWRnZVwiPlxuICAgICAgICAgICAgICB7eyBmb3JtYXRDb3VudChwcm9wcy5jb3VudCkgfX1cbiAgICAgICAgICAgIDwvaW9uLWJhZGdlPlxuICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgQGlmIChwcm9wcy5zb3J0T3B0aW9ucyAmJiBwcm9wcy5zb3J0T3B0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci1hY3Rpb25zXCI+XG4gICAgICAgICAgICA8aW9uLWl0ZW0gbGluZXM9XCJub25lXCIgY2xhc3M9XCJzb3J0LXNlbGVjdC1pdGVtXCI+XG4gICAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwic3dhcC12ZXJ0aWNhbC1vdXRsaW5lXCIgc2xvdD1cInN0YXJ0XCIgY2xhc3M9XCJzb3J0LWljb25cIj48L2lvbi1pY29uPlxuICAgICAgICAgICAgICA8aW9uLXNlbGVjdFxuICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJwcm9wcy5zZWxlY3RlZFNvcnRcIlxuICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJwcm9wcy5zb3J0TGFiZWwgfHwgZ2V0U29ydEJ5TGFiZWwoKVwiXG4gICAgICAgICAgICAgICAgaW50ZXJmYWNlPVwicG9wb3ZlclwiXG4gICAgICAgICAgICAgICAgKGlvbkNoYW5nZSk9XCJvblNvcnRDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBAZm9yIChvcHRpb24gb2YgcHJvcHMuc29ydE9wdGlvbnM7IHRyYWNrIG9wdGlvbi50b2tlbikge1xuICAgICAgICAgICAgICAgICAgPGlvbi1zZWxlY3Qtb3B0aW9uIFt2YWx1ZV09XCJvcHRpb24udG9rZW5cIj5cbiAgICAgICAgICAgICAgICAgICAge3sgZ2V0U29ydE9wdGlvbkxhYmVsKG9wdGlvbikgfX1cbiAgICAgICAgICAgICAgICAgIDwvaW9uLXNlbGVjdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA8L2lvbi1zZWxlY3Q+XG4gICAgICAgICAgICA8L2lvbi1pdGVtPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSBOZXcgQ29tbWVudCBJbnB1dCAtLT5cbiAgICAgIEBpZiAocHJvcHMuc2hvd0lucHV0ICE9PSBmYWxzZSkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwibmV3LWNvbW1lbnQtc2VjdGlvblwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC13cmFwcGVyXCI+XG4gICAgICAgICAgICBAaWYgKHByb3BzLmlucHV0Q29uZmlnPy5jdXJyZW50VXNlcj8uYXZhdGFyKSB7XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1hdmF0YXJcIj5cbiAgICAgICAgICAgICAgICA8dmFsLWF2YXRhciBbcHJvcHNdPVwicHJvcHMuaW5wdXRDb25maWcuY3VycmVudFVzZXIuYXZhdGFyXCI+PC92YWwtYXZhdGFyPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICA8aW9uLXRleHRhcmVhXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJuZXdDb21tZW50VGV4dFwiXG4gICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImdldElucHV0UGxhY2Vob2xkZXIoKVwiXG4gICAgICAgICAgICAgICAgW21heGxlbmd0aF09XCJwcm9wcy5pbnB1dENvbmZpZz8ubWF4TGVuZ3RoIHx8IDIwMDBcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJwcm9wcy5pbnB1dENvbmZpZz8uZGlzYWJsZWQgfHwgcHJvcHMubG9hZGluZ1wiXG4gICAgICAgICAgICAgICAgW2F1dG9Hcm93XT1cInRydWVcIlxuICAgICAgICAgICAgICAgIHJvd3M9XCIyXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImNvbW1lbnQtdGV4dGFyZWFcIlxuICAgICAgICAgICAgICA+PC9pb24tdGV4dGFyZWE+XG5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWFjdGlvbnNcIj5cbiAgICAgICAgICAgICAgICBAaWYgKHByb3BzLmlucHV0Q29uZmlnPy5zaG93Q291bnRlciAmJiBwcm9wcy5pbnB1dENvbmZpZz8ubWF4TGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNoYXItY291bnRlclwiIFtjbGFzcy53YXJuaW5nXT1cImlzTmVhckxpbWl0KClcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgbmV3Q29tbWVudFRleHQubGVuZ3RoIH19IC8ge3sgcHJvcHMuaW5wdXRDb25maWcubWF4TGVuZ3RoIH19XG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgPGlvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgIFtjb2xvcl09XCJwcm9wcy5pbnB1dENvbmZpZz8uc3VibWl0Q29sb3IgfHwgcHJvcHMuY29sb3IgfHwgJ3ByaW1hcnknXCJcbiAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhY2FuU3VibWl0KClcIlxuICAgICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvblN1Ym1pdENvbW1lbnQoKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJzZW5kLW91dGxpbmVcIiBzbG90PVwic3RhcnRcIj48L2lvbi1pY29uPlxuICAgICAgICAgICAgICAgICAge3sgZ2V0U3VibWl0TGFiZWwoKSB9fVxuICAgICAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG5cbiAgICAgIEBpZiAocHJvcHMubG9hZGluZykge1xuICAgICAgICA8ZGl2IGNsYXNzPVwibG9hZGluZy1zdGF0ZVwiPlxuICAgICAgICAgIEBmb3IgKGkgb2YgZ2V0U2tlbGV0b25BcnJheSgpOyB0cmFjayBpKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2tlbGV0b24tY29tbWVudFwiPlxuICAgICAgICAgICAgICA8dmFsLXNrZWxldG9uIFtwcm9wc109XCJ7IHR5cGU6ICdhdmF0YXInLCB3aWR0aDogJzM2cHgnLCBoZWlnaHQ6ICczNnB4JyB9XCI+PC92YWwtc2tlbGV0b24+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJza2VsZXRvbi1jb250ZW50XCI+XG4gICAgICAgICAgICAgICAgPHZhbC1za2VsZXRvbiBbcHJvcHNdPVwieyB0eXBlOiAndGV4dCcsIHdpZHRoOiAnMTIwcHgnLCBoZWlnaHQ6ICcxNHB4JyB9XCI+PC92YWwtc2tlbGV0b24+XG4gICAgICAgICAgICAgICAgPHZhbC1za2VsZXRvbiBbcHJvcHNdPVwieyB0eXBlOiAncGFyYWdyYXBoJywgbGluZXM6IDIgfVwiPjwvdmFsLXNrZWxldG9uPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICB9IEBlbHNlIGlmIChwcm9wcy5jb21tZW50cyAmJiBwcm9wcy5jb21tZW50cy5sZW5ndGggPiAwKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb21tZW50cy1saXN0XCIgW2NsYXNzLndpdGgtZGl2aWRlcnNdPVwicHJvcHMuc2hvd0RpdmlkZXJzXCI+XG4gICAgICAgICAgQGZvciAoY29tbWVudCBvZiBwcm9wcy5jb21tZW50czsgdHJhY2sgY29tbWVudC50b2tlbikge1xuICAgICAgICAgICAgPHZhbC1jb21tZW50XG4gICAgICAgICAgICAgIFtwcm9wc109XCJjb21tZW50XCJcbiAgICAgICAgICAgICAgKGF1dGhvckNsaWNrKT1cImF1dGhvckNsaWNrLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgIChyZWFjdGlvbkNsaWNrKT1cInJlYWN0aW9uQ2xpY2suZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgKGFjdGlvbkNsaWNrKT1cIm9uQ29tbWVudEFjdGlvbigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgKG1lbnVJdGVtQ2xpY2spPVwibWVudUl0ZW1DbGljay5lbWl0KCRldmVudClcIlxuICAgICAgICAgICAgICAobG9hZE1vcmVDbGljayk9XCJjb21tZW50TG9hZE1vcmUuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgKGNvbGxhcHNlVG9nZ2xlKT1cImNvbGxhcHNlVG9nZ2xlLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICA+PC92YWwtY29tbWVudD5cblxuICAgICAgICAgICAgQGlmIChwcm9wcy5zaG93RGl2aWRlcnMgJiYgISRsYXN0KSB7XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb21tZW50LWRpdmlkZXJcIj48L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaWYgKHByb3BzLmhhc01vcmUgJiYgcHJvcHMucGFnaW5hdGlvbk1vZGUgIT09ICdpbmZpbml0ZScpIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsb2FkLW1vcmUtc2VjdGlvblwiPlxuICAgICAgICAgICAgICBAaWYgKHByb3BzLmxvYWRpbmdNb3JlKSB7XG4gICAgICAgICAgICAgICAgPGlvbi1zcGlubmVyIG5hbWU9XCJjcmVzY2VudFwiIFtjb2xvcl09XCJwcm9wcy5jb2xvciB8fCAncHJpbWFyeSdcIj48L2lvbi1zcGlubmVyPlxuICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICA8aW9uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgZmlsbD1cIm91dGxpbmVcIlxuICAgICAgICAgICAgICAgICAgW2NvbG9yXT1cInByb3BzLmNvbG9yIHx8ICdwcmltYXJ5J1wiXG4gICAgICAgICAgICAgICAgICBleHBhbmQ9XCJibG9ja1wiXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25Mb2FkTW9yZSgpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7eyBkaXNwbGF5TG9hZE1vcmVMYWJlbCB9fVxuICAgICAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICBAaWYgKHByb3BzLnBhZ2luYXRpb25Nb2RlID09PSAnaW5maW5pdGUnKSB7XG4gICAgICAgICAgPGlvbi1pbmZpbml0ZS1zY3JvbGxcbiAgICAgICAgICAgIFt0aHJlc2hvbGRdPVwicHJvcHMuaW5maW5pdGVTY3JvbGxUaHJlc2hvbGQgfHwgJzEwMHB4J1wiXG4gICAgICAgICAgICBbcG9zaXRpb25dPVwicHJvcHMuaW5maW5pdGVTY3JvbGxQb3NpdGlvbiB8fCAnYm90dG9tJ1wiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiIXByb3BzLmhhc01vcmVcIlxuICAgICAgICAgICAgKGlvbkluZmluaXRlKT1cIm9uSW5maW5pdGVTY3JvbGwoJGV2ZW50KVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGlvbi1pbmZpbml0ZS1zY3JvbGwtY29udGVudFxuICAgICAgICAgICAgICBbbG9hZGluZ1NwaW5uZXJdPVwiJ2NyZXNjZW50J1wiXG4gICAgICAgICAgICAgIFtsb2FkaW5nVGV4dF09XCJkaXNwbGF5TG9hZE1vcmVMYWJlbFwiXG4gICAgICAgICAgICA+PC9pb24taW5maW5pdGUtc2Nyb2xsLWNvbnRlbnQ+XG4gICAgICAgICAgPC9pb24taW5maW5pdGUtc2Nyb2xsPlxuICAgICAgICB9XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImVtcHR5LXN0YXRlXCI+XG4gICAgICAgICAgPGlvbi1pY29uXG4gICAgICAgICAgICBbbmFtZV09XCJwcm9wcy5lbXB0eVN0YXRlPy5pY29uIHx8ICdjaGF0YnViYmxlLWVsbGlwc2VzLW91dGxpbmUnXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZW1wdHktaWNvblwiXG4gICAgICAgICAgPjwvaW9uLWljb24+XG4gICAgICAgICAgPGg0IGNsYXNzPVwiZW1wdHktdGl0bGVcIj57eyBnZXRFbXB0eVRpdGxlKCkgfX08L2g0PlxuICAgICAgICAgIDxwIGNsYXNzPVwiZW1wdHktbWVzc2FnZVwiPnt7IGdldEVtcHR5TWVzc2FnZSgpIH19PC9wPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vY29tbWVudC1zZWN0aW9uLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuLyoqXG4gKiB2YWwtY29tbWVudC1zZWN0aW9uXG4gKlxuICogQW4gb3JnYW5pc20gY29tcG9uZW50IHRoYXQgcHJvdmlkZXMgYSBjb21wbGV0ZSBjb21tZW50IHNlY3Rpb24gd2l0aDpcbiAqIC0gSGVhZGVyIHdpdGggdGl0bGUgYW5kIGNvdW50XG4gKiAtIFNvcnQvZmlsdGVyIG9wdGlvbnNcbiAqIC0gTmV3IGNvbW1lbnQgaW5wdXRcbiAqIC0gQ29tbWVudHMgbGlzdCB3aXRoIHZhbC1jb21tZW50XG4gKiAtIExvYWQgbW9yZSBwYWdpbmF0aW9uXG4gKiAtIEVtcHR5IHN0YXRlXG4gKlxuICogQGV4YW1wbGUgQmFzaWMgdXNhZ2VcbiAqIDx2YWwtY29tbWVudC1zZWN0aW9uIFtwcm9wc109XCJ7XG4gKiAgIHRpdGxlOiAnQ29tbWVudHMnLFxuICogICBjb3VudDogNDIsXG4gKiAgIGNvbW1lbnRzOiBjb21tZW50c0FycmF5LFxuICogICBzaG93SW5wdXQ6IHRydWVcbiAqIH1cIj48L3ZhbC1jb21tZW50LXNlY3Rpb24+XG4gKlxuICogQGV4YW1wbGUgV2l0aCBzb3J0aW5nXG4gKiA8dmFsLWNvbW1lbnQtc2VjdGlvbiBbcHJvcHNdPVwie1xuICogICB0aXRsZTogJ1Jldmlld3MnLFxuICogICBjb3VudDogMTI4LFxuICogICBjb21tZW50czogcmV2aWV3cyxcbiAqICAgc29ydE9wdGlvbnM6IFtcbiAqICAgICB7IHRva2VuOiAnbmV3ZXN0JywgbGFiZWw6ICdOZXdlc3QgZmlyc3QnIH0sXG4gKiAgICAgeyB0b2tlbjogJ29sZGVzdCcsIGxhYmVsOiAnT2xkZXN0IGZpcnN0JyB9LFxuICogICAgIHsgdG9rZW46ICdwb3B1bGFyJywgbGFiZWw6ICdNb3N0IHBvcHVsYXInIH1cbiAqICAgXSxcbiAqICAgc2VsZWN0ZWRTb3J0OiAnbmV3ZXN0J1xuICogfVwiIChzb3J0Q2hhbmdlKT1cIm9uU29ydCgkZXZlbnQpXCI+PC92YWwtY29tbWVudC1zZWN0aW9uPlxuICpcbiAqIEBpbnB1dCBwcm9wczogQ29tbWVudFNlY3Rpb25NZXRhZGF0YSAtIENvbmZpZ3VyYXRpb24gZm9yIHRoZSBzZWN0aW9uXG4gKiBAb3V0cHV0IHNvcnRDaGFuZ2UgLSBTb3J0IG9wdGlvbiBjaGFuZ2VkXG4gKiBAb3V0cHV0IGNvbW1lbnRTdWJtaXQgLSBOZXcgY29tbWVudCBzdWJtaXR0ZWRcbiAqIEBvdXRwdXQgbG9hZE1vcmUgLSBMb2FkIG1vcmUgY2xpY2tlZFxuICogQG91dHB1dCBhdXRob3JDbGljayAtIENvbW1lbnQgYXV0aG9yIGNsaWNrZWQgKGJ1YmJsZWQgZnJvbSB2YWwtY29tbWVudClcbiAqIEBvdXRwdXQgcmVhY3Rpb25DbGljayAtIFJlYWN0aW9uIGNsaWNrZWQgKGJ1YmJsZWQpXG4gKiBAb3V0cHV0IGFjdGlvbkNsaWNrIC0gQWN0aW9uIGNsaWNrZWQgKGJ1YmJsZWQpXG4gKiBAb3V0cHV0IG1lbnVJdGVtQ2xpY2sgLSBNZW51IGl0ZW0gY2xpY2tlZCAoYnViYmxlZClcbiAqIEBvdXRwdXQgY29tbWVudExvYWRNb3JlIC0gTG9hZCBtb3JlIHJlcGxpZXMgY2xpY2tlZCAoYnViYmxlZClcbiAqIEBvdXRwdXQgY29sbGFwc2VUb2dnbGUgLSBDb21tZW50IGNvbGxhcHNlIHRvZ2dsZWQgKGJ1YmJsZWQpXG4gKi9cbmV4cG9ydCBjbGFzcyBDb21tZW50U2VjdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByaXZhdGUgaTE4biA9IGluamVjdChJMThuU2VydmljZSk7XG5cbiAgQElucHV0KCkgcHJvcHM6IENvbW1lbnRTZWN0aW9uTWV0YWRhdGE7XG5cbiAgLy8gU2VjdGlvbiBldmVudHNcbiAgQE91dHB1dCgpIHNvcnRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPENvbW1lbnRTb3J0Q2hhbmdlRXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSBjb21tZW50U3VibWl0ID0gbmV3IEV2ZW50RW1pdHRlcjxDb21tZW50U3VibWl0RXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSBsb2FkTW9yZSA9IG5ldyBFdmVudEVtaXR0ZXI8Q29tbWVudFNlY3Rpb25Mb2FkTW9yZUV2ZW50PigpO1xuXG4gIC8vIEJ1YmJsZWQgZXZlbnRzIGZyb20gdmFsLWNvbW1lbnRcbiAgQE91dHB1dCgpIGF1dGhvckNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxDb21tZW50QXV0aG9yQ2xpY2tFdmVudD4oKTtcbiAgQE91dHB1dCgpIHJlYWN0aW9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPENvbW1lbnRSZWFjdGlvbkNsaWNrRXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSBhY3Rpb25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8Q29tbWVudEFjdGlvbkNsaWNrRXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSBtZW51SXRlbUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxDb21tZW50TWVudUl0ZW1DbGlja0V2ZW50PigpO1xuICBAT3V0cHV0KCkgY29tbWVudExvYWRNb3JlID0gbmV3IEV2ZW50RW1pdHRlcjxDb21tZW50TG9hZE1vcmVFdmVudD4oKTtcbiAgQE91dHB1dCgpIGNvbGxhcHNlVG9nZ2xlID0gbmV3IEV2ZW50RW1pdHRlcjx7IHRva2VuOiBzdHJpbmc7IGNvbGxhcHNlZDogYm9vbGVhbiB9PigpO1xuXG4gIC8vIFJlcGx5IHN0YXRlXG4gIEBPdXRwdXQoKSByZXBseVN0YXJ0ID0gbmV3IEV2ZW50RW1pdHRlcjx7IGNvbW1lbnRUb2tlbjogc3RyaW5nIH0+KCk7XG5cbiAgbmV3Q29tbWVudFRleHQgPSAnJztcbiAgcmVwbHlpbmdUbzogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgZGlzcGxheVRpdGxlID0gJyc7XG4gIGRpc3BsYXlMb2FkTW9yZUxhYmVsID0gJyc7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVEaXNwbGF5VGV4dHMoKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlRGlzcGxheVRleHRzKCk6IHZvaWQge1xuICAgIHRoaXMuZGlzcGxheVRpdGxlID0gdGhpcy5wcm9wcy50aXRsZSB8fCB0aGlzLmkxOG4udCgnY29tbWVudHMnKTtcbiAgICB0aGlzLmRpc3BsYXlMb2FkTW9yZUxhYmVsID0gdGhpcy5wcm9wcy5sb2FkTW9yZUxhYmVsIHx8IHRoaXMuaTE4bi50KCdsb2FkTW9yZUNvbW1lbnRzJyk7XG4gIH1cblxuICBnZXRTb3J0QnlMYWJlbCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmkxOG4udCgnc29ydEJ5Jyk7XG4gIH1cblxuICBmb3JtYXRDb3VudChjb3VudDogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBpZiAoY291bnQgPj0gMTAwMDAwMCkge1xuICAgICAgcmV0dXJuIChjb3VudCAvIDEwMDAwMDApLnRvRml4ZWQoMSkucmVwbGFjZSgvXFwuMCQvLCAnJykgKyAnTSc7XG4gICAgfVxuICAgIGlmIChjb3VudCA+PSAxMDAwKSB7XG4gICAgICByZXR1cm4gKGNvdW50IC8gMTAwMCkudG9GaXhlZCgxKS5yZXBsYWNlKC9cXC4wJC8sICcnKSArICdLJztcbiAgICB9XG4gICAgcmV0dXJuIGNvdW50LnRvU3RyaW5nKCk7XG4gIH1cblxuICBnZXRTb3J0T3B0aW9uTGFiZWwob3B0aW9uOiBDb21tZW50U29ydE9wdGlvbik6IHN0cmluZyB7XG4gICAgcmV0dXJuIG9wdGlvbi5sYWJlbDtcbiAgfVxuXG4gIGdldElucHV0UGxhY2Vob2xkZXIoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5pbnB1dENvbmZpZz8ucGxhY2Vob2xkZXIgfHwgdGhpcy5pMThuLnQoJ3dyaXRlQ29tbWVudCcpO1xuICB9XG5cbiAgZ2V0U3VibWl0TGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5pbnB1dENvbmZpZz8uc3VibWl0TGFiZWwgfHwgdGhpcy5pMThuLnQoJ3B1Ymxpc2gnKTtcbiAgfVxuXG4gIGdldEVtcHR5VGl0bGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5lbXB0eVN0YXRlPy50aXRsZSB8fCB0aGlzLmkxOG4udCgnbm9Db21tZW50c1lldCcpO1xuICB9XG5cbiAgZ2V0RW1wdHlNZXNzYWdlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMuZW1wdHlTdGF0ZT8ubWVzc2FnZSB8fCB0aGlzLmkxOG4udCgnYmVGaXJzdFRvQ29tbWVudCcpO1xuICB9XG5cbiAgZ2V0U2tlbGV0b25BcnJheSgpOiBudW1iZXJbXSB7XG4gICAgY29uc3QgY291bnQgPSB0aGlzLnByb3BzLnNrZWxldG9uQ291bnQgfHwgMztcbiAgICByZXR1cm4gQXJyYXkoY291bnQpLmZpbGwoMCkubWFwKChfLCBpKSA9PiBpKTtcbiAgfVxuXG4gIGNhblN1Ym1pdCgpOiBib29sZWFuIHtcbiAgICBjb25zdCBtaW5MZW5ndGggPSB0aGlzLnByb3BzLmlucHV0Q29uZmlnPy5taW5MZW5ndGggfHwgMTtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5uZXdDb21tZW50VGV4dC50cmltKCkubGVuZ3RoID49IG1pbkxlbmd0aCAmJlxuICAgICAgIXRoaXMucHJvcHMubG9hZGluZyAmJlxuICAgICAgIXRoaXMucHJvcHMuaW5wdXRDb25maWc/LmRpc2FibGVkXG4gICAgKTtcbiAgfVxuXG4gIGlzTmVhckxpbWl0KCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IG1heExlbmd0aCA9IHRoaXMucHJvcHMuaW5wdXRDb25maWc/Lm1heExlbmd0aCB8fCAyMDAwO1xuICAgIHJldHVybiB0aGlzLm5ld0NvbW1lbnRUZXh0Lmxlbmd0aCA+IG1heExlbmd0aCAqIDAuOTtcbiAgfVxuXG4gIG9uU29ydENoYW5nZShldmVudDogQ3VzdG9tRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBzZWxlY3RlZFRva2VuID0gZXZlbnQuZGV0YWlsLnZhbHVlO1xuICAgIGNvbnN0IG9wdGlvbiA9IHRoaXMucHJvcHMuc29ydE9wdGlvbnM/LmZpbmQoKG8pID0+IG8udG9rZW4gPT09IHNlbGVjdGVkVG9rZW4pO1xuXG4gICAgaWYgKG9wdGlvbikge1xuICAgICAgdGhpcy5zb3J0Q2hhbmdlLmVtaXQoe1xuICAgICAgICBvcHRpb24sXG4gICAgICAgIHByZXZpb3VzU29ydDogdGhpcy5wcm9wcy5zZWxlY3RlZFNvcnQsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBvblN1Ym1pdENvbW1lbnQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmNhblN1Ym1pdCgpKSByZXR1cm47XG5cbiAgICB0aGlzLmNvbW1lbnRTdWJtaXQuZW1pdCh7XG4gICAgICBjb250ZW50OiB0aGlzLm5ld0NvbW1lbnRUZXh0LnRyaW0oKSxcbiAgICAgIHBhcmVudFRva2VuOiB0aGlzLnJlcGx5aW5nVG8gfHwgdW5kZWZpbmVkLFxuICAgICAgc2VjdGlvblRva2VuOiB0aGlzLnByb3BzLnRva2VuLFxuICAgIH0pO1xuXG4gICAgdGhpcy5uZXdDb21tZW50VGV4dCA9ICcnO1xuICAgIHRoaXMucmVwbHlpbmdUbyA9IG51bGw7XG4gIH1cblxuICBvbkNvbW1lbnRBY3Rpb24oZXZlbnQ6IENvbW1lbnRBY3Rpb25DbGlja0V2ZW50KTogdm9pZCB7XG4gICAgLy8gQ2hlY2sgaWYgaXQncyBhIHJlcGx5IGFjdGlvblxuICAgIGlmIChldmVudC5hY3Rpb24udG9rZW4gPT09ICdyZXBseScpIHtcbiAgICAgIHRoaXMucmVwbHlpbmdUbyA9IGV2ZW50LmNvbW1lbnRUb2tlbjtcbiAgICAgIHRoaXMucmVwbHlTdGFydC5lbWl0KHsgY29tbWVudFRva2VuOiBldmVudC5jb21tZW50VG9rZW4gfSk7XG4gICAgfVxuXG4gICAgdGhpcy5hY3Rpb25DbGljay5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIG9uTG9hZE1vcmUoKTogdm9pZCB7XG4gICAgdGhpcy5sb2FkTW9yZS5lbWl0KHtcbiAgICAgIHNlY3Rpb25Ub2tlbjogdGhpcy5wcm9wcy50b2tlbixcbiAgICAgIGN1cnJlbnRDb3VudDogdGhpcy5wcm9wcy5jb21tZW50cz8ubGVuZ3RoIHx8IDAsXG4gICAgfSk7XG4gIH1cblxuICBvbkluZmluaXRlU2Nyb2xsKGV2ZW50OiBDdXN0b21FdmVudCk6IHZvaWQge1xuICAgIHRoaXMubG9hZE1vcmUuZW1pdCh7XG4gICAgICBzZWN0aW9uVG9rZW46IHRoaXMucHJvcHMudG9rZW4sXG4gICAgICBjdXJyZW50Q291bnQ6IHRoaXMucHJvcHMuY29tbWVudHM/Lmxlbmd0aCB8fCAwLFxuICAgIH0pO1xuXG4gICAgLy8gVGhlIHBhcmVudCBjb21wb25lbnQgc2hvdWxkIGNhbGwgY29tcGxldGVJbmZpbml0ZVNjcm9sbCgpIHdoZW4gZG9uZSBsb2FkaW5nXG4gICAgLy8gU3RvcmUgcmVmZXJlbmNlIHRvIGNvbXBsZXRlIHRoZSBpbmZpbml0ZSBzY3JvbGxcbiAgICB0aGlzLmluZmluaXRlU2Nyb2xsRXZlbnQgPSBldmVudDtcbiAgfVxuXG4gIC8vIENhbGwgdGhpcyBtZXRob2QgZnJvbSBwYXJlbnQgYWZ0ZXIgbG9hZGluZyBtb3JlIGNvbW1lbnRzXG4gIGNvbXBsZXRlSW5maW5pdGVTY3JvbGwoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaW5maW5pdGVTY3JvbGxFdmVudCkge1xuICAgICAgKHRoaXMuaW5maW5pdGVTY3JvbGxFdmVudC50YXJnZXQgYXMgSFRNTElvbkluZmluaXRlU2Nyb2xsRWxlbWVudCkuY29tcGxldGUoKTtcbiAgICAgIHRoaXMuaW5maW5pdGVTY3JvbGxFdmVudCA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpbmZpbml0ZVNjcm9sbEV2ZW50OiBDdXN0b21FdmVudCB8IG51bGwgPSBudWxsO1xuXG4gIC8vIE1ldGhvZCB0byBwcm9ncmFtbWF0aWNhbGx5IHN0YXJ0IGEgcmVwbHlcbiAgc3RhcnRSZXBseShjb21tZW50VG9rZW46IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMucmVwbHlpbmdUbyA9IGNvbW1lbnRUb2tlbjtcbiAgfVxuXG4gIC8vIE1ldGhvZCB0byBjYW5jZWwgcmVwbHlcbiAgY2FuY2VsUmVwbHkoKTogdm9pZCB7XG4gICAgdGhpcy5yZXBseWluZ1RvID0gbnVsbDtcbiAgfVxufVxuIl19
|