@fagon/ngx-intellitoolx 16.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +5 -0
- package/README.md +959 -0
- package/esm2022/fagon-ngx-intellitoolx.mjs +5 -0
- package/esm2022/lib/directives/required-marker/required-marker.config.mjs +2 -0
- package/esm2022/lib/directives/required-marker/required-marker.defaults.mjs +9 -0
- package/esm2022/lib/directives/required-marker/required-marker.directive.mjs +79 -0
- package/esm2022/lib/directives/required-marker/required-marker.token.mjs +3 -0
- package/esm2022/lib/form-errors/form-errors.component.mjs +110 -0
- package/esm2022/lib/form-update/confirm-handler.type.mjs +2 -0
- package/esm2022/lib/form-update/form-update-message-config.interface.mjs +2 -0
- package/esm2022/lib/form-update/form-update-message.component.mjs +53 -0
- package/esm2022/lib/form-update/unsaved-changes.guard.mjs +19 -0
- package/esm2022/lib/form-validators/index.mjs +6 -0
- package/esm2022/lib/form-validators/max-amount.validator.mjs +18 -0
- package/esm2022/lib/form-validators/max-words.validator.mjs +11 -0
- package/esm2022/lib/form-validators/min-amount.validator.mjs +18 -0
- package/esm2022/lib/form-validators/password-mismatch.validator.mjs +16 -0
- package/esm2022/lib/form-validators/unique-email.validators.mjs +40 -0
- package/esm2022/lib/helpers/intellitoolx.helper.mjs +156 -0
- package/esm2022/lib/ngx-intellitoolx.component.mjs +11 -0
- package/esm2022/lib/ngx-intellitoolx.module.mjs +17 -0
- package/esm2022/lib/pipes/json-parse.pipe.mjs +18 -0
- package/esm2022/lib/regex/regex.utils.mjs +7 -0
- package/esm2022/public-api.mjs +27 -0
- package/fesm2022/fagon-ngx-intellitoolx.mjs +576 -0
- package/fesm2022/fagon-ngx-intellitoolx.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/directives/required-marker/required-marker.config.d.ts +9 -0
- package/lib/directives/required-marker/required-marker.defaults.d.ts +2 -0
- package/lib/directives/required-marker/required-marker.directive.d.ts +17 -0
- package/lib/directives/required-marker/required-marker.token.d.ts +3 -0
- package/lib/form-errors/form-errors.component.d.ts +29 -0
- package/lib/form-update/confirm-handler.type.d.ts +1 -0
- package/lib/form-update/form-update-message-config.interface.d.ts +11 -0
- package/lib/form-update/form-update-message.component.d.ts +14 -0
- package/lib/form-update/unsaved-changes.guard.d.ts +11 -0
- package/lib/form-validators/index.d.ts +5 -0
- package/lib/form-validators/max-amount.validator.d.ts +2 -0
- package/lib/form-validators/max-words.validator.d.ts +2 -0
- package/lib/form-validators/min-amount.validator.d.ts +2 -0
- package/lib/form-validators/password-mismatch.validator.d.ts +2 -0
- package/lib/form-validators/unique-email.validators.d.ts +2 -0
- package/lib/helpers/intellitoolx.helper.d.ts +16 -0
- package/lib/ngx-intellitoolx.component.d.ts +5 -0
- package/lib/ngx-intellitoolx.module.d.ts +7 -0
- package/lib/pipes/json-parse.pipe.d.ts +7 -0
- package/lib/regex/regex.utils.d.ts +6 -0
- package/package.json +29 -0
- package/public-api.d.ts +14 -0
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
import { FormArray, FormControl, FormGroup, } from '@angular/forms';
|
|
2
|
+
export class IntelliToolxHelper {
|
|
3
|
+
static captureInitialValue(form) {
|
|
4
|
+
const initialValue = form.getRawValue?.() ?? form.value;
|
|
5
|
+
form.markAsPristine();
|
|
6
|
+
return this.clone(initialValue);
|
|
7
|
+
}
|
|
8
|
+
static trimFormGroup(control) {
|
|
9
|
+
if (control instanceof FormGroup) {
|
|
10
|
+
Object.keys(control.controls).forEach((key) => this.trimFormGroup(control.controls[key]));
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
if (control instanceof FormArray) {
|
|
14
|
+
control.controls.forEach((ctrl) => this.trimFormGroup(ctrl));
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
if (control instanceof FormControl) {
|
|
18
|
+
const value = control.value;
|
|
19
|
+
if (typeof value === 'string') {
|
|
20
|
+
control.setValue(value.trim(), { emitEvent: false });
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
static deepEqual(obj1, obj2) {
|
|
25
|
+
// treat null, undefined, and empty string as equal
|
|
26
|
+
if (this.isEmpty(obj1) && this.isEmpty(obj2)) {
|
|
27
|
+
return true;
|
|
28
|
+
}
|
|
29
|
+
// normalize numeric values
|
|
30
|
+
if (typeof obj1 === 'number' && typeof obj2 === 'number') {
|
|
31
|
+
return Number(obj1) === Number(obj2);
|
|
32
|
+
}
|
|
33
|
+
// strict equality shortcut
|
|
34
|
+
if (obj1 === obj2)
|
|
35
|
+
return true;
|
|
36
|
+
// File comparison
|
|
37
|
+
if (obj1 instanceof File && obj2 instanceof File) {
|
|
38
|
+
return (obj1.name === obj2.name &&
|
|
39
|
+
obj1.size === obj2.size &&
|
|
40
|
+
obj1.type === obj2.type &&
|
|
41
|
+
obj1.lastModified === obj2.lastModified);
|
|
42
|
+
}
|
|
43
|
+
// if not objects → not equal
|
|
44
|
+
if (typeof obj1 !== 'object' ||
|
|
45
|
+
typeof obj2 !== 'object' ||
|
|
46
|
+
obj1 === null ||
|
|
47
|
+
obj2 === null) {
|
|
48
|
+
return false;
|
|
49
|
+
}
|
|
50
|
+
// arrays
|
|
51
|
+
if (Array.isArray(obj1) && Array.isArray(obj2)) {
|
|
52
|
+
if (obj1.length !== obj2.length)
|
|
53
|
+
return false;
|
|
54
|
+
return obj1.every((v, i) => this.deepEqual(v, obj2[i]));
|
|
55
|
+
}
|
|
56
|
+
const keys1 = Object.keys(obj1);
|
|
57
|
+
const keys2 = Object.keys(obj2);
|
|
58
|
+
if (keys1.length !== keys2.length)
|
|
59
|
+
return false;
|
|
60
|
+
for (const key of keys1) {
|
|
61
|
+
if (!keys2.includes(key))
|
|
62
|
+
return false;
|
|
63
|
+
if (!this.deepEqual(obj1[key], obj2[key]))
|
|
64
|
+
return false;
|
|
65
|
+
}
|
|
66
|
+
return true;
|
|
67
|
+
}
|
|
68
|
+
static isEmpty(value) {
|
|
69
|
+
return (value === null ||
|
|
70
|
+
value === undefined ||
|
|
71
|
+
(typeof value === 'string' && value.trim() === ''));
|
|
72
|
+
}
|
|
73
|
+
static clone(value) {
|
|
74
|
+
return structuredClone(value); // Angular 14+ safe
|
|
75
|
+
}
|
|
76
|
+
static formHasChanges(initialValue, form) {
|
|
77
|
+
if (!form)
|
|
78
|
+
return false;
|
|
79
|
+
const current = form.getRawValue();
|
|
80
|
+
return !this.deepEqual(initialValue, current);
|
|
81
|
+
}
|
|
82
|
+
static async confirmIfChanged(hasChanges, confirmHandler) {
|
|
83
|
+
if (!hasChanges)
|
|
84
|
+
return true;
|
|
85
|
+
if (confirmHandler) {
|
|
86
|
+
const result = confirmHandler();
|
|
87
|
+
return typeof result === 'boolean' ? result : await result;
|
|
88
|
+
}
|
|
89
|
+
// fallback (only if handler not provided)
|
|
90
|
+
return confirm('You have unsaved changes. Continue?');
|
|
91
|
+
}
|
|
92
|
+
static registerBeforeUnload(shouldBlock, message) {
|
|
93
|
+
const handler = (event) => {
|
|
94
|
+
if (!shouldBlock())
|
|
95
|
+
return;
|
|
96
|
+
event.preventDefault();
|
|
97
|
+
event.returnValue = message || '';
|
|
98
|
+
};
|
|
99
|
+
window.addEventListener('beforeunload', handler);
|
|
100
|
+
return () => window.removeEventListener('beforeunload', handler);
|
|
101
|
+
}
|
|
102
|
+
static getFormControl(form, path) {
|
|
103
|
+
if (!form || !path)
|
|
104
|
+
return null;
|
|
105
|
+
const segments = path.split('.');
|
|
106
|
+
let current = form;
|
|
107
|
+
for (const segment of segments) {
|
|
108
|
+
if (!current)
|
|
109
|
+
return null;
|
|
110
|
+
// Treat numeric segment as FormArray index
|
|
111
|
+
const index = Number(segment);
|
|
112
|
+
if (!isNaN(index) && current instanceof FormArray) {
|
|
113
|
+
current = current.at(index);
|
|
114
|
+
}
|
|
115
|
+
else if (current instanceof FormGroup) {
|
|
116
|
+
current = current.get(segment);
|
|
117
|
+
}
|
|
118
|
+
else {
|
|
119
|
+
return null;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
return current instanceof FormControl ? current : null;
|
|
123
|
+
}
|
|
124
|
+
static convertImageToBase64(file) {
|
|
125
|
+
return new Promise((resolve, reject) => {
|
|
126
|
+
const reader = new FileReader();
|
|
127
|
+
reader.readAsDataURL(file);
|
|
128
|
+
reader.onload = () => {
|
|
129
|
+
const base64String = reader.result;
|
|
130
|
+
const base64StringArray = base64String.split(',');
|
|
131
|
+
resolve(base64StringArray[1]);
|
|
132
|
+
};
|
|
133
|
+
reader.onerror = (error) => {
|
|
134
|
+
reject(error);
|
|
135
|
+
};
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
static replaceCharacter(text, replaceChar, replaceWithChar) {
|
|
139
|
+
return text?.replaceAll(replaceChar, replaceWithChar) || '';
|
|
140
|
+
}
|
|
141
|
+
static convertJsonStringToJson(value) {
|
|
142
|
+
if (!value) {
|
|
143
|
+
return null;
|
|
144
|
+
}
|
|
145
|
+
if (typeof value === 'string') {
|
|
146
|
+
try {
|
|
147
|
+
return JSON.parse(value);
|
|
148
|
+
}
|
|
149
|
+
catch {
|
|
150
|
+
return null;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
return value;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWxsaXRvb2x4LmhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvaGVscGVycy9pbnRlbGxpdG9vbHguaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsV0FBVyxFQUNYLFNBQVMsR0FDVixNQUFNLGdCQUFnQixDQUFDO0FBR3hCLE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsTUFBTSxDQUFDLG1CQUFtQixDQUFDLElBQXFCO1FBQzlDLE1BQU0sWUFBWSxHQUFJLElBQVksQ0FBQyxXQUFXLEVBQUUsRUFBRSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDakUsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsTUFBTSxDQUFDLGFBQWEsQ0FBQyxPQUF3QjtRQUMzQyxJQUFJLE9BQU8sWUFBWSxTQUFTLEVBQUU7WUFDaEMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FDNUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQzFDLENBQUM7WUFDRixPQUFPO1NBQ1I7UUFFRCxJQUFJLE9BQU8sWUFBWSxTQUFTLEVBQUU7WUFDaEMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUM3RCxPQUFPO1NBQ1I7UUFFRCxJQUFJLE9BQU8sWUFBWSxXQUFXLEVBQUU7WUFDbEMsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztZQUM1QixJQUFJLE9BQU8sS0FBSyxLQUFL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QixDQUFDO2dCQUM3QyxNQUFNLGlCQUFpQixHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ2xELE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2hDLENBQUMsQ0FBQztZQUVGLE1BQU0sQ0FBQyxPQUFPLEdBQUcsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDekIsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2hCLENBQUMsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE1BQU0sQ0FBQyxnQkFBZ0IsQ0FDckIsSUFBUyxFQUNULFdBQW1CLEVBQ25CLGVBQXVCO1FBRXZCLE9BQU8sSUFBSSxFQUFFLFVBQVUsQ0FBQyxXQUFXLEVBQUUsZUFBZSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzlELENBQUM7SUFFRCxNQUFNLENBQUMsdUJBQXVCLENBQzVCLEtBQW9DO1FBRXBDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDVixPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7WUFDN0IsSUFBSTtnQkFDRixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFNLENBQUM7YUFDL0I7WUFBQyxNQUFNO2dCQUNOLE9BQU8sSUFBSSxDQUFDO2FBQ2I7U0FDRjtRQUVELE9BQU8sS0FBVSxDQUFDO0lBQ3BCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFic3RyYWN0Q29udHJvbCxcbiAgRm9ybUFycmF5LFxuICBGb3JtQ29udHJvbCxcbiAgRm9ybUdyb3VwLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDb25maXJtSGFuZGxlciB9IGZyb20gJy4uL2Zvcm0tdXBkYXRlL2NvbmZpcm0taGFuZGxlci50eXBlJztcblxuZXhwb3J0IGNsYXNzIEludGVsbGlUb29seEhlbHBlciB7XG4gIHN0YXRpYyBjYXB0dXJlSW5pdGlhbFZhbHVlKGZvcm06IEFic3RyYWN0Q29udHJvbCk6IGFueSB7XG4gICAgY29uc3QgaW5pdGlhbFZhbHVlID0gKGZvcm0gYXMgYW55KS5nZXRSYXdWYWx1ZT8uKCkgPz8gZm9ybS52YWx1ZTtcbiAgICBmb3JtLm1hcmtBc1ByaXN0aW5lKCk7XG4gICAgcmV0dXJuIHRoaXMuY2xvbmUoaW5pdGlhbFZhbHVlKTtcbiAgfVxuXG4gIHN0YXRpYyB0cmltRm9ybUdyb3VwKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IHZvaWQge1xuICAgIGlmIChjb250cm9sIGluc3RhbmNlb2YgRm9ybUdyb3VwKSB7XG4gICAgICBPYmplY3Qua2V5cyhjb250cm9sLmNvbnRyb2xzKS5mb3JFYWNoKChrZXkpID0+XG4gICAgICAgIHRoaXMudHJpbUZvcm1Hcm91cChjb250cm9sLmNvbnRyb2xzW2tleV0pLFxuICAgICAgKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoY29udHJvbCBpbnN0YW5jZW9mIEZvcm1BcnJheSkge1xuICAgICAgY29udHJvbC5jb250cm9scy5mb3JFYWNoKChjdHJsKSA9PiB0aGlzLnRyaW1Gb3JtR3JvdXAoY3RybCkpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChjb250cm9sIGluc3RhbmNlb2YgRm9ybUNvbnRyb2wpIHtcbiAgICAgIGNvbnN0IHZhbHVlID0gY29udHJvbC52YWx1ZTtcbiAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIGNvbnRyb2wuc2V0VmFsdWUodmFsdWUudHJpbSgpLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc3RhdGljIGRlZXBFcXVhbChvYmoxOiBhbnksIG9iajI6IGFueSk6IGJvb2xlYW4ge1xuICAgIC8vIHRyZWF0IG51bGwsIHVuZGVmaW5lZCwgYW5kIGVtcHR5IHN0cmluZyBhcyBlcXVhbFxuICAgIGlmICh0aGlzLmlzRW1wdHkob2JqMSkgJiYgdGhpcy5pc0VtcHR5KG9iajIpKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICAvLyBub3JtYWxpemUgbnVtZXJpYyB2YWx1ZXNcbiAgICBpZiAodHlwZW9mIG9iajEgPT09ICdudW1iZXInICYmIHR5cGVvZiBvYmoyID09PSAnbnVtYmVyJykge1xuICAgICAgcmV0dXJuIE51bWJlcihvYmoxKSA9PT0gTnVtYmVyKG9iajIpO1xuICAgIH1cblxuICAgIC8vIHN0cmljdCBlcXVhbGl0eSBzaG9ydGN1dFxuICAgIGlmIChvYmoxID09PSBvYmoyKSByZXR1cm4gdHJ1ZTtcblxuICAgIC8vIEZpbGUgY29tcGFyaXNvblxuICAgIGlmIChvYmoxIGluc3RhbmNlb2YgRmlsZSAmJiBvYmoyIGluc3RhbmNlb2YgRmlsZSkge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgb2JqMS5uYW1lID09PSBvYmoyLm5hbWUgJiZcbiAgICAgICAgb2JqMS5zaXplID09PSBvYmoyLnNpemUgJiZcbiAgICAgICAgb2JqMS50eXBlID09PSBvYmoyLnR5cGUgJiZcbiAgICAgICAgb2JqMS5sYXN0TW9kaWZpZWQgPT09IG9iajIubGFzdE1vZGlmaWVkXG4gICAgICApO1xuICAgIH1cblxuICAgIC8vIGlmIG5vdCBvYmplY3RzIOKGkiBub3QgZXF1YWxcbiAgICBpZiAoXG4gICAgICB0eXBlb2Ygb2JqMSAhPT0gJ29iamVjdCcgfHxcbiAgICAgIHR5cGVvZiBvYmoyICE9PSAnb2JqZWN0JyB8fFxuICAgICAgb2JqMSA9PT0gbnVsbCB8fFxuICAgICAgb2JqMiA9PT0gbnVsbFxuICAgICkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIC8vIGFycmF5c1xuICAgIGlmIChBcnJheS5pc0FycmF5KG9iajEpICYmIEFycmF5LmlzQXJyYXkob2JqMikpIHtcbiAgICAgIGlmIChvYmoxLmxlbmd0aCAhPT0gb2JqMi5sZW5ndGgpIHJldHVybiBmYWxzZTtcbiAgICAgIHJldHVybiBvYmoxLmV2ZXJ5KCh2LCBpKSA9PiB0aGlzLmRlZXBFcXVhbCh2LCBvYmoyW2ldKSk7XG4gICAgfVxuXG4gICAgY29uc3Qga2V5czEgPSBPYmplY3Qua2V5cyhvYmoxKTtcbiAgICBjb25zdCBrZXlzMiA9IE9iamVjdC5rZXlzKG9iajIpO1xuXG4gICAgaWYgKGtleXMxLmxlbmd0aCAhPT0ga2V5czIubGVuZ3RoKSByZXR1cm4gZmFsc2U7XG5cbiAgICBmb3IgKGNvbnN0IGtleSBvZiBrZXlzMSkge1xuICAgICAgaWYgKCFrZXlzMi5pbmNsdWRlcyhrZXkpKSByZXR1cm4gZmFsc2U7XG4gICAgICBpZiAoIXRoaXMuZGVlcEVxdWFsKG9iajFba2V5XSwgb2JqMltrZXldKSkgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgc3RhdGljIGlzRW1wdHkodmFsdWU6IGFueSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICB2YWx1ZSA9PT0gbnVsbCB8fFxuICAgICAgdmFsdWUgPT09IHVuZGVmaW5lZCB8fFxuICAgICAgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgdmFsdWUudHJpbSgpID09PSAnJylcbiAgICApO1xuICB9XG5cbiAgc3RhdGljIGNsb25lKHZhbHVlOiBhbnkpOiBhbnkge1xuICAgIHJldHVybiBzdHJ1Y3R1cmVkQ2xvbmUodmFsdWUpOyAvLyBBbmd1bGFyIDE0KyBzYWZlXG4gIH1cblxuICBzdGF0aWMgZm9ybUhhc0NoYW5nZXMoaW5pdGlhbFZhbHVlOiBhbnksIGZvcm06IEFic3RyYWN0Q29udHJvbCk6IGJvb2xlYW4ge1xuICAgIGlmICghZm9ybSkgcmV0dXJuIGZhbHNlO1xuXG4gICAgY29uc3QgY3VycmVudCA9IGZvcm0uZ2V0UmF3VmFsdWUoKTtcbiAgICByZXR1cm4gIXRoaXMuZGVlcEVxdWFsKGluaXRpYWxWYWx1ZSwgY3VycmVudCk7XG4gIH1cblxuICBzdGF0aWMgYXN5bmMgY29uZmlybUlmQ2hhbmdlZChcbiAgICBoYXNDaGFuZ2VzOiBib29sZWFuLFxuICAgIGNvbmZpcm1IYW5kbGVyPzogQ29uZmlybUhhbmRsZXIsXG4gICk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGlmICghaGFzQ2hhbmdlcykgcmV0dXJuIHRydWU7XG5cbiAgICBpZiAoY29uZmlybUhhbmRsZXIpIHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGNvbmZpcm1IYW5kbGVyKCk7XG4gICAgICByZXR1cm4gdHlwZW9mIHJlc3VsdCA9PT0gJ2Jvb2xlYW4nID8gcmVzdWx0IDogYXdhaXQgcmVzdWx0O1xuICAgIH1cblxuICAgIC8vIGZhbGxiYWNrIChvbmx5IGlmIGhhbmRsZXIgbm90IHByb3ZpZGVkKVxuICAgIHJldHVybiBjb25maXJtKCdZb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMuIENvbnRpbnVlPycpO1xuICB9XG5cbiAgc3RhdGljIHJlZ2lzdGVyQmVmb3JlVW5sb2FkKHNob3VsZEJsb2NrOiAoKSA9PiBib29sZWFuLCBtZXNzYWdlPzogc3RyaW5nKSB7XG4gICAgY29uc3QgaGFuZGxlciA9IChldmVudDogQmVmb3JlVW5sb2FkRXZlbnQpID0+IHtcbiAgICAgIGlmICghc2hvdWxkQmxvY2soKSkgcmV0dXJuO1xuXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZXZlbnQucmV0dXJuVmFsdWUgPSBtZXNzYWdlIHx8ICcnO1xuICAgIH07XG5cbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignYmVmb3JldW5sb2FkJywgaGFuZGxlcik7XG5cbiAgICByZXR1cm4gKCkgPT4gd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2JlZm9yZXVubG9hZCcsIGhhbmRsZXIpO1xuICB9XG5cbiAgc3RhdGljIGdldEZvcm1Db250cm9sPFQgPSBhbnk+KFxuICAgIGZvcm06IEFic3RyYWN0Q29udHJvbCxcbiAgICBwYXRoOiBzdHJpbmcsXG4gICk6IEZvcm1Db250cm9sPFQ+IHwgbnVsbCB7XG4gICAgaWYgKCFmb3JtIHx8ICFwYXRoKSByZXR1cm4gbnVsbDtcblxuICAgIGNvbnN0IHNlZ21lbnRzID0gcGF0aC5zcGxpdCgnLicpO1xuICAgIGxldCBjdXJyZW50OiBBYnN0cmFjdENvbnRyb2wgfCBudWxsID0gZm9ybTtcblxuICAgIGZvciAoY29uc3Qgc2VnbWVudCBvZiBzZWdtZW50cykge1xuICAgICAgaWYgKCFjdXJyZW50KSByZXR1cm4gbnVsbDtcblxuICAgICAgLy8gVHJlYXQgbnVtZXJpYyBzZWdtZW50IGFzIEZvcm1BcnJheSBpbmRleFxuICAgICAgY29uc3QgaW5kZXggPSBOdW1iZXIoc2VnbWVudCk7XG4gICAgICBpZiAoIWlzTmFOKGluZGV4KSAmJiBjdXJyZW50IGluc3RhbmNlb2YgRm9ybUFycmF5KSB7XG4gICAgICAgIGN1cnJlbnQgPSBjdXJyZW50LmF0KGluZGV4KTtcbiAgICAgIH0gZWxzZSBpZiAoY3VycmVudCBpbnN0YW5jZW9mIEZvcm1Hcm91cCkge1xuICAgICAgICBjdXJyZW50ID0gY3VycmVudC5nZXQoc2VnbWVudCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gY3VycmVudCBpbnN0YW5jZW9mIEZvcm1Db250cm9sID8gKGN1cnJlbnQgYXMgRm9ybUNvbnRyb2w8VD4pIDogbnVsbDtcbiAgfVxuXG4gIHN0YXRpYyBjb252ZXJ0SW1hZ2VUb0Jhc2U2NChmaWxlOiBGaWxlKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2U8c3RyaW5nPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuXG4gICAgICByZWFkZXIucmVhZEFzRGF0YVVSTChmaWxlKTtcblxuICAgICAgcmVhZGVyLm9ubG9hZCA9ICgpID0+IHtcbiAgICAgICAgY29uc3QgYmFzZTY0U3RyaW5nID0gcmVhZGVyLnJlc3VsdCBhcyBzdHJpbmc7XG4gICAgICAgIGNvbnN0IGJhc2U2NFN0cmluZ0FycmF5ID0gYmFzZTY0U3RyaW5nLnNwbGl0KCcsJyk7XG4gICAgICAgIHJlc29sdmUoYmFzZTY0U3RyaW5nQXJyYXlbMV0pO1xuICAgICAgfTtcblxuICAgICAgcmVhZGVyLm9uZXJyb3IgPSAoZXJyb3IpID0+IHtcbiAgICAgICAgcmVqZWN0KGVycm9yKTtcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgcmVwbGFjZUNoYXJhY3RlcihcbiAgICB0ZXh0OiBhbnksXG4gICAgcmVwbGFjZUNoYXI6IHN0cmluZyxcbiAgICByZXBsYWNlV2l0aENoYXI6IHN0cmluZyxcbiAgKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGV4dD8ucmVwbGFjZUFsbChyZXBsYWNlQ2hhciwgcmVwbGFjZVdpdGhDaGFyKSB8fCAnJztcbiAgfVxuXG4gIHN0YXRpYyBjb252ZXJ0SnNvblN0cmluZ1RvSnNvbjxUID0gYW55PihcbiAgICB2YWx1ZTogVCB8IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQsXG4gICk6IFQgfCBudWxsIHtcbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIEpTT04ucGFyc2UodmFsdWUpIGFzIFQ7XG4gICAgICB9IGNhdGNoIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbHVlIGFzIFQ7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class NgxIntellitoolxComponent {
|
|
4
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgxIntellitoolxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NgxIntellitoolxComponent, isStandalone: true, selector: "lib-ngx-intellitoolx", ngImport: i0, template: ` <p>ngx-intellitoolx works!</p> `, isInline: true }); }
|
|
6
|
+
}
|
|
7
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgxIntellitoolxComponent, decorators: [{
|
|
8
|
+
type: Component,
|
|
9
|
+
args: [{ selector: 'lib-ngx-intellitoolx', standalone: true, template: ` <p>ngx-intellitoolx works!</p> ` }]
|
|
10
|
+
}] });
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWludGVsbGl0b29seC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL25neC1pbnRlbGxpdG9vbHguY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBUTFDLE1BQU0sT0FBTyx3QkFBd0I7K0dBQXhCLHdCQUF3QjttR0FBeEIsd0JBQXdCLGdGQUh6QixrQ0FBa0M7OzRGQUdqQyx3QkFBd0I7a0JBTnBDLFNBQVM7K0JBQ0Usc0JBQXNCLGNBQ3BCLElBQUksWUFDTixrQ0FBa0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLW5neC1pbnRlbGxpdG9vbHgnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICB0ZW1wbGF0ZTogYCA8cD5uZ3gtaW50ZWxsaXRvb2x4IHdvcmtzITwvcD4gYCxcbiAgc3R5bGVzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd4SW50ZWxsaXRvb2x4Q29tcG9uZW50IHt9XG4iXX0=
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { NgModule } from '@angular/core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class NgxIntellitoolxModule {
|
|
5
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgxIntellitoolxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
6
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: NgxIntellitoolxModule, imports: [CommonModule] }); }
|
|
7
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgxIntellitoolxModule, imports: [CommonModule] }); }
|
|
8
|
+
}
|
|
9
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgxIntellitoolxModule, decorators: [{
|
|
10
|
+
type: NgModule,
|
|
11
|
+
args: [{
|
|
12
|
+
declarations: [],
|
|
13
|
+
imports: [CommonModule],
|
|
14
|
+
exports: [],
|
|
15
|
+
}]
|
|
16
|
+
}] });
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWludGVsbGl0b29seC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL25neC1pbnRlbGxpdG9vbHgubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU96QyxNQUFNLE9BQU8scUJBQXFCOytHQUFyQixxQkFBcUI7Z0hBQXJCLHFCQUFxQixZQUh0QixZQUFZO2dIQUdYLHFCQUFxQixZQUh0QixZQUFZOzs0RkFHWCxxQkFBcUI7a0JBTGpDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLEVBQUU7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsT0FBTyxFQUFFLEVBQUU7aUJBQ1oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGV4cG9ydHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3hJbnRlbGxpdG9vbHhNb2R1bGUge31cbiJdfQ==
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import { IntelliToolxHelper } from '../helpers/intellitoolx.helper';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class JsonParsePipe {
|
|
5
|
+
transform(value) {
|
|
6
|
+
return IntelliToolxHelper.convertJsonStringToJson(value);
|
|
7
|
+
}
|
|
8
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: JsonParsePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
9
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: JsonParsePipe, isStandalone: true, name: "jsonParse" }); }
|
|
10
|
+
}
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: JsonParsePipe, decorators: [{
|
|
12
|
+
type: Pipe,
|
|
13
|
+
args: [{
|
|
14
|
+
name: 'jsonParse',
|
|
15
|
+
standalone: true,
|
|
16
|
+
}]
|
|
17
|
+
}] });
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi1wYXJzZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9waXBlcy9qc29uLXBhcnNlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7O0FBTXBFLE1BQU0sT0FBTyxhQUFhO0lBQ3hCLFNBQVMsQ0FBVSxLQUFvQztRQUNyRCxPQUFPLGtCQUFrQixDQUFDLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNELENBQUM7K0dBSFUsYUFBYTs2R0FBYixhQUFhOzs0RkFBYixhQUFhO2tCQUp6QixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxXQUFXO29CQUNqQixVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJbnRlbGxpVG9vbHhIZWxwZXIgfSBmcm9tICcuLi9oZWxwZXJzL2ludGVsbGl0b29seC5oZWxwZXInO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdqc29uUGFyc2UnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBKc29uUGFyc2VQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybTxUID0gYW55Pih2YWx1ZTogVCB8IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQpOiBUIHwgbnVsbCB7XG4gICAgcmV0dXJuIEludGVsbGlUb29seEhlbHBlci5jb252ZXJ0SnNvblN0cmluZ1RvSnNvbih2YWx1ZSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export const IntellitoolxRegExps = {
|
|
2
|
+
EMAIL_REGEX: /^(?=.{1,50}$)[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[A-Za-z]{2,}$/,
|
|
3
|
+
NUMBER_REGEX: /^\d+$/,
|
|
4
|
+
AMOUNT_REGEX: /^\d+(\.\d{1,2})?$/,
|
|
5
|
+
DOMAIN_REGEX: /^(?=.{1,255}$)(https?|ftp):\/\/([\w.-]+)\.([a-z\.]{2,6})(:[0-9]{1,5})?(\/\S*)?$/,
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnZXgudXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3JlZ2V4L3JlZ2V4LnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHO0lBQ2pDLFdBQVcsRUFBRSw4REFBOEQ7SUFDM0UsWUFBWSxFQUFFLE9BQU87SUFDckIsWUFBWSxFQUFFLG1CQUFtQjtJQUNqQyxZQUFZLEVBQ1YsaUZBQWlGO0NBQ3BGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgSW50ZWxsaXRvb2x4UmVnRXhwcyA9IHtcbiAgRU1BSUxfUkVHRVg6IC9eKD89LnsxLDUwfSQpW2EtekEtWjAtOS5fJSstXStAW2EtekEtWjAtOS4tXStcXC5bQS1aYS16XXsyLH0kLyxcbiAgTlVNQkVSX1JFR0VYOiAvXlxcZCskLyxcbiAgQU1PVU5UX1JFR0VYOiAvXlxcZCsoXFwuXFxkezEsMn0pPyQvLFxuICBET01BSU5fUkVHRVg6XG4gICAgL14oPz0uezEsMjU1fSQpKGh0dHBzP3xmdHApOlxcL1xcLyhbXFx3Li1dKylcXC4oW2EtelxcLl17Miw2fSkoOlswLTldezEsNX0pPyhcXC9cXFMqKT8kLyxcbn07XG4iXX0=
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Public API Surface of ngx-intellitoolx
|
|
3
|
+
*/
|
|
4
|
+
// Moddules
|
|
5
|
+
export * from './lib/ngx-intellitoolx.module';
|
|
6
|
+
// Helpers
|
|
7
|
+
export * from './lib/helpers/intellitoolx.helper';
|
|
8
|
+
// Pipes
|
|
9
|
+
export * from './lib/pipes/json-parse.pipe';
|
|
10
|
+
// Components
|
|
11
|
+
export * from './lib/ngx-intellitoolx.component';
|
|
12
|
+
export * from './lib/form-update/form-update-message.component';
|
|
13
|
+
export * from './lib/form-errors/form-errors.component';
|
|
14
|
+
// Validators
|
|
15
|
+
export * from './lib/form-validators';
|
|
16
|
+
// Regular expressions
|
|
17
|
+
export * from './lib/regex/regex.utils';
|
|
18
|
+
// Models/Interfaces
|
|
19
|
+
export * from './lib/form-update/form-update-message-config.interface';
|
|
20
|
+
// Required marker directive
|
|
21
|
+
export * from './lib/directives/required-marker/required-marker.directive';
|
|
22
|
+
export * from './lib/directives/required-marker/required-marker.config';
|
|
23
|
+
export * from './lib/directives/required-marker/required-marker.token';
|
|
24
|
+
export * from './lib/directives/required-marker/required-marker.defaults';
|
|
25
|
+
// Guards
|
|
26
|
+
export * from './lib/form-update/unsaved-changes.guard';
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsV0FBVztBQUNYLGNBQWMsK0JBQStCLENBQUM7QUFFOUMsVUFBVTtBQUNWLGNBQWMsbUNBQW1DLENBQUM7QUFFbEQsUUFBUTtBQUNSLGNBQWMsNkJBQTZCLENBQUM7QUFFNUMsYUFBYTtBQUNiLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLHlDQUF5QyxDQUFDO0FBRXhELGFBQWE7QUFDYixjQUFjLHVCQUF1QixDQUFDO0FBRXRDLHNCQUFzQjtBQUN0QixjQUFjLHlCQUF5QixDQUFDO0FBRXhDLG9CQUFvQjtBQUNwQixjQUFjLHdEQUF3RCxDQUFDO0FBRXZFLDZCQUE2QjtBQUM3QixjQUFjLDREQUE0RCxDQUFDO0FBQzNFLGNBQWMseURBQXlELENBQUM7QUFDeEUsY0FBYyx3REFBd0QsQ0FBQztBQUN2RSxjQUFjLDJEQUEyRCxDQUFDO0FBRTFFLFNBQVM7QUFDVCxjQUFjLHlDQUF5QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBuZ3gtaW50ZWxsaXRvb2x4XG4gKi9cblxuLy8gTW9kZHVsZXNcbmV4cG9ydCAqIGZyb20gJy4vbGliL25neC1pbnRlbGxpdG9vbHgubW9kdWxlJztcblxuLy8gSGVscGVyc1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaGVscGVycy9pbnRlbGxpdG9vbHguaGVscGVyJztcblxuLy8gUGlwZXNcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BpcGVzL2pzb24tcGFyc2UucGlwZSc7XG5cbi8vIENvbXBvbmVudHNcbmV4cG9ydCAqIGZyb20gJy4vbGliL25neC1pbnRlbGxpdG9vbHguY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Zvcm0tdXBkYXRlL2Zvcm0tdXBkYXRlLW1lc3NhZ2UuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Zvcm0tZXJyb3JzL2Zvcm0tZXJyb3JzLmNvbXBvbmVudCc7XG5cbi8vIFZhbGlkYXRvcnNcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Zvcm0tdmFsaWRhdG9ycyc7XG5cbi8vIFJlZ3VsYXIgZXhwcmVzc2lvbnNcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JlZ2V4L3JlZ2V4LnV0aWxzJztcblxuLy8gTW9kZWxzL0ludGVyZmFjZXNcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Zvcm0tdXBkYXRlL2Zvcm0tdXBkYXRlLW1lc3NhZ2UtY29uZmlnLmludGVyZmFjZSc7XG5cbi8vICBSZXF1aXJlZCBtYXJrZXIgZGlyZWN0aXZlXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL3JlcXVpcmVkLW1hcmtlci9yZXF1aXJlZC1tYXJrZXIuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvcmVxdWlyZWQtbWFya2VyL3JlcXVpcmVkLW1hcmtlci5jb25maWcnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9yZXF1aXJlZC1tYXJrZXIvcmVxdWlyZWQtbWFya2VyLnRva2VuJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvcmVxdWlyZWQtbWFya2VyL3JlcXVpcmVkLW1hcmtlci5kZWZhdWx0cyc7XG5cbi8vIEd1YXJkc1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZm9ybS11cGRhdGUvdW5zYXZlZC1jaGFuZ2VzLmd1YXJkJztcbiJdfQ==
|