kuzzle-device-manager 2.1.5 → 2.2.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 (245) hide show
  1. package/README.md +3 -15
  2. package/dist/index.d.ts +7 -7
  3. package/dist/index.js +1 -1
  4. package/dist/index.js.map +1 -1
  5. package/dist/lib/modules/asset/AssetHistoryService.d.ts +3 -5
  6. package/dist/lib/modules/asset/AssetHistoryService.js +15 -8
  7. package/dist/lib/modules/asset/AssetHistoryService.js.map +1 -1
  8. package/dist/lib/modules/asset/AssetModule.js +1 -1
  9. package/dist/lib/modules/asset/AssetModule.js.map +1 -1
  10. package/dist/lib/modules/asset/AssetService.d.ts +11 -22
  11. package/dist/lib/modules/asset/AssetService.js +97 -56
  12. package/dist/lib/modules/asset/AssetService.js.map +1 -1
  13. package/dist/lib/modules/asset/AssetsController.d.ts +8 -3
  14. package/dist/lib/modules/asset/AssetsController.js +59 -2
  15. package/dist/lib/modules/asset/AssetsController.js.map +1 -1
  16. package/dist/lib/modules/asset/collections/assetsHistoryMappings.d.ts +8 -0
  17. package/dist/lib/modules/asset/collections/assetsHistoryMappings.js +6 -0
  18. package/dist/lib/modules/asset/collections/assetsHistoryMappings.js.map +1 -1
  19. package/dist/lib/modules/asset/collections/assetsMappings.d.ts +8 -0
  20. package/dist/lib/modules/asset/collections/assetsMappings.js +6 -0
  21. package/dist/lib/modules/asset/collections/assetsMappings.js.map +1 -1
  22. package/dist/lib/modules/asset/exports.d.ts +2 -0
  23. package/dist/lib/modules/asset/exports.js +2 -0
  24. package/dist/lib/modules/asset/exports.js.map +1 -1
  25. package/dist/lib/modules/asset/roles/RoleAssetsReader.d.ts +1 -0
  26. package/dist/lib/modules/asset/roles/RoleAssetsReader.js +2 -0
  27. package/dist/lib/modules/asset/roles/RoleAssetsReader.js.map +1 -1
  28. package/dist/lib/modules/asset/types/AssetApi.d.ts +20 -0
  29. package/dist/lib/modules/asset/types/AssetContent.d.ts +3 -2
  30. package/dist/lib/modules/asset/types/AssetEvents.d.ts +10 -3
  31. package/dist/lib/modules/asset/types/AssetHistoryContent.d.ts +14 -3
  32. package/dist/lib/modules/decoder/DecodersController.d.ts +1 -1
  33. package/dist/lib/modules/decoder/DecodersController.js.map +1 -1
  34. package/dist/lib/{core/registers → modules/decoder}/DecodersRegister.d.ts +3 -2
  35. package/dist/lib/modules/decoder/DecodersRegister.js.map +1 -0
  36. package/dist/lib/modules/decoder/DecodingState.d.ts +5 -0
  37. package/dist/lib/modules/decoder/DecodingState.js +10 -0
  38. package/dist/lib/modules/decoder/DecodingState.js.map +1 -0
  39. package/dist/lib/modules/decoder/PayloadService.d.ts +1 -1
  40. package/dist/lib/modules/decoder/PayloadService.js +22 -10
  41. package/dist/lib/modules/decoder/PayloadService.js.map +1 -1
  42. package/dist/lib/modules/decoder/PayloadsController.d.ts +1 -1
  43. package/dist/lib/modules/decoder/PayloadsController.js.map +1 -1
  44. package/dist/lib/modules/decoder/SkipError.d.ts +3 -0
  45. package/dist/lib/modules/decoder/SkipError.js +10 -0
  46. package/dist/lib/modules/decoder/SkipError.js.map +1 -0
  47. package/dist/lib/modules/decoder/collections/payloadsMappings.d.ts +6 -0
  48. package/dist/lib/modules/decoder/collections/payloadsMappings.js +2 -0
  49. package/dist/lib/modules/decoder/collections/payloadsMappings.js.map +1 -1
  50. package/dist/lib/modules/decoder/index.d.ts +1 -0
  51. package/dist/lib/modules/decoder/index.js +1 -0
  52. package/dist/lib/modules/decoder/index.js.map +1 -1
  53. package/dist/lib/modules/device/DeviceModule.js +1 -1
  54. package/dist/lib/modules/device/DeviceModule.js.map +1 -1
  55. package/dist/lib/modules/device/DeviceService.d.ts +1 -10
  56. package/dist/lib/modules/device/DeviceService.js +85 -69
  57. package/dist/lib/modules/device/DeviceService.js.map +1 -1
  58. package/dist/lib/modules/device/DevicesController.d.ts +8 -3
  59. package/dist/lib/modules/device/DevicesController.js +58 -2
  60. package/dist/lib/modules/device/DevicesController.js.map +1 -1
  61. package/dist/lib/modules/device/collections/deviceMappings.d.ts +5 -0
  62. package/dist/lib/modules/device/collections/deviceMappings.js +5 -0
  63. package/dist/lib/modules/device/collections/deviceMappings.js.map +1 -1
  64. package/dist/lib/modules/device/exports.d.ts +1 -0
  65. package/dist/lib/modules/device/exports.js +1 -0
  66. package/dist/lib/modules/device/exports.js.map +1 -1
  67. package/dist/lib/modules/device/roles/RoleDevicesAdmin.d.ts +1 -0
  68. package/dist/lib/modules/device/roles/RoleDevicesAdmin.js +2 -0
  69. package/dist/lib/modules/device/roles/RoleDevicesAdmin.js.map +1 -1
  70. package/dist/lib/modules/device/roles/RoleDevicesReader.d.ts +1 -0
  71. package/dist/lib/modules/device/roles/RoleDevicesReader.js +2 -0
  72. package/dist/lib/modules/device/roles/RoleDevicesReader.js.map +1 -1
  73. package/dist/lib/modules/device/types/DeviceApi.d.ts +20 -0
  74. package/dist/lib/modules/measure/MeasureExporter.d.ts +61 -0
  75. package/dist/lib/modules/measure/MeasureExporter.js +166 -0
  76. package/dist/lib/modules/measure/MeasureExporter.js.map +1 -0
  77. package/dist/lib/modules/measure/MeasureService.d.ts +9 -4
  78. package/dist/lib/modules/measure/MeasureService.js +64 -29
  79. package/dist/lib/modules/measure/MeasureService.js.map +1 -1
  80. package/dist/lib/modules/measure/collections/measuresMappings.d.ts +5 -0
  81. package/dist/lib/modules/measure/collections/measuresMappings.js +5 -0
  82. package/dist/lib/modules/measure/collections/measuresMappings.js.map +1 -1
  83. package/dist/lib/modules/measure/exports.d.ts +1 -0
  84. package/dist/lib/modules/measure/exports.js +1 -0
  85. package/dist/lib/modules/measure/exports.js.map +1 -1
  86. package/dist/lib/modules/measure/index.d.ts +1 -0
  87. package/dist/lib/modules/measure/index.js +1 -0
  88. package/dist/lib/modules/measure/index.js.map +1 -1
  89. package/dist/lib/modules/model/ModelService.d.ts +1 -1
  90. package/dist/lib/modules/model/ModelService.js +22 -20
  91. package/dist/lib/modules/model/ModelService.js.map +1 -1
  92. package/dist/lib/{core/registers → modules/model}/ModelsRegister.d.ts +3 -3
  93. package/dist/lib/{core/registers → modules/model}/ModelsRegister.js +6 -6
  94. package/dist/lib/modules/model/ModelsRegister.js.map +1 -0
  95. package/dist/lib/modules/model/collections/modelsMappings.d.ts +3 -0
  96. package/dist/lib/modules/model/collections/modelsMappings.js +3 -0
  97. package/dist/lib/modules/model/collections/modelsMappings.js.map +1 -1
  98. package/dist/lib/modules/model/index.d.ts +1 -0
  99. package/dist/lib/modules/model/index.js +1 -0
  100. package/dist/lib/modules/model/index.js.map +1 -1
  101. package/dist/lib/{core → modules/plugin}/DeviceManagerEngine.d.ts +11 -3
  102. package/dist/lib/{core → modules/plugin}/DeviceManagerEngine.js +8 -13
  103. package/dist/lib/modules/plugin/DeviceManagerEngine.js.map +1 -0
  104. package/dist/lib/{core → modules/plugin}/DeviceManagerPlugin.d.ts +3 -3
  105. package/dist/lib/{core → modules/plugin}/DeviceManagerPlugin.js +10 -12
  106. package/dist/lib/modules/plugin/DeviceManagerPlugin.js.map +1 -0
  107. package/dist/lib/modules/plugin/exports.d.ts +2 -0
  108. package/dist/lib/{core → modules/plugin}/exports.js +1 -1
  109. package/dist/lib/modules/plugin/exports.js.map +1 -0
  110. package/dist/lib/modules/plugin/index.d.ts +4 -0
  111. package/dist/lib/{core → modules/plugin}/index.js +2 -2
  112. package/dist/lib/modules/plugin/index.js.map +1 -0
  113. package/dist/lib/modules/plugin/types/DeviceManagerConfiguration.js.map +1 -0
  114. package/dist/lib/modules/plugin/types/InternalCollection.js.map +1 -0
  115. package/dist/lib/modules/shared/Module.d.ts +1 -1
  116. package/dist/lib/modules/shared/types/Metadata.d.ts +2 -1
  117. package/dist/tests/application/app.js +13 -0
  118. package/dist/tests/application/app.js.map +1 -1
  119. package/dist/tests/application/decoders/DummyTempDecoder.d.ts +3 -2
  120. package/dist/tests/application/decoders/DummyTempDecoder.js +17 -8
  121. package/dist/tests/application/decoders/DummyTempDecoder.js.map +1 -1
  122. package/package.json +14 -13
  123. package/dist/lib/core/DeviceManagerConfiguration.js.map +0 -1
  124. package/dist/lib/core/DeviceManagerEngine.js.map +0 -1
  125. package/dist/lib/core/DeviceManagerPlugin.js.map +0 -1
  126. package/dist/lib/core/InternalCollection.js.map +0 -1
  127. package/dist/lib/core/exports.d.ts +0 -2
  128. package/dist/lib/core/exports.js.map +0 -1
  129. package/dist/lib/core/index.d.ts +0 -4
  130. package/dist/lib/core/index.js.map +0 -1
  131. package/dist/lib/core/registers/DecodersRegister.js.map +0 -1
  132. package/dist/lib/core/registers/ModelsRegister.js.map +0 -1
  133. package/dist/tests/fixtures/fixtures.d.ts +0 -42
  134. package/dist/tests/fixtures/fixtures.js +0 -143
  135. package/dist/tests/fixtures/fixtures.js.map +0 -1
  136. package/dist/tests/helpers/document.d.ts +0 -5
  137. package/dist/tests/helpers/document.js +0 -11
  138. package/dist/tests/helpers/document.js.map +0 -1
  139. package/dist/tests/helpers/index.d.ts +0 -4
  140. package/dist/tests/helpers/index.js +0 -21
  141. package/dist/tests/helpers/index.js.map +0 -1
  142. package/dist/tests/helpers/payloads.d.ts +0 -18
  143. package/dist/tests/helpers/payloads.js +0 -50
  144. package/dist/tests/helpers/payloads.js.map +0 -1
  145. package/dist/tests/helpers/sdk.d.ts +0 -2
  146. package/dist/tests/helpers/sdk.js +0 -9
  147. package/dist/tests/helpers/sdk.js.map +0 -1
  148. package/dist/tests/helpers/setup.d.ts +0 -1
  149. package/dist/tests/helpers/setup.js +0 -24
  150. package/dist/tests/helpers/setup.js.map +0 -1
  151. package/dist/tests/hooks/collections.d.ts +0 -3
  152. package/dist/tests/hooks/collections.js +0 -40
  153. package/dist/tests/hooks/collections.js.map +0 -1
  154. package/dist/tests/hooks/engines.d.ts +0 -2
  155. package/dist/tests/hooks/engines.js +0 -26
  156. package/dist/tests/hooks/engines.js.map +0 -1
  157. package/dist/tests/hooks/fixtures.d.ts +0 -2
  158. package/dist/tests/hooks/fixtures.js +0 -17
  159. package/dist/tests/hooks/fixtures.js.map +0 -1
  160. package/dist/tests/scenario/migrated/asset-controller.test.d.ts +0 -1
  161. package/dist/tests/scenario/migrated/asset-controller.test.js +0 -189
  162. package/dist/tests/scenario/migrated/asset-controller.test.js.map +0 -1
  163. package/dist/tests/scenario/migrated/asset-history.test.d.ts +0 -1
  164. package/dist/tests/scenario/migrated/asset-history.test.js +0 -186
  165. package/dist/tests/scenario/migrated/asset-history.test.js.map +0 -1
  166. package/dist/tests/scenario/migrated/asset-roles.test.d.ts +0 -1
  167. package/dist/tests/scenario/migrated/asset-roles.test.js +0 -42
  168. package/dist/tests/scenario/migrated/asset-roles.test.js.map +0 -1
  169. package/dist/tests/scenario/migrated/decoder-decoders-controller.test.d.ts +0 -1
  170. package/dist/tests/scenario/migrated/decoder-decoders-controller.test.js +0 -82
  171. package/dist/tests/scenario/migrated/decoder-decoders-controller.test.js.map +0 -1
  172. package/dist/tests/scenario/migrated/decoder-default-rights.test.d.ts +0 -1
  173. package/dist/tests/scenario/migrated/decoder-default-rights.test.js +0 -29
  174. package/dist/tests/scenario/migrated/decoder-default-rights.test.js.map +0 -1
  175. package/dist/tests/scenario/migrated/decoder-payload-controller.test.d.ts +0 -1
  176. package/dist/tests/scenario/migrated/decoder-payload-controller.test.js +0 -219
  177. package/dist/tests/scenario/migrated/decoder-payload-controller.test.js.map +0 -1
  178. package/dist/tests/scenario/migrated/decoder-payloads-mappings.test.d.ts +0 -1
  179. package/dist/tests/scenario/migrated/decoder-payloads-mappings.test.js +0 -37
  180. package/dist/tests/scenario/migrated/decoder-payloads-mappings.test.js.map +0 -1
  181. package/dist/tests/scenario/migrated/decoder-roles.test.d.ts +0 -1
  182. package/dist/tests/scenario/migrated/decoder-roles.test.js +0 -34
  183. package/dist/tests/scenario/migrated/decoder-roles.test.js.map +0 -1
  184. package/dist/tests/scenario/migrated/device-controller-attach-engine.test.d.ts +0 -1
  185. package/dist/tests/scenario/migrated/device-controller-attach-engine.test.js +0 -81
  186. package/dist/tests/scenario/migrated/device-controller-attach-engine.test.js.map +0 -1
  187. package/dist/tests/scenario/migrated/device-controller-detach-engine.test.d.ts +0 -1
  188. package/dist/tests/scenario/migrated/device-controller-detach-engine.test.js +0 -71
  189. package/dist/tests/scenario/migrated/device-controller-detach-engine.test.js.map +0 -1
  190. package/dist/tests/scenario/migrated/device-controller-get-measures.test.d.ts +0 -1
  191. package/dist/tests/scenario/migrated/device-controller-get-measures.test.js +0 -77
  192. package/dist/tests/scenario/migrated/device-controller-get-measures.test.js.map +0 -1
  193. package/dist/tests/scenario/migrated/device-controller-unlink-asset.test.d.ts +0 -1
  194. package/dist/tests/scenario/migrated/device-controller-unlink-asset.test.js +0 -89
  195. package/dist/tests/scenario/migrated/device-controller-unlink-asset.test.js.map +0 -1
  196. package/dist/tests/scenario/migrated/device-metadata.test.d.ts +0 -1
  197. package/dist/tests/scenario/migrated/device-metadata.test.js +0 -29
  198. package/dist/tests/scenario/migrated/device-metadata.test.js.map +0 -1
  199. package/dist/tests/scenario/migrated/device-roles.test.d.ts +0 -1
  200. package/dist/tests/scenario/migrated/device-roles.test.js +0 -58
  201. package/dist/tests/scenario/migrated/device-roles.test.js.map +0 -1
  202. package/dist/tests/scenario/migrated/measure-ingestion-pipeline.test.d.ts +0 -1
  203. package/dist/tests/scenario/migrated/measure-ingestion-pipeline.test.js +0 -119
  204. package/dist/tests/scenario/migrated/measure-ingestion-pipeline.test.js.map +0 -1
  205. package/dist/tests/scenario/migrated/measure-provisionning.test.d.ts +0 -1
  206. package/dist/tests/scenario/migrated/measure-provisionning.test.js +0 -38
  207. package/dist/tests/scenario/migrated/measure-provisionning.test.js.map +0 -1
  208. package/dist/tests/scenario/migrated/measure-roles.test.d.ts +0 -1
  209. package/dist/tests/scenario/migrated/measure-roles.test.js +0 -42
  210. package/dist/tests/scenario/migrated/measure-roles.test.js.map +0 -1
  211. package/dist/tests/scenario/migrated/model-controller.test.d.ts +0 -1
  212. package/dist/tests/scenario/migrated/model-controller.test.js +0 -470
  213. package/dist/tests/scenario/migrated/model-controller.test.js.map +0 -1
  214. package/dist/tests/scenario/modules/assets/action-get-measures.test.d.ts +0 -1
  215. package/dist/tests/scenario/modules/assets/action-get-measures.test.js +0 -61
  216. package/dist/tests/scenario/modules/assets/action-get-measures.test.js.map +0 -1
  217. package/dist/tests/scenario/modules/assets/asset-history.test.d.ts +0 -1
  218. package/dist/tests/scenario/modules/assets/asset-history.test.js +0 -57
  219. package/dist/tests/scenario/modules/assets/asset-history.test.js.map +0 -1
  220. package/dist/tests/scenario/modules/devices/action-attach-engine.test.d.ts +0 -1
  221. package/dist/tests/scenario/modules/devices/action-attach-engine.test.js +0 -67
  222. package/dist/tests/scenario/modules/devices/action-attach-engine.test.js.map +0 -1
  223. package/dist/tests/scenario/modules/devices/action-link-asset.test.d.ts +0 -1
  224. package/dist/tests/scenario/modules/devices/action-link-asset.test.js +0 -240
  225. package/dist/tests/scenario/modules/devices/action-link-asset.test.js.map +0 -1
  226. package/dist/tests/scenario/modules/devices/action-receive-measure.test.d.ts +0 -1
  227. package/dist/tests/scenario/modules/devices/action-receive-measure.test.js +0 -109
  228. package/dist/tests/scenario/modules/devices/action-receive-measure.test.js.map +0 -1
  229. package/dist/tests/scenario/modules/devices/action-scrud.test.d.ts +0 -1
  230. package/dist/tests/scenario/modules/devices/action-scrud.test.js +0 -90
  231. package/dist/tests/scenario/modules/devices/action-scrud.test.js.map +0 -1
  232. package/dist/tests/scenario/modules/ingestion-pipeline/before-ingestion.test.d.ts +0 -1
  233. package/dist/tests/scenario/modules/ingestion-pipeline/before-ingestion.test.js +0 -33
  234. package/dist/tests/scenario/modules/ingestion-pipeline/before-ingestion.test.js.map +0 -1
  235. package/dist/tests/scenario/modules/ingestion-pipeline/propagation.test.d.ts +0 -1
  236. package/dist/tests/scenario/modules/ingestion-pipeline/propagation.test.js +0 -25
  237. package/dist/tests/scenario/modules/ingestion-pipeline/propagation.test.js.map +0 -1
  238. package/dist/tests/scenario/usecase/dynamicaly-register-device-model.test.d.ts +0 -1
  239. package/dist/tests/scenario/usecase/dynamicaly-register-device-model.test.js +0 -69
  240. package/dist/tests/scenario/usecase/dynamicaly-register-device-model.test.js.map +0 -1
  241. /package/dist/lib/{core/registers → modules/decoder}/DecodersRegister.js +0 -0
  242. /package/dist/lib/{core → modules/plugin/types}/DeviceManagerConfiguration.d.ts +0 -0
  243. /package/dist/lib/{core → modules/plugin/types}/DeviceManagerConfiguration.js +0 -0
  244. /package/dist/lib/{core → modules/plugin/types}/InternalCollection.d.ts +0 -0
  245. /package/dist/lib/{core → modules/plugin/types}/InternalCollection.js +0 -0
@@ -1,69 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const helpers_1 = require("../../helpers");
4
- jest.setTimeout(10000);
5
- describe("DeviceScenario: dynamicaly register device model and receive a measure", () => {
6
- const sdk = (0, helpers_1.setupHooks)();
7
- it("register a new device model, create a device from this model and receive a formated measure", async () => {
8
- await sdk.query({
9
- controller: "device-manager/models",
10
- action: "writeDevice",
11
- body: {
12
- model: "Enginko",
13
- measures: [
14
- { name: "temperatureInternal", type: "temperature" },
15
- { name: "temperatureExternal", type: "temperature" },
16
- ],
17
- },
18
- });
19
- await sdk.query({
20
- controller: "device-manager/devices",
21
- action: "create",
22
- engineId: "engine-ayse",
23
- body: {
24
- model: "Enginko",
25
- reference: "24BA98",
26
- },
27
- });
28
- await sdk.query({
29
- controller: "device-manager/devices",
30
- action: "receiveMeasures",
31
- engineId: "engine-ayse",
32
- _id: "Enginko-24BA98",
33
- body: {
34
- measures: [
35
- {
36
- measureName: "temperatureInternal",
37
- type: "temperature",
38
- values: {
39
- temperature: 28,
40
- },
41
- },
42
- {
43
- measureName: "temperatureExternal",
44
- type: "temperature",
45
- values: {
46
- temperature: 12,
47
- },
48
- },
49
- ],
50
- },
51
- });
52
- const device = await sdk.document.get("device-manager", "devices", "Enginko-24BA98");
53
- expect(device._source).toMatchObject({
54
- measures: {
55
- temperatureInternal: {
56
- values: {
57
- temperature: 28,
58
- },
59
- },
60
- temperatureExternal: {
61
- values: {
62
- temperature: 12,
63
- },
64
- },
65
- },
66
- });
67
- });
68
- });
69
- //# sourceMappingURL=dynamicaly-register-device-model.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dynamicaly-register-device-model.test.js","sourceRoot":"","sources":["../../../../tests/scenario/usecase/dynamicaly-register-device-model.test.ts"],"names":[],"mappings":";;AASA,2CAA2C;AAE3C,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AAEvB,QAAQ,CAAC,wEAAwE,EAAE,GAAG,EAAE;IACtF,MAAM,GAAG,GAAG,IAAA,oBAAU,GAAE,CAAC;IAEzB,EAAE,CAAC,6FAA6F,EAAE,KAAK,IAAI,EAAE;QAC3G,MAAM,GAAG,CAAC,KAAK,CAAwD;YACrE,UAAU,EAAE,uBAAuB;YACnC,MAAM,EAAE,aAAa;YACrB,IAAI,EAAE;gBACJ,KAAK,EAAE,SAAS;gBAChB,QAAQ,EAAE;oBACR,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,aAAa,EAAE;oBACpD,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,aAAa,EAAE;iBACrD;aACF;SACF,CAAC,CAAC;QAEH,MAAM,GAAG,CAAC,KAAK,CAAgD;YAC7D,UAAU,EAAE,wBAAwB;YACpC,MAAM,EAAE,QAAQ;YAChB,QAAQ,EAAE,aAAa;YACvB,IAAI,EAAE;gBACJ,KAAK,EAAE,SAAS;gBAChB,SAAS,EAAE,QAAQ;aACpB;SACF,CAAC,CAAC;QAEH,MAAM,GAAG,CAAC,KAAK,CAGb;YACA,UAAU,EAAE,wBAAwB;YACpC,MAAM,EAAE,iBAAiB;YACzB,QAAQ,EAAE,aAAa;YACvB,GAAG,EAAE,gBAAgB;YACrB,IAAI,EAAE;gBACJ,QAAQ,EAAE;oBACR;wBACE,WAAW,EAAE,qBAAqB;wBAClC,IAAI,EAAE,aAAa;wBACnB,MAAM,EAAE;4BACN,WAAW,EAAE,EAAE;yBAChB;qBACF;oBACD;wBACE,WAAW,EAAE,qBAAqB;wBAClC,IAAI,EAAE,aAAa;wBACnB,MAAM,EAAE;4BACN,WAAW,EAAE,EAAE;yBAChB;qBACF;iBACF;aACF;SACF,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,GAAG,CACnC,gBAAgB,EAChB,SAAS,EACT,gBAAgB,CACjB,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC;YACnC,QAAQ,EAAE;gBACR,mBAAmB,EAAE;oBACnB,MAAM,EAAE;wBACN,WAAW,EAAE,EAAE;qBAChB;iBACF;gBACD,mBAAmB,EAAE;oBACnB,MAAM,EAAE;wBACN,WAAW,EAAE,EAAE;qBAChB;iBACF;aACF;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}