@ng-doc/app 17.5.4 → 17.5.6
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/components/playground/base-playground.d.ts +5 -2
- package/esm2022/components/api-list/api-list.component.mjs +5 -5
- package/esm2022/components/breadcrumb/breadcrumb.component.mjs +3 -3
- package/esm2022/components/code/code.component.mjs +3 -3
- package/esm2022/components/demo/demo.component.mjs +4 -4
- package/esm2022/components/demo-displayer/demo-displayer.component.mjs +3 -3
- package/esm2022/components/demo-pane/demo-pane.component.mjs +4 -4
- package/esm2022/components/fullscreen-button/fullscreen-button.component.mjs +3 -3
- package/esm2022/components/kind-icon/kind-icon.component.mjs +3 -3
- package/esm2022/components/link/link.component.mjs +3 -3
- package/esm2022/components/navbar/navbar.component.mjs +3 -3
- package/esm2022/components/page/page.component.mjs +4 -4
- package/esm2022/components/page-link/page-link.component.mjs +3 -3
- package/esm2022/components/page-navigation/page-navigation.component.mjs +3 -3
- package/esm2022/components/playground/base-playground.mjs +10 -4
- package/esm2022/components/playground/playground-demo/playground-demo.component.mjs +9 -4
- package/esm2022/components/playground/playground-properties/playground-properties.component.mjs +5 -5
- package/esm2022/components/playground/playground-property/playground-property.component.mjs +4 -4
- package/esm2022/components/playground/playground.component.mjs +4 -4
- package/esm2022/components/root/root.component.mjs +9 -9
- package/esm2022/components/search/search.component.mjs +4 -4
- package/esm2022/components/search-result/search-result.component.mjs +4 -4
- package/esm2022/components/sidebar/sidebar-category/sidebar-category.component.mjs +4 -4
- package/esm2022/components/sidebar/sidebar-item/sidebar-item.component.mjs +3 -3
- package/esm2022/components/sidebar/sidebar.component.mjs +3 -3
- package/esm2022/components/tabs/tabs.component.mjs +3 -3
- package/esm2022/components/theme-toggle/theme-toggle.component.mjs +4 -4
- package/esm2022/components/toc/toc-element/toc-element.component.mjs +3 -3
- package/esm2022/components/toc/toc.component.mjs +4 -4
- package/esm2022/directives/code-highlighter/code-highlighter.directive.mjs +4 -4
- package/esm2022/directives/route-active/route-active.directive.mjs +3 -3
- package/esm2022/helpers/as-boolean.mjs +1 -1
- package/esm2022/helpers/create-component.mjs +1 -1
- package/esm2022/helpers/generate-toc.mjs +1 -1
- package/esm2022/pipes/extract-value/extract-value.pipe.mjs +3 -3
- package/esm2022/pipes/filter-by-text/filter-by-text.pipe.mjs +3 -3
- package/esm2022/pipes/sanitize-html/sanitize-html.pipe.mjs +3 -3
- package/esm2022/processors/page-processor/page-processor.directive.mjs +4 -4
- package/esm2022/processors/processors/tooltip.processor.mjs +4 -4
- package/esm2022/providers/ng-doc-app/provide-ng-doc-app.mjs +1 -1
- package/esm2022/services/sidebar/sidebar.service.mjs +4 -4
- package/esm2022/services/store/store.service.mjs +3 -3
- package/esm2022/services/theme/theme.service.mjs +4 -4
- package/esm2022/type-controls/boolean-control/boolean-control.component.mjs +3 -3
- package/esm2022/type-controls/number-control/number-control.component.mjs +3 -3
- package/esm2022/type-controls/string-control/string-control.component.mjs +3 -3
- package/esm2022/type-controls/type-alias-control/type-alias-control.component.mjs +3 -3
- package/fesm2022/ng-doc-app-components-api-list.mjs +4 -4
- package/fesm2022/ng-doc-app-components-api-list.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-breadcrumb.mjs +3 -3
- package/fesm2022/ng-doc-app-components-code.mjs +3 -3
- package/fesm2022/ng-doc-app-components-demo-displayer.mjs +3 -3
- package/fesm2022/ng-doc-app-components-demo-pane.mjs +3 -3
- package/fesm2022/ng-doc-app-components-demo-pane.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-demo.mjs +3 -3
- package/fesm2022/ng-doc-app-components-demo.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-fullscreen-button.mjs +3 -3
- package/fesm2022/ng-doc-app-components-kind-icon.mjs +3 -3
- package/fesm2022/ng-doc-app-components-link.mjs +3 -3
- package/fesm2022/ng-doc-app-components-navbar.mjs +3 -3
- package/fesm2022/ng-doc-app-components-page-link.mjs +3 -3
- package/fesm2022/ng-doc-app-components-page-navigation.mjs +3 -3
- package/fesm2022/ng-doc-app-components-page.mjs +3 -3
- package/fesm2022/ng-doc-app-components-page.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-playground.mjs +27 -17
- package/fesm2022/ng-doc-app-components-playground.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-root.mjs +9 -9
- package/fesm2022/ng-doc-app-components-search-result.mjs +3 -3
- package/fesm2022/ng-doc-app-components-search-result.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-search.mjs +3 -3
- package/fesm2022/ng-doc-app-components-search.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-sidebar.mjs +9 -9
- package/fesm2022/ng-doc-app-components-sidebar.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-tabs.mjs +3 -3
- package/fesm2022/ng-doc-app-components-theme-toggle.mjs +3 -3
- package/fesm2022/ng-doc-app-components-theme-toggle.mjs.map +1 -1
- package/fesm2022/ng-doc-app-components-toc.mjs +6 -6
- package/fesm2022/ng-doc-app-components-toc.mjs.map +1 -1
- package/fesm2022/ng-doc-app-directives-code-highlighter.mjs +3 -3
- package/fesm2022/ng-doc-app-directives-code-highlighter.mjs.map +1 -1
- package/fesm2022/ng-doc-app-directives-route-active.mjs +3 -3
- package/fesm2022/ng-doc-app-helpers.mjs.map +1 -1
- package/fesm2022/ng-doc-app-pipes-extract-value.mjs +3 -3
- package/fesm2022/ng-doc-app-pipes-filter-by-text.mjs +3 -3
- package/fesm2022/ng-doc-app-pipes-sanitize-html.mjs +3 -3
- package/fesm2022/ng-doc-app-processors-page-processor.mjs +3 -3
- package/fesm2022/ng-doc-app-processors-page-processor.mjs.map +1 -1
- package/fesm2022/ng-doc-app-processors-processors.mjs +3 -3
- package/fesm2022/ng-doc-app-processors-processors.mjs.map +1 -1
- package/fesm2022/ng-doc-app-providers-ng-doc-app.mjs.map +1 -1
- package/fesm2022/ng-doc-app-services-sidebar.mjs +3 -3
- package/fesm2022/ng-doc-app-services-sidebar.mjs.map +1 -1
- package/fesm2022/ng-doc-app-services-store.mjs +3 -3
- package/fesm2022/ng-doc-app-services-theme.mjs +3 -3
- package/fesm2022/ng-doc-app-services-theme.mjs.map +1 -1
- package/fesm2022/ng-doc-app-type-controls-boolean-control.mjs +3 -3
- package/fesm2022/ng-doc-app-type-controls-number-control.mjs +3 -3
- package/fesm2022/ng-doc-app-type-controls-string-control.mjs +3 -3
- package/fesm2022/ng-doc-app-type-controls-type-alias-control.mjs +3 -3
- package/package.json +3 -3
|
@@ -61,8 +61,8 @@ let NgDocPageComponent = class NgDocPageComponent {
|
|
|
61
61
|
urlTree.fragment = null;
|
|
62
62
|
return urlTree.toString();
|
|
63
63
|
}
|
|
64
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
65
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.
|
|
64
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: NgDocPageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
65
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.2", type: NgDocPageComponent, isStandalone: true, selector: "ng-doc-page", host: { attributes: { "ngSkipHydration": "true" } }, providers: [
|
|
66
66
|
provideTypeControl('NgDocTypeAlias', NgDocTypeAliasControlComponent, { order: 10 }),
|
|
67
67
|
provideTypeControl('string', NgDocStringControlComponent, { order: 20 }),
|
|
68
68
|
provideTypeControl('string | undefined', NgDocStringControlComponent, { order: 20 }),
|
|
@@ -79,7 +79,7 @@ NgDocPageComponent = __decorate([
|
|
|
79
79
|
UntilDestroy()
|
|
80
80
|
], NgDocPageComponent);
|
|
81
81
|
export { NgDocPageComponent };
|
|
82
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
82
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: NgDocPageComponent, decorators: [{
|
|
83
83
|
type: Component,
|
|
84
84
|
args: [{ selector: 'ng-doc-page', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
85
85
|
NgIf,
|
|
@@ -124,4 +124,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
|
|
|
124
124
|
type: ViewChild,
|
|
125
125
|
args: ['childOutlet']
|
|
126
126
|
}] } });
|
|
127
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9jb21wb25lbnRzL3BhZ2UvcGFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9jb21wb25lbnRzL3BhZ2UvcGFnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFELE9BQU8sRUFDTix1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixNQUFNLEVBRU4sU0FBUyxFQUNULFdBQVcsRUFDWCxTQUFTLEVBQ1QsZ0JBQWdCLEdBQ2hCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBVyxNQUFNLGlCQUFpQixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBT25FLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxjQUFjLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMxRSxPQUFPLEVBQ04sNEJBQTRCLEVBQzVCLDJCQUEyQixFQUMzQiwyQkFBMkIsRUFDM0IsOEJBQThCLEdBQzlCLE1BQU0sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFN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QUUsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQzt3QkFDM0Ysa0JBQWtCLENBQUMscUJBQXFCLEVBQUUsNEJBQTRCLEVBQUU7NEJBQ3ZFLFNBQVMsRUFBRSxJQUFJOzRCQUNmLEtBQUssRUFBRSxFQUFFO3lCQUNULENBQUM7cUJBQ0YsUUFDSyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUU7OEJBS2pDLGFBQWE7c0JBRFosU0FBUzt1QkFBQyxlQUFlLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSTlELGVBQWU7c0JBRGQsU0FBUzt1QkFBQyxpQkFBaUIsRUFBRSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUl0RSxjQUFjO3NCQURiLFNBQVM7dUJBQUMsZ0JBQWdCLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJckUsT0FBTztzQkFETixTQUFTO3VCQUFDLFNBQVMsRUFBRSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUk5RCxXQUFXO3NCQURWLFNBQVM7dUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nQ29tcG9uZW50T3V0bGV0LCBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG5cdENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuXHRDb21wb25lbnQsXG5cdEVsZW1lbnRSZWYsXG5cdGluamVjdCxcblx0T25Jbml0LFxuXHRSZW5kZXJlcjIsXG5cdFRlbXBsYXRlUmVmLFxuXHRWaWV3Q2hpbGQsXG5cdFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciwgUm91dGVyT3V0bGV0LCBVcmxUcmVlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE5nRG9jUm9vdFBhZ2UgfSBmcm9tICdAbmctZG9jL2FwcC9jbGFzc2VzL3Jvb3QtcGFnZSc7XG5pbXBvcnQgeyBOZ0RvY0JyZWFkY3J1bWJDb21wb25lbnQgfSBmcm9tICdAbmctZG9jL2FwcC9jb21wb25lbnRzL2JyZWFkY3J1bWInO1xuaW1wb3J0IHsgTmdEb2NUb2NDb21wb25lbnQgfSBmcm9tICdAbmctZG9jL2FwcC9jb21wb25lbnRzL3RvYyc7XG5pbXBvcnQgeyBjcmVhdGVDb21wb25lbnQsIGdlbmVyYXRlVG9jIH0gZnJvbSAnQG5nLWRvYy9hcHAvaGVscGVycyc7XG5pbXBvcnQge1xuXHROZ0RvY0NvbnRleHQsXG5cdE5nRG9jTmF2aWdhdGlvbixcblx0TmdEb2NQYWdlTmF2aWdhdGlvbixcblx0TmdEb2NQYWdlU2tlbGV0b24sXG59IGZyb20gJ0BuZy1kb2MvYXBwL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgTmdEb2NQYWdlUHJvY2Vzc29yRGlyZWN0aXZlIH0gZnJvbSAnQG5nLWRvYy9hcHAvcHJvY2Vzc29ycyc7XG5pbXBvcnQgeyBwcm92aWRlVHlwZUNvbnRyb2wgfSBmcm9tICdAbmctZG9jL2FwcC9wcm92aWRlcnMvdHlwZS1jb250cm9sJztcbmltcG9ydCB7IE5HX0RPQ19DT05URVhULCBOR19ET0NfUEFHRV9TS0VMRVRPTiB9IGZyb20gJ0BuZy1kb2MvYXBwL3Rva2Vucyc7XG5pbXBvcnQge1xuXHROZ0RvY0Jvb2xlYW5Db250cm9sQ29tcG9uZW50LFxuXHROZ0RvY051bWJlckNvbnRyb2xDb21wb25lbnQsXG5cdE5nRG9jU3RyaW5nQ29udHJvbENvbXBvbmVudCxcblx0TmdEb2NUeXBlQWxpYXNDb250cm9sQ29tcG9uZW50LFxufSBmcm9tICdAbmctZG9jL2FwcC90eXBlLWNvbnRyb2xzJztcbmltcG9ydCB7IGlzUHJlc2VudCB9IGZyb20gJ0BuZy1kb2MvY29yZSc7XG5pbXBvcnQge1xuXHREaWFsb2dPdXRsZXRDb21wb25lbnQsXG5cdE5nRG9jQnV0dG9uSWNvbkNvbXBvbmVudCxcblx0TmdEb2NJY29uQ29tcG9uZW50LFxuXHROZ0RvY01lZGlhUXVlcnlEaXJlY3RpdmUsXG5cdE5nRG9jVGV4dENvbXBvbmVudCxcblx0TmdEb2NUZXh0TGVmdERpcmVjdGl2ZSxcblx0TmdEb2NUZXh0UmlnaHREaXJlY3RpdmUsXG5cdE5nRG9jVG9vbHRpcERpcmVjdGl2ZSxcbn0gZnJvbSAnQG5nLWRvYy91aS1raXQnO1xuaW1wb3J0IHsgVW50aWxEZXN0cm95IH0gZnJvbSAnQG5nbmVhdC91bnRpbC1kZXN0cm95JztcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnbmctZG9jLXBhZ2UnLFxuXHR0ZW1wbGF0ZVVybDogJy4vcGFnZS5jb21wb25lbnQuaHRtbCcsXG5cdHN0eWxlVXJsczogWycuL3BhZ2UuY29tcG9uZW50LnNjc3MnXSxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdGltcG9ydHM6IFtcblx0XHROZ0lmLFxuXHRcdE5nRG9jQnJlYWRjcnVtYkNvbXBvbmVudCxcblx0XHROZ0RvY0J1dHRvbkljb25Db21wb25lbnQsXG5cdFx0TmdEb2NUb29sdGlwRGlyZWN0aXZlLFxuXHRcdE5nRG9jSWNvbkNvbXBvbmVudCxcblx0XHROZ0RvY1RleHRDb21wb25lbnQsXG5cdFx0TmdEb2NUZXh0TGVmdERpcmVjdGl2ZSxcblx0XHROZ0RvY1RleHRSaWdodERpcmVjdGl2ZSxcblx0XHROZ0RvY01lZGlhUXVlcnlEaXJlY3RpdmUsXG5cdFx0TmdEb2NUb2NDb21wb25lbnQsXG5cdFx0TmdEb2NQYWdlUHJvY2Vzc29yRGlyZWN0aXZlLFxuXHRcdE5nQ29tcG9uZW50T3V0bGV0LFxuXHRcdFJvdXRlck91dGxldCxcblx0XHREaWFsb2dPdXRsZXRDb21wb25lbnQsXG5cdF0sXG5cdHByb3ZpZGVyczogW1xuXHRcdHByb3ZpZGVUeXBlQ29udHJvbCgnTmdEb2NUeXBlQWxpYXMnLCBOZ0RvY1R5cGVBbGlhc0NvbnRyb2xDb21wb25lbnQsIHsgb3JkZXI6IDEwIH0pLFxuXHRcdHByb3ZpZGVUeXBlQ29udHJvbCgnc3RyaW5nJywgTmdEb2NTdHJpbmdDb250cm9sQ29tcG9uZW50LCB7IG9yZGVyOiAyMCB9KSxcblx0XHRwcm92aWRlVHlwZUNvbnRyb2woJ3N0cmluZyB8IHVuZGVmaW5lZCcsIE5nRG9jU3RyaW5nQ29udHJvbENvbXBvbmVudCwgeyBvcmRlcjogMjAgfSksXG5cdFx0cHJvdmlkZVR5cGVDb250cm9sKCdudW1iZXInLCBOZ0RvY051bWJlckNvbnRyb2xDb21wb25lbnQsIHsgb3JkZXI6IDMwIH0pLFxuXHRcdHByb3ZpZGVUeXBlQ29udHJvbCgnbnVtYmVyIHwgdW5kZWZpbmVkJywgTmdEb2NOdW1iZXJDb250cm9sQ29tcG9uZW50LCB7IG9yZGVyOiAzMCB9KSxcblx0XHRwcm92aWRlVHlwZUNvbnRyb2woJ2Jvb2xlYW4nLCBOZ0RvY0Jvb2xlYW5Db250cm9sQ29tcG9uZW50LCB7IGhpZGVMYWJlbDogdHJ1ZSwgb3JkZXI6IDQwIH0pLFxuXHRcdHByb3ZpZGVUeXBlQ29udHJvbCgnYm9vbGVhbiB8IHVuZGVmaW5lZCcsIE5nRG9jQm9vbGVhbkNvbnRyb2xDb21wb25lbnQsIHtcblx0XHRcdGhpZGVMYWJlbDogdHJ1ZSxcblx0XHRcdG9yZGVyOiA0MCxcblx0XHR9KSxcblx0XSxcblx0aG9zdDogeyBuZ1NraXBIeWRyYXRpb246ICd0cnVlJyB9LFxufSlcbkBVbnRpbERlc3Ryb3koKVxuZXhwb3J0IGNsYXNzIE5nRG9jUGFnZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cdEBWaWV3Q2hpbGQoJ3BhZ2VDb250YWluZXInLCB7IHJlYWQ6IEVsZW1lbnRSZWYsIHN0YXRpYzogdHJ1ZSB9KVxuXHRwYWdlQ29udGFpbmVyITogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cblx0QFZpZXdDaGlsZCgncGFnZUJyZWFkY3J1bWJzJywgeyByZWFkOiBWaWV3Q29udGFpbmVyUmVmLCBzdGF0aWM6IHRydWUgfSlcblx0cGFnZUJyZWFkY3J1bWJzITogVmlld0NvbnRhaW5lclJlZjtcblxuXHRAVmlld0NoaWxkKCdwYWdlTmF2aWdhdGlvbicsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiwgc3RhdGljOiB0cnVlIH0pXG5cdHBhZ2VOYXZpZ2F0aW9uITogVmlld0NvbnRhaW5lclJlZjtcblxuXHRAVmlld0NoaWxkKCdwYWdlVG9jJywgeyByZWFkOiBWaWV3Q29udGFpbmVyUmVmLCBzdGF0aWM6IHRydWUgfSlcblx0cGFnZVRvYz86IFZpZXdDb250YWluZXJSZWY7XG5cblx0QFZpZXdDaGlsZCgnY2hpbGRPdXRsZXQnKVxuXHRjaGlsZE91dGxldD86IFRlbXBsYXRlUmVmPG5ldmVyPjtcblxuXHRwcm90ZWN0ZWQgcm9vdFBhZ2U6IE5nRG9jUm9vdFBhZ2UgPSBpbmplY3QoTmdEb2NSb290UGFnZSk7XG5cdHByb3RlY3RlZCBza2VsZXRvbjogTmdEb2NQYWdlU2tlbGV0b24gPSBpbmplY3QoTkdfRE9DX1BBR0VfU0tFTEVUT04pO1xuXHRwcm90ZWN0ZWQgY29udGV4dDogTmdEb2NDb250ZXh0ID0gaW5qZWN0KE5HX0RPQ19DT05URVhUKTtcblx0cHJvdGVjdGVkIHJlbmRlcmVyOiBSZW5kZXJlcjIgPSBpbmplY3QoUmVuZGVyZXIyKTtcblx0cHJvdGVjdGVkIHJvdXRlcjogUm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG5cblx0cHJpdmF0ZSBicmVhZGNydW1iczogc3RyaW5nW10gPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpXG5cdFx0LnBhdGhGcm9tUm9vdC5maWx0ZXIoKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSkgPT4gIXJvdXRlLnNuYXBzaG90LnVybC5sZW5ndGgpXG5cdFx0Lm1hcCgocm91dGU6IEFjdGl2YXRlZFJvdXRlKSA9PiByb3V0ZS5zbmFwc2hvdC50aXRsZSlcblx0XHQuZmlsdGVyKGlzUHJlc2VudCk7XG5cblx0bmdPbkluaXQoKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMucm9vdFBhZ2UucGFnZVR5cGUgPT09ICdndWlkZScpIHtcblx0XHRcdGlmICh0aGlzLnNrZWxldG9uLmJyZWFkY3J1bWJzKSB7XG5cdFx0XHRcdGNyZWF0ZUNvbXBvbmVudCh0aGlzLnBhZ2VCcmVhZGNydW1icywgdGhpcy5za2VsZXRvbi5icmVhZGNydW1icywge1xuXHRcdFx0XHRcdGJyZWFkY3J1bWJzOiB0aGlzLmJyZWFkY3J1bWJzLFxuXHRcdFx0XHR9KTtcblx0XHRcdH1cblxuXHRcdFx0aWYgKHRoaXMuc2tlbGV0b24ubmF2aWdhdGlvbikge1xuXHRcdFx0XHRjcmVhdGVDb21wb25lbnQodGhpcy5wYWdlTmF2aWdhdGlvbiwgdGhpcy5za2VsZXRvbi5uYXZpZ2F0aW9uLCB0aGlzLm5hdmlnYXRpb25JbnB1dHMoKSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Y3JlYXRlVG9jKCk6IHZvaWQge1xuXHRcdGlmICh0aGlzLnBhZ2VUb2MgJiYgdGhpcy5za2VsZXRvbi50b2MpIHtcblx0XHRcdGNyZWF0ZUNvbXBvbmVudCh0aGlzLnBhZ2VUb2MsIHRoaXMuc2tlbGV0b24udG9jLCB7XG5cdFx0XHRcdHRhYmxlT2ZDb250ZW50OiBnZW5lcmF0ZVRvYyh0aGlzLnBhZ2VDb250YWluZXIubmF0aXZlRWxlbWVudCkgPz8gW10sXG5cdFx0XHR9KTtcblx0XHR9XG5cdH1cblxuXHRwcml2YXRlIG5hdmlnYXRpb25JbnB1dHMoKTogTmdEb2NQYWdlTmF2aWdhdGlvbiB7XG5cdFx0Y29uc3QgZmxhdEl0ZW1zID0gKGl0ZW1zOiBOZ0RvY05hdmlnYXRpb25bXSk6IE5nRG9jTmF2aWdhdGlvbltdID0+XG5cdFx0XHRpdGVtc1xuXHRcdFx0XHQubWFwKChpdGVtOiBOZ0RvY05hdmlnYXRpb24pID0+IFtpdGVtLmNoaWxkcmVuPy5sZW5ndGggPyBmbGF0SXRlbXMoaXRlbS5jaGlsZHJlbikgOiBpdGVtXSlcblx0XHRcdFx0LmZsYXQoMik7XG5cdFx0Y29uc3QgZmxhdFBhZ2VzOiBOZ0RvY05hdmlnYXRpb25bXSA9IGZsYXRJdGVtcyh0aGlzLmNvbnRleHQubmF2aWdhdGlvbik7XG5cblx0XHRyZXR1cm4ge1xuXHRcdFx0cHJldlBhZ2U6XG5cdFx0XHRcdGZsYXRQYWdlc1tmbGF0UGFnZXMuZmluZEluZGV4KChpdGVtOiBOZ0RvY05hdmlnYXRpb24pID0+IHRoaXMudXJsID09PSBpdGVtLnJvdXRlKSAtIDFdLFxuXHRcdFx0bmV4dFBhZ2U6XG5cdFx0XHRcdGZsYXRQYWdlc1tmbGF0UGFnZXMuZmluZEluZGV4KChpdGVtOiBOZ0RvY05hdmlnYXRpb24pID0+IHRoaXMudXJsID09PSBpdGVtLnJvdXRlKSArIDFdLFxuXHRcdH07XG5cdH1cblxuXHRwcml2YXRlIGdldCB1cmwoKTogc3RyaW5nIHtcblx0XHRjb25zdCB1cmxUcmVlOiBVcmxUcmVlID0gdGhpcy5yb3V0ZXIucGFyc2VVcmwodGhpcy5yb3V0ZXIudXJsKTtcblxuXHRcdHVybFRyZWUucXVlcnlQYXJhbXMgPSB7fTtcblx0XHR1cmxUcmVlLmZyYWdtZW50ID0gbnVsbDtcblxuXHRcdHJldHVybiB1cmxUcmVlLnRvU3RyaW5nKCk7XG5cdH1cbn1cbiIsIjxhcnRpY2xlPlxuXHQ8bmctY29udGFpbmVyICNwYWdlQnJlYWRjcnVtYnM+PC9uZy1jb250YWluZXI+XG5cblx0PGRpdiBjbGFzcz1cIm5nLWRvYy1wYWdlLWNvbnRyb2xzXCI+XG5cdFx0PGFcblx0XHRcdG5nLWRvYy1idXR0b24taWNvblxuXHRcdFx0Km5nSWY9XCJyb290UGFnZS5lZGl0U291cmNlRmlsZVVybFwiXG5cdFx0XHRbaHJlZl09XCJyb290UGFnZS5lZGl0U291cmNlRmlsZVVybFwiXG5cdFx0XHR0YXJnZXQ9XCJfYmxhbmtcIlxuXHRcdFx0bmdEb2NUb29sdGlwPVwiU3VnZ2VzdCBFZGl0c1wiPlxuXHRcdFx0PG5nLWRvYy1pY29uIGljb249XCJlZGl0LTJcIj48L25nLWRvYy1pY29uPlxuXHRcdDwvYT5cblx0XHQ8YVxuXHRcdFx0bmctZG9jLWJ1dHRvbi1pY29uXG5cdFx0XHQqbmdJZj1cInJvb3RQYWdlLnZpZXdTb3VyY2VGaWxlVXJsXCJcblx0XHRcdFtocmVmXT1cInJvb3RQYWdlLnZpZXdTb3VyY2VGaWxlVXJsXCJcblx0XHRcdHRhcmdldD1cIl9ibGFua1wiXG5cdFx0XHRuZ0RvY1Rvb2x0aXA9XCJWaWV3IFNvdXJjZVwiPlxuXHRcdFx0PG5nLWRvYy1pY29uIGljb249XCJjb2RlXCI+PC9uZy1kb2MtaWNvbj5cblx0XHQ8L2E+XG5cdDwvZGl2PlxuXG5cdDxkaXZcblx0XHRjbGFzcz1cIm5nLWRvYy1wYWdlLXdyYXBwZXJcIlxuXHRcdFtuZ0RvY1BhZ2VQcm9jZXNzb3JdPVwicm9vdFBhZ2UucGFnZUNvbnRlbnRcIlxuXHRcdChhZnRlclJlbmRlcik9XCJjcmVhdGVUb2MoKVwiXG5cdFx0I3BhZ2VDb250YWluZXI+PC9kaXY+XG5cblx0PG5nLWNvbnRhaW5lciAjcGFnZU5hdmlnYXRpb24+PC9uZy1jb250YWluZXI+XG48L2FydGljbGU+XG5cbjxuZy1kb2MtZGlhbG9nLW91dGxldFxuXHQqbmdJZj1cIiFyb290UGFnZS5wYWdlPy5kaXNhYmxlRnVsbHNjcmVlblJvdXRlc1wiXG5cdFtjb25maWddPVwieyB3aWR0aDogJzEwMHZ3JywgaGVpZ2h0OiAnMTAwdmgnIH1cIj5cblx0PGRpdiBjbGFzcz1cIm5nLWRvYy1mdWxsc2NyZWVuLXdyYXBwZXJcIj5cblx0XHQ8cm91dGVyLW91dGxldD48L3JvdXRlci1vdXRsZXQ+XG5cdDwvZGl2PlxuPC9uZy1kb2MtZGlhbG9nLW91dGxldD5cblxuPG5nLWNvbnRhaW5lciAjcGFnZVRvYz48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|
|
127
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9jb21wb25lbnRzL3BhZ2UvcGFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9jb21wb25lbnRzL3BhZ2UvcGFnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFELE9BQU8sRUFDTix1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixNQUFNLEVBRU4sU0FBUyxFQUNULFdBQVcsRUFDWCxTQUFTLEVBQ1QsZ0JBQWdCLEdBQ2hCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBVyxNQUFNLGlCQUFpQixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBT25FLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxjQUFjLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMxRSxPQUFPLEVBQ04sNEJBQTRCLEVBQzVCLDJCQUEyQixFQUMzQiwyQkFBMkIsRUFDM0IsOEJBQThCLEdBQzlCLE1BQU0sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFN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LENBQUMsU0FBUyxFQUFFLDRCQUE0QixFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUM7d0JBQzNGLGtCQUFrQixDQUFDLHFCQUFxQixFQUFFLDRCQUE0QixFQUFFOzRCQUN2RSxTQUFTLEVBQUUsSUFBSTs0QkFDZixLQUFLLEVBQUUsRUFBRTt5QkFDVCxDQUFDO3FCQUNGLFFBQ0ssRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFOzhCQUtqQyxhQUFhO3NCQURaLFNBQVM7dUJBQUMsZUFBZSxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUk5RCxlQUFlO3NCQURkLFNBQVM7dUJBQUMsaUJBQWlCLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJdEUsY0FBYztzQkFEYixTQUFTO3VCQUFDLGdCQUFnQixFQUFFLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSXJFLE9BQU87c0JBRE4sU0FBUzt1QkFBQyxTQUFTLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJOUQsV0FBVztzQkFEVixTQUFTO3VCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0NvbXBvbmVudE91dGxldCwgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuXHRDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcblx0Q29tcG9uZW50LFxuXHRFbGVtZW50UmVmLFxuXHRpbmplY3QsXG5cdE9uSW5pdCxcblx0UmVuZGVyZXIyLFxuXHRUZW1wbGF0ZVJlZixcblx0Vmlld0NoaWxkLFxuXHRWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIsIFJvdXRlck91dGxldCwgVXJsVHJlZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBOZ0RvY1Jvb3RQYWdlIH0gZnJvbSAnQG5nLWRvYy9hcHAvY2xhc3Nlcy9yb290LXBhZ2UnO1xuaW1wb3J0IHsgTmdEb2NCcmVhZGNydW1iQ29tcG9uZW50IH0gZnJvbSAnQG5nLWRvYy9hcHAvY29tcG9uZW50cy9icmVhZGNydW1iJztcbmltcG9ydCB7IE5nRG9jVG9jQ29tcG9uZW50IH0gZnJvbSAnQG5nLWRvYy9hcHAvY29tcG9uZW50cy90b2MnO1xuaW1wb3J0IHsgY3JlYXRlQ29tcG9uZW50LCBnZW5lcmF0ZVRvYyB9IGZyb20gJ0BuZy1kb2MvYXBwL2hlbHBlcnMnO1xuaW1wb3J0IHtcblx0TmdEb2NDb250ZXh0LFxuXHROZ0RvY05hdmlnYXRpb24sXG5cdE5nRG9jUGFnZU5hdmlnYXRpb24sXG5cdE5nRG9jUGFnZVNrZWxldG9uLFxufSBmcm9tICdAbmctZG9jL2FwcC9pbnRlcmZhY2VzJztcbmltcG9ydCB7IE5nRG9jUGFnZVByb2Nlc3NvckRpcmVjdGl2ZSB9IGZyb20gJ0BuZy1kb2MvYXBwL3Byb2Nlc3NvcnMnO1xuaW1wb3J0IHsgcHJvdmlkZVR5cGVDb250cm9sIH0gZnJvbSAnQG5nLWRvYy9hcHAvcHJvdmlkZXJzL3R5cGUtY29udHJvbCc7XG5pbXBvcnQgeyBOR19ET0NfQ09OVEVYVCwgTkdfRE9DX1BBR0VfU0tFTEVUT04gfSBmcm9tICdAbmctZG9jL2FwcC90b2tlbnMnO1xuaW1wb3J0IHtcblx0TmdEb2NCb29sZWFuQ29udHJvbENvbXBvbmVudCxcblx0TmdEb2NOdW1iZXJDb250cm9sQ29tcG9uZW50LFxuXHROZ0RvY1N0cmluZ0NvbnRyb2xDb21wb25lbnQsXG5cdE5nRG9jVHlwZUFsaWFzQ29udHJvbENvbXBvbmVudCxcbn0gZnJvbSAnQG5nLWRvYy9hcHAvdHlwZS1jb250cm9scyc7XG5pbXBvcnQgeyBpc1ByZXNlbnQgfSBmcm9tICdAbmctZG9jL2NvcmUnO1xuaW1wb3J0IHtcblx0RGlhbG9nT3V0bGV0Q29tcG9uZW50LFxuXHROZ0RvY0J1dHRvbkljb25Db21wb25lbnQsXG5cdE5nRG9jSWNvbkNvbXBvbmVudCxcblx0TmdEb2NNZWRpYVF1ZXJ5RGlyZWN0aXZlLFxuXHROZ0RvY1RleHRDb21wb25lbnQsXG5cdE5nRG9jVGV4dExlZnREaXJlY3RpdmUsXG5cdE5nRG9jVGV4dFJpZ2h0RGlyZWN0aXZlLFxuXHROZ0RvY1Rvb2x0aXBEaXJlY3RpdmUsXG59IGZyb20gJ0BuZy1kb2MvdWkta2l0JztcbmltcG9ydCB7IFVudGlsRGVzdHJveSB9IGZyb20gJ0BuZ25lYXQvdW50aWwtZGVzdHJveSc7XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ25nLWRvYy1wYWdlJyxcblx0dGVtcGxhdGVVcmw6ICcuL3BhZ2UuY29tcG9uZW50Lmh0bWwnLFxuXHRzdHlsZVVybHM6IFsnLi9wYWdlLmNvbXBvbmVudC5zY3NzJ10sXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHRpbXBvcnRzOiBbXG5cdFx0TmdJZixcblx0XHROZ0RvY0JyZWFkY3J1bWJDb21wb25lbnQsXG5cdFx0TmdEb2NCdXR0b25JY29uQ29tcG9uZW50LFxuXHRcdE5nRG9jVG9vbHRpcERpcmVjdGl2ZSxcblx0XHROZ0RvY0ljb25Db21wb25lbnQsXG5cdFx0TmdEb2NUZXh0Q29tcG9uZW50LFxuXHRcdE5nRG9jVGV4dExlZnREaXJlY3RpdmUsXG5cdFx0TmdEb2NUZXh0UmlnaHREaXJlY3RpdmUsXG5cdFx0TmdEb2NNZWRpYVF1ZXJ5RGlyZWN0aXZlLFxuXHRcdE5nRG9jVG9jQ29tcG9uZW50LFxuXHRcdE5nRG9jUGFnZVByb2Nlc3NvckRpcmVjdGl2ZSxcblx0XHROZ0NvbXBvbmVudE91dGxldCxcblx0XHRSb3V0ZXJPdXRsZXQsXG5cdFx0RGlhbG9nT3V0bGV0Q29tcG9uZW50LFxuXHRdLFxuXHRwcm92aWRlcnM6IFtcblx0XHRwcm92aWRlVHlwZUNvbnRyb2woJ05nRG9jVHlwZUFsaWFzJywgTmdEb2NUeXBlQWxpYXNDb250cm9sQ29tcG9uZW50LCB7IG9yZGVyOiAxMCB9KSxcblx0XHRwcm92aWRlVHlwZUNvbnRyb2woJ3N0cmluZycsIE5nRG9jU3RyaW5nQ29udHJvbENvbXBvbmVudCwgeyBvcmRlcjogMjAgfSksXG5cdFx0cHJvdmlkZVR5cGVDb250cm9sKCdzdHJpbmcgfCB1bmRlZmluZWQnLCBOZ0RvY1N0cmluZ0NvbnRyb2xDb21wb25lbnQsIHsgb3JkZXI6IDIwIH0pLFxuXHRcdHByb3ZpZGVUeXBlQ29udHJvbCgnbnVtYmVyJywgTmdEb2NOdW1iZXJDb250cm9sQ29tcG9uZW50LCB7IG9yZGVyOiAzMCB9KSxcblx0XHRwcm92aWRlVHlwZUNvbnRyb2woJ251bWJlciB8IHVuZGVmaW5lZCcsIE5nRG9jTnVtYmVyQ29udHJvbENvbXBvbmVudCwgeyBvcmRlcjogMzAgfSksXG5cdFx0cHJvdmlkZVR5cGVDb250cm9sKCdib29sZWFuJywgTmdEb2NCb29sZWFuQ29udHJvbENvbXBvbmVudCwgeyBoaWRlTGFiZWw6IHRydWUsIG9yZGVyOiA0MCB9KSxcblx0XHRwcm92aWRlVHlwZUNvbnRyb2woJ2Jvb2xlYW4gfCB1bmRlZmluZWQnLCBOZ0RvY0Jvb2xlYW5Db250cm9sQ29tcG9uZW50LCB7XG5cdFx0XHRoaWRlTGFiZWw6IHRydWUsXG5cdFx0XHRvcmRlcjogNDAsXG5cdFx0fSksXG5cdF0sXG5cdGhvc3Q6IHsgbmdTa2lwSHlkcmF0aW9uOiAndHJ1ZScgfSxcbn0pXG5AVW50aWxEZXN0cm95KClcbmV4cG9ydCBjbGFzcyBOZ0RvY1BhZ2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXHRAVmlld0NoaWxkKCdwYWdlQ29udGFpbmVyJywgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IHRydWUgfSlcblx0cGFnZUNvbnRhaW5lciE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG5cdEBWaWV3Q2hpbGQoJ3BhZ2VCcmVhZGNydW1icycsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiwgc3RhdGljOiB0cnVlIH0pXG5cdHBhZ2VCcmVhZGNydW1icyE6IFZpZXdDb250YWluZXJSZWY7XG5cblx0QFZpZXdDaGlsZCgncGFnZU5hdmlnYXRpb24nLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYsIHN0YXRpYzogdHJ1ZSB9KVxuXHRwYWdlTmF2aWdhdGlvbiE6IFZpZXdDb250YWluZXJSZWY7XG5cblx0QFZpZXdDaGlsZCgncGFnZVRvYycsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiwgc3RhdGljOiB0cnVlIH0pXG5cdHBhZ2VUb2M/OiBWaWV3Q29udGFpbmVyUmVmO1xuXG5cdEBWaWV3Q2hpbGQoJ2NoaWxkT3V0bGV0Jylcblx0Y2hpbGRPdXRsZXQ/OiBUZW1wbGF0ZVJlZjxuZXZlcj47XG5cblx0cHJvdGVjdGVkIHJvb3RQYWdlOiBOZ0RvY1Jvb3RQYWdlID0gaW5qZWN0KE5nRG9jUm9vdFBhZ2UpO1xuXHRwcm90ZWN0ZWQgc2tlbGV0b246IE5nRG9jUGFnZVNrZWxldG9uID0gaW5qZWN0KE5HX0RPQ19QQUdFX1NLRUxFVE9OKTtcblx0cHJvdGVjdGVkIGNvbnRleHQ6IE5nRG9jQ29udGV4dCA9IGluamVjdChOR19ET0NfQ09OVEVYVCk7XG5cdHByb3RlY3RlZCByZW5kZXJlcjogUmVuZGVyZXIyID0gaW5qZWN0KFJlbmRlcmVyMik7XG5cdHByb3RlY3RlZCByb3V0ZXI6IFJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuXG5cdHByaXZhdGUgYnJlYWRjcnVtYnM6IHN0cmluZ1tdID0gaW5qZWN0KEFjdGl2YXRlZFJvdXRlKVxuXHRcdC5wYXRoRnJvbVJvb3QuZmlsdGVyKChyb3V0ZTogQWN0aXZhdGVkUm91dGUpID0+ICFyb3V0ZS5zbmFwc2hvdC51cmwubGVuZ3RoKVxuXHRcdC5tYXAoKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSkgPT4gcm91dGUuc25hcHNob3QudGl0bGUpXG5cdFx0LmZpbHRlcihpc1ByZXNlbnQpO1xuXG5cdG5nT25Jbml0KCk6IHZvaWQge1xuXHRcdGlmICh0aGlzLnJvb3RQYWdlLnBhZ2VUeXBlID09PSAnZ3VpZGUnKSB7XG5cdFx0XHRpZiAodGhpcy5za2VsZXRvbi5icmVhZGNydW1icykge1xuXHRcdFx0XHRjcmVhdGVDb21wb25lbnQodGhpcy5wYWdlQnJlYWRjcnVtYnMsIHRoaXMuc2tlbGV0b24uYnJlYWRjcnVtYnMsIHtcblx0XHRcdFx0XHRicmVhZGNydW1iczogdGhpcy5icmVhZGNydW1icyxcblx0XHRcdFx0fSk7XG5cdFx0XHR9XG5cblx0XHRcdGlmICh0aGlzLnNrZWxldG9uLm5hdmlnYXRpb24pIHtcblx0XHRcdFx0Y3JlYXRlQ29tcG9uZW50KHRoaXMucGFnZU5hdmlnYXRpb24sIHRoaXMuc2tlbGV0b24ubmF2aWdhdGlvbiwgdGhpcy5uYXZpZ2F0aW9uSW5wdXRzKCkpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdGNyZWF0ZVRvYygpOiB2b2lkIHtcblx0XHRpZiAodGhpcy5wYWdlVG9jICYmIHRoaXMuc2tlbGV0b24udG9jKSB7XG5cdFx0XHRjcmVhdGVDb21wb25lbnQodGhpcy5wYWdlVG9jLCB0aGlzLnNrZWxldG9uLnRvYywge1xuXHRcdFx0XHR0YWJsZU9mQ29udGVudDogZ2VuZXJhdGVUb2ModGhpcy5wYWdlQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQpID8/IFtdLFxuXHRcdFx0fSk7XG5cdFx0fVxuXHR9XG5cblx0cHJpdmF0ZSBuYXZpZ2F0aW9uSW5wdXRzKCk6IE5nRG9jUGFnZU5hdmlnYXRpb24ge1xuXHRcdGNvbnN0IGZsYXRJdGVtcyA9IChpdGVtczogTmdEb2NOYXZpZ2F0aW9uW10pOiBOZ0RvY05hdmlnYXRpb25bXSA9PlxuXHRcdFx0aXRlbXNcblx0XHRcdFx0Lm1hcCgoaXRlbTogTmdEb2NOYXZpZ2F0aW9uKSA9PiBbaXRlbS5jaGlsZHJlbj8ubGVuZ3RoID8gZmxhdEl0ZW1zKGl0ZW0uY2hpbGRyZW4pIDogaXRlbV0pXG5cdFx0XHRcdC5mbGF0KDIpO1xuXHRcdGNvbnN0IGZsYXRQYWdlczogTmdEb2NOYXZpZ2F0aW9uW10gPSBmbGF0SXRlbXModGhpcy5jb250ZXh0Lm5hdmlnYXRpb24pO1xuXG5cdFx0cmV0dXJuIHtcblx0XHRcdHByZXZQYWdlOlxuXHRcdFx0XHRmbGF0UGFnZXNbZmxhdFBhZ2VzLmZpbmRJbmRleCgoaXRlbTogTmdEb2NOYXZpZ2F0aW9uKSA9PiB0aGlzLnVybCA9PT0gaXRlbS5yb3V0ZSkgLSAxXSxcblx0XHRcdG5leHRQYWdlOlxuXHRcdFx0XHRmbGF0UGFnZXNbZmxhdFBhZ2VzLmZpbmRJbmRleCgoaXRlbTogTmdEb2NOYXZpZ2F0aW9uKSA9PiB0aGlzLnVybCA9PT0gaXRlbS5yb3V0ZSkgKyAxXSxcblx0XHR9O1xuXHR9XG5cblx0cHJpdmF0ZSBnZXQgdXJsKCk6IHN0cmluZyB7XG5cdFx0Y29uc3QgdXJsVHJlZTogVXJsVHJlZSA9IHRoaXMucm91dGVyLnBhcnNlVXJsKHRoaXMucm91dGVyLnVybCk7XG5cblx0XHR1cmxUcmVlLnF1ZXJ5UGFyYW1zID0ge307XG5cdFx0dXJsVHJlZS5mcmFnbWVudCA9IG51bGw7XG5cblx0XHRyZXR1cm4gdXJsVHJlZS50b1N0cmluZygpO1xuXHR9XG59XG4iLCI8YXJ0aWNsZT5cblx0PG5nLWNvbnRhaW5lciAjcGFnZUJyZWFkY3J1bWJzPjwvbmctY29udGFpbmVyPlxuXG5cdDxkaXYgY2xhc3M9XCJuZy1kb2MtcGFnZS1jb250cm9sc1wiPlxuXHRcdDxhXG5cdFx0XHRuZy1kb2MtYnV0dG9uLWljb25cblx0XHRcdCpuZ0lmPVwicm9vdFBhZ2UuZWRpdFNvdXJjZUZpbGVVcmxcIlxuXHRcdFx0W2hyZWZdPVwicm9vdFBhZ2UuZWRpdFNvdXJjZUZpbGVVcmxcIlxuXHRcdFx0dGFyZ2V0PVwiX2JsYW5rXCJcblx0XHRcdG5nRG9jVG9vbHRpcD1cIlN1Z2dlc3QgRWRpdHNcIj5cblx0XHRcdDxuZy1kb2MtaWNvbiBpY29uPVwiZWRpdC0yXCI+PC9uZy1kb2MtaWNvbj5cblx0XHQ8L2E+XG5cdFx0PGFcblx0XHRcdG5nLWRvYy1idXR0b24taWNvblxuXHRcdFx0Km5nSWY9XCJyb290UGFnZS52aWV3U291cmNlRmlsZVVybFwiXG5cdFx0XHRbaHJlZl09XCJyb290UGFnZS52aWV3U291cmNlRmlsZVVybFwiXG5cdFx0XHR0YXJnZXQ9XCJfYmxhbmtcIlxuXHRcdFx0bmdEb2NUb29sdGlwPVwiVmlldyBTb3VyY2VcIj5cblx0XHRcdDxuZy1kb2MtaWNvbiBpY29uPVwiY29kZVwiPjwvbmctZG9jLWljb24+XG5cdFx0PC9hPlxuXHQ8L2Rpdj5cblxuXHQ8ZGl2XG5cdFx0Y2xhc3M9XCJuZy1kb2MtcGFnZS13cmFwcGVyXCJcblx0XHRbbmdEb2NQYWdlUHJvY2Vzc29yXT1cInJvb3RQYWdlLnBhZ2VDb250ZW50XCJcblx0XHQoYWZ0ZXJSZW5kZXIpPVwiY3JlYXRlVG9jKClcIlxuXHRcdCNwYWdlQ29udGFpbmVyPjwvZGl2PlxuXG5cdDxuZy1jb250YWluZXIgI3BhZ2VOYXZpZ2F0aW9uPjwvbmctY29udGFpbmVyPlxuPC9hcnRpY2xlPlxuXG48bmctZG9jLWRpYWxvZy1vdXRsZXRcblx0Km5nSWY9XCIhcm9vdFBhZ2UucGFnZT8uZGlzYWJsZUZ1bGxzY3JlZW5Sb3V0ZXNcIlxuXHRbY29uZmlnXT1cInsgd2lkdGg6ICcxMDB2dycsIGhlaWdodDogJzEwMHZoJyB9XCI+XG5cdDxkaXYgY2xhc3M9XCJuZy1kb2MtZnVsbHNjcmVlbi13cmFwcGVyXCI+XG5cdFx0PHJvdXRlci1vdXRsZXQ+PC9yb3V0ZXItb3V0bGV0PlxuXHQ8L2Rpdj5cbjwvbmctZG9jLWRpYWxvZy1vdXRsZXQ+XG5cbjxuZy1jb250YWluZXIgI3BhZ2VUb2M+PC9uZy1jb250YWluZXI+XG4iXX0=
|
|
@@ -30,10 +30,10 @@ export class NgDocPageLinkComponent {
|
|
|
30
30
|
get queryParams() {
|
|
31
31
|
return Object.fromEntries(new URLSearchParams(this.link?.search.replace(/^\?/, '') ?? '').entries());
|
|
32
32
|
}
|
|
33
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
34
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.
|
|
33
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: NgDocPageLinkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
34
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.2", type: NgDocPageLinkComponent, isStandalone: true, selector: "ng-doc-page-link", inputs: { href: "href", classes: "classes" }, usesOnChanges: true, ngImport: i0, template: "<a\n\t[class]=\"classes\"\n\t[routerLink]=\"path\"\n\t[fragment]=\"fragment\"\n\t[queryParams]=\"queryParams\"\n\t*ngIf=\"!isExternalLink\">\n\t<ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</a>\n\n<a [class]=\"classes\" [href]=\"path\" *ngIf=\"isExternalLink\" target=\"_blank\">\n\t<ng-container *ngTemplateOutlet=\"content\"></ng-container>\n\t<ng-doc-icon icon=\"external-link\" *ngIf=\"!isInCode\"></ng-doc-icon>\n</a>\n\n<ng-template #content>\n\t<ng-content></ng-content>\n</ng-template>\n", styles: [":host{white-space:nowrap}:host ng-doc-icon{margin-left:calc(var(--ng-doc-base-gutter) / 2);--ng-doc-icon-color: currentColor}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: NgDocIconComponent, selector: "ng-doc-icon", inputs: ["icon", "customIcon", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
35
35
|
}
|
|
36
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: NgDocPageLinkComponent, decorators: [{
|
|
37
37
|
type: Component,
|
|
38
38
|
args: [{ selector: 'ng-doc-page-link', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgIf, RouterLink, NgTemplateOutlet, NgDocIconComponent], template: "<a\n\t[class]=\"classes\"\n\t[routerLink]=\"path\"\n\t[fragment]=\"fragment\"\n\t[queryParams]=\"queryParams\"\n\t*ngIf=\"!isExternalLink\">\n\t<ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</a>\n\n<a [class]=\"classes\" [href]=\"path\" *ngIf=\"isExternalLink\" target=\"_blank\">\n\t<ng-container *ngTemplateOutlet=\"content\"></ng-container>\n\t<ng-doc-icon icon=\"external-link\" *ngIf=\"!isInCode\"></ng-doc-icon>\n</a>\n\n<ng-template #content>\n\t<ng-content></ng-content>\n</ng-template>\n", styles: [":host{white-space:nowrap}:host ng-doc-icon{margin-left:calc(var(--ng-doc-base-gutter) / 2);--ng-doc-icon-color: currentColor}\n"] }]
|
|
39
39
|
}], propDecorators: { href: [{
|
|
@@ -5,10 +5,10 @@ import { NgDocIconComponent, NgDocTextComponent, NgDocTextLeftDirective, NgDocTe
|
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
import * as i1 from "@angular/common";
|
|
7
7
|
export class NgDocPageNavigationComponent {
|
|
8
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
9
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.
|
|
8
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: NgDocPageNavigationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
9
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.2", type: NgDocPageNavigationComponent, isStandalone: true, selector: "ng-doc-page-navigation", inputs: { prevPage: "prevPage", nextPage: "nextPage" }, ngImport: i0, template: "<div class=\"ng-doc-navigation-controls\">\n\t<a class=\"ng-doc-prev-page\" *ngIf=\"prevPage\" [routerLink]=\"prevPage.route\">\n\t\t<div class=\"ng-doc-navigation-page-label\" ng-doc-text size=\"small\">\n\t\t\t<ng-doc-icon icon=\"arrow-left\" ngDocTextLeft></ng-doc-icon>\n\t\t\tPrevious\n\t\t</div>\n\t\t<div class=\"ng-doc-navigation-page-title\" ng-doc-text>{{ prevPage.title }}</div>\n\t</a>\n\t<a class=\"ng-doc-next-page\" *ngIf=\"nextPage\" [routerLink]=\"nextPage.route\">\n\t\t<div class=\"ng-doc-navigation-page-label\" ng-doc-text size=\"small\">\n\t\t\tNext\n\t\t\t<ng-doc-icon icon=\"arrow-right\" ngDocTextRight></ng-doc-icon>\n\t\t</div>\n\t\t<div class=\"ng-doc-navigation-page-title\" ng-doc-text>{{ nextPage.title }}</div>\n\t</a>\n</div>\n", styles: [":host .ng-doc-navigation-controls{display:flex;margin-top:calc(var(--ng-doc-base-gutter) * 12);border-top:1px solid var(--ng-doc-base-2);padding-top:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-navigation-controls a{display:flex;flex-direction:column;text-decoration:unset;transition:var(--ng-doc-transition);--ng-doc-button-hover-background: var(--ng-doc-base-1);--ng-doc-button-active-background: var(--ng-doc-base-2);--ng-doc-text: var(--ng-doc-base-9);--ng-doc-icon-color: var(--ng-doc-text)}:host .ng-doc-navigation-controls a:hover{opacity:.6}:host .ng-doc-navigation-controls a.ng-doc-next-page{margin-left:auto}:host .ng-doc-navigation-controls a.ng-doc-prev-page{align-items:flex-start}:host .ng-doc-navigation-controls a.ng-doc-next-page{align-items:flex-end}:host .ng-doc-navigation-controls a .ng-doc-navigation-page-title{--ng-doc-font-weight: 600;--ng-doc-text: var(--ng-doc-link-color)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NgDocIconComponent, selector: "ng-doc-icon", inputs: ["icon", "customIcon", "size"] }, { kind: "component", type: NgDocTextComponent, selector: "[ng-doc-text]", inputs: ["size", "color", "align", "absoluteContent"] }, { kind: "directive", type: NgDocTextLeftDirective, selector: "[ngDocTextLeft]" }, { kind: "directive", type: NgDocTextRightDirective, selector: "[ngDocTextRight]" }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
10
10
|
}
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: NgDocPageNavigationComponent, decorators: [{
|
|
12
12
|
type: Component,
|
|
13
13
|
args: [{ selector: 'ng-doc-page-navigation', standalone: true, imports: [
|
|
14
14
|
CommonModule,
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ChangeDetectorRef, Directive, inject, Input, } from '@angular/core';
|
|
2
2
|
import { extractFunctionDefaults } from '@ng-doc/core';
|
|
3
|
+
import { Subject, take } from 'rxjs';
|
|
3
4
|
import { NgDocPlaygroundComponent } from './playground.component';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
/**
|
|
@@ -13,10 +14,14 @@ export class NgDocBasePlayground {
|
|
|
13
14
|
this.actionData = {};
|
|
14
15
|
this.content = {};
|
|
15
16
|
this.defaultValues = {};
|
|
17
|
+
this.reattached = new Subject();
|
|
16
18
|
this.playgroundContainer = inject(NgDocPlaygroundComponent);
|
|
17
19
|
this.changeDetectorRef = inject(ChangeDetectorRef);
|
|
18
20
|
this.changeDetectorRef.detach();
|
|
19
21
|
}
|
|
22
|
+
get onReattached() {
|
|
23
|
+
return this.reattached.pipe(take(1));
|
|
24
|
+
}
|
|
20
25
|
ngOnInit() {
|
|
21
26
|
/*
|
|
22
27
|
* Extract default values from playground properties. We do this in `ngOnInit` because in this case
|
|
@@ -61,15 +66,16 @@ export class NgDocBasePlayground {
|
|
|
61
66
|
*/
|
|
62
67
|
Promise.resolve().then(() => {
|
|
63
68
|
this.changeDetectorRef.reattach();
|
|
69
|
+
this.reattached.next();
|
|
64
70
|
});
|
|
65
71
|
}
|
|
66
72
|
get data() {
|
|
67
73
|
return Object.assign({}, this.configData, this.actionData);
|
|
68
74
|
}
|
|
69
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
70
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.
|
|
75
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: NgDocBasePlayground, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive }); }
|
|
76
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.2", type: NgDocBasePlayground, inputs: { properties: "properties", actionData: "actionData", content: "content" }, ngImport: i0 }); }
|
|
71
77
|
}
|
|
72
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
78
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: NgDocBasePlayground, decorators: [{
|
|
73
79
|
type: Directive
|
|
74
80
|
}], ctorParameters: () => [{ type: undefined }], propDecorators: { properties: [{
|
|
75
81
|
type: Input
|
|
@@ -78,4 +84,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
|
|
|
78
84
|
}], content: [{
|
|
79
85
|
type: Input
|
|
80
86
|
}] } });
|
|
81
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1wbGF5Z3JvdW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcHAvY29tcG9uZW50cy9wbGF5Z3JvdW5kL2Jhc2UtcGxheWdyb3VuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ04saUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxNQUFNLEVBQ04sS0FBSyxHQUlMLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBZSx1QkFBdUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUVwRSxPQUFPLEVBQWMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVqRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFFbEU7O0dBRUc7QUFFSCxNQUFNLE9BQWdCLG1CQUFtQjthQUN4QixhQUFRLEdBQVcsU0FBUyxBQUFwQixDQUFxQjtJQXFCN0MsWUFBOEIsa0JBQXlDO1FBQXpDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBdUI7UUFmdkUsZUFBVSxHQUF3QixFQUFFLENBQUM7UUFHckMsZUFBVSxHQUE0QixFQUFFLENBQUM7UUFHekMsWUFBTyxHQUFRLEVBQUUsQ0FBQztRQUVsQixrQkFBYSxHQUE0QixFQUFFLENBQUM7UUFFcEMsZUFBVSxHQUFrQixJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRWhELHdCQUFtQixHQUE2QixNQUFNLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUMvRSxzQkFBaUIsR0FBc0IsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFHMUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxRQUFRO1FBQ1A7OztXQUdHO1FBQ0gsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxNQUFNLENBQ3ZELENBQUMsTUFBK0IsRUFBRSxHQUFXLEVBQUUsRUFBRTtnQkFDaEQsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7b0JBQ3JCLElBQUksQ0FBQzt3QkFDSixNQUFNLENBQUMsR0FBRyxDQUFDOzRCQUNWLDZEQUE2RDs0QkFDN0QsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxLQUFLLFVBQVU7Z0NBQ3pDLENBQUMsQ0FBQyw2REFBNkQ7b0NBQzlELElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0NBQ3ZCLENBQUMsQ0FBQyw2REFBNkQ7b0NBQzlELElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQ3pCLENBQUM7b0JBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQzt3QkFDWiwrRkFBK0Y7b0JBQ2hHLENBQUM7Z0JBQ0YsQ0FBQztnQkFFRCxPQUFPLE1BQU0sQ0FBQztZQUNmLENBQUMsRUFDRCxFQUFFLENBQ0YsQ0FBQztRQUNILENBQUM7YUFBTSxJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1lBQ3BDLE1BQU0sUUFBUSxHQUFHLHVCQUF1QixDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7WUFFdEYsSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUNqRixDQUFDLEdBQTRCLEVBQUUsR0FBVyxFQUFFLENBQVMsRUFBRSxFQUFFO2dCQUN4RCwrRUFBK0U7Z0JBQy9FLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUUzQixPQUFPLEdBQUcsQ0FBQztZQUNaLENBQUMsRUFDRCxFQUFFLENBQ0YsQ0FBQztRQUNILENBQUM7YUFBTSxDQUFDO1lBQ1AsTUFBTSxJQUFJLEtBQUssQ0FBQywwQ0FBMEMsQ0FBQyxDQUFDO1FBQzdELENBQUM7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQzdDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUM3RCxDQUFDO1FBRUQ7OztXQUdTO1FBQ1QsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDM0IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDeEIsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ1AsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM1RCxDQUFDOzhHQXhGb0IsbUJBQW1CO2tHQUFuQixtQkFBbUI7OzJGQUFuQixtQkFBbUI7a0JBRHhDLFNBQVM7MkVBUVQsVUFBVTtzQkFEVCxLQUFLO2dCQUlOLFVBQVU7c0JBRFQsS0FBSztnQkFJTixPQUFPO3NCQUROLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuXHRDaGFuZ2VEZXRlY3RvclJlZixcblx0RGlyZWN0aXZlLFxuXHRpbmplY3QsXG5cdElucHV0LFxuXHRPbkluaXQsXG5cdFR5cGUsXG5cdFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29uc3RydWN0b3IsIGV4dHJhY3RGdW5jdGlvbkRlZmF1bHRzIH0gZnJvbSAnQG5nLWRvYy9jb3JlJztcbmltcG9ydCB7IE5nRG9jUGxheWdyb3VuZENvbmZpZyB9IGZyb20gJ0BuZy1kb2MvY29yZS9pbnRlcmZhY2VzJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QsIHRha2UgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgTmdEb2NQbGF5Z3JvdW5kQ29tcG9uZW50IH0gZnJvbSAnLi9wbGF5Z3JvdW5kLmNvbXBvbmVudCc7XG5cbi8qKlxuICogQmFzZSBjbGFzcyBmb3IgcGxheWdyb3VuZHMgY29tcG9uZW50cy5cbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgTmdEb2NCYXNlUGxheWdyb3VuZCBpbXBsZW1lbnRzIFBpY2s8TmdEb2NQbGF5Z3JvdW5kQ29uZmlnLCAnZGF0YSc+LCBPbkluaXQge1xuXHRzdGF0aWMgcmVhZG9ubHkgc2VsZWN0b3I6IHN0cmluZyA9ICd1bmtub3duJztcblx0YWJzdHJhY3QgcmVhZG9ubHkgcGxheWdyb3VuZD86IFR5cGU8YW55Pjtcblx0YWJzdHJhY3QgcmVhZG9ubHkgdmlld0NvbnRhaW5lclJlZj86IFZpZXdDb250YWluZXJSZWY7XG5cdGFic3RyYWN0IHJlYWRvbmx5IGNvbmZpZ0RhdGE6IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuXG5cdEBJbnB1dCgpXG5cdHByb3BlcnRpZXM6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fTtcblxuXHRASW5wdXQoKVxuXHRhY3Rpb25EYXRhOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHt9O1xuXG5cdEBJbnB1dCgpXG5cdGNvbnRlbnQ6IGFueSA9IHt9O1xuXG5cdGRlZmF1bHRWYWx1ZXM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0ge307XG5cblx0cHJpdmF0ZSByZWF0dGFjaGVkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuXHRwcml2YXRlIHBsYXlncm91bmRDb250YWluZXI6IE5nRG9jUGxheWdyb3VuZENvbXBvbmVudCA9IGluamVjdChOZ0RvY1BsYXlncm91bmRDb21wb25lbnQpO1xuXHRwcm90ZWN0ZWQgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcblxuXHRwcm90ZWN0ZWQgY29uc3RydWN0b3IocHJpdmF0ZSBwbGF5Z3JvdW5kSW5zdGFuY2U/OiBDb25zdHJ1Y3Rvcjx1bmtub3duPikge1xuXHRcdHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0YWNoKCk7XG5cdH1cblxuXHRnZXQgb25SZWF0dGFjaGVkKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuXHRcdHJldHVybiB0aGlzLnJlYXR0YWNoZWQucGlwZSh0YWtlKDEpKTtcblx0fVxuXG5cdG5nT25Jbml0KCk6IHZvaWQge1xuXHRcdC8qXG5cdFx0ICogRXh0cmFjdCBkZWZhdWx0IHZhbHVlcyBmcm9tIHBsYXlncm91bmQgcHJvcGVydGllcy4gV2UgZG8gdGhpcyBpbiBgbmdPbkluaXRgIGJlY2F1c2UgaW4gdGhpcyBjYXNlXG5cdFx0ICogaW5wdXQgdmFsdWVzIHByb3ZpZGVkIGZyb20gdGhlIHRlbXBsYXRlIGFyZSBub3QgaW5pdGlhbGl6ZWQgeWV0LCBhbmQgd2UgY2FuIHJlYWQgZGVmYXVsdCB2YWx1ZXMgaW5zdGVhZC5cblx0XHQgKi9cblx0XHRpZiAodGhpcy5wbGF5Z3JvdW5kKSB7XG5cdFx0XHR0aGlzLmRlZmF1bHRWYWx1ZXMgPSBPYmplY3Qua2V5cyh0aGlzLnBsYXlncm91bmQpLnJlZHVjZShcblx0XHRcdFx0KHZhbHVlczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4sIGtleTogc3RyaW5nKSA9PiB7XG5cdFx0XHRcdFx0aWYgKHRoaXMucGxheWdyb3VuZCkge1xuXHRcdFx0XHRcdFx0dHJ5IHtcblx0XHRcdFx0XHRcdFx0dmFsdWVzW2tleV0gPVxuXHRcdFx0XHRcdFx0XHRcdC8vIEB0cy1leHBlY3QtZXJyb3Igd2UgZG8gbm90IGtub3cgdGhlIHR5cGUgb2YgdGhlIHBsYXlncm91bmRcblx0XHRcdFx0XHRcdFx0XHR0eXBlb2YgdGhpcy5wbGF5Z3JvdW5kW2tleV0gPT09ICdmdW5jdGlvbidcblx0XHRcdFx0XHRcdFx0XHRcdD8gLy8gQHRzLWV4cGVjdC1lcnJvciB3ZSBkbyBub3Qga25vdyB0aGUgdHlwZSBvZiB0aGUgcGxheWdyb3VuZFxuXHRcdFx0XHRcdFx0XHRcdFx0XHR0aGlzLnBsYXlncm91bmRba2V5XSgpXG5cdFx0XHRcdFx0XHRcdFx0XHQ6IC8vIEB0cy1leHBlY3QtZXJyb3Igd2UgZG8gbm90IGtub3cgdGhlIHR5cGUgb2YgdGhlIHBsYXlncm91bmRcblx0XHRcdFx0XHRcdFx0XHRcdFx0dGhpcy5wbGF5Z3JvdW5kW2tleV07XG5cdFx0XHRcdFx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHRcdFx0XHRcdC8vIHdlIGRvIGNhdGNoIGhlcmUgYmVjYXVzZSBzb21lIG9mIHRoZSBwbGF5Z3JvdW5kIHByb3BlcnRpZXMgY2FuIGJlIGdldHRlcnMgYW5kIHRocm93IGFuIGVycm9yXG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0cmV0dXJuIHZhbHVlcztcblx0XHRcdFx0fSxcblx0XHRcdFx0e30sXG5cdFx0XHQpO1xuXHRcdH0gZWxzZSBpZiAodGhpcy5wbGF5Z3JvdW5kSW5zdGFuY2UpIHtcblx0XHRcdGNvbnN0IGRlZmF1bHRzID0gZXh0cmFjdEZ1bmN0aW9uRGVmYXVsdHModGhpcy5wbGF5Z3JvdW5kSW5zdGFuY2UucHJvdG90eXBlLnRyYW5zZm9ybSk7XG5cblx0XHRcdHRoaXMuZGVmYXVsdFZhbHVlcyA9IE9iamVjdC5rZXlzKHRoaXMucGxheWdyb3VuZENvbnRhaW5lci5wcm9wZXJ0aWVzID8/IHt9KS5yZWR1Y2UoXG5cdFx0XHRcdChkZWY6IFJlY29yZDxzdHJpbmcsIHVua25vd24+LCBrZXk6IHN0cmluZywgaTogbnVtYmVyKSA9PiB7XG5cdFx0XHRcdFx0Ly8gd2UgZG8gKzEgYmVjYXVzZSB0aGUgZmlyc3QgYXJndW1lbnQgaXMgdGhlIGB2YWx1ZWAgb2YgdGhlIHRyYW5zZm9ybSBmdW5jdGlvblxuXHRcdFx0XHRcdGRlZltrZXldID0gZGVmYXVsdHNbaSArIDFdO1xuXG5cdFx0XHRcdFx0cmV0dXJuIGRlZjtcblx0XHRcdFx0fSxcblx0XHRcdFx0e30sXG5cdFx0XHQpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoJ1BsYXlncm91bmQgaXMgbm90IGRlZmluZWQgb3IgaW5pdGlhbGl6ZWQnKTtcblx0XHR9XG5cblx0XHRpZiAoIXRoaXMucGxheWdyb3VuZENvbnRhaW5lci5kZWZhdWx0VmFsdWVzKSB7XG5cdFx0XHR0aGlzLnBsYXlncm91bmRDb250YWluZXIuZGVmYXVsdFZhbHVlcyA9IHRoaXMuZGVmYXVsdFZhbHVlcztcblx0XHR9XG5cblx0XHQvKlxuICAgICAgICAgICAgIFRoaXMgaXMgYSBoYWNrIGp1c3QgdG8gd2FpdCBmb3IgdGhlIHBsYXlncm91bmQgY29udGFpbmVyIHRvIGJlIGluaXRpYWxpemVkIGFuZCBvbmx5IHRoZW5cbiAgICAgICAgICAgICBhdHRhY2ggdGhlIGNoYW5nZSBkZXRlY3RvciB0byBoYXZlIGNvcnJlY3QgaW5wdXRzIHZhbHVlcy5cbiAgICAgICAgICovXG5cdFx0UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKSA9PiB7XG5cdFx0XHR0aGlzLmNoYW5nZURldGVjdG9yUmVmLnJlYXR0YWNoKCk7XG5cdFx0XHR0aGlzLnJlYXR0YWNoZWQubmV4dCgpO1xuXHRcdH0pO1xuXHR9XG5cblx0Z2V0IGRhdGEoKTogYW55IHtcblx0XHRyZXR1cm4gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5jb25maWdEYXRhLCB0aGlzLmFjdGlvbkRhdGEpO1xuXHR9XG59XG4iXX0=
|
|
@@ -46,6 +46,11 @@ let NgDocPlaygroundDemoComponent = class NgDocPlaygroundDemoComponent {
|
|
|
46
46
|
this.demoRef?.setInput('properties', data.properties ?? {});
|
|
47
47
|
this.demoRef?.setInput('content', data.content ?? {});
|
|
48
48
|
this.demoRef?.setInput('actionData', this.configuration?.data ?? {});
|
|
49
|
+
if (this.recreateDemo) {
|
|
50
|
+
this.demoRef?.instance.onReattached.subscribe(() => {
|
|
51
|
+
this.demoRef?.changeDetectorRef.detectChanges();
|
|
52
|
+
});
|
|
53
|
+
}
|
|
49
54
|
}
|
|
50
55
|
this.updateCodeView();
|
|
51
56
|
}
|
|
@@ -102,15 +107,15 @@ let NgDocPlaygroundDemoComponent = class NgDocPlaygroundDemoComponent {
|
|
|
102
107
|
this.unsubscribe$.next();
|
|
103
108
|
this.unsubscribe$.complete();
|
|
104
109
|
}
|
|
105
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
106
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.
|
|
110
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: NgDocPlaygroundDemoComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
111
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.2", type: NgDocPlaygroundDemoComponent, isStandalone: true, selector: "ng-doc-playground-demo", inputs: { id: "id", pipeName: "pipeName", selector: "selector", configuration: "configuration", properties: "properties", recreateDemo: "recreateDemo", form: "form", expanded: "expanded" }, viewQueries: [{ propertyName: "demoOutlet", first: true, predicate: ["demoOutlet"], descendants: true, read: ViewContainerRef, static: true }], usesOnChanges: true, ngImport: i0, template: "<ng-doc-smooth-resize *ngDocLet=\"code | async as codeContent\" [trigger]=\"codeContent\">\n\t<ng-doc-demo-displayer\n\t\t[code]=\"codeContent ?? ''\"\n\t\t[border]=\"false\"\n\t\t[expanded]=\"expanded\"\n\t\tlanguage=\"html\">\n\t\t<ng-container #demoOutlet></ng-container>\n\t</ng-doc-demo-displayer>\n</ng-doc-smooth-resize>\n", styles: [":host{display:block;border:var(--ng-doc-demo-displayer-border);border-radius:var(--ng-doc-demo-displayer-border-radius);overflow:hidden}:host:not(:last-child){border-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0}:host:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}\n"], dependencies: [{ kind: "component", type: NgDocDemoDisplayerComponent, selector: "ng-doc-demo-displayer", inputs: ["codeContent", "code", "language", "container", "border", "expanded"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "component", type: NgDocSmoothResizeComponent, selector: "ng-doc-smooth-resize", inputs: ["trigger", "animateOpacity"] }, { kind: "directive", type: NgDocLetDirective, selector: "[ngDocLet]", inputs: ["ngDocLet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
107
112
|
};
|
|
108
113
|
NgDocPlaygroundDemoComponent = __decorate([
|
|
109
114
|
UntilDestroy(),
|
|
110
115
|
__metadata("design:paramtypes", [Injector])
|
|
111
116
|
], NgDocPlaygroundDemoComponent);
|
|
112
117
|
export { NgDocPlaygroundDemoComponent };
|
|
113
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
118
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: NgDocPlaygroundDemoComponent, decorators: [{
|
|
114
119
|
type: Component,
|
|
115
120
|
args: [{ selector: 'ng-doc-playground-demo', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgDocDemoDisplayerComponent, AsyncPipe, NgDocSmoothResizeComponent, NgDocLetDirective], template: "<ng-doc-smooth-resize *ngDocLet=\"code | async as codeContent\" [trigger]=\"codeContent\">\n\t<ng-doc-demo-displayer\n\t\t[code]=\"codeContent ?? ''\"\n\t\t[border]=\"false\"\n\t\t[expanded]=\"expanded\"\n\t\tlanguage=\"html\">\n\t\t<ng-container #demoOutlet></ng-container>\n\t</ng-doc-demo-displayer>\n</ng-doc-smooth-resize>\n", styles: [":host{display:block;border:var(--ng-doc-demo-displayer-border);border-radius:var(--ng-doc-demo-displayer-border-radius);overflow:hidden}:host:not(:last-child){border-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0}:host:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}\n"] }]
|
|
116
121
|
}], ctorParameters: () => [{ type: i0.Injector }], propDecorators: { id: [{
|
|
@@ -133,4 +138,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
|
|
|
133
138
|
type: ViewChild,
|
|
134
139
|
args: ['demoOutlet', { static: true, read: ViewContainerRef }]
|
|
135
140
|
}] } });
|
|
136
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxheWdyb3VuZC1kZW1vLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBwL2NvbXBvbmVudHMvcGxheWdyb3VuZC9wbGF5Z3JvdW5kLWRlbW8vcGxheWdyb3VuZC1kZW1vLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBwL2NvbXBvbmVudHMvcGxheWdyb3VuZC9wbGF5Z3JvdW5kLWRlbW8vcGxheWdyb3VuZC1kZW1vLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUNOLHVCQUF1QixFQUN2QixTQUFTLEVBR1QsUUFBUSxFQUNSLEtBQUssRUFLTCxTQUFTLEVBQ1QsZ0JBQWdCLEdBQ2hCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNwRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFFL0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN6QyxPQUFPLEVBQ04sK0JBQStCLEVBQy9CLDJCQUEyQixHQUMzQixNQUFNLHFEQUFxRCxDQUFDO0FBQzdELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUU5RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvRSxPQUFPLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxJQUFJLEVBQWMsRUFB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QUFDLEdBQUcsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBRTFELE9BQU8sTUFBTSxDQUFDO1FBQ2YsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ1QsQ0FBQztJQUVELFdBQVc7UUFDVixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDOUIsQ0FBQzs4R0FqS1csNEJBQTRCO2tHQUE1Qiw0QkFBNEIscVdBNkJPLGdCQUFnQixnRUN6RWhFLDJVQVNBLCtXRGdDVywyQkFBMkIsNklBQUUsU0FBUyw4Q0FBRSwwQkFBMEIsd0dBQUUsaUJBQWlCOztBQUduRiw0QkFBNEI7SUFEeEMsWUFBWSxFQUFFO3FDQXdDeUIsUUFBUTtHQXZDbkMsNEJBQTRCLENBa0t4Qzs7MkZBbEtZLDRCQUE0QjtrQkFUeEMsU0FBUzsrQkFDQyx3QkFBd0IsbUJBR2pCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsMkJBQTJCLEVBQUUsU0FBUyxFQUFFLDBCQUEwQixFQUFFLGlCQUFpQixDQUFDOzZFQVNoRyxFQUFFO3NCQURELEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLFFBQVE7c0JBRFAsS0FBSztnQkFJTixhQUFhO3NCQURaLEtBQUs7Z0JBSU4sVUFBVTtzQkFEVCxLQUFLO2dCQUlOLFlBQVk7c0JBRFgsS0FBSztnQkFJTixJQUFJO3NCQURILEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLFVBQVU7c0JBRFQsU0FBUzt1QkFBQyxZQUFZLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFzeW5jUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuXHRDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcblx0Q29tcG9uZW50LFxuXHRDb21wb25lbnRSZWYsXG5cdEluamVjdGlvblRva2VuLFxuXHRJbmplY3Rvcixcblx0SW5wdXQsXG5cdE9uQ2hhbmdlcyxcblx0T25EZXN0cm95LFxuXHRTaW1wbGVDaGFuZ2VzLFxuXHRUeXBlLFxuXHRWaWV3Q2hpbGQsXG5cdFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTmdEb2NEZW1vRGlzcGxheWVyQ29tcG9uZW50IH0gZnJvbSAnQG5nLWRvYy9hcHAvY29tcG9uZW50cy9kZW1vLWRpc3BsYXllcic7XG5pbXBvcnQgeyBmb3JtYXRIdG1sIH0gZnJvbSAnQG5nLWRvYy9hcHAvaGVscGVycyc7XG5pbXBvcnQgeyBnZXRQbGF5Z3JvdW5kRGVtb1Rva2VuIH0gZnJvbSAnQG5nLWRvYy9hcHAvcHJvdmlkZXJzL3BsYXlncm91bmQtZGVtbyc7XG5pbXBvcnQgeyBOZ0RvY0Zvcm1QYXJ0aWFsVmFsdWUgfSBmcm9tICdAbmctZG9jL2FwcC90eXBlcyc7XG5pbXBvcnQgeyBzdHJpbmdpZnkgfSBmcm9tICdAbmctZG9jL2NvcmUnO1xuaW1wb3J0IHtcblx0YnVpbGRQbGF5Z3JvdW5kRGVtb1BpcGVUZW1wbGF0ZSxcblx0YnVpbGRQbGF5Z3JvdW5kRGVtb1RlbXBsYXRlLFxufSBmcm9tICdAbmctZG9jL2NvcmUvaGVscGVycy9idWlsZC1wbGF5Z3JvdW5kLWRlbW8tdGVtcGxhdGUnO1xuaW1wb3J0IHsgb2JqZWN0S2V5cyB9IGZyb20gJ0BuZy1kb2MvY29yZS9oZWxwZXJzL29iamVjdC1rZXlzJztcbmltcG9ydCB7IE5nRG9jUGxheWdyb3VuZENvbmZpZywgTmdEb2NQbGF5Z3JvdW5kUHJvcGVydGllcyB9IGZyb20gJ0BuZy1kb2MvY29yZS9pbnRlcmZhY2VzJztcbmltcG9ydCB7IE5nRG9jTGV0RGlyZWN0aXZlLCBOZ0RvY1Ntb290aFJlc2l6ZUNvbXBvbmVudCB9IGZyb20gJ0BuZy1kb2MvdWkta2l0JztcbmltcG9ydCB7IFVudGlsRGVzdHJveSwgdW50aWxEZXN0cm95ZWQgfSBmcm9tICdAbmduZWF0L3VudGlsLWRlc3Ryb3knO1xuaW1wb3J0IHsgZnJvbSwgT2JzZXJ2YWJsZSwgb2YsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHN0YXJ0V2l0aCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBOZ0RvY0Jhc2VQbGF5Z3JvdW5kIH0gZnJvbSAnLi4vYmFzZS1wbGF5Z3JvdW5kJztcbmltcG9ydCB7IE5nRG9jUGxheWdyb3VuZEZvcm0gfSBmcm9tICcuLi9wbGF5Z3JvdW5kLWZvcm0nO1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICduZy1kb2MtcGxheWdyb3VuZC1kZW1vJyxcblx0dGVtcGxhdGVVcmw6ICcuL3BsYXlncm91bmQtZGVtby5jb21wb25lbnQuaHRtbCcsXG5cdHN0eWxlVXJsczogWycuL3BsYXlncm91bmQtZGVtby5jb21wb25lbnQuc2NzcyddLFxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0aW1wb3J0czogW05nRG9jRGVtb0Rpc3BsYXllckNvbXBvbmVudCwgQXN5bmNQaXBlLCBOZ0RvY1Ntb290aFJlc2l6ZUNvbXBvbmVudCwgTmdEb2NMZXREaXJlY3RpdmVdLFxufSlcbkBVbnRpbERlc3Ryb3koKVxuZXhwb3J0IGNsYXNzIE5nRG9jUGxheWdyb3VuZERlbW9Db21wb25lbnQ8XG5cdFx0VCBleHRlbmRzIE5nRG9jUGxheWdyb3VuZFByb3BlcnRpZXMgPSBOZ0RvY1BsYXlncm91bmRQcm9wZXJ0aWVzLFxuXHQ+XG5cdGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkRlc3Ryb3lcbntcblx0QElucHV0KClcblx0aWQ6IHN0cmluZyA9ICcnO1xuXG5cdEBJbnB1dCgpXG5cdHBpcGVOYW1lOiBzdHJpbmcgPSAnJztcblxuXHRASW5wdXQoKVxuXHRzZWxlY3Rvcjogc3RyaW5nID0gJyc7XG5cblx0QElucHV0KClcblx0Y29uZmlndXJhdGlvbj86IE5nRG9jUGxheWdyb3VuZENvbmZpZztcblxuXHRASW5wdXQoKVxuXHRwcm9wZXJ0aWVzPzogVDtcblxuXHRASW5wdXQoKVxuXHRyZWNyZWF0ZURlbW86IGJvb2xlYW4gPSBmYWxzZTtcblxuXHRASW5wdXQoKVxuXHRmb3JtITogRm9ybUdyb3VwPE5nRG9jUGxheWdyb3VuZEZvcm0+O1xuXG5cdEBJbnB1dCgpXG5cdGV4cGFuZGVkOiBib29sZWFuID0gZmFsc2U7XG5cblx0QFZpZXdDaGlsZCgnZGVtb091dGxldCcsIHsgc3RhdGljOiB0cnVlLCByZWFkOiBWaWV3Q29udGFpbmVyUmVmIH0pXG5cdGRlbW9PdXRsZXQ/OiBWaWV3Q29udGFpbmVyUmVmO1xuXG5cdHBsYXlncm91bmREZW1vPzogdHlwZW9mIE5nRG9jQmFzZVBsYXlncm91bmQ7XG5cblx0Y29kZTogT2JzZXJ2YWJsZTxzdHJpbmc+ID0gb2YoJycpO1xuXG5cdHByaXZhdGUgZGVtb1JlZj86IENvbXBvbmVudFJlZjxOZ0RvY0Jhc2VQbGF5Z3JvdW5kPjtcblx0cHJpdmF0ZSByZWFkb25seSB1bnN1YnNjcmliZSQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG5cdGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgaW5qZWN0b3I6IEluamVjdG9yKSB7fVxuXG5cdG5nT25DaGFuZ2VzKHsgZm9ybSwgaWQgfTogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuXHRcdGlmIChmb3JtIHx8IGlkKSB7XG5cdFx0XHR0aGlzLnVuc3Vic2NyaWJlJC5uZXh0KCk7XG5cblx0XHRcdGNvbnN0IGRlbW9JbmplY3RvcjogSW5qZWN0aW9uVG9rZW48QXJyYXk8dHlwZW9mIE5nRG9jQmFzZVBsYXlncm91bmQ+PiB8IHVuZGVmaW5lZCA9XG5cdFx0XHRcdGdldFBsYXlncm91bmREZW1vVG9rZW4odGhpcy5pZCk7XG5cblx0XHRcdGlmIChkZW1vSW5qZWN0b3IpIHtcblx0XHRcdFx0Y29uc3QgZGVtb3M6IEFycmF5PHR5cGVvZiBOZ0RvY0Jhc2VQbGF5Z3JvdW5kPiA9IHRoaXMuaW5qZWN0b3IuZ2V0KGRlbW9JbmplY3RvciwgW10pO1xuXG5cdFx0XHRcdHRoaXMucGxheWdyb3VuZERlbW8gPSBkZW1vcy5maW5kKFxuXHRcdFx0XHRcdChkZW1vOiB0eXBlb2YgTmdEb2NCYXNlUGxheWdyb3VuZCkgPT5cblx0XHRcdFx0XHRcdGRlbW8uc2VsZWN0b3IgPT09IHRoaXMuc2VsZWN0b3IgfHwgZGVtby5zZWxlY3RvciA9PT0gdGhpcy5waXBlTmFtZSxcblx0XHRcdFx0KTtcblx0XHRcdH1cblxuXHRcdFx0dGhpcy51cGRhdGVEZW1vKCk7XG5cblx0XHRcdHRoaXMuZm9ybT8udmFsdWVDaGFuZ2VzXG5cdFx0XHRcdC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCksIHVudGlsRGVzdHJveWVkKHRoaXMpLCBzdGFydFdpdGgodGhpcy5mb3JtPy52YWx1ZSkpXG5cdFx0XHRcdC5zdWJzY3JpYmUoKGRhdGE6IE5nRG9jRm9ybVBhcnRpYWxWYWx1ZTx0eXBlb2YgdGhpcy5mb3JtPikgPT4gdGhpcy51cGRhdGVEZW1vKGRhdGEpKTtcblx0XHR9XG5cdH1cblxuXHRwcml2YXRlIHVwZGF0ZURlbW8oZGF0YT86IE5nRG9jRm9ybVBhcnRpYWxWYWx1ZTx0eXBlb2YgdGhpcy5mb3JtPik6IHZvaWQge1xuXHRcdGlmICh0aGlzLnJlY3JlYXRlRGVtbyB8fCAhdGhpcy5kZW1vUmVmKSB7XG5cdFx0XHR0aGlzLmNyZWF0ZURlbW8oKTtcblx0XHR9XG5cblx0XHRpZiAoZGF0YSkge1xuXHRcdFx0dGhpcy5kZW1vUmVmPy5zZXRJbnB1dCgncHJvcGVydGllcycsIGRhdGEucHJvcGVydGllcyA/PyB7fSk7XG5cdFx0XHR0aGlzLmRlbW9SZWY/LnNldElucHV0KCdjb250ZW50JywgZGF0YS5jb250ZW50ID8/IHt9KTtcblx0XHRcdHRoaXMuZGVtb1JlZj8uc2V0SW5wdXQoJ2FjdGlvbkRhdGEnLCB0aGlzLmNvbmZpZ3VyYXRpb24/LmRhdGEgPz8ge30pO1xuXHRcdH1cblxuXHRcdHRoaXMudXBkYXRlQ29kZVZpZXcoKTtcblx0fVxuXG5cdHByaXZhdGUgY3JlYXRlRGVtbygpOiB2b2lkIHtcblx0XHRpZiAodGhpcy5wbGF5Z3JvdW5kRGVtbykge1xuXHRcdFx0dGhpcy5kZW1vUmVmPy5kZXN0cm95KCk7XG5cdFx0XHR0aGlzLmRlbW9SZWYgPSB0aGlzLmRlbW9PdXRsZXQ/LmNyZWF0ZUNvbXBvbmVudChcblx0XHRcdFx0dGhpcy5wbGF5Z3JvdW5kRGVtbyBhcyB1bmtub3duIGFzIFR5cGU8TmdEb2NCYXNlUGxheWdyb3VuZD4sXG5cdFx0XHQpO1xuXHRcdFx0dGhpcy5kZW1vUmVmPy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcblx0XHR9XG5cdH1cblxuXHRwcml2YXRlIHVwZGF0ZUNvZGVWaWV3KCk6IHZvaWQge1xuXHRcdGNvbnN0IHRlbXBsYXRlOiBzdHJpbmcgPSB0aGlzLnBpcGVOYW1lXG5cdFx0XHQ/IGJ1aWxkUGxheWdyb3VuZERlbW9QaXBlVGVtcGxhdGUoXG5cdFx0XHRcdFx0dGhpcy5jb25maWd1cmF0aW9uPy50ZW1wbGF0ZSA/PyAnJyxcblx0XHRcdFx0XHR0aGlzLnBpcGVOYW1lLFxuXHRcdFx0XHRcdHRoaXMuZ2V0QWN0aXZlQ29udGVudCgpLFxuXHRcdFx0XHRcdHRoaXMuZ2V0UGlwZUFjdGl2ZUlucHV0cygpLFxuXHRcdFx0ICApXG5cdFx0XHQ6IGJ1aWxkUGxheWdyb3VuZERlbW9UZW1wbGF0ZShcblx0XHRcdFx0XHR0aGlzLmNvbmZpZ3VyYXRpb24/LnRlbXBsYXRlID8/ICcnLFxuXHRcdFx0XHRcdHRoaXMuc2VsZWN0b3IsXG5cdFx0XHRcdFx0dGhpcy5nZXRBY3RpdmVDb250ZW50KCksXG5cdFx0XHRcdFx0dGhpcy5nZXRBY3RpdmVJbnB1dHMoKSxcblx0XHRcdCAgKTtcblxuXHRcdHRoaXMuY29kZSA9IGZyb20oZm9ybWF0SHRtbCh0ZW1wbGF0ZSkpO1xuXHR9XG5cblx0cHJpdmF0ZSBnZXRBY3RpdmVDb250ZW50KCk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4ge1xuXHRcdGNvbnN0IGZvcm1EYXRhOiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPiA9XG5cdFx0XHQodGhpcy5mb3JtPy5jb250cm9scy5jb250ZW50LnZhbHVlIGFzIFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+KSA/PyB7fTtcblxuXHRcdHJldHVybiBvYmplY3RLZXlzKGZvcm1EYXRhKS5yZWR1Y2UoKHJlc3VsdDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiwga2V5OiBzdHJpbmcpID0+IHtcblx0XHRcdHJlc3VsdFtrZXldID0gZm9ybURhdGFba2V5XSA/IHRoaXMuY29uZmlndXJhdGlvbj8uY29udGVudD8uW2tleV0udGVtcGxhdGUgPz8gJycgOiAnJztcblxuXHRcdFx0cmV0dXJuIHJlc3VsdDtcblx0XHR9LCB7fSk7XG5cdH1cblxuXHRwcml2YXRlIGdldEFjdGl2ZUlucHV0cygpOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHtcblx0XHRjb25zdCBmb3JtRGF0YTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPVxuXHRcdFx0KHRoaXMuZm9ybT8uY29udHJvbHMucHJvcGVydGllcy52YWx1ZSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikgPz8ge307XG5cblx0XHRyZXR1cm4gb2JqZWN0S2V5cyhmb3JtRGF0YSkucmVkdWNlKChyZXN1bHQ6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4sIGtleTogc3RyaW5nKSA9PiB7XG5cdFx0XHRjb25zdCB2YWx1ZTogdW5rbm93biA9IGZvcm1EYXRhW2tleV07XG5cdFx0XHRjb25zdCBwcm9wZXJ0eTogdW5rbm93biB8IHVuZGVmaW5lZCA9IHRoaXMuZGVtb1JlZj8uaW5zdGFuY2U/LmRlZmF1bHRWYWx1ZXNba2V5XTtcblxuXHRcdFx0aWYgKHByb3BlcnR5ICE9PSB2YWx1ZSkge1xuXHRcdFx0XHRyZXN1bHRba2V5XSA9IHN0cmluZ2lmeSh2YWx1ZSkucmVwbGFjZSgvXCIvZywgYCdgKTtcblx0XHRcdH1cblxuXHRcdFx0cmV0dXJuIHJlc3VsdDtcblx0XHR9LCB7fSk7XG5cdH1cblxuXHRwcml2YXRlIGdldFBpcGVBY3RpdmVJbnB1dHMoKTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB7XG5cdFx0Y29uc3QgZm9ybURhdGE6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID1cblx0XHRcdCh0aGlzLmZvcm0/LmNvbnRyb2xzLnByb3BlcnRpZXMudmFsdWUgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pID8/IHt9O1xuXHRcdGxldCBjaGFuZ2VkSW5wdXRJbmRleDogbnVtYmVyID0gLTE7XG5cblx0XHRyZXR1cm4gb2JqZWN0S2V5cyhmb3JtRGF0YSlcblx0XHRcdC5tYXAoKGtleTogc3RyaW5nLCBpOiBudW1iZXIpID0+IHtcblx0XHRcdFx0Y29uc3QgdmFsdWU6IHVua25vd24gPSBmb3JtRGF0YVtrZXldO1xuXHRcdFx0XHRjb25zdCBkZWZhdWx0VmFsdWU6IHVua25vd24gfCB1bmRlZmluZWQgPSB0aGlzLmRlbW9SZWY/Lmluc3RhbmNlPy5kZWZhdWx0VmFsdWVzW2tleV07XG5cblx0XHRcdFx0aWYgKGRlZmF1bHRWYWx1ZSAhPT0gdmFsdWUpIHtcblx0XHRcdFx0XHRjaGFuZ2VkSW5wdXRJbmRleCA9IGk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRyZXR1cm4ga2V5O1xuXHRcdFx0fSlcblx0XHRcdC5zbGljZSgwLCBjaGFuZ2VkSW5wdXRJbmRleCArIDEpXG5cdFx0XHQucmVkdWNlKChyZXN1bHQ6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4sIGtleTogc3RyaW5nKSA9PiB7XG5cdFx0XHRcdHJlc3VsdFtrZXldID0gc3RyaW5naWZ5KGZvcm1EYXRhW2tleV0pLnJlcGxhY2UoL1wiL2csIGAnYCk7XG5cblx0XHRcdFx0cmV0dXJuIHJlc3VsdDtcblx0XHRcdH0sIHt9KTtcblx0fVxuXG5cdG5nT25EZXN0cm95KCk6IHZvaWQge1xuXHRcdHRoaXMudW5zdWJzY3JpYmUkLm5leHQoKTtcblx0XHR0aGlzLnVuc3Vic2NyaWJlJC5jb21wbGV0ZSgpO1xuXHR9XG59XG4iLCI8bmctZG9jLXNtb290aC1yZXNpemUgKm5nRG9jTGV0PVwiY29kZSB8IGFzeW5jIGFzIGNvZGVDb250ZW50XCIgW3RyaWdnZXJdPVwiY29kZUNvbnRlbnRcIj5cblx0PG5nLWRvYy1kZW1vLWRpc3BsYXllclxuXHRcdFtjb2RlXT1cImNvZGVDb250ZW50ID8/ICcnXCJcblx0XHRbYm9yZGVyXT1cImZhbHNlXCJcblx0XHRbZXhwYW5kZWRdPVwiZXhwYW5kZWRcIlxuXHRcdGxhbmd1YWdlPVwiaHRtbFwiPlxuXHRcdDxuZy1jb250YWluZXIgI2RlbW9PdXRsZXQ+PC9uZy1jb250YWluZXI+XG5cdDwvbmctZG9jLWRlbW8tZGlzcGxheWVyPlxuPC9uZy1kb2Mtc21vb3RoLXJlc2l6ZT5cbiJdfQ==
|
|
141
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxheWdyb3VuZC1kZW1vLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBwL2NvbXBvbmVudHMvcGxheWdyb3VuZC9wbGF5Z3JvdW5kLWRlbW8vcGxheWdyb3VuZC1kZW1vLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBwL2NvbXBvbmVudHMvcGxheWdyb3VuZC9wbGF5Z3JvdW5kLWRlbW8vcGxheWdyb3VuZC1kZW1vLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUNOLHVCQUF1QixFQUN2QixTQUFTLEVBR1QsUUFBUSxFQUNSLEtBQUssRUFLTCxTQUFTLEVBQ1QsZ0JBQWdCLEdBQ2hCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNwRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFFL0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN6QyxPQUFPLEVBQ04sK0JBQStCLEVBQy9CLDJCQUEyQixHQUMzQixNQUFNLHFEQUFxRCxDQUFDO0FBQzdELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUU5RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvRSxPQUFPLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxJQUFJLEVBQWMsRUFB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WixLQUFLO2dCQUlOLFVBQVU7c0JBRFQsS0FBSztnQkFJTixZQUFZO3NCQURYLEtBQUs7Z0JBSU4sSUFBSTtzQkFESCxLQUFLO2dCQUlOLFFBQVE7c0JBRFAsS0FBSztnQkFJTixVQUFVO3NCQURULFNBQVM7dUJBQUMsWUFBWSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3luY1BpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcblx0Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG5cdENvbXBvbmVudCxcblx0Q29tcG9uZW50UmVmLFxuXHRJbmplY3Rpb25Ub2tlbixcblx0SW5qZWN0b3IsXG5cdElucHV0LFxuXHRPbkNoYW5nZXMsXG5cdE9uRGVzdHJveSxcblx0U2ltcGxlQ2hhbmdlcyxcblx0VHlwZSxcblx0Vmlld0NoaWxkLFxuXHRWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE5nRG9jRGVtb0Rpc3BsYXllckNvbXBvbmVudCB9IGZyb20gJ0BuZy1kb2MvYXBwL2NvbXBvbmVudHMvZGVtby1kaXNwbGF5ZXInO1xuaW1wb3J0IHsgZm9ybWF0SHRtbCB9IGZyb20gJ0BuZy1kb2MvYXBwL2hlbHBlcnMnO1xuaW1wb3J0IHsgZ2V0UGxheWdyb3VuZERlbW9Ub2tlbiB9IGZyb20gJ0BuZy1kb2MvYXBwL3Byb3ZpZGVycy9wbGF5Z3JvdW5kLWRlbW8nO1xuaW1wb3J0IHsgTmdEb2NGb3JtUGFydGlhbFZhbHVlIH0gZnJvbSAnQG5nLWRvYy9hcHAvdHlwZXMnO1xuaW1wb3J0IHsgc3RyaW5naWZ5IH0gZnJvbSAnQG5nLWRvYy9jb3JlJztcbmltcG9ydCB7XG5cdGJ1aWxkUGxheWdyb3VuZERlbW9QaXBlVGVtcGxhdGUsXG5cdGJ1aWxkUGxheWdyb3VuZERlbW9UZW1wbGF0ZSxcbn0gZnJvbSAnQG5nLWRvYy9jb3JlL2hlbHBlcnMvYnVpbGQtcGxheWdyb3VuZC1kZW1vLXRlbXBsYXRlJztcbmltcG9ydCB7IG9iamVjdEtleXMgfSBmcm9tICdAbmctZG9jL2NvcmUvaGVscGVycy9vYmplY3Qta2V5cyc7XG5pbXBvcnQgeyBOZ0RvY1BsYXlncm91bmRDb25maWcsIE5nRG9jUGxheWdyb3VuZFByb3BlcnRpZXMgfSBmcm9tICdAbmctZG9jL2NvcmUvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBOZ0RvY0xldERpcmVjdGl2ZSwgTmdEb2NTbW9vdGhSZXNpemVDb21wb25lbnQgfSBmcm9tICdAbmctZG9jL3VpLWtpdCc7XG5pbXBvcnQgeyBVbnRpbERlc3Ryb3ksIHVudGlsRGVzdHJveWVkIH0gZnJvbSAnQG5nbmVhdC91bnRpbC1kZXN0cm95JztcbmltcG9ydCB7IGZyb20sIE9ic2VydmFibGUsIG9mLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBzdGFydFdpdGgsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgTmdEb2NCYXNlUGxheWdyb3VuZCB9IGZyb20gJy4uL2Jhc2UtcGxheWdyb3VuZCc7XG5pbXBvcnQgeyBOZ0RvY1BsYXlncm91bmRGb3JtIH0gZnJvbSAnLi4vcGxheWdyb3VuZC1mb3JtJztcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnbmctZG9jLXBsYXlncm91bmQtZGVtbycsXG5cdHRlbXBsYXRlVXJsOiAnLi9wbGF5Z3JvdW5kLWRlbW8uY29tcG9uZW50Lmh0bWwnLFxuXHRzdHlsZVVybHM6IFsnLi9wbGF5Z3JvdW5kLWRlbW8uY29tcG9uZW50LnNjc3MnXSxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdGltcG9ydHM6IFtOZ0RvY0RlbW9EaXNwbGF5ZXJDb21wb25lbnQsIEFzeW5jUGlwZSwgTmdEb2NTbW9vdGhSZXNpemVDb21wb25lbnQsIE5nRG9jTGV0RGlyZWN0aXZlXSxcbn0pXG5AVW50aWxEZXN0cm95KClcbmV4cG9ydCBjbGFzcyBOZ0RvY1BsYXlncm91bmREZW1vQ29tcG9uZW50PFxuXHRcdFQgZXh0ZW5kcyBOZ0RvY1BsYXlncm91bmRQcm9wZXJ0aWVzID0gTmdEb2NQbGF5Z3JvdW5kUHJvcGVydGllcyxcblx0PlxuXHRpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25EZXN0cm95XG57XG5cdEBJbnB1dCgpXG5cdGlkOiBzdHJpbmcgPSAnJztcblxuXHRASW5wdXQoKVxuXHRwaXBlTmFtZTogc3RyaW5nID0gJyc7XG5cblx0QElucHV0KClcblx0c2VsZWN0b3I6IHN0cmluZyA9ICcnO1xuXG5cdEBJbnB1dCgpXG5cdGNvbmZpZ3VyYXRpb24/OiBOZ0RvY1BsYXlncm91bmRDb25maWc7XG5cblx0QElucHV0KClcblx0cHJvcGVydGllcz86IFQ7XG5cblx0QElucHV0KClcblx0cmVjcmVhdGVEZW1vOiBib29sZWFuID0gZmFsc2U7XG5cblx0QElucHV0KClcblx0Zm9ybSE6IEZvcm1Hcm91cDxOZ0RvY1BsYXlncm91bmRGb3JtPjtcblxuXHRASW5wdXQoKVxuXHRleHBhbmRlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG5cdEBWaWV3Q2hpbGQoJ2RlbW9PdXRsZXQnLCB7IHN0YXRpYzogdHJ1ZSwgcmVhZDogVmlld0NvbnRhaW5lclJlZiB9KVxuXHRkZW1vT3V0bGV0PzogVmlld0NvbnRhaW5lclJlZjtcblxuXHRwbGF5Z3JvdW5kRGVtbz86IHR5cGVvZiBOZ0RvY0Jhc2VQbGF5Z3JvdW5kO1xuXG5cdGNvZGU6IE9ic2VydmFibGU8c3RyaW5nPiA9IG9mKCcnKTtcblxuXHRwcml2YXRlIGRlbW9SZWY/OiBDb21wb25lbnRSZWY8TmdEb2NCYXNlUGxheWdyb3VuZD47XG5cdHByaXZhdGUgcmVhZG9ubHkgdW5zdWJzY3JpYmUkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuXHRjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGluamVjdG9yOiBJbmplY3Rvcikge31cblxuXHRuZ09uQ2hhbmdlcyh7IGZvcm0sIGlkIH06IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcblx0XHRpZiAoZm9ybSB8fCBpZCkge1xuXHRcdFx0dGhpcy51bnN1YnNjcmliZSQubmV4dCgpO1xuXG5cdFx0XHRjb25zdCBkZW1vSW5qZWN0b3I6IEluamVjdGlvblRva2VuPEFycmF5PHR5cGVvZiBOZ0RvY0Jhc2VQbGF5Z3JvdW5kPj4gfCB1bmRlZmluZWQgPVxuXHRcdFx0XHRnZXRQbGF5Z3JvdW5kRGVtb1Rva2VuKHRoaXMuaWQpO1xuXG5cdFx0XHRpZiAoZGVtb0luamVjdG9yKSB7XG5cdFx0XHRcdGNvbnN0IGRlbW9zOiBBcnJheTx0eXBlb2YgTmdEb2NCYXNlUGxheWdyb3VuZD4gPSB0aGlzLmluamVjdG9yLmdldChkZW1vSW5qZWN0b3IsIFtdKTtcblxuXHRcdFx0XHR0aGlzLnBsYXlncm91bmREZW1vID0gZGVtb3MuZmluZChcblx0XHRcdFx0XHQoZGVtbzogdHlwZW9mIE5nRG9jQmFzZVBsYXlncm91bmQpID0+XG5cdFx0XHRcdFx0XHRkZW1vLnNlbGVjdG9yID09PSB0aGlzLnNlbGVjdG9yIHx8IGRlbW8uc2VsZWN0b3IgPT09IHRoaXMucGlwZU5hbWUsXG5cdFx0XHRcdCk7XG5cdFx0XHR9XG5cblx0XHRcdHRoaXMudXBkYXRlRGVtbygpO1xuXG5cdFx0XHR0aGlzLmZvcm0/LnZhbHVlQ2hhbmdlc1xuXHRcdFx0XHQucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSQpLCB1bnRpbERlc3Ryb3llZCh0aGlzKSwgc3RhcnRXaXRoKHRoaXMuZm9ybT8udmFsdWUpKVxuXHRcdFx0XHQuc3Vic2NyaWJlKChkYXRhOiBOZ0RvY0Zvcm1QYXJ0aWFsVmFsdWU8dHlwZW9mIHRoaXMuZm9ybT4pID0+IHRoaXMudXBkYXRlRGVtbyhkYXRhKSk7XG5cdFx0fVxuXHR9XG5cblx0cHJpdmF0ZSB1cGRhdGVEZW1vKGRhdGE/OiBOZ0RvY0Zvcm1QYXJ0aWFsVmFsdWU8dHlwZW9mIHRoaXMuZm9ybT4pOiB2b2lkIHtcblx0XHRpZiAodGhpcy5yZWNyZWF0ZURlbW8gfHwgIXRoaXMuZGVtb1JlZikge1xuXHRcdFx0dGhpcy5jcmVhdGVEZW1vKCk7XG5cdFx0fVxuXG5cdFx0aWYgKGRhdGEpIHtcblx0XHRcdHRoaXMuZGVtb1JlZj8uc2V0SW5wdXQoJ3Byb3BlcnRpZXMnLCBkYXRhLnByb3BlcnRpZXMgPz8ge30pO1xuXHRcdFx0dGhpcy5kZW1vUmVmPy5zZXRJbnB1dCgnY29udGVudCcsIGRhdGEuY29udGVudCA/PyB7fSk7XG5cdFx0XHR0aGlzLmRlbW9SZWY/LnNldElucHV0KCdhY3Rpb25EYXRhJywgdGhpcy5jb25maWd1cmF0aW9uPy5kYXRhID8/IHt9KTtcblxuXHRcdFx0aWYgKHRoaXMucmVjcmVhdGVEZW1vKSB7XG5cdFx0XHRcdHRoaXMuZGVtb1JlZj8uaW5zdGFuY2Uub25SZWF0dGFjaGVkLnN1YnNjcmliZSgoKSA9PiB7XG5cdFx0XHRcdFx0dGhpcy5kZW1vUmVmPy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG5cdFx0XHRcdH0pO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdHRoaXMudXBkYXRlQ29kZVZpZXcoKTtcblx0fVxuXG5cdHByaXZhdGUgY3JlYXRlRGVtbygpOiB2b2lkIHtcblx0XHRpZiAodGhpcy5wbGF5Z3JvdW5kRGVtbykge1xuXHRcdFx0dGhpcy5kZW1vUmVmPy5kZXN0cm95KCk7XG5cdFx0XHR0aGlzLmRlbW9SZWYgPSB0aGlzLmRlbW9PdXRsZXQ/LmNyZWF0ZUNvbXBvbmVudChcblx0XHRcdFx0dGhpcy5wbGF5Z3JvdW5kRGVtbyBhcyB1bmtub3duIGFzIFR5cGU8TmdEb2NCYXNlUGxheWdyb3VuZD4sXG5cdFx0XHQpO1xuXHRcdFx0dGhpcy5kZW1vUmVmPy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcblx0XHR9XG5cdH1cblxuXHRwcml2YXRlIHVwZGF0ZUNvZGVWaWV3KCk6IHZvaWQge1xuXHRcdGNvbnN0IHRlbXBsYXRlOiBzdHJpbmcgPSB0aGlzLnBpcGVOYW1lXG5cdFx0XHQ/IGJ1aWxkUGxheWdyb3VuZERlbW9QaXBlVGVtcGxhdGUoXG5cdFx0XHRcdFx0dGhpcy5jb25maWd1cmF0aW9uPy50ZW1wbGF0ZSA/PyAnJyxcblx0XHRcdFx0XHR0aGlzLnBpcGVOYW1lLFxuXHRcdFx0XHRcdHRoaXMuZ2V0QWN0aXZlQ29udGVudCgpLFxuXHRcdFx0XHRcdHRoaXMuZ2V0UGlwZUFjdGl2ZUlucHV0cygpLFxuXHRcdFx0XHQpXG5cdFx0XHQ6IGJ1aWxkUGxheWdyb3VuZERlbW9UZW1wbGF0ZShcblx0XHRcdFx0XHR0aGlzLmNvbmZpZ3VyYXRpb24/LnRlbXBsYXRlID8/ICcnLFxuXHRcdFx0XHRcdHRoaXMuc2VsZWN0b3IsXG5cdFx0XHRcdFx0dGhpcy5nZXRBY3RpdmVDb250ZW50KCksXG5cdFx0XHRcdFx0dGhpcy5nZXRBY3RpdmVJbnB1dHMoKSxcblx0XHRcdFx0KTtcblxuXHRcdHRoaXMuY29kZSA9IGZyb20oZm9ybWF0SHRtbCh0ZW1wbGF0ZSkpO1xuXHR9XG5cblx0cHJpdmF0ZSBnZXRBY3RpdmVDb250ZW50KCk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4ge1xuXHRcdGNvbnN0IGZvcm1EYXRhOiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPiA9XG5cdFx0XHQodGhpcy5mb3JtPy5jb250cm9scy5jb250ZW50LnZhbHVlIGFzIFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+KSA/PyB7fTtcblxuXHRcdHJldHVybiBvYmplY3RLZXlzKGZvcm1EYXRhKS5yZWR1Y2UoKHJlc3VsdDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiwga2V5OiBzdHJpbmcpID0+IHtcblx0XHRcdHJlc3VsdFtrZXldID0gZm9ybURhdGFba2V5XSA/IHRoaXMuY29uZmlndXJhdGlvbj8uY29udGVudD8uW2tleV0udGVtcGxhdGUgPz8gJycgOiAnJztcblxuXHRcdFx0cmV0dXJuIHJlc3VsdDtcblx0XHR9LCB7fSk7XG5cdH1cblxuXHRwcml2YXRlIGdldEFjdGl2ZUlucHV0cygpOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHtcblx0XHRjb25zdCBmb3JtRGF0YTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPVxuXHRcdFx0KHRoaXMuZm9ybT8uY29udHJvbHMucHJvcGVydGllcy52YWx1ZSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikgPz8ge307XG5cblx0XHRyZXR1cm4gb2JqZWN0S2V5cyhmb3JtRGF0YSkucmVkdWNlKChyZXN1bHQ6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4sIGtleTogc3RyaW5nKSA9PiB7XG5cdFx0XHRjb25zdCB2YWx1ZTogdW5rbm93biA9IGZvcm1EYXRhW2tleV07XG5cdFx0XHRjb25zdCBwcm9wZXJ0eTogdW5rbm93biB8IHVuZGVmaW5lZCA9IHRoaXMuZGVtb1JlZj8uaW5zdGFuY2U/LmRlZmF1bHRWYWx1ZXNba2V5XTtcblxuXHRcdFx0aWYgKHByb3BlcnR5ICE9PSB2YWx1ZSkge1xuXHRcdFx0XHRyZXN1bHRba2V5XSA9IHN0cmluZ2lmeSh2YWx1ZSkucmVwbGFjZSgvXCIvZywgYCdgKTtcblx0XHRcdH1cblxuXHRcdFx0cmV0dXJuIHJlc3VsdDtcblx0XHR9LCB7fSk7XG5cdH1cblxuXHRwcml2YXRlIGdldFBpcGVBY3RpdmVJbnB1dHMoKTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB7XG5cdFx0Y29uc3QgZm9ybURhdGE6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID1cblx0XHRcdCh0aGlzLmZvcm0/LmNvbnRyb2xzLnByb3BlcnRpZXMudmFsdWUgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pID8/IHt9O1xuXHRcdGxldCBjaGFuZ2VkSW5wdXRJbmRleDogbnVtYmVyID0gLTE7XG5cblx0XHRyZXR1cm4gb2JqZWN0S2V5cyhmb3JtRGF0YSlcblx0XHRcdC5tYXAoKGtleTogc3RyaW5nLCBpOiBudW1iZXIpID0+IHtcblx0XHRcdFx0Y29uc3QgdmFsdWU6IHVua25vd24gPSBmb3JtRGF0YVtrZXldO1xuXHRcdFx0XHRjb25zdCBkZWZhdWx0VmFsdWU6IHVua25vd24gfCB1bmRlZmluZWQgPSB0aGlzLmRlbW9SZWY/Lmluc3RhbmNlPy5kZWZhdWx0VmFsdWVzW2tleV07XG5cblx0XHRcdFx0aWYgKGRlZmF1bHRWYWx1ZSAhPT0gdmFsdWUpIHtcblx0XHRcdFx0XHRjaGFuZ2VkSW5wdXRJbmRleCA9IGk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRyZXR1cm4ga2V5O1xuXHRcdFx0fSlcblx0XHRcdC5zbGljZSgwLCBjaGFuZ2VkSW5wdXRJbmRleCArIDEpXG5cdFx0XHQucmVkdWNlKChyZXN1bHQ6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4sIGtleTogc3RyaW5nKSA9PiB7XG5cdFx0XHRcdHJlc3VsdFtrZXldID0gc3RyaW5naWZ5KGZvcm1EYXRhW2tleV0pLnJlcGxhY2UoL1wiL2csIGAnYCk7XG5cblx0XHRcdFx0cmV0dXJuIHJlc3VsdDtcblx0XHRcdH0sIHt9KTtcblx0fVxuXG5cdG5nT25EZXN0cm95KCk6IHZvaWQge1xuXHRcdHRoaXMudW5zdWJzY3JpYmUkLm5leHQoKTtcblx0XHR0aGlzLnVuc3Vic2NyaWJlJC5jb21wbGV0ZSgpO1xuXHR9XG59XG4iLCI8bmctZG9jLXNtb290aC1yZXNpemUgKm5nRG9jTGV0PVwiY29kZSB8IGFzeW5jIGFzIGNvZGVDb250ZW50XCIgW3RyaWdnZXJdPVwiY29kZUNvbnRlbnRcIj5cblx0PG5nLWRvYy1kZW1vLWRpc3BsYXllclxuXHRcdFtjb2RlXT1cImNvZGVDb250ZW50ID8/ICcnXCJcblx0XHRbYm9yZGVyXT1cImZhbHNlXCJcblx0XHRbZXhwYW5kZWRdPVwiZXhwYW5kZWRcIlxuXHRcdGxhbmd1YWdlPVwiaHRtbFwiPlxuXHRcdDxuZy1jb250YWluZXIgI2RlbW9PdXRsZXQ+PC9uZy1jb250YWluZXI+XG5cdDwvbmctZG9jLWRlbW8tZGlzcGxheWVyPlxuPC9uZy1kb2Mtc21vb3RoLXJlc2l6ZT5cbiJdfQ==
|
package/esm2022/components/playground/playground-properties/playground-properties.component.mjs
CHANGED
|
@@ -98,10 +98,10 @@ export class NgDocPlaygroundPropertiesComponent {
|
|
|
98
98
|
}
|
|
99
99
|
return undefined;
|
|
100
100
|
}
|
|
101
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
102
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.
|
|
101
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: NgDocPlaygroundPropertiesComponent, deps: [{ token: i1.BreakpointObserver }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
102
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.2", type: NgDocPlaygroundPropertiesComponent, isStandalone: true, selector: "ng-doc-playground-properties", inputs: { form: "form", properties: "properties", ignoreInputs: "ignoreInputs", dynamicContent: "dynamicContent", defaultValues: "defaultValues", hideSidePanel: "hideSidePanel", recreateDemo: "recreateDemo", showResetButton: "showResetButton" }, outputs: { recreateDemoChange: "recreateDemoChange", resetForm: "resetForm" }, usesOnChanges: true, ngImport: i0, template: "<div\n\tclass=\"ng-doc-playground-properties-wrapper\"\n\t[class.vertical]=\"observer | async\"\n\t*ngIf=\"defaultValues\">\n\t<div class=\"ng-doc-playground-demos\">\n\t\t<ng-content></ng-content>\n\t</div>\n\t<div class=\"ng-doc-playground-properties\" *ngIf=\"!hideSidePanel\">\n\t\t<div class=\"ng-doc-playground-header\">\n\t\t\t<h4 ng-doc-text>Playground</h4>\n\t\t\t<button ng-doc-button color=\"alert\" (click)=\"resetForm.emit()\" *ngIf=\"showResetButton\">\n\t\t\t\tReset\n\t\t\t</button>\n\t\t</div>\n\t\t<div class=\"ng-doc-playground-setting\">\n\t\t\t<ng-doc-checkbox [(ngModel)]=\"recreateDemo\" (ngModelChange)=\"recreateDemoChange.emit($event)\">\n\t\t\t\t<span\n\t\t\t\t\tng-doc-text\n\t\t\t\t\t[ngDocTooltip]=\"'Recreates demo everytime\\none of the input has changed'\"\n\t\t\t\t\t[positions]=\"['bottom-right', 'left-center']\">\n\t\t\t\t\tRecreate\n\t\t\t\t\t<ng-doc-icon icon=\"info\" ngDocTextRight></ng-doc-icon>\n\t\t\t\t</span>\n\t\t\t</ng-doc-checkbox>\n\t\t</div>\n\t\t<div class=\"ng-doc-playground-divider\"></div>\n\t\t<ng-container *ngIf=\"propertyControls.length\">\n\t\t\t<h5 class=\"ng-doc-title\" ng-doc-text>Settings</h5>\n\t\t\t<ng-doc-playground-property\n\t\t\t\t*ngFor=\"let propertyControl of propertyControls\"\n\t\t\t\t[name]=\"propertyControl.property.inputName\"\n\t\t\t\t[property]=\"propertyControl.property\"\n\t\t\t\t[typeControl]=\"propertyControl.typeControl\"\n\t\t\t\t[defaultValue]=\"defaultValues[propertyControl.propertyName]\"\n\t\t\t\t[control]=\"\n\t\t\t\t\tgetFormControl | bind: this | execute: 'properties':propertyControl.propertyName\n\t\t\t\t\">\n\t\t\t</ng-doc-playground-property>\n\t\t</ng-container>\n\n\t\t<ng-container *ngIf=\"(dynamicContent | keyvalue)?.length\">\n\t\t\t<h5 class=\"ng-doc-title\" ng-doc-text>Content</h5>\n\t\t\t<ng-doc-playground-property\n\t\t\t\t*ngFor=\"let content of dynamicContent | keyvalue\"\n\t\t\t\t[name]=\"content.value.label\"\n\t\t\t\t[property]=\"content.value\"\n\t\t\t\t[typeControl]=\"contentTypeControl\"\n\t\t\t\t[control]=\"getFormControl | bind: this | execute: 'content':content.key\">\n\t\t\t</ng-doc-playground-property>\n\t\t</ng-container>\n\t</div>\n</div>\n", styles: [":host .ng-doc-playground-properties-wrapper{position:relative;display:flex;gap:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-playground-properties-wrapper.vertical{flex-direction:column}:host .ng-doc-playground-properties-wrapper.vertical .ng-doc-playground-demos{margin-right:0;margin-bottom:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-playground-properties-wrapper.vertical .ng-doc-playground-properties{width:100%}:host .ng-doc-playground-properties-wrapper .ng-doc-playground-demos{display:flex;flex-direction:column;width:100%;overflow:hidden}:host .ng-doc-playground-properties-wrapper .ng-doc-playground-properties{flex-shrink:0;width:300px;padding:calc(var(--ng-doc-base-gutter) * 2) calc(var(--ng-doc-base-gutter) * 3);background-color:var(--ng-doc-base-1);border-radius:var(--ng-doc-base-gutter);border:1px solid var(--ng-doc-border-color)}:host .ng-doc-playground-properties-wrapper .ng-doc-playground-properties ng-doc-playground-property:not(:last-child){margin-bottom:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-playground-properties-wrapper .ng-doc-playground-properties .ng-doc-playground-controls{display:flex;justify-content:flex-end}:host .ng-doc-playground-properties-wrapper .ng-doc-playground-properties .ng-doc-playground-header{display:flex;align-items:center;justify-content:space-between;height:40px;margin-bottom:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-playground-properties-wrapper .ng-doc-playground-properties .ng-doc-playground-header h4{margin:0}:host .ng-doc-playground-properties-wrapper .ng-doc-playground-properties .ng-doc-playground-setting{display:flex;flex-direction:column}:host .ng-doc-playground-properties-wrapper .ng-doc-title{margin-top:0;margin-bottom:calc(var(--ng-doc-base-gutter) + var(--ng-doc-base-gutter) / 2)}:host .ng-doc-playground-divider{margin:calc(var(--ng-doc-base-gutter) * 2) 0;height:1px;background-color:var(--ng-doc-base-2)}\n"], dependencies: [{ kind: "component", type: NgDocTextComponent, selector: "[ng-doc-text]", inputs: ["size", "color", "align", "absoluteContent"] }, { kind: "component", type: NgDocButtonComponent, selector: "button[ng-doc-button], a[ng-doc-button], button[ng-doc-button-flat], a[ng-doc-button-flat], button[ng-doc-button-text], a[ng-doc-button-text]", inputs: ["size", "color", "rounded"] }, { kind: "component", type: NgDocCheckboxComponent, selector: "ng-doc-checkbox", inputs: ["color"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgDocTooltipDirective, selector: "[ngDocTooltip]", inputs: ["ngDocTooltip", "delay", "displayOrigin", "pointerOrigin", "positions", "canOpen", "panelClass", "minHeight", "maxHeight", "height", "minWidth", "maxWidth", "width"], outputs: ["beforeOpen", "afterOpen", "beforeClose", "afterClose"], exportAs: ["ngDocTooltip"] }, { kind: "component", type: NgDocIconComponent, selector: "ng-doc-icon", inputs: ["icon", "customIcon", "size"] }, { kind: "directive", type: NgDocTextRightDirective, selector: "[ngDocTextRight]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: NgDocPlaygroundPropertyComponent, selector: "ng-doc-playground-property", inputs: ["name", "property", "typeControl", "control", "defaultValue"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: KeyValuePipe, name: "keyvalue" }, { kind: "pipe", type: NgDocBindPipe, name: "bind" }, { kind: "pipe", type: NgDocExecutePipe, name: "execute" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
103
103
|
}
|
|
104
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
104
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: NgDocPlaygroundPropertiesComponent, decorators: [{
|
|
105
105
|
type: Component,
|
|
106
106
|
args: [{ selector: 'ng-doc-playground-properties', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
107
107
|
NgDocTextComponent,
|
|
@@ -118,7 +118,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
|
|
|
118
118
|
KeyValuePipe,
|
|
119
119
|
NgDocBindPipe,
|
|
120
120
|
NgDocExecutePipe,
|
|
121
|
-
], template: "<div\n\tclass=\"ng-doc-playground-properties-wrapper\"\n\t[class.vertical]=\"observer | async\"\n\t*ngIf=\"defaultValues\">\n\t<div class=\"ng-doc-playground-demos\">\n\t\t<ng-content></ng-content>\n\t</div>\n\t<div class=\"ng-doc-playground-properties\" *ngIf=\"!hideSidePanel\">\n\t\t<div class=\"ng-doc-playground-header\">\n\t\t\t<h4 ng-doc-text>Playground</h4>\n\t\t\t<button ng-doc-button color=\"alert\" (click)=\"resetForm.emit()\" *ngIf=\"showResetButton\">\n\t\t\t\tReset\n\t\t\t</button>\n\t\t</div>\n\t\t<div class=\"ng-doc-playground-setting\">\n\t\t\t<ng-doc-checkbox [(ngModel)]=\"recreateDemo\" (ngModelChange)=\"recreateDemoChange.emit($event)\">\n\t\t\t\t<span\n\t\t\t\t\tng-doc-text\n\t\t\t\t\t[ngDocTooltip]=\"'Recreates demo everytime\\none of the input has changed'\"\n\t\t\t\t\t[positions]=\"['bottom-right', 'left-center']\">\n\t\t\t\t\tRecreate\n\t\t\t\t\t<ng-doc-icon icon=\"info\" ngDocTextRight></ng-doc-icon>\n\t\t\t\t</span>\n\t\t\t</ng-doc-checkbox>\n\t\t</div>\n\t\t<div class=\"ng-doc-playground-divider\"></div>\n\t\t<ng-container *ngIf=\"propertyControls.length\">\n\t\t\t<h5 class=\"ng-doc-title\" ng-doc-text>Settings</h5>\n\t\t\t<ng-doc-playground-property\n\t\t\t\t*ngFor=\"let propertyControl of propertyControls\"\n\t\t\t\t[name]=\"propertyControl.property.inputName\"\n\t\t\t\t[property]=\"propertyControl.property\"\n\t\t\t\t[typeControl]=\"propertyControl.typeControl\"\n\t\t\t\t[defaultValue]=\"defaultValues[propertyControl.propertyName]\"\n\t\t\t\t[control]=\"\n\t\t\t\t\tgetFormControl | bind: this | execute: 'properties':propertyControl.propertyName\n\t\t\t\t\">\n\t\t\t</ng-doc-playground-property>\n\t\t</ng-container>\n\n\t\t<ng-container *ngIf=\"(dynamicContent | keyvalue)?.length\">\n\t\t\t<h5 class=\"ng-doc-title\" ng-doc-text>Content</h5>\n\t\t\t<ng-doc-playground-property\n\t\t\t\t*ngFor=\"let content of dynamicContent | keyvalue\"\n\t\t\t\t[name]=\"content.value.label\"\n\t\t\t\t[property]=\"content.value\"\n\t\t\t\t[typeControl]=\"contentTypeControl\"\n\t\t\t\t[control]=\"getFormControl | bind: this | execute: 'content':content.key\">\n\t\t\t</ng-doc-playground-property>\n\t\t</ng-container>\n\t</div>\n</div>\n", styles: [":host .ng-doc-playground-properties-wrapper{position:relative;display:flex;
|
|
121
|
+
], template: "<div\n\tclass=\"ng-doc-playground-properties-wrapper\"\n\t[class.vertical]=\"observer | async\"\n\t*ngIf=\"defaultValues\">\n\t<div class=\"ng-doc-playground-demos\">\n\t\t<ng-content></ng-content>\n\t</div>\n\t<div class=\"ng-doc-playground-properties\" *ngIf=\"!hideSidePanel\">\n\t\t<div class=\"ng-doc-playground-header\">\n\t\t\t<h4 ng-doc-text>Playground</h4>\n\t\t\t<button ng-doc-button color=\"alert\" (click)=\"resetForm.emit()\" *ngIf=\"showResetButton\">\n\t\t\t\tReset\n\t\t\t</button>\n\t\t</div>\n\t\t<div class=\"ng-doc-playground-setting\">\n\t\t\t<ng-doc-checkbox [(ngModel)]=\"recreateDemo\" (ngModelChange)=\"recreateDemoChange.emit($event)\">\n\t\t\t\t<span\n\t\t\t\t\tng-doc-text\n\t\t\t\t\t[ngDocTooltip]=\"'Recreates demo everytime\\none of the input has changed'\"\n\t\t\t\t\t[positions]=\"['bottom-right', 'left-center']\">\n\t\t\t\t\tRecreate\n\t\t\t\t\t<ng-doc-icon icon=\"info\" ngDocTextRight></ng-doc-icon>\n\t\t\t\t</span>\n\t\t\t</ng-doc-checkbox>\n\t\t</div>\n\t\t<div class=\"ng-doc-playground-divider\"></div>\n\t\t<ng-container *ngIf=\"propertyControls.length\">\n\t\t\t<h5 class=\"ng-doc-title\" ng-doc-text>Settings</h5>\n\t\t\t<ng-doc-playground-property\n\t\t\t\t*ngFor=\"let propertyControl of propertyControls\"\n\t\t\t\t[name]=\"propertyControl.property.inputName\"\n\t\t\t\t[property]=\"propertyControl.property\"\n\t\t\t\t[typeControl]=\"propertyControl.typeControl\"\n\t\t\t\t[defaultValue]=\"defaultValues[propertyControl.propertyName]\"\n\t\t\t\t[control]=\"\n\t\t\t\t\tgetFormControl | bind: this | execute: 'properties':propertyControl.propertyName\n\t\t\t\t\">\n\t\t\t</ng-doc-playground-property>\n\t\t</ng-container>\n\n\t\t<ng-container *ngIf=\"(dynamicContent | keyvalue)?.length\">\n\t\t\t<h5 class=\"ng-doc-title\" ng-doc-text>Content</h5>\n\t\t\t<ng-doc-playground-property\n\t\t\t\t*ngFor=\"let content of dynamicContent | keyvalue\"\n\t\t\t\t[name]=\"content.value.label\"\n\t\t\t\t[property]=\"content.value\"\n\t\t\t\t[typeControl]=\"contentTypeControl\"\n\t\t\t\t[control]=\"getFormControl | bind: this | execute: 'content':content.key\">\n\t\t\t</ng-doc-playground-property>\n\t\t</ng-container>\n\t</div>\n</div>\n", styles: [":host .ng-doc-playground-properties-wrapper{position:relative;display:flex;gap:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-playground-properties-wrapper.vertical{flex-direction:column}:host .ng-doc-playground-properties-wrapper.vertical .ng-doc-playground-demos{margin-right:0;margin-bottom:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-playground-properties-wrapper.vertical .ng-doc-playground-properties{width:100%}:host .ng-doc-playground-properties-wrapper .ng-doc-playground-demos{display:flex;flex-direction:column;width:100%;overflow:hidden}:host .ng-doc-playground-properties-wrapper .ng-doc-playground-properties{flex-shrink:0;width:300px;padding:calc(var(--ng-doc-base-gutter) * 2) calc(var(--ng-doc-base-gutter) * 3);background-color:var(--ng-doc-base-1);border-radius:var(--ng-doc-base-gutter);border:1px solid var(--ng-doc-border-color)}:host .ng-doc-playground-properties-wrapper .ng-doc-playground-properties ng-doc-playground-property:not(:last-child){margin-bottom:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-playground-properties-wrapper .ng-doc-playground-properties .ng-doc-playground-controls{display:flex;justify-content:flex-end}:host .ng-doc-playground-properties-wrapper .ng-doc-playground-properties .ng-doc-playground-header{display:flex;align-items:center;justify-content:space-between;height:40px;margin-bottom:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-playground-properties-wrapper .ng-doc-playground-properties .ng-doc-playground-header h4{margin:0}:host .ng-doc-playground-properties-wrapper .ng-doc-playground-properties .ng-doc-playground-setting{display:flex;flex-direction:column}:host .ng-doc-playground-properties-wrapper .ng-doc-title{margin-top:0;margin-bottom:calc(var(--ng-doc-base-gutter) + var(--ng-doc-base-gutter) / 2)}:host .ng-doc-playground-divider{margin:calc(var(--ng-doc-base-gutter) * 2) 0;height:1px;background-color:var(--ng-doc-base-2)}\n"] }]
|
|
122
122
|
}], ctorParameters: () => [{ type: i1.BreakpointObserver }, { type: i0.Injector }], propDecorators: { form: [{
|
|
123
123
|
type: Input
|
|
124
124
|
}], properties: [{
|
|
@@ -140,4 +140,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
|
|
|
140
140
|
}], resetForm: [{
|
|
141
141
|
type: Output
|
|
142
142
|
}] } });
|
|
143
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxheWdyb3VuZC1wcm9wZXJ0aWVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBwL2NvbXBvbmVudHMvcGxheWdyb3VuZC9wbGF5Z3JvdW5kLXByb3BlcnRpZXMvcGxheWdyb3VuZC1wcm9wZXJ0aWVzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBwL2NvbXBvbmVudHMvcGxheWdyb3VuZC9wbGF5Z3JvdW5kLXByb3BlcnRpZXMvcGxheWdyb3VuZC1wcm9wZXJ0aWVzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxXQUFXLEVBQW1CLE1BQU0scUJBQXFCLENBQUM7QUFDdkYsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZFLE9BQU8sRUFDTix1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFFWixRQUFRLEVBQ1IsS0FBSyxFQUNMLFNBQVMsRUFFVCxNQUFNLEdBRU4sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFlLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDckUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFNMUUsT0FBTyxFQUNOLGFBQWEsRUFDYixvQkFBb0IsRUFDcEIsc0JBQXNCLEVBQ3RCLGdCQUFnQixFQUNoQixrQkFBa0IsRUFDbEIsa0JBQWtCLEVBQ2xCLHVCQUF1QixFQUN2QixxQkFBcUIsR0FDckIsTUFBTSxnQkFBZ0IsQ0FB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QWM7c0JBRGIsS0FBSztnQkFJTixhQUFhO3NCQURaLEtBQUs7Z0JBSU4sYUFBYTtzQkFEWixLQUFLO2dCQUlOLFlBQVk7c0JBRFgsS0FBSztnQkFJTixlQUFlO3NCQURkLEtBQUs7Z0JBSU4sa0JBQWtCO3NCQURqQixNQUFNO2dCQUlQLFNBQVM7c0JBRFIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJyZWFrcG9pbnRPYnNlcnZlciwgQnJlYWtwb2ludHMsIEJyZWFrcG9pbnRTdGF0ZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9sYXlvdXQnO1xuaW1wb3J0IHsgQXN5bmNQaXBlLCBLZXlWYWx1ZVBpcGUsIE5nRm9yLCBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG5cdENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuXHRDb21wb25lbnQsXG5cdEV2ZW50RW1pdHRlcixcblx0SW5qZWN0aW9uVG9rZW4sXG5cdEluamVjdG9yLFxuXHRJbnB1dCxcblx0aXNEZXZNb2RlLFxuXHRPbkNoYW5nZXMsXG5cdE91dHB1dCxcblx0U2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGlzUGxheWdyb3VuZFByb3BlcnR5IH0gZnJvbSAnQG5nLWRvYy9hcHAvaGVscGVycyc7XG5pbXBvcnQgeyBOZ0RvY1Byb3ZpZGVkVHlwZUNvbnRyb2wgfSBmcm9tICdAbmctZG9jL2FwcC9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGdldFRva2VuRm9yVHlwZSB9IGZyb20gJ0BuZy1kb2MvYXBwL3Byb3ZpZGVycy90eXBlLWNvbnRyb2wnO1xuaW1wb3J0IHsgZXh0cmFjdFZhbHVlT3JUaHJvdywgaXNQcmVzZW50LCBvYmplY3RLZXlzIH0gZnJvbSAnQG5nLWRvYy9jb3JlJztcbmltcG9ydCB7XG5cdE5nRG9jUGxheWdyb3VuZENvbnRlbnQsXG5cdE5nRG9jUGxheWdyb3VuZFByb3BlcnRpZXMsXG5cdE5nRG9jUGxheWdyb3VuZFByb3BlcnR5LFxufSBmcm9tICdAbmctZG9jL2NvcmUvaW50ZXJmYWNlcyc7XG5pbXBvcnQge1xuXHROZ0RvY0JpbmRQaXBlLFxuXHROZ0RvY0J1dHRvbkNvbXBvbmVudCxcblx0TmdEb2NDaGVja2JveENvbXBvbmVudCxcblx0TmdEb2NFeGVjdXRlUGlwZSxcblx0TmdEb2NJY29uQ29tcG9uZW50LFxuXHROZ0RvY1RleHRDb21wb25lbnQsXG5cdE5nRG9jVGV4dFJpZ2h0RGlyZWN0aXZlLFxuXHROZ0RvY1Rvb2x0aXBEaXJlY3RpdmUsXG59IGZyb20gJ0BuZy1kb2MvdWkta2l0JztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgTmdEb2NQbGF5Z3JvdW5kRm9ybSB9IGZyb20gJy4uL3BsYXlncm91bmQtZm9ybSc7XG5pbXBvcnQgeyBOZ0RvY1BsYXlncm91bmRQcm9wZXJ0eUNvbXBvbmVudCB9IGZyb20gJy4uL3BsYXlncm91bmQtcHJvcGVydHkvcGxheWdyb3VuZC1wcm9wZXJ0eS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmdEb2NQbGF5Z3JvdW5kUHJvcGVydHlDb250cm9sIH0gZnJvbSAnLi4vcGxheWdyb3VuZC1wcm9wZXJ0eS1jb250cm9sJztcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnbmctZG9jLXBsYXlncm91bmQtcHJvcGVydGllcycsXG5cdHRlbXBsYXRlVXJsOiAnLi9wbGF5Z3JvdW5kLXByb3BlcnRpZXMuY29tcG9uZW50Lmh0bWwnLFxuXHRzdHlsZVVybHM6IFsnLi9wbGF5Z3JvdW5kLXByb3BlcnRpZXMuY29tcG9uZW50LnNjc3MnXSxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdGltcG9ydHM6IFtcblx0XHROZ0RvY1RleHRDb21wb25lbnQsXG5cdFx0TmdEb2NCdXR0b25Db21wb25lbnQsXG5cdFx0TmdEb2NDaGVja2JveENvbXBvbmVudCxcblx0XHRGb3Jtc01vZHVsZSxcblx0XHROZ0RvY1Rvb2x0aXBEaXJlY3RpdmUsXG5cdFx0TmdEb2NJY29uQ29tcG9uZW50LFxuXHRcdE5nRG9jVGV4dFJpZ2h0RGlyZWN0aXZlLFxuXHRcdE5nSWYsXG5cdFx0TmdGb3IsXG5cdFx0TmdEb2NQbGF5Z3JvdW5kUHJvcGVydHlDb21wb25lbnQsXG5cdFx0QXN5bmNQaXBlLFxuXHRcdEtleVZhbHVlUGlwZSxcblx0XHROZ0RvY0JpbmRQaXBlLFxuXHRcdE5nRG9jRXhlY3V0ZVBpcGUsXG5cdF0sXG59KVxuZXhwb3J0IGNsYXNzIE5nRG9jUGxheWdyb3VuZFByb3BlcnRpZXNDb21wb25lbnQ8XG5cdFAgZXh0ZW5kcyBOZ0RvY1BsYXlncm91bmRQcm9wZXJ0aWVzLFxuXHRDIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgTmdEb2NQbGF5Z3JvdW5kQ29udGVudD4sXG4+IGltcGxlbWVudHMgT25DaGFuZ2VzXG57XG5cdEBJbnB1dCgpXG5cdGZvcm0hOiBGb3JtR3JvdXA8TmdEb2NQbGF5Z3JvdW5kRm9ybT47XG5cblx0QElucHV0KClcblx0cHJvcGVydGllcz86IFA7XG5cblx0QElucHV0KClcblx0aWdub3JlSW5wdXRzPzogc3RyaW5nW10gPSBbXTtcblxuXHRASW5wdXQoKVxuXHRkeW5hbWljQ29udGVudD86IEM7XG5cblx0QElucHV0KClcblx0ZGVmYXVsdFZhbHVlcz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuXG5cdEBJbnB1dCgpXG5cdGhpZGVTaWRlUGFuZWw6IGJvb2xlYW4gPSBmYWxzZTtcblxuXHRASW5wdXQoKVxuXHRyZWNyZWF0ZURlbW86IGJvb2xlYW4gPSBmYWxzZTtcblxuXHRASW5wdXQoKVxuXHRzaG93UmVzZXRCdXR0b246IGJvb2xlYW4gPSBmYWxzZTtcblxuXHRAT3V0cHV0KClcblx0cmVjcmVhdGVEZW1vQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cblx0QE91dHB1dCgpXG5cdHJlc2V0Rm9ybTogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG5cdHJlYWRvbmx5IGJyZWFrcG9pbnRzOiBzdHJpbmdbXSA9IFtCcmVha3BvaW50cy5YU21hbGxdO1xuXHRyZWFkb25seSBvYnNlcnZlcjogT2JzZXJ2YWJsZTxib29sZWFuPjtcblxuXHRwcm90ZWN0ZWQgcHJvcGVydHlDb250cm9sczogTmdEb2NQbGF5Z3JvdW5kUHJvcGVydHlDb250cm9sW10gPSBbXTtcblx0cHJvdGVjdGVkIGNvbnRlbnRUeXBlQ29udHJvbD86IE5nRG9jUHJvdmlkZWRUeXBlQ29udHJvbCA9IHRoaXMuZ2V0Q29udHJvbEZvclR5cGUoJ2Jvb2xlYW4nKTtcblxuXHRjb25zdHJ1Y3Rvcihcblx0XHRwcm90ZWN0ZWQgcmVhZG9ubHkgYnJlYWtwb2ludE9ic2VydmVyOiBCcmVha3BvaW50T2JzZXJ2ZXIsXG5cdFx0cHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXG5cdCkge1xuXHRcdHRoaXMub2JzZXJ2ZXIgPSB0aGlzLmJyZWFrcG9pbnRPYnNlcnZlclxuXHRcdFx0Lm9ic2VydmUodGhpcy5icmVha3BvaW50cylcblx0XHRcdC5waXBlKG1hcCgoc3RhdGU6IEJyZWFrcG9pbnRTdGF0ZSkgPT4gc3RhdGUubWF0Y2hlcykpO1xuXHR9XG5cblx0bmdPbkNoYW5nZXMoeyBwcm9wZXJ0aWVzIH06IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcblx0XHRpZiAocHJvcGVydGllcyAmJiB0aGlzLnByb3BlcnRpZXMpIHtcblx0XHRcdHRoaXMucHJvcGVydHlDb250cm9scyA9IG9iamVjdEtleXModGhpcy5wcm9wZXJ0aWVzKVxuXHRcdFx0XHQuZmlsdGVyKChrZXk6IGtleW9mIFApID0+IHRoaXMuaWdub3JlSW5wdXRzPy5pbmNsdWRlcyhTdHJpbmcoa2V5KSkgIT09IHRydWUpXG5cdFx0XHRcdC5tYXAoKGtleToga2V5b2YgUCkgPT4ge1xuXHRcdFx0XHRcdGlmICh0aGlzLnByb3BlcnRpZXMpIHtcblx0XHRcdFx0XHRcdGNvbnN0IHByb3BlcnR5OiBOZ0RvY1BsYXlncm91bmRQcm9wZXJ0eSA9IHRoaXMucHJvcGVydGllc1trZXldO1xuXHRcdFx0XHRcdFx0Y29uc3QgdHlwZUNvbnRyb2w6IE5nRG9jUHJvdmlkZWRUeXBlQ29udHJvbCB8IHVuZGVmaW5lZCA9IHRoaXMuZ2V0VHlwZUNvbnRyb2wocHJvcGVydHkpO1xuXG5cdFx0XHRcdFx0XHRpZiAodHlwZUNvbnRyb2wpIHtcblx0XHRcdFx0XHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0XHRcdFx0XHRwcm9wZXJ0eU5hbWU6IFN0cmluZyhrZXkpLFxuXHRcdFx0XHRcdFx0XHRcdHByb3BlcnR5LFxuXHRcdFx0XHRcdFx0XHRcdHR5cGVDb250cm9sLFxuXHRcdFx0XHRcdFx0XHR9O1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdHJldHVybiBudWxsO1xuXHRcdFx0XHR9KVxuXHRcdFx0XHQuZmlsdGVyKGlzUHJlc2VudClcblx0XHRcdFx0LnNvcnQoKGE6IE5nRG9jUGxheWdyb3VuZFByb3BlcnR5Q29udHJvbCwgYjogTmdEb2NQbGF5Z3JvdW5kUHJvcGVydHlDb250cm9sKSA9PiB7XG5cdFx0XHRcdFx0Y29uc3QgYU9yZGVyOiBudW1iZXIgfCB1bmRlZmluZWQgPSBhLnR5cGVDb250cm9sLm9wdGlvbnM/Lm9yZGVyO1xuXHRcdFx0XHRcdGNvbnN0IGJPcmRlcjogbnVtYmVyIHwgdW5kZWZpbmVkID0gYi50eXBlQ29udHJvbC5vcHRpb25zPy5vcmRlcjtcblxuXHRcdFx0XHRcdGlmIChpc1ByZXNlbnQoYU9yZGVyKSAmJiBpc1ByZXNlbnQoYk9yZGVyKSkge1xuXHRcdFx0XHRcdFx0cmV0dXJuIGFPcmRlciAtIGJPcmRlcjtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0aWYgKGlzUHJlc2VudChhT3JkZXIpKSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gLTE7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdGlmIChpc1ByZXNlbnQoYk9yZGVyKSkge1xuXHRcdFx0XHRcdFx0cmV0dXJuIDE7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdHJldHVybiBhLnByb3BlcnR5LmlucHV0TmFtZS5sb2NhbGVDb21wYXJlKGIucHJvcGVydHkuaW5wdXROYW1lKTtcblx0XHRcdFx0fSk7XG5cdFx0fVxuXHR9XG5cblx0Z2V0Rm9ybUNvbnRyb2woY29udHJvbFR5cGU6IGtleW9mIHR5cGVvZiB0aGlzLmZvcm0uY29udHJvbHMsIGtleTogc3RyaW5nKTogRm9ybUNvbnRyb2wge1xuXHRcdHJldHVybiB0aGlzLmZvcm0uZ2V0KGNvbnRyb2xUeXBlKT8uZ2V0KGtleSkgYXMgRm9ybUNvbnRyb2w7XG5cdH1cblxuXHRwcml2YXRlIGdldFR5cGVDb250cm9sKHByb3BlcnR5OiBOZ0RvY1BsYXlncm91bmRQcm9wZXJ0eSk6IE5nRG9jUHJvdmlkZWRUeXBlQ29udHJvbCB8IHVuZGVmaW5lZCB7XG5cdFx0Y29uc3QgdHlwZTogc3RyaW5nID0gcHJvcGVydHkudHlwZTtcblx0XHRjb25zdCB0eXBlQ29udHJvbDogTmdEb2NQcm92aWRlZFR5cGVDb250cm9sIHwgdW5kZWZpbmVkID1cblx0XHRcdHRoaXMuZ2V0Q29udHJvbEZvclR5cGUodHlwZSkgPz9cblx0XHRcdHRoaXMuZ2V0Q29udHJvbEZvclR5cGVBbGlhcyhcblx0XHRcdFx0aXNQbGF5Z3JvdW5kUHJvcGVydHkocHJvcGVydHkpID8gcHJvcGVydHkub3B0aW9ucyA6IHVuZGVmaW5lZCxcblx0XHRcdFx0cHJvcGVydHkuaXNNYW51YWwsXG5cdFx0XHQpO1xuXG5cdFx0aWYgKCF0eXBlQ29udHJvbCAmJiBpc0Rldk1vZGUoKSkge1xuXHRcdFx0Y29uc29sZS53YXJuKFxuXHRcdFx0XHRgTmdEb2NQbGF5Z3JvdW5kIGRpZG4ndCBmaW5kIHRoZSBjb250cm9sIGZvciB0aGUgQElucHV0IFwiJHtwcm9wZXJ0eS5pbnB1dE5hbWV9XCIsIHRoZSB0eXBlIFwiJHt0eXBlfVwiIHdhcyBub3QgcmVjb2duaXplZCdgLFxuXHRcdFx0KTtcblx0XHR9XG5cblx0XHRyZXR1cm4gdHlwZUNvbnRyb2w7XG5cdH1cblxuXHRwcml2YXRlIGdldENvbnRyb2xGb3JUeXBlKHR5cGU6IHN0cmluZyk6IE5nRG9jUHJvdmlkZWRUeXBlQ29udHJvbCB8IHVuZGVmaW5lZCB7XG5cdFx0Y29uc3QgdG9rZW46IEluamVjdGlvblRva2VuPE5nRG9jUHJvdmlkZWRUeXBlQ29udHJvbD4gfCB1bmRlZmluZWQgPSBnZXRUb2tlbkZvclR5cGUodHlwZSk7XG5cblx0XHRyZXR1cm4gdG9rZW4gPyB0aGlzLmluamVjdG9yLmdldCh0b2tlbikgOiB1bmRlZmluZWQ7XG5cdH1cblxuXHRwcml2YXRlIGdldENvbnRyb2xGb3JUeXBlQWxpYXMoXG5cdFx0b3B0aW9ucz86IHN0cmluZ1tdLFxuXHRcdGlzTWFudWFsPzogYm9vbGVhbixcblx0KTogTmdEb2NQcm92aWRlZFR5cGVDb250cm9sIHwgdW5kZWZpbmVkIHtcblx0XHRpZiAob3B0aW9ucyAmJiBvcHRpb25zLmxlbmd0aCkge1xuXHRcdFx0bGV0IG9wdGlvbnNJc1ZhbGlkOiBib29sZWFuID0gdHJ1ZTtcblxuXHRcdFx0aWYgKCFpc01hbnVhbCkge1xuXHRcdFx0XHR0cnkge1xuXHRcdFx0XHRcdC8vIGNoZWNraW5nIHRoYXQgYWxsIHZhbHVlcyBhcmUgZXh0cmFjdGFibGVcblx0XHRcdFx0XHRvcHRpb25zLmZvckVhY2goKGl0ZW06IHN0cmluZykgPT4gZXh0cmFjdFZhbHVlT3JUaHJvdyhpdGVtKSk7XG5cdFx0XHRcdH0gY2F0Y2gge1xuXHRcdFx0XHRcdG9wdGlvbnNJc1ZhbGlkID0gZmFsc2U7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0aWYgKG9wdGlvbnNJc1ZhbGlkKSB7XG5cdFx0XHRcdGNvbnN0IHRva2VuOiBJbmplY3Rpb25Ub2tlbjxOZ0RvY1Byb3ZpZGVkVHlwZUNvbnRyb2w+IHwgdW5kZWZpbmVkID1cblx0XHRcdFx0XHRnZXRUb2tlbkZvclR5cGUoJ05nRG9jVHlwZUFsaWFzJyk7XG5cblx0XHRcdFx0cmV0dXJuIHRva2VuID8gdGhpcy5pbmplY3Rvci5nZXQodG9rZW4pIDogdW5kZWZpbmVkO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdHJldHVybiB1bmRlZmluZWQ7XG5cdH1cbn1cbiIsIjxkaXZcblx0Y2xhc3M9XCJuZy1kb2MtcGxheWdyb3VuZC1wcm9wZXJ0aWVzLXdyYXBwZXJcIlxuXHRbY2xhc3MudmVydGljYWxdPVwib2JzZXJ2ZXIgfCBhc3luY1wiXG5cdCpuZ0lmPVwiZGVmYXVsdFZhbHVlc1wiPlxuXHQ8ZGl2IGNsYXNzPVwibmctZG9jLXBsYXlncm91bmQtZGVtb3NcIj5cblx0XHQ8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG5cdDwvZGl2PlxuXHQ8ZGl2IGNsYXNzPVwibmctZG9jLXBsYXlncm91bmQtcHJvcGVydGllc1wiICpuZ0lmPVwiIWhpZGVTaWRlUGFuZWxcIj5cblx0XHQ8ZGl2IGNsYXNzPVwibmctZG9jLXBsYXlncm91bmQtaGVhZGVyXCI+XG5cdFx0XHQ8aDQgbmctZG9jLXRleHQ+UGxheWdyb3VuZDwvaDQ+XG5cdFx0XHQ8YnV0dG9uIG5nLWRvYy1idXR0b24gY29sb3I9XCJhbGVydFwiIChjbGljayk9XCJyZXNldEZvcm0uZW1pdCgpXCIgKm5nSWY9XCJzaG93UmVzZXRCdXR0b25cIj5cblx0XHRcdFx0UmVzZXRcblx0XHRcdDwvYnV0dG9uPlxuXHRcdDwvZGl2PlxuXHRcdDxkaXYgY2xhc3M9XCJuZy1kb2MtcGxheWdyb3VuZC1zZXR0aW5nXCI+XG5cdFx0XHQ8bmctZG9jLWNoZWNrYm94IFsobmdNb2RlbCldPVwicmVjcmVhdGVEZW1vXCIgKG5nTW9kZWxDaGFuZ2UpPVwicmVjcmVhdGVEZW1vQ2hhbmdlLmVtaXQoJGV2ZW50KVwiPlxuXHRcdFx0XHQ8c3BhblxuXHRcdFx0XHRcdG5nLWRvYy10ZXh0XG5cdFx0XHRcdFx0W25nRG9jVG9vbHRpcF09XCInUmVjcmVhdGVzIGRlbW8gZXZlcnl0aW1lXFxub25lIG9mIHRoZSBpbnB1dCBoYXMgY2hhbmdlZCdcIlxuXHRcdFx0XHRcdFtwb3NpdGlvbnNdPVwiWydib3R0b20tcmlnaHQnLCAnbGVmdC1jZW50ZXInXVwiPlxuXHRcdFx0XHRcdFJlY3JlYXRlXG5cdFx0XHRcdFx0PG5nLWRvYy1pY29uIGljb249XCJpbmZvXCIgbmdEb2NUZXh0UmlnaHQ+PC9uZy1kb2MtaWNvbj5cblx0XHRcdFx0PC9zcGFuPlxuXHRcdFx0PC9uZy1kb2MtY2hlY2tib3g+XG5cdFx0PC9kaXY+XG5cdFx0PGRpdiBjbGFzcz1cIm5nLWRvYy1wbGF5Z3JvdW5kLWRpdmlkZXJcIj48L2Rpdj5cblx0XHQ8bmctY29udGFpbmVyICpuZ0lmPVwicHJvcGVydHlDb250cm9scy5sZW5ndGhcIj5cblx0XHRcdDxoNSBjbGFzcz1cIm5nLWRvYy10aXRsZVwiIG5nLWRvYy10ZXh0PlNldHRpbmdzPC9oNT5cblx0XHRcdDxuZy1kb2MtcGxheWdyb3VuZC1wcm9wZXJ0eVxuXHRcdFx0XHQqbmdGb3I9XCJsZXQgcHJvcGVydHlDb250cm9sIG9mIHByb3BlcnR5Q29udHJvbHNcIlxuXHRcdFx0XHRbbmFtZV09XCJwcm9wZXJ0eUNvbnRyb2wucHJvcGVydHkuaW5wdXROYW1lXCJcblx0XHRcdFx0W3Byb3BlcnR5XT1cInByb3BlcnR5Q29udHJvbC5wcm9wZXJ0eVwiXG5cdFx0XHRcdFt0eXBlQ29udHJvbF09XCJwcm9wZXJ0eUNvbnRyb2wudHlwZUNvbnRyb2xcIlxuXHRcdFx0XHRbZGVmYXVsdFZhbHVlXT1cImRlZmF1bHRWYWx1ZXNbcHJvcGVydHlDb250cm9sLnByb3BlcnR5TmFtZV1cIlxuXHRcdFx0XHRbY29udHJvbF09XCJcblx0XHRcdFx0XHRnZXRGb3JtQ29udHJvbCB8IGJpbmQ6IHRoaXMgfCBleGVjdXRlOiAncHJvcGVydGllcyc6cHJvcGVydHlDb250cm9sLnByb3BlcnR5TmFtZVxuXHRcdFx0XHRcIj5cblx0XHRcdDwvbmctZG9jLXBsYXlncm91bmQtcHJvcGVydHk+XG5cdFx0PC9uZy1jb250YWluZXI+XG5cblx0XHQ8bmctY29udGFpbmVyICpuZ0lmPVwiKGR5bmFtaWNDb250ZW50IHwga2V5dmFsdWUpPy5sZW5ndGhcIj5cblx0XHRcdDxoNSBjbGFzcz1cIm5nLWRvYy10aXRsZVwiIG5nLWRvYy10ZXh0PkNvbnRlbnQ8L2g1PlxuXHRcdFx0PG5nLWRvYy1wbGF5Z3JvdW5kLXByb3BlcnR5XG5cdFx0XHRcdCpuZ0Zvcj1cImxldCBjb250ZW50IG9mIGR5bmFtaWNDb250ZW50IHwga2V5dmFsdWVcIlxuXHRcdFx0XHRbbmFtZV09XCJjb250ZW50LnZhbHVlLmxhYmVsXCJcblx0XHRcdFx0W3Byb3BlcnR5XT1cImNvbnRlbnQudmFsdWVcIlxuXHRcdFx0XHRbdHlwZUNvbnRyb2xdPVwiY29udGVudFR5cGVDb250cm9sXCJcblx0XHRcdFx0W2NvbnRyb2xdPVwiZ2V0Rm9ybUNvbnRyb2wgfCBiaW5kOiB0aGlzIHwgZXhlY3V0ZTogJ2NvbnRlbnQnOmNvbnRlbnQua2V5XCI+XG5cdFx0XHQ8L25nLWRvYy1wbGF5Z3JvdW5kLXByb3BlcnR5PlxuXHRcdDwvbmctY29udGFpbmVyPlxuXHQ8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
143
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxheWdyb3VuZC1wcm9wZXJ0aWVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBwL2NvbXBvbmVudHMvcGxheWdyb3VuZC9wbGF5Z3JvdW5kLXByb3BlcnRpZXMvcGxheWdyb3VuZC1wcm9wZXJ0aWVzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBwL2NvbXBvbmVudHMvcGxheWdyb3VuZC9wbGF5Z3JvdW5kLXByb3BlcnRpZXMvcGxheWdyb3VuZC1wcm9wZXJ0aWVzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxXQUFXLEVBQW1CLE1BQU0scUJBQXFCLENBQUM7QUFDdkYsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZFLE9BQU8sRUFDTix1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFFWixRQUFRLEVBQ1IsS0FBSyxFQUNMLFNBQVMsRUFFVCxNQUFNLEdBRU4sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFlLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDckUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFNMUUsT0FBTyxFQUNOLGFBQWEsRUFDYixvQkFBb0IsRUFDcEIsc0JBQXNCLEVBQ3RCLGdCQUFnQixFQUNoQixrQkFBa0IsRUFDbEIsa0JBQWtCLEVBQ2xCLHVCQUF1QixFQUN2QixxQkFBcUIsR0FDckIsTUFBTSxnQkFBZ0IsQ0FB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QUFTO3dCQUNULFlBQVk7d0JBQ1osYUFBYTt3QkFDYixnQkFBZ0I7cUJBQ2hCOzhHQVFELElBQUk7c0JBREgsS0FBSztnQkFJTixVQUFVO3NCQURULEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxLQUFLO2dCQUlOLGNBQWM7c0JBRGIsS0FBSztnQkFJTixhQUFhO3NCQURaLEtBQUs7Z0JBSU4sYUFBYTtzQkFEWixLQUFLO2dCQUlOLFlBQVk7c0JBRFgsS0FBSztnQkFJTixlQUFlO3NCQURkLEtBQUs7Z0JBSU4sa0JBQWtCO3NCQURqQixNQUFNO2dCQUlQLFNBQVM7c0JBRFIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJyZWFrcG9pbnRPYnNlcnZlciwgQnJlYWtwb2ludHMsIEJyZWFrcG9pbnRTdGF0ZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9sYXlvdXQnO1xuaW1wb3J0IHsgQXN5bmNQaXBlLCBLZXlWYWx1ZVBpcGUsIE5nRm9yLCBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG5cdENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuXHRDb21wb25lbnQsXG5cdEV2ZW50RW1pdHRlcixcblx0SW5qZWN0aW9uVG9rZW4sXG5cdEluamVjdG9yLFxuXHRJbnB1dCxcblx0aXNEZXZNb2RlLFxuXHRPbkNoYW5nZXMsXG5cdE91dHB1dCxcblx0U2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGlzUGxheWdyb3VuZFByb3BlcnR5IH0gZnJvbSAnQG5nLWRvYy9hcHAvaGVscGVycyc7XG5pbXBvcnQgeyBOZ0RvY1Byb3ZpZGVkVHlwZUNvbnRyb2wgfSBmcm9tICdAbmctZG9jL2FwcC9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGdldFRva2VuRm9yVHlwZSB9IGZyb20gJ0BuZy1kb2MvYXBwL3Byb3ZpZGVycy90eXBlLWNvbnRyb2wnO1xuaW1wb3J0IHsgZXh0cmFjdFZhbHVlT3JUaHJvdywgaXNQcmVzZW50LCBvYmplY3RLZXlzIH0gZnJvbSAnQG5nLWRvYy9jb3JlJztcbmltcG9ydCB7XG5cdE5nRG9jUGxheWdyb3VuZENvbnRlbnQsXG5cdE5nRG9jUGxheWdyb3VuZFByb3BlcnRpZXMsXG5cdE5nRG9jUGxheWdyb3VuZFByb3BlcnR5LFxufSBmcm9tICdAbmctZG9jL2NvcmUvaW50ZXJmYWNlcyc7XG5pbXBvcnQge1xuXHROZ0RvY0JpbmRQaXBlLFxuXHROZ0RvY0J1dHRvbkNvbXBvbmVudCxcblx0TmdEb2NDaGVja2JveENvbXBvbmVudCxcblx0TmdEb2NFeGVjdXRlUGlwZSxcblx0TmdEb2NJY29uQ29tcG9uZW50LFxuXHROZ0RvY1RleHRDb21wb25lbnQsXG5cdE5nRG9jVGV4dFJpZ2h0RGlyZWN0aXZlLFxuXHROZ0RvY1Rvb2x0aXBEaXJlY3RpdmUsXG59IGZyb20gJ0BuZy1kb2MvdWkta2l0JztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgTmdEb2NQbGF5Z3JvdW5kRm9ybSB9IGZyb20gJy4uL3BsYXlncm91bmQtZm9ybSc7XG5pbXBvcnQgeyBOZ0RvY1BsYXlncm91bmRQcm9wZXJ0eUNvbXBvbmVudCB9IGZyb20gJy4uL3BsYXlncm91bmQtcHJvcGVydHkvcGxheWdyb3VuZC1wcm9wZXJ0eS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmdEb2NQbGF5Z3JvdW5kUHJvcGVydHlDb250cm9sIH0gZnJvbSAnLi4vcGxheWdyb3VuZC1wcm9wZXJ0eS1jb250cm9sJztcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnbmctZG9jLXBsYXlncm91bmQtcHJvcGVydGllcycsXG5cdHRlbXBsYXRlVXJsOiAnLi9wbGF5Z3JvdW5kLXByb3BlcnRpZXMuY29tcG9uZW50Lmh0bWwnLFxuXHRzdHlsZVVybHM6IFsnLi9wbGF5Z3JvdW5kLXByb3BlcnRpZXMuY29tcG9uZW50LnNjc3MnXSxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdGltcG9ydHM6IFtcblx0XHROZ0RvY1RleHRDb21wb25lbnQsXG5cdFx0TmdEb2NCdXR0b25Db21wb25lbnQsXG5cdFx0TmdEb2NDaGVja2JveENvbXBvbmVudCxcblx0XHRGb3Jtc01vZHVsZSxcblx0XHROZ0RvY1Rvb2x0aXBEaXJlY3RpdmUsXG5cdFx0TmdEb2NJY29uQ29tcG9uZW50LFxuXHRcdE5nRG9jVGV4dFJpZ2h0RGlyZWN0aXZlLFxuXHRcdE5nSWYsXG5cdFx0TmdGb3IsXG5cdFx0TmdEb2NQbGF5Z3JvdW5kUHJvcGVydHlDb21wb25lbnQsXG5cdFx0QXN5bmNQaXBlLFxuXHRcdEtleVZhbHVlUGlwZSxcblx0XHROZ0RvY0JpbmRQaXBlLFxuXHRcdE5nRG9jRXhlY3V0ZVBpcGUsXG5cdF0sXG59KVxuZXhwb3J0IGNsYXNzIE5nRG9jUGxheWdyb3VuZFByb3BlcnRpZXNDb21wb25lbnQ8XG5cdFAgZXh0ZW5kcyBOZ0RvY1BsYXlncm91bmRQcm9wZXJ0aWVzLFxuXHRDIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgTmdEb2NQbGF5Z3JvdW5kQ29udGVudD4sXG4+IGltcGxlbWVudHMgT25DaGFuZ2VzXG57XG5cdEBJbnB1dCgpXG5cdGZvcm0hOiBGb3JtR3JvdXA8TmdEb2NQbGF5Z3JvdW5kRm9ybT47XG5cblx0QElucHV0KClcblx0cHJvcGVydGllcz86IFA7XG5cblx0QElucHV0KClcblx0aWdub3JlSW5wdXRzPzogc3RyaW5nW10gPSBbXTtcblxuXHRASW5wdXQoKVxuXHRkeW5hbWljQ29udGVudD86IEM7XG5cblx0QElucHV0KClcblx0ZGVmYXVsdFZhbHVlcz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuXG5cdEBJbnB1dCgpXG5cdGhpZGVTaWRlUGFuZWw6IGJvb2xlYW4gPSBmYWxzZTtcblxuXHRASW5wdXQoKVxuXHRyZWNyZWF0ZURlbW86IGJvb2xlYW4gPSBmYWxzZTtcblxuXHRASW5wdXQoKVxuXHRzaG93UmVzZXRCdXR0b246IGJvb2xlYW4gPSBmYWxzZTtcblxuXHRAT3V0cHV0KClcblx0cmVjcmVhdGVEZW1vQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cblx0QE91dHB1dCgpXG5cdHJlc2V0Rm9ybTogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG5cdHJlYWRvbmx5IGJyZWFrcG9pbnRzOiBzdHJpbmdbXSA9IFtCcmVha3BvaW50cy5YU21hbGxdO1xuXHRyZWFkb25seSBvYnNlcnZlcjogT2JzZXJ2YWJsZTxib29sZWFuPjtcblxuXHRwcm90ZWN0ZWQgcHJvcGVydHlDb250cm9sczogTmdEb2NQbGF5Z3JvdW5kUHJvcGVydHlDb250cm9sW10gPSBbXTtcblx0cHJvdGVjdGVkIGNvbnRlbnRUeXBlQ29udHJvbD86IE5nRG9jUHJvdmlkZWRUeXBlQ29udHJvbCA9IHRoaXMuZ2V0Q29udHJvbEZvclR5cGUoJ2Jvb2xlYW4nKTtcblxuXHRjb25zdHJ1Y3Rvcihcblx0XHRwcm90ZWN0ZWQgcmVhZG9ubHkgYnJlYWtwb2ludE9ic2VydmVyOiBCcmVha3BvaW50T2JzZXJ2ZXIsXG5cdFx0cHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXG5cdCkge1xuXHRcdHRoaXMub2JzZXJ2ZXIgPSB0aGlzLmJyZWFrcG9pbnRPYnNlcnZlclxuXHRcdFx0Lm9ic2VydmUodGhpcy5icmVha3BvaW50cylcblx0XHRcdC5waXBlKG1hcCgoc3RhdGU6IEJyZWFrcG9pbnRTdGF0ZSkgPT4gc3RhdGUubWF0Y2hlcykpO1xuXHR9XG5cblx0bmdPbkNoYW5nZXMoeyBwcm9wZXJ0aWVzIH06IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcblx0XHRpZiAocHJvcGVydGllcyAmJiB0aGlzLnByb3BlcnRpZXMpIHtcblx0XHRcdHRoaXMucHJvcGVydHlDb250cm9scyA9IG9iamVjdEtleXModGhpcy5wcm9wZXJ0aWVzKVxuXHRcdFx0XHQuZmlsdGVyKChrZXk6IGtleW9mIFApID0+IHRoaXMuaWdub3JlSW5wdXRzPy5pbmNsdWRlcyhTdHJpbmcoa2V5KSkgIT09IHRydWUpXG5cdFx0XHRcdC5tYXAoKGtleToga2V5b2YgUCkgPT4ge1xuXHRcdFx0XHRcdGlmICh0aGlzLnByb3BlcnRpZXMpIHtcblx0XHRcdFx0XHRcdGNvbnN0IHByb3BlcnR5OiBOZ0RvY1BsYXlncm91bmRQcm9wZXJ0eSA9IHRoaXMucHJvcGVydGllc1trZXldO1xuXHRcdFx0XHRcdFx0Y29uc3QgdHlwZUNvbnRyb2w6IE5nRG9jUHJvdmlkZWRUeXBlQ29udHJvbCB8IHVuZGVmaW5lZCA9IHRoaXMuZ2V0VHlwZUNvbnRyb2wocHJvcGVydHkpO1xuXG5cdFx0XHRcdFx0XHRpZiAodHlwZUNvbnRyb2wpIHtcblx0XHRcdFx0XHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0XHRcdFx0XHRwcm9wZXJ0eU5hbWU6IFN0cmluZyhrZXkpLFxuXHRcdFx0XHRcdFx0XHRcdHByb3BlcnR5LFxuXHRcdFx0XHRcdFx0XHRcdHR5cGVDb250cm9sLFxuXHRcdFx0XHRcdFx0XHR9O1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdHJldHVybiBudWxsO1xuXHRcdFx0XHR9KVxuXHRcdFx0XHQuZmlsdGVyKGlzUHJlc2VudClcblx0XHRcdFx0LnNvcnQoKGE6IE5nRG9jUGxheWdyb3VuZFByb3BlcnR5Q29udHJvbCwgYjogTmdEb2NQbGF5Z3JvdW5kUHJvcGVydHlDb250cm9sKSA9PiB7XG5cdFx0XHRcdFx0Y29uc3QgYU9yZGVyOiBudW1iZXIgfCB1bmRlZmluZWQgPSBhLnR5cGVDb250cm9sLm9wdGlvbnM/Lm9yZGVyO1xuXHRcdFx0XHRcdGNvbnN0IGJPcmRlcjogbnVtYmVyIHwgdW5kZWZpbmVkID0gYi50eXBlQ29udHJvbC5vcHRpb25zPy5vcmRlcjtcblxuXHRcdFx0XHRcdGlmIChpc1ByZXNlbnQoYU9yZGVyKSAmJiBpc1ByZXNlbnQoYk9yZGVyKSkge1xuXHRcdFx0XHRcdFx0cmV0dXJuIGFPcmRlciAtIGJPcmRlcjtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0aWYgKGlzUHJlc2VudChhT3JkZXIpKSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gLTE7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdGlmIChpc1ByZXNlbnQoYk9yZGVyKSkge1xuXHRcdFx0XHRcdFx0cmV0dXJuIDE7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdHJldHVybiBhLnByb3BlcnR5LmlucHV0TmFtZS5sb2NhbGVDb21wYXJlKGIucHJvcGVydHkuaW5wdXROYW1lKTtcblx0XHRcdFx0fSk7XG5cdFx0fVxuXHR9XG5cblx0Z2V0Rm9ybUNvbnRyb2woY29udHJvbFR5cGU6IGtleW9mIHR5cGVvZiB0aGlzLmZvcm0uY29udHJvbHMsIGtleTogc3RyaW5nKTogRm9ybUNvbnRyb2wge1xuXHRcdHJldHVybiB0aGlzLmZvcm0uZ2V0KGNvbnRyb2xUeXBlKT8uZ2V0KGtleSkgYXMgRm9ybUNvbnRyb2w7XG5cdH1cblxuXHRwcml2YXRlIGdldFR5cGVDb250cm9sKHByb3BlcnR5OiBOZ0RvY1BsYXlncm91bmRQcm9wZXJ0eSk6IE5nRG9jUHJvdmlkZWRUeXBlQ29udHJvbCB8IHVuZGVmaW5lZCB7XG5cdFx0Y29uc3QgdHlwZTogc3RyaW5nID0gcHJvcGVydHkudHlwZTtcblx0XHRjb25zdCB0eXBlQ29udHJvbDogTmdEb2NQcm92aWRlZFR5cGVDb250cm9sIHwgdW5kZWZpbmVkID1cblx0XHRcdHRoaXMuZ2V0Q29udHJvbEZvclR5cGUodHlwZSkgPz9cblx0XHRcdHRoaXMuZ2V0Q29udHJvbEZvclR5cGVBbGlhcyhcblx0XHRcdFx0aXNQbGF5Z3JvdW5kUHJvcGVydHkocHJvcGVydHkpID8gcHJvcGVydHkub3B0aW9ucyA6IHVuZGVmaW5lZCxcblx0XHRcdFx0cHJvcGVydHkuaXNNYW51YWwsXG5cdFx0XHQpO1xuXG5cdFx0aWYgKCF0eXBlQ29udHJvbCAmJiBpc0Rldk1vZGUoKSkge1xuXHRcdFx0Y29uc29sZS53YXJuKFxuXHRcdFx0XHRgTmdEb2NQbGF5Z3JvdW5kIGRpZG4ndCBmaW5kIHRoZSBjb250cm9sIGZvciB0aGUgQElucHV0IFwiJHtwcm9wZXJ0eS5pbnB1dE5hbWV9XCIsIHRoZSB0eXBlIFwiJHt0eXBlfVwiIHdhcyBub3QgcmVjb2duaXplZCdgLFxuXHRcdFx0KTtcblx0XHR9XG5cblx0XHRyZXR1cm4gdHlwZUNvbnRyb2w7XG5cdH1cblxuXHRwcml2YXRlIGdldENvbnRyb2xGb3JUeXBlKHR5cGU6IHN0cmluZyk6IE5nRG9jUHJvdmlkZWRUeXBlQ29udHJvbCB8IHVuZGVmaW5lZCB7XG5cdFx0Y29uc3QgdG9rZW46IEluamVjdGlvblRva2VuPE5nRG9jUHJvdmlkZWRUeXBlQ29udHJvbD4gfCB1bmRlZmluZWQgPSBnZXRUb2tlbkZvclR5cGUodHlwZSk7XG5cblx0XHRyZXR1cm4gdG9rZW4gPyB0aGlzLmluamVjdG9yLmdldCh0b2tlbikgOiB1bmRlZmluZWQ7XG5cdH1cblxuXHRwcml2YXRlIGdldENvbnRyb2xGb3JUeXBlQWxpYXMoXG5cdFx0b3B0aW9ucz86IHN0cmluZ1tdLFxuXHRcdGlzTWFudWFsPzogYm9vbGVhbixcblx0KTogTmdEb2NQcm92aWRlZFR5cGVDb250cm9sIHwgdW5kZWZpbmVkIHtcblx0XHRpZiAob3B0aW9ucyAmJiBvcHRpb25zLmxlbmd0aCkge1xuXHRcdFx0bGV0IG9wdGlvbnNJc1ZhbGlkOiBib29sZWFuID0gdHJ1ZTtcblxuXHRcdFx0aWYgKCFpc01hbnVhbCkge1xuXHRcdFx0XHR0cnkge1xuXHRcdFx0XHRcdC8vIGNoZWNraW5nIHRoYXQgYWxsIHZhbHVlcyBhcmUgZXh0cmFjdGFibGVcblx0XHRcdFx0XHRvcHRpb25zLmZvckVhY2goKGl0ZW06IHN0cmluZykgPT4gZXh0cmFjdFZhbHVlT3JUaHJvdyhpdGVtKSk7XG5cdFx0XHRcdH0gY2F0Y2gge1xuXHRcdFx0XHRcdG9wdGlvbnNJc1ZhbGlkID0gZmFsc2U7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0aWYgKG9wdGlvbnNJc1ZhbGlkKSB7XG5cdFx0XHRcdGNvbnN0IHRva2VuOiBJbmplY3Rpb25Ub2tlbjxOZ0RvY1Byb3ZpZGVkVHlwZUNvbnRyb2w+IHwgdW5kZWZpbmVkID1cblx0XHRcdFx0XHRnZXRUb2tlbkZvclR5cGUoJ05nRG9jVHlwZUFsaWFzJyk7XG5cblx0XHRcdFx0cmV0dXJuIHRva2VuID8gdGhpcy5pbmplY3Rvci5nZXQodG9rZW4pIDogdW5kZWZpbmVkO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdHJldHVybiB1bmRlZmluZWQ7XG5cdH1cbn1cbiIsIjxkaXZcblx0Y2xhc3M9XCJuZy1kb2MtcGxheWdyb3VuZC1wcm9wZXJ0aWVzLXdyYXBwZXJcIlxuXHRbY2xhc3MudmVydGljYWxdPVwib2JzZXJ2ZXIgfCBhc3luY1wiXG5cdCpuZ0lmPVwiZGVmYXVsdFZhbHVlc1wiPlxuXHQ8ZGl2IGNsYXNzPVwibmctZG9jLXBsYXlncm91bmQtZGVtb3NcIj5cblx0XHQ8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG5cdDwvZGl2PlxuXHQ8ZGl2IGNsYXNzPVwibmctZG9jLXBsYXlncm91bmQtcHJvcGVydGllc1wiICpuZ0lmPVwiIWhpZGVTaWRlUGFuZWxcIj5cblx0XHQ8ZGl2IGNsYXNzPVwibmctZG9jLXBsYXlncm91bmQtaGVhZGVyXCI+XG5cdFx0XHQ8aDQgbmctZG9jLXRleHQ+UGxheWdyb3VuZDwvaDQ+XG5cdFx0XHQ8YnV0dG9uIG5nLWRvYy1idXR0b24gY29sb3I9XCJhbGVydFwiIChjbGljayk9XCJyZXNldEZvcm0uZW1pdCgpXCIgKm5nSWY9XCJzaG93UmVzZXRCdXR0b25cIj5cblx0XHRcdFx0UmVzZXRcblx0XHRcdDwvYnV0dG9uPlxuXHRcdDwvZGl2PlxuXHRcdDxkaXYgY2xhc3M9XCJuZy1kb2MtcGxheWdyb3VuZC1zZXR0aW5nXCI+XG5cdFx0XHQ8bmctZG9jLWNoZWNrYm94IFsobmdNb2RlbCldPVwicmVjcmVhdGVEZW1vXCIgKG5nTW9kZWxDaGFuZ2UpPVwicmVjcmVhdGVEZW1vQ2hhbmdlLmVtaXQoJGV2ZW50KVwiPlxuXHRcdFx0XHQ8c3BhblxuXHRcdFx0XHRcdG5nLWRvYy10ZXh0XG5cdFx0XHRcdFx0W25nRG9jVG9vbHRpcF09XCInUmVjcmVhdGVzIGRlbW8gZXZlcnl0aW1lXFxub25lIG9mIHRoZSBpbnB1dCBoYXMgY2hhbmdlZCdcIlxuXHRcdFx0XHRcdFtwb3NpdGlvbnNdPVwiWydib3R0b20tcmlnaHQnLCAnbGVmdC1jZW50ZXInXVwiPlxuXHRcdFx0XHRcdFJlY3JlYXRlXG5cdFx0XHRcdFx0PG5nLWRvYy1pY29uIGljb249XCJpbmZvXCIgbmdEb2NUZXh0UmlnaHQ+PC9uZy1kb2MtaWNvbj5cblx0XHRcdFx0PC9zcGFuPlxuXHRcdFx0PC9uZy1kb2MtY2hlY2tib3g+XG5cdFx0PC9kaXY+XG5cdFx0PGRpdiBjbGFzcz1cIm5nLWRvYy1wbGF5Z3JvdW5kLWRpdmlkZXJcIj48L2Rpdj5cblx0XHQ8bmctY29udGFpbmVyICpuZ0lmPVwicHJvcGVydHlDb250cm9scy5sZW5ndGhcIj5cblx0XHRcdDxoNSBjbGFzcz1cIm5nLWRvYy10aXRsZVwiIG5nLWRvYy10ZXh0PlNldHRpbmdzPC9oNT5cblx0XHRcdDxuZy1kb2MtcGxheWdyb3VuZC1wcm9wZXJ0eVxuXHRcdFx0XHQqbmdGb3I9XCJsZXQgcHJvcGVydHlDb250cm9sIG9mIHByb3BlcnR5Q29udHJvbHNcIlxuXHRcdFx0XHRbbmFtZV09XCJwcm9wZXJ0eUNvbnRyb2wucHJvcGVydHkuaW5wdXROYW1lXCJcblx0XHRcdFx0W3Byb3BlcnR5XT1cInByb3BlcnR5Q29udHJvbC5wcm9wZXJ0eVwiXG5cdFx0XHRcdFt0eXBlQ29udHJvbF09XCJwcm9wZXJ0eUNvbnRyb2wudHlwZUNvbnRyb2xcIlxuXHRcdFx0XHRbZGVmYXVsdFZhbHVlXT1cImRlZmF1bHRWYWx1ZXNbcHJvcGVydHlDb250cm9sLnByb3BlcnR5TmFtZV1cIlxuXHRcdFx0XHRbY29udHJvbF09XCJcblx0XHRcdFx0XHRnZXRGb3JtQ29udHJvbCB8IGJpbmQ6IHRoaXMgfCBleGVjdXRlOiAncHJvcGVydGllcyc6cHJvcGVydHlDb250cm9sLnByb3BlcnR5TmFtZVxuXHRcdFx0XHRcIj5cblx0XHRcdDwvbmctZG9jLXBsYXlncm91bmQtcHJvcGVydHk+XG5cdFx0PC9uZy1jb250YWluZXI+XG5cblx0XHQ8bmctY29udGFpbmVyICpuZ0lmPVwiKGR5bmFtaWNDb250ZW50IHwga2V5dmFsdWUpPy5sZW5ndGhcIj5cblx0XHRcdDxoNSBjbGFzcz1cIm5nLWRvYy10aXRsZVwiIG5nLWRvYy10ZXh0PkNvbnRlbnQ8L2g1PlxuXHRcdFx0PG5nLWRvYy1wbGF5Z3JvdW5kLXByb3BlcnR5XG5cdFx0XHRcdCpuZ0Zvcj1cImxldCBjb250ZW50IG9mIGR5bmFtaWNDb250ZW50IHwga2V5dmFsdWVcIlxuXHRcdFx0XHRbbmFtZV09XCJjb250ZW50LnZhbHVlLmxhYmVsXCJcblx0XHRcdFx0W3Byb3BlcnR5XT1cImNvbnRlbnQudmFsdWVcIlxuXHRcdFx0XHRbdHlwZUNvbnRyb2xdPVwiY29udGVudFR5cGVDb250cm9sXCJcblx0XHRcdFx0W2NvbnRyb2xdPVwiZ2V0Rm9ybUNvbnRyb2wgfCBiaW5kOiB0aGlzIHwgZXhlY3V0ZTogJ2NvbnRlbnQnOmNvbnRlbnQua2V5XCI+XG5cdFx0XHQ8L25nLWRvYy1wbGF5Z3JvdW5kLXByb3BlcnR5PlxuXHRcdDwvbmctY29udGFpbmVyPlxuXHQ8L2Rpdj5cbjwvZGl2PlxuIl19
|