@willieee802/zigbee-herdsman 0.36.0 → 0.48.1

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 (428) hide show
  1. package/.release-please-manifest.json +1 -1
  2. package/CHANGELOG.md +317 -0
  3. package/dist/adapter/adapter.d.ts +14 -13
  4. package/dist/adapter/adapter.d.ts.map +1 -1
  5. package/dist/adapter/adapter.js +15 -17
  6. package/dist/adapter/adapter.js.map +1 -1
  7. package/dist/adapter/deconz/adapter/deconzAdapter.d.ts +14 -12
  8. package/dist/adapter/deconz/adapter/deconzAdapter.d.ts.map +1 -1
  9. package/dist/adapter/deconz/adapter/deconzAdapter.js +118 -128
  10. package/dist/adapter/deconz/adapter/deconzAdapter.js.map +1 -1
  11. package/dist/adapter/deconz/driver/driver.d.ts.map +1 -1
  12. package/dist/adapter/deconz/driver/driver.js +44 -44
  13. package/dist/adapter/deconz/driver/driver.js.map +1 -1
  14. package/dist/adapter/deconz/driver/frameParser.js +43 -43
  15. package/dist/adapter/deconz/driver/frameParser.js.map +1 -1
  16. package/dist/adapter/deconz/driver/parser.js +6 -6
  17. package/dist/adapter/deconz/driver/parser.js.map +1 -1
  18. package/dist/adapter/deconz/driver/writer.js +3 -3
  19. package/dist/adapter/deconz/driver/writer.js.map +1 -1
  20. package/dist/adapter/ember/adapter/emberAdapter.d.ts +32 -36
  21. package/dist/adapter/ember/adapter/emberAdapter.d.ts.map +1 -1
  22. package/dist/adapter/ember/adapter/emberAdapter.js +418 -446
  23. package/dist/adapter/ember/adapter/emberAdapter.js.map +1 -1
  24. package/dist/adapter/ember/adapter/endpoints.d.ts +5 -3
  25. package/dist/adapter/ember/adapter/endpoints.d.ts.map +1 -1
  26. package/dist/adapter/ember/adapter/endpoints.js +33 -31
  27. package/dist/adapter/ember/adapter/endpoints.js.map +1 -1
  28. package/dist/adapter/ember/adapter/oneWaitress.d.ts +10 -2
  29. package/dist/adapter/ember/adapter/oneWaitress.d.ts.map +1 -1
  30. package/dist/adapter/ember/adapter/oneWaitress.js +19 -5
  31. package/dist/adapter/ember/adapter/oneWaitress.js.map +1 -1
  32. package/dist/adapter/ember/adapter/requestQueue.d.ts +2 -4
  33. package/dist/adapter/ember/adapter/requestQueue.d.ts.map +1 -1
  34. package/dist/adapter/ember/adapter/requestQueue.js +16 -21
  35. package/dist/adapter/ember/adapter/requestQueue.js.map +1 -1
  36. package/dist/adapter/ember/adapter/tokensManager.d.ts.map +1 -1
  37. package/dist/adapter/ember/adapter/tokensManager.js +23 -20
  38. package/dist/adapter/ember/adapter/tokensManager.js.map +1 -1
  39. package/dist/adapter/ember/consts.d.ts +0 -7
  40. package/dist/adapter/ember/consts.d.ts.map +1 -1
  41. package/dist/adapter/ember/consts.js +2 -9
  42. package/dist/adapter/ember/consts.js.map +1 -1
  43. package/dist/adapter/ember/enums.d.ts +12 -14
  44. package/dist/adapter/ember/enums.d.ts.map +1 -1
  45. package/dist/adapter/ember/enums.js +12 -14
  46. package/dist/adapter/ember/enums.js.map +1 -1
  47. package/dist/adapter/ember/ezsp/buffalo.js +4 -4
  48. package/dist/adapter/ember/ezsp/buffalo.js.map +1 -1
  49. package/dist/adapter/ember/ezsp/ezsp.d.ts +1 -2
  50. package/dist/adapter/ember/ezsp/ezsp.d.ts.map +1 -1
  51. package/dist/adapter/ember/ezsp/ezsp.js +218 -199
  52. package/dist/adapter/ember/ezsp/ezsp.js.map +1 -1
  53. package/dist/adapter/ember/types.d.ts +9 -9
  54. package/dist/adapter/ember/types.d.ts.map +1 -1
  55. package/dist/adapter/ember/uart/ash.d.ts +11 -5
  56. package/dist/adapter/ember/uart/ash.d.ts.map +1 -1
  57. package/dist/adapter/ember/uart/ash.js +125 -93
  58. package/dist/adapter/ember/uart/ash.js.map +1 -1
  59. package/dist/adapter/ember/uart/consts.d.ts +1 -1
  60. package/dist/adapter/ember/uart/consts.js +1 -1
  61. package/dist/adapter/ember/uart/parser.d.ts.map +1 -1
  62. package/dist/adapter/ember/uart/parser.js +5 -9
  63. package/dist/adapter/ember/uart/parser.js.map +1 -1
  64. package/dist/adapter/ember/uart/queues.d.ts.map +1 -1
  65. package/dist/adapter/ember/uart/queues.js +3 -1
  66. package/dist/adapter/ember/uart/queues.js.map +1 -1
  67. package/dist/adapter/ember/uart/writer.d.ts.map +1 -1
  68. package/dist/adapter/ember/uart/writer.js +4 -6
  69. package/dist/adapter/ember/uart/writer.js.map +1 -1
  70. package/dist/adapter/ember/zdo.d.ts +6 -2
  71. package/dist/adapter/ember/zdo.d.ts.map +1 -1
  72. package/dist/adapter/ember/zdo.js +2 -2
  73. package/dist/adapter/ember/zdo.js.map +1 -1
  74. package/dist/adapter/events.d.ts +17 -23
  75. package/dist/adapter/events.d.ts.map +1 -1
  76. package/dist/adapter/events.js +1 -2
  77. package/dist/adapter/events.js.map +1 -1
  78. package/dist/adapter/ezsp/adapter/backup.d.ts +0 -1
  79. package/dist/adapter/ezsp/adapter/backup.d.ts.map +1 -1
  80. package/dist/adapter/ezsp/adapter/backup.js +3 -7
  81. package/dist/adapter/ezsp/adapter/backup.js.map +1 -1
  82. package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts +13 -10
  83. package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts.map +1 -1
  84. package/dist/adapter/ezsp/adapter/ezspAdapter.js +79 -72
  85. package/dist/adapter/ezsp/adapter/ezspAdapter.js.map +1 -1
  86. package/dist/adapter/ezsp/driver/commands.d.ts.map +1 -1
  87. package/dist/adapter/ezsp/driver/commands.js +3 -5
  88. package/dist/adapter/ezsp/driver/commands.js.map +1 -1
  89. package/dist/adapter/ezsp/driver/driver.d.ts +1 -4
  90. package/dist/adapter/ezsp/driver/driver.d.ts.map +1 -1
  91. package/dist/adapter/ezsp/driver/driver.js +101 -122
  92. package/dist/adapter/ezsp/driver/driver.js.map +1 -1
  93. package/dist/adapter/ezsp/driver/ezsp.d.ts.map +1 -1
  94. package/dist/adapter/ezsp/driver/ezsp.js +61 -50
  95. package/dist/adapter/ezsp/driver/ezsp.js.map +1 -1
  96. package/dist/adapter/ezsp/driver/multicast.d.ts.map +1 -1
  97. package/dist/adapter/ezsp/driver/multicast.js +8 -12
  98. package/dist/adapter/ezsp/driver/multicast.js.map +1 -1
  99. package/dist/adapter/ezsp/driver/parser.js +5 -5
  100. package/dist/adapter/ezsp/driver/parser.js.map +1 -1
  101. package/dist/adapter/ezsp/driver/types/basic.js +1 -1
  102. package/dist/adapter/ezsp/driver/types/basic.js.map +1 -1
  103. package/dist/adapter/ezsp/driver/types/named.js +2 -2
  104. package/dist/adapter/ezsp/driver/types/named.js.map +1 -1
  105. package/dist/adapter/ezsp/driver/types/struct.js +2 -2
  106. package/dist/adapter/ezsp/driver/types/struct.js.map +1 -1
  107. package/dist/adapter/ezsp/driver/uart.d.ts.map +1 -1
  108. package/dist/adapter/ezsp/driver/uart.js +46 -46
  109. package/dist/adapter/ezsp/driver/uart.js.map +1 -1
  110. package/dist/adapter/ezsp/driver/writer.js +3 -6
  111. package/dist/adapter/ezsp/driver/writer.js.map +1 -1
  112. package/dist/adapter/z-stack/adapter/adapter-backup.d.ts +0 -1
  113. package/dist/adapter/z-stack/adapter/adapter-backup.d.ts.map +1 -1
  114. package/dist/adapter/z-stack/adapter/adapter-backup.js +25 -29
  115. package/dist/adapter/z-stack/adapter/adapter-backup.js.map +1 -1
  116. package/dist/adapter/z-stack/adapter/endpoints.js +4 -4
  117. package/dist/adapter/z-stack/adapter/endpoints.js.map +1 -1
  118. package/dist/adapter/z-stack/adapter/manager.d.ts +1 -4
  119. package/dist/adapter/z-stack/adapter/manager.d.ts.map +1 -1
  120. package/dist/adapter/z-stack/adapter/manager.js +52 -61
  121. package/dist/adapter/z-stack/adapter/manager.js.map +1 -1
  122. package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts +12 -10
  123. package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts.map +1 -1
  124. package/dist/adapter/z-stack/adapter/zStackAdapter.js +92 -68
  125. package/dist/adapter/z-stack/adapter/zStackAdapter.js.map +1 -1
  126. package/dist/adapter/z-stack/unpi/parser.js +6 -6
  127. package/dist/adapter/z-stack/unpi/parser.js.map +1 -1
  128. package/dist/adapter/z-stack/unpi/writer.js +4 -7
  129. package/dist/adapter/z-stack/unpi/writer.js.map +1 -1
  130. package/dist/adapter/z-stack/znp/buffaloZnp.d.ts +4 -2
  131. package/dist/adapter/z-stack/znp/buffaloZnp.d.ts.map +1 -1
  132. package/dist/adapter/z-stack/znp/buffaloZnp.js +154 -25
  133. package/dist/adapter/z-stack/znp/buffaloZnp.js.map +1 -1
  134. package/dist/adapter/z-stack/znp/definition.d.ts.map +1 -1
  135. package/dist/adapter/z-stack/znp/definition.js +2 -1
  136. package/dist/adapter/z-stack/znp/definition.js.map +1 -1
  137. package/dist/adapter/z-stack/znp/tstype.d.ts +4 -3
  138. package/dist/adapter/z-stack/znp/tstype.d.ts.map +1 -1
  139. package/dist/adapter/z-stack/znp/znp.d.ts.map +1 -1
  140. package/dist/adapter/z-stack/znp/znp.js +18 -25
  141. package/dist/adapter/z-stack/znp/znp.js.map +1 -1
  142. package/dist/adapter/z-stack/znp/zpiObject.js +2 -2
  143. package/dist/adapter/z-stack/znp/zpiObject.js.map +1 -1
  144. package/dist/adapter/zigate/adapter/zigateAdapter.d.ts +13 -12
  145. package/dist/adapter/zigate/adapter/zigateAdapter.d.ts.map +1 -1
  146. package/dist/adapter/zigate/adapter/zigateAdapter.js +81 -90
  147. package/dist/adapter/zigate/adapter/zigateAdapter.js.map +1 -1
  148. package/dist/adapter/zigate/driver/buffaloZiGate.d.ts +7 -8
  149. package/dist/adapter/zigate/driver/buffaloZiGate.d.ts.map +1 -1
  150. package/dist/adapter/zigate/driver/buffaloZiGate.js +150 -100
  151. package/dist/adapter/zigate/driver/buffaloZiGate.js.map +1 -1
  152. package/dist/adapter/zigate/driver/commandType.d.ts +2 -1
  153. package/dist/adapter/zigate/driver/commandType.d.ts.map +1 -1
  154. package/dist/adapter/zigate/driver/commandType.js +56 -52
  155. package/dist/adapter/zigate/driver/commandType.js.map +1 -1
  156. package/dist/adapter/zigate/driver/frame.d.ts.map +1 -1
  157. package/dist/adapter/zigate/driver/frame.js +8 -8
  158. package/dist/adapter/zigate/driver/frame.js.map +1 -1
  159. package/dist/adapter/zigate/driver/messageType.d.ts +2 -1
  160. package/dist/adapter/zigate/driver/messageType.d.ts.map +1 -1
  161. package/dist/adapter/zigate/driver/messageType.js +113 -108
  162. package/dist/adapter/zigate/driver/messageType.js.map +1 -1
  163. package/dist/adapter/zigate/driver/parameterType.d.ts +8 -1
  164. package/dist/adapter/zigate/driver/parameterType.d.ts.map +1 -1
  165. package/dist/adapter/zigate/driver/parameterType.js +9 -0
  166. package/dist/adapter/zigate/driver/parameterType.js.map +1 -1
  167. package/dist/adapter/zigate/driver/ziGateObject.d.ts.map +1 -1
  168. package/dist/adapter/zigate/driver/ziGateObject.js +9 -9
  169. package/dist/adapter/zigate/driver/ziGateObject.js.map +1 -1
  170. package/dist/adapter/zigate/driver/zigate.d.ts.map +1 -1
  171. package/dist/adapter/zigate/driver/zigate.js +23 -31
  172. package/dist/adapter/zigate/driver/zigate.js.map +1 -1
  173. package/dist/buffalo/buffalo.d.ts +23 -19
  174. package/dist/buffalo/buffalo.d.ts.map +1 -1
  175. package/dist/buffalo/buffalo.js +74 -169
  176. package/dist/buffalo/buffalo.js.map +1 -1
  177. package/dist/buffalo/index.d.ts +1 -2
  178. package/dist/buffalo/index.d.ts.map +1 -1
  179. package/dist/buffalo/index.js +1 -26
  180. package/dist/buffalo/index.js.map +1 -1
  181. package/dist/controller/controller.d.ts +8 -5
  182. package/dist/controller/controller.d.ts.map +1 -1
  183. package/dist/controller/controller.js +181 -126
  184. package/dist/controller/controller.js.map +1 -1
  185. package/dist/controller/database.d.ts +1 -0
  186. package/dist/controller/database.d.ts.map +1 -1
  187. package/dist/controller/database.js +7 -10
  188. package/dist/controller/database.js.map +1 -1
  189. package/dist/controller/events.d.ts +2 -2
  190. package/dist/controller/events.d.ts.map +1 -1
  191. package/dist/controller/events.js +4 -0
  192. package/dist/controller/events.js.map +1 -1
  193. package/dist/controller/greenPower.d.ts +2 -1
  194. package/dist/controller/greenPower.d.ts.map +1 -1
  195. package/dist/controller/greenPower.js +51 -57
  196. package/dist/controller/greenPower.js.map +1 -1
  197. package/dist/controller/helpers/request.d.ts +3 -3
  198. package/dist/controller/helpers/request.d.ts.map +1 -1
  199. package/dist/controller/helpers/request.js +2 -2
  200. package/dist/controller/helpers/request.js.map +1 -1
  201. package/dist/controller/helpers/requestQueue.d.ts.map +1 -1
  202. package/dist/controller/helpers/requestQueue.js +26 -36
  203. package/dist/controller/helpers/requestQueue.js.map +1 -1
  204. package/dist/controller/helpers/zclFrameConverter.d.ts +4 -3
  205. package/dist/controller/helpers/zclFrameConverter.d.ts.map +1 -1
  206. package/dist/controller/helpers/zclFrameConverter.js +33 -14
  207. package/dist/controller/helpers/zclFrameConverter.js.map +1 -1
  208. package/dist/controller/model/device.d.ts +12 -5
  209. package/dist/controller/model/device.d.ts.map +1 -1
  210. package/dist/controller/model/device.js +105 -86
  211. package/dist/controller/model/device.js.map +1 -1
  212. package/dist/controller/model/endpoint.d.ts +22 -17
  213. package/dist/controller/model/endpoint.d.ts.map +1 -1
  214. package/dist/controller/model/endpoint.js +139 -228
  215. package/dist/controller/model/endpoint.js.map +1 -1
  216. package/dist/controller/model/group.d.ts +1 -1
  217. package/dist/controller/model/group.d.ts.map +1 -1
  218. package/dist/controller/model/group.js +18 -18
  219. package/dist/controller/model/group.js.map +1 -1
  220. package/dist/controller/touchlink.js +25 -28
  221. package/dist/controller/touchlink.js.map +1 -1
  222. package/dist/index.d.ts +5 -3
  223. package/dist/index.d.ts.map +1 -1
  224. package/dist/index.js +8 -5
  225. package/dist/index.js.map +1 -1
  226. package/dist/utils/logger.d.ts +9 -0
  227. package/dist/utils/logger.d.ts.map +1 -0
  228. package/dist/utils/logger.js +14 -0
  229. package/dist/utils/logger.js.map +1 -0
  230. package/dist/zspec/consts.d.ts +60 -0
  231. package/dist/zspec/consts.d.ts.map +1 -0
  232. package/dist/zspec/consts.js +64 -0
  233. package/dist/zspec/consts.js.map +1 -0
  234. package/dist/zspec/enums.d.ts +19 -0
  235. package/dist/zspec/enums.d.ts.map +1 -0
  236. package/dist/zspec/enums.js +28 -0
  237. package/dist/zspec/enums.js.map +1 -0
  238. package/dist/zspec/index.d.ts +4 -0
  239. package/dist/zspec/index.d.ts.map +1 -0
  240. package/dist/zspec/index.js +43 -0
  241. package/dist/zspec/index.js.map +1 -0
  242. package/dist/zspec/tstypes.d.ts +19 -0
  243. package/dist/zspec/tstypes.d.ts.map +1 -0
  244. package/dist/{buffalo/tstype.js → zspec/tstypes.js} +1 -1
  245. package/dist/zspec/tstypes.js.map +1 -0
  246. package/dist/zspec/utils.d.ts +14 -0
  247. package/dist/zspec/utils.d.ts.map +1 -0
  248. package/dist/zspec/utils.js +29 -0
  249. package/dist/zspec/utils.js.map +1 -0
  250. package/dist/zspec/zcl/buffaloZcl.d.ts +55 -0
  251. package/dist/zspec/zcl/buffaloZcl.d.ts.map +1 -0
  252. package/dist/zspec/zcl/buffaloZcl.js +929 -0
  253. package/dist/zspec/zcl/buffaloZcl.js.map +1 -0
  254. package/dist/zspec/zcl/definition/cluster.d.ts +3 -0
  255. package/dist/zspec/zcl/definition/cluster.d.ts.map +1 -0
  256. package/dist/zspec/zcl/definition/cluster.js +5500 -0
  257. package/dist/zspec/zcl/definition/cluster.js.map +1 -0
  258. package/dist/zspec/zcl/definition/consts.d.ts +9 -0
  259. package/dist/zspec/zcl/definition/consts.d.ts.map +1 -0
  260. package/dist/zspec/zcl/definition/consts.js +27 -0
  261. package/dist/zspec/zcl/definition/consts.js.map +1 -0
  262. package/dist/zspec/zcl/definition/enums.d.ts +177 -0
  263. package/dist/zspec/zcl/definition/enums.d.ts.map +1 -0
  264. package/dist/zspec/zcl/definition/enums.js +187 -0
  265. package/dist/zspec/zcl/definition/enums.js.map +1 -0
  266. package/dist/zspec/zcl/definition/foundation.d.ts +11 -0
  267. package/dist/zspec/zcl/definition/foundation.d.ts.map +1 -0
  268. package/dist/zspec/zcl/definition/foundation.js +241 -0
  269. package/dist/zspec/zcl/definition/foundation.js.map +1 -0
  270. package/dist/zspec/zcl/definition/manufacturerCode.d.ts +727 -0
  271. package/dist/zspec/zcl/definition/manufacturerCode.d.ts.map +1 -0
  272. package/dist/zspec/zcl/definition/manufacturerCode.js +733 -0
  273. package/dist/zspec/zcl/definition/manufacturerCode.js.map +1 -0
  274. package/dist/zspec/zcl/definition/status.d.ts +69 -0
  275. package/dist/zspec/zcl/definition/status.d.ts.map +1 -0
  276. package/dist/zspec/zcl/definition/status.js +74 -0
  277. package/dist/zspec/zcl/definition/status.js.map +1 -0
  278. package/dist/zspec/zcl/definition/tstype.d.ts +114 -0
  279. package/dist/zspec/zcl/definition/tstype.d.ts.map +1 -0
  280. package/dist/{zcl/zclHeader.js → zspec/zcl/definition/tstype.js} +2 -1
  281. package/dist/zspec/zcl/definition/tstype.js.map +1 -0
  282. package/dist/zspec/zcl/index.d.ts +11 -0
  283. package/dist/zspec/zcl/index.d.ts.map +1 -0
  284. package/dist/zspec/zcl/index.js +47 -0
  285. package/dist/zspec/zcl/index.js.map +1 -0
  286. package/dist/zspec/zcl/utils.d.ts +7 -0
  287. package/dist/zspec/zcl/utils.d.ts.map +1 -0
  288. package/dist/zspec/zcl/utils.js +234 -0
  289. package/dist/zspec/zcl/utils.js.map +1 -0
  290. package/dist/zspec/zcl/zclFrame.d.ts +36 -0
  291. package/dist/zspec/zcl/zclFrame.d.ts.map +1 -0
  292. package/dist/zspec/zcl/zclFrame.js +304 -0
  293. package/dist/zspec/zcl/zclFrame.js.map +1 -0
  294. package/dist/zspec/zcl/zclHeader.d.ts +17 -0
  295. package/dist/zspec/zcl/zclHeader.d.ts.map +1 -0
  296. package/dist/zspec/zcl/zclHeader.js +88 -0
  297. package/dist/zspec/zcl/zclHeader.js.map +1 -0
  298. package/dist/zspec/zcl/zclStatusError.d.ts +6 -0
  299. package/dist/zspec/zcl/zclStatusError.d.ts.map +1 -0
  300. package/dist/zspec/zcl/zclStatusError.js +13 -0
  301. package/dist/zspec/zcl/zclStatusError.js.map +1 -0
  302. package/dist/zspec/zdo/buffaloZdo.d.ts +438 -0
  303. package/dist/zspec/zdo/buffaloZdo.d.ts.map +1 -0
  304. package/dist/zspec/zdo/buffaloZdo.js +1892 -0
  305. package/dist/zspec/zdo/buffaloZdo.js.map +1 -0
  306. package/dist/zspec/zdo/definition/clusters.d.ts +624 -0
  307. package/dist/zspec/zdo/definition/clusters.d.ts.map +1 -0
  308. package/dist/zspec/zdo/definition/clusters.js +687 -0
  309. package/dist/zspec/zdo/definition/clusters.js.map +1 -0
  310. package/dist/zspec/zdo/definition/consts.d.ts +13 -0
  311. package/dist/zspec/zdo/definition/consts.d.ts.map +1 -0
  312. package/dist/zspec/zdo/definition/consts.js +16 -0
  313. package/dist/zspec/zdo/definition/consts.js.map +1 -0
  314. package/dist/zspec/zdo/definition/enums.d.ts +75 -0
  315. package/dist/zspec/zdo/definition/enums.d.ts.map +1 -0
  316. package/dist/zspec/zdo/definition/enums.js +97 -0
  317. package/dist/zspec/zdo/definition/enums.js.map +1 -0
  318. package/dist/zspec/zdo/definition/status.d.ts +99 -0
  319. package/dist/zspec/zdo/definition/status.d.ts.map +1 -0
  320. package/dist/zspec/zdo/definition/status.js +109 -0
  321. package/dist/zspec/zdo/definition/status.js.map +1 -0
  322. package/dist/zspec/zdo/definition/tstypes.d.ts +787 -0
  323. package/dist/zspec/zdo/definition/tstypes.d.ts.map +1 -0
  324. package/dist/{zcl/definition/tstype.js → zspec/zdo/definition/tstypes.js} +1 -1
  325. package/dist/zspec/zdo/definition/tstypes.js.map +1 -0
  326. package/dist/zspec/zdo/index.d.ts +7 -0
  327. package/dist/zspec/zdo/index.d.ts.map +1 -0
  328. package/dist/zspec/zdo/index.js +39 -0
  329. package/dist/zspec/zdo/index.js.map +1 -0
  330. package/dist/zspec/zdo/utils.d.ts +25 -0
  331. package/dist/zspec/zdo/utils.d.ts.map +1 -0
  332. package/dist/zspec/zdo/utils.js +75 -0
  333. package/dist/zspec/zdo/utils.js.map +1 -0
  334. package/dist/zspec/zdo/zdoStatusError.d.ts +6 -0
  335. package/dist/zspec/zdo/zdoStatusError.d.ts.map +1 -0
  336. package/dist/zspec/zdo/zdoStatusError.js +13 -0
  337. package/dist/zspec/zdo/zdoStatusError.js.map +1 -0
  338. package/examples/join-and-log.js +7 -12
  339. package/package.json +5 -5
  340. package/dist/adapter/zigate/debug.d.ts +0 -8
  341. package/dist/adapter/zigate/debug.d.ts.map +0 -1
  342. package/dist/adapter/zigate/debug.js +0 -20
  343. package/dist/adapter/zigate/debug.js.map +0 -1
  344. package/dist/buffalo/tstype.d.ts +0 -9
  345. package/dist/buffalo/tstype.d.ts.map +0 -1
  346. package/dist/buffalo/tstype.js.map +0 -1
  347. package/dist/controller/logger-stub.d.ts +0 -7
  348. package/dist/controller/logger-stub.d.ts.map +0 -1
  349. package/dist/controller/logger-stub.js +0 -3
  350. package/dist/controller/logger-stub.js.map +0 -1
  351. package/dist/zcl/buffaloZcl.d.ts +0 -42
  352. package/dist/zcl/buffaloZcl.d.ts.map +0 -1
  353. package/dist/zcl/buffaloZcl.js +0 -595
  354. package/dist/zcl/buffaloZcl.js.map +0 -1
  355. package/dist/zcl/definition/buffaloZclDataType.d.ts +0 -18
  356. package/dist/zcl/definition/buffaloZclDataType.d.ts.map +0 -1
  357. package/dist/zcl/definition/buffaloZclDataType.js +0 -21
  358. package/dist/zcl/definition/buffaloZclDataType.js.map +0 -1
  359. package/dist/zcl/definition/cluster.d.ts +0 -30
  360. package/dist/zcl/definition/cluster.d.ts.map +0 -1
  361. package/dist/zcl/definition/cluster.js +0 -5531
  362. package/dist/zcl/definition/cluster.js.map +0 -1
  363. package/dist/zcl/definition/dataType.d.ts +0 -60
  364. package/dist/zcl/definition/dataType.d.ts.map +0 -1
  365. package/dist/zcl/definition/dataType.js +0 -65
  366. package/dist/zcl/definition/dataType.js.map +0 -1
  367. package/dist/zcl/definition/direction.d.ts +0 -6
  368. package/dist/zcl/definition/direction.d.ts.map +0 -1
  369. package/dist/zcl/definition/direction.js +0 -9
  370. package/dist/zcl/definition/direction.js.map +0 -1
  371. package/dist/zcl/definition/endpointDeviceType.d.ts +0 -5
  372. package/dist/zcl/definition/endpointDeviceType.d.ts.map +0 -1
  373. package/dist/zcl/definition/endpointDeviceType.js +0 -16
  374. package/dist/zcl/definition/endpointDeviceType.js.map +0 -1
  375. package/dist/zcl/definition/foundation.d.ts +0 -12
  376. package/dist/zcl/definition/foundation.d.ts.map +0 -1
  377. package/dist/zcl/definition/foundation.js +0 -168
  378. package/dist/zcl/definition/foundation.js.map +0 -1
  379. package/dist/zcl/definition/frameControl.d.ts +0 -11
  380. package/dist/zcl/definition/frameControl.d.ts.map +0 -1
  381. package/dist/zcl/definition/frameControl.js +0 -3
  382. package/dist/zcl/definition/frameControl.js.map +0 -1
  383. package/dist/zcl/definition/frameType.d.ts +0 -6
  384. package/dist/zcl/definition/frameType.d.ts.map +0 -1
  385. package/dist/zcl/definition/frameType.js +0 -9
  386. package/dist/zcl/definition/frameType.js.map +0 -1
  387. package/dist/zcl/definition/index.d.ts +0 -14
  388. package/dist/zcl/definition/index.d.ts.map +0 -1
  389. package/dist/zcl/definition/index.js +0 -52
  390. package/dist/zcl/definition/index.js.map +0 -1
  391. package/dist/zcl/definition/manufacturerCode.d.ts +0 -1078
  392. package/dist/zcl/definition/manufacturerCode.d.ts.map +0 -1
  393. package/dist/zcl/definition/manufacturerCode.js +0 -1083
  394. package/dist/zcl/definition/manufacturerCode.js.map +0 -1
  395. package/dist/zcl/definition/powerSource.d.ts +0 -5
  396. package/dist/zcl/definition/powerSource.d.ts.map +0 -1
  397. package/dist/zcl/definition/powerSource.js +0 -13
  398. package/dist/zcl/definition/powerSource.js.map +0 -1
  399. package/dist/zcl/definition/status.d.ts +0 -39
  400. package/dist/zcl/definition/status.d.ts.map +0 -1
  401. package/dist/zcl/definition/status.js +0 -42
  402. package/dist/zcl/definition/status.js.map +0 -1
  403. package/dist/zcl/definition/tstype.d.ts +0 -17
  404. package/dist/zcl/definition/tstype.d.ts.map +0 -1
  405. package/dist/zcl/definition/tstype.js.map +0 -1
  406. package/dist/zcl/index.d.ts +0 -17
  407. package/dist/zcl/index.d.ts.map +0 -1
  408. package/dist/zcl/index.js +0 -56
  409. package/dist/zcl/index.js.map +0 -1
  410. package/dist/zcl/tstype.d.ts +0 -57
  411. package/dist/zcl/tstype.d.ts.map +0 -1
  412. package/dist/zcl/tstype.js +0 -10
  413. package/dist/zcl/tstype.js.map +0 -1
  414. package/dist/zcl/utils.d.ts +0 -7
  415. package/dist/zcl/utils.d.ts.map +0 -1
  416. package/dist/zcl/utils.js +0 -165
  417. package/dist/zcl/utils.js.map +0 -1
  418. package/dist/zcl/zclFrame.d.ts +0 -41
  419. package/dist/zcl/zclFrame.d.ts.map +0 -1
  420. package/dist/zcl/zclFrame.js +0 -352
  421. package/dist/zcl/zclFrame.js.map +0 -1
  422. package/dist/zcl/zclHeader.d.ts +0 -9
  423. package/dist/zcl/zclHeader.d.ts.map +0 -1
  424. package/dist/zcl/zclHeader.js.map +0 -1
  425. package/dist/zcl/zclStatusError.d.ts +0 -6
  426. package/dist/zcl/zclStatusError.d.ts.map +0 -1
  427. package/dist/zcl/zclStatusError.js +0 -15
  428. package/dist/zcl/zclStatusError.js.map +0 -1
@@ -12,13 +12,11 @@ const utils_1 = require("./utils");
12
12
  const named_1 = require("./types/named");
13
13
  const multicast_1 = require("./multicast");
14
14
  const utils_2 = require("../../../utils");
15
- const debug_1 = __importDefault(require("debug"));
16
15
  const es6_1 = __importDefault(require("fast-deep-equal/es6"));
17
16
  const backup_1 = require("../adapter/backup");
18
- const debug = {
19
- error: (0, debug_1.default)('zigbee-herdsman:adapter:ezsp:erro'),
20
- log: (0, debug_1.default)('zigbee-herdsman:adapter:ezsp:driv'),
21
- };
17
+ const logger_1 = require("../../../utils/logger");
18
+ const cluster_1 = require("../../../zspec/zcl/definition/cluster");
19
+ const NS = 'zh:ezsp:driv';
22
20
  const IEEE_PREFIX_MFG_ID = [
23
21
  { mfgId: 0x115F, prefix: [0x04, 0xcf, 0xfc] },
24
22
  { mfgId: 0x115F, prefix: [0x54, 0xef, 0x44] },
@@ -40,14 +38,12 @@ class Driver extends events_1.EventEmitter {
40
38
  transactionID = 1;
41
39
  serialOpt;
42
40
  backupMan;
43
- logger;
44
- constructor(serialOpt, nwkOpt, greenPowerGroup, backupPath, logger) {
41
+ constructor(serialOpt, nwkOpt, greenPowerGroup, backupPath) {
45
42
  super();
46
43
  this.nwkOpt = nwkOpt;
47
44
  this.serialOpt = serialOpt;
48
45
  this.greenPowerGroup = greenPowerGroup;
49
46
  this.waitress = new utils_2.Waitress(this.waitressValidator, this.waitressTimeoutFormatter);
50
- this.logger = logger;
51
47
  this.backupMan = new backup_1.EZSPAdapterBackup(this, backupPath);
52
48
  }
53
49
  /**
@@ -56,40 +52,40 @@ class Driver extends events_1.EventEmitter {
56
52
  * @returns
57
53
  */
58
54
  async reset() {
59
- debug.log(`Reset connection.`);
55
+ logger_1.logger.debug(`Reset connection.`, NS);
60
56
  try {
61
57
  // don't emit 'close' on stop since we don't want this to bubble back up as 'disconnected' to the controller.
62
58
  await this.stop(false);
63
59
  }
64
60
  catch (err) {
65
- debug.error(`Stop error ${err.stack}`);
61
+ logger_1.logger.debug(`Stop error ${err.stack}`, NS);
66
62
  }
67
63
  try {
68
64
  await (0, utils_2.Wait)(1000);
69
- debug.log(`Startup again.`);
65
+ logger_1.logger.debug(`Startup again.`, NS);
70
66
  await this.startup();
71
67
  }
72
68
  catch (err) {
73
- debug.error(`Reset error ${err.stack}`);
69
+ logger_1.logger.debug(`Reset error ${err.stack}`, NS);
74
70
  try {
75
71
  // here we let emit
76
72
  await this.stop();
77
73
  }
78
74
  catch (stopErr) {
79
- debug.error(`Failed to stop after failed reset ${stopErr.stack}`);
75
+ logger_1.logger.debug(`Failed to stop after failed reset ${stopErr.stack}`, NS);
80
76
  }
81
77
  }
82
78
  }
83
79
  async onEzspReset() {
84
- debug.log('onEzspReset()');
80
+ logger_1.logger.debug('onEzspReset()', NS);
85
81
  await this.reset();
86
82
  }
87
83
  onEzspClose() {
88
- debug.log('onEzspClose()');
84
+ logger_1.logger.debug('onEzspClose()', NS);
89
85
  this.emit('close');
90
86
  }
91
87
  async stop(emitClose = true) {
92
- debug.log('Stopping driver');
88
+ logger_1.logger.debug('Stopping driver', NS);
93
89
  if (this.ezsp) {
94
90
  return this.ezsp.close(emitClose);
95
91
  }
@@ -104,7 +100,7 @@ class Driver extends events_1.EventEmitter {
104
100
  await this.ezsp.connect(this.serialOpt);
105
101
  }
106
102
  catch (error) {
107
- debug.error(`EZSP could not connect: ${error.cause ?? error}`);
103
+ logger_1.logger.debug(`EZSP could not connect: ${error.cause ?? error}`, NS);
108
104
  throw error;
109
105
  }
110
106
  this.ezsp.on('reset', this.onEzspReset.bind(this));
@@ -117,7 +113,7 @@ class Driver extends events_1.EventEmitter {
117
113
  await this.ezsp.setValue(named_1.EzspValueId.VALUE_CCA_THRESHOLD, 0);
118
114
  await this.ezsp.setSourceRouting();
119
115
  //const count = await ezsp.getConfigurationValue(EzspConfigId.CONFIG_APS_UNICAST_MESSAGE_COUNT);
120
- //debug.log("APS_UNICAST_MESSAGE_COUNT is set to %s", count);
116
+ //logger.info("APS_UNICAST_MESSAGE_COUNT is set to %s", count, NS);
121
117
  await this.addEndpoint({
122
118
  inputClusters: [0x0000, 0x0003, 0x0006, 0x000A, 0x0019, 0x001A, 0x0300],
123
119
  outputClusters: [0x0000, 0x0003, 0x0004, 0x0005, 0x0006, 0x0008, 0x0020,
@@ -142,7 +138,7 @@ class Driver extends events_1.EventEmitter {
142
138
  [special, verInfo] = types_1.uint8_t.deserialize(types_1.uint8_t, verInfo);
143
139
  /* eslint-enable prefer-const */
144
140
  const vers = `${major}.${minor}.${patch}.${special} build ${build}`;
145
- debug.log(`EmberZNet version: ${vers}`);
141
+ logger_1.logger.debug(`EmberZNet version: ${vers}`, NS);
146
142
  this.version = {
147
143
  product: this.ezsp.ezspV,
148
144
  majorrel: `${major}`,
@@ -154,42 +150,46 @@ class Driver extends events_1.EventEmitter {
154
150
  // need to check the backup
155
151
  const restore = await this.needsToBeRestore(this.nwkOpt);
156
152
  const res = await this.ezsp.execCommand('networkState');
157
- debug.log(`Network state ${res.status}`);
153
+ logger_1.logger.debug(`Network state ${res.status}`, NS);
158
154
  if (res.status == named_1.EmberNetworkStatus.JOINED_NETWORK) {
159
- debug.log(`Leaving current network and forming new network`);
155
+ logger_1.logger.info(`Leaving current network and forming new network`, NS);
160
156
  const st = await this.ezsp.leaveNetwork();
161
- console.assert(st == types_1.EmberStatus.NETWORK_DOWN, `leaveNetwork returned unexpected status: ${st}`);
157
+ if (st != types_1.EmberStatus.NETWORK_DOWN) {
158
+ logger_1.logger.error(`leaveNetwork returned unexpected status: ${st}`, NS);
159
+ }
162
160
  }
163
161
  if (restore) {
164
162
  // restore
165
- debug.log("Restore network from backup");
163
+ logger_1.logger.info("Restore network from backup", NS);
166
164
  await this.formNetwork(true);
167
165
  result = 'restored';
168
166
  }
169
167
  else {
170
168
  // reset
171
- debug.log("Form network");
169
+ logger_1.logger.info("Form network", NS);
172
170
  await this.formNetwork(false);
173
171
  result = 'reset';
174
172
  }
175
173
  }
176
174
  const state = (await this.ezsp.execCommand('networkState')).status;
177
- debug.log(`Network state ${state}`);
175
+ logger_1.logger.debug(`Network state ${state}`, NS);
178
176
  const netParams = await this.ezsp.execCommand('getNetworkParameters');
179
- console.assert(netParams.status == types_1.EmberStatus.SUCCESS, `Command (getNetworkParameters) returned unexpected state: ${netParams.status}`);
177
+ if (netParams.status != types_1.EmberStatus.SUCCESS) {
178
+ logger_1.logger.error(`Command (getNetworkParameters) returned unexpected state: ${netParams.status}`, NS);
179
+ }
180
180
  this.networkParams = netParams.parameters;
181
- debug.log("Node type: %s, Network parameters: %s", netParams.nodeType, this.networkParams);
181
+ logger_1.logger.debug(`Node type: ${netParams.nodeType}, Network parameters: ${this.networkParams}`, NS);
182
182
  const nwk = (await this.ezsp.execCommand('getNodeId')).nodeId;
183
183
  const ieee = (await this.ezsp.execCommand('getEui64')).eui64;
184
184
  this.ieee = new named_1.EmberEUI64(ieee);
185
- debug.log('Network ready');
185
+ logger_1.logger.debug('Network ready', NS);
186
186
  this.ezsp.on('frame', this.handleFrame.bind(this));
187
187
  this.handleNodeJoined(nwk, this.ieee);
188
- debug.log(`EZSP nwk=${nwk}, IEEE=0x${this.ieee}`);
188
+ logger_1.logger.debug(`EZSP nwk=${nwk}, IEEE=0x${this.ieee}`, NS);
189
189
  const linkResult = await this.getKey(named_1.EmberKeyType.TRUST_CENTER_LINK_KEY);
190
- debug.log(`TRUST_CENTER_LINK_KEY: ${JSON.stringify(linkResult)}`);
190
+ logger_1.logger.debug(`TRUST_CENTER_LINK_KEY: ${JSON.stringify(linkResult)}`, NS);
191
191
  const netResult = await this.getKey(named_1.EmberKeyType.CURRENT_NETWORK_KEY);
192
- debug.log(`CURRENT_NETWORK_KEY: ${JSON.stringify(netResult)}`);
192
+ logger_1.logger.debug(`CURRENT_NETWORK_KEY: ${JSON.stringify(netResult)}`, NS);
193
193
  await (0, utils_2.Wait)(1000);
194
194
  await this.ezsp.execCommand('setManufacturerCode', { code: DEFAULT_MFG_ID });
195
195
  this.multicast = new multicast_1.Multicast(this);
@@ -203,7 +203,7 @@ class Driver extends events_1.EventEmitter {
203
203
  valid = valid && (await this.ezsp.networkInit());
204
204
  const netParams = await this.ezsp.execCommand('getNetworkParameters');
205
205
  const networkParams = netParams.parameters;
206
- debug.log("Current Node type: %s, Network parameters: %s", netParams.nodeType, networkParams);
206
+ logger_1.logger.debug(`Current Node type: ${netParams.nodeType}, Network parameters: ${networkParams}`, NS);
207
207
  valid = valid && (netParams.status == types_1.EmberStatus.SUCCESS);
208
208
  valid = valid && (netParams.nodeType == types_1.EmberNodeType.COORDINATOR);
209
209
  valid = valid && (options.panID == networkParams.panId);
@@ -318,7 +318,7 @@ class Driver extends events_1.EventEmitter {
318
318
  }
319
319
  case (frameName === 'macFilterMatchMessageHandler'): {
320
320
  const [rawFrame, data] = struct_1.EmberIeeeRawFrame.deserialize(struct_1.EmberIeeeRawFrame, frame.message);
321
- debug.log(`macFilterMatchMessageHandler frame message: ${rawFrame}`);
321
+ logger_1.logger.debug(`macFilterMatchMessageHandler frame message: ${rawFrame}`, NS);
322
322
  this.emit('incomingMessage', {
323
323
  messageType: null,
324
324
  apsFrame: rawFrame,
@@ -333,7 +333,7 @@ class Driver extends events_1.EventEmitter {
333
333
  break;
334
334
  }
335
335
  case (frameName === 'stackStatusHandler'): {
336
- debug.log(`stackStatusHandler: ${types_1.EmberStatus.valueToName(types_1.EmberStatus, frame.status)}`);
336
+ logger_1.logger.debug(`stackStatusHandler: ${types_1.EmberStatus.valueToName(types_1.EmberStatus, frame.status)}`, NS);
337
337
  break;
338
338
  }
339
339
  // case (frameName === 'childJoinHandler'): {
@@ -345,7 +345,39 @@ class Driver extends events_1.EventEmitter {
345
345
  // break;
346
346
  // }
347
347
  case (frameName == 'gpepIncomingMessageHandler'): {
348
- this.handleGPMessage(frame);
348
+ let commandIdentifier = cluster_1.Clusters.greenPower.commands.notification.ID;
349
+ if (frame.gpdCommandId === 0xE0) {
350
+ if (!frame.gpdCommandPayload.length) {
351
+ // XXX: seem to be receiving duplicate commissioningNotification from some devices, second one with empty payload?
352
+ // this will mess with the process no doubt, so dropping them
353
+ return;
354
+ }
355
+ commandIdentifier = cluster_1.Clusters.greenPower.commands.commissioningNotification.ID;
356
+ }
357
+ const gpdHeader = Buffer.alloc(15);
358
+ gpdHeader.writeUInt8(0b00000001, 0); // frameControl: FrameType.SPECIFIC + Direction.CLIENT_TO_SERVER + disableDefaultResponse=false
359
+ gpdHeader.writeUInt8(frame.sequenceNumber, 1); // transactionSequenceNumber
360
+ gpdHeader.writeUInt8(commandIdentifier, 2); // commandIdentifier
361
+ gpdHeader.writeUInt16LE(0, 3); // options XXX: bypassed, same as deconz https://github.com/Koenkk/zigbee-herdsman/pull/536
362
+ gpdHeader.writeUInt32LE(frame.srcId, 5); // srcID
363
+ // omitted: gpdIEEEAddr ieeeAddr
364
+ // omitted: gpdEndpoint uint8
365
+ gpdHeader.writeUInt32LE(frame.gpdSecurityFrameCounter, 9); // frameCounter
366
+ gpdHeader.writeUInt8(frame.gpdCommandId, 13); // commandID
367
+ gpdHeader.writeUInt8(frame.gpdCommandPayload.length, 14); // payloadSize
368
+ const gpdMessage = {
369
+ messageType: frame.gpdCommandId,
370
+ apsFrame: {
371
+ profileId: 0xA1E0,
372
+ sourceEndpoint: 242,
373
+ clusterId: 0x0021,
374
+ sequence: frame.sequenceNumber,
375
+ },
376
+ lqi: frame.gpdLink,
377
+ message: Buffer.concat([gpdHeader, frame.gpdCommandPayload]),
378
+ sender: frame.addr,
379
+ };
380
+ this.emit('incomingMessage', gpdMessage);
349
381
  break;
350
382
  }
351
383
  default:
@@ -358,12 +390,12 @@ class Driver extends events_1.EventEmitter {
358
390
  // <=== Application frame 155 (zigbeeKeyEstablishmentHandler) received: 2ebd08feff9ffd9006 +2ms
359
391
  // <=== Application frame 155 (zigbeeKeyEstablishmentHandler) parsed: 144,253,159,255,254,8,189,46,6 +2ms
360
392
  // Unhandled frame zigbeeKeyEstablishmentHandler
361
- debug.log(`Unhandled frame ${frameName}`);
393
+ logger_1.logger.debug(`Unhandled frame ${frameName}`, NS);
362
394
  }
363
395
  }
364
396
  handleRouteRecord(nwk, ieee, lqi, rssi, relays) {
365
397
  // todo
366
- debug.log(`handleRouteRecord: nwk=${nwk}, ieee=${ieee.toString()}, lqi=${lqi}, rssi=${rssi}, relays=${relays}`);
398
+ logger_1.logger.debug(`handleRouteRecord: nwk=${nwk}, ieee=${ieee.toString()}, lqi=${lqi}, rssi=${rssi}, relays=${relays}`, NS);
367
399
  this.setNode(nwk, ieee);
368
400
  // if (ieee && !(ieee instanceof EmberEUI64)) {
369
401
  // ieee = new EmberEUI64(ieee);
@@ -372,7 +404,7 @@ class Driver extends events_1.EventEmitter {
372
404
  }
373
405
  handleRouteError(status, nwk) {
374
406
  // todo
375
- debug.log(`handleRouteError: nwk=${nwk}, status=${status}`);
407
+ logger_1.logger.debug(`handleRouteError: nwk=${nwk}, status=${status}`, NS);
376
408
  //this.waitress.reject({address: nwk, payload: null, frame: null}, 'Route error');
377
409
  // const ieee = await this.networkIdToEUI64(nwk);
378
410
  // this.eui64ToRelays.set(ieee.toString(), null);
@@ -388,7 +420,7 @@ class Driver extends events_1.EventEmitter {
388
420
  // "target":50564
389
421
  // }
390
422
  // https://docs.silabs.com/d/zigbee-stack-api/7.4.0/message#ember-incoming-network-status-handler
391
- debug.log(`handleNetworkStatus: nwk=${nwk}, errorCode=${errorCode}`);
423
+ logger_1.logger.debug(`handleNetworkStatus: nwk=${nwk}, errorCode=${errorCode}`, NS);
392
424
  }
393
425
  handleNodeLeft(nwk, ieee) {
394
426
  if (ieee && !(ieee instanceof named_1.EmberEUI64)) {
@@ -410,7 +442,7 @@ class Driver extends events_1.EventEmitter {
410
442
  for (const rec of IEEE_PREFIX_MFG_ID) {
411
443
  if ((Buffer.from(ieee.value)).indexOf(Buffer.from(rec.prefix)) == 0) {
412
444
  // set ManufacturerCode
413
- debug.log(`handleNodeJoined: change ManufacturerCode for ieee ${ieee} to ${rec.mfgId}`);
445
+ logger_1.logger.debug(`handleNodeJoined: change ManufacturerCode for ieee ${ieee} to ${rec.mfgId}`, NS);
414
446
  // eslint-disable-next-line @typescript-eslint/no-floating-promises
415
447
  this.resetMfgId(rec.mfgId);
416
448
  break;
@@ -463,7 +495,7 @@ class Driver extends events_1.EventEmitter {
463
495
  if ([types_1.EmberStatus.MAX_MESSAGE_LIMIT_REACHED, types_1.EmberStatus.NO_BUFFERS, types_1.EmberStatus.NETWORK_BUSY]
464
496
  .includes(sendResult.status)) {
465
497
  // need to repeat after pause
466
- debug.log(`Request send status ${sendResult.status}. Attempt to repeat the request`);
498
+ logger_1.logger.error(`Request send status ${sendResult.status}. Attempt to repeat the request`, NS);
467
499
  await (0, utils_2.Wait)(delay);
468
500
  }
469
501
  else {
@@ -472,7 +504,7 @@ class Driver extends events_1.EventEmitter {
472
504
  }
473
505
  }
474
506
  catch (e) {
475
- debug.error(`Request error ${e}: ${e.stack}`);
507
+ logger_1.logger.debug(`Request error ${e}: ${e.stack}`, NS);
476
508
  break;
477
509
  }
478
510
  }
@@ -497,7 +529,7 @@ class Driver extends events_1.EventEmitter {
497
529
  return true;
498
530
  }
499
531
  catch (e) {
500
- debug.error(`Request error ${e}: ${e.stack}`);
532
+ logger_1.logger.debug(`Request error ${e}: ${e.stack}`, NS);
501
533
  return false;
502
534
  }
503
535
  }
@@ -509,7 +541,7 @@ class Driver extends events_1.EventEmitter {
509
541
  return true;
510
542
  }
511
543
  catch (e) {
512
- debug.error(`Request error ${e}: ${e.stack}`);
544
+ logger_1.logger.debug(`Request error ${e}: ${e.stack}`, NS);
513
545
  return false;
514
546
  }
515
547
  }
@@ -556,7 +588,7 @@ class Driver extends events_1.EventEmitter {
556
588
  async zdoRequest(networkAddress, requestCmd, responseCmd, params) {
557
589
  const requestName = types_1.EmberZDOCmd.valueName(types_1.EmberZDOCmd, requestCmd);
558
590
  const responseName = types_1.EmberZDOCmd.valueName(types_1.EmberZDOCmd, responseCmd);
559
- debug.log(`ZDO ${requestName} params: ${JSON.stringify(params)}`);
591
+ logger_1.logger.debug(`ZDO ${requestName} params: ${JSON.stringify(params)}`, NS);
560
592
  const frame = this.makeApsFrame(requestCmd, false);
561
593
  const payload = this.makeZDOframe(requestCmd, { transId: frame.sequence, ...params });
562
594
  const waiter = this.waitFor(networkAddress, responseCmd, frame.sequence);
@@ -566,14 +598,14 @@ class Driver extends events_1.EventEmitter {
566
598
  throw Error('zdoRequest>request error');
567
599
  }
568
600
  const response = await waiter.start().promise;
569
- debug.log(`${responseName} frame: ${JSON.stringify(response.payload)}`);
601
+ logger_1.logger.debug(`${responseName} frame: ${JSON.stringify(response.payload)}`, NS);
570
602
  const result = new ezsp_1.EZSPZDOResponseFrameData(responseCmd, response.payload);
571
- debug.log(`${responseName} parsed: ${JSON.stringify(result)}`);
603
+ logger_1.logger.debug(`${responseName} parsed: ${JSON.stringify(result)}`, NS);
572
604
  return result;
573
605
  }
574
606
  catch (e) {
575
607
  this.waitress.remove(waiter.ID);
576
- debug.error(`zdoRequest error: ${e} ${e.stack}`);
608
+ logger_1.logger.debug(`zdoRequest error: ${e} ${e.stack}`, NS);
577
609
  throw e;
578
610
  }
579
611
  }
@@ -627,7 +659,7 @@ class Driver extends events_1.EventEmitter {
627
659
  inputClusterList: inputClusters,
628
660
  outputClusterList: outputClusters,
629
661
  });
630
- debug.log(`Ezsp adding endpoint: ${JSON.stringify(res)}`);
662
+ logger_1.logger.debug(`Ezsp adding endpoint: ${JSON.stringify(res)}`, NS);
631
663
  }
632
664
  waitFor(address, clusterId, sequence, timeout = 10000) {
633
665
  return this.waitress.waitFor({ address, clusterId, sequence }, timeout);
@@ -673,63 +705,6 @@ class Driver extends events_1.EventEmitter {
673
705
  throw new Error(`Add install code for '${ieeeAddress}' failed`);
674
706
  }
675
707
  }
676
- handleGPMessage(frame) {
677
- // Commissioning
678
- if (frame.gpdCommandId == 0xE0) {
679
- let data = frame.payload.subarray(5);
680
- /* eslint-disable */
681
- let st, deviceId, options, extOptions, key, mic, counter;
682
- [st, data] = types_1.uint8_t.deserialize(types_1.uint8_t, data);
683
- [deviceId, data] = types_1.uint8_t.deserialize(types_1.uint8_t, data);
684
- [options, data] = types_1.uint8_t.deserialize(types_1.uint8_t, data);
685
- [extOptions, data] = types_1.uint8_t.deserialize(types_1.uint8_t, data);
686
- [key, data] = types_1.EmberKeyData.deserialize(types_1.EmberKeyData, data);
687
- [mic, data] = types_1.uint32_t.deserialize(types_1.uint32_t, data);
688
- [counter, data] = types_1.uint32_t.deserialize(types_1.uint32_t, data);
689
- /* eslint-enable */
690
- const gpdMessage = {
691
- messageType: frame.gpdCommandId,
692
- apsFrame: {
693
- profileId: 0xA1E0,
694
- sourceEndpoint: 242,
695
- clusterId: 0x0021,
696
- sequence: frame.sequenceNumber,
697
- },
698
- lqi: frame.gpdLink,
699
- message: {
700
- commandID: frame.gpdCommandId,
701
- commandFrame: {
702
- options: options,
703
- securityKey: Buffer.from(key.contents),
704
- deviceID: deviceId,
705
- outgoingCounter: counter,
706
- },
707
- srcID: frame.srcId,
708
- },
709
- sender: frame.addr,
710
- };
711
- this.emit('incomingMessage', gpdMessage);
712
- }
713
- else {
714
- const gpdMessage = {
715
- messageType: frame.gpdCommandId,
716
- apsFrame: {
717
- profileId: 0xA1E0,
718
- sourceEndpoint: 242,
719
- clusterId: 0x0021,
720
- sequence: frame.sequenceNumber,
721
- },
722
- lqi: frame.gpdLink,
723
- message: {
724
- commandID: frame.gpdCommandId,
725
- frameCounter: frame.sequenceNumber,
726
- srcID: frame.srcId,
727
- },
728
- sender: frame.addr,
729
- };
730
- this.emit('incomingMessage', gpdMessage);
731
- }
732
- }
733
708
  async getKey(keyType) {
734
709
  if (this.ezsp.ezspV < 13) {
735
710
  return this.ezsp.execCommand('getKey', { keyType });
@@ -749,8 +724,10 @@ class Driver extends events_1.EventEmitter {
749
724
  smc.flags = 0;
750
725
  smc.psaKeyAlgPermission = 0;
751
726
  const keyInfo = await this.ezsp.execCommand('exportKey', { context: smc });
752
- console.assert(keyInfo.status === named_1.SLStatus.SL_STATUS_OK, `exportKey(${named_1.EmberKeyType.valueToName(named_1.EmberKeyType, keyType)}) `
753
- + `returned unexpected SL status: ${keyInfo.status}`);
727
+ if (keyInfo.status !== named_1.SLStatus.SL_STATUS_OK) {
728
+ logger_1.logger.error(`exportKey(${named_1.EmberKeyType.valueToName(named_1.EmberKeyType, keyType)}) `
729
+ + `returned unexpected SL status: ${keyInfo.status}`, NS);
730
+ }
754
731
  return keyInfo;
755
732
  }
756
733
  }
@@ -760,7 +737,9 @@ class Driver extends events_1.EventEmitter {
760
737
  }
761
738
  else {
762
739
  const keyInfo = await this.ezsp.execCommand('getNetworkKeyInfo');
763
- console.assert(keyInfo.status === named_1.SLStatus.SL_STATUS_OK, `getNetworkKeyInfo() returned unexpected SL status: ${keyInfo.status}`);
740
+ if (keyInfo.status !== named_1.SLStatus.SL_STATUS_OK) {
741
+ logger_1.logger.error(`getNetworkKeyInfo() returned unexpected SL status: ${keyInfo.status}`, NS);
742
+ }
764
743
  return keyInfo;
765
744
  }
766
745
  }
@@ -773,8 +752,8 @@ class Driver extends events_1.EventEmitter {
773
752
  //valid = valid && (await this.ezsp.networkInit());
774
753
  const netParams = await this.ezsp.execCommand('getNetworkParameters');
775
754
  const networkParams = netParams.parameters;
776
- debug.log("Current Node type: %s, Network parameters: %s", netParams.nodeType, networkParams);
777
- debug.log("Backuped network parameters: %s", backup.networkOptions);
755
+ logger_1.logger.debug(`Current Node type: ${netParams.nodeType}, Network parameters: ${networkParams}`, NS);
756
+ logger_1.logger.debug(`Backuped network parameters: ${backup.networkOptions}`, NS);
778
757
  const networkKey = await this.getKey(named_1.EmberKeyType.CURRENT_NETWORK_KEY);
779
758
  let netKey = null;
780
759
  if (this.ezsp.ezspV < 13) {
@@ -789,19 +768,19 @@ class Driver extends events_1.EventEmitter {
789
768
  valid = valid && (Buffer.from(networkParams.extendedPanId).equals(backup.networkOptions.extendedPanId));
790
769
  valid = valid && (Buffer.from(netKey).equals(backup.networkOptions.networkKey));
791
770
  if (valid) {
792
- this.logger.error(`Configuration is not consistent with adapter backup!`);
793
- this.logger.error(`- PAN ID: configured=${options.panID}, adapter=${networkParams.panId}, backup=${backup.networkOptions.panId}`);
794
- this.logger.error(`- Extended PAN ID: configured=${Buffer.from(options.extendedPanID).toString("hex")}, ` +
771
+ logger_1.logger.error(`Configuration is not consistent with adapter backup!`, NS);
772
+ logger_1.logger.error(`- PAN ID: configured=${options.panID}, adapter=${networkParams.panId}, backup=${backup.networkOptions.panId}`, NS);
773
+ logger_1.logger.error(`- Extended PAN ID: configured=${Buffer.from(options.extendedPanID).toString("hex")}, ` +
795
774
  `adapter=${Buffer.from(networkParams.extendedPanId).toString("hex")}, ` +
796
- `backup=${Buffer.from(networkParams.extendedPanId).toString("hex")}`);
797
- this.logger.error(`- Channel: configured=${options.channelList}, adapter=${networkParams.radioChannel}, ` +
798
- `backup=${backup.logicalChannel}`);
799
- this.logger.error(`- Network key: configured=${Buffer.from(options.networkKey).toString("hex")}, ` +
775
+ `backup=${Buffer.from(networkParams.extendedPanId).toString("hex")}`, NS);
776
+ logger_1.logger.error(`- Channel: configured=${options.channelList}, adapter=${networkParams.radioChannel}, ` +
777
+ `backup=${backup.logicalChannel}`, NS);
778
+ logger_1.logger.error(`- Network key: configured=${Buffer.from(options.networkKey).toString("hex")}, ` +
800
779
  `adapter=${Buffer.from(netKey).toString("hex")}, ` +
801
- `backup=${backup.networkOptions.networkKey.toString("hex")}`);
802
- this.logger.error(`Please update configuration to prevent further issues.`);
803
- this.logger.error(`If you wish to re-commission your network, please remove coordinator backup.`);
804
- this.logger.error(`Re-commissioning your network will require re-pairing of all devices!`);
780
+ `backup=${backup.networkOptions.networkKey.toString("hex")}`, NS);
781
+ logger_1.logger.error(`Please update configuration to prevent further issues.`, NS);
782
+ logger_1.logger.error(`If you wish to re-commission your network, please remove coordinator backup.`, NS);
783
+ logger_1.logger.error(`Re-commissioning your network will require re-pairing of all devices!`, NS);
805
784
  throw new Error("startup failed - configuration-adapter mismatch - see logs above for more information");
806
785
  }
807
786
  valid = true;
@@ -1 +1 @@
1
- {"version":3,"file":"driver.js","sourceRoot":"","sources":["../../../../src/adapter/ezsp/driver/driver.ts"],"names":[],"mappings":";;;;;;AAEA,iCAAqE;AACrE,mCACsC;AACtC,mCAAoC;AACpC,2CACiH;AACjH,mCAAuC;AACvC,yCAcuB;AACvB,2CAAsC;AACtC,0CAA8C;AAC9C,kDAA0B;AAC1B,8DAAyC;AAEzC,8CAAoD;AAGpD,MAAM,KAAK,GAAG;IACV,KAAK,EAAE,IAAA,eAAK,EAAC,mCAAmC,CAAC;IACjD,GAAG,EAAE,IAAA,eAAK,EAAC,mCAAmC,CAAC;CAClD,CAAC;AAwCF,MAAM,kBAAkB,GAAc;IAClC,EAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,IAAI,EAAC,IAAI,EAAC,IAAI,CAAC,EAAC;IACzC,EAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,IAAI,EAAC,IAAI,EAAC,IAAI,CAAC,EAAC;CAC5C,CAAC;AACF,MAAM,cAAc,GAAG,MAAM,CAAC;AAC9B,6CAA6C;AAC7C,MAAM,sBAAsB,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAEjD,MAAa,MAAO,SAAQ,qBAAY;IAC7B,IAAI,CAAO;IACV,MAAM,CAAwB;IAC9B,eAAe,CAAS;IACzB,aAAa,CAAyB;IACtC,OAAO,CAEZ;IACM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC1C,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC3C,IAAI,CAAa;IAChB,SAAS,CAAY;IACrB,QAAQ,CAA6C;IACrD,aAAa,GAAG,CAAC,CAAC;IAClB,SAAS,CAA2B;IACrC,SAAS,CAAoB;IAC5B,MAAM,CAAa;IAE3B,YAAY,SAAmC,EAAE,MAA6B,EAAE,eAAuB,EACnG,UAAkB,EAAE,MAAkB;QACtC,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,QAAQ,GAAG,IAAI,gBAAQ,CACxB,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAC3D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,IAAI,0BAAiB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAC7D,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,KAAK;QACd,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QAE/B,IAAI,CAAC;YACD,6GAA6G;YAC7G,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,KAAK,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,CAAC;YACD,MAAM,IAAA,YAAI,EAAC,IAAI,CAAC,CAAC;YACjB,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;YAC5B,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACzB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,KAAK,CAAC,KAAK,CAAC,eAAe,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;YAExC,IAAI,CAAC;gBACD,mBAAmB;gBACnB,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YACtB,CAAC;YAAC,OAAO,OAAO,EAAE,CAAC;gBACf,KAAK,CAAC,KAAK,CAAC,qCAAqC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;YACtE,CAAC;QACL,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,WAAW;QACrB,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC3B,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;IAEO,WAAW;QACf,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvB,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,YAAqB,IAAI;QACvC,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAE7B,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACtC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,OAAO;QAChB,IAAI,MAAM,GAAuB,SAAS,CAAC;QAC3C,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,WAAI,EAAE,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEnD,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,KAAK,CAAC,KAAK,CAAC,2BAA2B,KAAK,CAAC,KAAK,IAAI,KAAK,EAAE,CAAC,CAAC;YAE/D,MAAM,KAAK,CAAC;QAChB,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEnD,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAC1B,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;QAC/B,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;QACjC,iFAAiF;QACjF,iFAAiF;QACjF,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAW,CAAC,wCAAwC,EAAE,CAAC,CAAC,CAAC;QAClF,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAW,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;QAC7D,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACnC,gGAAgG;QAChG,6DAA6D;QAC7D,MAAM,IAAI,CAAC,WAAW,CAAC;YACnB,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;YACvE,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;gBACnE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;gBAC9D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;SAC9C,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,WAAW,CAAC;YACnB,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI;YAChD,cAAc,EAAE,CAAC,MAAM,CAAC;SAC3B,CAAC,CAAC;QAEH,2BAA2B;QAC3B,mFAAmF;QACnF,+BAA+B;QAC/B,yFAAyF;QACzF,iCAAiC;QACjC,IAAI,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAW,CAAC,kBAAkB,CAAC,CAAC;QACvE,IAAI,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC;QACxC,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,gBAAQ,CAAC,WAAW,CAAC,gBAAQ,EAAE,OAAO,CAAC,CAAC;QAC3D,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,eAAO,CAAC,WAAW,CAAC,eAAO,EAAE,OAAO,CAAC,CAAC;QACzD,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,eAAO,CAAC,WAAW,CAAC,eAAO,EAAE,OAAO,CAAC,CAAC;QACzD,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,eAAO,CAAC,WAAW,CAAC,eAAO,EAAE,OAAO,CAAC,CAAC;QACzD,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,eAAO,CAAC,WAAW,CAAC,eAAO,EAAE,OAAO,CAAC,CAAC;QAC3D,gCAAgC;QAChC,MAAM,IAAI,GAAG,GAAG,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,OAAO,UAAU,KAAK,EAAE,CAAC;QACpE,KAAK,CAAC,GAAG,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAC;QACxC,IAAI,CAAC,OAAO,GAAG;YACX,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK;YACxB,QAAQ,EAAE,GAAG,KAAK,EAAE;YACpB,QAAQ,EAAE,GAAG,KAAK,EAAE;YACpB,QAAQ,EAAE,GAAG,KAAK,GAAG;YACrB,QAAQ,EAAE,IAAI;SACjB,CAAC;QAEF,IAAI,MAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/C,2BAA2B;YAC3B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAEzD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;YAExD,KAAK,CAAC,GAAG,CAAC,iBAAiB,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;YAEzC,IAAI,GAAG,CAAC,MAAM,IAAI,0BAAkB,CAAC,cAAc,EAAE,CAAC;gBAClD,KAAK,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;gBAE7D,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;gBAE1C,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,mBAAW,CAAC,YAAY,EAAE,4CAA4C,EAAE,EAAE,CAAC,CAAC;YACrG,CAAC;YAED,IAAI,OAAO,EAAE,CAAC;gBACV,UAAU;gBACV,KAAK,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;gBACzC,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBAC7B,MAAM,GAAG,UAAU,CAAC;YACxB,CAAC;iBAAM,CAAC;gBACJ,QAAQ;gBACR,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;gBAC1B,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBAC9B,MAAM,GAAG,OAAO,CAAC;YACrB,CAAC;QACL,CAAC;QAED,MAAM,KAAK,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC;QACnE,KAAK,CAAC,GAAG,CAAC,iBAAiB,KAAK,EAAE,CAAC,CAAC;QAEpC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC;QACtE,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,IAAI,mBAAW,CAAC,OAAO,EAClD,6DAA6D,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;QACrF,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC,UAAU,CAAC;QAC1C,KAAK,CAAC,GAAG,CAAC,uCAAuC,EAAE,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAE3F,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC;QAC9D,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC;QAC7D,IAAI,CAAC,IAAI,GAAG,IAAI,kBAAU,CAAC,IAAI,CAAC,CAAC;QACjC,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACnD,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACtC,KAAK,CAAC,GAAG,CAAC,YAAY,GAAG,YAAY,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAClD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,oBAAY,CAAC,qBAAqB,CAAC,CAAC;QACzE,KAAK,CAAC,GAAG,CAAC,0BAA0B,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAClE,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,oBAAY,CAAC,mBAAmB,CAAC,CAAC;QACtE,KAAK,CAAC,GAAG,CAAC,wBAAwB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAE/D,MAAM,IAAA,YAAI,EAAC,IAAI,CAAC,CAAC;QACjB,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,qBAAqB,EAAE,EAAC,IAAI,EAAE,cAAc,EAAC,CAAC,CAAC;QAE3E,IAAI,CAAC,SAAS,GAAG,IAAI,qBAAS,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACjC,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;QAC1D,0CAA0C;QAE1C,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAAC,OAA8B;QAC7D,IAAI,KAAK,GAAG,IAAI,CAAC;QACjB,KAAK,GAAG,KAAK,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QACjD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC;QACtE,MAAM,aAAa,GAAG,SAAS,CAAC,UAAU,CAAC;QAC3C,KAAK,CAAC,GAAG,CAAC,+CAA+C,EAAE,SAAS,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QAC9F,KAAK,GAAG,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,mBAAW,CAAC,OAAO,CAAC,CAAC;QAC3D,KAAK,GAAG,KAAK,IAAI,CAAC,SAAS,CAAC,QAAQ,IAAI,qBAAa,CAAC,WAAW,CAAC,CAAC;QACnE,KAAK,GAAG,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC;QACxD,KAAK,GAAG,KAAK,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC;QAC5E,KAAK,GAAG,KAAK,IAAI,CAAC,IAAA,aAAM,EAAC,OAAO,CAAC,aAAa,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC;QAC9E,OAAO,CAAC,KAAK,CAAC;IAClB,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,OAAgB;QACtC,IAAI,MAAM,CAAC;QACX,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,wBAAwB,CAAC,CAAC;QAEtD,IAAI,sBAAiD,CAAC;QACtD,IAAI,OAAO,EAAE,CAAC;YACV,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC;YAChD,sBAAsB,GAAG,IAAA,sBAAc,EAAC,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;YAC1E,sBAAsB,CAAC,OAAO,IAAI,mCAA2B,CAAC,sBAAsB,CAAC;YACrF,sBAAsB,CAAC,wBAAwB,GAAG,MAAM,CAAC,cAAc,CAAC,cAAc,CAAC;YACvF,sBAAsB,CAAC,gBAAgB,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;QAC/E,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;YAC7C,sBAAsB,GAAG,IAAA,sBAAc,EAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;QACjF,CAAC;QACD,MAAM,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,sBAAsB,CAAC,CAAC;QAEhE,MAAM,UAAU,GAA2B,IAAI,+BAAsB,EAAE,CAAC;QACxE,UAAU,CAAC,YAAY,GAAG,CAAC,CAAC;QAC5B,UAAU,CAAC,UAAU,GAAG,uBAAe,CAAC,mBAAmB,CAAC;QAC5D,UAAU,CAAC,YAAY,GAAG,CAAC,CAAC;QAC5B,UAAU,CAAC,WAAW,GAAG,CAAC,CAAC;QAC3B,UAAU,CAAC,QAAQ,GAAG,UAAU,CAAC,CAAC,eAAe;QACjD,IAAI,OAAO,EAAE,CAAC;YACV,UAAU,CAAC,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC;YAC/C,UAAU,CAAC,aAAa,GAAG,MAAM,CAAC,cAAc,CAAC,aAAa,CAAC;YAC/D,UAAU,CAAC,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC;YAChD,UAAU,CAAC,WAAW,GAAG,MAAM,CAAC,eAAe,CAAC;QACpD,CAAC;aAAM,CAAC;YACJ,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YACrD,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;YACrC,UAAU,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACtE,CAAC;QAED,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACxC,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAW,CAAC,yBAAyB,EAAE,CAAC,CAAC,CAAC;IACvE,CAAC;IAEO,WAAW,CAAC,SAAiB,EAAE,KAAoB;QACvD,QAAQ,IAAI,EAAE,CAAC;YACf,KAAK,CAAC,SAAS,KAAK,wBAAwB,CAAC,CAAC,CAAC,CAAC;gBAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBACnD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;oBAClC,OAAO,EAAE,KAAK,CAAC,MAAM;oBACrB,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,KAAK,EAAE,KAAK,CAAC,QAAQ;iBACxB,CAAC,CAAC;gBAEH,IAAI,CAAC,OAAO,EAAE,CAAC;oBACX,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;wBACzB,WAAW,EAAE,KAAK,CAAC,IAAI;wBACvB,QAAQ,EAAE,KAAK,CAAC,QAAQ;wBACxB,GAAG,EAAE,KAAK,CAAC,UAAU;wBACrB,IAAI,EAAE,KAAK,CAAC,WAAW;wBACvB,MAAM,EAAE,KAAK,CAAC,MAAM;wBACpB,YAAY,EAAE,KAAK,CAAC,YAAY;wBAChC,YAAY,EAAE,KAAK,CAAC,YAAY;wBAChC,OAAO,EAAE,KAAK,CAAC,OAAO;wBACtB,WAAW,EAAE,KAAK;qBACrB,CAAC,CAAC;gBACP,CAAC;gBACD,MAAM;YACV,CAAC;YACD,KAAK,CAAC,SAAS,KAAK,wBAAwB,CAAC,CAAC,CAAC,CAAC;gBAC5C,IAAI,KAAK,CAAC,MAAM,KAAK,yBAAiB,CAAC,WAAW,EAAE,CAAC;oBACjD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;gBAC7D,CAAC;qBAAM,CAAC;oBACJ,IAAI,KAAK,CAAC,cAAc,KAAK,yBAAiB,CAAC,SAAS,EAAE,CAAC;wBACvD,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;oBAC/D,CAAC;gBACL,CAAC;gBACD,MAAM;YACV,CAAC;YACD,KAAK,CAAC,SAAS,KAAK,4BAA4B,CAAC,CAAC,CAAC,CAAC;gBAChD,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;gBACrG,MAAM;YACV,CAAC;YACD,KAAK,CAAC,SAAS,KAAK,2BAA2B,CAAC,CAAC,CAAC,CAAC;gBAC/C,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;gBAClD,MAAM;YACV,CAAC;YACD,KAAK,CAAC,SAAS,KAAK,8BAA8B,CAAC,CAAC,CAAC,CAAC;gBAClD,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;gBACxD,MAAM;YACV,CAAC;YACD,KAAK,CAAC,SAAS,KAAK,oBAAoB,CAAC,CAAC,CAAC,CAAC;gBACxC,OAAO;gBACP,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;gBAC5B,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;oBACd,eAAe;gBACnB,CAAC;qBAAM,CAAC;oBACJ,eAAe;oBACf,oEAAoE;oBACpE,sDAAsD;oBACtD,8BAA8B;oBAC9B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC;oBAC3B,IAAI,OAAO,IAAI,gCAAwB,CAAC,kBAAkB,EAAE,CAAC;wBACzD,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;wBAChC,IAAI,QAAQ,CAAC,mBAAmB,IAAI,GAAG,EAAE,CAAC;4BACtC,mEAAmE;4BACnE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;wBAClD,CAAC;oBACL,CAAC;gBACL,CAAC;gBACD,MAAM;YACV,CAAC;YACD,KAAK,CAAC,SAAS,KAAK,8BAA8B,CAAC,CAAC,CAAC,CAAC;gBAClD,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,0BAAiB,CAAC,WAAW,CAAC,0BAAiB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;gBACzF,KAAK,CAAC,GAAG,CAAC,+CAA+C,QAAQ,EAAE,CAAC,CAAC;gBACrE,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;oBACzB,WAAW,EAAE,IAAI;oBACjB,QAAQ,EAAE,QAAQ;oBAClB,GAAG,EAAE,KAAK,CAAC,UAAU;oBACrB,IAAI,EAAE,KAAK,CAAC,WAAW;oBACvB,MAAM,EAAE,IAAI;oBACZ,YAAY,EAAE,IAAI;oBAClB,YAAY,EAAE,IAAI;oBAClB,OAAO,EAAE,IAAI;oBACb,WAAW,EAAE,IAAI,kBAAU,CAAC,QAAQ,CAAC,aAAa,CAAC;iBACtD,CAAC,CAAC;gBACH,MAAM;YACV,CAAC;YACD,KAAK,CAAC,SAAS,KAAK,oBAAoB,CAAC,CAAC,CAAC,CAAC;gBACxC,KAAK,CAAC,GAAG,CAAC,uBAAuB,mBAAW,CAAC,WAAW,CAAC,mBAAW,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACvF,MAAM;YACV,CAAC;YACD,6CAA6C;YAC7C,4BAA4B;YAC5B,gEAAgE;YAChE,eAAe;YACf,kEAAkE;YAClE,QAAQ;YACR,aAAa;YACb,IAAI;YACJ,KAAK,CAAC,SAAS,IAAI,4BAA4B,CAAC,CAAC,CAAC,CAAC;gBAC/C,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;gBAC5B,MAAM;YACV,CAAC;YACD;gBACI,yFAAyF;gBACzF,uGAAuG;gBACvG,uCAAuC;gBACvC,yFAAyF;gBACzF,qGAAqG;gBACrG,6CAA6C;gBAC7C,+FAA+F;gBAC/F,2GAA2G;gBAC3G,gDAAgD;gBAChD,KAAK,CAAC,GAAG,CAAC,mBAAmB,SAAS,EAAE,CAAC,CAAC;QAC9C,CAAC;IACL,CAAC;IAEO,iBAAiB,CAAC,GAAW,EAAE,IAA2B,EAAE,GAAW,EAAE,IAAY,EACzF,MAAc;QACd,OAAO;QACP,KAAK,CAAC,GAAG,CACL,0BAA0B,GAAG,UAAU,IAAI,CAAC,QAAQ,EAAE,SAAS,GAAG,UAAU,IAAI,YAAY,MAAM,EAAE,CACvG,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACxB,+CAA+C;QAC/C,mCAAmC;QACnC,IAAI;QACJ,mDAAmD;IACvD,CAAC;IAEO,gBAAgB,CAAC,MAAmB,EAAE,GAAW;QACrD,OAAO;QACP,KAAK,CAAC,GAAG,CAAC,yBAAyB,GAAG,YAAY,MAAM,EAAE,CAAC,CAAC;QAC5D,kFAAkF;QAClF,iDAAiD;QACjD,iDAAiD;IACrD,CAAC;IAEO,mBAAmB,CAAC,SAA0B,EAAE,GAAW;QAC/D,OAAO;QACP,8BAA8B;QAC9B,cAAc;QACd,8CAA8C;QAC9C,kBAAkB;QAClB,2BAA2B;QAC3B,qBAAqB;QACrB,qBAAqB;QACrB,IAAI;QACJ,iGAAiG;QACjG,KAAK,CAAC,GAAG,CAAC,4BAA4B,GAAG,eAAe,SAAS,EAAE,CAAC,CAAC;IACzE,CAAC;IAEO,cAAc,CAAC,GAAW,EAAE,IAA2B;QAC3D,IAAI,IAAI,IAAI,CAAC,CAAC,IAAI,YAAY,kBAAU,CAAC,EAAE,CAAC;YACxC,IAAI,GAAG,IAAI,kBAAU,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC3C,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;IACzC,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,KAAa;QAClC,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,qBAAqB,EAAE,EAAC,IAAI,EAAE,KAAK,EAAC,CAAC,CAAC;QAClE,qBAAqB;QACrB,MAAM,IAAA,YAAI,EAAC,KAAK,CAAC,CAAC;QAClB,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,qBAAqB,EAAE,EAAC,IAAI,EAAE,cAAc,EAAC,CAAC,CAAC;IAC/E,CAAC;IAEM,gBAAgB,CAAC,GAAW,EAAE,IAA2B;QAC5D,IAAI,IAAI,IAAI,CAAC,CAAC,IAAI,YAAY,kBAAU,CAAC,EAAE,CAAC;YACxC,IAAI,GAAG,IAAI,kBAAU,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;QAED,KAAI,MAAM,GAAG,IAAI,kBAAkB,EAAE,CAAC;YAClC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAE,IAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClF,uBAAuB;gBACvB,KAAK,CAAC,GAAG,CAAC,sDAAsD,IAAI,OAAO,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;gBACxF,mEAAmE;gBACnE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBAC3B,MAAM;YACV,CAAC;QACL,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,GAAG,CAAC,CAAC;QAC7C,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;IAC3C,CAAC;IAEM,OAAO,CAAC,GAAW,EAAE,IAA2B;QACnD,IAAI,IAAI,IAAI,CAAC,CAAC,IAAI,YAAY,kBAAU,CAAC,EAAE,CAAC;YACxC,IAAI,GAAG,IAAI,kBAAU,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,GAAG,CAAC,CAAC;IACjD,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,GAAwB,EAAE,QAAuB,EAClE,IAAY,EAAE,eAAe,GAAG,KAAK;QACrC,IAAI,MAAM,GAAG,KAAK,CAAC;QAEnB,KAAK,MAAM,KAAK,IAAI,sBAAsB,EAAE,CAAC;YACzC,IAAI,CAAC;gBACD,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;gBAC3C,IAAI,KAAiB,CAAC;gBAEtB,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;oBAC1B,KAAK,GAAG,GAAiB,CAAC;oBAC1B,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;oBAClC,IAAI,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBAE9C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;wBACvB,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,qBAAqB,EAAE,EAAC,KAAK,EAAE,KAAK,EAAC,CAAC,CAAC,CAAC,MAAM,CAAC;wBAErF,IAAI,MAAM,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;4BAC9B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;wBAC7C,CAAC;6BAAM,CAAC;4BACJ,MAAM,IAAI,KAAK,CAAC,gBAAgB,GAAG,QAAQ,CAAC,CAAC;wBACjD,CAAC;oBACL,CAAC;oBACD,GAAG,GAAG,MAAM,CAAC;gBACjB,CAAC;qBAAM,CAAC;oBACJ,KAAK,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;gBAC7C,CAAC;gBAED,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;oBACtB,0DAA0D;oBAC1D,eAAe;oBACf,sEAAsE;oBACtE,OAAO;gBACX,CAAC;gBAED,IAAI,eAAe,EAAE,CAAC;oBAClB,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,oBAAoB,EAAE,EAAC,WAAW,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAC,CAAC,CAAC;gBACnG,CAAC;gBAED,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAC1C,gCAAwB,CAAC,eAAe,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,CACrE,CAAC;gBAEF,iCAAiC;gBACjC,IAAI,CAAC,mBAAW,CAAC,yBAAyB,EAAE,mBAAW,CAAC,UAAU,EAAE,mBAAW,CAAC,YAAY,CAAC;qBACxF,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC/B,6BAA6B;oBAC7B,KAAK,CAAC,GAAG,CAAC,uBAAuB,UAAU,CAAC,MAAM,iCAAiC,CAAC,CAAC;oBAErF,MAAM,IAAA,YAAI,EAAC,KAAK,CAAC,CAAC;gBACtB,CAAC;qBAAM,CAAC;oBACJ,MAAM,GAAG,CAAC,UAAU,CAAC,MAAM,IAAI,mBAAW,CAAC,OAAO,CAAC,CAAC;oBACpD,MAAM;gBACV,CAAC;YACL,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC9C,MAAM;YACV,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,gEAAgE;IACzD,KAAK,CAAC,QAAQ,CAAC,QAAuB,EAAE,IAAY,EAAE,OAAO,GAAG,KAAK;QACxE,IAAI,CAAC;YACD,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;YAC3C,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YACnD,OAAO,IAAI,CAAC;QAChB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAED,gEAAgE;IACzD,KAAK,CAAC,UAAU,CAAC,QAAuB,EAAE,IAAY,EAAE,OAAO,GAAG,KAAK;QAC1E,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,sBAAa,CAAC,SAAS,CAAC,sBAAa,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;YACxF,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,EAAC,OAAO,EAAE,OAAO,EAAC,CAAC,CAAC;YAClE,OAAO,IAAI,CAAC;QAChB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YAC9C,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAED,gEAAgE;IACzD,KAAK,CAAC,cAAc,CAAC,QAA2B,EAAE,IAAY,EAAE,OAAO,GAAG,KAAK;QAClF,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,0BAAiB,CAAC,SAAS,CAAC,0BAAiB,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;YAChG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,EAAC,OAAO,EAAE,OAAO,EAAC,CAAC,CAAC;YAClE,OAAO,IAAI,CAAC;QAChB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YAC9C,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAED,gEAAgE;IACzD,KAAK,CAAC,QAAQ,CAAC,WAAmB,EAAE,QAAuB,EAAE,IAAY;QAC5E,IAAI,CAAC;YACD,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;YAC3C,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YAChE,OAAO,IAAI,CAAC;QAChB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAEO,iBAAiB;QACrB,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;QACrD,OAAO,IAAI,CAAC,aAAa,CAAC;IAC9B,CAAC;IAEM,YAAY,CAAC,SAAiB,EAAE,eAAwB;QAC3D,MAAM,KAAK,GAAG,IAAI,sBAAa,EAAE,CAAC;QAClC,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;QAC5B,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC;QACpB,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC1C,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC;QACzB,KAAK,CAAC,mBAAmB,GAAG,CAAC,CAAC;QAC9B,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;QAClB,KAAK,CAAC,OAAO,GAAG,CAAC,sBAAc,CAAC,iCAAiC;YAC7D,sBAAc,CAAC,mCAAmC,CAAC,CAAC;QAExD,IAAI,CAAC,eAAe,EAAE,CAAC;YACnB,KAAK,CAAC,OAAO,KAAK,sBAAc,CAAC,gBAAgB,CAAC;QACtD,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,iBAAiB;QACpB,MAAM,KAAK,GAAG,IAAI,sBAAa,EAAE,CAAC;QAClC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC1C,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,qBAAqB;QACxB,MAAM,KAAK,GAAG,IAAI,0BAAiB,EAAE,CAAC;QACtC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC1C,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,KAAK,CAAC,UAAU,CAAC,cAAsB,EAAE,UAAuB,EACnE,WAAwB,EAAE,MAAkB;QAC5C,MAAM,WAAW,GAAG,mBAAW,CAAC,SAAS,CAAC,mBAAW,EAAE,UAAU,CAAC,CAAC;QACnE,MAAM,YAAY,GAAG,mBAAW,CAAC,SAAS,CAAC,mBAAW,EAAE,WAAW,CAAC,CAAC;QAErE,KAAK,CAAC,GAAG,CAAC,OAAO,WAAW,YAAY,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAElE,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,UAAoB,EAAE,KAAK,CAAC,CAAC;QAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,UAAoB,EAAE,EAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,GAAG,MAAM,EAAC,CAAC,CAAC;QAC9F,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,WAAqB,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QAEnF,IAAI,CAAC;YACD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YAE/D,IAAI,CAAC,GAAG,EAAE,CAAC;gBACP,MAAM,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAC5C,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC;YAE9C,KAAK,CAAC,GAAG,CAAC,GAAG,YAAY,YAAY,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAEzE,MAAM,MAAM,GAAG,IAAI,+BAAwB,CAAC,WAAqB,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;YAErF,KAAK,CAAC,GAAG,CAAC,GAAG,YAAY,YAAY,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAE/D,OAAO,MAAM,CAAC;QAClB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAChC,KAAK,CAAC,KAAK,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YAEjD,MAAM,CAAC,CAAC;QACZ,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,gBAAgB,CAAC,GAAW;QACrC,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YAC9C,IAAI,KAAK,KAAK,GAAG;gBAAE,OAAO,IAAI,kBAAU,CAAC,KAAK,CAAC,CAAC;QACpD,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,qBAAqB,EAAE,EAAC,MAAM,EAAE,GAAG,EAAC,CAAC,CAAC;QAEhF,IAAI,KAAK,CAAC,MAAM,KAAK,mBAAW,CAAC,OAAO,EAAE,CAAC;YACvC,MAAM,KAAK,GAAG,IAAI,kBAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC1C,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,GAAG,CAAC,CAAC;YAE9C,OAAO,KAAK,CAAC;QACjB,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,KAAK,CAAC,sBAAsB,GAAG,GAAG,CAAC,CAAC;QAClD,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,UAAU,CAAC,OAAe;QACnC,IAAI,OAAO,EAAE,CAAC;YACV,MAAM,IAAI,GAAG,IAAI,kBAAU,CAAC,oBAAoB,CAAC,CAAC;YAClD,MAAM,OAAO,GAAG,IAAI,oBAAY,EAAE,CAAC;YACnC,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACnD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAE7D,IAAI,MAAM,CAAC,MAAM,KAAK,mBAAW,CAAC,OAAO,EAAE,CAAC;gBACxC,MAAM,IAAI,KAAK,CAAC,+BAA+B,IAAI,UAAU,CAAC,CAAC;YACnE,CAAC;YAED,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC;gBACvB,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,oBAAY,CAAC,mBAAmB,EACtD,2BAAmB,CAAC,uBAAuB,GAAG,2BAAmB,CAAC,WAAW,CAAC,CAAC;gBACnF,kDAAkD;YACtD,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,wBAAwB,CAAC,CAAC;QAC1D,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,aAAa,CAAC,OAAe;QACtC,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,EAAC,QAAQ,EAAE,OAAO,EAAC,CAAC,CAAC;IACvE,CAAC;IAEM,YAAY,CAAC,IAAqB,EAAE,MAAkB;QACzD,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAChD,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,EACrB,QAAQ,GAAG,CAAC,EACZ,SAAS,GAAG,GAAG,EACf,QAAQ,GAAG,MAAM,EACjB,QAAQ,GAAG,CAAC,EACZ,aAAa,GAAG,EAAE,EAClB,cAAc,GAAG,EAAE,EACC;QACpB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE;YACnD,QAAQ,EAAE,QAAQ;YAClB,SAAS,EAAE,SAAS;YACpB,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,QAAQ;YAClB,iBAAiB,EAAE,aAAa,CAAC,MAAM;YACvC,kBAAkB,EAAE,cAAc,CAAC,MAAM;YACzC,gBAAgB,EAAE,aAAa;YAC/B,iBAAiB,EAAE,cAAc;SACpC,CAAC,CAAC;QACH,KAAK,CAAC,GAAG,CAAC,yBAAyB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC9D,CAAC;IAEM,OAAO,CAAC,OAAe,EAAE,SAAiB,EAAE,QAAgB,EAAE,OAAO,GAAG,KAAK;QAEhF,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAC,EAAE,OAAO,CAAC,CAAC;IAC1E,CAAC;IAEO,wBAAwB,CAAC,OAA6B,EAAE,OAAe;QAC3E,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,OAAO,IAAI,CAAC;IAC3D,CAAC;IAEO,iBAAiB,CAAC,OAAmB,EAAE,OAA6B;QACxE,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC;YAC5D,CAAC,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS,CAAC;YACjE,CAAC,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IACpE,CAAC;IAEM,aAAa,CAAC,KAAa;QAC9B,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,EAAC,KAAK,EAAE,KAAK,EAAC,CAAC,CAAC;IAClE,CAAC;IAEM,UAAU,CAAC,OAAe;QAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,2BAA2B,EAAE,EAAC,YAAY,EAAE,OAAO,EAAC,CAAC,CAAC;IACvF,CAAC;IAEM,mBAAmB,CAAC,OAAmB,EAAE,YAA0B;QACtE,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,qBAAqB,EAAE,EAAC,OAAO,EAAE,YAAY,EAAC,CAAC,CAAC;QACjF,CAAC;aAAM,CAAC;YACJ,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,oBAAoB,EAAE,EAAC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,EAAC,CAAC,CAAC;QAC1F,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,cAAc,CAAC,WAAmB,EAAE,GAAW;QACxD,+CAA+C;QAC/C,MAAM,EAAE,GAAG,IAAI,+BAAsB,EAAE,CAAC;QACxC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC1E,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;QACd,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,EAAC,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAC,CAAC,CAAC;QACjG,IAAI,IAAI,CAAC,MAAM,IAAI,mBAAW,CAAC,OAAO,EAAE,CAAC;YACrC,MAAM,IAAI,GAAG,IAAI,kBAAU,CAAC,WAAW,CAAC,CAAC;YACzC,MAAM,OAAO,GAAG,IAAI,oBAAY,EAAE,CAAC;YACnC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;YAC7C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC7D,IAAI,MAAM,CAAC,MAAM,KAAK,mBAAW,CAAC,OAAO,EAAE,CAAC;gBACxC,MAAM,IAAI,KAAK,CAAC,yBAAyB,WAAW,UAAU,CAAC,CAAC;YACpE,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,KAAK,CAAC,yBAAyB,WAAW,UAAU,CAAC,CAAC;QACpE,CAAC;IACL,CAAC;IAEO,eAAe,CAAC,KAAoB;QACxC,gBAAgB;QAChB,IAAI,KAAK,CAAC,YAAY,IAAI,IAAI,EAAE,CAAC;YAC7B,IAAI,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACrC,oBAAoB;YACpB,IAAI,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC;YACzD,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,eAAO,CAAC,WAAW,CAAC,eAAO,EAAE,IAAI,CAAC,CAAC;YAChD,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,eAAO,CAAC,WAAW,CAAC,eAAO,EAAE,IAAI,CAAC,CAAC;YACtD,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,eAAO,CAAC,WAAW,CAAC,eAAO,EAAE,IAAI,CAAC,CAAC;YACrD,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,eAAO,CAAC,WAAW,CAAC,eAAO,EAAE,IAAI,CAAC,CAAC;YACxD,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,oBAAY,CAAC,WAAW,CAAC,oBAAY,EAAE,IAAI,CAAC,CAAC;YAC3D,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,gBAAQ,CAAC,WAAW,CAAC,gBAAQ,EAAE,IAAI,CAAC,CAAC;YACnD,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,gBAAQ,CAAC,WAAW,CAAC,gBAAQ,EAAE,IAAI,CAAC,CAAC;YACvD,mBAAmB;YACnB,MAAM,UAAU,GAAG;gBACf,WAAW,EAAE,KAAK,CAAC,YAAY;gBAC/B,QAAQ,EAAE;oBACN,SAAS,EAAE,MAAM;oBACjB,cAAc,EAAE,GAAG;oBACnB,SAAS,EAAE,MAAM;oBACjB,QAAQ,EAAE,KAAK,CAAC,cAAc;iBACjC;gBACD,GAAG,EAAE,KAAK,CAAC,OAAO;gBAClB,OAAO,EAAE;oBACL,SAAS,EAAE,KAAK,CAAC,YAAY;oBAC7B,YAAY,EAAE;wBACV,OAAO,EAAE,OAAO;wBAChB,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;wBACtC,QAAQ,EAAE,QAAQ;wBAClB,eAAe,EAAE,OAAO;qBAC3B;oBACD,KAAK,EAAE,KAAK,CAAC,KAAK;iBACrB;gBACD,MAAM,EAAE,KAAK,CAAC,IAAI;aACrB,CAAC;YACF,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;QAC7C,CAAC;aAAM,CAAC;YACJ,MAAM,UAAU,GAAG;gBACf,WAAW,EAAE,KAAK,CAAC,YAAY;gBAC/B,QAAQ,EAAE;oBACN,SAAS,EAAE,MAAM;oBACjB,cAAc,EAAE,GAAG;oBACnB,SAAS,EAAE,MAAM;oBACjB,QAAQ,EAAE,KAAK,CAAC,cAAc;iBACjC;gBACD,GAAG,EAAE,KAAK,CAAC,OAAO;gBAClB,OAAO,EAAE;oBACL,SAAS,EAAE,KAAK,CAAC,YAAY;oBAC7B,YAAY,EAAE,KAAK,CAAC,cAAc;oBAClC,KAAK,EAAE,KAAK,CAAC,KAAK;iBACrB;gBACD,MAAM,EAAE,KAAK,CAAC,IAAI;aACrB,CAAC;YACF,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;QAC7C,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,OAAqB;QACrC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAC,OAAO,EAAC,CAAC,CAAC;QACtD,CAAC;aAAM,CAAC;YACJ,iDAAiD;YACjD,MAAM,aAAa,GAAG;gBAClB,CAAC,oBAAY,CAAC,qBAAqB,CAAC,EAAE,CAAC;gBACvC,CAAC,oBAAY,CAAC,mBAAmB,CAAC,EAAE,CAAC;aACxC,CAAC;YACF,MAAM,GAAG,GAAG,IAAI,oCAA2B,EAAE,CAAC;YAC9C,GAAG,CAAC,IAAI,GAAG,aAAa,CAAC,OAAiB,CAAC,CAAC;YAC5C,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC;YACd,GAAG,CAAC,WAAW,GAAG,2BAAmB,CAAC,IAAI,CAAC;YAC3C,GAAG,CAAC,KAAK,GAAG,IAAI,kBAAU,CAAC,oBAAoB,CAAC,CAAC;YACjD,GAAG,CAAC,iBAAiB,GAAG,CAAC,CAAC;YAC1B,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC;YACd,GAAG,CAAC,mBAAmB,GAAG,CAAC,CAAC;YAC5B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,EAAC,OAAO,EAAE,GAAG,EAAC,CAAC,CAAC;YACzE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,gBAAQ,CAAC,YAAY,EACnD,aAAa,oBAAY,CAAC,WAAW,CAAC,oBAAY,EAAE,OAAO,CAAC,IAAI;kBAC9D,kCAAkC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YAC1D,OAAO,OAAO,CAAC;QACnB,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,iBAAiB;QAC1B,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACnE,CAAC;aAAM,CAAC;YACJ,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC;YACjE,OAAO,CAAC,MAAM,CACV,OAAO,CAAC,MAAM,KAAK,gBAAQ,CAAC,YAAY,EACxC,sDAAsD,OAAO,CAAC,MAAM,EAAE,CACzE,CAAC;YAEF,OAAO,OAAO,CAAC;QACnB,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,OAA8B;QACzD,oFAAoF;QACpF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC;QACtD,IAAI,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAE1B,IAAI,KAAK,GAAG,IAAI,CAAC;QACjB,mDAAmD;QACnD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC;QACtE,MAAM,aAAa,GAAG,SAAS,CAAC,UAAU,CAAC;QAC3C,KAAK,CAAC,GAAG,CAAC,+CAA+C,EAAE,SAAS,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QAC9F,KAAK,CAAC,GAAG,CAAC,iCAAiC,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;QACpE,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,oBAAY,CAAC,mBAAmB,CAAC,CAAC;QACvE,IAAI,MAAM,GAAW,IAAI,CAAC;QAC1B,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,EAAE,CAAC;YACvB,MAAM,GAAG,MAAM,CAAC,IAAI,CAAE,UAAU,CAAC,SAA4B,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAChF,CAAC;aAAM,CAAC;YACJ,MAAM,GAAG,MAAM,CAAC,IAAI,CAAE,UAAU,CAAC,OAAwB,CAAC,QAAQ,CAAC,CAAC;QACxE,CAAC;QAED,kGAAkG;QAClG,KAAK,GAAG,KAAK,IAAI,CAAC,aAAa,CAAC,KAAK,IAAI,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACtE,KAAK,GAAG,KAAK,IAAI,CAAC,aAAa,CAAC,YAAY,IAAI,MAAM,CAAC,cAAc,CAAC,CAAC;QACvE,KAAK,GAAG,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC;QACxG,KAAK,GAAG,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;QAChF,IAAI,KAAK,EAAE,CAAC;YACR,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;YAC1E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,OAAO,CAAC,KAAK,aAAa,aAAa,CAAC,KAAK,YAAY,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC;YAClI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI;gBACrG,WAAW,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI;gBACvE,UAAU,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC1E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,OAAO,CAAC,WAAW,aAAa,aAAa,CAAC,YAAY,IAAI;gBACrG,UAAU,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;YACvC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI;gBAC9F,WAAW,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI;gBAClD,UAAU,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAClE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;YAC5E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8EAA8E,CAAC,CAAC;YAClG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uEAAuE,CAAC,CAAC;YAC3F,MAAM,IAAI,KAAK,CAAC,uFAAuF,CAAC,CAAC;QAC7G,CAAC;QACD,KAAK,GAAG,IAAI,CAAC;QACb,+GAA+G;QAC/G,KAAK,GAAG,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAChE,KAAK,GAAG,KAAK,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;QACvE,KAAK,GAAG,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC;QAClG,KAAK,GAAG,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;QAC5F,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ;AAt3BD,wBAs3BC"}
1
+ {"version":3,"file":"driver.js","sourceRoot":"","sources":["../../../../src/adapter/ezsp/driver/driver.ts"],"names":[],"mappings":"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"}