@wemake4u/form-player-se 1.0.30 → 1.0.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/esm2022/lib/common/path.mjs +35 -0
  2. package/esm2022/lib/directives/repeat.directive.mjs +1 -5
  3. package/esm2022/lib/directives/tabitem.directive.mjs +26 -0
  4. package/esm2022/lib/dynamic-fields/dynamic-fields.component.mjs +76 -10
  5. package/esm2022/lib/dynamic-form/dynamic-form.component.mjs +52 -35
  6. package/esm2022/lib/locale/locale-de.mjs +3 -2
  7. package/esm2022/lib/locale/locale-en.mjs +3 -2
  8. package/esm2022/lib/locale/locale-es.mjs +3 -2
  9. package/esm2022/lib/locale/locale-fr.mjs +3 -2
  10. package/esm2022/lib/locale/locale-it.mjs +3 -2
  11. package/esm2022/lib/locale/locale-pt.mjs +3 -2
  12. package/esm2022/lib/services/form.service.mjs +41 -18
  13. package/esm2022/lib/services/programmability.service.mjs +54 -16
  14. package/esm2022/lib/services/scope.service.mjs +7 -1
  15. package/esm2022/lib/utils/isMeaningful.mjs +13 -0
  16. package/fesm2022/wemake4u-form-player-se.mjs +304 -87
  17. package/fesm2022/wemake4u-form-player-se.mjs.map +1 -1
  18. package/lib/common/path.d.ts +4 -0
  19. package/lib/components/deleteRowRenderer/deleteRowRenderer.component.d.ts +1 -0
  20. package/lib/components/objectURLRenderer/objectURLRenderer.component.d.ts +1 -0
  21. package/lib/components/setFilter/setFilter.component.d.ts +1 -0
  22. package/lib/dialog/dialog.component.d.ts +7 -0
  23. package/lib/directives/tabitem.directive.d.ts +9 -0
  24. package/lib/dynamic-fields/dynamic-fields.component.d.ts +25 -2
  25. package/lib/dynamic-form/dynamic-form.component.d.ts +12 -4
  26. package/lib/locale/locale-de.d.ts +1 -0
  27. package/lib/locale/locale-en.d.ts +1 -0
  28. package/lib/locale/locale-es.d.ts +1 -0
  29. package/lib/locale/locale-fr.d.ts +1 -0
  30. package/lib/locale/locale-it.d.ts +1 -0
  31. package/lib/locale/locale-pt.d.ts +1 -0
  32. package/lib/locale/locale.d.ts +7 -0
  33. package/lib/services/form.service.d.ts +7 -2
  34. package/lib/services/programmability.service.d.ts +1 -1
  35. package/lib/services/scope.service.d.ts +5 -0
  36. package/lib/utils/isMeaningful.d.ts +1 -0
  37. package/package.json +1 -1
@@ -0,0 +1,35 @@
1
+ export function normalizePath(path) {
2
+ if (typeof path === 'string') {
3
+ return path.split('.');
4
+ }
5
+ if (Array.isArray(path)) {
6
+ return path.reduce((acc, part) => {
7
+ if (typeof part === 'string') {
8
+ acc.push(...part.split('.'));
9
+ }
10
+ else {
11
+ acc.push(part);
12
+ }
13
+ return acc;
14
+ }, []);
15
+ }
16
+ return [path];
17
+ }
18
+ ;
19
+ export function matchPath(pathA, pathB) {
20
+ const a = normalizePath(pathA);
21
+ const b = normalizePath(pathB);
22
+ const minLen = Math.min(a.length, b.length);
23
+ for (let i = 0; i < minLen; i++) {
24
+ if (a[i] !== b[i])
25
+ return false;
26
+ }
27
+ return true;
28
+ }
29
+ export function stringifyPath(path) {
30
+ if (Array.isArray(path)) {
31
+ return path.join(".");
32
+ }
33
+ return String(path);
34
+ }
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zaXJpby9zcmMvbGliL2NvbW1vbi9wYXRoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sVUFBVSxhQUFhLENBQUMsSUFBVTtJQUV0QyxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQzdCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBQ0QsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDeEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFzQixDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRTtZQUNwRCxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUM3QixHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQy9CLENBQUM7aUJBQU0sQ0FBQztnQkFDTixHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2pCLENBQUM7WUFDRCxPQUFPLEdBQUcsQ0FBQztRQUNiLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNULENBQUM7SUFDRCxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDaEIsQ0FBQztBQUFBLENBQUM7QUFFRixNQUFNLFVBQVUsU0FBUyxDQUFDLEtBQVcsRUFBRSxLQUFXO0lBRWhELE1BQU0sQ0FBQyxHQUFHLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQixNQUFNLENBQUMsR0FBRyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFL0IsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUU1QyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDaEMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUFFLE9BQU8sS0FBSyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7QUFFRCxNQUFNLFVBQVUsYUFBYSxDQUFDLElBQVU7SUFDdEMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDeEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFDRCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUN0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgUGF0aCA9IHN0cmluZyB8IG51bWJlciB8IEFycmF5PHN0cmluZyB8IG51bWJlcj47XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbm9ybWFsaXplUGF0aChwYXRoOiBQYXRoKTogKHN0cmluZyB8IG51bWJlcilbXVxyXG57XHJcbiAgaWYgKHR5cGVvZiBwYXRoID09PSAnc3RyaW5nJykge1xyXG4gICAgcmV0dXJuIHBhdGguc3BsaXQoJy4nKTtcclxuICB9XHJcbiAgaWYgKEFycmF5LmlzQXJyYXkocGF0aCkpIHtcclxuICAgIHJldHVybiBwYXRoLnJlZHVjZTwoc3RyaW5nIHwgbnVtYmVyKVtdPigoYWNjLCBwYXJ0KSA9PiB7XHJcbiAgICAgIGlmICh0eXBlb2YgcGFydCA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgICBhY2MucHVzaCguLi5wYXJ0LnNwbGl0KCcuJykpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGFjYy5wdXNoKHBhcnQpO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBhY2M7XHJcbiAgICB9LCBbXSk7XHJcbiAgfVxyXG4gIHJldHVybiBbcGF0aF07XHJcbn07XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbWF0Y2hQYXRoKHBhdGhBOiBQYXRoLCBwYXRoQjogUGF0aCk6IGJvb2xlYW4ge1xyXG5cclxuICBjb25zdCBhID0gbm9ybWFsaXplUGF0aChwYXRoQSk7XHJcbiAgY29uc3QgYiA9IG5vcm1hbGl6ZVBhdGgocGF0aEIpO1xyXG5cclxuICBjb25zdCBtaW5MZW4gPSBNYXRoLm1pbihhLmxlbmd0aCwgYi5sZW5ndGgpO1xyXG5cclxuICBmb3IgKGxldCBpID0gMDsgaSA8IG1pbkxlbjsgaSsrKSB7XHJcbiAgICBpZiAoYVtpXSAhPT0gYltpXSkgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIHRydWU7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBzdHJpbmdpZnlQYXRoKHBhdGg6IFBhdGgpOiBzdHJpbmcge1xyXG4gIGlmIChBcnJheS5pc0FycmF5KHBhdGgpKSB7XHJcbiAgICByZXR1cm4gcGF0aC5qb2luKFwiLlwiKTtcclxuICB9XHJcbiAgcmV0dXJuIFN0cmluZyhwYXRoKTtcclxufVxyXG4iXX0=
@@ -14,10 +14,6 @@ export class RepeatDirective {
14
14
  if (Number.isInteger(this.repeat) && this.repeat >= 0) {
15
15
  formArray.resize(this.repeat);
16
16
  }
17
- // commentato, perchè se arriva un value gia con un array vuoto senza allowAddRemove lo azzera
18
- //else if (this.allowAddRemove !== true) {
19
- // (formArray as any).resize(0);
20
- //}
21
17
  }
22
18
  }
23
19
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RepeatDirective, deps: [{ token: i1.ControlContainer }], target: i0.ɵɵFactoryTarget.Directive });
@@ -34,4 +30,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
34
30
  }], allowAddRemove: [{
35
31
  type: Input
36
32
  }] } });
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwZWF0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zaXJpby9zcmMvbGliL2RpcmVjdGl2ZXMvcmVwZWF0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBNEIsTUFBTSxlQUFlLENBQUM7OztBQU8zRSxNQUFNLE9BQU8sZUFBZTtJQUlOO0lBSFgsTUFBTSxHQUFRLElBQUksQ0FBQztJQUNuQixjQUFjLEdBQW1CLElBQUksQ0FBQztJQUUvQyxZQUFvQixnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtJQUFJLENBQUM7SUFFM0QsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUM7WUFDbkQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQW9CLENBQUM7WUFDN0QsSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUNyRCxTQUFpQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDekMsQ0FBQztZQUNELDhGQUE4RjtZQUM5RiwwQ0FBMEM7WUFDMUMsaUNBQWlDO1lBQ2pDLFFBQVE7UUFDVixDQUFDO0lBQ0gsQ0FBQzt3R0FqQlUsZUFBZTs0RkFBZixlQUFlOzs0RkFBZixlQUFlO2tCQUozQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSw0QkFBNEI7b0JBQ3RDLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjtxRkFFVSxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQXJyYXksIENvbnRyb2xDb250YWluZXIgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tyZXBlYXRdLCBbYWxsb3dBZGRSZW1vdmVdJyxcclxuICBzdGFuZGFsb25lOiB0cnVlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZXBlYXREaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG4gIEBJbnB1dCgpIHJlcGVhdDogYW55ID0gbnVsbDtcclxuICBASW5wdXQoKSBhbGxvd0FkZFJlbW92ZTogYm9vbGVhbiB8IG51bGwgPSBudWxsO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbnRyb2xDb250YWluZXI6IENvbnRyb2xDb250YWluZXIpIHsgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAoY2hhbmdlc1tcInJlcGVhdFwiXSB8fCBjaGFuZ2VzW1wiYWxsb3dBZGRSZW1vdmVcIl0pIHtcclxuICAgICAgY29uc3QgZm9ybUFycmF5ID0gdGhpcy5jb250cm9sQ29udGFpbmVyLmNvbnRyb2wgYXMgRm9ybUFycmF5O1xyXG4gICAgICBpZiAoTnVtYmVyLmlzSW50ZWdlcih0aGlzLnJlcGVhdCkgJiYgdGhpcy5yZXBlYXQgPj0gMCkge1xyXG4gICAgICAgIChmb3JtQXJyYXkgYXMgYW55KS5yZXNpemUodGhpcy5yZXBlYXQpO1xyXG4gICAgICB9XHJcbiAgICAgIC8vIGNvbW1lbnRhdG8sIHBlcmNow6ggc2UgYXJyaXZhIHVuIHZhbHVlIGdpYSBjb24gdW4gYXJyYXkgdnVvdG8gc2VuemEgYWxsb3dBZGRSZW1vdmUgbG8gYXp6ZXJhXHJcbiAgICAgIC8vZWxzZSBpZiAodGhpcy5hbGxvd0FkZFJlbW92ZSAhPT0gdHJ1ZSkge1xyXG4gICAgICAvLyAgKGZvcm1BcnJheSBhcyBhbnkpLnJlc2l6ZSgwKTtcclxuICAgICAgLy99ICAgICBcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwZWF0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zaXJpby9zcmMvbGliL2RpcmVjdGl2ZXMvcmVwZWF0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBNEIsTUFBTSxlQUFlLENBQUM7OztBQU8zRSxNQUFNLE9BQU8sZUFBZTtJQUlOO0lBSFgsTUFBTSxHQUFRLElBQUksQ0FBQztJQUNuQixjQUFjLEdBQW1CLElBQUksQ0FBQztJQUUvQyxZQUFvQixnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtJQUFJLENBQUM7SUFFM0QsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUM7WUFDbkQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQW9CLENBQUM7WUFDN0QsSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUNyRCxTQUFpQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDekMsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO3dHQWJVLGVBQWU7NEZBQWYsZUFBZTs7NEZBQWYsZUFBZTtrQkFKM0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsNEJBQTRCO29CQUN0QyxVQUFVLEVBQUUsSUFBSTtpQkFDakI7cUZBRVUsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUFycmF5LCBDb250cm9sQ29udGFpbmVyIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbcmVwZWF0XSwgW2FsbG93QWRkUmVtb3ZlXScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmVwZWF0RGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzIHtcclxuICBASW5wdXQoKSByZXBlYXQ6IGFueSA9IG51bGw7XHJcbiAgQElucHV0KCkgYWxsb3dBZGRSZW1vdmU6IGJvb2xlYW4gfCBudWxsID0gbnVsbDtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjb250cm9sQ29udGFpbmVyOiBDb250cm9sQ29udGFpbmVyKSB7IH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKGNoYW5nZXNbXCJyZXBlYXRcIl0gfHwgY2hhbmdlc1tcImFsbG93QWRkUmVtb3ZlXCJdKSB7XHJcbiAgICAgIGNvbnN0IGZvcm1BcnJheSA9IHRoaXMuY29udHJvbENvbnRhaW5lci5jb250cm9sIGFzIEZvcm1BcnJheTtcclxuICAgICAgaWYgKE51bWJlci5pc0ludGVnZXIodGhpcy5yZXBlYXQpICYmIHRoaXMucmVwZWF0ID49IDApIHtcclxuICAgICAgICAoZm9ybUFycmF5IGFzIGFueSkucmVzaXplKHRoaXMucmVwZWF0KTtcclxuICAgICAgfSAgICAgIFxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,26 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class TabItemDirective {
4
+ componentRef;
5
+ disabled;
6
+ ngOnChanges(changes) {
7
+ if (changes["disabled"]) {
8
+ const tabControl = this.componentRef;
9
+ tabControl.cd.markForCheck();
10
+ }
11
+ }
12
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TabItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
13
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: TabItemDirective, isStandalone: true, selector: "[tabItem]", inputs: { componentRef: "componentRef", disabled: "disabled" }, usesOnChanges: true, ngImport: i0 });
14
+ }
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TabItemDirective, decorators: [{
16
+ type: Directive,
17
+ args: [{
18
+ selector: '[tabItem]',
19
+ standalone: true
20
+ }]
21
+ }], propDecorators: { componentRef: [{
22
+ type: Input
23
+ }], disabled: [{
24
+ type: Input
25
+ }] } });
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiaXRlbS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2lyaW8vc3JjL2xpYi9kaXJlY3RpdmVzL3RhYml0ZW0uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUE0QixNQUFNLGVBQWUsQ0FBQzs7QUFPM0UsTUFBTSxPQUFPLGdCQUFnQjtJQUNsQixZQUFZLENBQU07SUFDbEIsUUFBUSxDQUFNO0lBRXZCLFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQ3hCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxZQUFpQyxDQUFDO1lBQ3pELFVBQWtCLENBQUMsRUFBRSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3hDLENBQUM7SUFDSCxDQUFDO3dHQVRVLGdCQUFnQjs0RkFBaEIsZ0JBQWdCOzs0RkFBaEIsZ0JBQWdCO2tCQUo1QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxXQUFXO29CQUNyQixVQUFVLEVBQUUsSUFBSTtpQkFDakI7OEJBRVUsWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNpcmlvVGFiQ29tcG9uZW50IH0gZnJvbSAnbmd4LXNpcmlvLWxpYic7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1t0YWJJdGVtXScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGFiSXRlbURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcbiAgQElucHV0KCkgY29tcG9uZW50UmVmOiBhbnk7XHJcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGFueTtcclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKGNoYW5nZXNbXCJkaXNhYmxlZFwiXSkge1xyXG4gICAgICBjb25zdCB0YWJDb250cm9sID0gdGhpcy5jb21wb25lbnRSZWYgYXMgU2lyaW9UYWJDb21wb25lbnQ7XHJcbiAgICAgICh0YWJDb250cm9sIGFzIGFueSkuY2QubWFya0ZvckNoZWNrKCk7ICAgICAgXHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==