ng-configcat-publicapi-ui 2.4.0 → 2.5.3
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/esm2020/lib/_services/public-api.service.mjs +11 -5
- package/esm2020/lib/_services/setting-list-form-helper.mjs +30 -13
- package/esm2020/lib/authorization/authorization.component.mjs +3 -3
- package/esm2020/lib/base/base.component.mjs +7 -4
- package/esm2020/lib/configuration.mjs +3 -3
- package/esm2020/lib/dialogs/concurrent-dialog/concurrent-dialog.component.mjs +3 -3
- package/esm2020/lib/dialogs/expand-dialog/expand-dialog.component.mjs +3 -3
- package/esm2020/lib/dialogs/reason-dialog/reason-dialog.component.mjs +3 -3
- package/esm2020/lib/dialogs/save-snackbar/save-snackbar.component.mjs +4 -4
- package/esm2020/lib/ng-configcat-publicapi-ui.module.mjs +4 -4
- package/esm2020/lib/selects/config-select/config-select.component.mjs +3 -3
- package/esm2020/lib/selects/environment-select/environment-select.component.mjs +3 -3
- package/esm2020/lib/selects/product-select/product-select.component.mjs +3 -3
- package/esm2020/lib/selects/setting-select/setting-select.component.mjs +3 -3
- package/esm2020/lib/setting-item/setting-item.component.mjs +14 -5
- package/esm2020/lib/setting-list/setting/rollout-percentage-items/rollout-percentage-items.component.mjs +4 -4
- package/esm2020/lib/setting-list/setting/rollout-rules/rollout-rules.component.mjs +21 -6
- package/esm2020/lib/setting-list/setting/setting.component.mjs +15 -6
- package/esm2020/lib/setting-list/setting/value/value.component.mjs +4 -4
- package/esm2020/lib/setting-list/setting-list.component.mjs +15 -9
- package/fesm2015/ng-configcat-publicapi-ui.mjs +148 -83
- package/fesm2015/ng-configcat-publicapi-ui.mjs.map +1 -1
- package/fesm2020/ng-configcat-publicapi-ui.mjs +147 -83
- package/fesm2020/ng-configcat-publicapi-ui.mjs.map +1 -1
- package/lib/_services/public-api.service.d.ts +2 -1
- package/lib/base/base.component.d.ts +1 -0
- package/lib/setting-item/setting-item.component.d.ts +3 -1
- package/lib/setting-list/setting/rollout-rules/rollout-rules.component.d.ts +10 -2
- package/lib/setting-list/setting/setting.component.d.ts +4 -2
- package/lib/setting-list/setting-list.component.d.ts +4 -1
- package/package.json +4 -4
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Component, Input, Output, EventEmitter } from '@angular/core';
|
|
2
|
-
import { RolloutRuleComparator, SettingType } from 'ng-configcat-publicapi';
|
|
2
|
+
import { RolloutRuleComparator, SegmentComparator, SettingType } from 'ng-configcat-publicapi';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "../../_services/setting-list-form-helper";
|
|
5
5
|
import * as i2 from "@angular/material/icon";
|
|
@@ -52,6 +52,13 @@ export class SettingComponent {
|
|
|
52
52
|
}, this.readOnly, this.setting().settingType));
|
|
53
53
|
this.rolloutRules().markAsDirty();
|
|
54
54
|
}
|
|
55
|
+
addSegmentRolloutRule() {
|
|
56
|
+
this.rolloutRules().push(this.formHelper.createRolloutRuleFormGroup({
|
|
57
|
+
segmentComparator: SegmentComparator.IsIn,
|
|
58
|
+
value: this.setting().settingType === SettingType.Boolean ? false : null
|
|
59
|
+
}, this.readOnly, this.setting().settingType));
|
|
60
|
+
this.rolloutRules().markAsDirty();
|
|
61
|
+
}
|
|
55
62
|
removeRolloutRules() {
|
|
56
63
|
this.rolloutRules().clear();
|
|
57
64
|
this.rolloutRules().markAsDirty();
|
|
@@ -100,11 +107,11 @@ export class SettingComponent {
|
|
|
100
107
|
this.deleteSettingRequested.emit({ setting: this.setting() });
|
|
101
108
|
}
|
|
102
109
|
}
|
|
103
|
-
SettingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
104
|
-
SettingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.
|
|
105
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
110
|
+
SettingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: SettingComponent, deps: [{ token: i1.SettingListFormHelper }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
111
|
+
SettingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: SettingComponent, selector: "setting", inputs: { formGroup: "formGroup", readOnly: "readOnly", canEditSetting: "canEditSetting", canDeleteSetting: "canDeleteSetting", deleteSettingText: "deleteSettingText", showEnvironmentName: "showEnvironmentName", segments: "segments" }, outputs: { editSettingRequested: "editSettingRequested", deleteSettingRequested: "deleteSettingRequested" }, ngImport: i0, template: "<div class=\"setting-full\"\n [formGroup]=\"formGroup\">\n <div class=\"delete\" (click)=\"deleteSetting()\" *ngIf=\"canDeleteSetting\" [matTooltip]=\"deleteSettingText\"\n data-robot=\"deleteSetting\">\n <mat-icon>cancel</mat-icon>\n </div>\n <div class=\"setting-header flex\">\n <div class=\"setting-name flex\">\n <div class=\"name\" data-robot=\"settingName\">\n {{setting().name}}\n <span *ngIf=\"showEnvironmentName\"> ({{environment().name}})</span>\n </div>\n <div class=\"edit\" matTooltip=\"Edit name and description\" (click)=\"editSetting()\" *ngIf=\"canEditSetting\"\n data-robot=\"renameSetting\">\n <mat-icon>edit</mat-icon>\n </div>\n </div>\n </div>\n <div class=\"setting-content\">\n <div class=\"setting-details\">\n <div class=\"setting-key\"><code data-robot=\"settingKey\">{{setting().key}}</code></div>\n <span *ngIf=\"setting().hint\" class=\"description\">{{setting().hint}}</span>\n </div>\n\n <div class=\"rules-list\">\n <div>\n <configcat-rollout-rules *ngIf=\"rolloutRules().controls.length !== 0\" [formGroup]=\"formGroup\" [segments]=\"segments\">\n </configcat-rollout-rules>\n </div>\n\n <configcat-rollout-percentage-items *ngIf=\"rolloutPercentageItems().controls.length !== 0\"\n [formGroup]=\"formGroup\">\n </configcat-rollout-percentage-items>\n\n <div class=\"all-other flex\">\n <div *ngIf=\"rolloutPercentageItems().length === 0 && rolloutRules().length !== 0\"\n data-tooltip=\"This value will be served to all users who the above rules don't apply.\">\n <mat-chip-list>\n <mat-chip class=\"chip\">To all other users, serve:</mat-chip>\n </mat-chip-list>\n </div>\n <div *ngIf=\"rolloutPercentageItems().length !== 0\"\n data-tooltip=\"This fallback value will be served in case the user can't be identified.\">\n <mat-chip-list>\n <mat-chip class=\"chip\">To unidentified users, serve:</mat-chip>\n </mat-chip-list>\n </div>\n <div *ngIf=\"rolloutPercentageItems().length === 0 && rolloutRules().length === 0\">\n <mat-chip-list>\n <mat-chip class=\"chip\">To all users, serve:</mat-chip>\n </mat-chip-list>\n </div>\n <configcat-value class=\"served-value\" [valueFormControl]=\"value()\" [setting]=\"setting()\">\n </configcat-value>\n </div>\n <div class=\"buttons\">\n <button type=\"button\" class=\"sige-button targeting-button\" (click)=\"addRolloutRule()\" *ngIf=\"!readOnly\">\n {{rolloutRules().length === 0 ? 'Target specific users' : 'Add new targeting rule'}}\n </button>\n <button type=\"button\" class=\"sige-button targeting-button\" (click)=\"addSegmentRolloutRule()\" *ngIf=\"!readOnly\">\n {{rolloutRules().length === 0 ? 'Target segment' : 'Target new segment'}}\n </button>\n <button type=\"button\" class=\"sige-button targeting-button\" (click)=\"addRolloutPercentageItem()\"\n *ngIf=\"!readOnly\"\n [disabled]=\"setting().settingType === SettingType.Boolean && rolloutPercentageItems().length !== 0\">\n {{rolloutPercentageItems().length === 0 ? 'Target % of users' : 'Add new % option'}}\n </button>\n </div>\n </div>\n </div>\n</div>\n", styles: [".setting-full{position:relative;display:flex;flex-wrap:nowrap;flex-direction:column;border-radius:3px}.setting-full .delete{position:absolute;right:-15px;top:-10px;color:#d6a9a9;cursor:pointer}.setting-full .delete:hover{color:#ed5251}.setting-full .delete mat-icon{font-size:20px}.setting-full .setting-header{padding:1.5em 1.5em 0}.setting-full .setting-header .setting-name{flex-direction:row}.setting-full .setting-header .setting-name:hover>.edit{visibility:visible}.setting-full .setting-header .setting-name .name{font-weight:700;word-wrap:break-word;max-width:100%}.setting-full .setting-header .setting-name .edit{margin:5px 0 0 5px;cursor:pointer;visibility:hidden;color:gray}.setting-full .setting-header .setting-name .edit:hover{visibility:visible}.setting-full .setting-header .setting-name .edit mat-icon{font-size:18px}.setting-full .setting-header .setting-meta{margin-left:auto;margin-right:14px;font-size:.7em;color:gray}.setting-full .setting-content{display:flex}.setting-full .setting-content .setting-details{display:flex;flex-direction:column;width:400px;padding:0 0 1em 1em}.setting-full .setting-content .setting-details>*{margin:.5em}.setting-full .setting-content .setting-details .integrations{font-size:.8rem}.setting-full .setting-content .setting-details .integrations>div{margin:3px}.setting-full .setting-content .setting-details .integrations>div>a:hover{text-decoration:underline}.setting-full .setting-content .setting-details .setting-key{word-wrap:break-word}.setting-full .setting-content .setting-details .description{font-size:.8em;white-space:pre-wrap;word-wrap:break-word;max-width:300px}.setting-full .setting-content .setting-details code{background-color:#d3d3d3;padding:3px 6px}.setting-full .setting-content .rules-list{width:100%;padding:0 1em 1em}.setting-full .setting-content .targeting-button{margin-left:.5rem;margin-right:.5rem;margin-bottom:1em}.all-other{min-height:40px;justify-content:flex-start;border:1px solid #d5d5d5;border-radius:4px;background-color:#fff;margin:.5em 1em;padding:4px 0 4px .5em}.all-other .chip{background-color:#67b1fc3d}.all-other .served-value{margin-left:auto;min-width:100px}.end{margin-left:auto}.buttons{display:flex;margin-left:.5rem;margin-right:.5rem}.buttons .updated-date{font-size:.7em;margin-left:auto;margin-right:22px;color:gray}.flex{display:flex;flex-wrap:wrap;align-items:center}.show-hide-toggle{margin-left:1em;cursor:pointer}.show-hide-toggle a{font-size:.8rem}.sige-button{background-color:#d9eadc;color:#363636;cursor:pointer;justify-content:center;padding:.375em .75em;text-align:center;white-space:nowrap;border-radius:2px;font-size:.75rem;border:1px solid #dbdbdb;box-shadow:none;display:inline-flex;font-family:Montserrat,Roboto,Helvetica Neue,sans-serif}.sige-button:hover{background-color:#bad0be}.sige-button:disabled{background-color:#fff;color:#b3b3b3}@media (max-width: 1200px){.setting-details{width:300px}}@media (max-width: 700px){.setting-full .setting-content{flex-wrap:wrap}.setting-full .setting-content .rules-list{padding:0}.buttons{flex-direction:column}.updated-date{display:none}.setting-details{padding:.2em 0 .2em .2em}.all-other{margin:.5em .3em}}\n"], components: [{ type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i3.RolloutRulesComponent, selector: "configcat-rollout-rules", inputs: ["formGroup", "readOnly", "segments"] }, { type: i4.RolloutPercentageItemsComponent, selector: "configcat-rollout-percentage-items", inputs: ["formGroup", "readOnly"] }, { type: i5.MatChipList, selector: "mat-chip-list", inputs: ["errorStateMatcher", "multiple", "compareWith", "value", "required", "placeholder", "disabled", "aria-orientation", "selectable", "tabIndex"], outputs: ["change", "valueChange"], exportAs: ["matChipList"] }, { type: i6.ValueComponent, selector: "configcat-value", inputs: ["valueFormControl", "setting"] }], directives: [{ type: i7.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i7.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i9.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i5.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["color", "disableRipple", "tabIndex", "selected", "value", "selectable", "disabled", "removable"], outputs: ["selectionChange", "destroyed", "removed"], exportAs: ["matChip"] }] });
|
|
112
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: SettingComponent, decorators: [{
|
|
106
113
|
type: Component,
|
|
107
|
-
args: [{ selector: 'setting', template: "<div class=\"setting-full\"\n [formGroup]=\"formGroup\">\n <div class=\"delete\" (click)=\"deleteSetting()\" *ngIf=\"canDeleteSetting\" [matTooltip]=\"deleteSettingText\"\n data-robot=\"deleteSetting\">\n <mat-icon>cancel</mat-icon>\n </div>\n <div class=\"setting-header flex\">\n <div class=\"setting-name flex\">\n <div class=\"name\" data-robot=\"settingName\">\n {{setting().name}}\n <span *ngIf=\"showEnvironmentName\"> ({{environment().name}})</span>\n </div>\n <div class=\"edit\" matTooltip=\"Edit name and description\" (click)=\"editSetting()\" *ngIf=\"canEditSetting\"\n data-robot=\"renameSetting\">\n <mat-icon>edit</mat-icon>\n </div>\n </div>\n </div>\n <div class=\"setting-content\">\n <div class=\"setting-details\">\n <div class=\"setting-key\"><code data-robot=\"settingKey\">{{setting().key}}</code></div>\n <span *ngIf=\"setting().hint\" class=\"description\">{{setting().hint}}</span>\n </div>\n\n <div class=\"rules-list\">\n <div>\n <configcat-rollout-rules *ngIf=\"rolloutRules().controls.length !== 0\" [formGroup]=\"formGroup\">\n </configcat-rollout-rules>\n </div>\n\n <configcat-rollout-percentage-items *ngIf=\"rolloutPercentageItems().controls.length !== 0\"\n [formGroup]=\"formGroup\">\n </configcat-rollout-percentage-items>\n\n <div class=\"all-other flex\">\n <div *ngIf=\"rolloutPercentageItems().length === 0 && rolloutRules().length !== 0\"\n data-tooltip=\"This value will be served to all users who the above rules don't apply.\">\n <mat-chip-list>\n <mat-chip class=\"chip\">To all other users, serve:</mat-chip>\n </mat-chip-list>\n </div>\n <div *ngIf=\"rolloutPercentageItems().length !== 0\"\n data-tooltip=\"This fallback value will be served in case the user can't be identified.\">\n <mat-chip-list>\n <mat-chip class=\"chip\">To unidentified users, serve:</mat-chip>\n </mat-chip-list>\n </div>\n <div *ngIf=\"rolloutPercentageItems().length === 0 && rolloutRules().length === 0\">\n <mat-chip-list>\n <mat-chip class=\"chip\">To all users, serve:</mat-chip>\n </mat-chip-list>\n </div>\n <configcat-value class=\"served-value\" [valueFormControl]=\"value()\" [setting]=\"setting()\">\n </configcat-value>\n </div>\n <div class=\"buttons\">\n <button type=\"button\" class=\"sige-button targeting-button\" (click)=\"addRolloutRule()\" *ngIf=\"!readOnly\">\n {{rolloutRules().length === 0 ? 'Target specific users' : 'Add new targeting rule'}}\n </button>\n <button type=\"button\" class=\"sige-button targeting-button\" (click)=\"addRolloutPercentageItem()\"\n *ngIf=\"!readOnly\"\n [disabled]=\"setting().settingType === SettingType.Boolean && rolloutPercentageItems().length !== 0\">\n {{rolloutPercentageItems().length === 0 ? 'Target % of users' : 'Add new % option'}}\n </button>\n </div>\n </div>\n </div>\n</div>\n", styles: [".setting-full{position:relative;display:flex;flex-wrap:nowrap;flex-direction:column;border-radius:3px}.setting-full .delete{position:absolute;right:-15px;top:-10px;color:#d6a9a9;cursor:pointer}.setting-full .delete:hover{color:#ed5251}.setting-full .delete mat-icon{font-size:20px}.setting-full .setting-header{padding:1.5em 1.5em 0}.setting-full .setting-header .setting-name{flex-direction:row}.setting-full .setting-header .setting-name:hover>.edit{visibility:visible}.setting-full .setting-header .setting-name .name{font-weight:
|
|
114
|
+
args: [{ selector: 'setting', template: "<div class=\"setting-full\"\n [formGroup]=\"formGroup\">\n <div class=\"delete\" (click)=\"deleteSetting()\" *ngIf=\"canDeleteSetting\" [matTooltip]=\"deleteSettingText\"\n data-robot=\"deleteSetting\">\n <mat-icon>cancel</mat-icon>\n </div>\n <div class=\"setting-header flex\">\n <div class=\"setting-name flex\">\n <div class=\"name\" data-robot=\"settingName\">\n {{setting().name}}\n <span *ngIf=\"showEnvironmentName\"> ({{environment().name}})</span>\n </div>\n <div class=\"edit\" matTooltip=\"Edit name and description\" (click)=\"editSetting()\" *ngIf=\"canEditSetting\"\n data-robot=\"renameSetting\">\n <mat-icon>edit</mat-icon>\n </div>\n </div>\n </div>\n <div class=\"setting-content\">\n <div class=\"setting-details\">\n <div class=\"setting-key\"><code data-robot=\"settingKey\">{{setting().key}}</code></div>\n <span *ngIf=\"setting().hint\" class=\"description\">{{setting().hint}}</span>\n </div>\n\n <div class=\"rules-list\">\n <div>\n <configcat-rollout-rules *ngIf=\"rolloutRules().controls.length !== 0\" [formGroup]=\"formGroup\" [segments]=\"segments\">\n </configcat-rollout-rules>\n </div>\n\n <configcat-rollout-percentage-items *ngIf=\"rolloutPercentageItems().controls.length !== 0\"\n [formGroup]=\"formGroup\">\n </configcat-rollout-percentage-items>\n\n <div class=\"all-other flex\">\n <div *ngIf=\"rolloutPercentageItems().length === 0 && rolloutRules().length !== 0\"\n data-tooltip=\"This value will be served to all users who the above rules don't apply.\">\n <mat-chip-list>\n <mat-chip class=\"chip\">To all other users, serve:</mat-chip>\n </mat-chip-list>\n </div>\n <div *ngIf=\"rolloutPercentageItems().length !== 0\"\n data-tooltip=\"This fallback value will be served in case the user can't be identified.\">\n <mat-chip-list>\n <mat-chip class=\"chip\">To unidentified users, serve:</mat-chip>\n </mat-chip-list>\n </div>\n <div *ngIf=\"rolloutPercentageItems().length === 0 && rolloutRules().length === 0\">\n <mat-chip-list>\n <mat-chip class=\"chip\">To all users, serve:</mat-chip>\n </mat-chip-list>\n </div>\n <configcat-value class=\"served-value\" [valueFormControl]=\"value()\" [setting]=\"setting()\">\n </configcat-value>\n </div>\n <div class=\"buttons\">\n <button type=\"button\" class=\"sige-button targeting-button\" (click)=\"addRolloutRule()\" *ngIf=\"!readOnly\">\n {{rolloutRules().length === 0 ? 'Target specific users' : 'Add new targeting rule'}}\n </button>\n <button type=\"button\" class=\"sige-button targeting-button\" (click)=\"addSegmentRolloutRule()\" *ngIf=\"!readOnly\">\n {{rolloutRules().length === 0 ? 'Target segment' : 'Target new segment'}}\n </button>\n <button type=\"button\" class=\"sige-button targeting-button\" (click)=\"addRolloutPercentageItem()\"\n *ngIf=\"!readOnly\"\n [disabled]=\"setting().settingType === SettingType.Boolean && rolloutPercentageItems().length !== 0\">\n {{rolloutPercentageItems().length === 0 ? 'Target % of users' : 'Add new % option'}}\n </button>\n </div>\n </div>\n </div>\n</div>\n", styles: [".setting-full{position:relative;display:flex;flex-wrap:nowrap;flex-direction:column;border-radius:3px}.setting-full .delete{position:absolute;right:-15px;top:-10px;color:#d6a9a9;cursor:pointer}.setting-full .delete:hover{color:#ed5251}.setting-full .delete mat-icon{font-size:20px}.setting-full .setting-header{padding:1.5em 1.5em 0}.setting-full .setting-header .setting-name{flex-direction:row}.setting-full .setting-header .setting-name:hover>.edit{visibility:visible}.setting-full .setting-header .setting-name .name{font-weight:700;word-wrap:break-word;max-width:100%}.setting-full .setting-header .setting-name .edit{margin:5px 0 0 5px;cursor:pointer;visibility:hidden;color:gray}.setting-full .setting-header .setting-name .edit:hover{visibility:visible}.setting-full .setting-header .setting-name .edit mat-icon{font-size:18px}.setting-full .setting-header .setting-meta{margin-left:auto;margin-right:14px;font-size:.7em;color:gray}.setting-full .setting-content{display:flex}.setting-full .setting-content .setting-details{display:flex;flex-direction:column;width:400px;padding:0 0 1em 1em}.setting-full .setting-content .setting-details>*{margin:.5em}.setting-full .setting-content .setting-details .integrations{font-size:.8rem}.setting-full .setting-content .setting-details .integrations>div{margin:3px}.setting-full .setting-content .setting-details .integrations>div>a:hover{text-decoration:underline}.setting-full .setting-content .setting-details .setting-key{word-wrap:break-word}.setting-full .setting-content .setting-details .description{font-size:.8em;white-space:pre-wrap;word-wrap:break-word;max-width:300px}.setting-full .setting-content .setting-details code{background-color:#d3d3d3;padding:3px 6px}.setting-full .setting-content .rules-list{width:100%;padding:0 1em 1em}.setting-full .setting-content .targeting-button{margin-left:.5rem;margin-right:.5rem;margin-bottom:1em}.all-other{min-height:40px;justify-content:flex-start;border:1px solid #d5d5d5;border-radius:4px;background-color:#fff;margin:.5em 1em;padding:4px 0 4px .5em}.all-other .chip{background-color:#67b1fc3d}.all-other .served-value{margin-left:auto;min-width:100px}.end{margin-left:auto}.buttons{display:flex;margin-left:.5rem;margin-right:.5rem}.buttons .updated-date{font-size:.7em;margin-left:auto;margin-right:22px;color:gray}.flex{display:flex;flex-wrap:wrap;align-items:center}.show-hide-toggle{margin-left:1em;cursor:pointer}.show-hide-toggle a{font-size:.8rem}.sige-button{background-color:#d9eadc;color:#363636;cursor:pointer;justify-content:center;padding:.375em .75em;text-align:center;white-space:nowrap;border-radius:2px;font-size:.75rem;border:1px solid #dbdbdb;box-shadow:none;display:inline-flex;font-family:Montserrat,Roboto,Helvetica Neue,sans-serif}.sige-button:hover{background-color:#bad0be}.sige-button:disabled{background-color:#fff;color:#b3b3b3}@media (max-width: 1200px){.setting-details{width:300px}}@media (max-width: 700px){.setting-full .setting-content{flex-wrap:wrap}.setting-full .setting-content .rules-list{padding:0}.buttons{flex-direction:column}.updated-date{display:none}.setting-details{padding:.2em 0 .2em .2em}.all-other{margin:.5em .3em}}\n"] }]
|
|
108
115
|
}], ctorParameters: function () { return [{ type: i1.SettingListFormHelper }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { formGroup: [{
|
|
109
116
|
type: Input
|
|
110
117
|
}], readOnly: [{
|
|
@@ -117,9 +124,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImpor
|
|
|
117
124
|
type: Input
|
|
118
125
|
}], showEnvironmentName: [{
|
|
119
126
|
type: Input
|
|
127
|
+
}], segments: [{
|
|
128
|
+
type: Input
|
|
120
129
|
}], editSettingRequested: [{
|
|
121
130
|
type: Output
|
|
122
131
|
}], deleteSettingRequested: [{
|
|
123
132
|
type: Output
|
|
124
133
|
}] } });
|
|
125
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1jb25maWdjYXQtcHVibGljYXBpLXVpL3NyYy9saWIvc2V0dGluZy1saXN0L3NldHRpbmcvc2V0dGluZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1jb25maWdjYXQtcHVibGljYXBpLXVpL3NyYy9saWIvc2V0dGluZy1saXN0L3NldHRpbmcvc2V0dGluZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUVsRyxPQUFPLEVBQThCLHFCQUFxQixFQUFvQixXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7Ozs7QUFRMUgsTUFBTSxPQUFPLGdCQUFnQjtJQWdCM0IsWUFBb0IsVUFBaUMsRUFDM0MsS0FBd0I7UUFEZCxlQUFVLEdBQVYsVUFBVSxDQUF1QjtRQUMzQyxVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQWR6QixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQUN6QixzQkFBaUIsR0FBRyxnQkFBZ0IsQ0FBQztRQUNyQyx3QkFBbUIsR0FBRyxLQUFLLENBQUM7UUFFM0IseUJBQW9CLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUMxQywyQkFBc0IsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRXRELHVCQUFrQixHQUFHLEtBQUssQ0FBQztRQUUzQixnQkFBVyxHQUFHLFdBQVcsQ0FBQztJQUdZLENBQUM7SUFFdkMsUUFBUSxLQUFJLENBQUM7SUFFYixXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FB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QXRCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBRUksb0JBQW9CO3NCQUE3QixNQUFNO2dCQUNHLHNCQUFzQjtzQkFBL0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIENoYW5nZURldGVjdG9yUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAsIEZvcm1BcnJheSwgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBSb2xsb3V0UGVyY2VudGFnZUl0ZW1Nb2RlbCwgUm9sbG91dFJ1bGVDb21wYXJhdG9yLCBSb2xsb3V0UnVsZU1vZGVsLCBTZXR0aW5nVHlwZSB9IGZyb20gJ25nLWNvbmZpZ2NhdC1wdWJsaWNhcGknO1xuaW1wb3J0IHsgU2V0dGluZ0xpc3RGb3JtSGVscGVyIH0gZnJvbSAnLi4vLi4vX3NlcnZpY2VzL3NldHRpbmctbGlzdC1mb3JtLWhlbHBlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NldHRpbmcnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2V0dGluZy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NldHRpbmcuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBTZXR0aW5nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoKSBmb3JtR3JvdXAhOiBGb3JtR3JvdXA7XG4gIEBJbnB1dCgpIHJlYWRPbmx5ID0gZmFsc2U7XG4gIEBJbnB1dCgpIGNhbkVkaXRTZXR0aW5nID0gZmFsc2U7XG4gIEBJbnB1dCgpIGNhbkRlbGV0ZVNldHRpbmcgPSBmYWxzZTtcbiAgQElucHV0KCkgZGVsZXRlU2V0dGluZ1RleHQgPSAnRGVsZXRlIHNldHRpbmcnO1xuICBASW5wdXQoKSBzaG93RW52aXJvbm1lbnROYW1lID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpIGVkaXRTZXR0aW5nUmVxdWVzdGVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgZGVsZXRlU2V0dGluZ1JlcXVlc3RlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBydWxlc0JlaW5nUmVuZGVyZWQgPSBmYWxzZTtcbiAgXG4gIFNldHRpbmdUeXBlID0gU2V0dGluZ1R5cGU7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmb3JtSGVscGVyOiBTZXR0aW5nTGlzdEZvcm1IZWxwZXIsXG4gICAgcHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHsgfVxuXG4gIG5nT25Jbml0KCkge31cblxuICBlbnZpcm9ubWVudCgpIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtR3JvdXAucm9vdC5nZXQoJ2Vudmlyb25tZW50Jyk/LnZhbHVlO1xuICB9XG5cbiAgc2V0dGluZygpIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtR3JvdXAuZ2V0KCdzZXR0aW5nJyk/LnZhbHVlO1xuICB9XG5cbiAgaW50ZWdyYXRpb25MaW5rcygpIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtR3JvdXAuZ2V0KCdpbnRlZ3JhdGlvbkxpbmtzJykgYXMgRm9ybUFycmF5O1xuICB9XG5cbiAgcm9sbG91dFJ1bGVzKCkge1xuICAgIHJldHVybiB0aGlzLmZvcm1Hcm91cC5nZXQoJ3JvbGxvdXRSdWxlcycpIGFzIEZvcm1BcnJheTtcbiAgfVxuXG4gIHJvbGxvdXRQZXJjZW50YWdlSXRlbXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybUdyb3VwLmdldCgncm9sbG91dFBlcmNlbnRhZ2VJdGVtcycpIGFzIEZvcm1BcnJheTtcbiAgfVxuXG4gIHZhbHVlKCkge1xuICAgIHJldHVybiB0aGlzLmZvcm1Hcm91cC5nZXQoJ3ZhbHVlJykgYXMgRm9ybUNvbnRyb2w7XG4gIH1cblxuICBhZGRSb2xsb3V0UnVsZSgpIHtcbiAgICB0aGlzLnJvbGxvdXRSdWxlcygpLnB1c2godGhpcy5mb3JtSGVscGVyLmNyZWF0ZVJvbGxvdXRSdWxlRm9ybUdyb3VwKFxuICAgICAgPFJvbGxvdXRSdWxlTW9kZWw+e1xuICAgICAgICBjb21wYXJpc29uQXR0cmlidXRlOiAnSWRlbnRpZmllcicsXG4gICAgICAgIGNvbXBhcmF0b3I6IFJvbGxvdXRSdWxlQ29tcGFyYXRvci5TZW5zaXRpdmVJc09uZU9mLFxuICAgICAgICBjb21wYXJpc29uVmFsdWU6ICcnLFxuICAgICAgICB2YWx1ZTogdGhpcy5zZXR0aW5nKCkuc2V0dGluZ1R5cGUgPT09IFNldHRpbmdUeXBlLkJvb2xlYW4gPyBmYWxzZSBhcyB1bmtub3duIDogbnVsbFxuICAgICAgfSxcbiAgICAgIHRoaXMucmVhZE9ubHksIHRoaXMuc2V0dGluZygpLnNldHRpbmdUeXBlKSk7XG4gICAgdGhpcy5yb2xsb3V0UnVsZXMoKS5tYXJrQXNEaXJ0eSgpO1xuICB9XG5cbiAgcmVtb3ZlUm9sbG91dFJ1bGVzKCkge1xuICAgIHRoaXMucm9sbG91dFJ1bGVzKCkuY2xlYXIoKTtcbiAgICB0aGlzLnJvbGxvdXRSdWxlcygpLm1hcmtBc0RpcnR5KCk7XG4gIH1cblxuICBhZGRSb2xsb3V0UGVyY2VudGFnZUl0ZW0oKSB7XG5cbiAgICBpZiAodGhpcy5yb2xsb3V0UGVyY2VudGFnZUl0ZW1zKCkubGVuZ3RoID09PSAwKSB7XG4gICAgICBzd2l0Y2ggKHRoaXMuc2V0dGluZygpLnNldHRpbmdUeXBlKSB7XG4gICAgICAgIGNhc2UgU2V0dGluZ1R5cGUuQm9vbGVhbjpcbiAgICAgICAgICB0aGlzLnJvbGxvdXRQZXJjZW50YWdlSXRlbXMoKS5wdXNoKHRoaXMuZm9ybUhlbHBlci5jcmVhdGVSb2xsb3V0UGVyY2VudGFnZUl0ZW1Gb3JtR3JvdXAoXG4gICAgICAgICAgICA8Um9sbG91dFBlcmNlbnRhZ2VJdGVtTW9kZWw+e1xuICAgICAgICAgICAgICBwZXJjZW50YWdlOiAwLFxuICAgICAgICAgICAgICB2YWx1ZTogdHJ1ZSBhcyB1bmtub3duIFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHRoaXMucmVhZE9ubHksIHRoaXMuc2V0dGluZygpLnNldHRpbmdUeXBlKSk7XG4gICAgICAgICAgdGhpcy5yb2xsb3V0UGVyY2VudGFnZUl0ZW1zKCkucHVzaCh0aGlzLmZvcm1IZWxwZXIuY3JlYXRlUm9sbG91dFBlcmNlbnRhZ2VJdGVtRm9ybUdyb3VwKFxuICAgICAgICAgICAgPFJvbGxvdXRQZXJjZW50YWdlSXRlbU1vZGVsPntcbiAgICAgICAgICAgICAgcGVyY2VudGFnZTogMTAwLFxuICAgICAgICAgICAgICB2YWx1ZTogZmFsc2UgYXMgdW5rbm93biBcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB0aGlzLnJlYWRPbmx5LCB0aGlzLnNldHRpbmcoKS5zZXR0aW5nVHlwZSkpO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgU2V0dGluZ1R5cGUuU3RyaW5nOlxuICAgICAgICBjYXNlIFNldHRpbmdUeXBlLkludDpcbiAgICAgICAgY2FzZSBTZXR0aW5nVHlwZS5Eb3VibGU6XG4gICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCA0OyBpKyspIHtcbiAgICAgICAgICAgIHRoaXMucm9sbG91dFBlcmNlbnRhZ2VJdGVtcygpLnB1c2godGhpcy5mb3JtSGVscGVyLmNyZWF0ZVJvbGxvdXRQZXJjZW50YWdlSXRlbUZvcm1Hcm91cChcbiAgICAgICAgICAgICAgPFJvbGxvdXRQZXJjZW50YWdlSXRlbU1vZGVsPntcbiAgICAgICAgICAgICAgICBwZXJjZW50YWdlOiAyNSxcbiAgICAgICAgICAgICAgICB2YWx1ZTogbnVsbFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB0aGlzLnJlYWRPbmx5LCB0aGlzLnNldHRpbmcoKS5zZXR0aW5nVHlwZSkpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodGhpcy5zZXR0aW5nKCkuc2V0dGluZ1R5cGUgIT09IFNldHRpbmdUeXBlLkJvb2xlYW4pIHtcbiAgICAgIHRoaXMucm9sbG91dFBlcmNlbnRhZ2VJdGVtcygpLnB1c2godGhpcy5mb3JtSGVscGVyLmNyZWF0ZVJvbGxvdXRQZXJjZW50YWdlSXRlbUZvcm1Hcm91cChcbiAgICAgICAgPFJvbGxvdXRQZXJjZW50YWdlSXRlbU1vZGVsPntcbiAgICAgICAgICBwZXJjZW50YWdlOiAwLFxuICAgICAgICAgIHZhbHVlOiBudWxsXG4gICAgICAgIH0sXG4gICAgICAgIHRoaXMucmVhZE9ubHksIHRoaXMuc2V0dGluZygpLnNldHRpbmdUeXBlKSk7XG4gICAgfVxuXG4gICAgdGhpcy5yb2xsb3V0UGVyY2VudGFnZUl0ZW1zKCkubWFya0FzRGlydHkoKTtcbiAgfVxuXG4gIHJlbW92ZVJvbGxvdXRQZXJjZW50YWdlSXRlbXMoKSB7XG4gICAgdGhpcy5yb2xsb3V0UGVyY2VudGFnZUl0ZW1zKCkuY2xlYXIoKTtcbiAgICB0aGlzLnJvbGxvdXRQZXJjZW50YWdlSXRlbXMoKS5tYXJrQXNEaXJ0eSgpO1xuICB9XG5cbiAgZWRpdFNldHRpbmcoKSB7XG4gICAgdGhpcy5lZGl0U2V0dGluZ1JlcXVlc3RlZC5lbWl0KHsgc2V0dGluZzogdGhpcy5zZXR0aW5nKCkgfSk7XG4gIH1cblxuICBkZWxldGVTZXR0aW5nKCkge1xuICAgIHRoaXMuZGVsZXRlU2V0dGluZ1JlcXVlc3RlZC5lbWl0KHsgc2V0dGluZzogdGhpcy5zZXR0aW5nKCkgfSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJzZXR0aW5nLWZ1bGxcIlxuICBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiPlxuICA8ZGl2IGNsYXNzPVwiZGVsZXRlXCIgKGNsaWNrKT1cImRlbGV0ZVNldHRpbmcoKVwiICpuZ0lmPVwiY2FuRGVsZXRlU2V0dGluZ1wiIFttYXRUb29sdGlwXT1cImRlbGV0ZVNldHRpbmdUZXh0XCJcbiAgICAgICBkYXRhLXJvYm90PVwiZGVsZXRlU2V0dGluZ1wiPlxuICAgIDxtYXQtaWNvbj5jYW5jZWw8L21hdC1pY29uPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cInNldHRpbmctaGVhZGVyIGZsZXhcIj5cbiAgICA8ZGl2IGNsYXNzPVwic2V0dGluZy1uYW1lIGZsZXhcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJuYW1lXCIgZGF0YS1yb2JvdD1cInNldHRpbmdOYW1lXCI+XG4gICAgICAgIHt7c2V0dGluZygpLm5hbWV9fVxuICAgICAgICA8c3BhbiAqbmdJZj1cInNob3dFbnZpcm9ubWVudE5hbWVcIj4gKHt7ZW52aXJvbm1lbnQoKS5uYW1lfX0pPC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiZWRpdFwiIG1hdFRvb2x0aXA9XCJFZGl0IG5hbWUgYW5kIGRlc2NyaXB0aW9uXCIgKGNsaWNrKT1cImVkaXRTZXR0aW5nKClcIiAqbmdJZj1cImNhbkVkaXRTZXR0aW5nXCJcbiAgICAgICAgICAgZGF0YS1yb2JvdD1cInJlbmFtZVNldHRpbmdcIj5cbiAgICAgICAgPG1hdC1pY29uPmVkaXQ8L21hdC1pY29uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwic2V0dGluZy1jb250ZW50XCI+XG4gICAgPGRpdiBjbGFzcz1cInNldHRpbmctZGV0YWlsc1wiPlxuICAgICAgPGRpdiBjbGFzcz1cInNldHRpbmcta2V5XCI+PGNvZGUgZGF0YS1yb2JvdD1cInNldHRpbmdLZXlcIj57e3NldHRpbmcoKS5rZXl9fTwvY29kZT48L2Rpdj5cbiAgICAgIDxzcGFuICpuZ0lmPVwic2V0dGluZygpLmhpbnRcIiBjbGFzcz1cImRlc2NyaXB0aW9uXCI+e3tzZXR0aW5nKCkuaGludH19PC9zcGFuPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cInJ1bGVzLWxpc3RcIj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxjb25maWdjYXQtcm9sbG91dC1ydWxlcyAqbmdJZj1cInJvbGxvdXRSdWxlcygpLmNvbnRyb2xzLmxlbmd0aCAhPT0gMFwiIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCI+XG4gICAgICAgIDwvY29uZmlnY2F0LXJvbGxvdXQtcnVsZXM+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGNvbmZpZ2NhdC1yb2xsb3V0LXBlcmNlbnRhZ2UtaXRlbXMgKm5nSWY9XCJyb2xsb3V0UGVyY2VudGFnZUl0ZW1zKCkuY29udHJvbHMubGVuZ3RoICE9PSAwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCI+XG4gICAgICA8L2NvbmZpZ2NhdC1yb2xsb3V0LXBlcmNlbnRhZ2UtaXRlbXM+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJhbGwtb3RoZXIgZmxleFwiPlxuICAgICAgICA8ZGl2ICpuZ0lmPVwicm9sbG91dFBlcmNlbnRhZ2VJdGVtcygpLmxlbmd0aCA9PT0gMCAmJiByb2xsb3V0UnVsZXMoKS5sZW5ndGggIT09IDBcIlxuICAgICAgICAgICAgIGRhdGEtdG9vbHRpcD1cIlRoaXMgdmFsdWUgd2lsbCBiZSBzZXJ2ZWQgdG8gYWxsIHVzZXJzIHdobyB0aGUgYWJvdmUgcnVsZXMgZG9uJ3QgYXBwbHkuXCI+XG4gICAgICAgICAgPG1hdC1jaGlwLWxpc3Q+XG4gICAgICAgICAgICA8bWF0LWNoaXAgY2xhc3M9XCJjaGlwXCI+VG8gYWxsIG90aGVyIHVzZXJzLCBzZXJ2ZTo8L21hdC1jaGlwPlxuICAgICAgICAgIDwvbWF0LWNoaXAtbGlzdD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJyb2xsb3V0UGVyY2VudGFnZUl0ZW1zKCkubGVuZ3RoICE9PSAwXCJcbiAgICAgICAgICAgICBkYXRhLXRvb2x0aXA9XCJUaGlzIGZhbGxiYWNrIHZhbHVlIHdpbGwgYmUgc2VydmVkIGluIGNhc2UgdGhlIHVzZXIgY2FuJ3QgYmUgaWRlbnRpZmllZC5cIj5cbiAgICAgICAgICA8bWF0LWNoaXAtbGlzdD5cbiAgICAgICAgICAgIDxtYXQtY2hpcCBjbGFzcz1cImNoaXBcIj5UbyB1bmlkZW50aWZpZWQgdXNlcnMsIHNlcnZlOjwvbWF0LWNoaXA+XG4gICAgICAgICAgPC9tYXQtY2hpcC1saXN0PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiAqbmdJZj1cInJvbGxvdXRQZXJjZW50YWdlSXRlbXMoKS5sZW5ndGggPT09IDAgJiYgcm9sbG91dFJ1bGVzKCkubGVuZ3RoID09PSAwXCI+XG4gICAgICAgICAgPG1hdC1jaGlwLWxpc3Q+XG4gICAgICAgICAgICA8bWF0LWNoaXAgY2xhc3M9XCJjaGlwXCI+VG8gYWxsIHVzZXJzLCBzZXJ2ZTo8L21hdC1jaGlwPlxuICAgICAgICAgIDwvbWF0LWNoaXAtbGlzdD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxjb25maWdjYXQtdmFsdWUgY2xhc3M9XCJzZXJ2ZWQtdmFsdWVcIiBbdmFsdWVGb3JtQ29udHJvbF09XCJ2YWx1ZSgpXCIgW3NldHRpbmddPVwic2V0dGluZygpXCI+XG4gICAgICAgIDwvY29uZmlnY2F0LXZhbHVlPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uc1wiPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cInNpZ2UtYnV0dG9uIHRhcmdldGluZy1idXR0b25cIiAoY2xpY2spPVwiYWRkUm9sbG91dFJ1bGUoKVwiICpuZ0lmPVwiIXJlYWRPbmx5XCI+XG4gICAgICAgICAge3tyb2xsb3V0UnVsZXMoKS5sZW5ndGggPT09IDAgPyAnVGFyZ2V0IHNwZWNpZmljIHVzZXJzJyA6ICdBZGQgbmV3IHRhcmdldGluZyBydWxlJ319XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cInNpZ2UtYnV0dG9uIHRhcmdldGluZy1idXR0b25cIiAoY2xpY2spPVwiYWRkUm9sbG91dFBlcmNlbnRhZ2VJdGVtKClcIlxuICAgICAgICAgICAgICAgICpuZ0lmPVwiIXJlYWRPbmx5XCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwic2V0dGluZygpLnNldHRpbmdUeXBlID09PSBTZXR0aW5nVHlwZS5Cb29sZWFuICYmIHJvbGxvdXRQZXJjZW50YWdlSXRlbXMoKS5sZW5ndGggIT09IDBcIj5cbiAgICAgICAgICB7e3JvbGxvdXRQZXJjZW50YWdlSXRlbXMoKS5sZW5ndGggPT09IDAgPyAnVGFyZ2V0ICUgb2YgdXNlcnMnIDogJ0FkZCBuZXcgJSBvcHRpb24nfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
134
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1jb25maWdjYXQtcHVibGljYXBpLXVpL3NyYy9saWIvc2V0dGluZy1saXN0L3NldHRpbmcvc2V0dGluZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1jb25maWdjYXQtcHVibGljYXBpLXVpL3NyYy9saWIvc2V0dGluZy1saXN0L3NldHRpbmcvc2V0dGluZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUVsRyxPQUFPLEVBQThCLHFCQUFxQixFQUFvQixpQkFBaUIsRUFBb0IsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7Ozs7Ozs7O0FBUS9KLE1BQU0sT0FBTyxnQkFBZ0I7SUFpQjNCLFlBQW9CLFVBQWlDLEVBQzNDLEtBQXdCO1FBRGQsZUFBVSxHQUFWLFVBQVUsQ0FBdUI7UUFDM0MsVUFBSyxHQUFMLEtBQUssQ0FBbUI7UUFmekIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUN2QixxQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFDekIsc0JBQWlCLEdBQUcsZ0JBQWdCLENBQUM7UUFDckMsd0JBQW1CLEdBQUcsS0FBSyxDQUFDO1FBRzNCLHlCQUFvQixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDMUMsMkJBQXNCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUV0RCx1QkFBa0IsR0FBRyxLQUFLLENBQUM7UUFFM0IsZ0JBQVcsR0FBRyxXQUFXLENBQUM7SUFHWSxDQUFDO0lBRXZDLFFBQVEsS0FBSSxDQUFDO0lBRWIsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDLFNBQVMs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LENBQUM7SUFDOUMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDaEUsQ0FBQzs7NkdBaklVLGdCQUFnQjtpR0FBaEIsZ0JBQWdCLHdZQ1Y3QiwwNEdBdUVBOzJGRDdEYSxnQkFBZ0I7a0JBTDVCLFNBQVM7K0JBQ0UsU0FBUzs0SUFNVixTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVJLG9CQUFvQjtzQkFBN0IsTUFBTTtnQkFDRyxzQkFBc0I7c0JBQS9CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwLCBGb3JtQXJyYXksIEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUm9sbG91dFBlcmNlbnRhZ2VJdGVtTW9kZWwsIFJvbGxvdXRSdWxlQ29tcGFyYXRvciwgUm9sbG91dFJ1bGVNb2RlbCwgU2VnbWVudENvbXBhcmF0b3IsIFNlZ21lbnRMaXN0TW9kZWwsIFNldHRpbmdUeXBlIH0gZnJvbSAnbmctY29uZmlnY2F0LXB1YmxpY2FwaSc7XG5pbXBvcnQgeyBTZXR0aW5nTGlzdEZvcm1IZWxwZXIgfSBmcm9tICcuLi8uLi9fc2VydmljZXMvc2V0dGluZy1saXN0LWZvcm0taGVscGVyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2V0dGluZycsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZXR0aW5nLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2V0dGluZy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFNldHRpbmdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpIGZvcm1Hcm91cCE6IEZvcm1Hcm91cDtcbiAgQElucHV0KCkgcmVhZE9ubHkgPSBmYWxzZTtcbiAgQElucHV0KCkgY2FuRWRpdFNldHRpbmcgPSBmYWxzZTtcbiAgQElucHV0KCkgY2FuRGVsZXRlU2V0dGluZyA9IGZhbHNlO1xuICBASW5wdXQoKSBkZWxldGVTZXR0aW5nVGV4dCA9ICdEZWxldGUgc2V0dGluZyc7XG4gIEBJbnB1dCgpIHNob3dFbnZpcm9ubWVudE5hbWUgPSBmYWxzZTtcbiAgQElucHV0KCkgc2VnbWVudHMhOiBTZWdtZW50TGlzdE1vZGVsW107XG5cbiAgQE91dHB1dCgpIGVkaXRTZXR0aW5nUmVxdWVzdGVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgZGVsZXRlU2V0dGluZ1JlcXVlc3RlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBydWxlc0JlaW5nUmVuZGVyZWQgPSBmYWxzZTtcbiAgXG4gIFNldHRpbmdUeXBlID0gU2V0dGluZ1R5cGU7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmb3JtSGVscGVyOiBTZXR0aW5nTGlzdEZvcm1IZWxwZXIsXG4gICAgcHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHsgfVxuXG4gIG5nT25Jbml0KCkge31cblxuICBlbnZpcm9ubWVudCgpIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtR3JvdXAucm9vdC5nZXQoJ2Vudmlyb25tZW50Jyk/LnZhbHVlO1xuICB9XG5cbiAgc2V0dGluZygpIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtR3JvdXAuZ2V0KCdzZXR0aW5nJyk/LnZhbHVlO1xuICB9XG5cbiAgaW50ZWdyYXRpb25MaW5rcygpIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtR3JvdXAuZ2V0KCdpbnRlZ3JhdGlvbkxpbmtzJykgYXMgRm9ybUFycmF5O1xuICB9XG5cbiAgcm9sbG91dFJ1bGVzKCkge1xuICAgIHJldHVybiB0aGlzLmZvcm1Hcm91cC5nZXQoJ3JvbGxvdXRSdWxlcycpIGFzIEZvcm1BcnJheTtcbiAgfVxuXG4gIHJvbGxvdXRQZXJjZW50YWdlSXRlbXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybUdyb3VwLmdldCgncm9sbG91dFBlcmNlbnRhZ2VJdGVtcycpIGFzIEZvcm1BcnJheTtcbiAgfVxuXG4gIHZhbHVlKCkge1xuICAgIHJldHVybiB0aGlzLmZvcm1Hcm91cC5nZXQoJ3ZhbHVlJykgYXMgRm9ybUNvbnRyb2w7XG4gIH1cblxuICBhZGRSb2xsb3V0UnVsZSgpIHtcbiAgICB0aGlzLnJvbGxvdXRSdWxlcygpLnB1c2godGhpcy5mb3JtSGVscGVyLmNyZWF0ZVJvbGxvdXRSdWxlRm9ybUdyb3VwKFxuICAgICAgPFJvbGxvdXRSdWxlTW9kZWw+e1xuICAgICAgICBjb21wYXJpc29uQXR0cmlidXRlOiAnSWRlbnRpZmllcicsXG4gICAgICAgIGNvbXBhcmF0b3I6IFJvbGxvdXRSdWxlQ29tcGFyYXRvci5TZW5zaXRpdmVJc09uZU9mLFxuICAgICAgICBjb21wYXJpc29uVmFsdWU6ICcnLFxuICAgICAgICB2YWx1ZTogdGhpcy5zZXR0aW5nKCkuc2V0dGluZ1R5cGUgPT09IFNldHRpbmdUeXBlLkJvb2xlYW4gPyBmYWxzZSBhcyB1bmtub3duIDogbnVsbFxuICAgICAgfSxcbiAgICAgIHRoaXMucmVhZE9ubHksIHRoaXMuc2V0dGluZygpLnNldHRpbmdUeXBlKSk7XG4gICAgdGhpcy5yb2xsb3V0UnVsZXMoKS5tYXJrQXNEaXJ0eSgpO1xuICB9XG5cbiAgYWRkU2VnbWVudFJvbGxvdXRSdWxlKCkge1xuICAgIHRoaXMucm9sbG91dFJ1bGVzKCkucHVzaCh0aGlzLmZvcm1IZWxwZXIuY3JlYXRlUm9sbG91dFJ1bGVGb3JtR3JvdXAoXG4gICAgICA8Um9sbG91dFJ1bGVNb2RlbD57XG4gICAgICAgIHNlZ21lbnRDb21wYXJhdG9yOiBTZWdtZW50Q29tcGFyYXRvci5Jc0luLFxuICAgICAgICB2YWx1ZTogdGhpcy5zZXR0aW5nKCkuc2V0dGluZ1R5cGUgPT09IFNldHRpbmdUeXBlLkJvb2xlYW4gPyBmYWxzZSBhcyB1bmtub3duIDogbnVsbFxuICAgICAgfSxcbiAgICAgIHRoaXMucmVhZE9ubHksIHRoaXMuc2V0dGluZygpLnNldHRpbmdUeXBlKSk7XG4gICAgdGhpcy5yb2xsb3V0UnVsZXMoKS5tYXJrQXNEaXJ0eSgpO1xuICB9XG5cbiAgcmVtb3ZlUm9sbG91dFJ1bGVzKCkge1xuICAgIHRoaXMucm9sbG91dFJ1bGVzKCkuY2xlYXIoKTtcbiAgICB0aGlzLnJvbGxvdXRSdWxlcygpLm1hcmtBc0RpcnR5KCk7XG4gIH1cblxuICBhZGRSb2xsb3V0UGVyY2VudGFnZUl0ZW0oKSB7XG5cbiAgICBpZiAodGhpcy5yb2xsb3V0UGVyY2VudGFnZUl0ZW1zKCkubGVuZ3RoID09PSAwKSB7XG4gICAgICBzd2l0Y2ggKHRoaXMuc2V0dGluZygpLnNldHRpbmdUeXBlKSB7XG4gICAgICAgIGNhc2UgU2V0dGluZ1R5cGUuQm9vbGVhbjpcbiAgICAgICAgICB0aGlzLnJvbGxvdXRQZXJjZW50YWdlSXRlbXMoKS5wdXNoKHRoaXMuZm9ybUhlbHBlci5jcmVhdGVSb2xsb3V0UGVyY2VudGFnZUl0ZW1Gb3JtR3JvdXAoXG4gICAgICAgICAgICA8Um9sbG91dFBlcmNlbnRhZ2VJdGVtTW9kZWw+e1xuICAgICAgICAgICAgICBwZXJjZW50YWdlOiAwLFxuICAgICAgICAgICAgICB2YWx1ZTogdHJ1ZSBhcyB1bmtub3duIFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHRoaXMucmVhZE9ubHksIHRoaXMuc2V0dGluZygpLnNldHRpbmdUeXBlKSk7XG4gICAgICAgICAgdGhpcy5yb2xsb3V0UGVyY2VudGFnZUl0ZW1zKCkucHVzaCh0aGlzLmZvcm1IZWxwZXIuY3JlYXRlUm9sbG91dFBlcmNlbnRhZ2VJdGVtRm9ybUdyb3VwKFxuICAgICAgICAgICAgPFJvbGxvdXRQZXJjZW50YWdlSXRlbU1vZGVsPntcbiAgICAgICAgICAgICAgcGVyY2VudGFnZTogMTAwLFxuICAgICAgICAgICAgICB2YWx1ZTogZmFsc2UgYXMgdW5rbm93biBcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB0aGlzLnJlYWRPbmx5LCB0aGlzLnNldHRpbmcoKS5zZXR0aW5nVHlwZSkpO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgU2V0dGluZ1R5cGUuU3RyaW5nOlxuICAgICAgICBjYXNlIFNldHRpbmdUeXBlLkludDpcbiAgICAgICAgY2FzZSBTZXR0aW5nVHlwZS5Eb3VibGU6XG4gICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCA0OyBpKyspIHtcbiAgICAgICAgICAgIHRoaXMucm9sbG91dFBlcmNlbnRhZ2VJdGVtcygpLnB1c2godGhpcy5mb3JtSGVscGVyLmNyZWF0ZVJvbGxvdXRQZXJjZW50YWdlSXRlbUZvcm1Hcm91cChcbiAgICAgICAgICAgICAgPFJvbGxvdXRQZXJjZW50YWdlSXRlbU1vZGVsPntcbiAgICAgICAgICAgICAgICBwZXJjZW50YWdlOiAyNSxcbiAgICAgICAgICAgICAgICB2YWx1ZTogbnVsbFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB0aGlzLnJlYWRPbmx5LCB0aGlzLnNldHRpbmcoKS5zZXR0aW5nVHlwZSkpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodGhpcy5zZXR0aW5nKCkuc2V0dGluZ1R5cGUgIT09IFNldHRpbmdUeXBlLkJvb2xlYW4pIHtcbiAgICAgIHRoaXMucm9sbG91dFBlcmNlbnRhZ2VJdGVtcygpLnB1c2godGhpcy5mb3JtSGVscGVyLmNyZWF0ZVJvbGxvdXRQZXJjZW50YWdlSXRlbUZvcm1Hcm91cChcbiAgICAgICAgPFJvbGxvdXRQZXJjZW50YWdlSXRlbU1vZGVsPntcbiAgICAgICAgICBwZXJjZW50YWdlOiAwLFxuICAgICAgICAgIHZhbHVlOiBudWxsXG4gICAgICAgIH0sXG4gICAgICAgIHRoaXMucmVhZE9ubHksIHRoaXMuc2V0dGluZygpLnNldHRpbmdUeXBlKSk7XG4gICAgfVxuXG4gICAgdGhpcy5yb2xsb3V0UGVyY2VudGFnZUl0ZW1zKCkubWFya0FzRGlydHkoKTtcbiAgfVxuXG4gIHJlbW92ZVJvbGxvdXRQZXJjZW50YWdlSXRlbXMoKSB7XG4gICAgdGhpcy5yb2xsb3V0UGVyY2VudGFnZUl0ZW1zKCkuY2xlYXIoKTtcbiAgICB0aGlzLnJvbGxvdXRQZXJjZW50YWdlSXRlbXMoKS5tYXJrQXNEaXJ0eSgpO1xuICB9XG5cbiAgZWRpdFNldHRpbmcoKSB7XG4gICAgdGhpcy5lZGl0U2V0dGluZ1JlcXVlc3RlZC5lbWl0KHsgc2V0dGluZzogdGhpcy5zZXR0aW5nKCkgfSk7XG4gIH1cblxuICBkZWxldGVTZXR0aW5nKCkge1xuICAgIHRoaXMuZGVsZXRlU2V0dGluZ1JlcXVlc3RlZC5lbWl0KHsgc2V0dGluZzogdGhpcy5zZXR0aW5nKCkgfSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJzZXR0aW5nLWZ1bGxcIlxuICBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiPlxuICA8ZGl2IGNsYXNzPVwiZGVsZXRlXCIgKGNsaWNrKT1cImRlbGV0ZVNldHRpbmcoKVwiICpuZ0lmPVwiY2FuRGVsZXRlU2V0dGluZ1wiIFttYXRUb29sdGlwXT1cImRlbGV0ZVNldHRpbmdUZXh0XCJcbiAgICAgICBkYXRhLXJvYm90PVwiZGVsZXRlU2V0dGluZ1wiPlxuICAgIDxtYXQtaWNvbj5jYW5jZWw8L21hdC1pY29uPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cInNldHRpbmctaGVhZGVyIGZsZXhcIj5cbiAgICA8ZGl2IGNsYXNzPVwic2V0dGluZy1uYW1lIGZsZXhcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJuYW1lXCIgZGF0YS1yb2JvdD1cInNldHRpbmdOYW1lXCI+XG4gICAgICAgIHt7c2V0dGluZygpLm5hbWV9fVxuICAgICAgICA8c3BhbiAqbmdJZj1cInNob3dFbnZpcm9ubWVudE5hbWVcIj4gKHt7ZW52aXJvbm1lbnQoKS5uYW1lfX0pPC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiZWRpdFwiIG1hdFRvb2x0aXA9XCJFZGl0IG5hbWUgYW5kIGRlc2NyaXB0aW9uXCIgKGNsaWNrKT1cImVkaXRTZXR0aW5nKClcIiAqbmdJZj1cImNhbkVkaXRTZXR0aW5nXCJcbiAgICAgICAgICAgZGF0YS1yb2JvdD1cInJlbmFtZVNldHRpbmdcIj5cbiAgICAgICAgPG1hdC1pY29uPmVkaXQ8L21hdC1pY29uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwic2V0dGluZy1jb250ZW50XCI+XG4gICAgPGRpdiBjbGFzcz1cInNldHRpbmctZGV0YWlsc1wiPlxuICAgICAgPGRpdiBjbGFzcz1cInNldHRpbmcta2V5XCI+PGNvZGUgZGF0YS1yb2JvdD1cInNldHRpbmdLZXlcIj57e3NldHRpbmcoKS5rZXl9fTwvY29kZT48L2Rpdj5cbiAgICAgIDxzcGFuICpuZ0lmPVwic2V0dGluZygpLmhpbnRcIiBjbGFzcz1cImRlc2NyaXB0aW9uXCI+e3tzZXR0aW5nKCkuaGludH19PC9zcGFuPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cInJ1bGVzLWxpc3RcIj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxjb25maWdjYXQtcm9sbG91dC1ydWxlcyAqbmdJZj1cInJvbGxvdXRSdWxlcygpLmNvbnRyb2xzLmxlbmd0aCAhPT0gMFwiIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCIgW3NlZ21lbnRzXT1cInNlZ21lbnRzXCI+XG4gICAgICAgIDwvY29uZmlnY2F0LXJvbGxvdXQtcnVsZXM+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGNvbmZpZ2NhdC1yb2xsb3V0LXBlcmNlbnRhZ2UtaXRlbXMgKm5nSWY9XCJyb2xsb3V0UGVyY2VudGFnZUl0ZW1zKCkuY29udHJvbHMubGVuZ3RoICE9PSAwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCI+XG4gICAgICA8L2NvbmZpZ2NhdC1yb2xsb3V0LXBlcmNlbnRhZ2UtaXRlbXM+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJhbGwtb3RoZXIgZmxleFwiPlxuICAgICAgICA8ZGl2ICpuZ0lmPVwicm9sbG91dFBlcmNlbnRhZ2VJdGVtcygpLmxlbmd0aCA9PT0gMCAmJiByb2xsb3V0UnVsZXMoKS5sZW5ndGggIT09IDBcIlxuICAgICAgICAgICAgIGRhdGEtdG9vbHRpcD1cIlRoaXMgdmFsdWUgd2lsbCBiZSBzZXJ2ZWQgdG8gYWxsIHVzZXJzIHdobyB0aGUgYWJvdmUgcnVsZXMgZG9uJ3QgYXBwbHkuXCI+XG4gICAgICAgICAgPG1hdC1jaGlwLWxpc3Q+XG4gICAgICAgICAgICA8bWF0LWNoaXAgY2xhc3M9XCJjaGlwXCI+VG8gYWxsIG90aGVyIHVzZXJzLCBzZXJ2ZTo8L21hdC1jaGlwPlxuICAgICAgICAgIDwvbWF0LWNoaXAtbGlzdD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJyb2xsb3V0UGVyY2VudGFnZUl0ZW1zKCkubGVuZ3RoICE9PSAwXCJcbiAgICAgICAgICAgICBkYXRhLXRvb2x0aXA9XCJUaGlzIGZhbGxiYWNrIHZhbHVlIHdpbGwgYmUgc2VydmVkIGluIGNhc2UgdGhlIHVzZXIgY2FuJ3QgYmUgaWRlbnRpZmllZC5cIj5cbiAgICAgICAgICA8bWF0LWNoaXAtbGlzdD5cbiAgICAgICAgICAgIDxtYXQtY2hpcCBjbGFzcz1cImNoaXBcIj5UbyB1bmlkZW50aWZpZWQgdXNlcnMsIHNlcnZlOjwvbWF0LWNoaXA+XG4gICAgICAgICAgPC9tYXQtY2hpcC1saXN0PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiAqbmdJZj1cInJvbGxvdXRQZXJjZW50YWdlSXRlbXMoKS5sZW5ndGggPT09IDAgJiYgcm9sbG91dFJ1bGVzKCkubGVuZ3RoID09PSAwXCI+XG4gICAgICAgICAgPG1hdC1jaGlwLWxpc3Q+XG4gICAgICAgICAgICA8bWF0LWNoaXAgY2xhc3M9XCJjaGlwXCI+VG8gYWxsIHVzZXJzLCBzZXJ2ZTo8L21hdC1jaGlwPlxuICAgICAgICAgIDwvbWF0LWNoaXAtbGlzdD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxjb25maWdjYXQtdmFsdWUgY2xhc3M9XCJzZXJ2ZWQtdmFsdWVcIiBbdmFsdWVGb3JtQ29udHJvbF09XCJ2YWx1ZSgpXCIgW3NldHRpbmddPVwic2V0dGluZygpXCI+XG4gICAgICAgIDwvY29uZmlnY2F0LXZhbHVlPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uc1wiPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cInNpZ2UtYnV0dG9uIHRhcmdldGluZy1idXR0b25cIiAoY2xpY2spPVwiYWRkUm9sbG91dFJ1bGUoKVwiICpuZ0lmPVwiIXJlYWRPbmx5XCI+XG4gICAgICAgICAge3tyb2xsb3V0UnVsZXMoKS5sZW5ndGggPT09IDAgPyAnVGFyZ2V0IHNwZWNpZmljIHVzZXJzJyA6ICdBZGQgbmV3IHRhcmdldGluZyBydWxlJ319XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cInNpZ2UtYnV0dG9uIHRhcmdldGluZy1idXR0b25cIiAoY2xpY2spPVwiYWRkU2VnbWVudFJvbGxvdXRSdWxlKClcIiAqbmdJZj1cIiFyZWFkT25seVwiPlxuICAgICAgICAgIHt7cm9sbG91dFJ1bGVzKCkubGVuZ3RoID09PSAwID8gJ1RhcmdldCBzZWdtZW50JyA6ICdUYXJnZXQgbmV3IHNlZ21lbnQnfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwic2lnZS1idXR0b24gdGFyZ2V0aW5nLWJ1dHRvblwiIChjbGljayk9XCJhZGRSb2xsb3V0UGVyY2VudGFnZUl0ZW0oKVwiXG4gICAgICAgICAgICAgICAgKm5nSWY9XCIhcmVhZE9ubHlcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJzZXR0aW5nKCkuc2V0dGluZ1R5cGUgPT09IFNldHRpbmdUeXBlLkJvb2xlYW4gJiYgcm9sbG91dFBlcmNlbnRhZ2VJdGVtcygpLmxlbmd0aCAhPT0gMFwiPlxuICAgICAgICAgIHt7cm9sbG91dFBlcmNlbnRhZ2VJdGVtcygpLmxlbmd0aCA9PT0gMCA/ICdUYXJnZXQgJSBvZiB1c2VycycgOiAnQWRkIG5ldyAlIG9wdGlvbid9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -19,11 +19,11 @@ export class ValueComponent {
|
|
|
19
19
|
});
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
|
-
ValueComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
23
|
-
ValueComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.
|
|
24
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
22
|
+
ValueComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: ValueComponent, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
|
|
23
|
+
ValueComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: ValueComponent, selector: "configcat-value", inputs: { valueFormControl: "valueFormControl", setting: "setting" }, ngImport: i0, template: "<div class=\"flex\">\n <div class=\"container\" [ngSwitch]=\"setting.settingType\">\n <div *ngSwitchCase=\"SettingType.String\" class=\"with-validation\">\n <span *ngIf=\"valueFormControl.invalid\" class=\"error\">*</span>\n <input [ngClass]=\"{'invalid': valueFormControl.invalid}\" type=\"text\"\n [formControl]=\"valueFormControl\" placeholder=\"my value\" name=\"value\">\n <div class=\"expand\" (click)=\"popOut()\" matTooltip=\"Pop-out Editor\">\n <mat-icon>height</mat-icon>\n </div>\n </div>\n <div *ngSwitchCase=\"SettingType.Int\" class=\"with-validation\">\n <span *ngIf=\"valueFormControl.invalid\" class=\"error\">*</span>\n <input [ngClass]=\"{'invalid': valueFormControl.invalid}\" type=\"number\" [formControl]=\"valueFormControl\"\n placeholder=\"42\" name=\"value\" />\n </div>\n <div *ngSwitchCase=\"SettingType.Double\" class=\"with-validation\">\n <span *ngIf=\"valueFormControl.invalid\" class=\"error\">*</span>\n <input [ngClass]=\"{'invalid': valueFormControl.invalid}\" type=\"number\" [formControl]=\"valueFormControl\"\n placeholder=\"3.14\" name=\"value\">\n </div>\n <div *ngSwitchCase=\"SettingType.Boolean\" class=\"toggle\">\n <label class=\"switch\">\n <input type=\"checkbox\" [formControl]=\"valueFormControl\" name=\"value\" />\n <span class=\"slider round\"></span>\n </label>\n </div>\n </div>\n <div *ngIf=\"setting.settingType === SettingType.Boolean\" class=\"spacer\"></div>\n\n</div>\n", styles: [".switch{position:relative;width:66px;height:30px;margin-left:4px;margin-top:0;margin-bottom:0}.switch input{display:none}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ff5252;transition:.4s;width:66px;height:30px}.slider:before{position:absolute;content:\"\";height:22px;width:22px;left:4px;bottom:4px;background-color:#fff;transition:.4s}input:checked+.slider{background-color:#9acd32}input:focus+.slider{box-shadow:0 0 1px #9acd32}input:checked+.slider:before{transform:translate(36px)}.slider.round{border-radius:34px}.slider.round:before{border-radius:50%}.slider:after{content:\"Off\";color:#fff;display:block;position:absolute;transform:translate(-14%,-50%);top:50%;left:50%;font-size:10px;font-family:Verdana,sans-serif}input:checked+.slider:after{content:\"On\";transform:translate(-91%,-50%)}\n", ".flex{display:flex;margin-right:20px;align-items:center}.flex .spacer{width:15px}.flex .container .with-validation{display:flex;flex-wrap:nowrap}.flex .container .toggle{width:66px;height:30px}.flex .container input{background-color:#fff;border:1px solid #e5e5e5;min-height:28px;font-size:15px;padding:0 30px 0 10px;font-family:Montserrat,Roboto,Helvetica Neue,sans-serif;font-weight:300;min-width:170px}.flex .container .invalid{border:1px solid #ff5252}.flex .container .error{color:#ff5252;margin-right:5px}@media (max-width: 1200px){.flex .container input{min-width:auto}}.flex .variationId{margin-left:5px;cursor:pointer;color:#888;display:flex;align-items:center}.flex .expand{position:relative;top:2px;height:24px;cursor:pointer;margin-left:-28px;z-index:1;color:#b3b3b3;background-color:#fff}.flex .expand mat-icon{transform:rotate(45deg)}\n"], components: [{ type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i5.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i4.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { type: i4.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }] });
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: ValueComponent, decorators: [{
|
|
25
25
|
type: Component,
|
|
26
|
-
args: [{ selector: 'configcat-value', template: "<div class=\"flex\">\n <div class=\"container\" [ngSwitch]=\"setting.settingType\">\n <div *ngSwitchCase=\"SettingType.String\" class=\"with-validation\">\n <span *ngIf=\"valueFormControl.invalid\" class=\"error\">*</span>\n <input [ngClass]=\"{'invalid': valueFormControl.invalid}\" type=\"text\"\n [formControl]=\"valueFormControl\" placeholder=\"my value\" name=\"value\">\n <div class=\"expand\" (click)=\"popOut()\" matTooltip=\"Pop-out Editor\">\n <mat-icon>height</mat-icon>\n </div>\n </div>\n <div *ngSwitchCase=\"SettingType.Int\" class=\"with-validation\">\n <span *ngIf=\"valueFormControl.invalid\" class=\"error\">*</span>\n <input [ngClass]=\"{'invalid': valueFormControl.invalid}\" type=\"number\" [formControl]=\"valueFormControl\"\n placeholder=\"42\" name=\"value\" />\n </div>\n <div *ngSwitchCase=\"SettingType.Double\" class=\"with-validation\">\n <span *ngIf=\"valueFormControl.invalid\" class=\"error\">*</span>\n <input [ngClass]=\"{'invalid': valueFormControl.invalid}\" type=\"number\" [formControl]=\"valueFormControl\"\n placeholder=\"3.14\" name=\"value\">\n </div>\n <div *ngSwitchCase=\"SettingType.Boolean\" class=\"toggle\">\n <label class=\"switch\">\n <input type=\"checkbox\" [formControl]=\"valueFormControl\" name=\"value\" />\n <span class=\"slider round\"></span>\n </label>\n </div>\n </div>\n <div *ngIf=\"setting.settingType === SettingType.Boolean\" class=\"spacer\"></div>\n\n</div>\n", styles: [".switch{position:relative;width:66px;height:30px;margin-left:4px;margin-top:0;margin-bottom:0}.switch input{display:none}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ff5252;transition:.4s;width:66px;height:30px}.slider:before{position:absolute;content:\"\";height:22px;width:22px;left:4px;bottom:4px;background-color:#fff;transition:.4s}input:checked+.slider{background-color:#9acd32}input:focus+.slider{box-shadow:0 0 1px #9acd32}input:checked+.slider:before{transform:translate(36px)}.slider.round{border-radius:34px}.slider.round:before{border-radius:50%}.slider:after{content:\"Off\";color:#fff;display:block;position:absolute;transform:translate(-14%,-50%);top:50%;left:50%;font-size:10px;font-family:Verdana,sans-serif}input:checked+.slider:after{content:\"On\";transform:translate(-91%,-50%)}\n", ".flex{display:flex;margin-right:20px;align-items:center}.flex .spacer{width:15px}.flex .container .with-validation{display:flex;flex-wrap:nowrap}.flex .container .toggle{width:66px;height:30px}.flex .container input{background-color:#fff;border:1px solid #e5e5e5;min-height:28px;font-size:15px;padding:0 30px 0 10px;font-family:Montserrat,Roboto
|
|
26
|
+
args: [{ selector: 'configcat-value', template: "<div class=\"flex\">\n <div class=\"container\" [ngSwitch]=\"setting.settingType\">\n <div *ngSwitchCase=\"SettingType.String\" class=\"with-validation\">\n <span *ngIf=\"valueFormControl.invalid\" class=\"error\">*</span>\n <input [ngClass]=\"{'invalid': valueFormControl.invalid}\" type=\"text\"\n [formControl]=\"valueFormControl\" placeholder=\"my value\" name=\"value\">\n <div class=\"expand\" (click)=\"popOut()\" matTooltip=\"Pop-out Editor\">\n <mat-icon>height</mat-icon>\n </div>\n </div>\n <div *ngSwitchCase=\"SettingType.Int\" class=\"with-validation\">\n <span *ngIf=\"valueFormControl.invalid\" class=\"error\">*</span>\n <input [ngClass]=\"{'invalid': valueFormControl.invalid}\" type=\"number\" [formControl]=\"valueFormControl\"\n placeholder=\"42\" name=\"value\" />\n </div>\n <div *ngSwitchCase=\"SettingType.Double\" class=\"with-validation\">\n <span *ngIf=\"valueFormControl.invalid\" class=\"error\">*</span>\n <input [ngClass]=\"{'invalid': valueFormControl.invalid}\" type=\"number\" [formControl]=\"valueFormControl\"\n placeholder=\"3.14\" name=\"value\">\n </div>\n <div *ngSwitchCase=\"SettingType.Boolean\" class=\"toggle\">\n <label class=\"switch\">\n <input type=\"checkbox\" [formControl]=\"valueFormControl\" name=\"value\" />\n <span class=\"slider round\"></span>\n </label>\n </div>\n </div>\n <div *ngIf=\"setting.settingType === SettingType.Boolean\" class=\"spacer\"></div>\n\n</div>\n", styles: [".switch{position:relative;width:66px;height:30px;margin-left:4px;margin-top:0;margin-bottom:0}.switch input{display:none}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ff5252;transition:.4s;width:66px;height:30px}.slider:before{position:absolute;content:\"\";height:22px;width:22px;left:4px;bottom:4px;background-color:#fff;transition:.4s}input:checked+.slider{background-color:#9acd32}input:focus+.slider{box-shadow:0 0 1px #9acd32}input:checked+.slider:before{transform:translate(36px)}.slider.round{border-radius:34px}.slider.round:before{border-radius:50%}.slider:after{content:\"Off\";color:#fff;display:block;position:absolute;transform:translate(-14%,-50%);top:50%;left:50%;font-size:10px;font-family:Verdana,sans-serif}input:checked+.slider:after{content:\"On\";transform:translate(-91%,-50%)}\n", ".flex{display:flex;margin-right:20px;align-items:center}.flex .spacer{width:15px}.flex .container .with-validation{display:flex;flex-wrap:nowrap}.flex .container .toggle{width:66px;height:30px}.flex .container input{background-color:#fff;border:1px solid #e5e5e5;min-height:28px;font-size:15px;padding:0 30px 0 10px;font-family:Montserrat,Roboto,Helvetica Neue,sans-serif;font-weight:300;min-width:170px}.flex .container .invalid{border:1px solid #ff5252}.flex .container .error{color:#ff5252;margin-right:5px}@media (max-width: 1200px){.flex .container input{min-width:auto}}.flex .variationId{margin-left:5px;cursor:pointer;color:#888;display:flex;align-items:center}.flex .expand{position:relative;top:2px;height:24px;cursor:pointer;margin-left:-28px;z-index:1;color:#b3b3b3;background-color:#fff}.flex .expand mat-icon{transform:rotate(45deg)}\n"] }]
|
|
27
27
|
}], ctorParameters: function () { return [{ type: i1.MatDialog }]; }, propDecorators: { valueFormControl: [{
|
|
28
28
|
type: Input
|
|
29
29
|
}], setting: [{
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Component, Input, Output, EventEmitter } from '@angular/core';
|
|
2
|
+
import { forkJoin } from 'rxjs';
|
|
2
3
|
import { ReasonDialogComponent } from '../dialogs/reason-dialog/reason-dialog.component';
|
|
3
4
|
import { SaveSnackbarComponent } from '../dialogs/save-snackbar/save-snackbar.component';
|
|
4
5
|
import { ConcurrentDialogComponent } from '../dialogs/concurrent-dialog/concurrent-dialog.component';
|
|
@@ -44,10 +45,13 @@ export class SettingListComponent {
|
|
|
44
45
|
reloadSettingValues() {
|
|
45
46
|
this.showFeedBackMessage = false;
|
|
46
47
|
this.loading = true;
|
|
47
|
-
|
|
48
|
-
.
|
|
49
|
-
this.
|
|
50
|
-
|
|
48
|
+
forkJoin({
|
|
49
|
+
segments: this.loadSegments(),
|
|
50
|
+
settingValues: this.loadSettingValues()
|
|
51
|
+
}).subscribe(result => {
|
|
52
|
+
this.readOnly = result.settingValues.readOnly;
|
|
53
|
+
this.settingValues = result.settingValues;
|
|
54
|
+
this.segments = result.segments;
|
|
51
55
|
this.createFormGroup();
|
|
52
56
|
this.loading = false;
|
|
53
57
|
}, error => {
|
|
@@ -164,11 +168,11 @@ export class SettingListComponent {
|
|
|
164
168
|
});
|
|
165
169
|
}
|
|
166
170
|
}
|
|
167
|
-
SettingListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
168
|
-
SettingListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.
|
|
169
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
171
|
+
SettingListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: SettingListComponent, deps: [{ token: i1.SettingListFormHelper }, { token: i2.MatSnackBar }, { token: i3.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
|
|
172
|
+
SettingListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: SettingListComponent, selector: "configcat-setting-list", inputs: { canEditSetting: "canEditSetting", canDeleteSetting: "canDeleteSetting", onSave: "onSave", loadSettingValues: "loadSettingValues", loadSegments: "loadSegments", deleteSettingText: "deleteSettingText", showEnvironmentName: "showEnvironmentName" }, outputs: { editSettingRequested: "editSettingRequested", deleteSettingRequested: "deleteSettingRequested", formValuesChanged: "formValuesChanged" }, usesOnChanges: true, ngImport: i0, template: "<form [formGroup]=\"formGroup\" (ngSubmit)=\"submit()\" *ngIf=\"!loading\">\n <div class=\"wrapper\" *ngFor=\"let settingValueFromGroup of getSettingValueFormGroups(); let i = index\">\n <setting [formGroup]=\"settingValueFromGroup\" [readOnly]=\"readOnly\" [canEditSetting]=\"canEditSetting\"\n [canDeleteSetting]=\"canDeleteSetting\" (editSettingRequested)=\"onEditSettingRequested($event)\"\n (deleteSettingRequested)=\"onDeleteSettingRequested($event)\" [deleteSettingText]=\"deleteSettingText\"\n [showEnvironmentName]=\"showEnvironmentName\" [segments]=\"segments\">\n </setting>\n </div>\n\n <div class=\"save\" *ngIf=\"!readOnly && !submitting && formGroup.dirty\">\n <div class=\"feedback\" *ngIf=\"formGroup.touched && formGroup.invalid && showFeedBackMessage\">\n <div class=\"error\" *ngIf=\"formGroup.errors && formGroup.errors.internalServerError\">\n <span>Something went wrong and we could not save your settings. You can try again or <a\n href=\"https://configcat.com/support\" target=\"_blank\" rel=\"noopener noreferrer\">contact us.</a></span>\n </div>\n <div class=\"error\" *ngIf=\"!formGroup.errors || !formGroup.errors.internalServerError\">\n <span>Oh no! A feature flag has invalid or missing data.</span>\n </div>\n </div>\n <button type=\"button\" mat-stroked-button *ngIf=\"!showRevertQuestion\" (click)=\"showRevertQuestion = true\">\n <mat-icon>history</mat-icon><span>Revert changes</span>\n </button>\n <div *ngIf=\"showRevertQuestion\">\n <span class=\"revert\">Revert to last saved state?</span>\n <button type=\"button\" class=\"yes\" mat-stroked-button (click)=\"handleRevertYes()\">Yes</button>\n <button type=\"button\" mat-stroked-button (click)=\"handleRevertCancel()\">No</button>\n </div>\n <button class=\"save-button\" mat-flat-button color=\"warn\" type=\"submit\" [disabled]=\"submitting\">\n <mat-icon>backup</mat-icon> <span> Save & publish changes</span>\n </button>\n </div>\n</form>", styles: [".wrapper{background-color:#f3f3f3;border:1px solid rgba(0,0,0,.12);border-radius:4px;margin:1em 0}.show-hide a{cursor:pointer;font-size:.8rem}.save{position:sticky;bottom:0;min-height:38px;padding:.5rem .5rem .5rem 0;background-color:#fff;display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-end;z-index:1000}.save .save-button{animation:shadow-pulse 1s 3;margin-left:1rem}.save>*{margin:.3em}.save .revert{margin:0 16px;font-size:14px}.save .yes{margin:0 5px}.error{background-color:#a32b2d;color:#fff;padding:5px;font-size:.9em}.error a{color:#fff;text-decoration:underline}@media (max-width: 700px){.save{padding:.5rem 0}}\n"], components: [{ type: i4.SettingComponent, selector: "setting", inputs: ["formGroup", "readOnly", "canEditSetting", "canDeleteSetting", "deleteSettingText", "showEnvironmentName", "segments"], outputs: ["editSettingRequested", "deleteSettingRequested"] }, { type: i5.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i8.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i8.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
173
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: SettingListComponent, decorators: [{
|
|
170
174
|
type: Component,
|
|
171
|
-
args: [{ selector: 'configcat-setting-list', template: "<form [formGroup]=\"formGroup\" (ngSubmit)=\"submit()\" *ngIf=\"!loading\">\n <div class=\"wrapper\" *ngFor=\"let settingValueFromGroup of getSettingValueFormGroups(); let i = index\">\n <setting [formGroup]=\"settingValueFromGroup\" [readOnly]=\"readOnly\" [canEditSetting]=\"canEditSetting\"\n [canDeleteSetting]=\"canDeleteSetting\" (editSettingRequested)=\"onEditSettingRequested($event)\"\n (deleteSettingRequested)=\"onDeleteSettingRequested($event)\" [deleteSettingText]=\"deleteSettingText\"\n [showEnvironmentName]=\"showEnvironmentName\">\n </setting>\n </div>\n\n <div class=\"save\" *ngIf=\"!readOnly && !submitting && formGroup.dirty\">\n <div class=\"feedback\" *ngIf=\"formGroup.touched && formGroup.invalid && showFeedBackMessage\">\n <div class=\"error\" *ngIf=\"formGroup.errors && formGroup.errors.internalServerError\">\n <span>Something went wrong and we could not save your settings. You can try again or <a\n href=\"https://configcat.com/support\" target=\"_blank\" rel=\"noopener noreferrer\">contact us.</a></span>\n </div>\n <div class=\"error\" *ngIf=\"!formGroup.errors || !formGroup.errors.internalServerError\">\n <span>Oh no! A feature flag has invalid or missing data.</span>\n </div>\n </div>\n <button type=\"button\" mat-stroked-button *ngIf=\"!showRevertQuestion\" (click)=\"showRevertQuestion = true\">\n <mat-icon>history</mat-icon><span>Revert changes</span>\n </button>\n <div *ngIf=\"showRevertQuestion\">\n <span class=\"revert\">Revert to last saved state?</span>\n <button type=\"button\" class=\"yes\" mat-stroked-button (click)=\"handleRevertYes()\">Yes</button>\n <button type=\"button\" mat-stroked-button (click)=\"handleRevertCancel()\">No</button>\n </div>\n <button class=\"save-button\" mat-flat-button color=\"warn\" type=\"submit\" [disabled]=\"submitting\">\n <mat-icon>backup</mat-icon> <span> Save & publish changes</span>\n </button>\n </div>\n</form>", styles: [".wrapper{background-color:#f3f3f3;border:1px solid rgba(0,0,0,.12);border-radius:4px;margin:1em 0}.show-hide a{cursor:pointer;font-size:.8rem}.save{position:sticky;bottom:0;min-height:38px;padding:.5rem .5rem .5rem 0;background-color:#fff;display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-end;z-index:1000}.save .save-button{animation:shadow-pulse 1s 3;margin-left:1rem}.save>*{margin:.3em}.save .revert{margin:0 16px;font-size:14px}.save .yes{margin:0 5px}.error{background-color:#a32b2d;color:#fff;padding:5px;font-size:.9em}.error a{color:#fff;text-decoration:underline}@media (max-width: 700px){.save{padding:.5rem 0}}\n"] }]
|
|
175
|
+
args: [{ selector: 'configcat-setting-list', template: "<form [formGroup]=\"formGroup\" (ngSubmit)=\"submit()\" *ngIf=\"!loading\">\n <div class=\"wrapper\" *ngFor=\"let settingValueFromGroup of getSettingValueFormGroups(); let i = index\">\n <setting [formGroup]=\"settingValueFromGroup\" [readOnly]=\"readOnly\" [canEditSetting]=\"canEditSetting\"\n [canDeleteSetting]=\"canDeleteSetting\" (editSettingRequested)=\"onEditSettingRequested($event)\"\n (deleteSettingRequested)=\"onDeleteSettingRequested($event)\" [deleteSettingText]=\"deleteSettingText\"\n [showEnvironmentName]=\"showEnvironmentName\" [segments]=\"segments\">\n </setting>\n </div>\n\n <div class=\"save\" *ngIf=\"!readOnly && !submitting && formGroup.dirty\">\n <div class=\"feedback\" *ngIf=\"formGroup.touched && formGroup.invalid && showFeedBackMessage\">\n <div class=\"error\" *ngIf=\"formGroup.errors && formGroup.errors.internalServerError\">\n <span>Something went wrong and we could not save your settings. You can try again or <a\n href=\"https://configcat.com/support\" target=\"_blank\" rel=\"noopener noreferrer\">contact us.</a></span>\n </div>\n <div class=\"error\" *ngIf=\"!formGroup.errors || !formGroup.errors.internalServerError\">\n <span>Oh no! A feature flag has invalid or missing data.</span>\n </div>\n </div>\n <button type=\"button\" mat-stroked-button *ngIf=\"!showRevertQuestion\" (click)=\"showRevertQuestion = true\">\n <mat-icon>history</mat-icon><span>Revert changes</span>\n </button>\n <div *ngIf=\"showRevertQuestion\">\n <span class=\"revert\">Revert to last saved state?</span>\n <button type=\"button\" class=\"yes\" mat-stroked-button (click)=\"handleRevertYes()\">Yes</button>\n <button type=\"button\" mat-stroked-button (click)=\"handleRevertCancel()\">No</button>\n </div>\n <button class=\"save-button\" mat-flat-button color=\"warn\" type=\"submit\" [disabled]=\"submitting\">\n <mat-icon>backup</mat-icon> <span> Save & publish changes</span>\n </button>\n </div>\n</form>", styles: [".wrapper{background-color:#f3f3f3;border:1px solid rgba(0,0,0,.12);border-radius:4px;margin:1em 0}.show-hide a{cursor:pointer;font-size:.8rem}.save{position:sticky;bottom:0;min-height:38px;padding:.5rem .5rem .5rem 0;background-color:#fff;display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-end;z-index:1000}.save .save-button{animation:shadow-pulse 1s 3;margin-left:1rem}.save>*{margin:.3em}.save .revert{margin:0 16px;font-size:14px}.save .yes{margin:0 5px}.error{background-color:#a32b2d;color:#fff;padding:5px;font-size:.9em}.error a{color:#fff;text-decoration:underline}@media (max-width: 700px){.save{padding:.5rem 0}}\n"] }]
|
|
172
176
|
}], ctorParameters: function () { return [{ type: i1.SettingListFormHelper }, { type: i2.MatSnackBar }, { type: i3.MatDialog }]; }, propDecorators: { canEditSetting: [{
|
|
173
177
|
type: Input
|
|
174
178
|
}], canDeleteSetting: [{
|
|
@@ -177,6 +181,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImpor
|
|
|
177
181
|
type: Input
|
|
178
182
|
}], loadSettingValues: [{
|
|
179
183
|
type: Input
|
|
184
|
+
}], loadSegments: [{
|
|
185
|
+
type: Input
|
|
180
186
|
}], deleteSettingText: [{
|
|
181
187
|
type: Input
|
|
182
188
|
}], showEnvironmentName: [{
|
|
@@ -188,4 +194,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImpor
|
|
|
188
194
|
}], formValuesChanged: [{
|
|
189
195
|
type: Output
|
|
190
196
|
}] } });
|
|
191
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZy1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbmZpZ2NhdC1wdWJsaWNhcGktdWkvc3JjL2xpYi9zZXR0aW5nLWxpc3Qvc2V0dGluZy1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbmZpZ2NhdC1wdWJsaWNhcGktdWkvc3JjL2xpYi9zZXR0aW5nLWxpc3Qvc2V0dGluZy1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQXdCLE1BQU0sZUFBZSxDQUFDO0FBTXJHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3pGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDOzs7Ozs7Ozs7O0FBUXJHLE1BQU0sT0FBTyxvQkFBb0I7SUEwQi9CLFlBQW9CLFVBQWlDLEVBQzNDLFFBQXFCLEVBQ3JCLE1BQWlCO1FBRlAsZUFBVSxHQUFWLFVBQVUsQ0FBdUI7UUFDM0MsYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQUNyQixXQUFNLEdBQU4sTUFBTSxDQUFXO1FBMUJsQixtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUN2QixxQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFJekIsc0JBQWlCLEdBQUcsZ0JBQWdCLENBQUM7UUFDckMsd0JBQW1CLEdBQUcsS0FBSyxDQUFDO1FBRTNCLHlCQUFvQixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDMUMsMkJBQXNCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUM1QyxzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBSWpELFlBQU8sR0FB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QixLQUFLO2dCQUVHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFFSSxvQkFBb0I7c0JBQTdCLE1BQU07Z0JBQ0csc0JBQXNCO3NCQUEvQixNQUFNO2dCQUNHLGlCQUFpQjtzQkFBMUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIE9uRGVzdHJveSwgT25DaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTZXR0aW5nVmFsdWVzTW9kZWwsIFVwZGF0ZVNldHRpbmdWYWx1ZXNNb2RlbCB9IGZyb20gJy4uL19tb2RlbHMnO1xuaW1wb3J0IHsgRm9ybUFycmF5LCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE1hdFNuYWNrQmFyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBSZWFzb25EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9kaWFsb2dzL3JlYXNvbi1kaWFsb2cvcmVhc29uLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2F2ZVNuYWNrYmFyQ29tcG9uZW50IH0gZnJvbSAnLi4vZGlhbG9ncy9zYXZlLXNuYWNrYmFyL3NhdmUtc25hY2tiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IENvbmN1cnJlbnREaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9kaWFsb2dzL2NvbmN1cnJlbnQtZGlhbG9nL2NvbmN1cnJlbnQtZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZXR0aW5nTGlzdEZvcm1IZWxwZXIgfSBmcm9tICcuLi9fc2VydmljZXMvc2V0dGluZy1saXN0LWZvcm0taGVscGVyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY29uZmlnY2F0LXNldHRpbmctbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZXR0aW5nLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZXR0aW5nLWxpc3QuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBTZXR0aW5nTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuXG4gIEBJbnB1dCgpIGNhbkVkaXRTZXR0aW5nID0gZmFsc2U7XG4gIEBJbnB1dCgpIGNhbkRlbGV0ZVNldHRpbmcgPSBmYWxzZTtcblxuICBASW5wdXQoKSBvblNhdmUhOiAodmFsdWU6IFVwZGF0ZVNldHRpbmdWYWx1ZXNNb2RlbCkgPT4gT2JzZXJ2YWJsZTxTZXR0aW5nVmFsdWVzTW9kZWw+O1xuICBASW5wdXQoKSBsb2FkU2V0dGluZ1ZhbHVlcyE6ICgpID0+IE9ic2VydmFibGU8U2V0dGluZ1ZhbHVlc01vZGVsPjtcbiAgQElucHV0KCkgZGVsZXRlU2V0dGluZ1RleHQgPSAnRGVsZXRlIHNldHRpbmcnO1xuICBASW5wdXQoKSBzaG93RW52aXJvbm1lbnROYW1lID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpIGVkaXRTZXR0aW5nUmVxdWVzdGVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgZGVsZXRlU2V0dGluZ1JlcXVlc3RlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGZvcm1WYWx1ZXNDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIGZvcm1WYWx1ZXNDaGFuZ2VkU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uIHwgbnVsbDtcblxuICBsb2FkaW5nID0gdHJ1ZTtcblxuICBzZXR0aW5nVmFsdWVzITogU2V0dGluZ1ZhbHVlc01vZGVsO1xuICBmb3JtR3JvdXAhOiBGb3JtR3JvdXA7XG5cbiAgc3VibWl0dGluZyA9IGZhbHNlO1xuICBzaG93UmV2ZXJ0UXVlc3Rpb24gPSBmYWxzZTtcbiAgc2hvd0ZlZWRCYWNrTWVzc2FnZSA9IGZhbHNlO1xuICByZWFkT25seSA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZm9ybUhlbHBlcjogU2V0dGluZ0xpc3RGb3JtSGVscGVyLFxuICAgIHByaXZhdGUgc25hY2tCYXI6IE1hdFNuYWNrQmFyLFxuICAgIHByaXZhdGUgZGlhbG9nOiBNYXREaWFsb2cpIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMucmVsb2FkU2V0dGluZ1ZhbHVlcygpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5yZWxvYWRTZXR0aW5nVmFsdWVzKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICBpZiAodGhpcy5mb3JtVmFsdWVzQ2hhbmdlZFN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5mb3JtVmFsdWVzQ2hhbmdlZFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgdGhpcy5mb3JtVmFsdWVzQ2hhbmdlZFN1YnNjcmlwdGlvbiA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgcmVsb2FkU2V0dGluZ1ZhbHVlcygpIHtcbiAgICB0aGlzLnNob3dGZWVkQmFja01lc3NhZ2UgPSBmYWxzZTtcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgIHRoaXMubG9hZFNldHRpbmdWYWx1ZXMoKVxuICAgICAgLnN1YnNjcmliZShzZXR0aW5nVmFsdWVzID0+IHtcbiAgICAgICAgdGhpcy5yZWFkT25seSA9IHNldHRpbmdWYWx1ZXMucmVhZE9ubHk7XG4gICAgICAgIHRoaXMuc2V0dGluZ1ZhbHVlcyA9IHNldHRpbmdWYWx1ZXM7XG4gICAgICAgIHRoaXMuY3JlYXRlRm9ybUdyb3VwKCk7XG4gICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgfSxcbiAgICAgICAgZXJyb3IgPT4ge1xuICAgICAgICAgIHRoaXMuc25hY2tCYXIub3BlbignT29vcHMuIFdlIGNvdWxkIG5vdCBsb2FkIHlvdXIgRmVhdHVyZSBGbGFncyBhbmQgU2V0dGluZ3MuIFBsZWFzZSB0cnkgYWdhaW4gb3IgY29udGFjdCB1cy4nLFxuICAgICAgICAgICAgJ0Rpc21pc3MnLCB7IGR1cmF0aW9uOiA2MDAwMCwgcGFuZWxDbGFzczogJ3JlZC1zbmFja2JhcicgfSk7XG4gICAgICAgIH0pO1xuICB9XG5cbiAgY3JlYXRlRm9ybUdyb3VwKCkge1xuICAgIHRoaXMuZm9ybUdyb3VwID0gdGhpcy5mb3JtSGVscGVyLmNyZWF0ZVNldHRpbmdWYWx1ZXNGb3JtR3JvdXAodGhpcy5zZXR0aW5nVmFsdWVzKTtcbiAgICB0aGlzLmZvcm1WYWx1ZXNDaGFuZ2VkU3Vic2NyaXB0aW9uID0gdGhpcy5mb3JtR3JvdXAudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmZvcm1WYWx1ZXNDaGFuZ2VkLmVtaXQoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHNldHRpbmdWYWx1ZXNGb3JtQXJyYXkoKSB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybUdyb3VwLmdldCgnc2V0dGluZ1ZhbHVlcycpIGFzIEZvcm1BcnJheTtcbiAgfVxuXG4gIGdldFNldHRpbmdWYWx1ZUZvcm1Hcm91cHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuc2V0dGluZ1ZhbHVlc0Zvcm1BcnJheSgpLmNvbnRyb2xzLm1hcChjID0+IGMgYXMgRm9ybUdyb3VwKTtcbiAgfVxuXG4gIHN1Ym1pdCgpIHtcbiAgICBpZiAoIXRoaXMuZm9ybUdyb3VwIHx8ICF0aGlzLmZvcm1Hcm91cC52YWxpZCkge1xuICAgICAgdGhpcy5zaG93RmVlZEJhY2tNZXNzYWdlID0gdHJ1ZTtcbiAgICAgIHRoaXMuZm9ybUdyb3VwLm1hcmtBc1RvdWNoZWQoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnNob3dGZWVkQmFja01lc3NhZ2UgPSBmYWxzZTtcbiAgICB0aGlzLnN1Ym1pdHRpbmcgPSB0cnVlO1xuXG4gICAgY29uc3QgdXBkYXRlU2V0dGluZ1ZhbHVlc01vZGVsID0gPFVwZGF0ZVNldHRpbmdWYWx1ZXNNb2RlbD57XG4gICAgICBzZXR0aW5nVmFsdWVzOiB0aGlzLmZvcm1Hcm91cC5jb250cm9scy5zZXR0aW5nVmFsdWVzLnZhbHVlLFxuICAgICAga25vd25MYXN0VXBkYXRlZEF0OiB0aGlzLnNldHRpbmdWYWx1ZXMubGFzdFVwZGF0ZWRBdCxcbiAgICAgIGZvcmNlZDogZmFsc2VcbiAgICB9O1xuXG4gICAgaWYgKHRoaXMuc2V0dGluZ1ZhbHVlcy5yZWFzb25SZXF1aXJlZCkge1xuICAgICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihSZWFzb25EaWFsb2dDb21wb25lbnQsIHtcbiAgICAgICAgd2lkdGg6ICc0NTBweCdcbiAgICAgIH0pO1xuICAgICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKClcbiAgICAgICAgLnN1YnNjcmliZShyZXN1bHQgPT4ge1xuICAgICAgICAgIGlmIChyZXN1bHQgJiYgcmVzdWx0LmJ1dHRvbiA9PT0gJ3NhdmUnICYmIHJlc3VsdC5yZWFzb24pIHtcblxuICAgICAgICAgICAgdXBkYXRlU2V0dGluZ1ZhbHVlc01vZGVsLnJlYXNvbiA9IHJlc3VsdC5yZWFzb247XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVNldHRpbmdWYWx1ZXModXBkYXRlU2V0dGluZ1ZhbHVlc01vZGVsKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zdWJtaXR0aW5nID0gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnVwZGF0ZVNldHRpbmdWYWx1ZXModXBkYXRlU2V0dGluZ1ZhbHVlc01vZGVsKTtcbiAgfVxuXG4gIHVwZGF0ZVNldHRpbmdWYWx1ZXModXBkYXRlU2V0dGluZ1ZhbHVlc01vZGVsOiBhbnkpIHtcbiAgICB0aGlzLm9uU2F2ZSh1cGRhdGVTZXR0aW5nVmFsdWVzTW9kZWwpLnN1YnNjcmliZShzZXR0aW5nVmFsdWVzID0+IHtcbiAgICAgIHRoaXMuc2V0dGluZ1ZhbHVlcyA9IHNldHRpbmdWYWx1ZXM7XG4gICAgICB0aGlzLmNyZWF0ZUZvcm1Hcm91cCgpO1xuICAgICAgdGhpcy5zdWJtaXR0aW5nID0gZmFsc2U7XG4gICAgICB0aGlzLnNuYWNrQmFyLm9wZW5Gcm9tQ29tcG9uZW50KFNhdmVTbmFja2JhckNvbXBvbmVudCwgeyBkdXJhdGlvbjogNTAwMCwgcGFuZWxDbGFzczogJ2dyZWVuLXNuYWNrYmFyJyB9KTtcbiAgICB9LCAoZXJyb3IpID0+IHtcbiAgICAgIGlmIChlcnJvci5zdGF0dXMgPT09IDQwMCAmJiBlcnJvci5lcnJvclxuICAgICAgICAmJiBlcnJvci5lcnJvci5Lbm93bkxhc3RVcGRhdGVkQXQgJiYgZXJyb3IuZXJyb3IuS25vd25MYXN0VXBkYXRlZEF0WzBdID09PSAnQ29uY3VycmVudCB1cGRhdGUnKSB7XG4gICAgICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oQ29uY3VycmVudERpYWxvZ0NvbXBvbmVudCwge1xuICAgICAgICAgIHdpZHRoOiAnNTYwcHgnXG4gICAgICAgIH0pO1xuICAgICAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKVxuICAgICAgICAgIC5zdWJzY3JpYmUocmVzdWx0ID0+IHtcbiAgICAgICAgICAgIGlmIChyZXN1bHQgJiYgcmVzdWx0LmJ1dHRvbiA9PT0gJ3NhdmUnKSB7XG4gICAgICAgICAgICAgIHVwZGF0ZVNldHRpbmdWYWx1ZXNNb2RlbC5mb3JjZWQgPSB0cnVlO1xuICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVNldHRpbmdWYWx1ZXModXBkYXRlU2V0dGluZ1ZhbHVlc01vZGVsKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHRoaXMucmVsb2FkU2V0dGluZ1ZhbHVlcygpO1xuICAgICAgICAgICAgICB0aGlzLnN1Ym1pdHRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAoZXJyb3Iuc3RhdHVzID09PSA0MDAgJiYgZXJyb3IuZXJyb3IgJiYgZXJyb3IuZXJyb3IuUmVhc29uICYmIGVycm9yLmVycm9yLlJlYXNvblswXSA9PT0gJ1JlYXNvbiByZXF1aXJlZCcpIHtcbiAgICAgICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihSZWFzb25EaWFsb2dDb21wb25lbnQsIHtcbiAgICAgICAgICB3aWR0aDogJzQ1MHB4J1xuICAgICAgICB9KTtcbiAgICAgICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKClcbiAgICAgICAgICAuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XG4gICAgICAgICAgICBpZiAocmVzdWx0ICYmIHJlc3VsdC5idXR0b24gPT09ICdzYXZlJyAmJiByZXN1bHQucmVhc29uKSB7XG4gICAgICAgICAgICAgIHVwZGF0ZVNldHRpbmdWYWx1ZXNNb2RlbC5yZWFzb24gPSByZXN1bHQucmVhc29uO1xuICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVNldHRpbmdWYWx1ZXModXBkYXRlU2V0dGluZ1ZhbHVlc01vZGVsKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHRoaXMuc3VibWl0dGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRoaXMuZm9ybUdyb3VwLnNldEVycm9ycyh7IGludGVybmFsU2VydmVyRXJyb3I6ICdJbnRlcm5hbCBzZXJ2ZXIgZXJyb3InIH0pO1xuICAgICAgdGhpcy5zaG93RmVlZEJhY2tNZXNzYWdlID0gdHJ1ZTtcbiAgICB9KTtcbiAgfVxuXG4gIGhhbmRsZVJldmVydFllcygpIHtcbiAgICB0aGlzLnNob3dSZXZlcnRRdWVzdGlvbiA9IGZhbHNlO1xuICAgIHRoaXMucmVsb2FkU2V0dGluZ1ZhbHVlcygpO1xuICB9XG5cbiAgaGFuZGxlUmV2ZXJ0Q2FuY2VsKCkge1xuICAgIHRoaXMuc2hvd1JldmVydFF1ZXN0aW9uID0gZmFsc2U7XG4gIH1cblxuICBvbkVkaXRTZXR0aW5nUmVxdWVzdGVkKHNldHRpbmc6IGFueSkge1xuICAgIHRoaXMuZWRpdFNldHRpbmdSZXF1ZXN0ZWQuZW1pdCh7XG4gICAgICBzZXR0aW5nOiBzZXR0aW5nLnNldHRpbmcsXG4gICAgICBlbnZpcm9ubWVudDogdGhpcy5zZXR0aW5nVmFsdWVzLmVudmlyb25tZW50LFxuICAgICAgY29uZmlnOiB0aGlzLnNldHRpbmdWYWx1ZXMuY29uZmlnXG4gICAgfSk7XG4gIH1cblxuICBvbkRlbGV0ZVNldHRpbmdSZXF1ZXN0ZWQoc2V0dGluZzogYW55KSB7XG4gICAgdGhpcy5kZWxldGVTZXR0aW5nUmVxdWVzdGVkLmVtaXQoe1xuICAgICAgc2V0dGluZzogc2V0dGluZy5zZXR0aW5nLFxuICAgICAgZW52aXJvbm1lbnQ6IHRoaXMuc2V0dGluZ1ZhbHVlcy5lbnZpcm9ubWVudCxcbiAgICAgIGNvbmZpZzogdGhpcy5zZXR0aW5nVmFsdWVzLmNvbmZpZ1xuICAgIH0pO1xuICB9XG59XG4iLCI8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiIChuZ1N1Ym1pdCk9XCJzdWJtaXQoKVwiICpuZ0lmPVwiIWxvYWRpbmdcIj5cbiAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIiAqbmdGb3I9XCJsZXQgc2V0dGluZ1ZhbHVlRnJvbUdyb3VwIG9mIGdldFNldHRpbmdWYWx1ZUZvcm1Hcm91cHMoKTsgbGV0IGkgPSBpbmRleFwiPlxuICAgIDxzZXR0aW5nIFtmb3JtR3JvdXBdPVwic2V0dGluZ1ZhbHVlRnJvbUdyb3VwXCIgW3JlYWRPbmx5XT1cInJlYWRPbmx5XCIgW2NhbkVkaXRTZXR0aW5nXT1cImNhbkVkaXRTZXR0aW5nXCJcbiAgICAgIFtjYW5EZWxldGVTZXR0aW5nXT1cImNhbkRlbGV0ZVNldHRpbmdcIiAoZWRpdFNldHRpbmdSZXF1ZXN0ZWQpPVwib25FZGl0U2V0dGluZ1JlcXVlc3RlZCgkZXZlbnQpXCJcbiAgICAgIChkZWxldGVTZXR0aW5nUmVxdWVzdGVkKT1cIm9uRGVsZXRlU2V0dGluZ1JlcXVlc3RlZCgkZXZlbnQpXCIgW2RlbGV0ZVNldHRpbmdUZXh0XT1cImRlbGV0ZVNldHRpbmdUZXh0XCJcbiAgICAgIFtzaG93RW52aXJvbm1lbnROYW1lXT1cInNob3dFbnZpcm9ubWVudE5hbWVcIj5cbiAgICA8L3NldHRpbmc+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJzYXZlXCIgKm5nSWY9XCIhcmVhZE9ubHkgJiYgIXN1Ym1pdHRpbmcgJiYgZm9ybUdyb3VwLmRpcnR5XCI+XG4gICAgPGRpdiBjbGFzcz1cImZlZWRiYWNrXCIgKm5nSWY9XCJmb3JtR3JvdXAudG91Y2hlZCAmJiBmb3JtR3JvdXAuaW52YWxpZCAmJiBzaG93RmVlZEJhY2tNZXNzYWdlXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZXJyb3JcIiAqbmdJZj1cImZvcm1Hcm91cC5lcnJvcnMgJiYgZm9ybUdyb3VwLmVycm9ycy5pbnRlcm5hbFNlcnZlckVycm9yXCI+XG4gICAgICAgIDxzcGFuPlNvbWV0aGluZyB3ZW50IHdyb25nIGFuZCB3ZSBjb3VsZCBub3Qgc2F2ZSB5b3VyIHNldHRpbmdzLiBZb3UgY2FuIHRyeSBhZ2FpbiBvciA8YVxuICAgICAgICAgICAgaHJlZj1cImh0dHBzOi8vY29uZmlnY2F0LmNvbS9zdXBwb3J0XCIgdGFyZ2V0PVwiX2JsYW5rXCIgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiPmNvbnRhY3QgdXMuPC9hPjwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImVycm9yXCIgKm5nSWY9XCIhZm9ybUdyb3VwLmVycm9ycyB8fCAhZm9ybUdyb3VwLmVycm9ycy5pbnRlcm5hbFNlcnZlckVycm9yXCI+XG4gICAgICAgIDxzcGFuPk9oIG5vISBBIGZlYXR1cmUgZmxhZyBoYXMgaW52YWxpZCBvciBtaXNzaW5nIGRhdGEuPC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbWF0LXN0cm9rZWQtYnV0dG9uICpuZ0lmPVwiIXNob3dSZXZlcnRRdWVzdGlvblwiIChjbGljayk9XCJzaG93UmV2ZXJ0UXVlc3Rpb24gPSB0cnVlXCI+XG4gICAgICA8bWF0LWljb24+aGlzdG9yeTwvbWF0LWljb24+PHNwYW4+UmV2ZXJ0IGNoYW5nZXM8L3NwYW4+XG4gICAgPC9idXR0b24+XG4gICAgPGRpdiAqbmdJZj1cInNob3dSZXZlcnRRdWVzdGlvblwiPlxuICAgICAgPHNwYW4gY2xhc3M9XCJyZXZlcnRcIj5SZXZlcnQgdG8gbGFzdCBzYXZlZCBzdGF0ZT88L3NwYW4+XG4gICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cInllc1wiIG1hdC1zdHJva2VkLWJ1dHRvbiAoY2xpY2spPVwiaGFuZGxlUmV2ZXJ0WWVzKClcIj5ZZXM8L2J1dHRvbj5cbiAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIG1hdC1zdHJva2VkLWJ1dHRvbiAoY2xpY2spPVwiaGFuZGxlUmV2ZXJ0Q2FuY2VsKClcIj5ObzwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIDxidXR0b24gY2xhc3M9XCJzYXZlLWJ1dHRvblwiIG1hdC1mbGF0LWJ1dHRvbiBjb2xvcj1cIndhcm5cIiB0eXBlPVwic3VibWl0XCIgW2Rpc2FibGVkXT1cInN1Ym1pdHRpbmdcIj5cbiAgICAgIDxtYXQtaWNvbj5iYWNrdXA8L21hdC1pY29uPiA8c3Bhbj4gU2F2ZSAmIHB1Ymxpc2ggY2hhbmdlczwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Zvcm0+Il19
|
|
197
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZy1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbmZpZ2NhdC1wdWJsaWNhcGktdWkvc3JjL2xpYi9zZXR0aW5nLWxpc3Qvc2V0dGluZy1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWNvbmZpZ2NhdC1wdWJsaWNhcGktdWkvc3JjL2xpYi9zZXR0aW5nLWxpc3Qvc2V0dGluZy1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQXdCLE1BQU0sZUFBZSxDQUFDO0FBR3JHLE9BQU8sRUFBRSxRQUFRLEVBQTRCLE1BQU0sTUFBTSxDQUFDO0FBRzFELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3pGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDOzs7Ozs7Ozs7O0FBU3JHLE1BQU0sT0FBTyxvQkFBb0I7SUE0Qi9CLFlBQW9CLFVBQWlDLEVBQzNDLFFBQXFCLEVBQ3JCLE1BQWlCO1FBRlAsZUFBVSxHQUFWLFVBQVUsQ0FBdUI7UUFDM0MsYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQUNyQixXQUFNLEdBQU4sTUFBTSxDQUFXO1FBNUJsQixtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUN2QixxQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFLekIsc0JBQWlCLEdBQUcsZ0JBQWdCLENBQUM7UUFDckMsd0JBQW1CLEdBQUcsS0FBSyxDQUFDO1FBRTNCLHlCQUFvQixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDMUMsMkJBQXNCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUM1QyxzQkFB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QUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNO1NBQ2xDLENBQUMsQ0FBQztJQUNMLENBQUM7O2lIQTFMVSxvQkFBb0I7cUdBQXBCLG9CQUFvQix3ZUNqQmpDLHVnRUErQk87MkZEZE0sb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLHdCQUF3Qjs4SkFNekIsY0FBYztzQkFBdEIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBRUcsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBRUksb0JBQW9CO3NCQUE3QixNQUFNO2dCQUNHLHNCQUFzQjtzQkFBL0IsTUFBTTtnQkFDRyxpQkFBaUI7c0JBQTFCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBPbkRlc3Ryb3ksIE9uQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2V0dGluZ1ZhbHVlc01vZGVsLCBVcGRhdGVTZXR0aW5nVmFsdWVzTW9kZWwgfSBmcm9tICcuLi9fbW9kZWxzJztcbmltcG9ydCB7IEZvcm1BcnJheSwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgZm9ya0pvaW4sIE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTWF0U25hY2tCYXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IFJlYXNvbkRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2RpYWxvZ3MvcmVhc29uLWRpYWxvZy9yZWFzb24tZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTYXZlU25hY2tiYXJDb21wb25lbnQgfSBmcm9tICcuLi9kaWFsb2dzL3NhdmUtc25hY2tiYXIvc2F2ZS1zbmFja2Jhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29uY3VycmVudERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2RpYWxvZ3MvY29uY3VycmVudC1kaWFsb2cvY29uY3VycmVudC1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IFNldHRpbmdMaXN0Rm9ybUhlbHBlciB9IGZyb20gJy4uL19zZXJ2aWNlcy9zZXR0aW5nLWxpc3QtZm9ybS1oZWxwZXInO1xuaW1wb3J0IHsgU2VnbWVudExpc3RNb2RlbCB9IGZyb20gJ25nLWNvbmZpZ2NhdC1wdWJsaWNhcGknO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjb25maWdjYXQtc2V0dGluZy1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NldHRpbmctbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NldHRpbmctbGlzdC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFNldHRpbmdMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG5cbiAgQElucHV0KCkgY2FuRWRpdFNldHRpbmcgPSBmYWxzZTtcbiAgQElucHV0KCkgY2FuRGVsZXRlU2V0dGluZyA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIG9uU2F2ZSE6ICh2YWx1ZTogVXBkYXRlU2V0dGluZ1ZhbHVlc01vZGVsKSA9PiBPYnNlcnZhYmxlPFNldHRpbmdWYWx1ZXNNb2RlbD47XG4gIEBJbnB1dCgpIGxvYWRTZXR0aW5nVmFsdWVzITogKCkgPT4gT2JzZXJ2YWJsZTxTZXR0aW5nVmFsdWVzTW9kZWw+O1xuICBASW5wdXQoKSBsb2FkU2VnbWVudHMhOiAoKSA9PiBPYnNlcnZhYmxlPFNlZ21lbnRMaXN0TW9kZWxbXT47XG4gIEBJbnB1dCgpIGRlbGV0ZVNldHRpbmdUZXh0ID0gJ0RlbGV0ZSBzZXR0aW5nJztcbiAgQElucHV0KCkgc2hvd0Vudmlyb25tZW50TmFtZSA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKSBlZGl0U2V0dGluZ1JlcXVlc3RlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGRlbGV0ZVNldHRpbmdSZXF1ZXN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBmb3JtVmFsdWVzQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBmb3JtVmFsdWVzQ2hhbmdlZFN1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbiB8IG51bGw7XG5cbiAgbG9hZGluZyA9IHRydWU7XG5cbiAgc2V0dGluZ1ZhbHVlcyE6IFNldHRpbmdWYWx1ZXNNb2RlbDtcbiAgc2VnbWVudHMhOiBTZWdtZW50TGlzdE1vZGVsW107XG4gIGZvcm1Hcm91cCE6IEZvcm1Hcm91cDtcblxuICBzdWJtaXR0aW5nID0gZmFsc2U7XG4gIHNob3dSZXZlcnRRdWVzdGlvbiA9IGZhbHNlO1xuICBzaG93RmVlZEJhY2tNZXNzYWdlID0gZmFsc2U7XG4gIHJlYWRPbmx5ID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmb3JtSGVscGVyOiBTZXR0aW5nTGlzdEZvcm1IZWxwZXIsXG4gICAgcHJpdmF0ZSBzbmFja0JhcjogTWF0U25hY2tCYXIsXG4gICAgcHJpdmF0ZSBkaWFsb2c6IE1hdERpYWxvZykgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5yZWxvYWRTZXR0aW5nVmFsdWVzKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLnJlbG9hZFNldHRpbmdWYWx1ZXMoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGlmICh0aGlzLmZvcm1WYWx1ZXNDaGFuZ2VkU3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLmZvcm1WYWx1ZXNDaGFuZ2VkU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICB0aGlzLmZvcm1WYWx1ZXNDaGFuZ2VkU3Vic2NyaXB0aW9uID0gbnVsbDtcbiAgICB9XG4gIH1cblxuICByZWxvYWRTZXR0aW5nVmFsdWVzKCkge1xuICAgIHRoaXMuc2hvd0ZlZWRCYWNrTWVzc2FnZSA9IGZhbHNlO1xuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgZm9ya0pvaW4oe1xuICAgICAgc2VnbWVudHM6IHRoaXMubG9hZFNlZ21lbnRzKCksXG4gICAgICBzZXR0aW5nVmFsdWVzOiB0aGlzLmxvYWRTZXR0aW5nVmFsdWVzKClcbiAgICB9KS5zdWJzY3JpYmUocmVzdWx0ID0+IHtcbiAgICAgIHRoaXMucmVhZE9ubHkgPSByZXN1bHQuc2V0dGluZ1ZhbHVlcy5yZWFkT25seTtcbiAgICAgIHRoaXMuc2V0dGluZ1ZhbHVlcyA9IHJlc3VsdC5zZXR0aW5nVmFsdWVzO1xuICAgICAgdGhpcy5zZWdtZW50cyA9IHJlc3VsdC5zZWdtZW50cztcbiAgICAgIHRoaXMuY3JlYXRlRm9ybUdyb3VwKCk7XG4gICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICB9LFxuICAgICAgZXJyb3IgPT4ge1xuICAgICAgICB0aGlzLnNuYWNrQmFyLm9wZW4oJ09vb3BzLiBXZSBjb3VsZCBub3QgbG9hZCB5b3VyIEZlYXR1cmUgRmxhZ3MgYW5kIFNldHRpbmdzLiBQbGVhc2UgdHJ5IGFnYWluIG9yIGNvbnRhY3QgdXMuJyxcbiAgICAgICAgICAnRGlzbWlzcycsIHsgZHVyYXRpb246IDYwMDAwLCBwYW5lbENsYXNzOiAncmVkLXNuYWNrYmFyJyB9KTtcbiAgICAgIH0pO1xuICB9XG5cbiAgY3JlYXRlRm9ybUdyb3VwKCkge1xuICAgIHRoaXMuZm9ybUdyb3VwID0gdGhpcy5mb3JtSGVscGVyLmNyZWF0ZVNldHRpbmdWYWx1ZXNGb3JtR3JvdXAodGhpcy5zZXR0aW5nVmFsdWVzKTtcbiAgICB0aGlzLmZvcm1WYWx1ZXNDaGFuZ2VkU3Vic2NyaXB0aW9uID0gdGhpcy5mb3JtR3JvdXAudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmZvcm1WYWx1ZXNDaGFuZ2VkLmVtaXQoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHNldHRpbmdWYWx1ZXNGb3JtQXJyYXkoKSB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybUdyb3VwLmdldCgnc2V0dGluZ1ZhbHVlcycpIGFzIEZvcm1BcnJheTtcbiAgfVxuXG4gIGdldFNldHRpbmdWYWx1ZUZvcm1Hcm91cHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuc2V0dGluZ1ZhbHVlc0Zvcm1BcnJheSgpLmNvbnRyb2xzLm1hcChjID0+IGMgYXMgRm9ybUdyb3VwKTtcbiAgfVxuXG4gIHN1Ym1pdCgpIHtcbiAgICBpZiAoIXRoaXMuZm9ybUdyb3VwIHx8ICF0aGlzLmZvcm1Hcm91cC52YWxpZCkge1xuICAgICAgdGhpcy5zaG93RmVlZEJhY2tNZXNzYWdlID0gdHJ1ZTtcbiAgICAgIHRoaXMuZm9ybUdyb3VwLm1hcmtBc1RvdWNoZWQoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnNob3dGZWVkQmFja01lc3NhZ2UgPSBmYWxzZTtcbiAgICB0aGlzLnN1Ym1pdHRpbmcgPSB0cnVlO1xuXG4gICAgY29uc3QgdXBkYXRlU2V0dGluZ1ZhbHVlc01vZGVsID0gPFVwZGF0ZVNldHRpbmdWYWx1ZXNNb2RlbD57XG4gICAgICBzZXR0aW5nVmFsdWVzOiB0aGlzLmZvcm1Hcm91cC5jb250cm9scy5zZXR0aW5nVmFsdWVzLnZhbHVlLFxuICAgICAga25vd25MYXN0VXBkYXRlZEF0OiB0aGlzLnNldHRpbmdWYWx1ZXMubGFzdFVwZGF0ZWRBdCxcbiAgICAgIGZvcmNlZDogZmFsc2VcbiAgICB9O1xuXG4gICAgaWYgKHRoaXMuc2V0dGluZ1ZhbHVlcy5yZWFzb25SZXF1aXJlZCkge1xuICAgICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihSZWFzb25EaWFsb2dDb21wb25lbnQsIHtcbiAgICAgICAgd2lkdGg6ICc0NTBweCdcbiAgICAgIH0pO1xuICAgICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKClcbiAgICAgICAgLnN1YnNjcmliZShyZXN1bHQgPT4ge1xuICAgICAgICAgIGlmIChyZXN1bHQgJiYgcmVzdWx0LmJ1dHRvbiA9PT0gJ3NhdmUnICYmIHJlc3VsdC5yZWFzb24pIHtcblxuICAgICAgICAgICAgdXBkYXRlU2V0dGluZ1ZhbHVlc01vZGVsLnJlYXNvbiA9IHJlc3VsdC5yZWFzb247XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVNldHRpbmdWYWx1ZXModXBkYXRlU2V0dGluZ1ZhbHVlc01vZGVsKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zdWJtaXR0aW5nID0gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnVwZGF0ZVNldHRpbmdWYWx1ZXModXBkYXRlU2V0dGluZ1ZhbHVlc01vZGVsKTtcbiAgfVxuXG4gIHVwZGF0ZVNldHRpbmdWYWx1ZXModXBkYXRlU2V0dGluZ1ZhbHVlc01vZGVsOiBhbnkpIHtcbiAgICB0aGlzLm9uU2F2ZSh1cGRhdGVTZXR0aW5nVmFsdWVzTW9kZWwpLnN1YnNjcmliZShzZXR0aW5nVmFsdWVzID0+IHtcbiAgICAgIHRoaXMuc2V0dGluZ1ZhbHVlcyA9IHNldHRpbmdWYWx1ZXM7XG4gICAgICB0aGlzLmNyZWF0ZUZvcm1Hcm91cCgpO1xuICAgICAgdGhpcy5zdWJtaXR0aW5nID0gZmFsc2U7XG4gICAgICB0aGlzLnNuYWNrQmFyLm9wZW5Gcm9tQ29tcG9uZW50KFNhdmVTbmFja2JhckNvbXBvbmVudCwgeyBkdXJhdGlvbjogNTAwMCwgcGFuZWxDbGFzczogJ2dyZWVuLXNuYWNrYmFyJyB9KTtcbiAgICB9LCAoZXJyb3IpID0+IHtcbiAgICAgIGlmIChlcnJvci5zdGF0dXMgPT09IDQwMCAmJiBlcnJvci5lcnJvclxuICAgICAgICAmJiBlcnJvci5lcnJvci5Lbm93bkxhc3RVcGRhdGVkQXQgJiYgZXJyb3IuZXJyb3IuS25vd25MYXN0VXBkYXRlZEF0WzBdID09PSAnQ29uY3VycmVudCB1cGRhdGUnKSB7XG4gICAgICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oQ29uY3VycmVudERpYWxvZ0NvbXBvbmVudCwge1xuICAgICAgICAgIHdpZHRoOiAnNTYwcHgnXG4gICAgICAgIH0pO1xuICAgICAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKVxuICAgICAgICAgIC5zdWJzY3JpYmUocmVzdWx0ID0+IHtcbiAgICAgICAgICAgIGlmIChyZXN1bHQgJiYgcmVzdWx0LmJ1dHRvbiA9PT0gJ3NhdmUnKSB7XG4gICAgICAgICAgICAgIHVwZGF0ZVNldHRpbmdWYWx1ZXNNb2RlbC5mb3JjZWQgPSB0cnVlO1xuICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVNldHRpbmdWYWx1ZXModXBkYXRlU2V0dGluZ1ZhbHVlc01vZGVsKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHRoaXMucmVsb2FkU2V0dGluZ1ZhbHVlcygpO1xuICAgICAgICAgICAgICB0aGlzLnN1Ym1pdHRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAoZXJyb3Iuc3RhdHVzID09PSA0MDAgJiYgZXJyb3IuZXJyb3IgJiYgZXJyb3IuZXJyb3IuUmVhc29uICYmIGVycm9yLmVycm9yLlJlYXNvblswXSA9PT0gJ1JlYXNvbiByZXF1aXJlZCcpIHtcbiAgICAgICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihSZWFzb25EaWFsb2dDb21wb25lbnQsIHtcbiAgICAgICAgICB3aWR0aDogJzQ1MHB4J1xuICAgICAgICB9KTtcbiAgICAgICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKClcbiAgICAgICAgICAuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XG4gICAgICAgICAgICBpZiAocmVzdWx0ICYmIHJlc3VsdC5idXR0b24gPT09ICdzYXZlJyAmJiByZXN1bHQucmVhc29uKSB7XG4gICAgICAgICAgICAgIHVwZGF0ZVNldHRpbmdWYWx1ZXNNb2RlbC5yZWFzb24gPSByZXN1bHQucmVhc29uO1xuICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVNldHRpbmdWYWx1ZXModXBkYXRlU2V0dGluZ1ZhbHVlc01vZGVsKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHRoaXMuc3VibWl0dGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRoaXMuZm9ybUdyb3VwLnNldEVycm9ycyh7IGludGVybmFsU2VydmVyRXJyb3I6ICdJbnRlcm5hbCBzZXJ2ZXIgZXJyb3InIH0pO1xuICAgICAgdGhpcy5zaG93RmVlZEJhY2tNZXNzYWdlID0gdHJ1ZTtcbiAgICB9KTtcbiAgfVxuXG4gIGhhbmRsZVJldmVydFllcygpIHtcbiAgICB0aGlzLnNob3dSZXZlcnRRdWVzdGlvbiA9IGZhbHNlO1xuICAgIHRoaXMucmVsb2FkU2V0dGluZ1ZhbHVlcygpO1xuICB9XG5cbiAgaGFuZGxlUmV2ZXJ0Q2FuY2VsKCkge1xuICAgIHRoaXMuc2hvd1JldmVydFF1ZXN0aW9uID0gZmFsc2U7XG4gIH1cblxuICBvbkVkaXRTZXR0aW5nUmVxdWVzdGVkKHNldHRpbmc6IGFueSkge1xuICAgIHRoaXMuZWRpdFNldHRpbmdSZXF1ZXN0ZWQuZW1pdCh7XG4gICAgICBzZXR0aW5nOiBzZXR0aW5nLnNldHRpbmcsXG4gICAgICBlbnZpcm9ubWVudDogdGhpcy5zZXR0aW5nVmFsdWVzLmVudmlyb25tZW50LFxuICAgICAgY29uZmlnOiB0aGlzLnNldHRpbmdWYWx1ZXMuY29uZmlnXG4gICAgfSk7XG4gIH1cblxuICBvbkRlbGV0ZVNldHRpbmdSZXF1ZXN0ZWQoc2V0dGluZzogYW55KSB7XG4gICAgdGhpcy5kZWxldGVTZXR0aW5nUmVxdWVzdGVkLmVtaXQoe1xuICAgICAgc2V0dGluZzogc2V0dGluZy5zZXR0aW5nLFxuICAgICAgZW52aXJvbm1lbnQ6IHRoaXMuc2V0dGluZ1ZhbHVlcy5lbnZpcm9ubWVudCxcbiAgICAgIGNvbmZpZzogdGhpcy5zZXR0aW5nVmFsdWVzLmNvbmZpZ1xuICAgIH0pO1xuICB9XG59XG4iLCI8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiIChuZ1N1Ym1pdCk9XCJzdWJtaXQoKVwiICpuZ0lmPVwiIWxvYWRpbmdcIj5cbiAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIiAqbmdGb3I9XCJsZXQgc2V0dGluZ1ZhbHVlRnJvbUdyb3VwIG9mIGdldFNldHRpbmdWYWx1ZUZvcm1Hcm91cHMoKTsgbGV0IGkgPSBpbmRleFwiPlxuICAgIDxzZXR0aW5nIFtmb3JtR3JvdXBdPVwic2V0dGluZ1ZhbHVlRnJvbUdyb3VwXCIgW3JlYWRPbmx5XT1cInJlYWRPbmx5XCIgW2NhbkVkaXRTZXR0aW5nXT1cImNhbkVkaXRTZXR0aW5nXCJcbiAgICAgIFtjYW5EZWxldGVTZXR0aW5nXT1cImNhbkRlbGV0ZVNldHRpbmdcIiAoZWRpdFNldHRpbmdSZXF1ZXN0ZWQpPVwib25FZGl0U2V0dGluZ1JlcXVlc3RlZCgkZXZlbnQpXCJcbiAgICAgIChkZWxldGVTZXR0aW5nUmVxdWVzdGVkKT1cIm9uRGVsZXRlU2V0dGluZ1JlcXVlc3RlZCgkZXZlbnQpXCIgW2RlbGV0ZVNldHRpbmdUZXh0XT1cImRlbGV0ZVNldHRpbmdUZXh0XCJcbiAgICAgIFtzaG93RW52aXJvbm1lbnROYW1lXT1cInNob3dFbnZpcm9ubWVudE5hbWVcIiBbc2VnbWVudHNdPVwic2VnbWVudHNcIj5cbiAgICA8L3NldHRpbmc+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJzYXZlXCIgKm5nSWY9XCIhcmVhZE9ubHkgJiYgIXN1Ym1pdHRpbmcgJiYgZm9ybUdyb3VwLmRpcnR5XCI+XG4gICAgPGRpdiBjbGFzcz1cImZlZWRiYWNrXCIgKm5nSWY9XCJmb3JtR3JvdXAudG91Y2hlZCAmJiBmb3JtR3JvdXAuaW52YWxpZCAmJiBzaG93RmVlZEJhY2tNZXNzYWdlXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZXJyb3JcIiAqbmdJZj1cImZvcm1Hcm91cC5lcnJvcnMgJiYgZm9ybUdyb3VwLmVycm9ycy5pbnRlcm5hbFNlcnZlckVycm9yXCI+XG4gICAgICAgIDxzcGFuPlNvbWV0aGluZyB3ZW50IHdyb25nIGFuZCB3ZSBjb3VsZCBub3Qgc2F2ZSB5b3VyIHNldHRpbmdzLiBZb3UgY2FuIHRyeSBhZ2FpbiBvciA8YVxuICAgICAgICAgICAgaHJlZj1cImh0dHBzOi8vY29uZmlnY2F0LmNvbS9zdXBwb3J0XCIgdGFyZ2V0PVwiX2JsYW5rXCIgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiPmNvbnRhY3QgdXMuPC9hPjwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImVycm9yXCIgKm5nSWY9XCIhZm9ybUdyb3VwLmVycm9ycyB8fCAhZm9ybUdyb3VwLmVycm9ycy5pbnRlcm5hbFNlcnZlckVycm9yXCI+XG4gICAgICAgIDxzcGFuPk9oIG5vISBBIGZlYXR1cmUgZmxhZyBoYXMgaW52YWxpZCBvciBtaXNzaW5nIGRhdGEuPC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbWF0LXN0cm9rZWQtYnV0dG9uICpuZ0lmPVwiIXNob3dSZXZlcnRRdWVzdGlvblwiIChjbGljayk9XCJzaG93UmV2ZXJ0UXVlc3Rpb24gPSB0cnVlXCI+XG4gICAgICA8bWF0LWljb24+aGlzdG9yeTwvbWF0LWljb24+PHNwYW4+UmV2ZXJ0IGNoYW5nZXM8L3NwYW4+XG4gICAgPC9idXR0b24+XG4gICAgPGRpdiAqbmdJZj1cInNob3dSZXZlcnRRdWVzdGlvblwiPlxuICAgICAgPHNwYW4gY2xhc3M9XCJyZXZlcnRcIj5SZXZlcnQgdG8gbGFzdCBzYXZlZCBzdGF0ZT88L3NwYW4+XG4gICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cInllc1wiIG1hdC1zdHJva2VkLWJ1dHRvbiAoY2xpY2spPVwiaGFuZGxlUmV2ZXJ0WWVzKClcIj5ZZXM8L2J1dHRvbj5cbiAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIG1hdC1zdHJva2VkLWJ1dHRvbiAoY2xpY2spPVwiaGFuZGxlUmV2ZXJ0Q2FuY2VsKClcIj5ObzwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIDxidXR0b24gY2xhc3M9XCJzYXZlLWJ1dHRvblwiIG1hdC1mbGF0LWJ1dHRvbiBjb2xvcj1cIndhcm5cIiB0eXBlPVwic3VibWl0XCIgW2Rpc2FibGVkXT1cInN1Ym1pdHRpbmdcIj5cbiAgICAgIDxtYXQtaWNvbj5iYWNrdXA8L21hdC1pY29uPiA8c3Bhbj4gU2F2ZSAmIHB1Ymxpc2ggY2hhbmdlczwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Zvcm0+Il19
|