master-control 0.4.65 → 0.4.67

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.
@@ -57,12 +57,12 @@ export class DobComponent {
57
57
  let value = evt.value;
58
58
  // Handle case where we have existing dashes but need to reformat
59
59
  // Split by dash to understand current structure
60
- const parts = value.split('-');
60
+ const parts = value.split('/');
61
61
  // If we have exactly 3 parts (date-month-year), don't add more dashes
62
62
  if (parts.length < 3) {
63
63
  // For first dash after date (2 digits)
64
- if (value.length > 2 && !value.includes('-')) {
65
- evt.value = [value.slice(0, 2), '-', value.slice(2)].join('');
64
+ if (value.length > 2 && !value.includes('/')) {
65
+ evt.value = [value.slice(0, 2), '/', value.slice(2)].join('');
66
66
  }
67
67
  // For second dash after month
68
68
  else if (parts.length === 2) {
@@ -71,7 +71,7 @@ export class DobComponent {
71
71
  // Add dash after numeric month (exactly 2 digits) or alphabetic month (exactly 3 letters)
72
72
  if ((monthPart.length === 2 && /^\d{2}$/.test(monthPart)) ||
73
73
  (monthPart.length === 3 && /^[a-zA-Z]{3}$/.test(monthPart))) {
74
- evt.value = datePart + '-' + monthPart + '-';
74
+ evt.value = datePart + '/' + monthPart + '/';
75
75
  }
76
76
  }
77
77
  }
@@ -93,22 +93,22 @@ export class DobComponent {
93
93
  if (isEditingDate && datePart.length >= 2) {
94
94
  // Trim date part to 2 characters max
95
95
  const validDatePart = datePart.substring(0, 2);
96
- previousValidValue = validDatePart + (parts[1] ? '-' + parts[1] : '') + (parts[2] ? '-' + parts[2] : '');
96
+ previousValidValue = validDatePart + (parts[1] ? '/' + parts[1] : '') + (parts[2] ? '/' + parts[2] : '');
97
97
  }
98
98
  else if (isEditingMonth && monthPart.length >= 2 && /^\d+$/.test(monthPart)) {
99
99
  // Trim numeric month to 2 characters max
100
100
  const validMonthPart = monthPart.substring(0, 2);
101
- previousValidValue = parts[0] + '-' + validMonthPart + (parts[2] ? '-' + parts[2] : '');
101
+ previousValidValue = parts[0] + '/' + validMonthPart + (parts[2] ? '/' + parts[2] : '');
102
102
  }
103
103
  else if (isEditingMonth && monthPart.length >= 3) {
104
104
  // Trim alphabetic month to 3 characters max
105
105
  const validMonthPart = monthPart.substring(0, 3);
106
- previousValidValue = parts[0] + '-' + validMonthPart + (parts[2] ? '-' + parts[2] : '');
106
+ previousValidValue = parts[0] + '/' + validMonthPart + (parts[2] ? '/' + parts[2] : '');
107
107
  }
108
108
  else if (isEditingYear && yearPart.length >= 4) {
109
109
  // Trim year part to 4 characters max
110
110
  const validYearPart = yearPart.substring(0, 4);
111
- previousValidValue = parts[0] + '-' + parts[1] + '-' + validYearPart;
111
+ previousValidValue = parts[0] + '/' + parts[1] + '/' + validYearPart;
112
112
  }
113
113
  // Prevent input if trying to exceed limits by restoring previous value
114
114
  if ((isEditingDate && datePart.length >= 2) ||
@@ -208,4 +208,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
208
208
  }], invalidDate: [{
209
209
  type: Output
210
210
  }] } });
211
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9iLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hc3Rlci1jb250cm9sL3NyYy9saWIvZG9iL2RvYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXN0ZXItY29udHJvbC9zcmMvbGliL2RvYi9kb2IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7Ozs7O0FBSXpELE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRztJQUM1QixLQUFLLEVBQUU7UUFDTCxTQUFTLEVBQUU7WUFDVCxZQUFZO1lBQ1osWUFBWTtZQUNaLFlBQVk7WUFDWixZQUFZO1lBQ1osYUFBYTtZQUNiLGNBQWM7WUFDZCxhQUFhO1NBQ2Q7S0FDRjtJQUNGLE9BQU8sRUFBRTtRQUNOLFNBQVMsRUFBRSxhQUFhO1FBQ3hCLGNBQWMsRUFBRSxVQUFVO1FBQzFCLGFBQWEsRUFBRSxhQUFhO1FBQzVCLGtCQUFrQixFQUFFLFdBQVc7S0FD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QjtnQkFDM0IsSUFBSSxFQUFFLEVBQUU7YUFDVDtZQUNELEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUU7U0FDeEQsMEJDL0NILHUzR0FvREEscTlHRGxCWSxjQUFjLG14QkFBRSxrQkFBa0IsOEJBQUUsWUFBWSx1TkFBRSxtQkFBbUIsaW1CQUFFLGdCQUFnQiw4QkFBRSxtQkFBbUI7OzRGQWlCM0csWUFBWTtrQkFwQnhCLFNBQVM7K0JBQ0UsU0FBUyxjQUNQLElBQUksV0FDUCxDQUFDLGNBQWMsRUFBRSxrQkFBa0IsRUFBRSxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsZ0JBQWdCLEVBQUUsbUJBQW1CLENBQUMsYUFDMUc7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxjQUFjOzRCQUN6QixLQUFLLEVBQUUsSUFBSTt5QkFDWjt3QkFDSDs0QkFDRSxPQUFPLEVBQUUsV0FBVzs0QkFDcEIsUUFBUSxFQUFFLGlCQUFpQjs0QkFDM0IsSUFBSSxFQUFFLEVBQUU7eUJBQ1Q7d0JBQ0QsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRTtxQkFDeEQ7eUZBUVMsSUFBSTtzQkFBYixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBpbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNb21lbnREYXRlQWRhcHRlciwgTW9tZW50RGF0ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsLW1vbWVudC1hZGFwdGVyJztcbmltcG9ydCB7IERhdGVBZGFwdGVyLCBNQVRfREFURV9GT1JNQVRTIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBNYXREYXRlcGlja2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgTWFzdGVyQ29udHJvbFNlcnZpY2UgfSBmcm9tICcuLi9tYXN0ZXItY29udHJvbC5zZXJ2aWNlJztcblxuXG5leHBvcnQgY29uc3QgTVlfREFURV9GT1JNQVQgPSB7XG4gIHBhcnNlOiB7XG4gICAgZGF0ZUlucHV0OiBbXG4gICAgICAnREQtTU0tWVlZWScsXG4gICAgICAnTU0vREQvWVlZWScsXG4gICAgICAnWVlZWS9NTS9ERCcsXG4gICAgICAnREQvTU0vWVlZWScsXG4gICAgICAnREQgTU1NIFlZWVknLFxuICAgICAgJ0REIE1NTU0gWVlZWScsXG4gICAgICAnREQtTU1NLVlZWVknXG4gICAgXVxuICB9LFxuIGRpc3BsYXk6IHtcbiAgICBkYXRlSW5wdXQ6ICdERC9NTU0vWVlZWScsXG4gICAgbW9udGhZZWFyTGFiZWw6ICdNTU0gWVlZWScsXG4gICAgZGF0ZUExMXlMYWJlbDogJ0REL01NTS9ZWVlZJyxcbiAgICBtb250aFllYXJBMTF5TGFiZWw6ICdNTU1NIFlZWVknLFxuICB9LFxufTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWRvYicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtNYXRJbnB1dE1vZHVsZSwgTWF0Rm9ybUZpZWxkTW9kdWxlLCBDb21tb25Nb2R1bGUsIE1hdERhdGVwaWNrZXJNb2R1bGUsIE1vbWVudERhdGVNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGVdLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAge1xuICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgdXNlRXhpc3Rpbmc6IERvYkNvbXBvbmVudCxcbiAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogRGF0ZUFkYXB0ZXIsXG4gICAgICB1c2VDbGFzczogTW9tZW50RGF0ZUFkYXB0ZXIsXG4gICAgICBkZXBzOiBbXVxuICAgIH0sXG4gICAgeyBwcm92aWRlOiBNQVRfREFURV9GT1JNQVRTLCB1c2VWYWx1ZTogTVlfREFURV9GT1JNQVQgfVxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vZG9iLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2RvYi5jb21wb25lbnQuY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgRG9iQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBmaWVsZDogYW55ID0gaW5wdXQucmVxdWlyZWQ8YW55PigpO1xuICBpbnB1dFZhbHVlOiBhbnkgPSBudWxsO1xuICByZWFjdGl2ZUZvcm1Db250cm9sb2JqZWN0IDogYW55ID0gaW5wdXQ8YW55PigpO1xuICBAT3V0cHV0KCkgYmx1ciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGRhdGVTZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgaW52YWxpZERhdGUgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgc2VydmljZSA6IE1hc3RlckNvbnRyb2xTZXJ2aWNlKSB7fVxuXG4gICBkYXRlRGl2aXNpb25Gb3JtYXQoZXZlbnQ6IGFueSkge1xuICAgIGxldCBldnQgPSBldmVudC50YXJnZXQ7XG5cbiAgICAvLyBDaGVjayBpZiB1c2VyIGlzIGRlbGV0aW5nIChiYWNrc3BhY2UvZGVsZXRlKVxuICAgIGNvbnN0IGlzRGVsZXRpbmcgPSBldmVudC5pbnB1dFR5cGUgPT09ICdkZWxldGVDb250ZW50QmFja3dhcmQnIHx8XG4gICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LmlucHV0VHlwZSA9PT0gJ2RlbGV0ZUNvbnRlbnRGb3J3YXJkJyB8fFxuICAgICAgICAgICAgICAgICAgICAgICAhZXZlbnQuZGF0YTtcblxuICAgIC8vIElmIGRlbGV0aW5nLCBhbGxvdyBub3JtYWwgZGVsZXRpb24gd2l0aG91dCBhdXRvLWFkZGluZyBkYXNoZXNcbiAgICBpZiAoaXNEZWxldGluZykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGxldCB2YWx1ZSA9IGV2dC52YWx1ZTtcblxuICAgIC8vIEhhbmRsZSBjYXNlIHdoZXJlIHdlIGhhdmUgZXhpc3RpbmcgZGFzaGVzIGJ1dCBuZWVkIHRvIHJlZm9ybWF0XG4gICAgLy8gU3BsaXQgYnkgZGFzaCB0byB1bmRlcnN0YW5kIGN1cnJlbnQgc3RydWN0dXJlXG4gICAgY29uc3QgcGFydHMgPSB2YWx1ZS5zcGxpdCgnLScpO1xuXG4gICAgLy8gSWYgd2UgaGF2ZSBleGFjdGx5IDMgcGFydHMgKGRhdGUtbW9udGgteWVhciksIGRvbid0IGFkZCBtb3JlIGRhc2hlc1xuICAgIGlmIChwYXJ0cy5sZW5ndGggPCAzKSB7XG4gICAgICAgLy8gRm9yIGZpcnN0IGRhc2ggYWZ0ZXIgZGF0ZSAoMiBkaWdpdHMpXG4gICAgaWYgKHZhbHVlLmxlbmd0aCA+IDIgJiYgIXZhbHVlLmluY2x1ZGVzKCctJykpIHtcbiAgICAgIGV2dC52YWx1ZSA9IFt2YWx1ZS5zbGljZSgwLCAyKSwgJy0nLCB2YWx1ZS5zbGljZSgyKV0uam9pbignJyk7XG4gICAgfVxuICAgIC8vIEZvciBzZWNvbmQgZGFzaCBhZnRlciBtb250aFxuICAgIGVsc2UgaWYgKHBhcnRzLmxlbmd0aCA9PT0gMikge1xuICAgICAgY29uc3QgZGF0ZVBhcnQgPSBwYXJ0c1swXTtcbiAgICAgIGNvbnN0IG1vbnRoUGFydCA9IHBhcnRzWzFdO1xuXG4gICAgICAvLyBBZGQgZGFzaCBhZnRlciBudW1lcmljIG1vbnRoIChleGFjdGx5IDIgZGlnaXRzKSBvciBhbHBoYWJldGljIG1vbnRoIChleGFjdGx5IDMgbGV0dGVycylcbiAgICAgIGlmICgobW9udGhQYXJ0Lmxlbmd0aCA9PT0gMiAmJiAvXlxcZHsyfSQvLnRlc3QobW9udGhQYXJ0KSkgfHxcbiAgICAgICAgICAobW9udGhQYXJ0Lmxlbmd0aCA9PT0gMyAmJiAvXlthLXpBLVpdezN9JC8udGVzdChtb250aFBhcnQpKSkge1xuICAgICAgICBldnQudmFsdWUgPSBkYXRlUGFydCArICctJyArIG1vbnRoUGFydCArICctJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICB9XG4gICAgIGNvbnN0IGRhdGVQYXJ0ID0gcGFydHNbMF0gfHwgJyc7XG4gICAgICBjb25zdCBtb250aFBhcnQgPSBwYXJ0c1sxXSB8fCAnJztcbiAgICAgIGNvbnN0IHllYXJQYXJ0ID0gcGFydHNbMl0gfHwgJyc7XG5cbiAgICAgLy8gUHJldmVudCBmdXJ0aGVyIGlucHV0IGlmIGxpbWl0cyBhcmUgcmVhY2hlZCBhbmQgcmVzdG9yZSBwcmV2aW91cyB2YWx1ZVxuICAgICAgaWYgKChkYXRlUGFydC5sZW5ndGggPj0gMikgfHxcbiAgICAgICAgICAobW9udGhQYXJ0Lmxlbmd0aCA+PSAyICYmIC9eXFxkKyQvLnRlc3QobW9udGhQYXJ0KSkgfHxcbiAgICAgICAgICAobW9udGhQYXJ0Lmxlbmd0aCA+PSAzICYmIC9eW2EtekEtWl0rJC8udGVzdChtb250aFBhcnQpKSB8fFxuICAgICAgICAgICh5ZWFyUGFydC5sZW5ndGggPj0gNCkpIHtcblxuICAgICAgICAvLyBHZXQgY3Vyc29yIHBvc2l0aW9uIHRvIGRldGVybWluZSB3aGljaCBwYXJ0IGlzIGJlaW5nIGVkaXRlZFxuICAgICAgICBjb25zdCBjdXJzb3JQb3MgPSBldnQuc2VsZWN0aW9uU3RhcnQ7XG4gICAgICAgIGNvbnN0IGlzRWRpdGluZ0RhdGUgPSBjdXJzb3JQb3MgPD0gMztcbiAgICAgICAgY29uc3QgaXNFZGl0aW5nTW9udGggPSBjdXJzb3JQb3MgPiAzICYmIGN1cnNvclBvcyA8PSAoMyArIG1vbnRoUGFydC5sZW5ndGgpO1xuICAgICAgICBjb25zdCBpc0VkaXRpbmdZZWFyID0gY3Vyc29yUG9zID4gKDMgKyBtb250aFBhcnQubGVuZ3RoICsgMSk7XG5cbiAgICAgICAgLy8gUmVjb25zdHJ1Y3QgdGhlIHByZXZpb3VzIHZhbGlkIHZhbHVlIGJ5IHRyaW1taW5nIGV4Y2VzcyBjaGFyYWN0ZXJzXG4gICAgICAgIGxldCBwcmV2aW91c1ZhbGlkVmFsdWU9Jyc7XG4gICAgICAgIGlmIChpc0VkaXRpbmdEYXRlICYmIGRhdGVQYXJ0Lmxlbmd0aCA+PSAyKSB7XG4gICAgICAgICAgLy8gVHJpbSBkYXRlIHBhcnQgdG8gMiBjaGFyYWN0ZXJzIG1heFxuICAgICAgICAgIGNvbnN0IHZhbGlkRGF0ZVBhcnQgPSBkYXRlUGFydC5zdWJzdHJpbmcoMCwgMik7XG4gICAgICAgICAgcHJldmlvdXNWYWxpZFZhbHVlID0gdmFsaWREYXRlUGFydCArIChwYXJ0c1sxXSA/ICctJyArIHBhcnRzWzFdIDogJycpICsgKHBhcnRzWzJdID8gJy0nICsgcGFydHNbMl0gOiAnJyk7XG4gICAgICAgIH0gZWxzZSBpZiAoaXNFZGl0aW5nTW9udGggJiYgbW9udGhQYXJ0Lmxlbmd0aCA+PSAyICYmIC9eXFxkKyQvLnRlc3QobW9udGhQYXJ0KSkge1xuICAgICAgICAgIC8vIFRyaW0gbnVtZXJpYyBtb250aCB0byAyIGNoYXJhY3RlcnMgbWF4XG4gICAgICAgICAgY29uc3QgdmFsaWRNb250aFBhcnQgPSBtb250aFBhcnQuc3Vic3RyaW5nKDAsIDIpO1xuICAgICAgICAgIHByZXZpb3VzVmFsaWRWYWx1ZSA9IHBhcnRzWzBdICsgJy0nICsgdmFsaWRNb250aFBhcnQgKyAocGFydHNbMl0gPyAnLScgKyBwYXJ0c1syXSA6ICcnKTtcbiAgICAgICAgfSBlbHNlIGlmIChpc0VkaXRpbmdNb250aCAmJiBtb250aFBhcnQubGVuZ3RoID49IDMgKSB7XG4gICAgICAgICAgLy8gVHJpbSBhbHBoYWJldGljIG1vbnRoIHRvIDMgY2hhcmFjdGVycyBtYXhcbiAgICAgICAgICBjb25zdCB2YWxpZE1vbnRoUGFydCA9IG1vbnRoUGFydC5zdWJzdHJpbmcoMCwgMyk7XG4gICAgICAgICAgcHJldmlvdXNWYWxpZFZhbHVlID0gcGFydHNbMF0gKyAnLScgKyB2YWxpZE1vbnRoUGFydCArIChwYXJ0c1syXSA/ICctJyArIHBhcnRzWzJdIDogJycpO1xuICAgICAgICB9IGVsc2UgaWYgKGlzRWRpdGluZ1llYXIgJiYgeWVhclBhcnQubGVuZ3RoID49IDQpIHtcbiAgICAgICAgICAvLyBUcmltIHllYXIgcGFydCB0byA0IGNoYXJhY3RlcnMgbWF4XG4gICAgICAgICAgY29uc3QgdmFsaWRZZWFyUGFydCA9IHllYXJQYXJ0LnN1YnN0cmluZygwLCA0KTtcbiAgICAgICAgICBwcmV2aW91c1ZhbGlkVmFsdWUgPSBwYXJ0c1swXSArICctJyArIHBhcnRzWzFdICsgJy0nICsgdmFsaWRZZWFyUGFydDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFByZXZlbnQgaW5wdXQgaWYgdHJ5aW5nIHRvIGV4Y2VlZCBsaW1pdHMgYnkgcmVzdG9yaW5nIHByZXZpb3VzIHZhbHVlXG4gICAgICAgIGlmICgoaXNFZGl0aW5nRGF0ZSAmJiBkYXRlUGFydC5sZW5ndGggPj0gMikgfHxcbiAgICAgICAgICAgIChpc0VkaXRpbmdNb250aCAmJiBtb250aFBhcnQubGVuZ3RoID49IDIgJiYgL15cXGQrJC8udGVzdChtb250aFBhcnQpKSB8fFxuICAgICAgICAgICAgKGlzRWRpdGluZ01vbnRoICYmIG1vbnRoUGFydC5sZW5ndGggPj0gMyApIHx8XG4gICAgICAgICAgICAoaXNFZGl0aW5nWWVhciAmJiB5ZWFyUGFydC5sZW5ndGggPj0gNCkpIHtcblxuICAgICAgICAgIC8vIFJlc3RvcmUgdGhlIHByZXZpb3VzIHZhbGlkIHZhbHVlXG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBldnQudmFsdWUgPSBwcmV2aW91c1ZhbGlkVmFsdWU7XG4gICAgICAgICAgfSwgMCk7XG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgIH1cblxuICB9XG5cblxuXG5cblxuXG4gIF9vbkNoYW5nZTogYW55ID0gKGlucHV0VmFsdWU6YW55KSA9PiB7fTtcbiAgX3VuVG91Y2hlZDogYW55ID0gKCkgPT4ge307XG5cbiAgd3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWR7XG4gICAgdGhpcy5pbnB1dFZhbHVlPW9iajtcbiAgfTtcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZHtcbiAgICB0aGlzLl9vbkNoYW5nZSA9IGZuO1xuICB9O1xuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZHtcbiAgICB0aGlzLl91blRvdWNoZWQgPSBmbjtcbiAgfTtcbiAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWR7fTtcblxuICBvbklucHV0Q2hhbmdlKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLmlucHV0VmFsdWUgPSBldmVudC50YXJnZXQudmFsdWU7XG4gICAgdGhpcy5fb25DaGFuZ2UodGhpcy5pbnB1dFZhbHVlKTtcbiAgfVxuXG4gIG9uSW5wdXRCbHVyKGV2ZW50PyA6IGFueSk6IHZvaWQge1xuICAgIGlmICghdGhpcy5zZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkoZXZlbnQudGFyZ2V0LnZhbHVlKSkge1xuICAgICAgaWYgKGlzTmFOKERhdGUucGFyc2UoZXZlbnQudGFyZ2V0LnZhbHVlKSkpIHtcbiAgICAgICAgZXZlbnQudGFyZ2V0LnZhbHVlID0gJyc7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuX3VuVG91Y2hlZCgpO1xuICAgIHRoaXMuYmx1ci5lbWl0KGV2ZW50KTtcbiAgfVxuXG5cbiAgLy8gSGFuZGxlIGRhdGVwaWNrZXIgc2VsZWN0aW9uXG4gIG9uRGF0ZUNoYW5nZShldmVudDogYW55KTogdm9pZCB7XG4gICAgaWYgKGV2ZW50LnZhbHVlKSB7XG4gICAgICBjb25zdCBzZWxlY3RlZERhdGUgPSBldmVudC52YWx1ZTtcbiAgICAgIHRoaXMuaW5wdXRWYWx1ZSA9IHNlbGVjdGVkRGF0ZTtcbiAgICAgIHRoaXMuX29uQ2hhbmdlKHRoaXMuaW5wdXRWYWx1ZSk7XG5cbiAgICAgIC8vIEVtaXQgZGF0ZSBzZWxlY3Rpb24gZXZlbnRcbiAgICAgIHRoaXMuZGF0ZVNlbGVjdGVkLmVtaXQoe1xuICAgICAgICBmb3JtYXR0ZWRWYWx1ZTogdGhpcy5pbnB1dFZhbHVlLFxuICAgICAgICBkYXRlT2JqZWN0OiBzZWxlY3RlZERhdGUsXG4gICAgICAgIGlzVmFsaWQ6IHRydWUsXG4gICAgICAgIHNvdXJjZTogJ2RhdGVwaWNrZXInXG4gICAgICB9KTtcblxuICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRoaXMuaW5wdXRWYWx1ZSk7XG4gICAgfVxuICB9XG5cbn1cbiIsIjxsYWJlbCAqbmdJZj1cImZpZWxkKCkgJiYgZmllbGQoKT8uaXNWaXNpYmxlICYmIGZpZWxkKCkuaXNTaG93TGFiZWxcIiBjbGFzcz1cImZpZWxkLWxhYmxlXCI+e3sgZmllbGQoKT8ubGFiZWxcbiAgfX08c3BhbiBzdHlsZT1cImNvbG9yOiByZWRcIiAqbmdJZj1cImZpZWxkKCkgJiYgZmllbGQoKT8udmFsaWRhdG9ycz8uaXNSZXF1aXJlZFwiPio8L3NwYW4+PC9sYWJlbD5cbjxtYXQtZm9ybS1maWVsZCBbY2xhc3NdPVwiJ3ctMTAwICcgKyBmaWVsZCgpPy5maWVsZE5hbWVcIiBhcHBlYXJhbmNlPVwib3V0bGluZVwiICpuZ0lmPVwiZmllbGQoKSAmJiBmaWVsZCgpPy5pc1Zpc2libGVcIiBbbmdTdHlsZV09XCJ7XG4gICAgJy0tY3VzdG9tLWJvcmRlci1jb2xvcic6IGZpZWxkKCk/LmNvbnRyb2xTdHlsZT8uYm9yZGVyQ29sb3IgLFxuICAgICctLWN1c3RvbS1ib3JkZXItd2lkdGgnOiBmaWVsZCgpPy5jb250cm9sU3R5bGU/LmJvcmRlcldpZHRoICxcbiAgICAnLS1jdXN0b20tYm9yZGVyLXJhZGl1cyc6IGZpZWxkKCk/LmNvbnRyb2xTdHlsZT8uYm9yZGVyUmFkaXVzICxcbiAgICAnLS1jdXN0b20tYm9yZGVyLWNvbG9yLWZvY3VzJzogZmllbGQoKT8uY29udHJvbFN0eWxlPy5mb2N1c0JvcmRlckNvbG9yICxcbiAgICAnLS1jdXN0b20tYm9yZGVyLXdpZHRoLWZvY3VzJzogZmllbGQoKT8uY29udHJvbFN0eWxlPy5mb2N1c0JvcmRlcldpZHRoICxcbiAgICAnLS1jdXN0b20tYm9yZGVyLWNvbG9yLWhvdmVyJzogZmllbGQoKT8uY29udHJvbFN0eWxlPy5ob3ZlckJvcmRlckNvbG9yICxcbiAgICAnLS1jdXN0b20tYm9yZGVyLXdpZHRoLWhvdmVyJzogZmllbGQoKT8uY29udHJvbFN0eWxlPy5ob3ZlckJvcmRlcldpZHRoICxcbiAgICAnLS1jdXN0b20tYm9yZGVyLWNvbG9yLWVycm9yJzogZmllbGQoKT8uY29udHJvbFN0eWxlPy5lcnJvckJvcmRlckNvbG9yICxcbiAgICAnLS1jdXN0b20tYm9yZGVyLXdpZHRoLWVycm9yJzogZmllbGQoKT8uY29udHJvbFN0eWxlPy5lcnJvckJvcmRlcldpZHRoICxcbiAgICAnLS1jdXN0b20tZm9udC1zaXplJzogZmllbGQoKT8uY29udHJvbFN0eWxlPy5mb250U2l6ZSAsXG4gICAgJy0tY3VzdG9tLWZvbnQtd2VpZ2h0JzogZmllbGQoKT8uY29udHJvbFN0eWxlPy5mb250V2VpZ2h0ICxcbiAgICAnLS1jdXN0b20tZm9udC1mYW1pbHknOiBmaWVsZCgpPy5jb250cm9sU3R5bGU/LmZvbnRGYW1pbHkgLFxuICAgICctLWN1c3RvbS1mb250LWNvbG9yJzogZmllbGQoKT8uY29udHJvbFN0eWxlPy5jb2xvciAsXG4gICAgJy0tY3VzdG9tLWNhcmV0LWNvbG9yJzogZmllbGQoKT8uY29udHJvbFN0eWxlPy5jYXJldENvbG9yICxcbiAgICAnLS1jdXN0b20tZm9udC1jb2xvci1kaXNhYmxlZCcgOiBmaWVsZCgpPy5jb250cm9sU3R5bGU/LmRpc2FibGVDb2xvciAsXG4gICAgJy0tY3VzdG9tLWJnLWNvbG9yLWRpc2FibGVkJyA6IGZpZWxkKCk/LmNvbnRyb2xTdHlsZT8uZGlzYWJsZUJhY2tncm91bmQgLFxuICAgICctLWN1c3RvbS1iZy1jb2xvcic6IGZpZWxkKCk/LmNvbnRyb2xTdHlsZT8uYmFja2dyb3VuZCAsXG4gICAgICctLWN1c3RvbS1iZy1jb2xvci1mb2N1cyc6IGZpZWxkKCk/LmNvbnRyb2xTdHlsZT8uZm9jdXNCYWNrZ3JvdW5kICxcbiAgICB9XCI+XG4gIEBpZihyZWFjdGl2ZUZvcm1Db250cm9sb2JqZWN0KCkpIHtcbiAgPGlucHV0IG1hdElucHV0IGF1dG9jb21wbGV0ZT1cIm9mZlwiIHR5cGU9XCJ0ZXh0XCIgW25hbWVdPVwiZmllbGQoKT8uZmllbGROYW1lXCIgW2lkXT1cImZpZWxkKCk/LmZpZWxkTmFtZVwiXG4gICAgW3BsYWNlaG9sZGVyXT1cImZpZWxkKCk/LnBsYWNlSG9sZGVyIHx8ICdERC1NTS1ZWVlZJ1wiIFtyZXF1aXJlZF09XCJmaWVsZCgpPy52YWxpZGF0b3JzPy5pc1JlcXVpcmVkXCJcbiAgICBbcGF0dGVybl09XCJmaWVsZCgpPy52YWxpZGF0b3JzPy5wYXR0ZXJuXCIgW21hdERhdGVwaWNrZXJdPVwicGlja2VyXCIgKGlucHV0KT1cImRhdGVEaXZpc2lvbkZvcm1hdCgkZXZlbnQpXCJcbiAgICBbbWluXT1cImZpZWxkKCk/LmNvbmZpZ0RhdGE/Lm1pblwiIFttYXhdPVwiZmllbGQoKT8uY29uZmlnRGF0YT8ubWF4XCIgW2Rpc2FibGVkXT1cImZpZWxkKCk/LmlzRGlzYWJsZVwiXG4gICAgKGRhdGVDaGFuZ2UpPVwib25EYXRlQ2hhbmdlKCRldmVudClcIiAoYmx1cik9XCJvbklucHV0Qmx1cigkZXZlbnQpXCIgW3ZhbHVlXT1cImlucHV0VmFsdWVcIlxuICAgIFtmb3JtQ29udHJvbF09XCJyZWFjdGl2ZUZvcm1Db250cm9sb2JqZWN0KClcIiAvPlxuICB9QGVsc2Uge1xuICA8aW5wdXQgbWF0SW5wdXQgYXV0b2NvbXBsZXRlPVwib2ZmXCIgdHlwZT1cInRleHRcIiBbbmFtZV09XCJmaWVsZCgpPy5maWVsZE5hbWVcIiBbaWRdPVwiZmllbGQoKT8uZmllbGROYW1lXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwiZmllbGQoKT8ucGxhY2VIb2xkZXJcIiBbcmVxdWlyZWRdPVwiZmllbGQoKT8udmFsaWRhdG9ycz8uaXNSZXF1aXJlZFwiXG4gICAgW3BhdHRlcm5dPVwiZmllbGQoKT8udmFsaWRhdG9ycz8ucGF0dGVyblwiIFttYXREYXRlcGlja2VyXT1cInBpY2tlclwiIChpbnB1dCk9XCJkYXRlRGl2aXNpb25Gb3JtYXQoJGV2ZW50KVwiXG4gICAgW21pbl09XCJmaWVsZCgpPy5jb25maWdEYXRhPy5taW5cIiBbbWF4XT1cImZpZWxkKCk/LmNvbmZpZ0RhdGE/Lm1heFwiIFtkaXNhYmxlZF09XCJmaWVsZCgpPy5pc0Rpc2FibGVcIlxuICAgIChkYXRlQ2hhbmdlKT1cIm9uRGF0ZUNoYW5nZSgkZXZlbnQpXCIgKGJsdXIpPVwib25JbnB1dEJsdXIoJGV2ZW50KVwiIFt2YWx1ZV09XCJpbnB1dFZhbHVlXCIgLz5cbiAgfVxuXG4gIDxtYXQtZGF0ZXBpY2tlci10b2dnbGUgbWF0U3VmZml4IFtmb3JdPVwicGlja2VyXCI+XG4gICAgPGltZyBzcmM9XCJodHRwczovL2Nkbi5nb2RpZ2l0LmNvbS9kaWdpdFBsdXNBc3NldHMvcmV0YWlsLWxpZmUtaWNvbi9zdmdpY29uL2RhdGVfcGlja2VyX2ljb24uc3ZnXCIgc3R5bGU9XCJ3aWR0aDogMTZweFwiXG4gICAgICBtYXREYXRlcGlja2VyVG9nZ2xlSWNvbiAvPlxuICA8L21hdC1kYXRlcGlja2VyLXRvZ2dsZT5cbiAgPG1hdC1kYXRlcGlja2VyICNwaWNrZXI+PC9tYXQtZGF0ZXBpY2tlcj5cbiAgPG1hdC1lcnJvciAqbmdJZj1cImZhbHNlXCI+XG4gICAge3sgZmllbGQoKT8udmFsaWRhdG9ycz8uaXNSZXF1aXJlZE1lc3NhZ2UgfX1cbiAgPC9tYXQtZXJyb3I+XG48L21hdC1mb3JtLWZpZWxkPlxuPGRpdiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIiAqbmdJZj1cImZhbHNlXCI+XG4gIHt7IGZpZWxkKCk/LnZhbGlkYXRvcnM/LmlzUmVxdWlyZWRNZXNzYWdlIH19LlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwiZXJyb3ItbWVzc2FnZVwiICpuZ0lmPVwiZmllbGQoKT8uY29uZmlnRGF0YT8uaXNJbnZhbGlkXCI+XG4gIHt7IGZpZWxkKCk/LnZhbGlkYXRvcnM/LnBhdHRlcm5NZXNzYWdlIH19LlxuPC9kaXY+XG4iXX0=
211
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9iLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hc3Rlci1jb250cm9sL3NyYy9saWIvZG9iL2RvYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXN0ZXItY29udHJvbC9zcmMvbGliL2RvYi9kb2IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7Ozs7O0FBSXpELE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRztJQUM1QixLQUFLLEVBQUU7UUFDTCxTQUFTLEVBQUU7WUFDVCxZQUFZO1lBQ1osWUFBWTtZQUNaLFlBQVk7WUFDWixZQUFZO1lBQ1osYUFBYTtZQUNiLGNBQWM7WUFDZCxhQUFhO1NBQ2Q7S0FDRjtJQUNGLE9BQU8sRUFBRTtRQUNOLFNBQVMsRUFBRSxhQUFhO1FBQ3hCLGNBQWMsRUFBRSxVQUFVO1FBQzFCLGFBQWEsRUFBRSxhQUFhO1FBQzVCLGtCQUFrQixFQUFFLFdBQVc7S0FDaEM7Q0FDRixDQUFDO0FBc0JGLE1BQU0sT0FBTyxZQUFZO0lBU0o7SUFSbkIsS0FBSyxHQUFRLEtBQUssQ0FBQyxRQUFRLEVBQU8sQ0FBQztJQUNuQyxVQUFVLEdBQVEsSUFBSSxDQUFDO0lBQ3ZCLHlCQUF5QixHQUFTLEtBQUssRUFBTyxDQUFDO0lBQ3JDLElBQUksR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBQy9CLFdBQVcsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBQ3RDLFlBQVksR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBQ3ZDLFdBQVcsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBRWhELFlBQW1CLE9BQThCO1FBQTlCLFlBQU8sR0FBUCxPQUFPLENBQXVCO0lBQUcsQ0FBQztJQUVwRCxrQkFBa0IsQ0FBQyxLQUFVO1FBQzVCLElBQUksR0FBRyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFFdkIsK0NBQStDO1FBQy9DLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxTQUFTLEtBQUssdUJBQXVCO1lBQzNDLEtBQUssQ0FBQyxTQUFTLEtBQUssc0JBQXNCO1lBQzFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztRQUUvQixnRUFBZ0U7UUFDaEUsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQztRQUV0QixpRUFBaUU7UUFDakUsZ0RBQWdEO1FBQ2hELE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFL0Isc0VBQXNFO1FBQ3RFLElBQUksS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNwQix1Q0FBdUM7WUFDMUMsSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDN0MsR0FBRyxDQUFDLEtBQUssR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ2hFLENBQUM7WUFDRCw4QkFBOEI7aUJBQ3pCLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDNUIsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUMxQixNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBRTNCLDBGQUEwRjtnQkFDMUYsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7b0JBQ3JELENBQUMsU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUM7b0JBQ2hFLEdBQUcsQ0FBQyxLQUFLLEdBQUcsUUFBUSxHQUFHLEdBQUcsR0FBRyxTQUFTLEdBQUcsR0FBRyxDQUFDO2dCQUMvQyxDQUFDO1lBQ0gsQ0FBQztRQUVELENBQUM7UUFDQSxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQy9CLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDakMsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUVqQyx5RUFBeUU7UUFDeEUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDO1lBQ3RCLENBQUMsU0FBUyxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNsRCxDQUFDLFNBQVMsQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDeEQsQ0FBQyxRQUFRLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFFM0IsOERBQThEO1lBQzlELE1BQU0sU0FBUyxHQUFHLEdBQUcsQ0FBQyxjQUFjLENBQUM7WUFDckMsTUFBTSxhQUFhLEdBQUcsU0FBUyxJQUFJLENBQUMsQ0FBQztZQUNyQyxNQUFNLGNBQWMsR0FBRyxTQUFTLEdBQUcsQ0FBQyxJQUFJLFNBQVMsSUFBSSxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDNUUsTUFBTSxhQUFhLEdBQUcsU0FBUyxHQUFHLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFFN0QscUVBQXFFO1lBQ3JFLElBQUksa0JBQWtCLEdBQUMsRUFBRSxDQUFDO1lBQzFCLElBQUksYUFBYSxJQUFJLFFBQVEsQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQzFDLHFDQUFxQztnQkFDckMsTUFBTSxhQUFhLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQy9DLGtCQUFrQixHQUFHLGFBQWEsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzNHLENBQUM7aUJBQU0sSUFBSSxjQUFjLElBQUksU0FBUyxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO2dCQUM5RSx5Q0FBeUM7Z0JBQ3pDLE1BQU0sY0FBYyxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUNqRCxrQkFBa0IsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxHQUFHLGNBQWMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDMUYsQ0FBQztpQkFBTSxJQUFJLGNBQWMsSUFBSSxTQUFTLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRyxDQUFDO2dCQUNwRCw0Q0FBNEM7Z0JBQzVDLE1BQU0sY0FBYyxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUNqRCxrQkFBa0IsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxHQUFHLGNBQWMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDMUYsQ0FBQztpQkFBTSxJQUFJLGFBQWEsSUFBSSxRQUFRLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUNqRCxxQ0FBcUM7Z0JBQ3JDLE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUMvQyxrQkFBa0IsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLEdBQUcsYUFBYSxDQUFDO1lBQ3ZFLENBQUM7WUFFRCx1RUFBdUU7WUFDdkUsSUFBSSxDQUFDLGFBQWEsSUFBSSxRQUFRLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQztnQkFDdkMsQ0FBQyxjQUFjLElBQUksU0FBUyxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDcEUsQ0FBQyxjQUFjLElBQUksU0FBUyxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUU7Z0JBQzFDLENBQUMsYUFBYSxJQUFJLFFBQVEsQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFFNUMsbUNBQW1DO2dCQUNuQyxVQUFVLENBQUMsR0FBRyxFQUFFO29CQUNkLEdBQUcsQ0FBQyxLQUFLLEdBQUcsa0JBQWtCLENBQUM7Z0JBQ2pDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDTixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3ZCLE9BQU87WUFDVCxDQUFDO1FBQ0gsQ0FBQztJQUVMLENBQUM7SUFPRCxTQUFTLEdBQVEsQ0FBQyxVQUFjLEVBQUUsRUFBRSxHQUFFLENBQUMsQ0FBQztJQUN4QyxVQUFVLEdBQVEsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO0lBRTNCLFVBQVUsQ0FBQyxHQUFRO1FBQ2pCLElBQUksQ0FBQyxVQUFVLEdBQUMsR0FBRyxDQUFDO0lBQ3RCLENBQUM7SUFBQSxDQUFDO0lBQ0YsZ0JBQWdCLENBQUMsRUFBTztRQUN0QixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBQUEsQ0FBQztJQUNGLGlCQUFpQixDQUFDLEVBQU87UUFDdkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUFBLENBQUM7SUFDRixnQkFBZ0IsQ0FBRSxVQUFtQixJQUFRLENBQUM7SUFBQSxDQUFDO0lBRS9DLGFBQWEsQ0FBQyxLQUFVO1FBQ3RCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFDckMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFZO1FBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUMxRCxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUMxQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7WUFDMUIsQ0FBQztRQUNILENBQUM7UUFDRCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQUdELDhCQUE4QjtJQUM5QixZQUFZLENBQUMsS0FBVTtRQUNyQixJQUFJLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNoQixNQUFNLFlBQVksR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQ2pDLElBQUksQ0FBQyxVQUFVLEdBQUcsWUFBWSxDQUFDO1lBQy9CLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBRWhDLDRCQUE0QjtZQUM1QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQztnQkFDckIsY0FBYyxFQUFFLElBQUksQ0FBQyxVQUFVO2dCQUMvQixVQUFVLEVBQUUsWUFBWTtnQkFDeEIsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsTUFBTSxFQUFFLFlBQVk7YUFDckIsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3pDLENBQUM7SUFDSCxDQUFDO3dHQTFKVSxZQUFZOzRGQUFaLFlBQVksOGRBaEJWO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFlBQVk7Z0JBQ3pCLEtBQUssRUFBRSxJQUFJO2FBQ1o7WUFDSDtnQkFDRSxPQUFPLEVBQUUsV0FBVztnQkFDcEIsUUFBUSxFQUFFLGlCQUFpQjtnQkFDM0IsSUFBSSxFQUFFLEVBQUU7YUFDVDtZQUNELEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUU7U0FDeEQsMEJDL0NILHUzR0FvREEscTlHRGxCWSxjQUFjLG14QkFBRSxrQkFBa0IsOEJBQUUsWUFBWSx1TkFBRSxtQkFBbUIsaW1CQUFFLGdCQUFnQiw4QkFBRSxtQkFBbUI7OzRGQWlCM0csWUFBWTtrQkFwQnhCLFNBQVM7K0JBQ0UsU0FBUyxjQUNQLElBQUksV0FDUCxDQUFDLGNBQWMsRUFBRSxrQkFBa0IsRUFBRSxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsZ0JBQWdCLEVBQUUsbUJBQW1CLENBQUMsYUFDMUc7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxjQUFjOzRCQUN6QixLQUFLLEVBQUUsSUFBSTt5QkFDWjt3QkFDSDs0QkFDRSxPQUFPLEVBQUUsV0FBVzs0QkFDcEIsUUFBUSxFQUFFLGlCQUFpQjs0QkFDM0IsSUFBSSxFQUFFLEVBQUU7eUJBQ1Q7d0JBQ0QsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRTtxQkFDeEQ7eUZBUVMsSUFBSTtzQkFBYixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBpbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNb21lbnREYXRlQWRhcHRlciwgTW9tZW50RGF0ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsLW1vbWVudC1hZGFwdGVyJztcbmltcG9ydCB7IERhdGVBZGFwdGVyLCBNQVRfREFURV9GT1JNQVRTIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBNYXREYXRlcGlja2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgTWFzdGVyQ29udHJvbFNlcnZpY2UgfSBmcm9tICcuLi9tYXN0ZXItY29udHJvbC5zZXJ2aWNlJztcblxuXG5leHBvcnQgY29uc3QgTVlfREFURV9GT1JNQVQgPSB7XG4gIHBhcnNlOiB7XG4gICAgZGF0ZUlucHV0OiBbXG4gICAgICAnREQtTU0tWVlZWScsXG4gICAgICAnTU0vREQvWVlZWScsXG4gICAgICAnWVlZWS9NTS9ERCcsXG4gICAgICAnREQvTU0vWVlZWScsXG4gICAgICAnREQgTU1NIFlZWVknLFxuICAgICAgJ0REIE1NTU0gWVlZWScsXG4gICAgICAnREQtTU1NLVlZWVknXG4gICAgXVxuICB9LFxuIGRpc3BsYXk6IHtcbiAgICBkYXRlSW5wdXQ6ICdERC9NTU0vWVlZWScsXG4gICAgbW9udGhZZWFyTGFiZWw6ICdNTU0gWVlZWScsXG4gICAgZGF0ZUExMXlMYWJlbDogJ0REL01NTS9ZWVlZJyxcbiAgICBtb250aFllYXJBMTF5TGFiZWw6ICdNTU1NIFlZWVknLFxuICB9LFxufTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWRvYicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtNYXRJbnB1dE1vZHVsZSwgTWF0Rm9ybUZpZWxkTW9kdWxlLCBDb21tb25Nb2R1bGUsIE1hdERhdGVwaWNrZXJNb2R1bGUsIE1vbWVudERhdGVNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGVdLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAge1xuICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgdXNlRXhpc3Rpbmc6IERvYkNvbXBvbmVudCxcbiAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogRGF0ZUFkYXB0ZXIsXG4gICAgICB1c2VDbGFzczogTW9tZW50RGF0ZUFkYXB0ZXIsXG4gICAgICBkZXBzOiBbXVxuICAgIH0sXG4gICAgeyBwcm92aWRlOiBNQVRfREFURV9GT1JNQVRTLCB1c2VWYWx1ZTogTVlfREFURV9GT1JNQVQgfVxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vZG9iLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2RvYi5jb21wb25lbnQuY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgRG9iQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBmaWVsZDogYW55ID0gaW5wdXQucmVxdWlyZWQ8YW55PigpO1xuICBpbnB1dFZhbHVlOiBhbnkgPSBudWxsO1xuICByZWFjdGl2ZUZvcm1Db250cm9sb2JqZWN0IDogYW55ID0gaW5wdXQ8YW55PigpO1xuICBAT3V0cHV0KCkgYmx1ciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGRhdGVTZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgaW52YWxpZERhdGUgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgc2VydmljZSA6IE1hc3RlckNvbnRyb2xTZXJ2aWNlKSB7fVxuXG4gICBkYXRlRGl2aXNpb25Gb3JtYXQoZXZlbnQ6IGFueSkge1xuICAgIGxldCBldnQgPSBldmVudC50YXJnZXQ7XG5cbiAgICAvLyBDaGVjayBpZiB1c2VyIGlzIGRlbGV0aW5nIChiYWNrc3BhY2UvZGVsZXRlKVxuICAgIGNvbnN0IGlzRGVsZXRpbmcgPSBldmVudC5pbnB1dFR5cGUgPT09ICdkZWxldGVDb250ZW50QmFja3dhcmQnIHx8XG4gICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LmlucHV0VHlwZSA9PT0gJ2RlbGV0ZUNvbnRlbnRGb3J3YXJkJyB8fFxuICAgICAgICAgICAgICAgICAgICAgICAhZXZlbnQuZGF0YTtcblxuICAgIC8vIElmIGRlbGV0aW5nLCBhbGxvdyBub3JtYWwgZGVsZXRpb24gd2l0aG91dCBhdXRvLWFkZGluZyBkYXNoZXNcbiAgICBpZiAoaXNEZWxldGluZykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGxldCB2YWx1ZSA9IGV2dC52YWx1ZTtcblxuICAgIC8vIEhhbmRsZSBjYXNlIHdoZXJlIHdlIGhhdmUgZXhpc3RpbmcgZGFzaGVzIGJ1dCBuZWVkIHRvIHJlZm9ybWF0XG4gICAgLy8gU3BsaXQgYnkgZGFzaCB0byB1bmRlcnN0YW5kIGN1cnJlbnQgc3RydWN0dXJlXG4gICAgY29uc3QgcGFydHMgPSB2YWx1ZS5zcGxpdCgnLycpO1xuXG4gICAgLy8gSWYgd2UgaGF2ZSBleGFjdGx5IDMgcGFydHMgKGRhdGUtbW9udGgteWVhciksIGRvbid0IGFkZCBtb3JlIGRhc2hlc1xuICAgIGlmIChwYXJ0cy5sZW5ndGggPCAzKSB7XG4gICAgICAgLy8gRm9yIGZpcnN0IGRhc2ggYWZ0ZXIgZGF0ZSAoMiBkaWdpdHMpXG4gICAgaWYgKHZhbHVlLmxlbmd0aCA+IDIgJiYgIXZhbHVlLmluY2x1ZGVzKCcvJykpIHtcbiAgICAgIGV2dC52YWx1ZSA9IFt2YWx1ZS5zbGljZSgwLCAyKSwgJy8nLCB2YWx1ZS5zbGljZSgyKV0uam9pbignJyk7XG4gICAgfVxuICAgIC8vIEZvciBzZWNvbmQgZGFzaCBhZnRlciBtb250aFxuICAgIGVsc2UgaWYgKHBhcnRzLmxlbmd0aCA9PT0gMikge1xuICAgICAgY29uc3QgZGF0ZVBhcnQgPSBwYXJ0c1swXTtcbiAgICAgIGNvbnN0IG1vbnRoUGFydCA9IHBhcnRzWzFdO1xuXG4gICAgICAvLyBBZGQgZGFzaCBhZnRlciBudW1lcmljIG1vbnRoIChleGFjdGx5IDIgZGlnaXRzKSBvciBhbHBoYWJldGljIG1vbnRoIChleGFjdGx5IDMgbGV0dGVycylcbiAgICAgIGlmICgobW9udGhQYXJ0Lmxlbmd0aCA9PT0gMiAmJiAvXlxcZHsyfSQvLnRlc3QobW9udGhQYXJ0KSkgfHxcbiAgICAgICAgICAobW9udGhQYXJ0Lmxlbmd0aCA9PT0gMyAmJiAvXlthLXpBLVpdezN9JC8udGVzdChtb250aFBhcnQpKSkge1xuICAgICAgICBldnQudmFsdWUgPSBkYXRlUGFydCArICcvJyArIG1vbnRoUGFydCArICcvJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICB9XG4gICAgIGNvbnN0IGRhdGVQYXJ0ID0gcGFydHNbMF0gfHwgJyc7XG4gICAgICBjb25zdCBtb250aFBhcnQgPSBwYXJ0c1sxXSB8fCAnJztcbiAgICAgIGNvbnN0IHllYXJQYXJ0ID0gcGFydHNbMl0gfHwgJyc7XG5cbiAgICAgLy8gUHJldmVudCBmdXJ0aGVyIGlucHV0IGlmIGxpbWl0cyBhcmUgcmVhY2hlZCBhbmQgcmVzdG9yZSBwcmV2aW91cyB2YWx1ZVxuICAgICAgaWYgKChkYXRlUGFydC5sZW5ndGggPj0gMikgfHxcbiAgICAgICAgICAobW9udGhQYXJ0Lmxlbmd0aCA+PSAyICYmIC9eXFxkKyQvLnRlc3QobW9udGhQYXJ0KSkgfHxcbiAgICAgICAgICAobW9udGhQYXJ0Lmxlbmd0aCA+PSAzICYmIC9eW2EtekEtWl0rJC8udGVzdChtb250aFBhcnQpKSB8fFxuICAgICAgICAgICh5ZWFyUGFydC5sZW5ndGggPj0gNCkpIHtcblxuICAgICAgICAvLyBHZXQgY3Vyc29yIHBvc2l0aW9uIHRvIGRldGVybWluZSB3aGljaCBwYXJ0IGlzIGJlaW5nIGVkaXRlZFxuICAgICAgICBjb25zdCBjdXJzb3JQb3MgPSBldnQuc2VsZWN0aW9uU3RhcnQ7XG4gICAgICAgIGNvbnN0IGlzRWRpdGluZ0RhdGUgPSBjdXJzb3JQb3MgPD0gMztcbiAgICAgICAgY29uc3QgaXNFZGl0aW5nTW9udGggPSBjdXJzb3JQb3MgPiAzICYmIGN1cnNvclBvcyA8PSAoMyArIG1vbnRoUGFydC5sZW5ndGgpO1xuICAgICAgICBjb25zdCBpc0VkaXRpbmdZZWFyID0gY3Vyc29yUG9zID4gKDMgKyBtb250aFBhcnQubGVuZ3RoICsgMSk7XG5cbiAgICAgICAgLy8gUmVjb25zdHJ1Y3QgdGhlIHByZXZpb3VzIHZhbGlkIHZhbHVlIGJ5IHRyaW1taW5nIGV4Y2VzcyBjaGFyYWN0ZXJzXG4gICAgICAgIGxldCBwcmV2aW91c1ZhbGlkVmFsdWU9Jyc7XG4gICAgICAgIGlmIChpc0VkaXRpbmdEYXRlICYmIGRhdGVQYXJ0Lmxlbmd0aCA+PSAyKSB7XG4gICAgICAgICAgLy8gVHJpbSBkYXRlIHBhcnQgdG8gMiBjaGFyYWN0ZXJzIG1heFxuICAgICAgICAgIGNvbnN0IHZhbGlkRGF0ZVBhcnQgPSBkYXRlUGFydC5zdWJzdHJpbmcoMCwgMik7XG4gICAgICAgICAgcHJldmlvdXNWYWxpZFZhbHVlID0gdmFsaWREYXRlUGFydCArIChwYXJ0c1sxXSA/ICcvJyArIHBhcnRzWzFdIDogJycpICsgKHBhcnRzWzJdID8gJy8nICsgcGFydHNbMl0gOiAnJyk7XG4gICAgICAgIH0gZWxzZSBpZiAoaXNFZGl0aW5nTW9udGggJiYgbW9udGhQYXJ0Lmxlbmd0aCA+PSAyICYmIC9eXFxkKyQvLnRlc3QobW9udGhQYXJ0KSkge1xuICAgICAgICAgIC8vIFRyaW0gbnVtZXJpYyBtb250aCB0byAyIGNoYXJhY3RlcnMgbWF4XG4gICAgICAgICAgY29uc3QgdmFsaWRNb250aFBhcnQgPSBtb250aFBhcnQuc3Vic3RyaW5nKDAsIDIpO1xuICAgICAgICAgIHByZXZpb3VzVmFsaWRWYWx1ZSA9IHBhcnRzWzBdICsgJy8nICsgdmFsaWRNb250aFBhcnQgKyAocGFydHNbMl0gPyAnLycgKyBwYXJ0c1syXSA6ICcnKTtcbiAgICAgICAgfSBlbHNlIGlmIChpc0VkaXRpbmdNb250aCAmJiBtb250aFBhcnQubGVuZ3RoID49IDMgKSB7XG4gICAgICAgICAgLy8gVHJpbSBhbHBoYWJldGljIG1vbnRoIHRvIDMgY2hhcmFjdGVycyBtYXhcbiAgICAgICAgICBjb25zdCB2YWxpZE1vbnRoUGFydCA9IG1vbnRoUGFydC5zdWJzdHJpbmcoMCwgMyk7XG4gICAgICAgICAgcHJldmlvdXNWYWxpZFZhbHVlID0gcGFydHNbMF0gKyAnLycgKyB2YWxpZE1vbnRoUGFydCArIChwYXJ0c1syXSA/ICcvJyArIHBhcnRzWzJdIDogJycpO1xuICAgICAgICB9IGVsc2UgaWYgKGlzRWRpdGluZ1llYXIgJiYgeWVhclBhcnQubGVuZ3RoID49IDQpIHtcbiAgICAgICAgICAvLyBUcmltIHllYXIgcGFydCB0byA0IGNoYXJhY3RlcnMgbWF4XG4gICAgICAgICAgY29uc3QgdmFsaWRZZWFyUGFydCA9IHllYXJQYXJ0LnN1YnN0cmluZygwLCA0KTtcbiAgICAgICAgICBwcmV2aW91c1ZhbGlkVmFsdWUgPSBwYXJ0c1swXSArICcvJyArIHBhcnRzWzFdICsgJy8nICsgdmFsaWRZZWFyUGFydDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFByZXZlbnQgaW5wdXQgaWYgdHJ5aW5nIHRvIGV4Y2VlZCBsaW1pdHMgYnkgcmVzdG9yaW5nIHByZXZpb3VzIHZhbHVlXG4gICAgICAgIGlmICgoaXNFZGl0aW5nRGF0ZSAmJiBkYXRlUGFydC5sZW5ndGggPj0gMikgfHxcbiAgICAgICAgICAgIChpc0VkaXRpbmdNb250aCAmJiBtb250aFBhcnQubGVuZ3RoID49IDIgJiYgL15cXGQrJC8udGVzdChtb250aFBhcnQpKSB8fFxuICAgICAgICAgICAgKGlzRWRpdGluZ01vbnRoICYmIG1vbnRoUGFydC5sZW5ndGggPj0gMyApIHx8XG4gICAgICAgICAgICAoaXNFZGl0aW5nWWVhciAmJiB5ZWFyUGFydC5sZW5ndGggPj0gNCkpIHtcblxuICAgICAgICAgIC8vIFJlc3RvcmUgdGhlIHByZXZpb3VzIHZhbGlkIHZhbHVlXG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBldnQudmFsdWUgPSBwcmV2aW91c1ZhbGlkVmFsdWU7XG4gICAgICAgICAgfSwgMCk7XG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgIH1cblxuICB9XG5cblxuXG5cblxuXG4gIF9vbkNoYW5nZTogYW55ID0gKGlucHV0VmFsdWU6YW55KSA9PiB7fTtcbiAgX3VuVG91Y2hlZDogYW55ID0gKCkgPT4ge307XG5cbiAgd3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWR7XG4gICAgdGhpcy5pbnB1dFZhbHVlPW9iajtcbiAgfTtcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZHtcbiAgICB0aGlzLl9vbkNoYW5nZSA9IGZuO1xuICB9O1xuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZHtcbiAgICB0aGlzLl91blRvdWNoZWQgPSBmbjtcbiAgfTtcbiAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWR7fTtcblxuICBvbklucHV0Q2hhbmdlKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLmlucHV0VmFsdWUgPSBldmVudC50YXJnZXQudmFsdWU7XG4gICAgdGhpcy5fb25DaGFuZ2UodGhpcy5pbnB1dFZhbHVlKTtcbiAgfVxuXG4gIG9uSW5wdXRCbHVyKGV2ZW50PyA6IGFueSk6IHZvaWQge1xuICAgIGlmICghdGhpcy5zZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkoZXZlbnQudGFyZ2V0LnZhbHVlKSkge1xuICAgICAgaWYgKGlzTmFOKERhdGUucGFyc2UoZXZlbnQudGFyZ2V0LnZhbHVlKSkpIHtcbiAgICAgICAgZXZlbnQudGFyZ2V0LnZhbHVlID0gJyc7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuX3VuVG91Y2hlZCgpO1xuICAgIHRoaXMuYmx1ci5lbWl0KGV2ZW50KTtcbiAgfVxuXG5cbiAgLy8gSGFuZGxlIGRhdGVwaWNrZXIgc2VsZWN0aW9uXG4gIG9uRGF0ZUNoYW5nZShldmVudDogYW55KTogdm9pZCB7XG4gICAgaWYgKGV2ZW50LnZhbHVlKSB7XG4gICAgICBjb25zdCBzZWxlY3RlZERhdGUgPSBldmVudC52YWx1ZTtcbiAgICAgIHRoaXMuaW5wdXRWYWx1ZSA9IHNlbGVjdGVkRGF0ZTtcbiAgICAgIHRoaXMuX29uQ2hhbmdlKHRoaXMuaW5wdXRWYWx1ZSk7XG5cbiAgICAgIC8vIEVtaXQgZGF0ZSBzZWxlY3Rpb24gZXZlbnRcbiAgICAgIHRoaXMuZGF0ZVNlbGVjdGVkLmVtaXQoe1xuICAgICAgICBmb3JtYXR0ZWRWYWx1ZTogdGhpcy5pbnB1dFZhbHVlLFxuICAgICAgICBkYXRlT2JqZWN0OiBzZWxlY3RlZERhdGUsXG4gICAgICAgIGlzVmFsaWQ6IHRydWUsXG4gICAgICAgIHNvdXJjZTogJ2RhdGVwaWNrZXInXG4gICAgICB9KTtcblxuICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRoaXMuaW5wdXRWYWx1ZSk7XG4gICAgfVxuICB9XG5cbn1cbiIsIjxsYWJlbCAqbmdJZj1cImZpZWxkKCkgJiYgZmllbGQoKT8uaXNWaXNpYmxlICYmIGZpZWxkKCkuaXNTaG93TGFiZWxcIiBjbGFzcz1cImZpZWxkLWxhYmxlXCI+e3sgZmllbGQoKT8ubGFiZWxcbiAgfX08c3BhbiBzdHlsZT1cImNvbG9yOiByZWRcIiAqbmdJZj1cImZpZWxkKCkgJiYgZmllbGQoKT8udmFsaWRhdG9ycz8uaXNSZXF1aXJlZFwiPio8L3NwYW4+PC9sYWJlbD5cbjxtYXQtZm9ybS1maWVsZCBbY2xhc3NdPVwiJ3ctMTAwICcgKyBmaWVsZCgpPy5maWVsZE5hbWVcIiBhcHBlYXJhbmNlPVwib3V0bGluZVwiICpuZ0lmPVwiZmllbGQoKSAmJiBmaWVsZCgpPy5pc1Zpc2libGVcIiBbbmdTdHlsZV09XCJ7XG4gICAgJy0tY3VzdG9tLWJvcmRlci1jb2xvcic6IGZpZWxkKCk/LmNvbnRyb2xTdHlsZT8uYm9yZGVyQ29sb3IgLFxuICAgICctLWN1c3RvbS1ib3JkZXItd2lkdGgnOiBmaWVsZCgpPy5jb250cm9sU3R5bGU/LmJvcmRlcldpZHRoICxcbiAgICAnLS1jdXN0b20tYm9yZGVyLXJhZGl1cyc6IGZpZWxkKCk/LmNvbnRyb2xTdHlsZT8uYm9yZGVyUmFkaXVzICxcbiAgICAnLS1jdXN0b20tYm9yZGVyLWNvbG9yLWZvY3VzJzogZmllbGQoKT8uY29udHJvbFN0eWxlPy5mb2N1c0JvcmRlckNvbG9yICxcbiAgICAnLS1jdXN0b20tYm9yZGVyLXdpZHRoLWZvY3VzJzogZmllbGQoKT8uY29udHJvbFN0eWxlPy5mb2N1c0JvcmRlcldpZHRoICxcbiAgICAnLS1jdXN0b20tYm9yZGVyLWNvbG9yLWhvdmVyJzogZmllbGQoKT8uY29udHJvbFN0eWxlPy5ob3ZlckJvcmRlckNvbG9yICxcbiAgICAnLS1jdXN0b20tYm9yZGVyLXdpZHRoLWhvdmVyJzogZmllbGQoKT8uY29udHJvbFN0eWxlPy5ob3ZlckJvcmRlcldpZHRoICxcbiAgICAnLS1jdXN0b20tYm9yZGVyLWNvbG9yLWVycm9yJzogZmllbGQoKT8uY29udHJvbFN0eWxlPy5lcnJvckJvcmRlckNvbG9yICxcbiAgICAnLS1jdXN0b20tYm9yZGVyLXdpZHRoLWVycm9yJzogZmllbGQoKT8uY29udHJvbFN0eWxlPy5lcnJvckJvcmRlcldpZHRoICxcbiAgICAnLS1jdXN0b20tZm9udC1zaXplJzogZmllbGQoKT8uY29udHJvbFN0eWxlPy5mb250U2l6ZSAsXG4gICAgJy0tY3VzdG9tLWZvbnQtd2VpZ2h0JzogZmllbGQoKT8uY29udHJvbFN0eWxlPy5mb250V2VpZ2h0ICxcbiAgICAnLS1jdXN0b20tZm9udC1mYW1pbHknOiBmaWVsZCgpPy5jb250cm9sU3R5bGU/LmZvbnRGYW1pbHkgLFxuICAgICctLWN1c3RvbS1mb250LWNvbG9yJzogZmllbGQoKT8uY29udHJvbFN0eWxlPy5jb2xvciAsXG4gICAgJy0tY3VzdG9tLWNhcmV0LWNvbG9yJzogZmllbGQoKT8uY29udHJvbFN0eWxlPy5jYXJldENvbG9yICxcbiAgICAnLS1jdXN0b20tZm9udC1jb2xvci1kaXNhYmxlZCcgOiBmaWVsZCgpPy5jb250cm9sU3R5bGU/LmRpc2FibGVDb2xvciAsXG4gICAgJy0tY3VzdG9tLWJnLWNvbG9yLWRpc2FibGVkJyA6IGZpZWxkKCk/LmNvbnRyb2xTdHlsZT8uZGlzYWJsZUJhY2tncm91bmQgLFxuICAgICctLWN1c3RvbS1iZy1jb2xvcic6IGZpZWxkKCk/LmNvbnRyb2xTdHlsZT8uYmFja2dyb3VuZCAsXG4gICAgICctLWN1c3RvbS1iZy1jb2xvci1mb2N1cyc6IGZpZWxkKCk/LmNvbnRyb2xTdHlsZT8uZm9jdXNCYWNrZ3JvdW5kICxcbiAgICB9XCI+XG4gIEBpZihyZWFjdGl2ZUZvcm1Db250cm9sb2JqZWN0KCkpIHtcbiAgPGlucHV0IG1hdElucHV0IGF1dG9jb21wbGV0ZT1cIm9mZlwiIHR5cGU9XCJ0ZXh0XCIgW25hbWVdPVwiZmllbGQoKT8uZmllbGROYW1lXCIgW2lkXT1cImZpZWxkKCk/LmZpZWxkTmFtZVwiXG4gICAgW3BsYWNlaG9sZGVyXT1cImZpZWxkKCk/LnBsYWNlSG9sZGVyIHx8ICdERC1NTS1ZWVlZJ1wiIFtyZXF1aXJlZF09XCJmaWVsZCgpPy52YWxpZGF0b3JzPy5pc1JlcXVpcmVkXCJcbiAgICBbcGF0dGVybl09XCJmaWVsZCgpPy52YWxpZGF0b3JzPy5wYXR0ZXJuXCIgW21hdERhdGVwaWNrZXJdPVwicGlja2VyXCIgKGlucHV0KT1cImRhdGVEaXZpc2lvbkZvcm1hdCgkZXZlbnQpXCJcbiAgICBbbWluXT1cImZpZWxkKCk/LmNvbmZpZ0RhdGE/Lm1pblwiIFttYXhdPVwiZmllbGQoKT8uY29uZmlnRGF0YT8ubWF4XCIgW2Rpc2FibGVkXT1cImZpZWxkKCk/LmlzRGlzYWJsZVwiXG4gICAgKGRhdGVDaGFuZ2UpPVwib25EYXRlQ2hhbmdlKCRldmVudClcIiAoYmx1cik9XCJvbklucHV0Qmx1cigkZXZlbnQpXCIgW3ZhbHVlXT1cImlucHV0VmFsdWVcIlxuICAgIFtmb3JtQ29udHJvbF09XCJyZWFjdGl2ZUZvcm1Db250cm9sb2JqZWN0KClcIiAvPlxuICB9QGVsc2Uge1xuICA8aW5wdXQgbWF0SW5wdXQgYXV0b2NvbXBsZXRlPVwib2ZmXCIgdHlwZT1cInRleHRcIiBbbmFtZV09XCJmaWVsZCgpPy5maWVsZE5hbWVcIiBbaWRdPVwiZmllbGQoKT8uZmllbGROYW1lXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwiZmllbGQoKT8ucGxhY2VIb2xkZXJcIiBbcmVxdWlyZWRdPVwiZmllbGQoKT8udmFsaWRhdG9ycz8uaXNSZXF1aXJlZFwiXG4gICAgW3BhdHRlcm5dPVwiZmllbGQoKT8udmFsaWRhdG9ycz8ucGF0dGVyblwiIFttYXREYXRlcGlja2VyXT1cInBpY2tlclwiIChpbnB1dCk9XCJkYXRlRGl2aXNpb25Gb3JtYXQoJGV2ZW50KVwiXG4gICAgW21pbl09XCJmaWVsZCgpPy5jb25maWdEYXRhPy5taW5cIiBbbWF4XT1cImZpZWxkKCk/LmNvbmZpZ0RhdGE/Lm1heFwiIFtkaXNhYmxlZF09XCJmaWVsZCgpPy5pc0Rpc2FibGVcIlxuICAgIChkYXRlQ2hhbmdlKT1cIm9uRGF0ZUNoYW5nZSgkZXZlbnQpXCIgKGJsdXIpPVwib25JbnB1dEJsdXIoJGV2ZW50KVwiIFt2YWx1ZV09XCJpbnB1dFZhbHVlXCIgLz5cbiAgfVxuXG4gIDxtYXQtZGF0ZXBpY2tlci10b2dnbGUgbWF0U3VmZml4IFtmb3JdPVwicGlja2VyXCI+XG4gICAgPGltZyBzcmM9XCJodHRwczovL2Nkbi5nb2RpZ2l0LmNvbS9kaWdpdFBsdXNBc3NldHMvcmV0YWlsLWxpZmUtaWNvbi9zdmdpY29uL2RhdGVfcGlja2VyX2ljb24uc3ZnXCIgc3R5bGU9XCJ3aWR0aDogMTZweFwiXG4gICAgICBtYXREYXRlcGlja2VyVG9nZ2xlSWNvbiAvPlxuICA8L21hdC1kYXRlcGlja2VyLXRvZ2dsZT5cbiAgPG1hdC1kYXRlcGlja2VyICNwaWNrZXI+PC9tYXQtZGF0ZXBpY2tlcj5cbiAgPG1hdC1lcnJvciAqbmdJZj1cImZhbHNlXCI+XG4gICAge3sgZmllbGQoKT8udmFsaWRhdG9ycz8uaXNSZXF1aXJlZE1lc3NhZ2UgfX1cbiAgPC9tYXQtZXJyb3I+XG48L21hdC1mb3JtLWZpZWxkPlxuPGRpdiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIiAqbmdJZj1cImZhbHNlXCI+XG4gIHt7IGZpZWxkKCk/LnZhbGlkYXRvcnM/LmlzUmVxdWlyZWRNZXNzYWdlIH19LlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwiZXJyb3ItbWVzc2FnZVwiICpuZ0lmPVwiZmllbGQoKT8uY29uZmlnRGF0YT8uaXNJbnZhbGlkXCI+XG4gIHt7IGZpZWxkKCk/LnZhbGlkYXRvcnM/LnBhdHRlcm5NZXNzYWdlIH19LlxuPC9kaXY+XG4iXX0=
@@ -1,5 +1,6 @@
1
1
  import { CommonModule } from '@angular/common';
2
2
  import { Component, Input, input } from '@angular/core';
3
+ import { CustomizedTooltipDirective } from '../directives/customized.tooltip.directive';
3
4
  import * as i0 from "@angular/core";
4
5
  import * as i1 from "../master-control.service";
5
6
  import * as i2 from "@angular/common";
@@ -12,14 +13,14 @@ export class InBuiltBenefitComponent {
12
13
  this.service = service;
13
14
  }
14
15
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: InBuiltBenefitComponent, deps: [{ token: i1.MasterControlService }], target: i0.ɵɵFactoryTarget.Component });
15
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: InBuiltBenefitComponent, isStandalone: true, selector: "lib-in-built-benefit", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, premiumAmount: { classPropertyName: "premiumAmount", publicName: "premiumAmount", isSignal: false, isRequired: false, transformFunction: null }, premiumAmountShort: { classPropertyName: "premiumAmountShort", publicName: "premiumAmountShort", isSignal: false, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"d-flex in-built-card\"\n [ngStyle]=\"{\n'--inbuilt-card-border-color': field()?.controlStyle?.borderColor ,\n'--inbuilt-card-border-width': field()?.controlStyle?.borderWidth ,\n'--inbuilt-card-border-radius': field()?.controlStyle?.borderRadius ,\n'--inbuilt-card-bg-color': field()?.controlStyle?.background ,\n'--inbuilt-card-width': field()?.controlStyle?.width ,\n }\"\n *ngIf=\"field() && field()?.isVisible\"\n>\n <p class=\"w-100 top-box\">\n <span class=\"top-benefit-card\">In-built Benefit</span>\n </p>\n <div>\n <span class=\"premium-header\" *ngIf=\"field()?.configData?.label\">{{ field()?.configData?.label }}</span> <br />\n <span class=\"benefit-text normal-text\" *ngIf=\"field()?.configData?.subText\">\n {{ field()?.configData?.subText }}\n </span>\n <br />\n <span class=\"premium\" *ngIf=\"!this.service.checkIfValueIsEmpty(premiumAmount)\"\n ><b>{{ premiumAmount }}</b> ({{ premiumAmountShort }})</span\n >\n </div>\n <div class=\"m-auto\">\n <img *ngIf=\"field()?.imageUrl\" [src]=\"field().imageUrl\" alt=\"\" />\n </div>\n</div>\n", styles: [".in-built-card{max-width:var(--inbuilt-card-width, 100%)!important;min-height:114px;border-radius:var(--inbuilt-card-border-radius, 12px)!important;border:1px solid #0bb68b;border-color:var(--inbuilt-card-border-color, #0bb68b)!important;border-width:var(--inbuilt-card-border-width, 1px)!important;background:var(--inbuilt-card-bg-color, #e6f7f3)!important;padding:12px 16px;position:relative}.premium-header{font-size:14px;font-weight:700;letter-spacing:0px;line-height:18px;color:#444}.benefit-text{font-size:12px;color:#696969;font-weight:700;letter-spacing:0%;line-height:16px}.premium{font-size:12px;padding:4px 16px;border-radius:4px;height:24px;width:113px;background:#fff;color:#444}.normal-text{font-weight:400}.bold-text{font-weight:700}.top-benefit-card{border-radius:25px;background:#fff;border:1px solid #ececec;height:26px;width:114px;padding:0 6px 5px 12px;font-size:12px;font-weight:400;color:#444;letter-spacing:0%;position:absolute;transform:translate(-6em,-2.2em)}.top-box{position:absolute;text-align:center}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
16
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: InBuiltBenefitComponent, isStandalone: true, selector: "lib-in-built-benefit", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, premiumAmount: { classPropertyName: "premiumAmount", publicName: "premiumAmount", isSignal: false, isRequired: false, transformFunction: null }, premiumAmountShort: { classPropertyName: "premiumAmountShort", publicName: "premiumAmountShort", isSignal: false, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"d-flex in-built-card\"\n [ngStyle]=\"{\n'--inbuilt-card-border-color': field()?.controlStyle?.borderColor ,\n'--inbuilt-card-border-width': field()?.controlStyle?.borderWidth ,\n'--inbuilt-card-border-radius': field()?.controlStyle?.borderRadius ,\n'--inbuilt-card-bg-color': field()?.controlStyle?.background ,\n'--inbuilt-card-width': field()?.controlStyle?.width ,\n }\"\n *ngIf=\"field() && field()?.isVisible\"\n>\n <p class=\"w-100 top-box\">\n <span class=\"top-benefit-card\">Benefits in Brief</span>\n </p>\n <div class=\"d-flex align-items-start gap-3\">\n <img *ngIf=\"field()?.configData?.imageUrl\" [src]=\"field()?.configData?.imageUrl\" alt=\"Benefit Image\" class=\"benefit-img\" />\n <div>\n <span class=\"premium-header\" *ngIf=\"field()?.configData?.label\">{{ field()?.configData?.label }}</span> <br />\n <span class=\"benefit-text normal-text\" *ngIf=\"field()?.configData?.subText\">\n {{ field()?.configData?.subText }}\n </span>\n <div class=\"buit-in-benefit-text\">\n <span class=\"benefit-text normal-text\" *ngIf=\"field()?.configData?.benefitprefixtext\"> {{ field()?.configData?.benefitprefixtext }} </span>\n <span class=\"highlight\" *ngIf=\"field()?.configData?.benefitHighlighttext\">{{field()?.configData?.benefitHighlighttext}}\n <span [appTooltipTemplate]=\"currentTooltip\" arrowPosition=\"left\" tooltipPosition=\"bottom\"\n *ngIf=\"field().configData?.infoimageUrl && field().configData?.tooltipText\">\n <img [src]=\"field().configData?.infoimageUrl\" class=\"toggle-img mx-1\" />\n </span>\n <ng-template #currentTooltip>\n <span [innerHTML]=\"field().configData?.tooltipText\"></span>\n </ng-template>\n </span>\n </div>\n <br />\n <span class=\"premium\" *ngIf=\"!this.service.checkIfValueIsEmpty(premiumAmount)\">\n <b>{{ premiumAmount }}</b> ({{ premiumAmountShort }})\n </span>\n </div>\n </div>\n <div class=\"m-auto\">\n <img *ngIf=\"field()?.imageUrl\" [src]=\"field().imageUrl\" alt=\"\" />\n </div>\n</div>\n", styles: [".in-built-card{max-width:var(--inbuilt-card-width, 100%)!important;min-height:114px;border-radius:var(--inbuilt-card-border-radius, 12px)!important;border:1px solid #0bb68b;border-color:var(--inbuilt-card-border-color, #0bb68b)!important;border-width:var(--inbuilt-card-border-width, 1px)!important;background:var(--inbuilt-card-bg-color, #e6f7f3)!important;padding:12px 16px;position:relative}.premium-header{font-size:14px;font-weight:700;letter-spacing:0px;line-height:18px;color:#444}.benefit-text{font-size:12px;color:#696969;font-weight:700;letter-spacing:0%;line-height:16px}.premium{font-size:12px;padding:4px 16px;border-radius:4px;height:24px;width:113px;background:#fff;color:#444}.normal-text{font-weight:400}.bold-text{font-weight:700}.top-benefit-card{border-radius:25px;background:#fff;border:1px solid #ececec;height:26px;width:114px;padding:0 6px 5px 12px;font-size:12px;font-weight:400;color:#444;letter-spacing:0%;position:absolute;transform:translate(-6em,-2.2em)}.top-box{position:absolute;text-align:center}.buit-in-benefit-text{display:flex;align-items:center;gap:4px;white-space:nowrap}.highlight{color:#444;font-weight:700;font-size:12px;letter-spacing:0px;line-height:18px}.toggle-img{width:12px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: CustomizedTooltipDirective, selector: "[appTooltipTemplate]", inputs: ["appTooltipTemplate"] }] });
16
17
  }
17
18
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: InBuiltBenefitComponent, decorators: [{
18
19
  type: Component,
19
- args: [{ selector: 'lib-in-built-benefit', standalone: true, imports: [CommonModule], template: "<div class=\"d-flex in-built-card\"\n [ngStyle]=\"{\n'--inbuilt-card-border-color': field()?.controlStyle?.borderColor ,\n'--inbuilt-card-border-width': field()?.controlStyle?.borderWidth ,\n'--inbuilt-card-border-radius': field()?.controlStyle?.borderRadius ,\n'--inbuilt-card-bg-color': field()?.controlStyle?.background ,\n'--inbuilt-card-width': field()?.controlStyle?.width ,\n }\"\n *ngIf=\"field() && field()?.isVisible\"\n>\n <p class=\"w-100 top-box\">\n <span class=\"top-benefit-card\">In-built Benefit</span>\n </p>\n <div>\n <span class=\"premium-header\" *ngIf=\"field()?.configData?.label\">{{ field()?.configData?.label }}</span> <br />\n <span class=\"benefit-text normal-text\" *ngIf=\"field()?.configData?.subText\">\n {{ field()?.configData?.subText }}\n </span>\n <br />\n <span class=\"premium\" *ngIf=\"!this.service.checkIfValueIsEmpty(premiumAmount)\"\n ><b>{{ premiumAmount }}</b> ({{ premiumAmountShort }})</span\n >\n </div>\n <div class=\"m-auto\">\n <img *ngIf=\"field()?.imageUrl\" [src]=\"field().imageUrl\" alt=\"\" />\n </div>\n</div>\n", styles: [".in-built-card{max-width:var(--inbuilt-card-width, 100%)!important;min-height:114px;border-radius:var(--inbuilt-card-border-radius, 12px)!important;border:1px solid #0bb68b;border-color:var(--inbuilt-card-border-color, #0bb68b)!important;border-width:var(--inbuilt-card-border-width, 1px)!important;background:var(--inbuilt-card-bg-color, #e6f7f3)!important;padding:12px 16px;position:relative}.premium-header{font-size:14px;font-weight:700;letter-spacing:0px;line-height:18px;color:#444}.benefit-text{font-size:12px;color:#696969;font-weight:700;letter-spacing:0%;line-height:16px}.premium{font-size:12px;padding:4px 16px;border-radius:4px;height:24px;width:113px;background:#fff;color:#444}.normal-text{font-weight:400}.bold-text{font-weight:700}.top-benefit-card{border-radius:25px;background:#fff;border:1px solid #ececec;height:26px;width:114px;padding:0 6px 5px 12px;font-size:12px;font-weight:400;color:#444;letter-spacing:0%;position:absolute;transform:translate(-6em,-2.2em)}.top-box{position:absolute;text-align:center}\n"] }]
20
+ args: [{ selector: 'lib-in-built-benefit', standalone: true, imports: [CommonModule, CustomizedTooltipDirective], template: "<div class=\"d-flex in-built-card\"\n [ngStyle]=\"{\n'--inbuilt-card-border-color': field()?.controlStyle?.borderColor ,\n'--inbuilt-card-border-width': field()?.controlStyle?.borderWidth ,\n'--inbuilt-card-border-radius': field()?.controlStyle?.borderRadius ,\n'--inbuilt-card-bg-color': field()?.controlStyle?.background ,\n'--inbuilt-card-width': field()?.controlStyle?.width ,\n }\"\n *ngIf=\"field() && field()?.isVisible\"\n>\n <p class=\"w-100 top-box\">\n <span class=\"top-benefit-card\">Benefits in Brief</span>\n </p>\n <div class=\"d-flex align-items-start gap-3\">\n <img *ngIf=\"field()?.configData?.imageUrl\" [src]=\"field()?.configData?.imageUrl\" alt=\"Benefit Image\" class=\"benefit-img\" />\n <div>\n <span class=\"premium-header\" *ngIf=\"field()?.configData?.label\">{{ field()?.configData?.label }}</span> <br />\n <span class=\"benefit-text normal-text\" *ngIf=\"field()?.configData?.subText\">\n {{ field()?.configData?.subText }}\n </span>\n <div class=\"buit-in-benefit-text\">\n <span class=\"benefit-text normal-text\" *ngIf=\"field()?.configData?.benefitprefixtext\"> {{ field()?.configData?.benefitprefixtext }} </span>\n <span class=\"highlight\" *ngIf=\"field()?.configData?.benefitHighlighttext\">{{field()?.configData?.benefitHighlighttext}}\n <span [appTooltipTemplate]=\"currentTooltip\" arrowPosition=\"left\" tooltipPosition=\"bottom\"\n *ngIf=\"field().configData?.infoimageUrl && field().configData?.tooltipText\">\n <img [src]=\"field().configData?.infoimageUrl\" class=\"toggle-img mx-1\" />\n </span>\n <ng-template #currentTooltip>\n <span [innerHTML]=\"field().configData?.tooltipText\"></span>\n </ng-template>\n </span>\n </div>\n <br />\n <span class=\"premium\" *ngIf=\"!this.service.checkIfValueIsEmpty(premiumAmount)\">\n <b>{{ premiumAmount }}</b> ({{ premiumAmountShort }})\n </span>\n </div>\n </div>\n <div class=\"m-auto\">\n <img *ngIf=\"field()?.imageUrl\" [src]=\"field().imageUrl\" alt=\"\" />\n </div>\n</div>\n", styles: [".in-built-card{max-width:var(--inbuilt-card-width, 100%)!important;min-height:114px;border-radius:var(--inbuilt-card-border-radius, 12px)!important;border:1px solid #0bb68b;border-color:var(--inbuilt-card-border-color, #0bb68b)!important;border-width:var(--inbuilt-card-border-width, 1px)!important;background:var(--inbuilt-card-bg-color, #e6f7f3)!important;padding:12px 16px;position:relative}.premium-header{font-size:14px;font-weight:700;letter-spacing:0px;line-height:18px;color:#444}.benefit-text{font-size:12px;color:#696969;font-weight:700;letter-spacing:0%;line-height:16px}.premium{font-size:12px;padding:4px 16px;border-radius:4px;height:24px;width:113px;background:#fff;color:#444}.normal-text{font-weight:400}.bold-text{font-weight:700}.top-benefit-card{border-radius:25px;background:#fff;border:1px solid #ececec;height:26px;width:114px;padding:0 6px 5px 12px;font-size:12px;font-weight:400;color:#444;letter-spacing:0%;position:absolute;transform:translate(-6em,-2.2em)}.top-box{position:absolute;text-align:center}.buit-in-benefit-text{display:flex;align-items:center;gap:4px;white-space:nowrap}.highlight{color:#444;font-weight:700;font-size:12px;letter-spacing:0px;line-height:18px}.toggle-img{width:12px}\n"] }]
20
21
  }], ctorParameters: () => [{ type: i1.MasterControlService }], propDecorators: { premiumAmount: [{
21
22
  type: Input
22
23
  }], premiumAmountShort: [{
23
24
  type: Input
24
25
  }] } });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW4tYnVpbHQtYmVuZWZpdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXN0ZXItY29udHJvbC9zcmMvbGliL2luLWJ1aWx0LWJlbmVmaXQvaW4tYnVpbHQtYmVuZWZpdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXN0ZXItY29udHJvbC9zcmMvbGliL2luLWJ1aWx0LWJlbmVmaXQvaW4tYnVpbHQtYmVuZWZpdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBVXhELE1BQU0sT0FBTyx1QkFBdUI7SUFLYjtJQUpyQixLQUFLLEdBQVEsS0FBSyxDQUFDLFFBQVEsRUFBTyxDQUFDO0lBRTFCLGFBQWEsR0FBUSxXQUFXLENBQUM7SUFDakMsa0JBQWtCLEdBQVEsSUFBSSxDQUFDO0lBQ3RDLFlBQW1CLE9BQThCO1FBQTlCLFlBQU8sR0FBUCxPQUFPLENBQXVCO0lBQUcsQ0FBQzt3R0FMNUMsdUJBQXVCOzRGQUF2Qix1QkFBdUIsb2dCQ1hwQywwbENBMkJBLGdrQ0RwQlksWUFBWTs7NEZBSVgsdUJBQXVCO2tCQVBuQyxTQUFTOytCQUNFLHNCQUFzQixjQUNwQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUM7eUZBT2QsYUFBYTtzQkFBckIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hc3RlckNvbnRyb2xTZXJ2aWNlIH0gZnJvbSAnLi4vbWFzdGVyLWNvbnRyb2wuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1pbi1idWlsdC1iZW5lZml0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9pbi1idWlsdC1iZW5lZml0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2luLWJ1aWx0LWJlbmVmaXQuY29tcG9uZW50LmNzcycsXG59KVxuZXhwb3J0IGNsYXNzIEluQnVpbHRCZW5lZml0Q29tcG9uZW50IHtcbiAgZmllbGQ6IGFueSA9IGlucHV0LnJlcXVpcmVkPGFueT4oKTtcblxuICBASW5wdXQoKSBwcmVtaXVtQW1vdW50OiBhbnkgPSAn4oK5MSwwMCwwMDAnO1xuICBASW5wdXQoKSBwcmVtaXVtQW1vdW50U2hvcnQ6IGFueSA9ICcxTCc7XG4gICAgY29uc3RydWN0b3IocHVibGljIHNlcnZpY2UgOiBNYXN0ZXJDb250cm9sU2VydmljZSkge31cblxufVxuIiwiPGRpdiBjbGFzcz1cImQtZmxleCBpbi1idWlsdC1jYXJkXCJcbiBbbmdTdHlsZV09XCJ7XG4nLS1pbmJ1aWx0LWNhcmQtYm9yZGVyLWNvbG9yJzogZmllbGQoKT8uY29udHJvbFN0eWxlPy5ib3JkZXJDb2xvciAsXG4nLS1pbmJ1aWx0LWNhcmQtYm9yZGVyLXdpZHRoJzogZmllbGQoKT8uY29udHJvbFN0eWxlPy5ib3JkZXJXaWR0aCAsXG4nLS1pbmJ1aWx0LWNhcmQtYm9yZGVyLXJhZGl1cyc6IGZpZWxkKCk/LmNvbnRyb2xTdHlsZT8uYm9yZGVyUmFkaXVzICxcbictLWluYnVpbHQtY2FyZC1iZy1jb2xvcic6IGZpZWxkKCk/LmNvbnRyb2xTdHlsZT8uYmFja2dyb3VuZCAsXG4nLS1pbmJ1aWx0LWNhcmQtd2lkdGgnOiBmaWVsZCgpPy5jb250cm9sU3R5bGU/LndpZHRoICxcbiB9XCJcbiAqbmdJZj1cImZpZWxkKCkgJiYgZmllbGQoKT8uaXNWaXNpYmxlXCJcbj5cbiAgPHAgY2xhc3M9XCJ3LTEwMCB0b3AtYm94XCI+XG4gICAgPHNwYW4gY2xhc3M9XCJ0b3AtYmVuZWZpdC1jYXJkXCI+SW4tYnVpbHQgQmVuZWZpdDwvc3Bhbj5cbiAgPC9wPlxuICA8ZGl2PlxuICAgIDxzcGFuIGNsYXNzPVwicHJlbWl1bS1oZWFkZXJcIiAqbmdJZj1cImZpZWxkKCk/LmNvbmZpZ0RhdGE/LmxhYmVsXCI+e3sgZmllbGQoKT8uY29uZmlnRGF0YT8ubGFiZWwgfX08L3NwYW4+IDxiciAvPlxuICAgIDxzcGFuIGNsYXNzPVwiYmVuZWZpdC10ZXh0IG5vcm1hbC10ZXh0XCIgKm5nSWY9XCJmaWVsZCgpPy5jb25maWdEYXRhPy5zdWJUZXh0XCI+XG4gICAgICB7eyBmaWVsZCgpPy5jb25maWdEYXRhPy5zdWJUZXh0IH19XG4gICAgICA8L3NwYW4+XG4gICAgPGJyIC8+XG4gICAgPHNwYW4gY2xhc3M9XCJwcmVtaXVtXCIgKm5nSWY9XCIhdGhpcy5zZXJ2aWNlLmNoZWNrSWZWYWx1ZUlzRW1wdHkocHJlbWl1bUFtb3VudClcIlxuICAgICAgPjxiPnt7IHByZW1pdW1BbW91bnQgfX08L2I+ICh7eyBwcmVtaXVtQW1vdW50U2hvcnQgfX0pPC9zcGFuXG4gICAgPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cIm0tYXV0b1wiPlxuICAgIDxpbWcgKm5nSWY9XCJmaWVsZCgpPy5pbWFnZVVybFwiIFtzcmNdPVwiZmllbGQoKS5pbWFnZVVybFwiIGFsdD1cIlwiIC8+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW4tYnVpbHQtYmVuZWZpdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXN0ZXItY29udHJvbC9zcmMvbGliL2luLWJ1aWx0LWJlbmVmaXQvaW4tYnVpbHQtYmVuZWZpdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXN0ZXItY29udHJvbC9zcmMvbGliL2luLWJ1aWx0LWJlbmVmaXQvaW4tYnVpbHQtYmVuZWZpdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXhELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDOzs7O0FBU3hGLE1BQU0sT0FBTyx1QkFBdUI7SUFLYjtJQUpyQixLQUFLLEdBQVEsS0FBSyxDQUFDLFFBQVEsRUFBTyxDQUFDO0lBRTFCLGFBQWEsR0FBUSxXQUFXLENBQUM7SUFDakMsa0JBQWtCLEdBQVEsSUFBSSxDQUFDO0lBQ3RDLFlBQW1CLE9BQThCO1FBQTlCLFlBQU8sR0FBUCxPQUFPLENBQXVCO0lBQUcsQ0FBQzt3R0FMNUMsdUJBQXVCOzRGQUF2Qix1QkFBdUIsb2dCQ1pwQyxxa0VBMENBLGl3Q0RsQ1ksWUFBWSx3TkFBRywwQkFBMEI7OzRGQUl4Qyx1QkFBdUI7a0JBUG5DLFNBQVM7K0JBQ0Usc0JBQXNCLGNBQ3BCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRywwQkFBMEIsQ0FBQzt5RkFPM0MsYUFBYTtzQkFBckIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hc3RlckNvbnRyb2xTZXJ2aWNlIH0gZnJvbSAnLi4vbWFzdGVyLWNvbnRyb2wuc2VydmljZSc7XG5pbXBvcnQgeyBDdXN0b21pemVkVG9vbHRpcERpcmVjdGl2ZSB9IGZyb20gJy4uL2RpcmVjdGl2ZXMvY3VzdG9taXplZC50b29sdGlwLmRpcmVjdGl2ZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1pbi1idWlsdC1iZW5lZml0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSAsIEN1c3RvbWl6ZWRUb29sdGlwRGlyZWN0aXZlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2luLWJ1aWx0LWJlbmVmaXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vaW4tYnVpbHQtYmVuZWZpdC5jb21wb25lbnQuY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgSW5CdWlsdEJlbmVmaXRDb21wb25lbnQge1xuICBmaWVsZDogYW55ID0gaW5wdXQucmVxdWlyZWQ8YW55PigpO1xuXG4gIEBJbnB1dCgpIHByZW1pdW1BbW91bnQ6IGFueSA9ICfigrkxLDAwLDAwMCc7XG4gIEBJbnB1dCgpIHByZW1pdW1BbW91bnRTaG9ydDogYW55ID0gJzFMJztcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgc2VydmljZSA6IE1hc3RlckNvbnRyb2xTZXJ2aWNlKSB7fVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwiZC1mbGV4IGluLWJ1aWx0LWNhcmRcIlxuIFtuZ1N0eWxlXT1cIntcbictLWluYnVpbHQtY2FyZC1ib3JkZXItY29sb3InOiBmaWVsZCgpPy5jb250cm9sU3R5bGU/LmJvcmRlckNvbG9yICxcbictLWluYnVpbHQtY2FyZC1ib3JkZXItd2lkdGgnOiBmaWVsZCgpPy5jb250cm9sU3R5bGU/LmJvcmRlcldpZHRoICxcbictLWluYnVpbHQtY2FyZC1ib3JkZXItcmFkaXVzJzogZmllbGQoKT8uY29udHJvbFN0eWxlPy5ib3JkZXJSYWRpdXMgLFxuJy0taW5idWlsdC1jYXJkLWJnLWNvbG9yJzogZmllbGQoKT8uY29udHJvbFN0eWxlPy5iYWNrZ3JvdW5kICxcbictLWluYnVpbHQtY2FyZC13aWR0aCc6IGZpZWxkKCk/LmNvbnRyb2xTdHlsZT8ud2lkdGggLFxuIH1cIlxuICpuZ0lmPVwiZmllbGQoKSAmJiBmaWVsZCgpPy5pc1Zpc2libGVcIlxuPlxuICA8cCBjbGFzcz1cInctMTAwIHRvcC1ib3hcIj5cbiAgICA8c3BhbiBjbGFzcz1cInRvcC1iZW5lZml0LWNhcmRcIj5CZW5lZml0cyBpbiBCcmllZjwvc3Bhbj5cbiAgPC9wPlxuICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLXN0YXJ0IGdhcC0zXCI+XG4gICAgPGltZyAqbmdJZj1cImZpZWxkKCk/LmNvbmZpZ0RhdGE/LmltYWdlVXJsXCIgW3NyY109XCJmaWVsZCgpPy5jb25maWdEYXRhPy5pbWFnZVVybFwiIGFsdD1cIkJlbmVmaXQgSW1hZ2VcIiBjbGFzcz1cImJlbmVmaXQtaW1nXCIgLz5cbiAgICA8ZGl2PlxuICAgICAgPHNwYW4gY2xhc3M9XCJwcmVtaXVtLWhlYWRlclwiICpuZ0lmPVwiZmllbGQoKT8uY29uZmlnRGF0YT8ubGFiZWxcIj57eyBmaWVsZCgpPy5jb25maWdEYXRhPy5sYWJlbCB9fTwvc3Bhbj4gPGJyIC8+XG4gICAgICA8c3BhbiBjbGFzcz1cImJlbmVmaXQtdGV4dCBub3JtYWwtdGV4dFwiICpuZ0lmPVwiZmllbGQoKT8uY29uZmlnRGF0YT8uc3ViVGV4dFwiPlxuICAgICAgICB7eyBmaWVsZCgpPy5jb25maWdEYXRhPy5zdWJUZXh0IH19XG4gICAgICA8L3NwYW4+XG4gICAgICA8ZGl2IGNsYXNzPVwiYnVpdC1pbi1iZW5lZml0LXRleHRcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJiZW5lZml0LXRleHQgbm9ybWFsLXRleHRcIiAqbmdJZj1cImZpZWxkKCk/LmNvbmZpZ0RhdGE/LmJlbmVmaXRwcmVmaXh0ZXh0XCI+IHt7IGZpZWxkKCk/LmNvbmZpZ0RhdGE/LmJlbmVmaXRwcmVmaXh0ZXh0IH19IDwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJoaWdobGlnaHRcIiAqbmdJZj1cImZpZWxkKCk/LmNvbmZpZ0RhdGE/LmJlbmVmaXRIaWdobGlnaHR0ZXh0XCI+e3tmaWVsZCgpPy5jb25maWdEYXRhPy5iZW5lZml0SGlnaGxpZ2h0dGV4dH19XG4gICAgICAgICAgPHNwYW4gW2FwcFRvb2x0aXBUZW1wbGF0ZV09XCJjdXJyZW50VG9vbHRpcFwiIGFycm93UG9zaXRpb249XCJsZWZ0XCIgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCJcbiAgICAgICAgKm5nSWY9XCJmaWVsZCgpLmNvbmZpZ0RhdGE/LmluZm9pbWFnZVVybCAmJiBmaWVsZCgpLmNvbmZpZ0RhdGE/LnRvb2x0aXBUZXh0XCI+XG4gICAgICAgIDxpbWcgW3NyY109XCJmaWVsZCgpLmNvbmZpZ0RhdGE/LmluZm9pbWFnZVVybFwiIGNsYXNzPVwidG9nZ2xlLWltZyBteC0xXCIgLz5cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjY3VycmVudFRvb2x0aXA+XG4gICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwiZmllbGQoKS5jb25maWdEYXRhPy50b29sdGlwVGV4dFwiPjwvc3Bhbj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGJyIC8+XG4gICAgICA8c3BhbiBjbGFzcz1cInByZW1pdW1cIiAqbmdJZj1cIiF0aGlzLnNlcnZpY2UuY2hlY2tJZlZhbHVlSXNFbXB0eShwcmVtaXVtQW1vdW50KVwiPlxuICAgICAgICA8Yj57eyBwcmVtaXVtQW1vdW50IH19PC9iPiAoe3sgcHJlbWl1bUFtb3VudFNob3J0IH19KVxuICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cIm0tYXV0b1wiPlxuICAgIDxpbWcgKm5nSWY9XCJmaWVsZCgpPy5pbWFnZVVybFwiIFtzcmNdPVwiZmllbGQoKS5pbWFnZVVybFwiIGFsdD1cIlwiIC8+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -1253,12 +1253,12 @@ class DobComponent {
1253
1253
  let value = evt.value;
1254
1254
  // Handle case where we have existing dashes but need to reformat
1255
1255
  // Split by dash to understand current structure
1256
- const parts = value.split('-');
1256
+ const parts = value.split('/');
1257
1257
  // If we have exactly 3 parts (date-month-year), don't add more dashes
1258
1258
  if (parts.length < 3) {
1259
1259
  // For first dash after date (2 digits)
1260
- if (value.length > 2 && !value.includes('-')) {
1261
- evt.value = [value.slice(0, 2), '-', value.slice(2)].join('');
1260
+ if (value.length > 2 && !value.includes('/')) {
1261
+ evt.value = [value.slice(0, 2), '/', value.slice(2)].join('');
1262
1262
  }
1263
1263
  // For second dash after month
1264
1264
  else if (parts.length === 2) {
@@ -1267,7 +1267,7 @@ class DobComponent {
1267
1267
  // Add dash after numeric month (exactly 2 digits) or alphabetic month (exactly 3 letters)
1268
1268
  if ((monthPart.length === 2 && /^\d{2}$/.test(monthPart)) ||
1269
1269
  (monthPart.length === 3 && /^[a-zA-Z]{3}$/.test(monthPart))) {
1270
- evt.value = datePart + '-' + monthPart + '-';
1270
+ evt.value = datePart + '/' + monthPart + '/';
1271
1271
  }
1272
1272
  }
1273
1273
  }
@@ -1289,22 +1289,22 @@ class DobComponent {
1289
1289
  if (isEditingDate && datePart.length >= 2) {
1290
1290
  // Trim date part to 2 characters max
1291
1291
  const validDatePart = datePart.substring(0, 2);
1292
- previousValidValue = validDatePart + (parts[1] ? '-' + parts[1] : '') + (parts[2] ? '-' + parts[2] : '');
1292
+ previousValidValue = validDatePart + (parts[1] ? '/' + parts[1] : '') + (parts[2] ? '/' + parts[2] : '');
1293
1293
  }
1294
1294
  else if (isEditingMonth && monthPart.length >= 2 && /^\d+$/.test(monthPart)) {
1295
1295
  // Trim numeric month to 2 characters max
1296
1296
  const validMonthPart = monthPart.substring(0, 2);
1297
- previousValidValue = parts[0] + '-' + validMonthPart + (parts[2] ? '-' + parts[2] : '');
1297
+ previousValidValue = parts[0] + '/' + validMonthPart + (parts[2] ? '/' + parts[2] : '');
1298
1298
  }
1299
1299
  else if (isEditingMonth && monthPart.length >= 3) {
1300
1300
  // Trim alphabetic month to 3 characters max
1301
1301
  const validMonthPart = monthPart.substring(0, 3);
1302
- previousValidValue = parts[0] + '-' + validMonthPart + (parts[2] ? '-' + parts[2] : '');
1302
+ previousValidValue = parts[0] + '/' + validMonthPart + (parts[2] ? '/' + parts[2] : '');
1303
1303
  }
1304
1304
  else if (isEditingYear && yearPart.length >= 4) {
1305
1305
  // Trim year part to 4 characters max
1306
1306
  const validYearPart = yearPart.substring(0, 4);
1307
- previousValidValue = parts[0] + '-' + parts[1] + '-' + validYearPart;
1307
+ previousValidValue = parts[0] + '/' + parts[1] + '/' + validYearPart;
1308
1308
  }
1309
1309
  // Prevent input if trying to exceed limits by restoring previous value
1310
1310
  if ((isEditingDate && datePart.length >= 2) ||
@@ -3749,11 +3749,11 @@ class InBuiltBenefitComponent {
3749
3749
  this.service = service;
3750
3750
  }
3751
3751
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: InBuiltBenefitComponent, deps: [{ token: MasterControlService }], target: i0.ɵɵFactoryTarget.Component });
3752
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: InBuiltBenefitComponent, isStandalone: true, selector: "lib-in-built-benefit", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, premiumAmount: { classPropertyName: "premiumAmount", publicName: "premiumAmount", isSignal: false, isRequired: false, transformFunction: null }, premiumAmountShort: { classPropertyName: "premiumAmountShort", publicName: "premiumAmountShort", isSignal: false, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"d-flex in-built-card\"\n [ngStyle]=\"{\n'--inbuilt-card-border-color': field()?.controlStyle?.borderColor ,\n'--inbuilt-card-border-width': field()?.controlStyle?.borderWidth ,\n'--inbuilt-card-border-radius': field()?.controlStyle?.borderRadius ,\n'--inbuilt-card-bg-color': field()?.controlStyle?.background ,\n'--inbuilt-card-width': field()?.controlStyle?.width ,\n }\"\n *ngIf=\"field() && field()?.isVisible\"\n>\n <p class=\"w-100 top-box\">\n <span class=\"top-benefit-card\">In-built Benefit</span>\n </p>\n <div>\n <span class=\"premium-header\" *ngIf=\"field()?.configData?.label\">{{ field()?.configData?.label }}</span> <br />\n <span class=\"benefit-text normal-text\" *ngIf=\"field()?.configData?.subText\">\n {{ field()?.configData?.subText }}\n </span>\n <br />\n <span class=\"premium\" *ngIf=\"!this.service.checkIfValueIsEmpty(premiumAmount)\"\n ><b>{{ premiumAmount }}</b> ({{ premiumAmountShort }})</span\n >\n </div>\n <div class=\"m-auto\">\n <img *ngIf=\"field()?.imageUrl\" [src]=\"field().imageUrl\" alt=\"\" />\n </div>\n</div>\n", styles: [".in-built-card{max-width:var(--inbuilt-card-width, 100%)!important;min-height:114px;border-radius:var(--inbuilt-card-border-radius, 12px)!important;border:1px solid #0bb68b;border-color:var(--inbuilt-card-border-color, #0bb68b)!important;border-width:var(--inbuilt-card-border-width, 1px)!important;background:var(--inbuilt-card-bg-color, #e6f7f3)!important;padding:12px 16px;position:relative}.premium-header{font-size:14px;font-weight:700;letter-spacing:0px;line-height:18px;color:#444}.benefit-text{font-size:12px;color:#696969;font-weight:700;letter-spacing:0%;line-height:16px}.premium{font-size:12px;padding:4px 16px;border-radius:4px;height:24px;width:113px;background:#fff;color:#444}.normal-text{font-weight:400}.bold-text{font-weight:700}.top-benefit-card{border-radius:25px;background:#fff;border:1px solid #ececec;height:26px;width:114px;padding:0 6px 5px 12px;font-size:12px;font-weight:400;color:#444;letter-spacing:0%;position:absolute;transform:translate(-6em,-2.2em)}.top-box{position:absolute;text-align:center}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
3752
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: InBuiltBenefitComponent, isStandalone: true, selector: "lib-in-built-benefit", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, premiumAmount: { classPropertyName: "premiumAmount", publicName: "premiumAmount", isSignal: false, isRequired: false, transformFunction: null }, premiumAmountShort: { classPropertyName: "premiumAmountShort", publicName: "premiumAmountShort", isSignal: false, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"d-flex in-built-card\"\n [ngStyle]=\"{\n'--inbuilt-card-border-color': field()?.controlStyle?.borderColor ,\n'--inbuilt-card-border-width': field()?.controlStyle?.borderWidth ,\n'--inbuilt-card-border-radius': field()?.controlStyle?.borderRadius ,\n'--inbuilt-card-bg-color': field()?.controlStyle?.background ,\n'--inbuilt-card-width': field()?.controlStyle?.width ,\n }\"\n *ngIf=\"field() && field()?.isVisible\"\n>\n <p class=\"w-100 top-box\">\n <span class=\"top-benefit-card\">Benefits in Brief</span>\n </p>\n <div class=\"d-flex align-items-start gap-3\">\n <img *ngIf=\"field()?.configData?.imageUrl\" [src]=\"field()?.configData?.imageUrl\" alt=\"Benefit Image\" class=\"benefit-img\" />\n <div>\n <span class=\"premium-header\" *ngIf=\"field()?.configData?.label\">{{ field()?.configData?.label }}</span> <br />\n <span class=\"benefit-text normal-text\" *ngIf=\"field()?.configData?.subText\">\n {{ field()?.configData?.subText }}\n </span>\n <div class=\"buit-in-benefit-text\">\n <span class=\"benefit-text normal-text\" *ngIf=\"field()?.configData?.benefitprefixtext\"> {{ field()?.configData?.benefitprefixtext }} </span>\n <span class=\"highlight\" *ngIf=\"field()?.configData?.benefitHighlighttext\">{{field()?.configData?.benefitHighlighttext}}\n <span [appTooltipTemplate]=\"currentTooltip\" arrowPosition=\"left\" tooltipPosition=\"bottom\"\n *ngIf=\"field().configData?.infoimageUrl && field().configData?.tooltipText\">\n <img [src]=\"field().configData?.infoimageUrl\" class=\"toggle-img mx-1\" />\n </span>\n <ng-template #currentTooltip>\n <span [innerHTML]=\"field().configData?.tooltipText\"></span>\n </ng-template>\n </span>\n </div>\n <br />\n <span class=\"premium\" *ngIf=\"!this.service.checkIfValueIsEmpty(premiumAmount)\">\n <b>{{ premiumAmount }}</b> ({{ premiumAmountShort }})\n </span>\n </div>\n </div>\n <div class=\"m-auto\">\n <img *ngIf=\"field()?.imageUrl\" [src]=\"field().imageUrl\" alt=\"\" />\n </div>\n</div>\n", styles: [".in-built-card{max-width:var(--inbuilt-card-width, 100%)!important;min-height:114px;border-radius:var(--inbuilt-card-border-radius, 12px)!important;border:1px solid #0bb68b;border-color:var(--inbuilt-card-border-color, #0bb68b)!important;border-width:var(--inbuilt-card-border-width, 1px)!important;background:var(--inbuilt-card-bg-color, #e6f7f3)!important;padding:12px 16px;position:relative}.premium-header{font-size:14px;font-weight:700;letter-spacing:0px;line-height:18px;color:#444}.benefit-text{font-size:12px;color:#696969;font-weight:700;letter-spacing:0%;line-height:16px}.premium{font-size:12px;padding:4px 16px;border-radius:4px;height:24px;width:113px;background:#fff;color:#444}.normal-text{font-weight:400}.bold-text{font-weight:700}.top-benefit-card{border-radius:25px;background:#fff;border:1px solid #ececec;height:26px;width:114px;padding:0 6px 5px 12px;font-size:12px;font-weight:400;color:#444;letter-spacing:0%;position:absolute;transform:translate(-6em,-2.2em)}.top-box{position:absolute;text-align:center}.buit-in-benefit-text{display:flex;align-items:center;gap:4px;white-space:nowrap}.highlight{color:#444;font-weight:700;font-size:12px;letter-spacing:0px;line-height:18px}.toggle-img{width:12px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: CustomizedTooltipDirective, selector: "[appTooltipTemplate]", inputs: ["appTooltipTemplate"] }] });
3753
3753
  }
3754
3754
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: InBuiltBenefitComponent, decorators: [{
3755
3755
  type: Component,
3756
- args: [{ selector: 'lib-in-built-benefit', standalone: true, imports: [CommonModule], template: "<div class=\"d-flex in-built-card\"\n [ngStyle]=\"{\n'--inbuilt-card-border-color': field()?.controlStyle?.borderColor ,\n'--inbuilt-card-border-width': field()?.controlStyle?.borderWidth ,\n'--inbuilt-card-border-radius': field()?.controlStyle?.borderRadius ,\n'--inbuilt-card-bg-color': field()?.controlStyle?.background ,\n'--inbuilt-card-width': field()?.controlStyle?.width ,\n }\"\n *ngIf=\"field() && field()?.isVisible\"\n>\n <p class=\"w-100 top-box\">\n <span class=\"top-benefit-card\">In-built Benefit</span>\n </p>\n <div>\n <span class=\"premium-header\" *ngIf=\"field()?.configData?.label\">{{ field()?.configData?.label }}</span> <br />\n <span class=\"benefit-text normal-text\" *ngIf=\"field()?.configData?.subText\">\n {{ field()?.configData?.subText }}\n </span>\n <br />\n <span class=\"premium\" *ngIf=\"!this.service.checkIfValueIsEmpty(premiumAmount)\"\n ><b>{{ premiumAmount }}</b> ({{ premiumAmountShort }})</span\n >\n </div>\n <div class=\"m-auto\">\n <img *ngIf=\"field()?.imageUrl\" [src]=\"field().imageUrl\" alt=\"\" />\n </div>\n</div>\n", styles: [".in-built-card{max-width:var(--inbuilt-card-width, 100%)!important;min-height:114px;border-radius:var(--inbuilt-card-border-radius, 12px)!important;border:1px solid #0bb68b;border-color:var(--inbuilt-card-border-color, #0bb68b)!important;border-width:var(--inbuilt-card-border-width, 1px)!important;background:var(--inbuilt-card-bg-color, #e6f7f3)!important;padding:12px 16px;position:relative}.premium-header{font-size:14px;font-weight:700;letter-spacing:0px;line-height:18px;color:#444}.benefit-text{font-size:12px;color:#696969;font-weight:700;letter-spacing:0%;line-height:16px}.premium{font-size:12px;padding:4px 16px;border-radius:4px;height:24px;width:113px;background:#fff;color:#444}.normal-text{font-weight:400}.bold-text{font-weight:700}.top-benefit-card{border-radius:25px;background:#fff;border:1px solid #ececec;height:26px;width:114px;padding:0 6px 5px 12px;font-size:12px;font-weight:400;color:#444;letter-spacing:0%;position:absolute;transform:translate(-6em,-2.2em)}.top-box{position:absolute;text-align:center}\n"] }]
3756
+ args: [{ selector: 'lib-in-built-benefit', standalone: true, imports: [CommonModule, CustomizedTooltipDirective], template: "<div class=\"d-flex in-built-card\"\n [ngStyle]=\"{\n'--inbuilt-card-border-color': field()?.controlStyle?.borderColor ,\n'--inbuilt-card-border-width': field()?.controlStyle?.borderWidth ,\n'--inbuilt-card-border-radius': field()?.controlStyle?.borderRadius ,\n'--inbuilt-card-bg-color': field()?.controlStyle?.background ,\n'--inbuilt-card-width': field()?.controlStyle?.width ,\n }\"\n *ngIf=\"field() && field()?.isVisible\"\n>\n <p class=\"w-100 top-box\">\n <span class=\"top-benefit-card\">Benefits in Brief</span>\n </p>\n <div class=\"d-flex align-items-start gap-3\">\n <img *ngIf=\"field()?.configData?.imageUrl\" [src]=\"field()?.configData?.imageUrl\" alt=\"Benefit Image\" class=\"benefit-img\" />\n <div>\n <span class=\"premium-header\" *ngIf=\"field()?.configData?.label\">{{ field()?.configData?.label }}</span> <br />\n <span class=\"benefit-text normal-text\" *ngIf=\"field()?.configData?.subText\">\n {{ field()?.configData?.subText }}\n </span>\n <div class=\"buit-in-benefit-text\">\n <span class=\"benefit-text normal-text\" *ngIf=\"field()?.configData?.benefitprefixtext\"> {{ field()?.configData?.benefitprefixtext }} </span>\n <span class=\"highlight\" *ngIf=\"field()?.configData?.benefitHighlighttext\">{{field()?.configData?.benefitHighlighttext}}\n <span [appTooltipTemplate]=\"currentTooltip\" arrowPosition=\"left\" tooltipPosition=\"bottom\"\n *ngIf=\"field().configData?.infoimageUrl && field().configData?.tooltipText\">\n <img [src]=\"field().configData?.infoimageUrl\" class=\"toggle-img mx-1\" />\n </span>\n <ng-template #currentTooltip>\n <span [innerHTML]=\"field().configData?.tooltipText\"></span>\n </ng-template>\n </span>\n </div>\n <br />\n <span class=\"premium\" *ngIf=\"!this.service.checkIfValueIsEmpty(premiumAmount)\">\n <b>{{ premiumAmount }}</b> ({{ premiumAmountShort }})\n </span>\n </div>\n </div>\n <div class=\"m-auto\">\n <img *ngIf=\"field()?.imageUrl\" [src]=\"field().imageUrl\" alt=\"\" />\n </div>\n</div>\n", styles: [".in-built-card{max-width:var(--inbuilt-card-width, 100%)!important;min-height:114px;border-radius:var(--inbuilt-card-border-radius, 12px)!important;border:1px solid #0bb68b;border-color:var(--inbuilt-card-border-color, #0bb68b)!important;border-width:var(--inbuilt-card-border-width, 1px)!important;background:var(--inbuilt-card-bg-color, #e6f7f3)!important;padding:12px 16px;position:relative}.premium-header{font-size:14px;font-weight:700;letter-spacing:0px;line-height:18px;color:#444}.benefit-text{font-size:12px;color:#696969;font-weight:700;letter-spacing:0%;line-height:16px}.premium{font-size:12px;padding:4px 16px;border-radius:4px;height:24px;width:113px;background:#fff;color:#444}.normal-text{font-weight:400}.bold-text{font-weight:700}.top-benefit-card{border-radius:25px;background:#fff;border:1px solid #ececec;height:26px;width:114px;padding:0 6px 5px 12px;font-size:12px;font-weight:400;color:#444;letter-spacing:0%;position:absolute;transform:translate(-6em,-2.2em)}.top-box{position:absolute;text-align:center}.buit-in-benefit-text{display:flex;align-items:center;gap:4px;white-space:nowrap}.highlight{color:#444;font-weight:700;font-size:12px;letter-spacing:0px;line-height:18px}.toggle-img{width:12px}\n"] }]
3757
3757
  }], ctorParameters: () => [{ type: MasterControlService }], propDecorators: { premiumAmount: [{
3758
3758
  type: Input
3759
3759
  }], premiumAmountShort: [{