@the-liberators/ngx-scrumteamsurvey-tools 2.3.15 → 2.3.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/metadata-input/metadata-input.component.mjs +99 -0
- package/esm2022/lib/components/metadata-input/metadata-input.module.mjs +39 -0
- package/esm2022/lib/components/multi-email-input/multi-email-input.component.mjs +5 -7
- package/esm2022/lib/components/topicselector/customCheckValidator.mjs +15 -0
- package/esm2022/lib/components/topicselector/topic-selector.component.mjs +28 -13
- package/esm2022/lib/models/keyValueDto.mjs +7 -0
- package/esm2022/lib/results/models/snapshotDto.model.mjs +1 -1
- package/esm2022/lib/results/models/teamDto.model.mjs +1 -1
- package/esm2022/public-api.mjs +5 -4
- package/fesm2022/the-liberators-ngx-scrumteamsurvey-tools.mjs +579 -601
- package/fesm2022/the-liberators-ngx-scrumteamsurvey-tools.mjs.map +1 -1
- package/lib/components/metadata-input/metadata-input.component.d.ts +27 -0
- package/lib/components/metadata-input/metadata-input.module.d.ts +11 -0
- package/lib/components/multi-email-input/multi-email-input.component.d.ts +1 -2
- package/lib/components/topicselector/customCheckValidator.d.ts +2 -0
- package/lib/components/topicselector/topic-selector.component.d.ts +3 -2
- package/lib/models/keyValueDto.d.ts +5 -0
- package/lib/results/models/snapshotDto.model.d.ts +1 -0
- package/lib/results/models/teamDto.model.d.ts +2 -0
- package/package.json +1 -1
- package/public-api.d.ts +4 -3
- package/esm2022/lib/components/scale-selector/scale-selector.component.mjs +0 -150
- package/esm2022/lib/components/scale-selector/scale-selector.module.mjs +0 -54
- package/esm2022/lib/components/scale-selector/scaleSelectorFilterDto.mjs +0 -3
- package/lib/components/scale-selector/scale-selector.component.d.ts +0 -39
- package/lib/components/scale-selector/scale-selector.module.d.ts +0 -15
- package/lib/components/scale-selector/scaleSelectorFilterDto.d.ts +0 -3
|
@@ -41,6 +41,15 @@ export class TopicSelectorComponent {
|
|
|
41
41
|
this.updateMetaData(output);
|
|
42
42
|
});
|
|
43
43
|
}
|
|
44
|
+
toggleTopic() {
|
|
45
|
+
this.form.controls.preset.setValue("custom");
|
|
46
|
+
}
|
|
47
|
+
registerOnChange(fn) {
|
|
48
|
+
this.onChange = fn;
|
|
49
|
+
}
|
|
50
|
+
registerOnTouched(fn) {
|
|
51
|
+
this.onTouch = fn;
|
|
52
|
+
}
|
|
44
53
|
writeValue(dto) {
|
|
45
54
|
if (!dto) {
|
|
46
55
|
return;
|
|
@@ -53,19 +62,21 @@ export class TopicSelectorComponent {
|
|
|
53
62
|
}
|
|
54
63
|
this.selectedTopics = dto.topicKeys ?? [];
|
|
55
64
|
this.form.controls.preset.setValue(dto.presetKey);
|
|
65
|
+
if (questionnaire.publicKey == 'custom') {
|
|
66
|
+
this.form.controls.showTopics.setValue(true, { emitEvent: false });
|
|
67
|
+
}
|
|
56
68
|
var topics = this.form.controls.topics;
|
|
57
69
|
Object.keys(topics.controls)
|
|
58
70
|
.forEach(p => topics.get(p).setValue(this.selectedTopics.includes(p), { emitEvent: false }));
|
|
59
71
|
this.updateMetaData(dto);
|
|
60
72
|
}
|
|
61
73
|
setDisabledState(isDisabled) {
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
this.onTouch = fn;
|
|
74
|
+
if (isDisabled) {
|
|
75
|
+
this.form.disable();
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
this.form.enable();
|
|
79
|
+
}
|
|
69
80
|
}
|
|
70
81
|
selectPreset() {
|
|
71
82
|
var questionnaire = this.presets.find(p => p.publicKey == this.form.controls.preset.value);
|
|
@@ -79,7 +90,10 @@ export class TopicSelectorComponent {
|
|
|
79
90
|
this.selectedTopics = topicKeys ?? [];
|
|
80
91
|
var topics = this.form.controls.topics;
|
|
81
92
|
Object.keys(topics.controls)
|
|
82
|
-
.forEach(p => topics.get(p).setValue(this.selectedTopics.includes(p)
|
|
93
|
+
.forEach(p => topics.get(p).setValue(this.selectedTopics.includes(p)));
|
|
94
|
+
if (questionnaire.publicKey == 'custom') {
|
|
95
|
+
this.form.controls.showTopics.setValue(true, { emitEvent: false });
|
|
96
|
+
}
|
|
83
97
|
var dto = new TopicSelectorDto(questionnaire.publicKey, topicKeys);
|
|
84
98
|
this.updateMetaData(dto);
|
|
85
99
|
this.onChange(dto);
|
|
@@ -117,7 +131,7 @@ export class TopicSelectorComponent {
|
|
|
117
131
|
return this.topics.filter(p => p.parentKey == null);
|
|
118
132
|
}
|
|
119
133
|
getSubFactors(parentKey) {
|
|
120
|
-
return this.topics.filter(p => p.parentKey == parentKey);
|
|
134
|
+
return this.topics.filter(p => p.parentKey == parentKey).sort((a, b) => a.name.localeCompare(b.name));
|
|
121
135
|
}
|
|
122
136
|
selectAll(topic, $event) {
|
|
123
137
|
$event.preventDefault();
|
|
@@ -137,7 +151,8 @@ export class TopicSelectorComponent {
|
|
|
137
151
|
this.form = this.formBuilder.group({
|
|
138
152
|
preset: [null],
|
|
139
153
|
topicKeys: [[]],
|
|
140
|
-
topics: this.formBuilder.group([])
|
|
154
|
+
topics: this.formBuilder.group([]),
|
|
155
|
+
showTopics: [false]
|
|
141
156
|
});
|
|
142
157
|
this.topics.filter(p => p.parentKey != null || (p.parentKey == null && p.ownQuestionCount > 0))
|
|
143
158
|
.forEach(p => this.form.controls.topics.addControl(p.publicKey, new FormControl(false), { emitEvent: false }));
|
|
@@ -180,13 +195,13 @@ export class TopicSelectorComponent {
|
|
|
180
195
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: TopicSelectorComponent, deps: [{ token: i1.FormBuilder }, { token: i2.MatDialog }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
181
196
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: TopicSelectorComponent, selector: "topic-selector", inputs: { topics: "topics", disabled: "disabled", topicKeys: "topicKeys", presets: "presets" }, providers: [
|
|
182
197
|
{ provide: NG_VALUE_ACCESSOR, multi: true, useExisting: forwardRef(() => TopicSelectorComponent), }
|
|
183
|
-
], ngImport: i0, template: "<form [formGroup]=\"form\">\n <div class=\"scaleselector-container\">\n <div class=\"scaleselector-metadata\">\n <div class=\"questionnaire-preset\">\n <mat-form-field class=\"questionnaire-preset-select\" appearance=\"fill\">\n <mat-label>Select predefined questionnaire</mat-label>\n <mat-select id=\"question-preset\" formControlName=\"preset\" (selectionChange)=\"selectPreset()\">\n <mat-option [value]=\"type.publicKey\" *ngFor=\"let type of presets\" class=\"select-option\">{{type.name}}</mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n <div class=\"questionnaire-accuracy\">\n <div class=\"questionnaire-breakdown-label\">Accuracy</div>\n <div class=\"questionnaire-breakdown-bar-holder\">\n <div class=\"questionnaire-accuracy-bar\" [ngClass]=\"{'low': questionnaireAccuracy < 0.25, 'moderate' : questionnaireAccuracy < 0.5 && questionnaireAccuracy >= 0.25}\" [ngStyle]=\"{'width': (questionnaireAccuracy * 100) + '%' }\">{{questionnaireAccuracy * 100 | number:'1.0-0'}}%</div>\n </div>\n </div>\n <div class=\"questionnaire-segments\">\n <div class=\"questionnaire-segments-label\">Time investment</div>\n <div class=\"questionnaire-breakdowns\">\n <div class=\"questionnaire-breakdown\">\n <div class=\"questionnaire-breakdown-label\">Team members</div>\n <div class=\"progressbar progressbar-positive progressbar-teammember\">\n <div class=\"progressbar-bar\" *ngIf=\"questionsTeamMembers > 0\" [style.width]=\"((questionsTeamMembers / questionsTotal) * 100) + '%'\"></div>\n <div class=\"progressbar-score\">{{durationTeamMembers | number:'1.0-0'}} min</div>\n </div>\n </div>\n <div class=\"questionnaire-breakdown\">\n <div class=\"questionnaire-breakdown-label\">Stakeholders</div>\n <div class=\"progressbar progressbar-positive progressbar-stakeholder\">\n <div class=\"progressbar-bar\" *ngIf=\"questionsStakeholders > 0\" [style.width]=\"((questionsStakeholders / questionsTotal) * 100) + '%'\"></div>\n <div class=\"progressbar-score\">{{durationStakeholders | number:'1.0-0'}} min</div>\n </div>\n </div>\n <div class=\"questionnaire-breakdown\">\n <div class=\"questionnaire-breakdown-label\">Supporters</div>\n <div class=\"progressbar progressbar-positive progressbar-supporter\">\n <div class=\"progressbar-bar\" *ngIf=\"questionsSupporters > 0\" [style.width]=\"((questionsSupporters / questionsTotal) * 100) + '%'\"></div>\n <div class=\"progressbar-score\">{{durationSupporters | number:'1.0-0'}} min</div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"scaleselector-warnings\" *ngIf=\"warnings.length > 0\">\n <div class=\"scaleselector-warnings-warning\" *ngFor=\"let warning of warnings\">\n <span class=\"icon ph-info-fill\"></span>{{warning}}\n </div>\n </div>\n </div>\n\n <ng-container>\n <div class=\"topic-parent\" *ngFor=\"let topic of getCoreFactors()\" formArrayName=\"topics\">\n\n <div class=\"name\">\n <h4>{{topic.name}}</h4>\n <div class=\"helpers\">(<a href=\"#\" (click)=\"selectAll(topic, $event)\">all</a> | <a href=\"#\" (click)=\"selectNone(topic, $event)\">none</a>)</div>\n <div class=\"topic-child-moreinformation\">\n <span class=\"icon ph-info-bold\" (click)=\"openFactorInformation(topic.publicKey, $event)\"></span>\n </div>\n </div>\n\n <div *ngIf=\"topic.ownQuestionCount > 0\" class=\"topic-child\">\n <mat-checkbox class=\"topic-child-check\" [formControlName]=\"topic.publicKey\" [id]=\"'topic-' + topic.name | slugify\"></mat-checkbox>\n <div class=\"topic-child-description\">\n {{topic.name}} ({{topic.ownQuestionCount}} questions)\n <div class=\"tags\">\n <div class=\"tags-tag recommended\" *ngIf=\"topic.recommended\">Recommended</div>\n <div class=\"tags-tag teammember\" *ngIf=\"hasSegmentQuestions(topic, SegmentEnum.TeamMember, true)\">For team members</div>\n <div class=\"tags-tag stakeholder\" *ngIf=\"hasSegmentQuestions(topic, SegmentEnum.Stakeholder, true)\">For stakeholders</div>\n <div class=\"tags-tag supporter\" *ngIf=\"hasSegmentQuestions(topic, SegmentEnum.Management, true)\">For supporters</div>\n </div>\n </div>\n <div class=\"topic-child-moreinformation\">\n <span class=\"icon ph-info-bold\" (click)=\"openFactorInformation(topic.publicKey, $event)\"></span>\n </div>\n </div>\n\n\n <div *ngFor=\"let subTopic of getSubFactors(topic.publicKey)\" class=\"topic-child\">\n <mat-checkbox class=\"topic-child-check\" [formControlName]=\"subTopic.publicKey\" [id]=\"'topic-' + subTopic.name | slugify\"></mat-checkbox>\n <div class=\"topic-child-description\">\n {{subTopic.name}} ({{subTopic.questionCount}} questions)\n <div class=\"tags\">\n <div class=\"tags-tag recommended\" *ngIf=\"subTopic.recommended\">Recommended</div>\n <div class=\"tags-tag teammember\" *ngIf=\"hasSegmentQuestions(subTopic, SegmentEnum.TeamMember, false)\">For team members</div>\n <div class=\"tags-tag stakeholder\" *ngIf=\"hasSegmentQuestions(subTopic, SegmentEnum.Stakeholder, false)\">For stakeholders</div>\n <div class=\"tags-tag supporter\" *ngIf=\"hasSegmentQuestions(subTopic, SegmentEnum.Management, false)\">For supporters</div>\n </div>\n </div>\n <div class=\"topic-child-moreinformation\">\n <span class=\"icon ph-info-bold\" (click)=\"openFactorInformation(subTopic.publicKey, $event)\"></span>\n </div>\n </div>\n </div>\n </ng-container>\n </div>\n</form>\n", styles: [".smallTextUppercase{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;text-transform:uppercase;line-height:100%}.bigletteredbutton{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;text-decoration:none;background:#ffffff1a;margin-bottom:10px;display:flex;align-content:center;border-radius:20px;padding:15px;font-size:24px;border:2px solid #1F3F8F;border-bottom:6px solid #1F3F8F;color:#fff;align-items:center;cursor:pointer}.bigletteredbutton .free{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;background:#fff73f;color:#2f2f2f;padding:3px 5px;margin-left:20px;border-radius:10px}.bigletteredbutton .plan{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;background:#fff;color:#2f2f2f;padding:3px 5px;margin-left:20px;border-radius:10px}.bigletteredbutton:hover,.bigletteredbutton.selected{border:2px solid #fff73f;border-bottom:6px solid #fff73f}.bigletteredbutton .button-letter{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;border-radius:30px;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center;background:#fff73f;color:#1f3f8f;margin-right:20px}.bigletteredbutton .button-letter .ph{color:#1f3f8f}.bigletteredbutton .button-letter:hover{background:#1f3f8f;color:#fff73f}.bigletteredbutton .button-letter:hover .ph{color:#fff73f}.roundicon-yellow{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;border-radius:30px;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center;background:#fff73f;color:#1f3f8f}.roundicon-yellow .ph{color:#1f3f8f}.roundicon-yellow:hover{background:#1f3f8f;color:#fff73f}.roundicon-yellow:hover .ph{color:#fff73f}.roundicon{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;border-radius:30px;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center}.roundicon-large{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center;border-radius:60px;height:120px;width:120px}.scaleselector-container .scaleselector-metadata{margin:30px 0;background:#f0f0f0;border-radius:20px;padding:30px;display:flex;column-gap:30px;flex-direction:column}@media only screen and (max-width: 992px){.scaleselector-container .scaleselector-metadata{display:block}}.scaleselector-container .scaleselector-metadata .questionnaire-preset .questionnaire-preset-label{font-size:12px;font-weight:900;text-transform:uppercase;font-family:StevieSans,sans-serif;margin-bottom:5px}.scaleselector-container .scaleselector-metadata .questionnaire-preset .questionnaire-preset-select{width:100%}.scaleselector-container .scaleselector-metadata .questionnaire-segments .questionnaire-segments-label{font-size:12px;font-weight:900;text-transform:uppercase;font-family:StevieSans,sans-serif;margin-bottom:5px}.scaleselector-container .scaleselector-metadata .questionnaire-segments .questionnaire-breakdowns{display:flex;gap:15px}@media only screen and (max-width: 992px){.scaleselector-container .scaleselector-metadata .questionnaire-segments .questionnaire-breakdowns{display:block}}.scaleselector-container .scaleselector-metadata .questionnaire-segments .questionnaire-breakdowns .questionnaire-breakdown{margin-bottom:15px;flex:auto}.scaleselector-container .scaleselector-metadata .questionnaire-segments .questionnaire-breakdowns .questionnaire-breakdown .questionnaire-breakdown-label{font-size:14px;font-weight:700;font-family:StevieSans,sans-serif;margin-bottom:5px;margin-top:5px}.scaleselector-container .scaleselector-metadata .questionnaire-segments .questionnaire-breakdowns .questionnaire-breakdown .questionnaire-breakdown-label .icon{color:#ef6f00;font-size:18px;vertical-align:middle;cursor:pointer}.scaleselector-container .scaleselector-metadata .questionnaire-segments .questionnaire-breakdowns .questionnaire-breakdown .progressbar{margin:0;width:100%}.scaleselector-container .scaleselector-metadata .questionnaire-segments .questionnaire-breakdowns .questionnaire-breakdown .progressbar.progressbar-teammember .progressbar-bar{background:#00af77}.scaleselector-container .scaleselector-metadata .questionnaire-segments .questionnaire-breakdowns .questionnaire-breakdown .progressbar.progressbar-stakeholder .progressbar-bar{background:#fff73f}.scaleselector-container .scaleselector-metadata .questionnaire-segments .questionnaire-breakdowns .questionnaire-breakdown .progressbar.progressbar-supporter .progressbar-bar{background:#ef4f9f}.scaleselector-container .scaleselector-metadata .questionnaire-accuracy{margin-bottom:15px}.scaleselector-container .scaleselector-metadata .questionnaire-accuracy .questionnaire-breakdown-label{font-size:12px;font-weight:900;text-transform:uppercase;margin-bottom:5px;font-family:StevieSans,sans-serif}.scaleselector-container .scaleselector-metadata .questionnaire-accuracy .questionnaire-breakdown-bar-holder{margin-bottom:15px;background:#2f2f2f;height:20px;border-radius:15px;overflow:hidden}.scaleselector-container .scaleselector-metadata .questionnaire-accuracy .questionnaire-breakdown-bar-holder .questionnaire-accuracy-bar{flex:auto;min-width:50px;font-size:12px;font-weight:900;text-transform:uppercase;font-family:StevieSans,sans-serif;background:#00af77;height:100%;align-content:center;text-align:center}.scaleselector-container .scaleselector-metadata .questionnaire-accuracy .questionnaire-breakdown-bar-holder .questionnaire-accuracy-bar.low{background:#ef6f00}.scaleselector-container .scaleselector-metadata .questionnaire-accuracy .questionnaire-breakdown-bar-holder .questionnaire-accuracy-bar.moderate{background:#fff73f}.scaleselector-container .scaleselector-warnings{margin-top:15px}.scaleselector-container .scaleselector-warnings .scaleselector-warnings-warning{display:flex;align-items:center;font-size:12pt}.scaleselector-container .scaleselector-warnings .scaleselector-warnings-warning .icon{color:#1f3f8f;font-size:16px;cursor:pointer;margin-right:10px}.scaleselector-container .topic-parent{margin-bottom:60px;padding-left:30px}.scaleselector-container .topic-parent .name{display:flex;align-items:baseline;gap:15px}.scaleselector-container .topic-parent .name h4{font-weight:700!important;font-family:StevieSans,sans-serif!important;margin:0}.scaleselector-container .topic-parent .name .helpers{font-size:12pt}.scaleselector-container .topic-parent .name .helpers a{font-family:StevieSans,sans-serif}.scaleselector-container .topic-parent .name .topic-child-moreinformation{margin-left:auto;cursor:pointer}.scaleselector-container .topic-parent .name .topic-child-moreinformation .icon{vertical-align:middle}.scaleselector-container .topic-parent .topic-child{display:flex;align-items:baseline;gap:15px;margin-bottom:15px;margin-top:15px;cursor:pointer}.scaleselector-container .topic-parent .topic-child .topic-child-description{font-family:StevieSans,sans-serif;font-size:16px;font-weight:500}.scaleselector-container .topic-parent .topic-child .topic-child-description .tags{gap:5px;margin-top:5px;display:flex}.scaleselector-container .topic-parent .topic-child .topic-child-description .tags .tags-tag{padding:4px 8px;border-radius:16px;font-weight:600;font-size:11px;white-space:pre}.scaleselector-container .topic-parent .topic-child .topic-child-description .tags .tags-tag.recommended{background:#2f2f2f;color:#fff}.scaleselector-container .topic-parent .topic-child .topic-child-description .tags .tags-tag.stakeholder{background:#fff73f}.scaleselector-container .topic-parent .topic-child .topic-child-description .tags .tags-tag.teammember{background:#1f3f8f;color:#fff}.scaleselector-container .topic-parent .topic-child .topic-child-description .tags .tags-tag.supporter,.scaleselector-container .topic-parent .topic-child .topic-child-description .tags .tags-tag.management{background:#ef4f9f}.scaleselector-container .topic-parent .topic-child .topic-child-moreinformation{margin-left:auto}.scaleselector-container .topic-parent .topic-child .topic-child-moreinformation .icon{vertical-align:middle;cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "component", type: i5.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i6.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i7.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "pipe", type: i3.DecimalPipe, name: "number" }, { kind: "pipe", type: i8.SlugifyPipe, name: "slugify" }] }); }
|
|
198
|
+
], ngImport: i0, template: "<form [formGroup]=\"form\">\n <div class=\"topicselector-container\">\n <div class=\"topicselector-metadata\">\n <div class=\"questionnaire-preset\">\n <mat-form-field class=\"questionnaire-preset-select\" appearance=\"fill\">\n <mat-label>Select predefined questionnaire</mat-label>\n <mat-select id=\"question-preset\" formControlName=\"preset\" (selectionChange)=\"selectPreset()\">\n <mat-option [value]=\"type.publicKey\" *ngFor=\"let type of presets\" class=\"select-option\">{{type.name}}</mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n <div class=\"questionnaire-accuracy\">\n <div class=\"questionnaire-breakdown-label\">Accuracy</div>\n <div class=\"questionnaire-breakdown-bar-holder\">\n <div class=\"questionnaire-accuracy-bar\" [ngClass]=\"{'low': questionnaireAccuracy < 0.25, 'moderate' : questionnaireAccuracy < 0.5 && questionnaireAccuracy >= 0.25}\" [ngStyle]=\"{'width': (questionnaireAccuracy * 100) + '%' }\">{{questionnaireAccuracy * 100 | number:'1.0-0'}}%</div>\n </div>\n </div>\n <div class=\"questionnaire-segments\">\n <div class=\"questionnaire-segments-label\">Time investment</div>\n <div class=\"questionnaire-breakdowns\">\n <div class=\"questionnaire-breakdown\">\n <div class=\"questionnaire-breakdown-label\">Team members</div>\n <div class=\"progressbar progressbar-positive progressbar-teammember\">\n <div class=\"progressbar-bar\" *ngIf=\"questionsTeamMembers > 0\" [style.width]=\"((questionsTeamMembers / questionsTotal) * 100) + '%'\"></div>\n <div class=\"progressbar-score\">{{durationTeamMembers | number:'1.0-0'}} min</div>\n </div>\n </div>\n <div class=\"questionnaire-breakdown\">\n <div class=\"questionnaire-breakdown-label\">Stakeholders</div>\n <div class=\"progressbar progressbar-positive progressbar-stakeholder\">\n <div class=\"progressbar-bar\" *ngIf=\"questionsStakeholders > 0\" [style.width]=\"((questionsStakeholders / questionsTotal) * 100) + '%'\"></div>\n <div class=\"progressbar-score\">{{durationStakeholders | number:'1.0-0'}} min</div>\n </div>\n </div>\n <div class=\"questionnaire-breakdown\">\n <div class=\"questionnaire-breakdown-label\">Supporters</div>\n <div class=\"progressbar progressbar-positive progressbar-supporter\">\n <div class=\"progressbar-bar\" *ngIf=\"questionsSupporters > 0\" [style.width]=\"((questionsSupporters / questionsTotal) * 100) + '%'\"></div>\n <div class=\"progressbar-score\">{{durationSupporters | number:'1.0-0'}} min</div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"topicselector-warnings\" *ngIf=\"warnings.length > 0\">\n <div class=\"topicselector-warnings-warning\" *ngFor=\"let warning of warnings\">\n <span class=\"icon ph-info-fill\"></span>{{warning}}\n </div>\n </div>\n <a href=\"javascript:void(null)\" *ngIf=\"!form.controls.showTopics.value\" id=\"action-advancedviewtoggle\" class=\"topic-selector-advancedviewtoggle\" (click)=\"form.controls.showTopics.setValue(true)\"><span class=\"icon ph-caret-circle-down-fill\"></span>advanced view</a>\n <a href=\"javascript:void(null)\" *ngIf=\"form.controls.showTopics.value\" id=\"action-advancedviewtoggle\" class=\"topic-selector-advancedviewtoggle\" (click)=\"form.controls.showTopics.setValue(false)\"><span class=\"icon ph-caret-circle-up-fill\"></span>simple view</a>\n </div>\n <div class=\"topicselector-topics\" *ngIf=\"form.controls.showTopics.value\"> \n <div class=\"topic-parent\" *ngFor=\"let topic of getCoreFactors()\" formArrayName=\"topics\">\n <div class=\"name\">\n <h4>{{topic.name}}</h4>\n <div class=\"helpers\">(<a href=\"#\" (click)=\"selectAll(topic, $event)\">all</a> | <a href=\"#\" (click)=\"selectNone(topic, $event)\">none</a>)</div>\n <div class=\"topic-child-moreinformation\">\n <span class=\"icon ph-info-bold\" (click)=\"openFactorInformation(topic.publicKey, $event)\"></span>\n </div>\n </div>\n\n <div *ngIf=\"topic.ownQuestionCount > 0\" class=\"topic-child\">\n <mat-checkbox class=\"topic-child-check\" [formControlName]=\"topic.publicKey\" (click)=\"toggleTopic()\" [id]=\"'topic-' + topic.name | slugify\"></mat-checkbox>\n <div class=\"topic-child-description\">\n {{topic.name}} ({{topic.ownQuestionCount}} questions)\n <div class=\"tags\">\n <div class=\"tags-tag recommended\" *ngIf=\"topic.recommended\">Recommended</div>\n <div class=\"tags-tag teammember\" *ngIf=\"hasSegmentQuestions(topic, SegmentEnum.TeamMember, true)\">For team members</div>\n <div class=\"tags-tag stakeholder\" *ngIf=\"hasSegmentQuestions(topic, SegmentEnum.Stakeholder, true)\">For stakeholders</div>\n <div class=\"tags-tag supporter\" *ngIf=\"hasSegmentQuestions(topic, SegmentEnum.Management, true)\">For supporters</div>\n </div>\n </div>\n <div class=\"topic-child-moreinformation\">\n <span class=\"icon ph-info-bold\" (click)=\"openFactorInformation(topic.publicKey, $event)\"></span>\n </div>\n </div>\n\n\n <div *ngFor=\"let subTopic of getSubFactors(topic.publicKey)\" class=\"topic-child\">\n <mat-checkbox class=\"topic-child-check\" [formControlName]=\"subTopic.publicKey\" (click)=\"toggleTopic()\" [id]=\"'topic-' + subTopic.name | slugify\"></mat-checkbox>\n <div class=\"topic-child-description\">\n {{subTopic.name}} ({{subTopic.questionCount}} questions)\n <div class=\"tags\">\n <div class=\"tags-tag recommended\" *ngIf=\"subTopic.recommended\">Recommended</div>\n <div class=\"tags-tag teammember\" *ngIf=\"hasSegmentQuestions(subTopic, SegmentEnum.TeamMember, false)\">For team members</div>\n <div class=\"tags-tag stakeholder\" *ngIf=\"hasSegmentQuestions(subTopic, SegmentEnum.Stakeholder, false)\">For stakeholders</div>\n <div class=\"tags-tag supporter\" *ngIf=\"hasSegmentQuestions(subTopic, SegmentEnum.Management, false)\">For supporters</div>\n </div>\n </div>\n <div class=\"topic-child-moreinformation\">\n <span class=\"icon ph-info-bold\" (click)=\"openFactorInformation(subTopic.publicKey, $event)\"></span>\n </div>\n </div>\n </div>\n </div>\n </div>\n</form>\n", styles: [".smallTextUppercase{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;text-transform:uppercase;line-height:100%}.bigletteredbutton{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;text-decoration:none;background:#ffffff1a;margin-bottom:10px;display:flex;align-content:center;border-radius:20px;padding:15px;font-size:24px;border:2px solid #1F3F8F;border-bottom:6px solid #1F3F8F;color:#fff;align-items:center;cursor:pointer}.bigletteredbutton .free{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;background:#fff73f;color:#2f2f2f;padding:3px 5px;margin-left:20px;border-radius:10px}.bigletteredbutton .plan{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;background:#fff;color:#2f2f2f;padding:3px 5px;margin-left:20px;border-radius:10px}.bigletteredbutton:hover,.bigletteredbutton.selected{border:2px solid #fff73f;border-bottom:6px solid #fff73f}.bigletteredbutton .button-letter{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;border-radius:30px;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center;background:#fff73f;color:#1f3f8f;margin-right:20px}.bigletteredbutton .button-letter .ph{color:#1f3f8f}.bigletteredbutton .button-letter:hover{background:#1f3f8f;color:#fff73f}.bigletteredbutton .button-letter:hover .ph{color:#fff73f}.roundicon-yellow{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;border-radius:30px;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center;background:#fff73f;color:#1f3f8f}.roundicon-yellow .ph{color:#1f3f8f}.roundicon-yellow:hover{background:#1f3f8f;color:#fff73f}.roundicon-yellow:hover .ph{color:#fff73f}.roundicon{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;border-radius:30px;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center}.roundicon-large{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center;border-radius:60px;height:120px;width:120px}.topicselector-container .topicselector-metadata{background:#f0f0f0;border-radius:20px;padding:30px;display:flex;column-gap:30px;flex-direction:column}@media only screen and (max-width: 992px){.topicselector-container .topicselector-metadata{display:block}}.topicselector-container .topicselector-metadata .questionnaire-preset .questionnaire-preset-label{font-size:12px;font-weight:900;text-transform:uppercase;font-family:StevieSans,sans-serif;margin-bottom:5px}.topicselector-container .topicselector-metadata .questionnaire-preset .questionnaire-preset-select{width:100%}.topicselector-container .topicselector-metadata .questionnaire-segments .questionnaire-segments-label{font-size:12px;font-weight:900;text-transform:uppercase;font-family:StevieSans,sans-serif;margin-bottom:5px}.topicselector-container .topicselector-metadata .questionnaire-segments .questionnaire-breakdowns{display:flex;gap:15px}@media only screen and (max-width: 992px){.topicselector-container .topicselector-metadata .questionnaire-segments .questionnaire-breakdowns{display:block}}.topicselector-container .topicselector-metadata .questionnaire-segments .questionnaire-breakdowns .questionnaire-breakdown{margin-bottom:15px;flex:auto}.topicselector-container .topicselector-metadata .questionnaire-segments .questionnaire-breakdowns .questionnaire-breakdown .questionnaire-breakdown-label{font-size:14px;font-weight:700;font-family:StevieSans,sans-serif;margin-bottom:5px;margin-top:5px}.topicselector-container .topicselector-metadata .questionnaire-segments .questionnaire-breakdowns .questionnaire-breakdown .questionnaire-breakdown-label .icon{color:#ef6f00;font-size:18px;vertical-align:middle;cursor:pointer}.topicselector-container .topicselector-metadata .questionnaire-segments .questionnaire-breakdowns .questionnaire-breakdown .progressbar{margin:0;width:100%}.topicselector-container .topicselector-metadata .questionnaire-segments .questionnaire-breakdowns .questionnaire-breakdown .progressbar.progressbar-teammember .progressbar-bar{background:#00af77}.topicselector-container .topicselector-metadata .questionnaire-segments .questionnaire-breakdowns .questionnaire-breakdown .progressbar.progressbar-teammember .progressbar-score{color:#fff}.topicselector-container .topicselector-metadata .questionnaire-segments .questionnaire-breakdowns .questionnaire-breakdown .progressbar.progressbar-stakeholder .progressbar-bar{background:#fff73f}.topicselector-container .topicselector-metadata .questionnaire-segments .questionnaire-breakdowns .questionnaire-breakdown .progressbar.progressbar-stakeholder .progressbar-score{color:#fff}.topicselector-container .topicselector-metadata .questionnaire-segments .questionnaire-breakdowns .questionnaire-breakdown .progressbar.progressbar-supporter .progressbar-bar{background:#ef4f9f}.topicselector-container .topicselector-metadata .questionnaire-segments .questionnaire-breakdowns .questionnaire-breakdown .progressbar.progressbar-supporter .progressbar-score{color:#fff}.topicselector-container .topicselector-metadata .questionnaire-accuracy{margin-bottom:15px}.topicselector-container .topicselector-metadata .questionnaire-accuracy .questionnaire-breakdown-label{font-size:12px;font-weight:900;text-transform:uppercase;margin-bottom:5px;font-family:StevieSans,sans-serif}.topicselector-container .topicselector-metadata .questionnaire-accuracy .questionnaire-breakdown-bar-holder{margin-bottom:15px;background:#2f2f2f;height:20px;border-radius:15px;overflow:hidden}.topicselector-container .topicselector-metadata .questionnaire-accuracy .questionnaire-breakdown-bar-holder .questionnaire-accuracy-bar{flex:auto;min-width:50px;font-size:12px;font-weight:900;text-transform:uppercase;font-family:StevieSans,sans-serif;background:#00af77;height:100%;align-content:center;text-align:center}.topicselector-container .topicselector-metadata .questionnaire-accuracy .questionnaire-breakdown-bar-holder .questionnaire-accuracy-bar.low{background:#ef6f00}.topicselector-container .topicselector-metadata .questionnaire-accuracy .questionnaire-breakdown-bar-holder .questionnaire-accuracy-bar.moderate{background:#fff73f}.topicselector-container .topic-selector-advancedviewtoggle{margin-top:10px;text-align:center;font-weight:700;font-family:StevieSans,sans-serif;font-size:12pt;text-decoration:none}.topicselector-container .topic-selector-advancedviewtoggle .icon{margin-right:10px;vertical-align:middle}.topicselector-container .topicselector-warnings{margin-top:15px}.topicselector-container .topicselector-warnings .topicselector-warnings-warning{display:flex;align-items:center;font-size:12pt}.topicselector-container .topicselector-warnings .topicselector-warnings-warning .icon{color:#1f3f8f;font-size:16px;cursor:pointer;margin-right:10px}.topicselector-container .topicselector-topics{margin-top:30px}.topicselector-container .topicselector-topics .topic-parent{margin-bottom:60px;padding-left:30px}.topicselector-container .topicselector-topics .topic-parent .name{display:flex;align-items:baseline;gap:15px}.topicselector-container .topicselector-topics .topic-parent .name h4{font-weight:700!important;font-family:StevieSans,sans-serif!important;margin:0}.topicselector-container .topicselector-topics .topic-parent .name .helpers{font-size:12pt}.topicselector-container .topicselector-topics .topic-parent .name .helpers a{font-family:StevieSans,sans-serif}.topicselector-container .topicselector-topics .topic-parent .name .topic-child-moreinformation{margin-left:auto;cursor:pointer}.topicselector-container .topicselector-topics .topic-parent .name .topic-child-moreinformation .icon{vertical-align:middle}.topicselector-container .topicselector-topics .topic-parent .topic-child{display:flex;align-items:baseline;gap:15px;margin-bottom:15px;margin-top:15px;cursor:pointer}.topicselector-container .topicselector-topics .topic-parent .topic-child .topic-child-description{font-family:StevieSans,sans-serif;font-size:16px;font-weight:500}.topicselector-container .topicselector-topics .topic-parent .topic-child .topic-child-description .tags{gap:5px;margin-top:5px;display:flex}.topicselector-container .topicselector-topics .topic-parent .topic-child .topic-child-description .tags .tags-tag{padding:4px 8px;border-radius:16px;font-weight:600;font-size:11px;white-space:pre}.topicselector-container .topicselector-topics .topic-parent .topic-child .topic-child-description .tags .tags-tag.recommended{background:#2f2f2f;color:#fff}.topicselector-container .topicselector-topics .topic-parent .topic-child .topic-child-description .tags .tags-tag.stakeholder{background:#fff73f}.topicselector-container .topicselector-topics .topic-parent .topic-child .topic-child-description .tags .tags-tag.teammember{background:#1f3f8f;color:#fff}.topicselector-container .topicselector-topics .topic-parent .topic-child .topic-child-description .tags .tags-tag.supporter,.topicselector-container .topicselector-topics .topic-parent .topic-child .topic-child-description .tags .tags-tag.management{background:#ef4f9f}.topicselector-container .topicselector-topics .topic-parent .topic-child .topic-child-moreinformation{margin-left:auto}.topicselector-container .topicselector-topics .topic-parent .topic-child .topic-child-moreinformation .icon{vertical-align:middle;cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "component", type: i5.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i6.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i7.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "pipe", type: i3.DecimalPipe, name: "number" }, { kind: "pipe", type: i8.SlugifyPipe, name: "slugify" }] }); }
|
|
184
199
|
}
|
|
185
200
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: TopicSelectorComponent, decorators: [{
|
|
186
201
|
type: Component,
|
|
187
202
|
args: [{ selector: 'topic-selector', providers: [
|
|
188
203
|
{ provide: NG_VALUE_ACCESSOR, multi: true, useExisting: forwardRef(() => TopicSelectorComponent), }
|
|
189
|
-
], template: "<form [formGroup]=\"form\">\n <div class=\"scaleselector-container\">\n <div class=\"scaleselector-metadata\">\n <div class=\"questionnaire-preset\">\n <mat-form-field class=\"questionnaire-preset-select\" appearance=\"fill\">\n <mat-label>Select predefined questionnaire</mat-label>\n <mat-select id=\"question-preset\" formControlName=\"preset\" (selectionChange)=\"selectPreset()\">\n <mat-option [value]=\"type.publicKey\" *ngFor=\"let type of presets\" class=\"select-option\">{{type.name}}</mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n <div class=\"questionnaire-accuracy\">\n <div class=\"questionnaire-breakdown-label\">Accuracy</div>\n <div class=\"questionnaire-breakdown-bar-holder\">\n <div class=\"questionnaire-accuracy-bar\" [ngClass]=\"{'low': questionnaireAccuracy < 0.25, 'moderate' : questionnaireAccuracy < 0.5 && questionnaireAccuracy >= 0.25}\" [ngStyle]=\"{'width': (questionnaireAccuracy * 100) + '%' }\">{{questionnaireAccuracy * 100 | number:'1.0-0'}}%</div>\n </div>\n </div>\n <div class=\"questionnaire-segments\">\n <div class=\"questionnaire-segments-label\">Time investment</div>\n <div class=\"questionnaire-breakdowns\">\n <div class=\"questionnaire-breakdown\">\n <div class=\"questionnaire-breakdown-label\">Team members</div>\n <div class=\"progressbar progressbar-positive progressbar-teammember\">\n <div class=\"progressbar-bar\" *ngIf=\"questionsTeamMembers > 0\" [style.width]=\"((questionsTeamMembers / questionsTotal) * 100) + '%'\"></div>\n <div class=\"progressbar-score\">{{durationTeamMembers | number:'1.0-0'}} min</div>\n </div>\n </div>\n <div class=\"questionnaire-breakdown\">\n <div class=\"questionnaire-breakdown-label\">Stakeholders</div>\n <div class=\"progressbar progressbar-positive progressbar-stakeholder\">\n <div class=\"progressbar-bar\" *ngIf=\"questionsStakeholders > 0\" [style.width]=\"((questionsStakeholders / questionsTotal) * 100) + '%'\"></div>\n <div class=\"progressbar-score\">{{durationStakeholders | number:'1.0-0'}} min</div>\n </div>\n </div>\n <div class=\"questionnaire-breakdown\">\n <div class=\"questionnaire-breakdown-label\">Supporters</div>\n <div class=\"progressbar progressbar-positive progressbar-supporter\">\n <div class=\"progressbar-bar\" *ngIf=\"questionsSupporters > 0\" [style.width]=\"((questionsSupporters / questionsTotal) * 100) + '%'\"></div>\n <div class=\"progressbar-score\">{{durationSupporters | number:'1.0-0'}} min</div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"scaleselector-warnings\" *ngIf=\"warnings.length > 0\">\n <div class=\"scaleselector-warnings-warning\" *ngFor=\"let warning of warnings\">\n <span class=\"icon ph-info-fill\"></span>{{warning}}\n </div>\n </div>\n </div>\n\n <ng-container>\n <div class=\"topic-parent\" *ngFor=\"let topic of getCoreFactors()\" formArrayName=\"topics\">\n\n <div class=\"name\">\n <h4>{{topic.name}}</h4>\n <div class=\"helpers\">(<a href=\"#\" (click)=\"selectAll(topic, $event)\">all</a> | <a href=\"#\" (click)=\"selectNone(topic, $event)\">none</a>)</div>\n <div class=\"topic-child-moreinformation\">\n <span class=\"icon ph-info-bold\" (click)=\"openFactorInformation(topic.publicKey, $event)\"></span>\n </div>\n </div>\n\n <div *ngIf=\"topic.ownQuestionCount > 0\" class=\"topic-child\">\n <mat-checkbox class=\"topic-child-check\" [formControlName]=\"topic.publicKey\" [id]=\"'topic-' + topic.name | slugify\"></mat-checkbox>\n <div class=\"topic-child-description\">\n {{topic.name}} ({{topic.ownQuestionCount}} questions)\n <div class=\"tags\">\n <div class=\"tags-tag recommended\" *ngIf=\"topic.recommended\">Recommended</div>\n <div class=\"tags-tag teammember\" *ngIf=\"hasSegmentQuestions(topic, SegmentEnum.TeamMember, true)\">For team members</div>\n <div class=\"tags-tag stakeholder\" *ngIf=\"hasSegmentQuestions(topic, SegmentEnum.Stakeholder, true)\">For stakeholders</div>\n <div class=\"tags-tag supporter\" *ngIf=\"hasSegmentQuestions(topic, SegmentEnum.Management, true)\">For supporters</div>\n </div>\n </div>\n <div class=\"topic-child-moreinformation\">\n <span class=\"icon ph-info-bold\" (click)=\"openFactorInformation(topic.publicKey, $event)\"></span>\n </div>\n </div>\n\n\n <div *ngFor=\"let subTopic of getSubFactors(topic.publicKey)\" class=\"topic-child\">\n <mat-checkbox class=\"topic-child-check\" [formControlName]=\"subTopic.publicKey\" [id]=\"'topic-' + subTopic.name | slugify\"></mat-checkbox>\n <div class=\"topic-child-description\">\n {{subTopic.name}} ({{subTopic.questionCount}} questions)\n <div class=\"tags\">\n <div class=\"tags-tag recommended\" *ngIf=\"subTopic.recommended\">Recommended</div>\n <div class=\"tags-tag teammember\" *ngIf=\"hasSegmentQuestions(subTopic, SegmentEnum.TeamMember, false)\">For team members</div>\n <div class=\"tags-tag stakeholder\" *ngIf=\"hasSegmentQuestions(subTopic, SegmentEnum.Stakeholder, false)\">For stakeholders</div>\n <div class=\"tags-tag supporter\" *ngIf=\"hasSegmentQuestions(subTopic, SegmentEnum.Management, false)\">For supporters</div>\n </div>\n </div>\n <div class=\"topic-child-moreinformation\">\n <span class=\"icon ph-info-bold\" (click)=\"openFactorInformation(subTopic.publicKey, $event)\"></span>\n </div>\n </div>\n </div>\n </ng-container>\n </div>\n</form>\n", styles: [".smallTextUppercase{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;text-transform:uppercase;line-height:100%}.bigletteredbutton{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;text-decoration:none;background:#ffffff1a;margin-bottom:10px;display:flex;align-content:center;border-radius:20px;padding:15px;font-size:24px;border:2px solid #1F3F8F;border-bottom:6px solid #1F3F8F;color:#fff;align-items:center;cursor:pointer}.bigletteredbutton .free{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;background:#fff73f;color:#2f2f2f;padding:3px 5px;margin-left:20px;border-radius:10px}.bigletteredbutton .plan{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;background:#fff;color:#2f2f2f;padding:3px 5px;margin-left:20px;border-radius:10px}.bigletteredbutton:hover,.bigletteredbutton.selected{border:2px solid #fff73f;border-bottom:6px solid #fff73f}.bigletteredbutton .button-letter{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;border-radius:30px;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center;background:#fff73f;color:#1f3f8f;margin-right:20px}.bigletteredbutton .button-letter .ph{color:#1f3f8f}.bigletteredbutton .button-letter:hover{background:#1f3f8f;color:#fff73f}.bigletteredbutton .button-letter:hover .ph{color:#fff73f}.roundicon-yellow{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;border-radius:30px;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center;background:#fff73f;color:#1f3f8f}.roundicon-yellow .ph{color:#1f3f8f}.roundicon-yellow:hover{background:#1f3f8f;color:#fff73f}.roundicon-yellow:hover .ph{color:#fff73f}.roundicon{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;border-radius:30px;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center}.roundicon-large{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center;border-radius:60px;height:120px;width:120px}.scaleselector-container .scaleselector-metadata{margin:30px 0;background:#f0f0f0;border-radius:20px;padding:30px;display:flex;column-gap:30px;flex-direction:column}@media only screen and (max-width: 992px){.scaleselector-container .scaleselector-metadata{display:block}}.scaleselector-container .scaleselector-metadata .questionnaire-preset .questionnaire-preset-label{font-size:12px;font-weight:900;text-transform:uppercase;font-family:StevieSans,sans-serif;margin-bottom:5px}.scaleselector-container .scaleselector-metadata .questionnaire-preset .questionnaire-preset-select{width:100%}.scaleselector-container .scaleselector-metadata .questionnaire-segments .questionnaire-segments-label{font-size:12px;font-weight:900;text-transform:uppercase;font-family:StevieSans,sans-serif;margin-bottom:5px}.scaleselector-container .scaleselector-metadata .questionnaire-segments .questionnaire-breakdowns{display:flex;gap:15px}@media only screen and (max-width: 992px){.scaleselector-container .scaleselector-metadata .questionnaire-segments .questionnaire-breakdowns{display:block}}.scaleselector-container .scaleselector-metadata .questionnaire-segments .questionnaire-breakdowns .questionnaire-breakdown{margin-bottom:15px;flex:auto}.scaleselector-container .scaleselector-metadata .questionnaire-segments .questionnaire-breakdowns .questionnaire-breakdown .questionnaire-breakdown-label{font-size:14px;font-weight:700;font-family:StevieSans,sans-serif;margin-bottom:5px;margin-top:5px}.scaleselector-container .scaleselector-metadata .questionnaire-segments .questionnaire-breakdowns .questionnaire-breakdown .questionnaire-breakdown-label .icon{color:#ef6f00;font-size:18px;vertical-align:middle;cursor:pointer}.scaleselector-container .scaleselector-metadata .questionnaire-segments .questionnaire-breakdowns .questionnaire-breakdown .progressbar{margin:0;width:100%}.scaleselector-container .scaleselector-metadata .questionnaire-segments .questionnaire-breakdowns .questionnaire-breakdown .progressbar.progressbar-teammember .progressbar-bar{background:#00af77}.scaleselector-container .scaleselector-metadata .questionnaire-segments .questionnaire-breakdowns .questionnaire-breakdown .progressbar.progressbar-stakeholder .progressbar-bar{background:#fff73f}.scaleselector-container .scaleselector-metadata .questionnaire-segments .questionnaire-breakdowns .questionnaire-breakdown .progressbar.progressbar-supporter .progressbar-bar{background:#ef4f9f}.scaleselector-container .scaleselector-metadata .questionnaire-accuracy{margin-bottom:15px}.scaleselector-container .scaleselector-metadata .questionnaire-accuracy .questionnaire-breakdown-label{font-size:12px;font-weight:900;text-transform:uppercase;margin-bottom:5px;font-family:StevieSans,sans-serif}.scaleselector-container .scaleselector-metadata .questionnaire-accuracy .questionnaire-breakdown-bar-holder{margin-bottom:15px;background:#2f2f2f;height:20px;border-radius:15px;overflow:hidden}.scaleselector-container .scaleselector-metadata .questionnaire-accuracy .questionnaire-breakdown-bar-holder .questionnaire-accuracy-bar{flex:auto;min-width:50px;font-size:12px;font-weight:900;text-transform:uppercase;font-family:StevieSans,sans-serif;background:#00af77;height:100%;align-content:center;text-align:center}.scaleselector-container .scaleselector-metadata .questionnaire-accuracy .questionnaire-breakdown-bar-holder .questionnaire-accuracy-bar.low{background:#ef6f00}.scaleselector-container .scaleselector-metadata .questionnaire-accuracy .questionnaire-breakdown-bar-holder .questionnaire-accuracy-bar.moderate{background:#fff73f}.scaleselector-container .scaleselector-warnings{margin-top:15px}.scaleselector-container .scaleselector-warnings .scaleselector-warnings-warning{display:flex;align-items:center;font-size:12pt}.scaleselector-container .scaleselector-warnings .scaleselector-warnings-warning .icon{color:#1f3f8f;font-size:16px;cursor:pointer;margin-right:10px}.scaleselector-container .topic-parent{margin-bottom:60px;padding-left:30px}.scaleselector-container .topic-parent .name{display:flex;align-items:baseline;gap:15px}.scaleselector-container .topic-parent .name h4{font-weight:700!important;font-family:StevieSans,sans-serif!important;margin:0}.scaleselector-container .topic-parent .name .helpers{font-size:12pt}.scaleselector-container .topic-parent .name .helpers a{font-family:StevieSans,sans-serif}.scaleselector-container .topic-parent .name .topic-child-moreinformation{margin-left:auto;cursor:pointer}.scaleselector-container .topic-parent .name .topic-child-moreinformation .icon{vertical-align:middle}.scaleselector-container .topic-parent .topic-child{display:flex;align-items:baseline;gap:15px;margin-bottom:15px;margin-top:15px;cursor:pointer}.scaleselector-container .topic-parent .topic-child .topic-child-description{font-family:StevieSans,sans-serif;font-size:16px;font-weight:500}.scaleselector-container .topic-parent .topic-child .topic-child-description .tags{gap:5px;margin-top:5px;display:flex}.scaleselector-container .topic-parent .topic-child .topic-child-description .tags .tags-tag{padding:4px 8px;border-radius:16px;font-weight:600;font-size:11px;white-space:pre}.scaleselector-container .topic-parent .topic-child .topic-child-description .tags .tags-tag.recommended{background:#2f2f2f;color:#fff}.scaleselector-container .topic-parent .topic-child .topic-child-description .tags .tags-tag.stakeholder{background:#fff73f}.scaleselector-container .topic-parent .topic-child .topic-child-description .tags .tags-tag.teammember{background:#1f3f8f;color:#fff}.scaleselector-container .topic-parent .topic-child .topic-child-description .tags .tags-tag.supporter,.scaleselector-container .topic-parent .topic-child .topic-child-description .tags .tags-tag.management{background:#ef4f9f}.scaleselector-container .topic-parent .topic-child .topic-child-moreinformation{margin-left:auto}.scaleselector-container .topic-parent .topic-child .topic-child-moreinformation .icon{vertical-align:middle;cursor:pointer}\n"] }]
|
|
204
|
+
], template: "<form [formGroup]=\"form\">\n <div class=\"topicselector-container\">\n <div class=\"topicselector-metadata\">\n <div class=\"questionnaire-preset\">\n <mat-form-field class=\"questionnaire-preset-select\" appearance=\"fill\">\n <mat-label>Select predefined questionnaire</mat-label>\n <mat-select id=\"question-preset\" formControlName=\"preset\" (selectionChange)=\"selectPreset()\">\n <mat-option [value]=\"type.publicKey\" *ngFor=\"let type of presets\" class=\"select-option\">{{type.name}}</mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n <div class=\"questionnaire-accuracy\">\n <div class=\"questionnaire-breakdown-label\">Accuracy</div>\n <div class=\"questionnaire-breakdown-bar-holder\">\n <div class=\"questionnaire-accuracy-bar\" [ngClass]=\"{'low': questionnaireAccuracy < 0.25, 'moderate' : questionnaireAccuracy < 0.5 && questionnaireAccuracy >= 0.25}\" [ngStyle]=\"{'width': (questionnaireAccuracy * 100) + '%' }\">{{questionnaireAccuracy * 100 | number:'1.0-0'}}%</div>\n </div>\n </div>\n <div class=\"questionnaire-segments\">\n <div class=\"questionnaire-segments-label\">Time investment</div>\n <div class=\"questionnaire-breakdowns\">\n <div class=\"questionnaire-breakdown\">\n <div class=\"questionnaire-breakdown-label\">Team members</div>\n <div class=\"progressbar progressbar-positive progressbar-teammember\">\n <div class=\"progressbar-bar\" *ngIf=\"questionsTeamMembers > 0\" [style.width]=\"((questionsTeamMembers / questionsTotal) * 100) + '%'\"></div>\n <div class=\"progressbar-score\">{{durationTeamMembers | number:'1.0-0'}} min</div>\n </div>\n </div>\n <div class=\"questionnaire-breakdown\">\n <div class=\"questionnaire-breakdown-label\">Stakeholders</div>\n <div class=\"progressbar progressbar-positive progressbar-stakeholder\">\n <div class=\"progressbar-bar\" *ngIf=\"questionsStakeholders > 0\" [style.width]=\"((questionsStakeholders / questionsTotal) * 100) + '%'\"></div>\n <div class=\"progressbar-score\">{{durationStakeholders | number:'1.0-0'}} min</div>\n </div>\n </div>\n <div class=\"questionnaire-breakdown\">\n <div class=\"questionnaire-breakdown-label\">Supporters</div>\n <div class=\"progressbar progressbar-positive progressbar-supporter\">\n <div class=\"progressbar-bar\" *ngIf=\"questionsSupporters > 0\" [style.width]=\"((questionsSupporters / questionsTotal) * 100) + '%'\"></div>\n <div class=\"progressbar-score\">{{durationSupporters | number:'1.0-0'}} min</div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"topicselector-warnings\" *ngIf=\"warnings.length > 0\">\n <div class=\"topicselector-warnings-warning\" *ngFor=\"let warning of warnings\">\n <span class=\"icon ph-info-fill\"></span>{{warning}}\n </div>\n </div>\n <a href=\"javascript:void(null)\" *ngIf=\"!form.controls.showTopics.value\" id=\"action-advancedviewtoggle\" class=\"topic-selector-advancedviewtoggle\" (click)=\"form.controls.showTopics.setValue(true)\"><span class=\"icon ph-caret-circle-down-fill\"></span>advanced view</a>\n <a href=\"javascript:void(null)\" *ngIf=\"form.controls.showTopics.value\" id=\"action-advancedviewtoggle\" class=\"topic-selector-advancedviewtoggle\" (click)=\"form.controls.showTopics.setValue(false)\"><span class=\"icon ph-caret-circle-up-fill\"></span>simple view</a>\n </div>\n <div class=\"topicselector-topics\" *ngIf=\"form.controls.showTopics.value\"> \n <div class=\"topic-parent\" *ngFor=\"let topic of getCoreFactors()\" formArrayName=\"topics\">\n <div class=\"name\">\n <h4>{{topic.name}}</h4>\n <div class=\"helpers\">(<a href=\"#\" (click)=\"selectAll(topic, $event)\">all</a> | <a href=\"#\" (click)=\"selectNone(topic, $event)\">none</a>)</div>\n <div class=\"topic-child-moreinformation\">\n <span class=\"icon ph-info-bold\" (click)=\"openFactorInformation(topic.publicKey, $event)\"></span>\n </div>\n </div>\n\n <div *ngIf=\"topic.ownQuestionCount > 0\" class=\"topic-child\">\n <mat-checkbox class=\"topic-child-check\" [formControlName]=\"topic.publicKey\" (click)=\"toggleTopic()\" [id]=\"'topic-' + topic.name | slugify\"></mat-checkbox>\n <div class=\"topic-child-description\">\n {{topic.name}} ({{topic.ownQuestionCount}} questions)\n <div class=\"tags\">\n <div class=\"tags-tag recommended\" *ngIf=\"topic.recommended\">Recommended</div>\n <div class=\"tags-tag teammember\" *ngIf=\"hasSegmentQuestions(topic, SegmentEnum.TeamMember, true)\">For team members</div>\n <div class=\"tags-tag stakeholder\" *ngIf=\"hasSegmentQuestions(topic, SegmentEnum.Stakeholder, true)\">For stakeholders</div>\n <div class=\"tags-tag supporter\" *ngIf=\"hasSegmentQuestions(topic, SegmentEnum.Management, true)\">For supporters</div>\n </div>\n </div>\n <div class=\"topic-child-moreinformation\">\n <span class=\"icon ph-info-bold\" (click)=\"openFactorInformation(topic.publicKey, $event)\"></span>\n </div>\n </div>\n\n\n <div *ngFor=\"let subTopic of getSubFactors(topic.publicKey)\" class=\"topic-child\">\n <mat-checkbox class=\"topic-child-check\" [formControlName]=\"subTopic.publicKey\" (click)=\"toggleTopic()\" [id]=\"'topic-' + subTopic.name | slugify\"></mat-checkbox>\n <div class=\"topic-child-description\">\n {{subTopic.name}} ({{subTopic.questionCount}} questions)\n <div class=\"tags\">\n <div class=\"tags-tag recommended\" *ngIf=\"subTopic.recommended\">Recommended</div>\n <div class=\"tags-tag teammember\" *ngIf=\"hasSegmentQuestions(subTopic, SegmentEnum.TeamMember, false)\">For team members</div>\n <div class=\"tags-tag stakeholder\" *ngIf=\"hasSegmentQuestions(subTopic, SegmentEnum.Stakeholder, false)\">For stakeholders</div>\n <div class=\"tags-tag supporter\" *ngIf=\"hasSegmentQuestions(subTopic, SegmentEnum.Management, false)\">For supporters</div>\n </div>\n </div>\n <div class=\"topic-child-moreinformation\">\n <span class=\"icon ph-info-bold\" (click)=\"openFactorInformation(subTopic.publicKey, $event)\"></span>\n </div>\n </div>\n </div>\n </div>\n </div>\n</form>\n", styles: [".smallTextUppercase{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;text-transform:uppercase;line-height:100%}.bigletteredbutton{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;text-decoration:none;background:#ffffff1a;margin-bottom:10px;display:flex;align-content:center;border-radius:20px;padding:15px;font-size:24px;border:2px solid #1F3F8F;border-bottom:6px solid #1F3F8F;color:#fff;align-items:center;cursor:pointer}.bigletteredbutton .free{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;background:#fff73f;color:#2f2f2f;padding:3px 5px;margin-left:20px;border-radius:10px}.bigletteredbutton .plan{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;background:#fff;color:#2f2f2f;padding:3px 5px;margin-left:20px;border-radius:10px}.bigletteredbutton:hover,.bigletteredbutton.selected{border:2px solid #fff73f;border-bottom:6px solid #fff73f}.bigletteredbutton .button-letter{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;border-radius:30px;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center;background:#fff73f;color:#1f3f8f;margin-right:20px}.bigletteredbutton .button-letter .ph{color:#1f3f8f}.bigletteredbutton .button-letter:hover{background:#1f3f8f;color:#fff73f}.bigletteredbutton .button-letter:hover .ph{color:#fff73f}.roundicon-yellow{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;border-radius:30px;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center;background:#fff73f;color:#1f3f8f}.roundicon-yellow .ph{color:#1f3f8f}.roundicon-yellow:hover{background:#1f3f8f;color:#fff73f}.roundicon-yellow:hover .ph{color:#fff73f}.roundicon{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;border-radius:30px;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center}.roundicon-large{-webkit-transition:all .25s ease-in-out;-moz-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;font-family:StevieSans,sans-serif;height:52px;width:52px;min-width:52px;min-height:52px;font-weight:900;font-size:30px;line-height:100%;display:flex;align-items:center;justify-content:center;border-radius:60px;height:120px;width:120px}.topicselector-container .topicselector-metadata{background:#f0f0f0;border-radius:20px;padding:30px;display:flex;column-gap:30px;flex-direction:column}@media only screen and (max-width: 992px){.topicselector-container .topicselector-metadata{display:block}}.topicselector-container .topicselector-metadata .questionnaire-preset .questionnaire-preset-label{font-size:12px;font-weight:900;text-transform:uppercase;font-family:StevieSans,sans-serif;margin-bottom:5px}.topicselector-container .topicselector-metadata .questionnaire-preset .questionnaire-preset-select{width:100%}.topicselector-container .topicselector-metadata .questionnaire-segments .questionnaire-segments-label{font-size:12px;font-weight:900;text-transform:uppercase;font-family:StevieSans,sans-serif;margin-bottom:5px}.topicselector-container .topicselector-metadata .questionnaire-segments .questionnaire-breakdowns{display:flex;gap:15px}@media only screen and (max-width: 992px){.topicselector-container .topicselector-metadata .questionnaire-segments .questionnaire-breakdowns{display:block}}.topicselector-container .topicselector-metadata .questionnaire-segments .questionnaire-breakdowns .questionnaire-breakdown{margin-bottom:15px;flex:auto}.topicselector-container .topicselector-metadata .questionnaire-segments .questionnaire-breakdowns .questionnaire-breakdown .questionnaire-breakdown-label{font-size:14px;font-weight:700;font-family:StevieSans,sans-serif;margin-bottom:5px;margin-top:5px}.topicselector-container .topicselector-metadata .questionnaire-segments .questionnaire-breakdowns .questionnaire-breakdown .questionnaire-breakdown-label .icon{color:#ef6f00;font-size:18px;vertical-align:middle;cursor:pointer}.topicselector-container .topicselector-metadata .questionnaire-segments .questionnaire-breakdowns .questionnaire-breakdown .progressbar{margin:0;width:100%}.topicselector-container .topicselector-metadata .questionnaire-segments .questionnaire-breakdowns .questionnaire-breakdown .progressbar.progressbar-teammember .progressbar-bar{background:#00af77}.topicselector-container .topicselector-metadata .questionnaire-segments .questionnaire-breakdowns .questionnaire-breakdown .progressbar.progressbar-teammember .progressbar-score{color:#fff}.topicselector-container .topicselector-metadata .questionnaire-segments .questionnaire-breakdowns .questionnaire-breakdown .progressbar.progressbar-stakeholder .progressbar-bar{background:#fff73f}.topicselector-container .topicselector-metadata .questionnaire-segments .questionnaire-breakdowns .questionnaire-breakdown .progressbar.progressbar-stakeholder .progressbar-score{color:#fff}.topicselector-container .topicselector-metadata .questionnaire-segments .questionnaire-breakdowns .questionnaire-breakdown .progressbar.progressbar-supporter .progressbar-bar{background:#ef4f9f}.topicselector-container .topicselector-metadata .questionnaire-segments .questionnaire-breakdowns .questionnaire-breakdown .progressbar.progressbar-supporter .progressbar-score{color:#fff}.topicselector-container .topicselector-metadata .questionnaire-accuracy{margin-bottom:15px}.topicselector-container .topicselector-metadata .questionnaire-accuracy .questionnaire-breakdown-label{font-size:12px;font-weight:900;text-transform:uppercase;margin-bottom:5px;font-family:StevieSans,sans-serif}.topicselector-container .topicselector-metadata .questionnaire-accuracy .questionnaire-breakdown-bar-holder{margin-bottom:15px;background:#2f2f2f;height:20px;border-radius:15px;overflow:hidden}.topicselector-container .topicselector-metadata .questionnaire-accuracy .questionnaire-breakdown-bar-holder .questionnaire-accuracy-bar{flex:auto;min-width:50px;font-size:12px;font-weight:900;text-transform:uppercase;font-family:StevieSans,sans-serif;background:#00af77;height:100%;align-content:center;text-align:center}.topicselector-container .topicselector-metadata .questionnaire-accuracy .questionnaire-breakdown-bar-holder .questionnaire-accuracy-bar.low{background:#ef6f00}.topicselector-container .topicselector-metadata .questionnaire-accuracy .questionnaire-breakdown-bar-holder .questionnaire-accuracy-bar.moderate{background:#fff73f}.topicselector-container .topic-selector-advancedviewtoggle{margin-top:10px;text-align:center;font-weight:700;font-family:StevieSans,sans-serif;font-size:12pt;text-decoration:none}.topicselector-container .topic-selector-advancedviewtoggle .icon{margin-right:10px;vertical-align:middle}.topicselector-container .topicselector-warnings{margin-top:15px}.topicselector-container .topicselector-warnings .topicselector-warnings-warning{display:flex;align-items:center;font-size:12pt}.topicselector-container .topicselector-warnings .topicselector-warnings-warning .icon{color:#1f3f8f;font-size:16px;cursor:pointer;margin-right:10px}.topicselector-container .topicselector-topics{margin-top:30px}.topicselector-container .topicselector-topics .topic-parent{margin-bottom:60px;padding-left:30px}.topicselector-container .topicselector-topics .topic-parent .name{display:flex;align-items:baseline;gap:15px}.topicselector-container .topicselector-topics .topic-parent .name h4{font-weight:700!important;font-family:StevieSans,sans-serif!important;margin:0}.topicselector-container .topicselector-topics .topic-parent .name .helpers{font-size:12pt}.topicselector-container .topicselector-topics .topic-parent .name .helpers a{font-family:StevieSans,sans-serif}.topicselector-container .topicselector-topics .topic-parent .name .topic-child-moreinformation{margin-left:auto;cursor:pointer}.topicselector-container .topicselector-topics .topic-parent .name .topic-child-moreinformation .icon{vertical-align:middle}.topicselector-container .topicselector-topics .topic-parent .topic-child{display:flex;align-items:baseline;gap:15px;margin-bottom:15px;margin-top:15px;cursor:pointer}.topicselector-container .topicselector-topics .topic-parent .topic-child .topic-child-description{font-family:StevieSans,sans-serif;font-size:16px;font-weight:500}.topicselector-container .topicselector-topics .topic-parent .topic-child .topic-child-description .tags{gap:5px;margin-top:5px;display:flex}.topicselector-container .topicselector-topics .topic-parent .topic-child .topic-child-description .tags .tags-tag{padding:4px 8px;border-radius:16px;font-weight:600;font-size:11px;white-space:pre}.topicselector-container .topicselector-topics .topic-parent .topic-child .topic-child-description .tags .tags-tag.recommended{background:#2f2f2f;color:#fff}.topicselector-container .topicselector-topics .topic-parent .topic-child .topic-child-description .tags .tags-tag.stakeholder{background:#fff73f}.topicselector-container .topicselector-topics .topic-parent .topic-child .topic-child-description .tags .tags-tag.teammember{background:#1f3f8f;color:#fff}.topicselector-container .topicselector-topics .topic-parent .topic-child .topic-child-description .tags .tags-tag.supporter,.topicselector-container .topicselector-topics .topic-parent .topic-child .topic-child-description .tags .tags-tag.management{background:#ef4f9f}.topicselector-container .topicselector-topics .topic-parent .topic-child .topic-child-moreinformation{margin-left:auto}.topicselector-container .topicselector-topics .topic-parent .topic-child .topic-child-moreinformation .icon{vertical-align:middle;cursor:pointer}\n"] }]
|
|
190
205
|
}], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i2.MatDialog }], propDecorators: { topics: [{
|
|
191
206
|
type: Input
|
|
192
207
|
}], disabled: [{
|
|
@@ -202,4 +217,4 @@ export class TopicSelectorDto {
|
|
|
202
217
|
this.topicKeys = topicKeys ?? [];
|
|
203
218
|
}
|
|
204
219
|
}
|
|
205
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9waWMtc2VsZWN0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNjcnVtdGVhbXN1cnZleS10b29scy9zcmMvbGliL2NvbXBvbmVudHMvdG9waWNzZWxlY3Rvci90b3BpYy1zZWxlY3Rvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2NydW10ZWFtc3VydmV5LXRvb2xzL3NyYy9saWIvY29tcG9uZW50cy90b3BpY3NlbGVjdG9yL3RvcGljLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQWlFLFdBQVcsRUFBYSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzFJLE9BQU8sRUFBYSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN0RSxPQUFPLEVBQTRDLFdBQVcsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLDJFQUEyRSxDQUFDOzs7Ozs7Ozs7O0FBVTdILE1BQU0sT0FBTyxzQkFBc0I7SUFrQmhDLFlBQW9CLFdBQXdCLEVBQVUsTUFBaUI7UUFBbkQsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBaEJoRSxhQUFRLEdBQWEsRUFBRSxDQUFBO1FBQ3RCLG1CQUFjLEdBQWEsRUFBRSxDQUFDO1FBQy9CLDBCQUFxQixHQUFXLENBQUMsQ0FBQztRQUNsQyx5QkFBb0IsR0FBVyxDQUFDLENBQUM7UUFDakMsMEJBQXFCLEdBQVcsQ0FBQyxDQUFDO1FBQ2xDLHdCQUFtQixHQUFXLENBQUMsQ0FBQztRQUNoQyx3QkFBbUIsR0FBVyxDQUFDLENBQUM7UUFDaEMseUJB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SSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFFbkIsc0dBQXNHO1FBQ3RHLElBQUksZUFBZSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsSUFBSSxJQUFJLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDN0csSUFBSSxjQUFjLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLEdBQUcsSUFBSSxPQUFPLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRTVILElBQUksQ0FBQyxjQUFjLEdBQUcsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLEdBQUcsSUFBSSxPQUFPLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2hHLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLEdBQUcsSUFBSSxPQUFPLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2hMLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLEdBQUcsSUFBSSxPQUFPLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2xMLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLEdBQUcsSUFBSSxPQUFPLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRS9LLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLEdBQUcsSUFBSSxPQUFPLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ3hMLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLEdBQUcsSUFBSSxPQUFPLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQzFMLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLEdBQUcsSUFBSSxPQUFPLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBRXZMLElBQUksSUFBSSxDQUFDLG1CQUFtQixHQUFHLENBQUMsRUFBRSxDQUFDO1lBQUMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLENBQUMsQ0FBQztRQUFDLENBQUM7UUFDbkUsSUFBSSxJQUFJLENBQUMsb0JBQW9CLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFBQyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsQ0FBQyxDQUFDO1FBQUMsQ0FBQztRQUNyRSxJQUFJLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUFDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxDQUFDLENBQUM7UUFBQyxDQUFDO1FBRWpFLElBQUksSUFBSSxDQUFDLHFCQUFxQixJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ25DLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLHlEQUF5RCxDQUFDLENBQUM7UUFDakYsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLG1CQUFtQixJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLG9FQUFvRSxDQUFDLENBQUM7UUFDNUYsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLG9CQUFvQixJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLHlEQUF5RCxDQUFDLENBQUM7UUFDakYsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksRUFBRSxDQUFDO1lBQ3JDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLG9FQUFvRSxDQUFDLENBQUM7UUFDNUYsQ0FBQztRQUVELElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQztJQUNyRSxDQUFDOytHQXpMUyxzQkFBc0I7bUdBQXRCLHNCQUFzQix5SUFKckI7WUFDUixFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsc0JBQXNCLENBQUMsR0FBRztTQUNyRywwQkNaSixpMk1BaUdBOzs0RkRuRmEsc0JBQXNCO2tCQVJsQyxTQUFTOytCQUNHLGdCQUFnQixhQUdmO3dCQUNSLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsdUJBQXVCLENBQUMsR0FBRztxQkFDckc7d0dBY1EsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7O0FBNktULE1BQU0sT0FBTyxnQkFBZ0I7SUFDMUIsWUFBWSxTQUFpQixFQUFFLFNBQW1CO1FBQy9DLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzNCLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxJQUFJLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0NBSUgiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3JtQXJyYXksIEZvcm1CdWlsZGVyLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdERpYWxvZywgTWF0RGlhbG9nQ29uZmlnIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IEZhY3RvclN0cnVjdHVyZUR0bywgUXVlc3Rpb25uYWlyZVR5cGVEdG8sIFNlZ21lbnRFbnVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL21vZGVsU3RydWN0dXJlRHRvJztcbmltcG9ydCB7IERpYWxvZ0ZhY3RvckluZm9ybWF0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZGlhbG9ncy9kaWFsb2ctZmFjdG9yaW5mb3JtYXRpb24vZGlhbG9nLWZhY3RvcmluZm9ybWF0aW9uLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgc2VsZWN0b3I6ICd0b3BpYy1zZWxlY3RvcicsXG4gICB0ZW1wbGF0ZVVybDogJy4vdG9waWMtc2VsZWN0b3IuY29tcG9uZW50Lmh0bWwnLFxuICAgc3R5bGVVcmxzOiBbJy4vdG9waWMtc2VsZWN0b3IuY29tcG9uZW50Lmxlc3MnXSxcbiAgIHByb3ZpZGVyczogW1xuICAgICAgeyBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUiwgbXVsdGk6IHRydWUsIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFRvcGljU2VsZWN0b3JDb21wb25lbnQpLCB9XG4gICBdXG59KVxuZXhwb3J0IGNsYXNzIFRvcGljU2VsZWN0b3JDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gICBwdWJsaWMgZm9ybTogRm9ybUdyb3VwO1xuICAgcHVibGljIHdhcm5pbmdzOiBzdHJpbmdbXSA9IFtdXG4gICBwcml2YXRlIHNlbGVjdGVkVG9waWNzOiBzdHJpbmdbXSA9IFtdO1xuICAgcHVibGljIHF1ZXN0aW9ubmFpcmVBY2N1cmFjeTogbnVtYmVyID0gMDtcbiAgIHB1YmxpYyBxdWVzdGlvbnNUZWFtTWVtYmVyczogbnVtYmVyID0gMDtcbiAgIHB1YmxpYyBxdWVzdGlvbnNTdGFrZWhvbGRlcnM6IG51bWJlciA9IDA7XG4gICBwdWJsaWMgcXVlc3Rpb25zU3VwcG9ydGVyczogbnVtYmVyID0gMDtcbiAgIHB1YmxpYyBkdXJhdGlvblRlYW1NZW1iZXJzOiBudW1iZXIgPSAwO1xuICAgcHVibGljIGR1cmF0aW9uU3Rha2Vob2xkZXJzOiBudW1iZXIgPSAwO1xuICAgcHVibGljIGR1cmF0aW9uU3VwcG9ydGVyczogbnVtYmVyID0gMDtcbiAgIHB1YmxpYyBxdWVzdGlvbnNUb3RhbDogbnVtYmVyID0gMDtcbiAgIEBJbnB1dCgpIHRvcGljczogRmFjdG9yU3RydWN0dXJlRHRvW107XG4gICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuICAgQElucHV0KCkgdG9waWNLZXlzOiBzdHJpbmdbXSA9IFtdO1xuICAgQElucHV0KCkgcHJlc2V0czogUXVlc3Rpb25uYWlyZVR5cGVEdG9bXSA9IFtdO1xuICAgcHVibGljIFNlZ21lbnRFbnVtID0gU2VnbWVudEVudW07XG5cbiAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLCBwcml2YXRlIGRpYWxvZzogTWF0RGlhbG9nKSB7XG4gICB9XG5cbiAgIG5nT25Jbml0KCkge1xuICAgICAgdGhpcy5jcmVhdGVGb3JtKCk7XG4gICAgICB0aGlzLmZvcm0udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICB2YXIgb3V0cHV0ID0gdGhpcy5nZXRWYWx1ZSgpO1xuICAgICAgICAgdGhpcy5vbkNoYW5nZShvdXRwdXQpO1xuICAgICAgICAgdGhpcy51cGRhdGVNZXRhRGF0YShvdXRwdXQpO1xuICAgICAgfSk7XG4gICB9XG5cbiAgIHdyaXRlVmFsdWUoZHRvOiBUb3BpY1NlbGVjdG9yRHRvKTogdm9pZCB7XG4gICAgICBpZiAoIWR0bykgeyByZXR1cm47IH1cblxuICAgICAgdmFyIHF1ZXN0aW9ubmFpcmUgPSB0aGlzLnByZXNldHMuZmluZChwID0+IHAucHVibGljS2V5ID09IGR0by5wcmVzZXRLZXkpO1xuXG4gICAgICBpZiAoIXF1ZXN0aW9ubmFpcmUpIHtcbiAgICAgICAgIHF1ZXN0aW9ubmFpcmUgPSB0aGlzLnByZXNldHNbMF07XG4gICAgICAgICBkdG8udG9waWNLZXlzID0gcXVlc3Rpb25uYWlyZS5zY2FsZUtleXM7XG4gICAgICAgICBkdG8ucHJlc2V0S2V5ID0gcXVlc3Rpb25uYWlyZS5wdWJsaWNLZXk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuc2VsZWN0ZWRUb3BpY3MgPSBkdG8udG9waWNLZXlzID8/IFtdO1xuICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzLnByZXNldC5zZXRWYWx1ZShkdG8ucHJlc2V0S2V5KTtcblxuICAgICAgdmFyIHRvcGljcyA9IHRoaXMuZm9ybS5jb250cm9scy50b3BpY3MgYXMgRm9ybUdyb3VwO1xuICAgICAgT2JqZWN0LmtleXModG9waWNzLmNvbnRyb2xzKVxuICAgICAgICAgLmZvckVhY2gocCA9PiB0b3BpY3MuZ2V0KHApLnNldFZhbHVlKHRoaXMuc2VsZWN0ZWRUb3BpY3MuaW5jbHVkZXMocCksIHsgZW1pdEV2ZW50OiBmYWxzZSB9KSk7XG4gICAgICAgICBcbiAgICAgIHRoaXMudXBkYXRlTWV0YURhdGEoZHRvKTtcbiAgIH1cblxuICAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gICB9XG5cbiAgIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgIH1cblxuICAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgIHRoaXMub25Ub3VjaCA9IGZuO1xuICAgfVxuXG4gICBvbkNoYW5nZTogYW55ID0gKCkgPT4geyB9O1xuICAgb25Ub3VjaDogYW55ID0gKCkgPT4geyB9O1xuXG4gICBwdWJsaWMgc2VsZWN0UHJlc2V0KCkge1xuICAgICAgdmFyIHF1ZXN0aW9ubmFpcmUgPSB0aGlzLnByZXNldHMuZmluZChwID0+IHAucHVibGljS2V5ID09IHRoaXMuZm9ybS5jb250cm9scy5wcmVzZXQudmFsdWUpO1xuICAgICAgaWYgKCFxdWVzdGlvbm5haXJlKSB7IHJldHVybjsgfVxuXG4gICAgICB2YXIgdG9waWNLZXlzID0gcXVlc3Rpb25uYWlyZS5zY2FsZUtleXM7XG4gICAgICBpZiAodG9waWNLZXlzLmxlbmd0aCA9PSAwKSB7IHRvcGljS2V5cyA9IHRoaXMucHJlc2V0c1swXS5zY2FsZUtleXM7IH1cblxuICAgICAgdGhpcy5zZWxlY3RlZFRvcGljcyA9IHRvcGljS2V5cyA/PyBbXTtcbiAgICAgIHZhciB0b3BpY3MgPSB0aGlzLmZvcm0uY29udHJvbHMudG9waWNzIGFzIEZvcm1Hcm91cDtcbiAgICAgIE9iamVjdC5rZXlzKHRvcGljcy5jb250cm9scylcbiAgICAgICAgIC5mb3JFYWNoKHAgPT4gdG9waWNzLmdldChwKS5zZXRWYWx1ZSh0aGlzLnNlbGVjdGVkVG9waWNzLmluY2x1ZGVzKHApLCB7IGVtaXRFdmVudDogZmFsc2UgfSkpO1xuXG4gICAgICB2YXIgZHRvID0gbmV3IFRvcGljU2VsZWN0b3JEdG8ocXVlc3Rpb25uYWlyZS5wdWJsaWNLZXksIHRvcGljS2V5cyk7XG4gICAgICB0aGlzLnVwZGF0ZU1ldGFEYXRhKGR0byk7XG4gICAgICB0aGlzLm9uQ2hhbmdlKGR0byk7XG4gICB9XG5cbiAgIHB1YmxpYyBnZXRWYWx1ZSgpOiBUb3BpY1NlbGVjdG9yRHRvIHtcbiAgICAgIHZhciB0b3BpY3MgPSB0aGlzLmZvcm0uY29udHJvbHMudG9waWNzIGFzIEZvcm1Hcm91cDtcbiAgICAgIHZhciBzZWxlY3RlZCA9IE9iamVjdC5rZXlzKHRvcGljcy5jb250cm9scylcbiAgICAgICAgIC5maWx0ZXIocCA9PiB0b3BpY3MuZ2V0KHApLnZhbHVlID09IHRydWUpXG4gICAgICAgICAubWFwKHAgPT4gcCk7XG5cbiAgICAgIHZhciBwcmVzZXRLZXkgPSB0aGlzLmZvcm0uY29udHJvbHMucHJlc2V0LnZhbHVlO1xuICAgICAgcmV0dXJuIG5ldyBUb3BpY1NlbGVjdG9yRHRvKHByZXNldEtleSwgc2VsZWN0ZWQpO1xuICAgfVxuXG4gICBwdWJsaWMgb3BlbkZhY3RvckluZm9ybWF0aW9uKHRvcGljS2V5OiBzdHJpbmcsICRldmVudDogRXZlbnQpIHtcbiAgICAgIHZhciB0b3BpYyA9IHRoaXMudG9waWNzLmZpbmQocCA9PiBwLnB1YmxpY0tleSA9PSB0b3BpY0tleSk7XG4gICAgICBpZiAoIXRvcGljKSB7IHJldHVybjsgfVxuXG4gICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgY29uc3QgZGlhbG9nQ29uZmlnID0gbmV3IE1hdERpYWxvZ0NvbmZpZygpO1xuICAgICAgZGlhbG9nQ29uZmlnLnBhbmVsQ2xhc3MgPSBbJ2RpYWxvZycsICdmYWN0b3InXTtcbiAgICAgIGRpYWxvZ0NvbmZpZy5kYXRhID0gdG9waWM7XG4gICAgICBkaWFsb2dDb25maWcuZW50ZXJBbmltYXRpb25EdXJhdGlvbiA9IDA7XG4gICAgICBkaWFsb2dDb25maWcuZXhpdEFuaW1hdGlvbkR1cmF0aW9uID0gMDtcbiAgICAgIHRoaXMuZGlhbG9nLm9wZW4oRGlhbG9nRmFjdG9ySW5mb3JtYXRpb25Db21wb25lbnQsIGRpYWxvZ0NvbmZpZyk7XG4gICB9XG5cbiAgIHB1YmxpYyBoYXNTZWdtZW50UXVlc3Rpb25zKGZhY3RvcjogRmFjdG9yU3RydWN0dXJlRHRvLCBzZWdtZW50OiBTZWdtZW50RW51bSwgdXNlT3duUXVlc3Rpb25Db3VudDogYm9vbGVhbik6IGJvb2xlYW4ge1xuICAgICAgaWYgKHVzZU93blF1ZXN0aW9uQ291bnQpXG4gICAgICB7XG4gICAgICAgICByZXR1cm4gZmFjdG9yLnNlZ21lbnRzLmZpbmQocCA9PiBwLnNlZ21lbnQgPT0gc2VnbWVudC50b1N0cmluZygpKS5vd25RdWVzdGlvbkNvdW50ID4gMCA/PyBmYWxzZTtcbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICAgcmV0dXJuIGZhY3Rvci5zZWdtZW50cy5maW5kKHAgPT4gcC5zZWdtZW50ID09IHNlZ21lbnQudG9TdHJpbmcoKSkucXVlc3Rpb25Db3VudCA+IDAgPz8gZmFsc2U7XG4gICAgICB9XG4gICB9XG4gICBcbiAgIHB1YmxpYyBnZXRDb3JlRmFjdG9ycygpIHtcbiAgICAgIHJldHVybiB0aGlzLnRvcGljcy5maWx0ZXIocCA9PiBwLnBhcmVudEtleSA9PSBudWxsKTtcbiAgIH1cblxuICAgcHVibGljIGdldFN1YkZhY3RvcnMocGFyZW50S2V5OiBzdHJpbmcpIHtcbiAgICAgIHJldHVybiB0aGlzLnRvcGljcy5maWx0ZXIocCA9PiBwLnBhcmVudEtleSA9PSBwYXJlbnRLZXkpO1xuICAgfVxuXG4gICBwdWJsaWMgc2VsZWN0QWxsKHRvcGljOiBGYWN0b3JTdHJ1Y3R1cmVEdG8sICRldmVudDogRXZlbnQpIHtcbiAgICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdmFyIHRvcGljcyA9IHRoaXMuZm9ybS5jb250cm9scy50b3BpY3MgYXMgRm9ybUdyb3VwO1xuICAgICAgdGhpcy50b3BpY3NcbiAgICAgICAgIC5maWx0ZXIocCA9PiBwLnBhcmVudEtleSA9PSB0b3BpYy5wdWJsaWNLZXkgfHwgKHAucHVibGljS2V5ID09IHRvcGljLnB1YmxpY0tleSAmJiBwLm93blF1ZXN0aW9uQ291bnQgPiAwKSlcbiAgICAgICAgIC5mb3JFYWNoKHAgPT4gdG9waWNzLmdldChwLnB1YmxpY0tleSkuc2V0VmFsdWUodHJ1ZSkpXG4gICB9XG5cbiAgIHB1YmxpYyBzZWxlY3ROb25lKHRvcGljOiBGYWN0b3JTdHJ1Y3R1cmVEdG8sICRldmVudDogRXZlbnQpIHtcbiAgICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICB2YXIgdG9waWNzID0gdGhpcy5mb3JtLmNvbnRyb2xzLnRvcGljcyBhcyBGb3JtR3JvdXA7XG4gICAgICB0aGlzLnRvcGljc1xuICAgICAgICAgLmZpbHRlcihwID0+IHAucGFyZW50S2V5ID09IHRvcGljLnB1YmxpY0tleSB8fCAocC5wdWJsaWNLZXkgPT0gdG9waWMucHVibGljS2V5ICYmIHAub3duUXVlc3Rpb25Db3VudCA+IDApKVxuICAgICAgICAgLmZvckVhY2gocCA9PiB0b3BpY3MuZ2V0KHAucHVibGljS2V5KS5zZXRWYWx1ZShmYWxzZSkpXG4gICB9XG4gICBcbiAgIHByaXZhdGUgY3JlYXRlRm9ybSgpIHtcbiAgICAgIHRoaXMuZm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgICAgcHJlc2V0OiBbbnVsbF0sXG4gICAgICAgICB0b3BpY0tleXM6IFtbXV0sXG4gICAgICAgICB0b3BpY3M6IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoW10pXG4gICAgICB9KTtcblxuICAgICAgdGhpcy50b3BpY3MuZmlsdGVyKHAgPT4gcC5wYXJlbnRLZXkgIT0gbnVsbCB8fCAocC5wYXJlbnRLZXkgPT0gbnVsbCAmJiBwLm93blF1ZXN0aW9uQ291bnQgPiAwKSlcbiAgICAgICAgIC5mb3JFYWNoKHAgPT4gKHRoaXMuZm9ybS5jb250cm9scy50b3BpY3MgYXMgRm9ybUdyb3VwKS5hZGRDb250cm9sKHAucHVibGljS2V5LCBuZXcgRm9ybUNvbnRyb2woZmFsc2UpLCB7IGVtaXRFdmVudDogZmFsc2UgfSkpXG4gICB9XG5cbiAgIHByaXZhdGUgdXBkYXRlTWV0YURhdGEob3V0cHV0OiBUb3BpY1NlbGVjdG9yRHRvKSB7XG4gICAgICB0aGlzLndhcm5pbmdzID0gW107XG5cbiAgICAgIC8vIG9ubHkgd29yayB3aXRoIGxvd2VyLWxldmVsIGZhY3RvcnMsIGFzIGhpZ2hlci1sZXZlbCBjb250YWluIGFnZ3JlZ2F0ZWQgaGlnaGVyLWxldmVsIHF1ZXN0aW9uIGNvdW50c1xuICAgICAgdmFyIHNjYWxlc1RvSW5jbHVkZSA9IHRoaXMudG9waWNzLmZpbHRlcihwID0+IHAucGFyZW50S2V5ICE9IG51bGwgJiYgb3V0cHV0LnRvcGljS2V5cy5pbmNsdWRlcyhwLnB1YmxpY0tleSkpO1xuICAgICAgdmFyIHRvdGFsUXVlc3Rpb25zID0gdGhpcy50b3BpY3MuZmlsdGVyKHAgPT4gcC5wYXJlbnRLZXkgIT0gbnVsbCkucmVkdWNlKChzdW0sIGN1cnJlbnQpID0+IHN1bSArPSBjdXJyZW50LnF1ZXN0aW9uQ291bnQsIDApO1xuXG4gICAgICB0aGlzLnF1ZXN0aW9uc1RvdGFsID0gc2NhbGVzVG9JbmNsdWRlLnJlZHVjZSgoc3VtLCBjdXJyZW50KSA9PiBzdW0gKz0gY3VycmVudC5xdWVzdGlvbkNvdW50LCAwKTtcbiAgICAgIHRoaXMucXVlc3Rpb25zVGVhbU1lbWJlcnMgPSBzY2FsZXNUb0luY2x1ZGUuZmxhdE1hcChwID0+IHAuc2VnbWVudHMpLmZpbHRlcihwID0+IHAuc2VnbWVudCA9PSBTZWdtZW50RW51bS5UZWFtTWVtYmVyKS5yZWR1Y2UoKHN1bSwgY3VycmVudCkgPT4gc3VtICs9IGN1cnJlbnQucXVlc3Rpb25Db3VudCwgMCk7XG4gICAgICB0aGlzLnF1ZXN0aW9uc1N0YWtlaG9sZGVycyA9IHNjYWxlc1RvSW5jbHVkZS5mbGF0TWFwKHAgPT4gcC5zZWdtZW50cykuZmlsdGVyKHAgPT4gcC5zZWdtZW50ID09IFNlZ21lbnRFbnVtLlN0YWtlaG9sZGVyKS5yZWR1Y2UoKHN1bSwgY3VycmVudCkgPT4gc3VtICs9IGN1cnJlbnQucXVlc3Rpb25Db3VudCwgMCk7XG4gICAgICB0aGlzLnF1ZXN0aW9uc1N1cHBvcnRlcnMgPSBzY2FsZXNUb0luY2x1ZGUuZmxhdE1hcChwID0+IHAuc2VnbWVudHMpLmZpbHRlcihwID0+IHAuc2VnbWVudCA9PSBTZWdtZW50RW51bS5NYW5hZ2VtZW50KS5yZWR1Y2UoKHN1bSwgY3VycmVudCkgPT4gc3VtICs9IGN1cnJlbnQucXVlc3Rpb25Db3VudCwgMCk7XG5cbiAgICAgIHRoaXMuZHVyYXRpb25UZWFtTWVtYmVycyA9IHNjYWxlc1RvSW5jbHVkZS5mbGF0TWFwKHAgPT4gcC5zZWdtZW50cykuZmlsdGVyKHAgPT4gcC5zZWdtZW50ID09IFNlZ21lbnRFbnVtLlRlYW1NZW1iZXIpLnJlZHVjZSgoc3VtLCBjdXJyZW50KSA9PiBzdW0gKz0gY3VycmVudC5kdXJhdGlvbkluU2Vjb25kcywgMCkgLyA2MDtcbiAgICAgIHRoaXMuZHVyYXRpb25TdGFrZWhvbGRlcnMgPSBzY2FsZXNUb0luY2x1ZGUuZmxhdE1hcChwID0+IHAuc2VnbWVudHMpLmZpbHRlcihwID0+IHAuc2VnbWVudCA9PSBTZWdtZW50RW51bS5TdGFrZWhvbGRlcikucmVkdWNlKChzdW0sIGN1cnJlbnQpID0+IHN1bSArPSBjdXJyZW50LmR1cmF0aW9uSW5TZWNvbmRzLCAwKSAvIDYwO1xuICAgICAgdGhpcy5kdXJhdGlvblN1cHBvcnRlcnMgPSBzY2FsZXNUb0luY2x1ZGUuZmxhdE1hcChwID0+IHAuc2VnbWVudHMpLmZpbHRlcihwID0+IHAuc2VnbWVudCA9PSBTZWdtZW50RW51bS5NYW5hZ2VtZW50KS5yZWR1Y2UoKHN1bSwgY3VycmVudCkgPT4gc3VtICs9IGN1cnJlbnQuZHVyYXRpb25JblNlY29uZHMsIDApIC8gNjA7XG5cbiAgICAgIGlmICh0aGlzLmR1cmF0aW9uVGVhbU1lbWJlcnMgPCAxKSB7IHRoaXMuZHVyYXRpb25UZWFtTWVtYmVycyA9IDE7IH1cbiAgICAgIGlmICh0aGlzLmR1cmF0aW9uU3Rha2Vob2xkZXJzIDwgMSkgeyB0aGlzLmR1cmF0aW9uU3Rha2Vob2xkZXJzID0gMTsgfVxuICAgICAgaWYgKHRoaXMuZHVyYXRpb25TdXBwb3J0ZXJzIDwgMSkgeyB0aGlzLmR1cmF0aW9uU3VwcG9ydGVycyA9IDE7IH1cblxuICAgICAgaWYgKHRoaXMucXVlc3Rpb25zU3Rha2Vob2xkZXJzID09IDApIHtcbiAgICAgICAgIHRoaXMud2FybmluZ3MucHVzaChcIlRoZSBzZWxlY3Rpb24gZG9lcyBub3QgaW5jbHVkZSB0b3BpY3MgZm9yIHN0YWtlaG9sZGVycy5cIik7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5xdWVzdGlvbnNTdXBwb3J0ZXJzID09IDApIHtcbiAgICAgICAgIHRoaXMud2FybmluZ3MucHVzaChcIlRoZSBzZWxlY3Rpb24gZG9lcyBub3QgaW5jbHVkZSB0b3BpY3MgZm9yIHN1cHBvcnRlcnMgLyBtYW5hZ2VtZW50LlwiKTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnF1ZXN0aW9uc1RlYW1NZW1iZXJzID09IDApIHtcbiAgICAgICAgIHRoaXMud2FybmluZ3MucHVzaChcIlRoZSBzZWxlY3Rpb24gZG9lcyBub3QgaW5jbHVkZSB0b3BpY3MgZm9yIHRlYW0gbWVtYmVycy5cIik7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5xdWVzdGlvbm5haXJlQWNjdXJhY3kgPCAwLjI1KSB7XG4gICAgICAgICB0aGlzLndhcm5pbmdzLnB1c2goXCJUaGUgc2VsZWN0aW9uIG1lYXN1cmVzIGZldyB0b3BpY3MsIHNvIGl0cyBvdmVyYWxsIGFjY3VyYWN5IGlzIGxvdy5cIik7XG4gICAgICB9XG5cbiAgICAgIHRoaXMucXVlc3Rpb25uYWlyZUFjY3VyYWN5ID0gdGhpcy5xdWVzdGlvbnNUb3RhbCAvIHRvdGFsUXVlc3Rpb25zO1xuICAgfVxufVxuXG5leHBvcnQgY2xhc3MgVG9waWNTZWxlY3RvckR0byB7XG4gICBjb25zdHJ1Y3RvcihwcmVzZXRLZXk6IHN0cmluZywgdG9waWNLZXlzOiBzdHJpbmdbXSkge1xuICAgICAgdGhpcy5wcmVzZXRLZXkgPSBwcmVzZXRLZXk7XG4gICAgICB0aGlzLnRvcGljS2V5cyA9IHRvcGljS2V5cyA/PyBbXTtcbiAgIH1cblxuICAgcHJlc2V0S2V5OiBzdHJpbmc7XG4gICB0b3BpY0tleXM6IHN0cmluZ1tdO1xufVxuIiwiPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCI+XG4gICA8ZGl2IGNsYXNzPVwic2NhbGVzZWxlY3Rvci1jb250YWluZXJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzY2FsZXNlbGVjdG9yLW1ldGFkYXRhXCI+XG4gICAgICAgICA8ZGl2IGNsYXNzPVwicXVlc3Rpb25uYWlyZS1wcmVzZXRcIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cInF1ZXN0aW9ubmFpcmUtcHJlc2V0LXNlbGVjdFwiIGFwcGVhcmFuY2U9XCJmaWxsXCI+XG4gICAgICAgICAgICAgICA8bWF0LWxhYmVsPlNlbGVjdCBwcmVkZWZpbmVkIHF1ZXN0aW9ubmFpcmU8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGlkPVwicXVlc3Rpb24tcHJlc2V0XCIgZm9ybUNvbnRyb2xOYW1lPVwicHJlc2V0XCIgKHNlbGVjdGlvbkNoYW5nZSk9XCJzZWxlY3RQcmVzZXQoKVwiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cInR5cGUucHVibGljS2V5XCIgKm5nRm9yPVwibGV0IHR5cGUgb2YgcHJlc2V0c1wiIGNsYXNzPVwic2VsZWN0LW9wdGlvblwiPnt7dHlwZS5uYW1lfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgPC9kaXY+XG4gICAgICAgICA8ZGl2IGNsYXNzPVwicXVlc3Rpb25uYWlyZS1hY2N1cmFjeVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInF1ZXN0aW9ubmFpcmUtYnJlYWtkb3duLWxhYmVsXCI+QWNjdXJhY3k8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJxdWVzdGlvbm5haXJlLWJyZWFrZG93bi1iYXItaG9sZGVyXCI+XG4gICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicXVlc3Rpb25uYWlyZS1hY2N1cmFjeS1iYXJcIiBbbmdDbGFzc109XCJ7J2xvdyc6IHF1ZXN0aW9ubmFpcmVBY2N1cmFjeSA8IDAuMjUsICdtb2RlcmF0ZScgOiBxdWVzdGlvbm5haXJlQWNjdXJhY3kgPCAwLjUgJiYgcXVlc3Rpb25uYWlyZUFjY3VyYWN5ID49IDAuMjV9XCIgW25nU3R5bGVdPVwieyd3aWR0aCc6IChxdWVzdGlvbm5haXJlQWNjdXJhY3kgKiAxMDApICsgJyUnIH1cIj57e3F1ZXN0aW9ubmFpcmVBY2N1cmFjeSAqIDEwMCB8IG51bWJlcjonMS4wLTAnfX0lPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgIDwvZGl2PlxuICAgICAgICAgPGRpdiBjbGFzcz1cInF1ZXN0aW9ubmFpcmUtc2VnbWVudHNcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJxdWVzdGlvbm5haXJlLXNlZ21lbnRzLWxhYmVsXCI+VGltZSBpbnZlc3RtZW50PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicXVlc3Rpb25uYWlyZS1icmVha2Rvd25zXCI+XG4gICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicXVlc3Rpb25uYWlyZS1icmVha2Rvd25cIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJxdWVzdGlvbm5haXJlLWJyZWFrZG93bi1sYWJlbFwiPlRlYW0gbWVtYmVyczwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByb2dyZXNzYmFyIHByb2dyZXNzYmFyLXBvc2l0aXZlIHByb2dyZXNzYmFyLXRlYW1tZW1iZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcm9ncmVzc2Jhci1iYXJcIiAqbmdJZj1cInF1ZXN0aW9uc1RlYW1NZW1iZXJzID4gMFwiIFtzdHlsZS53aWR0aF09XCIoKHF1ZXN0aW9uc1RlYW1NZW1iZXJzIC8gcXVlc3Rpb25zVG90YWwpICogMTAwKSArICclJ1wiPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByb2dyZXNzYmFyLXNjb3JlXCI+e3tkdXJhdGlvblRlYW1NZW1iZXJzIHwgbnVtYmVyOicxLjAtMCd9fSBtaW48L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicXVlc3Rpb25uYWlyZS1icmVha2Rvd25cIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJxdWVzdGlvbm5haXJlLWJyZWFrZG93bi1sYWJlbFwiPlN0YWtlaG9sZGVyczwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByb2dyZXNzYmFyIHByb2dyZXNzYmFyLXBvc2l0aXZlIHByb2dyZXNzYmFyLXN0YWtlaG9sZGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJvZ3Jlc3NiYXItYmFyXCIgKm5nSWY9XCJxdWVzdGlvbnNTdGFrZWhvbGRlcnMgPiAwXCIgW3N0eWxlLndpZHRoXT1cIigocXVlc3Rpb25zU3Rha2Vob2xkZXJzIC8gcXVlc3Rpb25zVG90YWwpICogMTAwKSArICclJ1wiPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByb2dyZXNzYmFyLXNjb3JlXCI+e3tkdXJhdGlvblN0YWtlaG9sZGVycyB8IG51bWJlcjonMS4wLTAnfX0gbWluPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInF1ZXN0aW9ubmFpcmUtYnJlYWtkb3duXCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicXVlc3Rpb25uYWlyZS1icmVha2Rvd24tbGFiZWxcIj5TdXBwb3J0ZXJzPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJvZ3Jlc3NiYXIgcHJvZ3Jlc3NiYXItcG9zaXRpdmUgcHJvZ3Jlc3NiYXItc3VwcG9ydGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJvZ3Jlc3NiYXItYmFyXCIgKm5nSWY9XCJxdWVzdGlvbnNTdXBwb3J0ZXJzID4gMFwiIFtzdHlsZS53aWR0aF09XCIoKHF1ZXN0aW9uc1N1cHBvcnRlcnMgLyBxdWVzdGlvbnNUb3RhbCkgKiAxMDApICsgJyUnXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJvZ3Jlc3NiYXItc2NvcmVcIj57e2R1cmF0aW9uU3VwcG9ydGVycyB8IG51bWJlcjonMS4wLTAnfX0gbWluPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICA8L2Rpdj5cbiAgICAgICAgIDxkaXYgY2xhc3M9XCJzY2FsZXNlbGVjdG9yLXdhcm5pbmdzXCIgKm5nSWY9XCJ3YXJuaW5ncy5sZW5ndGggPiAwXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2NhbGVzZWxlY3Rvci13YXJuaW5ncy13YXJuaW5nXCIgKm5nRm9yPVwibGV0IHdhcm5pbmcgb2Ygd2FybmluZ3NcIj5cbiAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaWNvbiBwaC1pbmZvLWZpbGxcIj48L3NwYW4+e3t3YXJuaW5nfX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPG5nLWNvbnRhaW5lcj5cbiAgICAgICAgIDxkaXYgY2xhc3M9XCJ0b3BpYy1wYXJlbnRcIiAqbmdGb3I9XCJsZXQgdG9waWMgb2YgZ2V0Q29yZUZhY3RvcnMoKVwiIGZvcm1BcnJheU5hbWU9XCJ0b3BpY3NcIj5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5hbWVcIj5cbiAgICAgICAgICAgICAgIDxoND57e3RvcGljLm5hbWV9fTwvaDQ+XG4gICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVscGVyc1wiPig8YSBocmVmPVwiI1wiIChjbGljayk9XCJzZWxlY3RBbGwodG9waWMsICRldmVudClcIj5hbGw8L2E+IHwgPGEgaHJlZj1cIiNcIiAoY2xpY2spPVwic2VsZWN0Tm9uZSh0b3BpYywgJGV2ZW50KVwiPm5vbmU8L2E+KTwvZGl2PlxuICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRvcGljLWNoaWxkLW1vcmVpbmZvcm1hdGlvblwiPlxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpY29uIHBoLWluZm8tYm9sZFwiIChjbGljayk9XCJvcGVuRmFjdG9ySW5mb3JtYXRpb24odG9waWMucHVibGljS2V5LCAkZXZlbnQpXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInRvcGljLm93blF1ZXN0aW9uQ291bnQgPiAwXCIgY2xhc3M9XCJ0b3BpYy1jaGlsZFwiPlxuICAgICAgICAgICAgICAgPG1hdC1jaGVja2JveCBjbGFzcz1cInRvcGljLWNoaWxkLWNoZWNrXCIgW2Zvcm1Db250cm9sTmFtZV09XCJ0b3BpYy5wdWJsaWNLZXlcIiBbaWRdPVwiJ3RvcGljLScgKyB0b3BpYy5uYW1lIHwgc2x1Z2lmeVwiPjwvbWF0LWNoZWNrYm94PlxuICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRvcGljLWNoaWxkLWRlc2NyaXB0aW9uXCI+XG4gICAgICAgICAgICAgICAgICB7e3RvcGljLm5hbWV9fSAoe3t0b3BpYy5vd25RdWVzdGlvbkNvdW50fX0gcXVlc3Rpb25zKVxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhZ3NcIj5cbiAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWdzLXRhZyByZWNvbW1lbmRlZFwiICpuZ0lmPVwidG9waWMucmVjb21tZW5kZWRcIj5SZWNvbW1lbmRlZDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhZ3MtdGFnIHRlYW1tZW1iZXJcIiAqbmdJZj1cImhhc1NlZ21lbnRRdWVzdGlvbnModG9waWMsIFNlZ21lbnRFbnVtLlRlYW1NZW1iZXIsIHRydWUpXCI+Rm9yIHRlYW0gbWVtYmVyczwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhZ3MtdGFnIHN0YWtlaG9sZGVyXCIgKm5nSWY9XCJoYXNTZWdtZW50UXVlc3Rpb25zKHRvcGljLCBTZWdtZW50RW51bS5TdGFrZWhvbGRlciwgdHJ1ZSlcIj5Gb3Igc3Rha2Vob2xkZXJzPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFncy10YWcgc3VwcG9ydGVyXCIgKm5nSWY9XCJoYXNTZWdtZW50UXVlc3Rpb25zKHRvcGljLCBTZWdtZW50RW51bS5NYW5hZ2VtZW50LCB0cnVlKVwiPkZvciBzdXBwb3J0ZXJzPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRvcGljLWNoaWxkLW1vcmVpbmZvcm1hdGlvblwiPlxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpY29uIHBoLWluZm8tYm9sZFwiIChjbGljayk9XCJvcGVuRmFjdG9ySW5mb3JtYXRpb24odG9waWMucHVibGljS2V5LCAkZXZlbnQpXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cblxuXG4gICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBzdWJUb3BpYyBvZiBnZXRTdWJGYWN0b3JzKHRvcGljLnB1YmxpY0tleSlcIiBjbGFzcz1cInRvcGljLWNoaWxkXCI+XG4gICAgICAgICAgICAgICA8bWF0LWNoZWNrYm94IGNsYXNzPVwidG9waWMtY2hpbGQtY2hlY2tcIiBbZm9ybUNvbnRyb2xOYW1lXT1cInN1YlRvcGljLnB1YmxpY0tleVwiIFtpZF09XCIndG9waWMtJyArIHN1YlRvcGljLm5hbWUgfCBzbHVnaWZ5XCI+PC9tYXQtY2hlY2tib3g+XG4gICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9waWMtY2hpbGQtZGVzY3JpcHRpb25cIj5cbiAgICAgICAgICAgICAgICAgIHt7c3ViVG9waWMubmFtZX19ICh7e3N1YlRvcGljLnF1ZXN0aW9uQ291bnR9fSBxdWVzdGlvbnMpXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFnc1wiPlxuICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhZ3MtdGFnIHJlY29tbWVuZGVkXCIgKm5nSWY9XCJzdWJUb3BpYy5yZWNvbW1lbmRlZFwiPlJlY29tbWVuZGVkPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFncy10YWcgdGVhbW1lbWJlclwiICpuZ0lmPVwiaGFzU2VnbWVudFF1ZXN0aW9ucyhzdWJUb3BpYywgU2VnbWVudEVudW0uVGVhbU1lbWJlciwgZmFsc2UpXCI+Rm9yIHRlYW0gbWVtYmVyczwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhZ3MtdGFnIHN0YWtlaG9sZGVyXCIgKm5nSWY9XCJoYXNTZWdtZW50UXVlc3Rpb25zKHN1YlRvcGljLCBTZWdtZW50RW51bS5TdGFrZWhvbGRlciwgZmFsc2UpXCI+Rm9yIHN0YWtlaG9sZGVyczwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhZ3MtdGFnIHN1cHBvcnRlclwiICpuZ0lmPVwiaGFzU2VnbWVudFF1ZXN0aW9ucyhzdWJUb3BpYywgU2VnbWVudEVudW0uTWFuYWdlbWVudCwgZmFsc2UpXCI+Rm9yIHN1cHBvcnRlcnM8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9waWMtY2hpbGQtbW9yZWluZm9ybWF0aW9uXCI+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImljb24gcGgtaW5mby1ib2xkXCIgKGNsaWNrKT1cIm9wZW5GYWN0b3JJbmZvcm1hdGlvbihzdWJUb3BpYy5wdWJsaWNLZXksICRldmVudClcIj48L3NwYW4+XG4gICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgIDwvZGl2PlxuPC9mb3JtPlxuIl19
|
|
220
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9waWMtc2VsZWN0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNjcnVtdGVhbXN1cnZleS10b29scy9zcmMvbGliL2NvbXBvbmVudHMvdG9waWNzZWxlY3Rvci90b3BpYy1zZWxlY3Rvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2NydW10ZWFtc3VydmV5LXRvb2xzL3NyYy9saWIvY29tcG9uZW50cy90b3BpY3NlbGVjdG9yL3RvcGljLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQWlFLFdBQVcsRUFBYSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzFJLE9BQU8sRUFBYSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN0RSxPQUFPLEVBQTRDLFdBQVcsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLDJFQUEyRSxDQUFDOzs7Ozs7Ozs7O0FBVTdILE1BQU0sT0FBTyxzQkFBc0I7SUFrQmhDLFlBQW9CLFdBQXdCLEVBQVUsTUFBaUI7UUFBbkQsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBaEJoRSxhQUFRLEdBQWEsRUFBRSxDQUFBO1FBQ3RCLG1CQUFjLEdBQWEsRUFBRSxDQUFDO1FBQy9CLDBCQUFxQixHQUFXLENBQUMsQ0FBQztRQUNsQyx5QkFBb0IsR0FBVyxDQUFDLENBQUM7UUFDakMsMEJBQXFCLEdBQVcsQ0FBQyxDQUFDO1FBQ2xDLHdCQUFtQixHQUFXLENBQUMsQ0FBQztRQUNoQyx3QkFBbUIsR0FBVyxDQUFDLENBQUM7UUFDaEMseUJB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SSxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxHQUFHLElBQUksT0FBTyxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUU1SCxJQUFJLENBQUMsY0FBYyxHQUFHLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxHQUFHLElBQUksT0FBTyxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNoRyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxHQUFHLElBQUksT0FBTyxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNoTCxJQUFJLENBQUMscUJBQXFCLEdBQUcsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxHQUFHLElBQUksT0FBTyxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNsTCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxHQUFHLElBQUksT0FBTyxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUUvSyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxHQUFHLElBQUksT0FBTyxDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUN4TCxJQUFJLENBQUMsb0JBQW9CLEdBQUcsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxHQUFHLElBQUksT0FBTyxDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUMxTCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxHQUFHLElBQUksT0FBTyxDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUV2TCxJQUFJLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUFDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxDQUFDLENBQUM7UUFBQyxDQUFDO1FBQ25FLElBQUksSUFBSSxDQUFDLG9CQUFvQixHQUFHLENBQUMsRUFBRSxDQUFDO1lBQUMsSUFBSSxDQUFDLG9CQUFvQixHQUFHLENBQUMsQ0FBQztRQUFDLENBQUM7UUFDckUsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFBQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsQ0FBQyxDQUFDO1FBQUMsQ0FBQztRQUVqRSxJQUFJLElBQUksQ0FBQyxxQkFBcUIsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNuQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyx5REFBeUQsQ0FBQyxDQUFDO1FBQ2pGLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxtQkFBbUIsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNqQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxvRUFBb0UsQ0FBQyxDQUFDO1FBQzVGLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxvQkFBb0IsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNsQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyx5REFBeUQsQ0FBQyxDQUFDO1FBQ2pGLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLEVBQUUsQ0FBQztZQUNyQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxvRUFBb0UsQ0FBQyxDQUFDO1FBQzVGLENBQUM7UUFFRCxJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLGNBQWMsR0FBRyxjQUFjLENBQUM7SUFDckUsQ0FBQzsrR0FsTVMsc0JBQXNCO21HQUF0QixzQkFBc0IseUlBSnJCO1lBQ1IsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHNCQUFzQixDQUFDLEdBQUc7U0FDckcsMEJDWkosa2dPQWlHQTs7NEZEbkZhLHNCQUFzQjtrQkFSbEMsU0FBUzsrQkFDRyxnQkFBZ0IsYUFHZjt3QkFDUixFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHVCQUF1QixDQUFDLEdBQUc7cUJBQ3JHO3dHQWNRLE1BQU07c0JBQWQsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLOztBQXNMVCxNQUFNLE9BQU8sZ0JBQWdCO0lBQzFCLFlBQVksU0FBaUIsRUFBRSxTQUFtQjtRQUMvQyxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUMzQixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsSUFBSSxFQUFFLENBQUM7SUFDcEMsQ0FBQztDQUlIIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgZm9yd2FyZFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBDb250cm9sVmFsdWVBY2Nlc3NvciwgRm9ybUFycmF5LCBGb3JtQnVpbGRlciwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ0NvbmZpZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBGYWN0b3JTdHJ1Y3R1cmVEdG8sIFF1ZXN0aW9ubmFpcmVUeXBlRHRvLCBTZWdtZW50RW51bSB9IGZyb20gJy4uLy4uL21vZGVscy9tb2RlbFN0cnVjdHVyZUR0byc7XG5pbXBvcnQgeyBEaWFsb2dGYWN0b3JJbmZvcm1hdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2RpYWxvZ3MvZGlhbG9nLWZhY3RvcmluZm9ybWF0aW9uL2RpYWxvZy1mYWN0b3JpbmZvcm1hdGlvbi5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgIHNlbGVjdG9yOiAndG9waWMtc2VsZWN0b3InLFxuICAgdGVtcGxhdGVVcmw6ICcuL3RvcGljLXNlbGVjdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgIHN0eWxlVXJsczogWycuL3RvcGljLXNlbGVjdG9yLmNvbXBvbmVudC5sZXNzJ10sXG4gICBwcm92aWRlcnM6IFtcbiAgICAgIHsgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsIG11bHRpOiB0cnVlLCB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUb3BpY1NlbGVjdG9yQ29tcG9uZW50KSwgfVxuICAgXVxufSlcbmV4cG9ydCBjbGFzcyBUb3BpY1NlbGVjdG9yQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICAgcHVibGljIGZvcm06IEZvcm1Hcm91cDtcbiAgIHB1YmxpYyB3YXJuaW5nczogc3RyaW5nW10gPSBbXVxuICAgcHJpdmF0ZSBzZWxlY3RlZFRvcGljczogc3RyaW5nW10gPSBbXTtcbiAgIHB1YmxpYyBxdWVzdGlvbm5haXJlQWNjdXJhY3k6IG51bWJlciA9IDA7XG4gICBwdWJsaWMgcXVlc3Rpb25zVGVhbU1lbWJlcnM6IG51bWJlciA9IDA7XG4gICBwdWJsaWMgcXVlc3Rpb25zU3Rha2Vob2xkZXJzOiBudW1iZXIgPSAwO1xuICAgcHVibGljIHF1ZXN0aW9uc1N1cHBvcnRlcnM6IG51bWJlciA9IDA7XG4gICBwdWJsaWMgZHVyYXRpb25UZWFtTWVtYmVyczogbnVtYmVyID0gMDtcbiAgIHB1YmxpYyBkdXJhdGlvblN0YWtlaG9sZGVyczogbnVtYmVyID0gMDtcbiAgIHB1YmxpYyBkdXJhdGlvblN1cHBvcnRlcnM6IG51bWJlciA9IDA7XG4gICBwdWJsaWMgcXVlc3Rpb25zVG90YWw6IG51bWJlciA9IDA7XG4gICBASW5wdXQoKSB0b3BpY3M6IEZhY3RvclN0cnVjdHVyZUR0b1tdO1xuICAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcbiAgIEBJbnB1dCgpIHRvcGljS2V5czogc3RyaW5nW10gPSBbXTtcbiAgIEBJbnB1dCgpIHByZXNldHM6IFF1ZXN0aW9ubmFpcmVUeXBlRHRvW10gPSBbXTtcbiAgIHB1YmxpYyBTZWdtZW50RW51bSA9IFNlZ21lbnRFbnVtO1xuXG4gICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlciwgcHJpdmF0ZSBkaWFsb2c6IE1hdERpYWxvZykge1xuICAgfVxuXG4gICBuZ09uSW5pdCgpIHtcbiAgICAgIHRoaXMuY3JlYXRlRm9ybSgpO1xuICAgICAgdGhpcy5mb3JtLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgdmFyIG91dHB1dCA9IHRoaXMuZ2V0VmFsdWUoKTtcbiAgICAgICAgIHRoaXMub25DaGFuZ2Uob3V0cHV0KTtcbiAgICAgICAgIHRoaXMudXBkYXRlTWV0YURhdGEob3V0cHV0KTtcbiAgICAgIH0pO1xuICAgfVxuXG4gICBwdWJsaWMgdG9nZ2xlVG9waWMoKSB7XG4gICAgICB0aGlzLmZvcm0uY29udHJvbHMucHJlc2V0LnNldFZhbHVlKFwiY3VzdG9tXCIpO1xuICAgfVxuXG4gICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gICB9XG5cbiAgIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgICB0aGlzLm9uVG91Y2ggPSBmbjtcbiAgIH1cblxuICAgb25DaGFuZ2U6IGFueSA9ICgpID0+IHsgfTtcbiAgIG9uVG91Y2g6IGFueSA9ICgpID0+IHsgfTtcblxuICAgd3JpdGVWYWx1ZShkdG86IFRvcGljU2VsZWN0b3JEdG8pOiB2b2lkIHtcbiAgICAgIGlmICghZHRvKSB7IHJldHVybjsgfVxuXG4gICAgICB2YXIgcXVlc3Rpb25uYWlyZSA9IHRoaXMucHJlc2V0cy5maW5kKHAgPT4gcC5wdWJsaWNLZXkgPT0gZHRvLnByZXNldEtleSk7XG5cbiAgICAgIGlmICghcXVlc3Rpb25uYWlyZSkge1xuICAgICAgICAgcXVlc3Rpb25uYWlyZSA9IHRoaXMucHJlc2V0c1swXTtcbiAgICAgICAgIGR0by50b3BpY0tleXMgPSBxdWVzdGlvbm5haXJlLnNjYWxlS2V5cztcbiAgICAgICAgIGR0by5wcmVzZXRLZXkgPSBxdWVzdGlvbm5haXJlLnB1YmxpY0tleTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5zZWxlY3RlZFRvcGljcyA9IGR0by50b3BpY0tleXMgPz8gW107XG4gICAgICB0aGlzLmZvcm0uY29udHJvbHMucHJlc2V0LnNldFZhbHVlKGR0by5wcmVzZXRLZXkpO1xuICAgICAgaWYgKHF1ZXN0aW9ubmFpcmUucHVibGljS2V5ID09ICdjdXN0b20nKSB7IHRoaXMuZm9ybS5jb250cm9scy5zaG93VG9waWNzLnNldFZhbHVlKHRydWUsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTsgfVxuXG4gICAgICB2YXIgdG9waWNzID0gdGhpcy5mb3JtLmNvbnRyb2xzLnRvcGljcyBhcyBGb3JtR3JvdXA7XG4gICAgICBPYmplY3Qua2V5cyh0b3BpY3MuY29udHJvbHMpXG4gICAgICAgICAuZm9yRWFjaChwID0+IHRvcGljcy5nZXQocCkuc2V0VmFsdWUodGhpcy5zZWxlY3RlZFRvcGljcy5pbmNsdWRlcyhwKSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pKTtcblxuICAgICAgdGhpcy51cGRhdGVNZXRhRGF0YShkdG8pO1xuICAgfVxuXG4gICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICBpZiAoaXNEaXNhYmxlZCkge1xuICAgICAgICAgdGhpcy5mb3JtLmRpc2FibGUoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgICB0aGlzLmZvcm0uZW5hYmxlKCk7XG4gICAgICB9XG4gICB9XG4gICBwdWJsaWMgc2VsZWN0UHJlc2V0KCkge1xuICAgICAgdmFyIHF1ZXN0aW9ubmFpcmUgPSB0aGlzLnByZXNldHMuZmluZChwID0+IHAucHVibGljS2V5ID09IHRoaXMuZm9ybS5jb250cm9scy5wcmVzZXQudmFsdWUpO1xuICAgICAgaWYgKCFxdWVzdGlvbm5haXJlKSB7IHJldHVybjsgfVxuXG4gICAgICB2YXIgdG9waWNLZXlzID0gcXVlc3Rpb25uYWlyZS5zY2FsZUtleXM7XG4gICAgICBpZiAodG9waWNLZXlzLmxlbmd0aCA9PSAwKSB7IHRvcGljS2V5cyA9IHRoaXMucHJlc2V0c1swXS5zY2FsZUtleXM7IH1cblxuICAgICAgdGhpcy5zZWxlY3RlZFRvcGljcyA9IHRvcGljS2V5cyA/PyBbXTtcbiAgICAgIHZhciB0b3BpY3MgPSB0aGlzLmZvcm0uY29udHJvbHMudG9waWNzIGFzIEZvcm1Hcm91cDtcbiAgICAgIE9iamVjdC5rZXlzKHRvcGljcy5jb250cm9scylcbiAgICAgICAgIC5mb3JFYWNoKHAgPT4gdG9waWNzLmdldChwKS5zZXRWYWx1ZSh0aGlzLnNlbGVjdGVkVG9waWNzLmluY2x1ZGVzKHApKSk7XG5cbiAgICAgIGlmIChxdWVzdGlvbm5haXJlLnB1YmxpY0tleSA9PSAnY3VzdG9tJykgeyB0aGlzLmZvcm0uY29udHJvbHMuc2hvd1RvcGljcy5zZXRWYWx1ZSh0cnVlLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7IH1cbiAgICAgIHZhciBkdG8gPSBuZXcgVG9waWNTZWxlY3RvckR0byhxdWVzdGlvbm5haXJlLnB1YmxpY0tleSwgdG9waWNLZXlzKTtcbiAgICAgIHRoaXMudXBkYXRlTWV0YURhdGEoZHRvKTtcbiAgICAgIHRoaXMub25DaGFuZ2UoZHRvKTtcbiAgIH1cblxuICAgcHVibGljIGdldFZhbHVlKCk6IFRvcGljU2VsZWN0b3JEdG8ge1xuICAgICAgdmFyIHRvcGljcyA9IHRoaXMuZm9ybS5jb250cm9scy50b3BpY3MgYXMgRm9ybUdyb3VwO1xuICAgICAgdmFyIHNlbGVjdGVkID0gT2JqZWN0LmtleXModG9waWNzLmNvbnRyb2xzKVxuICAgICAgICAgLmZpbHRlcihwID0+IHRvcGljcy5nZXQocCkudmFsdWUgPT0gdHJ1ZSlcbiAgICAgICAgIC5tYXAocCA9PiBwKTtcblxuICAgICAgdmFyIHByZXNldEtleSA9IHRoaXMuZm9ybS5jb250cm9scy5wcmVzZXQudmFsdWU7XG4gICAgICByZXR1cm4gbmV3IFRvcGljU2VsZWN0b3JEdG8ocHJlc2V0S2V5LCBzZWxlY3RlZCk7XG4gICB9XG5cbiAgIHB1YmxpYyBvcGVuRmFjdG9ySW5mb3JtYXRpb24odG9waWNLZXk6IHN0cmluZywgJGV2ZW50OiBFdmVudCkge1xuICAgICAgdmFyIHRvcGljID0gdGhpcy50b3BpY3MuZmluZChwID0+IHAucHVibGljS2V5ID09IHRvcGljS2V5KTtcbiAgICAgIGlmICghdG9waWMpIHsgcmV0dXJuOyB9XG5cbiAgICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICBjb25zdCBkaWFsb2dDb25maWcgPSBuZXcgTWF0RGlhbG9nQ29uZmlnKCk7XG4gICAgICBkaWFsb2dDb25maWcucGFuZWxDbGFzcyA9IFsnZGlhbG9nJywgJ2ZhY3RvciddO1xuICAgICAgZGlhbG9nQ29uZmlnLmRhdGEgPSB0b3BpYztcbiAgICAgIGRpYWxvZ0NvbmZpZy5lbnRlckFuaW1hdGlvbkR1cmF0aW9uID0gMDtcbiAgICAgIGRpYWxvZ0NvbmZpZy5leGl0QW5pbWF0aW9uRHVyYXRpb24gPSAwO1xuICAgICAgdGhpcy5kaWFsb2cub3BlbihEaWFsb2dGYWN0b3JJbmZvcm1hdGlvbkNvbXBvbmVudCwgZGlhbG9nQ29uZmlnKTtcbiAgIH1cblxuICAgcHVibGljIGhhc1NlZ21lbnRRdWVzdGlvbnMoZmFjdG9yOiBGYWN0b3JTdHJ1Y3R1cmVEdG8sIHNlZ21lbnQ6IFNlZ21lbnRFbnVtLCB1c2VPd25RdWVzdGlvbkNvdW50OiBib29sZWFuKTogYm9vbGVhbiB7XG4gICAgICBpZiAodXNlT3duUXVlc3Rpb25Db3VudCkge1xuICAgICAgICAgcmV0dXJuIGZhY3Rvci5zZWdtZW50cy5maW5kKHAgPT4gcC5zZWdtZW50ID09IHNlZ21lbnQudG9TdHJpbmcoKSkub3duUXVlc3Rpb25Db3VudCA+IDAgPz8gZmFsc2U7XG4gICAgICB9XG4gICAgICBlbHNlIHtcbiAgICAgICAgIHJldHVybiBmYWN0b3Iuc2VnbWVudHMuZmluZChwID0+IHAuc2VnbWVudCA9PSBzZWdtZW50LnRvU3RyaW5nKCkpLnF1ZXN0aW9uQ291bnQgPiAwID8/IGZhbHNlO1xuICAgICAgfVxuICAgfVxuXG4gICBwdWJsaWMgZ2V0Q29yZUZhY3RvcnMoKSB7XG4gICAgICByZXR1cm4gdGhpcy50b3BpY3MuZmlsdGVyKHAgPT4gcC5wYXJlbnRLZXkgPT0gbnVsbCk7XG4gICB9XG5cbiAgIHB1YmxpYyBnZXRTdWJGYWN0b3JzKHBhcmVudEtleTogc3RyaW5nKSB7XG4gICAgICByZXR1cm4gdGhpcy50b3BpY3MuZmlsdGVyKHAgPT4gcC5wYXJlbnRLZXkgPT0gcGFyZW50S2V5KS5zb3J0KChhLCBiKSA9PiBhLm5hbWUubG9jYWxlQ29tcGFyZShiLm5hbWUpKTtcbiAgIH1cblxuICAgcHVibGljIHNlbGVjdEFsbCh0b3BpYzogRmFjdG9yU3RydWN0dXJlRHRvLCAkZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHZhciB0b3BpY3MgPSB0aGlzLmZvcm0uY29udHJvbHMudG9waWNzIGFzIEZvcm1Hcm91cDtcbiAgICAgIHRoaXMudG9waWNzXG4gICAgICAgICAuZmlsdGVyKHAgPT4gcC5wYXJlbnRLZXkgPT0gdG9waWMucHVibGljS2V5IHx8IChwLnB1YmxpY0tleSA9PSB0b3BpYy5wdWJsaWNLZXkgJiYgcC5vd25RdWVzdGlvbkNvdW50ID4gMCkpXG4gICAgICAgICAuZm9yRWFjaChwID0+IHRvcGljcy5nZXQocC5wdWJsaWNLZXkpLnNldFZhbHVlKHRydWUpKVxuICAgfVxuXG4gICBwdWJsaWMgc2VsZWN0Tm9uZSh0b3BpYzogRmFjdG9yU3RydWN0dXJlRHRvLCAkZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgdmFyIHRvcGljcyA9IHRoaXMuZm9ybS5jb250cm9scy50b3BpY3MgYXMgRm9ybUdyb3VwO1xuICAgICAgdGhpcy50b3BpY3NcbiAgICAgICAgIC5maWx0ZXIocCA9PiBwLnBhcmVudEtleSA9PSB0b3BpYy5wdWJsaWNLZXkgfHwgKHAucHVibGljS2V5ID09IHRvcGljLnB1YmxpY0tleSAmJiBwLm93blF1ZXN0aW9uQ291bnQgPiAwKSlcbiAgICAgICAgIC5mb3JFYWNoKHAgPT4gdG9waWNzLmdldChwLnB1YmxpY0tleSkuc2V0VmFsdWUoZmFsc2UpKVxuICAgfVxuXG4gICBwcml2YXRlIGNyZWF0ZUZvcm0oKSB7XG4gICAgICB0aGlzLmZvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgICAgIHByZXNldDogW251bGxdLFxuICAgICAgICAgdG9waWNLZXlzOiBbW11dLFxuICAgICAgICAgdG9waWNzOiB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKFtdKSxcbiAgICAgICAgIHNob3dUb3BpY3M6IFtmYWxzZV1cbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLnRvcGljcy5maWx0ZXIocCA9PiBwLnBhcmVudEtleSAhPSBudWxsIHx8IChwLnBhcmVudEtleSA9PSBudWxsICYmIHAub3duUXVlc3Rpb25Db3VudCA+IDApKVxuICAgICAgICAgLmZvckVhY2gocCA9PiAodGhpcy5mb3JtLmNvbnRyb2xzLnRvcGljcyBhcyBGb3JtR3JvdXApLmFkZENvbnRyb2wocC5wdWJsaWNLZXksIG5ldyBGb3JtQ29udHJvbChmYWxzZSksIHsgZW1pdEV2ZW50OiBmYWxzZSB9KSlcbiAgIH1cblxuICAgcHJpdmF0ZSB1cGRhdGVNZXRhRGF0YShvdXRwdXQ6IFRvcGljU2VsZWN0b3JEdG8pIHtcbiAgICAgIHRoaXMud2FybmluZ3MgPSBbXTtcblxuICAgICAgLy8gb25seSB3b3JrIHdpdGggbG93ZXItbGV2ZWwgZmFjdG9ycywgYXMgaGlnaGVyLWxldmVsIGNvbnRhaW4gYWdncmVnYXRlZCBoaWdoZXItbGV2ZWwgcXVlc3Rpb24gY291bnRzXG4gICAgICB2YXIgc2NhbGVzVG9JbmNsdWRlID0gdGhpcy50b3BpY3MuZmlsdGVyKHAgPT4gcC5wYXJlbnRLZXkgIT0gbnVsbCAmJiBvdXRwdXQudG9waWNLZXlzLmluY2x1ZGVzKHAucHVibGljS2V5KSk7XG4gICAgICB2YXIgdG90YWxRdWVzdGlvbnMgPSB0aGlzLnRvcGljcy5maWx0ZXIocCA9PiBwLnBhcmVudEtleSAhPSBudWxsKS5yZWR1Y2UoKHN1bSwgY3VycmVudCkgPT4gc3VtICs9IGN1cnJlbnQucXVlc3Rpb25Db3VudCwgMCk7XG5cbiAgICAgIHRoaXMucXVlc3Rpb25zVG90YWwgPSBzY2FsZXNUb0luY2x1ZGUucmVkdWNlKChzdW0sIGN1cnJlbnQpID0+IHN1bSArPSBjdXJyZW50LnF1ZXN0aW9uQ291bnQsIDApO1xuICAgICAgdGhpcy5xdWVzdGlvbnNUZWFtTWVtYmVycyA9IHNjYWxlc1RvSW5jbHVkZS5mbGF0TWFwKHAgPT4gcC5zZWdtZW50cykuZmlsdGVyKHAgPT4gcC5zZWdtZW50ID09IFNlZ21lbnRFbnVtLlRlYW1NZW1iZXIpLnJlZHVjZSgoc3VtLCBjdXJyZW50KSA9PiBzdW0gKz0gY3VycmVudC5xdWVzdGlvbkNvdW50LCAwKTtcbiAgICAgIHRoaXMucXVlc3Rpb25zU3Rha2Vob2xkZXJzID0gc2NhbGVzVG9JbmNsdWRlLmZsYXRNYXAocCA9PiBwLnNlZ21lbnRzKS5maWx0ZXIocCA9PiBwLnNlZ21lbnQgPT0gU2VnbWVudEVudW0uU3Rha2Vob2xkZXIpLnJlZHVjZSgoc3VtLCBjdXJyZW50KSA9PiBzdW0gKz0gY3VycmVudC5xdWVzdGlvbkNvdW50LCAwKTtcbiAgICAgIHRoaXMucXVlc3Rpb25zU3VwcG9ydGVycyA9IHNjYWxlc1RvSW5jbHVkZS5mbGF0TWFwKHAgPT4gcC5zZWdtZW50cykuZmlsdGVyKHAgPT4gcC5zZWdtZW50ID09IFNlZ21lbnRFbnVtLk1hbmFnZW1lbnQpLnJlZHVjZSgoc3VtLCBjdXJyZW50KSA9PiBzdW0gKz0gY3VycmVudC5xdWVzdGlvbkNvdW50LCAwKTtcblxuICAgICAgdGhpcy5kdXJhdGlvblRlYW1NZW1iZXJzID0gc2NhbGVzVG9JbmNsdWRlLmZsYXRNYXAocCA9PiBwLnNlZ21lbnRzKS5maWx0ZXIocCA9PiBwLnNlZ21lbnQgPT0gU2VnbWVudEVudW0uVGVhbU1lbWJlcikucmVkdWNlKChzdW0sIGN1cnJlbnQpID0+IHN1bSArPSBjdXJyZW50LmR1cmF0aW9uSW5TZWNvbmRzLCAwKSAvIDYwO1xuICAgICAgdGhpcy5kdXJhdGlvblN0YWtlaG9sZGVycyA9IHNjYWxlc1RvSW5jbHVkZS5mbGF0TWFwKHAgPT4gcC5zZWdtZW50cykuZmlsdGVyKHAgPT4gcC5zZWdtZW50ID09IFNlZ21lbnRFbnVtLlN0YWtlaG9sZGVyKS5yZWR1Y2UoKHN1bSwgY3VycmVudCkgPT4gc3VtICs9IGN1cnJlbnQuZHVyYXRpb25JblNlY29uZHMsIDApIC8gNjA7XG4gICAgICB0aGlzLmR1cmF0aW9uU3VwcG9ydGVycyA9IHNjYWxlc1RvSW5jbHVkZS5mbGF0TWFwKHAgPT4gcC5zZWdtZW50cykuZmlsdGVyKHAgPT4gcC5zZWdtZW50ID09IFNlZ21lbnRFbnVtLk1hbmFnZW1lbnQpLnJlZHVjZSgoc3VtLCBjdXJyZW50KSA9PiBzdW0gKz0gY3VycmVudC5kdXJhdGlvbkluU2Vjb25kcywgMCkgLyA2MDtcblxuICAgICAgaWYgKHRoaXMuZHVyYXRpb25UZWFtTWVtYmVycyA8IDEpIHsgdGhpcy5kdXJhdGlvblRlYW1NZW1iZXJzID0gMTsgfVxuICAgICAgaWYgKHRoaXMuZHVyYXRpb25TdGFrZWhvbGRlcnMgPCAxKSB7IHRoaXMuZHVyYXRpb25TdGFrZWhvbGRlcnMgPSAxOyB9XG4gICAgICBpZiAodGhpcy5kdXJhdGlvblN1cHBvcnRlcnMgPCAxKSB7IHRoaXMuZHVyYXRpb25TdXBwb3J0ZXJzID0gMTsgfVxuXG4gICAgICBpZiAodGhpcy5xdWVzdGlvbnNTdGFrZWhvbGRlcnMgPT0gMCkge1xuICAgICAgICAgdGhpcy53YXJuaW5ncy5wdXNoKFwiVGhlIHNlbGVjdGlvbiBkb2VzIG5vdCBpbmNsdWRlIHRvcGljcyBmb3Igc3Rha2Vob2xkZXJzLlwiKTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnF1ZXN0aW9uc1N1cHBvcnRlcnMgPT0gMCkge1xuICAgICAgICAgdGhpcy53YXJuaW5ncy5wdXNoKFwiVGhlIHNlbGVjdGlvbiBkb2VzIG5vdCBpbmNsdWRlIHRvcGljcyBmb3Igc3VwcG9ydGVycyAvIG1hbmFnZW1lbnQuXCIpO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMucXVlc3Rpb25zVGVhbU1lbWJlcnMgPT0gMCkge1xuICAgICAgICAgdGhpcy53YXJuaW5ncy5wdXNoKFwiVGhlIHNlbGVjdGlvbiBkb2VzIG5vdCBpbmNsdWRlIHRvcGljcyBmb3IgdGVhbSBtZW1iZXJzLlwiKTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnF1ZXN0aW9ubmFpcmVBY2N1cmFjeSA8IDAuMjUpIHtcbiAgICAgICAgIHRoaXMud2FybmluZ3MucHVzaChcIlRoZSBzZWxlY3Rpb24gbWVhc3VyZXMgZmV3IHRvcGljcywgc28gaXRzIG92ZXJhbGwgYWNjdXJhY3kgaXMgbG93LlwiKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5xdWVzdGlvbm5haXJlQWNjdXJhY3kgPSB0aGlzLnF1ZXN0aW9uc1RvdGFsIC8gdG90YWxRdWVzdGlvbnM7XG4gICB9XG59XG5cbmV4cG9ydCBjbGFzcyBUb3BpY1NlbGVjdG9yRHRvIHtcbiAgIGNvbnN0cnVjdG9yKHByZXNldEtleTogc3RyaW5nLCB0b3BpY0tleXM6IHN0cmluZ1tdKSB7XG4gICAgICB0aGlzLnByZXNldEtleSA9IHByZXNldEtleTtcbiAgICAgIHRoaXMudG9waWNLZXlzID0gdG9waWNLZXlzID8/IFtdO1xuICAgfVxuXG4gICBwcmVzZXRLZXk6IHN0cmluZztcbiAgIHRvcGljS2V5czogc3RyaW5nW107XG59XG4iLCI8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIj5cbiAgIDxkaXYgY2xhc3M9XCJ0b3BpY3NlbGVjdG9yLWNvbnRhaW5lclwiPlxuICAgICAgPGRpdiBjbGFzcz1cInRvcGljc2VsZWN0b3ItbWV0YWRhdGFcIj5cbiAgICAgICAgIDxkaXYgY2xhc3M9XCJxdWVzdGlvbm5haXJlLXByZXNldFwiPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwicXVlc3Rpb25uYWlyZS1wcmVzZXQtc2VsZWN0XCIgYXBwZWFyYW5jZT1cImZpbGxcIj5cbiAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+U2VsZWN0IHByZWRlZmluZWQgcXVlc3Rpb25uYWlyZTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgaWQ9XCJxdWVzdGlvbi1wcmVzZXRcIiBmb3JtQ29udHJvbE5hbWU9XCJwcmVzZXRcIiAoc2VsZWN0aW9uQ2hhbmdlKT1cInNlbGVjdFByZXNldCgpXCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwidHlwZS5wdWJsaWNLZXlcIiAqbmdGb3I9XCJsZXQgdHlwZSBvZiBwcmVzZXRzXCIgY2xhc3M9XCJzZWxlY3Qtb3B0aW9uXCI+e3t0eXBlLm5hbWV9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICA8L2Rpdj5cbiAgICAgICAgIDxkaXYgY2xhc3M9XCJxdWVzdGlvbm5haXJlLWFjY3VyYWN5XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicXVlc3Rpb25uYWlyZS1icmVha2Rvd24tbGFiZWxcIj5BY2N1cmFjeTwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInF1ZXN0aW9ubmFpcmUtYnJlYWtkb3duLWJhci1ob2xkZXJcIj5cbiAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJxdWVzdGlvbm5haXJlLWFjY3VyYWN5LWJhclwiIFtuZ0NsYXNzXT1cInsnbG93JzogcXVlc3Rpb25uYWlyZUFjY3VyYWN5IDwgMC4yNSwgJ21vZGVyYXRlJyA6IHF1ZXN0aW9ubmFpcmVBY2N1cmFjeSA8IDAuNSAmJiBxdWVzdGlvbm5haXJlQWNjdXJhY3kgPj0gMC4yNX1cIiBbbmdTdHlsZV09XCJ7J3dpZHRoJzogKHF1ZXN0aW9ubmFpcmVBY2N1cmFjeSAqIDEwMCkgKyAnJScgfVwiPnt7cXVlc3Rpb25uYWlyZUFjY3VyYWN5ICogMTAwIHwgbnVtYmVyOicxLjAtMCd9fSU8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgPC9kaXY+XG4gICAgICAgICA8ZGl2IGNsYXNzPVwicXVlc3Rpb25uYWlyZS1zZWdtZW50c1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInF1ZXN0aW9ubmFpcmUtc2VnbWVudHMtbGFiZWxcIj5UaW1lIGludmVzdG1lbnQ8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJxdWVzdGlvbm5haXJlLWJyZWFrZG93bnNcIj5cbiAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJxdWVzdGlvbm5haXJlLWJyZWFrZG93blwiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInF1ZXN0aW9ubmFpcmUtYnJlYWtkb3duLWxhYmVsXCI+VGVhbSBtZW1iZXJzPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJvZ3Jlc3NiYXIgcHJvZ3Jlc3NiYXItcG9zaXRpdmUgcHJvZ3Jlc3NiYXItdGVhbW1lbWJlclwiPlxuICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByb2dyZXNzYmFyLWJhclwiICpuZ0lmPVwicXVlc3Rpb25zVGVhbU1lbWJlcnMgPiAwXCIgW3N0eWxlLndpZHRoXT1cIigocXVlc3Rpb25zVGVhbU1lbWJlcnMgLyBxdWVzdGlvbnNUb3RhbCkgKiAxMDApICsgJyUnXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJvZ3Jlc3NiYXItc2NvcmVcIj57e2R1cmF0aW9uVGVhbU1lbWJlcnMgfCBudW1iZXI6JzEuMC0wJ319IG1pbjwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJxdWVzdGlvbm5haXJlLWJyZWFrZG93blwiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInF1ZXN0aW9ubmFpcmUtYnJlYWtkb3duLWxhYmVsXCI+U3Rha2Vob2xkZXJzPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJvZ3Jlc3NiYXIgcHJvZ3Jlc3NiYXItcG9zaXRpdmUgcHJvZ3Jlc3NiYXItc3Rha2Vob2xkZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcm9ncmVzc2Jhci1iYXJcIiAqbmdJZj1cInF1ZXN0aW9uc1N0YWtlaG9sZGVycyA+IDBcIiBbc3R5bGUud2lkdGhdPVwiKChxdWVzdGlvbnNTdGFrZWhvbGRlcnMgLyBxdWVzdGlvbnNUb3RhbCkgKiAxMDApICsgJyUnXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJvZ3Jlc3NiYXItc2NvcmVcIj57e2R1cmF0aW9uU3Rha2Vob2xkZXJzIHwgbnVtYmVyOicxLjAtMCd9fSBtaW48L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicXVlc3Rpb25uYWlyZS1icmVha2Rvd25cIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJxdWVzdGlvbm5haXJlLWJyZWFrZG93bi1sYWJlbFwiPlN1cHBvcnRlcnM8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcm9ncmVzc2JhciBwcm9ncmVzc2Jhci1wb3NpdGl2ZSBwcm9ncmVzc2Jhci1zdXBwb3J0ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcm9ncmVzc2Jhci1iYXJcIiAqbmdJZj1cInF1ZXN0aW9uc1N1cHBvcnRlcnMgPiAwXCIgW3N0eWxlLndpZHRoXT1cIigocXVlc3Rpb25zU3VwcG9ydGVycyAvIHF1ZXN0aW9uc1RvdGFsKSAqIDEwMCkgKyAnJSdcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcm9ncmVzc2Jhci1zY29yZVwiPnt7ZHVyYXRpb25TdXBwb3J0ZXJzIHwgbnVtYmVyOicxLjAtMCd9fSBtaW48L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgIDwvZGl2PlxuICAgICAgICAgPGRpdiBjbGFzcz1cInRvcGljc2VsZWN0b3Itd2FybmluZ3NcIiAqbmdJZj1cIndhcm5pbmdzLmxlbmd0aCA+IDBcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0b3BpY3NlbGVjdG9yLXdhcm5pbmdzLXdhcm5pbmdcIiAqbmdGb3I9XCJsZXQgd2FybmluZyBvZiB3YXJuaW5nc1wiPlxuICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpY29uIHBoLWluZm8tZmlsbFwiPjwvc3Bhbj57e3dhcm5pbmd9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICA8L2Rpdj5cbiAgICAgICAgIDxhIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQobnVsbClcIiAqbmdJZj1cIiFmb3JtLmNvbnRyb2xzLnNob3dUb3BpY3MudmFsdWVcIiBpZD1cImFjdGlvbi1hZHZhbmNlZHZpZXd0b2dnbGVcIiBjbGFzcz1cInRvcGljLXNlbGVjdG9yLWFkdmFuY2Vkdmlld3RvZ2dsZVwiIChjbGljayk9XCJmb3JtLmNvbnRyb2xzLnNob3dUb3BpY3Muc2V0VmFsdWUodHJ1ZSlcIj48c3BhbiBjbGFzcz1cImljb24gcGgtY2FyZXQtY2lyY2xlLWRvd24tZmlsbFwiPjwvc3Bhbj5hZHZhbmNlZCB2aWV3PC9hPlxuICAgICAgICAgPGEgaHJlZj1cImphdmFzY3JpcHQ6dm9pZChudWxsKVwiICpuZ0lmPVwiZm9ybS5jb250cm9scy5zaG93VG9waWNzLnZhbHVlXCIgaWQ9XCJhY3Rpb24tYWR2YW5jZWR2aWV3dG9nZ2xlXCIgY2xhc3M9XCJ0b3BpYy1zZWxlY3Rvci1hZHZhbmNlZHZpZXd0b2dnbGVcIiAoY2xpY2spPVwiZm9ybS5jb250cm9scy5zaG93VG9waWNzLnNldFZhbHVlKGZhbHNlKVwiPjxzcGFuIGNsYXNzPVwiaWNvbiBwaC1jYXJldC1jaXJjbGUtdXAtZmlsbFwiPjwvc3Bhbj5zaW1wbGUgdmlldzwvYT5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInRvcGljc2VsZWN0b3ItdG9waWNzXCIgKm5nSWY9XCJmb3JtLmNvbnRyb2xzLnNob3dUb3BpY3MudmFsdWVcIj4gXG4gICAgICAgICA8ZGl2IGNsYXNzPVwidG9waWMtcGFyZW50XCIgKm5nRm9yPVwibGV0IHRvcGljIG9mIGdldENvcmVGYWN0b3JzKClcIiBmb3JtQXJyYXlOYW1lPVwidG9waWNzXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibmFtZVwiPlxuICAgICAgICAgICAgICAgPGg0Pnt7dG9waWMubmFtZX19PC9oND5cbiAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWxwZXJzXCI+KDxhIGhyZWY9XCIjXCIgKGNsaWNrKT1cInNlbGVjdEFsbCh0b3BpYywgJGV2ZW50KVwiPmFsbDwvYT4gfCA8YSBocmVmPVwiI1wiIChjbGljayk9XCJzZWxlY3ROb25lKHRvcGljLCAkZXZlbnQpXCI+bm9uZTwvYT4pPC9kaXY+XG4gICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9waWMtY2hpbGQtbW9yZWluZm9ybWF0aW9uXCI+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImljb24gcGgtaW5mby1ib2xkXCIgKGNsaWNrKT1cIm9wZW5GYWN0b3JJbmZvcm1hdGlvbih0b3BpYy5wdWJsaWNLZXksICRldmVudClcIj48L3NwYW4+XG4gICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidG9waWMub3duUXVlc3Rpb25Db3VudCA+IDBcIiBjbGFzcz1cInRvcGljLWNoaWxkXCI+XG4gICAgICAgICAgICAgICA8bWF0LWNoZWNrYm94IGNsYXNzPVwidG9waWMtY2hpbGQtY2hlY2tcIiBbZm9ybUNvbnRyb2xOYW1lXT1cInRvcGljLnB1YmxpY0tleVwiIChjbGljayk9XCJ0b2dnbGVUb3BpYygpXCIgW2lkXT1cIid0b3BpYy0nICsgdG9waWMubmFtZSB8IHNsdWdpZnlcIj48L21hdC1jaGVja2JveD5cbiAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0b3BpYy1jaGlsZC1kZXNjcmlwdGlvblwiPlxuICAgICAgICAgICAgICAgICAge3t0b3BpYy5uYW1lfX0gKHt7dG9waWMub3duUXVlc3Rpb25Db3VudH19IHF1ZXN0aW9ucylcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWdzXCI+XG4gICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFncy10YWcgcmVjb21tZW5kZWRcIiAqbmdJZj1cInRvcGljLnJlY29tbWVuZGVkXCI+UmVjb21tZW5kZWQ8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWdzLXRhZyB0ZWFtbWVtYmVyXCIgKm5nSWY9XCJoYXNTZWdtZW50UXVlc3Rpb25zKHRvcGljLCBTZWdtZW50RW51bS5UZWFtTWVtYmVyLCB0cnVlKVwiPkZvciB0ZWFtIG1lbWJlcnM8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWdzLXRhZyBzdGFrZWhvbGRlclwiICpuZ0lmPVwiaGFzU2VnbWVudFF1ZXN0aW9ucyh0b3BpYywgU2VnbWVudEVudW0uU3Rha2Vob2xkZXIsIHRydWUpXCI+Rm9yIHN0YWtlaG9sZGVyczwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhZ3MtdGFnIHN1cHBvcnRlclwiICpuZ0lmPVwiaGFzU2VnbWVudFF1ZXN0aW9ucyh0b3BpYywgU2VnbWVudEVudW0uTWFuYWdlbWVudCwgdHJ1ZSlcIj5Gb3Igc3VwcG9ydGVyczwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0b3BpYy1jaGlsZC1tb3JlaW5mb3JtYXRpb25cIj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaWNvbiBwaC1pbmZvLWJvbGRcIiAoY2xpY2spPVwib3BlbkZhY3RvckluZm9ybWF0aW9uKHRvcGljLnB1YmxpY0tleSwgJGV2ZW50KVwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG5cblxuICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgc3ViVG9waWMgb2YgZ2V0U3ViRmFjdG9ycyh0b3BpYy5wdWJsaWNLZXkpXCIgY2xhc3M9XCJ0b3BpYy1jaGlsZFwiPlxuICAgICAgICAgICAgICAgPG1hdC1jaGVja2JveCBjbGFzcz1cInRvcGljLWNoaWxkLWNoZWNrXCIgW2Zvcm1Db250cm9sTmFtZV09XCJzdWJUb3BpYy5wdWJsaWNLZXlcIiAoY2xpY2spPVwidG9nZ2xlVG9waWMoKVwiIFtpZF09XCIndG9waWMtJyArIHN1YlRvcGljLm5hbWUgfCBzbHVnaWZ5XCI+PC9tYXQtY2hlY2tib3g+XG4gICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9waWMtY2hpbGQtZGVzY3JpcHRpb25cIj5cbiAgICAgICAgICAgICAgICAgIHt7c3ViVG9waWMubmFtZX19ICh7e3N1YlRvcGljLnF1ZXN0aW9uQ291bnR9fSBxdWVzdGlvbnMpXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFnc1wiPlxuICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhZ3MtdGFnIHJlY29tbWVuZGVkXCIgKm5nSWY9XCJzdWJUb3BpYy5yZWNvbW1lbmRlZFwiPlJlY29tbWVuZGVkPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFncy10YWcgdGVhbW1lbWJlclwiICpuZ0lmPVwiaGFzU2VnbWVudFF1ZXN0aW9ucyhzdWJUb3BpYywgU2VnbWVudEVudW0uVGVhbU1lbWJlciwgZmFsc2UpXCI+Rm9yIHRlYW0gbWVtYmVyczwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhZ3MtdGFnIHN0YWtlaG9sZGVyXCIgKm5nSWY9XCJoYXNTZWdtZW50UXVlc3Rpb25zKHN1YlRvcGljLCBTZWdtZW50RW51bS5TdGFrZWhvbGRlciwgZmFsc2UpXCI+Rm9yIHN0YWtlaG9sZGVyczwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhZ3MtdGFnIHN1cHBvcnRlclwiICpuZ0lmPVwiaGFzU2VnbWVudFF1ZXN0aW9ucyhzdWJUb3BpYywgU2VnbWVudEVudW0uTWFuYWdlbWVudCwgZmFsc2UpXCI+Rm9yIHN1cHBvcnRlcnM8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9waWMtY2hpbGQtbW9yZWluZm9ybWF0aW9uXCI+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImljb24gcGgtaW5mby1ib2xkXCIgKGNsaWNrKT1cIm9wZW5GYWN0b3JJbmZvcm1hdGlvbihzdWJUb3BpYy5wdWJsaWNLZXksICRldmVudClcIj48L3NwYW4+XG4gICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgIDwvZGl2PlxuPC9mb3JtPlxuIl19
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export class KeyValueDto {
|
|
2
|
+
constructor(key, value) {
|
|
3
|
+
this.key = key;
|
|
4
|
+
this.value = value;
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5VmFsdWVEdG8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2NydW10ZWFtc3VydmV5LXRvb2xzL3NyYy9saWIvbW9kZWxzL2tleVZhbHVlRHRvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE1BQU0sT0FBTyxXQUFXO0lBQ3JCLFlBQVksR0FBVyxFQUFFLEtBQWE7UUFDbkMsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDZixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUN0QixDQUFDO0NBSUgiLCJzb3VyY2VzQ29udGVudCI6WyJcbmV4cG9ydCBjbGFzcyBLZXlWYWx1ZUR0byB7XG4gICBjb25zdHJ1Y3RvcihrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZykge1xuICAgICAgdGhpcy5rZXkgPSBrZXk7XG4gICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICB9XG5cbiAgIGtleTogc3RyaW5nO1xuICAgdmFsdWU6IHN0cmluZztcbn1cbiJdfQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export class SnapshotDto {
|
|
2
2
|
}
|
|
3
3
|
;
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hcHNob3REdG8ubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2NydW10ZWFtc3VydmV5LXRvb2xzL3NyYy9saWIvcmVzdWx0cy9tb2RlbHMvc25hcHNob3REdG8ubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsTUFBTSxPQUFPLFdBQVc7Q0FtQnZCO0FBQUEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNlZ21lbnRFbnVtIH0gZnJvbSBcIi4uLy4uL21vZGVscy9tb2RlbFN0cnVjdHVyZUR0b1wiO1xuaW1wb3J0IHsgRGltZW5zaW9uUmVzdWx0RHRvIH0gZnJvbSBcIi4vZGltZW5zaW9uUmVzdWx0RHRvXCI7XG5pbXBvcnQgeyBGYWN0b3JTY29yZUNvbGxlY3Rpb25EdG8gfSBmcm9tIFwiLi9mYWN0b3JTY29yZUR0b1wiO1xuaW1wb3J0IHsgUGFydGljaXBhbnREdG8gfSBmcm9tIFwiLi9wYXJ0aWNpcGFudER0by5tb2RlbFwiO1xuXG5leHBvcnQgY2xhc3MgU25hcHNob3REdG8ge1xuICAgcHVibGljS2V5OiBzdHJpbmc7XG4gICBjbG9zZWQ6IERhdGU7XG4gICBzdGFydGVkOiBEYXRlO1xuICAgcGFydGljaXBhbnRzOiBudW1iZXI7XG4gICByZXBvcnRVcmw6IHN0cmluZztcbiAgIGludml0ZVVybHM6IFJlY29yZDxTZWdtZW50RW51bSwgc3RyaW5nPjtcbiAgIHRlYW1LZXk6IHN0cmluZztcbiAgIGxpbWl0OiBudW1iZXI7XG4gICBub3RlOiBzdHJpbmc7XG4gICBhbm9ueW1pemVkOiBib29sZWFuO1xuICAgcHJvZ3Jlc3M6IG51bWJlcjtcbiAgIHF1ZXN0aW9ubmFpcmVUeXBlOiBzdHJpbmc7XG4gICBzY2FsZUtleXM6IHN0cmluZ1tdO1xuICAgcGFydGljaXBhbnRMaXN0OiBQYXJ0aWNpcGFudER0b1tdO1xuICAgY29yZURpbWVuc2lvbnM6IERpbWVuc2lvblJlc3VsdER0b1tdO1xuICAgZmFjdG9yU2NvcmVzOiBGYWN0b3JTY29yZUNvbGxlY3Rpb25EdG87XG4gICBub3RpZmljYXRpb25FbWFpbDogc3RyaW5nO1xuICAgaW52aXRhdGlvbkdvYWw6IG51bWJlcjtcbn07XG4iXX0=
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export class TeamDto {
|
|
2
2
|
}
|
|
3
3
|
;
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVhbUR0by5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zY3J1bXRlYW1zdXJ2ZXktdG9vbHMvc3JjL2xpYi9yZXN1bHRzL21vZGVscy90ZWFtRHRvLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE1BQU0sT0FBTyxPQUFPO0NBcUJuQjtBQUFBLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBLZXlWYWx1ZUR0byB9IGZyb20gXCIuLi8uLi9tb2RlbHMva2V5VmFsdWVEdG9cIjtcbmltcG9ydCB7IEJhZGdlRHRvIH0gZnJvbSBcIi4vYmFkZ2VEdG9cIjtcbmltcG9ydCB7IEJlbmNobWFya1R5cGVFbnVtLCBJbnRlcnZlbnRpb25TdW1tYXJ5RHRvIH0gZnJvbSBcIi4vZmFjdG9yU2NvcmVEdG9cIjtcbmltcG9ydCB7IFNuYXBzaG90RHRvIH0gZnJvbSBcIi4vc25hcHNob3REdG8ubW9kZWxcIjtcblxuZXhwb3J0IGNsYXNzIFRlYW1EdG8ge1xuICAgcHVibGljS2V5OiBzdHJpbmc7XG4gICBuYW1lOiBzdHJpbmc7XG4gICBlbWFpbDogc3RyaW5nO1xuICAgY29sb3I6IHN0cmluZztcbiAgIG1lYXN1cmVtZW50czogbnVtYmVyO1xuICAgcmV0YWtlVXJsOiBzdHJpbmc7XG4gICBtYW5hZ2VtZW50VXJsOiBzdHJpbmc7XG4gICBzbmFwc2hvdHM6IG51bWJlcjtcbiAgIGNvbG9yU3RyaW5nOiBzdHJpbmc7XG4gICBsb3dUcnVzdE1vZGU6IGJvb2xlYW47XG4gICBiZW5jaG1hcms6IEJlbmNobWFya1R5cGVFbnVtO1xuICAgc25hcHNob3RMaXN0OiBTbmFwc2hvdER0b1tdXG4gICBiYWRnZXM6IEJhZGdlRHRvW107XG4gICB0YWdzOiBzdHJpbmdbXTtcbiAgIG92ZXJsYXlUZWFtS2V5czogc3RyaW5nW107XG4gICBpbnRlcnZlbnRpb25TdW1tYXJ5OiBJbnRlcnZlbnRpb25TdW1tYXJ5RHRvO1xuICAgaW1wcm92ZW1lbnRHb2FsOiBzdHJpbmc7XG4gICBhcmNoaXZlZDogYm9vbGVhbjtcbiAgIHRlYW1UeXBlOiBzdHJpbmc7XG4gICBtZXRhRGF0YTogS2V5VmFsdWVEdG9bXTtcbn07XG4iXX0=
|