@alauda-fe/common 1.4.32 → 1.4.33-beta.1
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/array-form-table/form/component.d.ts +1 -1
- package/core/abstract/base-nested-form-control.d.ts +1 -1
- package/esm2022/abnormal-page/abnormal-page.component.mjs +1 -1
- package/esm2022/array-form-table/form/component.mjs +1 -1
- package/esm2022/array-form-table/key-value-form/component.mjs +1 -1
- package/esm2022/array-form-table/key-value-table/component.mjs +1 -1
- package/esm2022/array-form-table/string-array-form/component.mjs +1 -1
- package/esm2022/async-data/error-page/component.mjs +1 -1
- package/esm2022/async-data/page-state/component.mjs +1 -1
- package/esm2022/business/notification-disabled-container/component.mjs +1 -1
- package/esm2022/business/resource-select/exports/cluster-list/component.mjs +1 -1
- package/esm2022/business/resource-select/exports/cluster-selector/component.mjs +1 -1
- package/esm2022/business/resource-select/exports/icon/component.mjs +1 -1
- package/esm2022/business/resource-select/exports/mesh-group-selector/component.mjs +1 -1
- package/esm2022/business/resource-select/exports/namespace-list/component.mjs +1 -1
- package/esm2022/business/resource-select/exports/namespace-page/component.mjs +1 -1
- package/esm2022/business/resource-select/exports/namespace-selector/component.mjs +1 -1
- package/esm2022/business/resource-select/exports/project-list/component.mjs +1 -1
- package/esm2022/business/resource-select/exports/project-page/component.mjs +1 -1
- package/esm2022/business/resource-select/exports/project-selector/component.mjs +1 -1
- package/esm2022/business/resource-select/internals/data-grid/component.mjs +1 -1
- package/esm2022/business/resource-select/internals/meshgroup-list/component.mjs +1 -1
- package/esm2022/business/resource-select/internals/no-data/component.mjs +1 -1
- package/esm2022/business/resource-select/internals/resource-dashboard/component.mjs +1 -1
- package/esm2022/business/resource-select/internals/selector-popup/component.mjs +1 -1
- package/esm2022/chart/common/axis/axis-label.component.mjs +1 -1
- package/esm2022/chart/common/axis/x-axis-ticks.component.mjs +1 -1
- package/esm2022/chart/common/axis/x-axis.component.mjs +1 -1
- package/esm2022/chart/common/axis/x-plot-lines.component.mjs +1 -1
- package/esm2022/chart/common/axis/y-axis-ticks.component.mjs +1 -1
- package/esm2022/chart/common/axis/y-axis.component.mjs +1 -1
- package/esm2022/chart/common/axis/y-plot-lines.component.mjs +1 -1
- package/esm2022/chart/common/chart/chart.component.mjs +1 -1
- package/esm2022/chart/common/legend/legend.component.mjs +1 -1
- package/esm2022/chart/common/range-area/range-area.component.mjs +1 -1
- package/esm2022/chart/common/reference-area/reference-area.component.mjs +1 -1
- package/esm2022/chart/common/series/area-series.component.mjs +1 -1
- package/esm2022/chart/common/series/bar-path.component.mjs +1 -1
- package/esm2022/chart/common/series/bar-series.component.mjs +1 -1
- package/esm2022/chart/common/series/line-series.component.mjs +1 -1
- package/esm2022/chart/common/tooltip/tooltip.component.mjs +1 -1
- package/esm2022/chart/custom-template/dropdown-legend.mjs +1 -1
- package/esm2022/code/code-display-dialog/component.mjs +1 -1
- package/esm2022/code/code-editor-configs.mjs +2 -1
- package/esm2022/code/k8s-yaml-display-dialog/component.mjs +1 -1
- package/esm2022/code/resource-yaml-display/component.mjs +1 -1
- package/esm2022/code/resource-yaml-editor/component.mjs +1 -1
- package/esm2022/code/yaml-sidebar/component.mjs +1 -1
- package/esm2022/core/components/tree/node/component.mjs +1 -1
- package/esm2022/core/components/tree/tree/component.mjs +1 -1
- package/esm2022/core/directives/readonly-field.directive.mjs +1 -1
- package/esm2022/custom-columns-setting/component.mjs +1 -1
- package/esm2022/disabled-container/disabled-container.component.mjs +1 -1
- package/esm2022/editable/editable.component.mjs +1 -1
- package/esm2022/editable-text/component.mjs +1 -1
- package/esm2022/exec/placeholder/component.mjs +1 -1
- package/esm2022/exec/terminal/component.mjs +23 -8
- package/esm2022/exec/terminal-group/component.mjs +2 -3
- package/esm2022/feature-gate-forbidden/component/component.mjs +1 -1
- package/esm2022/form/errors-mapper/errors-mapper-component/component.mjs +1 -1
- package/esm2022/form/errors-mapper/errors-mapper.directive.mjs +1 -1
- package/esm2022/form/labels-editor/component.mjs +1 -1
- package/esm2022/form/taints-editor/component.mjs +1 -1
- package/esm2022/form/upload-file/component.mjs +1 -1
- package/esm2022/form/validators/strong-password/strong-password-tooltip/component.mjs +1 -1
- package/esm2022/graph-canvas/components/graph-actions.component.mjs +1 -1
- package/esm2022/graph-canvas/components/graph-canvas.component.mjs +1 -1
- package/esm2022/graph-canvas/components/graph-link.component.mjs +1 -1
- package/esm2022/graph-canvas/components/graph-links.component.mjs +1 -1
- package/esm2022/grid-layout/components/grid/component.mjs +1 -1
- package/esm2022/grid-layout/components/grid-items/component.mjs +1 -1
- package/esm2022/help-document/component.mjs +1 -1
- package/esm2022/k8s-resource-list/footer/component.mjs +1 -1
- package/esm2022/k8s-resource-list/utils.mjs +7 -11
- package/esm2022/k8s-shared/resource-mark/k8s-resource-mark.component.mjs +1 -1
- package/esm2022/k8s-shared/update-description-dialog/component.mjs +1 -1
- package/esm2022/k8s-shared/update-display-name-dialog/component.mjs +1 -1
- package/esm2022/k8s-shared/update-key-value-dialog/component.mjs +1 -1
- package/esm2022/lazy-component/lazy-load-component.mjs +1 -1
- package/esm2022/license/license-error/component.mjs +1 -1
- package/esm2022/list-display/component.mjs +1 -1
- package/esm2022/metric-chart/metric-chart.component.mjs +1 -1
- package/esm2022/metric-chart/metric-time-pick.mjs +1 -1
- package/esm2022/multi-search/action-input/component.mjs +1 -1
- package/esm2022/multi-search/form/component.mjs +1 -1
- package/esm2022/multi-search/multi-search-tags/component.mjs +1 -1
- package/esm2022/mutable/mosaic/mosaic.component.mjs +1 -1
- package/esm2022/notification/feedback-notification/component.mjs +1 -1
- package/esm2022/overview-banner/overview-banner.component.mjs +1 -1
- package/esm2022/page-guard/component/component.mjs +1 -1
- package/esm2022/page-scaffold/navigation/breadcrumb/breadcrumb.component.mjs +1 -1
- package/esm2022/page-scaffold/navigation/nav-menu/nav-item-li/nav-item-li.component.mjs +1 -1
- package/esm2022/page-scaffold/navigation/nav-menu/nav-item-ul/nav-item-ul.component.mjs +1 -1
- package/esm2022/page-scaffold/navigation/nav-menu/nav-menu.component.mjs +1 -1
- package/esm2022/page-scaffold/page/notices/maintenance.component.mjs +1 -1
- package/esm2022/page-scaffold/page/notices/notice.component.mjs +1 -1
- package/esm2022/page-scaffold/page/page.component.mjs +1 -1
- package/esm2022/page-scaffold/page-header/account-menu/component/component.mjs +1 -1
- package/esm2022/page-scaffold/page-header/common-layout/namespace-select/component.mjs +1 -1
- package/esm2022/page-scaffold/page-header/common-layout/product-select/component.mjs +1 -1
- package/esm2022/page-scaffold/page-header/component.mjs +1 -1
- package/esm2022/page-scaffold/page-header/enterprise-support-status/component.mjs +1 -1
- package/esm2022/page-scaffold/page-header/header-notify/component/header-notify.component.mjs +1 -1
- package/esm2022/page-scaffold/page-header/header-notify/component/notification-list/notification-list.component.mjs +1 -1
- package/esm2022/page-scaffold/page-header/help-menu/component/component.mjs +1 -1
- package/esm2022/pie-derivative-chart/donut-status/component.mjs +1 -1
- package/esm2022/pie-derivative-chart/radial-bar/radial-bar-chart.component.mjs +1 -1
- package/esm2022/pod-status/component.mjs +1 -1
- package/esm2022/searchable-selector/component.mjs +1 -1
- package/esm2022/skeleton/item/component.mjs +1 -1
- package/esm2022/skeleton/nav-skeleton/component.mjs +1 -1
- package/esm2022/table/component.mjs +1 -1
- package/esm2022/view-chart/custom-template/dropdown-legend.mjs +1 -1
- package/esm2022/view-chart/legend/legend.component.mjs +1 -1
- package/esm2022/view-chart/view-chart.component.mjs +1 -1
- package/esm2022/view-zchart/custom-template/dropdown-legend.mjs +1 -1
- package/esm2022/view-zchart/legend/legend.component.mjs +1 -1
- package/esm2022/view-zchart/view-zchart.component.mjs +1 -1
- package/esm2022/widget/card-section/card-section.component.mjs +1 -1
- package/esm2022/widget/confirm-delete/confirm-delete.component.mjs +1 -1
- package/esm2022/widget/current-time/component.mjs +1 -1
- package/esm2022/widget/date-range-picker/component.mjs +1 -1
- package/esm2022/widget/field-set/column/component.mjs +2 -2
- package/esm2022/widget/field-set/group/component.mjs +1 -1
- package/esm2022/widget/field-set/item/component.mjs +1 -1
- package/esm2022/widget/foldable-block/component.mjs +1 -1
- package/esm2022/widget/foldable-item-in-table/component.mjs +1 -1
- package/esm2022/widget/loading-mask/loading-mask.component.mjs +1 -1
- package/esm2022/widget/password-input/component.mjs +1 -1
- package/esm2022/widget/relative-time/component.mjs +1 -1
- package/esm2022/widget/resource-label/component.mjs +1 -1
- package/esm2022/widget/resource-multi-select/component.mjs +1 -1
- package/esm2022/widget/search-panel/component.mjs +1 -1
- package/esm2022/widget/search-panel/search-item/component.mjs +1 -1
- package/esm2022/widget/status-icon/status-icon.component.mjs +1 -1
- package/esm2022/widget/tags-label/component.mjs +1 -1
- package/esm2022/widget/terminating-tag/component.mjs +1 -1
- package/esm2022/widget/text-ellipsis/component.mjs +1 -1
- package/esm2022/widget/text-with-url/component.mjs +1 -1
- package/esm2022/widget/zero-state/zero-state.component.mjs +1 -1
- package/esm2022/workload-status-icon/component.mjs +1 -1
- package/esm2022/xterm/xterm-terminal/xterm-terminal.component.mjs +1 -1
- package/esm2022/xterm/xterm.component.mjs +8 -3
- package/exec/terminal/component.d.ts +2 -0
- package/package.json +7 -7
|
@@ -94,5 +94,5 @@ export class EditableTextComponent {
|
|
|
94
94
|
}], textChange: [{
|
|
95
95
|
type: Output
|
|
96
96
|
}] }); })();
|
|
97
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(EditableTextComponent, { className: "EditableTextComponent"
|
|
97
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(EditableTextComponent, { className: "EditableTextComponent" }); })();
|
|
98
98
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2VkaXRhYmxlLXRleHQvY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2VkaXRhYmxlLXRleHQvdGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzVDLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7O0FBRXZDLE1BQU0sb0JBQW9CLEdBQUcsNEJBQTRCLENBQUM7QUFRMUQsTUFBTSxPQUFPLHFCQUFxQjtJQUloQyxJQUNJLEtBQUssQ0FBQyxHQUFXO1FBQ25CLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBaUJELFlBQTZCLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBWG5ELGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBRXhDLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFHakIsa0JBQWEsR0FBRyxJQUFJLGVBQWUsQ0FBUyxvQkFBb0IsQ0FBQyxDQUFDO1FBRWxFLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFFaEIsY0FBUyxHQUFHLEVBQUUsQ0FBQztJQUV1QyxDQUFDO0lBRXZELFdBQVcsQ0FBQyxJQUFZO1FBQ3RCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxJQUFJO1FBQ0YsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQUk7UUFDRixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN0QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNyQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDO1FBQ3pELENBQUM7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDdkIsQ0FBQztRQUNELElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FDN0MsT0FBTyxFQUNQLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLElBQUksQ0FDaEMsQ0FBQztRQUNGLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUNyQixHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLFlBQVksSUFBSSxDQUN2RCxDQUFDO1FBQ0YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQixDQUFDO3NGQXZEVSxxQkFBcUI7b0VBQXJCLHFCQUFxQjs7Ozs7Ozs7O1lDdEJsQyxzQ0FVQzs7WUFIQyxBQURBLGdLQUFpQix1QkFBbUIsS0FBQywySEFDN0IsVUFBTSxLQUFDO1lBR2hCLGlCQUFXO1lBQ1osaUNBR0M7WUFDQyxZQUNGO1lBQUEsaUJBQU07WUFFSixBQURGLDhCQUF5QixjQUNJO1lBQ3pCLFlBQ0Y7WUFBQSxpQkFBTztZQUVMLEFBREYsaURBQWdELGlCQU03QztZQURDLHlJQUFTLFVBQU0sS0FBQztZQUVoQiwrQkFBbUM7WUFHekMsQUFERSxBQURFLGlCQUFTLEVBQ2MsRUFDckI7O1lBdkJKLEFBSEEsQUFEQSx1Q0FBcUIseUJBQ0QsaUZBRzJCO1lBTy9DLGVBQ0Y7WUFERSwrQ0FDRjtZQUNLLGNBQW1CO1lBQW5CLHFDQUFtQjtZQUVwQixlQUNGO1lBREUscURBQ0Y7WUFDd0IsY0FBdUI7WUFBdkIseUNBQXVCO1lBRzNDLGNBQWU7WUFBZiw2QkFBZTs7O2lGREZSLHFCQUFxQjtjQU5qQyxTQUFTOzJCQUNFLG1CQUFtQixtQkFHWix1QkFBdUIsQ0FBQyxNQUFNO2tEQUd2QixTQUFTO2tCQUFoQyxTQUFTO21CQUFDLFdBQVc7WUFDUSxlQUFlO2tCQUE1QyxTQUFTO21CQUFDLGlCQUFpQjtZQUd4QixLQUFLO2tCQURSLEtBQUs7WUFNTixTQUFTO2tCQURSLEtBQUs7WUFJTixVQUFVO2tCQURULE1BQU07O2tGQVpJLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElucHV0Q29tcG9uZW50IH0gZnJvbSAnQGFsYXVkYS91aSc7XG5pbXBvcnQge1xuICBBZnRlclZpZXdDaGVja2VkLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmNvbnN0IFRFWFRBUkVBX0JBU0VfSEVJR0hUID0gJ3ZhcigtLWF1aS1pbmxpbmUtaGVpZ2h0LW0pJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWNsLWVkaXRhYmxlLXRleHQnLFxuICB0ZW1wbGF0ZVVybDogJ3RlbXBsYXRlLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zdHlsZS5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBFZGl0YWJsZVRleHRDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdDaGVja2VkIHtcbiAgQFZpZXdDaGlsZCgndGV4dElucHV0JykgdGV4dElucHV0OiBJbnB1dENvbXBvbmVudDtcbiAgQFZpZXdDaGlsZCgndGV4dFBsYWNlaG9sZGVyJykgdGV4dFBsYWNlaG9sZGVyOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcblxuICBASW5wdXQoKVxuICBzZXQgdmFsdWUodmFsOiBzdHJpbmcpIHtcbiAgICB0aGlzLnRleHRNb2RlbCA9IHZhbCA/IHZhbC50cmltKCkgOiAnJztcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGlzQWxsb3dlZDogYm9vbGVhbjtcblxuICBAT3V0cHV0KClcbiAgdGV4dENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIGVkaXRNb2RlID0gZmFsc2U7XG4gIGlucHV0RWw6IEhUTUxJbnB1dEVsZW1lbnQ7XG5cbiAgaW5wdXRIZWlnaHQkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPihURVhUQVJFQV9CQVNFX0hFSUdIVCk7XG5cbiAgZm9jdXNlZCA9IGZhbHNlO1xuXG4gIHRleHRNb2RlbCA9ICcnO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICBtb2RlbENoYW5nZSh0ZXh0OiBzdHJpbmcpIHtcbiAgICB0aGlzLnRleHRNb2RlbCA9IHRleHQ7XG4gIH1cblxuICBlZGl0KCkge1xuICAgIHRoaXMuZWRpdE1vZGUgPSB0cnVlO1xuICB9XG5cbiAgYmx1cigpIHtcbiAgICB0aGlzLmVkaXRNb2RlID0gZmFsc2U7XG4gICAgdGhpcy5mb2N1c2VkID0gZmFsc2U7XG4gICAgdGhpcy50ZXh0Q2hhbmdlLmVtaXQodGhpcy50ZXh0TW9kZWwudHJpbSgpKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpIHtcbiAgICBpZiAoIXRoaXMuaW5wdXRFbCkge1xuICAgICAgdGhpcy5pbnB1dEVsID0gdGhpcy50ZXh0SW5wdXQuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgIH1cbiAgICBpZiAoIXRoaXMuZm9jdXNlZCkge1xuICAgICAgdGhpcy5pbnB1dEVsLmZvY3VzKCk7XG4gICAgfVxuICAgIHRoaXMudGV4dFBsYWNlaG9sZGVyLm5hdGl2ZUVsZW1lbnQuc2V0QXR0cmlidXRlKFxuICAgICAgJ3dpZHRoJyxcbiAgICAgIGAke3RoaXMuaW5wdXRFbC5vZmZzZXRXaWR0aH1weGAsXG4gICAgKTtcbiAgICB0aGlzLmlucHV0SGVpZ2h0JCQubmV4dChcbiAgICAgIGAke3RoaXMudGV4dFBsYWNlaG9sZGVyLm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0fXB4YCxcbiAgICApO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxufVxuIiwiPHRleHRhcmVhXG4gIGF1aS1pbnB1dFxuICBjbGFzcz1cImVkaXQtaW5wdXRcIlxuICBuYW1lPVwidGV4dFwiXG4gIFtuZ01vZGVsXT1cInRleHRNb2RlbFwiXG4gIFtoaWRkZW5dPVwiIWVkaXRNb2RlXCJcbiAgKG5nTW9kZWxDaGFuZ2UpPVwibW9kZWxDaGFuZ2UoJGV2ZW50KVwiXG4gIChibHVyKT1cImJsdXIoKVwiXG4gIFtuZ1N0eWxlXT1cInsgaGVpZ2h0OiAoaW5wdXRIZWlnaHQkJCB8IGFzeW5jKSB9XCJcbiAgI3RleHRJbnB1dFxuPjwvdGV4dGFyZWE+XG48ZGl2XG4gIGNsYXNzPVwidGV4dC1wbGFjZWhvbGRlclwiXG4gICN0ZXh0UGxhY2Vob2xkZXJcbj5cbiAge3sgdGV4dE1vZGVsIH19XG48L2Rpdj5cbjxkaXYgW2hpZGRlbl09XCJlZGl0TW9kZVwiPlxuICA8c3BhbiBjbGFzcz1cInRleHQtZGlzcGxheVwiPlxuICAgIHt7IHRleHRNb2RlbC50cmltKCkgfX1cbiAgPC9zcGFuPlxuICA8YWNsLWRpc2FibGVkLWNvbnRhaW5lciBbaXNBbGxvd2VkXT1cImlzQWxsb3dlZFwiPlxuICAgIDxidXR0b25cbiAgICAgIGF1aS1idXR0b249XCJ0ZXh0XCJcbiAgICAgIFtzcXVhcmVdPVwidHJ1ZVwiXG4gICAgICBzaXplPVwic21hbGxcIlxuICAgICAgKGNsaWNrKT1cImVkaXQoKVwiXG4gICAgPlxuICAgICAgPGF1aS1pY29uIGljb249XCJwZW5jaWxcIj48L2F1aS1pY29uPlxuICAgIDwvYnV0dG9uPlxuICA8L2FjbC1kaXNhYmxlZC1jb250YWluZXI+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -39,5 +39,5 @@ export class TerminalPlaceholderComponent {
|
|
|
39
39
|
}], null, { type: [{
|
|
40
40
|
type: Input
|
|
41
41
|
}] }); })();
|
|
42
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TerminalPlaceholderComponent, { className: "TerminalPlaceholderComponent"
|
|
42
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TerminalPlaceholderComponent, { className: "TerminalPlaceholderComponent" }); })();
|
|
43
43
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2V4ZWMvcGxhY2Vob2xkZXIvY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2V4ZWMvcGxhY2Vob2xkZXIvdGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFMUUsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHO0lBQ25CLFdBQVcsRUFBRTtRQUNYLEdBQUcsRUFBRSxDQUFDLDBCQUEwQixFQUFFLHlCQUF5QixDQUFDO1FBQzVELElBQUksRUFBRSw4QkFBOEI7S0FDckM7SUFDRCxVQUFVLEVBQUU7UUFDVixHQUFHLEVBQUUsQ0FBQyxnQ0FBZ0MsRUFBRSwrQkFBK0IsQ0FBQztRQUN4RSxJQUFJLEVBQUUsMkJBQTJCO0tBQ2xDO0NBQ08sQ0FBQztBQVFYLE1BQU0sT0FBTyw0QkFBNEI7SUFOekM7UUFRRSxTQUFJLEdBQXVCLGFBQWEsQ0FBQztLQVExQztJQU5DLElBQUksTUFBTTtRQUNSLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBR3JCLENBQUM7SUFDSixDQUFDOzZGQVRVLDRCQUE0QjtvRUFBNUIsNEJBQTRCO1lDbkJ6Qyw4QkFFQztZQUNDLHlCQUdFOztZQUNGLDhCQUFpRTtZQUMvRCxZQUNGOztZQUNGLEFBREUsaUJBQU0sRUFDRjs7WUFMRixjQUFtQztZQUFuQyw0RUFBbUM7WUFHbkMsZUFDRjtZQURFLHNFQUNGOzs7aUZEVVcsNEJBQTRCO2NBTnhDLFNBQVM7MkJBQ0UsMEJBQTBCLG1CQUduQix1QkFBdUIsQ0FBQyxNQUFNO2dCQUkvQyxJQUFJO2tCQURILEtBQUs7O2tGQURLLDRCQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjb25zdCBUWVBFUyA9IHtcbiAgcGxhY2Vob2xkZXI6IHtcbiAgICBpbWc6IFsnaW1hZ2VzL2xpZ2h0L25vLWRhdGEuc3ZnJywgJ2ltYWdlcy9kYXJrL25vLWRhdGEuc3ZnJ10sXG4gICAgdGV4dDogJ25vX3JlbW90ZV90ZXJtaW5hbF9jb25uZWN0ZWQnLFxuICB9LFxuICBwZXJtaXNzaW9uOiB7XG4gICAgaW1nOiBbJ2ltYWdlcy9saWdodC9uby1wZXJtaXNzaW9uLnN2ZycsICdpbWFnZXMvZGFyay9uby1wZXJtaXNzaW9uLnN2ZyddLFxuICAgIHRleHQ6ICdub19wZXJtaXNzaW9uX2Rlc2NyaXB0aW9uJyxcbiAgfSxcbn0gYXMgY29uc3Q7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FjbC10ZXJtaW5hbC1wbGFjZWhvbGRlcicsXG4gIHRlbXBsYXRlVXJsOiAndGVtcGxhdGUuaHRtbCcsXG4gIHN0eWxlVXJsczogWydzdHlsZS5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBUZXJtaW5hbFBsYWNlaG9sZGVyQ29tcG9uZW50IHtcbiAgQElucHV0KClcbiAgdHlwZToga2V5b2YgdHlwZW9mIFRZUEVTID0gJ3BsYWNlaG9sZGVyJztcblxuICBnZXQgY29uZmlnKCkge1xuICAgIHJldHVybiBUWVBFU1t0aGlzLnR5cGVdIGFzIHtcbiAgICAgIGltZzogW3N0cmluZywgc3RyaW5nXTtcbiAgICAgIHRleHQ6IHN0cmluZztcbiAgICB9O1xuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwidHctZmxleCB0dy1mbGV4LWNvbCB0dy1qdXN0aWZ5LWNlbnRlciB0dy1pdGVtcy1jZW50ZXIgdHctdy1bMTAwJV0gdHctaC1bMTAwJV0gdHctbWluLWgtWzM2MHB4XVwiXG4+XG4gIDxpbWdcbiAgICBjbGFzcz1cInR3LXctWzIwMHB4XSB0dy1oLVsyMDBweF0gdHctbWItMjBcIlxuICAgIFtzcmNdPVwiY29uZmlnLmltZyB8IGF1aVRoZW1lUGlja2VyXCJcbiAgLz5cbiAgPGRpdiBjbGFzcz1cInR3LWxlYWRpbmctdGV4dC14bCB0dy10ZXh0LW1haW4tdGV4dCB0dy1mb250LWJvbGRlclwiPlxuICAgIHt7IGNvbmZpZy50ZXh0IHwgdHJhbnNsYXRlIH19XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -3,7 +3,7 @@ import { HttpParams } from '@angular/common/http';
|
|
|
3
3
|
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, HostListener, Input, Output, TemplateRef, ViewChild, } from '@angular/core';
|
|
4
4
|
import { encode } from 'ab64';
|
|
5
5
|
import { debounce } from 'lodash-es';
|
|
6
|
-
import { Subject } from 'rxjs';
|
|
6
|
+
import { Subject, take } from 'rxjs';
|
|
7
7
|
import { Terminal } from 'xterm';
|
|
8
8
|
import { CanvasAddon } from 'xterm-addon-canvas';
|
|
9
9
|
import { FitAddon } from 'xterm-addon-fit';
|
|
@@ -170,6 +170,7 @@ export class TerminalComponent {
|
|
|
170
170
|
this.coding = 'utf8';
|
|
171
171
|
this.connectionStatus = ConnectionStatus.Connecting;
|
|
172
172
|
this.commandHasRun = false;
|
|
173
|
+
this.isDestroyed = false;
|
|
173
174
|
this.socket$$ = new Subject();
|
|
174
175
|
this.shouldFallBackOnClose = false;
|
|
175
176
|
this.initSocketListeners = (initialCommand) => {
|
|
@@ -220,7 +221,13 @@ export class TerminalComponent {
|
|
|
220
221
|
};
|
|
221
222
|
this.initSocketConnection = (fallbackCommand) => {
|
|
222
223
|
this.updateConnectionStatus(this.xterm ? ConnectionStatus.ReConnecting : ConnectionStatus.Connecting);
|
|
223
|
-
this.apiGateway
|
|
224
|
+
this.apiGateway
|
|
225
|
+
.getApiAddress()
|
|
226
|
+
.pipe(take(1))
|
|
227
|
+
.subscribe(apiAddress => {
|
|
228
|
+
if (this.isDestroyed) {
|
|
229
|
+
return;
|
|
230
|
+
}
|
|
224
231
|
const initialCommand = fallbackCommand || this.option.command || BIN_SH;
|
|
225
232
|
this.initSocket(initialCommand, apiAddress);
|
|
226
233
|
this.initSocketListeners(initialCommand);
|
|
@@ -236,8 +243,16 @@ export class TerminalComponent {
|
|
|
236
243
|
}
|
|
237
244
|
}
|
|
238
245
|
ngOnDestroy() {
|
|
246
|
+
this.isDestroyed = true;
|
|
247
|
+
this.killProcess();
|
|
239
248
|
this.closeSocket();
|
|
240
|
-
this.
|
|
249
|
+
this.resizeObserver?.disconnect();
|
|
250
|
+
try {
|
|
251
|
+
this.xterm?.dispose();
|
|
252
|
+
}
|
|
253
|
+
catch (e) {
|
|
254
|
+
console.warn(e);
|
|
255
|
+
}
|
|
241
256
|
}
|
|
242
257
|
focus() {
|
|
243
258
|
this.xterm?.focus();
|
|
@@ -248,7 +263,7 @@ export class TerminalComponent {
|
|
|
248
263
|
this.initSocketConnection();
|
|
249
264
|
}
|
|
250
265
|
killProcess() {
|
|
251
|
-
if (this.socket) {
|
|
266
|
+
if (this.socket?.readyState === WebSocket.OPEN) {
|
|
252
267
|
this.socket.send('0' + encode('\u0003\r\n'));
|
|
253
268
|
this.socket.send('0' + encode('exit\r\n'));
|
|
254
269
|
}
|
|
@@ -351,13 +366,13 @@ export class TerminalComponent {
|
|
|
351
366
|
}
|
|
352
367
|
initFitAddon() {
|
|
353
368
|
const fitAddon = new FitAddon();
|
|
354
|
-
|
|
369
|
+
this.resizeObserver = new ResizeObserver(debounce(([entry]) => {
|
|
355
370
|
if (entry.contentRect.width !== 0) {
|
|
356
371
|
fitAddon.fit();
|
|
357
372
|
this.resizeRemoteTerminal();
|
|
358
373
|
}
|
|
359
374
|
}, 200));
|
|
360
|
-
resizeObserver.observe(this.anchorRef.nativeElement);
|
|
375
|
+
this.resizeObserver.observe(this.anchorRef.nativeElement);
|
|
361
376
|
return fitAddon;
|
|
362
377
|
}
|
|
363
378
|
initSearchAddon() {
|
|
@@ -544,10 +559,10 @@ export class TerminalComponent {
|
|
|
544
559
|
type: HostListener,
|
|
545
560
|
args: ['window:unload', ['$event']]
|
|
546
561
|
}] }); })();
|
|
547
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TerminalComponent, { className: "TerminalComponent"
|
|
562
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TerminalComponent, { className: "TerminalComponent" }); })();
|
|
548
563
|
function decode(coding, data) {
|
|
549
564
|
const dataView = new DataView(Uint8Array.from(atob(data), c => c.codePointAt(0)).buffer);
|
|
550
565
|
const decoder = new TextDecoder(coding);
|
|
551
566
|
return decoder.decode(dataView);
|
|
552
567
|
}
|
|
553
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2V4ZWMvdGVybWluYWwvY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2V4ZWMvdGVybWluYWwvdGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsZUFBZSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUlMLE1BQU0sRUFFTixXQUFXLEVBQ1gsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNyQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDakMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDakQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFB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QyxNQUFNLENBQzFELENBQUM7SUFDRixNQUFNLE9BQU8sR0FBRyxJQUFJLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN4QyxPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDbEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5vdGlmaWNhdGlvblNlcnZpY2UsIFNlYXJjaENvbXBvbmVudCB9IGZyb20gJ0BhbGF1ZGEvdWknO1xuaW1wb3J0IHsgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBlbmNvZGUgfSBmcm9tICdhYjY0JztcbmltcG9ydCB7IGRlYm91bmNlIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFRlcm1pbmFsIH0gZnJvbSAneHRlcm0nO1xuaW1wb3J0IHsgQ2FudmFzQWRkb24gfSBmcm9tICd4dGVybS1hZGRvbi1jYW52YXMnO1xuaW1wb3J0IHsgRml0QWRkb24gfSBmcm9tICd4dGVybS1hZGRvbi1maXQnO1xuaW1wb3J0IHsgU2VhcmNoQWRkb24gfSBmcm9tICd4dGVybS1hZGRvbi1zZWFyY2gnO1xuaW1wb3J0IHsgV2ViTGlua3NBZGRvbiB9IGZyb20gJ3h0ZXJtLWFkZG9uLXdlYi1saW5rcyc7XG5pbXBvcnQgeyBXZWJnbEFkZG9uIH0gZnJvbSAneHRlcm0tYWRkb24td2ViZ2wnO1xuXG5pbXBvcnQgeyBBcGlHYXRld2F5U2VydmljZSB9IGZyb20gJy4uLy4uL2FwaS9wdWJsaWMtYXBpJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi90cmFuc2xhdGUvcHVibGljLWFwaSc7XG5pbXBvcnQge1xuICBDb25uZWN0aW9uU3RhdHVzLFxuICBURVJNSU5BTF9GT05UX0xPQ0FMX1NUT1JBR0VfS0VZLFxuICBURVJNSU5BTF9USEVNRV9MT0NBTF9TVE9SQUdFX0tFWSxcbiAgWFRFUk1fREFSS19USEVNRSxcbiAgWFRFUk1fREVGQVVMVF9PUFRJT05TLFxuICBYVEVSTV9MSUdIVF9USEVNRSxcbn0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IFRlcm1pbmFsT3B0aW9uIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgQklOX1NIID0gJy9iaW4vc2gnO1xuXG5leHBvcnQgY29uc3QgRVhFQ19GQUlMRURfTUVTU0FHRV9DT05UQUlORVJEID0gYEludGVybmFsIGVycm9yIG9jY3VycmVkOiBlcnJvciBleGVjdXRpbmcgY29tbWFuZCBpbiBjb250YWluZXJgO1xuZXhwb3J0IGNvbnN0IEVYRUNfRkFJTEVEX01FU1NBR0VfRE9DS0VSID0gYE9DSSBydW50aW1lIGV4ZWMgZmFpbGVkOiBleGVjIGZhaWxlZDogdW5hYmxlIHRvIHN0YXJ0IGNvbnRhaW5lciBwcm9jZXNzYDtcbmV4cG9ydCBjb25zdCBOT19QRVJNSVNTSU9OX0NPREUgPSA0MF8wMDE7XG5cbmV4cG9ydCBmdW5jdGlvbiBpbml0UmVuZGVyZXJBZGRvbigpIHtcbiAgY29uc3QgY2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7XG4gIGlmIChjYW52YXMuZ2V0Q29udGV4dCgnd2ViZ2wyJykpIHtcbiAgICByZXR1cm4gbmV3IFdlYmdsQWRkb24oKTtcbiAgfVxuICByZXR1cm4gbmV3IENhbnZhc0FkZG9uKCk7XG59XG5cbi8qKlxuICogRm9yIGRpc3BhdGNoaW5nIGtleWJvYXJkIGV2ZW50cyBhdXRvbWF0aWNhbGx5IHRvIHh0ZXJtLFxuICogcGxlYXNlIHZpZXcgaHR0cHM6Ly93d3cucGh5c2ljcy51ZGVsLmVkdS9+d2F0c29uL3NjZW4xMDMvYXNjaWkuaHRtbCBmb3IgcmVmZXJlbmNlLlxuICpcbiAqIEZvciBpbnN0YW5jZSwgaWYgeW91IHdhbnQgdG8gZGlzcGF0Y2ggYEN0cmwrQ2AgdG8geHRlcm0sIHlvdSBzaG91bGQgZGlzcGF0Y2ggYFxceDAzYChha2EgYFxcdTAwMDNgKSB0byB0aGUgc29ja2V0LlxuICpcbiAqIGBgYHRzXG4gKiBzb2NrZXQuc2VuZCgnMCcgKyBlbmNvZGUoJ1xcdTAwMDMnKSlcbiAqIGBgYFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhY2wtdGVybWluYWwnLFxuICB0ZW1wbGF0ZVVybDogJ3RlbXBsYXRlLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnc3R5bGUuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgVGVybWluYWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uRGVzdHJveSwgT25Jbml0IHtcbiAgQ29ubmVjdGlvblN0YXR1cyA9IENvbm5lY3Rpb25TdGF0dXM7XG5cbiAgQElucHV0KClcbiAgb3B0aW9uOiBUZXJtaW5hbE9wdGlvbjtcblxuICBASW5wdXQoKVxuICBpbmRleDogbnVtYmVyO1xuXG4gIEBJbnB1dCgpXG4gIGV4dHJhQnV0dG9uOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICBASW5wdXQoKVxuICBleHRyYUNvbnRlbnQ6IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIEBPdXRwdXQoKVxuICByZWFkb25seSBjb25uZWN0aW9uU3RhdHVzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxDb25uZWN0aW9uU3RhdHVzPigpO1xuXG4gIEBPdXRwdXQoKVxuICByZWFkb25seSBzZW5kRGF0YSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIEBPdXRwdXQoKVxuICByZWFkb25seSBzb2NrZXRSZWFkeSA9IG5ldyBFdmVudEVtaXR0ZXI8V2ViU29ja2V0PigpO1xuXG4gIEBPdXRwdXQoKVxuICByZWFkb25seSBmYWxsYmFja1NoZWxsID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgQFZpZXdDaGlsZCgnYW5jaG9yJylcbiAgYW5jaG9yUmVmOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcblxuICBAVmlld0NoaWxkKCdzZWFyY2hJbnB1dCcpXG4gIHNlYXJjaElucHV0UmVmOiBTZWFyY2hDb21wb25lbnQ7XG5cbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OmJlZm9yZXVubG9hZCcsIFsnJGV2ZW50J10pXG4gIGJlZm9yZVVubG9hZChldmVudDogQmVmb3JlVW5sb2FkRXZlbnQpIHtcbiAgICBpZiAodGhpcy5zb2NrZXQgJiYgdGhpcy5jb25uZWN0aW9uU3RhdHVzID09PSBDb25uZWN0aW9uU3RhdHVzLkNvbm5lY3RlZCkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGV2ZW50LnJldHVyblZhbHVlID0gJyc7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnVubG9hZCcsIFsnJGV2ZW50J10pXG4gIHVubG9hZChfZXZlbnQ6IEJlZm9yZVVubG9hZEV2ZW50KSB7XG4gICAgdGhpcy5raWxsUHJvY2VzcygpO1xuICB9XG5cbiAgdGhlbWU6ICdsaWdodCcgfCAnZGFyaycgPVxuICAgIGxvY2FsU3RvcmFnZS5nZXRJdGVtKFRFUk1JTkFMX1RIRU1FX0xPQ0FMX1NUT1JBR0VfS0VZKSA9PT0gJ2xpZ2h0J1xuICAgICAgPyAnbGlnaHQnXG4gICAgICA6ICdkYXJrJztcblxuICBmb250U2l6ZTogbnVtYmVyID1cbiAgICArbG9jYWxTdG9yYWdlLmdldEl0ZW0oVEVSTUlOQUxfRk9OVF9MT0NBTF9TVE9SQUdFX0tFWSkgfHxcbiAgICBYVEVSTV9ERUZBVUxUX09QVElPTlMuZm9udFNpemU7XG5cbiAgc2VhcmNoaW5nID0gZmFsc2U7XG4gIHNlYXJjaEtleXdvcmQgPSAnJztcbiAgY29kaW5nID0gJ3V0ZjgnO1xuICBjb25uZWN0aW9uU3RhdHVzOiBDb25uZWN0aW9uU3RhdHVzID0gQ29ubmVjdGlvblN0YXR1cy5Db25uZWN0aW5nO1xuICBjb21tYW5kSGFzUnVuID0gZmFsc2U7XG5cbiAgeHRlcm06IFRlcm1pbmFsO1xuICBwcml2YXRlIHNlYXJjaEFkZG9uOiBTZWFyY2hBZGRvbjtcbiAgcHJpdmF0ZSBmaXRBZGRvbjogRml0QWRkb247XG4gIHByaXZhdGUgc29ja2V0OiBXZWJTb2NrZXQ7XG4gIHByaXZhdGUgcGluZzogbnVtYmVyO1xuXG4gIHNvY2tldCQkID0gbmV3IFN1YmplY3Q8V2ViU29ja2V0PigpO1xuXG4gIHNob3VsZEZhbGxCYWNrT25DbG9zZSA9IGZhbHNlO1xuXG4gIGdldCB0aGVtZUNsYXNzKCkge1xuICAgIHJldHVybiAoXG4gICAgICAnYWNsLXRlcm1pbmFsX19kcm9wZG93biAnICtcbiAgICAgICh0aGlzLnRoZW1lID09PSAnbGlnaHQnXG4gICAgICAgID8gJ2FjbC10ZXJtaW5hbF9fZHJvcGRvd24tLWxpZ2h0J1xuICAgICAgICA6ICdhY2wtdGVybWluYWxfX2Ryb3Bkb3duLS1kYXJrJylcbiAgICApO1xuICB9XG5cbiAgZ2V0IHNob3dMb2FkaW5nKCkge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmNvbm5lY3Rpb25TdGF0dXMgPT09IENvbm5lY3Rpb25TdGF0dXMuQ29ubmVjdGluZyB8fFxuICAgICAgKCF0aGlzLm9wdGlvbi5ub3RDbGVhcldoZW5SZWNvbm5lY3QgJiZcbiAgICAgICAgdGhpcy5jb25uZWN0aW9uU3RhdHVzID09PSBDb25uZWN0aW9uU3RhdHVzLlJlQ29ubmVjdGluZylcbiAgICApO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBhcGlHYXRld2F5OiBBcGlHYXRld2F5U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5vdGlmaWNhdGlvbjogTm90aWZpY2F0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmluaXRTb2NrZXRDb25uZWN0aW9uKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyh7IG9wdGlvbiB9OiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKHRoaXMueHRlcm0gJiYgb3B0aW9uKSB7XG4gICAgICB0aGlzLnJlY29ubmVjdCgpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuY2xvc2VTb2NrZXQoKTtcbiAgICB0aGlzLnh0ZXJtPy5kaXNwb3NlKCk7XG4gIH1cblxuICBmb2N1cygpIHtcbiAgICB0aGlzLnh0ZXJtPy5mb2N1cygpO1xuICB9XG5cbiAgcmVjb25uZWN0KCkge1xuICAgIHRoaXMuY29tbWFuZEhhc1J1biA9IGZhbHNlO1xuICAgIHRoaXMuY2xvc2VTb2NrZXQoKTtcbiAgICB0aGlzLmluaXRTb2NrZXRDb25uZWN0aW9uKCk7XG4gIH1cblxuICBraWxsUHJvY2VzcygpIHtcbiAgICBpZiAodGhpcy5zb2NrZXQpIHtcbiAgICAgIHRoaXMuc29ja2V0LnNlbmQoJzAnICsgZW5jb2RlKCdcXHUwMDAzXFxyXFxuJykpO1xuICAgICAgdGhpcy5zb2NrZXQuc2VuZCgnMCcgKyBlbmNvZGUoJ2V4aXRcXHJcXG4nKSk7XG4gICAgfVxuICB9XG5cbiAgc3dpdGNoVGhlbWUoKSB7XG4gICAgdGhpcy50aGVtZSA9IHRoaXMudGhlbWUgPT09ICdsaWdodCcgPyAnZGFyaycgOiAnbGlnaHQnO1xuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFRFUk1JTkFMX1RIRU1FX0xPQ0FMX1NUT1JBR0VfS0VZLCB0aGlzLnRoZW1lKTtcbiAgICB0aGlzLnh0ZXJtLm9wdGlvbnMudGhlbWUgPVxuICAgICAgdGhpcy50aGVtZSA9PT0gJ2xpZ2h0JyA/IFhURVJNX0xJR0hUX1RIRU1FIDogWFRFUk1fREFSS19USEVNRTtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIGZvbnRTaXplQ2hhbmdlKHNpemU6IG51bWJlcikge1xuICAgIHRoaXMuZm9udFNpemUgPSBzaXplO1xuICAgIHRoaXMueHRlcm0ub3B0aW9ucy5mb250U2l6ZSA9IHNpemU7XG4gICAgdGhpcy5maXRBZGRvbi5maXQoKTtcblxuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFRFUk1JTkFMX0ZPTlRfTE9DQUxfU1RPUkFHRV9LRVksIHNpemUgKyAnJyk7XG4gIH1cblxuICBvcGVuU2VhcmNoaW5nKCkge1xuICAgIHRoaXMuc2VhcmNoaW5nID0gdHJ1ZTtcbiAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgdGhpcy5zZWFyY2hJbnB1dFJlZi5mb2N1cygpO1xuICAgIH0pO1xuICB9XG5cbiAgY2xvc2VTZWFyY2hpbmcoKSB7XG4gICAgdGhpcy5zZWFyY2hpbmcgPSBmYWxzZTtcbiAgICB0aGlzLnNlYXJjaEtleXdvcmQgPSAnJztcbiAgICB0aGlzLmZpbmROZXh0KCk7XG4gICAgdGhpcy54dGVybT8uZm9jdXMoKTtcbiAgfVxuXG4gIG9uU2hlbGxLZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKChldmVudC5tZXRhS2V5IHx8IGV2ZW50LmN0cmxLZXkpICYmIGV2ZW50LmNvZGUgPT09ICdLZXlGJykge1xuICAgICAgdGhpcy5vcGVuU2VhcmNoaW5nKCk7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfVxuICB9XG5cbiAgb25TZWFyY2hJbnB1dEtleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBpZiAoZXZlbnQuY29kZSA9PT0gJ0VzY2FwZScpIHtcbiAgICAgIHRoaXMuY2xvc2VTZWFyY2hpbmcoKTtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9IGVsc2UgaWYgKGV2ZW50LmNvZGUgPT09ICdFbnRlcicpIHtcbiAgICAgIGlmIChldmVudC5zaGlmdEtleSkge1xuICAgICAgICB0aGlzLmZpbmRQcmV2aW91cygpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5maW5kTmV4dCgpO1xuICAgICAgfVxuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0U2VhcmNoT3B0aW9ucygpIHtcbiAgICBjb25zdCB0aGVtZSA9IHRoaXMudGhlbWUgPT09ICdsaWdodCcgPyBYVEVSTV9MSUdIVF9USEVNRSA6IFhURVJNX0RBUktfVEhFTUU7XG4gICAgcmV0dXJuIHtcbiAgICAgIGRlY29yYXRpb25zOiB7XG4gICAgICAgIG1hdGNoQmFja2dyb3VuZDogdGhlbWUuc2VsZWN0aW9uSW5hY3RpdmVCYWNrZ3JvdW5kLFxuICAgICAgICBtYXRjaE92ZXJ2aWV3UnVsZXI6IHRoZW1lLnNlbGVjdGlvbkluYWN0aXZlQmFja2dyb3VuZCxcbiAgICAgICAgYWN0aXZlTWF0Y2hCYWNrZ3JvdW5kOiB0aGVtZS5zZWxlY3Rpb25CYWNrZ3JvdW5kLFxuICAgICAgICBhY3RpdmVNYXRjaENvbG9yT3ZlcnZpZXdSdWxlcjogdGhlbWUuc2VsZWN0aW9uQmFja2dyb3VuZCxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIGZpbmROZXh0KCkge1xuICAgIHRoaXMuc2VhcmNoQWRkb24uZmluZE5leHQodGhpcy5zZWFyY2hLZXl3b3JkLCB0aGlzLmdldFNlYXJjaE9wdGlvbnMoKSk7XG4gIH1cblxuICBmaW5kUHJldmlvdXMoKSB7XG4gICAgdGhpcy5zZWFyY2hBZGRvbi5maW5kUHJldmlvdXModGhpcy5zZWFyY2hLZXl3b3JkLCB0aGlzLmdldFNlYXJjaE9wdGlvbnMoKSk7XG4gIH1cblxuICBwcml2YXRlIGluaXRYdGVybSgpIHtcbiAgICB0aGlzLnh0ZXJtID0gbmV3IFRlcm1pbmFsKHtcbiAgICAgIC4uLlhURVJNX0RFRkFVTFRfT1BUSU9OUyxcbiAgICAgIHRoZW1lOiB0aGlzLnRoZW1lID09PSAnbGlnaHQnID8gWFRFUk1fTElHSFRfVEhFTUUgOiBYVEVSTV9EQVJLX1RIRU1FLFxuICAgICAgZm9udFNpemU6IHRoaXMuZm9udFNpemUsXG4gICAgICBhbGxvd1Byb3Bvc2VkQXBpOiB0cnVlLFxuICAgIH0pO1xuXG4gICAgdGhpcy54dGVybS5sb2FkQWRkb24odGhpcy5pbml0U2VhcmNoQWRkb24oKSk7XG4gICAgdGhpcy5maXRBZGRvbiA9IHRoaXMuaW5pdEZpdEFkZG9uKCk7XG4gICAgdGhpcy54dGVybS5sb2FkQWRkb24odGhpcy5maXRBZGRvbik7XG4gICAgdGhpcy54dGVybS5sb2FkQWRkb24obmV3IFdlYkxpbmtzQWRkb24oKSk7XG4gICAgdGhpcy54dGVybS5sb2FkQWRkb24oaW5pdFJlbmRlcmVyQWRkb24oKSk7XG5cbiAgICB0aGlzLnh0ZXJtLm9wZW4odGhpcy5hbmNob3JSZWYubmF0aXZlRWxlbWVudCk7XG4gICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgIHRoaXMuZml0QWRkb24uZml0KCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLnh0ZXJtLm9uRGF0YSgoZGF0YTogc3RyaW5nKSA9PiB7XG4gICAgICBpZiAodGhpcy5jb25uZWN0aW9uU3RhdHVzID09PSBDb25uZWN0aW9uU3RhdHVzLkNvbm5lY3RlZCkge1xuICAgICAgICB0aGlzLmNvbW1hbmRIYXNSdW4gPSB0cnVlO1xuICAgICAgICB0aGlzLnNvY2tldC5zZW5kKCcwJyArIGVuY29kZShkYXRhKSk7XG4gICAgICAgIHRoaXMuc2VuZERhdGEuZW1pdChkYXRhKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLnh0ZXJtLm9uU2VsZWN0aW9uQ2hhbmdlKCgpID0+IHtcbiAgICAgIGNvbnN0IHNlbGVjdGlvbiA9IHRoaXMueHRlcm0uZ2V0U2VsZWN0aW9uKCkudHJpbSgpO1xuICAgICAgaWYgKHNlbGVjdGlvbikge1xuICAgICAgICBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dChzZWxlY3Rpb24pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0Rml0QWRkb24oKSB7XG4gICAgY29uc3QgZml0QWRkb24gPSBuZXcgRml0QWRkb24oKTtcblxuICAgIGNvbnN0IHJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKFxuICAgICAgZGVib3VuY2UoKFtlbnRyeV0pID0+IHtcbiAgICAgICAgaWYgKGVudHJ5LmNvbnRlbnRSZWN0LndpZHRoICE9PSAwKSB7XG4gICAgICAgICAgZml0QWRkb24uZml0KCk7XG4gICAgICAgICAgdGhpcy5yZXNpemVSZW1vdGVUZXJtaW5hbCgpO1xuICAgICAgICB9XG4gICAgICB9LCAyMDApLFxuICAgICk7XG5cbiAgICByZXNpemVPYnNlcnZlci5vYnNlcnZlKHRoaXMuYW5jaG9yUmVmLm5hdGl2ZUVsZW1lbnQpO1xuXG4gICAgcmV0dXJuIGZpdEFkZG9uO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0U2VhcmNoQWRkb24oKSB7XG4gICAgdGhpcy5zZWFyY2hBZGRvbiA9IG5ldyBTZWFyY2hBZGRvbigpO1xuICAgIHJldHVybiB0aGlzLnNlYXJjaEFkZG9uO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0U29ja2V0KGluaXRpYWxDb21tYW5kOiBzdHJpbmcsIGFwaUFkZHJlc3M6IHN0cmluZykge1xuICAgIGlmICh0aGlzLnNvY2tldCkge1xuICAgICAgdGhpcy5zb2NrZXQuY2xvc2UoKTtcbiAgICB9XG5cbiAgICBjb25zdCB7XG4gICAgICBjbHVzdGVyLFxuICAgICAgbmFtZXNwYWNlLFxuICAgICAgcG9kLFxuICAgICAgY29udGFpbmVyLFxuICAgICAgdXNlciA9ICdyb290JyxcbiAgICAgIGNtZCxcbiAgICAgIGFkdmFuY2VBcGksXG4gICAgfSA9IHRoaXMub3B0aW9uO1xuXG4gICAgY29uc3QgY29tbWFuZCA9IGNtZFxuICAgICAgPyBbJ3NoJywgJy1jJywgY21kXVxuICAgICAgOiB1c2VyID09PSAncm9vdCdcbiAgICAgICAgPyBpbml0aWFsQ29tbWFuZC5zcGxpdCgnICcpXG4gICAgICAgIDogWydzaCcsICctYycsIGBzdSAtcCAke3VzZXJ9IC1jIFwiJHtpbml0aWFsQ29tbWFuZH1cImBdO1xuXG4gICAgY29uc3QgYXBpID0gYWR2YW5jZUFwaVxuICAgICAgPyAnL2F1dGgvdjEvcG9kL3NoZWxsJ1xuICAgICAgOiBgL2t1YmVybmV0ZXMvJHtjbHVzdGVyfS9hcGkvdjEvbmFtZXNwYWNlcy8ke25hbWVzcGFjZX0vcG9kcy8ke3BvZH0vZXhlY2A7XG5cbiAgICB0aGlzLnNvY2tldCA9IG5ldyBXZWJTb2NrZXQoXG4gICAgICBhcGlBZGRyZXNzLnJlcGxhY2UoL15odHRwLywgJ3dzJykgK1xuICAgICAgICBgJHthcGl9PyR7bmV3IEh0dHBQYXJhbXMoe1xuICAgICAgICAgIGZyb21PYmplY3Q6IHtcbiAgICAgICAgICAgIHN0ZGluOiB0cnVlLFxuICAgICAgICAgICAgc3Rkb3V0OiB0cnVlLFxuICAgICAgICAgICAgc3RkZXJyOiB0cnVlLFxuICAgICAgICAgICAgdHR5OiB0cnVlLFxuICAgICAgICAgICAgY29udGFpbmVyLFxuICAgICAgICAgICAgY29tbWFuZCxcbiAgICAgICAgICB9LFxuICAgICAgICB9KS50b1N0cmluZygpfWAsXG4gICAgICBbJ2Jhc2U2NC5jaGFubmVsLms4cy5pbyddLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IGluaXRTb2NrZXRMaXN0ZW5lcnMgPSAoaW5pdGlhbENvbW1hbmQ6IHN0cmluZykgPT4ge1xuICAgIGxldCBuZWVkQ2xlYXI6IGJvb2xlYW47XG5cbiAgICB0aGlzLnNvY2tldC5hZGRFdmVudExpc3RlbmVyKCdvcGVuJywgKCkgPT4ge1xuICAgICAgbmVlZENsZWFyID0gdHJ1ZTtcbiAgICAgIHRoaXMucmVzaXplUmVtb3RlVGVybWluYWwoKTtcbiAgICAgIHRoaXMuc29ja2V0UmVhZHkuZW1pdCh0aGlzLnNvY2tldCk7XG4gICAgICB0aGlzLnNvY2tldCQkLm5leHQodGhpcy5zb2NrZXQpO1xuICAgICAgdGhpcy5waW5nID0gd2luZG93LnNldEludGVydmFsKCgpID0+IHtcbiAgICAgICAgdGhpcy5zb2NrZXQuc2VuZCgnMCcpO1xuICAgICAgfSwgNTAwMCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLnNvY2tldC5hZGRFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgKGV2ZW50OiBNZXNzYWdlRXZlbnQ8c3RyaW5nPikgPT4ge1xuICAgICAgdGhpcy51cGRhdGVDb25uZWN0aW9uU3RhdHVzKENvbm5lY3Rpb25TdGF0dXMuQ29ubmVjdGVkKTtcbiAgICAgIGlmICghdGhpcy54dGVybSkge1xuICAgICAgICB0aGlzLmluaXRYdGVybSgpO1xuICAgICAgfVxuICAgICAgaWYgKG5lZWRDbGVhcikge1xuICAgICAgICBuZWVkQ2xlYXIgPSBmYWxzZTtcblxuICAgICAgICBpZiAoIXRoaXMub3B0aW9uLm5vdENsZWFyV2hlblJlY29ubmVjdCkge1xuICAgICAgICAgIHRoaXMueHRlcm0ucmVzZXQoKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnh0ZXJtLmJ1ZmZlci5hY3RpdmUudHlwZSA9PT0gJ2FsdGVybmF0ZScpIHtcbiAgICAgICAgICAvLyBleGl0IGFsdGVybmF0ZSBzY3JlZW4uIEFJVC00NjM5MVxuICAgICAgICAgIHRoaXMueHRlcm0ud3JpdGUoJ1xcdTAwMUJbPzEwNDlsJyk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdGhpcy54dGVybS5mb2N1cygpO1xuICAgICAgY29uc3QgdGV4dCA9IGRlY29kZSh0aGlzLmNvZGluZywgZXZlbnQuZGF0YS5zbGljZSgxKSk7XG4gICAgICB0aGlzLnh0ZXJtLndyaXRlKHRleHQpO1xuICAgICAgaWYgKFxuICAgICAgICAodGV4dC5pbmNsdWRlcyhFWEVDX0ZBSUxFRF9NRVNTQUdFX0NPTlRBSU5FUkQpIHx8XG4gICAgICAgICAgdGV4dC5pbmNsdWRlcyhFWEVDX0ZBSUxFRF9NRVNTQUdFX0RPQ0tFUikpICYmXG4gICAgICAgICF0aGlzLmNvbW1hbmRIYXNSdW4gJiZcbiAgICAgICAgaW5pdGlhbENvbW1hbmQgIT09IEJJTl9TSFxuICAgICAgKSB7XG4gICAgICAgIHRoaXMuc2hvdWxkRmFsbEJhY2tPbkNsb3NlID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMuc29ja2V0LmFkZEV2ZW50TGlzdGVuZXIoJ2Nsb3NlJywgZSA9PiB7XG4gICAgICB0aGlzLmNsb3NlU29ja2V0KCk7XG4gICAgICB0aGlzLnVwZGF0ZUNvbm5lY3Rpb25TdGF0dXMoXG4gICAgICAgIGUuY29kZSA9PT0gTk9fUEVSTUlTU0lPTl9DT0RFXG4gICAgICAgICAgPyBDb25uZWN0aW9uU3RhdHVzLk5vUGVybWlzc2lvblxuICAgICAgICAgIDogQ29ubmVjdGlvblN0YXR1cy5EaXNjb25uZWN0ZWQsXG4gICAgICApO1xuICAgICAgaWYgKHRoaXMuc2hvdWxkRmFsbEJhY2tPbkNsb3NlKSB7XG4gICAgICAgIHRoaXMuZmFsbEJhY2tPbkNsb3NlKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH07XG5cbiAgcHJpdmF0ZSByZWFkb25seSBpbml0U29ja2V0Q29ubmVjdGlvbiA9IChmYWxsYmFja0NvbW1hbmQ/OiBzdHJpbmcpID0+IHtcbiAgICB0aGlzLnVwZGF0ZUNvbm5lY3Rpb25TdGF0dXMoXG4gICAgICB0aGlzLnh0ZXJtID8gQ29ubmVjdGlvblN0YXR1cy5SZUNvbm5lY3RpbmcgOiBDb25uZWN0aW9uU3RhdHVzLkNvbm5lY3RpbmcsXG4gICAgKTtcblxuICAgIHRoaXMuYXBpR2F0ZXdheS5nZXRBcGlBZGRyZXNzKCkuc3Vic2NyaWJlKGFwaUFkZHJlc3MgPT4ge1xuICAgICAgY29uc3QgaW5pdGlhbENvbW1hbmQgPSBmYWxsYmFja0NvbW1hbmQgfHwgdGhpcy5vcHRpb24uY29tbWFuZCB8fCBCSU5fU0g7XG4gICAgICB0aGlzLmluaXRTb2NrZXQoaW5pdGlhbENvbW1hbmQsIGFwaUFkZHJlc3MpO1xuICAgICAgdGhpcy5pbml0U29ja2V0TGlzdGVuZXJzKGluaXRpYWxDb21tYW5kKTtcbiAgICB9KTtcbiAgfTtcblxuICBwcml2YXRlIGZhbGxCYWNrT25DbG9zZSgpIHtcbiAgICB0aGlzLnNob3VsZEZhbGxCYWNrT25DbG9zZSA9IGZhbHNlO1xuICAgIHRoaXMuZmFsbGJhY2tTaGVsbC5lbWl0KEJJTl9TSCk7XG4gICAgdGhpcy5pbml0U29ja2V0Q29ubmVjdGlvbihCSU5fU0gpO1xuICAgIHRoaXMubm90aWZpY2F0aW9uLndhcm5pbmcoXG4gICAgICB0aGlzLnRyYW5zbGF0ZS5nZXQoJ3Vuc3VwcG9ydGVkX2V4ZWNfY29tbWFuZF93YXJuaW5nJyksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgY2xvc2VTb2NrZXQoKSB7XG4gICAgaWYgKFxuICAgICAgW0Nvbm5lY3Rpb25TdGF0dXMuQ29ubmVjdGluZywgQ29ubmVjdGlvblN0YXR1cy5SZUNvbm5lY3RpbmddLmluY2x1ZGVzKFxuICAgICAgICB0aGlzLmNvbm5lY3Rpb25TdGF0dXMsXG4gICAgICApXG4gICAgKSB7XG4gICAgICB0aGlzLm9wdGlvbi5ub3RDbGVhcldoZW5SZWNvbm5lY3QgfHwgdGhpcy54dGVybT8ucmVzZXQoKTtcbiAgICB9XG5cbiAgICBjbGVhckludGVydmFsKHRoaXMucGluZyk7XG4gICAgdGhpcy5zb2NrZXQ/LmNsb3NlKCk7XG4gICAgdGhpcy5zb2NrZXQgPSBudWxsO1xuICAgIHRoaXMuc29ja2V0JCQubmV4dCh0aGlzLnNvY2tldCk7XG4gIH1cblxuICAvLyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy11aS9jb250YWluZXItdGVybWluYWwvYmxvYi9iYTU2MGQ0ZjcxNWY0MDViZWIwYTY0YmFiOGZiMjlhMjFhYWMyNjcxL2NvbnRhaW5lci10ZXJtaW5hbC5qcyNMMTUyXG4gIHByaXZhdGUgcmVzaXplUmVtb3RlVGVybWluYWwoKSB7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMuc29ja2V0Py5zZW5kKFxuICAgICAgICBgNCR7ZW5jb2RlKFxuICAgICAgICAgIEpTT04uc3RyaW5naWZ5KHsgV2lkdGg6IHRoaXMueHRlcm0uY29scywgSGVpZ2h0OiB0aGlzLnh0ZXJtLnJvd3MgfSksXG4gICAgICAgICl9YCxcbiAgICAgICk7XG4gICAgfSBjYXRjaCB7fVxuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVDb25uZWN0aW9uU3RhdHVzKHN0YXR1czogQ29ubmVjdGlvblN0YXR1cykge1xuICAgIHRoaXMuY29ubmVjdGlvblN0YXR1cyA9IHN0YXR1cztcbiAgICB0aGlzLmNvbm5lY3Rpb25TdGF0dXNDaGFuZ2UuZW1pdChzdGF0dXMpO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgYWN0aXZhdGVUZXJtaW5hbCgpIHtcbiAgICBpZiAodGhpcy5zb2NrZXQgJiYgdGhpcy5jb25uZWN0aW9uU3RhdHVzID09PSBDb25uZWN0aW9uU3RhdHVzLkNvbm5lY3RlZCkge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuc29ja2V0LnNlbmQoJzAnICsgZW5jb2RlKCcgJykpO1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICB0aGlzLnNvY2tldC5zZW5kKCcwJyArIGVuY29kZSgnXFxiJykpO1xuICAgICAgICB9LCAxMDApO1xuICAgICAgfSwgMTAwKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZGVjb2RlKGNvZGluZzogc3RyaW5nLCBkYXRhOiBzdHJpbmcpIHtcbiAgY29uc3QgZGF0YVZpZXcgPSBuZXcgRGF0YVZpZXcoXG4gICAgVWludDhBcnJheS5mcm9tKGF0b2IoZGF0YSksIGMgPT4gYy5jb2RlUG9pbnRBdCgwKSkuYnVmZmVyLFxuICApO1xuICBjb25zdCBkZWNvZGVyID0gbmV3IFRleHREZWNvZGVyKGNvZGluZyk7XG4gIHJldHVybiBkZWNvZGVyLmRlY29kZShkYXRhVmlldyk7XG59XG4iLCI8YXVpLWlubGluZS1hbGVydFxuICAqbmdJZj1cImNvbm5lY3Rpb25TdGF0dXMgPT09IENvbm5lY3Rpb25TdGF0dXMuRGlzY29ubmVjdGVkXCJcbiAgdHlwZT1cImVycm9yXCJcbj5cbiAgPHNwYW4+e3sgJ2V4ZWNfZGlzY29ubmVjdGVkX3RpcCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gIDxidXR0b25cbiAgICBhdWktYnV0dG9uPVwidGV4dFwiXG4gICAgKGNsaWNrKT1cInJlY29ubmVjdCgpXCJcbiAgPlxuICAgIHt7ICdyZWNvbm5lY3QnIHwgdHJhbnNsYXRlIH19XG4gIDwvYnV0dG9uPlxuPC9hdWktaW5saW5lLWFsZXJ0PlxuXG48ZGl2IGNsYXNzPVwiYWNsLXRlcm1pbmFsX193cmFwcGVyXCI+XG4gIDxhY2wtdGVybWluYWwtcGxhY2Vob2xkZXJcbiAgICBjbGFzcz1cInR3LWJnLW4tMTBcIlxuICAgICpuZ0lmPVwiY29ubmVjdGlvblN0YXR1cyA9PT0gQ29ubmVjdGlvblN0YXR1cy5Ob1Blcm1pc3Npb25cIlxuICAgIHR5cGU9XCJwZXJtaXNzaW9uXCJcbiAgPjwvYWNsLXRlcm1pbmFsLXBsYWNlaG9sZGVyPlxuICA8YWNsLWxvYWRpbmctbWFzayBbbG9hZGluZ109XCJzaG93TG9hZGluZ1wiPjwvYWNsLWxvYWRpbmctbWFzaz5cbiAgPGRpdlxuICAgIGNsYXNzPVwiYWNsLXRlcm1pbmFsIHR3LWludmlzaWJsZVwiXG4gICAgW25nQ2xhc3NdPVwie1xuICAgICAgJyF0dy12aXNpYmxlJzpcbiAgICAgICAgIXNob3dMb2FkaW5nICYmIGNvbm5lY3Rpb25TdGF0dXMgIT09IENvbm5lY3Rpb25TdGF0dXMuTm9QZXJtaXNzaW9uXG4gICAgfVwiXG4gICAgW2NsYXNzLmFjbC10ZXJtaW5hbC0tZGFya109XCJ0aGVtZSA9PT0gJ2RhcmsnXCJcbiAgICBbY2xhc3MuYWNsLXRlcm1pbmFsLS1saWdodF09XCJ0aGVtZSA9PT0gJ2xpZ2h0J1wiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwidHctdy1mdWxsIHR3LWgtMCB0dy1mbGV4LTEgdHctZmxleCB0dy1mbGV4LWNvbCB0dy1wLTEyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiYWNsLXRlcm1pbmFsX19oZWFkZXJcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwiYWNsLXRlcm1pbmFsX19idXR0b25cIlxuICAgICAgICAgIFthdWlEcm9wZG93bl09XCJjb2RpbmdNZW51XCJcbiAgICAgICAgICBbYXVpRHJvcGRvd25DbGFzc109XCJ0aGVtZUNsYXNzXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICA+e3tcbiAgICAgICAgICAgICAgY29kaW5nID09PSAndXRmOCdcbiAgICAgICAgICAgICAgICA/ICdVVEYtOCdcbiAgICAgICAgICAgICAgICA6IGNvZGluZyA9PT0gJ2diMTgwMzAnXG4gICAgICAgICAgICAgICAgPyAnR0IgMTgwMzAnXG4gICAgICAgICAgICAgICAgOiBjb2RpbmcudG9VcHBlckNhc2UoKVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIHt7ICdkZWNvZGluZycgfCB0cmFuc2xhdGUgfX08L3NwYW5cbiAgICAgICAgICA+XG4gICAgICAgICAgPGF1aS1pY29uIGljb249XCJhbmdsZV9kb3duXCI+PC9hdWktaWNvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cImFjbC10ZXJtaW5hbF9fYnV0dG9uXCJcbiAgICAgICAgICBbYXVpVG9vbHRpcF09XCJmb250VGVtcGxhdGVcIlxuICAgICAgICAgIGF1aVRvb2x0aXBUcmlnZ2VyPVwiY2xpY2tcIlxuICAgICAgICAgIGF1aVRvb2x0aXBUeXBlPVwiaW5mb1wiXG4gICAgICAgICAgYXVpVG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tIGVuZFwiXG4gICAgICAgICAgW2F1aVRvb2x0aXBDbGFzc109XCJ0aGVtZUNsYXNzXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxhdWktaWNvbiBpY29uPVwiZ2VhclwiPjwvYXVpLWljb24+XG4gICAgICAgICAgPHNwYW4+e3sgJ2ZvbnRfc2V0dGluZycgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJhY2wtdGVybWluYWxfX2J1dHRvblwiXG4gICAgICAgICAgKGNsaWNrKT1cIm9wZW5TZWFyY2hpbmcoKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8YXVpLWljb24gaWNvbj1cIm1hZ25pZmllclwiPjwvYXVpLWljb24+XG4gICAgICAgICAgPHNwYW4+e3sgJ2ZpbmQnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwiYWNsLXRlcm1pbmFsX19idXR0b25cIlxuICAgICAgICAgIChjbGljayk9XCJzd2l0Y2hUaGVtZSgpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxhdWktaWNvbiBbaWNvbl09XCJ0aGVtZSA9PT0gJ2xpZ2h0JyA/ICdzdW4nIDogJ21vb24nXCI+PC9hdWktaWNvbj5cbiAgICAgICAgICA8c3Bhbj57e1xuICAgICAgICAgICAgKHRoZW1lID09PSAnbGlnaHQnID8gJ2xpZ2h0X3RoZW1lJyA6ICdkYXJrX3RoZW1lJykgfCB0cmFuc2xhdGVcbiAgICAgICAgICB9fTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cImV4dHJhQnV0dG9uOyBjb250ZXh0OiB7IGluZGV4OiBpbmRleCB9XCJcbiAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiYWNsLXRlcm1pbmFsX19zaGVsbFwiXG4gICAgICAgIChrZXlkb3duKT1cIm9uU2hlbGxLZXlEb3duKCRldmVudClcIlxuICAgICAgPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgI2FuY2hvclxuICAgICAgICAgIGNsYXNzPVwiYWNsLXRlcm1pbmFsX19hbmNob3JcIlxuICAgICAgICA+PC9kaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAqbmdJZj1cInNlYXJjaGluZ1wiXG4gICAgICAgICAgY2xhc3M9XCJhY2wtdGVybWluYWxfX2ZpbmRpbmdcIlxuICAgICAgICA+XG4gICAgICAgICAgPGF1aS1zZWFyY2hcbiAgICAgICAgICAgICNzZWFyY2hJbnB1dFxuICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgIFsoa2V5d29yZCldPVwic2VhcmNoS2V5d29yZFwiXG4gICAgICAgICAgICAoa2V5ZG93bik9XCJvblNlYXJjaElucHV0S2V5RG93bigkZXZlbnQpXCJcbiAgICAgICAgICA+PC9hdWktc2VhcmNoPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIGF1aS1idXR0b249XCJ0ZXh0XCJcbiAgICAgICAgICAgIHNpemU9XCJtaW5pXCJcbiAgICAgICAgICAgIFtzcXVhcmVdPVwidHJ1ZVwiXG4gICAgICAgICAgICBbcGxhaW5dPVwidHJ1ZVwiXG4gICAgICAgICAgICBbdGl0bGVdPVwiKCdmaW5kX3ByZXZpb3VzJyB8IHRyYW5zbGF0ZSkgKyAnIChTaGlmdCArIEVudGVyKSdcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImZpbmRQcmV2aW91cygpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8YXVpLWljb25cbiAgICAgICAgICAgICAgaWNvbj1cImFycm93X3JpZ2h0XCJcbiAgICAgICAgICAgICAgc3R5bGU9XCJ0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpXCJcbiAgICAgICAgICAgID48L2F1aS1pY29uPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIGF1aS1idXR0b249XCJ0ZXh0XCJcbiAgICAgICAgICAgIHNpemU9XCJtaW5pXCJcbiAgICAgICAgICAgIFtzcXVhcmVdPVwidHJ1ZVwiXG4gICAgICAgICAgICBbcGxhaW5dPVwidHJ1ZVwiXG4gICAgICAgICAgICBbdGl0bGVdPVwiKCdmaW5kX25leHQnIHwgdHJhbnNsYXRlKSArICcgKEVudGVyKSdcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImZpbmROZXh0KClcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxhdWktaWNvblxuICAgICAgICAgICAgICBpY29uPVwiYXJyb3dfcmlnaHRcIlxuICAgICAgICAgICAgICBzdHlsZT1cInRyYW5zZm9ybTogcm90YXRlKDkwZGVnKVwiXG4gICAgICAgICAgICA+PC9hdWktaWNvbj5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBhdWktYnV0dG9uPVwidGV4dFwiXG4gICAgICAgICAgICBzaXplPVwibWluaVwiXG4gICAgICAgICAgICBbc3F1YXJlXT1cInRydWVcIlxuICAgICAgICAgICAgW3BsYWluXT1cInRydWVcIlxuICAgICAgICAgICAgW3RpdGxlXT1cIignY2xvc2UnIHwgdHJhbnNsYXRlKSArICcgKEVzY2FwZSknXCJcbiAgICAgICAgICAgIChjbGljayk9XCJjbG9zZVNlYXJjaGluZygpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8YXVpLWljb24gaWNvbj1cInhtYXJrXCI+PC9hdWktaWNvbj5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPG5nLWNvbnRhaW5lclxuICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICBleHRyYUNvbnRlbnQ7XG4gICAgICBjb250ZXh0OiB7XG4gICAgICAgICRpbXBsaWNpdDogb3B0aW9uLFxuICAgICAgICBzb2NrZXQ6IHNvY2tldCQkIHwgYXN5bmMsXG4gICAgICAgIGluZGV4OiBpbmRleFxuICAgICAgfVxuICAgIFwiXG4gID48L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2NvZGluZ01lbnVcbiAgPjxhdWktbWVudSBzaXplPVwic21hbGxcIlxuICAgID48YXVpLW1lbnUtaXRlbVxuICAgICAgW2FjdGl2ZWRdPVwiY29kaW5nID09PSAndXRmOCdcIlxuICAgICAgKGNsaWNrKT1cImNvZGluZyA9ICd1dGY4J1wiXG4gICAgICA+VVRGLThcbiAgICA8L2F1aS1tZW51LWl0ZW0+XG4gICAgPGF1aS1tZW51LWl0ZW1cbiAgICAgIFthY3RpdmVkXT1cImNvZGluZyA9PT0gJ2diMTgwMzAnXCJcbiAgICAgIChjbGljayk9XCJjb2RpbmcgPSAnZ2IxODAzMCdcIlxuICAgICAgPkdCIDE4MDMwXG4gICAgPC9hdWktbWVudS1pdGVtPlxuICA8L2F1aS1tZW51PjwvbmctdGVtcGxhdGVcbj5cblxuPG5nLXRlbXBsYXRlICNmb250VGVtcGxhdGU+XG4gIDxhdWktbnVtYmVyLWlucHV0XG4gICAgW3N0ZXBdPVwiMVwiXG4gICAgW3ByZWNpc2lvbl09XCIxXCJcbiAgICBbbWluXT1cIjEyXCJcbiAgICBbbWF4XT1cIjQwXCJcbiAgICBbY29udHJvbHNdPVwidHJ1ZVwiXG4gICAgW2FuZ2xlQ29udHJvbHNdPVwidHJ1ZVwiXG4gICAgW3ZhbHVlXT1cImZvbnRTaXplXCJcbiAgICAodmFsdWVDaGFuZ2UpPVwiZm9udFNpemVDaGFuZ2UoJGV2ZW50KVwiXG4gID5cbiAgICA8c3BhbiBhdWlJbnB1dEFkZG9uQWZ0ZXI+cHg8L3NwYW4+XG4gIDwvYXVpLW51bWJlci1pbnB1dD5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
568
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2V4ZWMvdGVybWluYWwvY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2V4ZWMvdGVybWluYWwvdGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsZUFBZSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUlMLE1BQU0sRUFFTixXQUFXLEVBQ1gsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNyQyxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFL0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFn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QUFNO1lBSUUsYUFBYTtrQkFEckIsTUFBTTtZQUlQLFNBQVM7a0JBRFIsU0FBUzttQkFBQyxRQUFRO1lBSW5CLGNBQWM7a0JBRGIsU0FBUzttQkFBQyxhQUFhO1lBSXhCLFlBQVk7a0JBRFgsWUFBWTttQkFBQyxxQkFBcUIsRUFBRSxDQUFDLFFBQVEsQ0FBQztZQVMvQyxNQUFNO2tCQURMLFlBQVk7bUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDOztrRkF6QzlCLGlCQUFpQjtBQWliOUIsU0FBUyxNQUFNLENBQUMsTUFBYyxFQUFFLElBQVk7SUFDMUMsTUFBTSxRQUFRLEdBQUcsSUFBSSxRQUFRLENBQzNCLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FDMUQsQ0FBQztJQUNGLE1BQU0sT0FBTyxHQUFHLElBQUksV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3hDLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUNsQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTm90aWZpY2F0aW9uU2VydmljZSwgU2VhcmNoQ29tcG9uZW50IH0gZnJvbSAnQGFsYXVkYS91aSc7XG5pbXBvcnQgeyBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGVuY29kZSB9IGZyb20gJ2FiNjQnO1xuaW1wb3J0IHsgZGVib3VuY2UgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgU3ViamVjdCwgdGFrZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVGVybWluYWwgfSBmcm9tICd4dGVybSc7XG5pbXBvcnQgeyBDYW52YXNBZGRvbiB9IGZyb20gJ3h0ZXJtLWFkZG9uLWNhbnZhcyc7XG5pbXBvcnQgeyBGaXRBZGRvbiB9IGZyb20gJ3h0ZXJtLWFkZG9uLWZpdCc7XG5pbXBvcnQgeyBTZWFyY2hBZGRvbiB9IGZyb20gJ3h0ZXJtLWFkZG9uLXNlYXJjaCc7XG5pbXBvcnQgeyBXZWJMaW5rc0FkZG9uIH0gZnJvbSAneHRlcm0tYWRkb24td2ViLWxpbmtzJztcbmltcG9ydCB7IFdlYmdsQWRkb24gfSBmcm9tICd4dGVybS1hZGRvbi13ZWJnbCc7XG5cbmltcG9ydCB7IEFwaUdhdGV3YXlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vYXBpL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uLy4uL3RyYW5zbGF0ZS9wdWJsaWMtYXBpJztcbmltcG9ydCB7XG4gIENvbm5lY3Rpb25TdGF0dXMsXG4gIFRFUk1JTkFMX0ZPTlRfTE9DQUxfU1RPUkFHRV9LRVksXG4gIFRFUk1JTkFMX1RIRU1FX0xPQ0FMX1NUT1JBR0VfS0VZLFxuICBYVEVSTV9EQVJLX1RIRU1FLFxuICBYVEVSTV9ERUZBVUxUX09QVElPTlMsXG4gIFhURVJNX0xJR0hUX1RIRU1FLFxufSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgVGVybWluYWxPcHRpb24gfSBmcm9tICcuLi90eXBlcyc7XG5cbmV4cG9ydCBjb25zdCBCSU5fU0ggPSAnL2Jpbi9zaCc7XG5cbmV4cG9ydCBjb25zdCBFWEVDX0ZBSUxFRF9NRVNTQUdFX0NPTlRBSU5FUkQgPSBgSW50ZXJuYWwgZXJyb3Igb2NjdXJyZWQ6IGVycm9yIGV4ZWN1dGluZyBjb21tYW5kIGluIGNvbnRhaW5lcmA7XG5leHBvcnQgY29uc3QgRVhFQ19GQUlMRURfTUVTU0FHRV9ET0NLRVIgPSBgT0NJIHJ1bnRpbWUgZXhlYyBmYWlsZWQ6IGV4ZWMgZmFpbGVkOiB1bmFibGUgdG8gc3RhcnQgY29udGFpbmVyIHByb2Nlc3NgO1xuZXhwb3J0IGNvbnN0IE5PX1BFUk1JU1NJT05fQ09ERSA9IDQwXzAwMTtcblxuZXhwb3J0IGZ1bmN0aW9uIGluaXRSZW5kZXJlckFkZG9uKCkge1xuICBjb25zdCBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTtcbiAgaWYgKGNhbnZhcy5nZXRDb250ZXh0KCd3ZWJnbDInKSkge1xuICAgIHJldHVybiBuZXcgV2ViZ2xBZGRvbigpO1xuICB9XG4gIHJldHVybiBuZXcgQ2FudmFzQWRkb24oKTtcbn1cblxuLyoqXG4gKiBGb3IgZGlzcGF0Y2hpbmcga2V5Ym9hcmQgZXZlbnRzIGF1dG9tYXRpY2FsbHkgdG8geHRlcm0sXG4gKiBwbGVhc2UgdmlldyBodHRwczovL3d3dy5waHlzaWNzLnVkZWwuZWR1L353YXRzb24vc2NlbjEwMy9hc2NpaS5odG1sIGZvciByZWZlcmVuY2UuXG4gKlxuICogRm9yIGluc3RhbmNlLCBpZiB5b3Ugd2FudCB0byBkaXNwYXRjaCBgQ3RybCtDYCB0byB4dGVybSwgeW91IHNob3VsZCBkaXNwYXRjaCBgXFx4MDNgKGFrYSBgXFx1MDAwM2ApIHRvIHRoZSBzb2NrZXQuXG4gKlxuICogYGBgdHNcbiAqIHNvY2tldC5zZW5kKCcwJyArIGVuY29kZSgnXFx1MDAwMycpKVxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FjbC10ZXJtaW5hbCcsXG4gIHRlbXBsYXRlVXJsOiAndGVtcGxhdGUuaHRtbCcsXG4gIHN0eWxlVXJsczogWydzdHlsZS5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBUZXJtaW5hbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25EZXN0cm95LCBPbkluaXQge1xuICBDb25uZWN0aW9uU3RhdHVzID0gQ29ubmVjdGlvblN0YXR1cztcblxuICBASW5wdXQoKVxuICBvcHRpb246IFRlcm1pbmFsT3B0aW9uO1xuXG4gIEBJbnB1dCgpXG4gIGluZGV4OiBudW1iZXI7XG5cbiAgQElucHV0KClcbiAgZXh0cmFCdXR0b246IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIEBJbnB1dCgpXG4gIGV4dHJhQ29udGVudDogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgQE91dHB1dCgpXG4gIHJlYWRvbmx5IGNvbm5lY3Rpb25TdGF0dXNDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPENvbm5lY3Rpb25TdGF0dXM+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHJlYWRvbmx5IHNlbmREYXRhID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHJlYWRvbmx5IHNvY2tldFJlYWR5ID0gbmV3IEV2ZW50RW1pdHRlcjxXZWJTb2NrZXQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHJlYWRvbmx5IGZhbGxiYWNrU2hlbGwgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBAVmlld0NoaWxkKCdhbmNob3InKVxuICBhbmNob3JSZWY6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuXG4gIEBWaWV3Q2hpbGQoJ3NlYXJjaElucHV0JylcbiAgc2VhcmNoSW5wdXRSZWY6IFNlYXJjaENvbXBvbmVudDtcblxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6YmVmb3JldW5sb2FkJywgWyckZXZlbnQnXSlcbiAgYmVmb3JlVW5sb2FkKGV2ZW50OiBCZWZvcmVVbmxvYWRFdmVudCkge1xuICAgIGlmICh0aGlzLnNvY2tldCAmJiB0aGlzLmNvbm5lY3Rpb25TdGF0dXMgPT09IENvbm5lY3Rpb25TdGF0dXMuQ29ubmVjdGVkKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZXZlbnQucmV0dXJuVmFsdWUgPSAnJztcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6dW5sb2FkJywgWyckZXZlbnQnXSlcbiAgdW5sb2FkKF9ldmVudDogQmVmb3JlVW5sb2FkRXZlbnQpIHtcbiAgICB0aGlzLmtpbGxQcm9jZXNzKCk7XG4gIH1cblxuICB0aGVtZTogJ2xpZ2h0JyB8ICdkYXJrJyA9XG4gICAgbG9jYWxTdG9yYWdlLmdldEl0ZW0oVEVSTUlOQUxfVEhFTUVfTE9DQUxfU1RPUkFHRV9LRVkpID09PSAnbGlnaHQnXG4gICAgICA/ICdsaWdodCdcbiAgICAgIDogJ2RhcmsnO1xuXG4gIGZvbnRTaXplOiBudW1iZXIgPVxuICAgICtsb2NhbFN0b3JhZ2UuZ2V0SXRlbShURVJNSU5BTF9GT05UX0xPQ0FMX1NUT1JBR0VfS0VZKSB8fFxuICAgIFhURVJNX0RFRkFVTFRfT1BUSU9OUy5mb250U2l6ZTtcblxuICBzZWFyY2hpbmcgPSBmYWxzZTtcbiAgc2VhcmNoS2V5d29yZCA9ICcnO1xuICBjb2RpbmcgPSAndXRmOCc7XG4gIGNvbm5lY3Rpb25TdGF0dXM6IENvbm5lY3Rpb25TdGF0dXMgPSBDb25uZWN0aW9uU3RhdHVzLkNvbm5lY3Rpbmc7XG4gIGNvbW1hbmRIYXNSdW4gPSBmYWxzZTtcblxuICB4dGVybTogVGVybWluYWw7XG4gIHByaXZhdGUgc2VhcmNoQWRkb246IFNlYXJjaEFkZG9uO1xuICBwcml2YXRlIGZpdEFkZG9uOiBGaXRBZGRvbjtcbiAgcHJpdmF0ZSBzb2NrZXQ6IFdlYlNvY2tldDtcbiAgcHJpdmF0ZSBwaW5nOiBudW1iZXI7XG4gIHByaXZhdGUgcmVzaXplT2JzZXJ2ZXI6IFJlc2l6ZU9ic2VydmVyO1xuICBwcml2YXRlIGlzRGVzdHJveWVkID0gZmFsc2U7XG5cbiAgc29ja2V0JCQgPSBuZXcgU3ViamVjdDxXZWJTb2NrZXQ+KCk7XG5cbiAgc2hvdWxkRmFsbEJhY2tPbkNsb3NlID0gZmFsc2U7XG5cbiAgZ2V0IHRoZW1lQ2xhc3MoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgICdhY2wtdGVybWluYWxfX2Ryb3Bkb3duICcgK1xuICAgICAgKHRoaXMudGhlbWUgPT09ICdsaWdodCdcbiAgICAgICAgPyAnYWNsLXRlcm1pbmFsX19kcm9wZG93bi0tbGlnaHQnXG4gICAgICAgIDogJ2FjbC10ZXJtaW5hbF9fZHJvcGRvd24tLWRhcmsnKVxuICAgICk7XG4gIH1cblxuICBnZXQgc2hvd0xvYWRpbmcoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuY29ubmVjdGlvblN0YXR1cyA9PT0gQ29ubmVjdGlvblN0YXR1cy5Db25uZWN0aW5nIHx8XG4gICAgICAoIXRoaXMub3B0aW9uLm5vdENsZWFyV2hlblJlY29ubmVjdCAmJlxuICAgICAgICB0aGlzLmNvbm5lY3Rpb25TdGF0dXMgPT09IENvbm5lY3Rpb25TdGF0dXMuUmVDb25uZWN0aW5nKVxuICAgICk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFwaUdhdGV3YXk6IEFwaUdhdGV3YXlTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbm90aWZpY2F0aW9uOiBOb3RpZmljYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuaW5pdFNvY2tldENvbm5lY3Rpb24oKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKHsgb3B0aW9uIH06IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAodGhpcy54dGVybSAmJiBvcHRpb24pIHtcbiAgICAgIHRoaXMucmVjb25uZWN0KCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5pc0Rlc3Ryb3llZCA9IHRydWU7XG4gICAgdGhpcy5raWxsUHJvY2VzcygpO1xuICAgIHRoaXMuY2xvc2VTb2NrZXQoKTtcbiAgICB0aGlzLnJlc2l6ZU9ic2VydmVyPy5kaXNjb25uZWN0KCk7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMueHRlcm0/LmRpc3Bvc2UoKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBjb25zb2xlLndhcm4oZSk7XG4gICAgfVxuICB9XG5cbiAgZm9jdXMoKSB7XG4gICAgdGhpcy54dGVybT8uZm9jdXMoKTtcbiAgfVxuXG4gIHJlY29ubmVjdCgpIHtcbiAgICB0aGlzLmNvbW1hbmRIYXNSdW4gPSBmYWxzZTtcbiAgICB0aGlzLmNsb3NlU29ja2V0KCk7XG4gICAgdGhpcy5pbml0U29ja2V0Q29ubmVjdGlvbigpO1xuICB9XG5cbiAga2lsbFByb2Nlc3MoKSB7XG4gICAgaWYgKHRoaXMuc29ja2V0Py5yZWFkeVN0YXRlID09PSBXZWJTb2NrZXQuT1BFTikge1xuICAgICAgdGhpcy5zb2NrZXQuc2VuZCgnMCcgKyBlbmNvZGUoJ1xcdTAwMDNcXHJcXG4nKSk7XG4gICAgICB0aGlzLnNvY2tldC5zZW5kKCcwJyArIGVuY29kZSgnZXhpdFxcclxcbicpKTtcbiAgICB9XG4gIH1cblxuICBzd2l0Y2hUaGVtZSgpIHtcbiAgICB0aGlzLnRoZW1lID0gdGhpcy50aGVtZSA9PT0gJ2xpZ2h0JyA/ICdkYXJrJyA6ICdsaWdodCc7XG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oVEVSTUlOQUxfVEhFTUVfTE9DQUxfU1RPUkFHRV9LRVksIHRoaXMudGhlbWUpO1xuICAgIHRoaXMueHRlcm0ub3B0aW9ucy50aGVtZSA9XG4gICAgICB0aGlzLnRoZW1lID09PSAnbGlnaHQnID8gWFRFUk1fTElHSFRfVEhFTUUgOiBYVEVSTV9EQVJLX1RIRU1FO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgZm9udFNpemVDaGFuZ2Uoc2l6ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5mb250U2l6ZSA9IHNpemU7XG4gICAgdGhpcy54dGVybS5vcHRpb25zLmZvbnRTaXplID0gc2l6ZTtcbiAgICB0aGlzLmZpdEFkZG9uLmZpdCgpO1xuXG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oVEVSTUlOQUxfRk9OVF9MT0NBTF9TVE9SQUdFX0tFWSwgc2l6ZSArICcnKTtcbiAgfVxuXG4gIG9wZW5TZWFyY2hpbmcoKSB7XG4gICAgdGhpcy5zZWFyY2hpbmcgPSB0cnVlO1xuICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICB0aGlzLnNlYXJjaElucHV0UmVmLmZvY3VzKCk7XG4gICAgfSk7XG4gIH1cblxuICBjbG9zZVNlYXJjaGluZygpIHtcbiAgICB0aGlzLnNlYXJjaGluZyA9IGZhbHNlO1xuICAgIHRoaXMuc2VhcmNoS2V5d29yZCA9ICcnO1xuICAgIHRoaXMuZmluZE5leHQoKTtcbiAgICB0aGlzLnh0ZXJtPy5mb2N1cygpO1xuICB9XG5cbiAgb25TaGVsbEtleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBpZiAoKGV2ZW50Lm1ldGFLZXkgfHwgZXZlbnQuY3RybEtleSkgJiYgZXZlbnQuY29kZSA9PT0gJ0tleUYnKSB7XG4gICAgICB0aGlzLm9wZW5TZWFyY2hpbmcoKTtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG4gIH1cblxuICBvblNlYXJjaElucHV0S2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGlmIChldmVudC5jb2RlID09PSAnRXNjYXBlJykge1xuICAgICAgdGhpcy5jbG9zZVNlYXJjaGluZygpO1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH0gZWxzZSBpZiAoZXZlbnQuY29kZSA9PT0gJ0VudGVyJykge1xuICAgICAgaWYgKGV2ZW50LnNoaWZ0S2V5KSB7XG4gICAgICAgIHRoaXMuZmluZFByZXZpb3VzKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmZpbmROZXh0KCk7XG4gICAgICB9XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRTZWFyY2hPcHRpb25zKCkge1xuICAgIGNvbnN0IHRoZW1lID0gdGhpcy50aGVtZSA9PT0gJ2xpZ2h0JyA/IFhURVJNX0xJR0hUX1RIRU1FIDogWFRFUk1fREFSS19USEVNRTtcbiAgICByZXR1cm4ge1xuICAgICAgZGVjb3JhdGlvbnM6IHtcbiAgICAgICAgbWF0Y2hCYWNrZ3JvdW5kOiB0aGVtZS5zZWxlY3Rpb25JbmFjdGl2ZUJhY2tncm91bmQsXG4gICAgICAgIG1hdGNoT3ZlcnZpZXdSdWxlcjogdGhlbWUuc2VsZWN0aW9uSW5hY3RpdmVCYWNrZ3JvdW5kLFxuICAgICAgICBhY3RpdmVNYXRjaEJhY2tncm91bmQ6IHRoZW1lLnNlbGVjdGlvbkJhY2tncm91bmQsXG4gICAgICAgIGFjdGl2ZU1hdGNoQ29sb3JPdmVydmlld1J1bGVyOiB0aGVtZS5zZWxlY3Rpb25CYWNrZ3JvdW5kLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgZmluZE5leHQoKSB7XG4gICAgdGhpcy5zZWFyY2hBZGRvbi5maW5kTmV4dCh0aGlzLnNlYXJjaEtleXdvcmQsIHRoaXMuZ2V0U2VhcmNoT3B0aW9ucygpKTtcbiAgfVxuXG4gIGZpbmRQcmV2aW91cygpIHtcbiAgICB0aGlzLnNlYXJjaEFkZG9uLmZpbmRQcmV2aW91cyh0aGlzLnNlYXJjaEtleXdvcmQsIHRoaXMuZ2V0U2VhcmNoT3B0aW9ucygpKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdFh0ZXJtKCkge1xuICAgIHRoaXMueHRlcm0gPSBuZXcgVGVybWluYWwoe1xuICAgICAgLi4uWFRFUk1fREVGQVVMVF9PUFRJT05TLFxuICAgICAgdGhlbWU6IHRoaXMudGhlbWUgPT09ICdsaWdodCcgPyBYVEVSTV9MSUdIVF9USEVNRSA6IFhURVJNX0RBUktfVEhFTUUsXG4gICAgICBmb250U2l6ZTogdGhpcy5mb250U2l6ZSxcbiAgICAgIGFsbG93UHJvcG9zZWRBcGk6IHRydWUsXG4gICAgfSk7XG5cbiAgICB0aGlzLnh0ZXJtLmxvYWRBZGRvbih0aGlzLmluaXRTZWFyY2hBZGRvbigpKTtcbiAgICB0aGlzLmZpdEFkZG9uID0gdGhpcy5pbml0Rml0QWRkb24oKTtcbiAgICB0aGlzLnh0ZXJtLmxvYWRBZGRvbih0aGlzLmZpdEFkZG9uKTtcbiAgICB0aGlzLnh0ZXJtLmxvYWRBZGRvbihuZXcgV2ViTGlua3NBZGRvbigpKTtcbiAgICB0aGlzLnh0ZXJtLmxvYWRBZGRvbihpbml0UmVuZGVyZXJBZGRvbigpKTtcblxuICAgIHRoaXMueHRlcm0ub3Blbih0aGlzLmFuY2hvclJlZi5uYXRpdmVFbGVtZW50KTtcbiAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgdGhpcy5maXRBZGRvbi5maXQoKTtcbiAgICB9KTtcblxuICAgIHRoaXMueHRlcm0ub25EYXRhKChkYXRhOiBzdHJpbmcpID0+IHtcbiAgICAgIGlmICh0aGlzLmNvbm5lY3Rpb25TdGF0dXMgPT09IENvbm5lY3Rpb25TdGF0dXMuQ29ubmVjdGVkKSB7XG4gICAgICAgIHRoaXMuY29tbWFuZEhhc1J1biA9IHRydWU7XG4gICAgICAgIHRoaXMuc29ja2V0LnNlbmQoJzAnICsgZW5jb2RlKGRhdGEpKTtcbiAgICAgICAgdGhpcy5zZW5kRGF0YS5lbWl0KGRhdGEpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMueHRlcm0ub25TZWxlY3Rpb25DaGFuZ2UoKCkgPT4ge1xuICAgICAgY29uc3Qgc2VsZWN0aW9uID0gdGhpcy54dGVybS5nZXRTZWxlY3Rpb24oKS50cmltKCk7XG4gICAgICBpZiAoc2VsZWN0aW9uKSB7XG4gICAgICAgIG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KHNlbGVjdGlvbik7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGluaXRGaXRBZGRvbigpIHtcbiAgICBjb25zdCBmaXRBZGRvbiA9IG5ldyBGaXRBZGRvbigpO1xuXG4gICAgdGhpcy5yZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcihcbiAgICAgIGRlYm91bmNlKChbZW50cnldKSA9PiB7XG4gICAgICAgIGlmIChlbnRyeS5jb250ZW50UmVjdC53aWR0aCAhPT0gMCkge1xuICAgICAgICAgIGZpdEFkZG9uLmZpdCgpO1xuICAgICAgICAgIHRoaXMucmVzaXplUmVtb3RlVGVybWluYWwoKTtcbiAgICAgICAgfVxuICAgICAgfSwgMjAwKSxcbiAgICApO1xuXG4gICAgdGhpcy5yZXNpemVPYnNlcnZlci5vYnNlcnZlKHRoaXMuYW5jaG9yUmVmLm5hdGl2ZUVsZW1lbnQpO1xuXG4gICAgcmV0dXJuIGZpdEFkZG9uO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0U2VhcmNoQWRkb24oKSB7XG4gICAgdGhpcy5zZWFyY2hBZGRvbiA9IG5ldyBTZWFyY2hBZGRvbigpO1xuICAgIHJldHVybiB0aGlzLnNlYXJjaEFkZG9uO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0U29ja2V0KGluaXRpYWxDb21tYW5kOiBzdHJpbmcsIGFwaUFkZHJlc3M6IHN0cmluZykge1xuICAgIGlmICh0aGlzLnNvY2tldCkge1xuICAgICAgdGhpcy5zb2NrZXQuY2xvc2UoKTtcbiAgICB9XG5cbiAgICBjb25zdCB7XG4gICAgICBjbHVzdGVyLFxuICAgICAgbmFtZXNwYWNlLFxuICAgICAgcG9kLFxuICAgICAgY29udGFpbmVyLFxuICAgICAgdXNlciA9ICdyb290JyxcbiAgICAgIGNtZCxcbiAgICAgIGFkdmFuY2VBcGksXG4gICAgfSA9IHRoaXMub3B0aW9uO1xuXG4gICAgY29uc3QgY29tbWFuZCA9IGNtZFxuICAgICAgPyBbJ3NoJywgJy1jJywgY21kXVxuICAgICAgOiB1c2VyID09PSAncm9vdCdcbiAgICAgICAgPyBpbml0aWFsQ29tbWFuZC5zcGxpdCgnICcpXG4gICAgICAgIDogWydzaCcsICctYycsIGBzdSAtcCAke3VzZXJ9IC1jIFwiJHtpbml0aWFsQ29tbWFuZH1cImBdO1xuXG4gICAgY29uc3QgYXBpID0gYWR2YW5jZUFwaVxuICAgICAgPyAnL2F1dGgvdjEvcG9kL3NoZWxsJ1xuICAgICAgOiBgL2t1YmVybmV0ZXMvJHtjbHVzdGVyfS9hcGkvdjEvbmFtZXNwYWNlcy8ke25hbWVzcGFjZX0vcG9kcy8ke3BvZH0vZXhlY2A7XG5cbiAgICB0aGlzLnNvY2tldCA9IG5ldyBXZWJTb2NrZXQoXG4gICAgICBhcGlBZGRyZXNzLnJlcGxhY2UoL15odHRwLywgJ3dzJykgK1xuICAgICAgICBgJHthcGl9PyR7bmV3IEh0dHBQYXJhbXMoe1xuICAgICAgICAgIGZyb21PYmplY3Q6IHtcbiAgICAgICAgICAgIHN0ZGluOiB0cnVlLFxuICAgICAgICAgICAgc3Rkb3V0OiB0cnVlLFxuICAgICAgICAgICAgc3RkZXJyOiB0cnVlLFxuICAgICAgICAgICAgdHR5OiB0cnVlLFxuICAgICAgICAgICAgY29udGFpbmVyLFxuICAgICAgICAgICAgY29tbWFuZCxcbiAgICAgICAgICB9LFxuICAgICAgICB9KS50b1N0cmluZygpfWAsXG4gICAgICBbJ2Jhc2U2NC5jaGFubmVsLms4cy5pbyddLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IGluaXRTb2NrZXRMaXN0ZW5lcnMgPSAoaW5pdGlhbENvbW1hbmQ6IHN0cmluZykgPT4ge1xuICAgIGxldCBuZWVkQ2xlYXI6IGJvb2xlYW47XG5cbiAgICB0aGlzLnNvY2tldC5hZGRFdmVudExpc3RlbmVyKCdvcGVuJywgKCkgPT4ge1xuICAgICAgbmVlZENsZWFyID0gdHJ1ZTtcbiAgICAgIHRoaXMucmVzaXplUmVtb3RlVGVybWluYWwoKTtcbiAgICAgIHRoaXMuc29ja2V0UmVhZHkuZW1pdCh0aGlzLnNvY2tldCk7XG4gICAgICB0aGlzLnNvY2tldCQkLm5leHQodGhpcy5zb2NrZXQpO1xuICAgICAgdGhpcy5waW5nID0gd2luZG93LnNldEludGVydmFsKCgpID0+IHtcbiAgICAgICAgdGhpcy5zb2NrZXQuc2VuZCgnMCcpO1xuICAgICAgfSwgNTAwMCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLnNvY2tldC5hZGRFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgKGV2ZW50OiBNZXNzYWdlRXZlbnQ8c3RyaW5nPikgPT4ge1xuICAgICAgdGhpcy51cGRhdGVDb25uZWN0aW9uU3RhdHVzKENvbm5lY3Rpb25TdGF0dXMuQ29ubmVjdGVkKTtcbiAgICAgIGlmICghdGhpcy54dGVybSkge1xuICAgICAgICB0aGlzLmluaXRYdGVybSgpO1xuICAgICAgfVxuICAgICAgaWYgKG5lZWRDbGVhcikge1xuICAgICAgICBuZWVkQ2xlYXIgPSBmYWxzZTtcblxuICAgICAgICBpZiAoIXRoaXMub3B0aW9uLm5vdENsZWFyV2hlblJlY29ubmVjdCkge1xuICAgICAgICAgIHRoaXMueHRlcm0ucmVzZXQoKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnh0ZXJtLmJ1ZmZlci5hY3RpdmUudHlwZSA9PT0gJ2FsdGVybmF0ZScpIHtcbiAgICAgICAgICAvLyBleGl0IGFsdGVybmF0ZSBzY3JlZW4uIEFJVC00NjM5MVxuICAgICAgICAgIHRoaXMueHRlcm0ud3JpdGUoJ1xcdTAwMUJbPzEwNDlsJyk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdGhpcy54dGVybS5mb2N1cygpO1xuICAgICAgY29uc3QgdGV4dCA9IGRlY29kZSh0aGlzLmNvZGluZywgZXZlbnQuZGF0YS5zbGljZSgxKSk7XG4gICAgICB0aGlzLnh0ZXJtLndyaXRlKHRleHQpO1xuICAgICAgaWYgKFxuICAgICAgICAodGV4dC5pbmNsdWRlcyhFWEVDX0ZBSUxFRF9NRVNTQUdFX0NPTlRBSU5FUkQpIHx8XG4gICAgICAgICAgdGV4dC5pbmNsdWRlcyhFWEVDX0ZBSUxFRF9NRVNTQUdFX0RPQ0tFUikpICYmXG4gICAgICAgICF0aGlzLmNvbW1hbmRIYXNSdW4gJiZcbiAgICAgICAgaW5pdGlhbENvbW1hbmQgIT09IEJJTl9TSFxuICAgICAgKSB7XG4gICAgICAgIHRoaXMuc2hvdWxkRmFsbEJhY2tPbkNsb3NlID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMuc29ja2V0LmFkZEV2ZW50TGlzdGVuZXIoJ2Nsb3NlJywgZSA9PiB7XG4gICAgICB0aGlzLmNsb3NlU29ja2V0KCk7XG4gICAgICB0aGlzLnVwZGF0ZUNvbm5lY3Rpb25TdGF0dXMoXG4gICAgICAgIGUuY29kZSA9PT0gTk9fUEVSTUlTU0lPTl9DT0RFXG4gICAgICAgICAgPyBDb25uZWN0aW9uU3RhdHVzLk5vUGVybWlzc2lvblxuICAgICAgICAgIDogQ29ubmVjdGlvblN0YXR1cy5EaXNjb25uZWN0ZWQsXG4gICAgICApO1xuICAgICAgaWYgKHRoaXMuc2hvdWxkRmFsbEJhY2tPbkNsb3NlKSB7XG4gICAgICAgIHRoaXMuZmFsbEJhY2tPbkNsb3NlKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH07XG5cbiAgcHJpdmF0ZSByZWFkb25seSBpbml0U29ja2V0Q29ubmVjdGlvbiA9IChmYWxsYmFja0NvbW1hbmQ/OiBzdHJpbmcpID0+IHtcbiAgICB0aGlzLnVwZGF0ZUNvbm5lY3Rpb25TdGF0dXMoXG4gICAgICB0aGlzLnh0ZXJtID8gQ29ubmVjdGlvblN0YXR1cy5SZUNvbm5lY3RpbmcgOiBDb25uZWN0aW9uU3RhdHVzLkNvbm5lY3RpbmcsXG4gICAgKTtcblxuICAgIHRoaXMuYXBpR2F0ZXdheVxuICAgICAgLmdldEFwaUFkZHJlc3MoKVxuICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgIC5zdWJzY3JpYmUoYXBpQWRkcmVzcyA9PiB7XG4gICAgICAgIGlmICh0aGlzLmlzRGVzdHJveWVkKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGluaXRpYWxDb21tYW5kID0gZmFsbGJhY2tDb21tYW5kIHx8IHRoaXMub3B0aW9uLmNvbW1hbmQgfHwgQklOX1NIO1xuICAgICAgICB0aGlzLmluaXRTb2NrZXQoaW5pdGlhbENvbW1hbmQsIGFwaUFkZHJlc3MpO1xuICAgICAgICB0aGlzLmluaXRTb2NrZXRMaXN0ZW5lcnMoaW5pdGlhbENvbW1hbmQpO1xuICAgICAgfSk7XG4gIH07XG5cbiAgcHJpdmF0ZSBmYWxsQmFja09uQ2xvc2UoKSB7XG4gICAgdGhpcy5zaG91bGRGYWxsQmFja09uQ2xvc2UgPSBmYWxzZTtcbiAgICB0aGlzLmZhbGxiYWNrU2hlbGwuZW1pdChCSU5fU0gpO1xuICAgIHRoaXMuaW5pdFNvY2tldENvbm5lY3Rpb24oQklOX1NIKTtcbiAgICB0aGlzLm5vdGlmaWNhdGlvbi53YXJuaW5nKFxuICAgICAgdGhpcy50cmFuc2xhdGUuZ2V0KCd1bnN1cHBvcnRlZF9leGVjX2NvbW1hbmRfd2FybmluZycpLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGNsb3NlU29ja2V0KCkge1xuICAgIGlmIChcbiAgICAgIFtDb25uZWN0aW9uU3RhdHVzLkNvbm5lY3RpbmcsIENvbm5lY3Rpb25TdGF0dXMuUmVDb25uZWN0aW5nXS5pbmNsdWRlcyhcbiAgICAgICAgdGhpcy5jb25uZWN0aW9uU3RhdHVzLFxuICAgICAgKVxuICAgICkge1xuICAgICAgdGhpcy5vcHRpb24ubm90Q2xlYXJXaGVuUmVjb25uZWN0IHx8IHRoaXMueHRlcm0/LnJlc2V0KCk7XG4gICAgfVxuXG4gICAgY2xlYXJJbnRlcnZhbCh0aGlzLnBpbmcpO1xuICAgIHRoaXMuc29ja2V0Py5jbG9zZSgpO1xuICAgIHRoaXMuc29ja2V0ID0gbnVsbDtcbiAgICB0aGlzLnNvY2tldCQkLm5leHQodGhpcy5zb2NrZXQpO1xuICB9XG5cbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2t1YmVybmV0ZXMtdWkvY29udGFpbmVyLXRlcm1pbmFsL2Jsb2IvYmE1NjBkNGY3MTVmNDA1YmViMGE2NGJhYjhmYjI5YTIxYWFjMjY3MS9jb250YWluZXItdGVybWluYWwuanMjTDE1MlxuICBwcml2YXRlIHJlc2l6ZVJlbW90ZVRlcm1pbmFsKCkge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLnNvY2tldD8uc2VuZChcbiAgICAgICAgYDQke2VuY29kZShcbiAgICAgICAgICBKU09OLnN0cmluZ2lmeSh7IFdpZHRoOiB0aGlzLnh0ZXJtLmNvbHMsIEhlaWdodDogdGhpcy54dGVybS5yb3dzIH0pLFxuICAgICAgICApfWAsXG4gICAgICApO1xuICAgIH0gY2F0Y2gge31cbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlQ29ubmVjdGlvblN0YXR1cyhzdGF0dXM6IENvbm5lY3Rpb25TdGF0dXMpIHtcbiAgICB0aGlzLmNvbm5lY3Rpb25TdGF0dXMgPSBzdGF0dXM7XG4gICAgdGhpcy5jb25uZWN0aW9uU3RhdHVzQ2hhbmdlLmVtaXQoc3RhdHVzKTtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIGFjdGl2YXRlVGVybWluYWwoKSB7XG4gICAgaWYgKHRoaXMuc29ja2V0ICYmIHRoaXMuY29ubmVjdGlvblN0YXR1cyA9PT0gQ29ubmVjdGlvblN0YXR1cy5Db25uZWN0ZWQpIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLnNvY2tldC5zZW5kKCcwJyArIGVuY29kZSgnICcpKTtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5zb2NrZXQuc2VuZCgnMCcgKyBlbmNvZGUoJ1xcYicpKTtcbiAgICAgICAgfSwgMTAwKTtcbiAgICAgIH0sIDEwMCk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGRlY29kZShjb2Rpbmc6IHN0cmluZywgZGF0YTogc3RyaW5nKSB7XG4gIGNvbnN0IGRhdGFWaWV3ID0gbmV3IERhdGFWaWV3KFxuICAgIFVpbnQ4QXJyYXkuZnJvbShhdG9iKGRhdGEpLCBjID0+IGMuY29kZVBvaW50QXQoMCkpLmJ1ZmZlcixcbiAgKTtcbiAgY29uc3QgZGVjb2RlciA9IG5ldyBUZXh0RGVjb2Rlcihjb2RpbmcpO1xuICByZXR1cm4gZGVjb2Rlci5kZWNvZGUoZGF0YVZpZXcpO1xufVxuIiwiPGF1aS1pbmxpbmUtYWxlcnRcbiAgKm5nSWY9XCJjb25uZWN0aW9uU3RhdHVzID09PSBDb25uZWN0aW9uU3RhdHVzLkRpc2Nvbm5lY3RlZFwiXG4gIHR5cGU9XCJlcnJvclwiXG4+XG4gIDxzcGFuPnt7ICdleGVjX2Rpc2Nvbm5lY3RlZF90aXAnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICA8YnV0dG9uXG4gICAgYXVpLWJ1dHRvbj1cInRleHRcIlxuICAgIChjbGljayk9XCJyZWNvbm5lY3QoKVwiXG4gID5cbiAgICB7eyAncmVjb25uZWN0JyB8IHRyYW5zbGF0ZSB9fVxuICA8L2J1dHRvbj5cbjwvYXVpLWlubGluZS1hbGVydD5cblxuPGRpdiBjbGFzcz1cImFjbC10ZXJtaW5hbF9fd3JhcHBlclwiPlxuICA8YWNsLXRlcm1pbmFsLXBsYWNlaG9sZGVyXG4gICAgY2xhc3M9XCJ0dy1iZy1uLTEwXCJcbiAgICAqbmdJZj1cImNvbm5lY3Rpb25TdGF0dXMgPT09IENvbm5lY3Rpb25TdGF0dXMuTm9QZXJtaXNzaW9uXCJcbiAgICB0eXBlPVwicGVybWlzc2lvblwiXG4gID48L2FjbC10ZXJtaW5hbC1wbGFjZWhvbGRlcj5cbiAgPGFjbC1sb2FkaW5nLW1hc2sgW2xvYWRpbmddPVwic2hvd0xvYWRpbmdcIj48L2FjbC1sb2FkaW5nLW1hc2s+XG4gIDxkaXZcbiAgICBjbGFzcz1cImFjbC10ZXJtaW5hbCB0dy1pbnZpc2libGVcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICchdHctdmlzaWJsZSc6XG4gICAgICAgICFzaG93TG9hZGluZyAmJiBjb25uZWN0aW9uU3RhdHVzICE9PSBDb25uZWN0aW9uU3RhdHVzLk5vUGVybWlzc2lvblxuICAgIH1cIlxuICAgIFtjbGFzcy5hY2wtdGVybWluYWwtLWRhcmtdPVwidGhlbWUgPT09ICdkYXJrJ1wiXG4gICAgW2NsYXNzLmFjbC10ZXJtaW5hbC0tbGlnaHRdPVwidGhlbWUgPT09ICdsaWdodCdcIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cInR3LXctZnVsbCB0dy1oLTAgdHctZmxleC0xIHR3LWZsZXggdHctZmxleC1jb2wgdHctcC0xMlwiPlxuICAgICAgPGRpdiBjbGFzcz1cImFjbC10ZXJtaW5hbF9faGVhZGVyXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cImFjbC10ZXJtaW5hbF9fYnV0dG9uXCJcbiAgICAgICAgICBbYXVpRHJvcGRvd25dPVwiY29kaW5nTWVudVwiXG4gICAgICAgICAgW2F1aURyb3Bkb3duQ2xhc3NdPVwidGhlbWVDbGFzc1wiXG4gICAgICAgID5cbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgPnt7XG4gICAgICAgICAgICAgIGNvZGluZyA9PT0gJ3V0ZjgnXG4gICAgICAgICAgICAgICAgPyAnVVRGLTgnXG4gICAgICAgICAgICAgICAgOiBjb2RpbmcgPT09ICdnYjE4MDMwJ1xuICAgICAgICAgICAgICAgID8gJ0dCIDE4MDMwJ1xuICAgICAgICAgICAgICAgIDogY29kaW5nLnRvVXBwZXJDYXNlKClcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICB7eyAnZGVjb2RpbmcnIHwgdHJhbnNsYXRlIH19PC9zcGFuXG4gICAgICAgICAgPlxuICAgICAgICAgIDxhdWktaWNvbiBpY29uPVwiYW5nbGVfZG93blwiPjwvYXVpLWljb24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJhY2wtdGVybWluYWxfX2J1dHRvblwiXG4gICAgICAgICAgW2F1aVRvb2x0aXBdPVwiZm9udFRlbXBsYXRlXCJcbiAgICAgICAgICBhdWlUb29sdGlwVHJpZ2dlcj1cImNsaWNrXCJcbiAgICAgICAgICBhdWlUb29sdGlwVHlwZT1cImluZm9cIlxuICAgICAgICAgIGF1aVRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbSBlbmRcIlxuICAgICAgICAgIFthdWlUb29sdGlwQ2xhc3NdPVwidGhlbWVDbGFzc1wiXG4gICAgICAgID5cbiAgICAgICAgICA8YXVpLWljb24gaWNvbj1cImdlYXJcIj48L2F1aS1pY29uPlxuICAgICAgICAgIDxzcGFuPnt7ICdmb250X3NldHRpbmcnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwiYWNsLXRlcm1pbmFsX19idXR0b25cIlxuICAgICAgICAgIChjbGljayk9XCJvcGVuU2VhcmNoaW5nKClcIlxuICAgICAgICA+XG4gICAgICAgICAgPGF1aS1pY29uIGljb249XCJtYWduaWZpZXJcIj48L2F1aS1pY29uPlxuICAgICAgICAgIDxzcGFuPnt7ICdmaW5kJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cImFjbC10ZXJtaW5hbF9fYnV0dG9uXCJcbiAgICAgICAgICAoY2xpY2spPVwic3dpdGNoVGhlbWUoKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8YXVpLWljb24gW2ljb25dPVwidGhlbWUgPT09ICdsaWdodCcgPyAnc3VuJyA6ICdtb29uJ1wiPjwvYXVpLWljb24+XG4gICAgICAgICAgPHNwYW4+e3tcbiAgICAgICAgICAgICh0aGVtZSA9PT0gJ2xpZ2h0JyA/ICdsaWdodF90aGVtZScgOiAnZGFya190aGVtZScpIHwgdHJhbnNsYXRlXG4gICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJleHRyYUJ1dHRvbjsgY29udGV4dDogeyBpbmRleDogaW5kZXggfVwiXG4gICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImFjbC10ZXJtaW5hbF9fc2hlbGxcIlxuICAgICAgICAoa2V5ZG93bik9XCJvblNoZWxsS2V5RG93bigkZXZlbnQpXCJcbiAgICAgID5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICNhbmNob3JcbiAgICAgICAgICBjbGFzcz1cImFjbC10ZXJtaW5hbF9fYW5jaG9yXCJcbiAgICAgICAgPjwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgKm5nSWY9XCJzZWFyY2hpbmdcIlxuICAgICAgICAgIGNsYXNzPVwiYWNsLXRlcm1pbmFsX19maW5kaW5nXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxhdWktc2VhcmNoXG4gICAgICAgICAgICAjc2VhcmNoSW5wdXRcbiAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgICBbKGtleXdvcmQpXT1cInNlYXJjaEtleXdvcmRcIlxuICAgICAgICAgICAgKGtleWRvd24pPVwib25TZWFyY2hJbnB1dEtleURvd24oJGV2ZW50KVwiXG4gICAgICAgICAgPjwvYXVpLXNlYXJjaD5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBhdWktYnV0dG9uPVwidGV4dFwiXG4gICAgICAgICAgICBzaXplPVwibWluaVwiXG4gICAgICAgICAgICBbc3F1YXJlXT1cInRydWVcIlxuICAgICAgICAgICAgW3BsYWluXT1cInRydWVcIlxuICAgICAgICAgICAgW3RpdGxlXT1cIignZmluZF9wcmV2aW91cycgfCB0cmFuc2xhdGUpICsgJyAoU2hpZnQgKyBFbnRlciknXCJcbiAgICAgICAgICAgIChjbGljayk9XCJmaW5kUHJldmlvdXMoKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGF1aS1pY29uXG4gICAgICAgICAgICAgIGljb249XCJhcnJvd19yaWdodFwiXG4gICAgICAgICAgICAgIHN0eWxlPVwidHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKVwiXG4gICAgICAgICAgICA+PC9hdWktaWNvbj5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBhdWktYnV0dG9uPVwidGV4dFwiXG4gICAgICAgICAgICBzaXplPVwibWluaVwiXG4gICAgICAgICAgICBbc3F1YXJlXT1cInRydWVcIlxuICAgICAgICAgICAgW3BsYWluXT1cInRydWVcIlxuICAgICAgICAgICAgW3RpdGxlXT1cIignZmluZF9uZXh0JyB8IHRyYW5zbGF0ZSkgKyAnIChFbnRlciknXCJcbiAgICAgICAgICAgIChjbGljayk9XCJmaW5kTmV4dCgpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8YXVpLWljb25cbiAgICAgICAgICAgICAgaWNvbj1cImFycm93X3JpZ2h0XCJcbiAgICAgICAgICAgICAgc3R5bGU9XCJ0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZylcIlxuICAgICAgICAgICAgPjwvYXVpLWljb24+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgYXVpLWJ1dHRvbj1cInRleHRcIlxuICAgICAgICAgICAgc2l6ZT1cIm1pbmlcIlxuICAgICAgICAgICAgW3NxdWFyZV09XCJ0cnVlXCJcbiAgICAgICAgICAgIFtwbGFpbl09XCJ0cnVlXCJcbiAgICAgICAgICAgIFt0aXRsZV09XCIoJ2Nsb3NlJyB8IHRyYW5zbGF0ZSkgKyAnIChFc2NhcGUpJ1wiXG4gICAgICAgICAgICAoY2xpY2spPVwiY2xvc2VTZWFyY2hpbmcoKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGF1aS1pY29uIGljb249XCJ4bWFya1wiPjwvYXVpLWljb24+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxuZy1jb250YWluZXJcbiAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgZXh0cmFDb250ZW50O1xuICAgICAgY29udGV4dDoge1xuICAgICAgICAkaW1wbGljaXQ6IG9wdGlvbixcbiAgICAgICAgc29ja2V0OiBzb2NrZXQkJCB8IGFzeW5jLFxuICAgICAgICBpbmRleDogaW5kZXhcbiAgICAgIH1cbiAgICBcIlxuICA+PC9uZy1jb250YWluZXI+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNjb2RpbmdNZW51XG4gID48YXVpLW1lbnUgc2l6ZT1cInNtYWxsXCJcbiAgICA+PGF1aS1tZW51LWl0ZW1cbiAgICAgIFthY3RpdmVkXT1cImNvZGluZyA9PT0gJ3V0ZjgnXCJcbiAgICAgIChjbGljayk9XCJjb2RpbmcgPSAndXRmOCdcIlxuICAgICAgPlVURi04XG4gICAgPC9hdWktbWVudS1pdGVtPlxuICAgIDxhdWktbWVudS1pdGVtXG4gICAgICBbYWN0aXZlZF09XCJjb2RpbmcgPT09ICdnYjE4MDMwJ1wiXG4gICAgICAoY2xpY2spPVwiY29kaW5nID0gJ2diMTgwMzAnXCJcbiAgICAgID5HQiAxODAzMFxuICAgIDwvYXVpLW1lbnUtaXRlbT5cbiAgPC9hdWktbWVudT48L25nLXRlbXBsYXRlXG4+XG5cbjxuZy10ZW1wbGF0ZSAjZm9udFRlbXBsYXRlPlxuICA8YXVpLW51bWJlci1pbnB1dFxuICAgIFtzdGVwXT1cIjFcIlxuICAgIFtwcmVjaXNpb25dPVwiMVwiXG4gICAgW21pbl09XCIxMlwiXG4gICAgW21heF09XCI0MFwiXG4gICAgW2NvbnRyb2xzXT1cInRydWVcIlxuICAgIFthbmdsZUNvbnRyb2xzXT1cInRydWVcIlxuICAgIFt2YWx1ZV09XCJmb250U2l6ZVwiXG4gICAgKHZhbHVlQ2hhbmdlKT1cImZvbnRTaXplQ2hhbmdlKCRldmVudClcIlxuICA+XG4gICAgPHNwYW4gYXVpSW5wdXRBZGRvbkFmdGVyPnB4PC9zcGFuPlxuICA8L2F1aS1udW1iZXItaW5wdXQ+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -127,7 +127,6 @@ export class TerminalGroupComponent {
|
|
|
127
127
|
this.statusMap = new Map();
|
|
128
128
|
}
|
|
129
129
|
removeTerminal(index) {
|
|
130
|
-
this.terminals.get(index)?.killProcess();
|
|
131
130
|
this.terminalOptionsChange.emit([
|
|
132
131
|
...this.terminalOptions.slice(0, index),
|
|
133
132
|
...this.terminalOptions.slice(index + 1),
|
|
@@ -205,5 +204,5 @@ __decorate([
|
|
|
205
204
|
type: ViewChildren,
|
|
206
205
|
args: [TerminalComponent]
|
|
207
206
|
}] }); })();
|
|
208
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TerminalGroupComponent, { className: "TerminalGroupComponent"
|
|
209
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2V4ZWMvdGVybWluYWwtZ3JvdXAvY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2V4ZWMvdGVybWluYWwtZ3JvdXAvdGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1QsV0FBVyxFQUNYLFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2hELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7OztJQ0twRCwrQkFTWTs7O0lBRFYsb0VBQTRDOzs7SUFFOUMsK0JBWVk7Ozs7O0lBRFYsQUFEQSwrQ0FBOEIsdURBQ0k7OztJQUVwQywrQkFNWTs7O0lBRlYscUNBQW9COzs7SUEvQnhCLDhCQUdDO0lBd0JDLEFBYkEsQUFWQSxpSEFTQyxvR0FhQSxxR0FPQTtJQUNELHdDQUdxQjtJQUN2QixpQkFBTTs7OztJQWpDRCxjQUtUO0lBTFMscUtBS1Q7SUFLUyxjQU1UO0lBTlMsdUtBTVQ7SUFPUyxjQUdUO0lBSFMsOEdBR1Q7SUFJUSxjQUFtQztJQUNuQyxBQURBLHVEQUFtQyxpQkFDbkI7Ozs7SUE3Q3RCLGtDQVFDO0lBREMsMk5BQVMsMkJBQWlCLEtBQUM7SUFFM0Isa0dBR0M7SUFvQ0QsdUNBcUJDO0lBTkMsQUFQQSxBQURBLGlSQUEwQixzREFBNEMsS0FBQyxnU0FFNUQsd0JBQ1Ysa0RBSUEsQ0FDUCxLQURPLGtQQUVVLDBC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QyxFQUFFLEtBQUssRUFBRSxDQUFDO1FBQ3BDLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ25FLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztZQUN0QyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDO1FBQ2hELENBQUM7SUFDSCxDQUFDLENBQUM7OzZEQUVnQjtpRkFiUCxzQkFBc0I7Y0FObEMsU0FBUzsyQkFDRSxvQkFBb0IsbUJBR2IsdUJBQXVCLENBQUMsTUFBTTtnQkFlL0MsYUFBYTtrQkFEWixLQUFLO1lBSU4sZUFBZTtrQkFEZCxLQUFLO1lBSU4sbUJBQW1CO2tCQURsQixZQUFZO21CQUFDLDRCQUE0QjtZQU0xQyxzQkFBc0I7a0JBSHJCLFlBQVk7bUJBQUMsNEJBQTRCLEVBQUU7b0JBQzFDLElBQUksRUFBRSxXQUFXO2lCQUNsQjtZQU1ELHVCQUF1QjtrQkFIdEIsWUFBWTttQkFBQyw2QkFBNkIsRUFBRTtvQkFDM0MsSUFBSSxFQUFFLFdBQVc7aUJBQ2xCO1lBSVEsbUJBQW1CO2tCQUQzQixNQUFNO1lBSUUscUJBQXFCO2tCQUQ3QixNQUFNO1lBSUUsV0FBVztrQkFEbkIsTUFBTTtZQVFFLGFBQWE7a0JBRHJCLE1BQU07WUFPUCxTQUFTO2tCQURSLFlBQVk7bUJBQUMsaUJBQWlCOztrRkFsRHBCLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgRGlyZWN0aXZlLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZHJlbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFZhbHVlSG9vayB9IGZyb20gJy4uLy4uL2NvcmUvdXRpbHMvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBDb25uZWN0aW9uU3RhdHVzIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IFRlcm1pbmFsQ29tcG9uZW50IH0gZnJvbSAnLi4vdGVybWluYWwvY29tcG9uZW50JztcbmltcG9ydCB7IFRlcm1pbmFsT3B0aW9uIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYWNsVGVybWluYWxFeHRyYUJ1dHRvbl0nLFxufSlcbmV4cG9ydCBjbGFzcyBUZXJtaW5hbEV4dHJhQnV0dG9uRGlyZWN0aXZlIHtcbiAgQElucHV0KCdhY2xUZXJtaW5hbEV4dHJhQnV0dG9uJylcbiAgZW5hYmxlOiBib29sZWFuIHwgJycgPSB0cnVlO1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYWNsVGVybWluYWxFeHRyYUNvbnRlbnRdJyxcbn0pXG5leHBvcnQgY2xhc3MgVGVybWluYWxFeHRyYUNvbnRlbnREaXJlY3RpdmUge31cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWNsLXRlcm1pbmFsLWdyb3VwJyxcbiAgdGVtcGxhdGVVcmw6ICd0ZW1wbGF0ZS5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ3N0eWxlLnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFRlcm1pbmFsR3JvdXBDb21wb25lbnQge1xuICBDb25uZWN0aW9uU3RhdHVzID0gQ29ubmVjdGlvblN0YXR1cztcblxuICBwcml2YXRlIGhhc0FjdGl2YXRlZE1hcCA9IG5ldyBNYXA8bnVtYmVyLCBib29sZWFuPigpO1xuXG4gIEBWYWx1ZUhvb2soZnVuY3Rpb24gKHRoaXM6IFRlcm1pbmFsR3JvdXBDb21wb25lbnQsIGluZGV4OiBudW1iZXIpIHtcbiAgICB0aGlzLnRlcm1pbmFscz8uZ2V0KGluZGV4KT8uZm9jdXMoKTtcbiAgICBpZiAodGhpcy50ZXJtaW5hbHM/LmdldChpbmRleCkgJiYgIXRoaXMuaGFzQWN0aXZhdGVkTWFwLmdldChpbmRleCkpIHtcbiAgICAgIHRoaXMuaGFzQWN0aXZhdGVkTWFwLnNldChpbmRleCwgdHJ1ZSk7XG4gICAgICB0aGlzLnRlcm1pbmFscy5nZXQoaW5kZXgpPy5hY3RpdmF0ZVRlcm1pbmFsKCk7XG4gICAgfVxuICB9KVxuICBASW5wdXQoKVxuICBzZWxlY3RlZEluZGV4ID0gMDtcblxuICBASW5wdXQoKVxuICB0ZXJtaW5hbE9wdGlvbnM6IFRlcm1pbmFsT3B0aW9uW10gPSBbXTtcblxuICBAQ29udGVudENoaWxkKFRlcm1pbmFsRXh0cmFCdXR0b25EaXJlY3RpdmUpXG4gIHRlcm1pbmFsRXh0cmFCdXR0b246IFRlcm1pbmFsRXh0cmFCdXR0b25EaXJlY3RpdmU7XG5cbiAgQENvbnRlbnRDaGlsZChUZXJtaW5hbEV4dHJhQnV0dG9uRGlyZWN0aXZlLCB7XG4gICAgcmVhZDogVGVtcGxhdGVSZWYsXG4gIH0pXG4gIHRlcm1pbmFsRXh0cmFCdXR0b25SZWY6IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIEBDb250ZW50Q2hpbGQoVGVybWluYWxFeHRyYUNvbnRlbnREaXJlY3RpdmUsIHtcbiAgICByZWFkOiBUZW1wbGF0ZVJlZixcbiAgfSlcbiAgdGVybWluYWxFeHRyYUNvbnRlbnRSZWY6IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIEBPdXRwdXQoKVxuICByZWFkb25seSBzZWxlY3RlZEluZGV4Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHJlYWRvbmx5IHRlcm1pbmFsT3B0aW9uc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8VGVybWluYWxPcHRpb25bXT4oKTtcblxuICBAT3V0cHV0KClcbiAgcmVhZG9ubHkgc29ja2V0UmVhZHkgPSBuZXcgRXZlbnRFbWl0dGVyPHtcbiAgICBvcHRpb246IFRlcm1pbmFsT3B0aW9uO1xuICAgIHNvY2tldDogV2ViU29ja2V0O1xuICAgIGluZGV4OiBudW1iZXI7XG4gIH0+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHJlYWRvbmx5IGZhbGxiYWNrU2hlbGwgPSBuZXcgRXZlbnRFbWl0dGVyPHtcbiAgICBvcHRpb246IFRlcm1pbmFsT3B0aW9uO1xuICAgIHNoZWxsOiBzdHJpbmc7XG4gIH0+KCk7XG5cbiAgQFZpZXdDaGlsZHJlbihUZXJtaW5hbENvbXBvbmVudClcbiAgdGVybWluYWxzOiBRdWVyeUxpc3Q8VGVybWluYWxDb21wb25lbnQ+O1xuXG4gIHN0YXR1c01hcCA9IG5ldyBNYXA8VGVybWluYWxPcHRpb24sIENvbm5lY3Rpb25TdGF0dXM+KCk7XG5cbiAgcmVtb3ZlVGVybWluYWwoaW5kZXg6IG51bWJlcikge1xuICAgIHRoaXMudGVybWluYWxzLmdldChpbmRleCk/LmtpbGxQcm9jZXNzKCk7XG4gICAgdGhpcy50ZXJtaW5hbE9wdGlvbnNDaGFuZ2UuZW1pdChbXG4gICAgICAuLi50aGlzLnRlcm1pbmFsT3B0aW9ucy5zbGljZSgwLCBpbmRleCksXG4gICAgICAuLi50aGlzLnRlcm1pbmFsT3B0aW9ucy5zbGljZShpbmRleCArIDEpLFxuICAgIF0pO1xuICB9XG5cbiAgdHJhY2tCeU9wdGlvbihfOiBudW1iZXIsIG9wdGlvbjogVGVybWluYWxPcHRpb24pIHtcbiAgICByZXR1cm4gb3B0aW9uO1xuICB9XG5cbiAgaGFuZGxlQ29ubmVjdGlvblN0YXR1c0NoYW5nZShcbiAgICBvcHRpb246IFRlcm1pbmFsT3B0aW9uLFxuICAgIHN0YXR1czogQ29ubmVjdGlvblN0YXR1cyxcbiAgKSB7XG4gICAgdGhpcy5zdGF0dXNNYXAuc2V0KG9wdGlvbiwgc3RhdHVzKTtcbiAgfVxuXG4gIHJlY29ubmVjdChpbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy50ZXJtaW5hbHMuZ2V0KGluZGV4KS5yZWNvbm5lY3QoKTtcbiAgfVxufVxuIiwiPGF1aS10YWItZ3JvdXBcbiAgKm5nSWY9XCJ0ZXJtaW5hbE9wdGlvbnM/Lmxlbmd0aFwiXG4gIHR5cGU9XCJjYXJkXCJcbiAgW2xhenldPVwidHJ1ZVwiXG4gIFtzZWxlY3RlZEluZGV4XT1cInNlbGVjdGVkSW5kZXhcIlxuICAoc2VsZWN0ZWRJbmRleENoYW5nZSk9XCJzZWxlY3RlZEluZGV4Q2hhbmdlLmVtaXQoJGV2ZW50KVwiXG4+XG4gIDxhdWktdGFiXG4gICAgKm5nRm9yPVwiXG4gICAgICBsZXQgb3B0aW9uIG9mIHRlcm1pbmFsT3B0aW9ucztcbiAgICAgIGxldCBpID0gaW5kZXg7XG4gICAgICB0cmFja0J5OiB0cmFja0J5T3B0aW9uXG4gICAgXCJcbiAgICBbY2xvc2VhYmxlXT1cInRydWVcIlxuICAgIChjbG9zZSk9XCJyZW1vdmVUZXJtaW5hbChpKVwiXG4gID5cbiAgICA8ZGl2XG4gICAgICAqYXVpVGFiTGFiZWxcbiAgICAgIGNsYXNzPVwidHctZmxleFwiXG4gICAgPlxuICAgICAgPGF1aS1pY29uXG4gICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgW0Nvbm5lY3Rpb25TdGF0dXMuQ29ubmVjdGluZywgQ29ubmVjdGlvblN0YXR1cy5SZUNvbm5lY3RpbmddLmluY2x1ZGVzKFxuICAgICAgICAgICAgc3RhdHVzTWFwLmdldChvcHRpb24pXG4gICAgICAgICAgKVxuICAgICAgICBcIlxuICAgICAgICBjbGFzcz1cInR3LW1yLTQgdHctaWNvbi1sIHR3LXRleHQtcHJpbWFyeVwiXG4gICAgICAgIGljb249XCJzcGlubmVyXCJcbiAgICAgICAgW2F1aVRvb2x0aXBdPVwiJ2V4ZWNfY29ubmVjdGluZycgfCB0cmFuc2xhdGVcIlxuICAgICAgPjwvYXVpLWljb24+XG4gICAgICA8YXVpLWljb25cbiAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICBbXG4gICAgICAgICAgICBDb25uZWN0aW9uU3RhdHVzLkRpc2Nvbm5lY3RlZCxcbiAgICAgICAgICAgIENvbm5lY3Rpb25TdGF0dXMuTm9QZXJtaXNzaW9uLFxuICAgICAgICAgIF0uaW5jbHVkZXMoc3RhdHVzTWFwLmdldChvcHRpb24pKVxuICAgICAgICBcIlxuICAgICAgICBjbGFzcz1cInR3LW1yLTQgdHctaWNvbi1sIHR3LXRleHQtcmVkXCJcbiAgICAgICAgaWNvbj1cImV4Y2xhbWF0aW9uX3RyaWFuZ2xlX3NcIlxuICAgICAgICBiYWNrZ3JvdW5kPVwidHJpYW5nbGVcIlxuICAgICAgICBbYXVpVG9vbHRpcF09XCJkaXNjb25uZWN0ZWRUaXBcIlxuICAgICAgICBbYXVpVG9vbHRpcENvbnRleHRdPVwieyBpbmRleDogaSB9XCJcbiAgICAgID48L2F1aS1pY29uPlxuICAgICAgPGF1aS1pY29uXG4gICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgc3RhdHVzTWFwLmdldChvcHRpb24pID09PSBDb25uZWN0aW9uU3RhdHVzLkNvbm5lY3RlZCAmJiBvcHRpb24uaWNvblxuICAgICAgICBcIlxuICAgICAgICBbaWNvbl09XCJvcHRpb24uaWNvblwiXG4gICAgICAgIGNsYXNzPVwidHctbXItNCB0dy1pY29uLWxcIlxuICAgICAgPjwvYXVpLWljb24+XG4gICAgICA8YWNsLXRleHQtZWxsaXBzaXNcbiAgICAgICAgW3RleHRdPVwib3B0aW9uLmxhYmVsIHx8IG9wdGlvbi5wb2RcIlxuICAgICAgICBbdGFpbExlbmd0aF09XCI2XCJcbiAgICAgID48L2FjbC10ZXh0LWVsbGlwc2lzPlxuICAgIDwvZGl2PlxuICAgIDxhY2wtdGVybWluYWxcbiAgICAgIFtvcHRpb25dPVwib3B0aW9uXCJcbiAgICAgIFtpbmRleF09XCJpXCJcbiAgICAgIFtleHRyYUJ1dHRvbl09XCJcbiAgICAgICAgdGVybWluYWxFeHRyYUJ1dHRvbj8uZW5hYmxlID8gdGVybWluYWxFeHRyYUJ1dHRvblJlZiA6IG51bGxcbiAgICAgIFwiXG4gICAgICBbZXh0cmFDb250ZW50XT1cInRlcm1pbmFsRXh0cmFDb250ZW50UmVmXCJcbiAgICAgIChjb25uZWN0aW9uU3RhdHVzQ2hhbmdlKT1cImhhbmRsZUNvbm5lY3Rpb25TdGF0dXNDaGFuZ2Uob3B0aW9uLCAkZXZlbnQpXCJcbiAgICAgIChzb2NrZXRSZWFkeSk9XCJcbiAgICAgICAgc29ja2V0UmVhZHkuZW1pdCh7XG4gICAgICAgICAgb3B0aW9uLFxuICAgICAgICAgIHNvY2tldDogJGV2ZW50LFxuICAgICAgICAgIGluZGV4OiBpLFxuICAgICAgICB9KVxuICAgICAgXCJcbiAgICAgIChmYWxsYmFja1NoZWxsKT1cIlxuICAgICAgICBmYWxsYmFja1NoZWxsLmVtaXQoe1xuICAgICAgICAgIG9wdGlvbixcbiAgICAgICAgICBzaGVsbDogJGV2ZW50LFxuICAgICAgICB9KVxuICAgICAgXCJcbiAgICA+PC9hY2wtdGVybWluYWw+XG4gIDwvYXVpLXRhYj5cbjwvYXVpLXRhYi1ncm91cD5cblxuPG5nLXRlbXBsYXRlXG4gICNkaXNjb25uZWN0ZWRUaXBcbiAgbGV0LWk9XCJpbmRleFwiXG4+XG4gIDxzcGFuPnt7ICdleGVjX2Rpc2Nvbm5lY3RlZF90aXAnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICA8YnV0dG9uXG4gICAgYXVpLWJ1dHRvbj1cInRleHRcIlxuICAgIHNpemU9XCJtaW5pXCJcbiAgICAoY2xpY2spPVwicmVjb25uZWN0KGkpXCJcbiAgPlxuICAgIHt7ICdyZWNvbm5lY3QnIHwgdHJhbnNsYXRlIH19XG4gIDwvYnV0dG9uPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
207
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TerminalGroupComponent, { className: "TerminalGroupComponent" }); })();
|
|
208
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2V4ZWMvdGVybWluYWwtZ3JvdXAvY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2V4ZWMvdGVybWluYWwtZ3JvdXAvdGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1QsV0FBVyxFQUNYLFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2hELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7OztJQ0twRCwrQkFTWTs7O0lBRFYsb0VBQTRDOzs7SUFFOUMsK0JBWVk7Ozs7O0lBRFYsQUFEQSwrQ0FBOEIsdURBQ0k7OztJQUVwQywrQkFNWTs7O0lBRlYscUNBQW9COzs7SUEvQnhCLDhCQUdDO0lBd0JDLEFBYkEsQUFWQSxpSEFTQyxvR0FhQSxxR0FPQTtJQUNELHdDQUdxQjtJQUN2QixpQkFBTTs7OztJQWpDRCxjQUtUO0lBTFMscUtBS1Q7SUFLUyxjQU1UO0lBTlMsdUtBTVQ7SUFPUyxjQUdUO0lBSFMsOEdBR1Q7SUFJUSxjQUFtQztJQUNuQyxBQURBLHVEQUFtQyxpQkFDbkI7Ozs7SUE3Q3RCLGtDQVFDO0lBREMsMk5BQVMsMkJBQWlCLEtBQUM7SUFFM0Isa0dBR0M7SUFvQ0QsdUNBcUJDO0lBTkMsQUFQQSxBQURBLGlSQUEwQixzREFBNEMsS0FBQyxnU0FFNUQsd0JBQ1Ysa0RBSUEsQ0FDUCxLQURPLGtQQUVVLDBC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SyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ25FLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztZQUN0QyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDO1FBQ2hELENBQUM7SUFDSCxDQUFDLENBQUM7OzZEQUVnQjtpRkFiUCxzQkFBc0I7Y0FObEMsU0FBUzsyQkFDRSxvQkFBb0IsbUJBR2IsdUJBQXVCLENBQUMsTUFBTTtnQkFlL0MsYUFBYTtrQkFEWixLQUFLO1lBSU4sZUFBZTtrQkFEZCxLQUFLO1lBSU4sbUJBQW1CO2tCQURsQixZQUFZO21CQUFDLDRCQUE0QjtZQU0xQyxzQkFBc0I7a0JBSHJCLFlBQVk7bUJBQUMsNEJBQTRCLEVBQUU7b0JBQzFDLElBQUksRUFBRSxXQUFXO2lCQUNsQjtZQU1ELHVCQUF1QjtrQkFIdEIsWUFBWTttQkFBQyw2QkFBNkIsRUFBRTtvQkFDM0MsSUFBSSxFQUFFLFdBQVc7aUJBQ2xCO1lBSVEsbUJBQW1CO2tCQUQzQixNQUFNO1lBSUUscUJBQXFCO2tCQUQ3QixNQUFNO1lBSUUsV0FBVztrQkFEbkIsTUFBTTtZQVFFLGFBQWE7a0JBRHJCLE1BQU07WUFPUCxTQUFTO2tCQURSLFlBQVk7bUJBQUMsaUJBQWlCOztrRkFsRHBCLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgRGlyZWN0aXZlLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZHJlbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFZhbHVlSG9vayB9IGZyb20gJy4uLy4uL2NvcmUvdXRpbHMvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBDb25uZWN0aW9uU3RhdHVzIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IFRlcm1pbmFsQ29tcG9uZW50IH0gZnJvbSAnLi4vdGVybWluYWwvY29tcG9uZW50JztcbmltcG9ydCB7IFRlcm1pbmFsT3B0aW9uIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYWNsVGVybWluYWxFeHRyYUJ1dHRvbl0nLFxufSlcbmV4cG9ydCBjbGFzcyBUZXJtaW5hbEV4dHJhQnV0dG9uRGlyZWN0aXZlIHtcbiAgQElucHV0KCdhY2xUZXJtaW5hbEV4dHJhQnV0dG9uJylcbiAgZW5hYmxlOiBib29sZWFuIHwgJycgPSB0cnVlO1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYWNsVGVybWluYWxFeHRyYUNvbnRlbnRdJyxcbn0pXG5leHBvcnQgY2xhc3MgVGVybWluYWxFeHRyYUNvbnRlbnREaXJlY3RpdmUge31cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWNsLXRlcm1pbmFsLWdyb3VwJyxcbiAgdGVtcGxhdGVVcmw6ICd0ZW1wbGF0ZS5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ3N0eWxlLnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFRlcm1pbmFsR3JvdXBDb21wb25lbnQge1xuICBDb25uZWN0aW9uU3RhdHVzID0gQ29ubmVjdGlvblN0YXR1cztcblxuICBwcml2YXRlIGhhc0FjdGl2YXRlZE1hcCA9IG5ldyBNYXA8bnVtYmVyLCBib29sZWFuPigpO1xuXG4gIEBWYWx1ZUhvb2soZnVuY3Rpb24gKHRoaXM6IFRlcm1pbmFsR3JvdXBDb21wb25lbnQsIGluZGV4OiBudW1iZXIpIHtcbiAgICB0aGlzLnRlcm1pbmFscz8uZ2V0KGluZGV4KT8uZm9jdXMoKTtcbiAgICBpZiAodGhpcy50ZXJtaW5hbHM/LmdldChpbmRleCkgJiYgIXRoaXMuaGFzQWN0aXZhdGVkTWFwLmdldChpbmRleCkpIHtcbiAgICAgIHRoaXMuaGFzQWN0aXZhdGVkTWFwLnNldChpbmRleCwgdHJ1ZSk7XG4gICAgICB0aGlzLnRlcm1pbmFscy5nZXQoaW5kZXgpPy5hY3RpdmF0ZVRlcm1pbmFsKCk7XG4gICAgfVxuICB9KVxuICBASW5wdXQoKVxuICBzZWxlY3RlZEluZGV4ID0gMDtcblxuICBASW5wdXQoKVxuICB0ZXJtaW5hbE9wdGlvbnM6IFRlcm1pbmFsT3B0aW9uW10gPSBbXTtcblxuICBAQ29udGVudENoaWxkKFRlcm1pbmFsRXh0cmFCdXR0b25EaXJlY3RpdmUpXG4gIHRlcm1pbmFsRXh0cmFCdXR0b246IFRlcm1pbmFsRXh0cmFCdXR0b25EaXJlY3RpdmU7XG5cbiAgQENvbnRlbnRDaGlsZChUZXJtaW5hbEV4dHJhQnV0dG9uRGlyZWN0aXZlLCB7XG4gICAgcmVhZDogVGVtcGxhdGVSZWYsXG4gIH0pXG4gIHRlcm1pbmFsRXh0cmFCdXR0b25SZWY6IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIEBDb250ZW50Q2hpbGQoVGVybWluYWxFeHRyYUNvbnRlbnREaXJlY3RpdmUsIHtcbiAgICByZWFkOiBUZW1wbGF0ZVJlZixcbiAgfSlcbiAgdGVybWluYWxFeHRyYUNvbnRlbnRSZWY6IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIEBPdXRwdXQoKVxuICByZWFkb25seSBzZWxlY3RlZEluZGV4Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHJlYWRvbmx5IHRlcm1pbmFsT3B0aW9uc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8VGVybWluYWxPcHRpb25bXT4oKTtcblxuICBAT3V0cHV0KClcbiAgcmVhZG9ubHkgc29ja2V0UmVhZHkgPSBuZXcgRXZlbnRFbWl0dGVyPHtcbiAgICBvcHRpb246IFRlcm1pbmFsT3B0aW9uO1xuICAgIHNvY2tldDogV2ViU29ja2V0O1xuICAgIGluZGV4OiBudW1iZXI7XG4gIH0+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHJlYWRvbmx5IGZhbGxiYWNrU2hlbGwgPSBuZXcgRXZlbnRFbWl0dGVyPHtcbiAgICBvcHRpb246IFRlcm1pbmFsT3B0aW9uO1xuICAgIHNoZWxsOiBzdHJpbmc7XG4gIH0+KCk7XG5cbiAgQFZpZXdDaGlsZHJlbihUZXJtaW5hbENvbXBvbmVudClcbiAgdGVybWluYWxzOiBRdWVyeUxpc3Q8VGVybWluYWxDb21wb25lbnQ+O1xuXG4gIHN0YXR1c01hcCA9IG5ldyBNYXA8VGVybWluYWxPcHRpb24sIENvbm5lY3Rpb25TdGF0dXM+KCk7XG5cbiAgcmVtb3ZlVGVybWluYWwoaW5kZXg6IG51bWJlcikge1xuICAgIHRoaXMudGVybWluYWxPcHRpb25zQ2hhbmdlLmVtaXQoW1xuICAgICAgLi4udGhpcy50ZXJtaW5hbE9wdGlvbnMuc2xpY2UoMCwgaW5kZXgpLFxuICAgICAgLi4udGhpcy50ZXJtaW5hbE9wdGlvbnMuc2xpY2UoaW5kZXggKyAxKSxcbiAgICBdKTtcbiAgfVxuXG4gIHRyYWNrQnlPcHRpb24oXzogbnVtYmVyLCBvcHRpb246IFRlcm1pbmFsT3B0aW9uKSB7XG4gICAgcmV0dXJuIG9wdGlvbjtcbiAgfVxuXG4gIGhhbmRsZUNvbm5lY3Rpb25TdGF0dXNDaGFuZ2UoXG4gICAgb3B0aW9uOiBUZXJtaW5hbE9wdGlvbixcbiAgICBzdGF0dXM6IENvbm5lY3Rpb25TdGF0dXMsXG4gICkge1xuICAgIHRoaXMuc3RhdHVzTWFwLnNldChvcHRpb24sIHN0YXR1cyk7XG4gIH1cblxuICByZWNvbm5lY3QoaW5kZXg6IG51bWJlcikge1xuICAgIHRoaXMudGVybWluYWxzLmdldChpbmRleCkucmVjb25uZWN0KCk7XG4gIH1cbn1cbiIsIjxhdWktdGFiLWdyb3VwXG4gICpuZ0lmPVwidGVybWluYWxPcHRpb25zPy5sZW5ndGhcIlxuICB0eXBlPVwiY2FyZFwiXG4gIFtsYXp5XT1cInRydWVcIlxuICBbc2VsZWN0ZWRJbmRleF09XCJzZWxlY3RlZEluZGV4XCJcbiAgKHNlbGVjdGVkSW5kZXhDaGFuZ2UpPVwic2VsZWN0ZWRJbmRleENoYW5nZS5lbWl0KCRldmVudClcIlxuPlxuICA8YXVpLXRhYlxuICAgICpuZ0Zvcj1cIlxuICAgICAgbGV0IG9wdGlvbiBvZiB0ZXJtaW5hbE9wdGlvbnM7XG4gICAgICBsZXQgaSA9IGluZGV4O1xuICAgICAgdHJhY2tCeTogdHJhY2tCeU9wdGlvblxuICAgIFwiXG4gICAgW2Nsb3NlYWJsZV09XCJ0cnVlXCJcbiAgICAoY2xvc2UpPVwicmVtb3ZlVGVybWluYWwoaSlcIlxuICA+XG4gICAgPGRpdlxuICAgICAgKmF1aVRhYkxhYmVsXG4gICAgICBjbGFzcz1cInR3LWZsZXhcIlxuICAgID5cbiAgICAgIDxhdWktaWNvblxuICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgIFtDb25uZWN0aW9uU3RhdHVzLkNvbm5lY3RpbmcsIENvbm5lY3Rpb25TdGF0dXMuUmVDb25uZWN0aW5nXS5pbmNsdWRlcyhcbiAgICAgICAgICAgIHN0YXR1c01hcC5nZXQob3B0aW9uKVxuICAgICAgICAgIClcbiAgICAgICAgXCJcbiAgICAgICAgY2xhc3M9XCJ0dy1tci00IHR3LWljb24tbCB0dy10ZXh0LXByaW1hcnlcIlxuICAgICAgICBpY29uPVwic3Bpbm5lclwiXG4gICAgICAgIFthdWlUb29sdGlwXT1cIidleGVjX2Nvbm5lY3RpbmcnIHwgdHJhbnNsYXRlXCJcbiAgICAgID48L2F1aS1pY29uPlxuICAgICAgPGF1aS1pY29uXG4gICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgW1xuICAgICAgICAgICAgQ29ubmVjdGlvblN0YXR1cy5EaXNjb25uZWN0ZWQsXG4gICAgICAgICAgICBDb25uZWN0aW9uU3RhdHVzLk5vUGVybWlzc2lvbixcbiAgICAgICAgICBdLmluY2x1ZGVzKHN0YXR1c01hcC5nZXQob3B0aW9uKSlcbiAgICAgICAgXCJcbiAgICAgICAgY2xhc3M9XCJ0dy1tci00IHR3LWljb24tbCB0dy10ZXh0LXJlZFwiXG4gICAgICAgIGljb249XCJleGNsYW1hdGlvbl90cmlhbmdsZV9zXCJcbiAgICAgICAgYmFja2dyb3VuZD1cInRyaWFuZ2xlXCJcbiAgICAgICAgW2F1aVRvb2x0aXBdPVwiZGlzY29ubmVjdGVkVGlwXCJcbiAgICAgICAgW2F1aVRvb2x0aXBDb250ZXh0XT1cInsgaW5kZXg6IGkgfVwiXG4gICAgICA+PC9hdWktaWNvbj5cbiAgICAgIDxhdWktaWNvblxuICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgIHN0YXR1c01hcC5nZXQob3B0aW9uKSA9PT0gQ29ubmVjdGlvblN0YXR1cy5Db25uZWN0ZWQgJiYgb3B0aW9uLmljb25cbiAgICAgICAgXCJcbiAgICAgICAgW2ljb25dPVwib3B0aW9uLmljb25cIlxuICAgICAgICBjbGFzcz1cInR3LW1yLTQgdHctaWNvbi1sXCJcbiAgICAgID48L2F1aS1pY29uPlxuICAgICAgPGFjbC10ZXh0LWVsbGlwc2lzXG4gICAgICAgIFt0ZXh0XT1cIm9wdGlvbi5sYWJlbCB8fCBvcHRpb24ucG9kXCJcbiAgICAgICAgW3RhaWxMZW5ndGhdPVwiNlwiXG4gICAgICA+PC9hY2wtdGV4dC1lbGxpcHNpcz5cbiAgICA8L2Rpdj5cbiAgICA8YWNsLXRlcm1pbmFsXG4gICAgICBbb3B0aW9uXT1cIm9wdGlvblwiXG4gICAgICBbaW5kZXhdPVwiaVwiXG4gICAgICBbZXh0cmFCdXR0b25dPVwiXG4gICAgICAgIHRlcm1pbmFsRXh0cmFCdXR0b24/LmVuYWJsZSA/IHRlcm1pbmFsRXh0cmFCdXR0b25SZWYgOiBudWxsXG4gICAgICBcIlxuICAgICAgW2V4dHJhQ29udGVudF09XCJ0ZXJtaW5hbEV4dHJhQ29udGVudFJlZlwiXG4gICAgICAoY29ubmVjdGlvblN0YXR1c0NoYW5nZSk9XCJoYW5kbGVDb25uZWN0aW9uU3RhdHVzQ2hhbmdlKG9wdGlvbiwgJGV2ZW50KVwiXG4gICAgICAoc29ja2V0UmVhZHkpPVwiXG4gICAgICAgIHNvY2tldFJlYWR5LmVtaXQoe1xuICAgICAgICAgIG9wdGlvbixcbiAgICAgICAgICBzb2NrZXQ6ICRldmVudCxcbiAgICAgICAgICBpbmRleDogaSxcbiAgICAgICAgfSlcbiAgICAgIFwiXG4gICAgICAoZmFsbGJhY2tTaGVsbCk9XCJcbiAgICAgICAgZmFsbGJhY2tTaGVsbC5lbWl0KHtcbiAgICAgICAgICBvcHRpb24sXG4gICAgICAgICAgc2hlbGw6ICRldmVudCxcbiAgICAgICAgfSlcbiAgICAgIFwiXG4gICAgPjwvYWNsLXRlcm1pbmFsPlxuICA8L2F1aS10YWI+XG48L2F1aS10YWItZ3JvdXA+XG5cbjxuZy10ZW1wbGF0ZVxuICAjZGlzY29ubmVjdGVkVGlwXG4gIGxldC1pPVwiaW5kZXhcIlxuPlxuICA8c3Bhbj57eyAnZXhlY19kaXNjb25uZWN0ZWRfdGlwJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgPGJ1dHRvblxuICAgIGF1aS1idXR0b249XCJ0ZXh0XCJcbiAgICBzaXplPVwibWluaVwiXG4gICAgKGNsaWNrKT1cInJlY29ubmVjdChpKVwiXG4gID5cbiAgICB7eyAncmVjb25uZWN0JyB8IHRyYW5zbGF0ZSB9fVxuICA8L2J1dHRvbj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -33,5 +33,5 @@ export class FeatureGateForbiddenComponent {
|
|
|
33
33
|
}], null, { featureName: [{
|
|
34
34
|
type: Input
|
|
35
35
|
}] }); })();
|
|
36
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FeatureGateForbiddenComponent, { className: "FeatureGateForbiddenComponent"
|
|
36
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FeatureGateForbiddenComponent, { className: "FeatureGateForbiddenComponent" }); })();
|
|
37
37
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2ZlYXR1cmUtZ2F0ZS1mb3JiaWRkZW4vY29tcG9uZW50L2NvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9mZWF0dXJlLWdhdGUtZm9yYmlkZGVuL2NvbXBvbmVudC90ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztJQ0t4RSw2QkFBcUM7SUFDbkMsaUNBR0M7SUFDQyxZQUNGOztJQUFBLGlCQUFTOzs7SUFIUCxjQUFvQjtJQUFwQix1REFBb0I7SUFFcEIsY0FDRjtJQURFLHdFQUNGOztBREpKLE1BQU0sT0FBTyw2QkFBNkI7OEZBQTdCLDZCQUE2QjtvRUFBN0IsNkJBQTZCO1lDUDFDLHlDQUlDOzs7WUFDQyxnR0FBcUM7WUFRdkMsaUJBQWlCOztZQVZmLEFBREEsQUFEQSwrQkFBaUIsc0RBQzBCLHlHQUNnQzs7O2lGREloRSw2QkFBNkI7Y0FMekMsU0FBUzsyQkFDRSw0QkFBNEIsbUJBRXJCLHVCQUF1QixDQUFDLE1BQU07Z0JBSS9DLFdBQVc7a0JBRFYsS0FBSzs7a0ZBREssNkJBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWNsLWZlYXR1cmUtZ2F0ZS1mb3JiaWRkZW4nLFxuICB0ZW1wbGF0ZVVybDogJ3RlbXBsYXRlLmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRmVhdHVyZUdhdGVGb3JiaWRkZW5Db21wb25lbnQge1xuICBASW5wdXQoKVxuICBmZWF0dXJlTmFtZTogc3RyaW5nO1xufVxuIiwiPGFjbC1wYWdlLWd1YXJkXG4gIFthbGxvd2VkXT1cImZhbHNlXCJcbiAgW3RpdGxlXT1cIidwYWdlX25vdF9hY2Nlc3NpYmxlJyB8IHRyYW5zbGF0ZVwiXG4gIFtkZXNjcmlwdGlvbl09XCInZmVhdHVyZV9ub3RfZW5hYmxlZCcgfCB0cmFuc2xhdGU6IHsgZmVhdHVyZTogZmVhdHVyZU5hbWUgfVwiXG4+XG4gIDxuZy1jb250YWluZXIgKmFjbFBhZ2VHdWFyZE9wZXJhdGlvbj5cbiAgICA8YnV0dG9uXG4gICAgICBhdWktYnV0dG9uPVwicHJpbWFyeVwiXG4gICAgICBbcm91dGVyTGlua109XCJbJy8nXVwiXG4gICAgPlxuICAgICAge3sgJ2JhY2tfdG9fcHJvZHVjdCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9uZy1jb250YWluZXI+XG48L2FjbC1wYWdlLWd1YXJkPlxuIl19
|
|
@@ -68,5 +68,5 @@ __decorate([
|
|
|
68
68
|
}], controlName$: [], ignoreUnknownError: [{
|
|
69
69
|
type: Input
|
|
70
70
|
}] }); })();
|
|
71
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ErrorsMapperComponent, { className: "ErrorsMapperComponent"
|
|
71
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ErrorsMapperComponent, { className: "ErrorsMapperComponent" }); })();
|
|
72
72
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2Zvcm0vZXJyb3JzLW1hcHBlci9lcnJvcnMtbWFwcGVyLWNvbXBvbmVudC9jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvZm9ybS9lcnJvcnMtbWFwcGVyL2Vycm9ycy1tYXBwZXItY29tcG9uZW50L3RlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEQsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxFQUNMLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsVUFBVSxFQUNWLGFBQWEsRUFDYixvQkFBb0IsRUFDcEIsR0FBRyxFQUNILFNBQVMsR0FDVixNQUFNLE1BQU0sQ0FBQztBQUVkLE9BQU8sRUFDTCxlQUFlLEVBRWYsVUFBVSxHQUNYLE1BQU0sMEJBQTBCLENBQUM7QUFDbEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7SUNwQnpELCtCQUdDO0lBQ0MsWUFDQTs7SUFBQSxrQkFBeUI7SUFDM0IsaUJBQU87OztJQUZMLGNBQ0E7SUFEQSwyRUFDQTs7QUQ0QkYsTUFBTSxPQUFPLHFCQUFzQixTQUFRLGdCQUFnQjtJQVYzRDs7UUFxQ0UsdUJBQWtCLEdBQUcsS0FBSyxDQUFDO1FBRWxCLGtCQUFhLEdBQUcsYUFBYSxDQUFDO1lBQ3JDLElBQUksQ0FBQyxPQUFPO1lBQ1osSUFBSSxDQUFDLGFBQWE7WUFDbEIsSUFBSSxDQUFDLGVBQWU7WUFDcEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3JDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTztTQUN2QixDQUFDLENBQUMsSUFBSSxDQUNMLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUNuRCxJQUFJLENBQUMsZUFBZSxDQUNsQixNQUFNLEVBQ04sWUFBWSxFQUNaLGNBQWMsRUFDZCxJQUFJLEVBQ0osSUFBSSxDQUFDLGtCQUFrQixDQUN4QixDQUNGLEVBQ0Qsb0JBQW9CLEVBQUUsRUFDdEIsVUFBVSxFQUFFLENBQ2IsQ0FBQztLQUNIO3dQQWhEWSxxQkFBcUIsU0FBckIscUJBQXFCO29FQUFyQixxQkFBcUI7O1lDakNsQyx3RUFHQzs7O1lBRkUsd0RBQXFCOzRCRDhCWixTQUFTLEVBQUUsSUFBSTs7QUFPaEI7SUFEUixlQUFlLEVBQUU7OEJBQ0MsVUFBVTtzREFBMEI7QUFNOUM7SUFEUixlQUFlLEVBQUU7OEJBQ08sVUFBVTs0REFBWTtBQU10QztJQURSLGVBQWUsRUFBRTs4QkFDUyxVQUFVOzhEQUFpQjtBQU83QztJQURSLGVBQWUsRUFBRTs4QkFDTSxVQUFVOzJEQUFTO2lGQXhCaEMscUJBQXFCO2NBVmpDLFNBQVM7MkJBQ0UsbUJBQW1CLG1CQUdaLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksdUJBQ2hCLEtBQUssY0FDZCxJQUFJLFdBQ1AsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDO2dCQUkxQixNQUFNO2tCQURMLEtBQUs7WUFJRyxPQUFPLE1BR2hCLFlBQVk7a0JBRFgsS0FBSztZQUlHLGFBQWEsTUFHdEIsY0FBYztrQkFEYixLQUFLO1lBSUcsZUFBZSxNQUl4QixXQUFXO2tCQURWLEtBQUs7WUFJRyxZQUFZLE1BR3JCLGtCQUFrQjtrQkFEakIsS0FBSzs7a0ZBMUJLLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFzeW5jUGlwZSwgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgT2JzZXJ2YWJsZSxcbiAgY29tYmluZUxhdGVzdCxcbiAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG4gIG1hcCxcbiAgc3RhcnRXaXRoLFxufSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtcbiAgT2JzZXJ2YWJsZUlucHV0LFxuICBTdHJpbmdNYXAsXG4gIHB1Ymxpc2hSZWYsXG59IGZyb20gJy4uLy4uLy4uL2NvcmUvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBCYXNlRXJyb3JzTWFwcGVyIH0gZnJvbSAnLi4vYmFzZS1lcnJvcnMtbWFwcGVyJztcbmltcG9ydCB7IEVycm9yc01hcHBlckZuIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhY2wtZXJyb3JzLW1hcHBlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi90ZW1wbGF0ZS5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc3R5bGUuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtBc3luY1BpcGUsIE5nSWZdLFxufSlcbmV4cG9ydCBjbGFzcyBFcnJvcnNNYXBwZXJDb21wb25lbnQgZXh0ZW5kcyBCYXNlRXJyb3JzTWFwcGVyIHtcbiAgQElucHV0KClcbiAgZXJyb3JzOiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPjtcblxuICBAT2JzZXJ2YWJsZUlucHV0KClcbiAgcmVhZG9ubHkgZXJyb3JzJCE6IE9ic2VydmFibGU8UmVjb3JkPHN0cmluZywgYm9vbGVhbj4+O1xuXG4gIEBJbnB1dCgpXG4gIGVycm9yc01hcHBlcjogU3RyaW5nTWFwO1xuXG4gIEBPYnNlcnZhYmxlSW5wdXQoKVxuICByZWFkb25seSBlcnJvcnNNYXBwZXIkITogT2JzZXJ2YWJsZTxTdHJpbmdNYXA+O1xuXG4gIEBJbnB1dCgpXG4gIGVycm9yc01hcHBlckZuOiBFcnJvcnNNYXBwZXJGbjtcblxuICBAT2JzZXJ2YWJsZUlucHV0KClcbiAgcmVhZG9ubHkgZXJyb3JzTWFwcGVyRm4kITogT2JzZXJ2YWJsZTxFcnJvcnNNYXBwZXJGbj47XG5cbiAgLy8gdXNlZCB0byBhZGQgbmFtZSBwcmVmaXggZm9yIG1vc3QgdmFsaWRhdGlvbiB0ZXh0XG4gIEBJbnB1dCgpXG4gIGNvbnRyb2xOYW1lOiBzdHJpbmc7XG5cbiAgQE9ic2VydmFibGVJbnB1dCgpXG4gIHJlYWRvbmx5IGNvbnRyb2xOYW1lJCE6IE9ic2VydmFibGU8c3RyaW5nPjtcblxuICBASW5wdXQoKVxuICBpZ25vcmVVbmtub3duRXJyb3IgPSBmYWxzZTtcblxuICByZWFkb25seSBlcnJvck1lc3NhZ2UkID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy5lcnJvcnMkLFxuICAgIHRoaXMuZXJyb3JzTWFwcGVyJCxcbiAgICB0aGlzLmVycm9yc01hcHBlckZuJCxcbiAgICB0aGlzLmNvbnRyb2xOYW1lJC5waXBlKHN0YXJ0V2l0aCgnJykpLFxuICAgIHRoaXMudHJhbnNsYXRlLmxvY2FsZSQsXG4gIF0pLnBpcGUoXG4gICAgbWFwKChbZXJyb3JzLCBlcnJvcnNNYXBwZXIsIGVycm9yc01hcHBlckZuLCBuYW1lXSkgPT5cbiAgICAgIHRoaXMuZ2V0RXJyb3JNZXNzYWdlKFxuICAgICAgICBlcnJvcnMsXG4gICAgICAgIGVycm9yc01hcHBlcixcbiAgICAgICAgZXJyb3JzTWFwcGVyRm4sXG4gICAgICAgIG5hbWUsXG4gICAgICAgIHRoaXMuaWdub3JlVW5rbm93bkVycm9yLFxuICAgICAgKSxcbiAgICApLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgcHVibGlzaFJlZigpLFxuICApO1xufVxuIiwiPHNwYW5cbiAgKm5nSWY9XCJlcnJvcnMkIHwgYXN5bmNcIlxuICBjbGFzcz1cImFjbC1lcnJvci1oaW50XCJcbj5cbiAge3sgZXJyb3JNZXNzYWdlJCB8IGFzeW5jIH19XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvc3Bhbj5cbiJdfQ==
|
|
@@ -112,5 +112,5 @@ class TextComponent {
|
|
|
112
112
|
standalone: true,
|
|
113
113
|
}]
|
|
114
114
|
}], () => [{ type: i0.ChangeDetectorRef }], null); })();
|
|
115
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TextComponent, { className: "TextComponent"
|
|
115
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TextComponent, { className: "TextComponent" }); })();
|
|
116
116
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLW1hcHBlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvZm9ybS9lcnJvcnMtbWFwcGVyL2Vycm9ycy1tYXBwZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBVSxNQUFNLHFCQUFxQixDQUFDO0FBQy9FLE9BQU8sRUFFTCxjQUFjLEVBQ2QsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1Qsd0JBQXdCLEVBQ3hCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsS0FBSyxFQUVMLFFBQVEsRUFDUixJQUFJLEdBQ0wsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RSxPQUFPLEVBQ0wsVUFBVSxFQUNWLE9BQU8sRUFDUCxLQUFLLEVBQ0wsRUFBRSxFQUNGLFlBQVksRUFDWixHQUFHLEVBQ0gsU0FBUyxFQUNULFNBQVMsR0FDVixNQUFNLE1BQU0sQ0FBQztBQUVkLE9BQU8sRUFBYSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVuRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBT3hELE1BQU0sT0FBTyxxQkFDWCxTQUFRLGdCQUFnQjtJQWdDeEIsWUFDUyxRQUFrQixFQUNSLEdBQXNCO0lBQ3ZDLDZDQUE2QztJQUM1QixHQUE2QixFQUM3QixNQUFzQixFQUNkLE9BQWtCLEVBQ2QsTUFBYyxFQUUxQixTQUE2QjtRQUU5QyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFWVCxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ1IsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFFdEIsUUFBRyxHQUFILEdBQUcsQ0FBMEI7UUFDN0IsV0FBTSxHQUFOLE1B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RUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDNUIsQ0FBQztzRkFuSFUscUJBQXFCO29FQUFyQixxQkFBcUI7O0FBaUJoQztJQURDLGVBQWUsRUFBRTs4QkFDUSxVQUFVO3VFQUFVO2lGQWpCbkMscUJBQXFCO2NBSmpDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsbUJBQW1CO2dCQUM3QixVQUFVLEVBQUUsSUFBSTthQUNqQjs7c0JBd0NJLElBQUk7O3NCQUNKLFFBQVE7O3NCQUNSLFFBQVE7cUJBcENYLGVBQWU7a0JBRGQsS0FBSztZQUlOLGlCQUFpQjtrQkFEaEIsS0FBSztZQUlOLHVCQUF1QjtrQkFEdEIsS0FBSztZQU9OLHdCQUF3QixNQU14QixxQkFBcUI7a0JBRHBCLEtBQUs7WUFJTiwwQkFBMEI7a0JBRHpCLEtBQUs7O0FBNkZSLE1BS00sYUFBYTtJQUVqQixZQUFtQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtJQUFHLENBQUM7OEVBRnpDLGFBQWE7b0VBQWIsYUFBYTtZQUpMLFlBQVc7O1lBQVgseUNBQVc7OztpRkFJbkIsYUFBYTtjQUxsQixTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLGNBQWM7Z0JBQ3hCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2dCQUMvQyxVQUFVLEVBQUUsSUFBSTthQUNqQjs7a0ZBQ0ssYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudFBvcnRhbCwgRG9tUG9ydGFsT3V0bGV0LCBQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIEFwcGxpY2F0aW9uUmVmLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICBEaXJlY3RpdmUsXG4gIEluamVjdG9yLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPcHRpb25hbCxcbiAgU2VsZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXBEaXJlY3RpdmUsIE5nQ29udHJvbCwgTmdGb3JtIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgT2JzZXJ2YWJsZSxcbiAgU3ViamVjdCxcbiAgbWVyZ2UsXG4gIG9mLFxuICBkZWJvdW5jZVRpbWUsXG4gIG1hcCxcbiAgc3dpdGNoTWFwLFxuICB0YWtlVW50aWwsXG59IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBTdHJpbmdNYXAsIE9ic2VydmFibGVJbnB1dCB9IGZyb20gJy4uLy4uL2NvcmUvcHVibGljLWFwaSc7XG5cbmltcG9ydCB7IEJhc2VFcnJvcnNNYXBwZXIgfSBmcm9tICcuL2Jhc2UtZXJyb3JzLW1hcHBlcic7XG5pbXBvcnQgeyBFcnJvcnNNYXBwZXJGbiB9IGZyb20gJy4vdHlwZXMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYWNsRXJyb3JzTWFwcGVyXScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEVycm9yc01hcHBlckRpcmVjdGl2ZVxuICBleHRlbmRzIEJhc2VFcnJvcnNNYXBwZXJcbiAgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3lcbntcbiAgQElucHV0KClcbiAgYWNsRXJyb3JzTWFwcGVyOiBTdHJpbmdNYXAgfCAnJztcblxuICBASW5wdXQoKVxuICBhY2xFcnJvcnNNYXBwZXJGbjogRXJyb3JzTWFwcGVyRm47XG5cbiAgQElucHV0KClcbiAgYWNsRXJyb3JzTWFwcGVyRGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIGRpc2FibGUgZXJyb3JzIG1hcHBlclxuICAgKi9cbiAgQE9ic2VydmFibGVJbnB1dCgpXG4gIGFjbEVycm9yc01hcHBlckRpc2FibGVkJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcblxuICAvKipcbiAgICogc3BlY2lmeSBvdXRsZXQsIGNvbnNpZGVyIHRoaXMgb3RoZXIgdGhhbiBzcGVjaWZpYyBjb250cm9sIGVudGl0eSB0byBtYWtlIHN1cmUgZGkgY2FuIGFsd2F5cyBnZXQgbmdGb3JtXG4gICAqL1xuICBASW5wdXQoKVxuICBhY2xFcnJvcnNNYXBwZXJPdXRsZXQ6IEVsZW1lbnQ7XG5cbiAgQElucHV0KClcbiAgYWNsRXJyb3JzTWFwcGVyQ29udHJvbE5hbWU6IHN0cmluZztcblxuICBwcml2YXRlIHBvcnRhbDogUG9ydGFsPGFueT47XG4gIHByaXZhdGUgcG9ydGFsSG9zdDogRG9tUG9ydGFsT3V0bGV0O1xuICBwcml2YXRlIHBvcnRhbEF0dGFjaDogVGV4dENvbXBvbmVudDtcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHNvbmFyL2RlcHJlY2F0aW9uXG4gICAgcHJpdmF0ZSByZWFkb25seSBjZnI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFwcFJlZjogQXBwbGljYXRpb25SZWYsXG4gICAgQFNlbGYoKSBwcml2YXRlIHJlYWRvbmx5IGNvbnRyb2w6IE5nQ29udHJvbCxcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIHJlYWRvbmx5IG5nRm9ybTogTmdGb3JtLFxuICAgIEBPcHRpb25hbCgpXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb3JtR3JvdXA6IEZvcm1Hcm91cERpcmVjdGl2ZSxcbiAgKSB7XG4gICAgc3VwZXIoaW5qZWN0b3IpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGlmICghdGhpcy5jb250cm9sKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdFcnJvcnMgbWFwcGVyIGlzIG5vdCBwcm9wZXJseSBjb25maWd1cmVkLiBObyB2YWxpZCBjb250cm9sIGlzIGZvdW5kLicsXG4gICAgICApO1xuICAgIH1cbiAgICB0aGlzLmluaXRQb3J0YWwoKTtcbiAgICBjb25zdCBzdGF0dXNDaGFuZ2UgPSBbdGhpcy5jb250cm9sLnN0YXR1c0NoYW5nZXNdO1xuXG4gICAgaWYgKHRoaXMubmdGb3JtKSB7XG4gICAgICBzdGF0dXNDaGFuZ2UucHVzaCh0aGlzLm5nRm9ybS5uZ1N1Ym1pdCk7XG4gICAgfVxuICAgIGlmICh0aGlzLmZvcm1Hcm91cCkge1xuICAgICAgc3RhdHVzQ2hhbmdlLnB1c2godGhpcy5mb3JtR3JvdXAubmdTdWJtaXQpO1xuICAgIH1cblxuICAgIHRoaXMuYWNsRXJyb3JzTWFwcGVyRGlzYWJsZWQkXG4gICAgICAucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKGlzRGlzYWJsZSA9PlxuICAgICAgICAgIGlzRGlzYWJsZVxuICAgICAgICAgICAgPyBvZihudWxsKVxuICAgICAgICAgICAgOiBtZXJnZSguLi5zdGF0dXNDaGFuZ2UsIHRoaXMudHJhbnNsYXRlLmxvY2FsZSQpLnBpcGUoXG4gICAgICAgICAgICAgICAgZGVib3VuY2VUaW1lKDUwKSxcbiAgICAgICAgICAgICAgICBtYXAoKCkgPT5cbiAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0RXJyb3JNZXNzYWdlKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRyb2wuZXJyb3JzLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmFjbEVycm9yc01hcHBlciB8fCB7fSxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hY2xFcnJvcnNNYXBwZXJGbixcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hY2xFcnJvcnNNYXBwZXJDb250cm9sTmFtZSxcbiAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShjb250ZW50ID0+IHtcbiAgICAgICAgdGhpcy51cGRhdGVDb250ZW50KGNvbnRlbnQpO1xuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgdXBkYXRlQ29udGVudChjb250ZW50OiBzdHJpbmcpIHtcbiAgICBpZiAoIWNvbnRlbnQpIHtcbiAgICAgIGlmICh0aGlzLnBvcnRhbEhvc3QuaGFzQXR0YWNoZWQoKSkge1xuICAgICAgICB0aGlzLnBvcnRhbEhvc3QuZGV0YWNoKCk7XG4gICAgICB9XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICghdGhpcy5wb3J0YWxIb3N0Lmhhc0F0dGFjaGVkKCkpIHtcbiAgICAgIHRoaXMucG9ydGFsQXR0YWNoID0gdGhpcy5wb3J0YWxIb3N0LmF0dGFjaCh0aGlzLnBvcnRhbCkuaW5zdGFuY2U7XG4gICAgfVxuICAgIHRoaXMucG9ydGFsQXR0YWNoLmRhdGEgPSBjb250ZW50O1xuICAgIHRoaXMucG9ydGFsQXR0YWNoLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIGluaXRQb3J0YWwoKSB7XG4gICAgdGhpcy5wb3J0YWxIb3N0ID0gbmV3IERvbVBvcnRhbE91dGxldChcbiAgICAgIHRoaXMuYWNsRXJyb3JzTWFwcGVyT3V0bGV0LFxuICAgICAgdGhpcy5jZnIsXG4gICAgICB0aGlzLmFwcFJlZixcbiAgICAgIHRoaXMuaW5qZWN0b3IsXG4gICAgKTtcbiAgICB0aGlzLnBvcnRhbCA9IG5ldyBDb21wb25lbnRQb3J0YWwoVGV4dENvbXBvbmVudCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLnBvcnRhbEhvc3QuZGlzcG9zZSgpO1xuICB9XG59XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZTogYCB7eyBkYXRhIH19IGAsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmNsYXNzIFRleHRDb21wb25lbnQge1xuICBkYXRhOiBzdHJpbmc7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxufVxuIl19
|
|
@@ -235,5 +235,5 @@ export class LabelsEditorComponent extends createNestedFormControl() {
|
|
|
235
235
|
},
|
|
236
236
|
], template: "<table\n class=\"acl-array-form-table mp-sticky-table-header mp-sticky-table-actions\"\n [class.submitted]=\"submitted\"\n>\n <thead>\n <tr>\n <th\n required\n width=\"50%\"\n >\n <span>{{ 'key' | translate }}</span>\n </th>\n <th width=\"50%\">{{ 'value' | translate }}</th>\n <th style=\"min-width: 44px\"></th>\n </tr>\n </thead>\n <tbody>\n <tr\n *ngFor=\"let label of model; let index = index\"\n [class.duplicated]=\"duplicatedRows[index]\"\n >\n <td>\n <input\n aui-input\n size=\"small\"\n name=\"key\"\n #key=\"ngModel\"\n [ngModel]=\"label.key\"\n (ngModelChange)=\"editLabel(index, 'key', $event)\"\n required\n [aclValidateFn]=\"validateLabelKey | calc: duplicatedRows:index\"\n />\n <acl-errors-mapper\n *ngIf=\"submitted || key.dirty\"\n [errors]=\"key.errors\"\n [errorsMapper]=\"{\n duplicated:\n 'label_key_already_exists'\n | translate: { key: key.errors?.duplicated }\n }\"\n ></acl-errors-mapper>\n </td>\n <td>\n <input\n aui-input\n size=\"small\"\n name=\"value\"\n #value=\"ngModel\"\n [ngModel]=\"label.value\"\n (ngModelChange)=\"editLabel(index, 'value', $event)\"\n aclMaxlength=\"63\"\n [pattern]=\"K8S_RESOURCE_LABEL_VALUE_PATTERN.pattern\"\n />\n <acl-errors-mapper\n *ngIf=\"submitted || value.dirty\"\n [errors]=\"value.errors\"\n ></acl-errors-mapper>\n </td>\n <td class=\"acl-array-form-table__action-col\">\n <button\n aui-button=\"text\"\n size=\"small\"\n type=\"button\"\n [square]=\"true\"\n [plain]=\"true\"\n (click)=\"removeLabel(index)\"\n >\n <aui-icon icon=\"minus_circle\"></aui-icon>\n </button>\n </td>\n </tr>\n <tr *ngIf=\"!model?.length\">\n <td colspan=\"100\">\n <div class=\"placeholder\">{{ 'no_label' | translate }}</div>\n </td>\n </tr>\n <tr class=\"acl-array-form-table--row-action\">\n <td colspan=\"100\">\n <div class=\"acl-array-form-table__bottom-control-buttons\">\n <button\n aui-button=\"primary\"\n [plain]=\"true\"\n size=\"mini\"\n type=\"button\"\n (click)=\"addLabel()\"\n [disabled]=\"model?.length >= 50\"\n >\n <aui-icon icon=\"plus_circle\"></aui-icon>\n <span>\n {{ 'add' | translate }}\n </span>\n </button>\n </div>\n </td>\n </tr>\n </tbody>\n</table>\n", styles: [":host::ng-deep{display:block;width:100%}:host::ng-deep .acl-array-form-table tbody td{vertical-align:top;line-height:var(--aui-inline-height-s)}:host::ng-deep .acl-array-form-table tbody tr .placeholder{text-align:center;color:rgb(var(--aui-color-help-text))}:host::ng-deep .acl-array-form-table tbody tr.duplicated{background-color:rgb(var(--aui-color-r-7))}\n"] }]
|
|
237
237
|
}], null, null); })();
|
|
238
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LabelsEditorComponent, { className: "LabelsEditorComponent"
|
|
238
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LabelsEditorComponent, { className: "LabelsEditorComponent" }); })();
|
|
239
239
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2Zvcm0vbGFiZWxzLWVkaXRvci9jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvZm9ybS9sYWJlbHMtZWRpdG9yL3RlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBRUwsV0FBVyxFQUNYLGFBQWEsRUFDYixpQkFBaUIsR0FDbEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBRWxDLE9BQU8sRUFDTCxRQUFRLEVBQ1IsbUNBQW1DLEVBQ25DLHFDQUFxQyxFQUNyQyxnQ0FBZ0MsRUFDaEMsUUFBUSxFQUNSLHVCQUF1QixHQUN4QixNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7SUNVcEQsd0NBUXFCOzs7OztJQUxuQixBQURBLHNDQUFxQixtTEFLbkI7OztJQWNKLHdDQUdxQjs7OztJQURuQix3Q0FBdUI7Ozs7SUFqQ3pCLEFBREYsQUFKRiwwQkFHQyxTQUNLLG1CQVVB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QUNFLE9BQU8sRUFBRSxhQUFhO3dCQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxzQkFBc0IsQ0FBQzt3QkFDcEQsS0FBSyxFQUFFLElBQUk7cUJBQ1o7aUJBQ0Y7O2tGQUVVLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJ1dHRvbk1vZHVsZSwgSWNvbk1vZHVsZSwgSW5wdXRNb2R1bGUgfSBmcm9tICdAYWxhdWRhL3VpJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBYnN0cmFjdENvbnRyb2wsXG4gIEZvcm1zTW9kdWxlLFxuICBOR19WQUxJREFUT1JTLFxuICBOR19WQUxVRV9BQ0NFU1NPUixcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgbWVyZ2VMZWZ0IH0gZnJvbSAncmFtZGEnO1xuXG5pbXBvcnQge1xuICBDYWxjUGlwZSxcbiAgSzhTX1JFU09VUkNFX0xBQkVMX0tFWV9OQU1FX1BBVFRFUk4sXG4gIEs4U19SRVNPVVJDRV9MQUJFTF9LRVlfUFJFRklYX1BBVFRFUk4sXG4gIEs4U19SRVNPVVJDRV9MQUJFTF9WQUxVRV9QQVRURVJOLFxuICBQdXJlUGlwZSxcbiAgY3JlYXRlTmVzdGVkRm9ybUNvbnRyb2wsXG59IGZyb20gJy4uLy4uL2NvcmUvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBFZmZlY3REaXJlY3RpdmVNb2R1bGUgfSBmcm9tICcuLi8uLi9lZmZlY3QtZGlyZWN0aXZlL21vZHVsZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICcuLi8uLi90cmFuc2xhdGUvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBFcnJvcnNNYXBwZXJNb2R1bGUgfSBmcm9tICcuLi9lcnJvcnMtbWFwcGVyL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgVmFsaWRhdG9yc01vZHVsZSB9IGZyb20gJy4uL3ZhbGlkYXRvcnMvcHVibGljLWFwaSc7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ2FjbC1sYWJlbHMtZWRpdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RlbXBsYXRlLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zdHlsZS5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBJbnB1dE1vZHVsZSxcbiAgICBWYWxpZGF0b3JzTW9kdWxlLFxuICAgIEVycm9yc01hcHBlck1vZHVsZSxcbiAgICBJY29uTW9kdWxlLFxuICAgIEJ1dHRvbk1vZHVsZSxcbiAgICBQdXJlUGlwZSxcbiAgICBDYWxjUGlwZSxcbiAgICBFZmZlY3REaXJlY3RpdmVNb2R1bGUsXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTGFiZWxzRWRpdG9yQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IExhYmVsc0VkaXRvckNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBMYWJlbHNFZGl0b3JDb21wb25lbnQgZXh0ZW5kcyBjcmVhdGVOZXN0ZWRGb3JtQ29udHJvbDxcbiAgUmVjb3JkPHN0cmluZywgc3RyaW5nPixcbiAgUGFpcltdXG4+KCkge1xuICBLOFNfUkVTT1VSQ0VfTEFCRUxfVkFMVUVfUEFUVEVSTiA9IEs4U19SRVNPVVJDRV9MQUJFTF9WQUxVRV9QQVRURVJOO1xuICBkdXBsaWNhdGVkUm93czogUmVjb3JkPG51bWJlciwgYm9vbGVhbj4gPSB7fTtcblxuICBhZGRMYWJlbCgpIHtcbiAgICB0aGlzLm1vZGVsLnB1c2goeyBrZXk6ICcnLCB2YWx1ZTogJycgfSk7XG4gIH1cblxuICBlZGl0TGFiZWwoaW5kZXg6IG51bWJlciwga2V5OiBrZXlvZiBQYWlyLCB2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5tb2RlbFtpbmRleF1ba2V5XSA9IHZhbHVlO1xuICAgIHRoaXMuZW1pdE1vZGVsKCk7XG4gIH1cblxuICByZW1vdmVMYWJlbChpbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy5tb2RlbC5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIHRoaXMuZW1pdE1vZGVsKCk7XG4gIH1cblxuICB2YWxpZGF0ZUxhYmVsS2V5ID1cbiAgICAoZHVwbGljYXRlZFJvd3M6IFJlY29yZDxudW1iZXIsIGJvb2xlYW4+LCBpbmRleDogbnVtYmVyKSA9PlxuICAgIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpID0+XG4gICAgICBtZXJnZUxlZnQoXG4gICAgICAgIHRoaXMua2V5RHVwbGljYXRlZChkdXBsaWNhdGVkUm93cywgaW5kZXgpKGNvbnRyb2wpLFxuICAgICAgICB0aGlzLmtleVBhdHRlcm4oY29udHJvbCksXG4gICAgICApO1xuXG4gIG92ZXJyaWRlIHdyaXRlVmFsdWUodmFsdWU6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4pOiB2b2lkIHtcbiAgICBzdXBlci53cml0ZVZhbHVlKHZhbHVlKTtcblxuICAgIHRoaXMuY2hlY2tEdXBsaWNhdGVkUm93cygpO1xuICB9XG5cbiAgb3ZlcnJpZGUgZW1pdFZhbHVlKHZhbHVlOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KTogdm9pZCB7XG4gICAgc3VwZXIuZW1pdFZhbHVlKHZhbHVlKTtcblxuICAgIHRoaXMuY2hlY2tEdXBsaWNhdGVkUm93cygpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHZhbHVlSW4odmFsdWU6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4pOiBQYWlyW10ge1xuICAgIHJldHVybiBPYmplY3QuZW50cmllcyh2YWx1ZSA/PyB7fSkubWFwKChba2V5LCB2YWx1ZV0pID0+ICh7XG4gICAgICBrZXksXG4gICAgICB2YWx1ZSxcbiAgICB9KSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgbW9kZWxPdXQobW9kZWw6IFBhaXJbXSk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4ge1xuICAgIHJldHVybiBtb2RlbC5yZWR1Y2UoKGFjYywgeyBrZXksIHZhbHVlIH0pID0+IHtcbiAgICAgIGNvbnN0IGsgPSBrZXkudHJpbSgpO1xuICAgICAgaWYgKGspIHtcbiAgICAgICAgYWNjW2tdID0gdmFsdWUudHJpbSgpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGFjYztcbiAgICB9LCB7fSBhcyBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KTtcbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tEdXBsaWNhdGVkUm93cygpIHtcbiAgICB0aGlzLmR1cGxpY2F0ZWRSb3dzID0gKHRoaXMubW9kZWwgPz8gW10pLnJlZHVjZShcbiAgICAgIChhY2MsIHsga2V5IH0sIGluZGV4LCBsYWJlbHMpID0+IHtcbiAgICAgICAgaWYgKCFrZXkpIHtcbiAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9yIChjb25zdCBbaSwgbGFiZWxdIG9mIGxhYmVscy5lbnRyaWVzKCkpIHtcbiAgICAgICAgICBpZiAoaSAhPT0gaW5kZXggJiYgbGFiZWwua2V5ID09PSBrZXkpIHtcbiAgICAgICAgICAgIGFjY1tpbmRleF0gPSB0cnVlO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhY2M7XG4gICAgICB9LFxuICAgICAge30gYXMgUmVjb3JkPG51bWJlciwgYm9vbGVhbj4sXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUga2V5UGF0dGVybihjb250cm9sOiBBYnN0cmFjdENvbnRyb2w8c3RyaW5nPikge1xuICAgIGlmICghY29udHJvbC52YWx1ZSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGNvbnN0IFtuYW1lLCBwcmVmaXggPSAnJ10gPSBjb250cm9sLnZhbHVlLnNwbGl0KCcvJykucmV2ZXJzZSgpO1xuICAgIGlmIChcbiAgICAgIG5hbWUubGVuZ3RoID4gNjMgfHxcbiAgICAgIEs4U19SRVNPVVJDRV9MQUJFTF9LRVlfTkFNRV9QQVRURVJOLnBhdHRlcm4udGVzdChuYW1lKSA9PT0gZmFsc2VcbiAgICApIHtcbiAgICAgIHJldHVybiB7IHBhdHRlcm46IHRydWUgfTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICAhIXByZWZpeCAmJlxuICAgICAgKHByZWZpeC5sZW5ndGggPiAyNTMgfHxcbiAgICAgICAgSzhTX1JFU09VUkNFX0xBQkVMX0tFWV9QUkVGSVhfUEFUVEVSTi5wYXR0ZXJuLnRlc3QocHJlZml4KSA9PT0gZmFsc2UpXG4gICAgKSB7XG4gICAgICByZXR1cm4geyBwYXR0ZXJuOiB0cnVlIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBwcml2YXRlIGtleUR1cGxpY2F0ZWQoXG4gICAgZHVwbGljYXRlZFJvd3M6IFJlY29yZDxudW1iZXIsIGJvb2xlYW4+LFxuICAgIGluZGV4OiBudW1iZXIsXG4gICkge1xuICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKSA9PiB7XG4gICAgICBjb25zdCBrZXkgPSBjb250cm9sLnZhbHVlO1xuICAgICAgaWYgKGR1cGxpY2F0ZWRSb3dzW2luZGV4XSkge1xuICAgICAgICByZXR1cm4geyBkdXBsaWNhdGVkOiBrZXkgfTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH07XG4gIH1cbn1cblxuaW50ZXJmYWNlIFBhaXIge1xuICBrZXk6IHN0cmluZztcbiAgdmFsdWU6IHN0cmluZztcbn1cbiIsIjx0YWJsZVxuICBjbGFzcz1cImFjbC1hcnJheS1mb3JtLXRhYmxlIG1wLXN0aWNreS10YWJsZS1oZWFkZXIgbXAtc3RpY2t5LXRhYmxlLWFjdGlvbnNcIlxuICBbY2xhc3Muc3VibWl0dGVkXT1cInN1Ym1pdHRlZFwiXG4+XG4gIDx0aGVhZD5cbiAgICA8dHI+XG4gICAgICA8dGhcbiAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgd2lkdGg9XCI1MCVcIlxuICAgICAgPlxuICAgICAgICA8c3Bhbj57eyAna2V5JyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgIDwvdGg+XG4gICAgICA8dGggd2lkdGg9XCI1MCVcIj57eyAndmFsdWUnIHwgdHJhbnNsYXRlIH19PC90aD5cbiAgICAgIDx0aCBzdHlsZT1cIm1pbi13aWR0aDogNDRweFwiPjwvdGg+XG4gICAgPC90cj5cbiAgPC90aGVhZD5cbiAgPHRib2R5PlxuICAgIDx0clxuICAgICAgKm5nRm9yPVwibGV0IGxhYmVsIG9mIG1vZGVsOyBsZXQgaW5kZXggPSBpbmRleFwiXG4gICAgICBbY2xhc3MuZHVwbGljYXRlZF09XCJkdXBsaWNhdGVkUm93c1tpbmRleF1cIlxuICAgID5cbiAgICAgIDx0ZD5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgYXVpLWlucHV0XG4gICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICBuYW1lPVwia2V5XCJcbiAgICAgICAgICAja2V5PVwibmdNb2RlbFwiXG4gICAgICAgICAgW25nTW9kZWxdPVwibGFiZWwua2V5XCJcbiAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJlZGl0TGFiZWwoaW5kZXgsICdrZXknLCAkZXZlbnQpXCJcbiAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgIFthY2xWYWxpZGF0ZUZuXT1cInZhbGlkYXRlTGFiZWxLZXkgfCBjYWxjOiBkdXBsaWNhdGVkUm93czppbmRleFwiXG4gICAgICAgIC8+XG4gICAgICAgIDxhY2wtZXJyb3JzLW1hcHBlclxuICAgICAgICAgICpuZ0lmPVwic3VibWl0dGVkIHx8IGtleS5kaXJ0eVwiXG4gICAgICAgICAgW2Vycm9yc109XCJrZXkuZXJyb3JzXCJcbiAgICAgICAgICBbZXJyb3JzTWFwcGVyXT1cIntcbiAgICAgICAgICAgIGR1cGxpY2F0ZWQ6XG4gICAgICAgICAgICAgICdsYWJlbF9rZXlfYWxyZWFkeV9leGlzdHMnXG4gICAgICAgICAgICAgIHwgdHJhbnNsYXRlOiB7IGtleToga2V5LmVycm9ycz8uZHVwbGljYXRlZCB9XG4gICAgICAgICAgfVwiXG4gICAgICAgID48L2FjbC1lcnJvcnMtbWFwcGVyPlxuICAgICAgPC90ZD5cbiAgICAgIDx0ZD5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgYXVpLWlucHV0XG4gICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICBuYW1lPVwidmFsdWVcIlxuICAgICAgICAgICN2YWx1ZT1cIm5nTW9kZWxcIlxuICAgICAgICAgIFtuZ01vZGVsXT1cImxhYmVsLnZhbHVlXCJcbiAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJlZGl0TGFiZWwoaW5kZXgsICd2YWx1ZScsICRldmVudClcIlxuICAgICAgICAgIGFjbE1heGxlbmd0aD1cIjYzXCJcbiAgICAgICAgICBbcGF0dGVybl09XCJLOFNfUkVTT1VSQ0VfTEFCRUxfVkFMVUVfUEFUVEVSTi5wYXR0ZXJuXCJcbiAgICAgICAgLz5cbiAgICAgICAgPGFjbC1lcnJvcnMtbWFwcGVyXG4gICAgICAgICAgKm5nSWY9XCJzdWJtaXR0ZWQgfHwgdmFsdWUuZGlydHlcIlxuICAgICAgICAgIFtlcnJvcnNdPVwidmFsdWUuZXJyb3JzXCJcbiAgICAgICAgPjwvYWNsLWVycm9ycy1tYXBwZXI+XG4gICAgICA8L3RkPlxuICAgICAgPHRkIGNsYXNzPVwiYWNsLWFycmF5LWZvcm0tdGFibGVfX2FjdGlvbi1jb2xcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIGF1aS1idXR0b249XCJ0ZXh0XCJcbiAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIFtzcXVhcmVdPVwidHJ1ZVwiXG4gICAgICAgICAgW3BsYWluXT1cInRydWVcIlxuICAgICAgICAgIChjbGljayk9XCJyZW1vdmVMYWJlbChpbmRleClcIlxuICAgICAgICA+XG4gICAgICAgICAgPGF1aS1pY29uIGljb249XCJtaW51c19jaXJjbGVcIj48L2F1aS1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvdGQ+XG4gICAgPC90cj5cbiAgICA8dHIgKm5nSWY9XCIhbW9kZWw/Lmxlbmd0aFwiPlxuICAgICAgPHRkIGNvbHNwYW49XCIxMDBcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInBsYWNlaG9sZGVyXCI+e3sgJ25vX2xhYmVsJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgICAgPC90ZD5cbiAgICA8L3RyPlxuICAgIDx0ciBjbGFzcz1cImFjbC1hcnJheS1mb3JtLXRhYmxlLS1yb3ctYWN0aW9uXCI+XG4gICAgICA8dGQgY29sc3Bhbj1cIjEwMFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWNsLWFycmF5LWZvcm0tdGFibGVfX2JvdHRvbS1jb250cm9sLWJ1dHRvbnNcIj5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBhdWktYnV0dG9uPVwicHJpbWFyeVwiXG4gICAgICAgICAgICBbcGxhaW5dPVwidHJ1ZVwiXG4gICAgICAgICAgICBzaXplPVwibWluaVwiXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIChjbGljayk9XCJhZGRMYWJlbCgpXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJtb2RlbD8ubGVuZ3RoID49IDUwXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8YXVpLWljb24gaWNvbj1cInBsdXNfY2lyY2xlXCI+PC9hdWktaWNvbj5cbiAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICB7eyAnYWRkJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvdGQ+XG4gICAgPC90cj5cbiAgPC90Ym9keT5cbjwvdGFibGU+XG4iXX0=
|
|
@@ -204,5 +204,5 @@ export class TaintsEditorComponent extends createNestedFormControl() {
|
|
|
204
204
|
},
|
|
205
205
|
], template: "<table\n class=\"acl-array-form-table mp-sticky-table-header mp-sticky-table-actions\"\n [class.submitted]=\"submitted\"\n>\n <thead>\n <tr>\n <th\n required\n width=\"40%\"\n >\n <span>{{ 'key' | translate }}</span>\n </th>\n <th width=\"40%\">{{ 'value' | translate }}</th>\n <th width=\"20%\">{{ 'type' | translate }}</th>\n <th style=\"min-width: 44px\"></th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let taint of model; let index = index\">\n <td>\n <input\n aui-input\n size=\"small\"\n name=\"key\"\n #key=\"ngModel\"\n [ngModel]=\"taint.key\"\n (ngModelChange)=\"editTaint(index, 'key', $event)\"\n required\n [aclValidateFn]=\"keyPattern\"\n />\n <acl-errors-mapper\n *ngIf=\"submitted || key.dirty\"\n [errors]=\"key.errors\"\n ></acl-errors-mapper>\n </td>\n <td>\n <input\n aui-input\n size=\"small\"\n name=\"value\"\n #value=\"ngModel\"\n [ngModel]=\"taint.value\"\n (ngModelChange)=\"editTaint(index, 'value', $event)\"\n aclMaxlength=\"63\"\n pattern=\"^(([\\dA-Za-z][\\w.-]*)?[\\dA-Za-z])?$\"\n />\n <acl-errors-mapper\n *ngIf=\"submitted || value.dirty\"\n [errors]=\"value.errors\"\n ></acl-errors-mapper>\n </td>\n <td>\n <aui-select\n size=\"small\"\n name=\"effect\"\n [ngModel]=\"taint.effect\"\n (ngModelChange)=\"editTaint(index, 'effect', $event)\"\n >\n <aui-option\n *ngFor=\"let effect of effects\"\n [value]=\"effect\"\n >\n {{ effect }}\n </aui-option>\n </aui-select>\n </td>\n <td class=\"acl-array-form-table__action-col\">\n <button\n aui-button=\"text\"\n size=\"small\"\n type=\"button\"\n [square]=\"true\"\n [plain]=\"true\"\n (click)=\"removeTaint(index)\"\n >\n <aui-icon icon=\"minus_circle\"></aui-icon>\n </button>\n </td>\n </tr>\n <tr *ngIf=\"!model?.length\">\n <td colspan=\"100\">\n <div class=\"placeholder\">{{ 'no_taint' | translate }}</div>\n </td>\n </tr>\n <tr class=\"acl-array-form-table--row-action\">\n <td colspan=\"100\">\n <div class=\"acl-array-form-table__bottom-control-buttons\">\n <button\n aui-button=\"primary\"\n [plain]=\"true\"\n size=\"mini\"\n type=\"button\"\n (click)=\"addTaint()\"\n [disabled]=\"model?.length >= 50\"\n >\n <aui-icon icon=\"plus_circle\"></aui-icon>\n <span>\n {{ 'add' | translate }}\n </span>\n </button>\n </div>\n </td>\n </tr>\n </tbody>\n</table>\n", styles: [":host::ng-deep{display:block;width:100%}:host::ng-deep .acl-array-form-table tbody td{vertical-align:top;line-height:var(--aui-inline-height-s)}:host::ng-deep .acl-array-form-table tbody tr .placeholder{text-align:center;color:rgb(var(--aui-color-help-text))}\n"] }]
|
|
206
206
|
}], null, null); })();
|
|
207
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TaintsEditorComponent, { className: "TaintsEditorComponent"
|
|
207
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TaintsEditorComponent, { className: "TaintsEditorComponent" }); })();
|
|
208
208
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2Zvcm0vdGFpbnRzLWVkaXRvci9jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvZm9ybS90YWludHMtZWRpdG9yL3RlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFlBQVksRUFDWixVQUFVLEVBQ1YsV0FBVyxFQUNYLFlBQVksR0FDYixNQUFNLFlBQVksQ0FBQztBQUNwQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUVMLFdBQVcsRUFDWCxhQUFhLEVBQ2IsaUJBQWlCLEdBQ2xCLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUNMLFFBQVEsRUFDUixXQUFXLEVBQ1gsdUJBQXVCLEdBQ3hCLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7Ozs7Ozs7SUNPcEQsd0NBR3FCOzs7O0lBRG5CLHNDQUFxQjs7O0lBY3ZCLHdDQUdxQjs7OztJQURuQix3Q0FBdUI7OztJQVV2QixzQ0FHQztJQUNDLFlBQ0Y7SUFBQSxpQkFBYTs7O0lBSFgsaUNBQWdCO0lBRWhCLGNBQ0Y7SUFERSwwQ0FDRjs7OztJQTNDRixBQURGLEFBREYsMEJBQW1ELFNBQzdDLG1CQVVBO0lBSEEsNk5BQWlCLDJCQUFpQixLQUFLLFNBQVMsS0FBQztJQU5uRCxpQkFTRTtJQUNGLHlHQUdDO0lBQ0gsaUJBQUs7SUFFSCxBQURGLDBCQUFJLG1CQVVBO0lBSEEsNk5BQWlCLDJCQUFpQixPQUFPLFNBQVMsS0FBQztJQU5yRCxpQkFTRTtJQUNGLHlHQUdDO0lBQ0gsaUJBQUs7SUFFSCxBQURGLDBCQUFJLHNCQU1EO0lBREMsbU9BQWlCLDJCQUFpQixRQUFRLFNBQVMsS0FBQztJQUVwRCw2RkFHQztJQUlMLEFBREUsaUJBQWEsRUFDVjtJQUVILEFBREYsK0JBQTZDLGtCQVExQztJQURDLHlNQUFTLDRCQUFrQixLQUFDO0lBRTVCLGdDQUF5QztJQUcvQyxBQURFLEFBREUsaUJBQVMsRUFDTixFQUNGOzs7Ozs7SUFyREMsZUFBcUI7SUFHckIsQUFIQSxzQ0FBcUIsb0NBR087SUFHM0IsZUFBNEI7SUFBNUIsdURBQTRCO0lBVTdCLGVBQXVCO0lBQXZCLHdDQUF1QjtJQU10QixlQUE4QjtJQUE5Qix5REFBOEI7SUFRL0IsZUFBd0I7SUFBeEIseUNBQXdCO0lBSUgsY0FBVTtJQUFWLHdDQUFVO0lBWS9CLGVBQWU7SUFDZixBQURBLDZCQUFlLGVBQ0Q7OztJQVNoQixBQURGLEFBREYsMEJBQTJCLGFBQ1AsY0FDUztJQUFBLFlBQTRCOztJQUV6RCxBQURFLEFBRHVELGlCQUFNLEVBQ3hELEVBQ0Y7O0lBRndCLGVBQTRCO0lBQTVCLHNEQUE0Qjs7QUR4QjdELE1BQU0sT0FBTyxxQkFBc0IsU0FBUSx1QkFBdUIsRUFBVztJQWhDN0U7O1FBaUNFLFlBQU8sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0tBZ0R0QztJQTlDQyxRQUFRO1FBQ04sSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUM5QixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDMUUsQ0FBQztJQVNELFNBQVMsQ0FBQyxLQUFhLEVBQUUsR0FBZ0IsRUFBRSxLQUEyQjtRQUNwRSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQVksQ0FBQztRQUN0QyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFhO1FBQ3ZCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELFVBQVUsQ0FBQyxPQUFnQztRQUN6QyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ25CLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUNELE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxHQUFHLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQy9ELElBQ0UsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFO1lBQ2hCLG9DQUFvQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxLQUFLLEVBQ3pELENBQUM7WUFDRCxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDO1FBQzNCLENBQUM7UUFFRCxJQUNFLENBQUMsQ0FBQyxNQUFNO1lBQ1IsQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUc7Z0JBQ2xCLDZEQUE2RCxDQUFDLElBQUksQ0FDaEUsTUFBTSxDQUNQLEtBQUssS0FBSyxDQUFDLEVBQ2QsQ0FBQztZQUNELE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDM0IsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzt3UEFoRFUscUJBQXFCLFNBQXJCLHFCQUFxQjtvRUFBckIscUJBQXFCLHlGQWJyQjtnQkFDVDtvQkFDRSxPQUFPLEVBQUUsaUJBQWlCO29CQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHFCQUFxQixDQUFDO29CQUNwRCxLQUFLLEVBQUUsSUFBSTtpQkFDWjtnQkFDRDtvQkFDRSxPQUFPLEVBQUUsYUFBYTtvQkFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztvQkFDcEQsS0FBSyxFQUFFLElBQUk7aUJBQ1o7YUFDRjtZQzdDSyxBQUpGLEFBREYsQUFERixBQUpGLGdDQUdDLFlBQ1EsU0FDRCxZQUlELFdBQ087WUFBQSxZQUF1Qjs7WUFDL0IsQUFEK0IsaUJBQU8sRUFDakM7WUFDTCw2QkFBZ0I7WUFBQSxZQUF5Qjs7WUFBQSxpQkFBSztZQUM5Qyw4QkFBZ0I7WUFBQSxhQUF3Qjs7WUFBQSxpQkFBSztZQUM3Qyx5QkFBaUM7WUFFckMsQUFERSxpQkFBSyxFQUNDO1lBQ1IsOEJBQU87WUE4REwsQUE3REEsdUVBQW1ELHlEQTZEeEI7WUFRckIsQUFERixBQURGLEFBREYsOEJBQTZDLGNBQ3pCLGVBQzBDLGtCQVF2RDtZQUZDLG1HQUFTLGNBQVUsSUFBQztZQUdwQixnQ0FBd0M7WUFDeEMsNkJBQU07WUFDSixhQUNGOztZQU1aLEFBREUsQUFERSxBQURFLEFBREUsQUFERSxBQURFLGlCQUFPLEVBQ0EsRUFDTCxFQUNILEVBQ0YsRUFDQyxFQUNGOztZQXRHTiwwQ0FBNkI7WUFRakIsZUFBdUI7WUFBdkIsa0RBQXVCO1lBRWYsZUFBeUI7WUFBekIsb0RBQXlCO1lBQ3pCLGVBQXdCO1lBQXhCLG9EQUF3QjtZQUtwQixlQUFVO1lBQVYsbUNBQVU7WUE2RDNCLGNBQW9CO1lBQXBCLHFFQUFvQjtZQVVqQixlQUFjO1lBSWQsQUFKQSw0QkFBYyxpRUFJa0I7WUFJOUIsZUFDRjtZQURFLDhEQUNGOzRCRGxFUixZQUFZLHVCQUNaLGVBQWUsb0JBQ2YsV0FBVyxzR0FDWCxXQUFXLHFCQUNYLFlBQVksMENBQ1osZ0JBQWdCLGlFQUNoQixrQkFBa0IsNEJBQ2xCLFVBQVUsb0JBQ1YsWUFBWSxzQkFFWixxQkFBcUI7O2lGQWVaLHFCQUFxQjtjQWhDakMsU0FBUzs2QkFDSSxJQUFJLFlBQ04sbUJBQW1CLG1CQUdaLHVCQUF1QixDQUFDLE1BQU0sV0FDdEM7b0JBQ1AsWUFBWTtvQkFDWixlQUFlO29CQUNmLFdBQVc7b0JBQ1gsV0FBVztvQkFDWCxZQUFZO29CQUNaLGdCQUFnQjtvQkFDaEIsa0JBQWtCO29CQUNsQixVQUFVO29CQUNWLFlBQVk7b0JBQ1osUUFBUTtvQkFDUixxQkFBcUI7aUJBQ3RCLGFBQ1U7b0JBQ1Q7d0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjt3QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsc0JBQXNCLENBQUM7d0JBQ3BELEtBQUssRUFBRSxJQUFJO3FCQUNaO29CQUNEO3dCQUNFLE9BQU8sRUFBRSxhQUFhO3dCQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxzQkFBc0IsQ0FBQzt3QkFDcEQsS0FBSyxFQUFFLElBQUk7cUJBQ1o7aUJBQ0Y7O2tGQUVVLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEJ1dHRvbk1vZHVsZSxcbiAgSWNvbk1vZHVsZSxcbiAgSW5wdXRNb2R1bGUsXG4gIFNlbGVjdE1vZHVsZSxcbn0gZnJvbSAnQGFsYXVkYS91aSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgZm9yd2FyZFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBGb3Jtc01vZHVsZSxcbiAgTkdfVkFMSURBVE9SUyxcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHtcbiAgUHVyZVBpcGUsXG4gIFRhaW50RWZmZWN0LFxuICBjcmVhdGVOZXN0ZWRGb3JtQ29udHJvbCxcbn0gZnJvbSAnLi4vLi4vY29yZS9wdWJsaWMtYXBpJztcbmltcG9ydCB7IEVmZmVjdERpcmVjdGl2ZU1vZHVsZSB9IGZyb20gJy4uLy4uL2VmZmVjdC1kaXJlY3RpdmUvbW9kdWxlJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJy4uLy4uL3RyYW5zbGF0ZS9wdWJsaWMtYXBpJztcbmltcG9ydCB7IEVycm9yc01hcHBlck1vZHVsZSB9IGZyb20gJy4uL2Vycm9ycy1tYXBwZXIvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBWYWxpZGF0b3JzTW9kdWxlIH0gZnJvbSAnLi4vdmFsaWRhdG9ycy9wdWJsaWMtYXBpJztcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnYWNsLXRhaW50cy1lZGl0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vdGVtcGxhdGUuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3N0eWxlLnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIElucHV0TW9kdWxlLFxuICAgIFNlbGVjdE1vZHVsZSxcbiAgICBWYWxpZGF0b3JzTW9kdWxlLFxuICAgIEVycm9yc01hcHBlck1vZHVsZSxcbiAgICBJY29uTW9kdWxlLFxuICAgIEJ1dHRvbk1vZHVsZSxcbiAgICBQdXJlUGlwZSxcbiAgICBFZmZlY3REaXJlY3RpdmVNb2R1bGUsXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVGFpbnRzRWRpdG9yQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFRhaW50c0VkaXRvckNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUYWludHNFZGl0b3JDb21wb25lbnQgZXh0ZW5kcyBjcmVhdGVOZXN0ZWRGb3JtQ29udHJvbDxUYWludFtdPigpIHtcbiAgZWZmZWN0cyA9IE9iamVjdC52YWx1ZXMoVGFpbnRFZmZlY3QpO1xuXG4gIGFkZFRhaW50KCkge1xuICAgIHRoaXMubW9kZWwgPSB0aGlzLm1vZGVsID8/IFtdO1xuICAgIHRoaXMubW9kZWwucHVzaCh7IGtleTogJycsIHZhbHVlOiAnJywgZWZmZWN0OiBUYWludEVmZmVjdC5Ob1NjaGVkdWxlIH0pO1xuICB9XG5cbiAgZWRpdFRhaW50KFxuICAgIGluZGV4OiBudW1iZXIsXG4gICAga2V5OiBrZXlvZiBPbWl0PFRhaW50LCAnZWZmZWN0Jz4sXG4gICAgdmFsdWU6IHN0cmluZyxcbiAgKTogdm9pZDtcblxuICBlZGl0VGFpbnQoaW5kZXg6IG51bWJlciwga2V5OiAnZWZmZWN0JywgdmFsdWU6IFRhaW50RWZmZWN0KTogdm9pZDtcbiAgZWRpdFRhaW50KGluZGV4OiBudW1iZXIsIGtleToga2V5b2YgVGFpbnQsIHZhbHVlOiBzdHJpbmcgfCBUYWludEVmZmVjdCkge1xuICAgIHRoaXMubW9kZWxbaW5kZXhdW2tleV0gPSB2YWx1ZSBhcyBhbnk7XG4gICAgdGhpcy5lbWl0TW9kZWwoKTtcbiAgfVxuXG4gIHJlbW92ZVRhaW50KGluZGV4OiBudW1iZXIpIHtcbiAgICB0aGlzLm1vZGVsLnNwbGljZShpbmRleCwgMSk7XG4gICAgdGhpcy5lbWl0TW9kZWwoKTtcbiAgfVxuXG4gIGtleVBhdHRlcm4oY29udHJvbDogQWJzdHJhY3RDb250cm9sPHN0cmluZz4pIHtcbiAgICBpZiAoIWNvbnRyb2wudmFsdWUpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBjb25zdCBbbmFtZSwgcHJlZml4ID0gJyddID0gY29udHJvbC52YWx1ZS5zcGxpdCgnLycpLnJldmVyc2UoKTtcbiAgICBpZiAoXG4gICAgICBuYW1lLmxlbmd0aCA+IDYzIHx8XG4gICAgICAvXigoW1xcZEEtWmEtel1bXFx3Li1dKik/W1xcZEEtWmEtel0pJC8udGVzdChuYW1lKSA9PT0gZmFsc2VcbiAgICApIHtcbiAgICAgIHJldHVybiB7IHBhdHRlcm46IHRydWUgfTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICAhIXByZWZpeCAmJlxuICAgICAgKHByZWZpeC5sZW5ndGggPiAyNTMgfHxcbiAgICAgICAgL15bXFxkYS16XShbXFxkYS16LV0qW1xcZGEtel0pPyhcXC5bXFxkYS16XShbXFxkYS16LV0qW1xcZGEtel0pPykqJC8udGVzdChcbiAgICAgICAgICBwcmVmaXgsXG4gICAgICAgICkgPT09IGZhbHNlKVxuICAgICkge1xuICAgICAgcmV0dXJuIHsgcGF0dGVybjogdHJ1ZSB9O1xuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9XG59XG5cbmludGVyZmFjZSBUYWludCB7XG4gIGtleTogc3RyaW5nO1xuICB2YWx1ZTogc3RyaW5nO1xuICBlZmZlY3Q6IFRhaW50RWZmZWN0O1xufVxuIiwiPHRhYmxlXG4gIGNsYXNzPVwiYWNsLWFycmF5LWZvcm0tdGFibGUgbXAtc3RpY2t5LXRhYmxlLWhlYWRlciBtcC1zdGlja3ktdGFibGUtYWN0aW9uc1wiXG4gIFtjbGFzcy5zdWJtaXR0ZWRdPVwic3VibWl0dGVkXCJcbj5cbiAgPHRoZWFkPlxuICAgIDx0cj5cbiAgICAgIDx0aFxuICAgICAgICByZXF1aXJlZFxuICAgICAgICB3aWR0aD1cIjQwJVwiXG4gICAgICA+XG4gICAgICAgIDxzcGFuPnt7ICdrZXknIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgPC90aD5cbiAgICAgIDx0aCB3aWR0aD1cIjQwJVwiPnt7ICd2YWx1ZScgfCB0cmFuc2xhdGUgfX08L3RoPlxuICAgICAgPHRoIHdpZHRoPVwiMjAlXCI+e3sgJ3R5cGUnIHwgdHJhbnNsYXRlIH19PC90aD5cbiAgICAgIDx0aCBzdHlsZT1cIm1pbi13aWR0aDogNDRweFwiPjwvdGg+XG4gICAgPC90cj5cbiAgPC90aGVhZD5cbiAgPHRib2R5PlxuICAgIDx0ciAqbmdGb3I9XCJsZXQgdGFpbnQgb2YgbW9kZWw7IGxldCBpbmRleCA9IGluZGV4XCI+XG4gICAgICA8dGQ+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIGF1aS1pbnB1dFxuICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgbmFtZT1cImtleVwiXG4gICAgICAgICAgI2tleT1cIm5nTW9kZWxcIlxuICAgICAgICAgIFtuZ01vZGVsXT1cInRhaW50LmtleVwiXG4gICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiZWRpdFRhaW50KGluZGV4LCAna2V5JywgJGV2ZW50KVwiXG4gICAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgICBbYWNsVmFsaWRhdGVGbl09XCJrZXlQYXR0ZXJuXCJcbiAgICAgICAgLz5cbiAgICAgICAgPGFjbC1lcnJvcnMtbWFwcGVyXG4gICAgICAgICAgKm5nSWY9XCJzdWJtaXR0ZWQgfHwga2V5LmRpcnR5XCJcbiAgICAgICAgICBbZXJyb3JzXT1cImtleS5lcnJvcnNcIlxuICAgICAgICA+PC9hY2wtZXJyb3JzLW1hcHBlcj5cbiAgICAgIDwvdGQ+XG4gICAgICA8dGQ+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIGF1aS1pbnB1dFxuICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgbmFtZT1cInZhbHVlXCJcbiAgICAgICAgICAjdmFsdWU9XCJuZ01vZGVsXCJcbiAgICAgICAgICBbbmdNb2RlbF09XCJ0YWludC52YWx1ZVwiXG4gICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiZWRpdFRhaW50KGluZGV4LCAndmFsdWUnLCAkZXZlbnQpXCJcbiAgICAgICAgICBhY2xNYXhsZW5ndGg9XCI2M1wiXG4gICAgICAgICAgcGF0dGVybj1cIl4oKFtcXGRBLVphLXpdW1xcdy4tXSopP1tcXGRBLVphLXpdKT8kXCJcbiAgICAgICAgLz5cbiAgICAgICAgPGFjbC1lcnJvcnMtbWFwcGVyXG4gICAgICAgICAgKm5nSWY9XCJzdWJtaXR0ZWQgfHwgdmFsdWUuZGlydHlcIlxuICAgICAgICAgIFtlcnJvcnNdPVwidmFsdWUuZXJyb3JzXCJcbiAgICAgICAgPjwvYWNsLWVycm9ycy1tYXBwZXI+XG4gICAgICA8L3RkPlxuICAgICAgPHRkPlxuICAgICAgICA8YXVpLXNlbGVjdFxuICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgbmFtZT1cImVmZmVjdFwiXG4gICAgICAgICAgW25nTW9kZWxdPVwidGFpbnQuZWZmZWN0XCJcbiAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJlZGl0VGFpbnQoaW5kZXgsICdlZmZlY3QnLCAkZXZlbnQpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxhdWktb3B0aW9uXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgZWZmZWN0IG9mIGVmZmVjdHNcIlxuICAgICAgICAgICAgW3ZhbHVlXT1cImVmZmVjdFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgZWZmZWN0IH19XG4gICAgICAgICAgPC9hdWktb3B0aW9uPlxuICAgICAgICA8L2F1aS1zZWxlY3Q+XG4gICAgICA8L3RkPlxuICAgICAgPHRkIGNsYXNzPVwiYWNsLWFycmF5LWZvcm0tdGFibGVfX2FjdGlvbi1jb2xcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIGF1aS1idXR0b249XCJ0ZXh0XCJcbiAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIFtzcXVhcmVdPVwidHJ1ZVwiXG4gICAgICAgICAgW3BsYWluXT1cInRydWVcIlxuICAgICAgICAgIChjbGljayk9XCJyZW1vdmVUYWludChpbmRleClcIlxuICAgICAgICA+XG4gICAgICAgICAgPGF1aS1pY29uIGljb249XCJtaW51c19jaXJjbGVcIj48L2F1aS1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvdGQ+XG4gICAgPC90cj5cbiAgICA8dHIgKm5nSWY9XCIhbW9kZWw/Lmxlbmd0aFwiPlxuICAgICAgPHRkIGNvbHNwYW49XCIxMDBcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInBsYWNlaG9sZGVyXCI+e3sgJ25vX3RhaW50JyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgICAgPC90ZD5cbiAgICA8L3RyPlxuICAgIDx0ciBjbGFzcz1cImFjbC1hcnJheS1mb3JtLXRhYmxlLS1yb3ctYWN0aW9uXCI+XG4gICAgICA8dGQgY29sc3Bhbj1cIjEwMFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWNsLWFycmF5LWZvcm0tdGFibGVfX2JvdHRvbS1jb250cm9sLWJ1dHRvbnNcIj5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBhdWktYnV0dG9uPVwicHJpbWFyeVwiXG4gICAgICAgICAgICBbcGxhaW5dPVwidHJ1ZVwiXG4gICAgICAgICAgICBzaXplPVwibWluaVwiXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIChjbGljayk9XCJhZGRUYWludCgpXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJtb2RlbD8ubGVuZ3RoID49IDUwXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8YXVpLWljb24gaWNvbj1cInBsdXNfY2lyY2xlXCI+PC9hdWktaWNvbj5cbiAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICB7eyAnYWRkJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvdGQ+XG4gICAgPC90cj5cbiAgPC90Ym9keT5cbjwvdGFibGU+XG4iXX0=
|
|
@@ -112,5 +112,5 @@ export class UploadFileComponent {
|
|
|
112
112
|
type: HostListener,
|
|
113
113
|
args: ['click']
|
|
114
114
|
}] }); })();
|
|
115
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UploadFileComponent, { className: "UploadFileComponent"
|
|
115
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UploadFileComponent, { className: "UploadFileComponent" }); })();
|
|
116
116
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2Zvcm0vdXBsb2FkLWZpbGUvY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2Zvcm0vdXBsb2FkLWZpbGUvdGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDcEUsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxFQUNMLFVBQVUsRUFDVixZQUFZLEVBQ1osU0FBUyxFQUNULFVBQVUsR0FDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFekUsT0FBTyxFQUFXLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7QUFFOUQsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHO0lBQzVCLFlBQVksRUFBRSxhQUFhO0lBQzNCLGFBQWEsRUFBRSxjQUFjO0lBQzdCLFFBQVEsRUFBRSxTQUFTO0lBQ25CLElBQUksRUFBRSxNQUFNO0NBQ0osQ0FBQztBQXNCWCxNQUFNLE9BQU8sbUJBQW1CO0lBa0I5QixZQUNtQixZQUFpQyxFQUNqQyxTQUEyQjtRQUQzQixpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFDakMsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFUOUMsZUFBVSxHQUFtQixjQUFjLENBQUMsSUFBSSxDQUFDO0lBVTlDLENBQUM7SUFHSixPQUFPO1FBQ0wsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUs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WUFJTixNQUFNO2tCQURMLEtBQUs7WUFJTixRQUFRO2tCQURQLEtBQUs7WUFJTixVQUFVO2tCQURULEtBQUs7WUFJTixTQUFTO2tCQURSLFNBQVM7bUJBQUMsV0FBVztZQVd0QixPQUFPO2tCQUROLFlBQVk7bUJBQUMsT0FBTzs7a0ZBdkJWLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5vdGlmaWNhdGlvblNlcnZpY2UsIGNvZXJjZUF0dHJCb29sZWFuIH0gZnJvbSAnQGFsYXVkYS91aSc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgZm9yd2FyZFJlZixcbiAgSG9zdExpc3RlbmVyLFxuICBWaWV3Q2hpbGQsXG4gIEVsZW1lbnRSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBWYWx1ZU9mLCBpc0Vycm9yTWVzc2FnZSB9IGZyb20gJy4uLy4uL2NvcmUvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBFZmZlY3REaXJlY3RpdmVNb2R1bGUgfSBmcm9tICcuLi8uLi9lZmZlY3QtZGlyZWN0aXZlL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uLy4uL3RyYW5zbGF0ZS9wdWJsaWMtYXBpJztcblxuZXhwb3J0IGNvbnN0IEZpbGVSZXN1bHRUeXBlID0ge1xuICBBUlJBWV9CVUZGRVI6ICdBcnJheUJ1ZmZlcicsXG4gIEJJTkFSWV9TVFJJTkc6ICdCaW5hcnlTdHJpbmcnLFxuICBEQVRBX1VSTDogJ0RhdGFVUkwnLFxuICBURVhUOiAnVGV4dCcsXG59IGFzIGNvbnN0O1xuXG5leHBvcnQgdHlwZSBGaWxlUmVzdWx0VHlwZSA9IFZhbHVlT2Y8dHlwZW9mIEZpbGVSZXN1bHRUeXBlPjtcblxuZXhwb3J0IHR5cGUgRmlsZVJlc3VsdCA9IHN0cmluZyB8IEFycmF5QnVmZmVyO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhY2wtdXBsb2FkLWZpbGUnLFxuICB0ZW1wbGF0ZVVybDogJ3RlbXBsYXRlLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnc3R5bGVzLnNjc3MnXSxcbiAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFVwbG9hZEZpbGVDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0VmZmVjdERpcmVjdGl2ZU1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIFVwbG9hZEZpbGVDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIEBJbnB1dCgpXG4gIGRpc2FibGVkOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpXG4gIGFjY2VwdDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIG11bHRpcGxlOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpXG4gIHJlc3VsdFR5cGU6IEZpbGVSZXN1bHRUeXBlID0gRmlsZVJlc3VsdFR5cGUuVEVYVDtcblxuICBAVmlld0NoaWxkKCdmaWxlSW5wdXQnKVxuICBmaWxlSW5wdXQ6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgdmFsdWVDaGFuZ2U6IChldjogRmlsZVJlc3VsdCB8IEZpbGVSZXN1bHRbXSkgPT4gdm9pZDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5vdGlmaWNhdGlvbjogTm90aWZpY2F0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgKSB7fVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcbiAgb25DbGljaygpIHtcbiAgICBpZiAoY29lcmNlQXR0ckJvb2xlYW4odGhpcy5kaXNhYmxlZCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5maWxlSW5wdXQubmF0aXZlRWxlbWVudC5jbGljaygpO1xuICB9XG5cbiAgYXN5bmMgb25DaGFuZ2UoZTogRXZlbnQpIHtcbiAgICBjb25zdCBlbCA9IGUudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzdWx0cyA9IGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgICBBcnJheS5mcm9tKGVsLmZpbGVzKS5tYXAoXG4gICAgICAgICAgZmlsZSA9PlxuICAgICAgICAgICAgbmV3IFByb21pc2U8RmlsZVJlc3VsdD4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBmaWxlUmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICAgICAgICAgICAgZmlsZVJlYWRlci5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHsgcmVzdWx0IH0gPSBmaWxlUmVhZGVyO1xuXG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgdGhpcy5yZXN1bHRUeXBlID09PSBGaWxlUmVzdWx0VHlwZS5URVhUICYmXG4gICAgICAgICAgICAgICAgICAocmVzdWx0IGFzIHN0cmluZykuaW5jbHVkZXMoJ1xcdUZGRkQnKVxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgcmVqZWN0KG5ldyBFcnJvcih0aGlzLnRyYW5zbGF0ZS5nZXQoJ3RleHRfZmlsZV90eXBlX2Vycm9yJykpKTtcbiAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXNvbHZlKHJlc3VsdCk7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICBmaWxlUmVhZGVyW2ByZWFkQXMke3RoaXMucmVzdWx0VHlwZX1gXShmaWxlKTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICApLFxuICAgICAgKTtcbiAgICAgIHRoaXMudmFsdWVDaGFuZ2UodGhpcy5tdWx0aXBsZSA/IHJlc3VsdHMgOiByZXN1bHRzWzBdKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBpZiAoaXNFcnJvck1lc3NhZ2UoZSkpIHtcbiAgICAgICAgdGhpcy5ub3RpZmljYXRpb24uZXJyb3IoZS5tZXNzYWdlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBlbC52YWx1ZSA9IG51bGw7XG4gIH1cblxuICB3cml0ZVZhbHVlKCkge1xuICAgIC8vXG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpIHtcbiAgICB0aGlzLnZhbHVlQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZCgpIHtcbiAgICAvL1xuICB9XG59XG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48aW5wdXRcbiAgI2ZpbGVJbnB1dFxuICBjbGFzcz1cImZpbGUtaW5wdXRcIlxuICB0eXBlPVwiZmlsZVwiXG4gIFthdHRyLmFjY2VwdF09XCJhY2NlcHRcIlxuICBbbXVsdGlwbGVdPVwibXVsdGlwbGVcIlxuICAoY2hhbmdlKT1cIm9uQ2hhbmdlKCRldmVudClcIlxuLz5cbiJdfQ==
|