@nymphjs/pubsub 1.0.0-beta.1 → 1.0.0-beta.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,54 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [1.0.0-beta.11](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.10...v1.0.0-beta.11) (2023-02-27)
7
+
8
+ **Note:** Version bump only for package @nymphjs/pubsub
9
+
10
+ # [1.0.0-beta.10](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.9...v1.0.0-beta.10) (2023-01-19)
11
+
12
+ ### Bug Fixes
13
+
14
+ - explicitly set skipAc to false in PubSub server ([33f96f7](https://github.com/sciactive/nymphjs/commit/33f96f7ccabaedb9e226fe302a996259e0158315))
15
+
16
+ # [1.0.0-beta.9](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.8...v1.0.0-beta.9) (2023-01-09)
17
+
18
+ ### Bug Fixes
19
+
20
+ - reworked $is and $equals to better work with new instance based classes ([b1f3f0c](https://github.com/sciactive/nymphjs/commit/b1f3f0cca3e2b0dd392cd9da31167a6bd9487b40))
21
+
22
+ # [1.0.0-beta.8](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.7...v1.0.0-beta.8) (2023-01-09)
23
+
24
+ ### Features
25
+
26
+ - make entities in nymph client instance specific too ([1029f06](https://github.com/sciactive/nymphjs/commit/1029f061a1ad193e4a8a2dab0186b9a4b517f646))
27
+
28
+ # [1.0.0-beta.7](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.6...v1.0.0-beta.7) (2023-01-05)
29
+
30
+ **Note:** Version bump only for package @nymphjs/pubsub
31
+
32
+ # [1.0.0-beta.6](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.5...v1.0.0-beta.6) (2023-01-05)
33
+
34
+ **Note:** Version bump only for package @nymphjs/pubsub
35
+
36
+ # [1.0.0-beta.5](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.4...v1.0.0-beta.5) (2022-11-24)
37
+
38
+ **Note:** Version bump only for package @nymphjs/pubsub
39
+
40
+ # [1.0.0-beta.4](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.3...v1.0.0-beta.4) (2022-11-23)
41
+
42
+ **Note:** Version bump only for package @nymphjs/pubsub
43
+
44
+ # [1.0.0-beta.3](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.2...v1.0.0-beta.3) (2022-11-21)
45
+
46
+ **Note:** Version bump only for package @nymphjs/pubsub
47
+
48
+ # [1.0.0-beta.2](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.1...v1.0.0-beta.2) (2022-11-21)
49
+
50
+ ### Features
51
+
52
+ - migrate all callbacks to async so errors are properly caught ([7dc8241](https://github.com/sciactive/nymphjs/commit/7dc82411eab381ad81ece044d0998b0c0707749c))
53
+
6
54
  # [1.0.0-beta.1](https://github.com/sciactive/nymphjs/compare/v1.0.0-beta.0...v1.0.0-beta.1) (2022-11-21)
7
55
 
8
56
  ### Bug Fixes
package/dist/PubSub.js CHANGED
@@ -7,7 +7,7 @@ const conf_1 = require("./conf");
7
7
  class PubSub {
8
8
  static initPublisher(config, nymph) {
9
9
  const configWithDefaults = { ...conf_1.ConfigDefaults, ...config };
10
- nymph.on('beforeSaveEntity', (nymph, entity) => {
10
+ nymph.on('beforeSaveEntity', async (nymph, entity) => {
11
11
  const guid = entity.guid;
12
12
  const etype = entity.constructor.ETYPE;
13
13
  const off = nymph.on('afterSaveEntity', async (_nymph, result) => {
@@ -24,7 +24,7 @@ class PubSub {
24
24
  }), configWithDefaults);
25
25
  });
26
26
  });
27
- nymph.on('beforeDeleteEntity', (nymph, entity) => {
27
+ nymph.on('beforeDeleteEntity', async (nymph, entity) => {
28
28
  const guid = entity.guid;
29
29
  const etype = entity.constructor.ETYPE;
30
30
  const off = nymph.on('afterDeleteEntity', async (_nymph, result) => {
@@ -40,7 +40,7 @@ class PubSub {
40
40
  }), configWithDefaults);
41
41
  });
42
42
  });
43
- nymph.on('beforeDeleteEntityByID', (nymph, guid, className) => {
43
+ nymph.on('beforeDeleteEntityByID', async (nymph, guid, className) => {
44
44
  try {
45
45
  const etype = nymph.getEntityClass(className ?? 'Entity').ETYPE;
46
46
  const off = nymph.on('afterDeleteEntityByID', async (_nymph, result) => {
@@ -60,7 +60,7 @@ class PubSub {
60
60
  return;
61
61
  }
62
62
  });
63
- nymph.on('beforeNewUID', (nymph, name) => {
63
+ nymph.on('beforeNewUID', async (nymph, name) => {
64
64
  const off = nymph.on('afterNewUID', async (_nymph, result) => {
65
65
  off();
66
66
  const value = await result;
@@ -75,7 +75,7 @@ class PubSub {
75
75
  }), configWithDefaults);
76
76
  });
77
77
  });
78
- nymph.on('beforeSetUID', (nymph, name, value) => {
78
+ nymph.on('beforeSetUID', async (nymph, name, value) => {
79
79
  const off = nymph.on('afterSetUID', async (_nymph, result) => {
80
80
  off();
81
81
  if (!(await result)) {
@@ -89,7 +89,7 @@ class PubSub {
89
89
  }), configWithDefaults);
90
90
  });
91
91
  });
92
- nymph.on('beforeRenameUID', (nymph, oldName, newName) => {
92
+ nymph.on('beforeRenameUID', async (nymph, oldName, newName) => {
93
93
  const off = nymph.on('afterRenameUID', async (_nymph, result) => {
94
94
  off();
95
95
  if (!(await result)) {
@@ -103,7 +103,7 @@ class PubSub {
103
103
  }), configWithDefaults);
104
104
  });
105
105
  });
106
- nymph.on('beforeDeleteUID', (nymph, name) => {
106
+ nymph.on('beforeDeleteUID', async (nymph, name) => {
107
107
  const off = nymph.on('afterDeleteUID', async (_nymph, result) => {
108
108
  off();
109
109
  if (!(await result)) {
@@ -564,6 +564,7 @@ class PubSub {
564
564
  class: nymph.getEntityClass(clientOptions.class),
565
565
  return: 'entity',
566
566
  source: 'client',
567
+ skipAc: false,
567
568
  };
568
569
  const selectors = (0, nymph_1.classNamesToEntityConstructors)(nymph, clientSelectors);
569
570
  if (this.sessions.has(curClient)) {
@@ -1 +1 @@
1
- {"version":3,"file":"PubSub.js","sourceRoot":"","sources":["../src/PubSub.ts"],"names":[],"mappings":";;AAAA,0CAQwB;AACxB,yCAMmB;AACnB,mCAAoC;AAEpC,iCAA4D;AAuB5D,MAAqB,MAAM;IA0BlB,MAAM,CAAC,aAAa,CAAC,MAAuB,EAAE,KAAY;QAC/D,MAAM,kBAAkB,GAAW,EAAE,GAAG,qBAAQ,EAAE,GAAG,MAAM,EAAE,CAAC;QAE9D,KAAK,CAAC,EAAE,CAAC,kBAAkB,EAAE,CAAC,KAAY,EAAE,MAAuB,EAAE,EAAE;YACrE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;YACzB,MAAM,KAAK,GAAI,MAAM,CAAC,WAAiC,CAAC,KAAK,CAAC;YAE9D,MAAM,GAAG,GAAG,KAAK,CAAC,EAAE,CAClB,iBAAiB,EACjB,KAAK,EAAE,MAAa,EAAE,MAAwB,EAAE,EAAE;gBAChD,GAAG,EAAE,CAAC;gBACN,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,EAAE;oBACnB,OAAO;iBACR;gBACD,IAAI,CAAC,OAAO,CACV,IAAI,CAAC,SAAS,CAAC;oBACb,MAAM,EAAE,SAAS;oBACjB,KAAK,EAAE,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;oBACzC,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;oBACvB,KAAK,EAAE,KAAK;iBACb,CAAC,EACF,kBAAkB,CACnB,CAAC;YACJ,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,KAAY,EAAE,MAAuB,EAAE,EAAE;YACvE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;YACzB,MAAM,KAAK,GAAI,MAAM,CAAC,WAAiC,CAAC,KAAK,CAAC;YAE9D,MAAM,GAAG,GAAG,KAAK,CAAC,EAAE,CAClB,mBAAmB,EACnB,KAAK,EAAE,MAAa,EAAE,MAAwB,EAAE,EAAE;gBAChD,GAAG,EAAE,CAAC;gBACN,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,EAAE;oBACnB,OAAO;iBACR;gBACD,IAAI,CAAC,OAAO,CACV,IAAI,CAAC,SAAS,CAAC;oBACb,MAAM,EAAE,SAAS;oBACjB,KAAK,EAAE,QAAQ;oBACf,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE,KAAK;iBACb,CAAC,EACF,kBAAkB,CACnB,CAAC;YACJ,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CACN,wBAAwB,EACxB,CAAC,KAAY,EAAE,IAAY,EAAE,SAAkB,EAAE,EAAE;YACjD,IAAI;gBACF,MAAM,KAAK,GAAG,KAAK,CAAC,cAAc,CAAC,SAAS,IAAI,QAAQ,CAAC,CAAC,KAAK,CAAC;gBAEhE,MAAM,GAAG,GAAG,KAAK,CAAC,EAAE,CAClB,uBAAuB,EACvB,KAAK,EAAE,MAAa,EAAE,MAAwB,EAAE,EAAE;oBAChD,GAAG,EAAE,CAAC;oBACN,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,EAAE;wBACnB,OAAO;qBACR;oBACD,IAAI,CAAC,OAAO,CACV,IAAI,CAAC,SAAS,CAAC;wBACb,MAAM,EAAE,SAAS;wBACjB,KAAK,EAAE,QAAQ;wBACf,IAAI,EAAE,IAAI;wBACV,KAAK,EAAE,KAAK;qBACb,CAAC,EACF,kBAAkB,CACnB,CAAC;gBACJ,CAAC,CACF,CAAC;aACH;YAAC,OAAO,CAAM,EAAE;gBACf,OAAO;aACR;QACH,CAAC,CACF,CAAC;QAEF,KAAK,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC,KAAY,EAAE,IAAY,EAAE,EAAE;YACtD,MAAM,GAAG,GAAG,KAAK,CAAC,EAAE,CAClB,aAAa,EACb,KAAK,EAAE,MAAa,EAAE,MAA8B,EAAE,EAAE;gBACtD,GAAG,EAAE,CAAC;gBACN,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC;gBAC3B,IAAI,KAAK,IAAI,IAAI,EAAE;oBACjB,OAAO;iBACR;gBACD,IAAI,CAAC,OAAO,CACV,IAAI,CAAC,SAAS,CAAC;oBACb,MAAM,EAAE,SAAS;oBACjB,KAAK,EAAE,QAAQ;oBACf,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE,KAAK;iBACb,CAAC,EACF,kBAAkB,CACnB,CAAC;YACJ,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC,KAAY,EAAE,IAAY,EAAE,KAAa,EAAE,EAAE;YACrE,MAAM,GAAG,GAAG,KAAK,CAAC,EAAE,CAClB,aAAa,EACb,KAAK,EAAE,MAAa,EAAE,MAAwB,EAAE,EAAE;gBAChD,GAAG,EAAE,CAAC;gBACN,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,EAAE;oBACnB,OAAO;iBACR;gBACD,IAAI,CAAC,OAAO,CACV,IAAI,CAAC,SAAS,CAAC;oBACb,MAAM,EAAE,SAAS;oBACjB,KAAK,EAAE,QAAQ;oBACf,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE,KAAK;iBACb,CAAC,EACF,kBAAkB,CACnB,CAAC;YACJ,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CACN,iBAAiB,EACjB,CAAC,KAAY,EAAE,OAAe,EAAE,OAAe,EAAE,EAAE;YACjD,MAAM,GAAG,GAAG,KAAK,CAAC,EAAE,CAClB,gBAAgB,EAChB,KAAK,EAAE,MAAa,EAAE,MAAwB,EAAE,EAAE;gBAChD,GAAG,EAAE,CAAC;gBACN,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,EAAE;oBACnB,OAAO;iBACR;gBACD,IAAI,CAAC,OAAO,CACV,IAAI,CAAC,SAAS,CAAC;oBACb,MAAM,EAAE,SAAS;oBACjB,KAAK,EAAE,WAAW;oBAClB,OAAO,EAAE,OAAO;oBAChB,OAAO,EAAE,OAAO;iBACjB,CAAC,EACF,kBAAkB,CACnB,CAAC;YACJ,CAAC,CACF,CAAC;QACJ,CAAC,CACF,CAAC;QAEF,KAAK,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,KAAY,EAAE,IAAY,EAAE,EAAE;YACzD,MAAM,GAAG,GAAG,KAAK,CAAC,EAAE,CAClB,gBAAgB,EAChB,KAAK,EAAE,MAAa,EAAE,MAAwB,EAAE,EAAE;gBAChD,GAAG,EAAE,CAAC;gBACN,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,EAAE;oBACnB,OAAO;iBACR;gBACD,IAAI,CAAC,OAAO,CACV,IAAI,CAAC,SAAS,CAAC;oBACb,MAAM,EAAE,SAAS;oBACjB,KAAK,EAAE,WAAW;oBAClB,IAAI,EAAE,IAAI;iBACX,CAAC,EACF,kBAAkB,CACnB,CAAC;YACJ,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,MAAM,CAAC,OAAO,CAAC,OAAe,EAAE,MAAc;QACpD,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,OAAO,IAAI,EAAE,EAAE;YACrC,MAAM,MAAM,GAAG,IAAI,kBAAe,EAAE,CAAC;YAErC,MAAM,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,EAAE;gBACnC,IAAI,MAAM,CAAC,MAAM,EAAE;oBACjB,MAAM,CAAC,MAAM,CACX,OAAO,EACP,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,+BAA+B,KAAK,CAAC,QAAQ,EAAE,KAAK,IAAI,GAAG,CAC5D,CAAC;iBACH;YACH,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,EAAE;gBAClC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;oBAC/B,IAAI,MAAM,CAAC,MAAM,EAAE;wBACjB,MAAM,CAAC,MAAM,CACX,OAAO,EACP,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,2BAA2B,KAAK,CAAC,QAAQ,EAAE,KAAK,IAAI,GAAG,CACxD,CAAC;qBACH;gBACH,CAAC,CAAC,CAAC;gBAEH,IAAI,UAAU,CAAC,SAAS,EAAE;oBACxB,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;iBAC7B;gBAED,UAAU,CAAC,KAAK,EAAE,CAAC;YACrB,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;SAC/B;IACH,CAAC;IAOD,YACE,MAAuB,EACvB,KAAY,EACZ,MAAuB;QAhOjB,aAAQ,GAAG,IAAI,GAAG,EAAsB,CAAC;QACvC,cAAS,GAIf,EAAE,CAAC;QACG,YAAO,GAEb,EAAE,CAAC;QA0NL,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,qBAAQ,EAAE,GAAG,MAAM,EAAE,CAAC;QACzC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3D,CAAC;IAEM,KAAK;QACV,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IAEM,aAAa,CAAC,OAAgB;QACnC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YAEhD,OAAO,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,MAAM,CAAC,MAAM,CAChB,KAAK,EACL,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,qBAAqB,GAAG,OAAO,CAAC,MAAM,GAAG,6BAA6B,CACvE,CAAC;YACF,OAAO;SACR;QAED,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAC3D,IAAI,CAAC,MAAM,CAAC,MAAM,CAChB,KAAK,EACL,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,6BAA6B,UAAU,CAAC,aAAa,IAAI,CAC1D,CAAC;QAEF,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YAC7B,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QAEH,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE;YACnC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,EAAE;YAClD,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;IACL,CAAC;IAKM,KAAK,CAAC,SAAS,CAAC,IAAgB,EAAE,GAAY;QACnD,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE;YACvB,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;SAChE;QACD,MAAM,IAAI,GAAgB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACnD,IACE,CAAC,IAAI,CAAC,MAAM;YACZ,CAAC,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC,OAAO,CAC7D,IAAI,CAAC,MAAM,CACZ,KAAK,CAAC,CAAC,EACR;YACA,OAAO;SACR;QACD,QAAQ,IAAI,CAAC,MAAM,EAAE;YACnB,KAAK,cAAc;gBACjB,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACtC,MAAM;YACR,KAAK,WAAW,CAAC;YACjB,KAAK,aAAa;gBAChB,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAC1C,MAAM;YACR,KAAK,SAAS;gBACZ,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;gBAC1C,MAAM;SACT;IACH,CAAC;IAKM,OAAO,CAAC,IAAgB,EAAE,WAAmB;QAClD,IAAI,CAAC,MAAM,CAAC,MAAM,CAChB,KAAK,EACL,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,uBAAuB,WAAW,KAAK,IAAI,CAAC,aAAa,GAAG,CAC7D,CAAC;QAEF,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,KAAK,IAAI,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE;YACnC,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YAClD,KAAK,IAAI,QAAQ,IAAI,gBAAgB,EAAE;gBACrC,MAAM,UAAU,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;gBAC9C,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;oBACxB,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBAExB,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC;oBAE9B,IAAI,KAAK,KAAK,CAAC,EAAE;wBACf,OAAO,gBAAgB,CAAC,QAAQ,CAAC,CAAC;wBAClC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;4BACtD,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;yBACjC;qBACF;yBAAM;wBACL,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE;4BAE/B,KAAK,IAAI,GAAG,IAAI,UAAU,CAAC,IAAI,EAAE,EAAE;gCACjC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gCACpC,IAAI,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE;oCAC5B,GAAG,CAAC,OAAO,CACT,IAAI,CAAC,SAAS,CAAC;wCACb,KAAK,EAAE,OAAO,CAAC,KAAK;wCACpB,KAAK;qCACN,CAAC,CACH,CAAC;iCACH;6BACF;yBACF;qBACF;oBACD,IAAI,EAAE,CAAC;iBACR;aACF;SACF;QAED,KAAK,IAAI,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE;YAC/B,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACxC,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gBACxB,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAExB,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC;gBAE9B,IAAI,KAAK,KAAK,CAAC,EAAE;oBACf,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;iBAC7B;qBAAM;oBACL,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE;wBAE/B,KAAK,MAAM,GAAG,IAAI,UAAU,CAAC,IAAI,EAAE,EAAE;4BACnC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;4BACpC,IAAI,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE;gCAC5B,GAAG,CAAC,OAAO,CACT,IAAI,CAAC,SAAS,CAAC;oCACb,GAAG,EAAE,MAAM;oCACX,KAAK;iCACN,CAAC,CACH,CAAC;6BACH;yBACF;qBACF;iBACF;gBACD,IAAI,EAAE,CAAC;aACR;SACF;QAED,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YAC3B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC3B,IAAI,EAAE,CAAC;SACR;QAED,IAAI,IAAI,EAAE;YACR,IAAI,CAAC,MAAM,CAAC,MAAM,CAChB,KAAK,EACL,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,8BAA8B,IAAI,KAAK,IAAI,CAAC,aAAa,GAAG,CAC7D,CAAC;SACH;IACH,CAAC;IAEM,OAAO,CAAC,IAAgB,EAAE,CAAQ;QACvC,IAAI,CAAC,MAAM,CAAC,MAAM,CAChB,OAAO,EACP,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,sBAAsB,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,aAAa,GAAG,CAC1D,CAAC;IACJ,CAAC;IAKO,oBAAoB,CAC1B,IAAgB,EAChB,IAA6B;QAG7B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,KAAK,IAAI,IAAI,EAAE;YACjB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;SAChC;aAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YAClC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SAC5B;IACH,CAAC;IAKO,KAAK,CAAC,kBAAkB,CAC9B,IAAgB,EAChB,IAA0B;QAE1B,IAAI,OAAO,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE;YAGzC,MAAM,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;SAChD;aAAM,IACL,KAAK,IAAI,IAAI;YACb,IAAI,CAAC,GAAG,IAAI,IAAI;YAChB,OAAO,IAAI,CAAC,GAAG,IAAI,QAAQ,EAC3B;YAGA,MAAM,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;SAC9C;IACH,CAAC;IAKO,KAAK,CAAC,uBAAuB,CACnC,IAAgB,EAChB,IAA+B,EAC/B,UAGC;QAED,IAAI,IAAqC,CAAC;QAC1C,IAAI,WAA8B,CAAC;QACnC,IAAI;YACF,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC9B,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;SACxD;QAAC,OAAO,CAAM,EAAE;YACf,OAAO;SACR;QACD,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC;QAChC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,CAAC,aAAa,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC;QAC3C,MAAM,OAAO,GAAiC;YAC5C,GAAG,aAAa;YAChB,KAAK,EAAE,WAAW;YAClB,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,QAAQ;SACjB,CAAC;QAEF,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,GAAG,SAAS,CAAC,CAAC;QAEtE,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;YAI/B,KAAK,MAAM,SAAS,IAAI,WAAW,EAAE;gBACnC,MAAM,IAAI,CAAC,uBAAuB,CAChC,IAAI,EACJ;oBACE,MAAM,EAAE,WAAW;oBACnB,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;iBACjC,EACD;oBACE,KAAK;oBACL,KAAK,EAAE,UAAU;iBAClB,CACF,CAAC;aACH;YAGD,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE;gBAC9B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;aAC5B;YACD,IAAI,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE;gBAC1C,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC;aAC/C;YACD,IAAI,KAAK,GAAG,IAAI,CAAC;YACjB,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gBAC3B,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;aACjC;YACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACjC,IAAI,KAAK,CAAC,OAAO,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,EAAE;gBAC1C,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBACrD,IAAI,IAAI,EAAE;oBAER,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;iBACjC;aACF;YACD,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAChE,IAAI,WAAW,EAAE;gBACf,IAAI,UAAU,EAAE;oBACd,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;iBAC1C;gBACD,IAAI,CAAC,UAAU,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE;oBACtC,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC;iBAC3B;gBACD,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE;oBACpC,WAAW,CAAC,KAAK,GAAG,IAAI,CAAC;iBAC1B;aACF;iBAAM;gBACL,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE;oBAC1C,OAAO,EAAE,MAAM,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC;oBACvD,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE;oBAC3C,MAAM,EAAE,CAAC,UAAU;oBACnB,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK;iBACpB,CAAC,CAAC;aACJ;YACD,IAAI,KAAK,CAAC,OAAO,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,EAAE;gBAE1C,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;aAC9B;YACD,IAAI,CAAC,MAAM,CAAC,MAAM,CAChB,KAAK,EACL,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,kCAAkC,UAAU,KAAK,IAAI,CAAC,aAAa,GAAG,CACvE,CAAC;YAEF,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE;gBAE/B,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC;gBACrD,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,EAAE;oBACxD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBAC3D,IAAI,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE;wBAC5B,GAAG,CAAC,OAAO,CACT,IAAI,CAAC,SAAS,CAAC;4BACb,KAAK,EAAE,OAAO,CAAC,KAAK;4BACpB,KAAK;yBACN,CAAC,CACH,CAAC;qBACH;iBACF;aACF;SACF;QAED,IAAI,IAAI,CAAC,MAAM,KAAK,aAAa,EAAE;YAIjC,KAAK,MAAM,SAAS,IAAI,WAAW,EAAE;gBACnC,MAAM,IAAI,CAAC,uBAAuB,CAChC,IAAI,EACJ;oBACE,MAAM,EAAE,aAAa;oBACrB,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;iBACjC,EACD;oBACE,KAAK;oBACL,KAAK,EAAE,UAAU;iBAClB,CACF,CAAC;aACH;YAGD,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE;gBAC9B,OAAO;aACR;YACD,IAAI,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE;gBAC1C,OAAO;aACR;YACD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gBAChD,OAAO;aACR;YACD,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAChE,IAAI,WAAW,EAAE;gBACf,IAAI,UAAU,EAAE;oBACd,WAAW,CAAC,WAAW,GAAG,WAAW,CAAC,WAAW,CAAC,MAAM,CACtD,CAAC,MAAM,EAAE,EAAE,CACT,CAAC,CACC,UAAU,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK;wBACjC,UAAU,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,CAClC,CACJ,CAAC;iBACH;gBACD,IAAI,CAAC,UAAU,EAAE;oBACf,WAAW,CAAC,MAAM,GAAG,KAAK,CAAC;iBAC5B;gBACD,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,EAAE;oBAC1D,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;iBAChD;aACF;YACD,IAAI,CAAC,MAAM,CAAC,MAAM,CAChB,KAAK,EACL,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,sCAAsC,UAAU,KAAK,IAAI,CAAC,aAAa,GAAG,CAC3E,CAAC;YAEF,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC;YAErD,IAAI,KAAK,KAAK,CAAC,EAAE;gBAEf,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC;gBACzC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;oBACnD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;iBAC9B;gBACD,OAAO;aACR;YAED,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE;gBAE/B,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,EAAE;oBACxD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBAC3D,IAAI,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE;wBAC5B,GAAG,CAAC,OAAO,CACT,IAAI,CAAC,SAAS,CAAC;4BACb,KAAK,EAAE,OAAO,CAAC,KAAK;4BACpB,KAAK;yBACN,CAAC,CACH,CAAC;qBACH;iBACF;aACF;SACF;IACH,CAAC;IAKO,KAAK,CAAC,qBAAqB,CACjC,IAAgB,EAChB,IAA6B;QAE7B,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;YAE/B,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE;gBAC/B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC;aACpC;YACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE;gBAClC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK;aACpB,CAAC,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,MAAM,CAChB,KAAK,EACL,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,gCAAgC,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,aAAa,GAAG,CACnE,CAAC;YAEF,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE;gBAE/B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBAC1C,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;oBAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBAChD,IAAI,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE;wBAC5B,GAAG,CAAC,OAAO,CACT,IAAI,CAAC,SAAS,CAAC;4BACb,GAAG,EAAE,IAAI,CAAC,GAAG;4BACb,KAAK;yBACN,CAAC,CACH,CAAC;qBACH;iBACF;aACF;SACF;QAED,IAAI,IAAI,CAAC,MAAM,KAAK,aAAa,EAAE;YAEjC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE;gBAC/B,OAAO;aACR;YACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gBACrC,OAAO;aACR;YACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACpC,IAAI,CAAC,MAAM,CAAC,MAAM,CAChB,KAAK,EACL,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,oCAAoC,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,aAAa,GAAG,CACvE,CAAC;YAEF,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YAE1C,IAAI,KAAK,KAAK,CAAC,EAAE;gBAEf,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC9B,OAAO;aACR;YAED,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE;gBAE/B,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;oBAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBAChD,IAAI,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE;wBAC5B,GAAG,CAAC,OAAO,CACT,IAAI,CAAC,SAAS,CAAC;4BACb,GAAG,EAAE,IAAI,CAAC,GAAG;4BACb,KAAK;yBACN,CAAC,CACH,CAAC;qBACH;iBACF;aACF;SACF;IACH,CAAC;IAKO,KAAK,CAAC,aAAa,CACzB,IAAgB,EAChB,GAAY,EACZ,IAAwB;QAExB,IACE,MAAM,IAAI,IAAI;YACd,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ;YAC7B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC;YACjC,CAAC,IAAI,CAAC,KAAK,KAAK,QAAQ;gBACtB,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC;oBACnD,QAAQ,IAAI,IAAI;oBAChB,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,EACzB;YAGA,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAG3C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SACjB;QAED,IACE,CAAC,CAAC,MAAM,IAAI,IAAI,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC;YAChD,CAAC,SAAS,IAAI,IAAI;gBAChB,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ;gBAChC,SAAS,IAAI,IAAI;gBACjB,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC;YACtC,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EACzE;YAGA,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAGxC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SACjB;IACH,CAAC;IAKO,KAAK,CAAC,mBAAmB,CAC/B,IAAgB,EAChB,IAA8B;QAE9B,IAAI,CAAC,MAAM,CAAC,MAAM,CAChB,KAAK,EACL,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,gCAAgC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,aAAa,GAAG,CACnF,CAAC;QAEF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAEzB,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE;YAC9B,OAAO;SACR;QAED,KAAK,IAAI,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC1C,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC;YACnD,MAAM,cAAc,GAAG,IAAI,GAAG,EAAc,CAAC;YAE7C,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE;gBAEtD,IAAI;oBACF,KAAK,MAAM,SAAS,IAAI,UAAU,CAAC,IAAI,EAAE,EAAE;wBACzC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;wBAC1C,IAAI,CAAC,OAAO,EAAE;4BACZ,SAAS;yBACV;wBACD,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE;4BAC7C,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;4BAClD,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;yBAC/B;qBACF;iBACF;gBAAC,OAAO,CAAM,EAAE;oBACf,IAAI,CAAC,MAAM,CAAC,MAAM,CAChB,OAAO,EACP,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,uCAAuC,CAAC,EAAE,OAAO,GAAG,CACrD,CAAC;iBACH;aACF;YAED,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE;gBAEvE,IAAI;oBACF,MAAM,CAAC,aAAa,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;oBAC3D,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,GAAG,SAAS,CAAC,CAAC;oBACtE,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBACnE,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;oBACpC,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;oBACrC,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;oBACrC,MAAM,WAAW,GAAyB,EAAE,CAAC;oBAC7C,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE;wBACzC,MAAM,IAAI,KAAK,CACb,4CAA4C,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAChE,CAAC;qBACH;oBACD,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAErE,IACE,WAAW,CAAC,KAAK,KAAK,eAAe,CAAC,KAAK;wBAC3C,CAAC,WAAW,CAAC,MAAM;4BACjB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CACzB,UAAU,EACV,WAAW,EACX,SAAS,EACT,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,EAAE,CACxB,CAAC,EACJ;wBAEA,KAAK,IAAI,SAAS,IAAI,UAAU,CAAC,IAAI,EAAE,EAAE;4BACvC,IAAI,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;gCAEjC,SAAS;6BACV;4BAED,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;4BAC1C,IAAI,CAAC,OAAO,EAAE;gCACZ,SAAS;6BACV;4BAID,IAAI,WAAW,CAAC,MAAM,EAAE;gCACtB,MAAM,mBAAmB,GAAG,IAAI,CAAC,sBAAsB,CACrD,SAAS,EACT,SAAS,CACV,CAAC;gCACF,IACE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAC1B,UAAU,EACV,WAAW,EACX,mBAAmB,EACnB,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,EAAE,CACxB,EACD;oCAEA,SAAS;iCACV;6BACF;4BAED,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;yBACnD;qBACF;iBACF;gBAAC,OAAO,CAAM,EAAE;oBACf,IAAI,CAAC,MAAM,CAAC,MAAM,CAChB,OAAO,EACP,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,uCAAuC,CAAC,EAAE,OAAO,GAAG,CACrD,CAAC;iBACH;aACF;SACF;IACH,CAAC;IAEO,KAAK,CAAC,YAAY,CACxB,SAAqB,EACrB,OAA8B,EAC9B,IAA8B;QAG9B,IAAI,OAA0B,CAAC;QAC/B,IAAI,KAAyB,CAAC;QAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACjC,IAAI;YACF,MAAM,CAAC,aAAa,EAAE,GAAG,eAAe,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACtE,MAAM,OAAO,GAAY;gBACvB,GAAG,aAAa;gBAChB,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC;gBAChD,MAAM,EAAE,QAAQ;gBAChB,MAAM,EAAE,QAAQ;aACjB,CAAC;YACF,MAAM,SAAS,GAAG,IAAA,sCAA8B,EAAC,KAAK,EAAE,eAAe,CAAC,CAAC;YACzE,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;gBAChC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;aACtC;YACD,IAAI,KAAK,CAAC,OAAO,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,EAAE;gBAC1C,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBACrD,IAAI,IAAI,EAAE;oBAER,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;iBACjC;aACF;YACD,OAAO,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,CAAC;SAC1D;QAAC,OAAO,CAAM,EAAE;YACf,IAAI,CAAC,MAAM,CAAC,MAAM,CAChB,OAAO,EACP,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,2BAA2B,CAAC,EAAE,OAAO,KAAK,SAAS,CAAC,aAAa,GAAG,CACrE,CAAC;YACF,OAAO;SACR;QAED,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAClC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAC/C,CAAC;QACF,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QAChE,MAAM,OAAO,GAAG,IAAA,mBAAU,EAAC,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAC1D,MAAM,KAAK,GAAG,IAAA,mBAAU,EAAC,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAExD,IAAI,OAAO,CAAC,MAAM,EAAE;YAClB,KAAK,IAAI,IAAI,IAAI,OAAO,EAAE;gBAExB,IAAI,CAAC,MAAM,CAAC,MAAM,CAChB,KAAK,EACL,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,iCAAiC,SAAS,CAAC,aAAa,GAAG,CAC5D,CAAC;gBACF,SAAS,CAAC,OAAO,CACf,IAAI,CAAC,SAAS,CAAC;oBACb,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,OAAO,EAAE,IAAI;iBACd,CAAC,CACH,CAAC;aACH;YAED,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE;gBACtB,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;gBAE/B,IAAI,CAAC,MAAM,CAAC,MAAM,CAChB,KAAK,EACL,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,mCAAmC,SAAS,CAAC,aAAa,GAAG,CAC9D,CAAC;gBACF,IAAI,OAAO,MAAM,CAAC,oBAAoB,KAAK,UAAU,EAAE;oBACrD,MAAM,CAAC,oBAAoB,EAAE,CAAC;iBAC/B;gBACD,SAAS,CAAC,OAAO,CACf,IAAI,CAAC,SAAS,CAAC;oBACb,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,KAAK,EAAE,IAAI;oBACX,IAAI,EAAE,MAAM;iBACb,CAAC,CACH,CAAC;aACH;YAED,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,IAAI,SAAS,EAAE;gBACrD,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAEpC,IAAI,CAAC,MAAM,CAAC,MAAM,CAChB,KAAK,EACL,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,gCAAgC,SAAS,CAAC,aAAa,GAAG,CAC3D,CAAC;gBACF,IAAI,OAAO,MAAM,CAAC,oBAAoB,KAAK,UAAU,EAAE;oBACrD,MAAM,CAAC,oBAAoB,EAAE,CAAC;iBAC/B;gBACD,SAAS,CAAC,OAAO,CACf,IAAI,CAAC,SAAS,CAAC;oBACb,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,OAAO,EAAE,IAAI,CAAC,IAAI;oBAClB,IAAI,EAAE,MAAM;iBACb,CAAC,CACH,CAAC;aACH;SACF;QAGD,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC;QAE/B,IAAI,KAAK,CAAC,OAAO,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,EAAE;YAE1C,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;SAC9B;QAED,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE;YAElE,KAAK,MAAM,UAAU,IAAI,OAAO,CAAC,WAAW,EAAE;gBAC5C,MAAM,OAAO,GACX,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACpE,IAAI,OAAO,EAAE;oBACX,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;iBAC7C;aACF;SACF;IACH,CAAC;IAKO,KAAK,CAAC,gBAAgB,CAC5B,IAAgB,EAChB,IAA2B;QAE3B,IAAI,CAAC,MAAM,CAAC,MAAM,CAChB,KAAK,EACL,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,4BACE,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,OAAO,IAAI,CAAC,OAAO,EACjE,KAAK,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,aAAa,GAAG,CAC1C,CAAC;QAEF,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAC5C,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,IAAI,CACX,CAAC;QACd,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACvB,IAAI,IAAI,CAAC,KAAK,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,EAAE;YAC9C,KAAK,GAAG,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,SAAS,CAAC;SAC9D;QAED,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE;YACtB,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE;gBAC3B,SAAS;aACV;YACD,KAAK,IAAI,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC/C,IAAI,CAAC,MAAM,CAAC,MAAM,CAChB,KAAK,EACL,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,uBAAuB,IAAI,CAAC,KAAK,MAAM,IAAI,KAAK,SAAS,CAAC,aAAa,GAAG,CAC3E,CAAC;gBACF,MAAM,OAAO,GAIT;oBACF,GAAG,EAAE,IAAI;oBACT,KAAK,EAAE,IAAI,CAAC,KAAK;iBAClB,CAAC;gBACF,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE;oBACtB,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;iBAC5B;gBACD,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;aAC5C;SACF;QAED,IACE,IAAI,CAAC,KAAK,KAAK,WAAW;YAC1B,IAAI,CAAC,OAAO;YACZ,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,EAC5B;YACA,KAAK,IAAI,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBACvD,IAAI,CAAC,MAAM,CAAC,MAAM,CAChB,KAAK,EACL,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,gDAAgD,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,aAAa,GAAG,CAC5F,CAAC;gBACF,SAAS,CAAC,OAAO,CACf,IAAI,CAAC,SAAS,CAAC;oBACb,GAAG,EAAE,IAAI,CAAC,OAAO;oBACjB,KAAK,EAAE,QAAQ;oBACf,KAAK;iBACN,CAAC,CACH,CAAC;aACH;SACF;IACH,CAAC;IAKO,KAAK,CAAC,OAAgB;QAC5B,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE;YAC3B,IAAI,CAAC,MAAM,CAAC,MAAM,CAChB,OAAO,EACP,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,+BAA+B,CAChC,CAAC;YACF,OAAO;SACR;QAED,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YACnC,MAAM,MAAM,GAAG,IAAI,kBAAe,EAAE,CAAC;YAErC,MAAM,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,EAAE;gBACnC,IAAI,CAAC,MAAM,CAAC,MAAM,CAChB,OAAO,EACP,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,6BAA6B,KAAK,CAAC,QAAQ,EAAE,KAAK,IAAI,GAAG,CAC1D,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,EAAE;gBAClC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;oBAC/B,IAAI,CAAC,MAAM,CAAC,MAAM,CAChB,OAAO,EACP,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxB,yBAAyB,KAAK,CAAC,QAAQ,EAAE,KAAK,IAAI,GAAG,CACtD,CAAC;gBACJ,CAAC,CAAC,CAAC;gBAEH,IAAI,UAAU,CAAC,SAAS,EAAE;oBACxB,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;iBACtC;gBAED,UAAU,CAAC,KAAK,EAAE,CAAC;YACrB,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;SAC/B;IACH,CAAC;IAEO,eAAe,CAAC,OAAgB,EAAE,GAAG,SAAqB;QAChE,MAAM,WAAW,GAA+B,EAAE,CAAC;QAEnD,KAAK,MAAM,WAAW,IAAI,SAAS,EAAE;YACnC,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE;gBAC3B,MAAM,GAAG,GAAG,CAAmB,CAAC;gBAChC,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;gBAE/B,IAAI,GAAG,KAAK,MAAM,EAAE;oBAClB,SAAS;iBACV;gBAED,IAAI,KAAK,KAAK,SAAS,EAAE;oBACvB,SAAS;iBACV;gBAED,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,OAAO,EAAE;oBACrC,MAAM,MAAM,GAAG,CACb,KAAK,CAAC,OAAO,CAAC,CAAE,KAA0B,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;wBACnD,CAAC,CAAC,KAAK;wBACP,CAAC,CAAC,CAAC,KAAK,CAAC,CAC4B,CAAC;oBAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACtC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;qBAChC;iBACF;qBAAM,IAAI,GAAG,KAAK,UAAU,IAAI,GAAG,KAAK,WAAW,EAAE;oBACpD,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAe,CAAC;oBACtE,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC;iBAC/D;aACF;SACF;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAMO,sBAAsB,CAAC,MAAkB,EAAE,SAAqB;QACtE,MAAM,YAAY,GAAe,EAAE,CAAC;QAEpC,KAAK,MAAM,WAAW,IAAI,SAAS,EAAE;YACnC,MAAM,WAAW,GAAa,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC;YAEzD,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE;gBAC3B,MAAM,GAAG,GAAG,CAAmB,CAAC;gBAChC,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;gBAE/B,IAAI,GAAG,KAAK,MAAM,EAAE;oBAClB,SAAS;iBACV;gBAED,IAAI,KAAK,KAAK,SAAS,EAAE;oBACvB,SAAS;iBACV;gBAED,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,OAAO,EAAE;oBACrC,MAAM,MAAM,GAAmB,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;oBAC/D,MAAM,MAAM,GAAG,CACb,KAAK,CAAC,OAAO,CAAC,CAAE,KAA0B,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;wBACnD,CAAC,CAAC,KAAK;wBACP,CAAC,CAAC,CAAC,KAAK,CAAC,CAC4B,CAAC;oBAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACtC,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC1B,MAAM,CAAC,WAAW,EAAE,GAAG,aAAa,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBACrD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC3C,MAAM,eAAe,GACnB,OAAO,WAAW,CAAC,KAAK,KAAK,QAAQ;4BACnC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,CAAC;4BAC9C,CAAC,CAAC,WAAW,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;wBAC/D,MAAM,IAAI,GACR,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;wBAC3D,IAAI,IAAI,EAAE;4BACR,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC;4BAC3B,IAAI,QAA8C,CAAC;4BACnD,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;4BACrC,IAAI,CAAC,QAAQ,EAAE;gCACb,QAAQ,GAAG,EAAE,CAAC;6BACf;iCAAM,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE;gCACzD,QAAQ,GAAG,CAAC,QAAQ,CAAyC,CAAC;6BAC/D;iCAAM;gCACL,QAAQ,GAAG,QAAgD,CAAC;6BAC7D;4BACD,QAAQ,CAAC,IAAI,CACX,GAAI,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAwB,CAC7D,CAAC;4BAEF,WAAW,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC;yBAChC;6BAAM;4BAEL,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE;gCACrB,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;6BACvB;4BACA,WAAW,CAAC,GAAG,CAA0C,CAAC,IAAI,CAAC;gCAC9D,IAAI;gCACJ,CAAC,WAAW,EAAE,GAAG,aAAa,CAAC;6BAChC,CAAC,CAAC;yBACJ;qBACF;iBACF;qBAAM,IAAI,GAAG,KAAK,UAAU,IAAI,GAAG,KAAK,WAAW,EAAE;oBACpD,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAe,CAAC;oBACtE,WAAW,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;iBAChE;qBAAM,IAAI,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,MAAM,EAAE;oBAC1C,MAAM,MAAM,GAAG,CACb,KAAK,CAAC,OAAO,CAAC,CAAE,KAAyB,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;wBAClD,CAAC,CAAC,KAAK;wBACP,CAAC,CAAC,CAAC,KAAK,CAAC,CAC4B,CAAC;oBAE1C,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE;wBACrB,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;qBACvB;oBACA,WAAW,CAAC,GAAG,CAA0C,CAAC,IAAI,CAC7D,GAAG,MAAM,CACV,CAAC;iBACH;qBAAM;oBAEL,WAAW,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;iBAC1B;aACF;YAED,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SAChC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;CACF;AAjuCD,yBAiuCC"}
1
+ {"version":3,"file":"PubSub.js","sourceRoot":"","sources":["../src/PubSub.ts"],"names":[],"mappings":"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"}
@@ -20,7 +20,7 @@ const pubSubConfig = {
20
20
  logger: () => { },
21
21
  };
22
22
  const nymphServer = new nymph_1.Nymph({}, new driver_sqlite3_1.default(sqliteConfig));
23
- nymphServer.addEntityClass(testArtifacts_js_1.EmployeeModel);
23
+ const EmployeeModel = nymphServer.addEntityClass(testArtifacts_js_1.EmployeeModel);
24
24
  PubSub_1.default.initPublisher(pubSubConfig, nymphServer);
25
25
  const app = (0, express_1.default)();
26
26
  app.use((0, server_1.default)(nymphServer));
@@ -33,10 +33,10 @@ const nymphOptions = {
33
33
  };
34
34
  const nymph = new client_node_1.Nymph(nymphOptions);
35
35
  const pubsub = new client_node_1.PubSub(nymphOptions, nymph);
36
- nymph.addEntityClass(testArtifacts_js_1.Employee);
36
+ const Employee = nymph.addEntityClass(testArtifacts_js_1.Employee);
37
37
  describe('Nymph REST Server and Client', () => {
38
38
  async function createJane() {
39
- const jane = await testArtifacts_js_1.Employee.factory();
39
+ const jane = await Employee.factory();
40
40
  jane.name = 'Jane Doe';
41
41
  jane.current = true;
42
42
  jane.salary = 8000000;
@@ -53,7 +53,7 @@ describe('Nymph REST Server and Client', () => {
53
53
  return jane;
54
54
  }
55
55
  async function createBossJane() {
56
- const john = await testArtifacts_js_1.Employee.factory();
56
+ const john = await Employee.factory();
57
57
  john.name = 'John Der';
58
58
  john.current = true;
59
59
  john.salary = 8000000;
@@ -67,7 +67,7 @@ describe('Nymph REST Server and Client', () => {
67
67
  console.error('Error creating entity: ', e);
68
68
  throw e;
69
69
  }
70
- const jane = await testArtifacts_js_1.Employee.factory();
70
+ const jane = await Employee.factory();
71
71
  jane.name = 'Jane Doe';
72
72
  jane.current = true;
73
73
  jane.salary = 8000000;
@@ -87,7 +87,7 @@ describe('Nymph REST Server and Client', () => {
87
87
  let jane;
88
88
  await new Promise((resolve) => {
89
89
  let updated = false;
90
- const subscription = pubsub.subscribeEntities({ class: testArtifacts_js_1.Employee }, {
90
+ const subscription = pubsub.subscribeEntities({ class: Employee }, {
91
91
  type: '&',
92
92
  equal: ['name', 'Jane Doe'],
93
93
  })(async (update) => {
@@ -113,7 +113,7 @@ describe('Nymph REST Server and Client', () => {
113
113
  if (jane.guid == null) {
114
114
  throw new Error('Entity is null.');
115
115
  }
116
- const subscription = pubsub.subscribeEntities({ class: testArtifacts_js_1.Employee }, {
116
+ const subscription = pubsub.subscribeEntities({ class: Employee }, {
117
117
  type: '&',
118
118
  guid: jane.guid,
119
119
  })(async (update) => {
@@ -141,11 +141,11 @@ describe('Nymph REST Server and Client', () => {
141
141
  if (jane.guid == null || john.guid == null) {
142
142
  throw new Error('Entity is null.');
143
143
  }
144
- const subscription = pubsub.subscribeEntities({ class: testArtifacts_js_1.Employee }, {
144
+ const subscription = pubsub.subscribeEntities({ class: Employee }, {
145
145
  type: '&',
146
146
  qref: [
147
147
  'subordinates',
148
- [{ class: testArtifacts_js_1.Employee }, { type: '&', guid: john.guid }],
148
+ [{ class: Employee }, { type: '&', guid: john.guid }],
149
149
  ],
150
150
  })(async (update) => {
151
151
  pubsub.updateArray(entities, update);
@@ -171,12 +171,12 @@ describe('Nymph REST Server and Client', () => {
171
171
  if (jane.guid == null || john.guid == null) {
172
172
  throw new Error('Entity is null.');
173
173
  }
174
- const subscription = pubsub.subscribeEntities({ class: testArtifacts_js_1.Employee }, {
174
+ const subscription = pubsub.subscribeEntities({ class: Employee }, {
175
175
  type: '&',
176
176
  guid: jane.guid,
177
177
  qref: [
178
178
  'subordinates',
179
- [{ class: testArtifacts_js_1.Employee }, { type: '&', '!truthy': 'current' }],
179
+ [{ class: Employee }, { type: '&', '!truthy': 'current' }],
180
180
  ],
181
181
  })(async (update) => {
182
182
  pubsub.updateArray(entities, update);
@@ -200,12 +200,12 @@ describe('Nymph REST Server and Client', () => {
200
200
  if (jane.guid == null || john.guid == null) {
201
201
  throw new Error('Entity is null.');
202
202
  }
203
- const subscription = pubsub.subscribeEntities({ class: testArtifacts_js_1.Employee }, {
203
+ const subscription = pubsub.subscribeEntities({ class: Employee }, {
204
204
  type: '&',
205
205
  guid: jane.guid,
206
206
  qref: [
207
207
  'subordinates',
208
- [{ class: testArtifacts_js_1.Employee }, { type: '&', truthy: 'current' }],
208
+ [{ class: Employee }, { type: '&', truthy: 'current' }],
209
209
  ],
210
210
  })(async (update) => {
211
211
  pubsub.updateArray(entities, update);
@@ -231,7 +231,7 @@ describe('Nymph REST Server and Client', () => {
231
231
  if (jane.guid == null) {
232
232
  throw new Error('Entity is null.');
233
233
  }
234
- const subscription = pubsub.subscribeEntities({ class: testArtifacts_js_1.Employee }, {
234
+ const subscription = pubsub.subscribeEntities({ class: Employee }, {
235
235
  type: '&',
236
236
  guid: jane.guid,
237
237
  })(async (update) => {
@@ -261,7 +261,7 @@ describe('Nymph REST Server and Client', () => {
261
261
  if (jane.guid == null) {
262
262
  throw new Error('Entity is null.');
263
263
  }
264
- const subscription = pubsub.subscribeEntities({ class: testArtifacts_js_1.Employee }, {
264
+ const subscription = pubsub.subscribeEntities({ class: Employee }, {
265
265
  type: '&',
266
266
  equal: ['name', 'Jane Doe'],
267
267
  })(async (update) => {
@@ -288,7 +288,7 @@ describe('Nymph REST Server and Client', () => {
288
288
  await new Promise((resolve) => {
289
289
  let receivedRemove = false;
290
290
  let receivedAdd = false;
291
- const subscription = pubsub.subscribeEntities({ class: testArtifacts_js_1.Employee, limit: 1, reverse: true }, {
291
+ const subscription = pubsub.subscribeEntities({ class: Employee, limit: 1, reverse: true }, {
292
292
  type: '&',
293
293
  equal: ['name', 'Jane Doe'],
294
294
  })(async (update) => {
@@ -328,7 +328,7 @@ describe('Nymph REST Server and Client', () => {
328
328
  throw new Error('Entity is null.');
329
329
  }
330
330
  expect(jane.salary).toEqual(8000000);
331
- const janeDupe = await testArtifacts_js_1.Employee.factory(jane.guid);
331
+ const janeDupe = await Employee.factory(jane.guid);
332
332
  expect(janeDupe.salary).toEqual(8000000);
333
333
  janeDupe.salary = (janeDupe.salary ?? 0) + 1000000;
334
334
  await janeDupe.$save();
@@ -350,14 +350,15 @@ describe('Nymph REST Server and Client', () => {
350
350
  });
351
351
  it('increasing uids', async () => {
352
352
  await new Promise(async (resolve) => {
353
- let lastUpdate;
353
+ let receivedFirst = false;
354
+ let lastUpdate = 0;
354
355
  const subscription = pubsub.subscribeUID('testIncUID')(async (value) => {
355
- if (lastUpdate) {
356
- expect(value).toEqual(lastUpdate + 1);
357
- }
358
- else {
359
- expect(value).toEqual(1);
356
+ if (!receivedFirst) {
357
+ receivedFirst = true;
358
+ expect(value).toBeNull();
359
+ return;
360
360
  }
361
+ expect(value).toEqual(lastUpdate + 1);
361
362
  lastUpdate = value;
362
363
  if (value == 100) {
363
364
  subscription.unsubscribe();
@@ -366,6 +367,7 @@ describe('Nymph REST Server and Client', () => {
366
367
  }, (err) => {
367
368
  expect(err.status).toEqual(404);
368
369
  });
370
+ await nymph.deleteUID('testIncUID');
369
371
  let directValue = -1;
370
372
  while (directValue < 100) {
371
373
  directValue = await nymph.newUID('testIncUID');
@@ -1 +1 @@
1
- {"version":3,"file":"PubSub.test.js","sourceRoot":"","sources":["../src/PubSub.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PubSub.test.js","sourceRoot":"","sources":["../src/PubSub.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nymphjs/pubsub",
3
- "version": "1.0.0-beta.1",
3
+ "version": "1.0.0-beta.11",
4
4
  "description": "NymphJS - PubSub Server",
5
5
  "type": "commonjs",
6
6
  "main": "dist/index.js",
@@ -31,24 +31,24 @@
31
31
  },
32
32
  "license": "Apache-2.0",
33
33
  "dependencies": {
34
- "@nymphjs/nymph": "^1.0.0-beta.1",
34
+ "@nymphjs/nymph": "^1.0.0-beta.11",
35
35
  "lodash": "^4.17.21",
36
36
  "websocket": "^1.0.34"
37
37
  },
38
38
  "devDependencies": {
39
- "@nymphjs/client": "^1.0.0-beta.1",
40
- "@nymphjs/client-node": "^1.0.0-beta.1",
41
- "@nymphjs/driver-sqlite3": "^1.0.0-beta.1",
42
- "@nymphjs/server": "^1.0.0-beta.1",
43
- "@tsconfig/recommended": "^1.0.1",
44
- "@types/express": "^4.17.14",
45
- "@types/jest": "^29.2.3",
46
- "@types/lodash": "^4.14.189",
39
+ "@nymphjs/client": "^1.0.0-beta.11",
40
+ "@nymphjs/client-node": "^1.0.0-beta.11",
41
+ "@nymphjs/driver-sqlite3": "^1.0.0-beta.11",
42
+ "@nymphjs/server": "^1.0.0-beta.11",
43
+ "@tsconfig/recommended": "^1.0.2",
44
+ "@types/express": "^4.17.17",
45
+ "@types/jest": "^29.4.0",
46
+ "@types/lodash": "^4.14.191",
47
47
  "@types/websocket": "^1.0.5",
48
48
  "express": "^4.18.2",
49
- "jest": "^29.3.1",
50
- "ts-jest": "^29.0.3",
51
- "typescript": "^4.9.3"
49
+ "jest": "^29.4.3",
50
+ "ts-jest": "^29.0.5",
51
+ "typescript": "^4.9.5"
52
52
  },
53
- "gitHead": "648d901c504d57f2d439cd751b60af0ebd4d63b8"
53
+ "gitHead": "812eeec8e5b100c6f82abbae1722cfc64a167046"
54
54
  }
@@ -4,8 +4,8 @@ import { Nymph as NymphServer } from '@nymphjs/nymph';
4
4
  import { Nymph, PubSub } from '@nymphjs/client-node';
5
5
  import createRestServer from '@nymphjs/server';
6
6
  import {
7
- EmployeeModel,
8
- Employee,
7
+ EmployeeModel as EmployeeModelClass,
8
+ Employee as EmployeeClass,
9
9
  EmployeeData,
10
10
  } from '@nymphjs/server/dist/testArtifacts.js';
11
11
 
@@ -23,7 +23,7 @@ const pubSubConfig = {
23
23
  };
24
24
 
25
25
  const nymphServer = new NymphServer({}, new SQLite3Driver(sqliteConfig));
26
- nymphServer.addEntityClass(EmployeeModel);
26
+ const EmployeeModel = nymphServer.addEntityClass(EmployeeModelClass);
27
27
  PubSubServer.initPublisher(pubSubConfig, nymphServer);
28
28
 
29
29
  const app = express();
@@ -39,7 +39,7 @@ const nymphOptions = {
39
39
  };
40
40
  const nymph = new Nymph(nymphOptions);
41
41
  const pubsub = new PubSub(nymphOptions, nymph);
42
- nymph.addEntityClass(Employee);
42
+ const Employee = nymph.addEntityClass(EmployeeClass);
43
43
 
44
44
  describe('Nymph REST Server and Client', () => {
45
45
  async function createJane() {
@@ -91,7 +91,7 @@ describe('Nymph REST Server and Client', () => {
91
91
  }
92
92
 
93
93
  it('notified of new match', async () => {
94
- let jane: Promise<Employee>;
94
+ let jane: Promise<EmployeeClass>;
95
95
 
96
96
  await new Promise((resolve) => {
97
97
  let updated = false;
@@ -120,7 +120,7 @@ describe('Nymph REST Server and Client', () => {
120
120
 
121
121
  it('notified of entity update', async () => {
122
122
  let jane = await createJane();
123
- let entities: (Employee & EmployeeData)[] = [];
123
+ let entities: (EmployeeClass & EmployeeData)[] = [];
124
124
 
125
125
  await new Promise((resolve) => {
126
126
  let mdate = 0;
@@ -155,7 +155,7 @@ describe('Nymph REST Server and Client', () => {
155
155
 
156
156
  it('notified of entity update for qref query', async () => {
157
157
  let [jane, john] = await createBossJane();
158
- let entities: (Employee & EmployeeData)[] = [];
158
+ let entities: (EmployeeClass & EmployeeData)[] = [];
159
159
 
160
160
  await new Promise((resolve) => {
161
161
  let mdate = 0;
@@ -193,7 +193,7 @@ describe('Nymph REST Server and Client', () => {
193
193
 
194
194
  it('notified of new match for qref query', async () => {
195
195
  let [jane, john] = await createBossJane();
196
- let entities: (Employee & EmployeeData)[] = [];
196
+ let entities: (EmployeeClass & EmployeeData)[] = [];
197
197
 
198
198
  await new Promise((resolve) => {
199
199
  if (jane.guid == null || john.guid == null) {
@@ -230,7 +230,7 @@ describe('Nymph REST Server and Client', () => {
230
230
 
231
231
  it('notified of removed match for qref query', async () => {
232
232
  let [jane, john] = await createBossJane();
233
- let entities: (Employee & EmployeeData)[] = [];
233
+ let entities: (EmployeeClass & EmployeeData)[] = [];
234
234
 
235
235
  await new Promise((resolve) => {
236
236
  if (jane.guid == null || john.guid == null) {
@@ -267,7 +267,7 @@ describe('Nymph REST Server and Client', () => {
267
267
 
268
268
  it('receives correct number of updates', async () => {
269
269
  let jane = await createJane();
270
- let entities: (Employee & EmployeeData)[] = [];
270
+ let entities: (EmployeeClass & EmployeeData)[] = [];
271
271
 
272
272
  // Wait for change to propagate. (Only needed since we're not going across network.)
273
273
  await new Promise((resolve) => setTimeout(() => resolve(true), 10));
@@ -306,7 +306,7 @@ describe('Nymph REST Server and Client', () => {
306
306
 
307
307
  it('notified of entity delete', async () => {
308
308
  let jane = await createJane();
309
- let entities: (Employee & EmployeeData)[] = [];
309
+ let entities: (EmployeeClass & EmployeeData)[] = [];
310
310
 
311
311
  // Wait for change to propagate. (Only needed since we're not going across network.)
312
312
  await new Promise((resolve) => setTimeout(() => resolve(true), 10));
@@ -342,8 +342,8 @@ describe('Nymph REST Server and Client', () => {
342
342
  });
343
343
 
344
344
  it('entire match is updated', async () => {
345
- let jane: (Employee & EmployeeData) | undefined;
346
- let entities: (Employee & EmployeeData)[] = [];
345
+ let jane: (EmployeeClass & EmployeeData) | undefined;
346
+ let entities: (EmployeeClass & EmployeeData)[] = [];
347
347
  await createJane();
348
348
 
349
349
  // Wait for change to propagate. (Only needed since we're not going across network.)
@@ -430,14 +430,17 @@ describe('Nymph REST Server and Client', () => {
430
430
 
431
431
  it('increasing uids', async () => {
432
432
  await new Promise(async (resolve) => {
433
- let lastUpdate: number;
433
+ let receivedFirst = false;
434
+ let lastUpdate: number = 0;
434
435
  const subscription = pubsub.subscribeUID('testIncUID')(
435
436
  async (value) => {
436
- if (lastUpdate) {
437
- expect(value).toEqual(lastUpdate + 1);
438
- } else {
439
- expect(value).toEqual(1);
437
+ if (!receivedFirst) {
438
+ receivedFirst = true;
439
+ expect(value).toBeNull();
440
+ return;
440
441
  }
442
+
443
+ expect(value).toEqual(lastUpdate + 1);
441
444
  lastUpdate = value;
442
445
  if (value == 100) {
443
446
  subscription.unsubscribe();
@@ -449,6 +452,8 @@ describe('Nymph REST Server and Client', () => {
449
452
  }
450
453
  );
451
454
 
455
+ await nymph.deleteUID('testIncUID');
456
+
452
457
  let directValue: number = -1;
453
458
  while (directValue < 100) {
454
459
  directValue = await nymph.newUID('testIncUID');
package/src/PubSub.ts CHANGED
@@ -68,58 +68,64 @@ export default class PubSub {
68
68
  public static initPublisher(config: Partial<Config>, nymph: Nymph) {
69
69
  const configWithDefaults: Config = { ...defaults, ...config };
70
70
 
71
- nymph.on('beforeSaveEntity', (nymph: Nymph, entity: EntityInterface) => {
72
- const guid = entity.guid;
73
- const etype = (entity.constructor as EntityConstructor).ETYPE;
71
+ nymph.on(
72
+ 'beforeSaveEntity',
73
+ async (nymph: Nymph, entity: EntityInterface) => {
74
+ const guid = entity.guid;
75
+ const etype = (entity.constructor as EntityConstructor).ETYPE;
74
76
 
75
- const off = nymph.on(
76
- 'afterSaveEntity',
77
- async (_nymph: Nymph, result: Promise<boolean>) => {
78
- off();
79
- if (!(await result)) {
80
- return;
77
+ const off = nymph.on(
78
+ 'afterSaveEntity',
79
+ async (_nymph: Nymph, result: Promise<boolean>) => {
80
+ off();
81
+ if (!(await result)) {
82
+ return;
83
+ }
84
+ this.publish(
85
+ JSON.stringify({
86
+ action: 'publish',
87
+ event: guid == null ? 'create' : 'update',
88
+ guid: entity.guid,
89
+ entity: entity.toJSON(),
90
+ etype: etype,
91
+ }),
92
+ configWithDefaults
93
+ );
81
94
  }
82
- this.publish(
83
- JSON.stringify({
84
- action: 'publish',
85
- event: guid == null ? 'create' : 'update',
86
- guid: entity.guid,
87
- entity: entity.toJSON(),
88
- etype: etype,
89
- }),
90
- configWithDefaults
91
- );
92
- }
93
- );
94
- });
95
+ );
96
+ }
97
+ );
95
98
 
96
- nymph.on('beforeDeleteEntity', (nymph: Nymph, entity: EntityInterface) => {
97
- const guid = entity.guid;
98
- const etype = (entity.constructor as EntityConstructor).ETYPE;
99
+ nymph.on(
100
+ 'beforeDeleteEntity',
101
+ async (nymph: Nymph, entity: EntityInterface) => {
102
+ const guid = entity.guid;
103
+ const etype = (entity.constructor as EntityConstructor).ETYPE;
99
104
 
100
- const off = nymph.on(
101
- 'afterDeleteEntity',
102
- async (_nymph: Nymph, result: Promise<boolean>) => {
103
- off();
104
- if (!(await result)) {
105
- return;
105
+ const off = nymph.on(
106
+ 'afterDeleteEntity',
107
+ async (_nymph: Nymph, result: Promise<boolean>) => {
108
+ off();
109
+ if (!(await result)) {
110
+ return;
111
+ }
112
+ this.publish(
113
+ JSON.stringify({
114
+ action: 'publish',
115
+ event: 'delete',
116
+ guid: guid,
117
+ etype: etype,
118
+ }),
119
+ configWithDefaults
120
+ );
106
121
  }
107
- this.publish(
108
- JSON.stringify({
109
- action: 'publish',
110
- event: 'delete',
111
- guid: guid,
112
- etype: etype,
113
- }),
114
- configWithDefaults
115
- );
116
- }
117
- );
118
- });
122
+ );
123
+ }
124
+ );
119
125
 
120
126
  nymph.on(
121
127
  'beforeDeleteEntityByID',
122
- (nymph: Nymph, guid: string, className?: string) => {
128
+ async (nymph: Nymph, guid: string, className?: string) => {
123
129
  try {
124
130
  const etype = nymph.getEntityClass(className ?? 'Entity').ETYPE;
125
131
 
@@ -147,7 +153,7 @@ export default class PubSub {
147
153
  }
148
154
  );
149
155
 
150
- nymph.on('beforeNewUID', (nymph: Nymph, name: string) => {
156
+ nymph.on('beforeNewUID', async (nymph: Nymph, name: string) => {
151
157
  const off = nymph.on(
152
158
  'afterNewUID',
153
159
  async (_nymph: Nymph, result: Promise<number | null>) => {
@@ -169,30 +175,33 @@ export default class PubSub {
169
175
  );
170
176
  });
171
177
 
172
- nymph.on('beforeSetUID', (nymph: Nymph, name: string, value: number) => {
173
- const off = nymph.on(
174
- 'afterSetUID',
175
- async (_nymph: Nymph, result: Promise<boolean>) => {
176
- off();
177
- if (!(await result)) {
178
- return;
178
+ nymph.on(
179
+ 'beforeSetUID',
180
+ async (nymph: Nymph, name: string, value: number) => {
181
+ const off = nymph.on(
182
+ 'afterSetUID',
183
+ async (_nymph: Nymph, result: Promise<boolean>) => {
184
+ off();
185
+ if (!(await result)) {
186
+ return;
187
+ }
188
+ this.publish(
189
+ JSON.stringify({
190
+ action: 'publish',
191
+ event: 'setUID',
192
+ name: name,
193
+ value: value,
194
+ }),
195
+ configWithDefaults
196
+ );
179
197
  }
180
- this.publish(
181
- JSON.stringify({
182
- action: 'publish',
183
- event: 'setUID',
184
- name: name,
185
- value: value,
186
- }),
187
- configWithDefaults
188
- );
189
- }
190
- );
191
- });
198
+ );
199
+ }
200
+ );
192
201
 
193
202
  nymph.on(
194
203
  'beforeRenameUID',
195
- (nymph: Nymph, oldName: string, newName: string) => {
204
+ async (nymph: Nymph, oldName: string, newName: string) => {
196
205
  const off = nymph.on(
197
206
  'afterRenameUID',
198
207
  async (_nymph: Nymph, result: Promise<boolean>) => {
@@ -214,7 +223,7 @@ export default class PubSub {
214
223
  }
215
224
  );
216
225
 
217
- nymph.on('beforeDeleteUID', (nymph: Nymph, name: string) => {
226
+ nymph.on('beforeDeleteUID', async (nymph: Nymph, name: string) => {
218
227
  const off = nymph.on(
219
228
  'afterDeleteUID',
220
229
  async (_nymph: Nymph, result: Promise<boolean>) => {
@@ -940,6 +949,7 @@ export default class PubSub {
940
949
  class: nymph.getEntityClass(clientOptions.class),
941
950
  return: 'entity',
942
951
  source: 'client',
952
+ skipAc: false,
943
953
  };
944
954
  const selectors = classNamesToEntityConstructors(nymph, clientSelectors);
945
955
  if (this.sessions.has(curClient)) {