valtech-components 2.0.981 → 2.0.983
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/organisms/faq/faq.component.mjs +6 -3
- package/esm2022/lib/components/organisms/preferences-view/preferences-view.component.mjs +36 -63
- package/esm2022/lib/services/content-platform/content.service.mjs +3 -2
- package/esm2022/lib/services/markdown-article/markdown-article-parser.service.mjs +3 -3
- package/esm2022/lib/version.mjs +2 -2
- package/fesm2022/valtech-components.mjs +42 -66
- package/fesm2022/valtech-components.mjs.map +1 -1
- package/lib/components/organisms/faq/faq.component.d.ts +1 -0
- package/lib/components/organisms/preferences-view/preferences-view.component.d.ts +5 -8
- package/lib/services/markdown-article/markdown-article-parser.service.d.ts +1 -1
- package/lib/version.d.ts +1 -1
- package/package.json +1 -1
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { Component, computed, Input, signal } from '@angular/core';
|
|
2
|
+
import { Component, computed, inject, Input, signal } from '@angular/core';
|
|
3
3
|
import { IonAccordion, IonAccordionGroup, IonItem, IonLabel } from '@ionic/angular/standalone';
|
|
4
4
|
import { parseMarkdownArticle } from '../../../services/markdown-article/markdown-article-parser';
|
|
5
|
+
import { I18nService } from '../../../services/i18n/i18n.service';
|
|
5
6
|
import { ArticleComponent } from '../article/article.component';
|
|
6
7
|
import { SearchbarComponent } from '../../molecules/searchbar/searchbar.component';
|
|
7
8
|
import * as i0 from "@angular/core";
|
|
@@ -24,6 +25,7 @@ import * as i0 from "@angular/core";
|
|
|
24
25
|
*/
|
|
25
26
|
export class FaqComponent {
|
|
26
27
|
constructor() {
|
|
28
|
+
this.i18n = inject(I18nService);
|
|
27
29
|
this.props_ = signal({ categories: [] });
|
|
28
30
|
/** Término de búsqueda actual. */
|
|
29
31
|
this.query = signal('');
|
|
@@ -33,10 +35,11 @@ export class FaqComponent {
|
|
|
33
35
|
* Keyed por id de item (los ids son únicos en toda la FAQ).
|
|
34
36
|
*/
|
|
35
37
|
this.parsedAnswers = computed(() => {
|
|
38
|
+
const locale = (this.i18n.lang() ?? 'es');
|
|
36
39
|
const map = new Map();
|
|
37
40
|
for (const cat of this.props_().categories ?? []) {
|
|
38
41
|
for (const item of cat.items) {
|
|
39
|
-
map.set(item.id, parseMarkdownArticle(item.answer));
|
|
42
|
+
map.set(item.id, parseMarkdownArticle(item.answer, { locale }));
|
|
40
43
|
}
|
|
41
44
|
}
|
|
42
45
|
return map;
|
|
@@ -173,4 +176,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
173
176
|
}], propDecorators: { props: [{
|
|
174
177
|
type: Input
|
|
175
178
|
}] } });
|
|
176
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFxLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9vcmdhbmlzbXMvZmFxL2ZhcS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDL0YsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDbEcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFaEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sK0NBQStDLENBQUM7O0FBR25GOzs7Ozs7Ozs7Ozs7Ozs7O0dBZ0JHO0FBNEdILE1BQU0sT0FBTyxZQUFZO0lBM0d6QjtRQTRHbUIsV0FBTSxHQUFHLE1BQU0sQ0FBYyxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBU2xFLGtDQUFrQztRQUNqQixVQUFLLEdBQUcsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRXBDOzs7O1dBSUc7UUFDYyxrQkFBYSxHQUFHLFFBQVEsQ0FBK0IsR0FBRyxFQUFFO1lBQzNFLE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxFQUEyQixDQUFDO1lBQy9DLEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLFVBQVUsSUFBSSxFQUFFLEVBQUUsQ0FBQztnQkFDakQsS0FBSyxNQUFNLElBQUksSUFBSSxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUM7b0JBQzdCLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztnQkFDdEQsQ0FBQztZQUNILENBQUM7WUFDRCxPQUFPLEdBQUcsQ0FBQztRQUNiLENBQUMsQ0FBQyxDQUFDO1FBT0g7Ozs7V0FJRztRQUNNLHNCQUFpQixHQUFHLFFBQVEsQ0FBZ0IsR0FBRyxFQUFFO1lBQ3hELE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUM1QyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQztZQUM1QyxJQUFJLENBQUMsQ0FBQztnQkFBRSxPQUFPLElBQUksQ0FBQztZQUNwQixPQUFPLElBQUk7aUJBQ1IsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDWCxHQUFHLEdBQUc7Z0JBQ04sS0FBSyxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDNUcsQ0FBQyxDQUFDO2lCQUNGLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3pDLENBQUMsQ0FBQyxDQUFDO1FBRUgsNERBQTREO1FBQ25ELHNCQUFpQixHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDekMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxDQUFDLHVCQUF1QixLQUFLLEtBQUs7Z0JBQUUsT0FBTyxJQUFJLENBQUM7WUFDckQsT0FBTyxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsTUFBTSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6QyxDQUFDLENBQUMsQ0FBQztLQUtKO0lBekRDLElBQWEsS0FBSyxDQUFDLEtBQThCO1FBQy9DLElBQUksS0FBSztZQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFDRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBb0JELHNEQUFzRDtJQUN0RCxRQUFRLENBQUMsSUFBYTtRQUNwQixPQUFPLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxDQUFDO0lBQy9ELENBQUM7SUEwQkQsUUFBUSxDQUFDLElBQVk7UUFDbkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzdCLENBQUM7K0dBM0RVLFlBQVk7bUdBQVosWUFBWSwrRkF2R2I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTBDVCw0d0JBM0NTLFlBQVksK0JBQUUsWUFBWSw2SUFBRSxpQkFBaUIscUpBQUUsT0FBTywwTkFBRSxRQUFRLDZGQUFFLGtCQUFrQiw0SUFBRSxnQkFBZ0I7OzRGQXdHckcsWUFBWTtrQkEzR3hCLFNBQVM7K0JBQ0UsU0FBUyxjQUNQLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsQ0FBQyxZQUN2Rzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMENUOzhCQWdFWSxLQUFLO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgY29tcHV0ZWQsIElucHV0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElvbkFjY29yZGlvbiwgSW9uQWNjb3JkaW9uR3JvdXAsIElvbkl0ZW0sIElvbkxhYmVsIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBwYXJzZU1hcmtkb3duQXJ0aWNsZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL21hcmtkb3duLWFydGljbGUvbWFya2Rvd24tYXJ0aWNsZS1wYXJzZXInO1xuaW1wb3J0IHsgQXJ0aWNsZUNvbXBvbmVudCB9IGZyb20gJy4uL2FydGljbGUvYXJ0aWNsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXJ0aWNsZU1ldGFkYXRhIH0gZnJvbSAnLi4vYXJ0aWNsZS90eXBlcyc7XG5pbXBvcnQgeyBTZWFyY2hiYXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvc2VhcmNoYmFyL3NlYXJjaGJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmFxQ2F0ZWdvcnksIEZhcUl0ZW0sIEZhcU1ldGFkYXRhIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogYHZhbC1mYXFgXG4gKlxuICogT3JnYW5pc20gZGUgcHJlZ3VudGFzIGZyZWN1ZW50ZXMuIFEmQSBjYXRlZ29yaXphZG8gY29uIGFjY29yZGlvbiBjb2xhcHNhYmxlXG4gKiB5IGJ1c2NhZG9yIGVuIHZpdm8uIFBlbnNhZG8gcGFyYSB2aXN0YXMgRkFRIHDDumJsaWNhcyDigJQgZWwgY2FsbGVyIHB1ZWRlXG4gKiByZXVzYXIgbGEgbWlzbWEgZGF0YSAoYEZhcU1ldGFkYXRhLmNhdGVnb3JpZXNgKSBwYXJhIGVtaXRpciBlbCBzdHJ1Y3R1cmVkXG4gKiBkYXRhIGBGQVFQYWdlYCAoSlNPTi1MRCkgeSBnYW5hciByaWNoIHJlc3VsdHMgZW4gYnVzY2Fkb3Jlcy5cbiAqXG4gKiBMYXMgcmVzcHVlc3RhcyAoYEZhcUl0ZW0uYW5zd2VyYCkgc29uICoqTWFya2Rvd24qKiDigJQgc2UgcGFyc2VhbiBjb25cbiAqIGBwYXJzZU1hcmtkb3duQXJ0aWNsZWAgeSBzZSByZW5kZXJpemFuIHbDrWEgYHZhbC1hcnRpY2xlYC4gU29wb3J0YW4gbGlua3MsXG4gKiBsaXN0YXMsIG5lZ3JpdGFzLCB0YWJsYXMsIGV0Yy5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgaHRtbFxuICogPHZhbC1mYXEgW3Byb3BzXT1cInsgY2F0ZWdvcmllczogZmFxQ2F0ZWdvcmllcywgc2VhcmNoYWJsZTogdHJ1ZSB9XCIgLz5cbiAqIGBgYFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtZmFxJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgSW9uQWNjb3JkaW9uLCBJb25BY2NvcmRpb25Hcm91cCwgSW9uSXRlbSwgSW9uTGFiZWwsIFNlYXJjaGJhckNvbXBvbmVudCwgQXJ0aWNsZUNvbXBvbmVudF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cInZhbC1mYXFcIj5cbiAgICAgIEBpZiAocHJvcHMuc2VhcmNoYWJsZSAhPT0gZmFsc2UpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cInZhbC1mYXFfX3NlYXJjaFwiPlxuICAgICAgICAgIDx2YWwtc2VhcmNoYmFyXG4gICAgICAgICAgICBbcHJvcHNdPVwie1xuICAgICAgICAgICAgICBwbGFjZWhvbGRlcjogcHJvcHMuc2VhcmNoUGxhY2Vob2xkZXIgfHwgJycsXG4gICAgICAgICAgICAgIGRlYm91bmNlOiAyMDAsXG4gICAgICAgICAgICB9XCJcbiAgICAgICAgICAgIChmaWx0ZXJFdmVudCk9XCJvblNlYXJjaCgkZXZlbnQpXCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cblxuICAgICAgQGlmICh2aXNpYmxlQ2F0ZWdvcmllcygpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICA8cCBjbGFzcz1cInZhbC1mYXFfX2VtcHR5XCI+XG4gICAgICAgICAge3sgcHJvcHMubm9SZXN1bHRzVGV4dCB8fCAnU2luIHJlc3VsdGFkb3MnIH19XG4gICAgICAgIDwvcD5cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBAZm9yIChjYXQgb2YgdmlzaWJsZUNhdGVnb3JpZXMoKTsgdHJhY2sgY2F0LmlkKSB7XG4gICAgICAgICAgPHNlY3Rpb24gY2xhc3M9XCJ2YWwtZmFxX19jYXRlZ29yeVwiPlxuICAgICAgICAgICAgQGlmIChzaG93Q2F0ZWdvcnlMYWJlbCgpKSB7XG4gICAgICAgICAgICAgIDxoMyBjbGFzcz1cInZhbC1mYXFfX2NhdGVnb3J5LWxhYmVsXCI+e3sgY2F0LmxhYmVsIH19PC9oMz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDxpb24tYWNjb3JkaW9uLWdyb3VwIFttdWx0aXBsZV09XCJwcm9wcy5tdWx0aXBsZSA/PyBmYWxzZVwiPlxuICAgICAgICAgICAgICBAZm9yIChpdGVtIG9mIGNhdC5pdGVtczsgdHJhY2sgaXRlbS5pZCkge1xuICAgICAgICAgICAgICAgIDxpb24tYWNjb3JkaW9uIFt2YWx1ZV09XCJpdGVtLmlkXCIgY2xhc3M9XCJ2YWwtZmFxX19pdGVtXCI+XG4gICAgICAgICAgICAgICAgICA8aW9uLWl0ZW0gc2xvdD1cImhlYWRlclwiIGxpbmVzPVwibm9uZVwiIGNsYXNzPVwidmFsLWZhcV9fcVwiPlxuICAgICAgICAgICAgICAgICAgICA8aW9uLWxhYmVsIGNsYXNzPVwidmFsLWZhcV9fcS1sYWJlbFwiPlxuICAgICAgICAgICAgICAgICAgICAgIHt7IGl0ZW0ucXVlc3Rpb24gfX1cbiAgICAgICAgICAgICAgICAgICAgPC9pb24tbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8L2lvbi1pdGVtPlxuICAgICAgICAgICAgICAgICAgPGRpdiBzbG90PVwiY29udGVudFwiIGNsYXNzPVwidmFsLWZhcV9fYVwiPlxuICAgICAgICAgICAgICAgICAgICA8dmFsLWFydGljbGUgW3Byb3BzXT1cImFuc3dlck9mKGl0ZW0pXCIgLz5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvaW9uLWFjY29yZGlvbj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9pb24tYWNjb3JkaW9uLWdyb3VwPlxuICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgfVxuICAgICAgfVxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICA6aG9zdCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgLnZhbC1mYXFfX3NlYXJjaCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgICB9XG5cbiAgICAgIC52YWwtZmFxX19jYXRlZ29yeSArIC52YWwtZmFxX19jYXRlZ29yeSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDI0cHg7XG4gICAgICB9XG5cbiAgICAgIC52YWwtZmFxX19jYXRlZ29yeS1sYWJlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNmVtO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLW1lZGl1bSwgIzkyOTQ5Yyk7XG4gICAgICAgIG1hcmdpbjogMCAwIDhweDtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IDRweDtcbiAgICAgIH1cblxuICAgICAgaW9uLWFjY29yZGlvbi1ncm91cCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogOHB4O1xuICAgICAgfVxuXG4gICAgICAudmFsLWZhcV9faXRlbSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWlvbi1jb2xvci1saWdodCwgI2Y0ZjVmOCk7XG4gICAgICB9XG5cbiAgICAgIC52YWwtZmFxX19xIHtcbiAgICAgICAgLS1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgLS1taW4taGVpZ2h0OiA1NnB4O1xuICAgICAgfVxuXG4gICAgICAudmFsLWZhcV9fcS1sYWJlbCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICB9XG5cbiAgICAgIC52YWwtZmFxX19hIHtcbiAgICAgICAgcGFkZGluZzogNHB4IDE2cHggMTZweDtcbiAgICAgIH1cblxuICAgICAgLnZhbC1mYXFfX2VtcHR5IHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAzMnB4IDE2cHg7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItbWVkaXVtLCAjOTI5NDljKTtcbiAgICAgICAgZm9udC1zaXplOiAwLjk1cmVtO1xuICAgICAgfVxuICAgIGAsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZhcUNvbXBvbmVudCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgcHJvcHNfID0gc2lnbmFsPEZhcU1ldGFkYXRhPih7IGNhdGVnb3JpZXM6IFtdIH0pO1xuXG4gIEBJbnB1dCgpIHNldCBwcm9wcyh2YWx1ZTogRmFxTWV0YWRhdGEgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAodmFsdWUpIHRoaXMucHJvcHNfLnNldCh2YWx1ZSk7XG4gIH1cbiAgZ2V0IHByb3BzKCk6IEZhcU1ldGFkYXRhIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wc18oKTtcbiAgfVxuXG4gIC8qKiBUw6lybWlubyBkZSBiw7pzcXVlZGEgYWN0dWFsLiAqL1xuICBwcml2YXRlIHJlYWRvbmx5IHF1ZXJ5ID0gc2lnbmFsKCcnKTtcblxuICAvKipcbiAgICogQ2FjaGUgZGUgcmVzcHVlc3RhcyBwYXJzZWFkYXMgKE1hcmtkb3duIOKGkiBBcnRpY2xlTWV0YWRhdGEpLiBTZSByZWNvbnN0cnV5ZVxuICAgKiBzb2xvIGN1YW5kbyBjYW1iaWFuIGxhcyBjYXRlZ29yw61hcyDigJQgZWwgcGFyc2VvIE5PIGNvcnJlIHBvciBrZXlzdHJva2UuXG4gICAqIEtleWVkIHBvciBpZCBkZSBpdGVtIChsb3MgaWRzIHNvbiDDum5pY29zIGVuIHRvZGEgbGEgRkFRKS5cbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgcGFyc2VkQW5zd2VycyA9IGNvbXB1dGVkPE1hcDxzdHJpbmcsIEFydGljbGVNZXRhZGF0YT4+KCgpID0+IHtcbiAgICBjb25zdCBtYXAgPSBuZXcgTWFwPHN0cmluZywgQXJ0aWNsZU1ldGFkYXRhPigpO1xuICAgIGZvciAoY29uc3QgY2F0IG9mIHRoaXMucHJvcHNfKCkuY2F0ZWdvcmllcyA/PyBbXSkge1xuICAgICAgZm9yIChjb25zdCBpdGVtIG9mIGNhdC5pdGVtcykge1xuICAgICAgICBtYXAuc2V0KGl0ZW0uaWQsIHBhcnNlTWFya2Rvd25BcnRpY2xlKGl0ZW0uYW5zd2VyKSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBtYXA7XG4gIH0pO1xuXG4gIC8qKiBSZXNwdWVzdGEgcGFyc2VhZGEgZGUgdW4gaXRlbSDigJQgZGVzZGUgZWwgY2FjaGUuICovXG4gIGFuc3dlck9mKGl0ZW06IEZhcUl0ZW0pOiBBcnRpY2xlTWV0YWRhdGEge1xuICAgIHJldHVybiB0aGlzLnBhcnNlZEFuc3dlcnMoKS5nZXQoaXRlbS5pZCkgPz8geyBlbGVtZW50czogW10gfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYXRlZ29yw61hcyB2aXNpYmxlcyB0cmFzIGVsIGZpbHRyby4gVW5hIGNhdGVnb3LDrWEgZGVzYXBhcmVjZSBzaSBuaW5ndW5hXG4gICAqIGRlIHN1cyBwcmVndW50YXMgbWF0Y2hlYS4gTWF0Y2ggc29icmUgcHJlZ3VudGEgKyByZXNwdWVzdGEgKHJhdyBtYXJrZG93biksXG4gICAqIGNhc2UtaW5zZW5zaXRpdmUuXG4gICAqL1xuICByZWFkb25seSB2aXNpYmxlQ2F0ZWdvcmllcyA9IGNvbXB1dGVkPEZhcUNhdGVnb3J5W10+KCgpID0+IHtcbiAgICBjb25zdCBxID0gdGhpcy5xdWVyeSgpLnRyaW0oKS50b0xvd2VyQ2FzZSgpO1xuICAgIGNvbnN0IGNhdHMgPSB0aGlzLnByb3BzXygpLmNhdGVnb3JpZXMgPz8gW107XG4gICAgaWYgKCFxKSByZXR1cm4gY2F0cztcbiAgICByZXR1cm4gY2F0c1xuICAgICAgLm1hcChjYXQgPT4gKHtcbiAgICAgICAgLi4uY2F0LFxuICAgICAgICBpdGVtczogY2F0Lml0ZW1zLmZpbHRlcihpdCA9PiBpdC5xdWVzdGlvbi50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHEpIHx8IGl0LmFuc3dlci50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHEpKSxcbiAgICAgIH0pKVxuICAgICAgLmZpbHRlcihjYXQgPT4gY2F0Lml0ZW1zLmxlbmd0aCA+IDApO1xuICB9KTtcblxuICAvKiogYHRydWVgIHNpIHNlIGRlYmUgbW9zdHJhciBlbCBsYWJlbCBkZSBjYWRhIGNhdGVnb3LDrWEuICovXG4gIHJlYWRvbmx5IHNob3dDYXRlZ29yeUxhYmVsID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IHAgPSB0aGlzLnByb3BzXygpO1xuICAgIGlmIChwLmhpZGVTaW5nbGVDYXRlZ29yeUxhYmVsID09PSBmYWxzZSkgcmV0dXJuIHRydWU7XG4gICAgcmV0dXJuIChwLmNhdGVnb3JpZXM/Lmxlbmd0aCA/PyAwKSA+IDE7XG4gIH0pO1xuXG4gIG9uU2VhcmNoKHRlcm06IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMucXVlcnkuc2V0KHRlcm0gPz8gJycpO1xuICB9XG59XG4iXX0=
|
|
179
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFxLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9vcmdhbmlzbXMvZmFxL2ZhcS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNFLE9BQU8sRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQy9GLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUVoRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQzs7QUFHbkY7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQkc7QUE0R0gsTUFBTSxPQUFPLFlBQVk7SUEzR3pCO1FBNEdtQixTQUFJLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzNCLFdBQU0sR0FBRyxNQUFNLENBQWMsRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQVNsRSxrQ0FBa0M7UUFDakIsVUFBSyxHQUFHLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUVwQzs7OztXQUlHO1FBQ2Msa0JBQWEsR0FBRyxRQUFRLENBQStCLEdBQUcsRUFBRTtZQUMzRSxNQUFNLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksSUFBSSxDQUF1QixDQUFDO1lBQ2hFLE1BQU0sR0FBRyxHQUFH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QUNQLENBQUMsWUFBWSxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixDQUFDLFlBQ3ZHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EwQ1Q7OEJBaUVZLEtBQUs7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBjb21wdXRlZCwgaW5qZWN0LCBJbnB1dCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJb25BY2NvcmRpb24sIElvbkFjY29yZGlvbkdyb3VwLCBJb25JdGVtLCBJb25MYWJlbCB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgcGFyc2VNYXJrZG93bkFydGljbGUgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9tYXJrZG93bi1hcnRpY2xlL21hcmtkb3duLWFydGljbGUtcGFyc2VyJztcbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvaTE4bi9pMThuLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXJ0aWNsZUNvbXBvbmVudCB9IGZyb20gJy4uL2FydGljbGUvYXJ0aWNsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXJ0aWNsZU1ldGFkYXRhIH0gZnJvbSAnLi4vYXJ0aWNsZS90eXBlcyc7XG5pbXBvcnQgeyBTZWFyY2hiYXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvc2VhcmNoYmFyL3NlYXJjaGJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmFxQ2F0ZWdvcnksIEZhcUl0ZW0sIEZhcU1ldGFkYXRhIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogYHZhbC1mYXFgXG4gKlxuICogT3JnYW5pc20gZGUgcHJlZ3VudGFzIGZyZWN1ZW50ZXMuIFEmQSBjYXRlZ29yaXphZG8gY29uIGFjY29yZGlvbiBjb2xhcHNhYmxlXG4gKiB5IGJ1c2NhZG9yIGVuIHZpdm8uIFBlbnNhZG8gcGFyYSB2aXN0YXMgRkFRIHDDumJsaWNhcyDigJQgZWwgY2FsbGVyIHB1ZWRlXG4gKiByZXVzYXIgbGEgbWlzbWEgZGF0YSAoYEZhcU1ldGFkYXRhLmNhdGVnb3JpZXNgKSBwYXJhIGVtaXRpciBlbCBzdHJ1Y3R1cmVkXG4gKiBkYXRhIGBGQVFQYWdlYCAoSlNPTi1MRCkgeSBnYW5hciByaWNoIHJlc3VsdHMgZW4gYnVzY2Fkb3Jlcy5cbiAqXG4gKiBMYXMgcmVzcHVlc3RhcyAoYEZhcUl0ZW0uYW5zd2VyYCkgc29uICoqTWFya2Rvd24qKiDigJQgc2UgcGFyc2VhbiBjb25cbiAqIGBwYXJzZU1hcmtkb3duQXJ0aWNsZWAgeSBzZSByZW5kZXJpemFuIHbDrWEgYHZhbC1hcnRpY2xlYC4gU29wb3J0YW4gbGlua3MsXG4gKiBsaXN0YXMsIG5lZ3JpdGFzLCB0YWJsYXMsIGV0Yy5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgaHRtbFxuICogPHZhbC1mYXEgW3Byb3BzXT1cInsgY2F0ZWdvcmllczogZmFxQ2F0ZWdvcmllcywgc2VhcmNoYWJsZTogdHJ1ZSB9XCIgLz5cbiAqIGBgYFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtZmFxJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgSW9uQWNjb3JkaW9uLCBJb25BY2NvcmRpb25Hcm91cCwgSW9uSXRlbSwgSW9uTGFiZWwsIFNlYXJjaGJhckNvbXBvbmVudCwgQXJ0aWNsZUNvbXBvbmVudF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cInZhbC1mYXFcIj5cbiAgICAgIEBpZiAocHJvcHMuc2VhcmNoYWJsZSAhPT0gZmFsc2UpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cInZhbC1mYXFfX3NlYXJjaFwiPlxuICAgICAgICAgIDx2YWwtc2VhcmNoYmFyXG4gICAgICAgICAgICBbcHJvcHNdPVwie1xuICAgICAgICAgICAgICBwbGFjZWhvbGRlcjogcHJvcHMuc2VhcmNoUGxhY2Vob2xkZXIgfHwgJycsXG4gICAgICAgICAgICAgIGRlYm91bmNlOiAyMDAsXG4gICAgICAgICAgICB9XCJcbiAgICAgICAgICAgIChmaWx0ZXJFdmVudCk9XCJvblNlYXJjaCgkZXZlbnQpXCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cblxuICAgICAgQGlmICh2aXNpYmxlQ2F0ZWdvcmllcygpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICA8cCBjbGFzcz1cInZhbC1mYXFfX2VtcHR5XCI+XG4gICAgICAgICAge3sgcHJvcHMubm9SZXN1bHRzVGV4dCB8fCAnU2luIHJlc3VsdGFkb3MnIH19XG4gICAgICAgIDwvcD5cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBAZm9yIChjYXQgb2YgdmlzaWJsZUNhdGVnb3JpZXMoKTsgdHJhY2sgY2F0LmlkKSB7XG4gICAgICAgICAgPHNlY3Rpb24gY2xhc3M9XCJ2YWwtZmFxX19jYXRlZ29yeVwiPlxuICAgICAgICAgICAgQGlmIChzaG93Q2F0ZWdvcnlMYWJlbCgpKSB7XG4gICAgICAgICAgICAgIDxoMyBjbGFzcz1cInZhbC1mYXFfX2NhdGVnb3J5LWxhYmVsXCI+e3sgY2F0LmxhYmVsIH19PC9oMz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDxpb24tYWNjb3JkaW9uLWdyb3VwIFttdWx0aXBsZV09XCJwcm9wcy5tdWx0aXBsZSA/PyBmYWxzZVwiPlxuICAgICAgICAgICAgICBAZm9yIChpdGVtIG9mIGNhdC5pdGVtczsgdHJhY2sgaXRlbS5pZCkge1xuICAgICAgICAgICAgICAgIDxpb24tYWNjb3JkaW9uIFt2YWx1ZV09XCJpdGVtLmlkXCIgY2xhc3M9XCJ2YWwtZmFxX19pdGVtXCI+XG4gICAgICAgICAgICAgICAgICA8aW9uLWl0ZW0gc2xvdD1cImhlYWRlclwiIGxpbmVzPVwibm9uZVwiIGNsYXNzPVwidmFsLWZhcV9fcVwiPlxuICAgICAgICAgICAgICAgICAgICA8aW9uLWxhYmVsIGNsYXNzPVwidmFsLWZhcV9fcS1sYWJlbFwiPlxuICAgICAgICAgICAgICAgICAgICAgIHt7IGl0ZW0ucXVlc3Rpb24gfX1cbiAgICAgICAgICAgICAgICAgICAgPC9pb24tbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8L2lvbi1pdGVtPlxuICAgICAgICAgICAgICAgICAgPGRpdiBzbG90PVwiY29udGVudFwiIGNsYXNzPVwidmFsLWZhcV9fYVwiPlxuICAgICAgICAgICAgICAgICAgICA8dmFsLWFydGljbGUgW3Byb3BzXT1cImFuc3dlck9mKGl0ZW0pXCIgLz5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvaW9uLWFjY29yZGlvbj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9pb24tYWNjb3JkaW9uLWdyb3VwPlxuICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgfVxuICAgICAgfVxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICA6aG9zdCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgLnZhbC1mYXFfX3NlYXJjaCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgICB9XG5cbiAgICAgIC52YWwtZmFxX19jYXRlZ29yeSArIC52YWwtZmFxX19jYXRlZ29yeSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDI0cHg7XG4gICAgICB9XG5cbiAgICAgIC52YWwtZmFxX19jYXRlZ29yeS1sYWJlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNmVtO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLW1lZGl1bSwgIzkyOTQ5Yyk7XG4gICAgICAgIG1hcmdpbjogMCAwIDhweDtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IDRweDtcbiAgICAgIH1cblxuICAgICAgaW9uLWFjY29yZGlvbi1ncm91cCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogOHB4O1xuICAgICAgfVxuXG4gICAgICAudmFsLWZhcV9faXRlbSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWlvbi1jb2xvci1saWdodCwgI2Y0ZjVmOCk7XG4gICAgICB9XG5cbiAgICAgIC52YWwtZmFxX19xIHtcbiAgICAgICAgLS1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgLS1taW4taGVpZ2h0OiA1NnB4O1xuICAgICAgfVxuXG4gICAgICAudmFsLWZhcV9fcS1sYWJlbCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICB9XG5cbiAgICAgIC52YWwtZmFxX19hIHtcbiAgICAgICAgcGFkZGluZzogNHB4IDE2cHggMTZweDtcbiAgICAgIH1cblxuICAgICAgLnZhbC1mYXFfX2VtcHR5IHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAzMnB4IDE2cHg7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItbWVkaXVtLCAjOTI5NDljKTtcbiAgICAgICAgZm9udC1zaXplOiAwLjk1cmVtO1xuICAgICAgfVxuICAgIGAsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZhcUNvbXBvbmVudCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgaTE4biA9IGluamVjdChJMThuU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgcHJvcHNfID0gc2lnbmFsPEZhcU1ldGFkYXRhPih7IGNhdGVnb3JpZXM6IFtdIH0pO1xuXG4gIEBJbnB1dCgpIHNldCBwcm9wcyh2YWx1ZTogRmFxTWV0YWRhdGEgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAodmFsdWUpIHRoaXMucHJvcHNfLnNldCh2YWx1ZSk7XG4gIH1cbiAgZ2V0IHByb3BzKCk6IEZhcU1ldGFkYXRhIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wc18oKTtcbiAgfVxuXG4gIC8qKiBUw6lybWlubyBkZSBiw7pzcXVlZGEgYWN0dWFsLiAqL1xuICBwcml2YXRlIHJlYWRvbmx5IHF1ZXJ5ID0gc2lnbmFsKCcnKTtcblxuICAvKipcbiAgICogQ2FjaGUgZGUgcmVzcHVlc3RhcyBwYXJzZWFkYXMgKE1hcmtkb3duIOKGkiBBcnRpY2xlTWV0YWRhdGEpLiBTZSByZWNvbnN0cnV5ZVxuICAgKiBzb2xvIGN1YW5kbyBjYW1iaWFuIGxhcyBjYXRlZ29yw61hcyDigJQgZWwgcGFyc2VvIE5PIGNvcnJlIHBvciBrZXlzdHJva2UuXG4gICAqIEtleWVkIHBvciBpZCBkZSBpdGVtIChsb3MgaWRzIHNvbiDDum5pY29zIGVuIHRvZGEgbGEgRkFRKS5cbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgcGFyc2VkQW5zd2VycyA9IGNvbXB1dGVkPE1hcDxzdHJpbmcsIEFydGljbGVNZXRhZGF0YT4+KCgpID0+IHtcbiAgICBjb25zdCBsb2NhbGUgPSAodGhpcy5pMThuLmxhbmcoKSA/PyAnZXMnKSBhcyAnZXMnIHwgJ2VuJyB8ICdwdCc7XG4gICAgY29uc3QgbWFwID0gbmV3IE1hcDxzdHJpbmcsIEFydGljbGVNZXRhZGF0YT4oKTtcbiAgICBmb3IgKGNvbnN0IGNhdCBvZiB0aGlzLnByb3BzXygpLmNhdGVnb3JpZXMgPz8gW10pIHtcbiAgICAgIGZvciAoY29uc3QgaXRlbSBvZiBjYXQuaXRlbXMpIHtcbiAgICAgICAgbWFwLnNldChpdGVtLmlkLCBwYXJzZU1hcmtkb3duQXJ0aWNsZShpdGVtLmFuc3dlciwgeyBsb2NhbGUgfSkpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbWFwO1xuICB9KTtcblxuICAvKiogUmVzcHVlc3RhIHBhcnNlYWRhIGRlIHVuIGl0ZW0g4oCUIGRlc2RlIGVsIGNhY2hlLiAqL1xuICBhbnN3ZXJPZihpdGVtOiBGYXFJdGVtKTogQXJ0aWNsZU1ldGFkYXRhIHtcbiAgICByZXR1cm4gdGhpcy5wYXJzZWRBbnN3ZXJzKCkuZ2V0KGl0ZW0uaWQpID8/IHsgZWxlbWVudHM6IFtdIH07XG4gIH1cblxuICAvKipcbiAgICogQ2F0ZWdvcsOtYXMgdmlzaWJsZXMgdHJhcyBlbCBmaWx0cm8uIFVuYSBjYXRlZ29yw61hIGRlc2FwYXJlY2Ugc2kgbmluZ3VuYVxuICAgKiBkZSBzdXMgcHJlZ3VudGFzIG1hdGNoZWEuIE1hdGNoIHNvYnJlIHByZWd1bnRhICsgcmVzcHVlc3RhIChyYXcgbWFya2Rvd24pLFxuICAgKiBjYXNlLWluc2Vuc2l0aXZlLlxuICAgKi9cbiAgcmVhZG9ubHkgdmlzaWJsZUNhdGVnb3JpZXMgPSBjb21wdXRlZDxGYXFDYXRlZ29yeVtdPigoKSA9PiB7XG4gICAgY29uc3QgcSA9IHRoaXMucXVlcnkoKS50cmltKCkudG9Mb3dlckNhc2UoKTtcbiAgICBjb25zdCBjYXRzID0gdGhpcy5wcm9wc18oKS5jYXRlZ29yaWVzID8/IFtdO1xuICAgIGlmICghcSkgcmV0dXJuIGNhdHM7XG4gICAgcmV0dXJuIGNhdHNcbiAgICAgIC5tYXAoY2F0ID0+ICh7XG4gICAgICAgIC4uLmNhdCxcbiAgICAgICAgaXRlbXM6IGNhdC5pdGVtcy5maWx0ZXIoaXQgPT4gaXQucXVlc3Rpb24udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhxKSB8fCBpdC5hbnN3ZXIudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhxKSksXG4gICAgICB9KSlcbiAgICAgIC5maWx0ZXIoY2F0ID0+IGNhdC5pdGVtcy5sZW5ndGggPiAwKTtcbiAgfSk7XG5cbiAgLyoqIGB0cnVlYCBzaSBzZSBkZWJlIG1vc3RyYXIgZWwgbGFiZWwgZGUgY2FkYSBjYXRlZ29yw61hLiAqL1xuICByZWFkb25seSBzaG93Q2F0ZWdvcnlMYWJlbCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBwID0gdGhpcy5wcm9wc18oKTtcbiAgICBpZiAocC5oaWRlU2luZ2xlQ2F0ZWdvcnlMYWJlbCA9PT0gZmFsc2UpIHJldHVybiB0cnVlO1xuICAgIHJldHVybiAocC5jYXRlZ29yaWVzPy5sZW5ndGggPz8gMCkgPiAxO1xuICB9KTtcblxuICBvblNlYXJjaCh0ZXJtOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnF1ZXJ5LnNldCh0ZXJtID8/ICcnKTtcbiAgfVxufVxuIl19
|
|
@@ -4,8 +4,8 @@ import { ActivatedRoute } from '@angular/router';
|
|
|
4
4
|
import { DisplayComponent } from '../../atoms/display/display.component';
|
|
5
5
|
import { TextComponent } from '../../atoms/text/text.component';
|
|
6
6
|
import { TitleComponent } from '../../atoms/title/title.component';
|
|
7
|
-
import { IonSelect, IonSelectOption } from '@ionic/angular/standalone';
|
|
8
7
|
import { LanguageSelectorComponent } from '../../molecules/language-selector/language-selector.component';
|
|
8
|
+
import { PopoverSelectorComponent } from '../../molecules/popover-selector/popover-selector.component';
|
|
9
9
|
import { I18nService } from '../../../services/i18n';
|
|
10
10
|
import { NavigationService } from '../../../services/navigation/navigation.service';
|
|
11
11
|
import { PreferencesService } from '../../../services/preferences/preferences.service';
|
|
@@ -64,12 +64,6 @@ export class PreferencesViewComponent {
|
|
|
64
64
|
this.langHint = computed(() => this.t('languageHint'));
|
|
65
65
|
this.fontSizeTitle = computed(() => this.t('fontSizeTitle'));
|
|
66
66
|
this.fontSizeHint = computed(() => this.t('fontSizeHint'));
|
|
67
|
-
this.themeLight = computed(() => this.t('themeLight'));
|
|
68
|
-
this.themeDark = computed(() => this.t('themeDark'));
|
|
69
|
-
this.themeAuto = computed(() => this.t('themeAuto'));
|
|
70
|
-
this.fontSizeSmall = computed(() => this.t('fontSizeSmall'));
|
|
71
|
-
this.fontSizeMedium = computed(() => this.t('fontSizeMedium'));
|
|
72
|
-
this.fontSizeLarge = computed(() => this.t('fontSizeLarge'));
|
|
73
67
|
this.langProps = computed(() => ({
|
|
74
68
|
currentLanguage: this.prefs.language(),
|
|
75
69
|
availableLanguages: this.resolvedConfig().supportedLanguages,
|
|
@@ -78,6 +72,28 @@ export class PreferencesViewComponent {
|
|
|
78
72
|
expand: 'block',
|
|
79
73
|
fill: 'outline',
|
|
80
74
|
}));
|
|
75
|
+
this.themePickerProps = computed(() => ({
|
|
76
|
+
selectedValue: this.prefs.theme(),
|
|
77
|
+
disabled: this.saving(),
|
|
78
|
+
fill: 'outline',
|
|
79
|
+
interface: 'popover',
|
|
80
|
+
options: [
|
|
81
|
+
{ value: 'light', label: this.t('themeLight') },
|
|
82
|
+
{ value: 'dark', label: this.t('themeDark') },
|
|
83
|
+
{ value: 'auto', label: this.t('themeAuto') },
|
|
84
|
+
],
|
|
85
|
+
}));
|
|
86
|
+
this.fontSizePickerProps = computed(() => ({
|
|
87
|
+
selectedValue: this.prefs.fontSize(),
|
|
88
|
+
disabled: this.saving(),
|
|
89
|
+
fill: 'outline',
|
|
90
|
+
interface: 'popover',
|
|
91
|
+
options: [
|
|
92
|
+
{ value: 'small', label: this.t('fontSizeSmall') },
|
|
93
|
+
{ value: 'medium', label: this.t('fontSizeMedium') },
|
|
94
|
+
{ value: 'large', label: this.t('fontSizeLarge') },
|
|
95
|
+
],
|
|
96
|
+
}));
|
|
81
97
|
// Auto-registro i18n — respeta override del consumer. El namespace puede
|
|
82
98
|
// venir de @Input.config o del route data; lo resolvemos acá.
|
|
83
99
|
const ns = this.ns;
|
|
@@ -87,14 +103,16 @@ export class PreferencesViewComponent {
|
|
|
87
103
|
this.nav.setBackHeader('pageTitle', ns, { withMenu: true });
|
|
88
104
|
}
|
|
89
105
|
async onThemeChange(value) {
|
|
90
|
-
|
|
106
|
+
const v = Array.isArray(value) ? value[0] : value;
|
|
107
|
+
if (this.saving() || v === this.prefs.theme())
|
|
91
108
|
return;
|
|
92
|
-
const theme =
|
|
109
|
+
const theme = v;
|
|
93
110
|
await this.dispatch(() => this.prefs.setTheme(theme), () => this.resolvedConfig().onThemeChanged?.(theme));
|
|
94
111
|
}
|
|
95
112
|
async onFontSizeChange(value) {
|
|
96
|
-
const
|
|
97
|
-
|
|
113
|
+
const v = Array.isArray(value) ? value[0] : value;
|
|
114
|
+
const fontSize = v;
|
|
115
|
+
if (this.saving() || v === this.prefs.fontSize())
|
|
98
116
|
return;
|
|
99
117
|
await this.dispatch(() => this.prefs.setFontSize(fontSize), () => this.resolvedConfig().onFontSizeChanged?.(fontSize));
|
|
100
118
|
}
|
|
@@ -161,18 +179,7 @@ export class PreferencesViewComponent {
|
|
|
161
179
|
content: themeHint(),
|
|
162
180
|
}"
|
|
163
181
|
/>
|
|
164
|
-
<
|
|
165
|
-
[value]="prefs.theme()"
|
|
166
|
-
[disabled]="saving()"
|
|
167
|
-
fill="outline"
|
|
168
|
-
expand="block"
|
|
169
|
-
interface="popover"
|
|
170
|
-
(ionChange)="onThemeChange($event.detail.value)"
|
|
171
|
-
>
|
|
172
|
-
<ion-select-option value="light">{{ themeLight() }}</ion-select-option>
|
|
173
|
-
<ion-select-option value="dark">{{ themeDark() }}</ion-select-option>
|
|
174
|
-
<ion-select-option value="auto">{{ themeAuto() }}</ion-select-option>
|
|
175
|
-
</ion-select>
|
|
182
|
+
<val-popover-selector [props]="themePickerProps()" (selectionChange)="onThemeChange($event)" />
|
|
176
183
|
</div>
|
|
177
184
|
</section>
|
|
178
185
|
}
|
|
@@ -220,30 +227,18 @@ export class PreferencesViewComponent {
|
|
|
220
227
|
content: fontSizeHint(),
|
|
221
228
|
}"
|
|
222
229
|
/>
|
|
223
|
-
<
|
|
224
|
-
[value]="prefs.fontSize()"
|
|
225
|
-
[disabled]="saving()"
|
|
226
|
-
fill="outline"
|
|
227
|
-
expand="block"
|
|
228
|
-
interface="popover"
|
|
229
|
-
(ionChange)="onFontSizeChange($event.detail.value)"
|
|
230
|
-
>
|
|
231
|
-
<ion-select-option value="small">{{ fontSizeSmall() }}</ion-select-option>
|
|
232
|
-
<ion-select-option value="medium">{{ fontSizeMedium() }}</ion-select-option>
|
|
233
|
-
<ion-select-option value="large">{{ fontSizeLarge() }}</ion-select-option>
|
|
234
|
-
</ion-select>
|
|
230
|
+
<val-popover-selector [props]="fontSizePickerProps()" (selectionChange)="onFontSizeChange($event)" />
|
|
235
231
|
</div>
|
|
236
232
|
</section>
|
|
237
233
|
}
|
|
238
234
|
</div>
|
|
239
|
-
`, isInline: true, styles: [".page{padding:16px 0;max-width:720px;margin:0 auto}.settings-section{padding:16px 0}.settings-section+.settings-section{border-top:1px solid var(--val-border-color, rgba(0, 0, 0, .08))}.section-body{display:flex;flex-direction:column;gap:10px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type:
|
|
235
|
+
`, isInline: true, styles: [".page{padding:16px 0;max-width:720px;margin:0 auto}.settings-section{padding:16px 0}.settings-section+.settings-section{border-top:1px solid var(--val-border-color, rgba(0, 0, 0, .08))}.section-body{display:flex;flex-direction:column;gap:10px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: PopoverSelectorComponent, selector: "val-popover-selector", inputs: ["props"], outputs: ["selectionChange"] }, { kind: "component", type: LanguageSelectorComponent, selector: "val-language-selector", inputs: ["props"], outputs: ["languageChange"] }, { kind: "component", type: DisplayComponent, selector: "val-display", inputs: ["props"] }, { kind: "component", type: TitleComponent, selector: "val-title", inputs: ["props"] }, { kind: "component", type: TextComponent, selector: "val-text", inputs: ["props"] }] }); }
|
|
240
236
|
}
|
|
241
237
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PreferencesViewComponent, decorators: [{
|
|
242
238
|
type: Component,
|
|
243
239
|
args: [{ selector: 'val-preferences-view', standalone: true, imports: [
|
|
244
240
|
CommonModule,
|
|
245
|
-
|
|
246
|
-
IonSelectOption,
|
|
241
|
+
PopoverSelectorComponent,
|
|
247
242
|
LanguageSelectorComponent,
|
|
248
243
|
DisplayComponent,
|
|
249
244
|
TitleComponent,
|
|
@@ -281,18 +276,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
281
276
|
content: themeHint(),
|
|
282
277
|
}"
|
|
283
278
|
/>
|
|
284
|
-
<
|
|
285
|
-
[value]="prefs.theme()"
|
|
286
|
-
[disabled]="saving()"
|
|
287
|
-
fill="outline"
|
|
288
|
-
expand="block"
|
|
289
|
-
interface="popover"
|
|
290
|
-
(ionChange)="onThemeChange($event.detail.value)"
|
|
291
|
-
>
|
|
292
|
-
<ion-select-option value="light">{{ themeLight() }}</ion-select-option>
|
|
293
|
-
<ion-select-option value="dark">{{ themeDark() }}</ion-select-option>
|
|
294
|
-
<ion-select-option value="auto">{{ themeAuto() }}</ion-select-option>
|
|
295
|
-
</ion-select>
|
|
279
|
+
<val-popover-selector [props]="themePickerProps()" (selectionChange)="onThemeChange($event)" />
|
|
296
280
|
</div>
|
|
297
281
|
</section>
|
|
298
282
|
}
|
|
@@ -340,18 +324,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
340
324
|
content: fontSizeHint(),
|
|
341
325
|
}"
|
|
342
326
|
/>
|
|
343
|
-
<
|
|
344
|
-
[value]="prefs.fontSize()"
|
|
345
|
-
[disabled]="saving()"
|
|
346
|
-
fill="outline"
|
|
347
|
-
expand="block"
|
|
348
|
-
interface="popover"
|
|
349
|
-
(ionChange)="onFontSizeChange($event.detail.value)"
|
|
350
|
-
>
|
|
351
|
-
<ion-select-option value="small">{{ fontSizeSmall() }}</ion-select-option>
|
|
352
|
-
<ion-select-option value="medium">{{ fontSizeMedium() }}</ion-select-option>
|
|
353
|
-
<ion-select-option value="large">{{ fontSizeLarge() }}</ion-select-option>
|
|
354
|
-
</ion-select>
|
|
327
|
+
<val-popover-selector [props]="fontSizePickerProps()" (selectionChange)="onFontSizeChange($event)" />
|
|
355
328
|
</div>
|
|
356
329
|
</section>
|
|
357
330
|
}
|
|
@@ -360,4 +333,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
360
333
|
}], ctorParameters: () => [], propDecorators: { config: [{
|
|
361
334
|
type: Input
|
|
362
335
|
}] } });
|
|
363
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlZmVyZW5jZXMtdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL3ByZWZlcmVuY2VzLXZpZXcvcHJlZmVyZW5jZXMtdmlldy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVqRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDaEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDdkUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sK0RBQStELENBQUM7QUFHMUcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBTXZGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBR3JGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQUVoRSxNQUFNLGlCQUFpQixHQUFHLGtCQUFrQixDQUFDO0FBQzdDLE1BQU0saUJBQWlCLEdBQTBCLENBQUMsSUFBSSxFQUFFLElBQUks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Ozs7Ozs7OztHQTRHVCw4VEFwSEMsWUFBWSwrQkFDWixTQUFTLGtWQUNULGVBQWUsNkZBQ2YseUJBQXlCLGtIQUN6QixnQkFBZ0IsMkVBQ2hCLGNBQWMseUVBQ2QsYUFBYTs7NEZBb0lKLHdCQUF3QjtrQkE5SXBDLFNBQVM7K0JBQ0Usc0JBQXNCLGNBQ3BCLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLFNBQVM7d0JBQ1QsZUFBZTt3QkFDZix5QkFBeUI7d0JBQ3pCLGdCQUFnQjt3QkFDaEIsY0FBYzt3QkFDZCxhQUFhO3FCQUNkLFlBQ1M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTRHVDt3REFrQ1EsTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgY29tcHV0ZWQsIGluamVjdCwgSW5wdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQgeyBEaXNwbGF5Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvZGlzcGxheS9kaXNwbGF5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZXh0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvdGV4dC90ZXh0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaXRsZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL3RpdGxlL3RpdGxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJb25TZWxlY3QsIElvblNlbGVjdE9wdGlvbiB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgTGFuZ3VhZ2VTZWxlY3RvckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy9sYW5ndWFnZS1zZWxlY3Rvci9sYW5ndWFnZS1zZWxlY3Rvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTGFuZ3VhZ2VTZWxlY3Rvck1ldGFkYXRhIH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL2xhbmd1YWdlLXNlbGVjdG9yL3R5cGVzJztcblxuaW1wb3J0IHsgSTE4blNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pMThuJztcbmltcG9ydCB7IE5hdmlnYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbmF2aWdhdGlvbi9uYXZpZ2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgUHJlZmVyZW5jZXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvcHJlZmVyZW5jZXMvcHJlZmVyZW5jZXMuc2VydmljZSc7XG5pbXBvcnQge1xuICBQcmVmZXJlbmNlc0ZvbnRTaXplLFxuICBQcmVmZXJlbmNlc0xhbmd1YWdlLFxuICBQcmVmZXJlbmNlc1RoZW1lLFxufSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9wcmVmZXJlbmNlcy9wcmVmZXJlbmNlcy50eXBlcyc7XG5pbXBvcnQgeyBWYWx0ZWNoRXJyb3JTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZXJyb3JzL3ZhbHRlY2gtZXJyb3Iuc2VydmljZSc7XG5cbmltcG9ydCB7IFByZWZlcmVuY2VzVmlld0NvbmZpZyB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgUFJFRkVSRU5DRVNfVklFV19JMThOIH0gZnJvbSAnLi9wcmVmZXJlbmNlcy12aWV3LmkxOG4nO1xuXG5jb25zdCBERUZBVUxUX05BTUVTUEFDRSA9ICdTZXR0aW5ncy5HZW5lcmFsJztcbmNvbnN0IERFRkFVTFRfTEFOR1VBR0VTOiBQcmVmZXJlbmNlc0xhbmd1YWdlW10gPSBbJ2VzJywgJ2VuJ107XG5cbi8qKlxuICogYHZhbC1wcmVmZXJlbmNlcy12aWV3YCDigJQgdmlzdGEgZGUgcHJlZmVyZW5jaWFzIGRlIFVJIGNyb3NzLWFwcCAodGVtYSArXG4gKiBpZGlvbWEpIGZ1bGwtZmVhdHVyZSBhdXRvY29udGVuaWRhIChvcmdhbmlzbSkuIFByb21vdmlkYSBkZXNkZSBgc2hvd2Nhc2VgXG4gKiBiYWpvIGVsIHByb2Nlc28gZGUgQURSLTAyMS5cbiAqXG4gKiBCYWNrZW5kIGludGVncmF0aW9uIDEwMCUgZW4gYFByZWZlcmVuY2VzU2VydmljZWA6XG4gKiAgLSBSZWFkOiBsaXN0ZW5lciBGaXJlc3RvcmUgcmVhY3Rpdm8gKGBwcmVmcy50aGVtZSgpYCAvIGBwcmVmcy5sYW5ndWFnZSgpYCkuXG4gKiAgLSBXcml0ZTogYFBVVCAvdjIvYXV0aC9wcmVmZXJlbmNlc2AgKGBwcmVmcy5zZXRUaGVtZWAgLyBgcHJlZnMuc2V0TGFuZ3VhZ2VgKS5cbiAqICAgIEVsIGNsaWVudGUgTlVOQ0EgZXNjcmliZSBGaXJlc3RvcmUgZGlyZWN0by5cbiAqXG4gKiBOTyByZW5kZXJpemEgaW9uLWNvbnRlbnQg4oCUIHZpdmUgZGVudHJvIGRlIHZhbC1wYWdlLXdyYXBwZXIuXG4gKlxuICogQXV0by1yZWdpc3RyYSBzdXMgZGVmYXVsdHMgaTE4biAoZXMvZW4pIGVuIGVsIGNvbnN0cnVjdG9yIHNpIGVsIGNvbnN1bWVyIG5vXG4gKiBwcm92ZXnDsyBlbCBuYW1lc3BhY2UgY29uZmlndXJhZG8gKGRlZmF1bHQgYFNldHRpbmdzLkdlbmVyYWxgKS5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLXByZWZlcmVuY2VzLXZpZXcnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIElvblNlbGVjdCxcbiAgICBJb25TZWxlY3RPcHRpb24sXG4gICAgTGFuZ3VhZ2VTZWxlY3RvckNvbXBvbmVudCxcbiAgICBEaXNwbGF5Q29tcG9uZW50LFxuICAgIFRpdGxlQ29tcG9uZW50LFxuICAgIFRleHRDb21wb25lbnQsXG4gIF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cInBhZ2VcIj5cbiAgICAgIDxoZWFkZXIgY2xhc3M9XCJwYWdlLWhlYWRlclwiPlxuICAgICAgICA8dmFsLWRpc3BsYXkgW3Byb3BzXT1cInsgc2l6ZTogJ3NtYWxsJywgY29sb3I6ICdkYXJrJywgY29udGVudDogcGFnZVRpdGxlKCkgfVwiIC8+XG4gICAgICAgIDx2YWwtdGl0bGVcbiAgICAgICAgICBbcHJvcHNdPVwie1xuICAgICAgICAgICAgc2l6ZTogJ2xhcmdlJyxcbiAgICAgICAgICAgIGNvbG9yOiAnZGFyaycsXG4gICAgICAgICAgICBib2xkOiBmYWxzZSxcbiAgICAgICAgICAgIGNvbnRlbnQ6IHBhZ2VEZXNjcmlwdGlvbigpLFxuICAgICAgICAgIH1cIlxuICAgICAgICAvPlxuICAgICAgPC9oZWFkZXI+XG5cbiAgICAgIEBpZiAocmVzb2x2ZWRDb25maWcoKS5zaG93VGhlbWUpIHtcbiAgICAgICAgPHNlY3Rpb24gY2xhc3M9XCJzZXR0aW5ncy1zZWN0aW9uXCI+XG4gICAgICAgICAgPHZhbC10aXRsZVxuICAgICAgICAgICAgW3Byb3BzXT1cIntcbiAgICAgICAgICAgICAgc2l6ZTogJ21lZGl1bScsXG4gICAgICAgICAgICAgIGNvbG9yOiAnZGFyaycsXG4gICAgICAgICAgICAgIGJvbGQ6IHRydWUsXG4gICAgICAgICAgICAgIGNvbnRlbnQ6IHRoZW1lVGl0bGUoKSxcbiAgICAgICAgICAgIH1cIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNlY3Rpb24tYm9keVwiPlxuICAgICAgICAgICAgPHZhbC10ZXh0XG4gICAgICAgICAgICAgIFtwcm9wc109XCJ7XG4gICAgICAgICAgICAgICAgc2l6ZTogJ21lZGl1bScsXG4gICAgICAgICAgICAgICAgY29sb3I6ICdkYXJrJyxcbiAgICAgICAgICAgICAgICBib2xkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBjb250ZW50OiB0aGVtZUhpbnQoKSxcbiAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPGlvbi1zZWxlY3RcbiAgICAgICAgICAgICAgW3ZhbHVlXT1cInByZWZzLnRoZW1lKClcIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwic2F2aW5nKClcIlxuICAgICAgICAgICAgICBmaWxsPVwib3V0bGluZVwiXG4gICAgICAgICAgICAgIGV4cGFuZD1cImJsb2NrXCJcbiAgICAgICAgICAgICAgaW50ZXJmYWNlPVwicG9wb3ZlclwiXG4gICAgICAgICAgICAgIChpb25DaGFuZ2UpPVwib25UaGVtZUNoYW5nZSgkZXZlbnQuZGV0YWlsLnZhbHVlKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxpb24tc2VsZWN0LW9wdGlvbiB2YWx1ZT1cImxpZ2h0XCI+e3sgdGhlbWVMaWdodCgpIH19PC9pb24tc2VsZWN0LW9wdGlvbj5cbiAgICAgICAgICAgICAgPGlvbi1zZWxlY3Qtb3B0aW9uIHZhbHVlPVwiZGFya1wiPnt7IHRoZW1lRGFyaygpIH19PC9pb24tc2VsZWN0LW9wdGlvbj5cbiAgICAgICAgICAgICAgPGlvbi1zZWxlY3Qtb3B0aW9uIHZhbHVlPVwiYXV0b1wiPnt7IHRoZW1lQXV0bygpIH19PC9pb24tc2VsZWN0LW9wdGlvbj5cbiAgICAgICAgICAgIDwvaW9uLXNlbGVjdD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgfVxuXG4gICAgICBAaWYgKHJlc29sdmVkQ29uZmlnKCkuc2hvd0xhbmd1YWdlKSB7XG4gICAgICAgIDxzZWN0aW9uIGNsYXNzPVwic2V0dGluZ3Mtc2VjdGlvblwiPlxuICAgICAgICAgIDx2YWwtdGl0bGVcbiAgICAgICAgICAgIFtwcm9wc109XCJ7XG4gICAgICAgICAgICAgIHNpemU6ICdtZWRpdW0nLFxuICAgICAgICAgICAgICBjb2xvcjogJ2RhcmsnLFxuICAgICAgICAgICAgICBib2xkOiB0cnVlLFxuICAgICAgICAgICAgICBjb250ZW50OiBsYW5nVGl0bGUoKSxcbiAgICAgICAgICAgIH1cIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNlY3Rpb24tYm9keVwiPlxuICAgICAgICAgICAgPHZhbC10ZXh0XG4gICAgICAgICAgICAgIFtwcm9wc109XCJ7XG4gICAgICAgICAgICAgICAgc2l6ZTogJ21lZGl1bScsXG4gICAgICAgICAgICAgICAgY29sb3I6ICdkYXJrJyxcbiAgICAgICAgICAgICAgICBib2xkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBjb250ZW50OiBsYW5nSGludCgpLFxuICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8dmFsLWxhbmd1YWdlLXNlbGVjdG9yIFtwcm9wc109XCJsYW5nUHJvcHMoKVwiIChsYW5ndWFnZUNoYW5nZSk9XCJvbkxhbmd1YWdlQ2hhbmdlKCRldmVudClcIiAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3NlY3Rpb24+XG4gICAgICB9XG5cbiAgICAgIEBpZiAocmVzb2x2ZWRDb25maWcoKS5zaG93Rm9udFNpemUpIHtcbiAgICAgICAgPHNlY3Rpb24gY2xhc3M9XCJzZXR0aW5ncy1zZWN0aW9uXCI+XG4gICAgICAgICAgPHZhbC10aXRsZVxuICAgICAgICAgICAgW3Byb3BzXT1cIntcbiAgICAgICAgICAgICAgc2l6ZTogJ21lZGl1bScsXG4gICAgICAgICAgICAgIGNvbG9yOiAnZGFyaycsXG4gICAgICAgICAgICAgIGJvbGQ6IHRydWUsXG4gICAgICAgICAgICAgIGNvbnRlbnQ6IGZvbnRTaXplVGl0bGUoKSxcbiAgICAgICAgICAgIH1cIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNlY3Rpb24tYm9keVwiPlxuICAgICAgICAgICAgPHZhbC10ZXh0XG4gICAgICAgICAgICAgIFtwcm9wc109XCJ7XG4gICAgICAgICAgICAgICAgc2l6ZTogJ21lZGl1bScsXG4gICAgICAgICAgICAgICAgY29sb3I6ICdkYXJrJyxcbiAgICAgICAgICAgICAgICBib2xkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBjb250ZW50OiBmb250U2l6ZUhpbnQoKSxcbiAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPGlvbi1zZWxlY3RcbiAgICAgICAgICAgICAgW3ZhbHVlXT1cInByZWZzLmZvbnRTaXplKClcIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwic2F2aW5nKClcIlxuICAgICAgICAgICAgICBmaWxsPVwib3V0bGluZVwiXG4gICAgICAgICAgICAgIGV4cGFuZD1cImJsb2NrXCJcbiAgICAgICAgICAgICAgaW50ZXJmYWNlPVwicG9wb3ZlclwiXG4gICAgICAgICAgICAgIChpb25DaGFuZ2UpPVwib25Gb250U2l6ZUNoYW5nZSgkZXZlbnQuZGV0YWlsLnZhbHVlKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxpb24tc2VsZWN0LW9wdGlvbiB2YWx1ZT1cInNtYWxsXCI+e3sgZm9udFNpemVTbWFsbCgpIH19PC9pb24tc2VsZWN0LW9wdGlvbj5cbiAgICAgICAgICAgICAgPGlvbi1zZWxlY3Qtb3B0aW9uIHZhbHVlPVwibWVkaXVtXCI+e3sgZm9udFNpemVNZWRpdW0oKSB9fTwvaW9uLXNlbGVjdC1vcHRpb24+XG4gICAgICAgICAgICAgIDxpb24tc2VsZWN0LW9wdGlvbiB2YWx1ZT1cImxhcmdlXCI+e3sgZm9udFNpemVMYXJnZSgpIH19PC9pb24tc2VsZWN0LW9wdGlvbj5cbiAgICAgICAgICAgIDwvaW9uLXNlbGVjdD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgfVxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICAucGFnZSB7XG4gICAgICAgIHBhZGRpbmc6IDE2cHggMDtcbiAgICAgICAgbWF4LXdpZHRoOiA3MjBweDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICB9XG4gICAgICAuc2V0dGluZ3Mtc2VjdGlvbiB7XG4gICAgICAgIHBhZGRpbmc6IDE2cHggMDtcbiAgICAgIH1cbiAgICAgIC5zZXR0aW5ncy1zZWN0aW9uICsgLnNldHRpbmdzLXNlY3Rpb24ge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tdmFsLWJvcmRlci1jb2xvciwgcmdiYSgwLCAwLCAwLCAwLjA4KSk7XG4gICAgICB9XG4gICAgICAuc2VjdGlvbi1ib2R5IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiAxMHB4O1xuICAgICAgfVxuICAgIGAsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFByZWZlcmVuY2VzVmlld0NvbXBvbmVudCB7XG4gIHByaXZhdGUgbmF2ID0gaW5qZWN0KE5hdmlnYXRpb25TZXJ2aWNlKTtcbiAgcHJvdGVjdGVkIHByZWZzID0gaW5qZWN0KFByZWZlcmVuY2VzU2VydmljZSk7XG4gIHByaXZhdGUgaTE4biA9IGluamVjdChJMThuU2VydmljZSk7XG4gIHByaXZhdGUgZXJyb3JzID0gaW5qZWN0KFZhbHRlY2hFcnJvclNlcnZpY2UpO1xuICBwcml2YXRlIHJvdXRlID0gaW5qZWN0KEFjdGl2YXRlZFJvdXRlLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG4gIC8qKlxuICAgKiBDb25maWcgdsOtYSBASW5wdXQgKG9iamVjdC1maXJzdCkuIFNpIG5vIHNlIHBhc2EsIHNlIGNhZSBhbCByb3V0ZSBkYXRhXG4gICAqIGBwcmVmZXJlbmNlc0NvbmZpZ2AgKHBvYmxhZG8gcG9yIGBwcm92aWRlVmFsdGVjaFByZWZlcmVuY2VzUm91dGVzYCkuXG4gICAqIGByZXNvbHZlZENvbmZpZ2AgbWVyZ2VhIGNvbiBsb3MgZGVmYXVsdHMuXG4gICAqL1xuICBASW5wdXQoKSBjb25maWc/OiBQcmVmZXJlbmNlc1ZpZXdDb25maWc7XG5cbiAgLyoqIENvbmZpZyBtZXJnZWFkYSBjb24gZGVmYXVsdHMuIEBJbnB1dCBnYW5hIHNvYnJlIHJvdXRlIGRhdGEuICovXG4gIHJlYWRvbmx5IHJlc29sdmVkQ29uZmlnID0gY29tcHV0ZWQ8XG4gICAgUmVxdWlyZWQ8T21pdDxQcmVmZXJlbmNlc1ZpZXdDb25maWcsICdvblRoZW1lQ2hhbmdlZCcgfCAnb25MYW5ndWFnZUNoYW5nZWQnIHwgJ29uRm9udFNpemVDaGFuZ2VkJz4+ICZcbiAgICAgIFBpY2s8UHJlZmVyZW5jZXNWaWV3Q29uZmlnLCAnb25UaGVtZUNoYW5nZWQnIHwgJ29uTGFuZ3VhZ2VDaGFuZ2VkJyB8ICdvbkZvbnRTaXplQ2hhbmdlZCc+XG4gID4oKCkgPT4ge1xuICAgIGNvbnN0IGZyb21Sb3V0ZSA9ICh0aGlzLnJvdXRlPy5zbmFwc2hvdC5kYXRhWydwcmVmZXJlbmNlc0NvbmZpZyddID8/IHt9KSBhcyBQcmVmZXJlbmNlc1ZpZXdDb25maWc7XG4gICAgY29uc3QgbWVyZ2VkOiBQcmVmZXJlbmNlc1ZpZXdDb25maWcgPSB7IC4uLmZyb21Sb3V0ZSwgLi4uKHRoaXMuY29uZmlnID8/IHt9KSB9O1xuICAgIHJldHVybiB7XG4gICAgICBzaG93VGhlbWU6IG1lcmdlZC5zaG93VGhlbWUgPz8gdHJ1ZSxcbiAgICAgIHNob3dMYW5ndWFnZTogbWVyZ2VkLnNob3dMYW5ndWFnZSA/PyB0cnVlLFxuICAgICAgc2hvd0ZvbnRTaXplOiBtZXJnZWQuc2hvd0ZvbnRTaXplID8/IHRydWUsXG4gICAgICBzdXBwb3J0ZWRMYW5ndWFnZXM6IG1lcmdlZC5zdXBwb3J0ZWRMYW5ndWFnZXMgPz8gREVGQVVMVF9MQU5HVUFHRVMsXG4gICAgICBpMThuTmFtZXNwYWNlOiBtZXJnZWQuaTE4bk5hbWVzcGFjZSA/PyBERUZBVUxUX05BTUVTUEFDRSxcbiAgICAgIG9uVGhlbWVDaGFuZ2VkOiBtZXJnZWQub25UaGVtZUNoYW5nZWQsXG4gICAgICBvbkxhbmd1YWdlQ2hhbmdlZDogbWVyZ2VkLm9uTGFuZ3VhZ2VDaGFuZ2VkLFxuICAgICAgb25Gb250U2l6ZUNoYW5nZWQ6IG1lcmdlZC5vbkZvbnRTaXplQ2hhbmdlZCxcbiAgICB9O1xuICB9KTtcblxuICAvKiogTmFtZXNwYWNlIGkxOG4gcmVzdWVsdG8gKGNhcHR1cmFkbyBwYXJhIGxsYW1hZGFzIG5vLXJlYWN0aXZhcykuICovXG4gIHByaXZhdGUgZ2V0IG5zKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucmVzb2x2ZWRDb25maWcoKS5pMThuTmFtZXNwYWNlO1xuICB9XG5cbiAgcmVhZG9ubHkgc2F2aW5nID0gc2lnbmFsKGZhbHNlKTtcblxuICByZWFkb25seSBwYWdlVGl0bGUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnQoJ3BhZ2VUaXRsZScpKTtcbiAgcmVhZG9ubHkgcGFnZURlc2NyaXB0aW9uID0gY29tcHV0ZWQoKCkgPT4gdGhpcy50KCdwYWdlRGVzY3JpcHRpb24nKSk7XG4gIHJlYWRvbmx5IHRoZW1lVGl0bGUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnQoJ3RoZW1lVGl0bGUnKSk7XG4gIHJlYWRvbmx5IHRoZW1lSGludCA9IGNvbXB1dGVkKCgpID0+IHRoaXMudCgndGhlbWVIaW50JykpO1xuICByZWFkb25seSBsYW5nVGl0bGUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnQoJ2xhbmd1YWdlVGl0bGUnKSk7XG4gIHJlYWRvbmx5IGxhbmdIaW50ID0gY29tcHV0ZWQoKCkgPT4gdGhpcy50KCdsYW5ndWFnZUhpbnQnKSk7XG4gIHJlYWRvbmx5IGZvbnRTaXplVGl0bGUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnQoJ2ZvbnRTaXplVGl0bGUnKSk7XG4gIHJlYWRvbmx5IGZvbnRTaXplSGludCA9IGNvbXB1dGVkKCgpID0+IHRoaXMudCgnZm9udFNpemVIaW50JykpO1xuICByZWFkb25seSB0aGVtZUxpZ2h0ID0gY29tcHV0ZWQoKCkgPT4gdGhpcy50KCd0aGVtZUxpZ2h0JykpO1xuICByZWFkb25seSB0aGVtZURhcmsgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnQoJ3RoZW1lRGFyaycpKTtcbiAgcmVhZG9ubHkgdGhlbWVBdXRvID0gY29tcHV0ZWQoKCkgPT4gdGhpcy50KCd0aGVtZUF1dG8nKSk7XG4gIHJlYWRvbmx5IGZvbnRTaXplU21hbGwgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnQoJ2ZvbnRTaXplU21hbGwnKSk7XG4gIHJlYWRvbmx5IGZvbnRTaXplTWVkaXVtID0gY29tcHV0ZWQoKCkgPT4gdGhpcy50KCdmb250U2l6ZU1lZGl1bScpKTtcbiAgcmVhZG9ubHkgZm9udFNpemVMYXJnZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMudCgnZm9udFNpemVMYXJnZScpKTtcblxuICByZWFkb25seSBsYW5nUHJvcHMgPSBjb21wdXRlZDxQYXJ0aWFsPExhbmd1YWdlU2VsZWN0b3JNZXRhZGF0YT4+KCgpID0+ICh7XG4gICAgY3VycmVudExhbmd1YWdlOiB0aGlzLnByZWZzLmxhbmd1YWdlKCksXG4gICAgYXZhaWxhYmxlTGFuZ3VhZ2VzOiB0aGlzLnJlc29sdmVkQ29uZmlnKCkuc3VwcG9ydGVkTGFuZ3VhZ2VzLFxuICAgIHNob3dMYWJlbDogZmFsc2UsXG4gICAgZGlzYWJsZWQ6IHRoaXMuc2F2aW5nKCksXG4gICAgZXhwYW5kOiAnYmxvY2snLFxuICAgIGZpbGw6ICdvdXRsaW5lJyxcbiAgfSkpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIC8vIEF1dG8tcmVnaXN0cm8gaTE4biDigJQgcmVzcGV0YSBvdmVycmlkZSBkZWwgY29uc3VtZXIuIEVsIG5hbWVzcGFjZSBwdWVkZVxuICAgIC8vIHZlbmlyIGRlIEBJbnB1dC5jb25maWcgbyBkZWwgcm91dGUgZGF0YTsgbG8gcmVzb2x2ZW1vcyBhY8OhLlxuICAgIGNvbnN0IG5zID0gdGhpcy5ucztcbiAgICBpZiAoIXRoaXMuaTE4bi5oYXNOYW1lc3BhY2UobnMpKSB7XG4gICAgICB0aGlzLmkxOG4ucmVnaXN0ZXJDb250ZW50KG5zLCBQUkVGRVJFTkNFU19WSUVXX0kxOE4pO1xuICAgIH1cblxuICAgIHRoaXMubmF2LnNldEJhY2tIZWFkZXIoJ3BhZ2VUaXRsZScsIG5zLCB7IHdpdGhNZW51OiB0cnVlIH0pO1xuICB9XG5cbiAgYXN5bmMgb25UaGVtZUNoYW5nZSh2YWx1ZTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKHRoaXMuc2F2aW5nKCkgfHwgdmFsdWUgPT09IHRoaXMucHJlZnMudGhlbWUoKSkgcmV0dXJuO1xuICAgIGNvbnN0IHRoZW1lID0gdmFsdWUgYXMgUHJlZmVyZW5jZXNUaGVtZTtcbiAgICBhd2FpdCB0aGlzLmRpc3BhdGNoKFxuICAgICAgKCkgPT4gdGhpcy5wcmVmcy5zZXRUaGVtZSh0aGVtZSksXG4gICAgICAoKSA9PiB0aGlzLnJlc29sdmVkQ29uZmlnKCkub25UaGVtZUNoYW5nZWQ/Lih0aGVtZSlcbiAgICApO1xuICB9XG5cbiAgYXN5bmMgb25Gb250U2l6ZUNoYW5nZSh2YWx1ZTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgZm9udFNpemUgPSB2YWx1ZSBhcyBQcmVmZXJlbmNlc0ZvbnRTaXplO1xuICAgIGlmICh0aGlzLnNhdmluZygpIHx8IHZhbHVlID09PSB0aGlzLnByZWZzLmZvbnRTaXplKCkpIHJldHVybjtcbiAgICBhd2FpdCB0aGlzLmRpc3BhdGNoKFxuICAgICAgKCkgPT4gdGhpcy5wcmVmcy5zZXRGb250U2l6ZShmb250U2l6ZSksXG4gICAgICAoKSA9PiB0aGlzLnJlc29sdmVkQ29uZmlnKCkub25Gb250U2l6ZUNoYW5nZWQ/Lihmb250U2l6ZSlcbiAgICApO1xuICB9XG5cbiAgYXN5bmMgb25MYW5ndWFnZUNoYW5nZSh2YWx1ZTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgbGFuZyA9IHZhbHVlIGFzIFByZWZlcmVuY2VzTGFuZ3VhZ2U7XG4gICAgaWYgKCF0aGlzLnJlc29sdmVkQ29uZmlnKCkuc3VwcG9ydGVkTGFuZ3VhZ2VzLmluY2x1ZGVzKGxhbmcpKSByZXR1cm47XG4gICAgaWYgKHRoaXMuc2F2aW5nKCkgfHwgdmFsdWUgPT09IHRoaXMucHJlZnMubGFuZ3VhZ2UoKSkgcmV0dXJuO1xuICAgIGF3YWl0IHRoaXMuZGlzcGF0Y2goXG4gICAgICAoKSA9PiB0aGlzLnByZWZzLnNldExhbmd1YWdlKGxhbmcpLFxuICAgICAgKCkgPT4gdGhpcy5yZXNvbHZlZENvbmZpZygpLm9uTGFuZ3VhZ2VDaGFuZ2VkPy4obGFuZylcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBkaXNwYXRjaChmbjogKCkgPT4gUHJvbWlzZTx1bmtub3duPiwgb25TdWNjZXNzPzogKCkgPT4gdm9pZCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMuc2F2aW5nLnNldCh0cnVlKTtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgZm4oKTtcbiAgICAgIG9uU3VjY2Vzcz8uKCk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICB0aGlzLmVycm9ycy5oYW5kbGUoZXJyLCB7XG4gICAgICAgIGNvbnRleHQ6ICdzZXR0aW5ncy5wcmVmZXJlbmNlcy5zYXZlJyxcbiAgICAgICAgZmFsbGJhY2tLZXk6ICdzYXZlRXJyb3InLFxuICAgICAgICBpMThuTmFtZXNwYWNlOiB0aGlzLm5zLFxuICAgICAgfSk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuc2F2aW5nLnNldChmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqIExlZSBkZWwgbmFtZXNwYWNlIGNvbmZpZ3VyYWRvLiAqL1xuICBwcm90ZWN0ZWQgdChrZXk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaTE4bi50KGtleSwgdGhpcy5ucyk7XG4gIH1cbn1cbiJdfQ==
|
|
336
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlZmVyZW5jZXMtdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL3ByZWZlcmVuY2VzLXZpZXcvcHJlZmVyZW5jZXMtdmlldy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVqRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDaEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBRTFHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBR3ZHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUNwRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQU12RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUdyRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFFaEUsTUFBTSxpQkFBaUIsR0FBRyxrQkFBa0IsQ0FBQztBQUM3QyxNQUFNLGlCQUFpQixHQUEwQixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FB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Ozs7Ozs7Ozs7R0FzRlQ7d0RBa0NRLE1BQU07c0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBpbmplY3QsIElucHV0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgRGlzcGxheUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL2Rpc3BsYXkvZGlzcGxheS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGV4dENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL3RleHQvdGV4dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGl0bGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy90aXRsZS90aXRsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTGFuZ3VhZ2VTZWxlY3RvckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy9sYW5ndWFnZS1zZWxlY3Rvci9sYW5ndWFnZS1zZWxlY3Rvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTGFuZ3VhZ2VTZWxlY3Rvck1ldGFkYXRhIH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL2xhbmd1YWdlLXNlbGVjdG9yL3R5cGVzJztcbmltcG9ydCB7IFBvcG92ZXJTZWxlY3RvckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy9wb3BvdmVyLXNlbGVjdG9yL3BvcG92ZXItc2VsZWN0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IFBvcG92ZXJTZWxlY3Rvck1ldGFkYXRhIH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL3BvcG92ZXItc2VsZWN0b3IvdHlwZXMnO1xuXG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2kxOG4nO1xuaW1wb3J0IHsgTmF2aWdhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9uYXZpZ2F0aW9uL25hdmlnYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBQcmVmZXJlbmNlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9wcmVmZXJlbmNlcy9wcmVmZXJlbmNlcy5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIFByZWZlcmVuY2VzRm9udFNpemUsXG4gIFByZWZlcmVuY2VzTGFuZ3VhZ2UsXG4gIFByZWZlcmVuY2VzVGhlbWUsXG59IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3ByZWZlcmVuY2VzL3ByZWZlcmVuY2VzLnR5cGVzJztcbmltcG9ydCB7IFZhbHRlY2hFcnJvclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9lcnJvcnMvdmFsdGVjaC1lcnJvci5zZXJ2aWNlJztcblxuaW1wb3J0IHsgUHJlZmVyZW5jZXNWaWV3Q29uZmlnIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBQUkVGRVJFTkNFU19WSUVXX0kxOE4gfSBmcm9tICcuL3ByZWZlcmVuY2VzLXZpZXcuaTE4bic7XG5cbmNvbnN0IERFRkFVTFRfTkFNRVNQQUNFID0gJ1NldHRpbmdzLkdlbmVyYWwnO1xuY29uc3QgREVGQVVMVF9MQU5HVUFHRVM6IFByZWZlcmVuY2VzTGFuZ3VhZ2VbXSA9IFsnZXMnLCAnZW4nXTtcblxuLyoqXG4gKiBgdmFsLXByZWZlcmVuY2VzLXZpZXdgIOKAlCB2aXN0YSBkZSBwcmVmZXJlbmNpYXMgZGUgVUkgY3Jvc3MtYXBwICh0ZW1hICtcbiAqIGlkaW9tYSkgZnVsbC1mZWF0dXJlIGF1dG9jb250ZW5pZGEgKG9yZ2FuaXNtKS4gUHJvbW92aWRhIGRlc2RlIGBzaG93Y2FzZWBcbiAqIGJham8gZWwgcHJvY2VzbyBkZSBBRFItMDIxLlxuICpcbiAqIEJhY2tlbmQgaW50ZWdyYXRpb24gMTAwJSBlbiBgUHJlZmVyZW5jZXNTZXJ2aWNlYDpcbiAqICAtIFJlYWQ6IGxpc3RlbmVyIEZpcmVzdG9yZSByZWFjdGl2byAoYHByZWZzLnRoZW1lKClgIC8gYHByZWZzLmxhbmd1YWdlKClgKS5cbiAqICAtIFdyaXRlOiBgUFVUIC92Mi9hdXRoL3ByZWZlcmVuY2VzYCAoYHByZWZzLnNldFRoZW1lYCAvIGBwcmVmcy5zZXRMYW5ndWFnZWApLlxuICogICAgRWwgY2xpZW50ZSBOVU5DQSBlc2NyaWJlIEZpcmVzdG9yZSBkaXJlY3RvLlxuICpcbiAqIE5PIHJlbmRlcml6YSBpb24tY29udGVudCDigJQgdml2ZSBkZW50cm8gZGUgdmFsLXBhZ2Utd3JhcHBlci5cbiAqXG4gKiBBdXRvLXJlZ2lzdHJhIHN1cyBkZWZhdWx0cyBpMThuIChlcy9lbikgZW4gZWwgY29uc3RydWN0b3Igc2kgZWwgY29uc3VtZXIgbm9cbiAqIHByb3ZlecOzIGVsIG5hbWVzcGFjZSBjb25maWd1cmFkbyAoZGVmYXVsdCBgU2V0dGluZ3MuR2VuZXJhbGApLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtcHJlZmVyZW5jZXMtdmlldycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgUG9wb3ZlclNlbGVjdG9yQ29tcG9uZW50LFxuICAgIExhbmd1YWdlU2VsZWN0b3JDb21wb25lbnQsXG4gICAgRGlzcGxheUNvbXBvbmVudCxcbiAgICBUaXRsZUNvbXBvbmVudCxcbiAgICBUZXh0Q29tcG9uZW50LFxuICBdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJwYWdlXCI+XG4gICAgICA8aGVhZGVyIGNsYXNzPVwicGFnZS1oZWFkZXJcIj5cbiAgICAgICAgPHZhbC1kaXNwbGF5IFtwcm9wc109XCJ7IHNpemU6ICdzbWFsbCcsIGNvbG9yOiAnZGFyaycsIGNvbnRlbnQ6IHBhZ2VUaXRsZSgpIH1cIiAvPlxuICAgICAgICA8dmFsLXRpdGxlXG4gICAgICAgICAgW3Byb3BzXT1cIntcbiAgICAgICAgICAgIHNpemU6ICdsYXJnZScsXG4gICAgICAgICAgICBjb2xvcjogJ2RhcmsnLFxuICAgICAgICAgICAgYm9sZDogZmFsc2UsXG4gICAgICAgICAgICBjb250ZW50OiBwYWdlRGVzY3JpcHRpb24oKSxcbiAgICAgICAgICB9XCJcbiAgICAgICAgLz5cbiAgICAgIDwvaGVhZGVyPlxuXG4gICAgICBAaWYgKHJlc29sdmVkQ29uZmlnKCkuc2hvd1RoZW1lKSB7XG4gICAgICAgIDxzZWN0aW9uIGNsYXNzPVwic2V0dGluZ3Mtc2VjdGlvblwiPlxuICAgICAgICAgIDx2YWwtdGl0bGVcbiAgICAgICAgICAgIFtwcm9wc109XCJ7XG4gICAgICAgICAgICAgIHNpemU6ICdtZWRpdW0nLFxuICAgICAgICAgICAgICBjb2xvcjogJ2RhcmsnLFxuICAgICAgICAgICAgICBib2xkOiB0cnVlLFxuICAgICAgICAgICAgICBjb250ZW50OiB0aGVtZVRpdGxlKCksXG4gICAgICAgICAgICB9XCJcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWN0aW9uLWJvZHlcIj5cbiAgICAgICAgICAgIDx2YWwtdGV4dFxuICAgICAgICAgICAgICBbcHJvcHNdPVwie1xuICAgICAgICAgICAgICAgIHNpemU6ICdtZWRpdW0nLFxuICAgICAgICAgICAgICAgIGNvbG9yOiAnZGFyaycsXG4gICAgICAgICAgICAgICAgYm9sZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgY29udGVudDogdGhlbWVIaW50KCksXG4gICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDx2YWwtcG9wb3Zlci1zZWxlY3RvciBbcHJvcHNdPVwidGhlbWVQaWNrZXJQcm9wcygpXCIgKHNlbGVjdGlvbkNoYW5nZSk9XCJvblRoZW1lQ2hhbmdlKCRldmVudClcIiAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3NlY3Rpb24+XG4gICAgICB9XG5cbiAgICAgIEBpZiAocmVzb2x2ZWRDb25maWcoKS5zaG93TGFuZ3VhZ2UpIHtcbiAgICAgICAgPHNlY3Rpb24gY2xhc3M9XCJzZXR0aW5ncy1zZWN0aW9uXCI+XG4gICAgICAgICAgPHZhbC10aXRsZVxuICAgICAgICAgICAgW3Byb3BzXT1cIntcbiAgICAgICAgICAgICAgc2l6ZTogJ21lZGl1bScsXG4gICAgICAgICAgICAgIGNvbG9yOiAnZGFyaycsXG4gICAgICAgICAgICAgIGJvbGQ6IHRydWUsXG4gICAgICAgICAgICAgIGNvbnRlbnQ6IGxhbmdUaXRsZSgpLFxuICAgICAgICAgICAgfVwiXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VjdGlvbi1ib2R5XCI+XG4gICAgICAgICAgICA8dmFsLXRleHRcbiAgICAgICAgICAgICAgW3Byb3BzXT1cIntcbiAgICAgICAgICAgICAgICBzaXplOiAnbWVkaXVtJyxcbiAgICAgICAgICAgICAgICBjb2xvcjogJ2RhcmsnLFxuICAgICAgICAgICAgICAgIGJvbGQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGxhbmdIaW50KCksXG4gICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDx2YWwtbGFuZ3VhZ2Utc2VsZWN0b3IgW3Byb3BzXT1cImxhbmdQcm9wcygpXCIgKGxhbmd1YWdlQ2hhbmdlKT1cIm9uTGFuZ3VhZ2VDaGFuZ2UoJGV2ZW50KVwiIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvc2VjdGlvbj5cbiAgICAgIH1cblxuICAgICAgQGlmIChyZXNvbHZlZENvbmZpZygpLnNob3dGb250U2l6ZSkge1xuICAgICAgICA8c2VjdGlvbiBjbGFzcz1cInNldHRpbmdzLXNlY3Rpb25cIj5cbiAgICAgICAgICA8dmFsLXRpdGxlXG4gICAgICAgICAgICBbcHJvcHNdPVwie1xuICAgICAgICAgICAgICBzaXplOiAnbWVkaXVtJyxcbiAgICAgICAgICAgICAgY29sb3I6ICdkYXJrJyxcbiAgICAgICAgICAgICAgYm9sZDogdHJ1ZSxcbiAgICAgICAgICAgICAgY29udGVudDogZm9udFNpemVUaXRsZSgpLFxuICAgICAgICAgICAgfVwiXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VjdGlvbi1ib2R5XCI+XG4gICAgICAgICAgICA8dmFsLXRleHRcbiAgICAgICAgICAgICAgW3Byb3BzXT1cIntcbiAgICAgICAgICAgICAgICBzaXplOiAnbWVkaXVtJyxcbiAgICAgICAgICAgICAgICBjb2xvcjogJ2RhcmsnLFxuICAgICAgICAgICAgICAgIGJvbGQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGZvbnRTaXplSGludCgpLFxuICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8dmFsLXBvcG92ZXItc2VsZWN0b3IgW3Byb3BzXT1cImZvbnRTaXplUGlja2VyUHJvcHMoKVwiIChzZWxlY3Rpb25DaGFuZ2UpPVwib25Gb250U2l6ZUNoYW5nZSgkZXZlbnQpXCIgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgfVxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICAucGFnZSB7XG4gICAgICAgIHBhZGRpbmc6IDE2cHggMDtcbiAgICAgICAgbWF4LXdpZHRoOiA3MjBweDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICB9XG4gICAgICAuc2V0dGluZ3Mtc2VjdGlvbiB7XG4gICAgICAgIHBhZGRpbmc6IDE2cHggMDtcbiAgICAgIH1cbiAgICAgIC5zZXR0aW5ncy1zZWN0aW9uICsgLnNldHRpbmdzLXNlY3Rpb24ge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tdmFsLWJvcmRlci1jb2xvciwgcmdiYSgwLCAwLCAwLCAwLjA4KSk7XG4gICAgICB9XG4gICAgICAuc2VjdGlvbi1ib2R5IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiAxMHB4O1xuICAgICAgfVxuICAgIGAsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFByZWZlcmVuY2VzVmlld0NvbXBvbmVudCB7XG4gIHByaXZhdGUgbmF2ID0gaW5qZWN0KE5hdmlnYXRpb25TZXJ2aWNlKTtcbiAgcHJvdGVjdGVkIHByZWZzID0gaW5qZWN0KFByZWZlcmVuY2VzU2VydmljZSk7XG4gIHByaXZhdGUgaTE4biA9IGluamVjdChJMThuU2VydmljZSk7XG4gIHByaXZhdGUgZXJyb3JzID0gaW5qZWN0KFZhbHRlY2hFcnJvclNlcnZpY2UpO1xuICBwcml2YXRlIHJvdXRlID0gaW5qZWN0KEFjdGl2YXRlZFJvdXRlLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG4gIC8qKlxuICAgKiBDb25maWcgdsOtYSBASW5wdXQgKG9iamVjdC1maXJzdCkuIFNpIG5vIHNlIHBhc2EsIHNlIGNhZSBhbCByb3V0ZSBkYXRhXG4gICAqIGBwcmVmZXJlbmNlc0NvbmZpZ2AgKHBvYmxhZG8gcG9yIGBwcm92aWRlVmFsdGVjaFByZWZlcmVuY2VzUm91dGVzYCkuXG4gICAqIGByZXNvbHZlZENvbmZpZ2AgbWVyZ2VhIGNvbiBsb3MgZGVmYXVsdHMuXG4gICAqL1xuICBASW5wdXQoKSBjb25maWc/OiBQcmVmZXJlbmNlc1ZpZXdDb25maWc7XG5cbiAgLyoqIENvbmZpZyBtZXJnZWFkYSBjb24gZGVmYXVsdHMuIEBJbnB1dCBnYW5hIHNvYnJlIHJvdXRlIGRhdGEuICovXG4gIHJlYWRvbmx5IHJlc29sdmVkQ29uZmlnID0gY29tcHV0ZWQ8XG4gICAgUmVxdWlyZWQ8T21pdDxQcmVmZXJlbmNlc1ZpZXdDb25maWcsICdvblRoZW1lQ2hhbmdlZCcgfCAnb25MYW5ndWFnZUNoYW5nZWQnIHwgJ29uRm9udFNpemVDaGFuZ2VkJz4+ICZcbiAgICAgIFBpY2s8UHJlZmVyZW5jZXNWaWV3Q29uZmlnLCAnb25UaGVtZUNoYW5nZWQnIHwgJ29uTGFuZ3VhZ2VDaGFuZ2VkJyB8ICdvbkZvbnRTaXplQ2hhbmdlZCc+XG4gID4oKCkgPT4ge1xuICAgIGNvbnN0IGZyb21Sb3V0ZSA9ICh0aGlzLnJvdXRlPy5zbmFwc2hvdC5kYXRhWydwcmVmZXJlbmNlc0NvbmZpZyddID8/IHt9KSBhcyBQcmVmZXJlbmNlc1ZpZXdDb25maWc7XG4gICAgY29uc3QgbWVyZ2VkOiBQcmVmZXJlbmNlc1ZpZXdDb25maWcgPSB7IC4uLmZyb21Sb3V0ZSwgLi4uKHRoaXMuY29uZmlnID8/IHt9KSB9O1xuICAgIHJldHVybiB7XG4gICAgICBzaG93VGhlbWU6IG1lcmdlZC5zaG93VGhlbWUgPz8gdHJ1ZSxcbiAgICAgIHNob3dMYW5ndWFnZTogbWVyZ2VkLnNob3dMYW5ndWFnZSA/PyB0cnVlLFxuICAgICAgc2hvd0ZvbnRTaXplOiBtZXJnZWQuc2hvd0ZvbnRTaXplID8/IHRydWUsXG4gICAgICBzdXBwb3J0ZWRMYW5ndWFnZXM6IG1lcmdlZC5zdXBwb3J0ZWRMYW5ndWFnZXMgPz8gREVGQVVMVF9MQU5HVUFHRVMsXG4gICAgICBpMThuTmFtZXNwYWNlOiBtZXJnZWQuaTE4bk5hbWVzcGFjZSA/PyBERUZBVUxUX05BTUVTUEFDRSxcbiAgICAgIG9uVGhlbWVDaGFuZ2VkOiBtZXJnZWQub25UaGVtZUNoYW5nZWQsXG4gICAgICBvbkxhbmd1YWdlQ2hhbmdlZDogbWVyZ2VkLm9uTGFuZ3VhZ2VDaGFuZ2VkLFxuICAgICAgb25Gb250U2l6ZUNoYW5nZWQ6IG1lcmdlZC5vbkZvbnRTaXplQ2hhbmdlZCxcbiAgICB9O1xuICB9KTtcblxuICAvKiogTmFtZXNwYWNlIGkxOG4gcmVzdWVsdG8gKGNhcHR1cmFkbyBwYXJhIGxsYW1hZGFzIG5vLXJlYWN0aXZhcykuICovXG4gIHByaXZhdGUgZ2V0IG5zKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucmVzb2x2ZWRDb25maWcoKS5pMThuTmFtZXNwYWNlO1xuICB9XG5cbiAgcmVhZG9ubHkgc2F2aW5nID0gc2lnbmFsKGZhbHNlKTtcblxuICByZWFkb25seSBwYWdlVGl0bGUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnQoJ3BhZ2VUaXRsZScpKTtcbiAgcmVhZG9ubHkgcGFnZURlc2NyaXB0aW9uID0gY29tcHV0ZWQoKCkgPT4gdGhpcy50KCdwYWdlRGVzY3JpcHRpb24nKSk7XG4gIHJlYWRvbmx5IHRoZW1lVGl0bGUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnQoJ3RoZW1lVGl0bGUnKSk7XG4gIHJlYWRvbmx5IHRoZW1lSGludCA9IGNvbXB1dGVkKCgpID0+IHRoaXMudCgndGhlbWVIaW50JykpO1xuICByZWFkb25seSBsYW5nVGl0bGUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnQoJ2xhbmd1YWdlVGl0bGUnKSk7XG4gIHJlYWRvbmx5IGxhbmdIaW50ID0gY29tcHV0ZWQoKCkgPT4gdGhpcy50KCdsYW5ndWFnZUhpbnQnKSk7XG4gIHJlYWRvbmx5IGZvbnRTaXplVGl0bGUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnQoJ2ZvbnRTaXplVGl0bGUnKSk7XG4gIHJlYWRvbmx5IGZvbnRTaXplSGludCA9IGNvbXB1dGVkKCgpID0+IHRoaXMudCgnZm9udFNpemVIaW50JykpO1xuICByZWFkb25seSBsYW5nUHJvcHMgPSBjb21wdXRlZDxQYXJ0aWFsPExhbmd1YWdlU2VsZWN0b3JNZXRhZGF0YT4+KCgpID0+ICh7XG4gICAgY3VycmVudExhbmd1YWdlOiB0aGlzLnByZWZzLmxhbmd1YWdlKCksXG4gICAgYXZhaWxhYmxlTGFuZ3VhZ2VzOiB0aGlzLnJlc29sdmVkQ29uZmlnKCkuc3VwcG9ydGVkTGFuZ3VhZ2VzLFxuICAgIHNob3dMYWJlbDogZmFsc2UsXG4gICAgZGlzYWJsZWQ6IHRoaXMuc2F2aW5nKCksXG4gICAgZXhwYW5kOiAnYmxvY2snLFxuICAgIGZpbGw6ICdvdXRsaW5lJyxcbiAgfSkpO1xuXG4gIHJlYWRvbmx5IHRoZW1lUGlja2VyUHJvcHMgPSBjb21wdXRlZDxQb3BvdmVyU2VsZWN0b3JNZXRhZGF0YT4oKCkgPT4gKHtcbiAgICBzZWxlY3RlZFZhbHVlOiB0aGlzLnByZWZzLnRoZW1lKCksXG4gICAgZGlzYWJsZWQ6IHRoaXMuc2F2aW5nKCksXG4gICAgZmlsbDogJ291dGxpbmUnLFxuICAgIGludGVyZmFjZTogJ3BvcG92ZXInLFxuICAgIG9wdGlvbnM6IFtcbiAgICAgIHsgdmFsdWU6ICdsaWdodCcsIGxhYmVsOiB0aGlzLnQoJ3RoZW1lTGlnaHQnKSB9LFxuICAgICAgeyB2YWx1ZTogJ2RhcmsnLCBsYWJlbDogdGhpcy50KCd0aGVtZURhcmsnKSB9LFxuICAgICAgeyB2YWx1ZTogJ2F1dG8nLCBsYWJlbDogdGhpcy50KCd0aGVtZUF1dG8nKSB9LFxuICAgIF0sXG4gIH0pKTtcblxuICByZWFkb25seSBmb250U2l6ZVBpY2tlclByb3BzID0gY29tcHV0ZWQ8UG9wb3ZlclNlbGVjdG9yTWV0YWRhdGE+KCgpID0+ICh7XG4gICAgc2VsZWN0ZWRWYWx1ZTogdGhpcy5wcmVmcy5mb250U2l6ZSgpLFxuICAgIGRpc2FibGVkOiB0aGlzLnNhdmluZygpLFxuICAgIGZpbGw6ICdvdXRsaW5lJyxcbiAgICBpbnRlcmZhY2U6ICdwb3BvdmVyJyxcbiAgICBvcHRpb25zOiBbXG4gICAgICB7IHZhbHVlOiAnc21hbGwnLCBsYWJlbDogdGhpcy50KCdmb250U2l6ZVNtYWxsJykgfSxcbiAgICAgIHsgdmFsdWU6ICdtZWRpdW0nLCBsYWJlbDogdGhpcy50KCdmb250U2l6ZU1lZGl1bScpIH0sXG4gICAgICB7IHZhbHVlOiAnbGFyZ2UnLCBsYWJlbDogdGhpcy50KCdmb250U2l6ZUxhcmdlJykgfSxcbiAgICBdLFxuICB9KSk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgLy8gQXV0by1yZWdpc3RybyBpMThuIOKAlCByZXNwZXRhIG92ZXJyaWRlIGRlbCBjb25zdW1lci4gRWwgbmFtZXNwYWNlIHB1ZWRlXG4gICAgLy8gdmVuaXIgZGUgQElucHV0LmNvbmZpZyBvIGRlbCByb3V0ZSBkYXRhOyBsbyByZXNvbHZlbW9zIGFjw6EuXG4gICAgY29uc3QgbnMgPSB0aGlzLm5zO1xuICAgIGlmICghdGhpcy5pMThuLmhhc05hbWVzcGFjZShucykpIHtcbiAgICAgIHRoaXMuaTE4bi5yZWdpc3RlckNvbnRlbnQobnMsIFBSRUZFUkVOQ0VTX1ZJRVdfSTE4Tik7XG4gICAgfVxuXG4gICAgdGhpcy5uYXYuc2V0QmFja0hlYWRlcigncGFnZVRpdGxlJywgbnMsIHsgd2l0aE1lbnU6IHRydWUgfSk7XG4gIH1cblxuICBhc3luYyBvblRoZW1lQ2hhbmdlKHZhbHVlOiBzdHJpbmcgfCBzdHJpbmdbXSk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHYgPSBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlWzBdIDogdmFsdWU7XG4gICAgaWYgKHRoaXMuc2F2aW5nKCkgfHwgdiA9PT0gdGhpcy5wcmVmcy50aGVtZSgpKSByZXR1cm47XG4gICAgY29uc3QgdGhlbWUgPSB2IGFzIFByZWZlcmVuY2VzVGhlbWU7XG4gICAgYXdhaXQgdGhpcy5kaXNwYXRjaChcbiAgICAgICgpID0+IHRoaXMucHJlZnMuc2V0VGhlbWUodGhlbWUpLFxuICAgICAgKCkgPT4gdGhpcy5yZXNvbHZlZENvbmZpZygpLm9uVGhlbWVDaGFuZ2VkPy4odGhlbWUpXG4gICAgKTtcbiAgfVxuXG4gIGFzeW5jIG9uRm9udFNpemVDaGFuZ2UodmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgdiA9IEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWVbMF0gOiB2YWx1ZTtcbiAgICBjb25zdCBmb250U2l6ZSA9IHYgYXMgUHJlZmVyZW5jZXNGb250U2l6ZTtcbiAgICBpZiAodGhpcy5zYXZpbmcoKSB8fCB2ID09PSB0aGlzLnByZWZzLmZvbnRTaXplKCkpIHJldHVybjtcbiAgICBhd2FpdCB0aGlzLmRpc3BhdGNoKFxuICAgICAgKCkgPT4gdGhpcy5wcmVmcy5zZXRGb250U2l6ZShmb250U2l6ZSksXG4gICAgICAoKSA9PiB0aGlzLnJlc29sdmVkQ29uZmlnKCkub25Gb250U2l6ZUNoYW5nZWQ/Lihmb250U2l6ZSlcbiAgICApO1xuICB9XG5cbiAgYXN5bmMgb25MYW5ndWFnZUNoYW5nZSh2YWx1ZTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgbGFuZyA9IHZhbHVlIGFzIFByZWZlcmVuY2VzTGFuZ3VhZ2U7XG4gICAgaWYgKCF0aGlzLnJlc29sdmVkQ29uZmlnKCkuc3VwcG9ydGVkTGFuZ3VhZ2VzLmluY2x1ZGVzKGxhbmcpKSByZXR1cm47XG4gICAgaWYgKHRoaXMuc2F2aW5nKCkgfHwgdmFsdWUgPT09IHRoaXMucHJlZnMubGFuZ3VhZ2UoKSkgcmV0dXJuO1xuICAgIGF3YWl0IHRoaXMuZGlzcGF0Y2goXG4gICAgICAoKSA9PiB0aGlzLnByZWZzLnNldExhbmd1YWdlKGxhbmcpLFxuICAgICAgKCkgPT4gdGhpcy5yZXNvbHZlZENvbmZpZygpLm9uTGFuZ3VhZ2VDaGFuZ2VkPy4obGFuZylcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBkaXNwYXRjaChmbjogKCkgPT4gUHJvbWlzZTx1bmtub3duPiwgb25TdWNjZXNzPzogKCkgPT4gdm9pZCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMuc2F2aW5nLnNldCh0cnVlKTtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgZm4oKTtcbiAgICAgIG9uU3VjY2Vzcz8uKCk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICB0aGlzLmVycm9ycy5oYW5kbGUoZXJyLCB7XG4gICAgICAgIGNvbnRleHQ6ICdzZXR0aW5ncy5wcmVmZXJlbmNlcy5zYXZlJyxcbiAgICAgICAgZmFsbGJhY2tLZXk6ICdzYXZlRXJyb3InLFxuICAgICAgICBpMThuTmFtZXNwYWNlOiB0aGlzLm5zLFxuICAgICAgfSk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuc2F2aW5nLnNldChmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqIExlZSBkZWwgbmFtZXNwYWNlIGNvbmZpZ3VyYWRvLiAqL1xuICBwcm90ZWN0ZWQgdChrZXk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaTE4bi50KGtleSwgdGhpcy5ucyk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -78,7 +78,8 @@ export class ContentService {
|
|
|
78
78
|
* @param config - Override parcial de la `ArticleMetadata` resultante.
|
|
79
79
|
*/
|
|
80
80
|
toArticle(doc, config) {
|
|
81
|
-
|
|
81
|
+
const locale = (doc.locale ?? 'es');
|
|
82
|
+
return this.parser.parse(doc.body, config, locale);
|
|
82
83
|
}
|
|
83
84
|
/** Limpia la cache de fuentes estáticas. Llamar al cambiar de locale en runtime. */
|
|
84
85
|
invalidate() {
|
|
@@ -195,4 +196,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
195
196
|
type: Injectable,
|
|
196
197
|
args: [{ providedIn: 'root' }]
|
|
197
198
|
}], ctorParameters: () => [] });
|
|
198
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9jb250ZW50LXBsYXRmb3JtL2NvbnRlbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RSxPQUFPLEVBQWMsVUFBVSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTlGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUNuRyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxVQUFVLENBQUM7O0FBR2xEOzs7Ozs7Ozs7Ozs7Ozs7OztHQWlCRztBQUVILE1BQU0sT0FBTyxjQUFjO0lBWXpCO1FBWGlCLFdBQU0sR0FBRyxNQUFNLENBQUMsc0JBQXNCLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUM1RCxTQUFJLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzFCLFdBQU0sR0FBRyxNQUFNLENBQUMsNEJBQTRCLENBQUMsQ0FBQztRQUM5QyxTQUFJLEdBQUcsTUFBTSxDQUFDLFdBQVcsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRWhFLHVFQUF1RTtRQUM5RCxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTlDLHdFQUF3RTtRQUN2RCxnQkFBVyxHQUFHLElBQUksR0FBRyxFQUFzQyxDQUFDO1FBd0k3RSxvRUFBb0U7UUFDNUQsb0JBQWUsR0FBRyxDQUFDLENBQWtCLEVBQUUsQ0FBa0IsRUFBVSxFQUFFO1lBQzNFLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztZQUNqRSxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7WUFDakUsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLENBQUMsQ0FBQztRQTFJQSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxTQUFTLEVBQUUsRUFBRSxDQUFDO1lBQ2hDLE9BQU8sQ0FBQyxJQUFJLENBQ1YsbUZBQW1GO2dCQUNqRixvREFBb0QsQ0FDdkQsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsSUFBSSxDQUFDLElBQXlCLEVBQUUsVUFBOEIsRUFBRTtRQUM5RCxNQUFNLE1BQU0sR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFdEQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ2hELEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksSUFBSSxDQUFDLENBQUMsTUFBTSxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQzNFLENBQUM7UUFFRixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQ2xELFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQW9CLEVBQUUsQ0FBQyxDQUFDLENBQzVDLENBQUM7UUFFRixPQUFPLFFBQVEsQ0FBQyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUNsRSxHQUFHLENBQUMsQ0FBQyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FDMUUsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxJQUFJLENBQ0YsSUFBeUIsRUFDekIsSUFBWSxFQUNaLFVBQThCLEVBQUU7UUFFaEMsTUFBTSxNQUFNLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRXRELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ3ZDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksSUFBSSxDQUFDLENBQUMsTUFBTSxLQUFLLFdBQVcsQ0FBQyxDQUFDLEVBQzNGLFNBQVMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUNwQixTQUFTO1lBQ1AsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUM7WUFDZixDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FDdkMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUNkLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLEtBQUssQ0FBQyw0QkFBNEIsSUFBSSxJQUFJLE1BQU0sSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQ2xGLENBQ0YsQ0FDTixDQUNGLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsU0FBUyxDQUFDLEdBQW9CLEVBQUUsTUFBaUM7UUFDL0QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxvRkFBb0Y7SUFDcEYsVUFBVTtRQUNSLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNILFVBQVUsQ0FDUixJQUF5QixFQUN6QixVQUE4QixFQUFFO1FBRWhDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU07WUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxlQUFlLEVBQUU7WUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNqRCxNQUFNLE1BQU0sR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDdEQsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBb0IsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzdGLENBQUM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSCxVQUFVLENBQ1IsSUFBeUIsRUFDekIsSUFBWSxFQUNaLFVBQThCLEVBQUU7UUFFaEMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDekIsT0FBTyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxLQUFLLENBQUMscUNBQXFDLENBQUMsQ0FBQyxDQUFDO1FBQzVFLENBQUM7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxlQUFlLEVBQUUsRUFBRSxDQUFDO1lBQ2xDLE9BQU8sVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksS0FBSyxDQUFDLHlEQUF5RCxDQUFDLENBQUMsQ0FBQztRQUNoRyxDQUFDO1FBQ0QsTUFBTSxNQUFNLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3RELE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCw4RUFBOEU7SUFDOUUsV0FBVztJQUNYLDhFQUE4RTtJQUU5RSxrRkFBa0Y7SUFDMUUsS0FBSyxDQUFDLFVBQTZCLEVBQUUsV0FBOEI7UUFDekUsTUFBTSxNQUFNLEdBQUcsSUFBSSxHQUFHLEVBQTJCLENBQUM7UUFDbEQsS0FBSyxNQUFNLEdBQUcsSUFBSSxXQUFXO1lBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ3pELDhEQUE4RDtRQUM5RCxLQUFLLE1BQU0sR0FBRyxJQUFJLFVBQVU7WUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDeEQsT0FBTyxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBU0QsOEVBQThFO0lBQ3RFLFVBQVUsQ0FBQyxNQUFjO1FBQy9CLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsYUFBYSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFekMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDNUMsSUFBSSxNQUFNO1lBQUUsT0FBTyxNQUFNLENBQUM7UUFFMUIsTUFBTSxPQUFPLEdBQUcsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQXVCLENBQUMsQ0FBQztRQUMvRCxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDdEMsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELGlFQUFpRTtJQUN6RCxXQUFXLENBQUMsSUFBeUIsRUFBRSxNQUFjO1FBQzNELElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU07WUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN4QyxNQUFNLE1BQU0sR0FBRyxJQUFJLGVBQWUsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQ3JELElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLO1lBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5RCxPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ2IsR0FBRyxDQUFzQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxlQUFlLE1BQU0sRUFBRSxDQUFDO2FBQ3RFLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELDRFQUE0RTtJQUNwRSxXQUFXLENBQ2pCLElBQXlCLEVBQ3pCLElBQVksRUFDWixNQUFjO1FBRWQsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDekIsT0FBTyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxLQUFLLENBQUMscUNBQXFDLENBQUMsQ0FBQyxDQUFDO1FBQzVFLENBQUM7UUFDRCxNQUFNLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxlQUFlLElBQUksSUFBSSxNQUFNLElBQUksa0JBQWtCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUM5RixPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ2IsR0FBRyxDQUF3QixJQUFJLENBQUM7YUFDaEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxJQUFJLElBQUssR0FBa0MsQ0FBQyxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVEOzs7T0FHRztJQUNLLGNBQWMsQ0FBQyxJQUF5QixFQUFFLE1BQWM7UUFDOUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxlQUFlLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUNyRCxPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ2IsR0FBRyxDQUFzQixHQUFHLElBQUksQ0FBQyxNQUFPLENBQUMsTUFBTSxtQkFBbUIsTUFBTSxFQUFFLENBQUM7YUFDM0UsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssY0FBYyxDQUNwQixJQUF5QixFQUN6QixJQUFZLEVBQ1osTUFBYztRQUVkLE1BQU0sSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU8sQ0FBQyxNQUFNLG1CQUFtQixJQUFJLElBQUksTUFBTSxJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDbkcsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNiLEdBQUcsQ0FBd0IsSUFBSSxDQUFDO2FBQ2hDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsSUFBSSxJQUFLLEdBQWtDLENBQUMsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7K0dBdk5VLGNBQWM7bUhBQWQsY0FBYyxjQURELE1BQU07OzRGQUNuQixjQUFjO2tCQUQxQixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QsIGlzRGV2TW9kZSwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBjYXRjaEVycm9yLCBmb3JrSm9pbiwgZnJvbSwgbWFwLCBvZiwgc3dpdGNoTWFwLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBcnRpY2xlTWV0YWRhdGEgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL29yZ2FuaXNtcy9hcnRpY2xlL3R5cGVzJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vYXV0aC9hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFya2Rvd25BcnRpY2xlUGFyc2VyU2VydmljZSB9IGZyb20gJy4uL21hcmtkb3duLWFydGljbGUvbWFya2Rvd24tYXJ0aWNsZS1wYXJzZXIuc2VydmljZSc7XG5pbXBvcnQgeyBWQUxURUNIX0NPTlRFTlRfQ09ORklHIH0gZnJvbSAnLi9jb25maWcnO1xuaW1wb3J0IHsgQ29udGVudERvY3VtZW50LCBDb250ZW50RG9jdW1lbnRUeXBlLCBDb250ZW50TG9hZE9wdGlvbnMgfSBmcm9tICcuL3R5cGVzJztcblxuLyoqXG4gKiBTZXJ2aWNpbyBkZSBsYSBwbGF0YWZvcm1hIGRlIGNvbnRlbmlkbyAoQURSLTAyMCDCpzIuNSkuXG4gKlxuICogVW5lIGRvcyBvcsOtZ2VuZXMgKCoqaMOtYnJpZG8qKik6XG4gKiAgLSAqKkVzdMOhdGljbyoqIOKAlCBgc3RhdGljU291cmNlc2AgbGF6eSBwb3IgbG9jYWxlLCBnZW5lcmFkYXMgYnVpbGQtdGltZS5cbiAqICAtICoqQmFja2VuZCoqIOKAlCBEeW5hbW9EQiArIEFQSSAoYC92Mi9jb250ZW50KmApLCBwdWJsaWNhY2nDs24gc2luIHJlZGVwbG95LlxuICpcbiAqIFJlZ2xhcyBkZSBtZXJnZTpcbiAqICAtIGBsaXN0KClgIHVuZSBhbWJvcyBvcsOtZ2VuZXMgcG9yIGB0eXBlYC4gQ29saXNpw7NuIGRlIGBzbHVnYCDihpIgKiplc3TDoXRpY29cbiAqICAgIGdhbmEqKiAoY29udGVuaWRvIGN1cmFkbykuIE9yZGVuYSBwb3IgYHB1Ymxpc2hlZEF0YCBkZXNjIChzaW4gZmVjaGEgYWwgZmluYWwpLlxuICogIC0gYGxvYWQoKWAgcmVzdWVsdmUgZXN0w6F0aWNvIHByaW1lcm8sIGNvbiAqKmZhbGxiYWNrKiogYWwgYmFja2VuZC5cbiAqXG4gKiBSZW5kZXI6IGB0b0FydGljbGUoZG9jKWAgY29udmllcnRlIGBkb2MuYm9keWAgKE1hcmtkb3duKSBhIGBBcnRpY2xlTWV0YWRhdGFgXG4gKiB2w61hIGVsIGBtYXJrZG93bi1hcnRpY2xlLXBhcnNlcmAgZXhpc3RlbnRlIOKAlCBsYSBwYWdlIGhhY2UgYDx2YWwtYXJ0aWNsZSBbcHJvcHNdPVwiLi4uXCI+YC5cbiAqXG4gKiBSZXF1aWVyZSBgcHJvdmlkZVZhbHRlY2hDb250ZW50KHsgYXBpVXJsLCBhcHBJZCwgc3RhdGljU291cmNlcz8gfSlgIGVuIGBtYWluLnRzYC5cbiAqIFNpbiBwcm92aWRlciwgZWwgc2VydmljaW8gcXVlZGEgaW5lcnRlIChgaXNDb25maWd1cmVkKCkgPT09IGZhbHNlYCkuXG4gKi9cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgQ29udGVudFNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZyA9IGluamVjdChWQUxURUNIX0NPTlRFTlRfQ09ORklHLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuICBwcml2YXRlIHJlYWRvbmx5IGh0dHAgPSBpbmplY3QoSHR0cENsaWVudCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgcGFyc2VyID0gaW5qZWN0KE1hcmtkb3duQXJ0aWNsZVBhcnNlclNlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IGF1dGggPSBpbmplY3QoQXV0aFNlcnZpY2UsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgLyoqIGB0cnVlYCBzaSBgcHJvdmlkZVZhbHRlY2hDb250ZW50KClgIGZ1ZSBsbGFtYWRvIGVuIGVsIGJvb3RzdHJhcC4gKi9cbiAgcmVhZG9ubHkgaXNDb25maWd1cmVkID0gc2lnbmFsKCEhdGhpcy5jb25maWcpO1xuXG4gIC8qKiBDYWNoZSBkZSBsYXMgcHJvbWVzYXMgZGUgY2FkYSBmYWN0b3J5IGVzdMOhdGljYSwga2V5ZWQgcG9yIGxvY2FsZS4gKi9cbiAgcHJpdmF0ZSByZWFkb25seSBzdGF0aWNDYWNoZSA9IG5ldyBNYXA8c3RyaW5nLCBQcm9taXNlPENvbnRlbnREb2N1bWVudFtdPj4oKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBpZiAoIXRoaXMuY29uZmlnICYmIGlzRGV2TW9kZSgpKSB7XG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICdbdmFsdGVjaC1jb21wb25lbnRzXSBDb250ZW50U2VydmljZTogcHJvdmlkZVZhbHRlY2hDb250ZW50KCkgbm8gZXN0w6EgZW4gbWFpbi50cy4gJyArXG4gICAgICAgICAgJ0VsIGxpc3RhZG8geSBsYSBjYXJnYSBkZSBjb250ZW5pZG8gbm8gZnVuY2lvbmFyw6FuLidcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIExpc3RhIGxvcyBkb2N1bWVudG9zIHB1YmxpY2Fkb3MgZGUgdW4gYHR5cGVgLCB1bmllbmRvIGVzdMOhdGljbyArIGJhY2tlbmQuXG4gICAqIENvbGlzacOzbiBkZSBgc2x1Z2Ag4oaSIGVzdMOhdGljbyBnYW5hLiBPcmRlbmFkb3MgcG9yIGBwdWJsaXNoZWRBdGAgZGVzYy5cbiAgICpcbiAgICogQHBhcmFtIHR5cGUgLSBUaXBvIGRlIGNvbnRlbmlkbyAoYCdibG9nJ2AsIGAnbmV3cydgLCDigKYpLlxuICAgKiBAcGFyYW0gb3B0aW9ucyAtIGB7IGxvY2FsZSB9YCAoZGVmYXVsdCBgJ2VzJ2ApLlxuICAgKi9cbiAgbGlzdCh0eXBlOiBDb250ZW50RG9jdW1lbnRUeXBlLCBvcHRpb25zOiBDb250ZW50TG9hZE9wdGlvbnMgPSB7fSk6IE9ic2VydmFibGU8Q29udGVudERvY3VtZW50W10+IHtcbiAgICBjb25zdCBsb2NhbGUgPSAob3B0aW9ucy5sb2NhbGUgPz8gJ2VzJykudG9Mb3dlckNhc2UoKTtcblxuICAgIGNvbnN0IHN0YXRpYyQgPSBmcm9tKHRoaXMubG9hZFN0YXRpYyhsb2NhbGUpKS5waXBlKFxuICAgICAgbWFwKGRvY3MgPT4gZG9jcy5maWx0ZXIoZCA9PiBkLnR5cGUgPT09IHR5cGUgJiYgZC5zdGF0dXMgPT09ICdwdWJsaXNoZWQnKSlcbiAgICApO1xuXG4gICAgY29uc3QgYmFja2VuZCQgPSB0aGlzLmxpc3RCYWNrZW5kKHR5cGUsIGxvY2FsZSkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IoKCkgPT4gb2Y8Q29udGVudERvY3VtZW50W10+KFtdKSlcbiAgICApO1xuXG4gICAgcmV0dXJuIGZvcmtKb2luKHsgc3RhdGljRG9jczogc3RhdGljJCwgYmFja2VuZERvY3M6IGJhY2tlbmQkIH0pLnBpcGUoXG4gICAgICBtYXAoKHsgc3RhdGljRG9jcywgYmFja2VuZERvY3MgfSkgPT4gdGhpcy5tZXJnZShzdGF0aWNEb2NzLCBiYWNrZW5kRG9jcykpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYXJnYSB1biBkb2N1bWVudG8gcG9yIGBzbHVnYDogZXN0w6F0aWNvIHByaW1lcm8sIGZhbGxiYWNrIGFsIGJhY2tlbmQuXG4gICAqXG4gICAqIEBwYXJhbSB0eXBlIC0gVGlwbyBkZSBjb250ZW5pZG8uXG4gICAqIEBwYXJhbSBzbHVnIC0gU2x1ZyBkZWwgZG9jdW1lbnRvLlxuICAgKiBAcGFyYW0gb3B0aW9ucyAtIGB7IGxvY2FsZSB9YCAoZGVmYXVsdCBgJ2VzJ2ApLlxuICAgKi9cbiAgbG9hZChcbiAgICB0eXBlOiBDb250ZW50RG9jdW1lbnRUeXBlLFxuICAgIHNsdWc6IHN0cmluZyxcbiAgICBvcHRpb25zOiBDb250ZW50TG9hZE9wdGlvbnMgPSB7fVxuICApOiBPYnNlcnZhYmxlPENvbnRlbnREb2N1bWVudD4ge1xuICAgIGNvbnN0IGxvY2FsZSA9IChvcHRpb25zLmxvY2FsZSA/PyAnZXMnKS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgcmV0dXJuIGZyb20odGhpcy5sb2FkU3RhdGljKGxvY2FsZSkpLnBpcGUoXG4gICAgICBtYXAoZG9jcyA9PiBkb2NzLmZpbmQoZCA9PiBkLnR5cGUgPT09IHR5cGUgJiYgZC5zbHVnID09PSBzbHVnICYmIGQuc3RhdHVzID09PSAncHVibGlzaGVkJykpLFxuICAgICAgc3dpdGNoTWFwKHN0YXRpY0RvYyA9PlxuICAgICAgICBzdGF0aWNEb2NcbiAgICAgICAgICA/IG9mKHN0YXRpY0RvYylcbiAgICAgICAgICA6IHRoaXMubG9hZEJhY2tlbmQodHlwZSwgc2x1ZywgbG9jYWxlKS5waXBlKFxuICAgICAgICAgICAgICBjYXRjaEVycm9yKCgpID0+XG4gICAgICAgICAgICAgICAgdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoYENvbnRlbmlkbyBubyBlbmNvbnRyYWRvOiAke3R5cGV9LyR7bG9jYWxlfS8ke3NsdWd9YCkpXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIClcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZpZXJ0ZSBlbCBgYm9keWAgKE1hcmtkb3duKSBkZSB1biBkb2N1bWVudG8gZW4gYEFydGljbGVNZXRhZGF0YWAgcGFyYVxuICAgKiByZW5kZXJpemFyIGNvbiBgPHZhbC1hcnRpY2xlIFtwcm9wc109XCIuLi5cIj5gLiBVc2EgZWwgcGFyc2VyIGV4aXN0ZW50ZS5cbiAgICpcbiAgICogQHBhcmFtIGRvYyAtIERvY3VtZW50byBkZSBjb250ZW5pZG8gYSByZW5kZXJpemFyLlxuICAgKiBAcGFyYW0gY29uZmlnIC0gT3ZlcnJpZGUgcGFyY2lhbCBkZSBsYSBgQXJ0aWNsZU1ldGFkYXRhYCByZXN1bHRhbnRlLlxuICAgKi9cbiAgdG9BcnRpY2xlKGRvYzogQ29udGVudERvY3VtZW50LCBjb25maWc/OiBQYXJ0aWFsPEFydGljbGVNZXRhZGF0YT4pOiBBcnRpY2xlTWV0YWRhdGEge1xuICAgIHJldHVybiB0aGlzLnBhcnNlci5wYXJzZShkb2MuYm9keSwgY29uZmlnKTtcbiAgfVxuXG4gIC8qKiBMaW1waWEgbGEgY2FjaGUgZGUgZnVlbnRlcyBlc3TDoXRpY2FzLiBMbGFtYXIgYWwgY2FtYmlhciBkZSBsb2NhbGUgZW4gcnVudGltZS4gKi9cbiAgaW52YWxpZGF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRpY0NhY2hlLmNsZWFyKCk7XG4gIH1cblxuICAvKipcbiAgICogTGlzdGEgbG9zIGRvY3VtZW50b3MgcHVibGljYWRvcyBkZSBsYSBvcmcgYWN0aXZhIGRlbCB1c3VhcmlvIGF1dGVudGljYWRvLlxuICAgKlxuICAgKiBSZXF1aWVyZSBzZXNpw7NuIGFjdGl2YSAoYEF1dGhTZXJ2aWNlLmlzQXV0aGVudGljYXRlZCgpYCkuIEVsIGludGVyY2VwdG9yIGRlXG4gICAqIGF1dGggYWdyZWdhIGF1dG9tw6F0aWNhbWVudGUgYEF1dGhvcml6YXRpb246IEJlYXJlciB7dG9rZW59YCBhIGxhIHJlcXVlc3QuXG4gICAqXG4gICAqIEBwYXJhbSB0eXBlICAtIFRpcG8gZGUgY29udGVuaWRvIChgJ2Jsb2cnYCwgYCduZXdzJ2AsIOKApikuXG4gICAqIEBwYXJhbSBvcHRpb25zIC0gYHsgbG9jYWxlIH1gIChkZWZhdWx0IGAnZXMnYCkuXG4gICAqIEByZXR1cm5zIERvY3VtZW50b3MgZGUgbGEgb3JnIG8gYFtdYCBzaSBubyBoYXkgY29uZmlnL3Nlc2nDs24uXG4gICAqL1xuICBsaXN0Rm9yT3JnKFxuICAgIHR5cGU6IENvbnRlbnREb2N1bWVudFR5cGUsXG4gICAgb3B0aW9uczogQ29udGVudExvYWRPcHRpb25zID0ge31cbiAgKTogT2JzZXJ2YWJsZTxDb250ZW50RG9jdW1lbnRbXT4ge1xuICAgIGlmICghdGhpcy5jb25maWc/LmFwaVVybCkgcmV0dXJuIG9mKFtdKTtcbiAgICBpZiAoIXRoaXMuYXV0aD8uaXNBdXRoZW50aWNhdGVkKCkpIHJldHVybiBvZihbXSk7XG4gICAgY29uc3QgbG9jYWxlID0gKG9wdGlvbnMubG9jYWxlID8/ICdlcycpLnRvTG93ZXJDYXNlKCk7XG4gICAgcmV0dXJuIHRoaXMubGlzdEJhY2tlbmRPcmcodHlwZSwgbG9jYWxlKS5waXBlKGNhdGNoRXJyb3IoKCkgPT4gb2Y8Q29udGVudERvY3VtZW50W10+KFtdKSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENhcmdhIHVuIGRvY3VtZW50byBkZSBsYSBvcmcgYWN0aXZhIGRlbCB1c3VhcmlvIGF1dGVudGljYWRvIHBvciBgc2x1Z2AuXG4gICAqXG4gICAqIFJlcXVpZXJlIHNlc2nDs24gYWN0aXZhLiBFbCBpbnRlcmNlcHRvciBkZSBhdXRoIGFncmVnYSBlbCBCZWFyZXIgdG9rZW4uXG4gICAqXG4gICAqIEBwYXJhbSB0eXBlICAtIFRpcG8gZGUgY29udGVuaWRvLlxuICAgKiBAcGFyYW0gc2x1ZyAgLSBTbHVnIGRlbCBkb2N1bWVudG8uXG4gICAqIEBwYXJhbSBvcHRpb25zIC0gYHsgbG9jYWxlIH1gIChkZWZhdWx0IGAnZXMnYCkuXG4gICAqIEByZXR1cm5zIEVsIGRvY3VtZW50byBvIGVycm9yIHNpIG5vIHNlIGVuY3VlbnRyYSAvIG5vIGhheSBzZXNpw7NuLlxuICAgKi9cbiAgbG9hZEZvck9yZyhcbiAgICB0eXBlOiBDb250ZW50RG9jdW1lbnRUeXBlLFxuICAgIHNsdWc6IHN0cmluZyxcbiAgICBvcHRpb25zOiBDb250ZW50TG9hZE9wdGlvbnMgPSB7fVxuICApOiBPYnNlcnZhYmxlPENvbnRlbnREb2N1bWVudD4ge1xuICAgIGlmICghdGhpcy5jb25maWc/LmFwaVVybCkge1xuICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKCdDb250ZW50U2VydmljZSBubyBlc3TDoSBjb25maWd1cmFkby4nKSk7XG4gICAgfVxuICAgIGlmICghdGhpcy5hdXRoPy5pc0F1dGhlbnRpY2F0ZWQoKSkge1xuICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKCdTZSByZXF1aWVyZSBzZXNpw7NuIGFjdGl2YSBwYXJhIGNhcmdhciBjb250ZW5pZG8gZGUgb3JnLicpKTtcbiAgICB9XG4gICAgY29uc3QgbG9jYWxlID0gKG9wdGlvbnMubG9jYWxlID8/ICdlcycpLnRvTG93ZXJDYXNlKCk7XG4gICAgcmV0dXJuIHRoaXMubG9hZEJhY2tlbmRPcmcodHlwZSwgc2x1ZywgbG9jYWxlKTtcbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBJbnRlcm5vc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvKiogVW5lIGVzdMOhdGljbyArIGJhY2tlbmQ6IGVzdMOhdGljbyBnYW5hIHBvciBzbHVnOyBvcmRlbiBwb3IgcHVibGlzaGVkQXQgZGVzYy4gKi9cbiAgcHJpdmF0ZSBtZXJnZShzdGF0aWNEb2NzOiBDb250ZW50RG9jdW1lbnRbXSwgYmFja2VuZERvY3M6IENvbnRlbnREb2N1bWVudFtdKTogQ29udGVudERvY3VtZW50W10ge1xuICAgIGNvbnN0IGJ5U2x1ZyA9IG5ldyBNYXA8c3RyaW5nLCBDb250ZW50RG9jdW1lbnQ+KCk7XG4gICAgZm9yIChjb25zdCBkb2Mgb2YgYmFja2VuZERvY3MpIGJ5U2x1Zy5zZXQoZG9jLnNsdWcsIGRvYyk7XG4gICAgLy8gRXN0w6F0aWNvIGdhbmEg4oCUIHNvYnJlc2NyaWJlIGN1YWxxdWllciBjb2xpc2nDs24gZGVsIGJhY2tlbmQuXG4gICAgZm9yIChjb25zdCBkb2Mgb2Ygc3RhdGljRG9jcykgYnlTbHVnLnNldChkb2Muc2x1ZywgZG9jKTtcbiAgICByZXR1cm4gWy4uLmJ5U2x1Zy52YWx1ZXMoKV0uc29ydCh0aGlzLmJ5UHVibGlzaGVkRGVzYyk7XG4gIH1cblxuICAvKiogQ29tcGFyYWRvcjogbcOhcyByZWNpZW50ZSBwcmltZXJvOyBzaW4gYHB1Ymxpc2hlZEF0YCBhbCBmaW5hbC4gKi9cbiAgcHJpdmF0ZSBieVB1Ymxpc2hlZERlc2MgPSAoYTogQ29udGVudERvY3VtZW50LCBiOiBDb250ZW50RG9jdW1lbnQpOiBudW1iZXIgPT4ge1xuICAgIGNvbnN0IHRhID0gYS5wdWJsaXNoZWRBdCA/IERhdGUucGFyc2UoYS5wdWJsaXNoZWRBdCkgOiAtSW5maW5pdHk7XG4gICAgY29uc3QgdGIgPSBiLnB1Ymxpc2hlZEF0ID8gRGF0ZS5wYXJzZShiLnB1Ymxpc2hlZEF0KSA6IC1JbmZpbml0eTtcbiAgICByZXR1cm4gdGIgLSB0YTtcbiAgfTtcblxuICAvKiogQ2FyZ2EgKHkgY2FjaGVhKSBsb3MgZG9jdW1lbnRvcyBlc3TDoXRpY29zIGRlIHVuIGxvY2FsZSwgc2kgaGF5IGZhY3RvcnkuICovXG4gIHByaXZhdGUgbG9hZFN0YXRpYyhsb2NhbGU6IHN0cmluZyk6IFByb21pc2U8Q29udGVudERvY3VtZW50W10+IHtcbiAgICBjb25zdCBmYWN0b3J5ID0gdGhpcy5jb25maWc/LnN0YXRpY1NvdXJjZXM/Lltsb2NhbGVdO1xuICAgIGlmICghZmFjdG9yeSkgcmV0dXJuIFByb21pc2UucmVzb2x2ZShbXSk7XG5cbiAgICBjb25zdCBjYWNoZWQgPSB0aGlzLnN0YXRpY0NhY2hlLmdldChsb2NhbGUpO1xuICAgIGlmIChjYWNoZWQpIHJldHVybiBjYWNoZWQ7XG5cbiAgICBjb25zdCBwcm9taXNlID0gZmFjdG9yeSgpLmNhdGNoKCgpID0+IFtdIGFzIENvbnRlbnREb2N1bWVudFtdKTtcbiAgICB0aGlzLnN0YXRpY0NhY2hlLnNldChsb2NhbGUsIHByb21pc2UpO1xuICAgIHJldHVybiBwcm9taXNlO1xuICB9XG5cbiAgLyoqIEdFVCBge2FwaVVybH0vdjIvY29udGVudD90eXBlPSZsb2NhbGU9YCDigJQgc29sbyBwdWJsaWNhZG9zLiAqL1xuICBwcml2YXRlIGxpc3RCYWNrZW5kKHR5cGU6IENvbnRlbnREb2N1bWVudFR5cGUsIGxvY2FsZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxDb250ZW50RG9jdW1lbnRbXT4ge1xuICAgIGlmICghdGhpcy5jb25maWc/LmFwaVVybCkgcmV0dXJuIG9mKFtdKTtcbiAgICBjb25zdCBwYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHsgdHlwZSwgbG9jYWxlIH0pO1xuICAgIGlmICh0aGlzLmNvbmZpZy5hcHBJZCkgcGFyYW1zLnNldCgnYXBwSWQnLCB0aGlzLmNvbmZpZy5hcHBJZCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldDxDb250ZW50TGlzdFJlc3BvbnNlPihgJHt0aGlzLmNvbmZpZy5hcGlVcmx9L3YyL2NvbnRlbnQ/JHtwYXJhbXN9YClcbiAgICAgIC5waXBlKG1hcChyZXMgPT4gcmVzPy5pdGVtcyA/PyBbXSkpO1xuICB9XG5cbiAgLyoqIEdFVCBge2FwaVVybH0vdjIvY29udGVudC97dHlwZX0ve2xvY2FsZX0ve3NsdWd9YCDigJQgZGV0YWxsZSBwdWJsaWNhZG8uICovXG4gIHByaXZhdGUgbG9hZEJhY2tlbmQoXG4gICAgdHlwZTogQ29udGVudERvY3VtZW50VHlwZSxcbiAgICBzbHVnOiBzdHJpbmcsXG4gICAgbG9jYWxlOiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTxDb250ZW50RG9jdW1lbnQ+IHtcbiAgICBpZiAoIXRoaXMuY29uZmlnPy5hcGlVcmwpIHtcbiAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcignQ29udGVudFNlcnZpY2Ugbm8gZXN0w6EgY29uZmlndXJhZG8uJykpO1xuICAgIH1cbiAgICBjb25zdCBwYXRoID0gYCR7dGhpcy5jb25maWcuYXBpVXJsfS92Mi9jb250ZW50LyR7dHlwZX0vJHtsb2NhbGV9LyR7ZW5jb2RlVVJJQ29tcG9uZW50KHNsdWcpfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldDxDb250ZW50RGV0YWlsUmVzcG9uc2U+KHBhdGgpXG4gICAgICAucGlwZShtYXAocmVzID0+IHJlcz8uaXRlbSA/PyAocmVzIGFzIHVua25vd24gYXMgQ29udGVudERvY3VtZW50KSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdFVCBge2FwaVVybH0vdjIvY29udGVudC9vcmc/dHlwZT0mbG9jYWxlPWAg4oCUIHB1YmxpY2Fkb3MgZGUgbGEgb3JnIGFjdGl2YS5cbiAgICogRWwgQmVhcmVyIHRva2VuIGxvIGHDsWFkZSBlbCBpbnRlcmNlcHRvciBkZSBhdXRoIGF1dG9tw6F0aWNhbWVudGUuXG4gICAqL1xuICBwcml2YXRlIGxpc3RCYWNrZW5kT3JnKHR5cGU6IENvbnRlbnREb2N1bWVudFR5cGUsIGxvY2FsZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxDb250ZW50RG9jdW1lbnRbXT4ge1xuICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoeyB0eXBlLCBsb2NhbGUgfSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldDxDb250ZW50TGlzdFJlc3BvbnNlPihgJHt0aGlzLmNvbmZpZyEuYXBpVXJsfS92Mi9jb250ZW50L29yZz8ke3BhcmFtc31gKVxuICAgICAgLnBpcGUobWFwKHJlcyA9PiByZXM/Lml0ZW1zID8/IFtdKSk7XG4gIH1cblxuICAvKipcbiAgICogR0VUIGB7YXBpVXJsfS92Mi9jb250ZW50L29yZy97dHlwZX0ve2xvY2FsZX0ve3NsdWd9YCDigJQgZGV0YWxsZSBkZSBsYSBvcmcgYWN0aXZhLlxuICAgKiBFbCBCZWFyZXIgdG9rZW4gbG8gYcOxYWRlIGVsIGludGVyY2VwdG9yIGRlIGF1dGggYXV0b23DoXRpY2FtZW50ZS5cbiAgICovXG4gIHByaXZhdGUgbG9hZEJhY2tlbmRPcmcoXG4gICAgdHlwZTogQ29udGVudERvY3VtZW50VHlwZSxcbiAgICBzbHVnOiBzdHJpbmcsXG4gICAgbG9jYWxlOiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTxDb250ZW50RG9jdW1lbnQ+IHtcbiAgICBjb25zdCBwYXRoID0gYCR7dGhpcy5jb25maWchLmFwaVVybH0vdjIvY29udGVudC9vcmcvJHt0eXBlfS8ke2xvY2FsZX0vJHtlbmNvZGVVUklDb21wb25lbnQoc2x1Zyl9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAuZ2V0PENvbnRlbnREZXRhaWxSZXNwb25zZT4ocGF0aClcbiAgICAgIC5waXBlKG1hcChyZXMgPT4gcmVzPy5pdGVtID8/IChyZXMgYXMgdW5rbm93biBhcyBDb250ZW50RG9jdW1lbnQpKSk7XG4gIH1cbn1cblxuLyoqIFNoYXBlIGRlIGxhIHJlc3B1ZXN0YSBkZSBsaXN0YWRvIGRlbCBiYWNrZW5kIChgL3YyL2NvbnRlbnRgKS4gKi9cbmludGVyZmFjZSBDb250ZW50TGlzdFJlc3BvbnNlIHtcbiAgaXRlbXM/OiBDb250ZW50RG9jdW1lbnRbXTtcbiAgb3BlcmF0aW9uSWQ/OiBzdHJpbmc7XG59XG5cbi8qKiBTaGFwZSBkZSBsYSByZXNwdWVzdGEgZGUgZGV0YWxsZSBkZWwgYmFja2VuZCAoYC92Mi9jb250ZW50L3t0eXBlfS97bG9jYWxlfS97c2x1Z31gKS4gKi9cbmludGVyZmFjZSBDb250ZW50RGV0YWlsUmVzcG9uc2Uge1xuICBpdGVtPzogQ29udGVudERvY3VtZW50O1xuICBvcGVyYXRpb25JZD86IHN0cmluZztcbn1cbiJdfQ==
|
|
199
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9jb250ZW50LXBsYXRmb3JtL2NvbnRlbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RSxPQUFPLEVBQWMsVUFBVSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTlGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUNuRyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxVQUFVLENBQUM7O0FBR2xEOzs7Ozs7Ozs7Ozs7Ozs7OztHQWlCRztBQUVILE1BQU0sT0FBTyxjQUFjO0lBWXpCO1FBWGlCLFdBQU0sR0FBRyxNQUFNLENBQUMsc0JBQXNCLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUM1RCxTQUFJLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzFCLFdBQU0sR0FBRyxNQUFNLENBQUMsNEJBQTRCLENBQUMsQ0FBQztRQUM5QyxTQUFJLEdBQUcsTUFBTSxDQUFDLFdBQVcsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRWhFLHVFQUF1RTtRQUM5RCxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTlDLHdFQUF3RTtRQUN2RCxnQkFBVyxHQUFHLElB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Q2hDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsSUFBSSxJQUFLLEdBQWtDLENBQUMsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7K0dBeE5VLGNBQWM7bUhBQWQsY0FBYyxjQURELE1BQU07OzRGQUNuQixjQUFjO2tCQUQxQixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QsIGlzRGV2TW9kZSwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBjYXRjaEVycm9yLCBmb3JrSm9pbiwgZnJvbSwgbWFwLCBvZiwgc3dpdGNoTWFwLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBcnRpY2xlTWV0YWRhdGEgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL29yZ2FuaXNtcy9hcnRpY2xlL3R5cGVzJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vYXV0aC9hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFya2Rvd25BcnRpY2xlUGFyc2VyU2VydmljZSB9IGZyb20gJy4uL21hcmtkb3duLWFydGljbGUvbWFya2Rvd24tYXJ0aWNsZS1wYXJzZXIuc2VydmljZSc7XG5pbXBvcnQgeyBWQUxURUNIX0NPTlRFTlRfQ09ORklHIH0gZnJvbSAnLi9jb25maWcnO1xuaW1wb3J0IHsgQ29udGVudERvY3VtZW50LCBDb250ZW50RG9jdW1lbnRUeXBlLCBDb250ZW50TG9hZE9wdGlvbnMgfSBmcm9tICcuL3R5cGVzJztcblxuLyoqXG4gKiBTZXJ2aWNpbyBkZSBsYSBwbGF0YWZvcm1hIGRlIGNvbnRlbmlkbyAoQURSLTAyMCDCpzIuNSkuXG4gKlxuICogVW5lIGRvcyBvcsOtZ2VuZXMgKCoqaMOtYnJpZG8qKik6XG4gKiAgLSAqKkVzdMOhdGljbyoqIOKAlCBgc3RhdGljU291cmNlc2AgbGF6eSBwb3IgbG9jYWxlLCBnZW5lcmFkYXMgYnVpbGQtdGltZS5cbiAqICAtICoqQmFja2VuZCoqIOKAlCBEeW5hbW9EQiArIEFQSSAoYC92Mi9jb250ZW50KmApLCBwdWJsaWNhY2nDs24gc2luIHJlZGVwbG95LlxuICpcbiAqIFJlZ2xhcyBkZSBtZXJnZTpcbiAqICAtIGBsaXN0KClgIHVuZSBhbWJvcyBvcsOtZ2VuZXMgcG9yIGB0eXBlYC4gQ29saXNpw7NuIGRlIGBzbHVnYCDihpIgKiplc3TDoXRpY29cbiAqICAgIGdhbmEqKiAoY29udGVuaWRvIGN1cmFkbykuIE9yZGVuYSBwb3IgYHB1Ymxpc2hlZEF0YCBkZXNjIChzaW4gZmVjaGEgYWwgZmluYWwpLlxuICogIC0gYGxvYWQoKWAgcmVzdWVsdmUgZXN0w6F0aWNvIHByaW1lcm8sIGNvbiAqKmZhbGxiYWNrKiogYWwgYmFja2VuZC5cbiAqXG4gKiBSZW5kZXI6IGB0b0FydGljbGUoZG9jKWAgY29udmllcnRlIGBkb2MuYm9keWAgKE1hcmtkb3duKSBhIGBBcnRpY2xlTWV0YWRhdGFgXG4gKiB2w61hIGVsIGBtYXJrZG93bi1hcnRpY2xlLXBhcnNlcmAgZXhpc3RlbnRlIOKAlCBsYSBwYWdlIGhhY2UgYDx2YWwtYXJ0aWNsZSBbcHJvcHNdPVwiLi4uXCI+YC5cbiAqXG4gKiBSZXF1aWVyZSBgcHJvdmlkZVZhbHRlY2hDb250ZW50KHsgYXBpVXJsLCBhcHBJZCwgc3RhdGljU291cmNlcz8gfSlgIGVuIGBtYWluLnRzYC5cbiAqIFNpbiBwcm92aWRlciwgZWwgc2VydmljaW8gcXVlZGEgaW5lcnRlIChgaXNDb25maWd1cmVkKCkgPT09IGZhbHNlYCkuXG4gKi9cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgQ29udGVudFNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZyA9IGluamVjdChWQUxURUNIX0NPTlRFTlRfQ09ORklHLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuICBwcml2YXRlIHJlYWRvbmx5IGh0dHAgPSBpbmplY3QoSHR0cENsaWVudCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgcGFyc2VyID0gaW5qZWN0KE1hcmtkb3duQXJ0aWNsZVBhcnNlclNlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IGF1dGggPSBpbmplY3QoQXV0aFNlcnZpY2UsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgLyoqIGB0cnVlYCBzaSBgcHJvdmlkZVZhbHRlY2hDb250ZW50KClgIGZ1ZSBsbGFtYWRvIGVuIGVsIGJvb3RzdHJhcC4gKi9cbiAgcmVhZG9ubHkgaXNDb25maWd1cmVkID0gc2lnbmFsKCEhdGhpcy5jb25maWcpO1xuXG4gIC8qKiBDYWNoZSBkZSBsYXMgcHJvbWVzYXMgZGUgY2FkYSBmYWN0b3J5IGVzdMOhdGljYSwga2V5ZWQgcG9yIGxvY2FsZS4gKi9cbiAgcHJpdmF0ZSByZWFkb25seSBzdGF0aWNDYWNoZSA9IG5ldyBNYXA8c3RyaW5nLCBQcm9taXNlPENvbnRlbnREb2N1bWVudFtdPj4oKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBpZiAoIXRoaXMuY29uZmlnICYmIGlzRGV2TW9kZSgpKSB7XG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICdbdmFsdGVjaC1jb21wb25lbnRzXSBDb250ZW50U2VydmljZTogcHJvdmlkZVZhbHRlY2hDb250ZW50KCkgbm8gZXN0w6EgZW4gbWFpbi50cy4gJyArXG4gICAgICAgICAgJ0VsIGxpc3RhZG8geSBsYSBjYXJnYSBkZSBjb250ZW5pZG8gbm8gZnVuY2lvbmFyw6FuLidcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIExpc3RhIGxvcyBkb2N1bWVudG9zIHB1YmxpY2Fkb3MgZGUgdW4gYHR5cGVgLCB1bmllbmRvIGVzdMOhdGljbyArIGJhY2tlbmQuXG4gICAqIENvbGlzacOzbiBkZSBgc2x1Z2Ag4oaSIGVzdMOhdGljbyBnYW5hLiBPcmRlbmFkb3MgcG9yIGBwdWJsaXNoZWRBdGAgZGVzYy5cbiAgICpcbiAgICogQHBhcmFtIHR5cGUgLSBUaXBvIGRlIGNvbnRlbmlkbyAoYCdibG9nJ2AsIGAnbmV3cydgLCDigKYpLlxuICAgKiBAcGFyYW0gb3B0aW9ucyAtIGB7IGxvY2FsZSB9YCAoZGVmYXVsdCBgJ2VzJ2ApLlxuICAgKi9cbiAgbGlzdCh0eXBlOiBDb250ZW50RG9jdW1lbnRUeXBlLCBvcHRpb25zOiBDb250ZW50TG9hZE9wdGlvbnMgPSB7fSk6IE9ic2VydmFibGU8Q29udGVudERvY3VtZW50W10+IHtcbiAgICBjb25zdCBsb2NhbGUgPSAob3B0aW9ucy5sb2NhbGUgPz8gJ2VzJykudG9Mb3dlckNhc2UoKTtcblxuICAgIGNvbnN0IHN0YXRpYyQgPSBmcm9tKHRoaXMubG9hZFN0YXRpYyhsb2NhbGUpKS5waXBlKFxuICAgICAgbWFwKGRvY3MgPT4gZG9jcy5maWx0ZXIoZCA9PiBkLnR5cGUgPT09IHR5cGUgJiYgZC5zdGF0dXMgPT09ICdwdWJsaXNoZWQnKSlcbiAgICApO1xuXG4gICAgY29uc3QgYmFja2VuZCQgPSB0aGlzLmxpc3RCYWNrZW5kKHR5cGUsIGxvY2FsZSkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IoKCkgPT4gb2Y8Q29udGVudERvY3VtZW50W10+KFtdKSlcbiAgICApO1xuXG4gICAgcmV0dXJuIGZvcmtKb2luKHsgc3RhdGljRG9jczogc3RhdGljJCwgYmFja2VuZERvY3M6IGJhY2tlbmQkIH0pLnBpcGUoXG4gICAgICBtYXAoKHsgc3RhdGljRG9jcywgYmFja2VuZERvY3MgfSkgPT4gdGhpcy5tZXJnZShzdGF0aWNEb2NzLCBiYWNrZW5kRG9jcykpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYXJnYSB1biBkb2N1bWVudG8gcG9yIGBzbHVnYDogZXN0w6F0aWNvIHByaW1lcm8sIGZhbGxiYWNrIGFsIGJhY2tlbmQuXG4gICAqXG4gICAqIEBwYXJhbSB0eXBlIC0gVGlwbyBkZSBjb250ZW5pZG8uXG4gICAqIEBwYXJhbSBzbHVnIC0gU2x1ZyBkZWwgZG9jdW1lbnRvLlxuICAgKiBAcGFyYW0gb3B0aW9ucyAtIGB7IGxvY2FsZSB9YCAoZGVmYXVsdCBgJ2VzJ2ApLlxuICAgKi9cbiAgbG9hZChcbiAgICB0eXBlOiBDb250ZW50RG9jdW1lbnRUeXBlLFxuICAgIHNsdWc6IHN0cmluZyxcbiAgICBvcHRpb25zOiBDb250ZW50TG9hZE9wdGlvbnMgPSB7fVxuICApOiBPYnNlcnZhYmxlPENvbnRlbnREb2N1bWVudD4ge1xuICAgIGNvbnN0IGxvY2FsZSA9IChvcHRpb25zLmxvY2FsZSA/PyAnZXMnKS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgcmV0dXJuIGZyb20odGhpcy5sb2FkU3RhdGljKGxvY2FsZSkpLnBpcGUoXG4gICAgICBtYXAoZG9jcyA9PiBkb2NzLmZpbmQoZCA9PiBkLnR5cGUgPT09IHR5cGUgJiYgZC5zbHVnID09PSBzbHVnICYmIGQuc3RhdHVzID09PSAncHVibGlzaGVkJykpLFxuICAgICAgc3dpdGNoTWFwKHN0YXRpY0RvYyA9PlxuICAgICAgICBzdGF0aWNEb2NcbiAgICAgICAgICA/IG9mKHN0YXRpY0RvYylcbiAgICAgICAgICA6IHRoaXMubG9hZEJhY2tlbmQodHlwZSwgc2x1ZywgbG9jYWxlKS5waXBlKFxuICAgICAgICAgICAgICBjYXRjaEVycm9yKCgpID0+XG4gICAgICAgICAgICAgICAgdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoYENvbnRlbmlkbyBubyBlbmNvbnRyYWRvOiAke3R5cGV9LyR7bG9jYWxlfS8ke3NsdWd9YCkpXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIClcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZpZXJ0ZSBlbCBgYm9keWAgKE1hcmtkb3duKSBkZSB1biBkb2N1bWVudG8gZW4gYEFydGljbGVNZXRhZGF0YWAgcGFyYVxuICAgKiByZW5kZXJpemFyIGNvbiBgPHZhbC1hcnRpY2xlIFtwcm9wc109XCIuLi5cIj5gLiBVc2EgZWwgcGFyc2VyIGV4aXN0ZW50ZS5cbiAgICpcbiAgICogQHBhcmFtIGRvYyAtIERvY3VtZW50byBkZSBjb250ZW5pZG8gYSByZW5kZXJpemFyLlxuICAgKiBAcGFyYW0gY29uZmlnIC0gT3ZlcnJpZGUgcGFyY2lhbCBkZSBsYSBgQXJ0aWNsZU1ldGFkYXRhYCByZXN1bHRhbnRlLlxuICAgKi9cbiAgdG9BcnRpY2xlKGRvYzogQ29udGVudERvY3VtZW50LCBjb25maWc/OiBQYXJ0aWFsPEFydGljbGVNZXRhZGF0YT4pOiBBcnRpY2xlTWV0YWRhdGEge1xuICAgIGNvbnN0IGxvY2FsZSA9IChkb2MubG9jYWxlID8/ICdlcycpIGFzICdlcycgfCAnZW4nIHwgJ3B0JztcbiAgICByZXR1cm4gdGhpcy5wYXJzZXIucGFyc2UoZG9jLmJvZHksIGNvbmZpZywgbG9jYWxlKTtcbiAgfVxuXG4gIC8qKiBMaW1waWEgbGEgY2FjaGUgZGUgZnVlbnRlcyBlc3TDoXRpY2FzLiBMbGFtYXIgYWwgY2FtYmlhciBkZSBsb2NhbGUgZW4gcnVudGltZS4gKi9cbiAgaW52YWxpZGF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRpY0NhY2hlLmNsZWFyKCk7XG4gIH1cblxuICAvKipcbiAgICogTGlzdGEgbG9zIGRvY3VtZW50b3MgcHVibGljYWRvcyBkZSBsYSBvcmcgYWN0aXZhIGRlbCB1c3VhcmlvIGF1dGVudGljYWRvLlxuICAgKlxuICAgKiBSZXF1aWVyZSBzZXNpw7NuIGFjdGl2YSAoYEF1dGhTZXJ2aWNlLmlzQXV0aGVudGljYXRlZCgpYCkuIEVsIGludGVyY2VwdG9yIGRlXG4gICAqIGF1dGggYWdyZWdhIGF1dG9tw6F0aWNhbWVudGUgYEF1dGhvcml6YXRpb246IEJlYXJlciB7dG9rZW59YCBhIGxhIHJlcXVlc3QuXG4gICAqXG4gICAqIEBwYXJhbSB0eXBlICAtIFRpcG8gZGUgY29udGVuaWRvIChgJ2Jsb2cnYCwgYCduZXdzJ2AsIOKApikuXG4gICAqIEBwYXJhbSBvcHRpb25zIC0gYHsgbG9jYWxlIH1gIChkZWZhdWx0IGAnZXMnYCkuXG4gICAqIEByZXR1cm5zIERvY3VtZW50b3MgZGUgbGEgb3JnIG8gYFtdYCBzaSBubyBoYXkgY29uZmlnL3Nlc2nDs24uXG4gICAqL1xuICBsaXN0Rm9yT3JnKFxuICAgIHR5cGU6IENvbnRlbnREb2N1bWVudFR5cGUsXG4gICAgb3B0aW9uczogQ29udGVudExvYWRPcHRpb25zID0ge31cbiAgKTogT2JzZXJ2YWJsZTxDb250ZW50RG9jdW1lbnRbXT4ge1xuICAgIGlmICghdGhpcy5jb25maWc/LmFwaVVybCkgcmV0dXJuIG9mKFtdKTtcbiAgICBpZiAoIXRoaXMuYXV0aD8uaXNBdXRoZW50aWNhdGVkKCkpIHJldHVybiBvZihbXSk7XG4gICAgY29uc3QgbG9jYWxlID0gKG9wdGlvbnMubG9jYWxlID8/ICdlcycpLnRvTG93ZXJDYXNlKCk7XG4gICAgcmV0dXJuIHRoaXMubGlzdEJhY2tlbmRPcmcodHlwZSwgbG9jYWxlKS5waXBlKGNhdGNoRXJyb3IoKCkgPT4gb2Y8Q29udGVudERvY3VtZW50W10+KFtdKSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENhcmdhIHVuIGRvY3VtZW50byBkZSBsYSBvcmcgYWN0aXZhIGRlbCB1c3VhcmlvIGF1dGVudGljYWRvIHBvciBgc2x1Z2AuXG4gICAqXG4gICAqIFJlcXVpZXJlIHNlc2nDs24gYWN0aXZhLiBFbCBpbnRlcmNlcHRvciBkZSBhdXRoIGFncmVnYSBlbCBCZWFyZXIgdG9rZW4uXG4gICAqXG4gICAqIEBwYXJhbSB0eXBlICAtIFRpcG8gZGUgY29udGVuaWRvLlxuICAgKiBAcGFyYW0gc2x1ZyAgLSBTbHVnIGRlbCBkb2N1bWVudG8uXG4gICAqIEBwYXJhbSBvcHRpb25zIC0gYHsgbG9jYWxlIH1gIChkZWZhdWx0IGAnZXMnYCkuXG4gICAqIEByZXR1cm5zIEVsIGRvY3VtZW50byBvIGVycm9yIHNpIG5vIHNlIGVuY3VlbnRyYSAvIG5vIGhheSBzZXNpw7NuLlxuICAgKi9cbiAgbG9hZEZvck9yZyhcbiAgICB0eXBlOiBDb250ZW50RG9jdW1lbnRUeXBlLFxuICAgIHNsdWc6IHN0cmluZyxcbiAgICBvcHRpb25zOiBDb250ZW50TG9hZE9wdGlvbnMgPSB7fVxuICApOiBPYnNlcnZhYmxlPENvbnRlbnREb2N1bWVudD4ge1xuICAgIGlmICghdGhpcy5jb25maWc/LmFwaVVybCkge1xuICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKCdDb250ZW50U2VydmljZSBubyBlc3TDoSBjb25maWd1cmFkby4nKSk7XG4gICAgfVxuICAgIGlmICghdGhpcy5hdXRoPy5pc0F1dGhlbnRpY2F0ZWQoKSkge1xuICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKCdTZSByZXF1aWVyZSBzZXNpw7NuIGFjdGl2YSBwYXJhIGNhcmdhciBjb250ZW5pZG8gZGUgb3JnLicpKTtcbiAgICB9XG4gICAgY29uc3QgbG9jYWxlID0gKG9wdGlvbnMubG9jYWxlID8/ICdlcycpLnRvTG93ZXJDYXNlKCk7XG4gICAgcmV0dXJuIHRoaXMubG9hZEJhY2tlbmRPcmcodHlwZSwgc2x1ZywgbG9jYWxlKTtcbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBJbnRlcm5vc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvKiogVW5lIGVzdMOhdGljbyArIGJhY2tlbmQ6IGVzdMOhdGljbyBnYW5hIHBvciBzbHVnOyBvcmRlbiBwb3IgcHVibGlzaGVkQXQgZGVzYy4gKi9cbiAgcHJpdmF0ZSBtZXJnZShzdGF0aWNEb2NzOiBDb250ZW50RG9jdW1lbnRbXSwgYmFja2VuZERvY3M6IENvbnRlbnREb2N1bWVudFtdKTogQ29udGVudERvY3VtZW50W10ge1xuICAgIGNvbnN0IGJ5U2x1ZyA9IG5ldyBNYXA8c3RyaW5nLCBDb250ZW50RG9jdW1lbnQ+KCk7XG4gICAgZm9yIChjb25zdCBkb2Mgb2YgYmFja2VuZERvY3MpIGJ5U2x1Zy5zZXQoZG9jLnNsdWcsIGRvYyk7XG4gICAgLy8gRXN0w6F0aWNvIGdhbmEg4oCUIHNvYnJlc2NyaWJlIGN1YWxxdWllciBjb2xpc2nDs24gZGVsIGJhY2tlbmQuXG4gICAgZm9yIChjb25zdCBkb2Mgb2Ygc3RhdGljRG9jcykgYnlTbHVnLnNldChkb2Muc2x1ZywgZG9jKTtcbiAgICByZXR1cm4gWy4uLmJ5U2x1Zy52YWx1ZXMoKV0uc29ydCh0aGlzLmJ5UHVibGlzaGVkRGVzYyk7XG4gIH1cblxuICAvKiogQ29tcGFyYWRvcjogbcOhcyByZWNpZW50ZSBwcmltZXJvOyBzaW4gYHB1Ymxpc2hlZEF0YCBhbCBmaW5hbC4gKi9cbiAgcHJpdmF0ZSBieVB1Ymxpc2hlZERlc2MgPSAoYTogQ29udGVudERvY3VtZW50LCBiOiBDb250ZW50RG9jdW1lbnQpOiBudW1iZXIgPT4ge1xuICAgIGNvbnN0IHRhID0gYS5wdWJsaXNoZWRBdCA/IERhdGUucGFyc2UoYS5wdWJsaXNoZWRBdCkgOiAtSW5maW5pdHk7XG4gICAgY29uc3QgdGIgPSBiLnB1Ymxpc2hlZEF0ID8gRGF0ZS5wYXJzZShiLnB1Ymxpc2hlZEF0KSA6IC1JbmZpbml0eTtcbiAgICByZXR1cm4gdGIgLSB0YTtcbiAgfTtcblxuICAvKiogQ2FyZ2EgKHkgY2FjaGVhKSBsb3MgZG9jdW1lbnRvcyBlc3TDoXRpY29zIGRlIHVuIGxvY2FsZSwgc2kgaGF5IGZhY3RvcnkuICovXG4gIHByaXZhdGUgbG9hZFN0YXRpYyhsb2NhbGU6IHN0cmluZyk6IFByb21pc2U8Q29udGVudERvY3VtZW50W10+IHtcbiAgICBjb25zdCBmYWN0b3J5ID0gdGhpcy5jb25maWc/LnN0YXRpY1NvdXJjZXM/Lltsb2NhbGVdO1xuICAgIGlmICghZmFjdG9yeSkgcmV0dXJuIFByb21pc2UucmVzb2x2ZShbXSk7XG5cbiAgICBjb25zdCBjYWNoZWQgPSB0aGlzLnN0YXRpY0NhY2hlLmdldChsb2NhbGUpO1xuICAgIGlmIChjYWNoZWQpIHJldHVybiBjYWNoZWQ7XG5cbiAgICBjb25zdCBwcm9taXNlID0gZmFjdG9yeSgpLmNhdGNoKCgpID0+IFtdIGFzIENvbnRlbnREb2N1bWVudFtdKTtcbiAgICB0aGlzLnN0YXRpY0NhY2hlLnNldChsb2NhbGUsIHByb21pc2UpO1xuICAgIHJldHVybiBwcm9taXNlO1xuICB9XG5cbiAgLyoqIEdFVCBge2FwaVVybH0vdjIvY29udGVudD90eXBlPSZsb2NhbGU9YCDigJQgc29sbyBwdWJsaWNhZG9zLiAqL1xuICBwcml2YXRlIGxpc3RCYWNrZW5kKHR5cGU6IENvbnRlbnREb2N1bWVudFR5cGUsIGxvY2FsZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxDb250ZW50RG9jdW1lbnRbXT4ge1xuICAgIGlmICghdGhpcy5jb25maWc/LmFwaVVybCkgcmV0dXJuIG9mKFtdKTtcbiAgICBjb25zdCBwYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHsgdHlwZSwgbG9jYWxlIH0pO1xuICAgIGlmICh0aGlzLmNvbmZpZy5hcHBJZCkgcGFyYW1zLnNldCgnYXBwSWQnLCB0aGlzLmNvbmZpZy5hcHBJZCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldDxDb250ZW50TGlzdFJlc3BvbnNlPihgJHt0aGlzLmNvbmZpZy5hcGlVcmx9L3YyL2NvbnRlbnQ/JHtwYXJhbXN9YClcbiAgICAgIC5waXBlKG1hcChyZXMgPT4gcmVzPy5pdGVtcyA/PyBbXSkpO1xuICB9XG5cbiAgLyoqIEdFVCBge2FwaVVybH0vdjIvY29udGVudC97dHlwZX0ve2xvY2FsZX0ve3NsdWd9YCDigJQgZGV0YWxsZSBwdWJsaWNhZG8uICovXG4gIHByaXZhdGUgbG9hZEJhY2tlbmQoXG4gICAgdHlwZTogQ29udGVudERvY3VtZW50VHlwZSxcbiAgICBzbHVnOiBzdHJpbmcsXG4gICAgbG9jYWxlOiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTxDb250ZW50RG9jdW1lbnQ+IHtcbiAgICBpZiAoIXRoaXMuY29uZmlnPy5hcGlVcmwpIHtcbiAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcignQ29udGVudFNlcnZpY2Ugbm8gZXN0w6EgY29uZmlndXJhZG8uJykpO1xuICAgIH1cbiAgICBjb25zdCBwYXRoID0gYCR7dGhpcy5jb25maWcuYXBpVXJsfS92Mi9jb250ZW50LyR7dHlwZX0vJHtsb2NhbGV9LyR7ZW5jb2RlVVJJQ29tcG9uZW50KHNsdWcpfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldDxDb250ZW50RGV0YWlsUmVzcG9uc2U+KHBhdGgpXG4gICAgICAucGlwZShtYXAocmVzID0+IHJlcz8uaXRlbSA/PyAocmVzIGFzIHVua25vd24gYXMgQ29udGVudERvY3VtZW50KSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdFVCBge2FwaVVybH0vdjIvY29udGVudC9vcmc/dHlwZT0mbG9jYWxlPWAg4oCUIHB1YmxpY2Fkb3MgZGUgbGEgb3JnIGFjdGl2YS5cbiAgICogRWwgQmVhcmVyIHRva2VuIGxvIGHDsWFkZSBlbCBpbnRlcmNlcHRvciBkZSBhdXRoIGF1dG9tw6F0aWNhbWVudGUuXG4gICAqL1xuICBwcml2YXRlIGxpc3RCYWNrZW5kT3JnKHR5cGU6IENvbnRlbnREb2N1bWVudFR5cGUsIGxvY2FsZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxDb250ZW50RG9jdW1lbnRbXT4ge1xuICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoeyB0eXBlLCBsb2NhbGUgfSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldDxDb250ZW50TGlzdFJlc3BvbnNlPihgJHt0aGlzLmNvbmZpZyEuYXBpVXJsfS92Mi9jb250ZW50L29yZz8ke3BhcmFtc31gKVxuICAgICAgLnBpcGUobWFwKHJlcyA9PiByZXM/Lml0ZW1zID8/IFtdKSk7XG4gIH1cblxuICAvKipcbiAgICogR0VUIGB7YXBpVXJsfS92Mi9jb250ZW50L29yZy97dHlwZX0ve2xvY2FsZX0ve3NsdWd9YCDigJQgZGV0YWxsZSBkZSBsYSBvcmcgYWN0aXZhLlxuICAgKiBFbCBCZWFyZXIgdG9rZW4gbG8gYcOxYWRlIGVsIGludGVyY2VwdG9yIGRlIGF1dGggYXV0b23DoXRpY2FtZW50ZS5cbiAgICovXG4gIHByaXZhdGUgbG9hZEJhY2tlbmRPcmcoXG4gICAgdHlwZTogQ29udGVudERvY3VtZW50VHlwZSxcbiAgICBzbHVnOiBzdHJpbmcsXG4gICAgbG9jYWxlOiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTxDb250ZW50RG9jdW1lbnQ+IHtcbiAgICBjb25zdCBwYXRoID0gYCR7dGhpcy5jb25maWchLmFwaVVybH0vdjIvY29udGVudC9vcmcvJHt0eXBlfS8ke2xvY2FsZX0vJHtlbmNvZGVVUklDb21wb25lbnQoc2x1Zyl9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAuZ2V0PENvbnRlbnREZXRhaWxSZXNwb25zZT4ocGF0aClcbiAgICAgIC5waXBlKG1hcChyZXMgPT4gcmVzPy5pdGVtID8/IChyZXMgYXMgdW5rbm93biBhcyBDb250ZW50RG9jdW1lbnQpKSk7XG4gIH1cbn1cblxuLyoqIFNoYXBlIGRlIGxhIHJlc3B1ZXN0YSBkZSBsaXN0YWRvIGRlbCBiYWNrZW5kIChgL3YyL2NvbnRlbnRgKS4gKi9cbmludGVyZmFjZSBDb250ZW50TGlzdFJlc3BvbnNlIHtcbiAgaXRlbXM/OiBDb250ZW50RG9jdW1lbnRbXTtcbiAgb3BlcmF0aW9uSWQ/OiBzdHJpbmc7XG59XG5cbi8qKiBTaGFwZSBkZSBsYSByZXNwdWVzdGEgZGUgZGV0YWxsZSBkZWwgYmFja2VuZCAoYC92Mi9jb250ZW50L3t0eXBlfS97bG9jYWxlfS97c2x1Z31gKS4gKi9cbmludGVyZmFjZSBDb250ZW50RGV0YWlsUmVzcG9uc2Uge1xuICBpdGVtPzogQ29udGVudERvY3VtZW50O1xuICBvcGVyYXRpb25JZD86IHN0cmluZztcbn1cbiJdfQ==
|
|
@@ -7,8 +7,8 @@ import * as i0 from "@angular/core";
|
|
|
7
7
|
* `markdown-article-parser.ts` and is also usable from Node scripts (build-time generation).
|
|
8
8
|
*/
|
|
9
9
|
export class MarkdownArticleParserService {
|
|
10
|
-
parse(markdown, config) {
|
|
11
|
-
return parseMarkdownArticle(markdown, config);
|
|
10
|
+
parse(markdown, config, locale) {
|
|
11
|
+
return parseMarkdownArticle(markdown, { ...config, locale });
|
|
12
12
|
}
|
|
13
13
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MarkdownArticleParserService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
14
14
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MarkdownArticleParserService, providedIn: 'root' }); }
|
|
@@ -17,4 +17,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
17
17
|
type: Injectable,
|
|
18
18
|
args: [{ providedIn: 'root' }]
|
|
19
19
|
}] });
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24tYXJ0aWNsZS1wYXJzZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvbWFya2Rvd24tYXJ0aWNsZS9tYXJrZG93bi1hcnRpY2xlLXBhcnNlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBRWpFOzs7O0dBSUc7QUFFSCxNQUFNLE9BQU8sNEJBQTRCO0lBQ3ZDLEtBQUssQ0FDSCxRQUFnQixFQUNoQixNQUFpQyxFQUNqQyxNQUEyQjtRQUUzQixPQUFPLG9CQUFvQixDQUFDLFFBQVEsRUFBRSxFQUFFLEdBQUcsTUFBTSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDL0QsQ0FBQzsrR0FQVSw0QkFBNEI7bUhBQTVCLDRCQUE0QixjQURmLE1BQU07OzRGQUNuQiw0QkFBNEI7a0JBRHhDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXJ0aWNsZU1ldGFkYXRhIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9vcmdhbmlzbXMvYXJ0aWNsZS90eXBlcyc7XG5pbXBvcnQgeyBwYXJzZU1hcmtkb3duQXJ0aWNsZSB9IGZyb20gJy4vbWFya2Rvd24tYXJ0aWNsZS1wYXJzZXInO1xuXG4vKipcbiAqIEFuZ3VsYXIgc2VydmljZSB3cmFwcGVyIGZvciB0aGUgcHVyZSB7QGxpbmsgcGFyc2VNYXJrZG93bkFydGljbGV9IGZ1bmN0aW9uLlxuICogUHJvdmlkZWQgaW4gcm9vdCBzbyBpdCBjYW4gYmUgaW5qZWN0ZWQgYW55d2hlcmUuIFRoZSBhY3R1YWwgcGFyc2luZyBsb2dpYyBsaXZlcyBpblxuICogYG1hcmtkb3duLWFydGljbGUtcGFyc2VyLnRzYCBhbmQgaXMgYWxzbyB1c2FibGUgZnJvbSBOb2RlIHNjcmlwdHMgKGJ1aWxkLXRpbWUgZ2VuZXJhdGlvbikuXG4gKi9cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgTWFya2Rvd25BcnRpY2xlUGFyc2VyU2VydmljZSB7XG4gIHBhcnNlKFxuICAgIG1hcmtkb3duOiBzdHJpbmcsXG4gICAgY29uZmlnPzogUGFydGlhbDxBcnRpY2xlTWV0YWRhdGE+LFxuICAgIGxvY2FsZT86ICdlcycgfCAnZW4nIHwgJ3B0J1xuICApOiBBcnRpY2xlTWV0YWRhdGEge1xuICAgIHJldHVybiBwYXJzZU1hcmtkb3duQXJ0aWNsZShtYXJrZG93biwgeyAuLi5jb25maWcsIGxvY2FsZSB9KTtcbiAgfVxufVxuIl19
|
package/esm2022/lib/version.mjs
CHANGED
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
* Current version of valtech-components.
|
|
3
3
|
* This is automatically updated during the publish process.
|
|
4
4
|
*/
|
|
5
|
-
export const VERSION = '2.0.
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
export const VERSION = '2.0.983';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDdXJyZW50IHZlcnNpb24gb2YgdmFsdGVjaC1jb21wb25lbnRzLlxuICogVGhpcyBpcyBhdXRvbWF0aWNhbGx5IHVwZGF0ZWQgZHVyaW5nIHRoZSBwdWJsaXNoIHByb2Nlc3MuXG4gKi9cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzIuMC45ODMnO1xuIl19
|