survey-creator-angular 3.0.0-beta.9 → 3.0.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.
@@ -3,9 +3,10 @@ import { AngularComponentFactory, BaseAngular, SurveyContentComponent } from "su
3
3
  import { cssVariablesToString } from "survey-creator-core";
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "survey-angular-ui";
6
- import * as i2 from "./tabbed-menu/tabbed-menu/tabbed-menu.component";
7
- import * as i3 from "./side-bar/side-bar.component";
8
- import * as i4 from "@angular/common";
6
+ import * as i2 from "./components/component-container.component";
7
+ import * as i3 from "./tabbed-menu/tabbed-menu/tabbed-menu.component";
8
+ import * as i4 from "./side-bar/side-bar.component";
9
+ import * as i5 from "@angular/common";
9
10
  export class CreatorComponent extends BaseAngular {
10
11
  constructor(changeDetectorRef) {
11
12
  super(changeDetectorRef);
@@ -17,6 +18,13 @@ export class CreatorComponent extends BaseAngular {
17
18
  get creator() {
18
19
  return this.model;
19
20
  }
21
+ // The collaboration strip is a ComponentContainerModel contributed by the
22
+ // plugin. `collabBar` is typed as Base in creator-core to keep the creator
23
+ // free of a dependency on the plugin, hence the cast.
24
+ get collabBarContainer() {
25
+ const bar = this.model.collabBar;
26
+ return !!bar ? bar.container : undefined;
27
+ }
20
28
  getShouldReattachChangeDetector() {
21
29
  return false;
22
30
  }
@@ -48,7 +56,7 @@ export class CreatorComponent extends BaseAngular {
48
56
  }
49
57
  }
50
58
  CreatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CreatorComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
51
- CreatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CreatorComponent, selector: "survey-creator", inputs: { model: "model" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"!creator.isCreatorDisposed\">\n <sv-ng-modal-container></sv-ng-modal-container>\n <div [class]=\"creator.getRootCss()\" [attr.style]=\"themeVariablesString\" #container>\n <div>\n <sv-svg-bundle></sv-svg-bundle>\n </div>\n <div class=\"svc-full-container svc-creator__area svc-flex-column\"\n [class.svc-creator__area--with-banner]=\"!creator.haveCommercialLicense\">\n <div class=\"svc-flex-row svc-full-container\"\n [class.svc-creator__side-bar--left]=\"creator.sidebarLocation == 'left'\">\n <div class=\"svc-flex-column svc-flex-row__element svc-flex-row__element--growing\">\n <div class=\"svc-top-bar\">\n <div class=\"svc-tabbed-menu-wrapper\" [visible]=\"creator.showTabs\">\n <svc-tabbed-menu [model]=\"creator.tabbedMenu\"></svc-tabbed-menu>\n </div>\n <div *ngIf=\"creator.showToolbar\" class=\"svc-toolbar-wrapper\" [visible]=\"creator.showToolbar\">\n <sv-action-bar [model]=\"creator.toolbar\"></sv-action-bar>\n </div>\n </div>\n <div class=\"svc-creator__content-wrapper svc-flex-row\"\n [class.svc-creator__content-wrapper--footer-toolbar]=\"creator.isMobileView\">\n <div class=\"svc-creator__content-holder svc-flex-column\">\n <ng-container *ngIf=\"!!activeTab\">\n <div role=\"tabpanel\" class=\"svc-creator-tab\" [attr.id]=\"'scrollableDiv-' + activeTab.id\"\n [attr.aria-labelledby]=\"'tab-' + activeTab.id\"\n [class.svc-creator__toolbox--right]=\"creator.toolboxLocation == 'right'\">\n <ng-template\n [component]=\"{ name: activeTab.componentContent, data: { data: creator, model: activeTab.data.model } }\"></ng-template>\n </div>\n </ng-container>\n </div>\n </div>\n <div *ngIf=\"creator.isMobileView\" class=\"svc-footer-bar\">\n <div class=\"svc-toolbar-wrapper\" [visible]=\"creator.isMobileView\">\n <sv-action-bar [model]=\"creator.footerToolbar\"></sv-action-bar>\n </div>\n </div>\n </div>\n <svc-side-bar [model]=\"creator.sidebar\" *ngIf=\"creator.isSidebarVisible\"></svc-side-bar>\n </div>\n <div class=\"svc-creator__banner\" *ngIf=\"!creator.haveCommercialLicense\">\n <span class=\"svc-creator__non-commercial-text\" [innerHTML]=\"creator.licenseText | safeHtml\"></span>\n </div>\n <sv-notifier [notifier]=\"creator.notifier\"></sv-notifier>\n </div>\n </div>\n</ng-container>", components: [{ type: i1.ModalComponent, selector: "sv-ng-modal-container" }, { type: i1.SvgBundleComponent, selector: "sv-svg-bundle" }, { type: i2.TabbledMenuComponent, selector: "svc-tabbed-menu", inputs: ["model"] }, { type: i1.ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }, { type: i3.SidebarComponent, selector: "svc-side-bar", inputs: ["model"] }, { type: i1.NotifierComponent, selector: "sv-notifier", inputs: ["notifier"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.VisibleDirective, selector: "[visible]", inputs: ["visible"] }, { type: i1.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }], pipes: { "safeHtml": i1.SafeHtmlPipe } });
59
+ CreatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CreatorComponent, selector: "survey-creator", inputs: { model: "model" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"!creator.isCreatorDisposed\">\n <sv-ng-modal-container></sv-ng-modal-container>\n <div [class]=\"creator.getRootCss()\" [attr.style]=\"themeVariablesString\" #container>\n <div>\n <sv-svg-bundle></sv-svg-bundle>\n </div>\n <div class=\"svc-full-container svc-creator__area svc-flex-column\"\n [class.svc-creator__area--with-banner]=\"!creator.haveCommercialLicense\">\n <svc-component-container *ngIf=\"collabBarContainer\" [model]=\"collabBarContainer\"></svc-component-container>\n <div class=\"svc-flex-row svc-full-container\"\n [class.svc-creator__side-bar--left]=\"creator.sidebarLocation == 'left'\">\n <div class=\"svc-flex-column svc-flex-row__element svc-flex-row__element--growing\">\n <div class=\"svc-top-bar\">\n <div class=\"svc-tabbed-menu-wrapper\" [visible]=\"creator.showTabs\">\n <svc-tabbed-menu [model]=\"creator.tabbedMenu\"></svc-tabbed-menu>\n </div>\n <div *ngIf=\"creator.showToolbar\" class=\"svc-toolbar-wrapper\" [visible]=\"creator.showToolbar\">\n <sv-action-bar [model]=\"creator.toolbar\"></sv-action-bar>\n </div>\n </div>\n <div class=\"svc-creator__content-wrapper svc-flex-row\"\n [class.svc-creator__content-wrapper--footer-toolbar]=\"creator.isMobileView\">\n <div class=\"svc-creator__content-holder svc-flex-column\">\n <ng-container *ngIf=\"!!activeTab\">\n <div role=\"tabpanel\" class=\"svc-creator-tab\" [attr.id]=\"'scrollableDiv-' + activeTab.id\"\n [attr.aria-labelledby]=\"'tab-' + activeTab.id\"\n [class.svc-creator__toolbox--right]=\"creator.toolboxLocation == 'right'\">\n <ng-template\n [component]=\"{ name: activeTab.componentContent, data: { data: creator, model: activeTab.data.model } }\"></ng-template>\n </div>\n </ng-container>\n </div>\n </div>\n <div *ngIf=\"creator.isMobileView\" class=\"svc-footer-bar\">\n <div class=\"svc-toolbar-wrapper\" [visible]=\"creator.isMobileView\">\n <sv-action-bar [model]=\"creator.footerToolbar\"></sv-action-bar>\n </div>\n </div>\n </div>\n <svc-side-bar [model]=\"creator.sidebar\" *ngIf=\"creator.isSidebarVisible\"></svc-side-bar>\n </div>\n <div class=\"svc-creator__banner\" *ngIf=\"!creator.haveCommercialLicense\">\n <span class=\"svc-creator__non-commercial-text\" [innerHTML]=\"creator.licenseText | safeHtml\"></span>\n </div>\n <sv-notifier [notifier]=\"creator.notifier\"></sv-notifier>\n </div>\n </div>\n</ng-container>", components: [{ type: i1.ModalComponent, selector: "sv-ng-modal-container" }, { type: i1.SvgBundleComponent, selector: "sv-svg-bundle" }, { type: i2.ComponentContainerComponent, selector: "svc-component-container", inputs: ["model"] }, { type: i3.TabbledMenuComponent, selector: "svc-tabbed-menu", inputs: ["model"] }, { type: i1.ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }, { type: i4.SidebarComponent, selector: "svc-side-bar", inputs: ["model"] }, { type: i1.NotifierComponent, selector: "sv-notifier", inputs: ["notifier"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.VisibleDirective, selector: "[visible]", inputs: ["visible"] }, { type: i1.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }], pipes: { "safeHtml": i1.SafeHtmlPipe } });
52
60
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CreatorComponent, decorators: [{
53
61
  type: Component,
54
62
  args: [{
@@ -62,4 +70,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
62
70
  args: ["container", { read: ElementRef }]
63
71
  }] } });
64
72
  AngularComponentFactory.Instance.registerComponent("survey-widget", SurveyContentComponent);
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY3JlYXRvci5jb21wb25lbnQudHMiLCIuLi8uLi9zcmMvY3JlYXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9DLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsV0FBVyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakcsT0FBTyxFQUFzQyxvQkFBb0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7Ozs7QUFNL0YsTUFBTSxPQUFPLGdCQUFpQixTQUFRLFdBQStCO0lBSW5FLFlBQVksaUJBQW9DO1FBQzlDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3pCLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFDUyxRQUFRO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBQ0QsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBQ2tCLCtCQUErQjtRQUNoRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFDa0IsY0FBYztRQUMvQixJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDdkMsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxhQUFhLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztTQUM3QztRQUNELElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsRUFBRTtZQUNoRCxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQzNEO0lBQ0gsQ0FBQztJQUNNLGVBQWU7UUFDcEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMxRCxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUNlLFdBQVc7UUFDekIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQ3RDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBQ0QsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQztJQUN4QyxDQUFDO0lBQ0QsVUFBVSxDQUFDLENBQVMsRUFBRSxHQUFtQjtRQUN2QyxPQUFPLEdBQUcsQ0FBQyxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUNELElBQVcsb0JBQW9CO1FBQzdCLE9BQU8sb0JBQW9CLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUMzRCxDQUFDOzs4R0ExQ1UsZ0JBQWdCO2tHQUFoQixnQkFBZ0IscUtBRUssVUFBVSxvRENWNUMsd2xGQThDZTs0RkR0Q0YsZ0JBQWdCO2tCQUo1QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFdBQVcsRUFBRSwwQkFBMEI7aUJBQ3hDO3dHQUVVLEtBQUs7c0JBQWIsS0FBSztnQkFDd0MsU0FBUztzQkFBdEQsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFOztBQTJDOUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIFZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBBbmd1bGFyQ29tcG9uZW50RmFjdG9yeSwgQmFzZUFuZ3VsYXIsIFN1cnZleUNvbnRlbnRDb21wb25lbnQgfSBmcm9tIFwic3VydmV5LWFuZ3VsYXItdWlcIjtcbmltcG9ydCB7IFN1cnZleUNyZWF0b3JNb2RlbCwgVGFiYmVkTWVudUl0ZW0sIGNzc1ZhcmlhYmxlc1RvU3RyaW5nIH0gZnJvbSBcInN1cnZleS1jcmVhdG9yLWNvcmVcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInN1cnZleS1jcmVhdG9yXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vY3JlYXRvci5jb21wb25lbnQuaHRtbFwiXG59KVxuZXhwb3J0IGNsYXNzIENyZWF0b3JDb21wb25lbnQgZXh0ZW5kcyBCYXNlQW5ndWxhcjxTdXJ2ZXlDcmVhdG9yTW9kZWw+IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBJbnB1dCgpIG1vZGVsITogU3VydmV5Q3JlYXRvck1vZGVsO1xuICBAVmlld0NoaWxkKFwiY29udGFpbmVyXCIsIHsgcmVhZDogRWxlbWVudFJlZiB9KSBjb250YWluZXIhOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcblxuICBjb25zdHJ1Y3RvcihjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICBzdXBlcihjaGFuZ2VEZXRlY3RvclJlZik7XG4gICAgY2hhbmdlRGV0ZWN0b3JSZWYuZGV0YWNoKCk7XG4gIH1cbiAgcHJvdGVjdGVkIGdldE1vZGVsKCk6IFN1cnZleUNyZWF0b3JNb2RlbCB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWw7XG4gIH1cbiAgcHVibGljIGdldCBjcmVhdG9yKCk6IFN1cnZleUNyZWF0b3JNb2RlbCB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWw7XG4gIH1cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGdldFNob3VsZFJlYXR0YWNoQ2hhbmdlRGV0ZWN0b3IoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHByb3RlY3RlZCBvdmVycmlkZSBvbk1vZGVsQ2hhbmdlZCgpOiB2b2lkIHtcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICBpZiAodGhpcy5wcmV2aW91c01vZGVsKSB7XG4gICAgICB0aGlzLnByZXZpb3VzTW9kZWwudW5zdWJzY3JpYmVSb290RWxlbWVudCgpO1xuICAgIH1cbiAgICBpZiAodGhpcy5jcmVhdG9yICYmIHRoaXMuY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgIHRoaXMuY3JlYXRvci5zZXRSb290RWxlbWVudCh0aGlzLmNvbnRhaW5lci5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG4gIH1cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNyZWF0b3Iuc2V0Um9vdEVsZW1lbnQodGhpcy5jb250YWluZXIubmF0aXZlRWxlbWVudCk7XG4gICAgc3VwZXIubmdPbkluaXQoKTtcbiAgfVxuICBwdWJsaWMgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5jcmVhdG9yLnVuc3Vic2NyaWJlUm9vdEVsZW1lbnQoKTtcbiAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICB9XG4gIHB1YmxpYyBnZXQgYWN0aXZlVGFiKCk6IFRhYmJlZE1lbnVJdGVtIHtcbiAgICByZXR1cm4gdGhpcy5jcmVhdG9yLmFjdGl2ZVRhYk1lbnVJdGVtO1xuICB9XG4gIHRyYWNrVGFiQnkoXzogbnVtYmVyLCB0YWI6IFRhYmJlZE1lbnVJdGVtKSB7XG4gICAgcmV0dXJuIHRhYi5pZDtcbiAgfVxuICBwdWJsaWMgZ2V0IHRoZW1lVmFyaWFibGVzU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGNzc1ZhcmlhYmxlc1RvU3RyaW5nKHRoaXMuY3JlYXRvci50aGVtZVZhcmlhYmxlcyk7XG4gIH1cbn1cblxuQW5ndWxhckNvbXBvbmVudEZhY3RvcnkuSW5zdGFuY2UucmVnaXN0ZXJDb21wb25lbnQoXCJzdXJ2ZXktd2lkZ2V0XCIsIFN1cnZleUNvbnRlbnRDb21wb25lbnQpO1xuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFjcmVhdG9yLmlzQ3JlYXRvckRpc3Bvc2VkXCI+XG4gIDxzdi1uZy1tb2RhbC1jb250YWluZXI+PC9zdi1uZy1tb2RhbC1jb250YWluZXI+XG4gIDxkaXYgW2NsYXNzXT1cImNyZWF0b3IuZ2V0Um9vdENzcygpXCIgW2F0dHIuc3R5bGVdPVwidGhlbWVWYXJpYWJsZXNTdHJpbmdcIiAjY29udGFpbmVyPlxuICAgIDxkaXY+XG4gICAgICA8c3Ytc3ZnLWJ1bmRsZT48L3N2LXN2Zy1idW5kbGU+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInN2Yy1mdWxsLWNvbnRhaW5lciBzdmMtY3JlYXRvcl9fYXJlYSBzdmMtZmxleC1jb2x1bW5cIlxuICAgICAgW2NsYXNzLnN2Yy1jcmVhdG9yX19hcmVhLS13aXRoLWJhbm5lcl09XCIhY3JlYXRvci5oYXZlQ29tbWVyY2lhbExpY2Vuc2VcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzdmMtZmxleC1yb3cgc3ZjLWZ1bGwtY29udGFpbmVyXCJcbiAgICAgICAgW2NsYXNzLnN2Yy1jcmVhdG9yX19zaWRlLWJhci0tbGVmdF09XCJjcmVhdG9yLnNpZGViYXJMb2NhdGlvbiA9PSAnbGVmdCdcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInN2Yy1mbGV4LWNvbHVtbiBzdmMtZmxleC1yb3dfX2VsZW1lbnQgc3ZjLWZsZXgtcm93X19lbGVtZW50LS1ncm93aW5nXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInN2Yy10b3AtYmFyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3ZjLXRhYmJlZC1tZW51LXdyYXBwZXJcIiBbdmlzaWJsZV09XCJjcmVhdG9yLnNob3dUYWJzXCI+XG4gICAgICAgICAgICAgIDxzdmMtdGFiYmVkLW1lbnUgW21vZGVsXT1cImNyZWF0b3IudGFiYmVkTWVudVwiPjwvc3ZjLXRhYmJlZC1tZW51PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY3JlYXRvci5zaG93VG9vbGJhclwiIGNsYXNzPVwic3ZjLXRvb2xiYXItd3JhcHBlclwiIFt2aXNpYmxlXT1cImNyZWF0b3Iuc2hvd1Rvb2xiYXJcIj5cbiAgICAgICAgICAgICAgPHN2LWFjdGlvbi1iYXIgW21vZGVsXT1cImNyZWF0b3IudG9vbGJhclwiPjwvc3YtYWN0aW9uLWJhcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdmMtY3JlYXRvcl9fY29udGVudC13cmFwcGVyIHN2Yy1mbGV4LXJvd1wiXG4gICAgICAgICAgICBbY2xhc3Muc3ZjLWNyZWF0b3JfX2NvbnRlbnQtd3JhcHBlci0tZm9vdGVyLXRvb2xiYXJdPVwiY3JlYXRvci5pc01vYmlsZVZpZXdcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdmMtY3JlYXRvcl9fY29udGVudC1ob2xkZXIgc3ZjLWZsZXgtY29sdW1uXCI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhIWFjdGl2ZVRhYlwiPlxuICAgICAgICAgICAgICAgIDxkaXYgcm9sZT1cInRhYnBhbmVsXCIgY2xhc3M9XCJzdmMtY3JlYXRvci10YWJcIiBbYXR0ci5pZF09XCInc2Nyb2xsYWJsZURpdi0nICsgYWN0aXZlVGFiLmlkXCJcbiAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCIndGFiLScgKyBhY3RpdmVUYWIuaWRcIlxuICAgICAgICAgICAgICAgICAgW2NsYXNzLnN2Yy1jcmVhdG9yX190b29sYm94LS1yaWdodF09XCJjcmVhdG9yLnRvb2xib3hMb2NhdGlvbiA9PSAncmlnaHQnXCI+XG4gICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICAgICAgICAgW2NvbXBvbmVudF09XCJ7IG5hbWU6IGFjdGl2ZVRhYi5jb21wb25lbnRDb250ZW50LCBkYXRhOiB7IGRhdGE6IGNyZWF0b3IsIG1vZGVsOiBhY3RpdmVUYWIuZGF0YS5tb2RlbCB9IH1cIj48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJjcmVhdG9yLmlzTW9iaWxlVmlld1wiIGNsYXNzPVwic3ZjLWZvb3Rlci1iYXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdmMtdG9vbGJhci13cmFwcGVyXCIgW3Zpc2libGVdPVwiY3JlYXRvci5pc01vYmlsZVZpZXdcIj5cbiAgICAgICAgICAgICAgPHN2LWFjdGlvbi1iYXIgW21vZGVsXT1cImNyZWF0b3IuZm9vdGVyVG9vbGJhclwiPjwvc3YtYWN0aW9uLWJhcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHN2Yy1zaWRlLWJhciBbbW9kZWxdPVwiY3JlYXRvci5zaWRlYmFyXCIgKm5nSWY9XCJjcmVhdG9yLmlzU2lkZWJhclZpc2libGVcIj48L3N2Yy1zaWRlLWJhcj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInN2Yy1jcmVhdG9yX19iYW5uZXJcIiAqbmdJZj1cIiFjcmVhdG9yLmhhdmVDb21tZXJjaWFsTGljZW5zZVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInN2Yy1jcmVhdG9yX19ub24tY29tbWVyY2lhbC10ZXh0XCIgW2lubmVySFRNTF09XCJjcmVhdG9yLmxpY2Vuc2VUZXh0IHwgc2FmZUh0bWxcIj48L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxzdi1ub3RpZmllciBbbm90aWZpZXJdPVwiY3JlYXRvci5ub3RpZmllclwiPjwvc3Ytbm90aWZpZXI+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+Il19
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY3JlYXRvci5jb21wb25lbnQudHMiLCIuLi8uLi9zcmMvY3JlYXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9DLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsV0FBVyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakcsT0FBTyxFQUFzQyxvQkFBb0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7Ozs7O0FBTS9GLE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxXQUErQjtJQUluRSxZQUFZLGlCQUFvQztRQUM5QyxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUN6QixpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBQ1MsUUFBUTtRQUNoQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUNELElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUNELDBFQUEwRTtJQUMxRSwyRUFBMkU7SUFDM0Usc0RBQXNEO0lBQ3RELElBQVcsa0JBQWtCO1FBQzNCLE1BQU0sR0FBRyxHQUFRLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDO1FBQ3RDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQzNDLENBQUM7SUFDa0IsK0JBQStCO1FBQ2hELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUNrQixjQUFjO1FBQy9CLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN2QyxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1NBQzdDO1FBQ0QsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxFQUFFO1lBQ2hELElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDM0Q7SUFDSCxDQUFDO0lBQ00sZUFBZTtRQUNwQixJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzFELEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBQ2UsV0FBVztRQUN6QixJQUFJLENBQUMsT0FBTyxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFDdEMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFDRCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDO0lBQ3hDLENBQUM7SUFDRCxVQUFVLENBQUMsQ0FBUyxFQUFFLEdBQW1CO1FBQ3ZDLE9BQU8sR0FBRyxDQUFDLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBQ0QsSUFBVyxvQkFBb0I7UUFDN0IsT0FBTyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzNELENBQUM7OzhHQWpEVSxnQkFBZ0I7a0dBQWhCLGdCQUFnQixxS0FFSyxVQUFVLG9EQ1Y1Qywrc0ZBK0NlOzRGRHZDRixnQkFBZ0I7a0JBSjVCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsV0FBVyxFQUFFLDBCQUEwQjtpQkFDeEM7d0dBRVUsS0FBSztzQkFBYixLQUFLO2dCQUN3QyxTQUFTO3NCQUF0RCxTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7O0FBa0Q5Qyx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsZUFBZSxFQUFFLHNCQUFzQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgVmlld0NoaWxkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEFuZ3VsYXJDb21wb25lbnRGYWN0b3J5LCBCYXNlQW5ndWxhciwgU3VydmV5Q29udGVudENvbXBvbmVudCB9IGZyb20gXCJzdXJ2ZXktYW5ndWxhci11aVwiO1xuaW1wb3J0IHsgU3VydmV5Q3JlYXRvck1vZGVsLCBUYWJiZWRNZW51SXRlbSwgY3NzVmFyaWFibGVzVG9TdHJpbmcgfSBmcm9tIFwic3VydmV5LWNyZWF0b3ItY29yZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwic3VydmV5LWNyZWF0b3JcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9jcmVhdG9yLmNvbXBvbmVudC5odG1sXCJcbn0pXG5leHBvcnQgY2xhc3MgQ3JlYXRvckNvbXBvbmVudCBleHRlbmRzIEJhc2VBbmd1bGFyPFN1cnZleUNyZWF0b3JNb2RlbD4gaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgQElucHV0KCkgbW9kZWwhOiBTdXJ2ZXlDcmVhdG9yTW9kZWw7XG4gIEBWaWV3Q2hpbGQoXCJjb250YWluZXJcIiwgeyByZWFkOiBFbGVtZW50UmVmIH0pIGNvbnRhaW5lciE6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuXG4gIGNvbnN0cnVjdG9yKGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIHN1cGVyKGNoYW5nZURldGVjdG9yUmVmKTtcbiAgICBjaGFuZ2VEZXRlY3RvclJlZi5kZXRhY2goKTtcbiAgfVxuICBwcm90ZWN0ZWQgZ2V0TW9kZWwoKTogU3VydmV5Q3JlYXRvck1vZGVsIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlbDtcbiAgfVxuICBwdWJsaWMgZ2V0IGNyZWF0b3IoKTogU3VydmV5Q3JlYXRvck1vZGVsIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlbDtcbiAgfVxuICAvLyBUaGUgY29sbGFib3JhdGlvbiBzdHJpcCBpcyBhIENvbXBvbmVudENvbnRhaW5lck1vZGVsIGNvbnRyaWJ1dGVkIGJ5IHRoZVxuICAvLyBwbHVnaW4uIGBjb2xsYWJCYXJgIGlzIHR5cGVkIGFzIEJhc2UgaW4gY3JlYXRvci1jb3JlIHRvIGtlZXAgdGhlIGNyZWF0b3JcbiAgLy8gZnJlZSBvZiBhIGRlcGVuZGVuY3kgb24gdGhlIHBsdWdpbiwgaGVuY2UgdGhlIGNhc3QuXG4gIHB1YmxpYyBnZXQgY29sbGFiQmFyQ29udGFpbmVyKCk6IGFueSB7XG4gICAgY29uc3QgYmFyOiBhbnkgPSB0aGlzLm1vZGVsLmNvbGxhYkJhcjtcbiAgICByZXR1cm4gISFiYXIgPyBiYXIuY29udGFpbmVyIDogdW5kZWZpbmVkO1xuICB9XG4gIHByb3RlY3RlZCBvdmVycmlkZSBnZXRTaG91bGRSZWF0dGFjaENoYW5nZURldGVjdG9yKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgb25Nb2RlbENoYW5nZWQoKTogdm9pZCB7XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgaWYgKHRoaXMucHJldmlvdXNNb2RlbCkge1xuICAgICAgdGhpcy5wcmV2aW91c01vZGVsLnVuc3Vic2NyaWJlUm9vdEVsZW1lbnQoKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuY3JlYXRvciAmJiB0aGlzLmNvbnRhaW5lci5uYXRpdmVFbGVtZW50KSB7XG4gICAgICB0aGlzLmNyZWF0b3Iuc2V0Um9vdEVsZW1lbnQodGhpcy5jb250YWluZXIubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuICB9XG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jcmVhdG9yLnNldFJvb3RFbGVtZW50KHRoaXMuY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQpO1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gIH1cbiAgcHVibGljIG92ZXJyaWRlIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuY3JlYXRvci51bnN1YnNjcmliZVJvb3RFbGVtZW50KCk7XG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgfVxuICBwdWJsaWMgZ2V0IGFjdGl2ZVRhYigpOiBUYWJiZWRNZW51SXRlbSB7XG4gICAgcmV0dXJuIHRoaXMuY3JlYXRvci5hY3RpdmVUYWJNZW51SXRlbTtcbiAgfVxuICB0cmFja1RhYkJ5KF86IG51bWJlciwgdGFiOiBUYWJiZWRNZW51SXRlbSkge1xuICAgIHJldHVybiB0YWIuaWQ7XG4gIH1cbiAgcHVibGljIGdldCB0aGVtZVZhcmlhYmxlc1N0cmluZygpOiBzdHJpbmcge1xuICAgIHJldHVybiBjc3NWYXJpYWJsZXNUb1N0cmluZyh0aGlzLmNyZWF0b3IudGhlbWVWYXJpYWJsZXMpO1xuICB9XG59XG5cbkFuZ3VsYXJDb21wb25lbnRGYWN0b3J5Lkluc3RhbmNlLnJlZ2lzdGVyQ29tcG9uZW50KFwic3VydmV5LXdpZGdldFwiLCBTdXJ2ZXlDb250ZW50Q29tcG9uZW50KTtcbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCIhY3JlYXRvci5pc0NyZWF0b3JEaXNwb3NlZFwiPlxuICA8c3YtbmctbW9kYWwtY29udGFpbmVyPjwvc3YtbmctbW9kYWwtY29udGFpbmVyPlxuICA8ZGl2IFtjbGFzc109XCJjcmVhdG9yLmdldFJvb3RDc3MoKVwiIFthdHRyLnN0eWxlXT1cInRoZW1lVmFyaWFibGVzU3RyaW5nXCIgI2NvbnRhaW5lcj5cbiAgICA8ZGl2PlxuICAgICAgPHN2LXN2Zy1idW5kbGU+PC9zdi1zdmctYnVuZGxlPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJzdmMtZnVsbC1jb250YWluZXIgc3ZjLWNyZWF0b3JfX2FyZWEgc3ZjLWZsZXgtY29sdW1uXCJcbiAgICAgIFtjbGFzcy5zdmMtY3JlYXRvcl9fYXJlYS0td2l0aC1iYW5uZXJdPVwiIWNyZWF0b3IuaGF2ZUNvbW1lcmNpYWxMaWNlbnNlXCI+XG4gICAgICA8c3ZjLWNvbXBvbmVudC1jb250YWluZXIgKm5nSWY9XCJjb2xsYWJCYXJDb250YWluZXJcIiBbbW9kZWxdPVwiY29sbGFiQmFyQ29udGFpbmVyXCI+PC9zdmMtY29tcG9uZW50LWNvbnRhaW5lcj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzdmMtZmxleC1yb3cgc3ZjLWZ1bGwtY29udGFpbmVyXCJcbiAgICAgICAgW2NsYXNzLnN2Yy1jcmVhdG9yX19zaWRlLWJhci0tbGVmdF09XCJjcmVhdG9yLnNpZGViYXJMb2NhdGlvbiA9PSAnbGVmdCdcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInN2Yy1mbGV4LWNvbHVtbiBzdmMtZmxleC1yb3dfX2VsZW1lbnQgc3ZjLWZsZXgtcm93X19lbGVtZW50LS1ncm93aW5nXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInN2Yy10b3AtYmFyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3ZjLXRhYmJlZC1tZW51LXdyYXBwZXJcIiBbdmlzaWJsZV09XCJjcmVhdG9yLnNob3dUYWJzXCI+XG4gICAgICAgICAgICAgIDxzdmMtdGFiYmVkLW1lbnUgW21vZGVsXT1cImNyZWF0b3IudGFiYmVkTWVudVwiPjwvc3ZjLXRhYmJlZC1tZW51PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY3JlYXRvci5zaG93VG9vbGJhclwiIGNsYXNzPVwic3ZjLXRvb2xiYXItd3JhcHBlclwiIFt2aXNpYmxlXT1cImNyZWF0b3Iuc2hvd1Rvb2xiYXJcIj5cbiAgICAgICAgICAgICAgPHN2LWFjdGlvbi1iYXIgW21vZGVsXT1cImNyZWF0b3IudG9vbGJhclwiPjwvc3YtYWN0aW9uLWJhcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdmMtY3JlYXRvcl9fY29udGVudC13cmFwcGVyIHN2Yy1mbGV4LXJvd1wiXG4gICAgICAgICAgICBbY2xhc3Muc3ZjLWNyZWF0b3JfX2NvbnRlbnQtd3JhcHBlci0tZm9vdGVyLXRvb2xiYXJdPVwiY3JlYXRvci5pc01vYmlsZVZpZXdcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdmMtY3JlYXRvcl9fY29udGVudC1ob2xkZXIgc3ZjLWZsZXgtY29sdW1uXCI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhIWFjdGl2ZVRhYlwiPlxuICAgICAgICAgICAgICAgIDxkaXYgcm9sZT1cInRhYnBhbmVsXCIgY2xhc3M9XCJzdmMtY3JlYXRvci10YWJcIiBbYXR0ci5pZF09XCInc2Nyb2xsYWJsZURpdi0nICsgYWN0aXZlVGFiLmlkXCJcbiAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCIndGFiLScgKyBhY3RpdmVUYWIuaWRcIlxuICAgICAgICAgICAgICAgICAgW2NsYXNzLnN2Yy1jcmVhdG9yX190b29sYm94LS1yaWdodF09XCJjcmVhdG9yLnRvb2xib3hMb2NhdGlvbiA9PSAncmlnaHQnXCI+XG4gICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICAgICAgICAgW2NvbXBvbmVudF09XCJ7IG5hbWU6IGFjdGl2ZVRhYi5jb21wb25lbnRDb250ZW50LCBkYXRhOiB7IGRhdGE6IGNyZWF0b3IsIG1vZGVsOiBhY3RpdmVUYWIuZGF0YS5tb2RlbCB9IH1cIj48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJjcmVhdG9yLmlzTW9iaWxlVmlld1wiIGNsYXNzPVwic3ZjLWZvb3Rlci1iYXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdmMtdG9vbGJhci13cmFwcGVyXCIgW3Zpc2libGVdPVwiY3JlYXRvci5pc01vYmlsZVZpZXdcIj5cbiAgICAgICAgICAgICAgPHN2LWFjdGlvbi1iYXIgW21vZGVsXT1cImNyZWF0b3IuZm9vdGVyVG9vbGJhclwiPjwvc3YtYWN0aW9uLWJhcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHN2Yy1zaWRlLWJhciBbbW9kZWxdPVwiY3JlYXRvci5zaWRlYmFyXCIgKm5nSWY9XCJjcmVhdG9yLmlzU2lkZWJhclZpc2libGVcIj48L3N2Yy1zaWRlLWJhcj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInN2Yy1jcmVhdG9yX19iYW5uZXJcIiAqbmdJZj1cIiFjcmVhdG9yLmhhdmVDb21tZXJjaWFsTGljZW5zZVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInN2Yy1jcmVhdG9yX19ub24tY29tbWVyY2lhbC10ZXh0XCIgW2lubmVySFRNTF09XCJjcmVhdG9yLmxpY2Vuc2VUZXh0IHwgc2FmZUh0bWxcIj48L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxzdi1ub3RpZmllciBbbm90aWZpZXJdPVwiY3JlYXRvci5ub3RpZmllclwiPjwvc3Ytbm90aWZpZXI+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+Il19
@@ -11,7 +11,7 @@ export class FileEditorButtonComponent extends BaseAngular {
11
11
  }
12
12
  }
13
13
  FileEditorButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FileEditorButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
14
- FileEditorButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: FileEditorButtonComponent, selector: "sv-ng-file-editor-button", inputs: { model: "model" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div>\n <label [class]=\"model.getActionBarItemCss()\" [attr.for]=\"question.inputId\" [attr.aria-label]=\"question.chooseButtonCaption\"\n (click)=\"question.chooseFiles($event)\" [key2click]>\n <svg [iconName]=\"model.iconName\" size=\"'auto'\" [title]=\"model.title\" [class]=\"model.cssClasses.itemIcon\" sv-ng-svg-icon></svg>\n </label>\n <input type=\"file\" [disabled]=\"model.disabled\" [class]=\"question.cssClasses.fileInput\" [attr.id]=\"question.inputId\"\n [attr.aria-required]=\"question.ariaRequired\" [attr.aria-label]=\"question.ariaLabel\"\n [attr.aria-invalid]=\"question.ariaInvalid\" [attr.aria-describedby]=\"question.ariaDescribedBy\" [attr.multiple]=\"false\"\n [title]=\"question.inputTitle\" [accept]=\"question.acceptedTypes\" (change)=\"question.onFileInputChange($event)\" tabindex=\"-1\">\n </div>\n</ng-template>\n", styles: ["{ :host { display: none; } }"], components: [{ type: i1.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }], directives: [{ type: i1.Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }] });
14
+ FileEditorButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: FileEditorButtonComponent, selector: "sv-ng-file-editor-button", inputs: { model: "model" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div>\n <label [class]=\"model.getActionBarItemCss()\" [attr.for]=\"question.inputId\" [attr.aria-label]=\"question.chooseButtonCaption\"\n (click)=\"question.chooseFiles($event)\" [key2click]>\n <svg [iconName]=\"model.iconName\" size=\"'auto'\" [title]=\"model.title\" [class]=\"model.cssClasses.itemIcon\" sv-ng-svg-icon></svg>\n <span class=\"sv-visuallyhidden\">{{ question.chooseButtonCaption }}</span>\n </label>\n <input type=\"file\" [disabled]=\"model.disabled\" [class]=\"question.cssClasses.fileInput\" [attr.id]=\"question.inputId\"\n [attr.aria-required]=\"question.ariaRequired\" [attr.aria-label]=\"question.ariaLabel\"\n [attr.aria-invalid]=\"question.ariaInvalid\" [attr.aria-describedby]=\"question.ariaDescribedBy\" [attr.multiple]=\"false\"\n [title]=\"question.inputTitle\" [accept]=\"question.acceptedTypes\" (change)=\"question.onFileInputChange($event)\" tabindex=\"-1\">\n </div>\n</ng-template>\n", styles: ["{ :host { display: none; } }"], components: [{ type: i1.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }], directives: [{ type: i1.Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }] });
15
15
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FileEditorButtonComponent, decorators: [{
16
16
  type: Component,
17
17
  args: [{
@@ -23,4 +23,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
23
23
  type: Input
24
24
  }] } });
25
25
  AngularComponentFactory.Instance.registerComponent("sv-fileedit-button", FileEditorButtonComponent);
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1lZGl0b3ItYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jdXN0b20tcXVlc3Rpb25zL2ZpbGUtZWRpdG9yLWJ1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi9zcmMvY3VzdG9tLXF1ZXN0aW9ucy9maWxlLWVkaXRvci1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7QUFTekUsTUFBTSxPQUFPLHlCQUEwQixTQUFRLFdBQVc7SUFFeEQsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFtQyxDQUFDO0lBQzdELENBQUM7SUFDRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7O3VIQVBVLHlCQUF5QjsyR0FBekIseUJBQXlCLG1IQ1Z0QyxtNUJBWUE7NEZERmEseUJBQXlCO2tCQUxyQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwwQkFBMEI7b0JBQ3BDLFdBQVcsRUFBRSxxQ0FBcUM7b0JBQ2xELE1BQU0sRUFBRSxDQUFDLDhCQUE4QixDQUFDO2lCQUN6Qzs4QkFFVSxLQUFLO3NCQUFiLEtBQUs7O0FBU1IsdUJBQXVCLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLG9CQUFvQixFQUFFLHlCQUF5QixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEFuZ3VsYXJDb21wb25lbnRGYWN0b3J5LCBCYXNlQW5ndWxhciB9IGZyb20gXCJzdXJ2ZXktYW5ndWxhci11aVwiO1xuaW1wb3J0IHsgQWN0aW9uIH0gZnJvbSBcInN1cnZleS1jb3JlXCI7XG5pbXBvcnQgeyBRdWVzdGlvbkZpbGVFZGl0b3JNb2RlbCB9IGZyb20gXCJzdXJ2ZXktY3JlYXRvci1jb3JlXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJzdi1uZy1maWxlLWVkaXRvci1idXR0b25cIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9maWxlLWVkaXRvci1idXR0b24uY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVzOiBbXCJ7IDpob3N0IHsgZGlzcGxheTogbm9uZTsgfSB9XCJdXG59KVxuZXhwb3J0IGNsYXNzIEZpbGVFZGl0b3JCdXR0b25Db21wb25lbnQgZXh0ZW5kcyBCYXNlQW5ndWxhciB7XG4gIEBJbnB1dCgpIG1vZGVsITogQWN0aW9uO1xuICBnZXQgcXVlc3Rpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWwuZGF0YS5xdWVzdGlvbiBhcyBRdWVzdGlvbkZpbGVFZGl0b3JNb2RlbDtcbiAgfVxuICBnZXRNb2RlbCgpIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlbDtcbiAgfVxufVxuXG5Bbmd1bGFyQ29tcG9uZW50RmFjdG9yeS5JbnN0YW5jZS5yZWdpc3RlckNvbXBvbmVudChcInN2LWZpbGVlZGl0LWJ1dHRvblwiLCBGaWxlRWRpdG9yQnV0dG9uQ29tcG9uZW50KTsiLCI8bmctdGVtcGxhdGUgI3RlbXBsYXRlPlxuICA8ZGl2PlxuICAgIDxsYWJlbCBbY2xhc3NdPVwibW9kZWwuZ2V0QWN0aW9uQmFySXRlbUNzcygpXCIgW2F0dHIuZm9yXT1cInF1ZXN0aW9uLmlucHV0SWRcIiBbYXR0ci5hcmlhLWxhYmVsXT1cInF1ZXN0aW9uLmNob29zZUJ1dHRvbkNhcHRpb25cIlxuICAgICAgKGNsaWNrKT1cInF1ZXN0aW9uLmNob29zZUZpbGVzKCRldmVudClcIiBba2V5MmNsaWNrXT5cbiAgICAgIDxzdmcgW2ljb25OYW1lXT1cIm1vZGVsLmljb25OYW1lXCIgc2l6ZT1cIidhdXRvJ1wiIFt0aXRsZV09XCJtb2RlbC50aXRsZVwiIFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLml0ZW1JY29uXCIgc3Ytbmctc3ZnLWljb24+PC9zdmc+XG4gICAgPC9sYWJlbD5cbiAgICA8aW5wdXQgdHlwZT1cImZpbGVcIiBbZGlzYWJsZWRdPVwibW9kZWwuZGlzYWJsZWRcIiBbY2xhc3NdPVwicXVlc3Rpb24uY3NzQ2xhc3Nlcy5maWxlSW5wdXRcIiBbYXR0ci5pZF09XCJxdWVzdGlvbi5pbnB1dElkXCJcbiAgICAgICAgW2F0dHIuYXJpYS1yZXF1aXJlZF09XCJxdWVzdGlvbi5hcmlhUmVxdWlyZWRcIiBbYXR0ci5hcmlhLWxhYmVsXT1cInF1ZXN0aW9uLmFyaWFMYWJlbFwiXG4gICAgICAgIFthdHRyLmFyaWEtaW52YWxpZF09XCJxdWVzdGlvbi5hcmlhSW52YWxpZFwiIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwicXVlc3Rpb24uYXJpYURlc2NyaWJlZEJ5XCIgW2F0dHIubXVsdGlwbGVdPVwiZmFsc2VcIlxuICAgICAgICBbdGl0bGVdPVwicXVlc3Rpb24uaW5wdXRUaXRsZVwiIFthY2NlcHRdPVwicXVlc3Rpb24uYWNjZXB0ZWRUeXBlc1wiIChjaGFuZ2UpPVwicXVlc3Rpb24ub25GaWxlSW5wdXRDaGFuZ2UoJGV2ZW50KVwiIHRhYmluZGV4PVwiLTFcIj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1lZGl0b3ItYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jdXN0b20tcXVlc3Rpb25zL2ZpbGUtZWRpdG9yLWJ1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi9zcmMvY3VzdG9tLXF1ZXN0aW9ucy9maWxlLWVkaXRvci1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7QUFTekUsTUFBTSxPQUFPLHlCQUEwQixTQUFRLFdBQVc7SUFFeEQsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFtQyxDQUFDO0lBQzdELENBQUM7SUFDRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7O3VIQVBVLHlCQUF5QjsyR0FBekIseUJBQXlCLG1IQ1Z0QyxzK0JBYUE7NEZESGEseUJBQXlCO2tCQUxyQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwwQkFBMEI7b0JBQ3BDLFdBQVcsRUFBRSxxQ0FBcUM7b0JBQ2xELE1BQU0sRUFBRSxDQUFDLDhCQUE4QixDQUFDO2lCQUN6Qzs4QkFFVSxLQUFLO3NCQUFiLEtBQUs7O0FBU1IsdUJBQXVCLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLG9CQUFvQixFQUFFLHlCQUF5QixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEFuZ3VsYXJDb21wb25lbnRGYWN0b3J5LCBCYXNlQW5ndWxhciB9IGZyb20gXCJzdXJ2ZXktYW5ndWxhci11aVwiO1xuaW1wb3J0IHsgQWN0aW9uIH0gZnJvbSBcInN1cnZleS1jb3JlXCI7XG5pbXBvcnQgeyBRdWVzdGlvbkZpbGVFZGl0b3JNb2RlbCB9IGZyb20gXCJzdXJ2ZXktY3JlYXRvci1jb3JlXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJzdi1uZy1maWxlLWVkaXRvci1idXR0b25cIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9maWxlLWVkaXRvci1idXR0b24uY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVzOiBbXCJ7IDpob3N0IHsgZGlzcGxheTogbm9uZTsgfSB9XCJdXG59KVxuZXhwb3J0IGNsYXNzIEZpbGVFZGl0b3JCdXR0b25Db21wb25lbnQgZXh0ZW5kcyBCYXNlQW5ndWxhciB7XG4gIEBJbnB1dCgpIG1vZGVsITogQWN0aW9uO1xuICBnZXQgcXVlc3Rpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWwuZGF0YS5xdWVzdGlvbiBhcyBRdWVzdGlvbkZpbGVFZGl0b3JNb2RlbDtcbiAgfVxuICBnZXRNb2RlbCgpIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlbDtcbiAgfVxufVxuXG5Bbmd1bGFyQ29tcG9uZW50RmFjdG9yeS5JbnN0YW5jZS5yZWdpc3RlckNvbXBvbmVudChcInN2LWZpbGVlZGl0LWJ1dHRvblwiLCBGaWxlRWRpdG9yQnV0dG9uQ29tcG9uZW50KTsiLCI8bmctdGVtcGxhdGUgI3RlbXBsYXRlPlxuICA8ZGl2PlxuICAgIDxsYWJlbCBbY2xhc3NdPVwibW9kZWwuZ2V0QWN0aW9uQmFySXRlbUNzcygpXCIgW2F0dHIuZm9yXT1cInF1ZXN0aW9uLmlucHV0SWRcIiBbYXR0ci5hcmlhLWxhYmVsXT1cInF1ZXN0aW9uLmNob29zZUJ1dHRvbkNhcHRpb25cIlxuICAgICAgKGNsaWNrKT1cInF1ZXN0aW9uLmNob29zZUZpbGVzKCRldmVudClcIiBba2V5MmNsaWNrXT5cbiAgICAgIDxzdmcgW2ljb25OYW1lXT1cIm1vZGVsLmljb25OYW1lXCIgc2l6ZT1cIidhdXRvJ1wiIFt0aXRsZV09XCJtb2RlbC50aXRsZVwiIFtjbGFzc109XCJtb2RlbC5jc3NDbGFzc2VzLml0ZW1JY29uXCIgc3Ytbmctc3ZnLWljb24+PC9zdmc+XG4gICAgICA8c3BhbiBjbGFzcz1cInN2LXZpc3VhbGx5aGlkZGVuXCI+e3sgcXVlc3Rpb24uY2hvb3NlQnV0dG9uQ2FwdGlvbiB9fTwvc3Bhbj5cbiAgICA8L2xhYmVsPlxuICAgIDxpbnB1dCB0eXBlPVwiZmlsZVwiIFtkaXNhYmxlZF09XCJtb2RlbC5kaXNhYmxlZFwiIFtjbGFzc109XCJxdWVzdGlvbi5jc3NDbGFzc2VzLmZpbGVJbnB1dFwiIFthdHRyLmlkXT1cInF1ZXN0aW9uLmlucHV0SWRcIlxuICAgICAgICBbYXR0ci5hcmlhLXJlcXVpcmVkXT1cInF1ZXN0aW9uLmFyaWFSZXF1aXJlZFwiIFthdHRyLmFyaWEtbGFiZWxdPVwicXVlc3Rpb24uYXJpYUxhYmVsXCJcbiAgICAgICAgW2F0dHIuYXJpYS1pbnZhbGlkXT1cInF1ZXN0aW9uLmFyaWFJbnZhbGlkXCIgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJxdWVzdGlvbi5hcmlhRGVzY3JpYmVkQnlcIiBbYXR0ci5tdWx0aXBsZV09XCJmYWxzZVwiXG4gICAgICAgIFt0aXRsZV09XCJxdWVzdGlvbi5pbnB1dFRpdGxlXCIgW2FjY2VwdF09XCJxdWVzdGlvbi5hY2NlcHRlZFR5cGVzXCIgKGNoYW5nZSk9XCJxdWVzdGlvbi5vbkZpbGVJbnB1dENoYW5nZSgkZXZlbnQpXCIgdGFiaW5kZXg9XCItMVwiPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -0,0 +1,32 @@
1
+ import { Component, Input } from "@angular/core";
2
+ import { AngularComponentFactory, BaseAngular } from "survey-angular-ui";
3
+ import { getTranslationLocaleProgress, translationLocaleItemComponentName } from "survey-creator-core";
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "survey-angular-ui";
6
+ import * as i2 from "@angular/common";
7
+ // An item of the target language dropdown: the language name and, at the right edge, how much of
8
+ // the survey is already translated into it. The counts are precomputed on the choices themselves
9
+ // (see updateTargetLocaleChoices) - a language with no translations carries none. The angular list
10
+ // item passes the item itself as "model" (react and vue pass it as "item").
11
+ export class TranslationLocaleItemComponent extends BaseAngular {
12
+ getModel() {
13
+ return this.model;
14
+ }
15
+ get progress() {
16
+ return getTranslationLocaleProgress(this.model);
17
+ }
18
+ }
19
+ TranslationLocaleItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TranslationLocaleItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
20
+ TranslationLocaleItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TranslationLocaleItemComponent, selector: "svc-translation-locale-item", inputs: { model: "model" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div class=\"svc-translation-locale-item\">\n <span class=\"svc-translation-locale-item__name\">\n <sv-ng-string [model]=\"model.locTitle\"></sv-ng-string>\n </span>\n <span *ngIf=\"!!progress\" class=\"svc-translation-locale-item__progress\">{{ progress }}</span>\n </div>\n</ng-template>\n", styles: [":host { display: none }"], components: [{ type: i1.SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TranslationLocaleItemComponent, decorators: [{
22
+ type: Component,
23
+ args: [{
24
+ selector: "svc-translation-locale-item",
25
+ templateUrl: "./translation-locale-item.component.html",
26
+ styles: [":host { display: none }"]
27
+ }]
28
+ }], propDecorators: { model: [{
29
+ type: Input
30
+ }] } });
31
+ AngularComponentFactory.Instance.registerComponent(translationLocaleItemComponentName, TranslationLocaleItemComponent);
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24tbG9jYWxlLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3RhYnMvdHJhbnNsYXRpb24vdHJhbnNsYXRpb24tbG9jYWxlLWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vc3JjL3RhYnMvdHJhbnNsYXRpb24vdHJhbnNsYXRpb24tbG9jYWxlLWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXpFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7O0FBRXZHLGlHQUFpRztBQUNqRyxpR0FBaUc7QUFDakcsbUdBQW1HO0FBQ25HLDRFQUE0RTtBQU01RSxNQUFNLE9BQU8sOEJBQStCLFNBQVEsV0FBc0I7SUFFckQsUUFBUTtRQUN6QixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUNELElBQVcsUUFBUTtRQUNqQixPQUFPLDRCQUE0QixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsRCxDQUFDOzs0SEFQVSw4QkFBOEI7Z0hBQTlCLDhCQUE4QixzSENkM0MsK1VBUUE7NEZETWEsOEJBQThCO2tCQUwxQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSw2QkFBNkI7b0JBQ3ZDLFdBQVcsRUFBRSwwQ0FBMEM7b0JBQ3ZELE1BQU0sRUFBRSxDQUFDLHlCQUF5QixDQUFDO2lCQUNwQzs4QkFFVSxLQUFLO3NCQUFiLEtBQUs7O0FBU1IsdUJBQXVCLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLGtDQUFrQyxFQUFFLDhCQUE4QixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEFuZ3VsYXJDb21wb25lbnRGYWN0b3J5LCBCYXNlQW5ndWxhciB9IGZyb20gXCJzdXJ2ZXktYW5ndWxhci11aVwiO1xuaW1wb3J0IHsgSXRlbVZhbHVlIH0gZnJvbSBcInN1cnZleS1jb3JlXCI7XG5pbXBvcnQgeyBnZXRUcmFuc2xhdGlvbkxvY2FsZVByb2dyZXNzLCB0cmFuc2xhdGlvbkxvY2FsZUl0ZW1Db21wb25lbnROYW1lIH0gZnJvbSBcInN1cnZleS1jcmVhdG9yLWNvcmVcIjtcblxuLy8gQW4gaXRlbSBvZiB0aGUgdGFyZ2V0IGxhbmd1YWdlIGRyb3Bkb3duOiB0aGUgbGFuZ3VhZ2UgbmFtZSBhbmQsIGF0IHRoZSByaWdodCBlZGdlLCBob3cgbXVjaCBvZlxuLy8gdGhlIHN1cnZleSBpcyBhbHJlYWR5IHRyYW5zbGF0ZWQgaW50byBpdC4gVGhlIGNvdW50cyBhcmUgcHJlY29tcHV0ZWQgb24gdGhlIGNob2ljZXMgdGhlbXNlbHZlc1xuLy8gKHNlZSB1cGRhdGVUYXJnZXRMb2NhbGVDaG9pY2VzKSAtIGEgbGFuZ3VhZ2Ugd2l0aCBubyB0cmFuc2xhdGlvbnMgY2FycmllcyBub25lLiBUaGUgYW5ndWxhciBsaXN0XG4vLyBpdGVtIHBhc3NlcyB0aGUgaXRlbSBpdHNlbGYgYXMgXCJtb2RlbFwiIChyZWFjdCBhbmQgdnVlIHBhc3MgaXQgYXMgXCJpdGVtXCIpLlxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInN2Yy10cmFuc2xhdGlvbi1sb2NhbGUtaXRlbVwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL3RyYW5zbGF0aW9uLWxvY2FsZS1pdGVtLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlczogW1wiOmhvc3QgeyBkaXNwbGF5OiBub25lIH1cIl1cbn0pXG5leHBvcnQgY2xhc3MgVHJhbnNsYXRpb25Mb2NhbGVJdGVtQ29tcG9uZW50IGV4dGVuZHMgQmFzZUFuZ3VsYXI8SXRlbVZhbHVlPiB7XG4gIEBJbnB1dCgpIG1vZGVsITogSXRlbVZhbHVlO1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZ2V0TW9kZWwoKTogSXRlbVZhbHVlIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlbDtcbiAgfVxuICBwdWJsaWMgZ2V0IHByb2dyZXNzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGdldFRyYW5zbGF0aW9uTG9jYWxlUHJvZ3Jlc3ModGhpcy5tb2RlbCk7XG4gIH1cbn1cblxuQW5ndWxhckNvbXBvbmVudEZhY3RvcnkuSW5zdGFuY2UucmVnaXN0ZXJDb21wb25lbnQodHJhbnNsYXRpb25Mb2NhbGVJdGVtQ29tcG9uZW50TmFtZSwgVHJhbnNsYXRpb25Mb2NhbGVJdGVtQ29tcG9uZW50KTtcbiIsIjxuZy10ZW1wbGF0ZSAjdGVtcGxhdGU+XG4gIDxkaXYgY2xhc3M9XCJzdmMtdHJhbnNsYXRpb24tbG9jYWxlLWl0ZW1cIj5cbiAgICA8c3BhbiBjbGFzcz1cInN2Yy10cmFuc2xhdGlvbi1sb2NhbGUtaXRlbV9fbmFtZVwiPlxuICAgICAgPHN2LW5nLXN0cmluZyBbbW9kZWxdPVwibW9kZWwubG9jVGl0bGVcIj48L3N2LW5nLXN0cmluZz5cbiAgICA8L3NwYW4+XG4gICAgPHNwYW4gKm5nSWY9XCIhIXByb2dyZXNzXCIgY2xhc3M9XCJzdmMtdHJhbnNsYXRpb24tbG9jYWxlLWl0ZW1fX3Byb2dyZXNzXCI+e3sgcHJvZ3Jlc3MgfX08L3NwYW4+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -1,4 +1,4 @@
1
- import { Component, Input } from "@angular/core";
1
+ import { Component, Input, ViewChild } from "@angular/core";
2
2
  import { AngularComponentFactory, BaseAngular } from "survey-angular-ui";
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "../../components/surface-placeholder.component";
@@ -8,6 +8,22 @@ export class TranslationTabComponent extends BaseAngular {
8
8
  getModel() {
9
9
  return this.model;
10
10
  }
11
+ get sideBySideModel() {
12
+ return this.model.isSideBySideForms ? this.model : undefined;
13
+ }
14
+ // The setters also fire with undefined when *ngIf removes the panes, which detaches the listeners.
15
+ set sourceScrollContainer(ref) {
16
+ var _a;
17
+ (_a = this.sideBySideModel) === null || _a === void 0 ? void 0 : _a.setSourceScrollElement(ref ? ref.nativeElement : undefined);
18
+ }
19
+ set targetScrollContainer(ref) {
20
+ var _a;
21
+ (_a = this.sideBySideModel) === null || _a === void 0 ? void 0 : _a.setTargetScrollElement(ref ? ref.nativeElement : undefined);
22
+ }
23
+ // The strings-grid model: the tab model itself in the default mode and in the side-by-side grid view.
24
+ get stringsModel() {
25
+ return this.sideBySideModel ? undefined : this.model;
26
+ }
11
27
  // The strings survey is fully recreated on reset(). Its elements keep deterministic ids across
12
28
  // instances, so *ngFor's element trackBy would reuse the disposed survey's (lazy-skeleton) rows.
13
29
  // Keying the survey-content by the per-instance elementIdPrefix forces Angular to recreate it.
@@ -16,7 +32,7 @@ export class TranslationTabComponent extends BaseAngular {
16
32
  }
17
33
  }
18
34
  TranslationTabComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TranslationTabComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
19
- TranslationTabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TranslationTabComponent, selector: "svc-tab-translation", inputs: { model: "model" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div class=\"svc-creator-tab__content svc-translation-tab\" [class]=\"model.isEmpty ? 'svc-translation-tab--empty' : ''\">\n <svc-surface-placeholder *ngIf=\"model.isEmpty\" [name]=\"'translation'\"\n [placeholderTitleText]=\"model.placeholderTitleText\"\n [placeholderDescriptionText]=\"model.placeholderDescriptionText\">\n </svc-surface-placeholder>\n <div *ngIf=\"!model.isEmpty\" class=\"st-content\">\n <div class=\"svc-flex-column st-strings-wrapper\">\n <div class=\"svc-flex-row st-strings-header\">\n <ng-container *ngFor=\"let s of [model.stringsHeaderSurvey]; trackBy: trackStringsSurveyBy\">\n <survey-content [model]=\"s\"></survey-content>\n </ng-container>\n </div>\n <div class=\"svc-flex-row svc-plugin-tab__content st-strings\">\n <ng-container *ngFor=\"let s of [model.stringsSurvey]; trackBy: trackStringsSurveyBy\">\n <survey-content [model]=\"s\"></survey-content>\n </ng-container>\n </div>\n </div>\n </div>\n </div>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: i1.SurfacePlaceholderComponent, selector: "svc-surface-placeholder", inputs: ["name", "placeholderTitleText", "placeholderDescriptionText"] }, { type: i2.SurveyContentComponent, selector: "survey-content", inputs: ["model"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
35
+ TranslationTabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TranslationTabComponent, selector: "svc-tab-translation", inputs: { model: "model" }, viewQueries: [{ propertyName: "sourceScrollContainer", first: true, predicate: ["sourceScrollContainer"], descendants: true }, { propertyName: "targetScrollContainer", first: true, predicate: ["targetScrollContainer"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div class=\"svc-creator-tab__content svc-translation-tab\" [class]=\"model.isEmpty ? 'svc-translation-tab--empty' : ''\">\n <svc-surface-placeholder *ngIf=\"model.isEmpty\" [name]=\"'translation'\"\n [placeholderTitleText]=\"model.placeholderTitleText\"\n [placeholderDescriptionText]=\"model.placeholderDescriptionText\">\n </svc-surface-placeholder>\n <ng-container *ngIf=\"!model.isEmpty\">\n <div *ngIf=\"stringsModel\" class=\"st-content\">\n <div class=\"svc-flex-column st-strings-wrapper\">\n <div class=\"svc-flex-row st-strings-header\">\n <ng-container *ngFor=\"let s of [stringsModel.stringsHeaderSurvey]; trackBy: trackStringsSurveyBy\">\n <survey-content [model]=\"s\"></survey-content>\n </ng-container>\n </div>\n <div class=\"svc-flex-row svc-plugin-tab__content st-strings\">\n <ng-container *ngFor=\"let s of [stringsModel.stringsSurvey]; trackBy: trackStringsSurveyBy\">\n <survey-content [model]=\"s\"></survey-content>\n </ng-container>\n </div>\n </div>\n </div>\n <div *ngIf=\"sideBySideModel\" class=\"st-side-by-side\"\n [class]=\"sideBySideModel.targetSurvey ? '' : 'st-side-by-side--no-target'\">\n <div class=\"st-side-by-side__source\" #sourceScrollContainer>\n <ng-container *ngFor=\"let s of [sideBySideModel.sourceSurvey]; trackBy: trackStringsSurveyBy\">\n <survey-content [model]=\"s\"></survey-content>\n </ng-container>\n </div>\n <div *ngIf=\"sideBySideModel.targetSurvey\" class=\"st-side-by-side__target\" #targetScrollContainer>\n <ng-container *ngFor=\"let s of [sideBySideModel.targetSurvey]; trackBy: trackStringsSurveyBy\">\n <survey-content [model]=\"s\"></survey-content>\n </ng-container>\n </div>\n </div>\n </ng-container>\n </div>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: i1.SurfacePlaceholderComponent, selector: "svc-surface-placeholder", inputs: ["name", "placeholderTitleText", "placeholderDescriptionText"] }, { type: i2.SurveyContentComponent, selector: "survey-content", inputs: ["model"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
20
36
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TranslationTabComponent, decorators: [{
21
37
  type: Component,
22
38
  args: [{
@@ -26,6 +42,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
26
42
  }]
27
43
  }], propDecorators: { model: [{
28
44
  type: Input
45
+ }], sourceScrollContainer: [{
46
+ type: ViewChild,
47
+ args: ["sourceScrollContainer"]
48
+ }], targetScrollContainer: [{
49
+ type: ViewChild,
50
+ args: ["targetScrollContainer"]
29
51
  }] } });
30
52
  AngularComponentFactory.Instance.registerComponent("svc-tab-translation", TranslationTabComponent);
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3RhYnMvdHJhbnNsYXRpb24vdHJhbnNsYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vc3JjL3RhYnMvdHJhbnNsYXRpb24vdHJhbnNsYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7OztBQVF6RSxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsV0FBd0I7SUFHekQsUUFBUTtRQUNoQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUNELCtGQUErRjtJQUMvRixpR0FBaUc7SUFDakcsK0ZBQStGO0lBQ3hGLG9CQUFvQixDQUFDLENBQVMsRUFBRSxNQUFXO1FBQ2hELE9BQU8sQ0FBQSxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsZUFBZSxLQUFJLEVBQUUsQ0FBQztJQUN2QyxDQUFDOztxSEFYVSx1QkFBdUI7eUdBQXZCLHVCQUF1Qiw4R0NUcEMsaWxDQXFCYzs0RkRaRCx1QkFBdUI7a0JBTG5DLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsV0FBVyxFQUFFLDhCQUE4QjtvQkFDM0MsTUFBTSxFQUFFLENBQUMsMEJBQTBCLENBQUM7aUJBQ3JDOzhCQUVVLEtBQUs7c0JBQWIsS0FBSzs7QUFZUix1QkFBdUIsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMscUJBQXFCLEVBQUUsdUJBQXVCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQW5ndWxhckNvbXBvbmVudEZhY3RvcnksIEJhc2VBbmd1bGFyIH0gZnJvbSBcInN1cnZleS1hbmd1bGFyLXVpXCI7XG5pbXBvcnQgeyBUcmFuc2xhdGlvbiB9IGZyb20gXCJzdXJ2ZXktY3JlYXRvci1jb3JlXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJzdmMtdGFiLXRyYW5zbGF0aW9uXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vdHJhbnNsYXRpb24uY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVzOiBbXCI6aG9zdCB7IGRpc3BsYXk6IG5vbmU7IH1cIl1cbn0pXG5leHBvcnQgY2xhc3MgVHJhbnNsYXRpb25UYWJDb21wb25lbnQgZXh0ZW5kcyBCYXNlQW5ndWxhcjxUcmFuc2xhdGlvbj4ge1xuICBASW5wdXQoKSBtb2RlbCE6IFRyYW5zbGF0aW9uO1xuXG4gIHByb3RlY3RlZCBnZXRNb2RlbCgpOiBUcmFuc2xhdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMubW9kZWw7XG4gIH1cbiAgLy8gVGhlIHN0cmluZ3Mgc3VydmV5IGlzIGZ1bGx5IHJlY3JlYXRlZCBvbiByZXNldCgpLiBJdHMgZWxlbWVudHMga2VlcCBkZXRlcm1pbmlzdGljIGlkcyBhY3Jvc3NcbiAgLy8gaW5zdGFuY2VzLCBzbyAqbmdGb3IncyBlbGVtZW50IHRyYWNrQnkgd291bGQgcmV1c2UgdGhlIGRpc3Bvc2VkIHN1cnZleSdzIChsYXp5LXNrZWxldG9uKSByb3dzLlxuICAvLyBLZXlpbmcgdGhlIHN1cnZleS1jb250ZW50IGJ5IHRoZSBwZXItaW5zdGFuY2UgZWxlbWVudElkUHJlZml4IGZvcmNlcyBBbmd1bGFyIHRvIHJlY3JlYXRlIGl0LlxuICBwdWJsaWMgdHJhY2tTdHJpbmdzU3VydmV5QnkoXzogbnVtYmVyLCBzdXJ2ZXk6IGFueSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHN1cnZleT8uZWxlbWVudElkUHJlZml4IHx8IFwiXCI7XG4gIH1cbn1cbkFuZ3VsYXJDb21wb25lbnRGYWN0b3J5Lkluc3RhbmNlLnJlZ2lzdGVyQ29tcG9uZW50KFwic3ZjLXRhYi10cmFuc2xhdGlvblwiLCBUcmFuc2xhdGlvblRhYkNvbXBvbmVudCk7XG5cbiIsIjxuZy10ZW1wbGF0ZSAjdGVtcGxhdGU+XG4gIDxkaXYgY2xhc3M9XCJzdmMtY3JlYXRvci10YWJfX2NvbnRlbnQgc3ZjLXRyYW5zbGF0aW9uLXRhYlwiIFtjbGFzc109XCJtb2RlbC5pc0VtcHR5ID8gJ3N2Yy10cmFuc2xhdGlvbi10YWItLWVtcHR5JyA6ICcnXCI+XG4gICAgPHN2Yy1zdXJmYWNlLXBsYWNlaG9sZGVyICpuZ0lmPVwibW9kZWwuaXNFbXB0eVwiIFtuYW1lXT1cIid0cmFuc2xhdGlvbidcIlxuICAgICAgW3BsYWNlaG9sZGVyVGl0bGVUZXh0XT1cIm1vZGVsLnBsYWNlaG9sZGVyVGl0bGVUZXh0XCJcbiAgICAgIFtwbGFjZWhvbGRlckRlc2NyaXB0aW9uVGV4dF09XCJtb2RlbC5wbGFjZWhvbGRlckRlc2NyaXB0aW9uVGV4dFwiPlxuICAgIDwvc3ZjLXN1cmZhY2UtcGxhY2Vob2xkZXI+XG4gICAgPGRpdiAqbmdJZj1cIiFtb2RlbC5pc0VtcHR5XCIgY2xhc3M9XCJzdC1jb250ZW50XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwic3ZjLWZsZXgtY29sdW1uIHN0LXN0cmluZ3Mtd3JhcHBlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic3ZjLWZsZXgtcm93IHN0LXN0cmluZ3MtaGVhZGVyXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcyBvZiBbbW9kZWwuc3RyaW5nc0hlYWRlclN1cnZleV07IHRyYWNrQnk6IHRyYWNrU3RyaW5nc1N1cnZleUJ5XCI+XG4gICAgICAgICAgICA8c3VydmV5LWNvbnRlbnQgW21vZGVsXT1cInNcIj48L3N1cnZleS1jb250ZW50PlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInN2Yy1mbGV4LXJvdyBzdmMtcGx1Z2luLXRhYl9fY29udGVudCBzdC1zdHJpbmdzXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcyBvZiBbbW9kZWwuc3RyaW5nc1N1cnZleV07IHRyYWNrQnk6IHRyYWNrU3RyaW5nc1N1cnZleUJ5XCI+XG4gICAgICAgICAgICA8c3VydmV5LWNvbnRlbnQgW21vZGVsXT1cInNcIj48L3N1cnZleS1jb250ZW50PlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+Il19
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3RhYnMvdHJhbnNsYXRpb24vdHJhbnNsYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vc3JjL3RhYnMvdHJhbnNsYXRpb24vdHJhbnNsYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxXQUFXLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7QUFRekUsTUFBTSxPQUFPLHVCQUF3QixTQUFRLFdBQTRCO0lBRzdELFFBQVE7UUFDaEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFDRCxJQUFXLGVBQWU7UUFDeEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBd0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQ3RGLENBQUM7SUFDRCxtR0FBbUc7SUFDbkcsSUFBd0MscUJBQXFCLENBQUMsR0FBd0M7O1FBQ3BHLE1BQUEsSUFBSSxDQUFDLGVBQWUsMENBQUUsc0JBQXNCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxTQUFnQixDQUFDLENBQUM7SUFDM0YsQ0FBQztJQUNELElBQXdDLHFCQUFxQixDQUFDLEdBQXdDOztRQUNwRyxNQUFBLElBQUksQ0FBQyxlQUFlLDBDQUFFLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsU0FBZ0IsQ0FBQyxDQUFDO0lBQzNGLENBQUM7SUFDRCxzR0FBc0c7SUFDdEcsSUFBVyxZQUFZO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3ZELENBQUM7SUFDRCwrRkFBK0Y7SUFDL0YsaUdBQWlHO0lBQ2pHLCtGQUErRjtJQUN4RixvQkFBb0IsQ0FBQyxDQUFTLEVBQUUsTUFBVztRQUNoRCxPQUFPLENBQUEsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLGVBQWUsS0FBSSxFQUFFLENBQUM7SUFDdkMsQ0FBQzs7cUhBekJVLHVCQUF1Qjt5R0FBdkIsdUJBQXVCLCtWQ1RwQywrN0RBb0NjOzRGRDNCRCx1QkFBdUI7a0JBTG5DLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsV0FBVyxFQUFFLDhCQUE4QjtvQkFDM0MsTUFBTSxFQUFFLENBQUMsMEJBQTBCLENBQUM7aUJBQ3JDOzhCQUVVLEtBQUs7c0JBQWIsS0FBSztnQkFTa0MscUJBQXFCO3NCQUE1RCxTQUFTO3VCQUFDLHVCQUF1QjtnQkFHTSxxQkFBcUI7c0JBQTVELFNBQVM7dUJBQUMsdUJBQXVCOztBQWNwQyx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMscUJBQXFCLEVBQUUsdUJBQXVCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIFZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBBbmd1bGFyQ29tcG9uZW50RmFjdG9yeSwgQmFzZUFuZ3VsYXIgfSBmcm9tIFwic3VydmV5LWFuZ3VsYXItdWlcIjtcbmltcG9ydCB7IFRyYW5zbGF0aW9uQmFzZSwgVHJhbnNsYXRpb25TaWRlQnlTaWRlIH0gZnJvbSBcInN1cnZleS1jcmVhdG9yLWNvcmVcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInN2Yy10YWItdHJhbnNsYXRpb25cIixcbiAgdGVtcGxhdGVVcmw6IFwiLi90cmFuc2xhdGlvbi5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZXM6IFtcIjpob3N0IHsgZGlzcGxheTogbm9uZTsgfVwiXVxufSlcbmV4cG9ydCBjbGFzcyBUcmFuc2xhdGlvblRhYkNvbXBvbmVudCBleHRlbmRzIEJhc2VBbmd1bGFyPFRyYW5zbGF0aW9uQmFzZT4ge1xuICBASW5wdXQoKSBtb2RlbCE6IFRyYW5zbGF0aW9uQmFzZTtcblxuICBwcm90ZWN0ZWQgZ2V0TW9kZWwoKTogVHJhbnNsYXRpb25CYXNlIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlbDtcbiAgfVxuICBwdWJsaWMgZ2V0IHNpZGVCeVNpZGVNb2RlbCgpOiBUcmFuc2xhdGlvblNpZGVCeVNpZGUgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLm1vZGVsLmlzU2lkZUJ5U2lkZUZvcm1zID8gPFRyYW5zbGF0aW9uU2lkZUJ5U2lkZT50aGlzLm1vZGVsIDogdW5kZWZpbmVkO1xuICB9XG4gIC8vIFRoZSBzZXR0ZXJzIGFsc28gZmlyZSB3aXRoIHVuZGVmaW5lZCB3aGVuICpuZ0lmIHJlbW92ZXMgdGhlIHBhbmVzLCB3aGljaCBkZXRhY2hlcyB0aGUgbGlzdGVuZXJzLlxuICBAVmlld0NoaWxkKFwic291cmNlU2Nyb2xsQ29udGFpbmVyXCIpIHNldCBzb3VyY2VTY3JvbGxDb250YWluZXIocmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PiB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuc2lkZUJ5U2lkZU1vZGVsPy5zZXRTb3VyY2VTY3JvbGxFbGVtZW50KHJlZiA/IHJlZi5uYXRpdmVFbGVtZW50IDogdW5kZWZpbmVkIGFzIGFueSk7XG4gIH1cbiAgQFZpZXdDaGlsZChcInRhcmdldFNjcm9sbENvbnRhaW5lclwiKSBzZXQgdGFyZ2V0U2Nyb2xsQ29udGFpbmVyKHJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4gfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLnNpZGVCeVNpZGVNb2RlbD8uc2V0VGFyZ2V0U2Nyb2xsRWxlbWVudChyZWYgPyByZWYubmF0aXZlRWxlbWVudCA6IHVuZGVmaW5lZCBhcyBhbnkpO1xuICB9XG4gIC8vIFRoZSBzdHJpbmdzLWdyaWQgbW9kZWw6IHRoZSB0YWIgbW9kZWwgaXRzZWxmIGluIHRoZSBkZWZhdWx0IG1vZGUgYW5kIGluIHRoZSBzaWRlLWJ5LXNpZGUgZ3JpZCB2aWV3LlxuICBwdWJsaWMgZ2V0IHN0cmluZ3NNb2RlbCgpOiBUcmFuc2xhdGlvbkJhc2UgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLnNpZGVCeVNpZGVNb2RlbCA/IHVuZGVmaW5lZCA6IHRoaXMubW9kZWw7XG4gIH1cbiAgLy8gVGhlIHN0cmluZ3Mgc3VydmV5IGlzIGZ1bGx5IHJlY3JlYXRlZCBvbiByZXNldCgpLiBJdHMgZWxlbWVudHMga2VlcCBkZXRlcm1pbmlzdGljIGlkcyBhY3Jvc3NcbiAgLy8gaW5zdGFuY2VzLCBzbyAqbmdGb3IncyBlbGVtZW50IHRyYWNrQnkgd291bGQgcmV1c2UgdGhlIGRpc3Bvc2VkIHN1cnZleSdzIChsYXp5LXNrZWxldG9uKSByb3dzLlxuICAvLyBLZXlpbmcgdGhlIHN1cnZleS1jb250ZW50IGJ5IHRoZSBwZXItaW5zdGFuY2UgZWxlbWVudElkUHJlZml4IGZvcmNlcyBBbmd1bGFyIHRvIHJlY3JlYXRlIGl0LlxuICBwdWJsaWMgdHJhY2tTdHJpbmdzU3VydmV5QnkoXzogbnVtYmVyLCBzdXJ2ZXk6IGFueSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHN1cnZleT8uZWxlbWVudElkUHJlZml4IHx8IFwiXCI7XG4gIH1cbn1cbkFuZ3VsYXJDb21wb25lbnRGYWN0b3J5Lkluc3RhbmNlLnJlZ2lzdGVyQ29tcG9uZW50KFwic3ZjLXRhYi10cmFuc2xhdGlvblwiLCBUcmFuc2xhdGlvblRhYkNvbXBvbmVudCk7XG5cbiIsIjxuZy10ZW1wbGF0ZSAjdGVtcGxhdGU+XG4gIDxkaXYgY2xhc3M9XCJzdmMtY3JlYXRvci10YWJfX2NvbnRlbnQgc3ZjLXRyYW5zbGF0aW9uLXRhYlwiIFtjbGFzc109XCJtb2RlbC5pc0VtcHR5ID8gJ3N2Yy10cmFuc2xhdGlvbi10YWItLWVtcHR5JyA6ICcnXCI+XG4gICAgPHN2Yy1zdXJmYWNlLXBsYWNlaG9sZGVyICpuZ0lmPVwibW9kZWwuaXNFbXB0eVwiIFtuYW1lXT1cIid0cmFuc2xhdGlvbidcIlxuICAgICAgW3BsYWNlaG9sZGVyVGl0bGVUZXh0XT1cIm1vZGVsLnBsYWNlaG9sZGVyVGl0bGVUZXh0XCJcbiAgICAgIFtwbGFjZWhvbGRlckRlc2NyaXB0aW9uVGV4dF09XCJtb2RlbC5wbGFjZWhvbGRlckRlc2NyaXB0aW9uVGV4dFwiPlxuICAgIDwvc3ZjLXN1cmZhY2UtcGxhY2Vob2xkZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFtb2RlbC5pc0VtcHR5XCI+XG4gICAgICA8ZGl2ICpuZ0lmPVwic3RyaW5nc01vZGVsXCIgY2xhc3M9XCJzdC1jb250ZW50XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzdmMtZmxleC1jb2x1bW4gc3Qtc3RyaW5ncy13cmFwcGVyXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInN2Yy1mbGV4LXJvdyBzdC1zdHJpbmdzLWhlYWRlclwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcyBvZiBbc3RyaW5nc01vZGVsLnN0cmluZ3NIZWFkZXJTdXJ2ZXldOyB0cmFja0J5OiB0cmFja1N0cmluZ3NTdXJ2ZXlCeVwiPlxuICAgICAgICAgICAgICA8c3VydmV5LWNvbnRlbnQgW21vZGVsXT1cInNcIj48L3N1cnZleS1jb250ZW50PlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInN2Yy1mbGV4LXJvdyBzdmMtcGx1Z2luLXRhYl9fY29udGVudCBzdC1zdHJpbmdzXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBzIG9mIFtzdHJpbmdzTW9kZWwuc3RyaW5nc1N1cnZleV07IHRyYWNrQnk6IHRyYWNrU3RyaW5nc1N1cnZleUJ5XCI+XG4gICAgICAgICAgICAgIDxzdXJ2ZXktY29udGVudCBbbW9kZWxdPVwic1wiPjwvc3VydmV5LWNvbnRlbnQ+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9XCJzaWRlQnlTaWRlTW9kZWxcIiBjbGFzcz1cInN0LXNpZGUtYnktc2lkZVwiXG4gICAgICAgIFtjbGFzc109XCJzaWRlQnlTaWRlTW9kZWwudGFyZ2V0U3VydmV5ID8gJycgOiAnc3Qtc2lkZS1ieS1zaWRlLS1uby10YXJnZXQnXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzdC1zaWRlLWJ5LXNpZGVfX3NvdXJjZVwiICNzb3VyY2VTY3JvbGxDb250YWluZXI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcyBvZiBbc2lkZUJ5U2lkZU1vZGVsLnNvdXJjZVN1cnZleV07IHRyYWNrQnk6IHRyYWNrU3RyaW5nc1N1cnZleUJ5XCI+XG4gICAgICAgICAgICA8c3VydmV5LWNvbnRlbnQgW21vZGVsXT1cInNcIj48L3N1cnZleS1jb250ZW50PlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiAqbmdJZj1cInNpZGVCeVNpZGVNb2RlbC50YXJnZXRTdXJ2ZXlcIiBjbGFzcz1cInN0LXNpZGUtYnktc2lkZV9fdGFyZ2V0XCIgI3RhcmdldFNjcm9sbENvbnRhaW5lcj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBzIG9mIFtzaWRlQnlTaWRlTW9kZWwudGFyZ2V0U3VydmV5XTsgdHJhY2tCeTogdHJhY2tTdHJpbmdzU3VydmV5QnlcIj5cbiAgICAgICAgICAgIDxzdXJ2ZXktY29udGVudCBbbW9kZWxdPVwic1wiPjwvc3VydmV5LWNvbnRlbnQ+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT4iXX0=