@skyux/docs-tools 11.0.0 → 11.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/docs-tools.module.mjs +5 -5
- package/esm2022/modules/anatomy/anatomy-item.component.mjs +4 -4
- package/esm2022/modules/anatomy/anatomy-thumbnail.component.mjs +4 -4
- package/esm2022/modules/anatomy/anatomy.component.mjs +4 -4
- package/esm2022/modules/anatomy/anatomy.module.mjs +5 -5
- package/esm2022/modules/code-examples/code-example.component.mjs +4 -4
- package/esm2022/modules/code-examples/code-examples-editor.service.mjs +46 -35
- package/esm2022/modules/code-examples/code-examples.component.mjs +8 -7
- package/esm2022/modules/code-examples/code-examples.module.mjs +5 -5
- package/esm2022/modules/demo/demo-control-panel-checkbox.component.mjs +4 -4
- package/esm2022/modules/demo/demo-control-panel-radio-group.component.mjs +4 -4
- package/esm2022/modules/demo/demo-control-panel-section.component.mjs +4 -4
- package/esm2022/modules/demo/demo-control-panel.component.mjs +4 -4
- package/esm2022/modules/demo/demo-custom-control-panel.component.mjs +4 -4
- package/esm2022/modules/demo/demo.component.mjs +4 -4
- package/esm2022/modules/demo/demo.module.mjs +5 -5
- package/esm2022/modules/demo-page/demo-page-dom-adapter.service.mjs +4 -4
- package/esm2022/modules/demo-page/demo-page-module-info.component.mjs +4 -4
- package/esm2022/modules/demo-page/demo-page-section.component.mjs +4 -4
- package/esm2022/modules/demo-page/demo-page-summary.component.mjs +4 -4
- package/esm2022/modules/demo-page/demo-page-title.service.mjs +4 -4
- package/esm2022/modules/demo-page/demo-page-type-definitions.component.mjs +4 -4
- package/esm2022/modules/demo-page/demo-page.component.mjs +4 -4
- package/esm2022/modules/demo-page/demo-page.module.mjs +5 -5
- package/esm2022/modules/design-guidelines/design-guideline-thumbnail.component.mjs +4 -4
- package/esm2022/modules/design-guidelines/design-guideline.component.mjs +4 -4
- package/esm2022/modules/design-guidelines/design-guidelines.component.mjs +4 -4
- package/esm2022/modules/design-guidelines/design-guidelines.module.mjs +5 -5
- package/esm2022/modules/heading-anchor/heading-anchor.component.mjs +4 -4
- package/esm2022/modules/heading-anchor/heading-anchor.module.mjs +5 -5
- package/esm2022/modules/markdown/markdown.module.mjs +5 -5
- package/esm2022/modules/markdown/markdown.pipe.mjs +4 -4
- package/esm2022/modules/module-info/module-info.component.mjs +4 -4
- package/esm2022/modules/module-info/module-info.module.mjs +5 -5
- package/esm2022/modules/safe-html/safe-html.component.mjs +4 -4
- package/esm2022/modules/safe-html/safe-html.module.mjs +5 -5
- package/esm2022/modules/shared/docs-tools-supportal.service.mjs +4 -4
- package/esm2022/modules/shared/sky-docs-tools-resources.module.mjs +5 -5
- package/esm2022/modules/source-code/source-code-provider.mjs +4 -4
- package/esm2022/modules/source-code/source-code.service.mjs +4 -4
- package/esm2022/modules/thumbnail/thumbnail.component.mjs +4 -4
- package/esm2022/modules/thumbnail/thumbnail.module.mjs +5 -5
- package/esm2022/modules/type-definitions/anchor-link.service.mjs +4 -4
- package/esm2022/modules/type-definitions/call-signature-definition.component.mjs +4 -4
- package/esm2022/modules/type-definitions/class-definition.component.mjs +4 -4
- package/esm2022/modules/type-definitions/directive-definition.component.mjs +4 -4
- package/esm2022/modules/type-definitions/enumeration-definition.component.mjs +4 -4
- package/esm2022/modules/type-definitions/interface-definition.component.mjs +4 -4
- package/esm2022/modules/type-definitions/method-definitions.component.mjs +4 -4
- package/esm2022/modules/type-definitions/pipe-definition.component.mjs +4 -4
- package/esm2022/modules/type-definitions/preview-feature-indicator.component.mjs +4 -4
- package/esm2022/modules/type-definitions/property-definitions.component.mjs +4 -4
- package/esm2022/modules/type-definitions/type-alias-definition.component.mjs +4 -4
- package/esm2022/modules/type-definitions/type-anchor-links.pipe.mjs +4 -4
- package/esm2022/modules/type-definitions/type-definitions-format.service.mjs +4 -4
- package/esm2022/modules/type-definitions/type-definitions-provider.mjs +4 -4
- package/esm2022/modules/type-definitions/type-definitions.module.mjs +5 -5
- package/esm2022/modules/type-definitions/type-definitions.service.mjs +4 -4
- package/esm2022/modules/type-definitions/typedoc-adapter.service.mjs +4 -4
- package/fesm2022/skyux-docs-tools.mjs +236 -224
- package/fesm2022/skyux-docs-tools.mjs.map +1 -1
- package/modules/code-examples/code-examples.component.d.ts +1 -1
- package/modules/demo-page/demo-page.component.d.ts +2 -1
- package/package.json +17 -17
|
@@ -9,19 +9,19 @@ import * as i0 from "@angular/core";
|
|
|
9
9
|
* This module conveniently exports the most commonly used modules.
|
|
10
10
|
*/
|
|
11
11
|
export class SkyDocsToolsModule {
|
|
12
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
13
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.
|
|
12
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: SkyDocsToolsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
13
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.12", ngImport: i0, type: SkyDocsToolsModule, exports: [SkyDocsAnatomyModule,
|
|
14
14
|
SkyDocsCodeExamplesModule,
|
|
15
15
|
SkyDocsDemoModule,
|
|
16
16
|
SkyDocsDemoPageModule,
|
|
17
17
|
SkyDocsDesignGuidelinesModule] }); }
|
|
18
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.
|
|
18
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: SkyDocsToolsModule, imports: [SkyDocsAnatomyModule,
|
|
19
19
|
SkyDocsCodeExamplesModule,
|
|
20
20
|
SkyDocsDemoModule,
|
|
21
21
|
SkyDocsDemoPageModule,
|
|
22
22
|
SkyDocsDesignGuidelinesModule] }); }
|
|
23
23
|
}
|
|
24
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: SkyDocsToolsModule, decorators: [{
|
|
25
25
|
type: NgModule,
|
|
26
26
|
args: [{
|
|
27
27
|
exports: [
|
|
@@ -33,4 +33,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
|
|
|
33
33
|
],
|
|
34
34
|
}]
|
|
35
35
|
}] });
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jcy10b29scy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9kb2NzLXRvb2xzL3NyYy9kb2NzLXRvb2xzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRXhFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBRXpGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRS9ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRTdFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDOztBQUVyRzs7R0FFRztBQVVILE1BQU0sT0FBTyxrQkFBa0I7K0dBQWxCLGtCQUFrQjtnSEFBbEIsa0JBQWtCLFlBUDNCLG9CQUFvQjtZQUNwQix5QkFBeUI7WUFDekIsaUJBQWlCO1lBQ2pCLHFCQUFxQjtZQUNyQiw2QkFBNkI7Z0hBR3BCLGtCQUFrQixZQVAzQixvQkFBb0I7WUFDcEIseUJBQXlCO1lBQ3pCLGlCQUFpQjtZQUNqQixxQkFBcUI7WUFDckIsNkJBQTZCOzs0RkFHcEIsa0JBQWtCO2tCQVQ5QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxvQkFBb0I7d0JBQ3BCLHlCQUF5Qjt3QkFDekIsaUJBQWlCO3dCQUNqQixxQkFBcUI7d0JBQ3JCLDZCQUE2QjtxQkFDOUI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTa3lEb2NzQW5hdG9teU1vZHVsZSB9IGZyb20gJy4vbW9kdWxlcy9hbmF0b215L2FuYXRvbXkubW9kdWxlJztcblxuaW1wb3J0IHsgU2t5RG9jc0NvZGVFeGFtcGxlc01vZHVsZSB9IGZyb20gJy4vbW9kdWxlcy9jb2RlLWV4YW1wbGVzL2NvZGUtZXhhbXBsZXMubW9kdWxlJztcblxuaW1wb3J0IHsgU2t5RG9jc0RlbW9Nb2R1bGUgfSBmcm9tICcuL21vZHVsZXMvZGVtby9kZW1vLm1vZHVsZSc7XG5cbmltcG9ydCB7IFNreURvY3NEZW1vUGFnZU1vZHVsZSB9IGZyb20gJy4vbW9kdWxlcy9kZW1vLXBhZ2UvZGVtby1wYWdlLm1vZHVsZSc7XG5cbmltcG9ydCB7IFNreURvY3NEZXNpZ25HdWlkZWxpbmVzTW9kdWxlIH0gZnJvbSAnLi9tb2R1bGVzL2Rlc2lnbi1ndWlkZWxpbmVzL2Rlc2lnbi1ndWlkZWxpbmVzLm1vZHVsZSc7XG5cbi8qKlxuICogVGhpcyBtb2R1bGUgY29udmVuaWVudGx5IGV4cG9ydHMgdGhlIG1vc3QgY29tbW9ubHkgdXNlZCBtb2R1bGVzLlxuICovXG5ATmdNb2R1bGUoe1xuICBleHBvcnRzOiBbXG4gICAgU2t5RG9jc0FuYXRvbXlNb2R1bGUsXG4gICAgU2t5RG9jc0NvZGVFeGFtcGxlc01vZHVsZSxcbiAgICBTa3lEb2NzRGVtb01vZHVsZSxcbiAgICBTa3lEb2NzRGVtb1BhZ2VNb2R1bGUsXG4gICAgU2t5RG9jc0Rlc2lnbkd1aWRlbGluZXNNb2R1bGUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNreURvY3NUb29sc01vZHVsZSB7fVxuIl19
|
|
@@ -5,13 +5,13 @@ export class SkyDocsAnatomyItemComponent {
|
|
|
5
5
|
constructor() {
|
|
6
6
|
this.isOptional = false;
|
|
7
7
|
}
|
|
8
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
9
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.
|
|
8
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: SkyDocsAnatomyItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
9
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: SkyDocsAnatomyItemComponent, selector: "sky-docs-anatomy-item", inputs: { isOptional: "isOptional" }, ngImport: i0, template: "<div\n class=\"sky-docs-anatomy-item\"\n [ngClass]=\"{\n 'sky-docs-anatomy-item-optional': isOptional,\n }\"\n>\n <div class=\"sky-docs-anatomy-item-marker\">\n {{ marker }}\n </div>\n <div class=\"sky-docs-anatomy-item-description\">\n <ng-content></ng-content>\n <span *ngIf=\"isOptional\" class=\"sky-deemphasized\"> (optional)</span>\n </div>\n</div>\n", styles: [".sky-docs-anatomy-item-marker{display:flex;width:22px;height:22px;border-radius:50%;justify-content:center;align-items:center;margin-right:5px;color:#fff;background-color:#4d842d}.sky-docs-anatomy-item{margin-bottom:10px;display:flex;align-items:center}.sky-docs-anatomy-item.sky-docs-anatomy-item-optional .sky-docs-anatomy-item-marker{background-color:#b7da9b;color:#212327}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
10
10
|
}
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: SkyDocsAnatomyItemComponent, decorators: [{
|
|
12
12
|
type: Component,
|
|
13
13
|
args: [{ selector: 'sky-docs-anatomy-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"sky-docs-anatomy-item\"\n [ngClass]=\"{\n 'sky-docs-anatomy-item-optional': isOptional,\n }\"\n>\n <div class=\"sky-docs-anatomy-item-marker\">\n {{ marker }}\n </div>\n <div class=\"sky-docs-anatomy-item-description\">\n <ng-content></ng-content>\n <span *ngIf=\"isOptional\" class=\"sky-deemphasized\"> (optional)</span>\n </div>\n</div>\n", styles: [".sky-docs-anatomy-item-marker{display:flex;width:22px;height:22px;border-radius:50%;justify-content:center;align-items:center;margin-right:5px;color:#fff;background-color:#4d842d}.sky-docs-anatomy-item{margin-bottom:10px;display:flex;align-items:center}.sky-docs-anatomy-item.sky-docs-anatomy-item-optional .sky-docs-anatomy-item-marker{background-color:#b7da9b;color:#212327}\n"] }]
|
|
14
14
|
}], propDecorators: { isOptional: [{
|
|
15
15
|
type: Input
|
|
16
16
|
}] } });
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hdG9teS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RvY3MtdG9vbHMvc3JjL21vZHVsZXMvYW5hdG9teS9hbmF0b215LWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZG9jcy10b29scy9zcmMvbW9kdWxlcy9hbmF0b215L2FuYXRvbXktaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBUTFFLE1BQU0sT0FBTywyQkFBMkI7SUFOeEM7UUFRUyxlQUFVLEdBQVksS0FBSyxDQUFDO0tBR3BDOytHQUxZLDJCQUEyQjttR0FBM0IsMkJBQTJCLG1HQ1J4Qyw4WEFjQTs7NEZETmEsMkJBQTJCO2tCQU52QyxTQUFTOytCQUNFLHVCQUF1QixtQkFHaEIsdUJBQXVCLENBQUMsTUFBTTs4QkFJeEMsVUFBVTtzQkFEaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1kb2NzLWFuYXRvbXktaXRlbScsXG4gIHRlbXBsYXRlVXJsOiAnLi9hbmF0b215LWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hbmF0b215LWl0ZW0uY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNreURvY3NBbmF0b215SXRlbUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpc09wdGlvbmFsOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHVibGljIG1hcmtlcjogc3RyaW5nO1xufVxuIiwiPGRpdlxuICBjbGFzcz1cInNreS1kb2NzLWFuYXRvbXktaXRlbVwiXG4gIFtuZ0NsYXNzXT1cIntcbiAgICAnc2t5LWRvY3MtYW5hdG9teS1pdGVtLW9wdGlvbmFsJzogaXNPcHRpb25hbCxcbiAgfVwiXG4+XG4gIDxkaXYgY2xhc3M9XCJza3ktZG9jcy1hbmF0b215LWl0ZW0tbWFya2VyXCI+XG4gICAge3sgbWFya2VyIH19XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwic2t5LWRvY3MtYW5hdG9teS1pdGVtLWRlc2NyaXB0aW9uXCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDxzcGFuICpuZ0lmPVwiaXNPcHRpb25hbFwiIGNsYXNzPVwic2t5LWRlZW1waGFzaXplZFwiPiZuYnNwOyhvcHRpb25hbCk8L3NwYW4+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -5,10 +5,10 @@ export class SkyDocsAnatomyThumbnailComponent {
|
|
|
5
5
|
constructor() {
|
|
6
6
|
this.showBorder = false;
|
|
7
7
|
}
|
|
8
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
9
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.
|
|
8
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: SkyDocsAnatomyThumbnailComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
9
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: SkyDocsAnatomyThumbnailComponent, selector: "sky-docs-anatomy-thumbnail", inputs: { caption: "caption", captionType: "captionType", imageAlt: "imageAlt", imageSource: "imageSource", videoSource: "videoSource", showBorder: "showBorder" }, ngImport: i0, template: "<div class=\"sky-docs-anatomy-thumbnail\">\n <sky-docs-thumbnail\n [caption]=\"caption\"\n [captionType]=\"captionType\"\n [imageAlt]=\"imageAlt\"\n [imageSource]=\"imageSource\"\n [videoSource]=\"videoSource\"\n [showBorder]=\"showBorder\"\n ></sky-docs-thumbnail>\n</div>\n", styles: [".sky-docs-anatomy-thumbnail{margin-bottom:50px}\n"], dependencies: [{ kind: "component", type: i1.SkyDocsThumbnailComponent, selector: "sky-docs-thumbnail", inputs: ["caption", "captionType", "imageAlt", "imageSource", "showBorder", "videoSource"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
10
10
|
}
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: SkyDocsAnatomyThumbnailComponent, decorators: [{
|
|
12
12
|
type: Component,
|
|
13
13
|
args: [{ selector: 'sky-docs-anatomy-thumbnail', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"sky-docs-anatomy-thumbnail\">\n <sky-docs-thumbnail\n [caption]=\"caption\"\n [captionType]=\"captionType\"\n [imageAlt]=\"imageAlt\"\n [imageSource]=\"imageSource\"\n [videoSource]=\"videoSource\"\n [showBorder]=\"showBorder\"\n ></sky-docs-thumbnail>\n</div>\n", styles: [".sky-docs-anatomy-thumbnail{margin-bottom:50px}\n"] }]
|
|
14
14
|
}], propDecorators: { caption: [{
|
|
@@ -24,4 +24,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
|
|
|
24
24
|
}], showBorder: [{
|
|
25
25
|
type: Input
|
|
26
26
|
}] } });
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hdG9teS10aHVtYm5haWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZG9jcy10b29scy9zcmMvbW9kdWxlcy9hbmF0b215L2FuYXRvbXktdGh1bWJuYWlsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RvY3MtdG9vbHMvc3JjL21vZHVsZXMvYW5hdG9teS9hbmF0b215LXRodW1ibmFpbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBUTFFLE1BQU0sT0FBTyxnQ0FBZ0M7SUFON0M7UUF1QlMsZUFBVSxHQUFZLEtBQUssQ0FBQztLQUNwQzsrR0FsQlksZ0NBQWdDO21HQUFoQyxnQ0FBZ0Msc09DUjdDLHlTQVVBOzs0RkRGYSxnQ0FBZ0M7a0JBTjVDLFNBQVM7K0JBQ0UsNEJBQTRCLG1CQUdyQix1QkFBdUIsQ0FBQyxNQUFNOzhCQUl4QyxPQUFPO3NCQURiLEtBQUs7Z0JBSUMsV0FBVztzQkFEakIsS0FBSztnQkFJQyxRQUFRO3NCQURkLEtBQUs7Z0JBSUMsV0FBVztzQkFEakIsS0FBSztnQkFJQyxXQUFXO3NCQURqQixLQUFLO2dCQUlDLFVBQVU7c0JBRGhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktZG9jcy1hbmF0b215LXRodW1ibmFpbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9hbmF0b215LXRodW1ibmFpbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FuYXRvbXktdGh1bWJuYWlsLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lEb2NzQW5hdG9teVRodW1ibmFpbENvbXBvbmVudCB7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjYXB0aW9uOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNhcHRpb25UeXBlOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGltYWdlQWx0OiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGltYWdlU291cmNlOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHZpZGVvU291cmNlOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNob3dCb3JkZXI6IGJvb2xlYW4gPSBmYWxzZTtcbn1cbiIsIjxkaXYgY2xhc3M9XCJza3ktZG9jcy1hbmF0b215LXRodW1ibmFpbFwiPlxuICA8c2t5LWRvY3MtdGh1bWJuYWlsXG4gICAgW2NhcHRpb25dPVwiY2FwdGlvblwiXG4gICAgW2NhcHRpb25UeXBlXT1cImNhcHRpb25UeXBlXCJcbiAgICBbaW1hZ2VBbHRdPVwiaW1hZ2VBbHRcIlxuICAgIFtpbWFnZVNvdXJjZV09XCJpbWFnZVNvdXJjZVwiXG4gICAgW3ZpZGVvU291cmNlXT1cInZpZGVvU291cmNlXCJcbiAgICBbc2hvd0JvcmRlcl09XCJzaG93Qm9yZGVyXCJcbiAgPjwvc2t5LWRvY3MtdGh1bWJuYWlsPlxuPC9kaXY+XG4iXX0=
|
|
@@ -10,10 +10,10 @@ export class SkyDocsAnatomyComponent {
|
|
|
10
10
|
item.marker = (i + 1).toString();
|
|
11
11
|
});
|
|
12
12
|
}
|
|
13
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
14
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.
|
|
13
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: SkyDocsAnatomyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
14
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: SkyDocsAnatomyComponent, selector: "sky-docs-anatomy", inputs: { imagePath: "imagePath" }, queries: [{ propertyName: "anatomyItems", predicate: SkyDocsAnatomyItemComponent }], ngImport: i0, template: "<div class=\"sky-docs-anatomy\">\n <sky-row>\n <sky-column\n class=\"sky-docs-anatomy-items\"\n screenSmall=\"6\"\n screenMedium=\"5\"\n screenLarge=\"4\"\n >\n <ng-content select=\"sky-docs-anatomy-item\"></ng-content>\n </sky-column>\n <sky-column screenSmall=\"6\" screenMedium=\"7\" screenLarge=\"8\">\n <sky-image\n *ngIf=\"imagePath; else thumbnails\"\n [imageSource]=\"imagePath\"\n ></sky-image>\n </sky-column>\n </sky-row>\n</div>\n\n<ng-template #thumbnails>\n <ng-content select=\"sky-docs-anatomy-thumbnail\"></ng-content>\n</ng-template>\n", styles: [".sky-docs-anatomy-items{padding-bottom:20px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.λ23, selector: "sky-row", inputs: ["reverseColumnOrder"] }, { kind: "component", type: i2.λ24, selector: "sky-column", inputs: ["screenXSmall", "screenSmall", "screenMedium", "screenLarge"] }, { kind: "component", type: i3.λ4, selector: "sky-image", inputs: ["caption", "captionType", "imageAlt", "imageSource", "showBorder", "showCaptionPrefix"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
15
15
|
}
|
|
16
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: SkyDocsAnatomyComponent, decorators: [{
|
|
17
17
|
type: Component,
|
|
18
18
|
args: [{ selector: 'sky-docs-anatomy', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"sky-docs-anatomy\">\n <sky-row>\n <sky-column\n class=\"sky-docs-anatomy-items\"\n screenSmall=\"6\"\n screenMedium=\"5\"\n screenLarge=\"4\"\n >\n <ng-content select=\"sky-docs-anatomy-item\"></ng-content>\n </sky-column>\n <sky-column screenSmall=\"6\" screenMedium=\"7\" screenLarge=\"8\">\n <sky-image\n *ngIf=\"imagePath; else thumbnails\"\n [imageSource]=\"imagePath\"\n ></sky-image>\n </sky-column>\n </sky-row>\n</div>\n\n<ng-template #thumbnails>\n <ng-content select=\"sky-docs-anatomy-thumbnail\"></ng-content>\n</ng-template>\n", styles: [".sky-docs-anatomy-items{padding-bottom:20px}\n"] }]
|
|
19
19
|
}], propDecorators: { imagePath: [{
|
|
@@ -22,4 +22,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
|
|
|
22
22
|
type: ContentChildren,
|
|
23
23
|
args: [SkyDocsAnatomyItemComponent]
|
|
24
24
|
}] } });
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hdG9teS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kb2NzLXRvb2xzL3NyYy9tb2R1bGVzL2FuYXRvbXkvYW5hdG9teS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kb2NzLXRvb2xzL3NyYy9tb2R1bGVzL2FuYXRvbXkvYW5hdG9teS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsS0FBSyxHQUVOLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7OztBQVF2RSxNQUFNLE9BQU8sdUJBQXVCO0lBTzNCLGtCQUFrQjtRQUN2QixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNwQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ25DLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0FYVSx1QkFBdUI7bUdBQXZCLHVCQUF1Qix5SEFJakIsMkJBQTJCLDZCQ3JCOUMsOG1CQXNCQTs7NEZETGEsdUJBQXVCO2tCQU5uQyxTQUFTOytCQUNFLGtCQUFrQixtQkFHWCx1QkFBdUIsQ0FBQyxNQUFNOzhCQUl4QyxTQUFTO3NCQURmLEtBQUs7Z0JBSUUsWUFBWTtzQkFEbkIsZUFBZTt1QkFBQywyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIElucHV0LFxuICBRdWVyeUxpc3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTa3lEb2NzQW5hdG9teUl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2FuYXRvbXktaXRlbS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktZG9jcy1hbmF0b215JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FuYXRvbXkuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hbmF0b215LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lEb2NzQW5hdG9teUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xuICBASW5wdXQoKVxuICBwdWJsaWMgaW1hZ2VQYXRoOiBzdHJpbmc7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihTa3lEb2NzQW5hdG9teUl0ZW1Db21wb25lbnQpXG4gIHByaXZhdGUgYW5hdG9teUl0ZW1zOiBRdWVyeUxpc3Q8U2t5RG9jc0FuYXRvbXlJdGVtQ29tcG9uZW50PjtcblxuICBwdWJsaWMgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuYW5hdG9teUl0ZW1zLmZvckVhY2goKGl0ZW0sIGkpID0+IHtcbiAgICAgIGl0ZW0ubWFya2VyID0gKGkgKyAxKS50b1N0cmluZygpO1xuICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2t5LWRvY3MtYW5hdG9teVwiPlxuICA8c2t5LXJvdz5cbiAgICA8c2t5LWNvbHVtblxuICAgICAgY2xhc3M9XCJza3ktZG9jcy1hbmF0b215LWl0ZW1zXCJcbiAgICAgIHNjcmVlblNtYWxsPVwiNlwiXG4gICAgICBzY3JlZW5NZWRpdW09XCI1XCJcbiAgICAgIHNjcmVlbkxhcmdlPVwiNFwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwic2t5LWRvY3MtYW5hdG9teS1pdGVtXCI+PC9uZy1jb250ZW50PlxuICAgIDwvc2t5LWNvbHVtbj5cbiAgICA8c2t5LWNvbHVtbiBzY3JlZW5TbWFsbD1cIjZcIiBzY3JlZW5NZWRpdW09XCI3XCIgc2NyZWVuTGFyZ2U9XCI4XCI+XG4gICAgICA8c2t5LWltYWdlXG4gICAgICAgICpuZ0lmPVwiaW1hZ2VQYXRoOyBlbHNlIHRodW1ibmFpbHNcIlxuICAgICAgICBbaW1hZ2VTb3VyY2VdPVwiaW1hZ2VQYXRoXCJcbiAgICAgID48L3NreS1pbWFnZT5cbiAgICA8L3NreS1jb2x1bW4+XG4gIDwvc2t5LXJvdz5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI3RodW1ibmFpbHM+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cInNreS1kb2NzLWFuYXRvbXktdGh1bWJuYWlsXCI+PC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -8,8 +8,8 @@ import { SkyDocsThumbnailModule } from '../thumbnail/thumbnail.module';
|
|
|
8
8
|
import { SkyDocsAnatomyThumbnailComponent } from './anatomy-thumbnail.component';
|
|
9
9
|
import * as i0 from "@angular/core";
|
|
10
10
|
export class SkyDocsAnatomyModule {
|
|
11
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
12
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.
|
|
11
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: SkyDocsAnatomyModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
12
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.12", ngImport: i0, type: SkyDocsAnatomyModule, declarations: [SkyDocsAnatomyComponent,
|
|
13
13
|
SkyDocsAnatomyItemComponent,
|
|
14
14
|
SkyDocsAnatomyThumbnailComponent], imports: [CommonModule,
|
|
15
15
|
SkyDocsThumbnailModule,
|
|
@@ -17,12 +17,12 @@ export class SkyDocsAnatomyModule {
|
|
|
17
17
|
SkyImageModule], exports: [SkyDocsAnatomyComponent,
|
|
18
18
|
SkyDocsAnatomyItemComponent,
|
|
19
19
|
SkyDocsAnatomyThumbnailComponent] }); }
|
|
20
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.
|
|
20
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: SkyDocsAnatomyModule, imports: [CommonModule,
|
|
21
21
|
SkyDocsThumbnailModule,
|
|
22
22
|
SkyFluidGridModule,
|
|
23
23
|
SkyImageModule] }); }
|
|
24
24
|
}
|
|
25
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
25
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: SkyDocsAnatomyModule, decorators: [{
|
|
26
26
|
type: NgModule,
|
|
27
27
|
args: [{
|
|
28
28
|
imports: [
|
|
@@ -43,4 +43,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
|
|
|
43
43
|
],
|
|
44
44
|
}]
|
|
45
45
|
}] });
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hdG9teS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kb2NzLXRvb2xzL3NyYy9tb2R1bGVzL2FuYXRvbXkvYW5hdG9teS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRTVELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUU5RCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFvQmpGLE1BQU0sT0FBTyxvQkFBb0I7K0dBQXBCLG9CQUFvQjtnSEFBcEIsb0JBQW9CLGlCQVY3Qix1QkFBdUI7WUFDdkIsMkJBQTJCO1lBQzNCLGdDQUFnQyxhQVJoQyxZQUFZO1lBQ1osc0JBQXNCO1lBQ3RCLGtCQUFrQjtZQUNsQixjQUFjLGFBUWQsdUJBQXVCO1lBQ3ZCLDJCQUEyQjtZQUMzQixnQ0FBZ0M7Z0hBR3ZCLG9CQUFvQixZQWhCN0IsWUFBWTtZQUNaLHNCQUFzQjtZQUN0QixrQkFBa0I7WUFDbEIsY0FBYzs7NEZBYUwsb0JBQW9CO2tCQWxCaEMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixzQkFBc0I7d0JBQ3RCLGtCQUFrQjt3QkFDbEIsY0FBYztxQkFDZjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1osdUJBQXVCO3dCQUN2QiwyQkFBMkI7d0JBQzNCLGdDQUFnQztxQkFDakM7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLHVCQUF1Qjt3QkFDdkIsMkJBQTJCO3dCQUMzQixnQ0FBZ0M7cUJBQ2pDO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU2t5SW1hZ2VNb2R1bGUgfSBmcm9tICdAYmxhY2tiYXVkL3NreXV4LWxpYi1tZWRpYSc7XG5cbmltcG9ydCB7IFNreUZsdWlkR3JpZE1vZHVsZSB9IGZyb20gJ0Bza3l1eC9sYXlvdXQnO1xuXG5pbXBvcnQgeyBTa3lEb2NzQW5hdG9teUNvbXBvbmVudCB9IGZyb20gJy4vYW5hdG9teS5jb21wb25lbnQnO1xuXG5pbXBvcnQgeyBTa3lEb2NzQW5hdG9teUl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2FuYXRvbXktaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5RG9jc1RodW1ibmFpbE1vZHVsZSB9IGZyb20gJy4uL3RodW1ibmFpbC90aHVtYm5haWwubW9kdWxlJztcbmltcG9ydCB7IFNreURvY3NBbmF0b215VGh1bWJuYWlsQ29tcG9uZW50IH0gZnJvbSAnLi9hbmF0b215LXRodW1ibmFpbC5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFNreURvY3NUaHVtYm5haWxNb2R1bGUsXG4gICAgU2t5Rmx1aWRHcmlkTW9kdWxlLFxuICAgIFNreUltYWdlTW9kdWxlLFxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBTa3lEb2NzQW5hdG9teUNvbXBvbmVudCxcbiAgICBTa3lEb2NzQW5hdG9teUl0ZW1Db21wb25lbnQsXG4gICAgU2t5RG9jc0FuYXRvbXlUaHVtYm5haWxDb21wb25lbnQsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBTa3lEb2NzQW5hdG9teUNvbXBvbmVudCxcbiAgICBTa3lEb2NzQW5hdG9teUl0ZW1Db21wb25lbnQsXG4gICAgU2t5RG9jc0FuYXRvbXlUaHVtYm5haWxDb21wb25lbnQsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNreURvY3NBbmF0b215TW9kdWxlIHt9XG4iXX0=
|
|
@@ -46,10 +46,10 @@ export class SkyDocsCodeExampleComponent {
|
|
|
46
46
|
this.ngUnsubscribe.next();
|
|
47
47
|
this.ngUnsubscribe.complete();
|
|
48
48
|
}
|
|
49
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
50
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.
|
|
49
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: SkyDocsCodeExampleComponent, deps: [{ token: i1.SkyThemeService, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
50
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: SkyDocsCodeExampleComponent, selector: "sky-docs-code-example", inputs: { heading: "heading", sourceCodePath: "sourceCodePath", theme: "theme" }, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
51
51
|
}
|
|
52
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
52
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: SkyDocsCodeExampleComponent, decorators: [{
|
|
53
53
|
type: Component,
|
|
54
54
|
args: [{
|
|
55
55
|
selector: 'sky-docs-code-example',
|
|
@@ -65,4 +65,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
|
|
|
65
65
|
}], theme: [{
|
|
66
66
|
type: Input
|
|
67
67
|
}] } });
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS1leGFtcGxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RvY3MtdG9vbHMvc3JjL21vZHVsZXMvY29kZS1leGFtcGxlcy9jb2RlLWV4YW1wbGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULEtBQUssRUFFTCxRQUFRLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFJdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0JBQXNCLENBQUM7OztBQUUvRDs7Ozs7Ozs7OztHQVVHO0FBTUgsTUFBTSxPQUFPLDJCQUEyQjtJQWV0Qzs7O09BR0c7SUFDSCxJQUNXLEtBQUssQ0FBQyxLQUE4QjtRQUM3QyxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBRUQsSUFBVyxLQUFLO1FBQ2QsT0FBTyxJQUFJLENBQUMsTUFBTSxJQUFJLHVCQUF1QixDQUFDLE9BQU8sQ0FBQztJQUN4RCxDQUFDO0lBTUQsWUFBd0IsUUFBMEI7UUFKMUMsa0JBQWEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBSzFDLHFFQUFxRTtRQUNyRSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUM3QixRQUFRLENBQUMsY0FBYztpQkFDcEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7aUJBQ25DLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO2dCQUNwQixJQUFJLE1BQU0sQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztvQkFDbkQsSUFBSSxDQUFDLEtBQUssR0FBRyx1QkFBdUIsQ0FBQyxNQUFNLENBQUM7Z0JBQzlDLENBQUM7cUJBQU0sSUFBSSxNQUFNLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssU0FBUyxFQUFFLENBQUM7b0JBQzNELElBQUksQ0FBQyxLQUFLLEdBQUcsdUJBQXVCLENBQUMsT0FBTyxDQUFDO2dCQUMvQyxDQUFDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDO0lBQ0gsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2hDLENBQUM7K0dBbERVLDJCQUEyQjttR0FBM0IsMkJBQTJCLCtJQUg1QixFQUFFOzs0RkFHRCwyQkFBMkI7a0JBTHZDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsUUFBUSxFQUFFLEVBQUU7b0JBQ1osZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEOzswQkFpQ2MsUUFBUTt5Q0ExQmQsT0FBTztzQkFEYixLQUFLO2dCQVFDLGNBQWM7c0JBRHBCLEtBQUs7Z0JBUUssS0FBSztzQkFEZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT3B0aW9uYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTa3lUaGVtZVNlcnZpY2UgfSBmcm9tICdAc2t5dXgvdGhlbWUnO1xuXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5RG9jc0NvZGVFeGFtcGxlVGhlbWUgfSBmcm9tICcuL2NvZGUtZXhhbXBsZS10aGVtZSc7XG5cbi8qKlxuICogUmVuZGVycyBhIHNpbmdsZSBjb2RlIGV4YW1wbGUuXG4gKiBAZXhhbXBsZVxuICogYGBgXG4gKiA8c2t5LWRvY3MtY29kZS1leGFtcGxlXG4gKiAgIGhlYWRpbmc9XCJNeSBjb2RlIGV4YW1wbGVcIlxuICogICBzb3VyY2VDb2RlUGF0aD1cInNyYy9hcHAvcHVibGljL3BsdWdpbi1yZXNvdXJjZXMvZm9vYmFyXCJcbiAqID5cbiAqIDwvc2t5LWRvY3MtY29kZS1leGFtcGxlPlxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1kb2NzLWNvZGUtZXhhbXBsZScsXG4gIHRlbXBsYXRlOiAnJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNreURvY3NDb2RlRXhhbXBsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIC8qKlxuICAgKiBUaGUgaGVhZGluZyB0byBiZSB1c2VkIGZvciB0aGUgY29kZSBleGFtcGxlLlxuICAgKiBAcmVxdWlyZWRcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBoZWFkaW5nOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgbG9jYWwgcGF0aCB0byB0aGUgY29kZSBleGFtcGxlJ3Mgc291cmNlIGNvZGUuIFRoZSB2YWx1ZSBpcyByZWxhdGl2ZSB0byB0aGUgcm9vdCBkaXJlY3RvcnkuXG4gICAqIEByZXF1aXJlZFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNvdXJjZUNvZGVQYXRoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBpZiB0aGUgZWRpdG9yIHNlcnZpY2Ugc2hvdWxkIHNob3cgdGhlIGV4YW1wbGUgaW4gbW9kZXJuIHRoZW1lLlxuICAgKiBUaGUgdmFsdWUgd2lsbCBiZSBnbGVhbmVkIGZyb20gYFNreVRoZW1lU2VydmljZWAgZmlyc3QsIHRoZW4gZmFsbGJhY2sgdG8gJ2RlZmF1bHQnIGlmIHRoZSBzZXJ2aWNlIGlzIG5vdCBmb3VuZC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgdGhlbWUodmFsdWU6IFNreURvY3NDb2RlRXhhbXBsZVRoZW1lKSB7XG4gICAgdGhpcy5fdGhlbWUgPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdGhlbWUoKTogU2t5RG9jc0NvZGVFeGFtcGxlVGhlbWUge1xuICAgIHJldHVybiB0aGlzLl90aGVtZSB8fCBTa3lEb2NzQ29kZUV4YW1wbGVUaGVtZS5EZWZhdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSBuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBwcml2YXRlIF90aGVtZTogU2t5RG9jc0NvZGVFeGFtcGxlVGhlbWU7XG5cbiAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgdGhlbWVTdmM/OiBTa3lUaGVtZVNlcnZpY2UpIHtcbiAgICAvLyBVcGRhdGUgdGhlbWUgcHJvcGVydHkgd2l0aCBTa3lUaGVtZVNlcnZpY2UgaWYgaXQgaGFzIG5vdCBiZWVuIHNldC5cbiAgICBpZiAoIXRoaXMuX3RoZW1lICYmIHRoZW1lU3ZjKSB7XG4gICAgICB0aGVtZVN2Yy5zZXR0aW5nc0NoYW5nZVxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgLnN1YnNjcmliZSgoY2hhbmdlKSA9PiB7XG4gICAgICAgICAgaWYgKGNoYW5nZS5jdXJyZW50U2V0dGluZ3MudGhlbWUubmFtZSA9PT0gJ21vZGVybicpIHtcbiAgICAgICAgICAgIHRoaXMudGhlbWUgPSBTa3lEb2NzQ29kZUV4YW1wbGVUaGVtZS5Nb2Rlcm47XG4gICAgICAgICAgfSBlbHNlIGlmIChjaGFuZ2UuY3VycmVudFNldHRpbmdzLnRoZW1lLm5hbWUgPT09ICdkZWZhdWx0Jykge1xuICAgICAgICAgICAgdGhpcy50aGVtZSA9IFNreURvY3NDb2RlRXhhbXBsZVRoZW1lLkRlZmF1bHQ7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLm5nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgfVxufVxuIl19
|
|
@@ -73,7 +73,18 @@ export class SkyDocsCodeExamplesEditorService {
|
|
|
73
73
|
}
|
|
74
74
|
}
|
|
75
75
|
}
|
|
76
|
-
const
|
|
76
|
+
const overrides = template === 'node'
|
|
77
|
+
? {
|
|
78
|
+
'ng2-dragula@5.1.0': {
|
|
79
|
+
'@angular/animations': '>=16.0.0 <19.0.0',
|
|
80
|
+
'@angular/core': '>=16.0.0 <19.0.0',
|
|
81
|
+
'@angular/common': '>=16.0.0 <19.0.0',
|
|
82
|
+
},
|
|
83
|
+
}
|
|
84
|
+
: undefined;
|
|
85
|
+
const files = this.parseStackBlitzFiles(codeExample.sourceCode, mergedDependencies, overrides, {
|
|
86
|
+
target: template === 'node' ? 'ES2022' : 'ES2015',
|
|
87
|
+
}, codeExample.theme, codeExample.stylesheets);
|
|
77
88
|
return {
|
|
78
89
|
files,
|
|
79
90
|
title: 'SKY UX Demo',
|
|
@@ -87,7 +98,7 @@ export class SkyDocsCodeExamplesEditorService {
|
|
|
87
98
|
},
|
|
88
99
|
};
|
|
89
100
|
}
|
|
90
|
-
parseStackBlitzFiles(sourceCode, dependencies, theme, stylesheets = []) {
|
|
101
|
+
parseStackBlitzFiles(sourceCode, dependencies, overrides, compilerOptions, theme, stylesheets = []) {
|
|
91
102
|
const srcPath = 'src/';
|
|
92
103
|
const appPath = `${srcPath}app/`;
|
|
93
104
|
const banner = `/**
|
|
@@ -96,20 +107,17 @@ export class SkyDocsCodeExamplesEditorService {
|
|
|
96
107
|
**/
|
|
97
108
|
`;
|
|
98
109
|
const moduleImportStatements = [
|
|
99
|
-
`import { NgModule } from '@angular/core';`,
|
|
100
110
|
`import { FormsModule, ReactiveFormsModule } from '@angular/forms';`,
|
|
101
|
-
`import { BrowserAnimationsModule } from '@angular/platform-browser/animations';`,
|
|
102
|
-
`import { RouterModule } from '@angular/router';`,
|
|
103
|
-
`import { provideInitialTheme } from '@skyux/theme';`,
|
|
104
|
-
`import { AppComponent } from './app.component';`,
|
|
105
|
-
];
|
|
106
|
-
const moduleImports = [
|
|
107
|
-
'BrowserAnimationsModule',
|
|
108
|
-
'FormsModule',
|
|
109
|
-
'ReactiveFormsModule',
|
|
110
|
-
'RouterModule.forRoot([])',
|
|
111
111
|
];
|
|
112
|
-
const
|
|
112
|
+
const moduleImports = ['FormsModule', 'ReactiveFormsModule'];
|
|
113
|
+
const files = {
|
|
114
|
+
'.stackblitzrc': JSON.stringify({
|
|
115
|
+
env: {
|
|
116
|
+
NG_BUILD_PARALLEL_TS: '0',
|
|
117
|
+
NODE_ENV: 'development',
|
|
118
|
+
},
|
|
119
|
+
}, undefined, 2),
|
|
120
|
+
};
|
|
113
121
|
let appComponentTemplate = '';
|
|
114
122
|
sourceCode.forEach((file) => {
|
|
115
123
|
files[`${appPath}${file.fileName}`] = file.rawContents;
|
|
@@ -135,24 +143,17 @@ export class SkyDocsCodeExamplesEditorService {
|
|
|
135
143
|
});
|
|
136
144
|
files[`${appPath}app.component.ts`] = `${banner}
|
|
137
145
|
import { Component } from '@angular/core';
|
|
146
|
+
${moduleImportStatements.join('\n\n')}
|
|
138
147
|
|
|
139
148
|
@Component({
|
|
140
149
|
selector: 'sky-demo-app',
|
|
141
|
-
template: '${appComponentTemplate}'
|
|
142
|
-
|
|
143
|
-
export class AppComponent {}
|
|
144
|
-
`;
|
|
145
|
-
files[`${appPath}app.module.ts`] = `${moduleImportStatements.join('\n\n')}
|
|
146
|
-
|
|
147
|
-
@NgModule({
|
|
150
|
+
template: '${appComponentTemplate}',
|
|
151
|
+
standalone: true,
|
|
148
152
|
imports: [
|
|
149
|
-
${moduleImports.join(',\n ')}
|
|
153
|
+
${moduleImports.join(',\n ')},
|
|
150
154
|
],
|
|
151
|
-
declarations: [AppComponent],
|
|
152
|
-
bootstrap: [AppComponent],
|
|
153
|
-
providers: [provideInitialTheme('${theme}')],
|
|
154
155
|
})
|
|
155
|
-
export class
|
|
156
|
+
export class AppComponent {}
|
|
156
157
|
`;
|
|
157
158
|
files[`${srcPath}index.html`] = `<!doctype html>
|
|
158
159
|
<html lang="en">
|
|
@@ -180,12 +181,20 @@ export class AppModule {}
|
|
|
180
181
|
import 'zone.js';
|
|
181
182
|
import '@skyux/packages/polyfills';
|
|
182
183
|
|
|
183
|
-
import {
|
|
184
|
+
import { bootstrapApplication } from '@angular/platform-browser';
|
|
185
|
+
import { provideAnimations } from '@angular/platform-browser/animations';
|
|
186
|
+
import { provideRouter } from '@angular/router';
|
|
187
|
+
import { provideInitialTheme } from '@skyux/theme';
|
|
184
188
|
|
|
185
|
-
import {
|
|
189
|
+
import { AppComponent } from './app/app.component';
|
|
186
190
|
|
|
187
|
-
|
|
188
|
-
|
|
191
|
+
void bootstrapApplication(AppComponent, {
|
|
192
|
+
providers: [
|
|
193
|
+
provideAnimations(),
|
|
194
|
+
provideInitialTheme('${theme}'),
|
|
195
|
+
provideRouter([]),
|
|
196
|
+
],
|
|
197
|
+
})
|
|
189
198
|
.catch((err) => console.error(err));
|
|
190
199
|
`;
|
|
191
200
|
files[`${srcPath}styles.scss`] = `@import '@skyux/theme/css/sky';
|
|
@@ -230,7 +239,7 @@ body {
|
|
|
230
239
|
builder: '@angular-devkit/build-angular:dev-server',
|
|
231
240
|
configurations: {
|
|
232
241
|
development: {
|
|
233
|
-
|
|
242
|
+
buildTarget: 'demo:build:development',
|
|
234
243
|
},
|
|
235
244
|
},
|
|
236
245
|
defaultConfiguration: 'development',
|
|
@@ -247,6 +256,7 @@ body {
|
|
|
247
256
|
start: 'ng serve',
|
|
248
257
|
build: 'ng build',
|
|
249
258
|
},
|
|
259
|
+
...(overrides ? { overrides } : {}),
|
|
250
260
|
}, undefined, 2);
|
|
251
261
|
files['tsconfig.app.json'] = JSON.stringify({
|
|
252
262
|
extends: './tsconfig.json',
|
|
@@ -278,6 +288,7 @@ body {
|
|
|
278
288
|
module: 'ES2022',
|
|
279
289
|
useDefineForClassFields: false,
|
|
280
290
|
lib: ['ES2022', 'dom'],
|
|
291
|
+
...compilerOptions,
|
|
281
292
|
},
|
|
282
293
|
angularCompilerOptions: {
|
|
283
294
|
fullTemplateTypeCheck: true,
|
|
@@ -318,13 +329,13 @@ body {
|
|
|
318
329
|
const trimmed = found.rawContents.replace(/\s/g, '');
|
|
319
330
|
return trimmed.split(`selector:'`)[1].split(`'`)[0];
|
|
320
331
|
}
|
|
321
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
322
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.
|
|
332
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: SkyDocsCodeExamplesEditorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
333
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: SkyDocsCodeExamplesEditorService, providedIn: 'root' }); }
|
|
323
334
|
}
|
|
324
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
335
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: SkyDocsCodeExamplesEditorService, decorators: [{
|
|
325
336
|
type: Injectable,
|
|
326
337
|
args: [{
|
|
327
338
|
providedIn: 'root',
|
|
328
339
|
}]
|
|
329
340
|
}] });
|
|
330
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS1leGFtcGxlcy1lZGl0b3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RvY3MtdG9vbHMvc3JjL21vZHVsZXMvY29kZS1leGFtcGxlcy9jb2RlLWV4YW1wbGVzLWVkaXRvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLElBQUksZUFBZSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsT0FBTyxJQUFJLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN4RCxPQUFPLEVBQUUsT0FBTyxJQUFJLG9CQUFvQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQy9ELE9BQU8sYUFBYSxNQUFNLGlCQUFpQixDQUFDOztBQWM1Qzs7R0FFRztBQUlILE1BQU0sT0FBTyxnQ0FBZ0M7SUFDcEMsWUFBWSxDQUNqQixXQUErQixFQUMvQixXQUErQixhQUFhO1FBRTVDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3hELE1BQU0sUUFBUSxHQUFhLEVBQUUsQ0FBQztRQUM5QixJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsNkJBQTZCLENBQUMsRUFBRSxDQUFDO1lBQ2pELFFBQVEsQ0FBQyxJQUFJLENBQUMsNkJBQTZCLENBQUMsQ0FBQztRQUMvQyxDQUFDO2FBQU0sSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLDJCQUEyQixDQUFDLEVBQUUsQ0FBQztZQUN0RCxRQUFRLENBQUMsSUFBSSxDQUFDLDJCQUEyQixDQUFDLENBQUM7UUFDN0MsQ0FBQztRQUNELE1BQU0sT0FBTyxHQUEwQjtZQUNyQyxRQUFRO1NBQ1QsQ0FBQztRQUVGLGFBQWEsQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxXQUFXLENBQ1QsV0FBK0IsRUFDL0IsUUFBNEI7UUFFNUIsTUFBTSxjQUFjLEdBQUcsSUFBSSxlQUFlLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDbkQsTUFBTSxZQUFZLEdBQUcsSUFBSSxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFL0MsTUFBTSxtQkFBbUIsR0FBeUM7WUFDaEUsK0JBQStCLEVBQUUsY0FBYztZQUMvQyxxQkFBcUIsRUFBRSxjQUFjO1lBQ3JDLGNBQWMsRUFBRSxjQUFjO1lBQzlCLGNBQWMsRUFBRSxjQUFjO1lBQzlCLGlCQUFpQixFQUFFLGNBQWM7WUFDakMsbUJBQW1CLEVBQUUsY0FBYztZQUNuQyx1QkFBdUIsRUFBRSxjQUFjO1lBQ3ZDLGVBQWUsRUFBRSxjQUFjO1lBQy9CLGdCQUFnQixFQUFFLGNBQWM7WUFDaEMsMkJBQTJCLEVBQUUsY0FBYztZQUMzQyxtQ0FBbUMsRUFBRSxjQUFjO1lBQ25ELGlCQUFpQixFQUFFLGNBQWM7WUFDakMsbUJBQW1CLEVBQUUsWUFBWTtZQUNqQyxlQUFlLEVBQUUsWUFBWTtZQUM3QixlQUFlLEVBQUUsWUFBWTtZQUM3QixhQUFhLEVBQUUsWUFBWTtZQUMzQixlQUFlLEVBQUUsWUFBWTtZQUM3QixjQUFjLEVBQUUsWUFBWTtZQUM1QixvQkFBb0IsRUFBRSxZQUFZO1lBQ2xDLGFBQWEsRUFBRSxZQUFZO1lBQzNCLGFBQWEsRUFBRSxZQUFZO1lBQzNCLG1CQUFtQixFQUFFLFlBQVk7WUFDakMsZUFBZSxFQUFFLFlBQVk7WUFDN0IsZUFBZSxFQUFFLFlBQVk7WUFDN0IsaUJBQWlCLEVBQUUsWUFBWTtZQUMvQixpQkFBaUIsRUFBRSxZQUFZO1lBQy9CLGVBQWUsRUFBRSxZQUFZO1lBQzdCLGNBQWMsRUFBRSxZQUFZO1lBQzVCLGdCQUFnQixFQUFFLFFBQVE7WUFDMUIsYUFBYSxFQUFFLE9BQU87WUFDdEIsSUFBSSxFQUFFLElBQUk7WUFDVixLQUFLLEVBQUUsUUFBUTtZQUNmLFVBQVUsRUFBRSxRQUFRO1lBQ3BCLFNBQVMsRUFBRSxTQUFTO1NBQ3JCLENBQUM7UUFFRixNQUFNLGtCQUFrQixHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQ3RDLEVBQUUsRUFDRixtQkFBbUIsRUFDbkIsV0FBVyxDQUFDLG1CQUFtQixDQUNoQyxDQUFDO1FBRUYscUVBQXFFO1FBQ3JFLHlEQUF5RDtRQUN6RCxLQUFLLE1BQU0sV0FBVyxJQUFJLGtCQUFrQixFQUFFLENBQUM7WUFDN0Msd0JBQXdCO1lBQ3hCLElBQUksa0JBQWtCLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7Z0JBQ25ELE1BQU0sT0FBTyxHQUFHLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUNoRCxJQUNFLE9BQU8sS0FBSyxHQUFHO29CQUNmLGtDQUFrQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFDcEQsQ0FBQztvQkFDRCxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsR0FBRyxZQUFZLENBQUM7Z0JBQ2pELENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUVELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FDckMsV0FBVyxDQUFDLFVBQVUsRUFDdEIsa0JBQWtCLEVBQ2xCLFdBQVcsQ0FBQyxLQUFLLEVBQ2pCLFdBQVcsQ0FBQyxXQUFXLENBQ3hCLENBQUM7UUFFRixPQUFPO1lBQ0wsS0FBSztZQUNMLEtBQUssRUFBRSxhQUFhO1lBQ3BCLFdBQVcsRUFBRSxhQUFhO1lBQzFCLFFBQVE7WUFDUixZQUFZLEVBQUUsa0JBQWtCO1lBQ2hDLFFBQVEsRUFBRTtnQkFDUixPQUFPLEVBQUU7b0JBQ1AsWUFBWSxFQUFFLEtBQUs7aUJBQ3BCO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVPLG9CQUFvQixDQUMxQixVQUFtQyxFQUNuQyxZQUFrRCxFQUNsRCxLQUE4QixFQUM5QixjQUF3QixFQUFFO1FBSTFCLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUN2QixNQUFNLE9BQU8sR0FBRyxHQUFHLE9BQU8sTUFBTSxDQUFDO1FBRWpDLE1BQU0sTUFBTSxHQUFHOzs7O0VBSWpCLENBQUM7UUFFQyxNQUFNLHNCQUFzQixHQUFhO1lBQ3ZDLDJDQUEyQztZQUMzQyxvRUFBb0U7WUFDcEUsaUZBQWlGO1lBQ2pGLGlEQUFpRDtZQUNqRCxxREFBcUQ7WUFDckQsaURBQWlEO1NBQ2xELENBQUM7UUFFRixNQUFNLGFBQWEsR0FBYTtZQUM5Qix5QkFBeUI7WUFDekIsYUFBYTtZQUNiLHFCQUFxQjtZQUNyQiwwQkFBMEI7U0FDM0IsQ0FBQztRQUVGLE1BQU0sS0FBSyxHQUE0QixFQUFFLENBQUM7UUFFMUMsSUFBSSxvQkFBb0IsR0FBRyxFQUFFLENBQUM7UUFFOUIsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQzFCLEtBQUssQ0FBQyxHQUFHLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1lBRXZELGdEQUFnRDtZQUNoRCxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQzdDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUN4RCxNQUFNLFVBQVUsR0FBRyxLQUFLLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztnQkFFckUsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUN0RSxNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FDakQsaUJBQWlCLEVBQ2pCLFVBQVUsQ0FDWCxDQUFDO2dCQUVGLG9CQUFvQixJQUFJLElBQUksaUJBQWlCLE1BQU0saUJBQWlCLEdBQUcsQ0FBQztnQkFFeEUsYUFBYSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDL0Isc0JBQXNCLENBQUMsSUFBSSxDQUN6QixZQUFZLFVBQVUsWUFBWSxVQUFVLElBQUksQ0FDakQsQ0FBQztZQUNKLENBQUM7WUFFRCwyREFBMkQ7WUFDM0QsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLG1CQUFtQixFQUFFLENBQUM7Z0JBQzFDLE1BQU0sYUFBYSxHQUFHLGVBQWUsQ0FBQztnQkFDdEMsTUFBTSxpQkFBaUIsR0FBRyxVQUFVLENBQUM7Z0JBQ3JDLE1BQU0sVUFBVSxHQUFHLEtBQUssSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO2dCQUVyRSxvQkFBb0IsSUFBSSxJQUFJLGlCQUFpQixLQUFLLENBQUM7Z0JBRW5ELGFBQWEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7Z0JBQ2xDLHNCQUFzQixDQUFDLElBQUksQ0FDekIsWUFBWSxhQUFhLFlBQVksVUFBVSxJQUFJLENBQ3BELENBQUM7WUFDSixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxLQUFLLENBQUMsR0FBRyxPQUFPLGtCQUFrQixDQUFDLEdBQUcsR0FBRyxNQUFNOzs7OztlQUtwQyxvQkFBb0I7OztDQUdsQyxDQUFDO1FBRUUsS0FBSyxDQUFDLEdBQUcsT0FBTyxlQUFlLENBQUMsR0FBRyxHQUFHLHNCQUFzQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7Ozs7TUFJdkUsYUFBYSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7Ozs7cUNBSUUsS0FBSzs7O0NBR3pDLENBQUM7UUFFRSxLQUFLLENBQUMsR0FBRyxPQUFPLFlBQVksQ0FBQyxHQUFHOzs7Ozs7Ozs7Ozs7O2lHQWE2RCxvQkFBb0IsQ0FBQyxJQUFJOzs7Ozs7OztDQVF6SCxDQUFDO1FBRUUsS0FBSyxDQUFDLEdBQUcsT0FBTyxTQUFTLENBQUMsR0FBRyxHQUFHLE1BQU07Ozs7Ozs7Ozs7O0NBV3pDLENBQUM7UUFFRSxLQUFLLENBQUMsR0FBRyxPQUFPLGFBQWEsQ0FBQyxHQUFHOzs7Ozs7O0NBT3BDLENBQUM7UUFFRSxXQUFXLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFFcEMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQ3BDO1lBQ0UsT0FBTyxFQUFFLG9EQUFvRDtZQUM3RCxPQUFPLEVBQUUsQ0FBQztZQUNWLFFBQVEsRUFBRTtnQkFDUixJQUFJLEVBQUU7b0JBQ0osV0FBVyxFQUFFLGFBQWE7b0JBQzFCLElBQUksRUFBRSxFQUFFO29CQUNSLFVBQVUsRUFBRSxLQUFLO29CQUNqQixNQUFNLEVBQUUsS0FBSztvQkFDYixTQUFTLEVBQUU7d0JBQ1QsS0FBSyxFQUFFOzRCQUNMLE9BQU8sRUFBRSwyQ0FBMkM7NEJBQ3BELE9BQU8sRUFBRTtnQ0FDUCxLQUFLLEVBQUUsZ0JBQWdCO2dDQUN2QixPQUFPLEVBQUUsYUFBYTtnQ0FDdEIsVUFBVSxFQUFFLFdBQVc7Z0NBQ3ZCLFFBQVEsRUFBRSxtQkFBbUI7Z0NBQzdCLG1CQUFtQixFQUFFLE1BQU07Z0NBQzNCLE1BQU0sRUFBRSxXQUFXOzZCQUNwQjs0QkFDRCxjQUFjLEVBQUU7Z0NBQ2QsV0FBVyxFQUFFO29DQUNYLFlBQVksRUFBRSxLQUFLO29DQUNuQixlQUFlLEVBQUUsS0FBSztvQ0FDdEIsU0FBUyxFQUFFLElBQUk7aUNBQ2hCOzZCQUNGOzRCQUNELG9CQUFvQixFQUFFLGFBQWE7eUJBQ3BDO3dCQUNELEtBQUssRUFBRTs0QkFDTCxPQUFPLEVBQUUsMENBQTBDOzRCQUNuRCxjQUFjLEVBQUU7Z0NBQ2QsV0FBVyxFQUFFO29DQUNYLGFBQWEsRUFBRSx3QkFBd0I7aUNBQ3hDOzZCQUNGOzRCQUNELG9CQUFvQixFQUFFLGFBQWE7eUJBQ3BDO3FCQUNGO2lCQUNGO2FBQ0Y7U0FDRixFQUNELFNBQVMsRUFDVCxDQUFDLENBQ0YsQ0FBQztRQUVGLEtBQUssQ0FBQyxjQUFjLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUNwQztZQUNFLElBQUksRUFBRSxnQkFBZ0I7WUFDdEIsT0FBTyxFQUFFLE9BQU87WUFDaEIsWUFBWTtZQUNaLE9BQU8sRUFBRTtnQkFDUCxLQUFLLEVBQUUsVUFBVTtnQkFDakIsS0FBSyxFQUFFLFVBQVU7YUFDbEI7U0FDRixFQUNELFNBQVMsRUFDVCxDQUFDLENBQ0YsQ0FBQztRQUVGLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQ3pDO1lBQ0UsT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixlQUFlLEVBQUU7Z0JBQ2YsTUFBTSxFQUFFLGVBQWU7Z0JBQ3ZCLEtBQUssRUFBRSxFQUFFO2FBQ1Y7WUFDRCxLQUFLLEVBQUUsQ0FBQyxhQUFhLENBQUM7WUFDdEIsT0FBTyxFQUFFLENBQUMsZUFBZSxDQUFDO1NBQzNCLEVBQ0QsU0FBUyxFQUNULENBQUMsQ0FDRixDQUFDO1FBRUYsS0FBSyxDQUFDLGVBQWUsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQ3JDO1lBQ0UsYUFBYSxFQUFFLEtBQUs7WUFDcEIsZUFBZSxFQUFFO2dCQUNmLE1BQU0sRUFBRSxJQUFJO2dCQUNaLGdDQUFnQyxFQUFFLElBQUk7Z0JBQ3RDLGtCQUFrQixFQUFFLElBQUk7Z0JBQ3hCLGtDQUFrQyxFQUFFLElBQUk7Z0JBQ3hDLGlCQUFpQixFQUFFLElBQUk7Z0JBQ3ZCLDBCQUEwQixFQUFFLElBQUk7Z0JBQ2hDLFNBQVMsRUFBRSxJQUFJO2dCQUNmLFdBQVcsRUFBRSxLQUFLO2dCQUNsQixrQkFBa0IsRUFBRSxJQUFJO2dCQUN4QixlQUFlLEVBQUUsSUFBSTtnQkFDckIsc0JBQXNCLEVBQUUsSUFBSTtnQkFDNUIsZ0JBQWdCLEVBQUUsTUFBTTtnQkFDeEIsYUFBYSxFQUFFLElBQUk7Z0JBQ25CLFNBQVMsRUFBRSxDQUFDLHFCQUFxQixDQUFDO2dCQUNsQyxNQUFNLEVBQUUsUUFBUTtnQkFDaEIsTUFBTSxFQUFFLFFBQVE7Z0JBQ2hCLHVCQUF1QixFQUFFLEtBQUs7Z0JBQzlCLEdBQUcsRUFBRSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUM7YUFDdkI7WUFDRCxzQkFBc0IsRUFBRTtnQkFDdEIscUJBQXFCLEVBQUUsSUFBSTtnQkFDM0IsK0JBQStCLEVBQUUsS0FBSztnQkFDdEMseUJBQXlCLEVBQUUsSUFBSTtnQkFDL0IsMEJBQTBCLEVBQUUsSUFBSTtnQkFDaEMsZUFBZSxFQUFFLElBQUk7YUFDdEI7U0FDRixFQUNELFNBQVMsRUFDVCxDQUFDLENBQ0YsQ0FBQztRQUVGLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVPLGFBQWEsQ0FBQyxRQUFnQjtRQUNwQyxPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFTyxzQkFBc0IsQ0FBQyxRQUFnQjtRQUM3QyxNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQzVDLE9BQU8sUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLFNBQVMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFTyxvQkFBb0IsQ0FBQyxRQUFnQjtRQUMzQyxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUU1QyxJQUFJLFFBQVEsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNkLE1BQU0sMkRBQTJELENBQUM7UUFDcEUsQ0FBQztRQUVELFFBQVEsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRWxDLE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUV4RCxJQUFJLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDMUIsTUFBTSxDQUNKLHFFQUFxRTtnQkFDckUsYUFBYSxVQUFVLENBQUMsTUFBTSxLQUFLLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUk7Z0JBQzVELHdFQUF3RSxDQUN6RSxDQUFDO1FBQ0osQ0FBQztRQUVELE9BQU8sVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7SUFFTyxvQkFBb0IsQ0FDMUIsa0JBQTBCLEVBQzFCLFVBQW1DO1FBRW5DLE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNyQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLFNBQVMsa0JBQWtCLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3RFLENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRXJELE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdEQsQ0FBQzs4R0FyWlUsZ0NBQWdDO2tIQUFoQyxnQ0FBZ0MsY0FGL0IsTUFBTTs7MkZBRVAsZ0NBQWdDO2tCQUg1QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZFUlNJT04gYXMgQU5HVUxBUl9WRVJTSU9OLCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBWRVJTSU9OIGFzIFNLWV9VWF9WRVJTSU9OIH0gZnJvbSAnQHNreXV4L2NvcmUnO1xuaW1wb3J0IHsgVkVSU0lPTiBhcyBTS1lfVVhfSUNPTlNfVkVSU0lPTiB9IGZyb20gJ0Bza3l1eC9pY29ucyc7XG5pbXBvcnQgU3RhY2tCbGl0elNESyBmcm9tICdAc3RhY2tibGl0ei9zZGsnO1xuaW1wb3J0IHtcbiAgT3Blbk9wdGlvbnMgYXMgU3RhY2tCbGl0ek9wZW5PcHRpb25zLFxuICBQcm9qZWN0IGFzIFN0YWNrQmxpdHpQcm9qZWN0LFxufSBmcm9tICdAc3RhY2tibGl0ei9zZGsnO1xuXG5pbXBvcnQgeyBTa3lEb2NzU291cmNlQ29kZUZpbGUgfSBmcm9tICcuLi9zb3VyY2UtY29kZS9zb3VyY2UtY29kZS1maWxlJztcblxuaW1wb3J0IHsgU2t5RG9jc0NvZGVFeGFtcGxlIH0gZnJvbSAnLi9jb2RlLWV4YW1wbGUnO1xuaW1wb3J0IHsgU2t5RG9jc0NvZGVFeGFtcGxlTW9kdWxlRGVwZW5kZW5jaWVzIH0gZnJvbSAnLi9jb2RlLWV4YW1wbGUtbW9kdWxlLWRlcGVuZGVuY2llcyc7XG5pbXBvcnQgeyBTa3lEb2NzQ29kZUV4YW1wbGVUaGVtZSB9IGZyb20gJy4vY29kZS1leGFtcGxlLXRoZW1lJztcblxudHlwZSBTdGFja2JsaXR6VGVtcGxhdGUgPSAnYW5ndWxhci1jbGknIHwgJ25vZGUnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2t5RG9jc0NvZGVFeGFtcGxlc0VkaXRvclNlcnZpY2Uge1xuICBwdWJsaWMgbGF1bmNoRWRpdG9yKFxuICAgIGNvZGVFeGFtcGxlOiBTa3lEb2NzQ29kZUV4YW1wbGUsXG4gICAgdGVtcGxhdGU6IFN0YWNrYmxpdHpUZW1wbGF0ZSA9ICdhbmd1bGFyLWNsaScsXG4gICk6IHZvaWQge1xuICAgIGNvbnN0IHByb2plY3QgPSB0aGlzLiNnZXRQYXlsb2FkKGNvZGVFeGFtcGxlLCB0ZW1wbGF0ZSk7XG4gICAgY29uc3Qgb3BlbkZpbGU6IHN0cmluZ1tdID0gW107XG4gICAgaWYgKHByb2plY3QuZmlsZXNbJ3NyYy9hcHAvZGVtby5jb21wb25lbnQuaHRtbCddKSB7XG4gICAgICBvcGVuRmlsZS5wdXNoKCdzcmMvYXBwL2RlbW8uY29tcG9uZW50Lmh0bWwnKTtcbiAgICB9IGVsc2UgaWYgKHByb2plY3QuZmlsZXNbJ3NyYy9hcHAvZGVtby5jb21wb25lbnQudHMnXSkge1xuICAgICAgb3BlbkZpbGUucHVzaCgnc3JjL2FwcC9kZW1vLmNvbXBvbmVudC50cycpO1xuICAgIH1cbiAgICBjb25zdCBvcHRpb25zOiBTdGFja0JsaXR6T3Blbk9wdGlvbnMgPSB7XG4gICAgICBvcGVuRmlsZSxcbiAgICB9O1xuXG4gICAgU3RhY2tCbGl0elNESy5vcGVuUHJvamVjdChwcm9qZWN0LCBvcHRpb25zKTtcbiAgfVxuXG4gICNnZXRQYXlsb2FkKFxuICAgIGNvZGVFeGFtcGxlOiBTa3lEb2NzQ29kZUV4YW1wbGUsXG4gICAgdGVtcGxhdGU6IFN0YWNrYmxpdHpUZW1wbGF0ZSxcbiAgKTogU3RhY2tCbGl0elByb2plY3Qge1xuICAgIGNvbnN0IGFuZ3VsYXJWZXJzaW9uID0gYF4ke0FOR1VMQVJfVkVSU0lPTi5tYWpvcn1gO1xuICAgIGNvbnN0IHNreXV4VmVyc2lvbiA9IGBeJHtTS1lfVVhfVkVSU0lPTi5mdWxsfWA7XG5cbiAgICBjb25zdCBkZWZhdWx0RGVwZW5kZW5jaWVzOiBTa3lEb2NzQ29kZUV4YW1wbGVNb2R1bGVEZXBlbmRlbmNpZXMgPSB7XG4gICAgICAnQGFuZ3VsYXItZGV2a2l0L2J1aWxkLWFuZ3VsYXInOiBhbmd1bGFyVmVyc2lvbixcbiAgICAgICdAYW5ndWxhci9hbmltYXRpb25zJzogYW5ndWxhclZlcnNpb24sXG4gICAgICAnQGFuZ3VsYXIvY2RrJzogYW5ndWxhclZlcnNpb24sXG4gICAgICAnQGFuZ3VsYXIvY2xpJzogYW5ndWxhclZlcnNpb24sXG4gICAgICAnQGFuZ3VsYXIvY29tbW9uJzogYW5ndWxhclZlcnNpb24sXG4gICAgICAnQGFuZ3VsYXIvY29tcGlsZXInOiBhbmd1bGFyVmVyc2lvbixcbiAgICAgICdAYW5ndWxhci9jb21waWxlci1jbGknOiBhbmd1bGFyVmVyc2lvbixcbiAgICAgICdAYW5ndWxhci9jb3JlJzogYW5ndWxhclZlcnNpb24sXG4gICAgICAnQGFuZ3VsYXIvZm9ybXMnOiBhbmd1bGFyVmVyc2lvbixcbiAgICAgICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJzogYW5ndWxhclZlcnNpb24sXG4gICAgICAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlci1keW5hbWljJzogYW5ndWxhclZlcnNpb24sXG4gICAgICAnQGFuZ3VsYXIvcm91dGVyJzogYW5ndWxhclZlcnNpb24sXG4gICAgICAnQHNreXV4L2FuaW1hdGlvbnMnOiBza3l1eFZlcnNpb24sXG4gICAgICAnQHNreXV4L2Fzc2V0cyc6IHNreXV4VmVyc2lvbixcbiAgICAgICdAc2t5dXgvY29uZmlnJzogc2t5dXhWZXJzaW9uLFxuICAgICAgJ0Bza3l1eC9jb3JlJzogc2t5dXhWZXJzaW9uLFxuICAgICAgJ0Bza3l1eC9lcnJvcnMnOiBza3l1eFZlcnNpb24sXG4gICAgICAnQHNreXV4L2Zvcm1zJzogc2t5dXhWZXJzaW9uLFxuICAgICAgJ0Bza3l1eC9oZWxwLWlubGluZSc6IHNreXV4VmVyc2lvbixcbiAgICAgICdAc2t5dXgvaTE4bic6IHNreXV4VmVyc2lvbixcbiAgICAgICdAc2t5dXgvaWNvbic6IHNreXV4VmVyc2lvbixcbiAgICAgICdAc2t5dXgvaW5kaWNhdG9ycyc6IHNreXV4VmVyc2lvbixcbiAgICAgICdAc2t5dXgvbGF5b3V0Jzogc2t5dXhWZXJzaW9uLFxuICAgICAgJ0Bza3l1eC9tb2RhbHMnOiBza3l1eFZlcnNpb24sXG4gICAgICAnQHNreXV4L3BhY2thZ2VzJzogc2t5dXhWZXJzaW9uLFxuICAgICAgJ0Bza3l1eC9wb3BvdmVycyc6IHNreXV4VmVyc2lvbixcbiAgICAgICdAc2t5dXgvcm91dGVyJzogc2t5dXhWZXJzaW9uLFxuICAgICAgJ0Bza3l1eC90aGVtZSc6IHNreXV4VmVyc2lvbixcbiAgICAgICdAdHlwZXMvamFzbWluZSc6ICd+NS4xLjQnLFxuICAgICAgJ25nMi1kcmFndWxhJzogJzUuMS4wJyxcbiAgICAgIHJ4anM6ICdeNycsXG4gICAgICB0c2xpYjogJ14yLjYuMicsXG4gICAgICB0eXBlc2NyaXB0OiAnfjUuNS4zJyxcbiAgICAgICd6b25lLmpzJzogJ34wLjE0LjQnLFxuICAgIH07XG5cbiAgICBjb25zdCBtZXJnZWREZXBlbmRlbmNpZXMgPSBPYmplY3QuYXNzaWduKFxuICAgICAge30sXG4gICAgICBkZWZhdWx0RGVwZW5kZW5jaWVzLFxuICAgICAgY29kZUV4YW1wbGUucGFja2FnZURlcGVuZGVuY2llcyxcbiAgICApO1xuXG4gICAgLy8gRW5zdXJlIGFueSBAc2t5dXggZGVwZW5kZW5jaWVzIGxpc3QgdGhlIGNvcnJlY3QgdmVyc2lvbiBvZiBTS1kgVVguXG4gICAgLy8gZS5nLiBgXCJAc2t5dXgvY29yZVwiOiBcIipcImAgLS0+IGBcIkBza3l1eC9jb3JlXCI6IFwiNS4wLjBcImBcbiAgICBmb3IgKGNvbnN0IHBhY2thZ2VOYW1lIGluIG1lcmdlZERlcGVuZGVuY2llcykge1xuICAgICAgLyppc3RhbmJ1bCBpZ25vcmUgZWxzZSovXG4gICAgICBpZiAobWVyZ2VkRGVwZW5kZW5jaWVzLmhhc093blByb3BlcnR5KHBhY2thZ2VOYW1lKSkge1xuICAgICAgICBjb25zdCB2ZXJzaW9uID0gbWVyZ2VkRGVwZW5kZW5jaWVzW3BhY2thZ2VOYW1lXTtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIHZlcnNpb24gPT09ICcqJyAmJlxuICAgICAgICAgIC9eKEBibGFja2JhdWRcXC9za3l1eC1saWItfEBza3l1eCkvLnRlc3QocGFja2FnZU5hbWUpXG4gICAgICAgICkge1xuICAgICAgICAgIG1lcmdlZERlcGVuZGVuY2llc1twYWNrYWdlTmFtZV0gPSBza3l1eFZlcnNpb247XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBmaWxlcyA9IHRoaXMucGFyc2VTdGFja0JsaXR6RmlsZXMoXG4gICAgICBjb2RlRXhhbXBsZS5zb3VyY2VDb2RlLFxuICAgICAgbWVyZ2VkRGVwZW5kZW5jaWVzLFxuICAgICAgY29kZUV4YW1wbGUudGhlbWUsXG4gICAgICBjb2RlRXhhbXBsZS5zdHlsZXNoZWV0cyxcbiAgICApO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGZpbGVzLFxuICAgICAgdGl0bGU6ICdTS1kgVVggRGVtbycsXG4gICAgICBkZXNjcmlwdGlvbjogJ1NLWSBVWCBEZW1vJyxcbiAgICAgIHRlbXBsYXRlLFxuICAgICAgZGVwZW5kZW5jaWVzOiBtZXJnZWREZXBlbmRlbmNpZXMsXG4gICAgICBzZXR0aW5nczoge1xuICAgICAgICBjb21waWxlOiB7XG4gICAgICAgICAgY2xlYXJDb25zb2xlOiBmYWxzZSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgcGFyc2VTdGFja0JsaXR6RmlsZXMoXG4gICAgc291cmNlQ29kZTogU2t5RG9jc1NvdXJjZUNvZGVGaWxlW10sXG4gICAgZGVwZW5kZW5jaWVzOiBTa3lEb2NzQ29kZUV4YW1wbGVNb2R1bGVEZXBlbmRlbmNpZXMsXG4gICAgdGhlbWU6IFNreURvY3NDb2RlRXhhbXBsZVRoZW1lLFxuICAgIHN0eWxlc2hlZXRzOiBzdHJpbmdbXSA9IFtdLFxuICApOiB7XG4gICAgW3BhdGg6IHN0cmluZ106IHN0cmluZztcbiAgfSB7XG4gICAgY29uc3Qgc3JjUGF0aCA9ICdzcmMvJztcbiAgICBjb25zdCBhcHBQYXRoID0gYCR7c3JjUGF0aH1hcHAvYDtcblxuICAgIGNvbnN0IGJhbm5lciA9IGAvKipcbiAqIFRoaXMgZmlsZSBpcyBuZWVkZWQgZm9yIHRoZSBTdGFja0JsaXR6IGRlbW8gb25seS5cbiAqIEl0IGlzIGF1dG9tYXRpY2FsbHkgcHJvdmlkZWQgd2hlbiB1c2luZyB0aGUgQW5ndWxhciBDTEkuXG4gKiovXG4gYDtcblxuICAgIGNvbnN0IG1vZHVsZUltcG9ydFN0YXRlbWVudHM6IHN0cmluZ1tdID0gW1xuICAgICAgYGltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7YCxcbiAgICAgIGBpbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztgLFxuICAgICAgYGltcG9ydCB7IEJyb3dzZXJBbmltYXRpb25zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlci9hbmltYXRpb25zJztgLFxuICAgICAgYGltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7YCxcbiAgICAgIGBpbXBvcnQgeyBwcm92aWRlSW5pdGlhbFRoZW1lIH0gZnJvbSAnQHNreXV4L3RoZW1lJztgLFxuICAgICAgYGltcG9ydCB7IEFwcENvbXBvbmVudCB9IGZyb20gJy4vYXBwLmNvbXBvbmVudCc7YCxcbiAgICBdO1xuXG4gICAgY29uc3QgbW9kdWxlSW1wb3J0czogc3RyaW5nW10gPSBbXG4gICAgICAnQnJvd3NlckFuaW1hdGlvbnNNb2R1bGUnLFxuICAgICAgJ0Zvcm1zTW9kdWxlJyxcbiAgICAgICdSZWFjdGl2ZUZvcm1zTW9kdWxlJyxcbiAgICAgICdSb3V0ZXJNb2R1bGUuZm9yUm9vdChbXSknLFxuICAgIF07XG5cbiAgICBjb25zdCBmaWxlczogeyBbXzogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcblxuICAgIGxldCBhcHBDb21wb25lbnRUZW1wbGF0ZSA9ICcnO1xuXG4gICAgc291cmNlQ29kZS5mb3JFYWNoKChmaWxlKSA9PiB7XG4gICAgICBmaWxlc1tgJHthcHBQYXRofSR7ZmlsZS5maWxlTmFtZX1gXSA9IGZpbGUucmF3Q29udGVudHM7XG5cbiAgICAgIC8vIFNldHVwIG1vZHVsZSBpbXBvcnRzIGFuZCBjb21wb25lbnQgc2VsZWN0b3JzLlxuICAgICAgaWYgKGZpbGUuZmlsZU5hbWUuaW5kZXhPZignLm1vZHVsZS50cycpID4gLTEpIHtcbiAgICAgICAgY29uc3QgbW9kdWxlTmFtZSA9IHRoaXMuZ2V0TW9kdWxlTmFtZShmaWxlLnJhd0NvbnRlbnRzKTtcbiAgICAgICAgY29uc3QgaW1wb3J0UGF0aCA9IGAuLyR7dGhpcy5nZXRGaWxlbmFtZU5vRXh0ZW5zaW9uKGZpbGUuZmlsZU5hbWUpfWA7XG5cbiAgICAgICAgY29uc3QgZXhwb3J0ZWRDb21wb25lbnQgPSB0aGlzLmdldEV4cG9ydGVkQ29tcG9uZW50KGZpbGUucmF3Q29udGVudHMpO1xuICAgICAgICBjb25zdCBjb21wb25lbnRTZWxlY3RvciA9IHRoaXMuZ2V0Q29tcG9uZW50U2VsZWN0b3IoXG4gICAgICAgICAgZXhwb3J0ZWRDb21wb25lbnQsXG4gICAgICAgICAgc291cmNlQ29kZSxcbiAgICAgICAgKTtcblxuICAgICAgICBhcHBDb21wb25lbnRUZW1wbGF0ZSArPSBgPCR7Y29tcG9uZW50U2VsZWN0b3J9PjwvJHtjb21wb25lbnRTZWxlY3Rvcn0+YDtcblxuICAgICAgICBtb2R1bGVJbXBvcnRzLnB1c2gobW9kdWxlTmFtZSk7XG4gICAgICAgIG1vZHVsZUltcG9ydFN0YXRlbWVudHMucHVzaChcbiAgICAgICAgICBgaW1wb3J0IHsgJHttb2R1bGVOYW1lfSB9IGZyb20gJyR7aW1wb3J0UGF0aH0nO2AsXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIC8vIFN0YW5kYWxvbmUgZW50cnkgY29tcG9uZW50cyBhcmUgbmFtZWQgZGVtby5jb21wb25lbnQudHMuXG4gICAgICBpZiAoZmlsZS5maWxlTmFtZSA9PT0gJ2RlbW8uY29tcG9uZW50LnRzJykge1xuICAgICAgICBjb25zdCBjb21wb25lbnROYW1lID0gJ0RlbW9Db21wb25lbnQnO1xuICAgICAgICBjb25zdCBjb21wb25lbnRTZWxlY3RvciA9ICdhcHAtZGVtbyc7XG4gICAgICAgIGNvbnN0IGltcG9ydFBhdGggPSBgLi8ke3RoaXMuZ2V0RmlsZW5hbWVOb0V4dGVuc2lvbihmaWxlLmZpbGVOYW1lKX1gO1xuXG4gICAgICAgIGFwcENvbXBvbmVudFRlbXBsYXRlICs9IGA8JHtjb21wb25lbnRTZWxlY3Rvcn0gLz5gO1xuXG4gICAgICAgIG1vZHVsZUltcG9ydHMucHVzaChjb21wb25lbnROYW1lKTtcbiAgICAgICAgbW9kdWxlSW1wb3J0U3RhdGVtZW50cy5wdXNoKFxuICAgICAgICAgIGBpbXBvcnQgeyAke2NvbXBvbmVudE5hbWV9IH0gZnJvbSAnJHtpbXBvcnRQYXRofSc7YCxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGZpbGVzW2Ake2FwcFBhdGh9YXBwLmNvbXBvbmVudC50c2BdID0gYCR7YmFubmVyfVxuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1kZW1vLWFwcCcsXG4gIHRlbXBsYXRlOiAnJHthcHBDb21wb25lbnRUZW1wbGF0ZX0nXG59KVxuZXhwb3J0IGNsYXNzIEFwcENvbXBvbmVudCB7fVxuYDtcblxuICAgIGZpbGVzW2Ake2FwcFBhdGh9YXBwLm1vZHVsZS50c2BdID0gYCR7bW9kdWxlSW1wb3J0U3RhdGVtZW50cy5qb2luKCdcXG5cXG4nKX1cblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgICR7bW9kdWxlSW1wb3J0cy5qb2luKCcsXFxuICAgICcpfVxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtBcHBDb21wb25lbnRdLFxuICBib290c3RyYXA6IFtBcHBDb21wb25lbnRdLFxuICBwcm92aWRlcnM6IFtwcm92aWRlSW5pdGlhbFRoZW1lKCcke3RoZW1lfScpXSxcbn0pXG5leHBvcnQgY2xhc3MgQXBwTW9kdWxlIHt9XG5gO1xuXG4gICAgZmlsZXNbYCR7c3JjUGF0aH1pbmRleC5odG1sYF0gPSBgPCFkb2N0eXBlIGh0bWw+XG48aHRtbCBsYW5nPVwiZW5cIj5cbjxoZWFkPlxuICA8bWV0YSBjaGFyc2V0PVwidXRmLThcIj5cbiAgPHRpdGxlPlNreSBVWCBEZW1vPC90aXRsZT5cbiAgPGJhc2UgaHJlZj1cIi9cIj5cbiAgPG1ldGEgbmFtZT1cInZpZXdwb3J0XCIgY29udGVudD1cIndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xXCI+XG4gIDwhLS1cbiAgICBUaGUgQ1NTIGxpbmtzIGFyZSBuZWVkZWQgZm9yIHRoZSBTdGFja0JsaXR6IGRlbW8gb25seS5cbiAgICBUaGlzIGlzIGEgd29ya2Fyb3VuZCBmb3IgYSBrbm93biBidWcgdGhhdCBwcmV2ZW50cyBleHRlcm5hbCBpbXBvcnRzIGluIENTUy5cbiAgICBodHRwczovL2dpdGh1Yi5jb20vc3RhY2tibGl0ei9jb3JlL2lzc3Vlcy8xMzNcbiAgLS0+XG4gIDxsaW5rIHJlbD1cInN0eWxlc2hlZXRcIiB0eXBlPVwidGV4dC9jc3NcIiBocmVmPVwiaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9mb250LWF3ZXNvbWUvNC43LjAvY3NzL2ZvbnQtYXdlc29tZS5taW4uY3NzXCIgY3Jvc3NvcmlnaW49XCJhbm9ueW1vdXNcIj5cbiAgPGxpbmsgcmVsPVwic3R5bGVzaGVldFwiIHR5cGU9XCJ0ZXh0L2Nzc1wiIGhyZWY9XCJodHRwczovL3NreS5ibGFja2JhdWRjZG4ubmV0L3N0YXRpYy9za3l1eC1pY29ucy8ke1NLWV9VWF9JQ09OU19WRVJTSU9OLmZ1bGx9L2Fzc2V0cy9jc3Mvc2t5dXgtaWNvbnMubWluLmNzc1wiIGNyb3Nzb3JpZ2luPVwiYW5vbnltb3VzXCI+XG48L2hlYWQ+XG48Ym9keT5cbiAgPHNreS1kZW1vLWFwcD5cbiAgICBMb2FkaW5nLi4uXG4gIDwvc2t5LWRlbW8tYXBwPlxuPC9ib2R5PlxuPC9odG1sPlxuYDtcblxuICAgIGZpbGVzW2Ake3NyY1BhdGh9bWFpbi50c2BdID0gYCR7YmFubmVyfVxuaW1wb3J0ICd6b25lLmpzJztcbmltcG9ydCAnQHNreXV4L3BhY2thZ2VzL3BvbHlmaWxscyc7XG5cbmltcG9ydCB7IHBsYXRmb3JtQnJvd3NlckR5bmFtaWMgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyLWR5bmFtaWMnO1xuXG5pbXBvcnQgeyBBcHBNb2R1bGUgfSBmcm9tICcuL2FwcC9hcHAubW9kdWxlJztcblxucGxhdGZvcm1Ccm93c2VyRHluYW1pYygpXG4gIC5ib290c3RyYXBNb2R1bGUoQXBwTW9kdWxlKVxuICAuY2F0Y2goKGVycikgPT4gY29uc29sZS5lcnJvcihlcnIpKTtcbmA7XG5cbiAgICBmaWxlc1tgJHtzcmNQYXRofXN0eWxlcy5zY3NzYF0gPSBgQGltcG9ydCAnQHNreXV4L3RoZW1lL2Nzcy9za3knO1xuQGltcG9ydCAnQHNreXV4L3RoZW1lL2Nzcy90aGVtZXMvbW9kZXJuL3N0eWxlcyc7XG5cbmJvZHkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBtYXJnaW46IDE1cHg7XG59XG5gO1xuXG4gICAgc3R5bGVzaGVldHMucHVzaCgnc3JjL3N0eWxlcy5zY3NzJyk7XG5cbiAgICBmaWxlc1snYW5ndWxhci5qc29uJ10gPSBKU09OLnN0cmluZ2lmeShcbiAgICAgIHtcbiAgICAgICAgJHNjaGVtYTogJy4vbm9kZV9tb2R1bGVzL0Bhbmd1bGFyL2NsaS9saWIvY29uZmlnL3NjaGVtYS5qc29uJyxcbiAgICAgICAgdmVyc2lvbjogMSxcbiAgICAgICAgcHJvamVjdHM6IHtcbiAgICAgICAgICBkZW1vOiB7XG4gICAgICAgICAgICBwcm9qZWN0VHlwZTogJ2FwcGxpY2F0aW9uJyxcbiAgICAgICAgICAgIHJvb3Q6ICcnLFxuICAgICAgICAgICAgc291cmNlUm9vdDogJ3NyYycsXG4gICAgICAgICAgICBwcmVmaXg6ICdhcHAnLFxuICAgICAgICAgICAgYXJjaGl0ZWN0OiB7XG4gICAgICAgICAgICAgIGJ1aWxkOiB7XG4gICAgICAgICAgICAgICAgYnVpbGRlcjogJ0Bhbmd1bGFyLWRldmtpdC9idWlsZC1hbmd1bGFyOmFwcGxpY2F0aW9uJyxcbiAgICAgICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBpbmRleDogJ3NyYy9pbmRleC5odG1sJyxcbiAgICAgICAgICAgICAgICAgIGJyb3dzZXI6ICdzcmMvbWFpbi50cycsXG4gICAgICAgICAgICAgICAgICBvdXRwdXRQYXRoOiAnZGlzdC9kZW1vJyxcbiAgICAgICAgICAgICAgICAgIHRzQ29uZmlnOiAndHNjb25maWcuYXBwLmpzb24nLFxuICAgICAgICAgICAgICAgICAgaW5saW5lU3R5bGVMYW5ndWFnZTogJ3Njc3MnLFxuICAgICAgICAgICAgICAgICAgc3R5bGVzOiBzdHlsZXNoZWV0cyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGNvbmZpZ3VyYXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBkZXZlbG9wbWVudDoge1xuICAgICAgICAgICAgICAgICAgICBvcHRpbWl6YXRpb246IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICBleHRyYWN0TGljZW5zZXM6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICBzb3VyY2VNYXA6IHRydWUsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgZGVmYXVsdENvbmZpZ3VyYXRpb246ICdkZXZlbG9wbWVudCcsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHNlcnZlOiB7XG4gICAgICAgICAgICAgICAgYnVpbGRlcjogJ0Bhbmd1bGFyLWRldmtpdC9idWlsZC1hbmd1bGFyOmRldi1zZXJ2ZXInLFxuICAgICAgICAgICAgICAgIGNvbmZpZ3VyYXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBkZXZlbG9wbWVudDoge1xuICAgICAgICAgICAgICAgICAgICBicm93c2VyVGFyZ2V0OiAnZGVtbzpidWlsZDpkZXZlbG9wbWVudCcsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgZGVmYXVsdENvbmZpZ3VyYXRpb246ICdkZXZlbG9wbWVudCcsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgMixcbiAgICApO1xuXG4gICAgZmlsZXNbJ3BhY2thZ2UuanNvbiddID0gSlNPTi5zdHJpbmdpZnkoXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdza3l1eC1zcGEtZGVtbycsXG4gICAgICAgIHZlcnNpb246ICcwLjAuMCcsXG4gICAgICAgIGRlcGVuZGVuY2llcyxcbiAgICAgICAgc2NyaXB0czoge1xuICAgICAgICAgIHN0YXJ0OiAnbmcgc2VydmUnLFxuICAgICAgICAgIGJ1aWxkOiAnbmcgYnVpbGQnLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIDIsXG4gICAgKTtcblxuICAgIGZpbGVzWyd0c2NvbmZpZy5hcHAuanNvbiddID0gSlNPTi5zdHJpbmdpZnkoXG4gICAgICB7XG4gICAgICAgIGV4dGVuZHM6ICcuL3RzY29uZmlnLmpzb24nLFxuICAgICAgICBjb21waWxlck9wdGlvbnM6IHtcbiAgICAgICAgICBvdXREaXI6ICcuL291dC10c2MvYXBwJyxcbiAgICAgICAgICB0eXBlczogW10sXG4gICAgICAgIH0sXG4gICAgICAgIGZpbGVzOiBbJ3NyYy9tYWluLnRzJ10sXG4gICAgICAgIGluY2x1ZGU6IFsnc3JjLyoqLyouZC50cyddLFxuICAgICAgfSxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIDIsXG4gICAgKTtcblxuICAgIGZpbGVzWyd0c2NvbmZpZy5qc29uJ10gPSBKU09OLnN0cmluZ2lmeShcbiAgICAgIHtcbiAgICAgICAgY29tcGlsZU9uU2F2ZTogZmFsc2UsXG4gICAgICAgIGNvbXBpbGVyT3B0aW9uczoge1xuICAgICAgICAgIHN0cmljdDogdHJ1ZSxcbiAgICAgICAgICBmb3JjZUNvbnNpc3RlbnRDYXNpbmdJbkZpbGVOYW1lczogdHJ1ZSxcbiAgICAgICAgICBub0ltcGxpY2l0T3ZlcnJpZGU6IHRydWUsXG4gICAgICAgICAgbm9Qcm9wZXJ0eUFjY2Vzc0Zyb21JbmRleFNpZ25hdHVyZTogdHJ1ZSxcbiAgICAgICAgICBub0ltcGxpY2l0UmV0dXJuczogdHJ1ZSxcbiAgICAgICAgICBub0ZhbGx0aHJvdWdoQ2FzZXNJblN3aXRjaDogdHJ1ZSxcbiAgICAgICAgICBzb3VyY2VNYXA6IHRydWUsXG4gICAgICAgICAgZGVjbGFyYXRpb246IGZhbHNlLFxuICAgICAgICAgIGRvd25sZXZlbEl0ZXJhdGlvbjogdHJ1ZSxcbiAgICAgICAgICBlc01vZHVsZUludGVyb3A6IHRydWUsXG4gICAgICAgICAgZXhwZXJpbWVudGFsRGVjb3JhdG9yczogdHJ1ZSxcbiAgICAgICAgICBtb2R1bGVSZXNvbHV0aW9uOiAnbm9kZScsXG4gICAgICAgICAgaW1wb3J0SGVscGVyczogdHJ1ZSxcbiAgICAgICAgICB0eXBlUm9vdHM6IFsnbm9kZV9tb2R1bGVzL0B0eXBlcyddLFxuICAgICAgICAgIHRhcmdldDogJ0VTMjAxNScsXG4gICAgICAgICAgbW9kdWxlOiAnRVMyMDIyJyxcbiAgICAgICAgICB1c2VEZWZpbmVGb3JDbGFzc0ZpZWxkczogZmFsc2UsXG4gICAgICAgICAgbGliOiBbJ0VTMjAyMicsICdkb20nXSxcbiAgICAgICAgfSxcbiAgICAgICAgYW5ndWxhckNvbXBpbGVyT3B0aW9uczoge1xuICAgICAgICAgIGZ1bGxUZW1wbGF0ZVR5cGVDaGVjazogdHJ1ZSxcbiAgICAgICAgICBlbmFibGVJMThuTGVnYWN5TWVzc2FnZUlkRm9ybWF0OiBmYWxzZSxcbiAgICAgICAgICBzdHJpY3RJbmplY3Rpb25QYXJhbWV0ZXJzOiB0cnVlLFxuICAgICAgICAgIHN0cmljdElucHV0QWNjZXNzTW9kaWZpZXJzOiB0cnVlLFxuICAgICAgICAgIHN0cmljdFRlbXBsYXRlczogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB1bmRlZmluZWQsXG4gICAgICAyLFxuICAgICk7XG5cbiAgICByZXR1cm4gZmlsZXM7XG4gIH1cblxuICBwcml2YXRlIGdldE1vZHVsZU5hbWUoY29udGVudHM6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGNvbnRlbnRzLnNwbGl0KCdleHBvcnQgY2xhc3MgJylbMV0uc3BsaXQoJyB7JylbMF07XG4gIH1cblxuICBwcml2YXRlIGdldEZpbGVuYW1lTm9FeHRlbnNpb24oZmlsZU5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgZXh0ZW5zaW9uID0gZmlsZU5hbWUuc3BsaXQoJy4nKS5wb3AoKTtcbiAgICByZXR1cm4gZmlsZU5hbWUucmVwbGFjZShgLiR7ZXh0ZW5zaW9ufWAsICcnKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RXhwb3J0ZWRDb21wb25lbnQoY29udGVudHM6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgdHJpbW1lZCA9IGNvbnRlbnRzLnJlcGxhY2UoL1xccy9nLCAnJyk7XG5cbiAgICBsZXQgZnJhZ21lbnQgPSB0cmltbWVkLnNwbGl0KCdleHBvcnRzOlsnKVsxXTtcbiAgICBpZiAoIWZyYWdtZW50KSB7XG4gICAgICB0aHJvdyAnWW91IG11c3QgZXhwb3J0IGEgY29tcG9uZW50IGZyb20gdGhlIGNvZGUgZXhhbXBsZSBtb2R1bGUhJztcbiAgICB9XG5cbiAgICBmcmFnbWVudCA9IGZyYWdtZW50LnNwbGl0KCddJylbMF07XG5cbiAgICBjb25zdCBjb21wb25lbnRzID0gZnJhZ21lbnQuc3BsaXQoJywnKS5maWx0ZXIoKHgpID0+IHgpO1xuXG4gICAgaWYgKGNvbXBvbmVudHMubGVuZ3RoID4gMSkge1xuICAgICAgdGhyb3cgKFxuICAgICAgICAnWW91IG1heSBvbmx5IGV4cG9ydCBhIHNpbmdsZSBjb21wb25lbnQgZnJvbSB0aGUgY29kZSBleGFtcGxlIG1vZHVsZScgK1xuICAgICAgICBgKHdlIGZvdW5kICR7Y29tcG9uZW50cy5sZW5ndGh9OiAke2NvbXBvbmVudHMuam9pbignLCAnKX0pLmAgK1xuICAgICAgICAnSXMgaXQgcG9zc2libGUgdG8gY3JlYXRlIGEgbmV3IGNvZGUgZXhhbXBsZSB3aXRoIHRoZSBleHRyYSBjb21wb25lbnRzPydcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbXBvbmVudHNbMF07XG4gIH1cblxuICBwcml2YXRlIGdldENvbXBvbmVudFNlbGVjdG9yKFxuICAgIGNvbXBvbmVudENsYXNzTmFtZTogc3RyaW5nLFxuICAgIHNvdXJjZUNvZGU6IFNreURvY3NTb3VyY2VDb2RlRmlsZVtdLFxuICApOiBzdHJpbmcge1xuICAgIGNvbnN0IGZvdW5kID0gc291cmNlQ29kZS5maW5kKChmaWxlKSA9PiB7XG4gICAgICByZXR1cm4gZmlsZS5yYXdDb250ZW50cy5pbmRleE9mKGBjbGFzcyAke2NvbXBvbmVudENsYXNzTmFtZX1gKSA+IC0xO1xuICAgIH0pO1xuXG4gICAgY29uc3QgdHJpbW1lZCA9IGZvdW5kLnJhd0NvbnRlbnRzLnJlcGxhY2UoL1xccy9nLCAnJyk7XG5cbiAgICByZXR1cm4gdHJpbW1lZC5zcGxpdChgc2VsZWN0b3I6J2ApWzFdLnNwbGl0KGAnYClbMF07XG4gIH1cbn1cbiJdfQ==
|
|
341
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS1leGFtcGxlcy1lZGl0b3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RvY3MtdG9vbHMvc3JjL21vZHVsZXMvY29kZS1leGFtcGxlcy9jb2RlLWV4YW1wbGVzLWVkaXRvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLElBQUksZUFBZSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsT0FBTyxJQUFJLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN4RCxPQUFPLEVBQUUsT0FBTyxJQUFJLG9CQUFvQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQy9ELE9BQU8sYUFBYSxNQUFNLGlCQUFpQixDQUFDOztBQWM1Qzs7R0FFRztBQUlILE1BQU0sT0FBTyxnQ0FBZ0M7SUFDcEMsWUFBWSxDQUNqQixXQUErQixFQUMvQixXQUErQixhQUFhO1FBRTVDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3hELE1BQU0sUUFBUSxHQUFhLEVBQUUsQ0FBQztRQUM5QixJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsNkJBQTZCLENBQUMsRUFBRSxDQUFDO1lBQ2pELFFBQVEsQ0FBQyxJQUFJLENBQUMsNkJBQTZCLENBQUMsQ0FBQztRQUMvQyxDQUFDO2FBQU0sSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLDJCQUEyQixDQUFDLEVBQUUsQ0FBQztZQUN0RCxRQUFRLENBQUMsSUFBSSxDQUFDLDJCQUEyQixDQUFDLENBQUM7UUFDN0MsQ0FBQztRQUNELE1BQU0sT0FBTyxHQUEwQjtZQUNyQyxRQUFRO1NBQ1QsQ0FBQztRQUVGLGFBQWEsQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxXQUFXLENBQ1Qs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Q0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7K0dBemFVLGdDQUFnQzttSEFBaEMsZ0NBQWdDLGNBRi9CLE1BQU07OzRGQUVQLGdDQUFnQztrQkFINUMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWRVJTSU9OIGFzIEFOR1VMQVJfVkVSU0lPTiwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVkVSU0lPTiBhcyBTS1lfVVhfVkVSU0lPTiB9IGZyb20gJ0Bza3l1eC9jb3JlJztcbmltcG9ydCB7IFZFUlNJT04gYXMgU0tZX1VYX0lDT05TX1ZFUlNJT04gfSBmcm9tICdAc2t5dXgvaWNvbnMnO1xuaW1wb3J0IFN0YWNrQmxpdHpTREsgZnJvbSAnQHN0YWNrYmxpdHovc2RrJztcbmltcG9ydCB7XG4gIE9wZW5PcHRpb25zIGFzIFN0YWNrQmxpdHpPcGVuT3B0aW9ucyxcbiAgUHJvamVjdCBhcyBTdGFja0JsaXR6UHJvamVjdCxcbn0gZnJvbSAnQHN0YWNrYmxpdHovc2RrJztcblxuaW1wb3J0IHsgU2t5RG9jc1NvdXJjZUNvZGVGaWxlIH0gZnJvbSAnLi4vc291cmNlLWNvZGUvc291cmNlLWNvZGUtZmlsZSc7XG5cbmltcG9ydCB7IFNreURvY3NDb2RlRXhhbXBsZSB9IGZyb20gJy4vY29kZS1leGFtcGxlJztcbmltcG9ydCB7IFNreURvY3NDb2RlRXhhbXBsZU1vZHVsZURlcGVuZGVuY2llcyB9IGZyb20gJy4vY29kZS1leGFtcGxlLW1vZHVsZS1kZXBlbmRlbmNpZXMnO1xuaW1wb3J0IHsgU2t5RG9jc0NvZGVFeGFtcGxlVGhlbWUgfSBmcm9tICcuL2NvZGUtZXhhbXBsZS10aGVtZSc7XG5cbnR5cGUgU3RhY2tibGl0elRlbXBsYXRlID0gJ2FuZ3VsYXItY2xpJyB8ICdub2RlJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFNreURvY3NDb2RlRXhhbXBsZXNFZGl0b3JTZXJ2aWNlIHtcbiAgcHVibGljIGxhdW5jaEVkaXRvcihcbiAgICBjb2RlRXhhbXBsZTogU2t5RG9jc0NvZGVFeGFtcGxlLFxuICAgIHRlbXBsYXRlOiBTdGFja2JsaXR6VGVtcGxhdGUgPSAnYW5ndWxhci1jbGknLFxuICApOiB2b2lkIHtcbiAgICBjb25zdCBwcm9qZWN0ID0gdGhpcy4jZ2V0UGF5bG9hZChjb2RlRXhhbXBsZSwgdGVtcGxhdGUpO1xuICAgIGNvbnN0IG9wZW5GaWxlOiBzdHJpbmdbXSA9IFtdO1xuICAgIGlmIChwcm9qZWN0LmZpbGVzWydzcmMvYXBwL2RlbW8uY29tcG9uZW50Lmh0bWwnXSkge1xuICAgICAgb3BlbkZpbGUucHVzaCgnc3JjL2FwcC9kZW1vLmNvbXBvbmVudC5odG1sJyk7XG4gICAgfSBlbHNlIGlmIChwcm9qZWN0LmZpbGVzWydzcmMvYXBwL2RlbW8uY29tcG9uZW50LnRzJ10pIHtcbiAgICAgIG9wZW5GaWxlLnB1c2goJ3NyYy9hcHAvZGVtby5jb21wb25lbnQudHMnKTtcbiAgICB9XG4gICAgY29uc3Qgb3B0aW9uczogU3RhY2tCbGl0ek9wZW5PcHRpb25zID0ge1xuICAgICAgb3BlbkZpbGUsXG4gICAgfTtcblxuICAgIFN0YWNrQmxpdHpTREsub3BlblByb2plY3QocHJvamVjdCwgb3B0aW9ucyk7XG4gIH1cblxuICAjZ2V0UGF5bG9hZChcbiAgICBjb2RlRXhhbXBsZTogU2t5RG9jc0NvZGVFeGFtcGxlLFxuICAgIHRlbXBsYXRlOiBTdGFja2JsaXR6VGVtcGxhdGUsXG4gICk6IFN0YWNrQmxpdHpQcm9qZWN0IHtcbiAgICBjb25zdCBhbmd1bGFyVmVyc2lvbiA9IGBeJHtBTkdVTEFSX1ZFUlNJT04ubWFqb3J9YDtcbiAgICBjb25zdCBza3l1eFZlcnNpb24gPSBgXiR7U0tZX1VYX1ZFUlNJT04uZnVsbH1gO1xuXG4gICAgY29uc3QgZGVmYXVsdERlcGVuZGVuY2llczogU2t5RG9jc0NvZGVFeGFtcGxlTW9kdWxlRGVwZW5kZW5jaWVzID0ge1xuICAgICAgJ0Bhbmd1bGFyLWRldmtpdC9idWlsZC1hbmd1bGFyJzogYW5ndWxhclZlcnNpb24sXG4gICAgICAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc6IGFuZ3VsYXJWZXJzaW9uLFxuICAgICAgJ0Bhbmd1bGFyL2Nkayc6IGFuZ3VsYXJWZXJzaW9uLFxuICAgICAgJ0Bhbmd1bGFyL2NsaSc6IGFuZ3VsYXJWZXJzaW9uLFxuICAgICAgJ0Bhbmd1bGFyL2NvbW1vbic6IGFuZ3VsYXJWZXJzaW9uLFxuICAgICAgJ0Bhbmd1bGFyL2NvbXBpbGVyJzogYW5ndWxhclZlcnNpb24sXG4gICAgICAnQGFuZ3VsYXIvY29tcGlsZXItY2xpJzogYW5ndWxhclZlcnNpb24sXG4gICAgICAnQGFuZ3VsYXIvY29yZSc6IGFuZ3VsYXJWZXJzaW9uLFxuICAgICAgJ0Bhbmd1bGFyL2Zvcm1zJzogYW5ndWxhclZlcnNpb24sXG4gICAgICAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic6IGFuZ3VsYXJWZXJzaW9uLFxuICAgICAgJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXItZHluYW1pYyc6IGFuZ3VsYXJWZXJzaW9uLFxuICAgICAgJ0Bhbmd1bGFyL3JvdXRlcic6IGFuZ3VsYXJWZXJzaW9uLFxuICAgICAgJ0Bza3l1eC9hbmltYXRpb25zJzogc2t5dXhWZXJzaW9uLFxuICAgICAgJ0Bza3l1eC9hc3NldHMnOiBza3l1eFZlcnNpb24sXG4gICAgICAnQHNreXV4L2NvbmZpZyc6IHNreXV4VmVyc2lvbixcbiAgICAgICdAc2t5dXgvY29yZSc6IHNreXV4VmVyc2lvbixcbiAgICAgICdAc2t5dXgvZXJyb3JzJzogc2t5dXhWZXJzaW9uLFxuICAgICAgJ0Bza3l1eC9mb3Jtcyc6IHNreXV4VmVyc2lvbixcbiAgICAgICdAc2t5dXgvaGVscC1pbmxpbmUnOiBza3l1eFZlcnNpb24sXG4gICAgICAnQHNreXV4L2kxOG4nOiBza3l1eFZlcnNpb24sXG4gICAgICAnQHNreXV4L2ljb24nOiBza3l1eFZlcnNpb24sXG4gICAgICAnQHNreXV4L2luZGljYXRvcnMnOiBza3l1eFZlcnNpb24sXG4gICAgICAnQHNreXV4L2xheW91dCc6IHNreXV4VmVyc2lvbixcbiAgICAgICdAc2t5dXgvbW9kYWxzJzogc2t5dXhWZXJzaW9uLFxuICAgICAgJ0Bza3l1eC9wYWNrYWdlcyc6IHNreXV4VmVyc2lvbixcbiAgICAgICdAc2t5dXgvcG9wb3ZlcnMnOiBza3l1eFZlcnNpb24sXG4gICAgICAnQHNreXV4L3JvdXRlcic6IHNreXV4VmVyc2lvbixcbiAgICAgICdAc2t5dXgvdGhlbWUnOiBza3l1eFZlcnNpb24sXG4gICAgICAnQHR5cGVzL2phc21pbmUnOiAnfjUuMS40JyxcbiAgICAgICduZzItZHJhZ3VsYSc6ICc1LjEuMCcsXG4gICAgICByeGpzOiAnXjcnLFxuICAgICAgdHNsaWI6ICdeMi42LjInLFxuICAgICAgdHlwZXNjcmlwdDogJ341LjUuMycsXG4gICAgICAnem9uZS5qcyc6ICd+MC4xNC40JyxcbiAgICB9O1xuXG4gICAgY29uc3QgbWVyZ2VkRGVwZW5kZW5jaWVzID0gT2JqZWN0LmFzc2lnbihcbiAgICAgIHt9LFxuICAgICAgZGVmYXVsdERlcGVuZGVuY2llcyxcbiAgICAgIGNvZGVFeGFtcGxlLnBhY2thZ2VEZXBlbmRlbmNpZXMsXG4gICAgKTtcblxuICAgIC8vIEVuc3VyZSBhbnkgQHNreXV4IGRlcGVuZGVuY2llcyBsaXN0IHRoZSBjb3JyZWN0IHZlcnNpb24gb2YgU0tZIFVYLlxuICAgIC8vIGUuZy4gYFwiQHNreXV4L2NvcmVcIjogXCIqXCJgIC0tPiBgXCJAc2t5dXgvY29yZVwiOiBcIjUuMC4wXCJgXG4gICAgZm9yIChjb25zdCBwYWNrYWdlTmFtZSBpbiBtZXJnZWREZXBlbmRlbmNpZXMpIHtcbiAgICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UqL1xuICAgICAgaWYgKG1lcmdlZERlcGVuZGVuY2llcy5oYXNPd25Qcm9wZXJ0eShwYWNrYWdlTmFtZSkpIHtcbiAgICAgICAgY29uc3QgdmVyc2lvbiA9IG1lcmdlZERlcGVuZGVuY2llc1twYWNrYWdlTmFtZV07XG4gICAgICAgIGlmIChcbiAgICAgICAgICB2ZXJzaW9uID09PSAnKicgJiZcbiAgICAgICAgICAvXihAYmxhY2tiYXVkXFwvc2t5dXgtbGliLXxAc2t5dXgpLy50ZXN0KHBhY2thZ2VOYW1lKVxuICAgICAgICApIHtcbiAgICAgICAgICBtZXJnZWREZXBlbmRlbmNpZXNbcGFja2FnZU5hbWVdID0gc2t5dXhWZXJzaW9uO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3Qgb3ZlcnJpZGVzID1cbiAgICAgIHRlbXBsYXRlID09PSAnbm9kZSdcbiAgICAgICAgPyB7XG4gICAgICAgICAgICAnbmcyLWRyYWd1bGFANS4xLjAnOiB7XG4gICAgICAgICAgICAgICdAYW5ndWxhci9hbmltYXRpb25zJzogJz49MTYuMC4wIDwxOS4wLjAnLFxuICAgICAgICAgICAgICAnQGFuZ3VsYXIvY29yZSc6ICc+PTE2LjAuMCA8MTkuMC4wJyxcbiAgICAgICAgICAgICAgJ0Bhbmd1bGFyL2NvbW1vbic6ICc+PTE2LjAuMCA8MTkuMC4wJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfVxuICAgICAgICA6IHVuZGVmaW5lZDtcblxuICAgIGNvbnN0IGZpbGVzID0gdGhpcy5wYXJzZVN0YWNrQmxpdHpGaWxlcyhcbiAgICAgIGNvZGVFeGFtcGxlLnNvdXJjZUNvZGUsXG4gICAgICBtZXJnZWREZXBlbmRlbmNpZXMsXG4gICAgICBvdmVycmlkZXMsXG4gICAgICB7XG4gICAgICAgIHRhcmdldDogdGVtcGxhdGUgPT09ICdub2RlJyA/ICdFUzIwMjInIDogJ0VTMjAxNScsXG4gICAgICB9LFxuICAgICAgY29kZUV4YW1wbGUudGhlbWUsXG4gICAgICBjb2RlRXhhbXBsZS5zdHlsZXNoZWV0cyxcbiAgICApO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGZpbGVzLFxuICAgICAgdGl0bGU6ICdTS1kgVVggRGVtbycsXG4gICAgICBkZXNjcmlwdGlvbjogJ1NLWSBVWCBEZW1vJyxcbiAgICAgIHRlbXBsYXRlLFxuICAgICAgZGVwZW5kZW5jaWVzOiBtZXJnZWREZXBlbmRlbmNpZXMsXG4gICAgICBzZXR0aW5nczoge1xuICAgICAgICBjb21waWxlOiB7XG4gICAgICAgICAgY2xlYXJDb25zb2xlOiBmYWxzZSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgcGFyc2VTdGFja0JsaXR6RmlsZXMoXG4gICAgc291cmNlQ29kZTogU2t5RG9jc1NvdXJjZUNvZGVGaWxlW10sXG4gICAgZGVwZW5kZW5jaWVzOiBTa3lEb2NzQ29kZUV4YW1wbGVNb2R1bGVEZXBlbmRlbmNpZXMsXG4gICAgb3ZlcnJpZGVzOiBvYmplY3QgfCB1bmRlZmluZWQsXG4gICAgY29tcGlsZXJPcHRpb25zOiBvYmplY3QsXG4gICAgdGhlbWU6IFNreURvY3NDb2RlRXhhbXBsZVRoZW1lLFxuICAgIHN0eWxlc2hlZXRzOiBzdHJpbmdbXSA9IFtdLFxuICApOiB7XG4gICAgW3BhdGg6IHN0cmluZ106IHN0cmluZztcbiAgfSB7XG4gICAgY29uc3Qgc3JjUGF0aCA9ICdzcmMvJztcbiAgICBjb25zdCBhcHBQYXRoID0gYCR7c3JjUGF0aH1hcHAvYDtcblxuICAgIGNvbnN0IGJhbm5lciA9IGAvKipcbiAqIFRoaXMgZmlsZSBpcyBuZWVkZWQgZm9yIHRoZSBTdGFja0JsaXR6IGRlbW8gb25seS5cbiAqIEl0IGlzIGF1dG9tYXRpY2FsbHkgcHJvdmlkZWQgd2hlbiB1c2luZyB0aGUgQW5ndWxhciBDTEkuXG4gKiovXG4gYDtcblxuICAgIGNvbnN0IG1vZHVsZUltcG9ydFN0YXRlbWVudHM6IHN0cmluZ1tdID0gW1xuICAgICAgYGltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO2AsXG4gICAgXTtcblxuICAgIGNvbnN0IG1vZHVsZUltcG9ydHM6IHN0cmluZ1tdID0gWydGb3Jtc01vZHVsZScsICdSZWFjdGl2ZUZvcm1zTW9kdWxlJ107XG5cbiAgICBjb25zdCBmaWxlczogeyBbXzogc3RyaW5nXTogc3RyaW5nIH0gPSB7XG4gICAgICAnLnN0YWNrYmxpdHpyYyc6IEpTT04uc3RyaW5naWZ5KFxuICAgICAgICB7XG4gICAgICAgICAgZW52OiB7XG4gICAgICAgICAgICBOR19CVUlMRF9QQVJBTExFTF9UUzogJzAnLFxuICAgICAgICAgICAgTk9ERV9FTlY6ICdkZXZlbG9wbWVudCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAyLFxuICAgICAgKSxcbiAgICB9O1xuXG4gICAgbGV0IGFwcENvbXBvbmVudFRlbXBsYXRlID0gJyc7XG5cbiAgICBzb3VyY2VDb2RlLmZvckVhY2goKGZpbGUpID0+IHtcbiAgICAgIGZpbGVzW2Ake2FwcFBhdGh9JHtmaWxlLmZpbGVOYW1lfWBdID0gZmlsZS5yYXdDb250ZW50cztcblxuICAgICAgLy8gU2V0dXAgbW9kdWxlIGltcG9ydHMgYW5kIGNvbXBvbmVudCBzZWxlY3RvcnMuXG4gICAgICBpZiAoZmlsZS5maWxlTmFtZS5pbmRleE9mKCcubW9kdWxlLnRzJykgPiAtMSkge1xuICAgICAgICBjb25zdCBtb2R1bGVOYW1lID0gdGhpcy5nZXRNb2R1bGVOYW1lKGZpbGUucmF3Q29udGVudHMpO1xuICAgICAgICBjb25zdCBpbXBvcnRQYXRoID0gYC4vJHt0aGlzLmdldEZpbGVuYW1lTm9FeHRlbnNpb24oZmlsZS5maWxlTmFtZSl9YDtcblxuICAgICAgICBjb25zdCBleHBvcnRlZENvbXBvbmVudCA9IHRoaXMuZ2V0RXhwb3J0ZWRDb21wb25lbnQoZmlsZS5yYXdDb250ZW50cyk7XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudFNlbGVjdG9yID0gdGhpcy5nZXRDb21wb25lbnRTZWxlY3RvcihcbiAgICAgICAgICBleHBvcnRlZENvbXBvbmVudCxcbiAgICAgICAgICBzb3VyY2VDb2RlLFxuICAgICAgICApO1xuXG4gICAgICAgIGFwcENvbXBvbmVudFRlbXBsYXRlICs9IGA8JHtjb21wb25lbnRTZWxlY3Rvcn0+PC8ke2NvbXBvbmVudFNlbGVjdG9yfT5gO1xuXG4gICAgICAgIG1vZHVsZUltcG9ydHMucHVzaChtb2R1bGVOYW1lKTtcbiAgICAgICAgbW9kdWxlSW1wb3J0U3RhdGVtZW50cy5wdXNoKFxuICAgICAgICAgIGBpbXBvcnQgeyAke21vZHVsZU5hbWV9IH0gZnJvbSAnJHtpbXBvcnRQYXRofSc7YCxcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgLy8gU3RhbmRhbG9uZSBlbnRyeSBjb21wb25lbnRzIGFyZSBuYW1lZCBkZW1vLmNvbXBvbmVudC50cy5cbiAgICAgIGlmIChmaWxlLmZpbGVOYW1lID09PSAnZGVtby5jb21wb25lbnQudHMnKSB7XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudE5hbWUgPSAnRGVtb0NvbXBvbmVudCc7XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudFNlbGVjdG9yID0gJ2FwcC1kZW1vJztcbiAgICAgICAgY29uc3QgaW1wb3J0UGF0aCA9IGAuLyR7dGhpcy5nZXRGaWxlbmFtZU5vRXh0ZW5zaW9uKGZpbGUuZmlsZU5hbWUpfWA7XG5cbiAgICAgICAgYXBwQ29tcG9uZW50VGVtcGxhdGUgKz0gYDwke2NvbXBvbmVudFNlbGVjdG9yfSAvPmA7XG5cbiAgICAgICAgbW9kdWxlSW1wb3J0cy5wdXNoKGNvbXBvbmVudE5hbWUpO1xuICAgICAgICBtb2R1bGVJbXBvcnRTdGF0ZW1lbnRzLnB1c2goXG4gICAgICAgICAgYGltcG9ydCB7ICR7Y29tcG9uZW50TmFtZX0gfSBmcm9tICcke2ltcG9ydFBhdGh9JztgLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgZmlsZXNbYCR7YXBwUGF0aH1hcHAuY29tcG9uZW50LnRzYF0gPSBgJHtiYW5uZXJ9XG5pbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbiR7bW9kdWxlSW1wb3J0U3RhdGVtZW50cy5qb2luKCdcXG5cXG4nKX1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LWRlbW8tYXBwJyxcbiAgdGVtcGxhdGU6ICcke2FwcENvbXBvbmVudFRlbXBsYXRlfScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICAke21vZHVsZUltcG9ydHMuam9pbignLFxcbiAgICAnKX0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFwcENvbXBvbmVudCB7fVxuYDtcblxuICAgIGZpbGVzW2Ake3NyY1BhdGh9aW5kZXguaHRtbGBdID0gYDwhZG9jdHlwZSBodG1sPlxuPGh0bWwgbGFuZz1cImVuXCI+XG48aGVhZD5cbiAgPG1ldGEgY2hhcnNldD1cInV0Zi04XCI+XG4gIDx0aXRsZT5Ta3kgVVggRGVtbzwvdGl0bGU+XG4gIDxiYXNlIGhyZWY9XCIvXCI+XG4gIDxtZXRhIG5hbWU9XCJ2aWV3cG9ydFwiIGNvbnRlbnQ9XCJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MVwiPlxuICA8IS0tXG4gICAgVGhlIENTUyBsaW5rcyBhcmUgbmVlZGVkIGZvciB0aGUgU3RhY2tCbGl0eiBkZW1vIG9ubHkuXG4gICAgVGhpcyBpcyBhIHdvcmthcm91bmQgZm9yIGEga25vd24gYnVnIHRoYXQgcHJldmVudHMgZXh0ZXJuYWwgaW1wb3J0cyBpbiBDU1MuXG4gICAgaHR0cHM6Ly9naXRodWIuY29tL3N0YWNrYmxpdHovY29yZS9pc3N1ZXMvMTMzXG4gIC0tPlxuICA8bGluayByZWw9XCJzdHlsZXNoZWV0XCIgdHlwZT1cInRleHQvY3NzXCIgaHJlZj1cImh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vZm9udC1hd2Vzb21lLzQuNy4wL2Nzcy9mb250LWF3ZXNvbWUubWluLmNzc1wiIGNyb3Nzb3JpZ2luPVwiYW5vbnltb3VzXCI+XG4gIDxsaW5rIHJlbD1cInN0eWxlc2hlZXRcIiB0eXBlPVwidGV4dC9jc3NcIiBocmVmPVwiaHR0cHM6Ly9za3kuYmxhY2tiYXVkY2RuLm5ldC9zdGF0aWMvc2t5dXgtaWNvbnMvJHtTS1lfVVhfSUNPTlNfVkVSU0lPTi5mdWxsfS9hc3NldHMvY3NzL3NreXV4LWljb25zLm1pbi5jc3NcIiBjcm9zc29yaWdpbj1cImFub255bW91c1wiPlxuPC9oZWFkPlxuPGJvZHk+XG4gIDxza3ktZGVtby1hcHA+XG4gICAgTG9hZGluZy4uLlxuICA8L3NreS1kZW1vLWFwcD5cbjwvYm9keT5cbjwvaHRtbD5cbmA7XG5cbiAgICBmaWxlc1tgJHtzcmNQYXRofW1haW4udHNgXSA9IGAke2Jhbm5lcn1cbmltcG9ydCAnem9uZS5qcyc7XG5pbXBvcnQgJ0Bza3l1eC9wYWNrYWdlcy9wb2x5ZmlsbHMnO1xuXG5pbXBvcnQgeyBib290c3RyYXBBcHBsaWNhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgcHJvdmlkZUFuaW1hdGlvbnMgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgcHJvdmlkZVJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBwcm92aWRlSW5pdGlhbFRoZW1lIH0gZnJvbSAnQHNreXV4L3RoZW1lJztcblxuaW1wb3J0IHsgQXBwQ29tcG9uZW50IH0gZnJvbSAnLi9hcHAvYXBwLmNvbXBvbmVudCc7XG5cbnZvaWQgYm9vdHN0cmFwQXBwbGljYXRpb24oQXBwQ29tcG9uZW50LCB7XG4gIHByb3ZpZGVyczogW1xuICAgIHByb3ZpZGVBbmltYXRpb25zKCksXG4gICAgcHJvdmlkZUluaXRpYWxUaGVtZSgnJHt0aGVtZX0nKSxcbiAgICBwcm92aWRlUm91dGVyKFtdKSxcbiAgXSxcbn0pXG4gIC5jYXRjaCgoZXJyKSA9PiBjb25zb2xlLmVycm9yKGVycikpO1xuYDtcblxuICAgIGZpbGVzW2Ake3NyY1BhdGh9c3R5bGVzLnNjc3NgXSA9IGBAaW1wb3J0ICdAc2t5dXgvdGhlbWUvY3NzL3NreSc7XG5AaW1wb3J0ICdAc2t5dXgvdGhlbWUvY3NzL3RoZW1lcy9tb2Rlcm4vc3R5bGVzJztcblxuYm9keSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIG1hcmdpbjogMTVweDtcbn1cbmA7XG5cbiAgICBzdHlsZXNoZWV0cy5wdXNoKCdzcmMvc3R5bGVzLnNjc3MnKTtcblxuICAgIGZpbGVzWydhbmd1bGFyLmpzb24nXSA9IEpTT04uc3RyaW5naWZ5KFxuICAgICAge1xuICAgICAgICAkc2NoZW1hOiAnLi9ub2RlX21vZHVsZXMvQGFuZ3VsYXIvY2xpL2xpYi9jb25maWcvc2NoZW1hLmpzb24nLFxuICAgICAgICB2ZXJzaW9uOiAxLFxuICAgICAgICBwcm9qZWN0czoge1xuICAgICAgICAgIGRlbW86IHtcbiAgICAgICAgICAgIHByb2plY3RUeXBlOiAnYXBwbGljYXRpb24nLFxuICAgICAgICAgICAgcm9vdDogJycsXG4gICAgICAgICAgICBzb3VyY2VSb290OiAnc3JjJyxcbiAgICAgICAgICAgIHByZWZpeDogJ2FwcCcsXG4gICAgICAgICAgICBhcmNoaXRlY3Q6IHtcbiAgICAgICAgICAgICAgYnVpbGQ6IHtcbiAgICAgICAgICAgICAgICBidWlsZGVyOiAnQGFuZ3VsYXItZGV2a2l0L2J1aWxkLWFuZ3VsYXI6YXBwbGljYXRpb24nLFxuICAgICAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGluZGV4OiAnc3JjL2luZGV4Lmh0bWwnLFxuICAgICAgICAgICAgICAgICAgYnJvd3NlcjogJ3NyYy9tYWluLnRzJyxcbiAgICAgICAgICAgICAgICAgIG91dHB1dFBhdGg6ICdkaXN0L2RlbW8nLFxuICAgICAgICAgICAgICAgICAgdHNDb25maWc6ICd0c2NvbmZpZy5hcHAuanNvbicsXG4gICAgICAgICAgICAgICAgICBpbmxpbmVTdHlsZUxhbmd1YWdlOiAnc2NzcycsXG4gICAgICAgICAgICAgICAgICBzdHlsZXM6IHN0eWxlc2hlZXRzLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgY29uZmlndXJhdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGRldmVsb3BtZW50OiB7XG4gICAgICAgICAgICAgICAgICAgIG9wdGltaXphdGlvbjogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIGV4dHJhY3RMaWNlbnNlczogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIHNvdXJjZU1hcDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBkZWZhdWx0Q29uZmlndXJhdGlvbjogJ2RldmVsb3BtZW50JyxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgc2VydmU6IHtcbiAgICAgICAgICAgICAgICBidWlsZGVyOiAnQGFuZ3VsYXItZGV2a2l0L2J1aWxkLWFuZ3VsYXI6ZGV2LXNlcnZlcicsXG4gICAgICAgICAgICAgICAgY29uZmlndXJhdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGRldmVsb3BtZW50OiB7XG4gICAgICAgICAgICAgICAgICAgIGJ1aWxkVGFyZ2V0OiAnZGVtbzpidWlsZDpkZXZlbG9wbWVudCcsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgZGVmYXVsdENvbmZpZ3VyYXRpb246ICdkZXZlbG9wbWVudCcsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgMixcbiAgICApO1xuXG4gICAgZmlsZXNbJ3BhY2thZ2UuanNvbiddID0gSlNPTi5zdHJpbmdpZnkoXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdza3l1eC1zcGEtZGVtbycsXG4gICAgICAgIHZlcnNpb246ICcwLjAuMCcsXG4gICAgICAgIGRlcGVuZGVuY2llcyxcbiAgICAgICAgc2NyaXB0czoge1xuICAgICAgICAgIHN0YXJ0OiAnbmcgc2VydmUnLFxuICAgICAgICAgIGJ1aWxkOiAnbmcgYnVpbGQnLFxuICAgICAgICB9LFxuICAgICAgICAuLi4ob3ZlcnJpZGVzID8geyBvdmVycmlkZXMgfSA6IHt9KSxcbiAgICAgIH0sXG4gICAgICB1bmRlZmluZWQsXG4gICAgICAyLFxuICAgICk7XG5cbiAgICBmaWxlc1sndHNjb25maWcuYXBwLmpzb24nXSA9IEpTT04uc3RyaW5naWZ5KFxuICAgICAge1xuICAgICAgICBleHRlbmRzOiAnLi90c2NvbmZpZy5qc29uJyxcbiAgICAgICAgY29tcGlsZXJPcHRpb25zOiB7XG4gICAgICAgICAgb3V0RGlyOiAnLi9vdXQtdHNjL2FwcCcsXG4gICAgICAgICAgdHlwZXM6IFtdLFxuICAgICAgICB9LFxuICAgICAgICBmaWxlczogWydzcmMvbWFpbi50cyddLFxuICAgICAgICBpbmNsdWRlOiBbJ3NyYy8qKi8qLmQudHMnXSxcbiAgICAgIH0sXG4gICAgICB1bmRlZmluZWQsXG4gICAgICAyLFxuICAgICk7XG5cbiAgICBmaWxlc1sndHNjb25maWcuanNvbiddID0gSlNPTi5zdHJpbmdpZnkoXG4gICAgICB7XG4gICAgICAgIGNvbXBpbGVPblNhdmU6IGZhbHNlLFxuICAgICAgICBjb21waWxlck9wdGlvbnM6IHtcbiAgICAgICAgICBzdHJpY3Q6IHRydWUsXG4gICAgICAgICAgZm9yY2VDb25zaXN0ZW50Q2FzaW5nSW5GaWxlTmFtZXM6IHRydWUsXG4gICAgICAgICAgbm9JbXBsaWNpdE92ZXJyaWRlOiB0cnVlLFxuICAgICAgICAgIG5vUHJvcGVydHlBY2Nlc3NGcm9tSW5kZXhTaWduYXR1cmU6IHRydWUsXG4gICAgICAgICAgbm9JbXBsaWNpdFJldHVybnM6IHRydWUsXG4gICAgICAgICAgbm9GYWxsdGhyb3VnaENhc2VzSW5Td2l0Y2g6IHRydWUsXG4gICAgICAgICAgc291cmNlTWFwOiB0cnVlLFxuICAgICAgICAgIGRlY2xhcmF0aW9uOiBmYWxzZSxcbiAgICAgICAgICBkb3dubGV2ZWxJdGVyYXRpb246IHRydWUsXG4gICAgICAgICAgZXNNb2R1bGVJbnRlcm9wOiB0cnVlLFxuICAgICAgICAgIGV4cGVyaW1lbnRhbERlY29yYXRvcnM6IHRydWUsXG4gICAgICAgICAgbW9kdWxlUmVzb2x1dGlvbjogJ25vZGUnLFxuICAgICAgICAgIGltcG9ydEhlbHBlcnM6IHRydWUsXG4gICAgICAgICAgdHlwZVJvb3RzOiBbJ25vZGVfbW9kdWxlcy9AdHlwZXMnXSxcbiAgICAgICAgICB0YXJnZXQ6ICdFUzIwMTUnLFxuICAgICAgICAgIG1vZHVsZTogJ0VTMjAyMicsXG4gICAgICAgICAgdXNlRGVmaW5lRm9yQ2xhc3NGaWVsZHM6IGZhbHNlLFxuICAgICAgICAgIGxpYjogWydFUzIwMjInLCAnZG9tJ10sXG4gICAgICAgICAgLi4uY29tcGlsZXJPcHRpb25zLFxuICAgICAgICB9LFxuICAgICAgICBhbmd1bGFyQ29tcGlsZXJPcHRpb25zOiB7XG4gICAgICAgICAgZnVsbFRlbXBsYXRlVHlwZUNoZWNrOiB0cnVlLFxuICAgICAgICAgIGVuYWJsZUkxOG5MZWdhY3lNZXNzYWdlSWRGb3JtYXQ6IGZhbHNlLFxuICAgICAgICAgIHN0cmljdEluamVjdGlvblBhcmFtZXRlcnM6IHRydWUsXG4gICAgICAgICAgc3RyaWN0SW5wdXRBY2Nlc3NNb2RpZmllcnM6IHRydWUsXG4gICAgICAgICAgc3RyaWN0VGVtcGxhdGVzOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIDIsXG4gICAgKTtcblxuICAgIHJldHVybiBmaWxlcztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TW9kdWxlTmFtZShjb250ZW50czogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gY29udGVudHMuc3BsaXQoJ2V4cG9ydCBjbGFzcyAnKVsxXS5zcGxpdCgnIHsnKVswXTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RmlsZW5hbWVOb0V4dGVuc2lvbihmaWxlTmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBleHRlbnNpb24gPSBmaWxlTmFtZS5zcGxpdCgnLicpLnBvcCgpO1xuICAgIHJldHVybiBmaWxlTmFtZS5yZXBsYWNlKGAuJHtleHRlbnNpb259YCwgJycpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRFeHBvcnRlZENvbXBvbmVudChjb250ZW50czogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCB0cmltbWVkID0gY29udGVudHMucmVwbGFjZSgvXFxzL2csICcnKTtcblxuICAgIGxldCBmcmFnbWVudCA9IHRyaW1tZWQuc3BsaXQoJ2V4cG9ydHM6WycpWzFdO1xuICAgIGlmICghZnJhZ21lbnQpIHtcbiAgICAgIHRocm93ICdZb3UgbXVzdCBleHBvcnQgYSBjb21wb25lbnQgZnJvbSB0aGUgY29kZSBleGFtcGxlIG1vZHVsZSEnO1xuICAgIH1cblxuICAgIGZyYWdtZW50ID0gZnJhZ21lbnQuc3BsaXQoJ10nKVswXTtcblxuICAgIGNvbnN0IGNvbXBvbmVudHMgPSBmcmFnbWVudC5zcGxpdCgnLCcpLmZpbHRlcigoeCkgPT4geCk7XG5cbiAgICBpZiAoY29tcG9uZW50cy5sZW5ndGggPiAxKSB7XG4gICAgICB0aHJvdyAoXG4gICAgICAgICdZb3UgbWF5IG9ubHkgZXhwb3J0IGEgc2luZ2xlIGNvbXBvbmVudCBmcm9tIHRoZSBjb2RlIGV4YW1wbGUgbW9kdWxlJyArXG4gICAgICAgIGAod2UgZm91bmQgJHtjb21wb25lbnRzLmxlbmd0aH06ICR7Y29tcG9uZW50cy5qb2luKCcsICcpfSkuYCArXG4gICAgICAgICdJcyBpdCBwb3NzaWJsZSB0byBjcmVhdGUgYSBuZXcgY29kZSBleGFtcGxlIHdpdGggdGhlIGV4dHJhIGNvbXBvbmVudHM/J1xuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gY29tcG9uZW50c1swXTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q29tcG9uZW50U2VsZWN0b3IoXG4gICAgY29tcG9uZW50Q2xhc3NOYW1lOiBzdHJpbmcsXG4gICAgc291cmNlQ29kZTogU2t5RG9jc1NvdXJjZUNvZGVGaWxlW10sXG4gICk6IHN0cmluZyB7XG4gICAgY29uc3QgZm91bmQgPSBzb3VyY2VDb2RlLmZpbmQoKGZpbGUpID0+IHtcbiAgICAgIHJldHVybiBmaWxlLnJhd0NvbnRlbnRzLmluZGV4T2YoYGNsYXNzICR7Y29tcG9uZW50Q2xhc3NOYW1lfWApID4gLTE7XG4gICAgfSk7XG5cbiAgICBjb25zdCB0cmltbWVkID0gZm91bmQucmF3Q29udGVudHMucmVwbGFjZSgvXFxzL2csICcnKTtcblxuICAgIHJldHVybiB0cmltbWVkLnNwbGl0KGBzZWxlY3RvcjonYClbMV0uc3BsaXQoYCdgKVswXTtcbiAgfVxufVxuIl19
|