@wemake4u/form-player-se 1.0.44 → 1.0.46

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 (53) hide show
  1. package/esm2022/lib/builtIn/builtIn.mjs +6 -2
  2. package/esm2022/lib/builtIn/cache.json +30 -0
  3. package/esm2022/lib/builtIn/form.json +25 -0
  4. package/esm2022/lib/builtIn/function.json +28 -0
  5. package/esm2022/lib/builtIn/nav.json +37 -0
  6. package/esm2022/lib/controls/control.mjs +8 -3
  7. package/esm2022/lib/controls/factory.mjs +33 -33
  8. package/esm2022/lib/dialog/dialog.component.mjs +5 -4
  9. package/esm2022/lib/directives/collapse.directive.mjs +22 -2
  10. package/esm2022/lib/directives/dropdown.directive.mjs +38 -8
  11. package/esm2022/lib/directives/grid.directive.mjs +10 -2
  12. package/esm2022/lib/directives/required.directive.mjs +2 -2
  13. package/esm2022/lib/directives/tabcontrol.directive.mjs +17 -5
  14. package/esm2022/lib/dynamic-fields/dynamic-fields.component.mjs +23 -9
  15. package/esm2022/lib/dynamic-form/dynamic-form.component.mjs +27 -7
  16. package/esm2022/lib/services/builder.service.mjs +9 -1
  17. package/esm2022/lib/services/compute.service.mjs +2 -2
  18. package/esm2022/lib/services/dialog.service.mjs +1 -1
  19. package/esm2022/lib/services/disable.service.mjs +2 -2
  20. package/esm2022/lib/services/feel.service.mjs +25 -7
  21. package/esm2022/lib/services/form.service.mjs +17 -1
  22. package/esm2022/lib/services/function.service.mjs +13 -2
  23. package/esm2022/lib/services/programmability.service.mjs +28 -14
  24. package/esm2022/lib/services/validation.service.mjs +89 -54
  25. package/esm2022/lib/services/weak.service.mjs +4 -3
  26. package/esm2022/lib/utils/cacheControl.mjs +24 -0
  27. package/esm2022/lib/utils/deepEqual.mjs +27 -19
  28. package/esm2022/lib/utils/groupByRow.mjs +2 -1
  29. package/esm2022/lib/utils/observable.mjs +7 -3
  30. package/esm2022/public-api.mjs +33 -1
  31. package/fesm2022/wemake4u-form-player-se.mjs +545 -169
  32. package/fesm2022/wemake4u-form-player-se.mjs.map +1 -1
  33. package/lib/controls/factory.d.ts +1 -1
  34. package/lib/directives/collapse.directive.d.ts +6 -1
  35. package/lib/directives/dropdown.directive.d.ts +5 -2
  36. package/lib/directives/tabcontrol.directive.d.ts +3 -1
  37. package/lib/dynamic-fields/dynamic-fields.component.d.ts +5 -3
  38. package/lib/dynamic-form/dynamic-form.component.d.ts +3 -0
  39. package/lib/services/dialog.service.d.ts +10 -3
  40. package/lib/services/feel.service.d.ts +7 -2
  41. package/lib/services/form.service.d.ts +3 -0
  42. package/lib/services/function.service.d.ts +2 -0
  43. package/lib/services/programmability.service.d.ts +3 -3
  44. package/lib/services/validation.service.d.ts +5 -2
  45. package/lib/services/weak.service.d.ts +1 -1
  46. package/lib/utils/cacheControl.d.ts +9 -0
  47. package/lib/utils/deepEqual.d.ts +3 -1
  48. package/lib/utils/groupByRow.d.ts +1 -0
  49. package/lib/utils/observable.d.ts +1 -1
  50. package/package.json +3 -3
  51. package/public-api.d.ts +32 -0
  52. package/esm2022/lib/utils/patch.mjs +0 -17
  53. package/lib/utils/patch.d.ts +0 -1
@@ -7,6 +7,8 @@ import registerFn from './register.json';
7
7
  import formFn from './form.json';
8
8
  import feelFn from './feel.json';
9
9
  import jsonFn from './json.json';
10
+ import cacheFn from './cache.json';
11
+ import navFn from './nav.json';
10
12
  export const builtIn = [
11
13
  consoleFn,
12
14
  formGroupFn,
@@ -19,8 +21,10 @@ export const builtIn = [
19
21
  ...registerFn,
20
22
  ...formFn,
21
23
  ...feelFn,
22
- ...jsonFn
24
+ ...jsonFn,
25
+ ...cacheFn,
26
+ ...navFn
23
27
  ]
24
28
  }
25
29
  ];
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbHRJbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zaXJpby9zcmMvbGliL2J1aWx0SW4vYnVpbHRJbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLFNBQVMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2QyxPQUFPLFdBQVcsTUFBTSxrQkFBa0IsQ0FBQztBQUMzQyxPQUFPLFFBQVEsTUFBTSxlQUFlLENBQUM7QUFDckMsT0FBTyxVQUFVLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxXQUFXLE1BQU0sa0JBQWtCLENBQUM7QUFDM0MsT0FBTyxVQUFVLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxNQUFNLE1BQU0sYUFBYSxDQUFDO0FBQ2pDLE9BQU8sTUFBTSxNQUFNLGFBQWEsQ0FBQztBQUNqQyxPQUFPLE1BQU0sTUFBTSxhQUFhLENBQUM7QUFFakMsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHO0lBQ3JCLFNBQVM7SUFDVCxXQUFXO0lBQ1g7UUFDRSxNQUFNLEVBQUUsSUFBSTtRQUNaLFNBQVMsRUFBRTtZQUNULEdBQUcsUUFBUTtZQUNYLEdBQUcsVUFBVTtZQUNiLEdBQUcsV0FBVztZQUNkLEdBQUcsVUFBVTtZQUNiLEdBQUcsTUFBTTtZQUNULEdBQUcsTUFBTTtZQUNULEdBQUcsTUFBTTtTQUNWO0tBQ0Y7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNvbnNvbGVGbiBmcm9tICcuL2NvbnNvbGUuanNvbic7XHJcbmltcG9ydCBmb3JtR3JvdXBGbiBmcm9tICcuL2Zvcm1Hcm91cC5qc29uJztcclxuaW1wb3J0IGRpYWxvZ0ZuIGZyb20gJy4vZGlhbG9nLmpzb24nO1xyXG5pbXBvcnQgZnVuY3Rpb25GbiBmcm9tICcuL2Z1bmN0aW9uLmpzb24nO1xyXG5pbXBvcnQgZm9ybWF0dGVyRm4gZnJvbSAnLi9mb3JtYXR0ZXIuanNvbic7XHJcbmltcG9ydCByZWdpc3RlckZuIGZyb20gJy4vcmVnaXN0ZXIuanNvbic7XHJcbmltcG9ydCBmb3JtRm4gZnJvbSAnLi9mb3JtLmpzb24nO1xyXG5pbXBvcnQgZmVlbEZuIGZyb20gJy4vZmVlbC5qc29uJztcclxuaW1wb3J0IGpzb25GbiBmcm9tICcuL2pzb24uanNvbic7XHJcblxyXG5leHBvcnQgY29uc3QgYnVpbHRJbiA9IFtcclxuICBjb25zb2xlRm4sXHJcbiAgZm9ybUdyb3VwRm4sXHJcbiAge1xyXG4gICAgXCJuYW1lXCI6IFwiZm5cIixcclxuICAgIFwiZW50cmllc1wiOiBbXHJcbiAgICAgIC4uLmRpYWxvZ0ZuLFxyXG4gICAgICAuLi5mdW5jdGlvbkZuLFxyXG4gICAgICAuLi5mb3JtYXR0ZXJGbixcclxuICAgICAgLi4ucmVnaXN0ZXJGbixcclxuICAgICAgLi4uZm9ybUZuLFxyXG4gICAgICAuLi5mZWVsRm4sXHJcbiAgICAgIC4uLmpzb25GblxyXG4gICAgXVxyXG4gIH1cclxuXTtcclxuIl19
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbHRJbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zaXJpby9zcmMvbGliL2J1aWx0SW4vYnVpbHRJbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLFNBQVMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2QyxPQUFPLFdBQVcsTUFBTSxrQkFBa0IsQ0FBQztBQUMzQyxPQUFPLFFBQVEsTUFBTSxlQUFlLENBQUM7QUFDckMsT0FBTyxVQUFVLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxXQUFXLE1BQU0sa0JBQWtCLENBQUM7QUFDM0MsT0FBTyxVQUFVLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxNQUFNLE1BQU0sYUFBYSxDQUFDO0FBQ2pDLE9BQU8sTUFBTSxNQUFNLGFBQWEsQ0FBQztBQUNqQyxPQUFPLE1BQU0sTUFBTSxhQUFhLENBQUM7QUFDakMsT0FBTyxPQUFPLE1BQU0sY0FBYyxDQUFDO0FBQ25DLE9BQU8sS0FBSyxNQUFNLFlBQVksQ0FBQztBQUUvQixNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUc7SUFDckIsU0FBUztJQUNULFdBQVc7SUFDWDtRQUNFLE1BQU0sRUFBRSxJQUFJO1FBQ1osU0FBUyxFQUFFO1lBQ1QsR0FBRyxRQUFRO1lBQ1gsR0FBRyxVQUFVO1lBQ2IsR0FBRyxXQUFXO1lBQ2QsR0FBRyxVQUFVO1lBQ2IsR0FBRyxNQUFNO1lBQ1QsR0FBRyxNQUFNO1lBQ1QsR0FBRyxNQUFNO1lBQ1QsR0FBRyxPQUFPO1lBQ1YsR0FBRyxLQUFLO1NBQ1Q7S0FDRjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY29uc29sZUZuIGZyb20gJy4vY29uc29sZS5qc29uJztcclxuaW1wb3J0IGZvcm1Hcm91cEZuIGZyb20gJy4vZm9ybUdyb3VwLmpzb24nO1xyXG5pbXBvcnQgZGlhbG9nRm4gZnJvbSAnLi9kaWFsb2cuanNvbic7XHJcbmltcG9ydCBmdW5jdGlvbkZuIGZyb20gJy4vZnVuY3Rpb24uanNvbic7XHJcbmltcG9ydCBmb3JtYXR0ZXJGbiBmcm9tICcuL2Zvcm1hdHRlci5qc29uJztcclxuaW1wb3J0IHJlZ2lzdGVyRm4gZnJvbSAnLi9yZWdpc3Rlci5qc29uJztcclxuaW1wb3J0IGZvcm1GbiBmcm9tICcuL2Zvcm0uanNvbic7XHJcbmltcG9ydCBmZWVsRm4gZnJvbSAnLi9mZWVsLmpzb24nO1xyXG5pbXBvcnQganNvbkZuIGZyb20gJy4vanNvbi5qc29uJztcclxuaW1wb3J0IGNhY2hlRm4gZnJvbSAnLi9jYWNoZS5qc29uJztcclxuaW1wb3J0IG5hdkZuIGZyb20gJy4vbmF2Lmpzb24nO1xyXG5cclxuZXhwb3J0IGNvbnN0IGJ1aWx0SW4gPSBbXHJcbiAgY29uc29sZUZuLFxyXG4gIGZvcm1Hcm91cEZuLFxyXG4gIHtcclxuICAgIFwibmFtZVwiOiBcImZuXCIsXHJcbiAgICBcImVudHJpZXNcIjogW1xyXG4gICAgICAuLi5kaWFsb2dGbixcclxuICAgICAgLi4uZnVuY3Rpb25GbixcclxuICAgICAgLi4uZm9ybWF0dGVyRm4sXHJcbiAgICAgIC4uLnJlZ2lzdGVyRm4sXHJcbiAgICAgIC4uLmZvcm1GbixcclxuICAgICAgLi4uZmVlbEZuLFxyXG4gICAgICAuLi5qc29uRm4sXHJcbiAgICAgIC4uLmNhY2hlRm4sXHJcbiAgICAgIC4uLm5hdkZuXHJcbiAgICBdXHJcbiAgfVxyXG5dO1xyXG4iXX0=
@@ -0,0 +1,30 @@
1
+ [
2
+ {
3
+ "name": "volatile",
4
+ "type": "function",
5
+ "detail": "Marks an expression as volatile and returns its value",
6
+ "info": "Returns the provided value unchanged and marks the current evaluation as volatile.\n\n---\n\n### Function signature\n\n```\nvolatile<T>(value: T): T\n```\n\n---\n\n### Notes\n\nThe value is returned unchanged.\n\nWhen this function is invoked, the current evaluation is marked as volatile so it can be excluded from caching.\n\n---\n\n### Examples\n\n```ts\nvolatile(user.name)\nvolatile(now())\n```",
7
+ "params": [
8
+ {
9
+ "name": "value",
10
+ "type": "any"
11
+ }
12
+ ]
13
+ },
14
+ {
15
+ "name": "cacheFor",
16
+ "type": "function",
17
+ "detail": "Caches a value for a specified duration",
18
+ "info": "Returns the provided value unchanged and marks the current evaluation to be cached for the specified time-to-live (TTL) in milliseconds.\n\n---\n\n### Function signature\n\n```\ncacheFor<T>(value: T, ttl: number): T\n```\n\n---\n\n### Notes\n\nThe value is returned unchanged.\n\nWhen this function is invoked, the current evaluation result should be cached for the given TTL (in milliseconds).\n\nIf multiple cache directives are used, the last one applied should take precedence.\n\n---\n\n### Examples\n\n```ts\ncacheFor(now(), 1000)\n```",
19
+ "params": [
20
+ {
21
+ "name": "value",
22
+ "type": "any"
23
+ },
24
+ {
25
+ "name": "ttl",
26
+ "type": "number"
27
+ }
28
+ ]
29
+ }
30
+ ]
@@ -37,6 +37,31 @@
37
37
  }
38
38
  ]
39
39
  },
40
+ {
41
+ "name": "reset",
42
+ "type": "function",
43
+ "detail": "Resets a control by path",
44
+ "info": "Resets the control identified by the given path.\n\n---\n\n### Function signature\n\n```\nreset(path: Path): void\n```\n\n---\n\n### Examples\n\n```feel\nreset(\"user.name\")\n\nreset([\"items\", 0, \"price\"])\n```",
45
+ "params": [
46
+ {
47
+ "name": "path",
48
+ "type": "Path"
49
+ }
50
+ ]
51
+ },
52
+ {
53
+ "name": "resetAll",
54
+ "type": "function",
55
+ "detail": "Resets multiple controls by path",
56
+ "info": "Resets all controls identified by the given paths.\n\n---\n\n### Function signature\n\n```\nresetAll(...paths: string[]): void\n```\n\n---\n\n### Examples\n\n```feel\nresetAll(\"user.name\", \"address.city\")\n\nresetAll(\"items.0.price\", \"items.1.price\")\n```",
57
+ "params": [
58
+ {
59
+ "name": "paths",
60
+ "type": "string[]",
61
+ "rest": true
62
+ }
63
+ ]
64
+ },
40
65
  {
41
66
  "name": "status",
42
67
  "type": "function",
@@ -27,6 +27,34 @@
27
27
  }
28
28
  ]
29
29
  },
30
+ {
31
+ "name": "asObservable",
32
+ "type": "function",
33
+ "detail": "Creates an observable that emits a single value",
34
+ "info": "Creates an observable that emits exactly one value and then completes.\n\n---\n\n### Function signature\n\n```\nofOnce<T>(value: T): Observable<T>\n```\n\n---\n\n### Notes\n\nThis is equivalent to `of(value)` but guarantees a single emission, avoiding ambiguity with multiple values.\n\n---\n\n### Examples\n\n```ts\nofOnce(42)\n\nexecuteOnce(ofOnce(\"hello\"), {\n invoke: value => console.log(value)\n});\n```",
35
+ "params": [
36
+ {
37
+ "name": "value",
38
+ "type": "any"
39
+ }
40
+ ]
41
+ },
42
+ {
43
+ "name": "setTimeout",
44
+ "type": "function",
45
+ "detail": "Executes a callback after a delay",
46
+ "info": "Executes a callback once after the specified delay in milliseconds.\n\n---\n\n### Function signature\n\n```\nsetTimeout(callback: any, delay: number): void\n```\n\n---\n\n### Notes\n\nThe callback is invoked only once after the given delay.\n\n---\n\n### Examples\n\n```ts\nsetTimeout({\n invoke: () => console.log('done')\n}, 1000);\n```",
47
+ "params": [
48
+ {
49
+ "name": "callback",
50
+ "type": "any"
51
+ },
52
+ {
53
+ "name": "delay",
54
+ "type": "number"
55
+ }
56
+ ]
57
+ },
30
58
  {
31
59
  "name": "openForm",
32
60
  "type": "function",
@@ -0,0 +1,37 @@
1
+ [
2
+ {
3
+ "name": "canPrevious",
4
+ "type": "function",
5
+ "detail": "Checks if navigation to the previous step is allowed",
6
+ "info": "Returns true if it is possible to navigate to the previous step, otherwise false.\n\n---\n\n### Function signature\n\n```\ncanPrevious(): boolean\n```\n\n---\n\n### Notes\n\nThis function does not perform navigation, it only evaluates whether moving to the previous step is allowed.\n\n---\n\n### Examples\n\n```ts\ncanPrevious()\n```",
7
+ "params": []
8
+ },
9
+ {
10
+ "name": "goPrevious",
11
+ "type": "function",
12
+ "detail": "Navigates to the previous step",
13
+ "info": "Navigates to the previous step if allowed.\n\n---\n\n### Function signature\n\n```\ngoPrevious(): void\n```\n\n---\n\n### Notes\n\nThis function performs navigation to the previous step. It is recommended to check `canPrevious()` before invoking.\n\n---\n\n### Examples\n\n```ts\ngoPrevious()\n```",
14
+ "params": []
15
+ },
16
+ {
17
+ "name": "canNext",
18
+ "type": "function",
19
+ "detail": "Checks if navigation to the next step is allowed",
20
+ "info": "Returns true if it is possible to navigate to the next step, otherwise false.\n\n---\n\n### Function signature\n\n```\ncanNext(): boolean\n```\n\n---\n\n### Notes\n\nThis function does not perform navigation, it only evaluates whether moving to the next step is allowed.\n\n---\n\n### Examples\n\n```ts\ncanNext()\n```",
21
+ "params": []
22
+ },
23
+ {
24
+ "name": "goNext",
25
+ "type": "function",
26
+ "detail": "Navigates to the next step",
27
+ "info": "Navigates to the next step if allowed.\n\n---\n\n### Function signature\n\n```\ngoNext(): void\n```\n\n---\n\n### Notes\n\nThis function performs navigation to the next step. It is recommended to check `canNext()` before invoking.\n\n---\n\n### Examples\n\n```ts\ngoNext()\n```",
28
+ "params": []
29
+ },
30
+ {
31
+ "name": "activeNav",
32
+ "type": "property",
33
+ "detail": "Gets the index of the active navigation step",
34
+ "info": "Returns the index of the currently active navigation step.\n\n---\n\n### Signature\n\n```\nactiveNav: number\n```\n\n---\n\n### Notes\n\nThe value represents the current position in the navigation flow.\n\n---\n\n### Examples\n\n```ts\nactiveNav\n```",
35
+ "params": []
36
+ }
37
+ ]
@@ -6,12 +6,17 @@ export class Control {
6
6
  throw new Error('ControlContext must not be null or undefined');
7
7
  }
8
8
  this.context = context;
9
+ const stateless = (context.metadata?.stateless === true);
9
10
  context.destroyRef?.onDestroy(() => {
10
- this.onSaveState();
11
+ if (!stateless) {
12
+ this.onSaveState();
13
+ }
11
14
  this.onDestroy();
12
15
  });
13
16
  this.onInit();
14
- setTimeout(() => this.onLoadState());
17
+ if (!stateless) {
18
+ setTimeout(() => this.onLoadState());
19
+ }
15
20
  }
16
21
  get name() {
17
22
  return this.context.name;
@@ -86,4 +91,4 @@ export class ItemControl extends ContainerControl {
86
91
  this.index = index;
87
92
  }
88
93
  }
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zaXJpby9zcmMvbGliL2NvbnRyb2xzL2NvbnRyb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXpELE1BQU0sT0FBTyxPQUFPO0lBRUQsT0FBTyxDQUFpQjtJQUV6QyxZQUFZLE9BQXVCO1FBQ2pDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNiLE1BQU0sSUFBSSxLQUFLLENBQUMsOENBQThDLENBQUMsQ0FBQztRQUNsRSxDQUFDO1FBRUQsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFFdkIsT0FBTyxDQUFDLFVBQVUsRUFBRSxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2pDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDbkIsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFFZCxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELElBQVcsSUFBSTtRQUNiLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7SUFDM0IsQ0FBQztJQUVTLFdBQVc7UUFDbkIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQztJQUMvQixDQUFDO0lBRVMsZUFBZTtRQUN2QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDO0lBQ25DLENBQUM7SUFFUyxhQUFhO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUM7SUFDakMsQ0FBQztJQUVTLFdBQVc7UUFDbkIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQztJQUMvQixDQUFDO0lBRVMsYUFBYTtRQUNyQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDO0lBQ2pDLENBQUM7SUFFUyxXQUFXO1FBQ25CLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUM7SUFDL0IsQ0FBQztJQUVTLE1BQU07SUFDaEIsQ0FBQztJQUVTLFdBQVc7SUFDckIsQ0FBQztJQUVTLFdBQVc7SUFDckIsQ0FBQztJQUVTLFNBQVM7SUFDbkIsQ0FBQztJQUVTLFFBQVE7UUFDaEIsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxFQUFFO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDckIsT0FBTyxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFUyxRQUFRLENBQUMsS0FBVTtRQUMzQixNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLEVBQUU7WUFBRSxPQUFPO1FBQ2hCLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxRQUFRLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFUyxVQUFVO1FBQ2xCLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsRUFBRTtZQUFFLE9BQU87UUFDaEIsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQseUJBQXlCO0lBRWpCLEtBQUs7UUFDWCxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNyRCxDQUFDO0lBRU8sS0FBSztRQUNYLE9BQU8sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUM5QyxDQUFDO0NBSUY7QUFFRCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsT0FBTztJQUUzQyxZQUFZLE9BQXVCO1FBQ2pDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqQixDQUFDO0lBRUQsV0FBVyxDQUNULFNBQXdDLEVBQ3hDLFNBQWtCO1FBRWxCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNwQyxPQUFPLFFBQVE7WUFDYixDQUFDLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQztZQUNuRCxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ1QsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLFdBQVksU0FBUSxnQkFBZ0I7SUFHN0I7SUFEbEIsWUFBWSxPQUF1QixFQUNqQixLQUFhO1FBQzdCLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQURDLFVBQUssR0FBTCxLQUFLLENBQVE7SUFFL0IsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiwgSW5qZWN0b3IsIERlc3Ryb3lSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBSZWdpc3RlclNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvcmVnaXN0ZXIuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBTdGF0ZVNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvc3RhdGUuc2VydmljZVwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIENvbnRyb2wge1xyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IGNvbnRleHQ6IENvbnRyb2xDb250ZXh0O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihjb250ZXh0OiBDb250cm9sQ29udGV4dCkge1xyXG4gICAgaWYgKCFjb250ZXh0KSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ29udHJvbENvbnRleHQgbXVzdCBub3QgYmUgbnVsbCBvciB1bmRlZmluZWQnKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmNvbnRleHQgPSBjb250ZXh0O1xyXG5cclxuICAgIGNvbnRleHQuZGVzdHJveVJlZj8ub25EZXN0cm95KCgpID0+IHtcclxuICAgICAgdGhpcy5vblNhdmVTdGF0ZSgpO1xyXG4gICAgICB0aGlzLm9uRGVzdHJveSgpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5vbkluaXQoKTtcclxuXHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMub25Mb2FkU3RhdGUoKSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IG5hbWUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmNvbnRleHQubmFtZTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBnZXRNZXRhZGF0YSgpOiBhbnkge1xyXG4gICAgcmV0dXJuIHRoaXMuY29udGV4dC5tZXRhZGF0YTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBnZXRDb21wb25lbnRSZWYoKTogYW55IHtcclxuICAgIHJldHVybiB0aGlzLmNvbnRleHQuY29tcG9uZW50UmVmO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldEVsZW1lbnRSZWYoKTogRWxlbWVudFJlZiB7XHJcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0LmVsZW1lbnRSZWY7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZ2V0SW5qZWN0b3IoKTogSW5qZWN0b3Ige1xyXG4gICAgcmV0dXJuIHRoaXMuY29udGV4dC5pbmplY3RvcjtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBnZXREZXN0cm95UmVmKCk6IERlc3Ryb3lSZWYge1xyXG4gICAgcmV0dXJuIHRoaXMuY29udGV4dC5kZXN0cm95UmVmO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldFJlZ2lzdGVyKCk6IFJlZ2lzdGVyU2VydmljZSB8IHVuZGVmaW5lZCB7XHJcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0LnJlZ2lzdGVyO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIG9uSW5pdCgpOiB2b2lkIHtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBvbkxvYWRTdGF0ZSgpOiB2b2lkIHtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBvblNhdmVTdGF0ZSgpOiB2b2lkIHtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBvbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZ2V0U3RhdGU8VCA9IGFueT4oKTogVCB8IG51bGwge1xyXG4gICAgY29uc3QgaWQgPSB0aGlzLmdldElkKCk7XHJcbiAgICBpZiAoIWlkKSByZXR1cm4gbnVsbDtcclxuICAgIHJldHVybiB0aGlzLlN0YXRlKCk/LmdldFN0YXRlKGlkKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBzZXRTdGF0ZShzdGF0ZTogYW55KTogdm9pZCB7XHJcbiAgICBjb25zdCBpZCA9IHRoaXMuZ2V0SWQoKTtcclxuICAgIGlmICghaWQpIHJldHVybjtcclxuICAgIHRoaXMuU3RhdGUoKT8uc2V0U3RhdGUoaWQsIHN0YXRlKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBjbGVhclN0YXRlKCk6IHZvaWQge1xyXG4gICAgY29uc3QgaWQgPSB0aGlzLmdldElkKCk7XHJcbiAgICBpZiAoIWlkKSByZXR1cm47XHJcbiAgICB0aGlzLlN0YXRlKCk/LmNsZWFyU3RhdGUoaWQpO1xyXG4gIH1cclxuXHJcbiAgLy8jcmVnaW9uIFByaXZhdGUgTWVtYmVyc1xyXG5cclxuICBwcml2YXRlIGdldElkKCk6IHN0cmluZyB8IG51bGwge1xyXG4gICAgcmV0dXJuIGAke3RoaXMuY29udGV4dC5wYXRofS4ke3RoaXMuY29udGV4dC5uYW1lfWA7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIFN0YXRlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0SW5qZWN0b3IoKS5nZXQoU3RhdGVTZXJ2aWNlKTtcclxuICB9XHJcblxyXG4gIC8vI2VuZHJlZ2lvblxyXG5cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIENvbnRhaW5lckNvbnRyb2wgZXh0ZW5kcyBDb250cm9sIHtcclxuXHJcbiAgY29uc3RydWN0b3IoY29udGV4dDogQ29udHJvbENvbnRleHQpIHtcclxuICAgIHN1cGVyKGNvbnRleHQpO1xyXG4gIH1cclxuXHJcbiAgZmluZENvbnRyb2woXHJcbiAgICBwcmVkaWNhdGU6IChjb250cm9sOiBDb250cm9sKSA9PiBib29sZWFuLFxyXG4gICAgZmlyc3RPbmx5OiBib29sZWFuXHJcbiAgKTogQ29udHJvbFtdIHtcclxuICAgIGNvbnN0IHJlZ2lzdGVyID0gdGhpcy5nZXRSZWdpc3RlcigpO1xyXG4gICAgcmV0dXJuIHJlZ2lzdGVyXHJcbiAgICAgID8gcmVnaXN0ZXIuZmluZENvbnRyb2wocHJlZGljYXRlLCBmaXJzdE9ubHksIGZhbHNlKVxyXG4gICAgICA6IFtdO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEl0ZW1Db250cm9sIGV4dGVuZHMgQ29udGFpbmVyQ29udHJvbCB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKGNvbnRleHQ6IENvbnRyb2xDb250ZXh0LFxyXG4gICAgcHVibGljIHJlYWRvbmx5IGluZGV4OiBudW1iZXIpIHtcclxuICAgIHN1cGVyKGNvbnRleHQpO1xyXG4gIH1cclxuXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29udHJvbENvbnRleHQge1xyXG4gIG5hbWU6IHN0cmluZztcclxuICBwYXRoOiBzdHJpbmc7XHJcbiAgbWV0YWRhdGE6IGFueTtcclxuICBjb21wb25lbnRSZWY6IGFueTtcclxuICBlbGVtZW50UmVmOiBFbGVtZW50UmVmO1xyXG4gIGluamVjdG9yOiBJbmplY3RvcjtcclxuICBkZXN0cm95UmVmOiBEZXN0cm95UmVmO1xyXG4gIHJlZ2lzdGVyPzogUmVnaXN0ZXJTZXJ2aWNlOyAgXHJcbn1cclxuIl19
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zaXJpby9zcmMvbGliL2NvbnRyb2xzL2NvbnRyb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXpELE1BQU0sT0FBTyxPQUFPO0lBRUQsT0FBTyxDQUFpQjtJQUV6QyxZQUFZLE9BQXVCO1FBQ2pDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNiLE1BQU0sSUFBSSxLQUFLLENBQUMsOENBQThDLENBQUMsQ0FBQztRQUNsRSxDQUFDO1FBRUQsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFFdkIsTUFBTSxTQUFTLEdBQUcsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLFNBQVMsS0FBSyxJQUFJLENBQUMsQ0FBQztRQUV6RCxPQUFPLENBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDakMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUNmLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyQixDQUFDO1lBQ0QsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBRWQsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2YsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZDLENBQUM7SUFFSCxDQUFDO0lBRUQsSUFBVyxJQUFJO1FBQ2IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztJQUMzQixDQUFDO0lBRVMsV0FBVztRQUNuQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDO0lBQy9CLENBQUM7SUFFUyxlQUFlO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUM7SUFDbkMsQ0FBQztJQUVTLGFBQWE7UUFDckIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQztJQUNqQyxDQUFDO0lBRVMsV0FBVztRQUNuQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDO0lBQy9CLENBQUM7SUFFUyxhQUFhO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUM7SUFDakMsQ0FBQztJQUVTLFdBQVc7UUFDbkIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQztJQUMvQixDQUFDO0lBRVMsTUFBTTtJQUNoQixDQUFDO0lBRVMsV0FBVztJQUNyQixDQUFDO0lBRVMsV0FBVztJQUNyQixDQUFDO0lBRVMsU0FBUztJQUNuQixDQUFDO0lBRVMsUUFBUTtRQUNoQixNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLEVBQUU7WUFBRSxPQUFPLElBQUksQ0FBQztRQUNyQixPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVTLFFBQVEsQ0FBQyxLQUFVO1FBQzNCLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsRUFBRTtZQUFFLE9BQU87UUFDaEIsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVTLFVBQVU7UUFDbEIsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxFQUFFO1lBQUUsT0FBTztRQUNoQixJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCx5QkFBeUI7SUFFakIsS0FBSztRQUNYLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3JELENBQUM7SUFFTyxLQUFLO1FBQ1gsT0FBTyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzlDLENBQUM7Q0FJRjtBQUVELE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxPQUFPO0lBRTNDLFlBQVksT0FBdUI7UUFDakMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxXQUFXLENBQ1QsU0FBd0MsRUFDeEMsU0FBa0I7UUFFbEIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3BDLE9BQU8sUUFBUTtZQUNiLENBQUMsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsS0FBSyxDQUFDO1lBQ25ELENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDVCxDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sV0FBWSxTQUFRLGdCQUFnQjtJQUc3QjtJQURsQixZQUFZLE9BQXVCLEVBQ2pCLEtBQWE7UUFDN0IsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBREMsVUFBSyxHQUFMLEtBQUssQ0FBUTtJQUUvQixDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmLCBJbmplY3RvciwgRGVzdHJveVJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFJlZ2lzdGVyU2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy9yZWdpc3Rlci5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFN0YXRlU2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy9zdGF0ZS5zZXJ2aWNlXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgQ29udHJvbCB7XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgY29udGV4dDogQ29udHJvbENvbnRleHQ7XHJcblxyXG4gIGNvbnN0cnVjdG9yKGNvbnRleHQ6IENvbnRyb2xDb250ZXh0KSB7XHJcbiAgICBpZiAoIWNvbnRleHQpIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDb250cm9sQ29udGV4dCBtdXN0IG5vdCBiZSBudWxsIG9yIHVuZGVmaW5lZCcpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuY29udGV4dCA9IGNvbnRleHQ7XHJcblxyXG4gICAgY29uc3Qgc3RhdGVsZXNzID0gKGNvbnRleHQubWV0YWRhdGE/LnN0YXRlbGVzcyA9PT0gdHJ1ZSk7XHJcblxyXG4gICAgY29udGV4dC5kZXN0cm95UmVmPy5vbkRlc3Ryb3koKCkgPT4ge1xyXG4gICAgICBpZiAoIXN0YXRlbGVzcykge1xyXG4gICAgICAgIHRoaXMub25TYXZlU3RhdGUoKTtcclxuICAgICAgfSAgICAgIFxyXG4gICAgICB0aGlzLm9uRGVzdHJveSgpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5vbkluaXQoKTtcclxuXHJcbiAgICBpZiAoIXN0YXRlbGVzcykge1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMub25Mb2FkU3RhdGUoKSk7XHJcbiAgICB9XHJcbiAgICBcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgbmFtZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuY29udGV4dC5uYW1lO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldE1ldGFkYXRhKCk6IGFueSB7XHJcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0Lm1ldGFkYXRhO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldENvbXBvbmVudFJlZigpOiBhbnkge1xyXG4gICAgcmV0dXJuIHRoaXMuY29udGV4dC5jb21wb25lbnRSZWY7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZ2V0RWxlbWVudFJlZigpOiBFbGVtZW50UmVmIHtcclxuICAgIHJldHVybiB0aGlzLmNvbnRleHQuZWxlbWVudFJlZjtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBnZXRJbmplY3RvcigpOiBJbmplY3RvciB7XHJcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0LmluamVjdG9yO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldERlc3Ryb3lSZWYoKTogRGVzdHJveVJlZiB7XHJcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0LmRlc3Ryb3lSZWY7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZ2V0UmVnaXN0ZXIoKTogUmVnaXN0ZXJTZXJ2aWNlIHwgdW5kZWZpbmVkIHtcclxuICAgIHJldHVybiB0aGlzLmNvbnRleHQucmVnaXN0ZXI7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgb25Jbml0KCk6IHZvaWQge1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIG9uTG9hZFN0YXRlKCk6IHZvaWQge1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIG9uU2F2ZVN0YXRlKCk6IHZvaWQge1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIG9uRGVzdHJveSgpOiB2b2lkIHtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBnZXRTdGF0ZTxUID0gYW55PigpOiBUIHwgbnVsbCB7XHJcbiAgICBjb25zdCBpZCA9IHRoaXMuZ2V0SWQoKTtcclxuICAgIGlmICghaWQpIHJldHVybiBudWxsO1xyXG4gICAgcmV0dXJuIHRoaXMuU3RhdGUoKT8uZ2V0U3RhdGUoaWQpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIHNldFN0YXRlKHN0YXRlOiBhbnkpOiB2b2lkIHtcclxuICAgIGNvbnN0IGlkID0gdGhpcy5nZXRJZCgpO1xyXG4gICAgaWYgKCFpZCkgcmV0dXJuO1xyXG4gICAgdGhpcy5TdGF0ZSgpPy5zZXRTdGF0ZShpZCwgc3RhdGUpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGNsZWFyU3RhdGUoKTogdm9pZCB7XHJcbiAgICBjb25zdCBpZCA9IHRoaXMuZ2V0SWQoKTtcclxuICAgIGlmICghaWQpIHJldHVybjtcclxuICAgIHRoaXMuU3RhdGUoKT8uY2xlYXJTdGF0ZShpZCk7XHJcbiAgfVxyXG5cclxuICAvLyNyZWdpb24gUHJpdmF0ZSBNZW1iZXJzXHJcblxyXG4gIHByaXZhdGUgZ2V0SWQoKTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gYCR7dGhpcy5jb250ZXh0LnBhdGh9LiR7dGhpcy5jb250ZXh0Lm5hbWV9YDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgU3RhdGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5nZXRJbmplY3RvcigpLmdldChTdGF0ZVNlcnZpY2UpO1xyXG4gIH1cclxuXHJcbiAgLy8jZW5kcmVnaW9uXHJcblxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgQ29udGFpbmVyQ29udHJvbCBleHRlbmRzIENvbnRyb2wge1xyXG5cclxuICBjb25zdHJ1Y3Rvcihjb250ZXh0OiBDb250cm9sQ29udGV4dCkge1xyXG4gICAgc3VwZXIoY29udGV4dCk7XHJcbiAgfVxyXG5cclxuICBmaW5kQ29udHJvbChcclxuICAgIHByZWRpY2F0ZTogKGNvbnRyb2w6IENvbnRyb2wpID0+IGJvb2xlYW4sXHJcbiAgICBmaXJzdE9ubHk6IGJvb2xlYW5cclxuICApOiBDb250cm9sW10ge1xyXG4gICAgY29uc3QgcmVnaXN0ZXIgPSB0aGlzLmdldFJlZ2lzdGVyKCk7XHJcbiAgICByZXR1cm4gcmVnaXN0ZXJcclxuICAgICAgPyByZWdpc3Rlci5maW5kQ29udHJvbChwcmVkaWNhdGUsIGZpcnN0T25seSwgZmFsc2UpXHJcbiAgICAgIDogW107XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgSXRlbUNvbnRyb2wgZXh0ZW5kcyBDb250YWluZXJDb250cm9sIHtcclxuXHJcbiAgY29uc3RydWN0b3IoY29udGV4dDogQ29udHJvbENvbnRleHQsXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgaW5kZXg6IG51bWJlcikge1xyXG4gICAgc3VwZXIoY29udGV4dCk7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDb250cm9sQ29udGV4dCB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHBhdGg6IHN0cmluZztcclxuICBtZXRhZGF0YTogYW55O1xyXG4gIGNvbXBvbmVudFJlZjogYW55O1xyXG4gIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY7XHJcbiAgaW5qZWN0b3I6IEluamVjdG9yO1xyXG4gIGRlc3Ryb3lSZWY6IERlc3Ryb3lSZWY7XHJcbiAgcmVnaXN0ZXI/OiBSZWdpc3RlclNlcnZpY2U7ICBcclxufVxyXG4iXX0=
@@ -1,35 +1,35 @@
1
- import { Control } from '../controls/control';
2
- import { FormControl } from '../controls/form';
3
- import { TextFieldControl } from '../controls/textfield';
4
- import { SelectControl } from '../controls/select';
5
- import { TagListControl } from '../controls/taglist';
6
- import { NumberControl } from '../controls/number';
7
- import { DateControl } from '../controls/date';
8
- import { TimeControl } from '../controls/time';
9
- import { DateTimeControl } from '../controls/datetime';
10
- import { ToggleControl } from '../controls/toggle';
11
- import { CheckBoxControl } from '../controls/checkbox';
12
- import { ChipRadioControl } from '../controls/chipradio';
13
- import { RadioControl } from '../controls/radio';
14
- import { ChipCheckListControl } from '../controls/chipchecklist';
15
- import { CheckListControl } from '../controls/checklist';
16
- import { TextAreaControl } from '../controls/textarea';
17
- import { FilePickerControl } from '../controls/filepicker';
18
- import { TextControl } from '../controls/text';
19
- import { HtmlControl } from '../controls/html';
20
- import { ImageControl } from '../controls/image';
21
- import { TabControl } from '../controls/tab';
22
- import { ChartControl } from '../controls/chart';
23
- import { AccordionControl } from '../controls/accordion';
24
- import { DynamicListControl } from '../controls/dynamiclist';
25
- import { GroupControl } from '../controls/group';
26
- import { TableControl } from '../controls/table';
27
- import { ButtonControl } from '../controls/button';
28
- import { SeparatorControl } from '../controls/separator';
29
- import { SpacerControl } from '../controls/spacer';
30
- import { IFrameControl } from '../controls/iframe';
31
- import { TooltipControl } from '../controls/tooltip';
32
- import { DisplayFieldControl } from '../controls/displayfield';
1
+ import { Control } from './control';
2
+ import { FormControl } from './form';
3
+ import { TextFieldControl } from './textfield';
4
+ import { SelectControl } from './select';
5
+ import { TagListControl } from './taglist';
6
+ import { NumberControl } from './number';
7
+ import { DateControl } from './date';
8
+ import { TimeControl } from './time';
9
+ import { DateTimeControl } from './datetime';
10
+ import { ToggleControl } from './toggle';
11
+ import { CheckBoxControl } from './checkbox';
12
+ import { ChipRadioControl } from './chipradio';
13
+ import { RadioControl } from './radio';
14
+ import { ChipCheckListControl } from './chipchecklist';
15
+ import { CheckListControl } from './checklist';
16
+ import { TextAreaControl } from './textarea';
17
+ import { FilePickerControl } from './filepicker';
18
+ import { TextControl } from './text';
19
+ import { HtmlControl } from './html';
20
+ import { ImageControl } from './image';
21
+ import { TabControl } from './tab';
22
+ import { ChartControl } from './chart';
23
+ import { AccordionControl } from './accordion';
24
+ import { DynamicListControl } from './dynamiclist';
25
+ import { GroupControl } from './group';
26
+ import { TableControl } from './table';
27
+ import { ButtonControl } from './button';
28
+ import { SeparatorControl } from './separator';
29
+ import { SpacerControl } from './spacer';
30
+ import { IFrameControl } from './iframe';
31
+ import { TooltipControl } from './tooltip';
32
+ import { DisplayFieldControl } from './displayfield';
33
33
  export function createControl(context) {
34
34
  switch (context.metadata.type) {
35
35
  case "default":
@@ -119,4 +119,4 @@ export function createControl(context) {
119
119
  return new Control(context);
120
120
  }
121
121
  }
122
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zaXJpby9zcmMvbGliL2NvbnRyb2xzL2ZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBa0IsTUFBTSxxQkFBcUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDakUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzNELE9BQU8s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LEtBQUssUUFBUTtZQUNYLE9BQU8sSUFBSSxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFcEMsS0FBSyxRQUFRO1lBQ1gsT0FBTyxJQUFJLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVwQyxLQUFLLFNBQVM7WUFDWixPQUFPLElBQUksY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXJDLEtBQUssS0FBSztZQUNSLE9BQU8sSUFBSSxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFakMsS0FBSyxXQUFXO1lBQ2QsT0FBTyxJQUFJLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXZDO1lBQ0UsT0FBTyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoQyxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnRyb2wsIENvbnRyb2xDb250ZXh0IH0gZnJvbSAnLi4vY29udHJvbHMvY29udHJvbCc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnLi4vY29udHJvbHMvZm9ybSc7XHJcbmltcG9ydCB7IFRleHRGaWVsZENvbnRyb2wgfSBmcm9tICcuLi9jb250cm9scy90ZXh0ZmllbGQnO1xyXG5pbXBvcnQgeyBTZWxlY3RDb250cm9sIH0gZnJvbSAnLi4vY29udHJvbHMvc2VsZWN0JztcclxuaW1wb3J0IHsgVGFnTGlzdENvbnRyb2wgfSBmcm9tICcuLi9jb250cm9scy90YWdsaXN0JztcclxuaW1wb3J0IHsgTnVtYmVyQ29udHJvbCB9IGZyb20gJy4uL2NvbnRyb2xzL251bWJlcic7XHJcbmltcG9ydCB7IERhdGVDb250cm9sIH0gZnJvbSAnLi4vY29udHJvbHMvZGF0ZSc7XHJcbmltcG9ydCB7IFRpbWVDb250cm9sIH0gZnJvbSAnLi4vY29udHJvbHMvdGltZSc7XHJcbmltcG9ydCB7IERhdGVUaW1lQ29udHJvbCB9IGZyb20gJy4uL2NvbnRyb2xzL2RhdGV0aW1lJztcclxuaW1wb3J0IHsgVG9nZ2xlQ29udHJvbCB9IGZyb20gJy4uL2NvbnRyb2xzL3RvZ2dsZSc7XHJcbmltcG9ydCB7IENoZWNrQm94Q29udHJvbCB9IGZyb20gJy4uL2NvbnRyb2xzL2NoZWNrYm94JztcclxuaW1wb3J0IHsgQ2hpcFJhZGlvQ29udHJvbCB9IGZyb20gJy4uL2NvbnRyb2xzL2NoaXByYWRpbyc7XHJcbmltcG9ydCB7IFJhZGlvQ29udHJvbCB9IGZyb20gJy4uL2NvbnRyb2xzL3JhZGlvJztcclxuaW1wb3J0IHsgQ2hpcENoZWNrTGlzdENvbnRyb2wgfSBmcm9tICcuLi9jb250cm9scy9jaGlwY2hlY2tsaXN0JztcclxuaW1wb3J0IHsgQ2hlY2tMaXN0Q29udHJvbCB9IGZyb20gJy4uL2NvbnRyb2xzL2NoZWNrbGlzdCc7XHJcbmltcG9ydCB7IFRleHRBcmVhQ29udHJvbCB9IGZyb20gJy4uL2NvbnRyb2xzL3RleHRhcmVhJztcclxuaW1wb3J0IHsgRmlsZVBpY2tlckNvbnRyb2wgfSBmcm9tICcuLi9jb250cm9scy9maWxlcGlja2VyJztcclxuaW1wb3J0IHsgVGV4dENvbnRyb2wgfSBmcm9tICcuLi9jb250cm9scy90ZXh0JztcclxuaW1wb3J0IHsgSHRtbENvbnRyb2wgfSBmcm9tICcuLi9jb250cm9scy9odG1sJztcclxuaW1wb3J0IHsgSW1hZ2VDb250cm9sIH0gZnJvbSAnLi4vY29udHJvbHMvaW1hZ2UnO1xyXG5pbXBvcnQgeyBUYWJDb250cm9sIH0gZnJvbSAnLi4vY29udHJvbHMvdGFiJztcclxuaW1wb3J0IHsgQ2hhcnRDb250cm9sIH0gZnJvbSAnLi4vY29udHJvbHMvY2hhcnQnO1xyXG5pbXBvcnQgeyBBY2NvcmRpb25Db250cm9sIH0gZnJvbSAnLi4vY29udHJvbHMvYWNjb3JkaW9uJztcclxuaW1wb3J0IHsgRHluYW1pY0xpc3RDb250cm9sIH0gZnJvbSAnLi4vY29udHJvbHMvZHluYW1pY2xpc3QnO1xyXG5pbXBvcnQgeyBHcm91cENvbnRyb2wgfSBmcm9tICcuLi9jb250cm9scy9ncm91cCc7XHJcbmltcG9ydCB7IFRhYmxlQ29udHJvbCB9IGZyb20gJy4uL2NvbnRyb2xzL3RhYmxlJztcclxuaW1wb3J0IHsgQnV0dG9uQ29udHJvbCB9IGZyb20gJy4uL2NvbnRyb2xzL2J1dHRvbic7XHJcbmltcG9ydCB7IFNlcGFyYXRvckNvbnRyb2wgfSBmcm9tICcuLi9jb250cm9scy9zZXBhcmF0b3InO1xyXG5pbXBvcnQgeyBTcGFjZXJDb250cm9sIH0gZnJvbSAnLi4vY29udHJvbHMvc3BhY2VyJztcclxuaW1wb3J0IHsgSUZyYW1lQ29udHJvbCB9IGZyb20gJy4uL2NvbnRyb2xzL2lmcmFtZSc7XHJcbmltcG9ydCB7IFRvb2x0aXBDb250cm9sIH0gZnJvbSAnLi4vY29udHJvbHMvdG9vbHRpcCc7XHJcbmltcG9ydCB7IERpc3BsYXlGaWVsZENvbnRyb2wgfSBmcm9tICcuLi9jb250cm9scy9kaXNwbGF5ZmllbGQnO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUNvbnRyb2woY29udGV4dDogQ29udHJvbENvbnRleHQpOiBDb250cm9sIHtcclxuXHJcbiAgc3dpdGNoIChjb250ZXh0Lm1ldGFkYXRhLnR5cGUpIHtcclxuXHJcbiAgICBjYXNlIFwiZGVmYXVsdFwiOlxyXG4gICAgICByZXR1cm4gbmV3IEZvcm1Db250cm9sKGNvbnRleHQpO1xyXG5cclxuICAgIGNhc2UgXCJ0ZXh0ZmllbGRcIjpcclxuICAgICAgcmV0dXJuIG5ldyBUZXh0RmllbGRDb250cm9sKGNvbnRleHQpO1xyXG5cclxuICAgIGNhc2UgXCJzZWxlY3RcIjpcclxuICAgICAgcmV0dXJuIG5ldyBTZWxlY3RDb250cm9sKGNvbnRleHQpO1xyXG5cclxuICAgIGNhc2UgXCJ0YWdsaXN0XCI6XHJcbiAgICAgIHJldHVybiBuZXcgVGFnTGlzdENvbnRyb2woY29udGV4dCk7XHJcblxyXG4gICAgY2FzZSBcIm51bWJlclwiOlxyXG4gICAgICByZXR1cm4gbmV3IE51bWJlckNvbnRyb2woY29udGV4dCk7XHJcblxyXG4gICAgY2FzZSBcImRhdGV0aW1lXCI6XHJcbiAgICAgIHN3aXRjaCAoY29udGV4dC5tZXRhZGF0YS5zdWJ0eXBlKSB7XHJcbiAgICAgICAgY2FzZSBcImRhdGVcIjpcclxuICAgICAgICAgIHJldHVybiBuZXcgRGF0ZUNvbnRyb2woY29udGV4dCk7XHJcbiAgICAgICAgY2FzZSBcInRpbWVcIjpcclxuICAgICAgICAgIHJldHVybiBuZXcgVGltZUNvbnRyb2woY29udGV4dCk7XHJcbiAgICAgICAgY2FzZSBcImRhdGV0aW1lXCI6XHJcbiAgICAgICAgICByZXR1cm4gbmV3IERhdGVUaW1lQ29udHJvbChjb250ZXh0KTtcclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgcmV0dXJuIG5ldyBDb250cm9sKGNvbnRleHQpO1xyXG4gICAgICB9XHJcblxyXG4gICAgY2FzZSBcImNoZWNrYm94XCI6XHJcbiAgICAgIHN3aXRjaCAoY29udGV4dC5tZXRhZGF0YS5zdWJ0eXBlKSB7XHJcbiAgICAgICAgY2FzZSBcInRvZ2dsZVwiOlxyXG4gICAgICAgICAgcmV0dXJuIG5ldyBUb2dnbGVDb250cm9sKGNvbnRleHQpO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICByZXR1cm4gbmV3IENoZWNrQm94Q29udHJvbChjb250ZXh0KTtcclxuICAgICAgfVxyXG5cclxuICAgIGNhc2UgXCJyYWRpb1wiOlxyXG4gICAgICBzd2l0Y2ggKGNvbnRleHQubWV0YWRhdGEuc3VidHlwZSkge1xyXG4gICAgICAgIGNhc2UgXCJjaGlwXCI6XHJcbiAgICAgICAgICByZXR1cm4gbmV3IENoaXBSYWRpb0NvbnRyb2woY29udGV4dCk7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgIHJldHVybiBuZXcgUmFkaW9Db250cm9sKGNvbnRleHQpO1xyXG4gICAgICB9XHJcblxyXG4gICAgY2FzZSBcImNoZWNrbGlzdFwiOlxyXG4gICAgICBzd2l0Y2ggKGNvbnRleHQubWV0YWRhdGEuc3VidHlwZSkge1xyXG4gICAgICAgIGNhc2UgXCJjaGlwXCI6XHJcbiAgICAgICAgICByZXR1cm4gbmV3IENoaXBDaGVja0xpc3RDb250cm9sKGNvbnRleHQpO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICByZXR1cm4gbmV3IENoZWNrTGlzdENvbnRyb2woY29udGV4dCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICBjYXNlIFwidGV4dGFyZWFcIjpcclxuICAgICAgcmV0dXJuIG5ldyBUZXh0QXJlYUNvbnRyb2woY29udGV4dCk7XHJcblxyXG4gICAgY2FzZSBcImZpbGVwaWNrZXJcIjpcclxuICAgICAgcmV0dXJuIG5ldyBGaWxlUGlja2VyQ29udHJvbChjb250ZXh0KTtcclxuXHJcbiAgICBjYXNlIFwiZGlzcGxheWZpZWxkXCI6XHJcbiAgICAgIHJldHVybiBuZXcgRGlzcGxheUZpZWxkQ29udHJvbChjb250ZXh0KTtcclxuXHJcbiAgICBjYXNlIFwidGV4dFwiOlxyXG4gICAgICByZXR1cm4gbmV3IFRleHRDb250cm9sKGNvbnRleHQpO1xyXG5cclxuICAgIGNhc2UgXCJodG1sXCI6XHJcbiAgICAgIHJldHVybiBuZXcgSHRtbENvbnRyb2woY29udGV4dCk7XHJcblxyXG4gICAgY2FzZSBcImltYWdlXCI6XHJcbiAgICAgIHJldHVybiBuZXcgSW1hZ2VDb250cm9sKGNvbnRleHQpO1xyXG5cclxuICAgIGNhc2UgXCJkeW5hbWljbGlzdFwiOlxyXG4gICAgICBzd2l0Y2ggKGNvbnRleHQubWV0YWRhdGEuc3VidHlwZSkge1xyXG4gICAgICAgIGNhc2UgXCJ0YWJcIjpcclxuICAgICAgICAgIHJldHVybiBuZXcgVGFiQ29udHJvbChjb250ZXh0KTtcclxuICAgICAgICBjYXNlIFwiYWNjb3JkaW9uXCI6XHJcbiAgICAgICAgICByZXR1cm4gbmV3IEFjY29yZGlvbkNvbnRyb2woY29udGV4dCk7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgIHJldHVybiBuZXcgRHluYW1pY0xpc3RDb250cm9sKGNvbnRleHQpO1xyXG4gICAgICB9XHJcblxyXG4gICAgY2FzZSBcImdyb3VwXCI6XHJcbiAgICAgIHJldHVybiBuZXcgR3JvdXBDb250cm9sKGNvbnRleHQpO1xyXG5cclxuICAgIGNhc2UgXCJ0YWJsZVwiOlxyXG4gICAgICByZXR1cm4gbmV3IFRhYmxlQ29udHJvbChjb250ZXh0KTtcclxuXHJcbiAgICBjYXNlIFwiY2hhcnRcIjpcclxuICAgICAgcmV0dXJuIG5ldyBDaGFydENvbnRyb2woY29udGV4dCk7XHJcblxyXG4gICAgY2FzZSBcImJ1dHRvblwiOlxyXG4gICAgICByZXR1cm4gbmV3IEJ1dHRvbkNvbnRyb2woY29udGV4dCk7XHJcblxyXG4gICAgY2FzZSBcInNlcGFyYXRvclwiOlxyXG4gICAgICByZXR1cm4gbmV3IFNlcGFyYXRvckNvbnRyb2woY29udGV4dCk7XHJcblxyXG4gICAgY2FzZSBcInNwYWNlclwiOlxyXG4gICAgICByZXR1cm4gbmV3IFNwYWNlckNvbnRyb2woY29udGV4dCk7XHJcblxyXG4gICAgY2FzZSBcImlmcmFtZVwiOlxyXG4gICAgICByZXR1cm4gbmV3IElGcmFtZUNvbnRyb2woY29udGV4dCk7XHJcblxyXG4gICAgY2FzZSBcInRvb2x0aXBcIjpcclxuICAgICAgcmV0dXJuIG5ldyBUb29sdGlwQ29udHJvbChjb250ZXh0KTtcclxuXHJcbiAgICBjYXNlIFwidGFiXCI6XHJcbiAgICAgIHJldHVybiBuZXcgVGFiQ29udHJvbChjb250ZXh0KTtcclxuXHJcbiAgICBjYXNlIFwiYWNjb3JkaW9uXCI6XHJcbiAgICAgIHJldHVybiBuZXcgQWNjb3JkaW9uQ29udHJvbChjb250ZXh0KTtcclxuXHJcbiAgICBkZWZhdWx0OlxyXG4gICAgICByZXR1cm4gbmV3IENvbnRyb2woY29udGV4dCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
122
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zaXJpby9zcmMvbGliL2NvbnRyb2xzL2ZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBa0IsTUFBTSxXQUFXLENBQUM7QUFDcEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNyQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNyQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDN0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNqRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FB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SyxRQUFRO1lBQ1gsT0FBTyxJQUFJLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVwQyxLQUFLLFNBQVM7WUFDWixPQUFPLElBQUksY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXJDLEtBQUssS0FBSztZQUNSLE9BQU8sSUFBSSxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFakMsS0FBSyxXQUFXO1lBQ2QsT0FBTyxJQUFJLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXZDO1lBQ0UsT0FBTyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoQyxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnRyb2wsIENvbnRyb2xDb250ZXh0IH0gZnJvbSAnLi9jb250cm9sJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICcuL2Zvcm0nO1xyXG5pbXBvcnQgeyBUZXh0RmllbGRDb250cm9sIH0gZnJvbSAnLi90ZXh0ZmllbGQnO1xyXG5pbXBvcnQgeyBTZWxlY3RDb250cm9sIH0gZnJvbSAnLi9zZWxlY3QnO1xyXG5pbXBvcnQgeyBUYWdMaXN0Q29udHJvbCB9IGZyb20gJy4vdGFnbGlzdCc7XHJcbmltcG9ydCB7IE51bWJlckNvbnRyb2wgfSBmcm9tICcuL251bWJlcic7XHJcbmltcG9ydCB7IERhdGVDb250cm9sIH0gZnJvbSAnLi9kYXRlJztcclxuaW1wb3J0IHsgVGltZUNvbnRyb2wgfSBmcm9tICcuL3RpbWUnO1xyXG5pbXBvcnQgeyBEYXRlVGltZUNvbnRyb2wgfSBmcm9tICcuL2RhdGV0aW1lJztcclxuaW1wb3J0IHsgVG9nZ2xlQ29udHJvbCB9IGZyb20gJy4vdG9nZ2xlJztcclxuaW1wb3J0IHsgQ2hlY2tCb3hDb250cm9sIH0gZnJvbSAnLi9jaGVja2JveCc7XHJcbmltcG9ydCB7IENoaXBSYWRpb0NvbnRyb2wgfSBmcm9tICcuL2NoaXByYWRpbyc7XHJcbmltcG9ydCB7IFJhZGlvQ29udHJvbCB9IGZyb20gJy4vcmFkaW8nO1xyXG5pbXBvcnQgeyBDaGlwQ2hlY2tMaXN0Q29udHJvbCB9IGZyb20gJy4vY2hpcGNoZWNrbGlzdCc7XHJcbmltcG9ydCB7IENoZWNrTGlzdENvbnRyb2wgfSBmcm9tICcuL2NoZWNrbGlzdCc7XHJcbmltcG9ydCB7IFRleHRBcmVhQ29udHJvbCB9IGZyb20gJy4vdGV4dGFyZWEnO1xyXG5pbXBvcnQgeyBGaWxlUGlja2VyQ29udHJvbCB9IGZyb20gJy4vZmlsZXBpY2tlcic7XHJcbmltcG9ydCB7IFRleHRDb250cm9sIH0gZnJvbSAnLi90ZXh0JztcclxuaW1wb3J0IHsgSHRtbENvbnRyb2wgfSBmcm9tICcuL2h0bWwnO1xyXG5pbXBvcnQgeyBJbWFnZUNvbnRyb2wgfSBmcm9tICcuL2ltYWdlJztcclxuaW1wb3J0IHsgVGFiQ29udHJvbCB9IGZyb20gJy4vdGFiJztcclxuaW1wb3J0IHsgQ2hhcnRDb250cm9sIH0gZnJvbSAnLi9jaGFydCc7XHJcbmltcG9ydCB7IEFjY29yZGlvbkNvbnRyb2wgfSBmcm9tICcuL2FjY29yZGlvbic7XHJcbmltcG9ydCB7IER5bmFtaWNMaXN0Q29udHJvbCB9IGZyb20gJy4vZHluYW1pY2xpc3QnO1xyXG5pbXBvcnQgeyBHcm91cENvbnRyb2wgfSBmcm9tICcuL2dyb3VwJztcclxuaW1wb3J0IHsgVGFibGVDb250cm9sIH0gZnJvbSAnLi90YWJsZSc7XHJcbmltcG9ydCB7IEJ1dHRvbkNvbnRyb2wgfSBmcm9tICcuL2J1dHRvbic7XHJcbmltcG9ydCB7IFNlcGFyYXRvckNvbnRyb2wgfSBmcm9tICcuL3NlcGFyYXRvcic7XHJcbmltcG9ydCB7IFNwYWNlckNvbnRyb2wgfSBmcm9tICcuL3NwYWNlcic7XHJcbmltcG9ydCB7IElGcmFtZUNvbnRyb2wgfSBmcm9tICcuL2lmcmFtZSc7XHJcbmltcG9ydCB7IFRvb2x0aXBDb250cm9sIH0gZnJvbSAnLi90b29sdGlwJztcclxuaW1wb3J0IHsgRGlzcGxheUZpZWxkQ29udHJvbCB9IGZyb20gJy4vZGlzcGxheWZpZWxkJztcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVDb250cm9sKGNvbnRleHQ6IENvbnRyb2xDb250ZXh0KTogQ29udHJvbCB7XHJcblxyXG4gIHN3aXRjaCAoY29udGV4dC5tZXRhZGF0YS50eXBlKSB7XHJcblxyXG4gICAgY2FzZSBcImRlZmF1bHRcIjpcclxuICAgICAgcmV0dXJuIG5ldyBGb3JtQ29udHJvbChjb250ZXh0KTtcclxuXHJcbiAgICBjYXNlIFwidGV4dGZpZWxkXCI6XHJcbiAgICAgIHJldHVybiBuZXcgVGV4dEZpZWxkQ29udHJvbChjb250ZXh0KTtcclxuXHJcbiAgICBjYXNlIFwic2VsZWN0XCI6XHJcbiAgICAgIHJldHVybiBuZXcgU2VsZWN0Q29udHJvbChjb250ZXh0KTtcclxuXHJcbiAgICBjYXNlIFwidGFnbGlzdFwiOlxyXG4gICAgICByZXR1cm4gbmV3IFRhZ0xpc3RDb250cm9sKGNvbnRleHQpO1xyXG5cclxuICAgIGNhc2UgXCJudW1iZXJcIjpcclxuICAgICAgcmV0dXJuIG5ldyBOdW1iZXJDb250cm9sKGNvbnRleHQpO1xyXG5cclxuICAgIGNhc2UgXCJkYXRldGltZVwiOlxyXG4gICAgICBzd2l0Y2ggKGNvbnRleHQubWV0YWRhdGEuc3VidHlwZSkge1xyXG4gICAgICAgIGNhc2UgXCJkYXRlXCI6XHJcbiAgICAgICAgICByZXR1cm4gbmV3IERhdGVDb250cm9sKGNvbnRleHQpO1xyXG4gICAgICAgIGNhc2UgXCJ0aW1lXCI6XHJcbiAgICAgICAgICByZXR1cm4gbmV3IFRpbWVDb250cm9sKGNvbnRleHQpO1xyXG4gICAgICAgIGNhc2UgXCJkYXRldGltZVwiOlxyXG4gICAgICAgICAgcmV0dXJuIG5ldyBEYXRlVGltZUNvbnRyb2woY29udGV4dCk7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgIHJldHVybiBuZXcgQ29udHJvbChjb250ZXh0KTtcclxuICAgICAgfVxyXG5cclxuICAgIGNhc2UgXCJjaGVja2JveFwiOlxyXG4gICAgICBzd2l0Y2ggKGNvbnRleHQubWV0YWRhdGEuc3VidHlwZSkge1xyXG4gICAgICAgIGNhc2UgXCJ0b2dnbGVcIjpcclxuICAgICAgICAgIHJldHVybiBuZXcgVG9nZ2xlQ29udHJvbChjb250ZXh0KTtcclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgcmV0dXJuIG5ldyBDaGVja0JveENvbnRyb2woY29udGV4dCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICBjYXNlIFwicmFkaW9cIjpcclxuICAgICAgc3dpdGNoIChjb250ZXh0Lm1ldGFkYXRhLnN1YnR5cGUpIHtcclxuICAgICAgICBjYXNlIFwiY2hpcFwiOlxyXG4gICAgICAgICAgcmV0dXJuIG5ldyBDaGlwUmFkaW9Db250cm9sKGNvbnRleHQpO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICByZXR1cm4gbmV3IFJhZGlvQ29udHJvbChjb250ZXh0KTtcclxuICAgICAgfVxyXG5cclxuICAgIGNhc2UgXCJjaGVja2xpc3RcIjpcclxuICAgICAgc3dpdGNoIChjb250ZXh0Lm1ldGFkYXRhLnN1YnR5cGUpIHtcclxuICAgICAgICBjYXNlIFwiY2hpcFwiOlxyXG4gICAgICAgICAgcmV0dXJuIG5ldyBDaGlwQ2hlY2tMaXN0Q29udHJvbChjb250ZXh0KTtcclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgcmV0dXJuIG5ldyBDaGVja0xpc3RDb250cm9sKGNvbnRleHQpO1xyXG4gICAgICB9XHJcblxyXG4gICAgY2FzZSBcInRleHRhcmVhXCI6XHJcbiAgICAgIHJldHVybiBuZXcgVGV4dEFyZWFDb250cm9sKGNvbnRleHQpO1xyXG5cclxuICAgIGNhc2UgXCJmaWxlcGlja2VyXCI6XHJcbiAgICAgIHJldHVybiBuZXcgRmlsZVBpY2tlckNvbnRyb2woY29udGV4dCk7XHJcblxyXG4gICAgY2FzZSBcImRpc3BsYXlmaWVsZFwiOlxyXG4gICAgICByZXR1cm4gbmV3IERpc3BsYXlGaWVsZENvbnRyb2woY29udGV4dCk7XHJcblxyXG4gICAgY2FzZSBcInRleHRcIjpcclxuICAgICAgcmV0dXJuIG5ldyBUZXh0Q29udHJvbChjb250ZXh0KTtcclxuXHJcbiAgICBjYXNlIFwiaHRtbFwiOlxyXG4gICAgICByZXR1cm4gbmV3IEh0bWxDb250cm9sKGNvbnRleHQpO1xyXG5cclxuICAgIGNhc2UgXCJpbWFnZVwiOlxyXG4gICAgICByZXR1cm4gbmV3IEltYWdlQ29udHJvbChjb250ZXh0KTtcclxuXHJcbiAgICBjYXNlIFwiZHluYW1pY2xpc3RcIjpcclxuICAgICAgc3dpdGNoIChjb250ZXh0Lm1ldGFkYXRhLnN1YnR5cGUpIHtcclxuICAgICAgICBjYXNlIFwidGFiXCI6XHJcbiAgICAgICAgICByZXR1cm4gbmV3IFRhYkNvbnRyb2woY29udGV4dCk7XHJcbiAgICAgICAgY2FzZSBcImFjY29yZGlvblwiOlxyXG4gICAgICAgICAgcmV0dXJuIG5ldyBBY2NvcmRpb25Db250cm9sKGNvbnRleHQpO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICByZXR1cm4gbmV3IER5bmFtaWNMaXN0Q29udHJvbChjb250ZXh0KTtcclxuICAgICAgfVxyXG5cclxuICAgIGNhc2UgXCJncm91cFwiOlxyXG4gICAgICByZXR1cm4gbmV3IEdyb3VwQ29udHJvbChjb250ZXh0KTtcclxuXHJcbiAgICBjYXNlIFwidGFibGVcIjpcclxuICAgICAgcmV0dXJuIG5ldyBUYWJsZUNvbnRyb2woY29udGV4dCk7XHJcblxyXG4gICAgY2FzZSBcImNoYXJ0XCI6XHJcbiAgICAgIHJldHVybiBuZXcgQ2hhcnRDb250cm9sKGNvbnRleHQpO1xyXG5cclxuICAgIGNhc2UgXCJidXR0b25cIjpcclxuICAgICAgcmV0dXJuIG5ldyBCdXR0b25Db250cm9sKGNvbnRleHQpO1xyXG5cclxuICAgIGNhc2UgXCJzZXBhcmF0b3JcIjpcclxuICAgICAgcmV0dXJuIG5ldyBTZXBhcmF0b3JDb250cm9sKGNvbnRleHQpO1xyXG5cclxuICAgIGNhc2UgXCJzcGFjZXJcIjpcclxuICAgICAgcmV0dXJuIG5ldyBTcGFjZXJDb250cm9sKGNvbnRleHQpO1xyXG5cclxuICAgIGNhc2UgXCJpZnJhbWVcIjpcclxuICAgICAgcmV0dXJuIG5ldyBJRnJhbWVDb250cm9sKGNvbnRleHQpO1xyXG5cclxuICAgIGNhc2UgXCJ0b29sdGlwXCI6XHJcbiAgICAgIHJldHVybiBuZXcgVG9vbHRpcENvbnRyb2woY29udGV4dCk7XHJcblxyXG4gICAgY2FzZSBcInRhYlwiOlxyXG4gICAgICByZXR1cm4gbmV3IFRhYkNvbnRyb2woY29udGV4dCk7XHJcblxyXG4gICAgY2FzZSBcImFjY29yZGlvblwiOlxyXG4gICAgICByZXR1cm4gbmV3IEFjY29yZGlvbkNvbnRyb2woY29udGV4dCk7XHJcblxyXG4gICAgZGVmYXVsdDpcclxuICAgICAgcmV0dXJuIG5ldyBDb250cm9sKGNvbnRleHQpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -48,7 +48,8 @@ export class DialogComponent extends SirioDialogElement {
48
48
  this.doAction('Close');
49
49
  }
50
50
  doAction(action) {
51
- this.sirioDialogService.closeDialog();
51
+ if (this.options.keepOpen !== true)
52
+ this.sirioDialogService.closeDialog();
52
53
  this.SendResult(action);
53
54
  }
54
55
  showHeader() {
@@ -88,7 +89,7 @@ export class DialogComponent extends SirioDialogElement {
88
89
  }
89
90
  }
90
91
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DialogComponent, deps: [{ token: i1.LanguageService }], target: i0.ɵɵFactoryTarget.Component });
91
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: DialogComponent, isStandalone: true, selector: "dynamic-dialog", viewQueries: [{ propertyName: "formHost", first: true, predicate: ["formHost"], descendants: true, read: ViewContainerRef, static: true }], usesInheritance: true, ngImport: i0, template: "<ngx-sirio-dialog (closeEvent)=\"doClose()\"\r\n dialog\r\n [type]=\"options.type ?? 'info'\"\r\n [size]=\"options.size ?? 'default'\"\r\n [isDrawer]=\"options.isDrawer ?? false\"\r\n [withCloseButton]=\"showCloseButton()\">\r\n\r\n <ngx-sirio-dialog-header [hidden]=\"!showHeader()\">\r\n <ngx-sirio-dialog-title [hidden]=\"!showTitle()\">{{ options.title }}</ngx-sirio-dialog-title>\r\n </ngx-sirio-dialog-header>\r\n\r\n <ngx-sirio-dialog-body>\r\n <ng-template #formHost></ng-template>\r\n </ngx-sirio-dialog-body>\r\n\r\n <ngx-sirio-dialog-footer *ngIf=\"showFooter()\">\r\n <ng-container [ngSwitch]=\"options.buttons\">\r\n <!-- OK -->\r\n <ng-container *ngSwitchCase=\"'OK'\">\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'OK' }\"></ng-container>\r\n </ng-container>\r\n <!-- Caso: OKCancel -->\r\n <ng-container *ngSwitchCase=\"'OKCancel'\">\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'OK' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Cancel' }\"></ng-container>\r\n </ng-container>\r\n <!-- Caso: ConfirmClose -->\r\n <ng-container *ngSwitchCase=\"'ConfirmCancel'\">\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'Confirm' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Cancel' }\"></ng-container>\r\n </ng-container>\r\n <!-- Caso: AbortRetryIgnore -->\r\n <ng-container *ngSwitchCase=\"'AbortRetryIgnore'\">\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Abort' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'Retry' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Ignore' }\"></ng-container>\r\n </ng-container>\r\n <!-- Caso: YesNoCancel -->\r\n <ng-container *ngSwitchCase=\"'YesNoCancel'\">\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'Yes' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'No' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Cancel' }\"></ng-container>\r\n </ng-container>\r\n <!-- Caso: YesNo -->\r\n <ng-container *ngSwitchCase=\"'YesNo'\">\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'Yes' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'No' }\"></ng-container>\r\n </ng-container>\r\n <!-- Caso: RetryCancel -->\r\n <ng-container *ngSwitchCase=\"'RetryCancel'\">\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'Retry' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Cancel' }\"></ng-container>\r\n </ng-container>\r\n <!-- Caso: CancelTryContinue -->\r\n <ng-container *ngSwitchCase=\"'CancelTryContinue'\">\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Cancel' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'Try' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Continue' }\"></ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <!-- Templates -->\r\n <ng-template #confirmTemplate let-action=\"action\">\r\n <ngx-sirio-button (clickEvent)=\"doAction(action)\"\r\n [disabled]=\"isInvalid()\"\r\n color=\"primary\">\r\n {{ locale(Texts, action) }}\r\n </ngx-sirio-button>\r\n </ng-template>\r\n <ng-template #closeTemplate let-action=\"action\">\r\n <ngx-sirio-button (clickEvent)=\"doAction(action)\"\r\n color=\"secondary\">\r\n {{ locale(Texts, action) }}\r\n </ngx-sirio-button>\r\n </ng-template>\r\n\r\n </ngx-sirio-dialog-footer>\r\n\r\n</ngx-sirio-dialog>\r\n", styles: ["::ng-deep .sirio-dialog{background-color:#0000007f!important}::ng-deep .sirio-drawer .sirio-dialog .sirio-dialog-sm .sirio-dialog-content{max-width:18.75rem}::ng-deep .sirio-drawer .sirio-dialog .sirio-dialog-lg .sirio-dialog-content{max-width:50rem}::ng-deep .sirio-drawer .sirio-dialog .sirio-dialog-xl .sirio-dialog-content{max-width:71.25rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: DialogDirective, selector: "[dialog]" }, { kind: "component", type: SirioDialogComponent, selector: "ngx-sirio-dialog", inputs: ["type", "size", "drawerContext", "withCloseButton", "isDrawer", "dialogId"], outputs: ["closeEvent", "confirmEvent"] }, { kind: "component", type: SirioDialogBodyComponent, selector: "ngx-sirio-dialog-body" }, { kind: "component", type: SirioDialogHeaderComponent, selector: "ngx-sirio-dialog-header", inputs: ["closeButtonAriaLabel"], outputs: ["closeEvent"] }, { kind: "component", type: SirioDialogFooterComponent, selector: "ngx-sirio-dialog-footer", inputs: ["actionsLabel"], outputs: ["closeEvent", "confirmEvent"] }, { kind: "component", type: SirioButtonComponent, selector: "ngx-sirio-button", inputs: ["ariaExpanded", "ariaControls", "ariaActivedescendant", "ariaHaspopup", "ariaLabel", "ariaRequired", "ariaInvalid", "ariaDescribedby", "icon", "title", "role", "color", "isFloating", "isExtended", "isLight", "isSmall", "disabled", "isDropdown", "type", "dismissType", "isBtnBlock"], outputs: ["clickEvent", "focusEvent", "blurEvent"] }, { kind: "component", type: SirioDialogTitleComponent, selector: "ngx-sirio-dialog-title" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
92
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: DialogComponent, isStandalone: true, selector: "dynamic-dialog", viewQueries: [{ propertyName: "formHost", first: true, predicate: ["formHost"], descendants: true, read: ViewContainerRef, static: true }], usesInheritance: true, ngImport: i0, template: "<ngx-sirio-dialog (closeEvent)=\"doClose()\"\r\n dialog\r\n [type]=\"options.type ?? 'info'\"\r\n [size]=\"options.size ?? 'default'\"\r\n [isDrawer]=\"options.isDrawer ?? false\"\r\n [withCloseButton]=\"showCloseButton()\">\r\n\r\n <ngx-sirio-dialog-header [hidden]=\"!showHeader()\">\r\n <ngx-sirio-dialog-title [hidden]=\"!showTitle()\">{{ options.title }}</ngx-sirio-dialog-title>\r\n </ngx-sirio-dialog-header>\r\n\r\n <ngx-sirio-dialog-body>\r\n <ng-template #formHost></ng-template>\r\n </ngx-sirio-dialog-body>\r\n\r\n <ngx-sirio-dialog-footer *ngIf=\"showFooter()\">\r\n <ng-container [ngSwitch]=\"options.buttons\">\r\n <!-- OK -->\r\n <ng-container *ngSwitchCase=\"'OK'\">\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'OK' }\"></ng-container>\r\n </ng-container>\r\n <!-- Caso: OKCancel -->\r\n <ng-container *ngSwitchCase=\"'OKCancel'\">\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'OK' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Cancel' }\"></ng-container>\r\n </ng-container>\r\n <!-- Caso: ConfirmClose -->\r\n <ng-container *ngSwitchCase=\"'ConfirmCancel'\">\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'Confirm' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Cancel' }\"></ng-container>\r\n </ng-container>\r\n <!-- Caso: AbortRetryIgnore -->\r\n <ng-container *ngSwitchCase=\"'AbortRetryIgnore'\">\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Abort' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'Retry' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Ignore' }\"></ng-container>\r\n </ng-container>\r\n <!-- Caso: YesNoCancel -->\r\n <ng-container *ngSwitchCase=\"'YesNoCancel'\">\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'Yes' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'No' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Cancel' }\"></ng-container>\r\n </ng-container>\r\n <!-- Caso: YesNo -->\r\n <ng-container *ngSwitchCase=\"'YesNo'\">\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'Yes' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'No' }\"></ng-container>\r\n </ng-container>\r\n <!-- Caso: RetryCancel -->\r\n <ng-container *ngSwitchCase=\"'RetryCancel'\">\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'Retry' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Cancel' }\"></ng-container>\r\n </ng-container>\r\n <!-- Caso: CancelTryContinue -->\r\n <ng-container *ngSwitchCase=\"'CancelTryContinue'\">\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Cancel' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'Try' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Continue' }\"></ng-container>\r\n </ng-container>\r\n <!-- Caso: Custom -->\r\n <ng-container *ngSwitchCase=\"'Custom'\">\r\n <ng-container *ngFor=\"let customButton of options.customButtons ?? []; let i = index\">\r\n <ng-container *ngTemplateOutlet=\"customTemplate; context: { customButton: customButton }\"></ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <!-- Templates -->\r\n <ng-template #confirmTemplate let-action=\"action\">\r\n <ngx-sirio-button (clickEvent)=\"doAction(action)\"\r\n [disabled]=\"isInvalid()\"\r\n color=\"primary\">\r\n {{ locale(Texts, action) }}\r\n </ngx-sirio-button>\r\n </ng-template>\r\n <ng-template #closeTemplate let-action=\"action\">\r\n <ngx-sirio-button (clickEvent)=\"doAction(action)\"\r\n color=\"secondary\">\r\n {{ locale(Texts, action) }}\r\n </ngx-sirio-button>\r\n </ng-template>\r\n <ng-template #customTemplate\n let-customButton=\"customButton\">\r\n <ngx-sirio-button (clickEvent)=\"doAction(customButton.action)\"\r\n [color]=\"customButton.color\">\r\n {{ customButton.text }}\r\n </ngx-sirio-button>\r\n </ng-template>\r\n\r\n </ngx-sirio-dialog-footer>\r\n\r\n</ngx-sirio-dialog>\r\n", styles: ["::ng-deep .sirio-dialog{background-color:#0000007f!important}::ng-deep .sirio-drawer .sirio-dialog .sirio-dialog-sm .sirio-dialog-content{max-width:18.75rem}::ng-deep .sirio-drawer .sirio-dialog .sirio-dialog-lg .sirio-dialog-content{max-width:50rem}::ng-deep .sirio-drawer .sirio-dialog .sirio-dialog-xl .sirio-dialog-content{max-width:71.25rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: DialogDirective, selector: "[dialog]" }, { kind: "component", type: SirioDialogComponent, selector: "ngx-sirio-dialog", inputs: ["type", "size", "drawerContext", "withCloseButton", "isDrawer", "dialogId"], outputs: ["closeEvent", "confirmEvent"] }, { kind: "component", type: SirioDialogBodyComponent, selector: "ngx-sirio-dialog-body" }, { kind: "component", type: SirioDialogHeaderComponent, selector: "ngx-sirio-dialog-header", inputs: ["closeButtonAriaLabel"], outputs: ["closeEvent"] }, { kind: "component", type: SirioDialogFooterComponent, selector: "ngx-sirio-dialog-footer", inputs: ["actionsLabel"], outputs: ["closeEvent", "confirmEvent"] }, { kind: "component", type: SirioButtonComponent, selector: "ngx-sirio-button", inputs: ["ariaExpanded", "ariaControls", "ariaActivedescendant", "ariaHaspopup", "ariaLabel", "ariaRequired", "ariaInvalid", "ariaDescribedby", "icon", "title", "role", "color", "isFloating", "isExtended", "isLight", "isSmall", "disabled", "isDropdown", "type", "dismissType", "isBtnBlock"], outputs: ["clickEvent", "focusEvent", "blurEvent"] }, { kind: "component", type: SirioDialogTitleComponent, selector: "ngx-sirio-dialog-title" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
92
93
  }
93
94
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DialogComponent, decorators: [{
94
95
  type: Component,
@@ -102,9 +103,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
102
103
  SirioButtonComponent,
103
104
  SirioDialogActionDirective,
104
105
  SirioDialogTitleComponent
105
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ngx-sirio-dialog (closeEvent)=\"doClose()\"\r\n dialog\r\n [type]=\"options.type ?? 'info'\"\r\n [size]=\"options.size ?? 'default'\"\r\n [isDrawer]=\"options.isDrawer ?? false\"\r\n [withCloseButton]=\"showCloseButton()\">\r\n\r\n <ngx-sirio-dialog-header [hidden]=\"!showHeader()\">\r\n <ngx-sirio-dialog-title [hidden]=\"!showTitle()\">{{ options.title }}</ngx-sirio-dialog-title>\r\n </ngx-sirio-dialog-header>\r\n\r\n <ngx-sirio-dialog-body>\r\n <ng-template #formHost></ng-template>\r\n </ngx-sirio-dialog-body>\r\n\r\n <ngx-sirio-dialog-footer *ngIf=\"showFooter()\">\r\n <ng-container [ngSwitch]=\"options.buttons\">\r\n <!-- OK -->\r\n <ng-container *ngSwitchCase=\"'OK'\">\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'OK' }\"></ng-container>\r\n </ng-container>\r\n <!-- Caso: OKCancel -->\r\n <ng-container *ngSwitchCase=\"'OKCancel'\">\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'OK' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Cancel' }\"></ng-container>\r\n </ng-container>\r\n <!-- Caso: ConfirmClose -->\r\n <ng-container *ngSwitchCase=\"'ConfirmCancel'\">\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'Confirm' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Cancel' }\"></ng-container>\r\n </ng-container>\r\n <!-- Caso: AbortRetryIgnore -->\r\n <ng-container *ngSwitchCase=\"'AbortRetryIgnore'\">\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Abort' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'Retry' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Ignore' }\"></ng-container>\r\n </ng-container>\r\n <!-- Caso: YesNoCancel -->\r\n <ng-container *ngSwitchCase=\"'YesNoCancel'\">\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'Yes' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'No' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Cancel' }\"></ng-container>\r\n </ng-container>\r\n <!-- Caso: YesNo -->\r\n <ng-container *ngSwitchCase=\"'YesNo'\">\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'Yes' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'No' }\"></ng-container>\r\n </ng-container>\r\n <!-- Caso: RetryCancel -->\r\n <ng-container *ngSwitchCase=\"'RetryCancel'\">\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'Retry' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Cancel' }\"></ng-container>\r\n </ng-container>\r\n <!-- Caso: CancelTryContinue -->\r\n <ng-container *ngSwitchCase=\"'CancelTryContinue'\">\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Cancel' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'Try' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Continue' }\"></ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <!-- Templates -->\r\n <ng-template #confirmTemplate let-action=\"action\">\r\n <ngx-sirio-button (clickEvent)=\"doAction(action)\"\r\n [disabled]=\"isInvalid()\"\r\n color=\"primary\">\r\n {{ locale(Texts, action) }}\r\n </ngx-sirio-button>\r\n </ng-template>\r\n <ng-template #closeTemplate let-action=\"action\">\r\n <ngx-sirio-button (clickEvent)=\"doAction(action)\"\r\n color=\"secondary\">\r\n {{ locale(Texts, action) }}\r\n </ngx-sirio-button>\r\n </ng-template>\r\n\r\n </ngx-sirio-dialog-footer>\r\n\r\n</ngx-sirio-dialog>\r\n", styles: ["::ng-deep .sirio-dialog{background-color:#0000007f!important}::ng-deep .sirio-drawer .sirio-dialog .sirio-dialog-sm .sirio-dialog-content{max-width:18.75rem}::ng-deep .sirio-drawer .sirio-dialog .sirio-dialog-lg .sirio-dialog-content{max-width:50rem}::ng-deep .sirio-drawer .sirio-dialog .sirio-dialog-xl .sirio-dialog-content{max-width:71.25rem}\n"] }]
106
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ngx-sirio-dialog (closeEvent)=\"doClose()\"\r\n dialog\r\n [type]=\"options.type ?? 'info'\"\r\n [size]=\"options.size ?? 'default'\"\r\n [isDrawer]=\"options.isDrawer ?? false\"\r\n [withCloseButton]=\"showCloseButton()\">\r\n\r\n <ngx-sirio-dialog-header [hidden]=\"!showHeader()\">\r\n <ngx-sirio-dialog-title [hidden]=\"!showTitle()\">{{ options.title }}</ngx-sirio-dialog-title>\r\n </ngx-sirio-dialog-header>\r\n\r\n <ngx-sirio-dialog-body>\r\n <ng-template #formHost></ng-template>\r\n </ngx-sirio-dialog-body>\r\n\r\n <ngx-sirio-dialog-footer *ngIf=\"showFooter()\">\r\n <ng-container [ngSwitch]=\"options.buttons\">\r\n <!-- OK -->\r\n <ng-container *ngSwitchCase=\"'OK'\">\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'OK' }\"></ng-container>\r\n </ng-container>\r\n <!-- Caso: OKCancel -->\r\n <ng-container *ngSwitchCase=\"'OKCancel'\">\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'OK' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Cancel' }\"></ng-container>\r\n </ng-container>\r\n <!-- Caso: ConfirmClose -->\r\n <ng-container *ngSwitchCase=\"'ConfirmCancel'\">\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'Confirm' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Cancel' }\"></ng-container>\r\n </ng-container>\r\n <!-- Caso: AbortRetryIgnore -->\r\n <ng-container *ngSwitchCase=\"'AbortRetryIgnore'\">\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Abort' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'Retry' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Ignore' }\"></ng-container>\r\n </ng-container>\r\n <!-- Caso: YesNoCancel -->\r\n <ng-container *ngSwitchCase=\"'YesNoCancel'\">\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'Yes' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'No' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Cancel' }\"></ng-container>\r\n </ng-container>\r\n <!-- Caso: YesNo -->\r\n <ng-container *ngSwitchCase=\"'YesNo'\">\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'Yes' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'No' }\"></ng-container>\r\n </ng-container>\r\n <!-- Caso: RetryCancel -->\r\n <ng-container *ngSwitchCase=\"'RetryCancel'\">\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'Retry' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Cancel' }\"></ng-container>\r\n </ng-container>\r\n <!-- Caso: CancelTryContinue -->\r\n <ng-container *ngSwitchCase=\"'CancelTryContinue'\">\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Cancel' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'Try' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Continue' }\"></ng-container>\r\n </ng-container>\r\n <!-- Caso: Custom -->\r\n <ng-container *ngSwitchCase=\"'Custom'\">\r\n <ng-container *ngFor=\"let customButton of options.customButtons ?? []; let i = index\">\r\n <ng-container *ngTemplateOutlet=\"customTemplate; context: { customButton: customButton }\"></ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <!-- Templates -->\r\n <ng-template #confirmTemplate let-action=\"action\">\r\n <ngx-sirio-button (clickEvent)=\"doAction(action)\"\r\n [disabled]=\"isInvalid()\"\r\n color=\"primary\">\r\n {{ locale(Texts, action) }}\r\n </ngx-sirio-button>\r\n </ng-template>\r\n <ng-template #closeTemplate let-action=\"action\">\r\n <ngx-sirio-button (clickEvent)=\"doAction(action)\"\r\n color=\"secondary\">\r\n {{ locale(Texts, action) }}\r\n </ngx-sirio-button>\r\n </ng-template>\r\n <ng-template #customTemplate\n let-customButton=\"customButton\">\r\n <ngx-sirio-button (clickEvent)=\"doAction(customButton.action)\"\r\n [color]=\"customButton.color\">\r\n {{ customButton.text }}\r\n </ngx-sirio-button>\r\n </ng-template>\r\n\r\n </ngx-sirio-dialog-footer>\r\n\r\n</ngx-sirio-dialog>\r\n", styles: ["::ng-deep .sirio-dialog{background-color:#0000007f!important}::ng-deep .sirio-drawer .sirio-dialog .sirio-dialog-sm .sirio-dialog-content{max-width:18.75rem}::ng-deep .sirio-drawer .sirio-dialog .sirio-dialog-lg .sirio-dialog-content{max-width:50rem}::ng-deep .sirio-drawer .sirio-dialog .sirio-dialog-xl .sirio-dialog-content{max-width:71.25rem}\n"] }]
106
107
  }], ctorParameters: () => [{ type: i1.LanguageService }], propDecorators: { formHost: [{
107
108
  type: ViewChild,
108
109
  args: ['formHost', { read: ViewContainerRef, static: true }]
109
110
  }] } });
110
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zaXJpby9zcmMvbGliL2RpYWxvZy9kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNpcmlvL3NyYy9saWIvZGlhbG9nL2RpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUFFLHVCQUF1QixFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFDaEUsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNqRSxPQUFPLEVBQ0wsb0JBQW9CLEVBQUUsd0JBQXdCLEVBQUUsMEJBQTBCLEVBQ3hFLDBCQUEwQixFQUFFLG9CQUFvQixFQUFFLDBCQUEwQixFQUM1RSx5QkFBeUIsRUFBRSxrQkFBa0IsRUFDaEQsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7OztBQW9COUMsTUFBTSxPQUFPLGVBQWdCLFNBQVEsa0JBQWtCO0lBT2pDO0lBTFosUUFBUSxDQUFvQjtJQUM1QixPQUFPLENBQW9CO0lBQzNCLGVBQWUsQ0FBYTtJQUNwQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBRWQsWUFBb0IsZUFBZ0M7UUFDbEQsS0FBSyxFQUFFLENBQUM7UUFEVSxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7SUFFcEQsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUks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QjtxQkFDMUIsbUJBR2dCLHVCQUF1QixDQUFDLE1BQU07b0ZBSXZDLFFBQVE7c0JBRGYsU0FBUzt1QkFBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgVmlld0NvbnRhaW5lclJlZiwgVmlld0NoaWxkLCBDb21wb25lbnRSZWYsIFR5cGVcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEZvcm1EaWFsb2dPcHRpb25zLCBEaWFsb2dBY3Rpb24sIERpYWxvZ1Jlc3VsdCB9IGZyb20gJy4uL3NlcnZpY2VzL2RpYWxvZy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRGlhbG9nRGlyZWN0aXZlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy9kaWFsb2cuZGlyZWN0aXZlJztcclxuaW1wb3J0IHtcclxuICBTaXJpb0RpYWxvZ0NvbXBvbmVudCwgU2lyaW9EaWFsb2dCb2R5Q29tcG9uZW50LCBTaXJpb0RpYWxvZ0hlYWRlckNvbXBvbmVudFxyXG4gICwgU2lyaW9EaWFsb2dGb290ZXJDb21wb25lbnQsIFNpcmlvQnV0dG9uQ29tcG9uZW50LCBTaXJpb0RpYWxvZ0FjdGlvbkRpcmVjdGl2ZVxyXG4gICwgU2lyaW9EaWFsb2dUaXRsZUNvbXBvbmVudCwgU2lyaW9EaWFsb2dFbGVtZW50XHJcbn0gZnJvbSAnbmd4LXNpcmlvLWxpYic7XHJcblxyXG5pbXBvcnQgeyBMYW5ndWFnZVNlcnZpY2UgfSBmcm9tICdAd2VtYWtlNHUvaW50ZXJhY3QnO1xyXG5pbXBvcnQgeyBUZXh0cyB9IGZyb20gJy4uL2xvY2FsZS9sb2NhbGUnO1xyXG5pbXBvcnQgeyBsb2NhbGl6ZSB9IGZyb20gJy4uL2xvY2FsZS9sb2NhbGl6ZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2R5bmFtaWMtZGlhbG9nJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIERpYWxvZ0RpcmVjdGl2ZSxcclxuICAgIFNpcmlvRGlhbG9nQ29tcG9uZW50LFxyXG4gICAgU2lyaW9EaWFsb2dCb2R5Q29tcG9uZW50LFxyXG4gICAgU2lyaW9EaWFsb2dIZWFkZXJDb21wb25lbnQsXHJcbiAgICBTaXJpb0RpYWxvZ0Zvb3RlckNvbXBvbmVudCxcclxuICAgIFNpcmlvQnV0dG9uQ29tcG9uZW50LFxyXG4gICAgU2lyaW9EaWFsb2dBY3Rpb25EaXJlY3RpdmUsXHJcbiAgICBTaXJpb0RpYWxvZ1RpdGxlQ29tcG9uZW50ICAgIFxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RpYWxvZy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2RpYWxvZy5jb21wb25lbnQuY3NzJyxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGlhbG9nQ29tcG9uZW50IGV4dGVuZHMgU2lyaW9EaWFsb2dFbGVtZW50IHtcclxuICBAVmlld0NoaWxkKCdmb3JtSG9zdCcsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiwgc3RhdGljOiB0cnVlIH0pXHJcbiAgcHJpdmF0ZSBmb3JtSG9zdCE6IFZpZXdDb250YWluZXJSZWY7XHJcbiAgcHJpdmF0ZSBmb3JtUmVmITogQ29tcG9uZW50UmVmPGFueT5cclxuICBwcml2YXRlIGR5bmFtaWNGb3JtVHlwZSE6IFR5cGU8YW55PjtcclxuICBUZXh0cyA9IFRleHRzO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGxhbmd1YWdlU2VydmljZTogTGFuZ3VhZ2VTZXJ2aWNlKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLm9wdGlvbnMgPSB0aGlzLmRhdGEub3B0aW9ucyA/PyB7fTtcclxuICAgIHRoaXMuY3VycmVudFZhbHVlID0gdGhpcy5vcHRpb25zLnZhbHVlO1xyXG4gICAgdGhpcy5keW5hbWljRm9ybVR5cGUgPSB0aGlzLmRhdGEuZHluYW1pY0Zvcm1UeXBlO1xyXG4gIH1cclxuXHJcbiAgb3B0aW9uczogRm9ybURpYWxvZ09wdGlvbnMgPSB7IH07XHJcbiAgXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG5cclxuICAgIGxldCBpbmplY3RvciA9IHRoaXMub3B0aW9ucy5pbmplY3RvclxyXG4gICAgICA/PyB0aGlzLmZvcm1Ib3N0LmluamVjdG9yO1xyXG5cclxuICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMuZm9ybUhvc3QuY3JlYXRlQ29tcG9uZW50KHRoaXMuZHluYW1pY0Zvcm1UeXBlLCB7IGluamVjdG9yIH0pO1xyXG4gICAgY29uc3QgaW5zdGFuY2UgPSBjb21wb25lbnRSZWYuaW5zdGFuY2UgYXMgYW55O1xyXG5cclxuICAgIGNvbXBvbmVudFJlZi5zZXRJbnB1dCgnc2NoZW1hJywgdGhpcy5kYXRhLmZvcm1TY2hlbWEpO1xyXG4gICAgY29tcG9uZW50UmVmLnNldElucHV0KCd2YWx1ZScsIHRoaXMub3B0aW9ucy52YWx1ZSA/PyB7IH0pO1xyXG4gICAgY29tcG9uZW50UmVmLnNldElucHV0KCdzaG93TmF2JywgdGhpcy5vcHRpb25zLnNob3dOYXYgPz8gZmFsc2UpO1xyXG4gICAgY29tcG9uZW50UmVmLnNldElucHV0KCdzaG93TmF2QnV0dG9uJywgdGhpcy5vcHRpb25zLnNob3dOYXZCdXR0b24gPz8gZmFsc2UpO1xyXG4gICAgY29tcG9uZW50UmVmLnNldElucHV0KCdzaG93UHJvZ3Jlc3MnLCB0aGlzLm9wdGlvbnMuc2hvd1Byb2dyZXNzID8/IGZhbHNlKTtcclxuICAgIGNvbXBvbmVudFJlZi5zZXRJbnB1dCgnc2hvd0Zvcm1UaXRsZScsIHRoaXMub3B0aW9ucy5zaG93Rm9ybVRpdGxlID8/IGZhbHNlKTtcclxuXHJcbiAgICBpbnN0YW5jZS52YWx1ZUNoYW5nZVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHZhbHVlOiBhbnkpID0+IHRoaXMuc2V0Q3VycmVudFZhbHVlKHZhbHVlKSk7XHJcblxyXG4gICAgdGhpcy5mb3JtUmVmID0gY29tcG9uZW50UmVmO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcclxuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIGRvQ2xvc2UoKSB7XHJcbiAgICB0aGlzLmRvQWN0aW9uKCdDbG9zZScpO1xyXG4gIH1cclxuXHJcbiAgZG9BY3Rpb24oYWN0aW9uOiBEaWFsb2dBY3Rpb24pIHtcclxuICAgIHRoaXMuc2lyaW9EaWFsb2dTZXJ2aWNlLmNsb3NlRGlhbG9nKCk7XHJcbiAgICB0aGlzLlNlbmRSZXN1bHQoYWN0aW9uKTsgICAgXHJcbiAgfVxyXG5cclxuICBzaG93SGVhZGVyKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc2hvd1RpdGxlKCkgfHwgdGhpcy5zaG93Q2xvc2VCdXR0b24oKTsgICAgXHJcbiAgfVxyXG5cclxuICBzaG93VGl0bGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zLnRpdGxlID8gdHJ1ZTogZmFsc2U7XHJcbiAgfVxyXG5cclxuICBzaG93Q2xvc2VCdXR0b24oKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLm9wdGlvbnMuY2xvc2VCdXR0b24gPT09IHRydWU7XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgc2hvd0Zvb3RlcigpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLm9wdGlvbnMuYnV0dG9ucyAhPT0gdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgaXNJbnZhbGlkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuICh0aGlzLmZvcm1SZWY/Lmluc3RhbmNlPy5mb3JtR3JvdXA/LnZhbGlkID8/IHRydWUpICE9PSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgbG9jYWxlKGNvbXBvbmVudDogYW55LCBrZXk6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gbG9jYWxpemUodGhpcy5sYW5ndWFnZSwgY29tcG9uZW50LCBrZXkpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gIHByaXZhdGUgY3VycmVudFZhbHVlOiBhbnk7XHJcblxyXG4gIHByaXZhdGUgc2V0Q3VycmVudFZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMuY3VycmVudFZhbHVlID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldCBsYW5ndWFnZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLmdldExhbmd1YWdlKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIFNlbmRSZXN1bHQoYWN0aW9uOiBEaWFsb2dBY3Rpb24pIHtcclxuICAgIGlmICh0eXBlb2YgdGhpcy5vcHRpb25zLm9uUmVzdWx0ID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgIGNvbnN0IHJlc3VsdDogRGlhbG9nUmVzdWx0ID0ge1xyXG4gICAgICAgIGFjdGlvbjogYWN0aW9uLFxyXG4gICAgICAgIHZhbHVlOiB0aGlzLmN1cnJlbnRWYWx1ZVxyXG4gICAgICB9O1xyXG4gICAgICB0aGlzLm9wdGlvbnMub25SZXN1bHQocmVzdWx0KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPG5neC1zaXJpby1kaWFsb2cgKGNsb3NlRXZlbnQpPVwiZG9DbG9zZSgpXCJcclxuICAgICAgICAgICAgICAgICAgZGlhbG9nXHJcbiAgICAgICAgICAgICAgICAgIFt0eXBlXT1cIm9wdGlvbnMudHlwZSA/PyAnaW5mbydcIlxyXG4gICAgICAgICAgICAgICAgICBbc2l6ZV09XCJvcHRpb25zLnNpemUgPz8gJ2RlZmF1bHQnXCJcclxuICAgICAgICAgICAgICAgICAgW2lzRHJhd2VyXT1cIm9wdGlvbnMuaXNEcmF3ZXIgPz8gZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICBbd2l0aENsb3NlQnV0dG9uXT1cInNob3dDbG9zZUJ1dHRvbigpXCI+XHJcblxyXG4gIDxuZ3gtc2lyaW8tZGlhbG9nLWhlYWRlciBbaGlkZGVuXT1cIiFzaG93SGVhZGVyKClcIj5cclxuICAgIDxuZ3gtc2lyaW8tZGlhbG9nLXRpdGxlIFtoaWRkZW5dPVwiIXNob3dUaXRsZSgpXCI+e3sgb3B0aW9ucy50aXRsZSB9fTwvbmd4LXNpcmlvLWRpYWxvZy10aXRsZT5cclxuICA8L25neC1zaXJpby1kaWFsb2ctaGVhZGVyPlxyXG5cclxuICA8bmd4LXNpcmlvLWRpYWxvZy1ib2R5PlxyXG4gICAgPG5nLXRlbXBsYXRlICNmb3JtSG9zdD48L25nLXRlbXBsYXRlPlxyXG4gIDwvbmd4LXNpcmlvLWRpYWxvZy1ib2R5PlxyXG5cclxuICA8bmd4LXNpcmlvLWRpYWxvZy1mb290ZXIgKm5nSWY9XCJzaG93Rm9vdGVyKClcIj5cclxuICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cIm9wdGlvbnMuYnV0dG9uc1wiPlxyXG4gICAgICA8IS0tIE9LIC0tPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInT0snXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbmZpcm1UZW1wbGF0ZTsgY29udGV4dDogeyBhY3Rpb246ICdPSycgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPCEtLSBDYXNvOiBPS0NhbmNlbCAtLT5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ09LQ2FuY2VsJ1wiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb25maXJtVGVtcGxhdGU7IGNvbnRleHQ6IHsgYWN0aW9uOiAnT0snIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY2xvc2VUZW1wbGF0ZTsgY29udGV4dDogeyBhY3Rpb246ICdDYW5jZWwnIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwhLS0gQ2FzbzogQ29uZmlybUNsb3NlIC0tPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInQ29uZmlybUNhbmNlbCdcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29uZmlybVRlbXBsYXRlOyBjb250ZXh0OiB7IGFjdGlvbjogJ0NvbmZpcm0nIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY2xvc2VUZW1wbGF0ZTsgY29udGV4dDogeyBhY3Rpb246ICdDYW5jZWwnIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwhLS0gQ2FzbzogQWJvcnRSZXRyeUlnbm9yZSAtLT5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ0Fib3J0UmV0cnlJZ25vcmUnXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNsb3NlVGVtcGxhdGU7IGNvbnRleHQ6IHsgYWN0aW9uOiAnQWJvcnQnIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29uZmlybVRlbXBsYXRlOyBjb250ZXh0OiB7IGFjdGlvbjogJ1JldHJ5JyB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNsb3NlVGVtcGxhdGU7IGNvbnRleHQ6IHsgYWN0aW9uOiAnSWdub3JlJyB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8IS0tIENhc286IFllc05vQ2FuY2VsIC0tPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInWWVzTm9DYW5jZWwnXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbmZpcm1UZW1wbGF0ZTsgY29udGV4dDogeyBhY3Rpb246ICdZZXMnIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY2xvc2VUZW1wbGF0ZTsgY29udGV4dDogeyBhY3Rpb246ICdObycgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjbG9zZVRlbXBsYXRlOyBjb250ZXh0OiB7IGFjdGlvbjogJ0NhbmNlbCcgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPCEtLSBDYXNvOiBZZXNObyAtLT5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ1llc05vJ1wiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb25maXJtVGVtcGxhdGU7IGNvbnRleHQ6IHsgYWN0aW9uOiAnWWVzJyB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNsb3NlVGVtcGxhdGU7IGNvbnRleHQ6IHsgYWN0aW9uOiAnTm8nIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwhLS0gQ2FzbzogUmV0cnlDYW5jZWwgLS0+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidSZXRyeUNhbmNlbCdcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29uZmlybVRlbXBsYXRlOyBjb250ZXh0OiB7IGFjdGlvbjogJ1JldHJ5JyB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNsb3NlVGVtcGxhdGU7IGNvbnRleHQ6IHsgYWN0aW9uOiAnQ2FuY2VsJyB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8IS0tIENhc286IENhbmNlbFRyeUNvbnRpbnVlIC0tPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInQ2FuY2VsVHJ5Q29udGludWUnXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNsb3NlVGVtcGxhdGU7IGNvbnRleHQ6IHsgYWN0aW9uOiAnQ2FuY2VsJyB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbmZpcm1UZW1wbGF0ZTsgY29udGV4dDogeyBhY3Rpb246ICdUcnknIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY2xvc2VUZW1wbGF0ZTsgY29udGV4dDogeyBhY3Rpb246ICdDb250aW51ZScgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPCEtLSBUZW1wbGF0ZXMgLS0+XHJcbiAgICA8bmctdGVtcGxhdGUgI2NvbmZpcm1UZW1wbGF0ZSBsZXQtYWN0aW9uPVwiYWN0aW9uXCI+XHJcbiAgICAgIDxuZ3gtc2lyaW8tYnV0dG9uIChjbGlja0V2ZW50KT1cImRvQWN0aW9uKGFjdGlvbilcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNJbnZhbGlkKClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIj5cclxuICAgICAgICB7eyBsb2NhbGUoVGV4dHMsIGFjdGlvbikgfX1cclxuICAgICAgPC9uZ3gtc2lyaW8tYnV0dG9uPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDxuZy10ZW1wbGF0ZSAjY2xvc2VUZW1wbGF0ZSBsZXQtYWN0aW9uPVwiYWN0aW9uXCI+XHJcbiAgICAgIDxuZ3gtc2lyaW8tYnV0dG9uIChjbGlja0V2ZW50KT1cImRvQWN0aW9uKGFjdGlvbilcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcj1cInNlY29uZGFyeVwiPlxyXG4gICAgICAgIHt7IGxvY2FsZShUZXh0cywgYWN0aW9uKSB9fVxyXG4gICAgICA8L25neC1zaXJpby1idXR0b24+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICA8L25neC1zaXJpby1kaWFsb2ctZm9vdGVyPlxyXG5cclxuPC9uZ3gtc2lyaW8tZGlhbG9nPlxyXG4iXX0=
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zaXJpby9zcmMvbGliL2RpYWxvZy9kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNpcmlvL3NyYy9saWIvZGlhbG9nL2RpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUFFLHVCQUF1QixFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFDaEUsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNqRSxPQUFPLEVBQ0wsb0JBQW9CLEVBQUUsd0JBQXdCLEVBQUUsMEJBQTBCLEVBQ3hFLDBCQUEwQixFQUFFLG9CQUFvQixFQUFFLDBCQUEwQixFQUM1RSx5QkFBeUIsRUFBRSxrQkFBa0IsRUFDaEQsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7OztBQW9COUMsTUFBTSxPQUFPLGVBQWdCLFNBQVEsa0JBQWtCO0lBT2pDO0lBTFosUUFBUSxDQUFvQjtJQUM1QixPQUFPLENBQW9CO0lBQzNCLGVBQWUsQ0FBYTtJQUNwQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBRWQsWUFBb0IsZUFBZ0M7UUFDbEQsS0FBSyxFQUFFLENBQUM7UUFEVSxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7SUFFcEQsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUks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MEJBQTBCO3dCQUMxQixvQkFBb0I7d0JBQ3BCLDBCQUEwQjt3QkFDMUIseUJBQXlCO3FCQUMxQixtQkFHZ0IsdUJBQXVCLENBQUMsTUFBTTtvRkFJdkMsUUFBUTtzQkFEZixTQUFTO3VCQUFDLFVBQVUsRUFBRSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBWaWV3Q29udGFpbmVyUmVmLCBWaWV3Q2hpbGQsIENvbXBvbmVudFJlZiwgVHlwZVxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgRm9ybURpYWxvZ09wdGlvbnMsIERpYWxvZ0FjdGlvbiwgRGlhbG9nUmVzdWx0IH0gZnJvbSAnLi4vc2VydmljZXMvZGlhbG9nLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEaWFsb2dEaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL2RpYWxvZy5kaXJlY3RpdmUnO1xyXG5pbXBvcnQge1xyXG4gIFNpcmlvRGlhbG9nQ29tcG9uZW50LCBTaXJpb0RpYWxvZ0JvZHlDb21wb25lbnQsIFNpcmlvRGlhbG9nSGVhZGVyQ29tcG9uZW50XHJcbiAgLCBTaXJpb0RpYWxvZ0Zvb3RlckNvbXBvbmVudCwgU2lyaW9CdXR0b25Db21wb25lbnQsIFNpcmlvRGlhbG9nQWN0aW9uRGlyZWN0aXZlXHJcbiAgLCBTaXJpb0RpYWxvZ1RpdGxlQ29tcG9uZW50LCBTaXJpb0RpYWxvZ0VsZW1lbnRcclxufSBmcm9tICduZ3gtc2lyaW8tbGliJztcclxuXHJcbmltcG9ydCB7IExhbmd1YWdlU2VydmljZSB9IGZyb20gJ0B3ZW1ha2U0dS9pbnRlcmFjdCc7XHJcbmltcG9ydCB7IFRleHRzIH0gZnJvbSAnLi4vbG9jYWxlL2xvY2FsZSc7XHJcbmltcG9ydCB7IGxvY2FsaXplIH0gZnJvbSAnLi4vbG9jYWxlL2xvY2FsaXplJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZHluYW1pYy1kaWFsb2cnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRGlhbG9nRGlyZWN0aXZlLFxyXG4gICAgU2lyaW9EaWFsb2dDb21wb25lbnQsXHJcbiAgICBTaXJpb0RpYWxvZ0JvZHlDb21wb25lbnQsXHJcbiAgICBTaXJpb0RpYWxvZ0hlYWRlckNvbXBvbmVudCxcclxuICAgIFNpcmlvRGlhbG9nRm9vdGVyQ29tcG9uZW50LFxyXG4gICAgU2lyaW9CdXR0b25Db21wb25lbnQsXHJcbiAgICBTaXJpb0RpYWxvZ0FjdGlvbkRpcmVjdGl2ZSxcclxuICAgIFNpcmlvRGlhbG9nVGl0bGVDb21wb25lbnQgICAgXHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vZGlhbG9nLmNvbXBvbmVudC5jc3MnLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEaWFsb2dDb21wb25lbnQgZXh0ZW5kcyBTaXJpb0RpYWxvZ0VsZW1lbnQge1xyXG4gIEBWaWV3Q2hpbGQoJ2Zvcm1Ib3N0JywgeyByZWFkOiBWaWV3Q29udGFpbmVyUmVmLCBzdGF0aWM6IHRydWUgfSlcclxuICBwcml2YXRlIGZvcm1Ib3N0ITogVmlld0NvbnRhaW5lclJlZjtcclxuICBwcml2YXRlIGZvcm1SZWYhOiBDb21wb25lbnRSZWY8YW55PlxyXG4gIHByaXZhdGUgZHluYW1pY0Zvcm1UeXBlITogVHlwZTxhbnk+O1xyXG4gIFRleHRzID0gVGV4dHM7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbGFuZ3VhZ2VTZXJ2aWNlOiBMYW5ndWFnZVNlcnZpY2UpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMub3B0aW9ucyA9IHRoaXMuZGF0YS5vcHRpb25zID8/IHt9O1xyXG4gICAgdGhpcy5jdXJyZW50VmFsdWUgPSB0aGlzLm9wdGlvbnMudmFsdWU7XHJcbiAgICB0aGlzLmR5bmFtaWNGb3JtVHlwZSA9IHRoaXMuZGF0YS5keW5hbWljRm9ybVR5cGU7XHJcbiAgfVxyXG5cclxuICBvcHRpb25zOiBGb3JtRGlhbG9nT3B0aW9ucyA9IHsgfTtcclxuICBcclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcblxyXG4gICAgbGV0IGluamVjdG9yID0gdGhpcy5vcHRpb25zLmluamVjdG9yXHJcbiAgICAgID8/IHRoaXMuZm9ybUhvc3QuaW5qZWN0b3I7XHJcblxyXG4gICAgY29uc3QgY29tcG9uZW50UmVmID0gdGhpcy5mb3JtSG9zdC5jcmVhdGVDb21wb25lbnQodGhpcy5keW5hbWljRm9ybVR5cGUsIHsgaW5qZWN0b3IgfSk7XHJcbiAgICBjb25zdCBpbnN0YW5jZSA9IGNvbXBvbmVudFJlZi5pbnN0YW5jZSBhcyBhbnk7XHJcblxyXG4gICAgY29tcG9uZW50UmVmLnNldElucHV0KCdzY2hlbWEnLCB0aGlzLmRhdGEuZm9ybVNjaGVtYSk7XHJcbiAgICBjb21wb25lbnRSZWYuc2V0SW5wdXQoJ3ZhbHVlJywgdGhpcy5vcHRpb25zLnZhbHVlID8/IHsgfSk7XHJcbiAgICBjb21wb25lbnRSZWYuc2V0SW5wdXQoJ3Nob3dOYXYnLCB0aGlzLm9wdGlvbnMuc2hvd05hdiA/PyBmYWxzZSk7XHJcbiAgICBjb21wb25lbnRSZWYuc2V0SW5wdXQoJ3Nob3dOYXZCdXR0b24nLCB0aGlzLm9wdGlvbnMuc2hvd05hdkJ1dHRvbiA/PyBmYWxzZSk7XHJcbiAgICBjb21wb25lbnRSZWYuc2V0SW5wdXQoJ3Nob3dQcm9ncmVzcycsIHRoaXMub3B0aW9ucy5zaG93UHJvZ3Jlc3MgPz8gZmFsc2UpO1xyXG4gICAgY29tcG9uZW50UmVmLnNldElucHV0KCdzaG93Rm9ybVRpdGxlJywgdGhpcy5vcHRpb25zLnNob3dGb3JtVGl0bGUgPz8gZmFsc2UpO1xyXG5cclxuICAgIGluc3RhbmNlLnZhbHVlQ2hhbmdlXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSgodmFsdWU6IGFueSkgPT4gdGhpcy5zZXRDdXJyZW50VmFsdWUodmFsdWUpKTtcclxuXHJcbiAgICB0aGlzLmZvcm1SZWYgPSBjb21wb25lbnRSZWY7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xyXG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gIH1cclxuXHJcbiAgZG9DbG9zZSgpIHtcclxuICAgIHRoaXMuZG9BY3Rpb24oJ0Nsb3NlJyk7XHJcbiAgfVxyXG5cclxuICBkb0FjdGlvbihhY3Rpb246IERpYWxvZ0FjdGlvbikge1xyXG4gICAgaWYgKHRoaXMub3B0aW9ucy5rZWVwT3BlbiAhPT0gdHJ1ZSlcclxuICAgICAgdGhpcy5zaXJpb0RpYWxvZ1NlcnZpY2UuY2xvc2VEaWFsb2coKTtcclxuICAgIHRoaXMuU2VuZFJlc3VsdChhY3Rpb24pOyAgICBcclxuICB9XHJcblxyXG4gIHNob3dIZWFkZXIoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5zaG93VGl0bGUoKSB8fCB0aGlzLnNob3dDbG9zZUJ1dHRvbigpOyAgICBcclxuICB9XHJcblxyXG4gIHNob3dUaXRsZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLm9wdGlvbnMudGl0bGUgPyB0cnVlOiBmYWxzZTtcclxuICB9XHJcblxyXG4gIHNob3dDbG9zZUJ1dHRvbigpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMub3B0aW9ucy5jbG9zZUJ1dHRvbiA9PT0gdHJ1ZTtcclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG5cclxuICBzaG93Rm9vdGVyKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMub3B0aW9ucy5idXR0b25zICE9PSB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICBpc0ludmFsaWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gKHRoaXMuZm9ybVJlZj8uaW5zdGFuY2U/LmZvcm1Hcm91cD8udmFsaWQgPz8gdHJ1ZSkgIT09IHRydWU7XHJcbiAgfVxyXG5cclxuICBsb2NhbGUoY29tcG9uZW50OiBhbnksIGtleTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBsb2NhbGl6ZSh0aGlzLmxhbmd1YWdlLCBjb21wb25lbnQsIGtleSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgcHJpdmF0ZSBjdXJyZW50VmFsdWU6IGFueTtcclxuXHJcbiAgcHJpdmF0ZSBzZXRDdXJyZW50VmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5jdXJyZW50VmFsdWUgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0IGxhbmd1YWdlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5sYW5ndWFnZVNlcnZpY2UuZ2V0TGFuZ3VhZ2UoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgU2VuZFJlc3VsdChhY3Rpb246IERpYWxvZ0FjdGlvbikge1xyXG4gICAgaWYgKHR5cGVvZiB0aGlzLm9wdGlvbnMub25SZXN1bHQgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgY29uc3QgcmVzdWx0OiBEaWFsb2dSZXN1bHQgPSB7XHJcbiAgICAgICAgYWN0aW9uOiBhY3Rpb24sXHJcbiAgICAgICAgdmFsdWU6IHRoaXMuY3VycmVudFZhbHVlXHJcbiAgICAgIH07XHJcbiAgICAgIHRoaXMub3B0aW9ucy5vblJlc3VsdChyZXN1bHQpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8bmd4LXNpcmlvLWRpYWxvZyAoY2xvc2VFdmVudCk9XCJkb0Nsb3NlKClcIlxyXG4gICAgICAgICAgICAgICAgICBkaWFsb2dcclxuICAgICAgICAgICAgICAgICAgW3R5cGVdPVwib3B0aW9ucy50eXBlID8/ICdpbmZvJ1wiXHJcbiAgICAgICAgICAgICAgICAgIFtzaXplXT1cIm9wdGlvbnMuc2l6ZSA/PyAnZGVmYXVsdCdcIlxyXG4gICAgICAgICAgICAgICAgICBbaXNEcmF3ZXJdPVwib3B0aW9ucy5pc0RyYXdlciA/PyBmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgIFt3aXRoQ2xvc2VCdXR0b25dPVwic2hvd0Nsb3NlQnV0dG9uKClcIj5cclxuXHJcbiAgPG5neC1zaXJpby1kaWFsb2ctaGVhZGVyIFtoaWRkZW5dPVwiIXNob3dIZWFkZXIoKVwiPlxyXG4gICAgPG5neC1zaXJpby1kaWFsb2ctdGl0bGUgW2hpZGRlbl09XCIhc2hvd1RpdGxlKClcIj57eyBvcHRpb25zLnRpdGxlIH19PC9uZ3gtc2lyaW8tZGlhbG9nLXRpdGxlPlxyXG4gIDwvbmd4LXNpcmlvLWRpYWxvZy1oZWFkZXI+XHJcblxyXG4gIDxuZ3gtc2lyaW8tZGlhbG9nLWJvZHk+XHJcbiAgICA8bmctdGVtcGxhdGUgI2Zvcm1Ib3N0PjwvbmctdGVtcGxhdGU+XHJcbiAgPC9uZ3gtc2lyaW8tZGlhbG9nLWJvZHk+XHJcblxyXG4gIDxuZ3gtc2lyaW8tZGlhbG9nLWZvb3RlciAqbmdJZj1cInNob3dGb290ZXIoKVwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwib3B0aW9ucy5idXR0b25zXCI+XHJcbiAgICAgIDwhLS0gT0sgLS0+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidPSydcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29uZmlybVRlbXBsYXRlOyBjb250ZXh0OiB7IGFjdGlvbjogJ09LJyB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8IS0tIENhc286IE9LQ2FuY2VsIC0tPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInT0tDYW5jZWwnXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbmZpcm1UZW1wbGF0ZTsgY29udGV4dDogeyBhY3Rpb246ICdPSycgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjbG9zZVRlbXBsYXRlOyBjb250ZXh0OiB7IGFjdGlvbjogJ0NhbmNlbCcgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPCEtLSBDYXNvOiBDb25maXJtQ2xvc2UgLS0+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidDb25maXJtQ2FuY2VsJ1wiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb25maXJtVGVtcGxhdGU7IGNvbnRleHQ6IHsgYWN0aW9uOiAnQ29uZmlybScgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjbG9zZVRlbXBsYXRlOyBjb250ZXh0OiB7IGFjdGlvbjogJ0NhbmNlbCcgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPCEtLSBDYXNvOiBBYm9ydFJldHJ5SWdub3JlIC0tPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInQWJvcnRSZXRyeUlnbm9yZSdcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY2xvc2VUZW1wbGF0ZTsgY29udGV4dDogeyBhY3Rpb246ICdBYm9ydCcgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb25maXJtVGVtcGxhdGU7IGNvbnRleHQ6IHsgYWN0aW9uOiAnUmV0cnknIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY2xvc2VUZW1wbGF0ZTsgY29udGV4dDogeyBhY3Rpb246ICdJZ25vcmUnIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwhLS0gQ2FzbzogWWVzTm9DYW5jZWwgLS0+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidZZXNOb0NhbmNlbCdcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29uZmlybVRlbXBsYXRlOyBjb250ZXh0OiB7IGFjdGlvbjogJ1llcycgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjbG9zZVRlbXBsYXRlOyBjb250ZXh0OiB7IGFjdGlvbjogJ05vJyB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNsb3NlVGVtcGxhdGU7IGNvbnRleHQ6IHsgYWN0aW9uOiAnQ2FuY2VsJyB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8IS0tIENhc286IFllc05vIC0tPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInWWVzTm8nXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbmZpcm1UZW1wbGF0ZTsgY29udGV4dDogeyBhY3Rpb246ICdZZXMnIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY2xvc2VUZW1wbGF0ZTsgY29udGV4dDogeyBhY3Rpb246ICdObycgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPCEtLSBDYXNvOiBSZXRyeUNhbmNlbCAtLT5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ1JldHJ5Q2FuY2VsJ1wiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb25maXJtVGVtcGxhdGU7IGNvbnRleHQ6IHsgYWN0aW9uOiAnUmV0cnknIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY2xvc2VUZW1wbGF0ZTsgY29udGV4dDogeyBhY3Rpb246ICdDYW5jZWwnIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwhLS0gQ2FzbzogQ2FuY2VsVHJ5Q29udGludWUgLS0+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidDYW5jZWxUcnlDb250aW51ZSdcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY2xvc2VUZW1wbGF0ZTsgY29udGV4dDogeyBhY3Rpb246ICdDYW5jZWwnIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29uZmlybVRlbXBsYXRlOyBjb250ZXh0OiB7IGFjdGlvbjogJ1RyeScgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjbG9zZVRlbXBsYXRlOyBjb250ZXh0OiB7IGFjdGlvbjogJ0NvbnRpbnVlJyB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8IS0tIENhc286IEN1c3RvbSAtLT5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ0N1c3RvbSdcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjdXN0b21CdXR0b24gb2Ygb3B0aW9ucy5jdXN0b21CdXR0b25zID8/IFtdOyBsZXQgaSA9IGluZGV4XCI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY3VzdG9tVGVtcGxhdGU7IGNvbnRleHQ6IHsgY3VzdG9tQnV0dG9uOiBjdXN0b21CdXR0b24gfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPCEtLSBUZW1wbGF0ZXMgLS0+XHJcbiAgICA8bmctdGVtcGxhdGUgI2NvbmZpcm1UZW1wbGF0ZSBsZXQtYWN0aW9uPVwiYWN0aW9uXCI+XHJcbiAgICAgIDxuZ3gtc2lyaW8tYnV0dG9uIChjbGlja0V2ZW50KT1cImRvQWN0aW9uKGFjdGlvbilcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNJbnZhbGlkKClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIj5cclxuICAgICAgICB7eyBsb2NhbGUoVGV4dHMsIGFjdGlvbikgfX1cclxuICAgICAgPC9uZ3gtc2lyaW8tYnV0dG9uPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDxuZy10ZW1wbGF0ZSAjY2xvc2VUZW1wbGF0ZSBsZXQtYWN0aW9uPVwiYWN0aW9uXCI+XHJcbiAgICAgIDxuZ3gtc2lyaW8tYnV0dG9uIChjbGlja0V2ZW50KT1cImRvQWN0aW9uKGFjdGlvbilcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcj1cInNlY29uZGFyeVwiPlxyXG4gICAgICAgIHt7IGxvY2FsZShUZXh0cywgYWN0aW9uKSB9fVxyXG4gICAgICA8L25neC1zaXJpby1idXR0b24+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPG5nLXRlbXBsYXRlICNjdXN0b21UZW1wbGF0ZVxuICAgICAgICAgICAgICAgICBsZXQtY3VzdG9tQnV0dG9uPVwiY3VzdG9tQnV0dG9uXCI+XHJcbiAgICAgIDxuZ3gtc2lyaW8tYnV0dG9uIChjbGlja0V2ZW50KT1cImRvQWN0aW9uKGN1c3RvbUJ1dHRvbi5hY3Rpb24pXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2NvbG9yXT1cImN1c3RvbUJ1dHRvbi5jb2xvclwiPlxyXG4gICAgICAgIHt7IGN1c3RvbUJ1dHRvbi50ZXh0IH19XHJcbiAgICAgIDwvbmd4LXNpcmlvLWJ1dHRvbj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gIDwvbmd4LXNpcmlvLWRpYWxvZy1mb290ZXI+XHJcblxyXG48L25neC1zaXJpby1kaWFsb2c+XHJcbiJdfQ==