monkey-front-core 0.0.404 → 0.0.406

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.
@@ -1,4 +1,3 @@
1
- /* eslint-disable max-classes-per-file */
2
1
  import * as moment_ from 'moment';
3
2
  import { MonkeyEcxUtils } from './utils';
4
3
  const moment = moment_;
@@ -12,7 +11,7 @@ export class DateValidator {
12
11
  .default(moment.default(control.value).format(dateFormat), ['DD/MM/YYYY', 'MM-DD-YYYY', 'YYYY-MM-DD'], true)
13
12
  .isValid()) {
14
13
  return {
15
- invalidDate: true,
14
+ invalidDate: true
16
15
  };
17
16
  }
18
17
  }
@@ -26,7 +25,7 @@ export class DocumentValidator {
26
25
  if (control && control.value) {
27
26
  if (!MonkeyEcxUtils.isCPFCNPJValid(control.value)) {
28
27
  return {
29
- invalidCpfCnpj: true,
28
+ invalidCpfCnpj: true
30
29
  };
31
30
  }
32
31
  }
@@ -40,7 +39,7 @@ export class DocumentRutValidator {
40
39
  if (control && control.value) {
41
40
  if (!MonkeyEcxUtils.isValidRUT(control.value)) {
42
41
  return {
43
- invalidRut: true,
42
+ invalidRut: true
44
43
  };
45
44
  }
46
45
  }
@@ -54,7 +53,7 @@ export class ZipCodeValidator {
54
53
  if (control && control.value) {
55
54
  if (!MonkeyEcxUtils.isValidZipCode(control.value)) {
56
55
  return {
57
- invalidZipCode: true,
56
+ invalidZipCode: true
58
57
  };
59
58
  }
60
59
  }
@@ -68,7 +67,7 @@ export class ComboValidator {
68
67
  if (control && control.value !== '0')
69
68
  return null;
70
69
  return {
71
- invalidCombo: true,
70
+ invalidCombo: true
72
71
  };
73
72
  }
74
73
  }
@@ -79,7 +78,7 @@ export class isTrueValidator {
79
78
  if (control && control.value !== false)
80
79
  return null;
81
80
  return {
82
- invalidTrue: true,
81
+ invalidTrue: true
83
82
  };
84
83
  }
85
84
  }
@@ -95,7 +94,7 @@ export class PasswordMatchValidation {
95
94
  if (password === passwordConfirm)
96
95
  return null;
97
96
  return {
98
- passwordsNotMatching: true,
97
+ passwordsNotMatching: true
99
98
  };
100
99
  }
101
100
  }
@@ -106,7 +105,7 @@ export class UrlValidator {
106
105
  if (control && control.value) {
107
106
  if (!MonkeyEcxUtils.isValidUrl(control.value)) {
108
107
  return {
109
- invalidUrl: true,
108
+ invalidUrl: true
110
109
  };
111
110
  }
112
111
  }
@@ -132,7 +131,7 @@ export class CustomDatesStartValidator {
132
131
  return null;
133
132
  if (dateStart > dateEnd) {
134
133
  return {
135
- dateStartMustBeLessThanAnd: true,
134
+ dateStartMustBeLessThanAnd: true
136
135
  };
137
136
  }
138
137
  return null;
@@ -157,7 +156,7 @@ export class CustomDatesEndValidator {
157
156
  return null;
158
157
  if (dateEnd < dateStart) {
159
158
  return {
160
- dateEndMustBeGreaterThanStart: true,
159
+ dateEndMustBeGreaterThanStart: true
161
160
  };
162
161
  }
163
162
  return null;
@@ -169,7 +168,7 @@ export class UnlockRegisterBuyerValidator {
169
168
  return null;
170
169
  if (control && control.value !== '#MONKEYBUYER') {
171
170
  return {
172
- invalidUnlockRegister: true,
171
+ invalidUnlockRegister: true
173
172
  };
174
173
  }
175
174
  return null;
@@ -181,7 +180,7 @@ export class UnlockRegisterSponsorValidator {
181
180
  return null;
182
181
  if (control && control.value !== '#MONKEYSPONSOR') {
183
182
  return {
184
- invalidUnlockRegister: true,
183
+ invalidUnlockRegister: true
185
184
  };
186
185
  }
187
186
  return null;
@@ -197,10 +196,10 @@ export class DateRangeValidator {
197
196
  (!MonkeyEcxUtils.persistNullEmptyUndefined(dates.startDate) ||
198
197
  !MonkeyEcxUtils.persistNullEmptyUndefined(dates.endDate))) {
199
198
  return {
200
- invalidDateRange: true,
199
+ invalidDateRange: true
201
200
  };
202
201
  }
203
202
  return null;
204
203
  }
205
204
  }
206
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUtdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29yZS9zcmMvbGliL2NvcmUvdXRpbHMvdmFsaWRhdGUtdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEseUNBQXlDO0FBQ3pDLE9BQU8sS0FBSyxPQUFPLE1BQU0sUUFBUSxDQUFDO0FBRWxDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFekMsTUFBTSxNQUFNLEdBQVEsT0FBTyxDQUFDO0FBRTVCLE1BQU0sT0FBTyxhQUFhO0lBQ3hCLE1BQU0sQ0FBQyxFQUFFLENBQUMsT0FBd0I7UUFDaEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDN0MsSUFBSSxPQUFPLElBQUksT0FBTyxDQUFDLEtBQUssRUFBRTtZQUM1QixNQUFNLFVBQVUsR0FBRyxZQUFZLENBQUM7WUFDaEMsSUFDRSxDQUFDLE1BQU07aUJBQ0osT0FBTyxDQUNOLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsRUFDaEQsQ0FBQyxZQUFZLEVBQUUsWUFBWSxFQUFFLFlBQVksQ0FBQyxFQUMxQyxJQUFJLENBQ0w7aUJBQ0EsT0FBTyxFQUFFLEVBQ1o7Z0JBQ0EsT0FBTztvQkFDTCxXQUFXLEVBQUUsSUFBSTtpQkFDbEIsQ0FBQzthQUNIO1NBQ0Y7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyxpQkFBaUI7SUFDNUIsTUFBTSxDQUFDLEVBQUUsQ0FBQyxPQUF3QjtRQUNoQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFPLElBQUksQ0FBQztRQUM3QyxJQUFJLE9BQU8sSUFBSSxPQUFP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SDtRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLDhCQUE4QjtJQUN6QyxNQUFNLENBQUMsRUFBRSxDQUFDLE9BQXdCO1FBQ2hDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsT0FBTztZQUFFLE9BQU8sSUFBSSxDQUFDO1FBRTdDLElBQUksT0FBTyxJQUFJLE9BQU8sQ0FBQyxLQUFLLEtBQUssZ0JBQWdCLEVBQUU7WUFDakQsT0FBTztnQkFDTCxxQkFBcUIsRUFBRSxJQUFJO2FBQzVCLENBQUM7U0FDSDtRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLGtCQUFrQjtJQUM3QixNQUFNLENBQUMsRUFBRSxDQUFDLE9BQXdCO1FBQ2hDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQy9CLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCxNQUFNLEtBQUssR0FBRyxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxLQUFLLENBQUM7UUFFbkQsSUFDRSxLQUFLO1lBQ0wsQ0FBQyxDQUFDLGNBQWMsQ0FBQyx5QkFBeUIsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDO2dCQUN6RCxDQUFDLGNBQWMsQ0FBQyx5QkFBeUIsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsRUFDM0Q7WUFDQSxPQUFPO2dCQUNMLGdCQUFnQixFQUFFLElBQUk7YUFDdkIsQ0FBQztTQUNIO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBtYXgtY2xhc3Nlcy1wZXItZmlsZSAqL1xyXG5pbXBvcnQgKiBhcyBtb21lbnRfIGZyb20gJ21vbWVudCc7XHJcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTW9ua2V5RWN4VXRpbHMgfSBmcm9tICcuL3V0aWxzJztcclxuXHJcbmNvbnN0IG1vbWVudDogYW55ID0gbW9tZW50XztcclxuXHJcbmV4cG9ydCBjbGFzcyBEYXRlVmFsaWRhdG9yIHtcclxuICBzdGF0aWMgZG8oY29udHJvbDogQWJzdHJhY3RDb250cm9sKSB7XHJcbiAgICBpZiAoIWNvbnRyb2wucGFyZW50IHx8ICFjb250cm9sKSByZXR1cm4gbnVsbDtcclxuICAgIGlmIChjb250cm9sICYmIGNvbnRyb2wudmFsdWUpIHtcclxuICAgICAgY29uc3QgZGF0ZUZvcm1hdCA9ICdNTS1ERC1ZWVlZJztcclxuICAgICAgaWYgKFxyXG4gICAgICAgICFtb21lbnRcclxuICAgICAgICAgIC5kZWZhdWx0KFxyXG4gICAgICAgICAgICBtb21lbnQuZGVmYXVsdChjb250cm9sLnZhbHVlKS5mb3JtYXQoZGF0ZUZvcm1hdCksXHJcbiAgICAgICAgICAgIFsnREQvTU0vWVlZWScsICdNTS1ERC1ZWVlZJywgJ1lZWVktTU0tREQnXSxcclxuICAgICAgICAgICAgdHJ1ZVxyXG4gICAgICAgICAgKVxyXG4gICAgICAgICAgLmlzVmFsaWQoKVxyXG4gICAgICApIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgaW52YWxpZERhdGU6IHRydWUsXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgRG9jdW1lbnRWYWxpZGF0b3Ige1xyXG4gIHN0YXRpYyBkbyhjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpIHtcclxuICAgIGlmICghY29udHJvbC5wYXJlbnQgfHwgIWNvbnRyb2wpIHJldHVybiBudWxsO1xyXG4gICAgaWYgKGNvbnRyb2wgJiYgY29udHJvbC52YWx1ZSkge1xyXG4gICAgICBpZiAoIU1vbmtleUVjeFV0aWxzLmlzQ1BGQ05QSlZhbGlkKGNvbnRyb2wudmFsdWUpKSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIGludmFsaWRDcGZDbnBqOiB0cnVlLFxyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIERvY3VtZW50UnV0VmFsaWRhdG9yIHtcclxuICBzdGF0aWMgZG8oY29udHJvbDogQWJzdHJhY3RDb250cm9sKSB7XHJcbiAgICBpZiAoIWNvbnRyb2wucGFyZW50IHx8ICFjb250cm9sKSByZXR1cm4gbnVsbDtcclxuICAgIGlmIChjb250cm9sICYmIGNvbnRyb2wudmFsdWUpIHtcclxuICAgICAgaWYgKCFNb25rZXlFY3hVdGlscy5pc1ZhbGlkUlVUKGNvbnRyb2wudmFsdWUpKSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIGludmFsaWRSdXQ6IHRydWUsXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgWmlwQ29kZVZhbGlkYXRvciB7XHJcbiAgc3RhdGljIGRvKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCkge1xyXG4gICAgaWYgKCFjb250cm9sLnBhcmVudCB8fCAhY29udHJvbCkgcmV0dXJuIG51bGw7XHJcbiAgICBpZiAoY29udHJvbCAmJiBjb250cm9sLnZhbHVlKSB7XHJcbiAgICAgIGlmICghTW9ua2V5RWN4VXRpbHMuaXNWYWxpZFppcENvZGUoY29udHJvbC52YWx1ZSkpIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgaW52YWxpZFppcENvZGU6IHRydWUsXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgQ29tYm9WYWxpZGF0b3Ige1xyXG4gIHN0YXRpYyBkbyhjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpIHtcclxuICAgIGlmICghY29udHJvbC5wYXJlbnQgfHwgIWNvbnRyb2wpIHJldHVybiBudWxsO1xyXG4gICAgaWYgKGNvbnRyb2wgJiYgY29udHJvbC52YWx1ZSAhPT0gJzAnKSByZXR1cm4gbnVsbDtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIGludmFsaWRDb21ibzogdHJ1ZSxcclxuICAgIH07XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgaXNUcnVlVmFsaWRhdG9yIHtcclxuICBzdGF0aWMgZG8oY29udHJvbDogQWJzdHJhY3RDb250cm9sKSB7XHJcbiAgICBpZiAoIWNvbnRyb2wucGFyZW50IHx8ICFjb250cm9sKSByZXR1cm4gbnVsbDtcclxuICAgIGlmIChjb250cm9sICYmIGNvbnRyb2wudmFsdWUgIT09IGZhbHNlKSByZXR1cm4gbnVsbDtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIGludmFsaWRUcnVlOiB0cnVlLFxyXG4gICAgfTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBQYXNzd29yZE1hdGNoVmFsaWRhdGlvbiB7XHJcbiAgc3RhdGljIGRvKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCkge1xyXG4gICAgaWYgKCFjb250cm9sLnBhcmVudCB8fCAhY29udHJvbCkgcmV0dXJuIG51bGw7XHJcbiAgICBjb25zdCB7IHBhcmVudCB9ID0gY29udHJvbDtcclxuICAgIGNvbnN0IHBhc3N3b3JkID0gcGFyZW50Py5nZXQoJ3Bhc3N3b3JkJyk/LnZhbHVlO1xyXG4gICAgY29uc3QgcGFzc3dvcmRDb25maXJtID0gcGFyZW50Py5nZXQoJ3Bhc3N3b3JkQ29uZmlybScpPy52YWx1ZTtcclxuICAgIGlmICghcGFzc3dvcmQgfHwgIXBhc3N3b3JkQ29uZmlybSkgcmV0dXJuIG51bGw7XHJcbiAgICBpZiAocGFzc3dvcmQgPT09IHBhc3N3b3JkQ29uZmlybSkgcmV0dXJuIG51bGw7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBwYXNzd29yZHNOb3RNYXRjaGluZzogdHJ1ZSxcclxuICAgIH07XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgVXJsVmFsaWRhdG9yIHtcclxuICBzdGF0aWMgZG8oY29udHJvbDogQWJzdHJhY3RDb250cm9sKSB7XHJcbiAgICBpZiAoIWNvbnRyb2wucGFyZW50IHx8ICFjb250cm9sKSByZXR1cm4gbnVsbDtcclxuICAgIGlmIChjb250cm9sICYmIGNvbnRyb2wudmFsdWUpIHtcclxuICAgICAgaWYgKCFNb25rZXlFY3hVdGlscy5pc1ZhbGlkVXJsKGNvbnRyb2wudmFsdWUpKSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIGludmFsaWRVcmw6IHRydWUsXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgQ3VzdG9tRGF0ZXNTdGFydFZhbGlkYXRvciB7XHJcbiAgc3RhdGljIGRvKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCkge1xyXG4gICAgaWYgKCFjb250cm9sLnBhcmVudCB8fCAhY29udHJvbCkgcmV0dXJuIG51bGw7XHJcbiAgICBjb25zdCB7IHBhcmVudCB9ID0gY29udHJvbDtcclxuXHJcbiAgICBjb25zdCB2YWx1ZVN0YXJ0ID0gcGFyZW50Py5nZXQoJ2RhdGVTdGFydCcpPy52YWx1ZTtcclxuICAgIGNvbnN0IHZhbHVlRW5kID0gcGFyZW50Py5nZXQoJ2RhdGVFbmQnKT8udmFsdWU7XHJcbiAgICBsZXQgZGF0ZVN0YXJ0OiBEYXRlIHwgbnVsbCA9IG51bGw7XHJcbiAgICBsZXQgZGF0ZUVuZDogRGF0ZSB8IG51bGwgPSBudWxsO1xyXG4gICAgaWYgKHZhbHVlU3RhcnQpIHtcclxuICAgICAgZGF0ZVN0YXJ0ID0gbmV3IERhdGUodmFsdWVTdGFydCk7XHJcbiAgICB9XHJcbiAgICBpZiAodmFsdWVFbmQpIHtcclxuICAgICAgZGF0ZUVuZCA9IG5ldyBEYXRlKHZhbHVlRW5kKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIWRhdGVTdGFydCB8fCAhZGF0ZUVuZCkgcmV0dXJuIG51bGw7XHJcbiAgICBpZiAoZGF0ZVN0YXJ0ID4gZGF0ZUVuZCkge1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIGRhdGVTdGFydE11c3RCZUxlc3NUaGFuQW5kOiB0cnVlLFxyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgQ3VzdG9tRGF0ZXNFbmRWYWxpZGF0b3Ige1xyXG4gIHN0YXRpYyBkbyhjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpIHtcclxuICAgIGlmICghY29udHJvbC5wYXJlbnQgfHwgIWNvbnRyb2wpIHJldHVybiBudWxsO1xyXG4gICAgY29uc3QgeyBwYXJlbnQgfSA9IGNvbnRyb2w7XHJcblxyXG4gICAgY29uc3QgdmFsdWVTdGFydCA9IHBhcmVudD8uZ2V0KCdkYXRlU3RhcnQnKT8udmFsdWU7XHJcbiAgICBjb25zdCB2YWx1ZUVuZCA9IHBhcmVudD8uZ2V0KCdkYXRlRW5kJyk/LnZhbHVlO1xyXG4gICAgbGV0IGRhdGVTdGFydDogRGF0ZSB8IG51bGwgPSBudWxsO1xyXG4gICAgbGV0IGRhdGVFbmQ6IERhdGUgfCBudWxsID0gbnVsbDtcclxuICAgIGlmICh2YWx1ZVN0YXJ0KSB7XHJcbiAgICAgIGRhdGVTdGFydCA9IG5ldyBEYXRlKHZhbHVlU3RhcnQpO1xyXG4gICAgfVxyXG4gICAgaWYgKHZhbHVlRW5kKSB7XHJcbiAgICAgIGRhdGVFbmQgPSBuZXcgRGF0ZSh2YWx1ZUVuZCk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCFkYXRlRW5kIHx8ICFkYXRlU3RhcnQpIHJldHVybiBudWxsO1xyXG4gICAgaWYgKGRhdGVFbmQgPCBkYXRlU3RhcnQpIHtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBkYXRlRW5kTXVzdEJlR3JlYXRlclRoYW5TdGFydDogdHJ1ZSxcclxuICAgICAgfTtcclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFVubG9ja1JlZ2lzdGVyQnV5ZXJWYWxpZGF0b3Ige1xyXG4gIHN0YXRpYyBkbyhjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpIHtcclxuICAgIGlmICghY29udHJvbC5wYXJlbnQgfHwgIWNvbnRyb2wpIHJldHVybiBudWxsO1xyXG5cclxuICAgIGlmIChjb250cm9sICYmIGNvbnRyb2wudmFsdWUgIT09ICcjTU9OS0VZQlVZRVInKSB7XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgaW52YWxpZFVubG9ja1JlZ2lzdGVyOiB0cnVlLFxyXG4gICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFVubG9ja1JlZ2lzdGVyU3BvbnNvclZhbGlkYXRvciB7XHJcbiAgc3RhdGljIGRvKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCkge1xyXG4gICAgaWYgKCFjb250cm9sLnBhcmVudCB8fCAhY29udHJvbCkgcmV0dXJuIG51bGw7XHJcblxyXG4gICAgaWYgKGNvbnRyb2wgJiYgY29udHJvbC52YWx1ZSAhPT0gJyNNT05LRVlTUE9OU09SJykge1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIGludmFsaWRVbmxvY2tSZWdpc3RlcjogdHJ1ZSxcclxuICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBEYXRlUmFuZ2VWYWxpZGF0b3Ige1xyXG4gIHN0YXRpYyBkbyhjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpIHtcclxuICAgIGlmICghY29udHJvbC5wYXJlbnQgfHwgIWNvbnRyb2wpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgZGF0ZXMgPSBjb250cm9sPy5wYXJlbnQ/LmdldCgnZGF0ZXMnKT8udmFsdWU7XHJcblxyXG4gICAgaWYgKFxyXG4gICAgICBkYXRlcyAmJlxyXG4gICAgICAoIU1vbmtleUVjeFV0aWxzLnBlcnNpc3ROdWxsRW1wdHlVbmRlZmluZWQoZGF0ZXMuc3RhcnREYXRlKSB8fFxyXG4gICAgICAgICFNb25rZXlFY3hVdGlscy5wZXJzaXN0TnVsbEVtcHR5VW5kZWZpbmVkKGRhdGVzLmVuZERhdGUpKVxyXG4gICAgKSB7XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgaW52YWxpZERhdGVSYW5nZTogdHJ1ZSxcclxuICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcbn1cclxuIl19
205
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUtdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29yZS9zcmMvbGliL2NvcmUvdXRpbHMvdmFsaWRhdGUtdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxRQUFRLENBQUM7QUFDbEMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUV6QyxNQUFNLE1BQU0sR0FBUSxPQUFPLENBQUM7QUFFNUIsTUFBTSxPQUFPLGFBQWE7SUFDeEIsTUFBTSxDQUFDLEVBQUUsQ0FBQyxPQUF3QjtRQUNoQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFPLElBQUksQ0FBQztRQUM3QyxJQUFJLE9BQU8sSUFBSSxPQUFPLENBQUMsS0FBSyxFQUFFO1lBQzVCLE1BQU0sVUFBVSxHQUFHLFlBQVksQ0FBQztZQUNoQyxJQUNFLENBQUMsTUFBTTtpQkFDSixPQUFPLENBQ04sTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxFQUNoRCxDQUFDLFlBQVksRUFBRSxZQUFZLEVBQUUsWUFBWSxDQUFDLEVBQzFDLElBQUksQ0FDTDtpQkFDQSxPQUFPLEVBQUUsRUFDWjtnQkFDQSxPQUFPO29CQUNMLFdBQVcsRUFBRSxJQUFJO2lCQUNsQixDQUFDO2FBQ0g7U0FDRjtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLGlCQUFpQjtJQUM1QixNQUFNLENBQUMsRUFBRSxDQUFDLE9BQXdCO1FBQ2hDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsT0FBTztZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQzdDLElBQUksT0FBTyxJQUFJLE9BQU8sQ0FBQyxLQUFLLEVB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QUFJLENBQUM7SUFDZCxDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sOEJBQThCO0lBQ3pDLE1BQU0sQ0FBQyxFQUFFLENBQUMsT0FBd0I7UUFDaEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFFN0MsSUFBSSxPQUFPLElBQUksT0FBTyxDQUFDLEtBQUssS0FBSyxnQkFBZ0IsRUFBRTtZQUNqRCxPQUFPO2dCQUNMLHFCQUFxQixFQUFFLElBQUk7YUFDNUIsQ0FBQztTQUNIO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLE1BQU0sQ0FBQyxFQUFFLENBQUMsT0FBd0I7UUFDaEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDL0IsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELE1BQU0sS0FBSyxHQUFHLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLEtBQUssQ0FBQztRQUVuRCxJQUNFLEtBQUs7WUFDTCxDQUFDLENBQUMsY0FBYyxDQUFDLHlCQUF5QixDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUM7Z0JBQ3pELENBQUMsY0FBYyxDQUFDLHlCQUF5QixDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUMzRDtZQUNBLE9BQU87Z0JBQ0wsZ0JBQWdCLEVBQUUsSUFBSTthQUN2QixDQUFDO1NBQ0g7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG1heC1jbGFzc2VzLXBlci1maWxlICovXG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgKiBhcyBtb21lbnRfIGZyb20gJ21vbWVudCc7XG5pbXBvcnQgeyBNb25rZXlFY3hVdGlscyB9IGZyb20gJy4vdXRpbHMnO1xuXG5jb25zdCBtb21lbnQ6IGFueSA9IG1vbWVudF87XG5cbmV4cG9ydCBjbGFzcyBEYXRlVmFsaWRhdG9yIHtcbiAgc3RhdGljIGRvKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCkge1xuICAgIGlmICghY29udHJvbC5wYXJlbnQgfHwgIWNvbnRyb2wpIHJldHVybiBudWxsO1xuICAgIGlmIChjb250cm9sICYmIGNvbnRyb2wudmFsdWUpIHtcbiAgICAgIGNvbnN0IGRhdGVGb3JtYXQgPSAnTU0tREQtWVlZWSc7XG4gICAgICBpZiAoXG4gICAgICAgICFtb21lbnRcbiAgICAgICAgICAuZGVmYXVsdChcbiAgICAgICAgICAgIG1vbWVudC5kZWZhdWx0KGNvbnRyb2wudmFsdWUpLmZvcm1hdChkYXRlRm9ybWF0KSxcbiAgICAgICAgICAgIFsnREQvTU0vWVlZWScsICdNTS1ERC1ZWVlZJywgJ1lZWVktTU0tREQnXSxcbiAgICAgICAgICAgIHRydWVcbiAgICAgICAgICApXG4gICAgICAgICAgLmlzVmFsaWQoKVxuICAgICAgKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgaW52YWxpZERhdGU6IHRydWVcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIERvY3VtZW50VmFsaWRhdG9yIHtcbiAgc3RhdGljIGRvKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCkge1xuICAgIGlmICghY29udHJvbC5wYXJlbnQgfHwgIWNvbnRyb2wpIHJldHVybiBudWxsO1xuICAgIGlmIChjb250cm9sICYmIGNvbnRyb2wudmFsdWUpIHtcbiAgICAgIGlmICghTW9ua2V5RWN4VXRpbHMuaXNDUEZDTlBKVmFsaWQoY29udHJvbC52YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBpbnZhbGlkQ3BmQ25wajogdHJ1ZVxuICAgICAgICB9O1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgRG9jdW1lbnRSdXRWYWxpZGF0b3Ige1xuICBzdGF0aWMgZG8oY29udHJvbDogQWJzdHJhY3RDb250cm9sKSB7XG4gICAgaWYgKCFjb250cm9sLnBhcmVudCB8fCAhY29udHJvbCkgcmV0dXJuIG51bGw7XG4gICAgaWYgKGNvbnRyb2wgJiYgY29udHJvbC52YWx1ZSkge1xuICAgICAgaWYgKCFNb25rZXlFY3hVdGlscy5pc1ZhbGlkUlVUKGNvbnRyb2wudmFsdWUpKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgaW52YWxpZFJ1dDogdHJ1ZVxuICAgICAgICB9O1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgWmlwQ29kZVZhbGlkYXRvciB7XG4gIHN0YXRpYyBkbyhjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpIHtcbiAgICBpZiAoIWNvbnRyb2wucGFyZW50IHx8ICFjb250cm9sKSByZXR1cm4gbnVsbDtcbiAgICBpZiAoY29udHJvbCAmJiBjb250cm9sLnZhbHVlKSB7XG4gICAgICBpZiAoIU1vbmtleUVjeFV0aWxzLmlzVmFsaWRaaXBDb2RlKGNvbnRyb2wudmFsdWUpKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgaW52YWxpZFppcENvZGU6IHRydWVcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIENvbWJvVmFsaWRhdG9yIHtcbiAgc3RhdGljIGRvKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCkge1xuICAgIGlmICghY29udHJvbC5wYXJlbnQgfHwgIWNvbnRyb2wpIHJldHVybiBudWxsO1xuICAgIGlmIChjb250cm9sICYmIGNvbnRyb2wudmFsdWUgIT09ICcwJykgcmV0dXJuIG51bGw7XG4gICAgcmV0dXJuIHtcbiAgICAgIGludmFsaWRDb21ibzogdHJ1ZVxuICAgIH07XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIGlzVHJ1ZVZhbGlkYXRvciB7XG4gIHN0YXRpYyBkbyhjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpIHtcbiAgICBpZiAoIWNvbnRyb2wucGFyZW50IHx8ICFjb250cm9sKSByZXR1cm4gbnVsbDtcbiAgICBpZiAoY29udHJvbCAmJiBjb250cm9sLnZhbHVlICE9PSBmYWxzZSkgcmV0dXJuIG51bGw7XG4gICAgcmV0dXJuIHtcbiAgICAgIGludmFsaWRUcnVlOiB0cnVlXG4gICAgfTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgUGFzc3dvcmRNYXRjaFZhbGlkYXRpb24ge1xuICBzdGF0aWMgZG8oY29udHJvbDogQWJzdHJhY3RDb250cm9sKSB7XG4gICAgaWYgKCFjb250cm9sLnBhcmVudCB8fCAhY29udHJvbCkgcmV0dXJuIG51bGw7XG4gICAgY29uc3QgeyBwYXJlbnQgfSA9IGNvbnRyb2w7XG4gICAgY29uc3QgcGFzc3dvcmQgPSBwYXJlbnQ/LmdldCgncGFzc3dvcmQnKT8udmFsdWU7XG4gICAgY29uc3QgcGFzc3dvcmRDb25maXJtID0gcGFyZW50Py5nZXQoJ3Bhc3N3b3JkQ29uZmlybScpPy52YWx1ZTtcbiAgICBpZiAoIXBhc3N3b3JkIHx8ICFwYXNzd29yZENvbmZpcm0pIHJldHVybiBudWxsO1xuICAgIGlmIChwYXNzd29yZCA9PT0gcGFzc3dvcmRDb25maXJtKSByZXR1cm4gbnVsbDtcbiAgICByZXR1cm4ge1xuICAgICAgcGFzc3dvcmRzTm90TWF0Y2hpbmc6IHRydWVcbiAgICB9O1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBVcmxWYWxpZGF0b3Ige1xuICBzdGF0aWMgZG8oY29udHJvbDogQWJzdHJhY3RDb250cm9sKSB7XG4gICAgaWYgKCFjb250cm9sLnBhcmVudCB8fCAhY29udHJvbCkgcmV0dXJuIG51bGw7XG4gICAgaWYgKGNvbnRyb2wgJiYgY29udHJvbC52YWx1ZSkge1xuICAgICAgaWYgKCFNb25rZXlFY3hVdGlscy5pc1ZhbGlkVXJsKGNvbnRyb2wudmFsdWUpKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgaW52YWxpZFVybDogdHJ1ZVxuICAgICAgICB9O1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgQ3VzdG9tRGF0ZXNTdGFydFZhbGlkYXRvciB7XG4gIHN0YXRpYyBkbyhjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpIHtcbiAgICBpZiAoIWNvbnRyb2wucGFyZW50IHx8ICFjb250cm9sKSByZXR1cm4gbnVsbDtcbiAgICBjb25zdCB7IHBhcmVudCB9ID0gY29udHJvbDtcblxuICAgIGNvbnN0IHZhbHVlU3RhcnQgPSBwYXJlbnQ/LmdldCgnZGF0ZVN0YXJ0Jyk/LnZhbHVlO1xuICAgIGNvbnN0IHZhbHVlRW5kID0gcGFyZW50Py5nZXQoJ2RhdGVFbmQnKT8udmFsdWU7XG4gICAgbGV0IGRhdGVTdGFydDogRGF0ZSB8IG51bGwgPSBudWxsO1xuICAgIGxldCBkYXRlRW5kOiBEYXRlIHwgbnVsbCA9IG51bGw7XG4gICAgaWYgKHZhbHVlU3RhcnQpIHtcbiAgICAgIGRhdGVTdGFydCA9IG5ldyBEYXRlKHZhbHVlU3RhcnQpO1xuICAgIH1cbiAgICBpZiAodmFsdWVFbmQpIHtcbiAgICAgIGRhdGVFbmQgPSBuZXcgRGF0ZSh2YWx1ZUVuZCk7XG4gICAgfVxuXG4gICAgaWYgKCFkYXRlU3RhcnQgfHwgIWRhdGVFbmQpIHJldHVybiBudWxsO1xuICAgIGlmIChkYXRlU3RhcnQgPiBkYXRlRW5kKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBkYXRlU3RhcnRNdXN0QmVMZXNzVGhhbkFuZDogdHJ1ZVxuICAgICAgfTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEN1c3RvbURhdGVzRW5kVmFsaWRhdG9yIHtcbiAgc3RhdGljIGRvKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCkge1xuICAgIGlmICghY29udHJvbC5wYXJlbnQgfHwgIWNvbnRyb2wpIHJldHVybiBudWxsO1xuICAgIGNvbnN0IHsgcGFyZW50IH0gPSBjb250cm9sO1xuXG4gICAgY29uc3QgdmFsdWVTdGFydCA9IHBhcmVudD8uZ2V0KCdkYXRlU3RhcnQnKT8udmFsdWU7XG4gICAgY29uc3QgdmFsdWVFbmQgPSBwYXJlbnQ/LmdldCgnZGF0ZUVuZCcpPy52YWx1ZTtcbiAgICBsZXQgZGF0ZVN0YXJ0OiBEYXRlIHwgbnVsbCA9IG51bGw7XG4gICAgbGV0IGRhdGVFbmQ6IERhdGUgfCBudWxsID0gbnVsbDtcbiAgICBpZiAodmFsdWVTdGFydCkge1xuICAgICAgZGF0ZVN0YXJ0ID0gbmV3IERhdGUodmFsdWVTdGFydCk7XG4gICAgfVxuICAgIGlmICh2YWx1ZUVuZCkge1xuICAgICAgZGF0ZUVuZCA9IG5ldyBEYXRlKHZhbHVlRW5kKTtcbiAgICB9XG5cbiAgICBpZiAoIWRhdGVFbmQgfHwgIWRhdGVTdGFydCkgcmV0dXJuIG51bGw7XG4gICAgaWYgKGRhdGVFbmQgPCBkYXRlU3RhcnQpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGRhdGVFbmRNdXN0QmVHcmVhdGVyVGhhblN0YXJ0OiB0cnVlXG4gICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgVW5sb2NrUmVnaXN0ZXJCdXllclZhbGlkYXRvciB7XG4gIHN0YXRpYyBkbyhjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpIHtcbiAgICBpZiAoIWNvbnRyb2wucGFyZW50IHx8ICFjb250cm9sKSByZXR1cm4gbnVsbDtcblxuICAgIGlmIChjb250cm9sICYmIGNvbnRyb2wudmFsdWUgIT09ICcjTU9OS0VZQlVZRVInKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpbnZhbGlkVW5sb2NrUmVnaXN0ZXI6IHRydWVcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFVubG9ja1JlZ2lzdGVyU3BvbnNvclZhbGlkYXRvciB7XG4gIHN0YXRpYyBkbyhjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpIHtcbiAgICBpZiAoIWNvbnRyb2wucGFyZW50IHx8ICFjb250cm9sKSByZXR1cm4gbnVsbDtcblxuICAgIGlmIChjb250cm9sICYmIGNvbnRyb2wudmFsdWUgIT09ICcjTU9OS0VZU1BPTlNPUicpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGludmFsaWRVbmxvY2tSZWdpc3RlcjogdHJ1ZVxuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgRGF0ZVJhbmdlVmFsaWRhdG9yIHtcbiAgc3RhdGljIGRvKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCkge1xuICAgIGlmICghY29udHJvbC5wYXJlbnQgfHwgIWNvbnRyb2wpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IGRhdGVzID0gY29udHJvbD8ucGFyZW50Py5nZXQoJ2RhdGVzJyk/LnZhbHVlO1xuXG4gICAgaWYgKFxuICAgICAgZGF0ZXMgJiZcbiAgICAgICghTW9ua2V5RWN4VXRpbHMucGVyc2lzdE51bGxFbXB0eVVuZGVmaW5lZChkYXRlcy5zdGFydERhdGUpIHx8XG4gICAgICAgICFNb25rZXlFY3hVdGlscy5wZXJzaXN0TnVsbEVtcHR5VW5kZWZpbmVkKGRhdGVzLmVuZERhdGUpKVxuICAgICkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaW52YWxpZERhdGVSYW5nZTogdHJ1ZVxuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuIl19
@@ -161,6 +161,16 @@ export function valueGreaterThanZero(control) {
161
161
  }
162
162
  return null;
163
163
  }
164
+ export function requiredWithTrimValidator(control) {
165
+ if (!control.parent || !control)
166
+ return null;
167
+ if (control && !`${control?.value}`.trim()) {
168
+ return {
169
+ required: true
170
+ };
171
+ }
172
+ return null;
173
+ }
164
174
  export class Validators {
165
175
  static email(control) {
166
176
  return emailValidator(control);
@@ -209,5 +219,8 @@ export class Validators {
209
219
  static greaterThanZero(control) {
210
220
  return valueGreaterThanZero(control);
211
221
  }
222
+ static required(control) {
223
+ return requiredWithTrimValidator(control);
224
+ }
212
225
  }
213
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1mcm9udC1jb3JlL3NyYy9saWIvY29yZS91dGlscy92YWxpZGF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxPQUFPLE1BQU0sUUFBUSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFekMsTUFBTSxNQUFNLEdBQVEsT0FBTyxDQUFDO0FBRTVCLE1BQU0sWUFBWSxHQUFHLGtDQUFrQyxDQUFDO0FBRXhELFNBQVMsaUJBQWlCLENBQUMsS0FBVTtJQUNuQyxPQUFPLEtBQUssSUFBSSxJQUFJLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUM7QUFDN0MsQ0FBQztBQUVELE1BQU0sVUFBVSxjQUFjLENBQUMsT0FBd0I7SUFDckQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxPQUFPLElBQUksaUJBQWlCLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQ25FLE9BQU8sSUFBSSxDQUFDO0tBQ2I7SUFDRCxNQUFNLElBQUksR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QyxJQUFJLElBQUk7UUFBRSxPQUFPLElBQUksQ0FBQztJQUN0QixPQUFPO1FBQ0wsS0FBSyxFQUFFLElBQUk7S0FDWixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxPQUF3QjtJQUN6RCxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLE9BQU8sSUFBSSxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDbkUsT0FBTyxJQUFJLENBQUM7S0FDYjtJQUVELE1BQU0sS0FBSyxHQUFHLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFD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QUMsT0FBd0I7UUFDbEMsT0FBTyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBd0I7UUFDbkMsT0FBTyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBd0I7UUFDckMsT0FBTyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQWU7UUFDckMsT0FBTyxDQUFDLE9BQXdCLEVBQTJCLEVBQUU7WUFDM0QsT0FBTyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDNUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsT0FBd0I7UUFDeEMsT0FBTyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsT0FBd0I7UUFDeEMsT0FBTyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBd0I7UUFDbEMsT0FBTyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELE1BQU0sQ0FBQyxlQUFlLENBQUMsT0FBd0I7UUFDN0MsT0FBTyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN2QyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCAqIGFzIG1vbWVudF8gZnJvbSAnbW9tZW50JztcclxuaW1wb3J0IHsgTW9ua2V5RWN4VXRpbHMgfSBmcm9tICcuL3V0aWxzJztcclxuXHJcbmNvbnN0IG1vbWVudDogYW55ID0gbW9tZW50XztcclxuXHJcbmNvbnN0IEVNQUlMX1JFR0VYUCA9IC9eW1xcdy0uXStAKFtcXHctXStcXC4pK1tcXHctXXsxLDY0fSQvO1xyXG5cclxuZnVuY3Rpb24gaXNFbXB0eUlucHV0VmFsdWUodmFsdWU6IGFueSk6IGJvb2xlYW4ge1xyXG4gIHJldHVybiB2YWx1ZSA9PSBudWxsIHx8IHZhbHVlLmxlbmd0aCA9PT0gMDtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGVtYWlsVmFsaWRhdG9yKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcclxuICBpZiAoIWNvbnRyb2wucGFyZW50IHx8ICFjb250cm9sIHx8IGlzRW1wdHlJbnB1dFZhbHVlKGNvbnRyb2wudmFsdWUpKSB7XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcbiAgY29uc3QgdGVzdCA9IEVNQUlMX1JFR0VYUC50ZXN0KGNvbnRyb2wudmFsdWUpO1xyXG4gIGlmICh0ZXN0KSByZXR1cm4gbnVsbDtcclxuICByZXR1cm4ge1xyXG4gICAgZW1haWw6IHRydWVcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZGF0ZVJhbmdlVmFsaWRhdG9yKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcclxuICBpZiAoIWNvbnRyb2wucGFyZW50IHx8ICFjb250cm9sIHx8IGlzRW1wdHlJbnB1dFZhbHVlKGNvbnRyb2wudmFsdWUpKSB7XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIGNvbnN0IGRhdGVzID0gY29udHJvbD8ucGFyZW50Py5nZXQoJ2RhdGVzJyk/LnZhbHVlO1xyXG4gIGlmIChcclxuICAgIGRhdGVzICYmXHJcbiAgICAoIU1vbmtleUVjeFV0aWxzLnBlcnNpc3ROdWxsRW1wdHlVbmRlZmluZWQoZGF0ZXM/LnN0YXJ0RGF0ZSkgfHxcclxuICAgICAgIU1vbmtleUVjeFV0aWxzLnBlcnNpc3ROdWxsRW1wdHlVbmRlZmluZWQoZGF0ZXM/LmVuZERhdGUpKVxyXG4gICkge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgZGF0ZVJhbmdlOiB0cnVlXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIG51bGw7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiByZWdpc3RlclZhbGlkYXRvcihjb250cm9sOiBBYnN0cmFjdENvbnRyb2wsIHR5cGU6IHN0cmluZyk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcclxuICBpZiAoIWNvbnRyb2wucGFyZW50IHx8ICFjb250cm9sIHx8IGlzRW1wdHlJbnB1dFZhbHVlKGNvbnRyb2wudmFsdWUpKSB7XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIGlmIChjb250cm9sICYmIGNvbnRyb2wudmFsdWUgIT09IGAjTU9OS0VZJHt0eXBlfWAudG9VcHBlckNhc2UoKSkge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgaW52YWxpZFVubG9ja1JlZ2lzdGVyOiB0cnVlXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIG51bGw7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBkYXRlU3RhcnRFbmRWYWxpZGF0b3IoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xyXG4gIGlmICghY29udHJvbC5wYXJlbnQgfHwgIWNvbnRyb2wpIHtcclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgY29uc3QgeyBwYXJlbnQgfSA9IGNvbnRyb2w7XHJcblxyXG4gIGNvbnN0IHZhbHVlU3RhcnQgPSBwYXJlbnQ/LmdldCgnZGF0ZVN0YXJ0Jyk/LnZhbHVlO1xyXG4gIGNvbnN0IHZhbHVlRW5kID0gcGFyZW50Py5nZXQoJ2RhdGVFbmQnKT8udmFsdWU7XHJcbiAgbGV0IGRhdGVTdGFydDogRGF0ZSB8IG51bGwgPSBudWxsO1xyXG4gIGxldCBkYXRlRW5kOiBEYXRlIHwgbnVsbCA9IG51bGw7XHJcbiAgaWYgKHZhbHVlU3RhcnQpIHtcclxuICAgIGRhdGVTdGFydCA9IG5ldyBEYXRlKHZhbHVlU3RhcnQpO1xyXG4gIH1cclxuICBpZiAodmFsdWVFbmQpIHtcclxuICAgIGRhdGVFbmQgPSBuZXcgRGF0ZSh2YWx1ZUVuZCk7XHJcbiAgfVxyXG5cclxuICBpZiAoIWRhdGVFbmQgfHwgIWRhdGVTdGFydCkgcmV0dXJuIG51bGw7XHJcbiAgaWYgKGRhdGVTdGFydCA+IGRhdGVFbmQpIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIGRhdGVTdGFydE11c3RCZUxlc3NUaGFuQW5kOiB0cnVlXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIG51bGw7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB1cmxWYWxpZGF0b3IoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xyXG4gIGlmICghY29udHJvbC5wYXJlbnQgfHwgIWNvbnRyb2wgfHwgaXNFbXB0eUlucHV0VmFsdWUoY29udHJvbC52YWx1ZSkpIHJldHVybiBudWxsO1xyXG5cclxuICBpZiAoIU1vbmtleUVjeFV0aWxzLmlzVmFsaWRVcmwoY29udHJvbC52YWx1ZSkpIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIHVybDogdHJ1ZVxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHJldHVybiBudWxsO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gcGFzc3dvcmRDb25maXJtVmFsaWRhdG9yKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcclxuICBpZiAoIWNvbnRyb2wucGFyZW50IHx8ICFjb250cm9sIHx8IGlzRW1wdHlJbnB1dFZhbHVlKGNvbnRyb2wudmFsdWUpKSByZXR1cm4gbnVsbDtcclxuXHJcbiAgY29uc3QgeyBwYXJlbnQgfSA9IGNvbnRyb2w7XHJcbiAgY29uc3QgcGFzc3dvcmQgPSBwYXJlbnQ/LmdldCgncGFzc3dvcmQnKT8udmFsdWU7XHJcbiAgY29uc3QgcGFzc3dvcmRDb25maXJtID0gcGFyZW50Py5nZXQoJ3Bhc3N3b3JkQ29uZmlybScpPy52YWx1ZTtcclxuICBpZiAoIXBhc3N3b3JkIHx8ICFwYXNzd29yZENvbmZpcm0pIHJldHVybiBudWxsO1xyXG4gIGlmIChwYXNzd29yZCA9PT0gcGFzc3dvcmRDb25maXJtKSByZXR1cm4gbnVsbDtcclxuXHJcbiAgcmV0dXJuIHtcclxuICAgIHBhc3N3b3Jkc05vdE1hdGNoaW5nOiB0cnVlXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHRydWVWYWxpZGF0b3IoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xyXG4gIGlmICghY29udHJvbC5wYXJlbnQgfHwgIWNvbnRyb2wpIHJldHVybiBudWxsO1xyXG4gIGlmIChjb250cm9sICYmIGNvbnRyb2wudmFsdWUgIT09IGZhbHNlKSByZXR1cm4gbnVsbDtcclxuXHJcbiAgcmV0dXJuIHtcclxuICAgIGludmFsaWRUcnVlOiB0cnVlXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNvbWJvVmFsaWRhdG9yKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcclxuICBpZiAoIWNvbnRyb2wucGFyZW50IHx8ICFjb250cm9sKSByZXR1cm4gbnVsbDtcclxuICBpZiAoY29udHJvbCAmJiBjb250cm9sLnZhbHVlICE9PSAnMCcpIHJldHVybiBudWxsO1xyXG5cclxuICByZXR1cm4ge1xyXG4gICAgaW52YWxpZENvbWJvOiB0cnVlXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHppcENvZGVWYWxpZGF0b3IoXHJcbiAgY29udHJvbDogQWJzdHJhY3RDb250cm9sLFxyXG4gIGNvdW50cnk/OiBzdHJpbmdcclxuKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xyXG4gIGlmICghY29udHJvbC5wYXJlbnQgfHwgIWNvbnRyb2wgfHwgaXNFbXB0eUlucHV0VmFsdWUoY29udHJvbC52YWx1ZSkpIHJldHVybiBudWxsO1xyXG4gIGlmIChjb250cm9sICYmIGNvbnRyb2wudmFsdWUpIHtcclxuICAgIGlmICghTW9ua2V5RWN4VXRpbHMuaXNWYWxpZFppcENvZGUoY29udHJvbC52YWx1ZSwgY291bnRyeSkpIHtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBpbnZhbGlkWmlwQ29kZTogdHJ1ZVxyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmV0dXJuIG51bGw7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBkb2N1bWVudFZhbGlkYXRvcihcclxuICBjb250cm9sOiBBYnN0cmFjdENvbnRyb2wsXHJcbiAgY291bnRyeTogc3RyaW5nXHJcbik6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcclxuICBpZiAoIWNvbnRyb2wucGFyZW50IHx8ICFjb250cm9sIHx8IGlzRW1wdHlJbnB1dFZhbHVlKGNvbnRyb2wudmFsdWUpKSByZXR1cm4gbnVsbDtcclxuICBpZiAoY291bnRyeSA9PT0gJ0JSJykge1xyXG4gICAgaWYgKCFNb25rZXlFY3hVdGlscy5pc0NQRkNOUEpWYWxpZChjb250cm9sLnZhbHVlKSkge1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIGludmFsaWRDcGZDbnBqOiB0cnVlXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgfSBlbHNlIGlmIChjb3VudHJ5ID09PSAnQ0wnKSB7XHJcbiAgICBpZiAoIU1vbmtleUVjeFV0aWxzLmlzVmFsaWRSVVQoY29udHJvbC52YWx1ZSkpIHtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBpbnZhbGlkQ3BmQ25wajogdHJ1ZVxyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmV0dXJuIG51bGw7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBkYXRlVmFsaWRhdG9yKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcclxuICBpZiAoIWNvbnRyb2wucGFyZW50IHx8ICFjb250cm9sIHx8IGlzRW1wdHlJbnB1dFZhbHVlKGNvbnRyb2wudmFsdWUpKSByZXR1cm4gbnVsbDtcclxuXHJcbiAgY29uc3QgZGF0ZUZvcm1hdCA9ICdNTS1ERC1ZWVlZJztcclxuICBpZiAoXHJcbiAgICAhbW9tZW50XHJcbiAgICAgIC5kZWZhdWx0KFxyXG4gICAgICAgIG1vbWVudC5kZWZhdWx0KGNvbnRyb2wudmFsdWUpLmZvcm1hdChkYXRlRm9ybWF0KSxcclxuICAgICAgICBbJ0REL01NL1lZWVknLCAnTU0tREQtWVlZWScsICdZWVlZLU1NLUREJ10sXHJcbiAgICAgICAgdHJ1ZVxyXG4gICAgICApXHJcbiAgICAgIC5pc1ZhbGlkKClcclxuICApIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIGludmFsaWREYXRlOiB0cnVlXHJcbiAgICB9O1xyXG4gIH1cclxuICByZXR1cm4gbnVsbDtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHZhbHVlR3JlYXRlclRoYW5aZXJvKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcclxuICBpZiAoIWNvbnRyb2wucGFyZW50IHx8ICFjb250cm9sIHx8IGlzRW1wdHlJbnB1dFZhbHVlKGNvbnRyb2wudmFsdWUpKSByZXR1cm4gbnVsbDtcclxuXHJcbiAgaWYgKGNvbnRyb2wgJiYgYCR7Y29udHJvbD8udmFsdWV9YCA9PT0gJzAnKSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBpbnZhbGlkVmFsdWVHcmVhdGVyVGhhblplcm86IHRydWVcclxuICAgIH07XHJcbiAgfVxyXG4gIHJldHVybiBudWxsO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgVmFsaWRhdG9ycyB7XHJcbiAgc3RhdGljIGVtYWlsKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcclxuICAgIHJldHVybiBlbWFpbFZhbGlkYXRvcihjb250cm9sKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBkYXRlUmFuZ2UoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xyXG4gICAgcmV0dXJuIGRhdGVSYW5nZVZhbGlkYXRvcihjb250cm9sKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyB1bmxvY2tTcG9uc29yUmVnaXN0ZXIoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xyXG4gICAgcmV0dXJuIHJlZ2lzdGVyVmFsaWRhdG9yKGNvbnRyb2wsICdzcG9uc29yJyk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgdW5sb2NrQnV5ZXJSZWdpc3Rlcihjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gcmVnaXN0ZXJWYWxpZGF0b3IoY29udHJvbCwgJ2J1eWVyJyk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZGF0ZVN0YXJ0RW5kKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcclxuICAgIHJldHVybiBkYXRlU3RhcnRFbmRWYWxpZGF0b3IoY29udHJvbCk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgdXJsKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcclxuICAgIHJldHVybiB1cmxWYWxpZGF0b3IoY29udHJvbCk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgcGFzc3dvcmRDb25maXJtKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcclxuICAgIHJldHVybiBwYXNzd29yZENvbmZpcm1WYWxpZGF0b3IoY29udHJvbCk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgdHJ1ZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdHJ1ZVZhbGlkYXRvcihjb250cm9sKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBjb21ibyhjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gY29tYm9WYWxpZGF0b3IoY29udHJvbCk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgemlwQ29kZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gemlwQ29kZVZhbGlkYXRvcihjb250cm9sKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyB6aXBDb2RlQnlDb3VudHJ5KGNvdW50cnk6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XHJcbiAgICAgIHJldHVybiB6aXBDb2RlVmFsaWRhdG9yKGNvbnRyb2wsIGNvdW50cnkpO1xyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBkb2N1bWVudEJSKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcclxuICAgIHJldHVybiBkb2N1bWVudFZhbGlkYXRvcihjb250cm9sLCAnQlInKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBkb2N1bWVudENMKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcclxuICAgIHJldHVybiBkb2N1bWVudFZhbGlkYXRvcihjb250cm9sLCAnQ0wnKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBkYXRlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcclxuICAgIHJldHVybiBkYXRlVmFsaWRhdG9yKGNvbnRyb2wpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGdyZWF0ZXJUaGFuWmVybyhjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdmFsdWVHcmVhdGVyVGhhblplcm8oY29udHJvbCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
226
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1mcm9udC1jb3JlL3NyYy9saWIvY29yZS91dGlscy92YWxpZGF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxPQUFPLE1BQU0sUUFBUSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFekMsTUFBTSxNQUFNLEdBQVEsT0FBTyxDQUFDO0FBRTVCLE1BQU0sWUFBWSxHQUFHLGtDQUFrQyxDQUFDO0FBRXhELFNBQVMsaUJBQWlCLENBQUMsS0FBVTtJQUNuQyxPQUFPLEtBQUssSUFBSSxJQUFJLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUM7QUFDN0MsQ0FBQztBQUVELE1BQU0sVUFBVSxjQUFjLENBQUMsT0FBd0I7SUFDckQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxPQUFPLElBQUksaUJBQWlCLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQ25FLE9BQU8sSUFBSSxDQUFDO0tBQ2I7SUFDRCxNQUFNLElBQUksR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QyxJQUFJLElBQUk7UUFBRSxPQUFPLElBQUksQ0FBQztJQUN0QixPQUFPO1FBQ0wsS0FBSyxFQUFFLElBQUk7S0FDWixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxPQUF3QjtJQUN6RCxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLE9BQU8sSUFBSSxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDbkUsT0FBTyxJQUFJLENBQUM7S0FDYjtJQUVELE1BQU0sS0FBSyxHQUFHLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFD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QkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxPQUF3QjtRQUN0QyxPQUFPLHlCQUF5QixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzVDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCAqIGFzIG1vbWVudF8gZnJvbSAnbW9tZW50JztcbmltcG9ydCB7IE1vbmtleUVjeFV0aWxzIH0gZnJvbSAnLi91dGlscyc7XG5cbmNvbnN0IG1vbWVudDogYW55ID0gbW9tZW50XztcblxuY29uc3QgRU1BSUxfUkVHRVhQID0gL15bXFx3LS5dK0AoW1xcdy1dK1xcLikrW1xcdy1dezEsNjR9JC87XG5cbmZ1bmN0aW9uIGlzRW1wdHlJbnB1dFZhbHVlKHZhbHVlOiBhbnkpOiBib29sZWFuIHtcbiAgcmV0dXJuIHZhbHVlID09IG51bGwgfHwgdmFsdWUubGVuZ3RoID09PSAwO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZW1haWxWYWxpZGF0b3IoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICBpZiAoIWNvbnRyb2wucGFyZW50IHx8ICFjb250cm9sIHx8IGlzRW1wdHlJbnB1dFZhbHVlKGNvbnRyb2wudmFsdWUpKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgY29uc3QgdGVzdCA9IEVNQUlMX1JFR0VYUC50ZXN0KGNvbnRyb2wudmFsdWUpO1xuICBpZiAodGVzdCkgcmV0dXJuIG51bGw7XG4gIHJldHVybiB7XG4gICAgZW1haWw6IHRydWVcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRhdGVSYW5nZVZhbGlkYXRvcihjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gIGlmICghY29udHJvbC5wYXJlbnQgfHwgIWNvbnRyb2wgfHwgaXNFbXB0eUlucHV0VmFsdWUoY29udHJvbC52YWx1ZSkpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IGRhdGVzID0gY29udHJvbD8ucGFyZW50Py5nZXQoJ2RhdGVzJyk/LnZhbHVlO1xuICBpZiAoXG4gICAgZGF0ZXMgJiZcbiAgICAoIU1vbmtleUVjeFV0aWxzLnBlcnNpc3ROdWxsRW1wdHlVbmRlZmluZWQoZGF0ZXM/LnN0YXJ0RGF0ZSkgfHxcbiAgICAgICFNb25rZXlFY3hVdGlscy5wZXJzaXN0TnVsbEVtcHR5VW5kZWZpbmVkKGRhdGVzPy5lbmREYXRlKSlcbiAgKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGRhdGVSYW5nZTogdHJ1ZVxuICAgIH07XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlZ2lzdGVyVmFsaWRhdG9yKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCwgdHlwZTogc3RyaW5nKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICBpZiAoIWNvbnRyb2wucGFyZW50IHx8ICFjb250cm9sIHx8IGlzRW1wdHlJbnB1dFZhbHVlKGNvbnRyb2wudmFsdWUpKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBpZiAoY29udHJvbCAmJiBjb250cm9sLnZhbHVlICE9PSBgI01PTktFWSR7dHlwZX1gLnRvVXBwZXJDYXNlKCkpIHtcbiAgICByZXR1cm4ge1xuICAgICAgaW52YWxpZFVubG9ja1JlZ2lzdGVyOiB0cnVlXG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGF0ZVN0YXJ0RW5kVmFsaWRhdG9yKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgaWYgKCFjb250cm9sLnBhcmVudCB8fCAhY29udHJvbCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY29uc3QgeyBwYXJlbnQgfSA9IGNvbnRyb2w7XG5cbiAgY29uc3QgdmFsdWVTdGFydCA9IHBhcmVudD8uZ2V0KCdkYXRlU3RhcnQnKT8udmFsdWU7XG4gIGNvbnN0IHZhbHVlRW5kID0gcGFyZW50Py5nZXQoJ2RhdGVFbmQnKT8udmFsdWU7XG4gIGxldCBkYXRlU3RhcnQ6IERhdGUgfCBudWxsID0gbnVsbDtcbiAgbGV0IGRhdGVFbmQ6IERhdGUgfCBudWxsID0gbnVsbDtcbiAgaWYgKHZhbHVlU3RhcnQpIHtcbiAgICBkYXRlU3RhcnQgPSBuZXcgRGF0ZSh2YWx1ZVN0YXJ0KTtcbiAgfVxuICBpZiAodmFsdWVFbmQpIHtcbiAgICBkYXRlRW5kID0gbmV3IERhdGUodmFsdWVFbmQpO1xuICB9XG5cbiAgaWYgKCFkYXRlRW5kIHx8ICFkYXRlU3RhcnQpIHJldHVybiBudWxsO1xuICBpZiAoZGF0ZVN0YXJ0ID4gZGF0ZUVuZCkge1xuICAgIHJldHVybiB7XG4gICAgICBkYXRlU3RhcnRNdXN0QmVMZXNzVGhhbkFuZDogdHJ1ZVxuICAgIH07XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVybFZhbGlkYXRvcihjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gIGlmICghY29udHJvbC5wYXJlbnQgfHwgIWNvbnRyb2wgfHwgaXNFbXB0eUlucHV0VmFsdWUoY29udHJvbC52YWx1ZSkpIHJldHVybiBudWxsO1xuXG4gIGlmICghTW9ua2V5RWN4VXRpbHMuaXNWYWxpZFVybChjb250cm9sLnZhbHVlKSkge1xuICAgIHJldHVybiB7XG4gICAgICB1cmw6IHRydWVcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXNzd29yZENvbmZpcm1WYWxpZGF0b3IoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICBpZiAoIWNvbnRyb2wucGFyZW50IHx8ICFjb250cm9sIHx8IGlzRW1wdHlJbnB1dFZhbHVlKGNvbnRyb2wudmFsdWUpKSByZXR1cm4gbnVsbDtcblxuICBjb25zdCB7IHBhcmVudCB9ID0gY29udHJvbDtcbiAgY29uc3QgcGFzc3dvcmQgPSBwYXJlbnQ/LmdldCgncGFzc3dvcmQnKT8udmFsdWU7XG4gIGNvbnN0IHBhc3N3b3JkQ29uZmlybSA9IHBhcmVudD8uZ2V0KCdwYXNzd29yZENvbmZpcm0nKT8udmFsdWU7XG4gIGlmICghcGFzc3dvcmQgfHwgIXBhc3N3b3JkQ29uZmlybSkgcmV0dXJuIG51bGw7XG4gIGlmIChwYXNzd29yZCA9PT0gcGFzc3dvcmRDb25maXJtKSByZXR1cm4gbnVsbDtcblxuICByZXR1cm4ge1xuICAgIHBhc3N3b3Jkc05vdE1hdGNoaW5nOiB0cnVlXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cnVlVmFsaWRhdG9yKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgaWYgKCFjb250cm9sLnBhcmVudCB8fCAhY29udHJvbCkgcmV0dXJuIG51bGw7XG4gIGlmIChjb250cm9sICYmIGNvbnRyb2wudmFsdWUgIT09IGZhbHNlKSByZXR1cm4gbnVsbDtcblxuICByZXR1cm4ge1xuICAgIGludmFsaWRUcnVlOiB0cnVlXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb21ib1ZhbGlkYXRvcihjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gIGlmICghY29udHJvbC5wYXJlbnQgfHwgIWNvbnRyb2wpIHJldHVybiBudWxsO1xuICBpZiAoY29udHJvbCAmJiBjb250cm9sLnZhbHVlICE9PSAnMCcpIHJldHVybiBudWxsO1xuXG4gIHJldHVybiB7XG4gICAgaW52YWxpZENvbWJvOiB0cnVlXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB6aXBDb2RlVmFsaWRhdG9yKFxuICBjb250cm9sOiBBYnN0cmFjdENvbnRyb2wsXG4gIGNvdW50cnk/OiBzdHJpbmdcbik6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgaWYgKCFjb250cm9sLnBhcmVudCB8fCAhY29udHJvbCB8fCBpc0VtcHR5SW5wdXRWYWx1ZShjb250cm9sLnZhbHVlKSkgcmV0dXJuIG51bGw7XG4gIGlmIChjb250cm9sICYmIGNvbnRyb2wudmFsdWUpIHtcbiAgICBpZiAoIU1vbmtleUVjeFV0aWxzLmlzVmFsaWRaaXBDb2RlKGNvbnRyb2wudmFsdWUsIGNvdW50cnkpKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpbnZhbGlkWmlwQ29kZTogdHJ1ZVxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRvY3VtZW50VmFsaWRhdG9yKFxuICBjb250cm9sOiBBYnN0cmFjdENvbnRyb2wsXG4gIGNvdW50cnk6IHN0cmluZ1xuKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICBpZiAoIWNvbnRyb2wucGFyZW50IHx8ICFjb250cm9sIHx8IGlzRW1wdHlJbnB1dFZhbHVlKGNvbnRyb2wudmFsdWUpKSByZXR1cm4gbnVsbDtcbiAgaWYgKGNvdW50cnkgPT09ICdCUicpIHtcbiAgICBpZiAoIU1vbmtleUVjeFV0aWxzLmlzQ1BGQ05QSlZhbGlkKGNvbnRyb2wudmFsdWUpKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpbnZhbGlkQ3BmQ25wajogdHJ1ZVxuICAgICAgfTtcbiAgICB9XG4gIH0gZWxzZSBpZiAoY291bnRyeSA9PT0gJ0NMJykge1xuICAgIGlmICghTW9ua2V5RWN4VXRpbHMuaXNWYWxpZFJVVChjb250cm9sLnZhbHVlKSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaW52YWxpZENwZkNucGo6IHRydWVcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkYXRlVmFsaWRhdG9yKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgaWYgKCFjb250cm9sLnBhcmVudCB8fCAhY29udHJvbCB8fCBpc0VtcHR5SW5wdXRWYWx1ZShjb250cm9sLnZhbHVlKSkgcmV0dXJuIG51bGw7XG5cbiAgY29uc3QgZGF0ZUZvcm1hdCA9ICdNTS1ERC1ZWVlZJztcbiAgaWYgKFxuICAgICFtb21lbnRcbiAgICAgIC5kZWZhdWx0KFxuICAgICAgICBtb21lbnQuZGVmYXVsdChjb250cm9sLnZhbHVlKS5mb3JtYXQoZGF0ZUZvcm1hdCksXG4gICAgICAgIFsnREQvTU0vWVlZWScsICdNTS1ERC1ZWVlZJywgJ1lZWVktTU0tREQnXSxcbiAgICAgICAgdHJ1ZVxuICAgICAgKVxuICAgICAgLmlzVmFsaWQoKVxuICApIHtcbiAgICByZXR1cm4ge1xuICAgICAgaW52YWxpZERhdGU6IHRydWVcbiAgICB9O1xuICB9XG4gIHJldHVybiBudWxsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsdWVHcmVhdGVyVGhhblplcm8oY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICBpZiAoIWNvbnRyb2wucGFyZW50IHx8ICFjb250cm9sIHx8IGlzRW1wdHlJbnB1dFZhbHVlKGNvbnRyb2wudmFsdWUpKSByZXR1cm4gbnVsbDtcblxuICBpZiAoY29udHJvbCAmJiBgJHtjb250cm9sPy52YWx1ZX1gID09PSAnMCcpIHtcbiAgICByZXR1cm4ge1xuICAgICAgaW52YWxpZFZhbHVlR3JlYXRlclRoYW5aZXJvOiB0cnVlXG4gICAgfTtcbiAgfVxuICByZXR1cm4gbnVsbDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlcXVpcmVkV2l0aFRyaW1WYWxpZGF0b3IoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICBpZiAoIWNvbnRyb2wucGFyZW50IHx8ICFjb250cm9sKSByZXR1cm4gbnVsbDtcblxuICBpZiAoY29udHJvbCAmJiAhYCR7Y29udHJvbD8udmFsdWV9YC50cmltKCkpIHtcbiAgICByZXR1cm4ge1xuICAgICAgcmVxdWlyZWQ6IHRydWVcbiAgICB9O1xuICB9XG4gIHJldHVybiBudWxsO1xufVxuXG5leHBvcnQgY2xhc3MgVmFsaWRhdG9ycyB7XG4gIHN0YXRpYyBlbWFpbChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgcmV0dXJuIGVtYWlsVmFsaWRhdG9yKGNvbnRyb2wpO1xuICB9XG5cbiAgc3RhdGljIGRhdGVSYW5nZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgcmV0dXJuIGRhdGVSYW5nZVZhbGlkYXRvcihjb250cm9sKTtcbiAgfVxuXG4gIHN0YXRpYyB1bmxvY2tTcG9uc29yUmVnaXN0ZXIoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIHJldHVybiByZWdpc3RlclZhbGlkYXRvcihjb250cm9sLCAnc3BvbnNvcicpO1xuICB9XG5cbiAgc3RhdGljIHVubG9ja0J1eWVyUmVnaXN0ZXIoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIHJldHVybiByZWdpc3RlclZhbGlkYXRvcihjb250cm9sLCAnYnV5ZXInKTtcbiAgfVxuXG4gIHN0YXRpYyBkYXRlU3RhcnRFbmQoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIHJldHVybiBkYXRlU3RhcnRFbmRWYWxpZGF0b3IoY29udHJvbCk7XG4gIH1cblxuICBzdGF0aWMgdXJsKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICByZXR1cm4gdXJsVmFsaWRhdG9yKGNvbnRyb2wpO1xuICB9XG5cbiAgc3RhdGljIHBhc3N3b3JkQ29uZmlybShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgcmV0dXJuIHBhc3N3b3JkQ29uZmlybVZhbGlkYXRvcihjb250cm9sKTtcbiAgfVxuXG4gIHN0YXRpYyB0cnVlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICByZXR1cm4gdHJ1ZVZhbGlkYXRvcihjb250cm9sKTtcbiAgfVxuXG4gIHN0YXRpYyBjb21ibyhjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgcmV0dXJuIGNvbWJvVmFsaWRhdG9yKGNvbnRyb2wpO1xuICB9XG5cbiAgc3RhdGljIHppcENvZGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIHJldHVybiB6aXBDb2RlVmFsaWRhdG9yKGNvbnRyb2wpO1xuICB9XG5cbiAgc3RhdGljIHppcENvZGVCeUNvdW50cnkoY291bnRyeTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XG4gICAgICByZXR1cm4gemlwQ29kZVZhbGlkYXRvcihjb250cm9sLCBjb3VudHJ5KTtcbiAgICB9O1xuICB9XG5cbiAgc3RhdGljIGRvY3VtZW50QlIoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIHJldHVybiBkb2N1bWVudFZhbGlkYXRvcihjb250cm9sLCAnQlInKTtcbiAgfVxuXG4gIHN0YXRpYyBkb2N1bWVudENMKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICByZXR1cm4gZG9jdW1lbnRWYWxpZGF0b3IoY29udHJvbCwgJ0NMJyk7XG4gIH1cblxuICBzdGF0aWMgZGF0ZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgcmV0dXJuIGRhdGVWYWxpZGF0b3IoY29udHJvbCk7XG4gIH1cblxuICBzdGF0aWMgZ3JlYXRlclRoYW5aZXJvKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICByZXR1cm4gdmFsdWVHcmVhdGVyVGhhblplcm8oY29udHJvbCk7XG4gIH1cblxuICBzdGF0aWMgcmVxdWlyZWQoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIHJldHVybiByZXF1aXJlZFdpdGhUcmltVmFsaWRhdG9yKGNvbnRyb2wpO1xuICB9XG59XG4iXX0=
@@ -807,7 +807,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
807
807
  }]
808
808
  }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
809
809
 
810
- /* eslint-disable max-classes-per-file */
811
810
  const moment$3 = moment_;
812
811
  class DateValidator {
813
812
  static do(control) {
@@ -819,7 +818,7 @@ class DateValidator {
819
818
  .default(moment$3.default(control.value).format(dateFormat), ['DD/MM/YYYY', 'MM-DD-YYYY', 'YYYY-MM-DD'], true)
820
819
  .isValid()) {
821
820
  return {
822
- invalidDate: true,
821
+ invalidDate: true
823
822
  };
824
823
  }
825
824
  }
@@ -833,7 +832,7 @@ class DocumentValidator {
833
832
  if (control && control.value) {
834
833
  if (!MonkeyEcxUtils.isCPFCNPJValid(control.value)) {
835
834
  return {
836
- invalidCpfCnpj: true,
835
+ invalidCpfCnpj: true
837
836
  };
838
837
  }
839
838
  }
@@ -847,7 +846,7 @@ class DocumentRutValidator {
847
846
  if (control && control.value) {
848
847
  if (!MonkeyEcxUtils.isValidRUT(control.value)) {
849
848
  return {
850
- invalidRut: true,
849
+ invalidRut: true
851
850
  };
852
851
  }
853
852
  }
@@ -861,7 +860,7 @@ class ZipCodeValidator {
861
860
  if (control && control.value) {
862
861
  if (!MonkeyEcxUtils.isValidZipCode(control.value)) {
863
862
  return {
864
- invalidZipCode: true,
863
+ invalidZipCode: true
865
864
  };
866
865
  }
867
866
  }
@@ -875,7 +874,7 @@ class ComboValidator {
875
874
  if (control && control.value !== '0')
876
875
  return null;
877
876
  return {
878
- invalidCombo: true,
877
+ invalidCombo: true
879
878
  };
880
879
  }
881
880
  }
@@ -886,7 +885,7 @@ class isTrueValidator {
886
885
  if (control && control.value !== false)
887
886
  return null;
888
887
  return {
889
- invalidTrue: true,
888
+ invalidTrue: true
890
889
  };
891
890
  }
892
891
  }
@@ -903,7 +902,7 @@ class PasswordMatchValidation {
903
902
  if (password === passwordConfirm)
904
903
  return null;
905
904
  return {
906
- passwordsNotMatching: true,
905
+ passwordsNotMatching: true
907
906
  };
908
907
  }
909
908
  }
@@ -914,7 +913,7 @@ class UrlValidator {
914
913
  if (control && control.value) {
915
914
  if (!MonkeyEcxUtils.isValidUrl(control.value)) {
916
915
  return {
917
- invalidUrl: true,
916
+ invalidUrl: true
918
917
  };
919
918
  }
920
919
  }
@@ -941,7 +940,7 @@ class CustomDatesStartValidator {
941
940
  return null;
942
941
  if (dateStart > dateEnd) {
943
942
  return {
944
- dateStartMustBeLessThanAnd: true,
943
+ dateStartMustBeLessThanAnd: true
945
944
  };
946
945
  }
947
946
  return null;
@@ -967,7 +966,7 @@ class CustomDatesEndValidator {
967
966
  return null;
968
967
  if (dateEnd < dateStart) {
969
968
  return {
970
- dateEndMustBeGreaterThanStart: true,
969
+ dateEndMustBeGreaterThanStart: true
971
970
  };
972
971
  }
973
972
  return null;
@@ -979,7 +978,7 @@ class UnlockRegisterBuyerValidator {
979
978
  return null;
980
979
  if (control && control.value !== '#MONKEYBUYER') {
981
980
  return {
982
- invalidUnlockRegister: true,
981
+ invalidUnlockRegister: true
983
982
  };
984
983
  }
985
984
  return null;
@@ -991,7 +990,7 @@ class UnlockRegisterSponsorValidator {
991
990
  return null;
992
991
  if (control && control.value !== '#MONKEYSPONSOR') {
993
992
  return {
994
- invalidUnlockRegister: true,
993
+ invalidUnlockRegister: true
995
994
  };
996
995
  }
997
996
  return null;
@@ -1008,7 +1007,7 @@ class DateRangeValidator {
1008
1007
  (!MonkeyEcxUtils.persistNullEmptyUndefined(dates.startDate) ||
1009
1008
  !MonkeyEcxUtils.persistNullEmptyUndefined(dates.endDate))) {
1010
1009
  return {
1011
- invalidDateRange: true,
1010
+ invalidDateRange: true
1012
1011
  };
1013
1012
  }
1014
1013
  return null;
@@ -1239,6 +1238,16 @@ function valueGreaterThanZero(control) {
1239
1238
  }
1240
1239
  return null;
1241
1240
  }
1241
+ function requiredWithTrimValidator(control) {
1242
+ if (!control.parent || !control)
1243
+ return null;
1244
+ if (control && !`${control === null || control === void 0 ? void 0 : control.value}`.trim()) {
1245
+ return {
1246
+ required: true
1247
+ };
1248
+ }
1249
+ return null;
1250
+ }
1242
1251
  class Validators {
1243
1252
  static email(control) {
1244
1253
  return emailValidator(control);
@@ -1287,6 +1296,9 @@ class Validators {
1287
1296
  static greaterThanZero(control) {
1288
1297
  return valueGreaterThanZero(control);
1289
1298
  }
1299
+ static required(control) {
1300
+ return requiredWithTrimValidator(control);
1301
+ }
1290
1302
  }
1291
1303
 
1292
1304
  /* eslint-disable object-curly-newline */
@@ -5740,5 +5752,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
5740
5752
  * Generated bundle index. Do not edit.
5741
5753
  */
5742
5754
 
5743
- export { AlertsComponent, AlertsModule, ClosedToMaintenanceComponent, ClosedToMaintenanceModule, CurrencyConfigComponent, CurrencyConfigModule, decoratorsUtils as DecoratorsUtils, Link, MonkeyEcxAlertsService, MonkeyEcxAuthGuard, MonkeyEcxAuthGuardByRole, MonkeyEcxAuthGuardCompany, MonkeyEcxAuthGuardLogin, MonkeyEcxAuthenticationService, MonkeyEcxBlobSecurePipe, MonkeyEcxCommonsService, MonkeyEcxConfigModule, MonkeyEcxConfigService, MonkeyEcxCookieStorageService, MonkeyEcxCoreCharts, MonkeyEcxCoreClearDecorators, MonkeyEcxCoreLog, MonkeyEcxCoreService, MonkeyEcxCoreServiceConstructor, MonkeyEcxCoreServicePaged, MonkeyEcxCoreServiceQueue, MonkeyEcxCurrencyConfigService, MonkeyEcxDirectivesModule, MonkeyEcxDiscoveryParamsService, MonkeyEcxDisplayFirstNamePipe, MonkeyEcxDisplayInitialsPipe, MonkeyEcxDisplaySupportPhone, MonkeyEcxDragDropDirective, MonkeyEcxErrorConfigService, MonkeyEcxErrorHandlingModule, MonkeyEcxErrorHandlingService, MonkeyEcxFeatureByProgramDirective, MonkeyEcxFeatureDirective, MonkeyEcxFeatureToggleService, MonkeyEcxFormatAddressPipe, MonkeyEcxFormatBeaufityJSONPipe, MonkeyEcxFormatCurrency, MonkeyEcxFormatCurrencyPipe, MonkeyEcxFormatDateGroupPipe, MonkeyEcxFormatDateTimelapsePipe, MonkeyEcxFormatDateUnixTimelapsePipe, MonkeyEcxFormatDocumentPipe, MonkeyEcxFormatDocumentTypePipe, MonkeyEcxFormatNumberPipe, MonkeyEcxFormatPhonePipe, MonkeyEcxFormatSizePipe, MonkeyEcxFormatTaxPipe, MonkeyEcxFormatUpper, MonkeyEcxFormatValue, MonkeyEcxFormatZipCodePipe, MonkeyEcxHandlingService, MonkeyEcxHttpConfigErrorInterceptor, MonkeyEcxHttpConfigHeaderInterceptor, MonkeyEcxHttpConfigInterceptorModule, MonkeyEcxHttpConfigLoadingInProgressInterceptor, MonkeyEcxHttpConfigQueueInterceptor, MonkeyEcxHttpErrorHandlingService, MonkeyEcxLoggedHandlingService, MonkeyEcxLogsConfigService, MonkeyEcxMaintenanceConfigService, MonkeyEcxModel, MonkeyEcxOnlyAlphaNumericDirective, MonkeyEcxOnlyNumbersDirective, MonkeyEcxOthersErrorsHandlingService, MonkeyEcxPaginationService, MonkeyEcxPipesModule, MonkeyEcxPopoverDirective, MonkeyEcxPopoverOptionsDirective, MonkeyEcxProgressBarComponent, MonkeyEcxProgressBarModule, MonkeyEcxProgressBarService, MonkeyEcxRequestDownloadHandlingService, MonkeyEcxRequestDownloadedHandlingService, MonkeyEcxRequestPagedHandling, MonkeyEcxRequestQueueHandlingService, MonkeyEcxRequestQueueModalHandlingService, MonkeyEcxRequestScheduleService, MonkeyEcxSecurityConsoleConfigService, MonkeyEcxSecurityDirective, MonkeyEcxService, MonkeyEcxServiceDownload, MonkeyEcxServiceUpload, MonkeyEcxServiceWorkerConfigService, MonkeyEcxSpecificationSearch, MonkeyEcxTextTruncatePipe, MonkeyEcxTokenStorageService, MonkeyEcxTooltipDirective, MonkeyEcxTruncateQtdPipe, MonkeyEcxUtils, MonkeyEcxi18nConfigService, MonkeyFrontCoreModule, OpSearch, POPOVER_OPTIONS, statics as Statics, validateUtils as ValidateUtils, Validators, VersionChangedComponent, VersionChangedModule, comboValidator, dateRangeValidator, dateStartEndValidator, dateValidator, documentValidator, emailValidator, passwordConfirmValidator, registerValidator, index as store, trueValidator, urlValidator, valueGreaterThanZero, zipCodeValidator };
5755
+ export { AlertsComponent, AlertsModule, ClosedToMaintenanceComponent, ClosedToMaintenanceModule, CurrencyConfigComponent, CurrencyConfigModule, decoratorsUtils as DecoratorsUtils, Link, MonkeyEcxAlertsService, MonkeyEcxAuthGuard, MonkeyEcxAuthGuardByRole, MonkeyEcxAuthGuardCompany, MonkeyEcxAuthGuardLogin, MonkeyEcxAuthenticationService, MonkeyEcxBlobSecurePipe, MonkeyEcxCommonsService, MonkeyEcxConfigModule, MonkeyEcxConfigService, MonkeyEcxCookieStorageService, MonkeyEcxCoreCharts, MonkeyEcxCoreClearDecorators, MonkeyEcxCoreLog, MonkeyEcxCoreService, MonkeyEcxCoreServiceConstructor, MonkeyEcxCoreServicePaged, MonkeyEcxCoreServiceQueue, MonkeyEcxCurrencyConfigService, MonkeyEcxDirectivesModule, MonkeyEcxDiscoveryParamsService, MonkeyEcxDisplayFirstNamePipe, MonkeyEcxDisplayInitialsPipe, MonkeyEcxDisplaySupportPhone, MonkeyEcxDragDropDirective, MonkeyEcxErrorConfigService, MonkeyEcxErrorHandlingModule, MonkeyEcxErrorHandlingService, MonkeyEcxFeatureByProgramDirective, MonkeyEcxFeatureDirective, MonkeyEcxFeatureToggleService, MonkeyEcxFormatAddressPipe, MonkeyEcxFormatBeaufityJSONPipe, MonkeyEcxFormatCurrency, MonkeyEcxFormatCurrencyPipe, MonkeyEcxFormatDateGroupPipe, MonkeyEcxFormatDateTimelapsePipe, MonkeyEcxFormatDateUnixTimelapsePipe, MonkeyEcxFormatDocumentPipe, MonkeyEcxFormatDocumentTypePipe, MonkeyEcxFormatNumberPipe, MonkeyEcxFormatPhonePipe, MonkeyEcxFormatSizePipe, MonkeyEcxFormatTaxPipe, MonkeyEcxFormatUpper, MonkeyEcxFormatValue, MonkeyEcxFormatZipCodePipe, MonkeyEcxHandlingService, MonkeyEcxHttpConfigErrorInterceptor, MonkeyEcxHttpConfigHeaderInterceptor, MonkeyEcxHttpConfigInterceptorModule, MonkeyEcxHttpConfigLoadingInProgressInterceptor, MonkeyEcxHttpConfigQueueInterceptor, MonkeyEcxHttpErrorHandlingService, MonkeyEcxLoggedHandlingService, MonkeyEcxLogsConfigService, MonkeyEcxMaintenanceConfigService, MonkeyEcxModel, MonkeyEcxOnlyAlphaNumericDirective, MonkeyEcxOnlyNumbersDirective, MonkeyEcxOthersErrorsHandlingService, MonkeyEcxPaginationService, MonkeyEcxPipesModule, MonkeyEcxPopoverDirective, MonkeyEcxPopoverOptionsDirective, MonkeyEcxProgressBarComponent, MonkeyEcxProgressBarModule, MonkeyEcxProgressBarService, MonkeyEcxRequestDownloadHandlingService, MonkeyEcxRequestDownloadedHandlingService, MonkeyEcxRequestPagedHandling, MonkeyEcxRequestQueueHandlingService, MonkeyEcxRequestQueueModalHandlingService, MonkeyEcxRequestScheduleService, MonkeyEcxSecurityConsoleConfigService, MonkeyEcxSecurityDirective, MonkeyEcxService, MonkeyEcxServiceDownload, MonkeyEcxServiceUpload, MonkeyEcxServiceWorkerConfigService, MonkeyEcxSpecificationSearch, MonkeyEcxTextTruncatePipe, MonkeyEcxTokenStorageService, MonkeyEcxTooltipDirective, MonkeyEcxTruncateQtdPipe, MonkeyEcxUtils, MonkeyEcxi18nConfigService, MonkeyFrontCoreModule, OpSearch, POPOVER_OPTIONS, statics as Statics, validateUtils as ValidateUtils, Validators, VersionChangedComponent, VersionChangedModule, comboValidator, dateRangeValidator, dateStartEndValidator, dateValidator, documentValidator, emailValidator, passwordConfirmValidator, registerValidator, requiredWithTrimValidator, index as store, trueValidator, urlValidator, valueGreaterThanZero, zipCodeValidator };
5744
5756
  //# sourceMappingURL=monkey-front-core.mjs.map