rete-angular-plugin 2.4.1 → 2.5.0

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 (110) hide show
  1. package/12/bundles/rete-angular-plugin-ng12.umd.js +43 -8
  2. package/12/bundles/rete-angular-plugin-ng12.umd.js.map +1 -1
  3. package/12/esm2015/index.js +2 -1
  4. package/12/esm2015/module.js +10 -5
  5. package/12/esm2015/presets/classic/components/node/node.component.js +6 -5
  6. package/12/esm2015/shared/pipes/impure-keyvalue.pipe.js +24 -0
  7. package/12/esm2015/shared/pipes/index.js +2 -0
  8. package/12/fesm2015/rete-angular-plugin-ng12.js +36 -10
  9. package/12/fesm2015/rete-angular-plugin-ng12.js.map +1 -1
  10. package/12/index.d.ts +1 -0
  11. package/12/module.d.ts +3 -2
  12. package/12/shared/pipes/impure-keyvalue.pipe.d.ts +12 -0
  13. package/12/shared/pipes/index.d.ts +1 -0
  14. package/13/esm2020/index.mjs +2 -1
  15. package/13/esm2020/module.mjs +10 -5
  16. package/13/esm2020/presets/classic/components/node/node.component.mjs +7 -6
  17. package/13/esm2020/shared/pipes/impure-keyvalue.pipe.mjs +24 -0
  18. package/13/esm2020/shared/pipes/index.mjs +2 -0
  19. package/13/fesm2015/rete-angular-plugin-ng13.mjs +39 -11
  20. package/13/fesm2015/rete-angular-plugin-ng13.mjs.map +1 -1
  21. package/13/fesm2020/rete-angular-plugin-ng13.mjs +37 -11
  22. package/13/fesm2020/rete-angular-plugin-ng13.mjs.map +1 -1
  23. package/13/index.d.ts +1 -0
  24. package/13/module.d.ts +3 -2
  25. package/13/shared/pipes/impure-keyvalue.pipe.d.ts +12 -0
  26. package/13/shared/pipes/index.d.ts +1 -0
  27. package/14/esm2020/index.mjs +2 -1
  28. package/14/esm2020/module.mjs +10 -5
  29. package/14/esm2020/presets/classic/components/node/node.component.mjs +7 -6
  30. package/14/esm2020/shared/pipes/impure-keyvalue.pipe.mjs +24 -0
  31. package/14/esm2020/shared/pipes/index.mjs +2 -0
  32. package/14/fesm2015/rete-angular-plugin-ng14.mjs +39 -11
  33. package/14/fesm2015/rete-angular-plugin-ng14.mjs.map +1 -1
  34. package/14/fesm2020/rete-angular-plugin-ng14.mjs +37 -11
  35. package/14/fesm2020/rete-angular-plugin-ng14.mjs.map +1 -1
  36. package/14/index.d.ts +1 -0
  37. package/14/module.d.ts +3 -2
  38. package/14/shared/pipes/impure-keyvalue.pipe.d.ts +12 -0
  39. package/14/shared/pipes/index.d.ts +1 -0
  40. package/15/esm2020/index.mjs +2 -1
  41. package/15/esm2020/module.mjs +10 -5
  42. package/15/esm2020/presets/classic/components/node/node.component.mjs +7 -6
  43. package/15/esm2020/shared/pipes/impure-keyvalue.pipe.mjs +24 -0
  44. package/15/esm2020/shared/pipes/index.mjs +2 -0
  45. package/15/fesm2015/rete-angular-plugin-ng15.mjs +39 -11
  46. package/15/fesm2015/rete-angular-plugin-ng15.mjs.map +1 -1
  47. package/15/fesm2020/rete-angular-plugin-ng15.mjs +37 -11
  48. package/15/fesm2020/rete-angular-plugin-ng15.mjs.map +1 -1
  49. package/15/index.d.ts +1 -0
  50. package/15/module.d.ts +3 -2
  51. package/15/shared/pipes/impure-keyvalue.pipe.d.ts +12 -0
  52. package/15/shared/pipes/index.d.ts +1 -0
  53. package/16/esm2022/index.mjs +2 -1
  54. package/16/esm2022/module.mjs +10 -5
  55. package/16/esm2022/presets/classic/components/node/node.component.mjs +7 -6
  56. package/16/esm2022/shared/pipes/impure-keyvalue.pipe.mjs +24 -0
  57. package/16/esm2022/shared/pipes/index.mjs +2 -0
  58. package/16/fesm2022/rete-angular-plugin-ng16.mjs +37 -11
  59. package/16/fesm2022/rete-angular-plugin-ng16.mjs.map +1 -1
  60. package/16/index.d.ts +1 -0
  61. package/16/module.d.ts +3 -2
  62. package/16/shared/pipes/impure-keyvalue.pipe.d.ts +12 -0
  63. package/16/shared/pipes/index.d.ts +1 -0
  64. package/17/esm2022/index.mjs +2 -1
  65. package/17/esm2022/module.mjs +10 -5
  66. package/17/esm2022/presets/classic/components/node/node.component.mjs +7 -6
  67. package/17/esm2022/shared/pipes/impure-keyvalue.pipe.mjs +24 -0
  68. package/17/esm2022/shared/pipes/index.mjs +2 -0
  69. package/17/fesm2022/rete-angular-plugin-ng17.mjs +37 -11
  70. package/17/fesm2022/rete-angular-plugin-ng17.mjs.map +1 -1
  71. package/17/index.d.ts +1 -0
  72. package/17/module.d.ts +3 -2
  73. package/17/shared/pipes/impure-keyvalue.pipe.d.ts +12 -0
  74. package/17/shared/pipes/index.d.ts +1 -0
  75. package/18/esm2022/index.mjs +2 -1
  76. package/18/esm2022/module.mjs +10 -5
  77. package/18/esm2022/presets/classic/components/node/node.component.mjs +7 -6
  78. package/18/esm2022/shared/pipes/impure-keyvalue.pipe.mjs +24 -0
  79. package/18/esm2022/shared/pipes/index.mjs +2 -0
  80. package/18/fesm2022/rete-angular-plugin-ng18.mjs +37 -11
  81. package/18/fesm2022/rete-angular-plugin-ng18.mjs.map +1 -1
  82. package/18/index.d.ts +1 -0
  83. package/18/module.d.ts +3 -2
  84. package/18/shared/pipes/impure-keyvalue.pipe.d.ts +12 -0
  85. package/18/shared/pipes/index.d.ts +1 -0
  86. package/19/fesm2022/rete-angular-plugin-ng19.mjs +31 -9
  87. package/19/fesm2022/rete-angular-plugin-ng19.mjs.map +1 -1
  88. package/19/index.d.ts +1 -0
  89. package/19/shared/pipes/impure-keyvalue.pipe.d.ts +12 -0
  90. package/19/shared/pipes/index.d.ts +1 -0
  91. package/20/fesm2022/rete-angular-plugin-ng20.mjs +31 -9
  92. package/20/fesm2022/rete-angular-plugin-ng20.mjs.map +1 -1
  93. package/20/index.d.ts +13 -2
  94. package/CHANGELOG.md +7 -0
  95. package/bundles/rete-angular-plugin.umd.js +40 -11
  96. package/bundles/rete-angular-plugin.umd.js.map +1 -1
  97. package/esm2015/index.js +2 -1
  98. package/esm2015/module.js +6 -3
  99. package/esm2015/presets/classic/components/node/node.component.js +2 -2
  100. package/esm2015/rete-angular-plugin.js +10 -9
  101. package/esm2015/shared/pipes/impure-keyvalue.pipe.js +20 -0
  102. package/esm2015/shared/pipes/index.js +2 -0
  103. package/fesm2015/rete-angular-plugin.js +26 -5
  104. package/fesm2015/rete-angular-plugin.js.map +1 -1
  105. package/index.d.ts +1 -0
  106. package/package.json +1 -1
  107. package/rete-angular-plugin.d.ts +9 -8
  108. package/rete-angular-plugin.metadata.json +1 -1
  109. package/shared/pipes/impure-keyvalue.pipe.d.ts +9 -0
  110. package/shared/pipes/index.d.ts +1 -0
@@ -2,6 +2,7 @@ import { Component, Input, HostBinding, ChangeDetectorRef } from '@angular/core'
2
2
  import * as i0 from "@angular/core";
3
3
  import * as i1 from "@angular/common";
4
4
  import * as i2 from "../../../../ref";
5
+ import * as i3 from "../../../../shared/pipes/impure-keyvalue.pipe";
5
6
  const _c0 = function (a2, a3, a4, a5) { return { type: "socket", side: "output", key: a2, nodeId: a3, payload: a4, seed: a5 }; };
6
7
  function NodeComponent_div_2_Template(rf, ctx) { if (rf & 1) {
7
8
  i0.ɵɵelementStart(0, "div", 4)(1, "div", 5);
@@ -90,11 +91,11 @@ NodeComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: NodeComponent
90
91
  i0.ɵɵtext(1);
91
92
  i0.ɵɵelementEnd();
92
93
  i0.ɵɵtemplate(2, NodeComponent_div_2_Template, 4, 9, "div", 1);
93
- i0.ɵɵpipe(3, "keyvalue");
94
+ i0.ɵɵpipe(3, "keyvalueimpure");
94
95
  i0.ɵɵtemplate(4, NodeComponent_div_4_Template, 1, 5, "div", 2);
95
- i0.ɵɵpipe(5, "keyvalue");
96
+ i0.ɵɵpipe(5, "keyvalueimpure");
96
97
  i0.ɵɵtemplate(6, NodeComponent_div_6_Template, 4, 15, "div", 3);
97
- i0.ɵɵpipe(7, "keyvalue");
98
+ i0.ɵɵpipe(7, "keyvalueimpure");
98
99
  } if (rf & 2) {
99
100
  i0.ɵɵadvance(1);
100
101
  i0.ɵɵtextInterpolate(ctx.data.label);
@@ -104,12 +105,12 @@ NodeComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: NodeComponent
104
105
  i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind2(5, 7, ctx.data.controls, ctx.sortByIndex));
105
106
  i0.ɵɵadvance(2);
106
107
  i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind2(7, 10, ctx.data.inputs, ctx.sortByIndex));
107
- } }, dependencies: [i1.NgForOf, i1.NgIf, i2.RefDirective, i1.KeyValuePipe], styles: ["[_nghost-%COMP%]{display:block;background:rgba(110,136,255,.8);border:2px solid #4e58bf;border-radius:10px;cursor:pointer;box-sizing:border-box;width:180px;height:auto;padding-bottom:6px;position:relative;-webkit-user-select:none;user-select:none;line-height:initial;font-family:Arial}[_nghost-%COMP%]:hover{background:rgba(130,153,255,.8)}.selected[_nghost-%COMP%]{background:#ffd92c;border-color:#e3c000}[_nghost-%COMP%] .title[_ngcontent-%COMP%]{color:#fff;font-family:sans-serif;font-size:18px;padding:8px}[_nghost-%COMP%] .output[_ngcontent-%COMP%]{text-align:right}[_nghost-%COMP%] .input[_ngcontent-%COMP%]{text-align:left}[_nghost-%COMP%] .input-title[_ngcontent-%COMP%], [_nghost-%COMP%] .output-title[_ngcontent-%COMP%]{vertical-align:middle;color:#fff;display:inline-block;font-family:sans-serif;font-size:14px;margin:6px;line-height:24px}[_nghost-%COMP%] .input-title[hidden][_ngcontent-%COMP%], [_nghost-%COMP%] .output-title[hidden][_ngcontent-%COMP%]{display:none}[_nghost-%COMP%] .output-socket[_ngcontent-%COMP%]{text-align:right;margin-right:-18px;display:inline-block}[_nghost-%COMP%] .input-socket[_ngcontent-%COMP%]{text-align:left;margin-left:-18px;display:inline-block}[_nghost-%COMP%] .input-control[_ngcontent-%COMP%]{z-index:1;width:calc(100% - 36px);vertical-align:middle;display:inline-block}[_nghost-%COMP%] .control[_ngcontent-%COMP%]{padding:6px 18px}"] });
108
+ } }, dependencies: [i1.NgForOf, i1.NgIf, i2.RefDirective, i3.ImpureKeyvaluePipe], styles: ["[_nghost-%COMP%]{display:block;background:rgba(110,136,255,.8);border:2px solid #4e58bf;border-radius:10px;cursor:pointer;box-sizing:border-box;width:180px;height:auto;padding-bottom:6px;position:relative;-webkit-user-select:none;user-select:none;line-height:initial;font-family:Arial}[_nghost-%COMP%]:hover{background:rgba(130,153,255,.8)}.selected[_nghost-%COMP%]{background:#ffd92c;border-color:#e3c000}[_nghost-%COMP%] .title[_ngcontent-%COMP%]{color:#fff;font-family:sans-serif;font-size:18px;padding:8px}[_nghost-%COMP%] .output[_ngcontent-%COMP%]{text-align:right}[_nghost-%COMP%] .input[_ngcontent-%COMP%]{text-align:left}[_nghost-%COMP%] .input-title[_ngcontent-%COMP%], [_nghost-%COMP%] .output-title[_ngcontent-%COMP%]{vertical-align:middle;color:#fff;display:inline-block;font-family:sans-serif;font-size:14px;margin:6px;line-height:24px}[_nghost-%COMP%] .input-title[hidden][_ngcontent-%COMP%], [_nghost-%COMP%] .output-title[hidden][_ngcontent-%COMP%]{display:none}[_nghost-%COMP%] .output-socket[_ngcontent-%COMP%]{text-align:right;margin-right:-18px;display:inline-block}[_nghost-%COMP%] .input-socket[_ngcontent-%COMP%]{text-align:left;margin-left:-18px;display:inline-block}[_nghost-%COMP%] .input-control[_ngcontent-%COMP%]{z-index:1;width:calc(100% - 36px);vertical-align:middle;display:inline-block}[_nghost-%COMP%] .control[_ngcontent-%COMP%]{padding:6px 18px}"] });
108
109
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(NodeComponent, [{
109
110
  type: Component,
110
111
  args: [{ host: {
111
112
  'data-testid': 'node'
112
- }, template: "<div class=\"title\" data-testid=\"title\">{{data.label}}</div>\n<div class=\"output\" *ngFor=\"let output of data.outputs | keyvalue: sortByIndex\" [attr.data-testid]=\"'output-'+output.key\">\n <div class=\"output-title\" data-testid=\"output-title\">{{output.value?.label}}</div>\n <div\n class=\"output-socket\"\n refComponent\n [data]=\"{type: 'socket', side: 'output', key: output.key, nodeId: data.id, payload: output.value?.socket, seed: seed }\"\n [emit]=\"emit\"\n data-testid=\"output-socket\"\n ></div>\n</div>\n<div\n class=\"control\"\n *ngFor=\"let control of data.controls | keyvalue: sortByIndex\"\n refComponent\n [data]=\"{type: 'control', payload: control.value }\"\n [emit]=\"emit\"\n [attr.data-testid]=\"'control-'+control.key\"\n></div>\n<div class=\"input\" *ngFor=\"let input of data.inputs | keyvalue: sortByIndex\" [attr.data-testid]=\"'input-'+input.key\">\n <div\n class=\"input-socket\"\n refComponent\n [data]=\"{type: 'socket', side: 'input', key: input.key, nodeId: data.id, payload: input.value?.socket, seed: seed }\"\n [emit]=\"emit\"\n data-testid=\"input-socket\"\n ></div>\n <div class=\"input-title\" data-testid=\"input-title\" *ngIf=\"!input.value?.control || !input.value?.showControl\">{{input.value?.label}}</div>\n <div\n class=\"input-control\"\n [style.display]=\"input.value?.control && input.value?.showControl ? '' : 'none'\"\n refComponent\n [data]=\"{type: 'control', payload: input.value?.control }\"\n [emit]=\"emit\"\n data-testid=\"input-control\"\n ></div>\n</div>\n", styles: [":host{display:block;background:rgba(110,136,255,.8);border:2px solid #4e58bf;border-radius:10px;cursor:pointer;box-sizing:border-box;width:180px;height:auto;padding-bottom:6px;position:relative;-webkit-user-select:none;user-select:none;line-height:initial;font-family:Arial}:host:hover{background:rgba(130,153,255,.8)}:host.selected{background:#ffd92c;border-color:#e3c000}:host .title{color:#fff;font-family:sans-serif;font-size:18px;padding:8px}:host .output{text-align:right}:host .input{text-align:left}:host .input-title,:host .output-title{vertical-align:middle;color:#fff;display:inline-block;font-family:sans-serif;font-size:14px;margin:6px;line-height:24px}:host .input-title[hidden],:host .output-title[hidden]{display:none}:host .output-socket{text-align:right;margin-right:-18px;display:inline-block}:host .input-socket{text-align:left;margin-left:-18px;display:inline-block}:host .input-control{z-index:1;width:calc(100% - 36px);vertical-align:middle;display:inline-block}:host .control{padding:6px 18px}\n"] }]
113
+ }, template: "<div class=\"title\" data-testid=\"title\">{{data.label}}</div>\n<div class=\"output\" *ngFor=\"let output of data.outputs | keyvalueimpure: sortByIndex\" [attr.data-testid]=\"'output-'+output.key\">\n <div class=\"output-title\" data-testid=\"output-title\">{{output.value?.label}}</div>\n <div\n class=\"output-socket\"\n refComponent\n [data]=\"{type: 'socket', side: 'output', key: output.key, nodeId: data.id, payload: output.value?.socket, seed: seed }\"\n [emit]=\"emit\"\n data-testid=\"output-socket\"\n ></div>\n</div>\n<div\n class=\"control\"\n *ngFor=\"let control of data.controls | keyvalueimpure: sortByIndex\"\n refComponent\n [data]=\"{type: 'control', payload: control.value }\"\n [emit]=\"emit\"\n [attr.data-testid]=\"'control-'+control.key\"\n></div>\n<div class=\"input\" *ngFor=\"let input of data.inputs | keyvalueimpure: sortByIndex\" [attr.data-testid]=\"'input-'+input.key\">\n <div\n class=\"input-socket\"\n refComponent\n [data]=\"{type: 'socket', side: 'input', key: input.key, nodeId: data.id, payload: input.value?.socket, seed: seed }\"\n [emit]=\"emit\"\n data-testid=\"input-socket\"\n ></div>\n <div class=\"input-title\" data-testid=\"input-title\" *ngIf=\"!input.value?.control || !input.value?.showControl\">{{input.value?.label}}</div>\n <div\n class=\"input-control\"\n [style.display]=\"input.value?.control && input.value?.showControl ? '' : 'none'\"\n refComponent\n [data]=\"{type: 'control', payload: input.value?.control }\"\n [emit]=\"emit\"\n data-testid=\"input-control\"\n ></div>\n</div>\n", styles: [":host{display:block;background:rgba(110,136,255,.8);border:2px solid #4e58bf;border-radius:10px;cursor:pointer;box-sizing:border-box;width:180px;height:auto;padding-bottom:6px;position:relative;-webkit-user-select:none;user-select:none;line-height:initial;font-family:Arial}:host:hover{background:rgba(130,153,255,.8)}:host.selected{background:#ffd92c;border-color:#e3c000}:host .title{color:#fff;font-family:sans-serif;font-size:18px;padding:8px}:host .output{text-align:right}:host .input{text-align:left}:host .input-title,:host .output-title{vertical-align:middle;color:#fff;display:inline-block;font-family:sans-serif;font-size:14px;margin:6px;line-height:24px}:host .input-title[hidden],:host .output-title[hidden]{display:none}:host .output-socket{text-align:right;margin-right:-18px;display:inline-block}:host .input-socket{text-align:left;margin-left:-18px;display:inline-block}:host .input-control{z-index:1;width:calc(100% - 36px);vertical-align:middle;display:inline-block}:host .control{padding:6px 18px}\n"] }]
113
114
  }], function () { return [{ type: i0.ChangeDetectorRef }]; }, { data: [{
114
115
  type: Input
115
116
  }], emit: [{
@@ -126,4 +127,4 @@ NodeComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: NodeComponent
126
127
  type: HostBinding,
127
128
  args: ['class.selected']
128
129
  }] }); })();
129
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9uZzE1L3NyYy9wcmVzZXRzL2NsYXNzaWMvY29tcG9uZW50cy9ub2RlL25vZGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbmcxNS9zcmMvcHJlc2V0cy9jbGFzc2ljL2NvbXBvbmVudHMvbm9kZS9ub2RlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBYSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0lDQzVGLDhCQUEwSCxhQUFBO0lBQ2pFLFlBQXVCO0lBQUEsaUJBQU07SUFDbEYseUJBTU87SUFDWCxpQkFBTTs7OztJQVQwRSx3REFBeUM7SUFDaEUsZUFBdUI7SUFBdkIsNEVBQXVCO0lBSXhFLGVBQXVIO0lBQXZILHNKQUF1SCxxQkFBQTs7OztJQUsvSCx5QkFPTzs7OztJQUhILG1FQUFtRCxxQkFBQTtJQUVuRCwwREFBMkM7OztJQVUzQywrQkFBOEc7SUFBQSxZQUFzQjtJQUFBLGlCQUFNOzs7SUFBNUIsZUFBc0I7SUFBdEIsMEVBQXNCOzs7O0lBUnhJLDhCQUFxSDtJQUNqSCx5QkFNTztJQUNQLHFFQUEwSTtJQUMxSSwwQkFPTztJQUNYLGlCQUFNOzs7O0lBakJ1RSxzREFBdUM7SUFJNUcsZUFBb0g7SUFBcEgsbUpBQW9ILHFCQUFBO0lBSXBFLGVBQXdEO0lBQXhELGlKQUF3RDtJQUd4RyxlQUFnRjtJQUFoRixpS0FBZ0Y7SUFFaEYsMEdBQTBELHFCQUFBOztBRGhCbEUsTUFBTSxPQUFPLGFBQWE7SUFtQnhCLFlBQW9CLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBZDFDLFNBQUksR0FBRyxDQUFDLENBQUE7UUFlTixJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFBO0lBQ25CLENBQUM7SUFkRCxJQUFtQyxLQUFLO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUE7SUFDeEIsQ0FBQztJQUVELElBQW9DLE1BQU07UUFDeEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQTtJQUN6QixDQUFDO0lBRUQsSUFBbUMsUUFBUTtRQUN6QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFBO0lBQzNCLENBQUM7SUFNRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQTtRQUN4QixxQkFBcUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQTtRQUM1QyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUEsQ0FBQyx1QkFBdUI7SUFDckMsQ0FBQztJQUVELFdBQVcsQ0FBbUUsQ0FBSSxFQUFFLENBQUk7UUFDdEYsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLElBQUksQ0FBQyxDQUFBO1FBQzlCLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxJQUFJLENBQUMsQ0FBQTtRQUU5QixPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUE7SUFDaEIsQ0FBQzs7MEVBbENVLGFBQWE7Z0VBQWIsYUFBYTs7OztRQ2hCMUIsOEJBQXVDO1FBQUEsWUFBYztRQUFBLGlCQUFNO1FBQzNELDhEQVNNOztRQUNOLDhEQU9POztRQUNQLCtEQWlCTTs7O1FBcENpQyxlQUFjO1FBQWQsb0NBQWM7UUFDZCxlQUF1QztRQUF2QyxpRkFBdUM7UUFZdEQsZUFBd0M7UUFBeEMsa0ZBQXdDO1FBTTNCLGVBQXNDO1FBQXRDLGlGQUFzQzs7dUZESDlELGFBQWE7Y0FSekIsU0FBUzt1QkFJRjtvQkFDSixhQUFhLEVBQUUsTUFBTTtpQkFDdEI7b0VBR1EsSUFBSTtrQkFBWixLQUFLO1lBQ0csSUFBSTtrQkFBWixLQUFLO1lBQ0csUUFBUTtrQkFBaEIsS0FBSztZQUk2QixLQUFLO2tCQUF2QyxXQUFXO21CQUFDLGdCQUFnQjtZQUlPLE1BQU07a0JBQXpDLFdBQVc7bUJBQUMsaUJBQWlCO1lBSUssUUFBUTtrQkFBMUMsV0FBVzttQkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBIb3N0QmluZGluZywgQ2hhbmdlRGV0ZWN0b3JSZWYsIE9uQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2xhc3NpY1ByZXNldCBhcyBDbGFzc2ljIH0gZnJvbSAncmV0ZSc7XG5pbXBvcnQgeyBLZXlWYWx1ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG4vLyBbaW1wb3J0c11cblxudHlwZSBOb2RlRXh0cmFEYXRhID0geyB3aWR0aD86IG51bWJlciwgaGVpZ2h0PzogbnVtYmVyIH1cbnR5cGUgU29ydFZhbHVlPE4gZXh0ZW5kcyBDbGFzc2ljLk5vZGU+ID0gKE5bJ2NvbnRyb2xzJ10gfCBOWydpbnB1dHMnXSB8IE5bJ291dHB1dHMnXSlbc3RyaW5nXVxuXG5AQ29tcG9uZW50KHtcbiAgLy8gW2NvbXBvbmVudC1kaXJlY3RpdmVdXG4gIHRlbXBsYXRlVXJsOiAnLi9ub2RlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbm9kZS5jb21wb25lbnQuc2FzcyddLFxuICBob3N0OiB7XG4gICAgJ2RhdGEtdGVzdGlkJzogJ25vZGUnXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgTm9kZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIGRhdGEhOiBDbGFzc2ljLk5vZGUgJiBOb2RlRXh0cmFEYXRhO1xuICBASW5wdXQoKSBlbWl0ITogKGRhdGE6IGFueSkgPT4gdm9pZFxuICBASW5wdXQoKSByZW5kZXJlZCE6ICgpID0+IHZvaWRcblxuICBzZWVkID0gMFxuXG4gIEBIb3N0QmluZGluZygnc3R5bGUud2lkdGgucHgnKSBnZXQgd2lkdGgoKSB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YS53aWR0aFxuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5oZWlnaHQucHgnKSBnZXQgaGVpZ2h0KCkge1xuICAgIHJldHVybiB0aGlzLmRhdGEuaGVpZ2h0XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnNlbGVjdGVkJykgZ2V0IHNlbGVjdGVkKCkge1xuICAgIHJldHVybiB0aGlzLmRhdGEuc2VsZWN0ZWRcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIHRoaXMuY2RyLmRldGFjaCgpXG4gIH1cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKClcbiAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4gdGhpcy5yZW5kZXJlZCgpKVxuICAgIHRoaXMuc2VlZCsrIC8vIGZvcmNlIHJlbmRlciBzb2NrZXRzXG4gIH1cblxuICBzb3J0QnlJbmRleDxOIGV4dGVuZHMgQ2xhc3NpYy5Ob2RlLCBJIGV4dGVuZHMgS2V5VmFsdWU8c3RyaW5nLCBTb3J0VmFsdWU8Tj4+PihhOiBJLCBiOiBJKSB7XG4gICAgY29uc3QgYWkgPSBhLnZhbHVlPy5pbmRleCB8fCAwXG4gICAgY29uc3QgYmkgPSBiLnZhbHVlPy5pbmRleCB8fCAwXG5cbiAgICByZXR1cm4gYWkgLSBiaVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwidGl0bGVcIiBkYXRhLXRlc3RpZD1cInRpdGxlXCI+e3tkYXRhLmxhYmVsfX08L2Rpdj5cbjxkaXYgY2xhc3M9XCJvdXRwdXRcIiAqbmdGb3I9XCJsZXQgb3V0cHV0IG9mIGRhdGEub3V0cHV0cyB8IGtleXZhbHVlOiBzb3J0QnlJbmRleFwiIFthdHRyLmRhdGEtdGVzdGlkXT1cIidvdXRwdXQtJytvdXRwdXQua2V5XCI+XG4gICAgPGRpdiBjbGFzcz1cIm91dHB1dC10aXRsZVwiIGRhdGEtdGVzdGlkPVwib3V0cHV0LXRpdGxlXCI+e3tvdXRwdXQudmFsdWU/LmxhYmVsfX08L2Rpdj5cbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwib3V0cHV0LXNvY2tldFwiXG4gICAgICAgIHJlZkNvbXBvbmVudFxuICAgICAgICBbZGF0YV09XCJ7dHlwZTogJ3NvY2tldCcsIHNpZGU6ICdvdXRwdXQnLCBrZXk6IG91dHB1dC5rZXksIG5vZGVJZDogZGF0YS5pZCwgcGF5bG9hZDogb3V0cHV0LnZhbHVlPy5zb2NrZXQsIHNlZWQ6IHNlZWQgfVwiXG4gICAgICAgIFtlbWl0XT1cImVtaXRcIlxuICAgICAgICBkYXRhLXRlc3RpZD1cIm91dHB1dC1zb2NrZXRcIlxuICAgID48L2Rpdj5cbjwvZGl2PlxuPGRpdlxuICAgIGNsYXNzPVwiY29udHJvbFwiXG4gICAgKm5nRm9yPVwibGV0IGNvbnRyb2wgb2YgZGF0YS5jb250cm9scyB8IGtleXZhbHVlOiBzb3J0QnlJbmRleFwiXG4gICAgcmVmQ29tcG9uZW50XG4gICAgW2RhdGFdPVwie3R5cGU6ICdjb250cm9sJywgcGF5bG9hZDogY29udHJvbC52YWx1ZSB9XCJcbiAgICBbZW1pdF09XCJlbWl0XCJcbiAgICBbYXR0ci5kYXRhLXRlc3RpZF09XCInY29udHJvbC0nK2NvbnRyb2wua2V5XCJcbj48L2Rpdj5cbjxkaXYgY2xhc3M9XCJpbnB1dFwiICpuZ0Zvcj1cImxldCBpbnB1dCBvZiBkYXRhLmlucHV0cyB8IGtleXZhbHVlOiBzb3J0QnlJbmRleFwiIFthdHRyLmRhdGEtdGVzdGlkXT1cIidpbnB1dC0nK2lucHV0LmtleVwiPlxuICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJpbnB1dC1zb2NrZXRcIlxuICAgICAgICByZWZDb21wb25lbnRcbiAgICAgICAgW2RhdGFdPVwie3R5cGU6ICdzb2NrZXQnLCBzaWRlOiAnaW5wdXQnLCBrZXk6IGlucHV0LmtleSwgbm9kZUlkOiBkYXRhLmlkLCBwYXlsb2FkOiBpbnB1dC52YWx1ZT8uc29ja2V0LCBzZWVkOiBzZWVkIH1cIlxuICAgICAgICBbZW1pdF09XCJlbWl0XCJcbiAgICAgICAgZGF0YS10ZXN0aWQ9XCJpbnB1dC1zb2NrZXRcIlxuICAgID48L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtdGl0bGVcIiBkYXRhLXRlc3RpZD1cImlucHV0LXRpdGxlXCIgKm5nSWY9XCIhaW5wdXQudmFsdWU/LmNvbnRyb2wgfHwgIWlucHV0LnZhbHVlPy5zaG93Q29udHJvbFwiPnt7aW5wdXQudmFsdWU/LmxhYmVsfX08L2Rpdj5cbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiaW5wdXQtY29udHJvbFwiXG4gICAgICAgIFtzdHlsZS5kaXNwbGF5XT1cImlucHV0LnZhbHVlPy5jb250cm9sICYmIGlucHV0LnZhbHVlPy5zaG93Q29udHJvbCA/ICcnIDogJ25vbmUnXCJcbiAgICAgICAgcmVmQ29tcG9uZW50XG4gICAgICAgIFtkYXRhXT1cInt0eXBlOiAnY29udHJvbCcsIHBheWxvYWQ6IGlucHV0LnZhbHVlPy5jb250cm9sIH1cIlxuICAgICAgICBbZW1pdF09XCJlbWl0XCJcbiAgICAgICAgZGF0YS10ZXN0aWQ9XCJpbnB1dC1jb250cm9sXCJcbiAgICA+PC9kaXY+XG48L2Rpdj5cbiJdfQ==
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9uZzE1L3NyYy9wcmVzZXRzL2NsYXNzaWMvY29tcG9uZW50cy9ub2RlL25vZGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbmcxNS9zcmMvcHJlc2V0cy9jbGFzc2ljL2NvbXBvbmVudHMvbm9kZS9ub2RlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBYSxNQUFNLGVBQWUsQ0FBQzs7Ozs7OztJQ0M1Riw4QkFBZ0ksYUFBQTtJQUN2RSxZQUF1QjtJQUFBLGlCQUFNO0lBQ2xGLHlCQU1PO0lBQ1gsaUJBQU07Ozs7SUFUZ0Ysd0RBQXlDO0lBQ3RFLGVBQXVCO0lBQXZCLDRFQUF1QjtJQUl4RSxlQUF1SDtJQUF2SCxzSkFBdUgscUJBQUE7Ozs7SUFLL0gseUJBT087Ozs7SUFISCxtRUFBbUQscUJBQUE7SUFFbkQsMERBQTJDOzs7SUFVM0MsK0JBQThHO0lBQUEsWUFBc0I7SUFBQSxpQkFBTTs7O0lBQTVCLGVBQXNCO0lBQXRCLDBFQUFzQjs7OztJQVJ4SSw4QkFBMkg7SUFDdkgseUJBTU87SUFDUCxxRUFBMEk7SUFDMUksMEJBT087SUFDWCxpQkFBTTs7OztJQWpCNkUsc0RBQXVDO0lBSWxILGVBQW9IO0lBQXBILG1KQUFvSCxxQkFBQTtJQUlwRSxlQUF3RDtJQUF4RCxpSkFBd0Q7SUFHeEcsZUFBZ0Y7SUFBaEYsaUtBQWdGO0lBRWhGLDBHQUEwRCxxQkFBQTs7QURoQmxFLE1BQU0sT0FBTyxhQUFhO0lBbUJ4QixZQUFvQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQWQxQyxTQUFJLEdBQUcsQ0FBQyxDQUFBO1FBZU4sSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQTtJQUNuQixDQUFDO0lBZEQsSUFBbUMsS0FBSztRQUN0QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFBO0lBQ3hCLENBQUM7SUFFRCxJQUFvQyxNQUFNO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUE7SUFDekIsQ0FBQztJQUVELElBQW1DLFFBQVE7UUFDekMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQTtJQUMzQixDQUFDO0lBTUQsV0FBVztRQUNULElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUE7UUFDeEIscUJBQXFCLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUE7UUFDNUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFBLENBQUMsdUJBQXVCO0lBQ3JDLENBQUM7SUFFRCxXQUFXLENBQW1FLENBQUksRUFBRSxDQUFJO1FBQ3RGLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxJQUFJLENBQUMsQ0FBQTtRQUM5QixNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssSUFBSSxDQUFDLENBQUE7UUFFOUIsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFBO0lBQ2hCLENBQUM7OzBFQWxDVSxhQUFhO2dFQUFiLGFBQWE7Ozs7UUNoQjFCLDhCQUF1QztRQUFBLFlBQWM7UUFBQSxpQkFBTTtRQUMzRCw4REFTTTs7UUFDTiw4REFPTzs7UUFDUCwrREFpQk07OztRQXBDaUMsZUFBYztRQUFkLG9DQUFjO1FBQ2QsZUFBNkM7UUFBN0MsaUZBQTZDO1FBWTVELGVBQThDO1FBQTlDLGtGQUE4QztRQU1qQyxlQUE0QztRQUE1QyxpRkFBNEM7O3VGREhwRSxhQUFhO2NBUnpCLFNBQVM7dUJBSUY7b0JBQ0osYUFBYSxFQUFFLE1BQU07aUJBQ3RCO29FQUdRLElBQUk7a0JBQVosS0FBSztZQUNHLElBQUk7a0JBQVosS0FBSztZQUNHLFFBQVE7a0JBQWhCLEtBQUs7WUFJNkIsS0FBSztrQkFBdkMsV0FBVzttQkFBQyxnQkFBZ0I7WUFJTyxNQUFNO2tCQUF6QyxXQUFXO21CQUFDLGlCQUFpQjtZQUlLLFFBQVE7a0JBQTFDLFdBQVc7bUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgSG9zdEJpbmRpbmcsIENoYW5nZURldGVjdG9yUmVmLCBPbkNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENsYXNzaWNQcmVzZXQgYXMgQ2xhc3NpYyB9IGZyb20gJ3JldGUnO1xuaW1wb3J0IHsgS2V5VmFsdWUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuLy8gW2ltcG9ydHNdXG5cbnR5cGUgTm9kZUV4dHJhRGF0YSA9IHsgd2lkdGg/OiBudW1iZXIsIGhlaWdodD86IG51bWJlciB9XG50eXBlIFNvcnRWYWx1ZTxOIGV4dGVuZHMgQ2xhc3NpYy5Ob2RlPiA9IChOWydjb250cm9scyddIHwgTlsnaW5wdXRzJ10gfCBOWydvdXRwdXRzJ10pW3N0cmluZ11cblxuQENvbXBvbmVudCh7XG4gIC8vIFtjb21wb25lbnQtZGlyZWN0aXZlXVxuICB0ZW1wbGF0ZVVybDogJy4vbm9kZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL25vZGUuY29tcG9uZW50LnNhc3MnXSxcbiAgaG9zdDoge1xuICAgICdkYXRhLXRlc3RpZCc6ICdub2RlJ1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIE5vZGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBkYXRhITogQ2xhc3NpYy5Ob2RlICYgTm9kZUV4dHJhRGF0YTtcbiAgQElucHV0KCkgZW1pdCE6IChkYXRhOiBhbnkpID0+IHZvaWRcbiAgQElucHV0KCkgcmVuZGVyZWQhOiAoKSA9PiB2b2lkXG5cbiAgc2VlZCA9IDBcblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLndpZHRoLnB4JykgZ2V0IHdpZHRoKCkge1xuICAgIHJldHVybiB0aGlzLmRhdGEud2lkdGhcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnc3R5bGUuaGVpZ2h0LnB4JykgZ2V0IGhlaWdodCgpIHtcbiAgICByZXR1cm4gdGhpcy5kYXRhLmhlaWdodFxuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zZWxlY3RlZCcpIGdldCBzZWxlY3RlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5kYXRhLnNlbGVjdGVkXG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICB0aGlzLmNkci5kZXRhY2goKVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpXG4gICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHRoaXMucmVuZGVyZWQoKSlcbiAgICB0aGlzLnNlZWQrKyAvLyBmb3JjZSByZW5kZXIgc29ja2V0c1xuICB9XG5cbiAgc29ydEJ5SW5kZXg8TiBleHRlbmRzIENsYXNzaWMuTm9kZSwgSSBleHRlbmRzIEtleVZhbHVlPHN0cmluZywgU29ydFZhbHVlPE4+Pj4oYTogSSwgYjogSSkge1xuICAgIGNvbnN0IGFpID0gYS52YWx1ZT8uaW5kZXggfHwgMFxuICAgIGNvbnN0IGJpID0gYi52YWx1ZT8uaW5kZXggfHwgMFxuXG4gICAgcmV0dXJuIGFpIC0gYmlcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInRpdGxlXCIgZGF0YS10ZXN0aWQ9XCJ0aXRsZVwiPnt7ZGF0YS5sYWJlbH19PC9kaXY+XG48ZGl2IGNsYXNzPVwib3V0cHV0XCIgKm5nRm9yPVwibGV0IG91dHB1dCBvZiBkYXRhLm91dHB1dHMgfCBrZXl2YWx1ZWltcHVyZTogc29ydEJ5SW5kZXhcIiBbYXR0ci5kYXRhLXRlc3RpZF09XCInb3V0cHV0LScrb3V0cHV0LmtleVwiPlxuICAgIDxkaXYgY2xhc3M9XCJvdXRwdXQtdGl0bGVcIiBkYXRhLXRlc3RpZD1cIm91dHB1dC10aXRsZVwiPnt7b3V0cHV0LnZhbHVlPy5sYWJlbH19PC9kaXY+XG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cIm91dHB1dC1zb2NrZXRcIlxuICAgICAgICByZWZDb21wb25lbnRcbiAgICAgICAgW2RhdGFdPVwie3R5cGU6ICdzb2NrZXQnLCBzaWRlOiAnb3V0cHV0Jywga2V5OiBvdXRwdXQua2V5LCBub2RlSWQ6IGRhdGEuaWQsIHBheWxvYWQ6IG91dHB1dC52YWx1ZT8uc29ja2V0LCBzZWVkOiBzZWVkIH1cIlxuICAgICAgICBbZW1pdF09XCJlbWl0XCJcbiAgICAgICAgZGF0YS10ZXN0aWQ9XCJvdXRwdXQtc29ja2V0XCJcbiAgICA+PC9kaXY+XG48L2Rpdj5cbjxkaXZcbiAgICBjbGFzcz1cImNvbnRyb2xcIlxuICAgICpuZ0Zvcj1cImxldCBjb250cm9sIG9mIGRhdGEuY29udHJvbHMgfCBrZXl2YWx1ZWltcHVyZTogc29ydEJ5SW5kZXhcIlxuICAgIHJlZkNvbXBvbmVudFxuICAgIFtkYXRhXT1cInt0eXBlOiAnY29udHJvbCcsIHBheWxvYWQ6IGNvbnRyb2wudmFsdWUgfVwiXG4gICAgW2VtaXRdPVwiZW1pdFwiXG4gICAgW2F0dHIuZGF0YS10ZXN0aWRdPVwiJ2NvbnRyb2wtJytjb250cm9sLmtleVwiXG4+PC9kaXY+XG48ZGl2IGNsYXNzPVwiaW5wdXRcIiAqbmdGb3I9XCJsZXQgaW5wdXQgb2YgZGF0YS5pbnB1dHMgfCBrZXl2YWx1ZWltcHVyZTogc29ydEJ5SW5kZXhcIiBbYXR0ci5kYXRhLXRlc3RpZF09XCInaW5wdXQtJytpbnB1dC5rZXlcIj5cbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiaW5wdXQtc29ja2V0XCJcbiAgICAgICAgcmVmQ29tcG9uZW50XG4gICAgICAgIFtkYXRhXT1cInt0eXBlOiAnc29ja2V0Jywgc2lkZTogJ2lucHV0Jywga2V5OiBpbnB1dC5rZXksIG5vZGVJZDogZGF0YS5pZCwgcGF5bG9hZDogaW5wdXQudmFsdWU/LnNvY2tldCwgc2VlZDogc2VlZCB9XCJcbiAgICAgICAgW2VtaXRdPVwiZW1pdFwiXG4gICAgICAgIGRhdGEtdGVzdGlkPVwiaW5wdXQtc29ja2V0XCJcbiAgICA+PC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImlucHV0LXRpdGxlXCIgZGF0YS10ZXN0aWQ9XCJpbnB1dC10aXRsZVwiICpuZ0lmPVwiIWlucHV0LnZhbHVlPy5jb250cm9sIHx8ICFpbnB1dC52YWx1ZT8uc2hvd0NvbnRyb2xcIj57e2lucHV0LnZhbHVlPy5sYWJlbH19PC9kaXY+XG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cImlucHV0LWNvbnRyb2xcIlxuICAgICAgICBbc3R5bGUuZGlzcGxheV09XCJpbnB1dC52YWx1ZT8uY29udHJvbCAmJiBpbnB1dC52YWx1ZT8uc2hvd0NvbnRyb2wgPyAnJyA6ICdub25lJ1wiXG4gICAgICAgIHJlZkNvbXBvbmVudFxuICAgICAgICBbZGF0YV09XCJ7dHlwZTogJ2NvbnRyb2wnLCBwYXlsb2FkOiBpbnB1dC52YWx1ZT8uY29udHJvbCB9XCJcbiAgICAgICAgW2VtaXRdPVwiZW1pdFwiXG4gICAgICAgIGRhdGEtdGVzdGlkPVwiaW5wdXQtY29udHJvbFwiXG4gICAgPjwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,24 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class ImpureKeyvaluePipe {
4
+ transform(value, compareFn) {
5
+ if (!value || typeof value !== 'object') {
6
+ return [];
7
+ }
8
+ const result = Object.entries(value).map(([key, val]) => ({ key, value: val }));
9
+ if (compareFn) {
10
+ result.sort(compareFn);
11
+ }
12
+ return result;
13
+ }
14
+ }
15
+ ImpureKeyvaluePipe.ɵfac = function ImpureKeyvaluePipe_Factory(t) { return new (t || ImpureKeyvaluePipe)(); };
16
+ ImpureKeyvaluePipe.ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "keyvalueimpure", type: ImpureKeyvaluePipe, pure: false });
17
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ImpureKeyvaluePipe, [{
18
+ type: Pipe,
19
+ args: [{
20
+ name: 'keyvalueimpure',
21
+ pure: false
22
+ }]
23
+ }], null, null); })();
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wdXJlLWtleXZhbHVlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9uZzE1L3NyYy9zaGFyZWQvcGlwZXMvaW1wdXJlLWtleXZhbHVlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBTXBELE1BQU0sT0FBTyxrQkFBa0I7SUFFN0IsU0FBUyxDQUFDLEtBQThDLEVBQUUsU0FBc0M7UUFDOUYsSUFBSSxDQUFDLEtBQUssSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7WUFDdkMsT0FBTyxFQUFFLENBQUM7U0FDWDtRQUVELE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBQyxDQUFDLENBQUMsQ0FBQztRQUU5RSxJQUFJLFNBQVMsRUFBRTtZQUNiLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDeEI7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDOztvRkFkVSxrQkFBa0I7eUZBQWxCLGtCQUFrQjt1RkFBbEIsa0JBQWtCO2NBSjlCLElBQUk7ZUFBQztnQkFDSixJQUFJLEVBQUUsZ0JBQWdCO2dCQUN0QixJQUFJLEVBQUUsS0FBSzthQUNaIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdrZXl2YWx1ZWltcHVyZScsXG4gIHB1cmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIEltcHVyZUtleXZhbHVlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gIHRyYW5zZm9ybSh2YWx1ZToge1trZXk6IHN0cmluZ106IGFueX0gfCBudWxsIHwgdW5kZWZpbmVkLCBjb21wYXJlRm4/OiAoYTogYW55LCBiOiBhbnkpID0+IG51bWJlcik6IEFycmF5PHtrZXk6IHN0cmluZywgdmFsdWU6IGFueX0+IHtcbiAgICBpZiAoIXZhbHVlIHx8IHR5cGVvZiB2YWx1ZSAhPT0gJ29iamVjdCcpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICBjb25zdCByZXN1bHQgPSBPYmplY3QuZW50cmllcyh2YWx1ZSkubWFwKChba2V5LCB2YWxdKSA9PiAoe2tleSwgdmFsdWU6IHZhbH0pKTtcblxuICAgIGlmIChjb21wYXJlRm4pIHtcbiAgICAgIHJlc3VsdC5zb3J0KGNvbXBhcmVGbik7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxufVxuIl19
@@ -0,0 +1,2 @@
1
+ export { ImpureKeyvaluePipe } from './impure-keyvalue.pipe';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9uZzE1L3NyYy9zaGFyZWQvcGlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBJbXB1cmVLZXl2YWx1ZVBpcGUgfSBmcm9tICcuL2ltcHVyZS1rZXl2YWx1ZS5waXBlJztcbiJdfQ==
@@ -2,7 +2,7 @@ import { __awaiter } from 'tslib';
2
2
  import { getUID, ClassicPreset, Scope } from 'rete';
3
3
  import { getDOMSocketPosition, loopConnectionPath, classicConnectionPath } from 'rete-render-utils';
4
4
  import * as i0 from '@angular/core';
5
- import { Directive, Input, Component, HostBinding, HostListener, EventEmitter, Output, NgModule } from '@angular/core';
5
+ import { Directive, Input, Pipe, Component, HostBinding, HostListener, EventEmitter, Output, NgModule } from '@angular/core';
6
6
  import * as i1 from '@angular/common';
7
7
  import { CommonModule } from '@angular/common';
8
8
  import { BaseAreaPlugin } from 'rete-area-plugin';
@@ -34,6 +34,30 @@ RefDirective.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: RefDirective,
34
34
  }] });
35
35
  })();
36
36
 
37
+ class ImpureKeyvaluePipe {
38
+ transform(value, compareFn) {
39
+ if (!value || typeof value !== 'object') {
40
+ return [];
41
+ }
42
+ const result = Object.entries(value).map(([key, val]) => ({ key, value: val }));
43
+ if (compareFn) {
44
+ result.sort(compareFn);
45
+ }
46
+ return result;
47
+ }
48
+ }
49
+ ImpureKeyvaluePipe.ɵfac = function ImpureKeyvaluePipe_Factory(t) { return new (t || ImpureKeyvaluePipe)(); };
50
+ ImpureKeyvaluePipe.ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "keyvalueimpure", type: ImpureKeyvaluePipe, pure: false });
51
+ (function () {
52
+ (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ImpureKeyvaluePipe, [{
53
+ type: Pipe,
54
+ args: [{
55
+ name: 'keyvalueimpure',
56
+ pure: false
57
+ }]
58
+ }], null, null);
59
+ })();
60
+
37
61
  const _c0$1 = function (a2, a3, a4, a5) { return { type: "socket", side: "output", key: a2, nodeId: a3, payload: a4, seed: a5 }; };
38
62
  function NodeComponent_div_2_Template(rf, ctx) {
39
63
  if (rf & 1) {
@@ -138,11 +162,11 @@ NodeComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: NodeComponent
138
162
  i0.ɵɵtext(1);
139
163
  i0.ɵɵelementEnd();
140
164
  i0.ɵɵtemplate(2, NodeComponent_div_2_Template, 4, 9, "div", 1);
141
- i0.ɵɵpipe(3, "keyvalue");
165
+ i0.ɵɵpipe(3, "keyvalueimpure");
142
166
  i0.ɵɵtemplate(4, NodeComponent_div_4_Template, 1, 5, "div", 2);
143
- i0.ɵɵpipe(5, "keyvalue");
167
+ i0.ɵɵpipe(5, "keyvalueimpure");
144
168
  i0.ɵɵtemplate(6, NodeComponent_div_6_Template, 4, 15, "div", 3);
145
- i0.ɵɵpipe(7, "keyvalue");
169
+ i0.ɵɵpipe(7, "keyvalueimpure");
146
170
  }
147
171
  if (rf & 2) {
148
172
  i0.ɵɵadvance(1);
@@ -154,13 +178,13 @@ NodeComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: NodeComponent
154
178
  i0.ɵɵadvance(2);
155
179
  i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind2(7, 10, ctx.data.inputs, ctx.sortByIndex));
156
180
  }
157
- }, dependencies: [i1.NgForOf, i1.NgIf, RefDirective, i1.KeyValuePipe], styles: ["[_nghost-%COMP%]{display:block;background:rgba(110,136,255,.8);border:2px solid #4e58bf;border-radius:10px;cursor:pointer;box-sizing:border-box;width:180px;height:auto;padding-bottom:6px;position:relative;-webkit-user-select:none;user-select:none;line-height:initial;font-family:Arial}[_nghost-%COMP%]:hover{background:rgba(130,153,255,.8)}.selected[_nghost-%COMP%]{background:#ffd92c;border-color:#e3c000}[_nghost-%COMP%] .title[_ngcontent-%COMP%]{color:#fff;font-family:sans-serif;font-size:18px;padding:8px}[_nghost-%COMP%] .output[_ngcontent-%COMP%]{text-align:right}[_nghost-%COMP%] .input[_ngcontent-%COMP%]{text-align:left}[_nghost-%COMP%] .input-title[_ngcontent-%COMP%], [_nghost-%COMP%] .output-title[_ngcontent-%COMP%]{vertical-align:middle;color:#fff;display:inline-block;font-family:sans-serif;font-size:14px;margin:6px;line-height:24px}[_nghost-%COMP%] .input-title[hidden][_ngcontent-%COMP%], [_nghost-%COMP%] .output-title[hidden][_ngcontent-%COMP%]{display:none}[_nghost-%COMP%] .output-socket[_ngcontent-%COMP%]{text-align:right;margin-right:-18px;display:inline-block}[_nghost-%COMP%] .input-socket[_ngcontent-%COMP%]{text-align:left;margin-left:-18px;display:inline-block}[_nghost-%COMP%] .input-control[_ngcontent-%COMP%]{z-index:1;width:calc(100% - 36px);vertical-align:middle;display:inline-block}[_nghost-%COMP%] .control[_ngcontent-%COMP%]{padding:6px 18px}"] });
181
+ }, dependencies: [i1.NgForOf, i1.NgIf, RefDirective, ImpureKeyvaluePipe], styles: ["[_nghost-%COMP%]{display:block;background:rgba(110,136,255,.8);border:2px solid #4e58bf;border-radius:10px;cursor:pointer;box-sizing:border-box;width:180px;height:auto;padding-bottom:6px;position:relative;-webkit-user-select:none;user-select:none;line-height:initial;font-family:Arial}[_nghost-%COMP%]:hover{background:rgba(130,153,255,.8)}.selected[_nghost-%COMP%]{background:#ffd92c;border-color:#e3c000}[_nghost-%COMP%] .title[_ngcontent-%COMP%]{color:#fff;font-family:sans-serif;font-size:18px;padding:8px}[_nghost-%COMP%] .output[_ngcontent-%COMP%]{text-align:right}[_nghost-%COMP%] .input[_ngcontent-%COMP%]{text-align:left}[_nghost-%COMP%] .input-title[_ngcontent-%COMP%], [_nghost-%COMP%] .output-title[_ngcontent-%COMP%]{vertical-align:middle;color:#fff;display:inline-block;font-family:sans-serif;font-size:14px;margin:6px;line-height:24px}[_nghost-%COMP%] .input-title[hidden][_ngcontent-%COMP%], [_nghost-%COMP%] .output-title[hidden][_ngcontent-%COMP%]{display:none}[_nghost-%COMP%] .output-socket[_ngcontent-%COMP%]{text-align:right;margin-right:-18px;display:inline-block}[_nghost-%COMP%] .input-socket[_ngcontent-%COMP%]{text-align:left;margin-left:-18px;display:inline-block}[_nghost-%COMP%] .input-control[_ngcontent-%COMP%]{z-index:1;width:calc(100% - 36px);vertical-align:middle;display:inline-block}[_nghost-%COMP%] .control[_ngcontent-%COMP%]{padding:6px 18px}"] });
158
182
  (function () {
159
183
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(NodeComponent, [{
160
184
  type: Component,
161
185
  args: [{ host: {
162
186
  'data-testid': 'node'
163
- }, template: "<div class=\"title\" data-testid=\"title\">{{data.label}}</div>\n<div class=\"output\" *ngFor=\"let output of data.outputs | keyvalue: sortByIndex\" [attr.data-testid]=\"'output-'+output.key\">\n <div class=\"output-title\" data-testid=\"output-title\">{{output.value?.label}}</div>\n <div\n class=\"output-socket\"\n refComponent\n [data]=\"{type: 'socket', side: 'output', key: output.key, nodeId: data.id, payload: output.value?.socket, seed: seed }\"\n [emit]=\"emit\"\n data-testid=\"output-socket\"\n ></div>\n</div>\n<div\n class=\"control\"\n *ngFor=\"let control of data.controls | keyvalue: sortByIndex\"\n refComponent\n [data]=\"{type: 'control', payload: control.value }\"\n [emit]=\"emit\"\n [attr.data-testid]=\"'control-'+control.key\"\n></div>\n<div class=\"input\" *ngFor=\"let input of data.inputs | keyvalue: sortByIndex\" [attr.data-testid]=\"'input-'+input.key\">\n <div\n class=\"input-socket\"\n refComponent\n [data]=\"{type: 'socket', side: 'input', key: input.key, nodeId: data.id, payload: input.value?.socket, seed: seed }\"\n [emit]=\"emit\"\n data-testid=\"input-socket\"\n ></div>\n <div class=\"input-title\" data-testid=\"input-title\" *ngIf=\"!input.value?.control || !input.value?.showControl\">{{input.value?.label}}</div>\n <div\n class=\"input-control\"\n [style.display]=\"input.value?.control && input.value?.showControl ? '' : 'none'\"\n refComponent\n [data]=\"{type: 'control', payload: input.value?.control }\"\n [emit]=\"emit\"\n data-testid=\"input-control\"\n ></div>\n</div>\n", styles: [":host{display:block;background:rgba(110,136,255,.8);border:2px solid #4e58bf;border-radius:10px;cursor:pointer;box-sizing:border-box;width:180px;height:auto;padding-bottom:6px;position:relative;-webkit-user-select:none;user-select:none;line-height:initial;font-family:Arial}:host:hover{background:rgba(130,153,255,.8)}:host.selected{background:#ffd92c;border-color:#e3c000}:host .title{color:#fff;font-family:sans-serif;font-size:18px;padding:8px}:host .output{text-align:right}:host .input{text-align:left}:host .input-title,:host .output-title{vertical-align:middle;color:#fff;display:inline-block;font-family:sans-serif;font-size:14px;margin:6px;line-height:24px}:host .input-title[hidden],:host .output-title[hidden]{display:none}:host .output-socket{text-align:right;margin-right:-18px;display:inline-block}:host .input-socket{text-align:left;margin-left:-18px;display:inline-block}:host .input-control{z-index:1;width:calc(100% - 36px);vertical-align:middle;display:inline-block}:host .control{padding:6px 18px}\n"] }]
187
+ }, template: "<div class=\"title\" data-testid=\"title\">{{data.label}}</div>\n<div class=\"output\" *ngFor=\"let output of data.outputs | keyvalueimpure: sortByIndex\" [attr.data-testid]=\"'output-'+output.key\">\n <div class=\"output-title\" data-testid=\"output-title\">{{output.value?.label}}</div>\n <div\n class=\"output-socket\"\n refComponent\n [data]=\"{type: 'socket', side: 'output', key: output.key, nodeId: data.id, payload: output.value?.socket, seed: seed }\"\n [emit]=\"emit\"\n data-testid=\"output-socket\"\n ></div>\n</div>\n<div\n class=\"control\"\n *ngFor=\"let control of data.controls | keyvalueimpure: sortByIndex\"\n refComponent\n [data]=\"{type: 'control', payload: control.value }\"\n [emit]=\"emit\"\n [attr.data-testid]=\"'control-'+control.key\"\n></div>\n<div class=\"input\" *ngFor=\"let input of data.inputs | keyvalueimpure: sortByIndex\" [attr.data-testid]=\"'input-'+input.key\">\n <div\n class=\"input-socket\"\n refComponent\n [data]=\"{type: 'socket', side: 'input', key: input.key, nodeId: data.id, payload: input.value?.socket, seed: seed }\"\n [emit]=\"emit\"\n data-testid=\"input-socket\"\n ></div>\n <div class=\"input-title\" data-testid=\"input-title\" *ngIf=\"!input.value?.control || !input.value?.showControl\">{{input.value?.label}}</div>\n <div\n class=\"input-control\"\n [style.display]=\"input.value?.control && input.value?.showControl ? '' : 'none'\"\n refComponent\n [data]=\"{type: 'control', payload: input.value?.control }\"\n [emit]=\"emit\"\n data-testid=\"input-control\"\n ></div>\n</div>\n", styles: [":host{display:block;background:rgba(110,136,255,.8);border:2px solid #4e58bf;border-radius:10px;cursor:pointer;box-sizing:border-box;width:180px;height:auto;padding-bottom:6px;position:relative;-webkit-user-select:none;user-select:none;line-height:initial;font-family:Arial}:host:hover{background:rgba(130,153,255,.8)}:host.selected{background:#ffd92c;border-color:#e3c000}:host .title{color:#fff;font-family:sans-serif;font-size:18px;padding:8px}:host .output{text-align:right}:host .input{text-align:left}:host .input-title,:host .output-title{vertical-align:middle;color:#fff;display:inline-block;font-family:sans-serif;font-size:14px;margin:6px;line-height:24px}:host .input-title[hidden],:host .output-title[hidden]{display:none}:host .output-socket{text-align:right;margin-right:-18px;display:inline-block}:host .input-socket{text-align:left;margin-left:-18px;display:inline-block}:host .input-control{z-index:1;width:calc(100% - 36px);vertical-align:middle;display:inline-block}:host .control{padding:6px 18px}\n"] }]
164
188
  }], function () { return [{ type: i0.ChangeDetectorRef }]; }, { data: [{
165
189
  type: Input
166
190
  }], emit: [{
@@ -1326,7 +1350,8 @@ ReteModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule]
1326
1350
  ConnectionComponent,
1327
1351
  ConnectionWrapperComponent,
1328
1352
  SocketComponent,
1329
- ControlComponent
1353
+ ControlComponent,
1354
+ ImpureKeyvaluePipe
1330
1355
  ],
1331
1356
  imports: [
1332
1357
  CommonModule
@@ -1337,7 +1362,8 @@ ReteModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule]
1337
1362
  ConnectionComponent,
1338
1363
  ConnectionWrapperComponent,
1339
1364
  SocketComponent,
1340
- ControlComponent
1365
+ ControlComponent,
1366
+ ImpureKeyvaluePipe
1341
1367
  ],
1342
1368
  entryComponents: [
1343
1369
  NodeComponent,
@@ -1355,12 +1381,14 @@ ReteModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule]
1355
1381
  ConnectionComponent,
1356
1382
  ConnectionWrapperComponent,
1357
1383
  SocketComponent,
1358
- ControlComponent], imports: [CommonModule], exports: [RefDirective,
1384
+ ControlComponent,
1385
+ ImpureKeyvaluePipe], imports: [CommonModule], exports: [RefDirective,
1359
1386
  NodeComponent,
1360
1387
  ConnectionComponent,
1361
1388
  ConnectionWrapperComponent,
1362
1389
  SocketComponent,
1363
- ControlComponent] });
1390
+ ControlComponent,
1391
+ ImpureKeyvaluePipe] });
1364
1392
  })();
1365
1393
 
1366
1394
  class ReteContextMenuModule {
@@ -1606,5 +1634,5 @@ class AngularPlugin extends Scope {
1606
1634
  * Generated bundle index. Do not edit.
1607
1635
  */
1608
1636
 
1609
- export { AngularPlugin, ConnectionComponent, ConnectionWrapperComponent, ContextMenuComponent, ContextMenuItemComponent, ContextMenuSearchComponent, ControlComponent, MiniNodeComponent, MiniViewportComponent, MinimapComponent, NodeComponent, PinComponent, PinsComponent, index as Presets, RefDirective, ReteContextMenuModule, ReteMinimapModule, ReteModule, ReteRerouteModule, SocketComponent };
1637
+ export { AngularPlugin, ConnectionComponent, ConnectionWrapperComponent, ContextMenuComponent, ContextMenuItemComponent, ContextMenuSearchComponent, ControlComponent, ImpureKeyvaluePipe, MiniNodeComponent, MiniViewportComponent, MinimapComponent, NodeComponent, PinComponent, PinsComponent, index as Presets, RefDirective, ReteContextMenuModule, ReteMinimapModule, ReteModule, ReteRerouteModule, SocketComponent };
1610
1638
  //# sourceMappingURL=rete-angular-plugin-ng15.mjs.map