survery-lib 2.1.30 → 2.1.31

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.
@@ -77,56 +77,55 @@ export class QuestionCascadeTemplateComponent {
77
77
  var selectedAnswerObj = this.surveyQuestionArr
78
78
  .find(x => x.questionId == model.QuestionId)?.surveyAnswers.find(x => x.answerId === model.SurveyAnswerId);
79
79
  if (selectedAnswerObj?.isOther == true) {
80
- this._ApiService.getIsOtherQuestion({
81
- parentQId: model.QuestionId,
82
- groupId: this.questionGroupId
83
- }).subscribe(res => {
84
- if (res.errors.filter(x => x.code == 17).length == 0) {
85
- res.questionTypeId = QuestionTypeEnum.TextInput;
86
- this._Store.dispatch(surveyActions.addQuestion({
87
- question: {
88
- surveyPageId: this.pageId,
89
- questionId: res.questionId,
90
- questionType: res.questionTypeId,
91
- inputTypeId: InputTypeEnum.Text,
92
- isQuestionGroup: false,
93
- answerId: null,
94
- answerIdArr: null,
95
- answerText: null,
96
- isRequired: res.isRequired,
97
- isValid: null,
98
- isDisabled: res.isReadOnly,
99
- isShow: res.isVisable,
100
- isDisabled_default: res.isReadOnly,
101
- isShow_default: res.isVisable,
102
- questionGroupId: this.questionGroupId,
103
- parentQuestionId: model.QuestionId,
104
- questionAllInfo: {
105
- questionId: res.questionId,
106
- questionTypeId: res.questionTypeId,
107
- questionName: res.questionName,
108
- questionTitle: res.questionTitle,
109
- questionDescription: res.questionDescription,
110
- isRequired: res.isRequired,
111
- isVisable: res.isVisable,
112
- isEditable: res.isEditable,
113
- isOTPOption: res.isOtpOption,
114
- isAdvanceTextArea: res.isAdvanceTextArea,
115
- isReadOnly: res.isReadOnly,
116
- isPreDefine: res.isPreDefine,
117
- maxLevelValue: res.maxLevelValue,
118
- surveyAnswers: [
119
- {
120
- answerId: res.answerId,
121
- inputTypeId: InputTypeEnum.Text
122
- }
123
- ],
124
- surveySubQuestions: res.surveySubQuestions,
125
- surveySubQuestionLevels: res.surveySubQuestionLevels
126
- }
127
- }
128
- }));
129
- this.setQuestions({
80
+ this.isOtherQuestion(model);
81
+ }
82
+ else {
83
+ this.getNextQuestion(model);
84
+ }
85
+ }
86
+ }
87
+ identify(index, item) {
88
+ return item.value.id;
89
+ }
90
+ setQuestions(value) {
91
+ this.surveyQuestionArr.push(value);
92
+ var group = this._formBuilder.group({
93
+ id: new FormControl(value.questionId),
94
+ typeId: new FormControl(value.questionTypeId),
95
+ answer: new FormControl(null)
96
+ });
97
+ if (value.isRequired == true) {
98
+ group.controls.answer.addValidators([Validators.required]);
99
+ group.controls.answer.updateValueAndValidity();
100
+ }
101
+ this.fCtrls.questionArr.push(group);
102
+ }
103
+ isOtherQuestion(model) {
104
+ this._ApiService.getIsOtherQuestion({
105
+ parentQId: model.QuestionId,
106
+ groupId: this.questionGroupId
107
+ }).subscribe(res => {
108
+ if (res.errors.filter(x => x.code == 17).length == 0) {
109
+ res.questionTypeId = QuestionTypeEnum.TextInput;
110
+ this._Store.dispatch(surveyActions.addQuestion({
111
+ question: {
112
+ surveyPageId: this.pageId,
113
+ questionId: res.questionId,
114
+ questionType: res.questionTypeId,
115
+ inputTypeId: InputTypeEnum.Text,
116
+ isQuestionGroup: false,
117
+ answerId: null,
118
+ answerIdArr: null,
119
+ answerText: null,
120
+ isRequired: res.isRequired,
121
+ isValid: null,
122
+ isDisabled: res.isReadOnly,
123
+ isShow: res.isVisable,
124
+ isDisabled_default: res.isReadOnly,
125
+ isShow_default: res.isVisable,
126
+ questionGroupId: this.questionGroupId,
127
+ parentQuestionId: model.QuestionId,
128
+ questionAllInfo: {
130
129
  questionId: res.questionId,
131
130
  questionTypeId: res.questionTypeId,
132
131
  questionName: res.questionName,
@@ -148,60 +147,68 @@ export class QuestionCascadeTemplateComponent {
148
147
  ],
149
148
  surveySubQuestions: res.surveySubQuestions,
150
149
  surveySubQuestionLevels: res.surveySubQuestionLevels
151
- });
150
+ }
152
151
  }
152
+ }));
153
+ this.setQuestions({
154
+ questionId: res.questionId,
155
+ questionTypeId: res.questionTypeId,
156
+ questionName: res.questionName,
157
+ questionTitle: res.questionTitle,
158
+ questionDescription: res.questionDescription,
159
+ isRequired: res.isRequired,
160
+ isVisable: res.isVisable,
161
+ isEditable: res.isEditable,
162
+ isOTPOption: res.isOtpOption,
163
+ isAdvanceTextArea: res.isAdvanceTextArea,
164
+ isReadOnly: res.isReadOnly,
165
+ isPreDefine: res.isPreDefine,
166
+ maxLevelValue: res.maxLevelValue,
167
+ surveyAnswers: [
168
+ {
169
+ answerId: res.answerId,
170
+ inputTypeId: InputTypeEnum.Text
171
+ }
172
+ ],
173
+ surveySubQuestions: res.surveySubQuestions,
174
+ surveySubQuestionLevels: res.surveySubQuestionLevels
153
175
  });
176
+ this.getNextQuestion(model);
154
177
  }
155
- else {
156
- this._ApiService.getNextQuestion({
157
- answerId: model.Answer,
158
- applicantKey: this.applicantKey,
159
- isPre: this.isPre,
160
- surveyLanguageId: this.surveyLanguageId
161
- }).subscribe(res => {
162
- if (res.errors.filter(x => x.code == 17).length == 0) {
163
- this._Store.dispatch(surveyActions.addQuestion({
164
- question: {
165
- surveyPageId: this.pageId,
166
- questionId: res.questionId,
167
- questionType: res.questionTypeId,
168
- inputTypeId: res.surveyAnswers[0].inputTypeId,
169
- isQuestionGroup: false,
170
- answerId: null,
171
- answerIdArr: null,
172
- answerText: null,
173
- isRequired: res.isRequired,
174
- isValid: null,
175
- isDisabled: res.isReadOnly,
176
- isShow: res.isVisable,
177
- isDisabled_default: res.isReadOnly,
178
- isShow_default: res.isVisable,
179
- questionGroupId: this.questionGroupId,
180
- parentQuestionId: model.QuestionId,
181
- questionAllInfo: res
182
- }
183
- }));
184
- this.setQuestions(res);
178
+ });
179
+ }
180
+ getNextQuestion(model) {
181
+ this._ApiService.getNextQuestion({
182
+ answerId: model.Answer,
183
+ applicantKey: this.applicantKey,
184
+ isPre: this.isPre,
185
+ surveyLanguageId: this.surveyLanguageId
186
+ }).subscribe(res => {
187
+ if (res.errors.filter(x => x.code == 17).length == 0) {
188
+ this._Store.dispatch(surveyActions.addQuestion({
189
+ question: {
190
+ surveyPageId: this.pageId,
191
+ questionId: res.questionId,
192
+ questionType: res.questionTypeId,
193
+ inputTypeId: res.surveyAnswers[0].inputTypeId,
194
+ isQuestionGroup: false,
195
+ answerId: null,
196
+ answerIdArr: null,
197
+ answerText: null,
198
+ isRequired: res.isRequired,
199
+ isValid: null,
200
+ isDisabled: res.isReadOnly,
201
+ isShow: res.isVisable,
202
+ isDisabled_default: res.isReadOnly,
203
+ isShow_default: res.isVisable,
204
+ questionGroupId: this.questionGroupId,
205
+ parentQuestionId: model.QuestionId,
206
+ questionAllInfo: res
185
207
  }
186
- });
208
+ }));
209
+ this.setQuestions(res);
187
210
  }
188
- }
189
- }
190
- identify(index, item) {
191
- return item.value.id;
192
- }
193
- setQuestions(value) {
194
- this.surveyQuestionArr.push(value);
195
- var group = this._formBuilder.group({
196
- id: new FormControl(value.questionId),
197
- typeId: new FormControl(value.questionTypeId),
198
- answer: new FormControl(null)
199
211
  });
200
- if (value.isRequired == true) {
201
- group.controls.answer.addValidators([Validators.required]);
202
- group.controls.answer.updateValueAndValidity();
203
- }
204
- this.fCtrls.questionArr.push(group);
205
212
  }
206
213
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: QuestionCascadeTemplateComponent, deps: [{ token: i1.FormBuilder }, { token: i2.SurveyLibService }, { token: i3.ApiService }, { token: i4.Store }], target: i0.ɵɵFactoryTarget.Component }); }
207
214
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: QuestionCascadeTemplateComponent, selector: "lib-question-cascade-template", inputs: { pageId: "pageId", questionGroupId: "questionGroupId", isPre: "isPre", surveyLanguageId: "surveyLanguageId", applicantKey: "applicantKey", setQuestion: "setQuestion" }, ngImport: i0, template: "<ng-container *ngFor=\"let item of questionFormArray.controls; trackBy:identify ; let i = index\">\r\n <lib-question-dropdown-template #questionDropdownTemplate\r\n *ngIf=\"(pageQuestions$() |findQuestion :item.value.id)?.questionType != questionTypeEnum.TextInput\"\r\n [setQuestion]=\"pageQuestions$() |findQuestion :item.value.id \" (emitter)=\"onUpdateAnswer($event)\">\r\n </lib-question-dropdown-template>\r\n\r\n <lib-question-text-template #questionTextTemplate\r\n *ngIf=\"(pageQuestions$() |findQuestion :item.value.id)?.questionType == questionTypeEnum.TextInput\"\r\n [setQuestion]=\"pageQuestions$() |findQuestion :item.value.id \"\r\n [isArabicLang]=\"true\"></lib-question-text-template>\r\n\r\n</ng-container>", styles: [""], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.QuestionTextTemplateComponent, selector: "lib-question-text-template", inputs: ["isArabicLang", "setQuestion", "isDisabled"] }, { kind: "component", type: i7.QuestionDropdownTemplateComponent, selector: "lib-question-dropdown-template", inputs: ["setQuestion"], outputs: ["emitter"] }, { kind: "pipe", type: i8.FindQuestionPipe, name: "findQuestion" }] }); }
@@ -222,4 +229,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
222
229
  }], setQuestion: [{
223
230
  type: Input
224
231
  }] } });
225
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb24tY2FzY2FkZS10ZW1wbGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zdXJ2ZXJ5LWxpYi9zcmMvbGliL2NvbXBvbmVudHMvcXVlc3Rpb24tY2FzY2FkZS10ZW1wbGF0ZS9xdWVzdGlvbi1jYXNjYWRlLXRlbXBsYXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N1cnZlcnktbGliL3NyYy9saWIvY29tcG9uZW50cy9xdWVzdGlvbi1jYXNjYWRlLXRlbXBsYXRlL3F1ZXN0aW9uLWNhc2NhZGUtdGVtcGxhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBZ0IsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBZSxXQUFXLEVBQWEsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHakYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFNNUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7Ozs7Ozs7OztBQVF0RSxNQUFNLE9BQU8sZ0NBQWdDO0lBSzNDLElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQUksZ0JBQWdCO1FBQ2xCLE9BQU8sZ0JBQWdCLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQUksaUJBQWlCO1FBQ25CLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUE7SUFDaEMsQ0FBQztJQVNELElBQWEsV0FBVyxDQUFDLEtBQXdCO1FBQy9DLElBQUks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OEtBc0JoQyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRU8sV0FBVztzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBRdWVzdGlvbkNhc2NhZGVUZW1wbGF0ZUZvcm1JbnRlcmZhY2UsIFF1ZXN0aW9uR3JvdXBDaGlsZE9mUXVlc3Rpb25DYXNjYWRlVGVtcGxhdGVGb3JtSW50ZXJmYWNlIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2Zvcm0taW50ZXJmYWNlcy9xdWVzdGlvbi1jYXNjYWRlLmZvcm0taW50ZXJmYWNlJztcclxuaW1wb3J0IHsgU3VydmV5UXVlc3Rpb25EdG8gfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZHRvcy9zdXJ2ZXktcXVlc3Rpb24uZHRvJztcclxuaW1wb3J0IHsgUXVlc3Rpb25UeXBlRW51bSB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9lbnVtcy9xdWVzdGlvbi10eXBlLmVudW0nO1xyXG5pbXBvcnQgeyBRdWVzdGlvbkFuc3dlck1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL21vZGVscy9xdWVzdGlvbi1hbnN3ZXIubW9kZWwnO1xyXG5pbXBvcnQgeyBTdXJ2ZXlMaWJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc3VydmV5LWxpYi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQXBpU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2FwaS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUXVlc3Rpb25OZ3J4TW9kZWwgfSBmcm9tICcuLi8uLi9jb3JlL3N0YXRlcy9lbnRpdGVzL3F1ZXN0aW9uLmVudGl0eSc7XHJcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xyXG5pbXBvcnQgeyBzdXJ2ZXlBY3Rpb25zIH0gZnJvbSAnLi4vLi4vY29yZS9zdGF0ZXMvc3VydmV5LXN0b3JlL3N1cnZleS5hY3Rpb24nO1xyXG5pbXBvcnQgeyBxdWVzdGlvblNlbGVjdG9ycyB9IGZyb20gJy4uLy4uL2NvcmUvc3RhdGVzL3N1cnZleS1zdG9yZS9xdWVzdGlvbi5zZWxlY3Rvcic7XHJcbmltcG9ydCB7IElucHV0VHlwZUVudW0gfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZW51bXMvaW5wdXQtdHlwZS5lbnVtJztcclxuaW1wb3J0IHsgU3VydmV5QW5zd2VyRHRvIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2R0b3Mvc3VydmV5LWFuc3dlci5kdG8nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItcXVlc3Rpb24tY2FzY2FkZS10ZW1wbGF0ZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3F1ZXN0aW9uLWNhc2NhZGUtdGVtcGxhdGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3F1ZXN0aW9uLWNhc2NhZGUtdGVtcGxhdGUuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUXVlc3Rpb25DYXNjYWRlVGVtcGxhdGVDb21wb25lbnQge1xyXG4gIHN1cnZleVF1ZXN0aW9uQXJyOiBTdXJ2ZXlRdWVzdGlvbkR0b1tdID0gW107XHJcbiAgckZvcm06IEZvcm1Hcm91cDxRdWVzdGlvbkNhc2NhZGVUZW1wbGF0ZUZvcm1JbnRlcmZhY2U+O1xyXG4gIHBhZ2VRdWVzdGlvbnMkID0gdGhpcy5fU3RvcmUuc2VsZWN0U2lnbmFsKHF1ZXN0aW9uU2VsZWN0b3JzLnBhZ2VRdWVzdGlvbnMpO1xyXG5cclxuICBnZXQgZkN0cmxzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuckZvcm0uY29udHJvbHM7XHJcbiAgfVxyXG5cclxuICBnZXQgcXVlc3Rpb25UeXBlRW51bSgpIHtcclxuICAgIHJldHVybiBRdWVzdGlvblR5cGVFbnVtO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHF1ZXN0aW9uRm9ybUFycmF5KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZkN0cmxzLnF1ZXN0aW9uQXJyXHJcbiAgfVxyXG5cclxuXHJcbiAgQElucHV0KCkgcGFnZUlkOiBudW1iZXIgPSBudWxsO1xyXG4gIEBJbnB1dCgpIHF1ZXN0aW9uR3JvdXBJZDogbnVtYmVyID0gbnVsbDtcclxuICBASW5wdXQoKSBpc1ByZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHN1cnZleUxhbmd1YWdlSWQ6IG51bWJlciA9IG51bGw7XHJcbiAgQElucHV0KCkgYXBwbGljYW50S2V5OiBzdHJpbmcgPSBudWxsO1xyXG5cclxuICBASW5wdXQoKSBzZXQgc2V0UXVlc3Rpb24odmFsdWU6IFF1ZXN0aW9uTmdyeE1vZGVsKSB7XHJcbiAgICBpZiAodGhpcy5zdXJ2ZXlRdWVzdGlvbkFycj8ubGVuZ3RoID09IDApIHtcclxuICAgICAgdGhpcy5zZXRRdWVzdGlvbnModmFsdWUucXVlc3Rpb25BbGxJbmZvKTtcclxuXHJcbiAgICAgIHZhciBjaGlsZFF1ZXN0aW9uMSA9IHRoaXMucGFnZVF1ZXN0aW9ucyQoKS5maW5kKHggPT4geC5wYXJlbnRRdWVzdGlvbklkID09IHZhbHVlLnF1ZXN0aW9uSWQpO1xyXG4gICAgICBpZiAoY2hpbGRRdWVzdGlvbjEpIHtcclxuICAgICAgICB0aGlzLnNldFF1ZXN0aW9ucyhjaGlsZFF1ZXN0aW9uMS5xdWVzdGlvbkFsbEluZm8pO1xyXG5cclxuICAgICAgICB2YXIgY2hpbGRRdWVzdGlvbjIgPSB0aGlzLnBhZ2VRdWVzdGlvbnMkKCkuZmluZCh4ID0+IHgucGFyZW50UXVlc3Rpb25JZCA9PSBjaGlsZFF1ZXN0aW9uMS5xdWVzdGlvbklkKTtcclxuICAgICAgICBpZiAoY2hpbGRRdWVzdGlvbjIpIHtcclxuICAgICAgICAgIHRoaXMuc2V0UXVlc3Rpb25zKGNoaWxkUXVlc3Rpb24yLnF1ZXN0aW9uQWxsSW5mbyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9mb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsIHByaXZhdGUgX3N1cnZleUxpYlNlcnZpY2U6IFN1cnZleUxpYlNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9BcGlTZXJ2aWNlOiBBcGlTZXJ2aWNlLCBwcml2YXRlIF9TdG9yZTogU3RvcmUpIHtcclxuICAgIHRoaXMuckZvcm0gPSB0aGlzLl9mb3JtQnVpbGRlci5ncm91cDxRdWVzdGlvbkNhc2NhZGVUZW1wbGF0ZUZvcm1JbnRlcmZhY2U+KHtcclxuICAgICAgcXVlc3Rpb25BcnI6IHRoaXMuX2Zvcm1CdWlsZGVyLmFycmF5PEZvcm1Hcm91cDxRdWVzdGlvbkdyb3VwQ2hpbGRPZlF1ZXN0aW9uQ2FzY2FkZVRlbXBsYXRlRm9ybUludGVyZmFjZT4+KFtdKVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIC8vIHRoaXMuZkN0cmxzLnF1ZXN0aW9uQXJyLnN0YXR1c0NoYW5nZXMuc3Vic2NyaWJlKHYgPT4ge1xyXG4gICAgLy8gICBjb25zb2xlLmxvZyh2KTtcclxuICAgIC8vIH0pXHJcbiAgfVxyXG5cclxuICBvblVwZGF0ZUFuc3dlcihtb2RlbDogUXVlc3Rpb25BbnN3ZXJNb2RlbCkge1xyXG4gICAgaWYgKHRoaXMuc3VydmV5UXVlc3Rpb25BcnIubGVuZ3RoID4gMSkge1xyXG4gICAgICBjb25zdCBzdXJ2ZXlRdWVzdGlvbkluZGV4ID0gdGhpcy5zdXJ2ZXlRdWVzdGlvbkFyci5maW5kSW5kZXgoYyA9PiBjLnF1ZXN0aW9uSWQgPT0gbW9kZWwuUXVlc3Rpb25JZCk7XHJcblxyXG4gICAgICB2YXIgZGVsZXRlZFF1ZXN0aW9ucyA9IFtdXHJcbiAgICAgIGZvciAobGV0IGluZGV4ID0gc3VydmV5UXVlc3Rpb25JbmRleCArIDE7IGluZGV4IDwgdGhpcy5zdXJ2ZXlRdWVzdGlvbkFyci5sZW5ndGg7IGluZGV4KyspIHtcclxuICAgICAgICBkZWxldGVkUXVlc3Rpb25zLnB1c2goaW5kZXgpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB2YXIgc29ydERlbGV0ZWRBcnIgPSBkZWxldGVkUXVlc3Rpb25zLnNvcnQoKGEsIGIpID0+IChhID4gYiA/IC0xIDogMSkpO1xyXG4gICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgc29ydERlbGV0ZWRBcnIubGVuZ3RoOyBpbmRleCsrKSB7XHJcbiAgICAgICAgY29uc3QgZWxlbWVudEluZGV4ID0gc29ydERlbGV0ZWRBcnJbaW5kZXhdO1xyXG4gICAgICAgIGNvbnN0IHF1ZXN0aW9uSWQgPSB0aGlzLnN1cnZleVF1ZXN0aW9uQXJyW2VsZW1lbnRJbmRleF0ucXVlc3Rpb25JZDtcclxuXHJcbiAgICAgICAgdGhpcy5fU3RvcmUuZGlzcGF0Y2goc3VydmV5QWN0aW9ucy5yZW1vdmVRdWVzdGlvbih7IHF1ZXN0aW9uSWQ6IHF1ZXN0aW9uSWQgfSkpO1xyXG5cclxuICAgICAgICB0aGlzLnN1cnZleVF1ZXN0aW9uQXJyID0gdGhpcy5zdXJ2ZXlRdWVzdGlvbkFyci5maWx0ZXIoeCA9PiB4LnF1ZXN0aW9uSWQgIT0gcXVlc3Rpb25JZCk7XHJcbiAgICAgICAgdGhpcy5xdWVzdGlvbkZvcm1BcnJheS5yZW1vdmVBdChlbGVtZW50SW5kZXgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKG1vZGVsLkFuc3dlcikge1xyXG4gICAgICB2YXIgc2VsZWN0ZWRBbnN3ZXJPYmogPSB0aGlzLnN1cnZleVF1ZXN0aW9uQXJyXHJcbiAgICAgICAgLmZpbmQoeCA9PiB4LnF1ZXN0aW9uSWQgPT0gbW9kZWwuUXVlc3Rpb25JZCk/LnN1cnZleUFuc3dlcnMuZmluZCh4ID0+IHguYW5zd2VySWQgPT09IG1vZGVsLlN1cnZleUFuc3dlcklkKTtcclxuICAgICAgaWYgKHNlbGVjdGVkQW5zd2VyT2JqPy5pc090aGVyID09IHRydWUpIHtcclxuICAgICAgICB0aGlzLl9BcGlTZXJ2aWNlLmdldElzT3RoZXJRdWVzdGlvbih7XHJcbiAgICAgICAgICBwYXJlbnRRSWQ6IG1vZGVsLlF1ZXN0aW9uSWQsXHJcbiAgICAgICAgICBncm91cElkOiB0aGlzLnF1ZXN0aW9uR3JvdXBJZFxyXG4gICAgICAgIH0pLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICAgICAgaWYgKHJlcy5lcnJvcnMuZmlsdGVyKHggPT4geC5jb2RlID09IDE3KS5sZW5ndGggPT0gMCkge1xyXG4gICAgICAgICAgICByZXMucXVlc3Rpb25UeXBlSWQgPSBRdWVzdGlvblR5cGVFbnVtLlRleHRJbnB1dDtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuX1N0b3JlLmRpc3BhdGNoKHN1cnZleUFjdGlvbnMuYWRkUXVlc3Rpb24oe1xyXG4gICAgICAgICAgICAgIHF1ZXN0aW9uOiB7XHJcbiAgICAgICAgICAgICAgICBzdXJ2ZXlQYWdlSWQ6IHRoaXMucGFnZUlkLFxyXG4gICAgICAgICAgICAgICAgcXVlc3Rpb25JZDogcmVzLnF1ZXN0aW9uSWQsXHJcbiAgICAgICAgICAgICAgICBxdWVzdGlvblR5cGU6IHJlcy5xdWVzdGlvblR5cGVJZCxcclxuICAgICAgICAgICAgICAgIGlucHV0VHlwZUlkOiBJbnB1dFR5cGVFbnVtLlRleHQsXHJcbiAgICAgICAgICAgICAgICBpc1F1ZXN0aW9uR3JvdXA6IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgYW5zd2VySWQ6IG51bGwsXHJcbiAgICAgICAgICAgICAgICBhbnN3ZXJJZEFycjogbnVsbCxcclxuICAgICAgICAgICAgICAgIGFuc3dlclRleHQ6IG51bGwsXHJcbiAgICAgICAgICAgICAgICBpc1JlcXVpcmVkOiByZXMuaXNSZXF1aXJlZCxcclxuICAgICAgICAgICAgICAgIGlzVmFsaWQ6IG51bGwsXHJcbiAgICAgICAgICAgICAgICBpc0Rpc2FibGVkOiByZXMuaXNSZWFkT25seSxcclxuICAgICAgICAgICAgICAgIGlzU2hvdzogcmVzLmlzVmlzYWJsZSxcclxuICAgICAgICAgICAgICAgIGlzRGlzYWJsZWRfZGVmYXVsdDogcmVzLmlzUmVhZE9ubHksXHJcbiAgICAgICAgICAgICAgICBpc1Nob3dfZGVmYXVsdDogcmVzLmlzVmlzYWJsZSxcclxuICAgICAgICAgICAgICAgIHF1ZXN0aW9uR3JvdXBJZDogdGhpcy5xdWVzdGlvbkdyb3VwSWQsXHJcbiAgICAgICAgICAgICAgICBwYXJlbnRRdWVzdGlvbklkOiBtb2RlbC5RdWVzdGlvbklkLFxyXG4gICAgICAgICAgICAgICAgcXVlc3Rpb25BbGxJbmZvOiB7XHJcbiAgICAgICAgICAgICAgICAgIHF1ZXN0aW9uSWQ6IHJlcy5xdWVzdGlvbklkLFxyXG4gICAgICAgICAgICAgICAgICBxdWVzdGlvblR5cGVJZDogcmVzLnF1ZXN0aW9uVHlwZUlkLFxyXG4gICAgICAgICAgICAgICAgICBxdWVzdGlvbk5hbWU6IHJlcy5xdWVzdGlvbk5hbWUsXHJcbiAgICAgICAgICAgICAgICAgIHF1ZXN0aW9uVGl0bGU6IHJlcy5xdWVzdGlvblRpdGxlLFxyXG4gICAgICAgICAgICAgICAgICBxdWVzdGlvbkRlc2NyaXB0aW9uOiByZXMucXVlc3Rpb25EZXNjcmlwdGlvbixcclxuICAgICAgICAgICAgICAgICAgaXNSZXF1aXJlZDogcmVzLmlzUmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgICAgIGlzVmlzYWJsZTogcmVzLmlzVmlzYWJsZSxcclxuICAgICAgICAgICAgICAgICAgaXNFZGl0YWJsZTogcmVzLmlzRWRpdGFibGUsXHJcbiAgICAgICAgICAgICAgICAgIGlzT1RQT3B0aW9uOiByZXMuaXNPdHBPcHRpb24sXHJcbiAgICAgICAgICAgICAgICAgIGlzQWR2YW5jZVRleHRBcmVhOiByZXMuaXNBZHZhbmNlVGV4dEFyZWEsXHJcbiAgICAgICAgICAgICAgICAgIGlzUmVhZE9ubHk6IHJlcy5pc1JlYWRPbmx5LFxyXG4gICAgICAgICAgICAgICAgICBpc1ByZURlZmluZTogcmVzLmlzUHJlRGVmaW5lLFxyXG4gICAgICAgICAgICAgICAgICBtYXhMZXZlbFZhbHVlOiByZXMubWF4TGV2ZWxWYWx1ZSxcclxuICAgICAgICAgICAgICAgICAgc3VydmV5QW5zd2VyczogW1xyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgIGFuc3dlcklkOiByZXMuYW5zd2VySWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICBpbnB1dFR5cGVJZDogSW5wdXRUeXBlRW51bS5UZXh0XHJcbiAgICAgICAgICAgICAgICAgICAgfSBhcyBTdXJ2ZXlBbnN3ZXJEdG9cclxuICAgICAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgICAgICAgc3VydmV5U3ViUXVlc3Rpb25zOiByZXMuc3VydmV5U3ViUXVlc3Rpb25zLFxyXG4gICAgICAgICAgICAgICAgICBzdXJ2ZXlTdWJRdWVzdGlvbkxldmVsczogcmVzLnN1cnZleVN1YlF1ZXN0aW9uTGV2ZWxzXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KSk7XHJcblxyXG4gICAgICAgICAgICB0aGlzLnNldFF1ZXN0aW9ucyh7XHJcbiAgICAgICAgICAgICAgcXVlc3Rpb25JZDogcmVzLnF1ZXN0aW9uSWQsXHJcbiAgICAgICAgICAgICAgcXVlc3Rpb25UeXBlSWQ6IHJlcy5xdWVzdGlvblR5cGVJZCxcclxuICAgICAgICAgICAgICBxdWVzdGlvbk5hbWU6IHJlcy5xdWVzdGlvbk5hbWUsXHJcbiAgICAgICAgICAgICAgcXVlc3Rpb25UaXRsZTogcmVzLnF1ZXN0aW9uVGl0bGUsXHJcbiAgICAgICAgICAgICAgcXVlc3Rpb25EZXNjcmlwdGlvbjogcmVzLnF1ZXN0aW9uRGVzY3JpcHRpb24sXHJcbiAgICAgICAgICAgICAgaXNSZXF1aXJlZDogcmVzLmlzUmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgaXNWaXNhYmxlOiByZXMuaXNWaXNhYmxlLFxyXG4gICAgICAgICAgICAgIGlzRWRpdGFibGU6IHJlcy5pc0VkaXRhYmxlLFxyXG4gICAgICAgICAgICAgIGlzT1RQT3B0aW9uOiByZXMuaXNPdHBPcHRpb24sXHJcbiAgICAgICAgICAgICAgaXNBZHZhbmNlVGV4dEFyZWE6IHJlcy5pc0FkdmFuY2VUZXh0QXJlYSxcclxuICAgICAgICAgICAgICBpc1JlYWRPbmx5OiByZXMuaXNSZWFkT25seSxcclxuICAgICAgICAgICAgICBpc1ByZURlZmluZTogcmVzLmlzUHJlRGVmaW5lLFxyXG4gICAgICAgICAgICAgIG1heExldmVsVmFsdWU6IHJlcy5tYXhMZXZlbFZhbHVlLFxyXG4gICAgICAgICAgICAgIHN1cnZleUFuc3dlcnM6IFtcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgYW5zd2VySWQ6IHJlcy5hbnN3ZXJJZCxcclxuICAgICAgICAgICAgICAgICAgaW5wdXRUeXBlSWQ6IElucHV0VHlwZUVudW0uVGV4dFxyXG4gICAgICAgICAgICAgICAgfSBhcyBTdXJ2ZXlBbnN3ZXJEdG9cclxuICAgICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICAgIHN1cnZleVN1YlF1ZXN0aW9uczogcmVzLnN1cnZleVN1YlF1ZXN0aW9ucyxcclxuICAgICAgICAgICAgICBzdXJ2ZXlTdWJRdWVzdGlvbkxldmVsczogcmVzLnN1cnZleVN1YlF1ZXN0aW9uTGV2ZWxzXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIHRoaXMuX0FwaVNlcnZpY2UuZ2V0TmV4dFF1ZXN0aW9uKHtcclxuICAgICAgICAgIGFuc3dlcklkOiBtb2RlbC5BbnN3ZXIsXHJcbiAgICAgICAgICBhcHBsaWNhbnRLZXk6IHRoaXMuYXBwbGljYW50S2V5LFxyXG4gICAgICAgICAgaXNQcmU6IHRoaXMuaXNQcmUsXHJcbiAgICAgICAgICBzdXJ2ZXlMYW5ndWFnZUlkOiB0aGlzLnN1cnZleUxhbmd1YWdlSWRcclxuICAgICAgICB9KS5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgICAgIGlmIChyZXMuZXJyb3JzLmZpbHRlcih4ID0+IHguY29kZSA9PSAxNykubGVuZ3RoID09IDApIHtcclxuICAgICAgICAgICAgdGhpcy5fU3RvcmUuZGlzcGF0Y2goc3VydmV5QWN0aW9ucy5hZGRRdWVzdGlvbih7XHJcbiAgICAgICAgICAgICAgcXVlc3Rpb246IHtcclxuICAgICAgICAgICAgICAgIHN1cnZleVBhZ2VJZDogdGhpcy5wYWdlSWQsXHJcbiAgICAgICAgICAgICAgICBxdWVzdGlvbklkOiByZXMucXVlc3Rpb25JZCxcclxuICAgICAgICAgICAgICAgIHF1ZXN0aW9uVHlwZTogcmVzLnF1ZXN0aW9uVHlwZUlkLFxyXG4gICAgICAgICAgICAgICAgaW5wdXRUeXBlSWQ6IHJlcy5zdXJ2ZXlBbnN3ZXJzWzBdLmlucHV0VHlwZUlkLFxyXG4gICAgICAgICAgICAgICAgaXNRdWVzdGlvbkdyb3VwOiBmYWxzZSxcclxuICAgICAgICAgICAgICAgIGFuc3dlcklkOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgYW5zd2VySWRBcnI6IG51bGwsXHJcbiAgICAgICAgICAgICAgICBhbnN3ZXJUZXh0OiBudWxsLFxyXG4gICAgICAgICAgICAgICAgaXNSZXF1aXJlZDogcmVzLmlzUmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgICBpc1ZhbGlkOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgaXNEaXNhYmxlZDogcmVzLmlzUmVhZE9ubHksXHJcbiAgICAgICAgICAgICAgICBpc1Nob3c6IHJlcy5pc1Zpc2FibGUsXHJcbiAgICAgICAgICAgICAgICBpc0Rpc2FibGVkX2RlZmF1bHQ6IHJlcy5pc1JlYWRPbmx5LFxyXG4gICAgICAgICAgICAgICAgaXNTaG93X2RlZmF1bHQ6IHJlcy5pc1Zpc2FibGUsXHJcbiAgICAgICAgICAgICAgICBxdWVzdGlvbkdyb3VwSWQ6IHRoaXMucXVlc3Rpb25Hcm91cElkLFxyXG4gICAgICAgICAgICAgICAgcGFyZW50UXVlc3Rpb25JZDogbW9kZWwuUXVlc3Rpb25JZCxcclxuICAgICAgICAgICAgICAgIHF1ZXN0aW9uQWxsSW5mbzogcmVzXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KSk7XHJcblxyXG4gICAgICAgICAgICB0aGlzLnNldFF1ZXN0aW9ucyhyZXMpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpZGVudGlmeShpbmRleCwgaXRlbTogRm9ybUdyb3VwPFF1ZXN0aW9uR3JvdXBDaGlsZE9mUXVlc3Rpb25DYXNjYWRlVGVtcGxhdGVGb3JtSW50ZXJmYWNlPikge1xyXG4gICAgcmV0dXJuIGl0ZW0udmFsdWUuaWQ7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldFF1ZXN0aW9ucyh2YWx1ZTogU3VydmV5UXVlc3Rpb25EdG8pIHtcclxuICAgIHRoaXMuc3VydmV5UXVlc3Rpb25BcnIucHVzaCh2YWx1ZSk7XHJcblxyXG4gICAgdmFyIGdyb3VwID0gdGhpcy5fZm9ybUJ1aWxkZXIuZ3JvdXA8UXVlc3Rpb25Hcm91cENoaWxkT2ZRdWVzdGlvbkNhc2NhZGVUZW1wbGF0ZUZvcm1JbnRlcmZhY2U+KHtcclxuICAgICAgaWQ6IG5ldyBGb3JtQ29udHJvbCh2YWx1ZS5xdWVzdGlvbklkKSxcclxuICAgICAgdHlwZUlkOiBuZXcgRm9ybUNvbnRyb2wodmFsdWUucXVlc3Rpb25UeXBlSWQpLFxyXG4gICAgICBhbnN3ZXI6IG5ldyBGb3JtQ29udHJvbChudWxsKVxyXG4gICAgfSk7XHJcblxyXG4gICAgaWYgKHZhbHVlLmlzUmVxdWlyZWQgPT0gdHJ1ZSkge1xyXG4gICAgICBncm91cC5jb250cm9scy5hbnN3ZXIuYWRkVmFsaWRhdG9ycyhbVmFsaWRhdG9ycy5yZXF1aXJlZF0pO1xyXG4gICAgICBncm91cC5jb250cm9scy5hbnN3ZXIudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZkN0cmxzLnF1ZXN0aW9uQXJyLnB1c2goZ3JvdXApO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBxdWVzdGlvbkZvcm1BcnJheS5jb250cm9sczsgdHJhY2tCeTppZGVudGlmeSA7IGxldCBpID0gaW5kZXhcIj5cclxuICAgIDxsaWItcXVlc3Rpb24tZHJvcGRvd24tdGVtcGxhdGUgI3F1ZXN0aW9uRHJvcGRvd25UZW1wbGF0ZVxyXG4gICAgICAgICpuZ0lmPVwiKHBhZ2VRdWVzdGlvbnMkKCkgfGZpbmRRdWVzdGlvbiA6aXRlbS52YWx1ZS5pZCk/LnF1ZXN0aW9uVHlwZSAhPSBxdWVzdGlvblR5cGVFbnVtLlRleHRJbnB1dFwiXHJcbiAgICAgICAgW3NldFF1ZXN0aW9uXT1cInBhZ2VRdWVzdGlvbnMkKCkgfGZpbmRRdWVzdGlvbiA6aXRlbS52YWx1ZS5pZCBcIiAoZW1pdHRlcik9XCJvblVwZGF0ZUFuc3dlcigkZXZlbnQpXCI+XHJcbiAgICA8L2xpYi1xdWVzdGlvbi1kcm9wZG93bi10ZW1wbGF0ZT5cclxuXHJcbiAgICA8bGliLXF1ZXN0aW9uLXRleHQtdGVtcGxhdGUgI3F1ZXN0aW9uVGV4dFRlbXBsYXRlXHJcbiAgICAgICAgKm5nSWY9XCIocGFnZVF1ZXN0aW9ucyQoKSB8ZmluZFF1ZXN0aW9uIDppdGVtLnZhbHVlLmlkKT8ucXVlc3Rpb25UeXBlID09IHF1ZXN0aW9uVHlwZUVudW0uVGV4dElucHV0XCJcclxuICAgICAgICBbc2V0UXVlc3Rpb25dPVwicGFnZVF1ZXN0aW9ucyQoKSB8ZmluZFF1ZXN0aW9uIDppdGVtLnZhbHVlLmlkIFwiXHJcbiAgICAgICAgW2lzQXJhYmljTGFuZ109XCJ0cnVlXCI+PC9saWItcXVlc3Rpb24tdGV4dC10ZW1wbGF0ZT5cclxuXHJcbjwvbmctY29udGFpbmVyPiJdfQ==
232
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb24tY2FzY2FkZS10ZW1wbGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zdXJ2ZXJ5LWxpYi9zcmMvbGliL2NvbXBvbmVudHMvcXVlc3Rpb24tY2FzY2FkZS10ZW1wbGF0ZS9xdWVzdGlvbi1jYXNjYWRlLXRlbXBsYXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N1cnZlcnktbGliL3NyYy9saWIvY29tcG9uZW50cy9xdWVzdGlvbi1jYXNjYWRlLXRlbXBsYXRlL3F1ZXN0aW9uLWNhc2NhZGUtdGVtcGxhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBZ0IsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBZSxXQUFXLEVBQWEsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHakYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFNNUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7Ozs7Ozs7OztBQVF0RSxNQUFNLE9BQU8sZ0NBQWdDO0lBSzNDLElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQUksZ0JBQWdCO1FBQ2xCLE9BQU8sZ0JBQWdCLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQUksaUJBQWlCO1FBQ25CLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUE7SUFDaEMsQ0FBQztJQVNELElBQWEsV0FBVyxDQUFDLEtBQXdCO1FBQy9DLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFLE1BQU0sSUFBSSxDQUFDLEVBQUU7WUFDdkMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7WUFFekMsSUFBSSxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsSUFBSSxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDN0YsSUFBSSxjQUFjLEVBQUU7Z0JBQ2xCLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxDQUFDO2dCQUVsRCxJQUFJLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixJQUFJLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDdEcsSUFBSSxjQUFjLEVBQUU7b0JBQ2xCLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxDQUFDO2lCQUNuRDthQUNGO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsWUFBb0IsWUFBeUIsRUFBVSxpQkFBbUMsRUFDaEYsV0FBdUIsRUFBVSxNQUFhO1FBRHBDLGlCQUFZLEdBQVosWUFBWSxDQUFhO1FBQVUsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFrQjtRQUNoRixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUFVLFdBQU0sR0FBTixNQUFNLENBQU87UUF4Q3hELHNCQUFpQixHQUF3QixFQUFFLENBQUM7UUFFNUMsbUJBQWMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQWVsRSxXQUFNLEdBQVcsSUFBSSxDQUFDO1FBQ3RCLG9CQUFlLEdBQVcsSUFBSSxDQUFDO1FBQy9CLFVBQUssR0FBWSxLQUFLLENBQUM7UUFDdkIscUJBQWdCLEdBQVcsSUFBSSxDQUFDO1FBQ2hDLGlCQUFZLEdBQVcsSUFBSSxDQUFDO1FBb0JuQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUF1QztZQUN6RSxXQUFXLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQXNFLEVBQUUsQ0FBQztTQUM5RyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsUUFBUTtRQUNOLHlEQUF5RDtRQUN6RCxvQkFBb0I7UUFDcEIsS0FBSztJQUNQLENBQUM7SUFFRCxjQUFjLENBQUMsS0FBMEI7UUFDdkMsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNyQyxNQUFNLG1CQUFtQixHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUVwRyxJQUFJLGdCQUFnQixHQUFHLEVBQUUsQ0FBQTtZQUN6QixLQUFLLElBQUksS0FBSyxHQUFHLG1CQUFtQixHQUFHLENBQUMsRUFBRSxLQUFLLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRTtnQkFDeEYsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQzlCO1lBRUQsSUFBSSxjQUFjLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN2RSxLQUFLLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRSxLQUFLLEdBQUcsY0FBYyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRTtnQkFDMUQsTUFBTSxZQUFZLEdBQUcsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUMzQyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxDQUFDLENBQUMsVUFBVSxDQUFDO2dCQUVuRSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFFL0UsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxJQUFJLFVBQVUsQ0FBQyxDQUFDO2dCQUN4RixJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQy9DO1NBQ0Y7UUFFRCxJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUU7WUFDaEIsSUFBSSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsaUJBQWlCO2lCQUMzQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsRUFBRSxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsS0FBSyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDN0csSUFBSSxpQkFBaUIsRUFBRSxPQUFPLElBQUksSUFBSSxFQUFFO2dCQUN0QyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQzdCO2lCQUNJO2dCQUNILElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDN0I7U0FDRjtJQUNILENBQUM7SUFFRCxRQUFRLENBQUMsS0FBSyxFQUFFLElBQXlFO1FBQ3ZGLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVPLFlBQVksQ0FBQyxLQUF3QjtRQUMzQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRW5DLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUEyRDtZQUM1RixFQUFFLEVBQUUsSUFBSSxXQUFXLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQztZQUNyQyxNQUFNLEVBQUUsSUFBSSxXQUFXLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQztZQUM3QyxNQUFNLEVBQUUsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDO1NBQzlCLENBQUMsQ0FBQztRQUVILElBQUksS0FBSyxDQUFDLFVBQVUsSUFBSSxJQUFJLEVBQUU7WUFDNUIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFDM0QsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztTQUNoRDtRQUVELElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRU8sZUFBZSxDQUFDLEtBQTBCO1FBQ2hELElBQUksQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUM7WUFDbEMsU0FBUyxFQUFFLEtBQUssQ0FBQyxVQUFVO1lBQzNCLE9BQU8sRUFBRSxJQUFJLENBQUMsZUFBZTtTQUM5QixDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ2pCLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUU7Z0JBQ3BELEdBQUcsQ0FBQyxjQUFjLEdBQUcsZ0JBQWdCLENBQUMsU0FBUyxDQUFDO2dCQUVoRCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDO29CQUM3QyxRQUFRLEVBQUU7d0JBQ1IsWUFBWSxFQUFFLElBQUksQ0FBQyxNQUFNO3dCQUN6QixVQUFVLEVBQUUsR0FBRyxDQUFDLFVBQVU7d0JBQzFCLFlBQVksRUFBRSxHQUFHLENBQUMsY0FBYzt3QkFDaEMsV0FBVyxFQUFFLGFBQWEsQ0FBQyxJQUFJO3dCQUMvQixlQUFlLEVBQUUsS0FBSzt3QkFDdEIsUUFBUSxFQUFFLElBQUk7d0JBQ2QsV0FBVyxFQUFFLElBQUk7d0JBQ2pCLFVBQVUsRUFBRSxJQUFJO3dCQUNoQixVQUFVLEVBQUUsR0FBRyxDQUFDLFVBQVU7d0JBQzFCLE9BQU8sRUFBRSxJQUFJO3dCQUNiLFVBQVUsRUFBRSxHQUFHLENBQUMsVUFBVTt3QkFDMUIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxTQUFTO3dCQUNyQixrQkFBa0IsRUFBRSxHQUFHLENBQUMsVUFBVTt3QkFDbEMsY0FBYyxFQUFFLEdBQUcsQ0FBQyxTQUFTO3dCQUM3QixlQUFlLEVBQUUsSUFBSSxDQUFDLGVBQWU7d0JBQ3JDLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxVQUFVO3dCQUNsQyxlQUFlLEVBQUU7NEJBQ2YsVUFBVSxFQUFFLEdBQUcsQ0FBQyxVQUFVOzRCQUMxQixjQUFjLEVBQUUsR0FBRyxDQUFDLGNBQWM7NEJBQ2xDLFlBQVksRUFBRSxHQUFHLENBQUMsWUFBWTs0QkFDOUIsYUFBYSxFQUFFLEdBQUcsQ0FBQyxhQUFhOzRCQUNoQyxtQkFBbUIsRUFBRSxHQUFHLENBQUMsbUJBQW1COzRCQUM1QyxVQUFVLEVBQUUsR0FBRyxDQUFDLFVBQVU7NEJBQzFCLFNBQVMsRUFBRSxHQUFHLENBQUMsU0FBUzs0QkFDeEIsVUFBVSxFQUFFLEdBQUcsQ0FBQyxVQUFVOzRCQUMxQixXQUFXLEVBQUUsR0FBRyxDQUFDLFdBQVc7NEJBQzVCLGlCQUFpQixFQUFFLEdBQUcsQ0FBQyxpQkFBaUI7NEJBQ3hDLFVBQVUsRUFBRSxHQUFHLENBQUMsVUFBVTs0QkFDMUIsV0FBVyxFQUFFLEdBQUcsQ0FBQyxXQUFXOzRCQUM1QixhQUFhLEVBQUUsR0FBRyxDQUFDLGFBQWE7NEJBQ2hDLGFBQWEsRUFBRTtnQ0FDYjtvQ0FDRSxRQUFRLEVBQUUsR0FBRyxDQUFDLFFBQVE7b0NBQ3RCLFdBQVcsRUFBRSxhQUFhLENBQUMsSUFBSTtpQ0FDYjs2QkFDckI7NEJBQ0Qsa0JBQWtCLEVBQUUsR0FBRyxDQUFDLGtCQUFrQjs0QkFDMUMsdUJBQXVCLEVBQUUsR0FBRyxDQUFDLHVCQUF1Qjt5QkFDckQ7cUJBQ0Y7aUJBQ0YsQ0FBQyxDQUFDLENBQUM7Z0JBRUosSUFBSSxDQUFDLFlBQVksQ0FBQztvQkFDaEIsVUFBVSxFQUFFLEdBQUcsQ0FBQyxVQUFVO29CQUMxQixjQUFjLEVBQUUsR0FBRyxDQUFDLGNBQWM7b0JBQ2xDLFlBQVksRUFBRSxHQUFHLENBQUMsWUFBWTtvQkFDOUIsYUFBYSxFQUFFLEdBQUcsQ0FBQyxhQUFhO29CQUNoQyxtQkFBbUIsRUFBRSxHQUFHLENBQUMsbUJBQW1CO29CQUM1QyxVQUFVLEVBQUUsR0FBRyxDQUFDLFVBQVU7b0JBQzFCLFNBQVMsRUFBRSxHQUFHLENBQUMsU0FBUztvQkFDeEIsVUFBVSxFQUFFLEdBQUcsQ0FBQyxVQUFVO29CQUMxQixXQUFXLEVBQUUsR0FBRyxDQUFDLFdBQVc7b0JBQzVCLGlCQUFpQixFQUFFLEdBQUcsQ0FBQyxpQkFBaUI7b0JBQ3hDLFVBQVUsRUFBRSxHQUFHLENBQUMsVUFBVTtvQkFDMUIsV0FBVyxFQUFFLEdBQUcsQ0FBQyxXQUFXO29CQUM1QixhQUFhLEVBQUUsR0FBRyxDQUFDLGFBQWE7b0JBQ2hDLGFBQWEsRUFBRTt3QkFDYjs0QkFDRSxRQUFRLEVBQUUsR0FBRyxDQUFDLFFBQVE7NEJBQ3RCLFdBQVcsRUFBRSxhQUFhLENBQUMsSUFBSTt5QkFDYjtxQkFDckI7b0JBQ0Qsa0JBQWtCLEVBQUUsR0FBRyxDQUFDLGtCQUFrQjtvQkFDMUMsdUJBQXVCLEVBQUUsR0FBRyxDQUFDLHVCQUF1QjtpQkFDckQsQ0FBQyxDQUFDO2dCQUVILElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDN0I7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFHTyxlQUFlLENBQUMsS0FBMEI7UUFDaEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUM7WUFDL0IsUUFBUSxFQUFFLEtBQUssQ0FBQyxNQUFNO1lBQ3RCLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtZQUMvQixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDakIsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjtTQUN4QyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ2pCLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUU7Z0JBQ3BELElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUM7b0JBQzdDLFFBQVEsRUFBRTt3QkFDUixZQUFZLEVBQUUsSUFBSSxDQUFDLE1BQU07d0JBQ3pCLFVBQVUsRUFBRSxHQUFHLENBQUMsVUFBVTt3QkFDMUIsWUFBWSxFQUFFLEdBQUcsQ0FBQyxjQUFjO3dCQUNoQyxXQUFXLEVBQUUsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXO3dCQUM3QyxlQUFlLEVBQUUsS0FBSzt3QkFDdEIsUUFBUSxFQUFFLElBQUk7d0JBQ2QsV0FBVyxFQUFFLElBQUk7d0JBQ2pCLFVBQVUsRUFBRSxJQUFJO3dCQUNoQixVQUFVLEVBQUUsR0FBRyxDQUFDLFVBQVU7d0JBQzFCLE9BQU8sRUFBRSxJQUFJO3dCQUNiLFVBQVUsRUFBRSxHQUFHLENBQUMsVUFBVTt3QkFDMUIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxTQUFTO3dCQUNyQixrQkFBa0IsRUFBRSxHQUFHLENBQUMsVUFBVTt3QkFDbEMsY0FBYyxFQUFFLEdBQUcsQ0FBQyxTQUFTO3dCQUM3QixlQUFlLEVBQUUsSUFBSSxDQUFDLGVBQWU7d0JBQ3JDLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxVQUFVO3dCQUNsQyxlQUFlLEVBQUUsR0FBRztxQkFDckI7aUJBQ0YsQ0FBQyxDQUFDLENBQUM7Z0JBRUosSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUN4QjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0E5TlUsZ0NBQWdDO2tHQUFoQyxnQ0FBZ0MsdVBDcEI3Qyxtd0JBV2U7OzJGRFNGLGdDQUFnQztrQkFMNUMsU0FBUzsrQkFDRSwrQkFBK0I7OEtBc0JoQyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRU8sV0FBVztzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBRdWVzdGlvbkNhc2NhZGVUZW1wbGF0ZUZvcm1JbnRlcmZhY2UsIFF1ZXN0aW9uR3JvdXBDaGlsZE9mUXVlc3Rpb25DYXNjYWRlVGVtcGxhdGVGb3JtSW50ZXJmYWNlIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2Zvcm0taW50ZXJmYWNlcy9xdWVzdGlvbi1jYXNjYWRlLmZvcm0taW50ZXJmYWNlJztcclxuaW1wb3J0IHsgU3VydmV5UXVlc3Rpb25EdG8gfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZHRvcy9zdXJ2ZXktcXVlc3Rpb24uZHRvJztcclxuaW1wb3J0IHsgUXVlc3Rpb25UeXBlRW51bSB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9lbnVtcy9xdWVzdGlvbi10eXBlLmVudW0nO1xyXG5pbXBvcnQgeyBRdWVzdGlvbkFuc3dlck1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL21vZGVscy9xdWVzdGlvbi1hbnN3ZXIubW9kZWwnO1xyXG5pbXBvcnQgeyBTdXJ2ZXlMaWJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc3VydmV5LWxpYi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQXBpU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2FwaS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUXVlc3Rpb25OZ3J4TW9kZWwgfSBmcm9tICcuLi8uLi9jb3JlL3N0YXRlcy9lbnRpdGVzL3F1ZXN0aW9uLmVudGl0eSc7XHJcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xyXG5pbXBvcnQgeyBzdXJ2ZXlBY3Rpb25zIH0gZnJvbSAnLi4vLi4vY29yZS9zdGF0ZXMvc3VydmV5LXN0b3JlL3N1cnZleS5hY3Rpb24nO1xyXG5pbXBvcnQgeyBxdWVzdGlvblNlbGVjdG9ycyB9IGZyb20gJy4uLy4uL2NvcmUvc3RhdGVzL3N1cnZleS1zdG9yZS9xdWVzdGlvbi5zZWxlY3Rvcic7XHJcbmltcG9ydCB7IElucHV0VHlwZUVudW0gfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZW51bXMvaW5wdXQtdHlwZS5lbnVtJztcclxuaW1wb3J0IHsgU3VydmV5QW5zd2VyRHRvIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2R0b3Mvc3VydmV5LWFuc3dlci5kdG8nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItcXVlc3Rpb24tY2FzY2FkZS10ZW1wbGF0ZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3F1ZXN0aW9uLWNhc2NhZGUtdGVtcGxhdGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3F1ZXN0aW9uLWNhc2NhZGUtdGVtcGxhdGUuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUXVlc3Rpb25DYXNjYWRlVGVtcGxhdGVDb21wb25lbnQge1xyXG4gIHN1cnZleVF1ZXN0aW9uQXJyOiBTdXJ2ZXlRdWVzdGlvbkR0b1tdID0gW107XHJcbiAgckZvcm06IEZvcm1Hcm91cDxRdWVzdGlvbkNhc2NhZGVUZW1wbGF0ZUZvcm1JbnRlcmZhY2U+O1xyXG4gIHBhZ2VRdWVzdGlvbnMkID0gdGhpcy5fU3RvcmUuc2VsZWN0U2lnbmFsKHF1ZXN0aW9uU2VsZWN0b3JzLnBhZ2VRdWVzdGlvbnMpO1xyXG5cclxuICBnZXQgZkN0cmxzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuckZvcm0uY29udHJvbHM7XHJcbiAgfVxyXG5cclxuICBnZXQgcXVlc3Rpb25UeXBlRW51bSgpIHtcclxuICAgIHJldHVybiBRdWVzdGlvblR5cGVFbnVtO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHF1ZXN0aW9uRm9ybUFycmF5KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZkN0cmxzLnF1ZXN0aW9uQXJyXHJcbiAgfVxyXG5cclxuXHJcbiAgQElucHV0KCkgcGFnZUlkOiBudW1iZXIgPSBudWxsO1xyXG4gIEBJbnB1dCgpIHF1ZXN0aW9uR3JvdXBJZDogbnVtYmVyID0gbnVsbDtcclxuICBASW5wdXQoKSBpc1ByZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHN1cnZleUxhbmd1YWdlSWQ6IG51bWJlciA9IG51bGw7XHJcbiAgQElucHV0KCkgYXBwbGljYW50S2V5OiBzdHJpbmcgPSBudWxsO1xyXG5cclxuICBASW5wdXQoKSBzZXQgc2V0UXVlc3Rpb24odmFsdWU6IFF1ZXN0aW9uTmdyeE1vZGVsKSB7XHJcbiAgICBpZiAodGhpcy5zdXJ2ZXlRdWVzdGlvbkFycj8ubGVuZ3RoID09IDApIHtcclxuICAgICAgdGhpcy5zZXRRdWVzdGlvbnModmFsdWUucXVlc3Rpb25BbGxJbmZvKTtcclxuXHJcbiAgICAgIHZhciBjaGlsZFF1ZXN0aW9uMSA9IHRoaXMucGFnZVF1ZXN0aW9ucyQoKS5maW5kKHggPT4geC5wYXJlbnRRdWVzdGlvbklkID09IHZhbHVlLnF1ZXN0aW9uSWQpO1xyXG4gICAgICBpZiAoY2hpbGRRdWVzdGlvbjEpIHtcclxuICAgICAgICB0aGlzLnNldFF1ZXN0aW9ucyhjaGlsZFF1ZXN0aW9uMS5xdWVzdGlvbkFsbEluZm8pO1xyXG5cclxuICAgICAgICB2YXIgY2hpbGRRdWVzdGlvbjIgPSB0aGlzLnBhZ2VRdWVzdGlvbnMkKCkuZmluZCh4ID0+IHgucGFyZW50UXVlc3Rpb25JZCA9PSBjaGlsZFF1ZXN0aW9uMS5xdWVzdGlvbklkKTtcclxuICAgICAgICBpZiAoY2hpbGRRdWVzdGlvbjIpIHtcclxuICAgICAgICAgIHRoaXMuc2V0UXVlc3Rpb25zKGNoaWxkUXVlc3Rpb24yLnF1ZXN0aW9uQWxsSW5mbyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9mb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsIHByaXZhdGUgX3N1cnZleUxpYlNlcnZpY2U6IFN1cnZleUxpYlNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9BcGlTZXJ2aWNlOiBBcGlTZXJ2aWNlLCBwcml2YXRlIF9TdG9yZTogU3RvcmUpIHtcclxuICAgIHRoaXMuckZvcm0gPSB0aGlzLl9mb3JtQnVpbGRlci5ncm91cDxRdWVzdGlvbkNhc2NhZGVUZW1wbGF0ZUZvcm1JbnRlcmZhY2U+KHtcclxuICAgICAgcXVlc3Rpb25BcnI6IHRoaXMuX2Zvcm1CdWlsZGVyLmFycmF5PEZvcm1Hcm91cDxRdWVzdGlvbkdyb3VwQ2hpbGRPZlF1ZXN0aW9uQ2FzY2FkZVRlbXBsYXRlRm9ybUludGVyZmFjZT4+KFtdKVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIC8vIHRoaXMuZkN0cmxzLnF1ZXN0aW9uQXJyLnN0YXR1c0NoYW5nZXMuc3Vic2NyaWJlKHYgPT4ge1xyXG4gICAgLy8gICBjb25zb2xlLmxvZyh2KTtcclxuICAgIC8vIH0pXHJcbiAgfVxyXG5cclxuICBvblVwZGF0ZUFuc3dlcihtb2RlbDogUXVlc3Rpb25BbnN3ZXJNb2RlbCkge1xyXG4gICAgaWYgKHRoaXMuc3VydmV5UXVlc3Rpb25BcnIubGVuZ3RoID4gMSkge1xyXG4gICAgICBjb25zdCBzdXJ2ZXlRdWVzdGlvbkluZGV4ID0gdGhpcy5zdXJ2ZXlRdWVzdGlvbkFyci5maW5kSW5kZXgoYyA9PiBjLnF1ZXN0aW9uSWQgPT0gbW9kZWwuUXVlc3Rpb25JZCk7XHJcblxyXG4gICAgICB2YXIgZGVsZXRlZFF1ZXN0aW9ucyA9IFtdXHJcbiAgICAgIGZvciAobGV0IGluZGV4ID0gc3VydmV5UXVlc3Rpb25JbmRleCArIDE7IGluZGV4IDwgdGhpcy5zdXJ2ZXlRdWVzdGlvbkFyci5sZW5ndGg7IGluZGV4KyspIHtcclxuICAgICAgICBkZWxldGVkUXVlc3Rpb25zLnB1c2goaW5kZXgpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB2YXIgc29ydERlbGV0ZWRBcnIgPSBkZWxldGVkUXVlc3Rpb25zLnNvcnQoKGEsIGIpID0+IChhID4gYiA/IC0xIDogMSkpO1xyXG4gICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgc29ydERlbGV0ZWRBcnIubGVuZ3RoOyBpbmRleCsrKSB7XHJcbiAgICAgICAgY29uc3QgZWxlbWVudEluZGV4ID0gc29ydERlbGV0ZWRBcnJbaW5kZXhdO1xyXG4gICAgICAgIGNvbnN0IHF1ZXN0aW9uSWQgPSB0aGlzLnN1cnZleVF1ZXN0aW9uQXJyW2VsZW1lbnRJbmRleF0ucXVlc3Rpb25JZDtcclxuXHJcbiAgICAgICAgdGhpcy5fU3RvcmUuZGlzcGF0Y2goc3VydmV5QWN0aW9ucy5yZW1vdmVRdWVzdGlvbih7IHF1ZXN0aW9uSWQ6IHF1ZXN0aW9uSWQgfSkpO1xyXG5cclxuICAgICAgICB0aGlzLnN1cnZleVF1ZXN0aW9uQXJyID0gdGhpcy5zdXJ2ZXlRdWVzdGlvbkFyci5maWx0ZXIoeCA9PiB4LnF1ZXN0aW9uSWQgIT0gcXVlc3Rpb25JZCk7XHJcbiAgICAgICAgdGhpcy5xdWVzdGlvbkZvcm1BcnJheS5yZW1vdmVBdChlbGVtZW50SW5kZXgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKG1vZGVsLkFuc3dlcikge1xyXG4gICAgICB2YXIgc2VsZWN0ZWRBbnN3ZXJPYmogPSB0aGlzLnN1cnZleVF1ZXN0aW9uQXJyXHJcbiAgICAgICAgLmZpbmQoeCA9PiB4LnF1ZXN0aW9uSWQgPT0gbW9kZWwuUXVlc3Rpb25JZCk/LnN1cnZleUFuc3dlcnMuZmluZCh4ID0+IHguYW5zd2VySWQgPT09IG1vZGVsLlN1cnZleUFuc3dlcklkKTtcclxuICAgICAgaWYgKHNlbGVjdGVkQW5zd2VyT2JqPy5pc090aGVyID09IHRydWUpIHtcclxuICAgICAgICB0aGlzLmlzT3RoZXJRdWVzdGlvbihtb2RlbCk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgdGhpcy5nZXROZXh0UXVlc3Rpb24obW9kZWwpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpZGVudGlmeShpbmRleCwgaXRlbTogRm9ybUdyb3VwPFF1ZXN0aW9uR3JvdXBDaGlsZE9mUXVlc3Rpb25DYXNjYWRlVGVtcGxhdGVGb3JtSW50ZXJmYWNlPikge1xyXG4gICAgcmV0dXJuIGl0ZW0udmFsdWUuaWQ7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldFF1ZXN0aW9ucyh2YWx1ZTogU3VydmV5UXVlc3Rpb25EdG8pIHtcclxuICAgIHRoaXMuc3VydmV5UXVlc3Rpb25BcnIucHVzaCh2YWx1ZSk7XHJcblxyXG4gICAgdmFyIGdyb3VwID0gdGhpcy5fZm9ybUJ1aWxkZXIuZ3JvdXA8UXVlc3Rpb25Hcm91cENoaWxkT2ZRdWVzdGlvbkNhc2NhZGVUZW1wbGF0ZUZvcm1JbnRlcmZhY2U+KHtcclxuICAgICAgaWQ6IG5ldyBGb3JtQ29udHJvbCh2YWx1ZS5xdWVzdGlvbklkKSxcclxuICAgICAgdHlwZUlkOiBuZXcgRm9ybUNvbnRyb2wodmFsdWUucXVlc3Rpb25UeXBlSWQpLFxyXG4gICAgICBhbnN3ZXI6IG5ldyBGb3JtQ29udHJvbChudWxsKVxyXG4gICAgfSk7XHJcblxyXG4gICAgaWYgKHZhbHVlLmlzUmVxdWlyZWQgPT0gdHJ1ZSkge1xyXG4gICAgICBncm91cC5jb250cm9scy5hbnN3ZXIuYWRkVmFsaWRhdG9ycyhbVmFsaWRhdG9ycy5yZXF1aXJlZF0pO1xyXG4gICAgICBncm91cC5jb250cm9scy5hbnN3ZXIudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZkN0cmxzLnF1ZXN0aW9uQXJyLnB1c2goZ3JvdXApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc090aGVyUXVlc3Rpb24obW9kZWw6IFF1ZXN0aW9uQW5zd2VyTW9kZWwpIHtcclxuICAgIHRoaXMuX0FwaVNlcnZpY2UuZ2V0SXNPdGhlclF1ZXN0aW9uKHtcclxuICAgICAgcGFyZW50UUlkOiBtb2RlbC5RdWVzdGlvbklkLFxyXG4gICAgICBncm91cElkOiB0aGlzLnF1ZXN0aW9uR3JvdXBJZFxyXG4gICAgfSkuc3Vic2NyaWJlKHJlcyA9PiB7XHJcbiAgICAgIGlmIChyZXMuZXJyb3JzLmZpbHRlcih4ID0+IHguY29kZSA9PSAxNykubGVuZ3RoID09IDApIHtcclxuICAgICAgICByZXMucXVlc3Rpb25UeXBlSWQgPSBRdWVzdGlvblR5cGVFbnVtLlRleHRJbnB1dDtcclxuXHJcbiAgICAgICAgdGhpcy5fU3RvcmUuZGlzcGF0Y2goc3VydmV5QWN0aW9ucy5hZGRRdWVzdGlvbih7XHJcbiAgICAgICAgICBxdWVzdGlvbjoge1xyXG4gICAgICAgICAgICBzdXJ2ZXlQYWdlSWQ6IHRoaXMucGFnZUlkLFxyXG4gICAgICAgICAgICBxdWVzdGlvbklkOiByZXMucXVlc3Rpb25JZCxcclxuICAgICAgICAgICAgcXVlc3Rpb25UeXBlOiByZXMucXVlc3Rpb25UeXBlSWQsXHJcbiAgICAgICAgICAgIGlucHV0VHlwZUlkOiBJbnB1dFR5cGVFbnVtLlRleHQsXHJcbiAgICAgICAgICAgIGlzUXVlc3Rpb25Hcm91cDogZmFsc2UsXHJcbiAgICAgICAgICAgIGFuc3dlcklkOiBudWxsLFxyXG4gICAgICAgICAgICBhbnN3ZXJJZEFycjogbnVsbCxcclxuICAgICAgICAgICAgYW5zd2VyVGV4dDogbnVsbCxcclxuICAgICAgICAgICAgaXNSZXF1aXJlZDogcmVzLmlzUmVxdWlyZWQsXHJcbiAgICAgICAgICAgIGlzVmFsaWQ6IG51bGwsXHJcbiAgICAgICAgICAgIGlzRGlzYWJsZWQ6IHJlcy5pc1JlYWRPbmx5LFxyXG4gICAgICAgICAgICBpc1Nob3c6IHJlcy5pc1Zpc2FibGUsXHJcbiAgICAgICAgICAgIGlzRGlzYWJsZWRfZGVmYXVsdDogcmVzLmlzUmVhZE9ubHksXHJcbiAgICAgICAgICAgIGlzU2hvd19kZWZhdWx0OiByZXMuaXNWaXNhYmxlLFxyXG4gICAgICAgICAgICBxdWVzdGlvbkdyb3VwSWQ6IHRoaXMucXVlc3Rpb25Hcm91cElkLFxyXG4gICAgICAgICAgICBwYXJlbnRRdWVzdGlvbklkOiBtb2RlbC5RdWVzdGlvbklkLFxyXG4gICAgICAgICAgICBxdWVzdGlvbkFsbEluZm86IHtcclxuICAgICAgICAgICAgICBxdWVzdGlvbklkOiByZXMucXVlc3Rpb25JZCxcclxuICAgICAgICAgICAgICBxdWVzdGlvblR5cGVJZDogcmVzLnF1ZXN0aW9uVHlwZUlkLFxyXG4gICAgICAgICAgICAgIHF1ZXN0aW9uTmFtZTogcmVzLnF1ZXN0aW9uTmFtZSxcclxuICAgICAgICAgICAgICBxdWVzdGlvblRpdGxlOiByZXMucXVlc3Rpb25UaXRsZSxcclxuICAgICAgICAgICAgICBxdWVzdGlvbkRlc2NyaXB0aW9uOiByZXMucXVlc3Rpb25EZXNjcmlwdGlvbixcclxuICAgICAgICAgICAgICBpc1JlcXVpcmVkOiByZXMuaXNSZXF1aXJlZCxcclxuICAgICAgICAgICAgICBpc1Zpc2FibGU6IHJlcy5pc1Zpc2FibGUsXHJcbiAgICAgICAgICAgICAgaXNFZGl0YWJsZTogcmVzLmlzRWRpdGFibGUsXHJcbiAgICAgICAgICAgICAgaXNPVFBPcHRpb246IHJlcy5pc090cE9wdGlvbixcclxuICAgICAgICAgICAgICBpc0FkdmFuY2VUZXh0QXJlYTogcmVzLmlzQWR2YW5jZVRleHRBcmVhLFxyXG4gICAgICAgICAgICAgIGlzUmVhZE9ubHk6IHJlcy5pc1JlYWRPbmx5LFxyXG4gICAgICAgICAgICAgIGlzUHJlRGVmaW5lOiByZXMuaXNQcmVEZWZpbmUsXHJcbiAgICAgICAgICAgICAgbWF4TGV2ZWxWYWx1ZTogcmVzLm1heExldmVsVmFsdWUsXHJcbiAgICAgICAgICAgICAgc3VydmV5QW5zd2VyczogW1xyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICBhbnN3ZXJJZDogcmVzLmFuc3dlcklkLFxyXG4gICAgICAgICAgICAgICAgICBpbnB1dFR5cGVJZDogSW5wdXRUeXBlRW51bS5UZXh0XHJcbiAgICAgICAgICAgICAgICB9IGFzIFN1cnZleUFuc3dlckR0b1xyXG4gICAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICAgICAgc3VydmV5U3ViUXVlc3Rpb25zOiByZXMuc3VydmV5U3ViUXVlc3Rpb25zLFxyXG4gICAgICAgICAgICAgIHN1cnZleVN1YlF1ZXN0aW9uTGV2ZWxzOiByZXMuc3VydmV5U3ViUXVlc3Rpb25MZXZlbHNcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pKTtcclxuXHJcbiAgICAgICAgdGhpcy5zZXRRdWVzdGlvbnMoe1xyXG4gICAgICAgICAgcXVlc3Rpb25JZDogcmVzLnF1ZXN0aW9uSWQsXHJcbiAgICAgICAgICBxdWVzdGlvblR5cGVJZDogcmVzLnF1ZXN0aW9uVHlwZUlkLFxyXG4gICAgICAgICAgcXVlc3Rpb25OYW1lOiByZXMucXVlc3Rpb25OYW1lLFxyXG4gICAgICAgICAgcXVlc3Rpb25UaXRsZTogcmVzLnF1ZXN0aW9uVGl0bGUsXHJcbiAgICAgICAgICBxdWVzdGlvbkRlc2NyaXB0aW9uOiByZXMucXVlc3Rpb25EZXNjcmlwdGlvbixcclxuICAgICAgICAgIGlzUmVxdWlyZWQ6IHJlcy5pc1JlcXVpcmVkLFxyXG4gICAgICAgICAgaXNWaXNhYmxlOiByZXMuaXNWaXNhYmxlLFxyXG4gICAgICAgICAgaXNFZGl0YWJsZTogcmVzLmlzRWRpdGFibGUsXHJcbiAgICAgICAgICBpc09UUE9wdGlvbjogcmVzLmlzT3RwT3B0aW9uLFxyXG4gICAgICAgICAgaXNBZHZhbmNlVGV4dEFyZWE6IHJlcy5pc0FkdmFuY2VUZXh0QXJlYSxcclxuICAgICAgICAgIGlzUmVhZE9ubHk6IHJlcy5pc1JlYWRPbmx5LFxyXG4gICAgICAgICAgaXNQcmVEZWZpbmU6IHJlcy5pc1ByZURlZmluZSxcclxuICAgICAgICAgIG1heExldmVsVmFsdWU6IHJlcy5tYXhMZXZlbFZhbHVlLFxyXG4gICAgICAgICAgc3VydmV5QW5zd2VyczogW1xyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgYW5zd2VySWQ6IHJlcy5hbnN3ZXJJZCxcclxuICAgICAgICAgICAgICBpbnB1dFR5cGVJZDogSW5wdXRUeXBlRW51bS5UZXh0XHJcbiAgICAgICAgICAgIH0gYXMgU3VydmV5QW5zd2VyRHRvXHJcbiAgICAgICAgICBdLFxyXG4gICAgICAgICAgc3VydmV5U3ViUXVlc3Rpb25zOiByZXMuc3VydmV5U3ViUXVlc3Rpb25zLFxyXG4gICAgICAgICAgc3VydmV5U3ViUXVlc3Rpb25MZXZlbHM6IHJlcy5zdXJ2ZXlTdWJRdWVzdGlvbkxldmVsc1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0aGlzLmdldE5leHRRdWVzdGlvbihtb2RlbCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcblxyXG4gIHByaXZhdGUgZ2V0TmV4dFF1ZXN0aW9uKG1vZGVsOiBRdWVzdGlvbkFuc3dlck1vZGVsKSB7XHJcbiAgICB0aGlzLl9BcGlTZXJ2aWNlLmdldE5leHRRdWVzdGlvbih7XHJcbiAgICAgIGFuc3dlcklkOiBtb2RlbC5BbnN3ZXIsXHJcbiAgICAgIGFwcGxpY2FudEtleTogdGhpcy5hcHBsaWNhbnRLZXksXHJcbiAgICAgIGlzUHJlOiB0aGlzLmlzUHJlLFxyXG4gICAgICBzdXJ2ZXlMYW5ndWFnZUlkOiB0aGlzLnN1cnZleUxhbmd1YWdlSWRcclxuICAgIH0pLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICBpZiAocmVzLmVycm9ycy5maWx0ZXIoeCA9PiB4LmNvZGUgPT0gMTcpLmxlbmd0aCA9PSAwKSB7XHJcbiAgICAgICAgdGhpcy5fU3RvcmUuZGlzcGF0Y2goc3VydmV5QWN0aW9ucy5hZGRRdWVzdGlvbih7XHJcbiAgICAgICAgICBxdWVzdGlvbjoge1xyXG4gICAgICAgICAgICBzdXJ2ZXlQYWdlSWQ6IHRoaXMucGFnZUlkLFxyXG4gICAgICAgICAgICBxdWVzdGlvbklkOiByZXMucXVlc3Rpb25JZCxcclxuICAgICAgICAgICAgcXVlc3Rpb25UeXBlOiByZXMucXVlc3Rpb25UeXBlSWQsXHJcbiAgICAgICAgICAgIGlucHV0VHlwZUlkOiByZXMuc3VydmV5QW5zd2Vyc1swXS5pbnB1dFR5cGVJZCxcclxuICAgICAgICAgICAgaXNRdWVzdGlvbkdyb3VwOiBmYWxzZSxcclxuICAgICAgICAgICAgYW5zd2VySWQ6IG51bGwsXHJcbiAgICAgICAgICAgIGFuc3dlcklkQXJyOiBudWxsLFxyXG4gICAgICAgICAgICBhbnN3ZXJUZXh0OiBudWxsLFxyXG4gICAgICAgICAgICBpc1JlcXVpcmVkOiByZXMuaXNSZXF1aXJlZCxcclxuICAgICAgICAgICAgaXNWYWxpZDogbnVsbCxcclxuICAgICAgICAgICAgaXNEaXNhYmxlZDogcmVzLmlzUmVhZE9ubHksXHJcbiAgICAgICAgICAgIGlzU2hvdzogcmVzLmlzVmlzYWJsZSxcclxuICAgICAgICAgICAgaXNEaXNhYmxlZF9kZWZhdWx0OiByZXMuaXNSZWFkT25seSxcclxuICAgICAgICAgICAgaXNTaG93X2RlZmF1bHQ6IHJlcy5pc1Zpc2FibGUsXHJcbiAgICAgICAgICAgIHF1ZXN0aW9uR3JvdXBJZDogdGhpcy5xdWVzdGlvbkdyb3VwSWQsXHJcbiAgICAgICAgICAgIHBhcmVudFF1ZXN0aW9uSWQ6IG1vZGVsLlF1ZXN0aW9uSWQsXHJcbiAgICAgICAgICAgIHF1ZXN0aW9uQWxsSW5mbzogcmVzXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSkpO1xyXG5cclxuICAgICAgICB0aGlzLnNldFF1ZXN0aW9ucyhyZXMpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgcXVlc3Rpb25Gb3JtQXJyYXkuY29udHJvbHM7IHRyYWNrQnk6aWRlbnRpZnkgOyBsZXQgaSA9IGluZGV4XCI+XHJcbiAgICA8bGliLXF1ZXN0aW9uLWRyb3Bkb3duLXRlbXBsYXRlICNxdWVzdGlvbkRyb3Bkb3duVGVtcGxhdGVcclxuICAgICAgICAqbmdJZj1cIihwYWdlUXVlc3Rpb25zJCgpIHxmaW5kUXVlc3Rpb24gOml0ZW0udmFsdWUuaWQpPy5xdWVzdGlvblR5cGUgIT0gcXVlc3Rpb25UeXBlRW51bS5UZXh0SW5wdXRcIlxyXG4gICAgICAgIFtzZXRRdWVzdGlvbl09XCJwYWdlUXVlc3Rpb25zJCgpIHxmaW5kUXVlc3Rpb24gOml0ZW0udmFsdWUuaWQgXCIgKGVtaXR0ZXIpPVwib25VcGRhdGVBbnN3ZXIoJGV2ZW50KVwiPlxyXG4gICAgPC9saWItcXVlc3Rpb24tZHJvcGRvd24tdGVtcGxhdGU+XHJcblxyXG4gICAgPGxpYi1xdWVzdGlvbi10ZXh0LXRlbXBsYXRlICNxdWVzdGlvblRleHRUZW1wbGF0ZVxyXG4gICAgICAgICpuZ0lmPVwiKHBhZ2VRdWVzdGlvbnMkKCkgfGZpbmRRdWVzdGlvbiA6aXRlbS52YWx1ZS5pZCk/LnF1ZXN0aW9uVHlwZSA9PSBxdWVzdGlvblR5cGVFbnVtLlRleHRJbnB1dFwiXHJcbiAgICAgICAgW3NldFF1ZXN0aW9uXT1cInBhZ2VRdWVzdGlvbnMkKCkgfGZpbmRRdWVzdGlvbiA6aXRlbS52YWx1ZS5pZCBcIlxyXG4gICAgICAgIFtpc0FyYWJpY0xhbmddPVwidHJ1ZVwiPjwvbGliLXF1ZXN0aW9uLXRleHQtdGVtcGxhdGU+XHJcblxyXG48L25nLWNvbnRhaW5lcj4iXX0=
@@ -1626,56 +1626,55 @@ class QuestionCascadeTemplateComponent {
1626
1626
  var selectedAnswerObj = this.surveyQuestionArr
1627
1627
  .find(x => x.questionId == model.QuestionId)?.surveyAnswers.find(x => x.answerId === model.SurveyAnswerId);
1628
1628
  if (selectedAnswerObj?.isOther == true) {
1629
- this._ApiService.getIsOtherQuestion({
1630
- parentQId: model.QuestionId,
1631
- groupId: this.questionGroupId
1632
- }).subscribe(res => {
1633
- if (res.errors.filter(x => x.code == 17).length == 0) {
1634
- res.questionTypeId = QuestionTypeEnum.TextInput;
1635
- this._Store.dispatch(surveyActions.addQuestion({
1636
- question: {
1637
- surveyPageId: this.pageId,
1638
- questionId: res.questionId,
1639
- questionType: res.questionTypeId,
1640
- inputTypeId: InputTypeEnum.Text,
1641
- isQuestionGroup: false,
1642
- answerId: null,
1643
- answerIdArr: null,
1644
- answerText: null,
1645
- isRequired: res.isRequired,
1646
- isValid: null,
1647
- isDisabled: res.isReadOnly,
1648
- isShow: res.isVisable,
1649
- isDisabled_default: res.isReadOnly,
1650
- isShow_default: res.isVisable,
1651
- questionGroupId: this.questionGroupId,
1652
- parentQuestionId: model.QuestionId,
1653
- questionAllInfo: {
1654
- questionId: res.questionId,
1655
- questionTypeId: res.questionTypeId,
1656
- questionName: res.questionName,
1657
- questionTitle: res.questionTitle,
1658
- questionDescription: res.questionDescription,
1659
- isRequired: res.isRequired,
1660
- isVisable: res.isVisable,
1661
- isEditable: res.isEditable,
1662
- isOTPOption: res.isOtpOption,
1663
- isAdvanceTextArea: res.isAdvanceTextArea,
1664
- isReadOnly: res.isReadOnly,
1665
- isPreDefine: res.isPreDefine,
1666
- maxLevelValue: res.maxLevelValue,
1667
- surveyAnswers: [
1668
- {
1669
- answerId: res.answerId,
1670
- inputTypeId: InputTypeEnum.Text
1671
- }
1672
- ],
1673
- surveySubQuestions: res.surveySubQuestions,
1674
- surveySubQuestionLevels: res.surveySubQuestionLevels
1675
- }
1676
- }
1677
- }));
1678
- this.setQuestions({
1629
+ this.isOtherQuestion(model);
1630
+ }
1631
+ else {
1632
+ this.getNextQuestion(model);
1633
+ }
1634
+ }
1635
+ }
1636
+ identify(index, item) {
1637
+ return item.value.id;
1638
+ }
1639
+ setQuestions(value) {
1640
+ this.surveyQuestionArr.push(value);
1641
+ var group = this._formBuilder.group({
1642
+ id: new FormControl(value.questionId),
1643
+ typeId: new FormControl(value.questionTypeId),
1644
+ answer: new FormControl(null)
1645
+ });
1646
+ if (value.isRequired == true) {
1647
+ group.controls.answer.addValidators([Validators.required]);
1648
+ group.controls.answer.updateValueAndValidity();
1649
+ }
1650
+ this.fCtrls.questionArr.push(group);
1651
+ }
1652
+ isOtherQuestion(model) {
1653
+ this._ApiService.getIsOtherQuestion({
1654
+ parentQId: model.QuestionId,
1655
+ groupId: this.questionGroupId
1656
+ }).subscribe(res => {
1657
+ if (res.errors.filter(x => x.code == 17).length == 0) {
1658
+ res.questionTypeId = QuestionTypeEnum.TextInput;
1659
+ this._Store.dispatch(surveyActions.addQuestion({
1660
+ question: {
1661
+ surveyPageId: this.pageId,
1662
+ questionId: res.questionId,
1663
+ questionType: res.questionTypeId,
1664
+ inputTypeId: InputTypeEnum.Text,
1665
+ isQuestionGroup: false,
1666
+ answerId: null,
1667
+ answerIdArr: null,
1668
+ answerText: null,
1669
+ isRequired: res.isRequired,
1670
+ isValid: null,
1671
+ isDisabled: res.isReadOnly,
1672
+ isShow: res.isVisable,
1673
+ isDisabled_default: res.isReadOnly,
1674
+ isShow_default: res.isVisable,
1675
+ questionGroupId: this.questionGroupId,
1676
+ parentQuestionId: model.QuestionId,
1677
+ questionAllInfo: {
1679
1678
  questionId: res.questionId,
1680
1679
  questionTypeId: res.questionTypeId,
1681
1680
  questionName: res.questionName,
@@ -1697,60 +1696,68 @@ class QuestionCascadeTemplateComponent {
1697
1696
  ],
1698
1697
  surveySubQuestions: res.surveySubQuestions,
1699
1698
  surveySubQuestionLevels: res.surveySubQuestionLevels
1700
- });
1699
+ }
1701
1700
  }
1701
+ }));
1702
+ this.setQuestions({
1703
+ questionId: res.questionId,
1704
+ questionTypeId: res.questionTypeId,
1705
+ questionName: res.questionName,
1706
+ questionTitle: res.questionTitle,
1707
+ questionDescription: res.questionDescription,
1708
+ isRequired: res.isRequired,
1709
+ isVisable: res.isVisable,
1710
+ isEditable: res.isEditable,
1711
+ isOTPOption: res.isOtpOption,
1712
+ isAdvanceTextArea: res.isAdvanceTextArea,
1713
+ isReadOnly: res.isReadOnly,
1714
+ isPreDefine: res.isPreDefine,
1715
+ maxLevelValue: res.maxLevelValue,
1716
+ surveyAnswers: [
1717
+ {
1718
+ answerId: res.answerId,
1719
+ inputTypeId: InputTypeEnum.Text
1720
+ }
1721
+ ],
1722
+ surveySubQuestions: res.surveySubQuestions,
1723
+ surveySubQuestionLevels: res.surveySubQuestionLevels
1702
1724
  });
1725
+ this.getNextQuestion(model);
1703
1726
  }
1704
- else {
1705
- this._ApiService.getNextQuestion({
1706
- answerId: model.Answer,
1707
- applicantKey: this.applicantKey,
1708
- isPre: this.isPre,
1709
- surveyLanguageId: this.surveyLanguageId
1710
- }).subscribe(res => {
1711
- if (res.errors.filter(x => x.code == 17).length == 0) {
1712
- this._Store.dispatch(surveyActions.addQuestion({
1713
- question: {
1714
- surveyPageId: this.pageId,
1715
- questionId: res.questionId,
1716
- questionType: res.questionTypeId,
1717
- inputTypeId: res.surveyAnswers[0].inputTypeId,
1718
- isQuestionGroup: false,
1719
- answerId: null,
1720
- answerIdArr: null,
1721
- answerText: null,
1722
- isRequired: res.isRequired,
1723
- isValid: null,
1724
- isDisabled: res.isReadOnly,
1725
- isShow: res.isVisable,
1726
- isDisabled_default: res.isReadOnly,
1727
- isShow_default: res.isVisable,
1728
- questionGroupId: this.questionGroupId,
1729
- parentQuestionId: model.QuestionId,
1730
- questionAllInfo: res
1731
- }
1732
- }));
1733
- this.setQuestions(res);
1727
+ });
1728
+ }
1729
+ getNextQuestion(model) {
1730
+ this._ApiService.getNextQuestion({
1731
+ answerId: model.Answer,
1732
+ applicantKey: this.applicantKey,
1733
+ isPre: this.isPre,
1734
+ surveyLanguageId: this.surveyLanguageId
1735
+ }).subscribe(res => {
1736
+ if (res.errors.filter(x => x.code == 17).length == 0) {
1737
+ this._Store.dispatch(surveyActions.addQuestion({
1738
+ question: {
1739
+ surveyPageId: this.pageId,
1740
+ questionId: res.questionId,
1741
+ questionType: res.questionTypeId,
1742
+ inputTypeId: res.surveyAnswers[0].inputTypeId,
1743
+ isQuestionGroup: false,
1744
+ answerId: null,
1745
+ answerIdArr: null,
1746
+ answerText: null,
1747
+ isRequired: res.isRequired,
1748
+ isValid: null,
1749
+ isDisabled: res.isReadOnly,
1750
+ isShow: res.isVisable,
1751
+ isDisabled_default: res.isReadOnly,
1752
+ isShow_default: res.isVisable,
1753
+ questionGroupId: this.questionGroupId,
1754
+ parentQuestionId: model.QuestionId,
1755
+ questionAllInfo: res
1734
1756
  }
1735
- });
1757
+ }));
1758
+ this.setQuestions(res);
1736
1759
  }
1737
- }
1738
- }
1739
- identify(index, item) {
1740
- return item.value.id;
1741
- }
1742
- setQuestions(value) {
1743
- this.surveyQuestionArr.push(value);
1744
- var group = this._formBuilder.group({
1745
- id: new FormControl(value.questionId),
1746
- typeId: new FormControl(value.questionTypeId),
1747
- answer: new FormControl(null)
1748
1760
  });
1749
- if (value.isRequired == true) {
1750
- group.controls.answer.addValidators([Validators.required]);
1751
- group.controls.answer.updateValueAndValidity();
1752
- }
1753
- this.fCtrls.questionArr.push(group);
1754
1761
  }
1755
1762
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: QuestionCascadeTemplateComponent, deps: [{ token: i1.FormBuilder }, { token: SurveyLibService }, { token: ApiService }, { token: i3.Store }], target: i0.ɵɵFactoryTarget.Component }); }
1756
1763
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: QuestionCascadeTemplateComponent, selector: "lib-question-cascade-template", inputs: { pageId: "pageId", questionGroupId: "questionGroupId", isPre: "isPre", surveyLanguageId: "surveyLanguageId", applicantKey: "applicantKey", setQuestion: "setQuestion" }, ngImport: i0, template: "<ng-container *ngFor=\"let item of questionFormArray.controls; trackBy:identify ; let i = index\">\r\n <lib-question-dropdown-template #questionDropdownTemplate\r\n *ngIf=\"(pageQuestions$() |findQuestion :item.value.id)?.questionType != questionTypeEnum.TextInput\"\r\n [setQuestion]=\"pageQuestions$() |findQuestion :item.value.id \" (emitter)=\"onUpdateAnswer($event)\">\r\n </lib-question-dropdown-template>\r\n\r\n <lib-question-text-template #questionTextTemplate\r\n *ngIf=\"(pageQuestions$() |findQuestion :item.value.id)?.questionType == questionTypeEnum.TextInput\"\r\n [setQuestion]=\"pageQuestions$() |findQuestion :item.value.id \"\r\n [isArabicLang]=\"true\"></lib-question-text-template>\r\n\r\n</ng-container>", styles: [""], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: QuestionTextTemplateComponent, selector: "lib-question-text-template", inputs: ["isArabicLang", "setQuestion", "isDisabled"] }, { kind: "component", type: QuestionDropdownTemplateComponent, selector: "lib-question-dropdown-template", inputs: ["setQuestion"], outputs: ["emitter"] }, { kind: "pipe", type: FindQuestionPipe, name: "findQuestion" }] }); }