@zwave-js/cc 9.3.1-0-pr-4662-79458fb

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 (297) hide show
  1. package/build/cc/AlarmSensorCC.d.ts +54 -0
  2. package/build/cc/AlarmSensorCC.d.ts.map +1 -0
  3. package/build/cc/AlarmSensorCC.js +378 -0
  4. package/build/cc/AlarmSensorCC.js.map +1 -0
  5. package/build/cc/AssociationCC.d.ts +123 -0
  6. package/build/cc/AssociationCC.d.ts.map +1 -0
  7. package/build/cc/AssociationCC.js +615 -0
  8. package/build/cc/AssociationCC.js.map +1 -0
  9. package/build/cc/AssociationGroupInfoCC.d.ts +97 -0
  10. package/build/cc/AssociationGroupInfoCC.d.ts.map +1 -0
  11. package/build/cc/AssociationGroupInfoCC.js +530 -0
  12. package/build/cc/AssociationGroupInfoCC.js.map +1 -0
  13. package/build/cc/BarrierOperatorCC.d.ts +75 -0
  14. package/build/cc/BarrierOperatorCC.d.ts.map +1 -0
  15. package/build/cc/BarrierOperatorCC.js +492 -0
  16. package/build/cc/BarrierOperatorCC.js.map +1 -0
  17. package/build/cc/BasicCC.d.ts +51 -0
  18. package/build/cc/BasicCC.d.ts.map +1 -0
  19. package/build/cc/BasicCC.js +344 -0
  20. package/build/cc/BasicCC.js.map +1 -0
  21. package/build/cc/BatteryCC.d.ts +56 -0
  22. package/build/cc/BatteryCC.d.ts.map +1 -0
  23. package/build/cc/BatteryCC.js +417 -0
  24. package/build/cc/BatteryCC.js.map +1 -0
  25. package/build/cc/BinarySensorCC.d.ts +52 -0
  26. package/build/cc/BinarySensorCC.d.ts.map +1 -0
  27. package/build/cc/BinarySensorCC.js +321 -0
  28. package/build/cc/BinarySensorCC.js.map +1 -0
  29. package/build/cc/BinarySwitchCC.d.ts +55 -0
  30. package/build/cc/BinarySwitchCC.d.ts.map +1 -0
  31. package/build/cc/BinarySwitchCC.js +327 -0
  32. package/build/cc/BinarySwitchCC.js.map +1 -0
  33. package/build/cc/CRC16CC.d.ts +28 -0
  34. package/build/cc/CRC16CC.d.ts.map +1 -0
  35. package/build/cc/CRC16CC.js +109 -0
  36. package/build/cc/CRC16CC.js.map +1 -0
  37. package/build/cc/CentralSceneCC.d.ts +69 -0
  38. package/build/cc/CentralSceneCC.d.ts.map +1 -0
  39. package/build/cc/CentralSceneCC.js +443 -0
  40. package/build/cc/CentralSceneCC.js.map +1 -0
  41. package/build/cc/ClimateControlScheduleCC.d.ts +78 -0
  42. package/build/cc/ClimateControlScheduleCC.d.ts.map +1 -0
  43. package/build/cc/ClimateControlScheduleCC.js +417 -0
  44. package/build/cc/ClimateControlScheduleCC.js.map +1 -0
  45. package/build/cc/ClockCC.d.ts +40 -0
  46. package/build/cc/ClockCC.d.ts.map +1 -0
  47. package/build/cc/ClockCC.js +185 -0
  48. package/build/cc/ClockCC.js.map +1 -0
  49. package/build/cc/ColorSwitchCC.d.ts +98 -0
  50. package/build/cc/ColorSwitchCC.d.ts.map +1 -0
  51. package/build/cc/ColorSwitchCC.js +1045 -0
  52. package/build/cc/ColorSwitchCC.js.map +1 -0
  53. package/build/cc/ConfigurationCC.d.ts +315 -0
  54. package/build/cc/ConfigurationCC.d.ts.map +1 -0
  55. package/build/cc/ConfigurationCC.js +2257 -0
  56. package/build/cc/ConfigurationCC.js.map +1 -0
  57. package/build/cc/DeviceResetLocallyCC.d.ts +9 -0
  58. package/build/cc/DeviceResetLocallyCC.d.ts.map +1 -0
  59. package/build/cc/DeviceResetLocallyCC.js +28 -0
  60. package/build/cc/DeviceResetLocallyCC.js.map +1 -0
  61. package/build/cc/DoorLockCC.d.ts +116 -0
  62. package/build/cc/DoorLockCC.d.ts.map +1 -0
  63. package/build/cc/DoorLockCC.js +1112 -0
  64. package/build/cc/DoorLockCC.js.map +1 -0
  65. package/build/cc/DoorLockLoggingCC.d.ts +41 -0
  66. package/build/cc/DoorLockLoggingCC.d.ts.map +1 -0
  67. package/build/cc/DoorLockLoggingCC.js +288 -0
  68. package/build/cc/DoorLockLoggingCC.js.map +1 -0
  69. package/build/cc/EntryControlCC.d.ts +71 -0
  70. package/build/cc/EntryControlCC.d.ts.map +1 -0
  71. package/build/cc/EntryControlCC.js +492 -0
  72. package/build/cc/EntryControlCC.js.map +1 -0
  73. package/build/cc/FirmwareUpdateMetaDataCC.d.ts +148 -0
  74. package/build/cc/FirmwareUpdateMetaDataCC.d.ts.map +1 -0
  75. package/build/cc/FirmwareUpdateMetaDataCC.js +727 -0
  76. package/build/cc/FirmwareUpdateMetaDataCC.js.map +1 -0
  77. package/build/cc/HailCC.d.ts +6 -0
  78. package/build/cc/HailCC.d.ts.map +1 -0
  79. package/build/cc/HailCC.js +23 -0
  80. package/build/cc/HailCC.js.map +1 -0
  81. package/build/cc/HumidityControlModeCC.d.ts +47 -0
  82. package/build/cc/HumidityControlModeCC.d.ts.map +1 -0
  83. package/build/cc/HumidityControlModeCC.js +288 -0
  84. package/build/cc/HumidityControlModeCC.js.map +1 -0
  85. package/build/cc/HumidityControlOperatingStateCC.d.ts +24 -0
  86. package/build/cc/HumidityControlOperatingStateCC.d.ts.map +1 -0
  87. package/build/cc/HumidityControlOperatingStateCC.js +129 -0
  88. package/build/cc/HumidityControlOperatingStateCC.js.map +1 -0
  89. package/build/cc/HumidityControlSetpointCC.d.ts +103 -0
  90. package/build/cc/HumidityControlSetpointCC.d.ts.map +1 -0
  91. package/build/cc/HumidityControlSetpointCC.js +626 -0
  92. package/build/cc/HumidityControlSetpointCC.js.map +1 -0
  93. package/build/cc/IndicatorCC.d.ts +88 -0
  94. package/build/cc/IndicatorCC.d.ts.map +1 -0
  95. package/build/cc/IndicatorCC.js +758 -0
  96. package/build/cc/IndicatorCC.js.map +1 -0
  97. package/build/cc/IrrigationCC.d.ts +278 -0
  98. package/build/cc/IrrigationCC.d.ts.map +1 -0
  99. package/build/cc/IrrigationCC.js +2062 -0
  100. package/build/cc/IrrigationCC.js.map +1 -0
  101. package/build/cc/LanguageCC.d.ts +41 -0
  102. package/build/cc/LanguageCC.d.ts.map +1 -0
  103. package/build/cc/LanguageCC.js +220 -0
  104. package/build/cc/LanguageCC.js.map +1 -0
  105. package/build/cc/LockCC.d.ts +41 -0
  106. package/build/cc/LockCC.d.ts.map +1 -0
  107. package/build/cc/LockCC.js +185 -0
  108. package/build/cc/LockCC.js.map +1 -0
  109. package/build/cc/ManufacturerProprietaryCC.d.ts +31 -0
  110. package/build/cc/ManufacturerProprietaryCC.d.ts.map +1 -0
  111. package/build/cc/ManufacturerProprietaryCC.js +275 -0
  112. package/build/cc/ManufacturerProprietaryCC.js.map +1 -0
  113. package/build/cc/ManufacturerSpecificCC.d.ts +59 -0
  114. package/build/cc/ManufacturerSpecificCC.d.ts.map +1 -0
  115. package/build/cc/ManufacturerSpecificCC.js +285 -0
  116. package/build/cc/ManufacturerSpecificCC.js.map +1 -0
  117. package/build/cc/MeterCC.d.ts +100 -0
  118. package/build/cc/MeterCC.d.ts.map +1 -0
  119. package/build/cc/MeterCC.js +820 -0
  120. package/build/cc/MeterCC.js.map +1 -0
  121. package/build/cc/MultiChannelAssociationCC.d.ts +127 -0
  122. package/build/cc/MultiChannelAssociationCC.d.ts.map +1 -0
  123. package/build/cc/MultiChannelAssociationCC.js +883 -0
  124. package/build/cc/MultiChannelAssociationCC.js.map +1 -0
  125. package/build/cc/MultiChannelCC.d.ts +164 -0
  126. package/build/cc/MultiChannelCC.d.ts.map +1 -0
  127. package/build/cc/MultiChannelCC.js +1004 -0
  128. package/build/cc/MultiChannelCC.js.map +1 -0
  129. package/build/cc/MultiCommandCC.d.ts +28 -0
  130. package/build/cc/MultiCommandCC.d.ts.map +1 -0
  131. package/build/cc/MultiCommandCC.js +137 -0
  132. package/build/cc/MultiCommandCC.js.map +1 -0
  133. package/build/cc/MultilevelSensorCC.d.ts +83 -0
  134. package/build/cc/MultilevelSensorCC.d.ts.map +1 -0
  135. package/build/cc/MultilevelSensorCC.js +633 -0
  136. package/build/cc/MultilevelSensorCC.js.map +1 -0
  137. package/build/cc/MultilevelSwitchCC.d.ts +86 -0
  138. package/build/cc/MultilevelSwitchCC.d.ts.map +1 -0
  139. package/build/cc/MultilevelSwitchCC.js +774 -0
  140. package/build/cc/MultilevelSwitchCC.js.map +1 -0
  141. package/build/cc/NoOperationCC.d.ts +17 -0
  142. package/build/cc/NoOperationCC.d.ts.map +1 -0
  143. package/build/cc/NoOperationCC.js +50 -0
  144. package/build/cc/NoOperationCC.js.map +1 -0
  145. package/build/cc/NodeNamingCC.d.ts +57 -0
  146. package/build/cc/NodeNamingCC.d.ts.map +1 -0
  147. package/build/cc/NodeNamingCC.js +313 -0
  148. package/build/cc/NodeNamingCC.js.map +1 -0
  149. package/build/cc/NotificationCC.d.ts +127 -0
  150. package/build/cc/NotificationCC.d.ts.map +1 -0
  151. package/build/cc/NotificationCC.js +1193 -0
  152. package/build/cc/NotificationCC.js.map +1 -0
  153. package/build/cc/PowerlevelCC.d.ts +63 -0
  154. package/build/cc/PowerlevelCC.d.ts.map +1 -0
  155. package/build/cc/PowerlevelCC.js +262 -0
  156. package/build/cc/PowerlevelCC.js.map +1 -0
  157. package/build/cc/ProtectionCC.d.ts +94 -0
  158. package/build/cc/ProtectionCC.d.ts.map +1 -0
  159. package/build/cc/ProtectionCC.js +630 -0
  160. package/build/cc/ProtectionCC.js.map +1 -0
  161. package/build/cc/SceneActivationCC.d.ts +34 -0
  162. package/build/cc/SceneActivationCC.d.ts.map +1 -0
  163. package/build/cc/SceneActivationCC.js +170 -0
  164. package/build/cc/SceneActivationCC.js.map +1 -0
  165. package/build/cc/SceneActuatorConfigurationCC.d.ts +52 -0
  166. package/build/cc/SceneActuatorConfigurationCC.d.ts.map +1 -0
  167. package/build/cc/SceneActuatorConfigurationCC.js +368 -0
  168. package/build/cc/SceneActuatorConfigurationCC.js.map +1 -0
  169. package/build/cc/SceneControllerConfigurationCC.d.ts +61 -0
  170. package/build/cc/SceneControllerConfigurationCC.d.ts.map +1 -0
  171. package/build/cc/SceneControllerConfigurationCC.js +444 -0
  172. package/build/cc/SceneControllerConfigurationCC.js.map +1 -0
  173. package/build/cc/Security2CC.d.ts +213 -0
  174. package/build/cc/Security2CC.d.ts.map +1 -0
  175. package/build/cc/Security2CC.js +1124 -0
  176. package/build/cc/Security2CC.js.map +1 -0
  177. package/build/cc/SecurityCC.d.ts +109 -0
  178. package/build/cc/SecurityCC.d.ts.map +1 -0
  179. package/build/cc/SecurityCC.js +609 -0
  180. package/build/cc/SecurityCC.js.map +1 -0
  181. package/build/cc/SoundSwitchCC.d.ts +87 -0
  182. package/build/cc/SoundSwitchCC.d.ts.map +1 -0
  183. package/build/cc/SoundSwitchCC.js +548 -0
  184. package/build/cc/SoundSwitchCC.js.map +1 -0
  185. package/build/cc/SupervisionCC.d.ts +63 -0
  186. package/build/cc/SupervisionCC.d.ts.map +1 -0
  187. package/build/cc/SupervisionCC.js +239 -0
  188. package/build/cc/SupervisionCC.js.map +1 -0
  189. package/build/cc/ThermostatFanModeCC.d.ts +53 -0
  190. package/build/cc/ThermostatFanModeCC.d.ts.map +1 -0
  191. package/build/cc/ThermostatFanModeCC.js +359 -0
  192. package/build/cc/ThermostatFanModeCC.js.map +1 -0
  193. package/build/cc/ThermostatFanStateCC.d.ts +24 -0
  194. package/build/cc/ThermostatFanStateCC.d.ts.map +1 -0
  195. package/build/cc/ThermostatFanStateCC.js +131 -0
  196. package/build/cc/ThermostatFanStateCC.js.map +1 -0
  197. package/build/cc/ThermostatModeCC.d.ts +58 -0
  198. package/build/cc/ThermostatModeCC.d.ts.map +1 -0
  199. package/build/cc/ThermostatModeCC.js +370 -0
  200. package/build/cc/ThermostatModeCC.js.map +1 -0
  201. package/build/cc/ThermostatOperatingStateCC.d.ts +24 -0
  202. package/build/cc/ThermostatOperatingStateCC.d.ts.map +1 -0
  203. package/build/cc/ThermostatOperatingStateCC.js +127 -0
  204. package/build/cc/ThermostatOperatingStateCC.js.map +1 -0
  205. package/build/cc/ThermostatSetbackCC.d.ts +42 -0
  206. package/build/cc/ThermostatSetbackCC.d.ts.map +1 -0
  207. package/build/cc/ThermostatSetbackCC.js +237 -0
  208. package/build/cc/ThermostatSetbackCC.js.map +1 -0
  209. package/build/cc/ThermostatSetpointCC.d.ts +98 -0
  210. package/build/cc/ThermostatSetpointCC.d.ts.map +1 -0
  211. package/build/cc/ThermostatSetpointCC.js +707 -0
  212. package/build/cc/ThermostatSetpointCC.js.map +1 -0
  213. package/build/cc/TimeCC.d.ts +78 -0
  214. package/build/cc/TimeCC.d.ts.map +1 -0
  215. package/build/cc/TimeCC.js +373 -0
  216. package/build/cc/TimeCC.js.map +1 -0
  217. package/build/cc/TimeParametersCC.d.ts +40 -0
  218. package/build/cc/TimeParametersCC.d.ts.map +1 -0
  219. package/build/cc/TimeParametersCC.js +275 -0
  220. package/build/cc/TimeParametersCC.js.map +1 -0
  221. package/build/cc/TransportServiceCC.d.ts +101 -0
  222. package/build/cc/TransportServiceCC.d.ts.map +1 -0
  223. package/build/cc/TransportServiceCC.js +404 -0
  224. package/build/cc/TransportServiceCC.js.map +1 -0
  225. package/build/cc/UserCodeCC.d.ts +219 -0
  226. package/build/cc/UserCodeCC.d.ts.map +1 -0
  227. package/build/cc/UserCodeCC.js +1526 -0
  228. package/build/cc/UserCodeCC.js.map +1 -0
  229. package/build/cc/VersionCC.d.ts +91 -0
  230. package/build/cc/VersionCC.d.ts.map +1 -0
  231. package/build/cc/VersionCC.js +654 -0
  232. package/build/cc/VersionCC.js.map +1 -0
  233. package/build/cc/WakeUpCC.d.ts +67 -0
  234. package/build/cc/WakeUpCC.d.ts.map +1 -0
  235. package/build/cc/WakeUpCC.js +425 -0
  236. package/build/cc/WakeUpCC.js.map +1 -0
  237. package/build/cc/ZWavePlusCC.d.ts +40 -0
  238. package/build/cc/ZWavePlusCC.d.ts.map +1 -0
  239. package/build/cc/ZWavePlusCC.js +269 -0
  240. package/build/cc/ZWavePlusCC.js.map +1 -0
  241. package/build/cc/index.d.ts +64 -0
  242. package/build/cc/index.d.ts.map +1 -0
  243. package/build/cc/index.js +496 -0
  244. package/build/cc/index.js.map +1 -0
  245. package/build/cc/manufacturerProprietary/FibaroCC.d.ts +62 -0
  246. package/build/cc/manufacturerProprietary/FibaroCC.d.ts.map +1 -0
  247. package/build/cc/manufacturerProprietary/FibaroCC.js +247 -0
  248. package/build/cc/manufacturerProprietary/FibaroCC.js.map +1 -0
  249. package/build/index.d.ts +11 -0
  250. package/build/index.d.ts.map +1 -0
  251. package/build/index.js +48 -0
  252. package/build/index.js.map +1 -0
  253. package/build/index_safe.d.ts +4 -0
  254. package/build/index_safe.d.ts.map +1 -0
  255. package/build/index_safe.js +30 -0
  256. package/build/index_safe.js.map +1 -0
  257. package/build/lib/API.d.ts +176 -0
  258. package/build/lib/API.d.ts.map +1 -0
  259. package/build/lib/API.js +325 -0
  260. package/build/lib/API.js.map +1 -0
  261. package/build/lib/CommandClass.d.ts +341 -0
  262. package/build/lib/CommandClass.d.ts.map +1 -0
  263. package/build/lib/CommandClass.js +1088 -0
  264. package/build/lib/CommandClass.js.map +1 -0
  265. package/build/lib/EncapsulatingCommandClass.d.ts +35 -0
  266. package/build/lib/EncapsulatingCommandClass.d.ts.map +1 -0
  267. package/build/lib/EncapsulatingCommandClass.js +53 -0
  268. package/build/lib/EncapsulatingCommandClass.js.map +1 -0
  269. package/build/lib/ICommandClassContainer.d.ts +9 -0
  270. package/build/lib/ICommandClassContainer.d.ts.map +1 -0
  271. package/build/lib/ICommandClassContainer.js +12 -0
  272. package/build/lib/ICommandClassContainer.js.map +1 -0
  273. package/build/lib/NotificationEventPayload.d.ts +11 -0
  274. package/build/lib/NotificationEventPayload.d.ts.map +1 -0
  275. package/build/lib/NotificationEventPayload.js +11 -0
  276. package/build/lib/NotificationEventPayload.js.map +1 -0
  277. package/build/lib/Security2/Extension.d.ts +87 -0
  278. package/build/lib/Security2/Extension.d.ts.map +1 -0
  279. package/build/lib/Security2/Extension.js +235 -0
  280. package/build/lib/Security2/Extension.js.map +1 -0
  281. package/build/lib/Security2/shared.d.ts +31 -0
  282. package/build/lib/Security2/shared.d.ts.map +1 -0
  283. package/build/lib/Security2/shared.js +37 -0
  284. package/build/lib/Security2/shared.js.map +1 -0
  285. package/build/lib/_Types.d.ts +1446 -0
  286. package/build/lib/_Types.d.ts.map +1 -0
  287. package/build/lib/_Types.js +1334 -0
  288. package/build/lib/_Types.js.map +1 -0
  289. package/build/lib/serializers.d.ts +24 -0
  290. package/build/lib/serializers.d.ts.map +1 -0
  291. package/build/lib/serializers.js +66 -0
  292. package/build/lib/serializers.js.map +1 -0
  293. package/build/lib/utils.d.ts +13 -0
  294. package/build/lib/utils.d.ts.map +1 -0
  295. package/build/lib/utils.js +675 -0
  296. package/build/lib/utils.js.map +1 -0
  297. package/package.json +77 -0
@@ -0,0 +1,633 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var _a;
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.MultilevelSensorCCGetSupportedScale = exports.MultilevelSensorCCSupportedScaleReport = exports.MultilevelSensorCCGetSupportedSensor = exports.MultilevelSensorCCSupportedSensorReport = exports.MultilevelSensorCCGet = exports.MultilevelSensorCCReport = exports.MultilevelSensorCC = exports.MultilevelSensorCCAPI = exports.getSupportedScalesValueId = exports.getSupportedSensorTypesValueId = void 0;
11
+ function __assertType(argName, typeName, boundHasError) {
12
+ const { ZWaveError, ZWaveErrorCodes } = require("@zwave-js/core");
13
+ if (boundHasError()) {
14
+ throw new ZWaveError(typeName ? `${argName} is not a ${typeName}` : `${argName} has the wrong type`, ZWaveErrorCodes.Argument_Invalid);
15
+ }
16
+ }
17
+ const __assertType__optional_number = $o => {
18
+ function _number($o) {
19
+ return typeof $o !== "number" ? {} : null;
20
+ }
21
+ function optional__number($o) {
22
+ if ($o !== undefined) {
23
+ const error = _number($o);
24
+ if (error)
25
+ return error;
26
+ }
27
+ return null;
28
+ }
29
+ return optional__number($o);
30
+ };
31
+ const __assertType__number = $o => {
32
+ function _number($o) {
33
+ return typeof $o !== "number" ? {} : null;
34
+ }
35
+ return _number($o);
36
+ };
37
+ const __assertType__su__number__2_eu = $o => {
38
+ function _number($o) {
39
+ return typeof $o !== "number" ? {} : null;
40
+ }
41
+ function _2($o) {
42
+ return !($o instanceof require("@zwave-js/config").Scale) ? {} : null;
43
+ }
44
+ function su__number__2_eu($o) {
45
+ const conditions = [_number, _2];
46
+ for (const condition of conditions) {
47
+ const error = condition($o);
48
+ if (!error)
49
+ return null;
50
+ }
51
+ return {};
52
+ }
53
+ return su__number__2_eu($o);
54
+ };
55
+ const config_1 = require("@zwave-js/config");
56
+ const safe_1 = require("@zwave-js/core/safe");
57
+ const safe_2 = require("@zwave-js/shared/safe");
58
+ const API_1 = require("../lib/API");
59
+ const CommandClass_1 = require("../lib/CommandClass");
60
+ const _Types_1 = require("../lib/_Types");
61
+ /**
62
+ * Determine the scale to use to query a sensor reading. Uses the user-preferred scale if given,
63
+ * otherwise falls back to the first supported one.
64
+ */
65
+ function getPreferredSensorScale(applHost, nodeId, endpointIndex, sensorType, supportedScales) {
66
+ var _b, _c, _d, _e, _f, _g, _h;
67
+ const scaleGroup = (_b = applHost.configManager.lookupSensorType(sensorType)) === null || _b === void 0 ? void 0 : _b.scales;
68
+ // If the sensor type is unknown, we have no default. Use the user-provided scale or 0
69
+ if (!scaleGroup) {
70
+ const preferred = (_c = applHost.options.preferences) === null || _c === void 0 ? void 0 : _c.scales[sensorType];
71
+ // We cannot look up strings for unknown sensor types, so this must be a number or we use the fallback
72
+ if (typeof preferred !== "number")
73
+ return 0;
74
+ return preferred;
75
+ }
76
+ // Look up the preference for the scale
77
+ let preferred;
78
+ // Named scales apply to multiple sensor types. To be able to override the scale for single types
79
+ // we need to look at the preferences by sensor type first
80
+ preferred = (_d = applHost.options.preferences) === null || _d === void 0 ? void 0 : _d.scales[sensorType];
81
+ // If the scale is named, we can then try to use the named preference
82
+ if (preferred == undefined && scaleGroup.name) {
83
+ preferred = (_e = applHost.options.preferences) === null || _e === void 0 ? void 0 : _e.scales[scaleGroup.name];
84
+ }
85
+ // Then fall back to the first supported scale
86
+ if (preferred == undefined) {
87
+ preferred = (_f = supportedScales[0]) !== null && _f !== void 0 ? _f : 0;
88
+ applHost.controllerLog.logNode(nodeId, {
89
+ endpoint: endpointIndex,
90
+ message: `No scale preference for sensor type ${sensorType}, using the first supported scale ${preferred}`,
91
+ });
92
+ return preferred;
93
+ }
94
+ // If the scale name or unit was given, try to look it up
95
+ if (typeof preferred === "string") {
96
+ for (const scale of scaleGroup.values()) {
97
+ if (scale.label === preferred || scale.unit === preferred) {
98
+ preferred = scale.key;
99
+ break;
100
+ }
101
+ }
102
+ }
103
+ if (typeof preferred === "string") {
104
+ // Looking up failed
105
+ applHost.controllerLog.logNode(nodeId, {
106
+ endpoint: endpointIndex,
107
+ message: `Preferred scale "${preferred}" for sensor type ${sensorType} not found, using the first supported scale ${(_g = supportedScales[0]) !== null && _g !== void 0 ? _g : 0}`,
108
+ });
109
+ return (_h = supportedScales[0]) !== null && _h !== void 0 ? _h : 0;
110
+ }
111
+ // We have a numeric scale key, nothing to look up. Make sure it is supported though
112
+ if (!supportedScales.length) {
113
+ // No info about supported scales, just use the preferred one
114
+ return preferred;
115
+ }
116
+ else if (!supportedScales.includes(preferred)) {
117
+ applHost.controllerLog.logNode(nodeId, {
118
+ endpoint: endpointIndex,
119
+ message: `Preferred scale ${preferred} not supported for sensor type ${sensorType}, using the first supported scale`,
120
+ });
121
+ return supportedScales[0];
122
+ }
123
+ else {
124
+ return preferred;
125
+ }
126
+ }
127
+ function getSupportedSensorTypesValueId(endpoint) {
128
+ return {
129
+ commandClass: safe_1.CommandClasses["Multilevel Sensor"],
130
+ endpoint: endpoint,
131
+ property: "supportedSensorTypes",
132
+ };
133
+ }
134
+ exports.getSupportedSensorTypesValueId = getSupportedSensorTypesValueId;
135
+ function getSupportedScalesValueId(endpoint, sensorType) {
136
+ return {
137
+ commandClass: safe_1.CommandClasses["Multilevel Sensor"],
138
+ endpoint: endpoint,
139
+ property: "supportedScales",
140
+ propertyKey: sensorType,
141
+ };
142
+ }
143
+ exports.getSupportedScalesValueId = getSupportedScalesValueId;
144
+ // @noSetValueAPI This CC is read-only
145
+ let MultilevelSensorCCAPI = class MultilevelSensorCCAPI extends API_1.PhysicalCCAPI {
146
+ constructor() {
147
+ super(...arguments);
148
+ this[_a] = async ({ property, }) => {
149
+ var _b, _c;
150
+ // Look up the necessary information
151
+ const valueId = {
152
+ commandClass: safe_1.CommandClasses["Multilevel Sensor"],
153
+ endpoint: this.endpoint.index,
154
+ property,
155
+ };
156
+ const ccSpecific = (_c = (_b = this.tryGetValueDB()) === null || _b === void 0 ? void 0 : _b.getMetadata(valueId)) === null || _c === void 0 ? void 0 : _c.ccSpecific;
157
+ if (!ccSpecific) {
158
+ (0, API_1.throwUnsupportedProperty)(this.ccId, property);
159
+ }
160
+ const { sensorType, scale } = ccSpecific;
161
+ return this.get(sensorType, scale);
162
+ };
163
+ }
164
+ supportsCommand(cmd) {
165
+ switch (cmd) {
166
+ case _Types_1.MultilevelSensorCommand.Get:
167
+ case _Types_1.MultilevelSensorCommand.Report:
168
+ return true; // This is mandatory
169
+ case _Types_1.MultilevelSensorCommand.GetSupportedSensor:
170
+ case _Types_1.MultilevelSensorCommand.GetSupportedScale:
171
+ return this.version >= 5;
172
+ }
173
+ return super.supportsCommand(cmd);
174
+ }
175
+ async get(sensorType, scale) {
176
+ var _b, _c;
177
+ __assertType("sensorType", "(optional) number", __assertType__optional_number.bind(void 0, sensorType));
178
+ __assertType("scale", "(optional) number", __assertType__optional_number.bind(void 0, scale));
179
+ this.assertSupportsCommand(_Types_1.MultilevelSensorCommand, _Types_1.MultilevelSensorCommand.Get);
180
+ // Figure out the preferred scale if none was given
181
+ let preferredScale;
182
+ if (sensorType != undefined && scale == undefined) {
183
+ const supportedScales = (_c = (_b = this.tryGetValueDB()) === null || _b === void 0 ? void 0 : _b.getValue({
184
+ commandClass: this.ccId,
185
+ endpoint: this.endpoint.index,
186
+ property: "supportedScales",
187
+ propertyKey: sensorType,
188
+ })) !== null && _c !== void 0 ? _c : [];
189
+ preferredScale = getPreferredSensorScale(this.applHost, this.endpoint.nodeId, this.endpoint.index, sensorType, supportedScales);
190
+ }
191
+ const cc = new MultilevelSensorCCGet(this.applHost, {
192
+ nodeId: this.endpoint.nodeId,
193
+ endpoint: this.endpoint.index,
194
+ sensorType,
195
+ scale: scale !== null && scale !== void 0 ? scale : preferredScale,
196
+ });
197
+ const response = await this.applHost.sendCommand(cc, this.commandOptions);
198
+ if (!response)
199
+ return;
200
+ const responseScale = this.applHost.configManager.lookupSensorScale(response.type, response.scale);
201
+ if (sensorType == undefined) {
202
+ // Overload #1: return the full response
203
+ return {
204
+ type: response.type,
205
+ value: response.value,
206
+ scale: responseScale,
207
+ };
208
+ }
209
+ else if (scale == undefined) {
210
+ // Overload #2: return value and scale
211
+ return {
212
+ value: response.value,
213
+ scale: responseScale,
214
+ };
215
+ }
216
+ else {
217
+ // Overload #3: return only the value
218
+ return response.value;
219
+ }
220
+ }
221
+ async getSupportedSensorTypes() {
222
+ this.assertSupportsCommand(_Types_1.MultilevelSensorCommand, _Types_1.MultilevelSensorCommand.GetSupportedSensor);
223
+ const cc = new MultilevelSensorCCGetSupportedSensor(this.applHost, {
224
+ nodeId: this.endpoint.nodeId,
225
+ endpoint: this.endpoint.index,
226
+ });
227
+ const response = await this.applHost.sendCommand(cc, this.commandOptions);
228
+ return response === null || response === void 0 ? void 0 : response.supportedSensorTypes;
229
+ }
230
+ async getSupportedScales(sensorType) {
231
+ __assertType("sensorType", "number", __assertType__number.bind(void 0, sensorType));
232
+ this.assertSupportsCommand(_Types_1.MultilevelSensorCommand, _Types_1.MultilevelSensorCommand.GetSupportedScale);
233
+ const cc = new MultilevelSensorCCGetSupportedScale(this.applHost, {
234
+ nodeId: this.endpoint.nodeId,
235
+ endpoint: this.endpoint.index,
236
+ sensorType,
237
+ });
238
+ const response = await this.applHost.sendCommand(cc, this.commandOptions);
239
+ return response === null || response === void 0 ? void 0 : response.sensorSupportedScales;
240
+ }
241
+ async sendReport(sensorType, scale, value) {
242
+ __assertType("sensorType", "number", __assertType__number.bind(void 0, sensorType));
243
+ __assertType("scale", undefined, __assertType__su__number__2_eu.bind(void 0, scale));
244
+ __assertType("value", "number", __assertType__number.bind(void 0, value));
245
+ this.assertSupportsCommand(_Types_1.MultilevelSensorCommand, _Types_1.MultilevelSensorCommand.Report);
246
+ const cc = new MultilevelSensorCCReport(this.applHost, {
247
+ nodeId: this.endpoint.nodeId,
248
+ endpoint: this.endpoint.index,
249
+ type: sensorType,
250
+ scale,
251
+ value,
252
+ });
253
+ await this.applHost.sendCommand(cc, this.commandOptions);
254
+ }
255
+ };
256
+ _a = API_1.POLL_VALUE;
257
+ MultilevelSensorCCAPI = __decorate([
258
+ (0, CommandClass_1.API)(safe_1.CommandClasses["Multilevel Sensor"])
259
+ ], MultilevelSensorCCAPI);
260
+ exports.MultilevelSensorCCAPI = MultilevelSensorCCAPI;
261
+ let MultilevelSensorCC = class MultilevelSensorCC extends CommandClass_1.CommandClass {
262
+ async interview(applHost) {
263
+ const node = this.getNode(applHost);
264
+ const endpoint = this.getEndpoint(applHost);
265
+ const api = API_1.CCAPI.create(safe_1.CommandClasses["Multilevel Sensor"], applHost, endpoint).withOptions({
266
+ priority: safe_1.MessagePriority.NodeQuery,
267
+ });
268
+ applHost.controllerLog.logNode(node.id, {
269
+ endpoint: this.endpointIndex,
270
+ message: `Interviewing ${this.ccName}...`,
271
+ direction: "none",
272
+ });
273
+ if (this.version >= 5) {
274
+ // Query the supported sensor types
275
+ applHost.controllerLog.logNode(node.id, {
276
+ endpoint: this.endpointIndex,
277
+ message: "retrieving supported sensor types...",
278
+ direction: "outbound",
279
+ });
280
+ const sensorTypes = await api.getSupportedSensorTypes();
281
+ if (sensorTypes) {
282
+ const logMessage = "received supported sensor types:\n" +
283
+ sensorTypes
284
+ .map((t) => applHost.configManager.getSensorTypeName(t))
285
+ .map((name) => `· ${name}`)
286
+ .join("\n");
287
+ applHost.controllerLog.logNode(node.id, {
288
+ endpoint: this.endpointIndex,
289
+ message: logMessage,
290
+ direction: "inbound",
291
+ });
292
+ }
293
+ else {
294
+ applHost.controllerLog.logNode(node.id, {
295
+ endpoint: this.endpointIndex,
296
+ message: "Querying supported sensor types timed out, skipping interview...",
297
+ level: "warn",
298
+ });
299
+ return;
300
+ }
301
+ // As well as the supported scales for each sensor
302
+ for (const type of sensorTypes) {
303
+ applHost.controllerLog.logNode(node.id, {
304
+ endpoint: this.endpointIndex,
305
+ message: `querying supported scales for ${applHost.configManager.getSensorTypeName(type)} sensor`,
306
+ direction: "outbound",
307
+ });
308
+ const sensorScales = await api.getSupportedScales(type);
309
+ if (sensorScales) {
310
+ const logMessage = "received supported scales:\n" +
311
+ sensorScales
312
+ .map((s) => applHost.configManager.lookupSensorScale(type, s).label)
313
+ .map((name) => `· ${name}`)
314
+ .join("\n");
315
+ applHost.controllerLog.logNode(node.id, {
316
+ endpoint: this.endpointIndex,
317
+ message: logMessage,
318
+ direction: "inbound",
319
+ });
320
+ }
321
+ else {
322
+ applHost.controllerLog.logNode(node.id, {
323
+ endpoint: this.endpointIndex,
324
+ message: "Querying supported scales timed out, skipping interview...",
325
+ level: "warn",
326
+ });
327
+ return;
328
+ }
329
+ }
330
+ }
331
+ await this.refreshValues(applHost);
332
+ // Remember that the interview is complete
333
+ this.setInterviewComplete(applHost, true);
334
+ }
335
+ async refreshValues(applHost) {
336
+ const node = this.getNode(applHost);
337
+ const endpoint = this.getEndpoint(applHost);
338
+ const api = API_1.CCAPI.create(safe_1.CommandClasses["Multilevel Sensor"], applHost, endpoint).withOptions({
339
+ priority: safe_1.MessagePriority.NodeQuery,
340
+ });
341
+ const valueDB = this.getValueDB(applHost);
342
+ if (this.version <= 4) {
343
+ // Sensors up to V4 only support a single value
344
+ applHost.controllerLog.logNode(node.id, {
345
+ endpoint: this.endpointIndex,
346
+ message: "querying current sensor reading...",
347
+ direction: "outbound",
348
+ });
349
+ const mlsResponse = await api.get();
350
+ if (mlsResponse) {
351
+ const sensorScale = applHost.configManager.lookupSensorScale(mlsResponse.type, mlsResponse.scale.key);
352
+ const logMessage = `received current sensor reading:
353
+ sensor type: ${applHost.configManager.getSensorTypeName(mlsResponse.type)}
354
+ value: ${mlsResponse.value} ${sensorScale.unit || ""}`;
355
+ applHost.controllerLog.logNode(node.id, {
356
+ endpoint: this.endpointIndex,
357
+ message: logMessage,
358
+ direction: "inbound",
359
+ });
360
+ }
361
+ }
362
+ else {
363
+ // Query all sensor values
364
+ const sensorTypes = valueDB.getValue({
365
+ commandClass: this.ccId,
366
+ property: "supportedSensorTypes",
367
+ endpoint: this.endpointIndex,
368
+ }) || [];
369
+ for (const type of sensorTypes) {
370
+ applHost.controllerLog.logNode(node.id, {
371
+ endpoint: this.endpointIndex,
372
+ message: `querying ${applHost.configManager.getSensorTypeName(type)} sensor reading...`,
373
+ direction: "outbound",
374
+ });
375
+ const value = await api.get(type);
376
+ if (value) {
377
+ const logMessage = `received current ${applHost.configManager.getSensorTypeName(type)} sensor reading: ${value.value} ${value.scale.unit || ""}`;
378
+ applHost.controllerLog.logNode(node.id, {
379
+ endpoint: this.endpointIndex,
380
+ message: logMessage,
381
+ direction: "inbound",
382
+ });
383
+ }
384
+ }
385
+ }
386
+ }
387
+ translatePropertyKey(applHost, property, propertyKey) {
388
+ // TODO: check this
389
+ if (property === "values" && typeof propertyKey === "number") {
390
+ const type = applHost.configManager.lookupSensorType(propertyKey);
391
+ if (type)
392
+ return type.label;
393
+ }
394
+ return super.translatePropertyKey(applHost, property, propertyKey);
395
+ }
396
+ };
397
+ MultilevelSensorCC = __decorate([
398
+ (0, CommandClass_1.commandClass)(safe_1.CommandClasses["Multilevel Sensor"]),
399
+ (0, CommandClass_1.implementedVersion)(11)
400
+ ], MultilevelSensorCC);
401
+ exports.MultilevelSensorCC = MultilevelSensorCC;
402
+ let MultilevelSensorCCReport = class MultilevelSensorCCReport extends MultilevelSensorCC {
403
+ constructor(host, options) {
404
+ super(host, options);
405
+ if ((0, CommandClass_1.gotDeserializationOptions)(options)) {
406
+ (0, safe_1.validatePayload)(this.payload.length >= 1);
407
+ this.type = this.payload[0];
408
+ // parseFloatWithScale does its own validation
409
+ const { value, scale } = (0, safe_1.parseFloatWithScale)(this.payload.slice(1));
410
+ this.value = value;
411
+ this.scale = scale;
412
+ }
413
+ else {
414
+ this.type = options.type;
415
+ this.value = options.value;
416
+ this.scale =
417
+ options.scale instanceof config_1.Scale
418
+ ? options.scale.key
419
+ : options.scale;
420
+ }
421
+ }
422
+ persistValues(applHost) {
423
+ var _b, _c, _d, _e;
424
+ if (!super.persistValues(applHost))
425
+ return false;
426
+ const valueDB = this.getValueDB(applHost);
427
+ const sensorType = applHost.configManager.lookupSensorType(this.type);
428
+ const scale = applHost.configManager.lookupSensorScale(this.type, this.scale);
429
+ // Filter out unknown sensor types and scales, unless the strict validation is disabled
430
+ const measurementValidation = !((_e = (_d = (_c = (_b = this.host).getDeviceConfig) === null || _c === void 0 ? void 0 : _c.call(_b, this.nodeId)) === null || _d === void 0 ? void 0 : _d.compat) === null || _e === void 0 ? void 0 : _e.disableStrictMeasurementValidation);
431
+ if (measurementValidation) {
432
+ safe_1.validatePayload.withReason(`Unknown sensor type ${(0, safe_2.num2hex)(this.type)} or corrupted data`)(!!sensorType);
433
+ safe_1.validatePayload.withReason(`Unknown scale ${(0, safe_2.num2hex)(this.scale)} or corrupted data`)(scale.label !== (0, config_1.getDefaultScale)(this.scale).label);
434
+ // Filter out unsupported sensor types and scales if possible
435
+ if (this.version >= 5) {
436
+ const supportedSensorTypes = valueDB.getValue(getSupportedSensorTypesValueId(this.endpointIndex));
437
+ if (supportedSensorTypes === null || supportedSensorTypes === void 0 ? void 0 : supportedSensorTypes.length) {
438
+ safe_1.validatePayload.withReason(`Unsupported sensor type ${sensorType.label} or corrupted data`)(supportedSensorTypes.includes(this.type));
439
+ }
440
+ const supportedScales = valueDB.getValue(getSupportedScalesValueId(this.endpointIndex, this.type));
441
+ if (supportedScales === null || supportedScales === void 0 ? void 0 : supportedScales.length) {
442
+ safe_1.validatePayload.withReason(`Unsupported sensor type ${scale.label} or corrupted data`)(supportedScales.includes(scale.key));
443
+ }
444
+ }
445
+ }
446
+ const typeName = applHost.configManager.getSensorTypeName(this.type);
447
+ const valueId = {
448
+ commandClass: this.ccId,
449
+ endpoint: this.endpointIndex,
450
+ property: typeName,
451
+ };
452
+ valueDB.setMetadata(valueId, {
453
+ ...safe_1.ValueMetadata.ReadOnlyNumber,
454
+ unit: scale.unit,
455
+ label: typeName,
456
+ ccSpecific: {
457
+ sensorType: this.type,
458
+ scale: scale.key,
459
+ },
460
+ });
461
+ valueDB.setValue(valueId, this.value);
462
+ return true;
463
+ }
464
+ serialize() {
465
+ this.payload = Buffer.concat([
466
+ Buffer.from([this.type]),
467
+ (0, safe_1.encodeFloatWithScale)(this.value, this.scale),
468
+ ]);
469
+ return super.serialize();
470
+ }
471
+ toLogEntry(applHost) {
472
+ return {
473
+ ...super.toLogEntry(applHost),
474
+ message: {
475
+ type: applHost.configManager.getSensorTypeName(this.type),
476
+ scale: applHost.configManager.lookupSensorScale(this.type, this.scale).label,
477
+ value: this.value,
478
+ },
479
+ };
480
+ }
481
+ };
482
+ MultilevelSensorCCReport = __decorate([
483
+ (0, CommandClass_1.CCCommand)(_Types_1.MultilevelSensorCommand.Report)
484
+ ], MultilevelSensorCCReport);
485
+ exports.MultilevelSensorCCReport = MultilevelSensorCCReport;
486
+ const testResponseForMultilevelSensorGet = (sent, received) => {
487
+ // We expect a Multilevel Sensor Report that matches the requested sensor type (if a type was requested)
488
+ return sent.sensorType == undefined || received.type === sent.sensorType;
489
+ };
490
+ let MultilevelSensorCCGet = class MultilevelSensorCCGet extends MultilevelSensorCC {
491
+ constructor(host, options) {
492
+ super(host, options);
493
+ if ((0, CommandClass_1.gotDeserializationOptions)(options)) {
494
+ // TODO: Deserialize payload
495
+ throw new safe_1.ZWaveError(`${this.constructor.name}: deserialization not implemented`, safe_1.ZWaveErrorCodes.Deserialization_NotImplemented);
496
+ }
497
+ else {
498
+ if ("sensorType" in options) {
499
+ this.sensorType = options.sensorType;
500
+ this.scale = options.scale;
501
+ }
502
+ }
503
+ }
504
+ serialize() {
505
+ if (this.version >= 5 &&
506
+ this.sensorType != undefined &&
507
+ this.scale != undefined) {
508
+ this.payload = Buffer.from([
509
+ this.sensorType,
510
+ (this.scale & 0b11) << 3,
511
+ ]);
512
+ }
513
+ return super.serialize();
514
+ }
515
+ toLogEntry(applHost) {
516
+ let message = {};
517
+ if (this.version >= 5 &&
518
+ this.sensorType != undefined &&
519
+ this.scale != undefined) {
520
+ message = {
521
+ "sensor type": applHost.configManager.getSensorTypeName(this.sensorType),
522
+ scale: applHost.configManager.lookupSensorScale(this.sensorType, this.scale).label,
523
+ };
524
+ }
525
+ return {
526
+ ...super.toLogEntry(applHost),
527
+ message,
528
+ };
529
+ }
530
+ };
531
+ MultilevelSensorCCGet = __decorate([
532
+ (0, CommandClass_1.CCCommand)(_Types_1.MultilevelSensorCommand.Get),
533
+ (0, CommandClass_1.expectedCCResponse)(MultilevelSensorCCReport, testResponseForMultilevelSensorGet)
534
+ ], MultilevelSensorCCGet);
535
+ exports.MultilevelSensorCCGet = MultilevelSensorCCGet;
536
+ let MultilevelSensorCCSupportedSensorReport = class MultilevelSensorCCSupportedSensorReport extends MultilevelSensorCC {
537
+ constructor(host, options) {
538
+ super(host, options);
539
+ (0, safe_1.validatePayload)(this.payload.length >= 1);
540
+ this._supportedSensorTypes = (0, safe_1.parseBitMask)(this.payload);
541
+ }
542
+ // TODO: Use this during interview to precreate values
543
+ get supportedSensorTypes() {
544
+ return this._supportedSensorTypes;
545
+ }
546
+ toLogEntry(applHost) {
547
+ return {
548
+ ...super.toLogEntry(applHost),
549
+ message: {
550
+ "supported sensor types": this.supportedSensorTypes
551
+ .map((t) => `\n· ${applHost.configManager.getSensorTypeName(t)}`)
552
+ .join(""),
553
+ },
554
+ };
555
+ }
556
+ };
557
+ __decorate([
558
+ (0, CommandClass_1.ccValue)({ internal: true })
559
+ ], MultilevelSensorCCSupportedSensorReport.prototype, "supportedSensorTypes", null);
560
+ MultilevelSensorCCSupportedSensorReport = __decorate([
561
+ (0, CommandClass_1.CCCommand)(_Types_1.MultilevelSensorCommand.SupportedSensorReport)
562
+ ], MultilevelSensorCCSupportedSensorReport);
563
+ exports.MultilevelSensorCCSupportedSensorReport = MultilevelSensorCCSupportedSensorReport;
564
+ let MultilevelSensorCCGetSupportedSensor = class MultilevelSensorCCGetSupportedSensor extends MultilevelSensorCC {
565
+ };
566
+ MultilevelSensorCCGetSupportedSensor = __decorate([
567
+ (0, CommandClass_1.CCCommand)(_Types_1.MultilevelSensorCommand.GetSupportedSensor),
568
+ (0, CommandClass_1.expectedCCResponse)(MultilevelSensorCCSupportedSensorReport)
569
+ ], MultilevelSensorCCGetSupportedSensor);
570
+ exports.MultilevelSensorCCGetSupportedSensor = MultilevelSensorCCGetSupportedSensor;
571
+ let MultilevelSensorCCSupportedScaleReport = class MultilevelSensorCCSupportedScaleReport extends MultilevelSensorCC {
572
+ constructor(host, options) {
573
+ super(host, options);
574
+ (0, safe_1.validatePayload)(this.payload.length >= 2);
575
+ const sensorType = this.payload[0];
576
+ const supportedScales = (0, safe_1.parseBitMask)(Buffer.from([this.payload[1] & 0b1111]), 0);
577
+ this.supportedScales = [sensorType, supportedScales];
578
+ }
579
+ get sensorType() {
580
+ return this.supportedScales[0];
581
+ }
582
+ get sensorSupportedScales() {
583
+ return this.supportedScales[1];
584
+ }
585
+ toLogEntry(applHost) {
586
+ return {
587
+ ...super.toLogEntry(applHost),
588
+ message: {
589
+ "sensor type": applHost.configManager.getSensorTypeName(this.sensorType),
590
+ "supported scales": this.sensorSupportedScales
591
+ .map((s) => `\n· ${applHost.configManager.lookupSensorScale(this.sensorType, s).label}`)
592
+ .join(""),
593
+ },
594
+ };
595
+ }
596
+ };
597
+ __decorate([
598
+ (0, CommandClass_1.ccKeyValuePair)({ internal: true })
599
+ ], MultilevelSensorCCSupportedScaleReport.prototype, "supportedScales", void 0);
600
+ MultilevelSensorCCSupportedScaleReport = __decorate([
601
+ (0, CommandClass_1.CCCommand)(_Types_1.MultilevelSensorCommand.SupportedScaleReport)
602
+ ], MultilevelSensorCCSupportedScaleReport);
603
+ exports.MultilevelSensorCCSupportedScaleReport = MultilevelSensorCCSupportedScaleReport;
604
+ let MultilevelSensorCCGetSupportedScale = class MultilevelSensorCCGetSupportedScale extends MultilevelSensorCC {
605
+ constructor(host, options) {
606
+ super(host, options);
607
+ if ((0, CommandClass_1.gotDeserializationOptions)(options)) {
608
+ // TODO: Deserialize payload
609
+ throw new safe_1.ZWaveError(`${this.constructor.name}: deserialization not implemented`, safe_1.ZWaveErrorCodes.Deserialization_NotImplemented);
610
+ }
611
+ else {
612
+ this.sensorType = options.sensorType;
613
+ }
614
+ }
615
+ serialize() {
616
+ this.payload = Buffer.from([this.sensorType]);
617
+ return super.serialize();
618
+ }
619
+ toLogEntry(applHost) {
620
+ return {
621
+ ...super.toLogEntry(applHost),
622
+ message: {
623
+ "sensor type": applHost.configManager.getSensorTypeName(this.sensorType),
624
+ },
625
+ };
626
+ }
627
+ };
628
+ MultilevelSensorCCGetSupportedScale = __decorate([
629
+ (0, CommandClass_1.CCCommand)(_Types_1.MultilevelSensorCommand.GetSupportedScale),
630
+ (0, CommandClass_1.expectedCCResponse)(MultilevelSensorCCSupportedScaleReport)
631
+ ], MultilevelSensorCCGetSupportedScale);
632
+ exports.MultilevelSensorCCGetSupportedScale = MultilevelSensorCCGetSupportedScale;
633
+ //# sourceMappingURL=MultilevelSensorCC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultilevelSensorCC.js","sourceRoot":"","sources":["../../src/cc/MultilevelSensorCC.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA0D;AAM1D,8CAW6B;AAE7B,gDAAgD;AAEhD,oCAMoB;AACpB,sDAa6B;AAC7B,0CAA+E;AAE/E;;;GAGG;AACH,SAAS,uBAAuB,CAC/B,QAA8B,EAC9B,MAAc,EACd,aAAqB,EACrB,UAAkB,EAClB,eAAkC;;IAElC,MAAM,UAAU,GACf,MAAA,QAAQ,CAAC,aAAa,CAAC,gBAAgB,CAAC,UAAU,CAAC,0CAAE,MAAM,CAAC;IAC7D,sFAAsF;IACtF,IAAI,CAAC,UAAU,EAAE;QAChB,MAAM,SAAS,GAAG,MAAA,QAAQ,CAAC,OAAO,CAAC,WAAW,0CAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QACnE,sGAAsG;QACtG,IAAI,OAAO,SAAS,KAAK,QAAQ;YAAE,OAAO,CAAC,CAAC;QAC5C,OAAO,SAAS,CAAC;KACjB;IAED,uCAAuC;IACvC,IAAI,SAAsC,CAAC;IAC3C,iGAAiG;IACjG,0DAA0D;IAC1D,SAAS,GAAG,MAAA,QAAQ,CAAC,OAAO,CAAC,WAAW,0CAAE,MAAM,CAAC,UAAU,CAAC,CAAC;IAC7D,qEAAqE;IACrE,IAAI,SAAS,IAAI,SAAS,IAAI,UAAU,CAAC,IAAI,EAAE;QAC9C,SAAS,GAAG,MAAA,QAAQ,CAAC,OAAO,CAAC,WAAW,0CAAE,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;KAClE;IACD,8CAA8C;IAC9C,IAAI,SAAS,IAAI,SAAS,EAAE;QAC3B,SAAS,GAAG,MAAA,eAAe,CAAC,CAAC,CAAC,mCAAI,CAAC,CAAC;QACpC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE;YACtC,QAAQ,EAAE,aAAa;YACvB,OAAO,EAAE,uCAAuC,UAAU,qCAAqC,SAAS,EAAE;SAC1G,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;KACjB;IAED,yDAAyD;IACzD,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;QAClC,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,MAAM,EAAE,EAAE;YACxC,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE;gBAC1D,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC;gBACtB,MAAM;aACN;SACD;KACD;IAED,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;QAClC,oBAAoB;QACpB,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE;YACtC,QAAQ,EAAE,aAAa;YACvB,OAAO,EAAE,oBAAoB,SAAS,qBAAqB,UAAU,+CACpE,MAAA,eAAe,CAAC,CAAC,CAAC,mCAAI,CACvB,EAAE;SACF,CAAC,CAAC;QACH,OAAO,MAAA,eAAe,CAAC,CAAC,CAAC,mCAAI,CAAC,CAAC;KAC/B;IAED,oFAAoF;IACpF,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE;QAC5B,6DAA6D;QAC7D,OAAO,SAAS,CAAC;KACjB;SAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;QAChD,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE;YACtC,QAAQ,EAAE,aAAa;YACvB,OAAO,EAAE,mBAAmB,SAAS,kCAAkC,UAAU,mCAAmC;SACpH,CAAC,CAAC;QACH,OAAO,eAAe,CAAC,CAAC,CAAC,CAAC;KAC1B;SAAM;QACN,OAAO,SAAS,CAAC;KACjB;AACF,CAAC;AAED,SAAgB,8BAA8B,CAAC,QAAgB;IAC9D,OAAO;QACN,YAAY,EAAE,qBAAc,CAAC,mBAAmB,CAAC;QACjD,QAAQ,EAAE,QAAQ;QAClB,QAAQ,EAAE,sBAAsB;KAChC,CAAC;AACH,CAAC;AAND,wEAMC;AACD,SAAgB,yBAAyB,CACxC,QAAgB,EAChB,UAAkB;IAElB,OAAO;QACN,YAAY,EAAE,qBAAc,CAAC,mBAAmB,CAAC;QACjD,QAAQ,EAAE,QAAQ;QAClB,QAAQ,EAAE,iBAAiB;QAC3B,WAAW,EAAE,UAAU;KACvB,CAAC;AACH,CAAC;AAVD,8DAUC;AAED,sCAAsC;AAGtC,IAAa,qBAAqB,GAAlC,MAAa,qBAAsB,SAAQ,mBAAa;IAAxD;;QAaW,QAAY,GAA4B,KAAK,EAAE,EACxD,QAAQ,GACR,EAAoB,EAAE;;YACtB,oCAAoC;YACpC,MAAM,OAAO,GAAY;gBACxB,YAAY,EAAE,qBAAc,CAAC,mBAAmB,CAAC;gBACjD,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK;gBAC7B,QAAQ;aACR,CAAC;YACF,MAAM,UAAU,GACf,MAAA,MAAA,IAAI,CAAC,aAAa,EAAE,0CAAE,WAAW,CAAC,OAAO,CAAC,0CAAE,UAAU,CAAC;YACxD,IAAI,CAAC,UAAU,EAAE;gBAChB,IAAA,8BAAwB,EAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;aAC9C;YAED,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC;YACzC,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACpC,CAAC,CAAC;IA+IH,CAAC;IA5KO,eAAe,CAAC,GAA4B;QAClD,QAAQ,GAAG,EAAE;YACZ,KAAK,gCAAuB,CAAC,GAAG,CAAC;YACjC,KAAK,gCAAuB,CAAC,MAAM;gBAClC,OAAO,IAAI,CAAC,CAAC,oBAAoB;YAClC,KAAK,gCAAuB,CAAC,kBAAkB,CAAC;YAChD,KAAK,gCAAuB,CAAC,iBAAiB;gBAC7C,OAAO,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC;SAC1B;QACD,OAAO,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAqCM,KAAK,CAAC,GAAG,CAAC,UAAmB,EAAE,KAAc;;;;QACnD,IAAI,CAAC,qBAAqB,CACzB,gCAAuB,EACvB,gCAAuB,CAAC,GAAG,CAC3B,CAAC;QAEF,mDAAmD;QACnD,IAAI,cAAkC,CAAC;QACvC,IAAI,UAAU,IAAI,SAAS,IAAI,KAAK,IAAI,SAAS,EAAE;YAClD,MAAM,eAAe,GACpB,MAAA,MAAA,IAAI,CAAC,aAAa,EAAE,0CAAE,QAAQ,CAAC;gBAC9B,YAAY,EAAE,IAAI,CAAC,IAAI;gBACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK;gBAC7B,QAAQ,EAAE,iBAAiB;gBAC3B,WAAW,EAAE,UAAU;aACvB,CAAC,mCAAI,EAAE,CAAC;YAEV,cAAc,GAAG,uBAAuB,CACvC,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,QAAQ,CAAC,MAAM,EACpB,IAAI,CAAC,QAAQ,CAAC,KAAK,EACnB,UAAU,EACV,eAAe,CACf,CAAC;SACF;QAED,MAAM,EAAE,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,QAAQ,EAAE;YACnD,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;YAC5B,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK;YAC7B,UAAU;YACV,KAAK,EAAE,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,cAAc;SAC9B,CAAC,CAAC;QACH,MAAM,QAAQ,GACb,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAC9B,EAAE,EACF,IAAI,CAAC,cAAc,CACnB,CAAC;QACH,IAAI,CAAC,QAAQ;YAAE,OAAO;QAEtB,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,iBAAiB,CAClE,QAAQ,CAAC,IAAI,EACb,QAAQ,CAAC,KAAK,CACd,CAAC;QAEF,IAAI,UAAU,IAAI,SAAS,EAAE;YAC5B,wCAAwC;YACxC,OAAO;gBACN,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,KAAK,EAAE,aAAa;aACpB,CAAC;SACF;aAAM,IAAI,KAAK,IAAI,SAAS,EAAE;YAC9B,sCAAsC;YACtC,OAAO;gBACN,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,KAAK,EAAE,aAAa;aACpB,CAAC;SACF;aAAM;YACN,qCAAqC;YACrC,OAAO,QAAQ,CAAC,KAAK,CAAC;SACtB;KACD;IAEM,KAAK,CAAC,uBAAuB;QAGnC,IAAI,CAAC,qBAAqB,CACzB,gCAAuB,EACvB,gCAAuB,CAAC,kBAAkB,CAC1C,CAAC;QAEF,MAAM,EAAE,GAAG,IAAI,oCAAoC,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClE,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;YAC5B,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK;SAC7B,CAAC,CAAC;QACH,MAAM,QAAQ,GACb,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAC9B,EAAE,EACF,IAAI,CAAC,cAAc,CACnB,CAAC;QACH,OAAO,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,oBAAoB,CAAC;IACvC,CAAC;IAGM,KAAK,CAAC,kBAAkB,CAC9B,UAAkB;;QAElB,IAAI,CAAC,qBAAqB,CACzB,gCAAuB,EACvB,gCAAuB,CAAC,iBAAiB,CACzC,CAAC;QAEF,MAAM,EAAE,GAAG,IAAI,mCAAmC,CAAC,IAAI,CAAC,QAAQ,EAAE;YACjE,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;YAC5B,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK;YAC7B,UAAU;SACV,CAAC,CAAC;QACH,MAAM,QAAQ,GACb,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAC9B,EAAE,EACF,IAAI,CAAC,cAAc,CACnB,CAAC;QACH,OAAO,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,qBAAqB,CAAC;KACvC;IAGM,KAAK,CAAC,UAAU,CACtB,UAAkB,EAClB,KAAqB,EACrB,KAAa;;;;QAEb,IAAI,CAAC,qBAAqB,CACzB,gCAAuB,EACvB,gCAAuB,CAAC,MAAM,CAC9B,CAAC;QAEF,MAAM,EAAE,GAAG,IAAI,wBAAwB,CAAC,IAAI,CAAC,QAAQ,EAAE;YACtD,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;YAC5B,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK;YAC7B,IAAI,EAAE,UAAU;YAChB,KAAK;YACL,KAAK;SACL,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;KACzD;CACD,CAAA;KAhKW,gBAAU;AAbT,qBAAqB;IADjC,IAAA,kBAAG,EAAC,qBAAc,CAAC,mBAAmB,CAAC,CAAC;GAC5B,qBAAqB,CA6KjC;AA7KY,sDAAqB;AAiLlC,IAAa,kBAAkB,GAA/B,MAAa,kBAAmB,SAAQ,2BAAY;IAG5C,KAAK,CAAC,SAAS,CAAC,QAA8B;QACpD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAE,CAAC;QACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAE,CAAC;QAC7C,MAAM,GAAG,GAAG,WAAK,CAAC,MAAM,CACvB,qBAAc,CAAC,mBAAmB,CAAC,EACnC,QAAQ,EACR,QAAQ,CACR,CAAC,WAAW,CAAC;YACb,QAAQ,EAAE,sBAAe,CAAC,SAAS;SACnC,CAAC,CAAC;QAEH,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE;YACvC,QAAQ,EAAE,IAAI,CAAC,aAAa;YAC5B,OAAO,EAAE,gBAAgB,IAAI,CAAC,MAAM,KAAK;YACzC,SAAS,EAAE,MAAM;SACjB,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,EAAE;YACtB,mCAAmC;YACnC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE;gBACvC,QAAQ,EAAE,IAAI,CAAC,aAAa;gBAC5B,OAAO,EAAE,sCAAsC;gBAC/C,SAAS,EAAE,UAAU;aACrB,CAAC,CAAC;YACH,MAAM,WAAW,GAAG,MAAM,GAAG,CAAC,uBAAuB,EAAE,CAAC;YACxD,IAAI,WAAW,EAAE;gBAChB,MAAM,UAAU,GACf,oCAAoC;oBACpC,WAAW;yBACT,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;yBACvD,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;yBAC1B,IAAI,CAAC,IAAI,CAAC,CAAC;gBACd,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE;oBACvC,QAAQ,EAAE,IAAI,CAAC,aAAa;oBAC5B,OAAO,EAAE,UAAU;oBACnB,SAAS,EAAE,SAAS;iBACpB,CAAC,CAAC;aACH;iBAAM;gBACN,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE;oBACvC,QAAQ,EAAE,IAAI,CAAC,aAAa;oBAC5B,OAAO,EACN,kEAAkE;oBACnE,KAAK,EAAE,MAAM;iBACb,CAAC,CAAC;gBACH,OAAO;aACP;YAED,kDAAkD;YAElD,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE;gBAC/B,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE;oBACvC,QAAQ,EAAE,IAAI,CAAC,aAAa;oBAC5B,OAAO,EAAE,iCAAiC,QAAQ,CAAC,aAAa,CAAC,iBAAiB,CACjF,IAAI,CACJ,SAAS;oBACV,SAAS,EAAE,UAAU;iBACrB,CAAC,CAAC;gBACH,MAAM,YAAY,GAAG,MAAM,GAAG,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;gBACxD,IAAI,YAAY,EAAE;oBACjB,MAAM,UAAU,GACf,8BAA8B;wBAC9B,YAAY;6BACV,GAAG,CACH,CAAC,CAAC,EAAE,EAAE,CACL,QAAQ,CAAC,aAAa,CAAC,iBAAiB,CACvC,IAAI,EACJ,CAAC,CACD,CAAC,KAAK,CACR;6BACA,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;6BAC1B,IAAI,CAAC,IAAI,CAAC,CAAC;oBACd,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE;wBACvC,QAAQ,EAAE,IAAI,CAAC,aAAa;wBAC5B,OAAO,EAAE,UAAU;wBACnB,SAAS,EAAE,SAAS;qBACpB,CAAC,CAAC;iBACH;qBAAM;oBACN,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE;wBACvC,QAAQ,EAAE,IAAI,CAAC,aAAa;wBAC5B,OAAO,EACN,4DAA4D;wBAC7D,KAAK,EAAE,MAAM;qBACb,CAAC,CAAC;oBACH,OAAO;iBACP;aACD;SACD;QAED,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAEnC,0CAA0C;QAC1C,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC3C,CAAC;IAEM,KAAK,CAAC,aAAa,CAAC,QAA8B;QACxD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAE,CAAC;QACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAE,CAAC;QAC7C,MAAM,GAAG,GAAG,WAAK,CAAC,MAAM,CACvB,qBAAc,CAAC,mBAAmB,CAAC,EACnC,QAAQ,EACR,QAAQ,CACR,CAAC,WAAW,CAAC;YACb,QAAQ,EAAE,sBAAe,CAAC,SAAS;SACnC,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAE1C,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,EAAE;YACtB,+CAA+C;YAC/C,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE;gBACvC,QAAQ,EAAE,IAAI,CAAC,aAAa;gBAC5B,OAAO,EAAE,oCAAoC;gBAC7C,SAAS,EAAE,UAAU;aACrB,CAAC,CAAC;YACH,MAAM,WAAW,GAAG,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC;YACpC,IAAI,WAAW,EAAE;gBAChB,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,iBAAiB,CAC3D,WAAW,CAAC,IAAI,EAChB,WAAW,CAAC,KAAK,CAAC,GAAG,CACrB,CAAC;gBACF,MAAM,UAAU,GAAG;eACR,QAAQ,CAAC,aAAa,CAAC,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC;eAC1D,WAAW,CAAC,KAAK,IAAI,WAAW,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC;gBACzD,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE;oBACvC,QAAQ,EAAE,IAAI,CAAC,aAAa;oBAC5B,OAAO,EAAE,UAAU;oBACnB,SAAS,EAAE,SAAS;iBACpB,CAAC,CAAC;aACH;SACD;aAAM;YACN,0BAA0B;YAC1B,MAAM,WAAW,GAChB,OAAO,CAAC,QAAQ,CAAC;gBAChB,YAAY,EAAE,IAAI,CAAC,IAAI;gBACvB,QAAQ,EAAE,sBAAsB;gBAChC,QAAQ,EAAE,IAAI,CAAC,aAAa;aAC5B,CAAC,IAAI,EAAE,CAAC;YAEV,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE;gBAC/B,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE;oBACvC,QAAQ,EAAE,IAAI,CAAC,aAAa;oBAC5B,OAAO,EAAE,YAAY,QAAQ,CAAC,aAAa,CAAC,iBAAiB,CAC5D,IAAI,CACJ,oBAAoB;oBACrB,SAAS,EAAE,UAAU;iBACrB,CAAC,CAAC;gBAEH,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAClC,IAAI,KAAK,EAAE;oBACV,MAAM,UAAU,GAAG,oBAAoB,QAAQ,CAAC,aAAa,CAAC,iBAAiB,CAC9E,IAAI,CACJ,oBAAoB,KAAK,CAAC,KAAK,IAC/B,KAAK,CAAC,KAAK,CAAC,IAAI,IAAI,EACrB,EAAE,CAAC;oBACH,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE;wBACvC,QAAQ,EAAE,IAAI,CAAC,aAAa;wBAC5B,OAAO,EAAE,UAAU;wBACnB,SAAS,EAAE,SAAS;qBACpB,CAAC,CAAC;iBACH;aACD;SACD;IACF,CAAC;IAEM,oBAAoB,CAC1B,QAA8B,EAC9B,QAAyB,EACzB,WAA4B;QAE5B,mBAAmB;QACnB,IAAI,QAAQ,KAAK,QAAQ,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;YAC7D,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;YAClE,IAAI,IAAI;gBAAE,OAAO,IAAI,CAAC,KAAK,CAAC;SAC5B;QACD,OAAO,KAAK,CAAC,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IACpE,CAAC;CACD,CAAA;AAlLY,kBAAkB;IAF9B,IAAA,2BAAY,EAAC,qBAAc,CAAC,mBAAmB,CAAC,CAAC;IACjD,IAAA,iCAAkB,EAAC,EAAE,CAAC;GACV,kBAAkB,CAkL9B;AAlLY,gDAAkB;AA4L/B,IAAa,wBAAwB,GAArC,MAAa,wBAAyB,SAAQ,kBAAkB;IAC/D,YACC,IAAe,EACf,OAEkC;QAElC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAErB,IAAI,IAAA,wCAAyB,EAAC,OAAO,CAAC,EAAE;YACvC,IAAA,sBAAe,EAAC,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;YAC1C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC5B,8CAA8C;YAC9C,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,IAAA,0BAAmB,EAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACpE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;SACnB;aAAM;YACN,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;YACzB,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;YAC3B,IAAI,CAAC,KAAK;gBACT,OAAO,CAAC,KAAK,YAAY,cAAK;oBAC7B,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG;oBACnB,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;SAClB;IACF,CAAC;IAEM,aAAa,CAAC,QAA8B;;QAClD,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC;YAAE,OAAO,KAAK,CAAC;QACjD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAE1C,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtE,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,iBAAiB,CACrD,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,KAAK,CACV,CAAC;QAEF,uFAAuF;QACvF,MAAM,qBAAqB,GAAG,CAAC,CAAA,MAAA,MAAA,MAAA,MAAA,IAAI,CAAC,IAAI,EAAC,eAAe,mDACvD,IAAI,CAAC,MAAgB,CACrB,0CAAE,MAAM,0CAAE,kCAAkC,CAAA,CAAC;QAE9C,IAAI,qBAAqB,EAAE;YAC1B,sBAAe,CAAC,UAAU,CACzB,uBAAuB,IAAA,cAAO,EAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAC7D,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAChB,sBAAe,CAAC,UAAU,CACzB,iBAAiB,IAAA,cAAO,EAAC,IAAI,CAAC,KAAK,CAAC,oBAAoB,CACxD,CAAC,KAAK,CAAC,KAAK,KAAK,IAAA,wBAAe,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;YAErD,6DAA6D;YAC7D,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,EAAE;gBACtB,MAAM,oBAAoB,GAAG,OAAO,CAAC,QAAQ,CAC5C,8BAA8B,CAAC,IAAI,CAAC,aAAa,CAAC,CAClD,CAAC;gBACF,IAAI,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAE,MAAM,EAAE;oBACjC,sBAAe,CAAC,UAAU,CACzB,2BACC,UAAW,CAAC,KACb,oBAAoB,CACpB,CAAC,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;iBAC5C;gBAED,MAAM,eAAe,GAAG,OAAO,CAAC,QAAQ,CACvC,yBAAyB,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,CACxD,CAAC;gBACF,IAAI,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,MAAM,EAAE;oBAC5B,sBAAe,CAAC,UAAU,CACzB,2BAA2B,KAAK,CAAC,KAAK,oBAAoB,CAC1D,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;iBACvC;aACD;SACD;QAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrE,MAAM,OAAO,GAAY;YACxB,YAAY,EAAE,IAAI,CAAC,IAAI;YACvB,QAAQ,EAAE,IAAI,CAAC,aAAa;YAC5B,QAAQ,EAAE,QAAQ;SAClB,CAAC;QACF,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE;YAC5B,GAAG,oBAAa,CAAC,cAAc;YAC/B,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,KAAK,EAAE,QAAQ;YACf,UAAU,EAAE;gBACX,UAAU,EAAE,IAAI,CAAC,IAAI;gBACrB,KAAK,EAAE,KAAK,CAAC,GAAG;aAChB;SACD,CAAC,CAAC;QACH,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC;IACb,CAAC;IAMM,SAAS;QACf,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;YAC5B,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,IAAA,2BAAoB,EAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC;SAC5C,CAAC,CAAC;QACH,OAAO,KAAK,CAAC,SAAS,EAAE,CAAC;IAC1B,CAAC;IAEM,UAAU,CAAC,QAA8B;QAC/C,OAAO;YACN,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC;YAC7B,OAAO,EAAE;gBACR,IAAI,EAAE,QAAQ,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC;gBACzD,KAAK,EAAE,QAAQ,CAAC,aAAa,CAAC,iBAAiB,CAC9C,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,KAAK,CACV,CAAC,KAAK;gBACP,KAAK,EAAE,IAAI,CAAC,KAAK;aACjB;SACD,CAAC;IACH,CAAC;CACD,CAAA;AArHY,wBAAwB;IADpC,IAAA,wBAAS,EAAC,gCAAuB,CAAC,MAAM,CAAC;GAC7B,wBAAwB,CAqHpC;AArHY,4DAAwB;AAuHrC,MAAM,kCAAkC,GAGpC,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE;IACtB,wGAAwG;IACxG,OAAO,IAAI,CAAC,UAAU,IAAI,SAAS,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAC,UAAU,CAAC;AAC1E,CAAC,CAAC;AAgBF,IAAa,qBAAqB,GAAlC,MAAa,qBAAsB,SAAQ,kBAAkB;IAC5D,YACC,IAAe,EACf,OAE+B;QAE/B,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACrB,IAAI,IAAA,wCAAyB,EAAC,OAAO,CAAC,EAAE;YACvC,4BAA4B;YAC5B,MAAM,IAAI,iBAAU,CACnB,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,mCAAmC,EAC3D,sBAAe,CAAC,8BAA8B,CAC9C,CAAC;SACF;aAAM;YACN,IAAI,YAAY,IAAI,OAAO,EAAE;gBAC5B,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;gBACrC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;aAC3B;SACD;IACF,CAAC;IAKM,SAAS;QACf,IACC,IAAI,CAAC,OAAO,IAAI,CAAC;YACjB,IAAI,CAAC,UAAU,IAAI,SAAS;YAC5B,IAAI,CAAC,KAAK,IAAI,SAAS,EACtB;YACD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC;gBAC1B,IAAI,CAAC,UAAU;gBACf,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;aACxB,CAAC,CAAC;SACH;QACD,OAAO,KAAK,CAAC,SAAS,EAAE,CAAC;IAC1B,CAAC;IAEM,UAAU,CAAC,QAA8B;QAC/C,IAAI,OAAO,GAAkB,EAAE,CAAC;QAChC,IACC,IAAI,CAAC,OAAO,IAAI,CAAC;YACjB,IAAI,CAAC,UAAU,IAAI,SAAS;YAC5B,IAAI,CAAC,KAAK,IAAI,SAAS,EACtB;YACD,OAAO,GAAG;gBACT,aAAa,EAAE,QAAQ,CAAC,aAAa,CAAC,iBAAiB,CACtD,IAAI,CAAC,UAAU,CACf;gBACD,KAAK,EAAE,QAAQ,CAAC,aAAa,CAAC,iBAAiB,CAC9C,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,KAAK,CACV,CAAC,KAAK;aACP,CAAC;SACF;QACD,OAAO;YACN,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC;YAC7B,OAAO;SACP,CAAC;IACH,CAAC;CACD,CAAA;AA7DY,qBAAqB;IALjC,IAAA,wBAAS,EAAC,gCAAuB,CAAC,GAAG,CAAC;IACtC,IAAA,iCAAkB,EAClB,wBAAwB,EACxB,kCAAkC,CAClC;GACY,qBAAqB,CA6DjC;AA7DY,sDAAqB;AAgElC,IAAa,uCAAuC,GAApD,MAAa,uCAAwC,SAAQ,kBAAkB;IAC9E,YACC,IAAe,EACf,OAA2C;QAE3C,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACrB,IAAA,sBAAe,EAAC,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;QAC1C,IAAI,CAAC,qBAAqB,GAAG,IAAA,mBAAY,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzD,CAAC;IAGD,sDAAsD;IAEtD,IAAW,oBAAoB;QAC9B,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACnC,CAAC;IAEM,UAAU,CAAC,QAA8B;QAC/C,OAAO;YACN,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC;YAC7B,OAAO,EAAE;gBACR,wBAAwB,EAAE,IAAI,CAAC,oBAAoB;qBACjD,GAAG,CACH,CAAC,CAAC,EAAE,EAAE,CACL,OAAO,QAAQ,CAAC,aAAa,CAAC,iBAAiB,CAC9C,CAAC,CACD,EAAE,CACJ;qBACA,IAAI,CAAC,EAAE,CAAC;aACV;SACD,CAAC;IACH,CAAC;CACD,CAAA;AAnBA;IADC,IAAA,sBAAO,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;mFAG3B;AAfW,uCAAuC;IADnD,IAAA,wBAAS,EAAC,gCAAuB,CAAC,qBAAqB,CAAC;GAC5C,uCAAuC,CAgCnD;AAhCY,0FAAuC;AAoCpD,IAAa,oCAAoC,GAAjD,MAAa,oCAAqC,SAAQ,kBAAkB;CAAG,CAAA;AAAlE,oCAAoC;IAFhD,IAAA,wBAAS,EAAC,gCAAuB,CAAC,kBAAkB,CAAC;IACrD,IAAA,iCAAkB,EAAC,uCAAuC,CAAC;GAC/C,oCAAoC,CAA8B;AAAlE,oFAAoC;AAGjD,IAAa,sCAAsC,GAAnD,MAAa,sCAAuC,SAAQ,kBAAkB;IAC7E,YACC,IAAe,EACf,OAA2C;QAE3C,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAErB,IAAA,sBAAe,EAAC,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;QAC1C,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACnC,MAAM,eAAe,GAAG,IAAA,mBAAY,EACnC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,EACvC,CAAC,CACD,CAAC;QACF,IAAI,CAAC,eAAe,GAAG,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;IACtD,CAAC;IAKD,IAAW,UAAU;QACpB,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC;IAED,IAAW,qBAAqB;QAC/B,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC;IAEM,UAAU,CAAC,QAA8B;QAC/C,OAAO;YACN,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC;YAC7B,OAAO,EAAE;gBACR,aAAa,EAAE,QAAQ,CAAC,aAAa,CAAC,iBAAiB,CACtD,IAAI,CAAC,UAAU,CACf;gBACD,kBAAkB,EAAE,IAAI,CAAC,qBAAqB;qBAC5C,GAAG,CACH,CAAC,CAAC,EAAE,EAAE,CACL,OACC,QAAQ,CAAC,aAAa,CAAC,iBAAiB,CACvC,IAAI,CAAC,UAAU,EACf,CAAC,CACD,CAAC,KACH,EAAE,CACH;qBACA,IAAI,CAAC,EAAE,CAAC;aACV;SACD,CAAC;IACH,CAAC;CACD,CAAA;AA/BA;IADC,IAAA,6BAAc,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;+EACS;AAjBhC,sCAAsC;IADlD,IAAA,wBAAS,EAAC,gCAAuB,CAAC,oBAAoB,CAAC;GAC3C,sCAAsC,CAgDlD;AAhDY,wFAAsC;AAwDnD,IAAa,mCAAmC,GAAhD,MAAa,mCAAoC,SAAQ,kBAAkB;IAC1E,YACC,IAAe,EACf,OAE6C;QAE7C,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACrB,IAAI,IAAA,wCAAyB,EAAC,OAAO,CAAC,EAAE;YACvC,4BAA4B;YAC5B,MAAM,IAAI,iBAAU,CACnB,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,mCAAmC,EAC3D,sBAAe,CAAC,8BAA8B,CAC9C,CAAC;SACF;aAAM;YACN,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;SACrC;IACF,CAAC;IAIM,SAAS;QACf,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QAC9C,OAAO,KAAK,CAAC,SAAS,EAAE,CAAC;IAC1B,CAAC;IAEM,UAAU,CAAC,QAA8B;QAC/C,OAAO;YACN,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC;YAC7B,OAAO,EAAE;gBACR,aAAa,EAAE,QAAQ,CAAC,aAAa,CAAC,iBAAiB,CACtD,IAAI,CAAC,UAAU,CACf;aACD;SACD,CAAC;IACH,CAAC;CACD,CAAA;AApCY,mCAAmC;IAF/C,IAAA,wBAAS,EAAC,gCAAuB,CAAC,iBAAiB,CAAC;IACpD,IAAA,iCAAkB,EAAC,sCAAsC,CAAC;GAC9C,mCAAmC,CAoC/C;AApCY,kFAAmC"}