survery-lib 2.1.42 → 2.1.43

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.
@@ -6,16 +6,16 @@ const { selectAll, selectIds } = questionAdapter.getSelectors();
6
6
  const selectSurveyData = createFeatureSelector('survey-lib');
7
7
  const allQuestions = createSelector(selectSurveyData, (state) => selectAll(state.questionArr));
8
8
  const pageQuestions = createSelector(selectSurveyData, (state) => selectAll(state.questionArr).filter(x => x.surveyPageId == state.selectedPageId));
9
- const HaveValidQuestionsCurrentPage = createSelector(selectSurveyData, (state) => {
9
+ const allRequiredQuestionsOfCurrentPageDone = createSelector(selectSurveyData, (state) => {
10
10
  const questionArr = selectAll(state.questionArr).filter(x => x.surveyPageId == state.selectedPageId);
11
11
  if (questionArr.length == 0) {
12
12
  return true;
13
13
  }
14
14
  else {
15
15
  var invalidRecords = [];
16
- var arr = questionArr.filter(x => x.isDisabled == false && x.isShow == true);
16
+ var arr = questionArr.filter(x => x.isDisabled == false && x.isShow == true && x.isRequired == true);
17
17
  arr.map(x => {
18
- if (x.isRequired == true && x.isValid != true && x.isQuestionGroup != true) {
18
+ if (x.isValid != true && x.isQuestionGroup != true) {
19
19
  invalidRecords.push(x);
20
20
  }
21
21
  else {
@@ -58,6 +58,6 @@ export const questionSelectors = {
58
58
  allQuestions,
59
59
  pageQuestions,
60
60
  questionAnswers,
61
- HaveValidQuestionsCurrentPage
61
+ allRequiredQuestionsOfCurrentPageDone
62
62
  };
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb24uc2VsZWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zdXJ2ZXJ5LWxpYi9zcmMvbGliL2NvcmUvc3RhdGVzL3N1cnZleS1zdG9yZS9xdWVzdGlvbi5zZWxlY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXBFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUc3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFFekUsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUM7QUFHaEUsTUFBTSxnQkFBZ0IsR0FBRyxxQkFBcUIsQ0FBYyxZQUFZLENBQUMsQ0FBQztBQUUxRSxNQUFNLFlBQVksR0FBRyxjQUFjLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztBQUUvRixNQUFNLGFBQWEsR0FBRyxjQUFjLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFlBQVksSUFBSSxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztBQUVwSixNQUFNLDZCQUE2QixHQUFHLGNBQWMsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO0lBQzdFLE1BQU0sV0FBVyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFlBQVksSUFBSSxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7SUFFckcsSUFBSSxXQUFXLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRTtRQUN6QixPQUFPLElBQUksQ0FBQztLQUNmO1NBQU07UUFDSCxJQUFJLGNBQWMsR0FBRyxFQUFFLENBQUM7UUFFeEIsSUFBSSxHQUFHLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLElBQUksS0FBSyxJQUFJLENBQUMsQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLENBQUM7UUFDN0UsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNSLElBQUksQ0FBQyxDQUFDLFVBQVUsSUFBSSxJQUFJLElBQUksQ0FBQyxDQUFDLE9BQU8sSUFBSSxJQUFJLElBQUksQ0FBQyxDQUFDLGVBQWUsSUFBSSxJQUFJLEVBQUU7Z0JBQ3hFLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDMUI7aUJBQ0k7Z0JBQ0QsSUFBSSxDQUFDLENBQUMsWUFBWSxJQUFJLGdCQUFnQixDQUFDLFNBQVMsSUFBSSxDQUFDLENBQUMsV0FBVyxJQUFJLGFBQWEsQ0FBQyxLQUFLLEVBQUU7b0JBQ3RGLElBQUksQ0FBQyxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsT0FBTyxJQUFJLElBQUksRUFBRTt3QkFDM0MsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztxQkFDMUI7aUJBQ0o7YUFDSjtRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxjQUFjLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQztLQUNyQztBQUNMLENBQUMsQ0FBQyxDQUFDO0FBRUgsTUFBTSxlQUFlLEdBQUcsY0FBYyxDQUFDLGdCQUFnQixFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQztLQUMzRixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsZUFBZSxJQUFJLElBQUksSUFBSSxDQUFDLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtJQUNoRSxJQUFJLENBQUMsQ0FBQyxZQUFZLElBQUksZ0JBQWdCLENBQUMsWUFBWSxFQUFFO1FBQ2pELE9BQU87WUFDSCxlQUFlLEVBQUUsQ0FBQyxDQUFDLFlBQVk7WUFDL0IsVUFBVSxFQUFFLENBQUMsQ0FBQyxVQUFVO1lBQ3hCLFlBQVksRUFBRSxDQUFDLENBQUMsWUFBWTtZQUM1QixRQUFRLEVBQUUsQ0FBQyxDQUFDLGFBQWE7WUFDekIsVUFBVSxFQUFFLENBQUMsQ0FBQyxVQUFVO1lBQ3hCLFdBQVcsRUFBRSxDQUFDLENBQUMsV0FBVztZQUMxQixhQUFhLEVBQUUsQ0FBQyxDQUFDLFFBQVE7U0FDSixDQUFBO0tBQzVCO1NBQU07UUFDSCxPQUFPO1lBQ0gsZUFBZSxFQUFFLENBQUMsQ0FBQyxZQUFZO1lBQy9CLFVBQVUsRUFBRSxDQUFDLENBQUMsVUFBVTtZQUN4QixZQUFZLEVBQUUsQ0FBQyxDQUFDLFlBQVk7WUFDNUIsUUFBUSxFQUFFLENBQUMsQ0FBQyxRQUFRO1lBQ3BCLFVBQVUsRUFBRSxDQUFDLENBQUMsVUFBVTtZQUN4QixXQUFXLEVBQUUsQ0FBQyxDQUFDLFdBQVc7WUFDMUIsYUFBYSxFQUFFLENBQUMsQ0FBQyxhQUFhO1NBQ1QsQ0FBQTtLQUM1QjtBQUVMLENBQUMsQ0FBQyxDQUFDLENBQUE7QUFFUCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRztJQUM3QixZQUFZO0lBQ1osYUFBYTtJQUNiLGVBQWU7SUFDZiw2QkFBNkI7Q0FDaEMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZUZlYXR1cmVTZWxlY3RvciwgY3JlYXRlU2VsZWN0b3IgfSBmcm9tIFwiQG5ncngvc3RvcmVcIjtcclxuaW1wb3J0IHsgcXVlc3Rpb25Hcm91cEFkYXB0ZXIgfSBmcm9tIFwiLi4vZW50aXRlcy9xdWVzdGlvbi1ncm91cC5lbnRpdHlcIjtcclxuaW1wb3J0IHsgcXVlc3Rpb25BZGFwdGVyIH0gZnJvbSBcIi4uL2VudGl0ZXMvcXVlc3Rpb24uZW50aXR5XCI7XHJcbmltcG9ydCB7IFN1cnZleVN0YXRlIH0gZnJvbSBcIi4vc3VydmV5LnJlZHVjZXJcIjtcclxuaW1wb3J0IHsgU3VydmV5UXVlc3Rpb25SZXN1bHQgfSBmcm9tIFwiLi4vLi4vLi4vLi4vc2hhcmVkL21vZGVscy9zdXJ2ZXJ5LXF1ZXN0aW9uLXJlc3VsdC5tb2RlbFwiO1xyXG5pbXBvcnQgeyBRdWVzdGlvblR5cGVFbnVtIH0gZnJvbSBcIi4uLy4uLy4uLy4uL3NoYXJlZC9lbnVtcy9xdWVzdGlvbi10eXBlLmVudW1cIjtcclxuaW1wb3J0IHsgSW5wdXRUeXBlRW51bSB9IGZyb20gXCIuLi8uLi8uLi8uLi9zaGFyZWQvZW51bXMvaW5wdXQtdHlwZS5lbnVtXCI7XHJcblxyXG5jb25zdCB7IHNlbGVjdEFsbCwgc2VsZWN0SWRzIH0gPSBxdWVzdGlvbkFkYXB0ZXIuZ2V0U2VsZWN0b3JzKCk7XHJcblxyXG5cclxuY29uc3Qgc2VsZWN0U3VydmV5RGF0YSA9IGNyZWF0ZUZlYXR1cmVTZWxlY3RvcjxTdXJ2ZXlTdGF0ZT4oJ3N1cnZleS1saWInKTtcclxuXHJcbmNvbnN0IGFsbFF1ZXN0aW9ucyA9IGNyZWF0ZVNlbGVjdG9yKHNlbGVjdFN1cnZleURhdGEsIChzdGF0ZSkgPT4gc2VsZWN0QWxsKHN0YXRlLnF1ZXN0aW9uQXJyKSk7XHJcblxyXG5jb25zdCBwYWdlUXVlc3Rpb25zID0gY3JlYXRlU2VsZWN0b3Ioc2VsZWN0U3VydmV5RGF0YSwgKHN0YXRlKSA9PiBzZWxlY3RBbGwoc3RhdGUucXVlc3Rpb25BcnIpLmZpbHRlcih4ID0+IHguc3VydmV5UGFnZUlkID09IHN0YXRlLnNlbGVjdGVkUGFnZUlkKSk7XHJcblxyXG5jb25zdCBIYXZlVmFsaWRRdWVzdGlvbnNDdXJyZW50UGFnZSA9IGNyZWF0ZVNlbGVjdG9yKHNlbGVjdFN1cnZleURhdGEsIChzdGF0ZSkgPT4ge1xyXG4gICAgY29uc3QgcXVlc3Rpb25BcnIgPSBzZWxlY3RBbGwoc3RhdGUucXVlc3Rpb25BcnIpLmZpbHRlcih4ID0+IHguc3VydmV5UGFnZUlkID09IHN0YXRlLnNlbGVjdGVkUGFnZUlkKTtcclxuXHJcbiAgICBpZiAocXVlc3Rpb25BcnIubGVuZ3RoID09IDApIHtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdmFyIGludmFsaWRSZWNvcmRzID0gW107XHJcblxyXG4gICAgICAgIHZhciBhcnIgPSBxdWVzdGlvbkFyci5maWx0ZXIoeCA9PiB4LmlzRGlzYWJsZWQgPT0gZmFsc2UgJiYgeC5pc1Nob3cgPT0gdHJ1ZSk7XHJcbiAgICAgICAgYXJyLm1hcCh4ID0+IHtcclxuICAgICAgICAgICAgaWYgKHguaXNSZXF1aXJlZCA9PSB0cnVlICYmIHguaXNWYWxpZCAhPSB0cnVlICYmIHguaXNRdWVzdGlvbkdyb3VwICE9IHRydWUpIHtcclxuICAgICAgICAgICAgICAgIGludmFsaWRSZWNvcmRzLnB1c2goeCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoeC5xdWVzdGlvblR5cGUgPT0gUXVlc3Rpb25UeXBlRW51bS5UZXh0SW5wdXQgJiYgeC5pbnB1dFR5cGVJZCA9PSBJbnB1dFR5cGVFbnVtLkVtYWlsKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHguYW5zd2VyVGV4dD8udHJpbSgpICYmIHguaXNWYWxpZCAhPSB0cnVlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGludmFsaWRSZWNvcmRzLnB1c2goeCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHJldHVybiBpbnZhbGlkUmVjb3Jkcy5sZW5ndGggPT0gMDtcclxuICAgIH1cclxufSk7XHJcblxyXG5jb25zdCBxdWVzdGlvbkFuc3dlcnMgPSBjcmVhdGVTZWxlY3RvcihzZWxlY3RTdXJ2ZXlEYXRhLCAoc3RhdGUpID0+IHNlbGVjdEFsbChzdGF0ZS5xdWVzdGlvbkFycilcclxuICAgIC5maWx0ZXIoeCA9PiB4LmlzUXVlc3Rpb25Hcm91cCAhPSB0cnVlICYmIHguaXNTaG93ID09IHRydWUpLm1hcCh4ID0+IHtcclxuICAgICAgICBpZiAoeC5xdWVzdGlvblR5cGUgPT0gUXVlc3Rpb25UeXBlRW51bS5JbnN0aXR1dGlvbnMpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgIFN1cnZleVBhZ2VJbmRleDogeC5zdXJ2ZXlQYWdlSWQsXHJcbiAgICAgICAgICAgICAgICBRdWVzdGlvbklkOiB4LnF1ZXN0aW9uSWQsXHJcbiAgICAgICAgICAgICAgICBRdWVzdGlvblR5cGU6IHgucXVlc3Rpb25UeXBlLFxyXG4gICAgICAgICAgICAgICAgQW5zd2VySWQ6IHguYW5zd2VyTGV2ZWxJZCxcclxuICAgICAgICAgICAgICAgIEFuc3dlclRleHQ6IHguYW5zd2VyVGV4dCxcclxuICAgICAgICAgICAgICAgIEFuc3dlcklkQXJyOiB4LmFuc3dlcklkQXJyLFxyXG4gICAgICAgICAgICAgICAgQW5zd2VyTGV2ZWxJZDogeC5hbnN3ZXJJZFxyXG4gICAgICAgICAgICB9IGFzIFN1cnZleVF1ZXN0aW9uUmVzdWx0XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgIFN1cnZleVBhZ2VJbmRleDogeC5zdXJ2ZXlQYWdlSWQsXHJcbiAgICAgICAgICAgICAgICBRdWVzdGlvbklkOiB4LnF1ZXN0aW9uSWQsXHJcbiAgICAgICAgICAgICAgICBRdWVzdGlvblR5cGU6IHgucXVlc3Rpb25UeXBlLFxyXG4gICAgICAgICAgICAgICAgQW5zd2VySWQ6IHguYW5zd2VySWQsXHJcbiAgICAgICAgICAgICAgICBBbnN3ZXJUZXh0OiB4LmFuc3dlclRleHQsXHJcbiAgICAgICAgICAgICAgICBBbnN3ZXJJZEFycjogeC5hbnN3ZXJJZEFycixcclxuICAgICAgICAgICAgICAgIEFuc3dlckxldmVsSWQ6IHguYW5zd2VyTGV2ZWxJZFxyXG4gICAgICAgICAgICB9IGFzIFN1cnZleVF1ZXN0aW9uUmVzdWx0XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH0pKVxyXG5cclxuZXhwb3J0IGNvbnN0IHF1ZXN0aW9uU2VsZWN0b3JzID0ge1xyXG4gICAgYWxsUXVlc3Rpb25zLFxyXG4gICAgcGFnZVF1ZXN0aW9ucyxcclxuICAgIHF1ZXN0aW9uQW5zd2VycyxcclxuICAgIEhhdmVWYWxpZFF1ZXN0aW9uc0N1cnJlbnRQYWdlXHJcbn0iXX0=
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb24uc2VsZWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zdXJ2ZXJ5LWxpYi9zcmMvbGliL2NvcmUvc3RhdGVzL3N1cnZleS1zdG9yZS9xdWVzdGlvbi5zZWxlY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXBFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUc3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFFekUsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUM7QUFHaEUsTUFBTSxnQkFBZ0IsR0FBRyxxQkFBcUIsQ0FBYyxZQUFZLENBQUMsQ0FBQztBQUUxRSxNQUFNLFlBQVksR0FBRyxjQUFjLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztBQUUvRixNQUFNLGFBQWEsR0FBRyxjQUFjLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFlBQVksSUFBSSxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztBQUVwSixNQUFNLHFDQUFxQyxHQUFHLGNBQWMsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO0lBQ3JGLE1BQU0sV0FBVyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFlBQVksSUFBSSxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7SUFFckcsSUFBSSxXQUFXLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRTtRQUN6QixPQUFPLElBQUksQ0FBQztLQUNmO1NBQU07UUFDSCxJQUFJLGNBQWMsR0FBRyxFQUFFLENBQUM7UUFFeEIsSUFBSSxHQUFHLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLElBQUksS0FBSyxJQUFJLENBQUMsQ0FBQyxNQUFNLElBQUksSUFBSSxJQUFJLENBQUMsQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLENBQUM7UUFDckcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNSLElBQUksQ0FBQyxDQUFDLE9BQU8sSUFBSSxJQUFJLElBQUksQ0FBQyxDQUFDLGVBQWUsSUFBSSxJQUFJLEVBQUU7Z0JBQ2hELGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDMUI7aUJBQ0k7Z0JBQ0QsSUFBSSxDQUFDLENBQUMsWUFBWSxJQUFJLGdCQUFnQixDQUFDLFNBQVMsSUFBSSxDQUFDLENBQUMsV0FBVyxJQUFJLGFBQWEsQ0FBQyxLQUFLLEVBQUU7b0JBQ3RGLElBQUksQ0FBQyxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsT0FBTyxJQUFJLElBQUksRUFBRTt3QkFDM0MsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztxQkFDMUI7aUJBQ0o7YUFDSjtRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxjQUFjLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQztLQUNyQztBQUNMLENBQUMsQ0FBQyxDQUFDO0FBRUgsTUFBTSxlQUFlLEdBQUcsY0FBYyxDQUFDLGdCQUFnQixFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQztLQUMzRixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsZUFBZSxJQUFJLElBQUksSUFBSSxDQUFDLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtJQUNoRSxJQUFJLENBQUMsQ0FBQyxZQUFZLElBQUksZ0JBQWdCLENBQUMsWUFBWSxFQUFFO1FBQ2pELE9BQU87WUFDSCxlQUFlLEVBQUUsQ0FBQyxDQUFDLFlBQVk7WUFDL0IsVUFBVSxFQUFFLENBQUMsQ0FBQyxVQUFVO1lBQ3hCLFlBQVksRUFBRSxDQUFDLENBQUMsWUFBWTtZQUM1QixRQUFRLEVBQUUsQ0FBQyxDQUFDLGFBQWE7WUFDekIsVUFBVSxFQUFFLENBQUMsQ0FBQyxVQUFVO1lBQ3hCLFdBQVcsRUFBRSxDQUFDLENBQUMsV0FBVztZQUMxQixhQUFhLEVBQUUsQ0FBQyxDQUFDLFFBQVE7U0FDSixDQUFBO0tBQzVCO1NBQU07UUFDSCxPQUFPO1lBQ0gsZUFBZSxFQUFFLENBQUMsQ0FBQyxZQUFZO1lBQy9CLFVBQVUsRUFBRSxDQUFDLENBQUMsVUFBVTtZQUN4QixZQUFZLEVBQUUsQ0FBQyxDQUFDLFlBQVk7WUFDNUIsUUFBUSxFQUFFLENBQUMsQ0FBQyxRQUFRO1lBQ3BCLFVBQVUsRUFBRSxDQUFDLENBQUMsVUFBVTtZQUN4QixXQUFXLEVBQUUsQ0FBQyxDQUFDLFdBQVc7WUFDMUIsYUFBYSxFQUFFLENBQUMsQ0FBQyxhQUFhO1NBQ1QsQ0FBQTtLQUM1QjtBQUVMLENBQUMsQ0FBQyxDQUFDLENBQUE7QUFFUCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRztJQUM3QixZQUFZO0lBQ1osYUFBYTtJQUNiLGVBQWU7SUFDZixxQ0FBcUM7Q0FDeEMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZUZlYXR1cmVTZWxlY3RvciwgY3JlYXRlU2VsZWN0b3IgfSBmcm9tIFwiQG5ncngvc3RvcmVcIjtcclxuaW1wb3J0IHsgcXVlc3Rpb25Hcm91cEFkYXB0ZXIgfSBmcm9tIFwiLi4vZW50aXRlcy9xdWVzdGlvbi1ncm91cC5lbnRpdHlcIjtcclxuaW1wb3J0IHsgcXVlc3Rpb25BZGFwdGVyIH0gZnJvbSBcIi4uL2VudGl0ZXMvcXVlc3Rpb24uZW50aXR5XCI7XHJcbmltcG9ydCB7IFN1cnZleVN0YXRlIH0gZnJvbSBcIi4vc3VydmV5LnJlZHVjZXJcIjtcclxuaW1wb3J0IHsgU3VydmV5UXVlc3Rpb25SZXN1bHQgfSBmcm9tIFwiLi4vLi4vLi4vLi4vc2hhcmVkL21vZGVscy9zdXJ2ZXJ5LXF1ZXN0aW9uLXJlc3VsdC5tb2RlbFwiO1xyXG5pbXBvcnQgeyBRdWVzdGlvblR5cGVFbnVtIH0gZnJvbSBcIi4uLy4uLy4uLy4uL3NoYXJlZC9lbnVtcy9xdWVzdGlvbi10eXBlLmVudW1cIjtcclxuaW1wb3J0IHsgSW5wdXRUeXBlRW51bSB9IGZyb20gXCIuLi8uLi8uLi8uLi9zaGFyZWQvZW51bXMvaW5wdXQtdHlwZS5lbnVtXCI7XHJcblxyXG5jb25zdCB7IHNlbGVjdEFsbCwgc2VsZWN0SWRzIH0gPSBxdWVzdGlvbkFkYXB0ZXIuZ2V0U2VsZWN0b3JzKCk7XHJcblxyXG5cclxuY29uc3Qgc2VsZWN0U3VydmV5RGF0YSA9IGNyZWF0ZUZlYXR1cmVTZWxlY3RvcjxTdXJ2ZXlTdGF0ZT4oJ3N1cnZleS1saWInKTtcclxuXHJcbmNvbnN0IGFsbFF1ZXN0aW9ucyA9IGNyZWF0ZVNlbGVjdG9yKHNlbGVjdFN1cnZleURhdGEsIChzdGF0ZSkgPT4gc2VsZWN0QWxsKHN0YXRlLnF1ZXN0aW9uQXJyKSk7XHJcblxyXG5jb25zdCBwYWdlUXVlc3Rpb25zID0gY3JlYXRlU2VsZWN0b3Ioc2VsZWN0U3VydmV5RGF0YSwgKHN0YXRlKSA9PiBzZWxlY3RBbGwoc3RhdGUucXVlc3Rpb25BcnIpLmZpbHRlcih4ID0+IHguc3VydmV5UGFnZUlkID09IHN0YXRlLnNlbGVjdGVkUGFnZUlkKSk7XHJcblxyXG5jb25zdCBhbGxSZXF1aXJlZFF1ZXN0aW9uc09mQ3VycmVudFBhZ2VEb25lID0gY3JlYXRlU2VsZWN0b3Ioc2VsZWN0U3VydmV5RGF0YSwgKHN0YXRlKSA9PiB7XHJcbiAgICBjb25zdCBxdWVzdGlvbkFyciA9IHNlbGVjdEFsbChzdGF0ZS5xdWVzdGlvbkFycikuZmlsdGVyKHggPT4geC5zdXJ2ZXlQYWdlSWQgPT0gc3RhdGUuc2VsZWN0ZWRQYWdlSWQpO1xyXG5cclxuICAgIGlmIChxdWVzdGlvbkFyci5sZW5ndGggPT0gMCkge1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgICB2YXIgaW52YWxpZFJlY29yZHMgPSBbXTtcclxuXHJcbiAgICAgICAgdmFyIGFyciA9IHF1ZXN0aW9uQXJyLmZpbHRlcih4ID0+IHguaXNEaXNhYmxlZCA9PSBmYWxzZSAmJiB4LmlzU2hvdyA9PSB0cnVlICYmIHguaXNSZXF1aXJlZCA9PSB0cnVlKTtcclxuICAgICAgICBhcnIubWFwKHggPT4ge1xyXG4gICAgICAgICAgICBpZiAoeC5pc1ZhbGlkICE9IHRydWUgJiYgeC5pc1F1ZXN0aW9uR3JvdXAgIT0gdHJ1ZSkge1xyXG4gICAgICAgICAgICAgICAgaW52YWxpZFJlY29yZHMucHVzaCh4KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGlmICh4LnF1ZXN0aW9uVHlwZSA9PSBRdWVzdGlvblR5cGVFbnVtLlRleHRJbnB1dCAmJiB4LmlucHV0VHlwZUlkID09IElucHV0VHlwZUVudW0uRW1haWwpIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoeC5hbnN3ZXJUZXh0Py50cmltKCkgJiYgeC5pc1ZhbGlkICE9IHRydWUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaW52YWxpZFJlY29yZHMucHVzaCh4KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgcmV0dXJuIGludmFsaWRSZWNvcmRzLmxlbmd0aCA9PSAwO1xyXG4gICAgfVxyXG59KTtcclxuXHJcbmNvbnN0IHF1ZXN0aW9uQW5zd2VycyA9IGNyZWF0ZVNlbGVjdG9yKHNlbGVjdFN1cnZleURhdGEsIChzdGF0ZSkgPT4gc2VsZWN0QWxsKHN0YXRlLnF1ZXN0aW9uQXJyKVxyXG4gICAgLmZpbHRlcih4ID0+IHguaXNRdWVzdGlvbkdyb3VwICE9IHRydWUgJiYgeC5pc1Nob3cgPT0gdHJ1ZSkubWFwKHggPT4ge1xyXG4gICAgICAgIGlmICh4LnF1ZXN0aW9uVHlwZSA9PSBRdWVzdGlvblR5cGVFbnVtLkluc3RpdHV0aW9ucykge1xyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgU3VydmV5UGFnZUluZGV4OiB4LnN1cnZleVBhZ2VJZCxcclxuICAgICAgICAgICAgICAgIFF1ZXN0aW9uSWQ6IHgucXVlc3Rpb25JZCxcclxuICAgICAgICAgICAgICAgIFF1ZXN0aW9uVHlwZTogeC5xdWVzdGlvblR5cGUsXHJcbiAgICAgICAgICAgICAgICBBbnN3ZXJJZDogeC5hbnN3ZXJMZXZlbElkLFxyXG4gICAgICAgICAgICAgICAgQW5zd2VyVGV4dDogeC5hbnN3ZXJUZXh0LFxyXG4gICAgICAgICAgICAgICAgQW5zd2VySWRBcnI6IHguYW5zd2VySWRBcnIsXHJcbiAgICAgICAgICAgICAgICBBbnN3ZXJMZXZlbElkOiB4LmFuc3dlcklkXHJcbiAgICAgICAgICAgIH0gYXMgU3VydmV5UXVlc3Rpb25SZXN1bHRcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgU3VydmV5UGFnZUluZGV4OiB4LnN1cnZleVBhZ2VJZCxcclxuICAgICAgICAgICAgICAgIFF1ZXN0aW9uSWQ6IHgucXVlc3Rpb25JZCxcclxuICAgICAgICAgICAgICAgIFF1ZXN0aW9uVHlwZTogeC5xdWVzdGlvblR5cGUsXHJcbiAgICAgICAgICAgICAgICBBbnN3ZXJJZDogeC5hbnN3ZXJJZCxcclxuICAgICAgICAgICAgICAgIEFuc3dlclRleHQ6IHguYW5zd2VyVGV4dCxcclxuICAgICAgICAgICAgICAgIEFuc3dlcklkQXJyOiB4LmFuc3dlcklkQXJyLFxyXG4gICAgICAgICAgICAgICAgQW5zd2VyTGV2ZWxJZDogeC5hbnN3ZXJMZXZlbElkXHJcbiAgICAgICAgICAgIH0gYXMgU3VydmV5UXVlc3Rpb25SZXN1bHRcclxuICAgICAgICB9XHJcblxyXG4gICAgfSkpXHJcblxyXG5leHBvcnQgY29uc3QgcXVlc3Rpb25TZWxlY3RvcnMgPSB7XHJcbiAgICBhbGxRdWVzdGlvbnMsXHJcbiAgICBwYWdlUXVlc3Rpb25zLFxyXG4gICAgcXVlc3Rpb25BbnN3ZXJzLFxyXG4gICAgYWxsUmVxdWlyZWRRdWVzdGlvbnNPZkN1cnJlbnRQYWdlRG9uZVxyXG59Il19
@@ -55,7 +55,7 @@ export class SurveryLibComponent {
55
55
  this.isFirstPage$ = this._Store.select(surveySelectors.isFirstPage);
56
56
  this.isLastPage$ = this._Store.select(surveySelectors.isLastPage);
57
57
  this.curruntShowedSurveyPages$ = this._Store.select(surveySelectors.selectedPageIndex).pipe(map(x => x + 1));
58
- this.haveValidQuestionsCurrentPage$ = this._Store.select(questionSelectors.HaveValidQuestionsCurrentPage);
58
+ this.allRequiredQuestionsOfCurrentPageDone$ = this._Store.select(questionSelectors.allRequiredQuestionsOfCurrentPageDone);
59
59
  this.isPre = false;
60
60
  this.surveyLanguageId = null;
61
61
  this.surveyKey = null;
@@ -179,4 +179,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
179
179
  }], selectLanguageEmit: [{
180
180
  type: Output
181
181
  }] } });
182
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VydmVyeS1saWIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvc3VydmVyeS1saWIvc3JjL2xpYi9zdXJ2ZXJ5LWxpYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9zdXJ2ZXJ5LWxpYi9zcmMvbGliL3N1cnZleS1saWIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQTJCLE1BQU0sZUFBZSxDQUFDO0FBSXZILE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxFQUFFLElBQUksYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTNDLE9BQU8sRUFBa0QsR0FBRyxFQUFNLElBQUksRUFBa0IsTUFBTSxNQUFNLENBQUM7QUFnQnJHLE9BQU8sRUFBZSxXQUFXLEVBQXlCLE1BQU0sZ0JBQWdCLENBQUM7QUFFakYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRWhFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUM1RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUVqRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMENBQTBDLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVN6RSxNQUFNLE9BQU8sbUJBQW1CO0lBZTlCLElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQUksV0FBVztRQUNiLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQ25DLE9B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U0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQ25DLElBQUksV0FBVyxHQUFHLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQztRQUM5QyxJQUFJLGVBQWUsR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMzRSxJQUFJLGVBQWUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQzlCLE9BQU8sZUFBZSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDcEQ7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7OEdBL0pVLG1CQUFtQjtrR0FBbkIsbUJBQW1CLDBTQ3hDaEMsaWlJQXFFTTs7MkZEN0JPLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDRSxpQkFBaUI7d0xBd0NsQixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUVJLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFDRyxrQkFBa0I7c0JBQTNCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBRdWVyeUxpc3QsIFZpZXdDaGlsZHJlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdXJ2ZXlMaWJTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9zdXJ2ZXktbGliLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTdXJ2ZXlEdG8gfSBmcm9tICcuLi9zaGFyZWQvZHRvcy9zdXJ2ZXkuZHRvJztcclxuaW1wb3J0IHsgUXVlc3Rpb25DaGlsZE9mU3VydmVyeUxpYkZvcm1JbnRlcmZhY2UsIFJ1bGVRdWVzdGlvbkNoaWxkT2ZTdXJ2ZXJ5TGliRm9ybUludGVyZmFjZSwgU3VydmVyeUxpYkZvcm1JbnRlcmZhY2UgfSBmcm9tICcuLi9zaGFyZWQvZm9ybS1pbnRlcmZhY2VzL3N1cnZlcnktbGliLmZvcm0taW50ZXJmYWNlJztcclxuaW1wb3J0IHsgUXVlc3Rpb25UeXBlRW51bSB9IGZyb20gJy4uL3NoYXJlZC9lbnVtcy9xdWVzdGlvbi10eXBlLmVudW0nO1xyXG5pbXBvcnQgeyB2NCBhcyBndWlkR2VuZXJhdG9yIH0gZnJvbSAndXVpZCc7XHJcbmltcG9ydCB7IFF1ZXN0aW9uQW5zd2VyTW9kZWwgfSBmcm9tICcuLi9zaGFyZWQvbW9kZWxzL3F1ZXN0aW9uLWFuc3dlci5tb2RlbCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgb2YsIHRha2UsIHdpdGhMYXRlc3RGcm9tIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IExvZ2ljUHJvcGVydHlFbnVtIH0gZnJvbSAnLi4vc2hhcmVkL2VudW1zL0xvZ2ljLVByb3BlcnR5LmVudW0nO1xyXG5pbXBvcnQgeyBSdWxlRXhwRHRvIH0gZnJvbSAnLi4vc2hhcmVkL2R0b3MvcnVsZS1leHAuZHRvJztcclxuaW1wb3J0IHsgT3BlcmF0b3JFbnVtIH0gZnJvbSAnLi4vc2hhcmVkL2VudW1zL29wZXJhdG9yLmVudW0nO1xyXG5pbXBvcnQgeyBMb2dpY0FjdGlvbkVudW0gfSBmcm9tICcuLi9zaGFyZWQvZW51bXMvbG9naWMtYWN0aW9uLmVudW0nO1xyXG5pbXBvcnQgeyBDaGVja1J1bGVFeHBzVXNlY2FzZSB9IGZyb20gJy4vdXNlY2FzZXMvY2hlY2stcnVsZS1leHBzLnVzZWNhc2UnO1xyXG5pbXBvcnQgeyBTdXJ2ZXlRdWVzdGlvblJlc3VsdCB9IGZyb20gJy4uL3NoYXJlZC9tb2RlbHMvc3VydmVyeS1xdWVzdGlvbi1yZXN1bHQubW9kZWwnO1xyXG5pbXBvcnQgeyBEZWZhdWx0UXVlc3Rpb25BbnN3ZXJEdG8gfSBmcm9tICcuLi9zaGFyZWQvZHRvcy9kZWZhdWx0LXF1ZXN0aW9uLWFuc3dlcnMuZHRvJztcclxuaW1wb3J0IHsgUXVlc3Rpb25Cb29sZWFuVGVtcGxhdGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcXVlc3Rpb24tYm9vbGVhbi10ZW1wbGF0ZS9xdWVzdGlvbi1ib29sZWFuLXRlbXBsYXRlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFF1ZXN0aW9uVGV4dFRlbXBsYXRlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3F1ZXN0aW9uLXRleHQtdGVtcGxhdGUvcXVlc3Rpb24tdGV4dC10ZW1wbGF0ZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBRdWVzdGlvblJhZGlvQnV0dG9uVGVtcGxhdGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcXVlc3Rpb24tcmFkaW8tYnV0dG9uLXRlbXBsYXRlL3F1ZXN0aW9uLXJhZGlvLWJ1dHRvbi10ZW1wbGF0ZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBRdWVzdGlvbkRyb3Bkb3duVGVtcGxhdGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcXVlc3Rpb24tZHJvcGRvd24tdGVtcGxhdGUvcXVlc3Rpb24tZHJvcGRvd24tdGVtcGxhdGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUXVlc3Rpb25DaGVja0JveFRlbXBsYXRlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3F1ZXN0aW9uLWNoZWNrLWJveC10ZW1wbGF0ZS9xdWVzdGlvbi1jaGVjay1ib3gtdGVtcGxhdGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUXVlc3Rpb25NYXRyaXhUZW1wbGF0ZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9xdWVzdGlvbi1tYXRyaXgtdGVtcGxhdGUvcXVlc3Rpb24tbWF0cml4LXRlbXBsYXRlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFN1cnZleUxhbmd1YWdlRHRvIH0gZnJvbSAnLi4vc2hhcmVkL2R0b3Mvc3VydmV5LWxhbmd1YWdlLmR0byc7XHJcbmltcG9ydCB7IFN1cnZleVNlY3Rpb25FbnVtIH0gZnJvbSAnLi4vc2hhcmVkL2VudW1zL3N1cnZleS1zZWN0aW9uLmVudW0nO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU3VydmV5UXVlc3Rpb25EdG8gfSBmcm9tICcuLi9zaGFyZWQvZHRvcy9zdXJ2ZXktcXVlc3Rpb24uZHRvJztcclxuaW1wb3J0IHsgSW5wdXRUeXBlRW51bSB9IGZyb20gJy4uL3NoYXJlZC9lbnVtcy9pbnB1dC10eXBlLmVudW0nO1xyXG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcclxuaW1wb3J0IHsgc3VydmV5U2VsZWN0b3JzIH0gZnJvbSAnLi9jb3JlL3N0YXRlcy9zdXJ2ZXktc3RvcmUvc3VydmV5LnNlbGVjdG9yJztcclxuaW1wb3J0IHsgcXVlc3Rpb25Hcm91cFNlbGVjdG9ycyB9IGZyb20gJy4vY29yZS9zdGF0ZXMvc3VydmV5LXN0b3JlL3F1ZXN0aW9uLWdyb3VwLnNlbGVjdG9yJztcclxuaW1wb3J0IHsgcXVlc3Rpb25TZWxlY3RvcnMgfSBmcm9tICcuL2NvcmUvc3RhdGVzL3N1cnZleS1zdG9yZS9xdWVzdGlvbi5zZWxlY3Rvcic7XHJcbmltcG9ydCB7IFF1ZXN0aW9uTmdyeE1vZGVsIH0gZnJvbSAnLi9jb3JlL3N0YXRlcy9lbnRpdGVzL3F1ZXN0aW9uLmVudGl0eSc7XHJcbmltcG9ydCB7IHN1cnZleUFjdGlvbnMgfSBmcm9tICcuL2NvcmUvc3RhdGVzL3N1cnZleS1zdG9yZS9zdXJ2ZXkuYWN0aW9uJztcclxuaW1wb3J0IHsgUXVlc3Rpb25Hcm91cE5ncnhNb2RlbCB9IGZyb20gJy4vY29yZS9zdGF0ZXMvZW50aXRlcy9xdWVzdGlvbi1ncm91cC5lbnRpdHknO1xyXG5kZWNsYXJlIHZhciAkOiBhbnk7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1zdXJ2ZXJ5LWxpYicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3N1cnZleS1saWIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3N1cnZleS1saWIuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3VydmVyeUxpYkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XHJcblxyXG4gIHN1cnZlcnlMaWJyYXJ5RGl2SWQgPSBndWlkR2VuZXJhdG9yKCkgYXMgc3RyaW5nO1xyXG4gIHJlbG9hZERlZmF1bHRBbnN3ZXJJZCA9IGd1aWRHZW5lcmF0b3IoKSBhcyBzdHJpbmc7XHJcbiAgckZvcm06IEZvcm1Hcm91cDxTdXJ2ZXJ5TGliRm9ybUludGVyZmFjZT47XHJcbiAgcXVlc3Rpb25BbnN3ZXJBcnI6IFN1cnZleVF1ZXN0aW9uUmVzdWx0W10gPSBbXTtcclxuXHJcbiAgcGFnZVF1ZXN0aW9uR3JvdXBzJCA9IHRoaXMuX1N0b3JlLnNlbGVjdFNpZ25hbChxdWVzdGlvbkdyb3VwU2VsZWN0b3JzLnBhZ2VRdWVzdGlvbkdyb3Vwcyk7XHJcbiAgcGFnZVF1ZXN0aW9ucyQgPSB0aGlzLl9TdG9yZS5zZWxlY3RTaWduYWwocXVlc3Rpb25TZWxlY3RvcnMucGFnZVF1ZXN0aW9ucyk7XHJcblxyXG4gIGlzRmlyc3RQYWdlJCA9IHRoaXMuX1N0b3JlLnNlbGVjdChzdXJ2ZXlTZWxlY3RvcnMuaXNGaXJzdFBhZ2UpO1xyXG4gIGlzTGFzdFBhZ2UkID0gdGhpcy5fU3RvcmUuc2VsZWN0KHN1cnZleVNlbGVjdG9ycy5pc0xhc3RQYWdlKTtcclxuICBjdXJydW50U2hvd2VkU3VydmV5UGFnZXMkID0gdGhpcy5fU3RvcmUuc2VsZWN0KHN1cnZleVNlbGVjdG9ycy5zZWxlY3RlZFBhZ2VJbmRleCkucGlwZShtYXAoeCA9PiB4ICsgMSkpO1xyXG4gIGhhdmVWYWxpZFF1ZXN0aW9uc0N1cnJlbnRQYWdlJCA9IHRoaXMuX1N0b3JlLnNlbGVjdChxdWVzdGlvblNlbGVjdG9ycy5IYXZlVmFsaWRRdWVzdGlvbnNDdXJyZW50UGFnZSk7XHJcblxyXG4gIGdldCBmQ3RybHMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5yRm9ybS5jb250cm9scztcclxuICB9XHJcblxyXG4gIGdldCBpc0ZpcnN0UGFnZSgpIHtcclxuICAgIGNvbnN0IGZvcm1WYWx1ZSA9IHRoaXMuckZvcm0udmFsdWU7XHJcbiAgICByZXR1cm4gZm9ybVZhbHVlLnNob3dlZFN1cnZleVBhZ2VzLmZpbmRJbmRleCh4ID0+IHggPT0gZm9ybVZhbHVlLmN1cnJlbnRQYWdlSWQpID09IDA7XHJcbiAgfVxyXG5cclxuICBnZXQgcXVlc3Rpb25UeXBlRW51bSgpIHtcclxuICAgIHJldHVybiBRdWVzdGlvblR5cGVFbnVtO1xyXG4gIH1cclxuXHJcblxyXG4gIGdldCBzdXJ2ZXlSZXN1bHQoKTogeyBhbnN3ZXJzOiBTdXJ2ZXlRdWVzdGlvblJlc3VsdFtdLCBjdXJyZW50UGFnZUluZGV4OiBudW1iZXIgfSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBjdXJyZW50UGFnZUluZGV4OiB0aGlzLmZDdHJscy5jdXJyZW50UGFnZUlkLnZhbHVlLFxyXG4gICAgICBhbnN3ZXJzOiB0aGlzLnF1ZXN0aW9uQW5zd2VyQXJyXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKSBpc1ByZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHN1cnZleUxhbmd1YWdlSWQ6IG51bWJlciA9IG51bGw7XHJcbiAgQElucHV0KCkgc3VydmV5S2V5OiBzdHJpbmcgPSBudWxsO1xyXG4gIEBJbnB1dCgpIGFwcGxpY2FudEtleTogc3RyaW5nID0gbnVsbDtcclxuICBASW5wdXQoKSBpc0FyYWJpY0xhbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQE91dHB1dCgpIHN1cnZleVJlc3VsdEVtaXQgPSBuZXcgRXZlbnRFbWl0dGVyPFN1cnZleVF1ZXN0aW9uUmVzdWx0W10+KCk7XHJcbiAgQE91dHB1dCgpIHNlbGVjdExhbmd1YWdlRW1pdCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9zdXJ2ZXlMaWJTZXJ2aWNlOiBTdXJ2ZXlMaWJTZXJ2aWNlLCBwcml2YXRlIF9TdG9yZTogU3RvcmVcclxuICAgICwgcHJpdmF0ZSBfZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLCBwcml2YXRlIF9jaGVja1J1bGVFeHBzVXNlY2FzZTogQ2hlY2tSdWxlRXhwc1VzZWNhc2UpIHtcclxuXHJcbiAgICB0aGlzLnJGb3JtID0gdGhpcy5fZm9ybUJ1aWxkZXIuZ3JvdXA8U3VydmVyeUxpYkZvcm1JbnRlcmZhY2U+KHtcclxuICAgICAgY3VycmVudFBhZ2VJZDogbmV3IEZvcm1Db250cm9sKG51bGwpLFxyXG4gICAgICBzaG93ZWRTdXJ2ZXlQYWdlczogbmV3IEZvcm1Db250cm9sKFtdKVxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5fU3RvcmUuc2VsZWN0KHF1ZXN0aW9uU2VsZWN0b3JzLnF1ZXN0aW9uQW5zd2Vycykuc3Vic2NyaWJlKGFyciA9PiB7XHJcbiAgICAgIHRoaXMucXVlc3Rpb25BbnN3ZXJBcnIgPSBhcnI7XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gIH1cclxuXHJcbiAgcXVlc3Rpb25JZGVudGlmeShpbmRleCwgaXRlbTogUXVlc3Rpb25OZ3J4TW9kZWwpIHtcclxuICAgIHJldHVybiBpdGVtLnF1ZXN0aW9uSWQ7XHJcbiAgfVxyXG5cclxuICBxdWVzdGlvbkdyb3VwSWRlbnRpZnkoaW5kZXgsIGl0ZW06IFF1ZXN0aW9uR3JvdXBOZ3J4TW9kZWwpIHtcclxuICAgIHJldHVybiBpdGVtLnF1ZXN0aW9uR3JvdXBJZDtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fU3RvcmUuc2VsZWN0KHN1cnZleVNlbGVjdG9ycy5zZWxlY3RlZFBhZ2VJZCkuc3Vic2NyaWJlKHZhbHVlID0+IHtcclxuICAgICAgdGhpcy5mQ3RybHMuY3VycmVudFBhZ2VJZC5zZXRWYWx1ZSh2YWx1ZSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLl9TdG9yZS5zZWxlY3Qoc3VydmV5U2VsZWN0b3JzLnNob3dlZFN1cnZleVBhZ2VzKS5zdWJzY3JpYmUodmFsdWUgPT4ge1xyXG4gICAgICB0aGlzLmZDdHJscy5zaG93ZWRTdXJ2ZXlQYWdlcy5zZXRWYWx1ZSh2YWx1ZSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9uUGFnZ2luZ05leHQoKSB7XHJcbiAgICB0aGlzLl9TdG9yZS5zZWxlY3QocXVlc3Rpb25TZWxlY3RvcnMucGFnZVF1ZXN0aW9ucykucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoYXJyID0+IHtcclxuICAgICAgdmFyIGludmFsaWRSZWNvcmRzID0gdGhpcy5oYXZlSW5WYWxpZGF0ZVF1ZXN0aW9ucyhhcnIpO1xyXG5cclxuICAgICAgaWYgKGludmFsaWRSZWNvcmRzLmxlbmd0aCA9PSAwKSB7XHJcblxyXG4gICAgICAgIGNvbnN0IG5leHRQYWdlSWQgPSB0aGlzLmdldE5leHRTaG93ZWRQYWdlKCk7XHJcblxyXG4gICAgICAgIGlmIChuZXh0UGFnZUlkICE9IG51bGwpIHtcclxuICAgICAgICAgIHRoaXMuX1N0b3JlLmRpc3BhdGNoKHN1cnZleUFjdGlvbnMudXBkYXRlUGFnZUlkKHsgcGFnZUlkOiBuZXh0UGFnZUlkIH0pKTtcclxuXHJcbiAgICAgICAgICAkKCdodG1sLCBib2R5JykuYW5pbWF0ZSh7XHJcbiAgICAgICAgICAgIHNjcm9sbFRvcDogJChgI3N1cnZlcnktY2FyZC0ke3RoaXMuc3VydmVyeUxpYnJhcnlEaXZJZH1gKS5vZmZzZXQoKS50b3AgLSAzMFxyXG4gICAgICAgICAgfSwgMzAwKTtcclxuXHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuc3VydmV5UmVzdWx0RW1pdC5lbWl0KHRoaXMucXVlc3Rpb25BbnN3ZXJBcnIpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB2YXIgZmlyc3RRdWVzdGlvbiA9ICQoJy5pbnZhbGlkLXF1ZXN0aW9uJylbMF07XHJcbiAgICAgICAgJCgnaHRtbCwgYm9keScpLmFuaW1hdGUoe1xyXG4gICAgICAgICAgc2Nyb2xsVG9wOiAkKGZpcnN0UXVlc3Rpb24pLm9mZnNldCgpLnRvcCAtIDI1MFxyXG4gICAgICAgIH0sIDMwMCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb25QYWdnaW5nQmFjaygpIHtcclxuICAgIGNvbnN0IHByZXZQYWdlSWQgPSB0aGlzLmdldFByZXZTaG93ZWRQYWdlKCk7XHJcbiAgICBpZiAocHJldlBhZ2VJZCAhPSBudWxsKSB7XHJcbiAgICAgIHRoaXMuX1N0b3JlLmRpc3BhdGNoKHN1cnZleUFjdGlvbnMudXBkYXRlUGFnZUlkKHsgcGFnZUlkOiBwcmV2UGFnZUlkIH0pKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gcHJpdmF0ZSBoYXZlSW5WYWxpZGF0ZVF1ZXN0aW9ucyhxdWVzdGlvbkFycjogUXVlc3Rpb25OZ3J4TW9kZWxbXSkge1xyXG4gICAgY29uc3QgZm9ybVZhbHVlID0gdGhpcy5yRm9ybS52YWx1ZTtcclxuICAgIHZhciBpbnZhbGlkUmVjb3JkcyA9IFtdO1xyXG5cclxuICAgIHZhciBhcnIgPSBxdWVzdGlvbkFyci5maWx0ZXIoeCA9PiB4LmlzRGlzYWJsZWQgPT0gZmFsc2UgJiYgeC5pc1Nob3cgPT0gdHJ1ZSk7XHJcbiAgICBhcnIubWFwKHggPT4ge1xyXG4gICAgICBpZiAoeC5pc1JlcXVpcmVkID09IHRydWUgJiYgeC5pc1ZhbGlkICE9IHRydWUgJiYgeC5pc1F1ZXN0aW9uR3JvdXAgIT0gdHJ1ZSkge1xyXG4gICAgICAgIGludmFsaWRSZWNvcmRzLnB1c2goeCk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgaWYgKHgucXVlc3Rpb25UeXBlID09IFF1ZXN0aW9uVHlwZUVudW0uVGV4dElucHV0ICYmIHguaW5wdXRUeXBlSWQgPT0gSW5wdXRUeXBlRW51bS5FbWFpbCkge1xyXG4gICAgICAgICAgaWYgKHguYW5zd2VyVGV4dD8udHJpbSgpICYmIHguaXNWYWxpZCAhPSB0cnVlKSB7XHJcbiAgICAgICAgICAgIGludmFsaWRSZWNvcmRzLnB1c2goeCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICBpZiAoaW52YWxpZFJlY29yZHMubGVuZ3RoID4gMCkge1xyXG4gICAgICAkKGAjc3VydmV5LXBhZ2VfJHtmb3JtVmFsdWUuY3VycmVudFBhZ2VJZH1gKS5hZGRDbGFzcygnc3VydmV5LXBhZ2Vfc3VibWl0dGVkJyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAkKGAjc3VydmV5LXBhZ2VfJHtmb3JtVmFsdWUuY3VycmVudFBhZ2VJZH1gKS5yZW1vdmVDbGFzcygnc3VydmV5LXBhZ2Vfc3VibWl0dGVkJyk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGludmFsaWRSZWNvcmRzO1xyXG4gIH1cclxuXHJcblxyXG4gIHByaXZhdGUgZ2V0TmV4dFNob3dlZFBhZ2UoKSB7XHJcbiAgICBjb25zdCBmb3JtVmFsdWUgPSB0aGlzLnJGb3JtLnZhbHVlO1xyXG4gICAgdmFyIHNob3dlZFBhZ2VzID0gZm9ybVZhbHVlLnNob3dlZFN1cnZleVBhZ2VzO1xyXG4gICAgdmFyIG5leHRTaG93ZWRQYWdlcyA9IHNob3dlZFBhZ2VzLmZpbHRlcih4ID0+IHggPiBmb3JtVmFsdWUuY3VycmVudFBhZ2VJZCk7XHJcbiAgICBpZiAobmV4dFNob3dlZFBhZ2VzLmxlbmd0aCA+IDApIHtcclxuICAgICAgcmV0dXJuIG5leHRTaG93ZWRQYWdlc1swXTtcclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRQcmV2U2hvd2VkUGFnZSgpIHtcclxuICAgIGNvbnN0IGZvcm1WYWx1ZSA9IHRoaXMuckZvcm0udmFsdWU7XHJcbiAgICB2YXIgc2hvd2VkUGFnZXMgPSBmb3JtVmFsdWUuc2hvd2VkU3VydmV5UGFnZXM7XHJcbiAgICB2YXIgcHJldlNob3dlZFBhZ2VzID0gc2hvd2VkUGFnZXMuZmlsdGVyKHggPT4geCA8IGZvcm1WYWx1ZS5jdXJyZW50UGFnZUlkKTtcclxuICAgIGlmIChwcmV2U2hvd2VkUGFnZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICByZXR1cm4gcHJldlNob3dlZFBhZ2VzW3ByZXZTaG93ZWRQYWdlcy5sZW5ndGggLSAxXTtcclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGlkPVwic3VydmVyeS1jYXJkLXt7c3VydmVyeUxpYnJhcnlEaXZJZH19XCIgY2xhc3M9XCJzdXJ2YXktY2FyZFwiPlxyXG4gIDxkaXYgW2F0dHIuaWRdPVwiJ3N1cnZleS1wYWdlXycrZkN0cmxzLmN1cnJlbnRQYWdlSWQudmFsdWVcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgcGFnZVF1ZXN0aW9uR3JvdXBzJCgpOyB0cmFja0J5OnF1ZXN0aW9uR3JvdXBJZGVudGlmeVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwic3VydmF5LWNhcmRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic3VydmF5LWNhcmQtYm9keVwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInN1cnZheS1ncm91cFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGl0bGVcIj5cclxuICAgICAgICAgICAgICA8aDIgY2xhc3M9XCJncm91cC10aXRsZVwiIFtpbm5lckhUTUxdPVwiaXRlbS5xdWVzdGlvbkdyb3VwTmFtZVwiPlxyXG4gICAgICAgICAgICAgIDwvaDI+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJncm91cC1zdWItdGl0bGUgXCIgW2lubmVySFRNTF09XCJpdGVtLnF1ZXN0aW9uR3JvdXBEZXNjcmlwdGlvblwiPlxyXG4gICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgcXVlc3Rpb24gb2YgKHBhZ2VRdWVzdGlvbnMkKCkgfGZpbHRlclF1ZXN0aW9uIDogaXRlbS5xdWVzdGlvbkdyb3VwSWQpOyB0cmFja0J5OnF1ZXN0aW9uSWRlbnRpZnlcIj5cclxuICAgICAgICAgICAgICA8bGliLXF1ZXN0aW9uLWJvb2xlYW4tdGVtcGxhdGUgI3F1ZXN0aW9uQm9vbGVhblRlbXBsYXRlIFtzZXRRdWVzdGlvbl09XCJxdWVzdGlvblwiXHJcbiAgICAgICAgICAgICAgICAqbmdJZj1cInF1ZXN0aW9uLnF1ZXN0aW9uVHlwZSA9PSBxdWVzdGlvblR5cGVFbnVtLkJvb2xlYW5cIj5cclxuICAgICAgICAgICAgICA8L2xpYi1xdWVzdGlvbi1ib29sZWFuLXRlbXBsYXRlPlxyXG5cclxuICAgICAgICAgICAgICA8bGliLXF1ZXN0aW9uLXRleHQtdGVtcGxhdGUgI3F1ZXN0aW9uVGV4dFRlbXBsYXRlIFtzZXRRdWVzdGlvbl09XCJxdWVzdGlvblwiXHJcbiAgICAgICAgICAgICAgICAqbmdJZj1cInF1ZXN0aW9uLnF1ZXN0aW9uVHlwZSA9PSBxdWVzdGlvblR5cGVFbnVtLlRleHRJbnB1dFwiXHJcbiAgICAgICAgICAgICAgICBbaXNBcmFiaWNMYW5nXT1cImlzQXJhYmljTGFuZ1wiPjwvbGliLXF1ZXN0aW9uLXRleHQtdGVtcGxhdGU+XHJcblxyXG4gICAgICAgICAgICAgIDxsaWItcXVlc3Rpb24tZmVlZGJhY2stdGVtcGxhdGUgI3F1ZXN0aW9uRmVlZFRlbXBsYXRlIFtzZXRRdWVzdGlvbl09XCJxdWVzdGlvblwiXHJcbiAgICAgICAgICAgICAgICAqbmdJZj1cInF1ZXN0aW9uLnF1ZXN0aW9uVHlwZSA9PSBxdWVzdGlvblR5cGVFbnVtLkZlZWRCYWNrXCJcclxuICAgICAgICAgICAgICAgIFtpc0FyYWJpY0xhbmddPVwiaXNBcmFiaWNMYW5nXCI+PC9saWItcXVlc3Rpb24tZmVlZGJhY2stdGVtcGxhdGU+XHJcblxyXG4gICAgICAgICAgICAgIDxsaWItcXVlc3Rpb24tcmFkaW8tYnV0dG9uLXRlbXBsYXRlICNxdWVzdGlvblJhZGlvQnV0dG9uVGVtcGxhdGUgW3NldFF1ZXN0aW9uXT1cInF1ZXN0aW9uXCJcclxuICAgICAgICAgICAgICAgICpuZ0lmPVwicXVlc3Rpb24ucXVlc3Rpb25UeXBlID09IHF1ZXN0aW9uVHlwZUVudW0uUmFkaW9CdXR0b25cIj5cclxuICAgICAgICAgICAgICA8L2xpYi1xdWVzdGlvbi1yYWRpby1idXR0b24tdGVtcGxhdGU+XHJcblxyXG4gICAgICAgICAgICAgIDxsaWItcXVlc3Rpb24tZHJvcGRvd24tdGVtcGxhdGUgI3F1ZXN0aW9uRHJvcGRvd25UZW1wbGF0ZSBbc2V0UXVlc3Rpb25dPVwicXVlc3Rpb25cIlxyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJxdWVzdGlvbi5xdWVzdGlvblR5cGUgPT0gcXVlc3Rpb25UeXBlRW51bS5Ecm9wRG93blwiPjwvbGliLXF1ZXN0aW9uLWRyb3Bkb3duLXRlbXBsYXRlPlxyXG5cclxuICAgICAgICAgICAgICA8bGliLXF1ZXN0aW9uLWRyb3Bkb3duLW11bHRpLXRlbXBsYXRlIFtzZXRRdWVzdGlvbl09XCJxdWVzdGlvblwiXHJcbiAgICAgICAgICAgICAgICAqbmdJZj1cInF1ZXN0aW9uLnF1ZXN0aW9uVHlwZSA9PSBxdWVzdGlvblR5cGVFbnVtLkRyb3BEb3duTXVsdGlcIj5cclxuICAgICAgICAgICAgICA8L2xpYi1xdWVzdGlvbi1kcm9wZG93bi1tdWx0aS10ZW1wbGF0ZT5cclxuXHJcbiAgICAgICAgICAgICAgPGxpYi1xdWVzdGlvbi1jaGVjay1ib3gtdGVtcGxhdGUgI3F1ZXN0aW9uQ2hlY2tCb3hUZW1wbGF0ZSBbc2V0UXVlc3Rpb25dPVwicXVlc3Rpb25cIlxyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJxdWVzdGlvbi5xdWVzdGlvblR5cGUgPT0gcXVlc3Rpb25UeXBlRW51bS5DaGVja0JveFwiPlxyXG4gICAgICAgICAgICAgIDwvbGliLXF1ZXN0aW9uLWNoZWNrLWJveC10ZW1wbGF0ZT5cclxuXHJcbiAgICAgICAgICAgICAgPGxpYi1xdWVzdGlvbi1tYXRyaXgtdGVtcGxhdGUgI3F1ZXN0aW9uTWF0cml4VGVtcGxhdGUgW3NldFF1ZXN0aW9uXT1cInF1ZXN0aW9uXCJcclxuICAgICAgICAgICAgICAgICpuZ0lmPVwicXVlc3Rpb24ucXVlc3Rpb25UeXBlID09IHF1ZXN0aW9uVHlwZUVudW0uTWF0cml4XCI+XHJcbiAgICAgICAgICAgICAgPC9saWItcXVlc3Rpb24tbWF0cml4LXRlbXBsYXRlPlxyXG5cclxuICAgICAgICAgICAgICA8bGliLXF1ZXN0aW9uLWNhc2NhZGUtdGVtcGxhdGUgI3F1ZXN0aW9uQ2FzY2FkZVRlbXBsYXRlIFtzZXRRdWVzdGlvbl09XCJxdWVzdGlvblwiXHJcbiAgICAgICAgICAgICAgICAqbmdJZj1cInF1ZXN0aW9uLnF1ZXN0aW9uVHlwZSA9PSBxdWVzdGlvblR5cGVFbnVtLkNhc2NhZGVcIiBbYXBwbGljYW50S2V5XT1cImFwcGxpY2FudEtleVwiIFtpc1ByZV09XCJpc1ByZVwiXHJcbiAgICAgICAgICAgICAgICBbc3VydmV5TGFuZ3VhZ2VJZF09XCJzdXJ2ZXlMYW5ndWFnZUlkXCIgW3BhZ2VJZF09XCJxdWVzdGlvbi5zdXJ2ZXlQYWdlSWRcIlxyXG4gICAgICAgICAgICAgICAgW3F1ZXN0aW9uR3JvdXBJZF09XCJxdWVzdGlvbi5xdWVzdGlvbkdyb3VwSWRcIiBbc3VydmV5S2V5XT1cInN1cnZleUtleVwiXHJcbiAgICAgICAgICAgICAgICBbc3VydmV5TGFuZ3VhZ2VJZF09XCJzdXJ2ZXlMYW5ndWFnZUlkXCI+PC9saWItcXVlc3Rpb24tY2FzY2FkZS10ZW1wbGF0ZT5cclxuXHJcbiAgICAgICAgICAgICAgPGxpYi1xdWVzdGlvbi1pbnN0aXR1dGlvbnMtdGVtcGxhdGUgI3F1ZXN0aW9uSW5zdGl0dXRpb25zVGVtcGxhdGUgW3NldFF1ZXN0aW9uXT1cInF1ZXN0aW9uXCJcclxuICAgICAgICAgICAgICAgICpuZ0lmPVwicXVlc3Rpb24ucXVlc3Rpb25UeXBlID09IHF1ZXN0aW9uVHlwZUVudW0uSW5zdGl0dXRpb25zXCJcclxuICAgICAgICAgICAgICAgIFtpc0FyYWJpY0xhbmddPVwiaXNBcmFiaWNMYW5nXCI+PC9saWItcXVlc3Rpb24taW5zdGl0dXRpb25zLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJzdXJ2YXktY2FyZC1mb290clwiICpuZ0lmPVwiZkN0cmxzLnNob3dlZFN1cnZleVBhZ2VzLnZhbHVlLmxlbmd0aCA+IDBcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXJcIiBzdHlsZT1cIiBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1wiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwic3VydmF5LXBhZ2luYXRpb24gZnctYm9sZFwiPlxyXG4gICAgICAgIDxzcGFuPnt7IGN1cnJ1bnRTaG93ZWRTdXJ2ZXlQYWdlcyQgfCBhc3luY319PC9zcGFuPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwibXMtMiBtZS0yXCI+e3tpc0FyYWJpY0xhbmcgPyAn2YXZhicgOiAnb2YnfX0gPC9zcGFuPlxyXG4gICAgICAgIDxzcGFuPnt7ZkN0cmxzLnNob3dlZFN1cnZleVBhZ2VzLnZhbHVlLmxlbmd0aH19PC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj4iXX0=
182
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VydmVyeS1saWIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvc3VydmVyeS1saWIvc3JjL2xpYi9zdXJ2ZXJ5LWxpYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9zdXJ2ZXJ5LWxpYi9zcmMvbGliL3N1cnZleS1saWIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQTJCLE1BQU0sZUFBZSxDQUFDO0FBSXZILE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxFQUFFLElBQUksYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTNDLE9BQU8sRUFBa0QsR0FBRyxFQUFNLElBQUksRUFBa0IsTUFBTSxNQUFNLENBQUM7QUFnQnJHLE9BQU8sRUFBZSxXQUFXLEVBQXlCLE1BQU0sZ0JBQWdCLENBQUM7QUFFakYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRWhFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUM1RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUVqRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMENBQTBDLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVN6RSxNQUFNLE9BQU8sbUJBQW1CO0lBZTlCLElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQUksV0FBVztRQUNiLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQ25DLE9B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U0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQ25DLElBQUksV0FBVyxHQUFHLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQztRQUM5QyxJQUFJLGVBQWUsR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMzRSxJQUFJLGVBQWUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQzlCLE9BQU8sZUFBZSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDcEQ7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7OEdBL0pVLG1CQUFtQjtrR0FBbkIsbUJBQW1CLDBTQ3hDaEMsaWlJQXFFTTs7MkZEN0JPLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDRSxpQkFBaUI7d0xBd0NsQixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUVJLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFDRyxrQkFBa0I7c0JBQTNCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBRdWVyeUxpc3QsIFZpZXdDaGlsZHJlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdXJ2ZXlMaWJTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9zdXJ2ZXktbGliLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTdXJ2ZXlEdG8gfSBmcm9tICcuLi9zaGFyZWQvZHRvcy9zdXJ2ZXkuZHRvJztcclxuaW1wb3J0IHsgUXVlc3Rpb25DaGlsZE9mU3VydmVyeUxpYkZvcm1JbnRlcmZhY2UsIFJ1bGVRdWVzdGlvbkNoaWxkT2ZTdXJ2ZXJ5TGliRm9ybUludGVyZmFjZSwgU3VydmVyeUxpYkZvcm1JbnRlcmZhY2UgfSBmcm9tICcuLi9zaGFyZWQvZm9ybS1pbnRlcmZhY2VzL3N1cnZlcnktbGliLmZvcm0taW50ZXJmYWNlJztcclxuaW1wb3J0IHsgUXVlc3Rpb25UeXBlRW51bSB9IGZyb20gJy4uL3NoYXJlZC9lbnVtcy9xdWVzdGlvbi10eXBlLmVudW0nO1xyXG5pbXBvcnQgeyB2NCBhcyBndWlkR2VuZXJhdG9yIH0gZnJvbSAndXVpZCc7XHJcbmltcG9ydCB7IFF1ZXN0aW9uQW5zd2VyTW9kZWwgfSBmcm9tICcuLi9zaGFyZWQvbW9kZWxzL3F1ZXN0aW9uLWFuc3dlci5tb2RlbCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgb2YsIHRha2UsIHdpdGhMYXRlc3RGcm9tIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IExvZ2ljUHJvcGVydHlFbnVtIH0gZnJvbSAnLi4vc2hhcmVkL2VudW1zL0xvZ2ljLVByb3BlcnR5LmVudW0nO1xyXG5pbXBvcnQgeyBSdWxlRXhwRHRvIH0gZnJvbSAnLi4vc2hhcmVkL2R0b3MvcnVsZS1leHAuZHRvJztcclxuaW1wb3J0IHsgT3BlcmF0b3JFbnVtIH0gZnJvbSAnLi4vc2hhcmVkL2VudW1zL29wZXJhdG9yLmVudW0nO1xyXG5pbXBvcnQgeyBMb2dpY0FjdGlvbkVudW0gfSBmcm9tICcuLi9zaGFyZWQvZW51bXMvbG9naWMtYWN0aW9uLmVudW0nO1xyXG5pbXBvcnQgeyBDaGVja1J1bGVFeHBzVXNlY2FzZSB9IGZyb20gJy4vdXNlY2FzZXMvY2hlY2stcnVsZS1leHBzLnVzZWNhc2UnO1xyXG5pbXBvcnQgeyBTdXJ2ZXlRdWVzdGlvblJlc3VsdCB9IGZyb20gJy4uL3NoYXJlZC9tb2RlbHMvc3VydmVyeS1xdWVzdGlvbi1yZXN1bHQubW9kZWwnO1xyXG5pbXBvcnQgeyBEZWZhdWx0UXVlc3Rpb25BbnN3ZXJEdG8gfSBmcm9tICcuLi9zaGFyZWQvZHRvcy9kZWZhdWx0LXF1ZXN0aW9uLWFuc3dlcnMuZHRvJztcclxuaW1wb3J0IHsgUXVlc3Rpb25Cb29sZWFuVGVtcGxhdGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcXVlc3Rpb24tYm9vbGVhbi10ZW1wbGF0ZS9xdWVzdGlvbi1ib29sZWFuLXRlbXBsYXRlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFF1ZXN0aW9uVGV4dFRlbXBsYXRlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3F1ZXN0aW9uLXRleHQtdGVtcGxhdGUvcXVlc3Rpb24tdGV4dC10ZW1wbGF0ZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBRdWVzdGlvblJhZGlvQnV0dG9uVGVtcGxhdGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcXVlc3Rpb24tcmFkaW8tYnV0dG9uLXRlbXBsYXRlL3F1ZXN0aW9uLXJhZGlvLWJ1dHRvbi10ZW1wbGF0ZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBRdWVzdGlvbkRyb3Bkb3duVGVtcGxhdGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcXVlc3Rpb24tZHJvcGRvd24tdGVtcGxhdGUvcXVlc3Rpb24tZHJvcGRvd24tdGVtcGxhdGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUXVlc3Rpb25DaGVja0JveFRlbXBsYXRlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3F1ZXN0aW9uLWNoZWNrLWJveC10ZW1wbGF0ZS9xdWVzdGlvbi1jaGVjay1ib3gtdGVtcGxhdGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUXVlc3Rpb25NYXRyaXhUZW1wbGF0ZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9xdWVzdGlvbi1tYXRyaXgtdGVtcGxhdGUvcXVlc3Rpb24tbWF0cml4LXRlbXBsYXRlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFN1cnZleUxhbmd1YWdlRHRvIH0gZnJvbSAnLi4vc2hhcmVkL2R0b3Mvc3VydmV5LWxhbmd1YWdlLmR0byc7XHJcbmltcG9ydCB7IFN1cnZleVNlY3Rpb25FbnVtIH0gZnJvbSAnLi4vc2hhcmVkL2VudW1zL3N1cnZleS1zZWN0aW9uLmVudW0nO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU3VydmV5UXVlc3Rpb25EdG8gfSBmcm9tICcuLi9zaGFyZWQvZHRvcy9zdXJ2ZXktcXVlc3Rpb24uZHRvJztcclxuaW1wb3J0IHsgSW5wdXRUeXBlRW51bSB9IGZyb20gJy4uL3NoYXJlZC9lbnVtcy9pbnB1dC10eXBlLmVudW0nO1xyXG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcclxuaW1wb3J0IHsgc3VydmV5U2VsZWN0b3JzIH0gZnJvbSAnLi9jb3JlL3N0YXRlcy9zdXJ2ZXktc3RvcmUvc3VydmV5LnNlbGVjdG9yJztcclxuaW1wb3J0IHsgcXVlc3Rpb25Hcm91cFNlbGVjdG9ycyB9IGZyb20gJy4vY29yZS9zdGF0ZXMvc3VydmV5LXN0b3JlL3F1ZXN0aW9uLWdyb3VwLnNlbGVjdG9yJztcclxuaW1wb3J0IHsgcXVlc3Rpb25TZWxlY3RvcnMgfSBmcm9tICcuL2NvcmUvc3RhdGVzL3N1cnZleS1zdG9yZS9xdWVzdGlvbi5zZWxlY3Rvcic7XHJcbmltcG9ydCB7IFF1ZXN0aW9uTmdyeE1vZGVsIH0gZnJvbSAnLi9jb3JlL3N0YXRlcy9lbnRpdGVzL3F1ZXN0aW9uLmVudGl0eSc7XHJcbmltcG9ydCB7IHN1cnZleUFjdGlvbnMgfSBmcm9tICcuL2NvcmUvc3RhdGVzL3N1cnZleS1zdG9yZS9zdXJ2ZXkuYWN0aW9uJztcclxuaW1wb3J0IHsgUXVlc3Rpb25Hcm91cE5ncnhNb2RlbCB9IGZyb20gJy4vY29yZS9zdGF0ZXMvZW50aXRlcy9xdWVzdGlvbi1ncm91cC5lbnRpdHknO1xyXG5kZWNsYXJlIHZhciAkOiBhbnk7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1zdXJ2ZXJ5LWxpYicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3N1cnZleS1saWIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3N1cnZleS1saWIuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3VydmVyeUxpYkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XHJcblxyXG4gIHN1cnZlcnlMaWJyYXJ5RGl2SWQgPSBndWlkR2VuZXJhdG9yKCkgYXMgc3RyaW5nO1xyXG4gIHJlbG9hZERlZmF1bHRBbnN3ZXJJZCA9IGd1aWRHZW5lcmF0b3IoKSBhcyBzdHJpbmc7XHJcbiAgckZvcm06IEZvcm1Hcm91cDxTdXJ2ZXJ5TGliRm9ybUludGVyZmFjZT47XHJcbiAgcXVlc3Rpb25BbnN3ZXJBcnI6IFN1cnZleVF1ZXN0aW9uUmVzdWx0W10gPSBbXTtcclxuXHJcbiAgcGFnZVF1ZXN0aW9uR3JvdXBzJCA9IHRoaXMuX1N0b3JlLnNlbGVjdFNpZ25hbChxdWVzdGlvbkdyb3VwU2VsZWN0b3JzLnBhZ2VRdWVzdGlvbkdyb3Vwcyk7XHJcbiAgcGFnZVF1ZXN0aW9ucyQgPSB0aGlzLl9TdG9yZS5zZWxlY3RTaWduYWwocXVlc3Rpb25TZWxlY3RvcnMucGFnZVF1ZXN0aW9ucyk7XHJcblxyXG4gIGlzRmlyc3RQYWdlJCA9IHRoaXMuX1N0b3JlLnNlbGVjdChzdXJ2ZXlTZWxlY3RvcnMuaXNGaXJzdFBhZ2UpO1xyXG4gIGlzTGFzdFBhZ2UkID0gdGhpcy5fU3RvcmUuc2VsZWN0KHN1cnZleVNlbGVjdG9ycy5pc0xhc3RQYWdlKTtcclxuICBjdXJydW50U2hvd2VkU3VydmV5UGFnZXMkID0gdGhpcy5fU3RvcmUuc2VsZWN0KHN1cnZleVNlbGVjdG9ycy5zZWxlY3RlZFBhZ2VJbmRleCkucGlwZShtYXAoeCA9PiB4ICsgMSkpO1xyXG4gIGFsbFJlcXVpcmVkUXVlc3Rpb25zT2ZDdXJyZW50UGFnZURvbmUkID0gdGhpcy5fU3RvcmUuc2VsZWN0KHF1ZXN0aW9uU2VsZWN0b3JzLmFsbFJlcXVpcmVkUXVlc3Rpb25zT2ZDdXJyZW50UGFnZURvbmUpO1xyXG5cclxuICBnZXQgZkN0cmxzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuckZvcm0uY29udHJvbHM7XHJcbiAgfVxyXG5cclxuICBnZXQgaXNGaXJzdFBhZ2UoKSB7XHJcbiAgICBjb25zdCBmb3JtVmFsdWUgPSB0aGlzLnJGb3JtLnZhbHVlO1xyXG4gICAgcmV0dXJuIGZvcm1WYWx1ZS5zaG93ZWRTdXJ2ZXlQYWdlcy5maW5kSW5kZXgoeCA9PiB4ID09IGZvcm1WYWx1ZS5jdXJyZW50UGFnZUlkKSA9PSAwO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHF1ZXN0aW9uVHlwZUVudW0oKSB7XHJcbiAgICByZXR1cm4gUXVlc3Rpb25UeXBlRW51bTtcclxuICB9XHJcblxyXG5cclxuICBnZXQgc3VydmV5UmVzdWx0KCk6IHsgYW5zd2VyczogU3VydmV5UXVlc3Rpb25SZXN1bHRbXSwgY3VycmVudFBhZ2VJbmRleDogbnVtYmVyIH0ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgY3VycmVudFBhZ2VJbmRleDogdGhpcy5mQ3RybHMuY3VycmVudFBhZ2VJZC52YWx1ZSxcclxuICAgICAgYW5zd2VyczogdGhpcy5xdWVzdGlvbkFuc3dlckFyclxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQElucHV0KCkgaXNQcmU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBzdXJ2ZXlMYW5ndWFnZUlkOiBudW1iZXIgPSBudWxsO1xyXG4gIEBJbnB1dCgpIHN1cnZleUtleTogc3RyaW5nID0gbnVsbDtcclxuICBASW5wdXQoKSBhcHBsaWNhbnRLZXk6IHN0cmluZyA9IG51bGw7XHJcbiAgQElucHV0KCkgaXNBcmFiaWNMYW5nOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBPdXRwdXQoKSBzdXJ2ZXlSZXN1bHRFbWl0ID0gbmV3IEV2ZW50RW1pdHRlcjxTdXJ2ZXlRdWVzdGlvblJlc3VsdFtdPigpO1xyXG4gIEBPdXRwdXQoKSBzZWxlY3RMYW5ndWFnZUVtaXQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfc3VydmV5TGliU2VydmljZTogU3VydmV5TGliU2VydmljZSwgcHJpdmF0ZSBfU3RvcmU6IFN0b3JlXHJcbiAgICAsIHByaXZhdGUgX2Zvcm1CdWlsZGVyOiBGb3JtQnVpbGRlciwgcHJpdmF0ZSBfY2hlY2tSdWxlRXhwc1VzZWNhc2U6IENoZWNrUnVsZUV4cHNVc2VjYXNlKSB7XHJcblxyXG4gICAgdGhpcy5yRm9ybSA9IHRoaXMuX2Zvcm1CdWlsZGVyLmdyb3VwPFN1cnZlcnlMaWJGb3JtSW50ZXJmYWNlPih7XHJcbiAgICAgIGN1cnJlbnRQYWdlSWQ6IG5ldyBGb3JtQ29udHJvbChudWxsKSxcclxuICAgICAgc2hvd2VkU3VydmV5UGFnZXM6IG5ldyBGb3JtQ29udHJvbChbXSlcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuX1N0b3JlLnNlbGVjdChxdWVzdGlvblNlbGVjdG9ycy5xdWVzdGlvbkFuc3dlcnMpLnN1YnNjcmliZShhcnIgPT4ge1xyXG4gICAgICB0aGlzLnF1ZXN0aW9uQW5zd2VyQXJyID0gYXJyO1xyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICB9XHJcblxyXG4gIHF1ZXN0aW9uSWRlbnRpZnkoaW5kZXgsIGl0ZW06IFF1ZXN0aW9uTmdyeE1vZGVsKSB7XHJcbiAgICByZXR1cm4gaXRlbS5xdWVzdGlvbklkO1xyXG4gIH1cclxuXHJcbiAgcXVlc3Rpb25Hcm91cElkZW50aWZ5KGluZGV4LCBpdGVtOiBRdWVzdGlvbkdyb3VwTmdyeE1vZGVsKSB7XHJcbiAgICByZXR1cm4gaXRlbS5xdWVzdGlvbkdyb3VwSWQ7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX1N0b3JlLnNlbGVjdChzdXJ2ZXlTZWxlY3RvcnMuc2VsZWN0ZWRQYWdlSWQpLnN1YnNjcmliZSh2YWx1ZSA9PiB7XHJcbiAgICAgIHRoaXMuZkN0cmxzLmN1cnJlbnRQYWdlSWQuc2V0VmFsdWUodmFsdWUpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5fU3RvcmUuc2VsZWN0KHN1cnZleVNlbGVjdG9ycy5zaG93ZWRTdXJ2ZXlQYWdlcykuc3Vic2NyaWJlKHZhbHVlID0+IHtcclxuICAgICAgdGhpcy5mQ3RybHMuc2hvd2VkU3VydmV5UGFnZXMuc2V0VmFsdWUodmFsdWUpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvblBhZ2dpbmdOZXh0KCkge1xyXG4gICAgdGhpcy5fU3RvcmUuc2VsZWN0KHF1ZXN0aW9uU2VsZWN0b3JzLnBhZ2VRdWVzdGlvbnMpLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKGFyciA9PiB7XHJcbiAgICAgIHZhciBpbnZhbGlkUmVjb3JkcyA9IHRoaXMuaGF2ZUluVmFsaWRhdGVRdWVzdGlvbnMoYXJyKTtcclxuXHJcbiAgICAgIGlmIChpbnZhbGlkUmVjb3Jkcy5sZW5ndGggPT0gMCkge1xyXG5cclxuICAgICAgICBjb25zdCBuZXh0UGFnZUlkID0gdGhpcy5nZXROZXh0U2hvd2VkUGFnZSgpO1xyXG5cclxuICAgICAgICBpZiAobmV4dFBhZ2VJZCAhPSBudWxsKSB7XHJcbiAgICAgICAgICB0aGlzLl9TdG9yZS5kaXNwYXRjaChzdXJ2ZXlBY3Rpb25zLnVwZGF0ZVBhZ2VJZCh7IHBhZ2VJZDogbmV4dFBhZ2VJZCB9KSk7XHJcblxyXG4gICAgICAgICAgJCgnaHRtbCwgYm9keScpLmFuaW1hdGUoe1xyXG4gICAgICAgICAgICBzY3JvbGxUb3A6ICQoYCNzdXJ2ZXJ5LWNhcmQtJHt0aGlzLnN1cnZlcnlMaWJyYXJ5RGl2SWR9YCkub2Zmc2V0KCkudG9wIC0gMzBcclxuICAgICAgICAgIH0sIDMwMCk7XHJcblxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLnN1cnZleVJlc3VsdEVtaXQuZW1pdCh0aGlzLnF1ZXN0aW9uQW5zd2VyQXJyKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdmFyIGZpcnN0UXVlc3Rpb24gPSAkKCcuaW52YWxpZC1xdWVzdGlvbicpWzBdO1xyXG4gICAgICAgICQoJ2h0bWwsIGJvZHknKS5hbmltYXRlKHtcclxuICAgICAgICAgIHNjcm9sbFRvcDogJChmaXJzdFF1ZXN0aW9uKS5vZmZzZXQoKS50b3AgLSAyNTBcclxuICAgICAgICB9LCAzMDApO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9uUGFnZ2luZ0JhY2soKSB7XHJcbiAgICBjb25zdCBwcmV2UGFnZUlkID0gdGhpcy5nZXRQcmV2U2hvd2VkUGFnZSgpO1xyXG4gICAgaWYgKHByZXZQYWdlSWQgIT0gbnVsbCkge1xyXG4gICAgICB0aGlzLl9TdG9yZS5kaXNwYXRjaChzdXJ2ZXlBY3Rpb25zLnVwZGF0ZVBhZ2VJZCh7IHBhZ2VJZDogcHJldlBhZ2VJZCB9KSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuIHByaXZhdGUgaGF2ZUluVmFsaWRhdGVRdWVzdGlvbnMocXVlc3Rpb25BcnI6IFF1ZXN0aW9uTmdyeE1vZGVsW10pIHtcclxuICAgIGNvbnN0IGZvcm1WYWx1ZSA9IHRoaXMuckZvcm0udmFsdWU7XHJcbiAgICB2YXIgaW52YWxpZFJlY29yZHMgPSBbXTtcclxuXHJcbiAgICB2YXIgYXJyID0gcXVlc3Rpb25BcnIuZmlsdGVyKHggPT4geC5pc0Rpc2FibGVkID09IGZhbHNlICYmIHguaXNTaG93ID09IHRydWUpO1xyXG4gICAgYXJyLm1hcCh4ID0+IHtcclxuICAgICAgaWYgKHguaXNSZXF1aXJlZCA9PSB0cnVlICYmIHguaXNWYWxpZCAhPSB0cnVlICYmIHguaXNRdWVzdGlvbkdyb3VwICE9IHRydWUpIHtcclxuICAgICAgICBpbnZhbGlkUmVjb3Jkcy5wdXNoKHgpO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIGlmICh4LnF1ZXN0aW9uVHlwZSA9PSBRdWVzdGlvblR5cGVFbnVtLlRleHRJbnB1dCAmJiB4LmlucHV0VHlwZUlkID09IElucHV0VHlwZUVudW0uRW1haWwpIHtcclxuICAgICAgICAgIGlmICh4LmFuc3dlclRleHQ/LnRyaW0oKSAmJiB4LmlzVmFsaWQgIT0gdHJ1ZSkge1xyXG4gICAgICAgICAgICBpbnZhbGlkUmVjb3Jkcy5wdXNoKHgpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgaWYgKGludmFsaWRSZWNvcmRzLmxlbmd0aCA+IDApIHtcclxuICAgICAgJChgI3N1cnZleS1wYWdlXyR7Zm9ybVZhbHVlLmN1cnJlbnRQYWdlSWR9YCkuYWRkQ2xhc3MoJ3N1cnZleS1wYWdlX3N1Ym1pdHRlZCcpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgJChgI3N1cnZleS1wYWdlXyR7Zm9ybVZhbHVlLmN1cnJlbnRQYWdlSWR9YCkucmVtb3ZlQ2xhc3MoJ3N1cnZleS1wYWdlX3N1Ym1pdHRlZCcpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBpbnZhbGlkUmVjb3JkcztcclxuICB9XHJcblxyXG5cclxuICBwcml2YXRlIGdldE5leHRTaG93ZWRQYWdlKCkge1xyXG4gICAgY29uc3QgZm9ybVZhbHVlID0gdGhpcy5yRm9ybS52YWx1ZTtcclxuICAgIHZhciBzaG93ZWRQYWdlcyA9IGZvcm1WYWx1ZS5zaG93ZWRTdXJ2ZXlQYWdlcztcclxuICAgIHZhciBuZXh0U2hvd2VkUGFnZXMgPSBzaG93ZWRQYWdlcy5maWx0ZXIoeCA9PiB4ID4gZm9ybVZhbHVlLmN1cnJlbnRQYWdlSWQpO1xyXG4gICAgaWYgKG5leHRTaG93ZWRQYWdlcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHJldHVybiBuZXh0U2hvd2VkUGFnZXNbMF07XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0UHJldlNob3dlZFBhZ2UoKSB7XHJcbiAgICBjb25zdCBmb3JtVmFsdWUgPSB0aGlzLnJGb3JtLnZhbHVlO1xyXG4gICAgdmFyIHNob3dlZFBhZ2VzID0gZm9ybVZhbHVlLnNob3dlZFN1cnZleVBhZ2VzO1xyXG4gICAgdmFyIHByZXZTaG93ZWRQYWdlcyA9IHNob3dlZFBhZ2VzLmZpbHRlcih4ID0+IHggPCBmb3JtVmFsdWUuY3VycmVudFBhZ2VJZCk7XHJcbiAgICBpZiAocHJldlNob3dlZFBhZ2VzLmxlbmd0aCA+IDApIHtcclxuICAgICAgcmV0dXJuIHByZXZTaG93ZWRQYWdlc1twcmV2U2hvd2VkUGFnZXMubGVuZ3RoIC0gMV07XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBpZD1cInN1cnZlcnktY2FyZC17e3N1cnZlcnlMaWJyYXJ5RGl2SWR9fVwiIGNsYXNzPVwic3VydmF5LWNhcmRcIj5cclxuICA8ZGl2IFthdHRyLmlkXT1cIidzdXJ2ZXktcGFnZV8nK2ZDdHJscy5jdXJyZW50UGFnZUlkLnZhbHVlXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIHBhZ2VRdWVzdGlvbkdyb3VwcyQoKTsgdHJhY2tCeTpxdWVzdGlvbkdyb3VwSWRlbnRpZnlcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInN1cnZheS1jYXJkXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInN1cnZheS1jYXJkLWJvZHlcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdXJ2YXktZ3JvdXBcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRpdGxlXCI+XHJcbiAgICAgICAgICAgICAgPGgyIGNsYXNzPVwiZ3JvdXAtdGl0bGVcIiBbaW5uZXJIVE1MXT1cIml0ZW0ucXVlc3Rpb25Hcm91cE5hbWVcIj5cclxuICAgICAgICAgICAgICA8L2gyPlxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZ3JvdXAtc3ViLXRpdGxlIFwiIFtpbm5lckhUTUxdPVwiaXRlbS5xdWVzdGlvbkdyb3VwRGVzY3JpcHRpb25cIj5cclxuICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IHF1ZXN0aW9uIG9mIChwYWdlUXVlc3Rpb25zJCgpIHxmaWx0ZXJRdWVzdGlvbiA6IGl0ZW0ucXVlc3Rpb25Hcm91cElkKTsgdHJhY2tCeTpxdWVzdGlvbklkZW50aWZ5XCI+XHJcbiAgICAgICAgICAgICAgPGxpYi1xdWVzdGlvbi1ib29sZWFuLXRlbXBsYXRlICNxdWVzdGlvbkJvb2xlYW5UZW1wbGF0ZSBbc2V0UXVlc3Rpb25dPVwicXVlc3Rpb25cIlxyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJxdWVzdGlvbi5xdWVzdGlvblR5cGUgPT0gcXVlc3Rpb25UeXBlRW51bS5Cb29sZWFuXCI+XHJcbiAgICAgICAgICAgICAgPC9saWItcXVlc3Rpb24tYm9vbGVhbi10ZW1wbGF0ZT5cclxuXHJcbiAgICAgICAgICAgICAgPGxpYi1xdWVzdGlvbi10ZXh0LXRlbXBsYXRlICNxdWVzdGlvblRleHRUZW1wbGF0ZSBbc2V0UXVlc3Rpb25dPVwicXVlc3Rpb25cIlxyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJxdWVzdGlvbi5xdWVzdGlvblR5cGUgPT0gcXVlc3Rpb25UeXBlRW51bS5UZXh0SW5wdXRcIlxyXG4gICAgICAgICAgICAgICAgW2lzQXJhYmljTGFuZ109XCJpc0FyYWJpY0xhbmdcIj48L2xpYi1xdWVzdGlvbi10ZXh0LXRlbXBsYXRlPlxyXG5cclxuICAgICAgICAgICAgICA8bGliLXF1ZXN0aW9uLWZlZWRiYWNrLXRlbXBsYXRlICNxdWVzdGlvbkZlZWRUZW1wbGF0ZSBbc2V0UXVlc3Rpb25dPVwicXVlc3Rpb25cIlxyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJxdWVzdGlvbi5xdWVzdGlvblR5cGUgPT0gcXVlc3Rpb25UeXBlRW51bS5GZWVkQmFja1wiXHJcbiAgICAgICAgICAgICAgICBbaXNBcmFiaWNMYW5nXT1cImlzQXJhYmljTGFuZ1wiPjwvbGliLXF1ZXN0aW9uLWZlZWRiYWNrLXRlbXBsYXRlPlxyXG5cclxuICAgICAgICAgICAgICA8bGliLXF1ZXN0aW9uLXJhZGlvLWJ1dHRvbi10ZW1wbGF0ZSAjcXVlc3Rpb25SYWRpb0J1dHRvblRlbXBsYXRlIFtzZXRRdWVzdGlvbl09XCJxdWVzdGlvblwiXHJcbiAgICAgICAgICAgICAgICAqbmdJZj1cInF1ZXN0aW9uLnF1ZXN0aW9uVHlwZSA9PSBxdWVzdGlvblR5cGVFbnVtLlJhZGlvQnV0dG9uXCI+XHJcbiAgICAgICAgICAgICAgPC9saWItcXVlc3Rpb24tcmFkaW8tYnV0dG9uLXRlbXBsYXRlPlxyXG5cclxuICAgICAgICAgICAgICA8bGliLXF1ZXN0aW9uLWRyb3Bkb3duLXRlbXBsYXRlICNxdWVzdGlvbkRyb3Bkb3duVGVtcGxhdGUgW3NldFF1ZXN0aW9uXT1cInF1ZXN0aW9uXCJcclxuICAgICAgICAgICAgICAgICpuZ0lmPVwicXVlc3Rpb24ucXVlc3Rpb25UeXBlID09IHF1ZXN0aW9uVHlwZUVudW0uRHJvcERvd25cIj48L2xpYi1xdWVzdGlvbi1kcm9wZG93bi10ZW1wbGF0ZT5cclxuXHJcbiAgICAgICAgICAgICAgPGxpYi1xdWVzdGlvbi1kcm9wZG93bi1tdWx0aS10ZW1wbGF0ZSBbc2V0UXVlc3Rpb25dPVwicXVlc3Rpb25cIlxyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJxdWVzdGlvbi5xdWVzdGlvblR5cGUgPT0gcXVlc3Rpb25UeXBlRW51bS5Ecm9wRG93bk11bHRpXCI+XHJcbiAgICAgICAgICAgICAgPC9saWItcXVlc3Rpb24tZHJvcGRvd24tbXVsdGktdGVtcGxhdGU+XHJcblxyXG4gICAgICAgICAgICAgIDxsaWItcXVlc3Rpb24tY2hlY2stYm94LXRlbXBsYXRlICNxdWVzdGlvbkNoZWNrQm94VGVtcGxhdGUgW3NldFF1ZXN0aW9uXT1cInF1ZXN0aW9uXCJcclxuICAgICAgICAgICAgICAgICpuZ0lmPVwicXVlc3Rpb24ucXVlc3Rpb25UeXBlID09IHF1ZXN0aW9uVHlwZUVudW0uQ2hlY2tCb3hcIj5cclxuICAgICAgICAgICAgICA8L2xpYi1xdWVzdGlvbi1jaGVjay1ib3gtdGVtcGxhdGU+XHJcblxyXG4gICAgICAgICAgICAgIDxsaWItcXVlc3Rpb24tbWF0cml4LXRlbXBsYXRlICNxdWVzdGlvbk1hdHJpeFRlbXBsYXRlIFtzZXRRdWVzdGlvbl09XCJxdWVzdGlvblwiXHJcbiAgICAgICAgICAgICAgICAqbmdJZj1cInF1ZXN0aW9uLnF1ZXN0aW9uVHlwZSA9PSBxdWVzdGlvblR5cGVFbnVtLk1hdHJpeFwiPlxyXG4gICAgICAgICAgICAgIDwvbGliLXF1ZXN0aW9uLW1hdHJpeC10ZW1wbGF0ZT5cclxuXHJcbiAgICAgICAgICAgICAgPGxpYi1xdWVzdGlvbi1jYXNjYWRlLXRlbXBsYXRlICNxdWVzdGlvbkNhc2NhZGVUZW1wbGF0ZSBbc2V0UXVlc3Rpb25dPVwicXVlc3Rpb25cIlxyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJxdWVzdGlvbi5xdWVzdGlvblR5cGUgPT0gcXVlc3Rpb25UeXBlRW51bS5DYXNjYWRlXCIgW2FwcGxpY2FudEtleV09XCJhcHBsaWNhbnRLZXlcIiBbaXNQcmVdPVwiaXNQcmVcIlxyXG4gICAgICAgICAgICAgICAgW3N1cnZleUxhbmd1YWdlSWRdPVwic3VydmV5TGFuZ3VhZ2VJZFwiIFtwYWdlSWRdPVwicXVlc3Rpb24uc3VydmV5UGFnZUlkXCJcclxuICAgICAgICAgICAgICAgIFtxdWVzdGlvbkdyb3VwSWRdPVwicXVlc3Rpb24ucXVlc3Rpb25Hcm91cElkXCIgW3N1cnZleUtleV09XCJzdXJ2ZXlLZXlcIlxyXG4gICAgICAgICAgICAgICAgW3N1cnZleUxhbmd1YWdlSWRdPVwic3VydmV5TGFuZ3VhZ2VJZFwiPjwvbGliLXF1ZXN0aW9uLWNhc2NhZGUtdGVtcGxhdGU+XHJcblxyXG4gICAgICAgICAgICAgIDxsaWItcXVlc3Rpb24taW5zdGl0dXRpb25zLXRlbXBsYXRlICNxdWVzdGlvbkluc3RpdHV0aW9uc1RlbXBsYXRlIFtzZXRRdWVzdGlvbl09XCJxdWVzdGlvblwiXHJcbiAgICAgICAgICAgICAgICAqbmdJZj1cInF1ZXN0aW9uLnF1ZXN0aW9uVHlwZSA9PSBxdWVzdGlvblR5cGVFbnVtLkluc3RpdHV0aW9uc1wiXHJcbiAgICAgICAgICAgICAgICBbaXNBcmFiaWNMYW5nXT1cImlzQXJhYmljTGFuZ1wiPjwvbGliLXF1ZXN0aW9uLWluc3RpdHV0aW9ucy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwic3VydmF5LWNhcmQtZm9vdHJcIiAqbmdJZj1cImZDdHJscy5zaG93ZWRTdXJ2ZXlQYWdlcy52YWx1ZS5sZW5ndGggPiAwXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCIgc3R5bGU9XCIganVzdGlmeS1jb250ZW50OiBzdGFydDtcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInN1cnZheS1wYWdpbmF0aW9uIGZ3LWJvbGRcIj5cclxuICAgICAgICA8c3Bhbj57eyBjdXJydW50U2hvd2VkU3VydmV5UGFnZXMkIHwgYXN5bmN9fTwvc3Bhbj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cIm1zLTIgbWUtMlwiPnt7aXNBcmFiaWNMYW5nID8gJ9mF2YYnIDogJ29mJ319IDwvc3Bhbj5cclxuICAgICAgICA8c3Bhbj57e2ZDdHJscy5zaG93ZWRTdXJ2ZXlQYWdlcy52YWx1ZS5sZW5ndGh9fTwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+Il19
@@ -113,16 +113,16 @@ const { selectAll: selectAll$1, selectIds: selectIds$1 } = questionAdapter.getSe
113
113
  const selectSurveyData = createFeatureSelector('survey-lib');
114
114
  const allQuestions = createSelector(selectSurveyData, (state) => selectAll$1(state.questionArr));
115
115
  const pageQuestions = createSelector(selectSurveyData, (state) => selectAll$1(state.questionArr).filter(x => x.surveyPageId == state.selectedPageId));
116
- const HaveValidQuestionsCurrentPage = createSelector(selectSurveyData, (state) => {
116
+ const allRequiredQuestionsOfCurrentPageDone = createSelector(selectSurveyData, (state) => {
117
117
  const questionArr = selectAll$1(state.questionArr).filter(x => x.surveyPageId == state.selectedPageId);
118
118
  if (questionArr.length == 0) {
119
119
  return true;
120
120
  }
121
121
  else {
122
122
  var invalidRecords = [];
123
- var arr = questionArr.filter(x => x.isDisabled == false && x.isShow == true);
123
+ var arr = questionArr.filter(x => x.isDisabled == false && x.isShow == true && x.isRequired == true);
124
124
  arr.map(x => {
125
- if (x.isRequired == true && x.isValid != true && x.isQuestionGroup != true) {
125
+ if (x.isValid != true && x.isQuestionGroup != true) {
126
126
  invalidRecords.push(x);
127
127
  }
128
128
  else {
@@ -165,7 +165,7 @@ const questionSelectors = {
165
165
  allQuestions,
166
166
  pageQuestions,
167
167
  questionAnswers,
168
- HaveValidQuestionsCurrentPage
168
+ allRequiredQuestionsOfCurrentPageDone
169
169
  };
170
170
 
171
171
  const loadSurvey = createAction('[Survey library] Load Survey', props());
@@ -2273,7 +2273,7 @@ class SurveryLibComponent {
2273
2273
  this.isFirstPage$ = this._Store.select(surveySelectors.isFirstPage);
2274
2274
  this.isLastPage$ = this._Store.select(surveySelectors.isLastPage);
2275
2275
  this.curruntShowedSurveyPages$ = this._Store.select(surveySelectors.selectedPageIndex).pipe(map(x => x + 1));
2276
- this.haveValidQuestionsCurrentPage$ = this._Store.select(questionSelectors.HaveValidQuestionsCurrentPage);
2276
+ this.allRequiredQuestionsOfCurrentPageDone$ = this._Store.select(questionSelectors.allRequiredQuestionsOfCurrentPageDone);
2277
2277
  this.isPre = false;
2278
2278
  this.surveyLanguageId = null;
2279
2279
  this.surveyKey = null;