@azure/arm-azurestackhci 4.0.0 → 4.1.0-beta.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 (969) hide show
  1. package/README.md +1 -1
  2. package/dist/browser/api/arcSettings/operations.js +19 -15
  3. package/dist/browser/api/arcSettings/operations.js.map +1 -1
  4. package/dist/browser/api/azureStackHCIContext.js +1 -1
  5. package/dist/browser/api/azureStackHCIContext.js.map +1 -1
  6. package/dist/browser/api/clusterJobs/index.d.ts +3 -0
  7. package/dist/browser/api/clusterJobs/index.js +4 -0
  8. package/dist/browser/api/clusterJobs/index.js.map +1 -0
  9. package/dist/browser/api/clusterJobs/operations.d.ts +28 -0
  10. package/dist/browser/api/clusterJobs/operations.js +140 -0
  11. package/dist/browser/api/clusterJobs/operations.js.map +1 -0
  12. package/dist/browser/api/clusterJobs/options.d.ts +18 -0
  13. package/dist/browser/api/clusterJobs/options.js +4 -0
  14. package/dist/browser/api/clusterJobs/options.js.map +1 -0
  15. package/dist/browser/api/clusters/index.d.ts +2 -2
  16. package/dist/browser/api/clusters/index.js +1 -1
  17. package/dist/browser/api/clusters/index.js.map +1 -1
  18. package/dist/browser/api/clusters/operations.d.ts +6 -2
  19. package/dist/browser/api/clusters/operations.js +65 -22
  20. package/dist/browser/api/clusters/operations.js.map +1 -1
  21. package/dist/browser/api/clusters/options.d.ts +5 -0
  22. package/dist/browser/api/clusters/options.js.map +1 -1
  23. package/dist/browser/api/deploymentSettings/operations.js +11 -7
  24. package/dist/browser/api/deploymentSettings/operations.js.map +1 -1
  25. package/dist/browser/api/devicePools/index.d.ts +3 -0
  26. package/dist/browser/api/devicePools/index.js +4 -0
  27. package/dist/browser/api/devicePools/index.js.map +1 -0
  28. package/dist/browser/api/devicePools/operations.d.ts +44 -0
  29. package/dist/browser/api/devicePools/operations.js +268 -0
  30. package/dist/browser/api/devicePools/operations.js.map +1 -0
  31. package/dist/browser/api/devicePools/options.d.ts +36 -0
  32. package/dist/browser/api/devicePools/options.js +4 -0
  33. package/dist/browser/api/devicePools/options.js.map +1 -0
  34. package/dist/browser/api/edgeDeviceJobs/operations.js +11 -7
  35. package/dist/browser/api/edgeDeviceJobs/operations.js.map +1 -1
  36. package/dist/browser/api/edgeDevices/operations.js +13 -9
  37. package/dist/browser/api/edgeDevices/operations.js.map +1 -1
  38. package/dist/browser/api/edgeMachineJobs/index.d.ts +3 -0
  39. package/dist/browser/api/edgeMachineJobs/index.js +4 -0
  40. package/dist/browser/api/edgeMachineJobs/index.js.map +1 -0
  41. package/dist/browser/api/edgeMachineJobs/operations.d.ts +28 -0
  42. package/dist/browser/api/edgeMachineJobs/operations.js +140 -0
  43. package/dist/browser/api/edgeMachineJobs/operations.js.map +1 -0
  44. package/dist/browser/api/edgeMachineJobs/options.d.ts +18 -0
  45. package/dist/browser/api/edgeMachineJobs/options.js +4 -0
  46. package/dist/browser/api/edgeMachineJobs/options.js.map +1 -0
  47. package/dist/browser/api/edgeMachines/index.d.ts +3 -0
  48. package/dist/browser/api/edgeMachines/index.js +4 -0
  49. package/dist/browser/api/edgeMachines/index.js.map +1 -0
  50. package/dist/browser/api/edgeMachines/operations.d.ts +36 -0
  51. package/dist/browser/api/edgeMachines/operations.js +200 -0
  52. package/dist/browser/api/edgeMachines/operations.js.map +1 -0
  53. package/dist/browser/api/edgeMachines/options.d.ts +26 -0
  54. package/dist/browser/api/edgeMachines/options.js +4 -0
  55. package/dist/browser/api/edgeMachines/options.js.map +1 -0
  56. package/dist/browser/api/extensions/operations.js +15 -11
  57. package/dist/browser/api/extensions/operations.js.map +1 -1
  58. package/dist/browser/api/kubernetesVersions/index.d.ts +3 -0
  59. package/dist/browser/api/kubernetesVersions/index.js +4 -0
  60. package/dist/browser/api/kubernetesVersions/index.js.map +1 -0
  61. package/dist/browser/api/kubernetesVersions/operations.d.ts +10 -0
  62. package/dist/browser/api/kubernetesVersions/operations.js +41 -0
  63. package/dist/browser/api/kubernetesVersions/operations.js.map +1 -0
  64. package/dist/browser/api/kubernetesVersions/options.d.ts +5 -0
  65. package/dist/browser/api/kubernetesVersions/options.js +4 -0
  66. package/dist/browser/api/kubernetesVersions/options.js.map +1 -0
  67. package/dist/browser/api/offers/operations.js +13 -5
  68. package/dist/browser/api/offers/operations.js.map +1 -1
  69. package/dist/browser/api/operations/operations.js +7 -3
  70. package/dist/browser/api/operations/operations.js.map +1 -1
  71. package/dist/browser/api/osImages/index.d.ts +3 -0
  72. package/dist/browser/api/osImages/index.js +4 -0
  73. package/dist/browser/api/osImages/index.js.map +1 -0
  74. package/dist/browser/api/osImages/operations.d.ts +14 -0
  75. package/dist/browser/api/osImages/operations.js +65 -0
  76. package/dist/browser/api/osImages/operations.js.map +1 -0
  77. package/dist/browser/api/osImages/options.d.ts +8 -0
  78. package/dist/browser/api/osImages/options.js +4 -0
  79. package/dist/browser/api/osImages/options.js.map +1 -0
  80. package/dist/browser/api/ownershipVouchers/index.d.ts +3 -0
  81. package/dist/browser/api/ownershipVouchers/index.js +4 -0
  82. package/dist/browser/api/ownershipVouchers/index.js.map +1 -0
  83. package/dist/browser/api/ownershipVouchers/operations.d.ts +9 -0
  84. package/dist/browser/api/ownershipVouchers/operations.js +36 -0
  85. package/dist/browser/api/ownershipVouchers/operations.js.map +1 -0
  86. package/dist/browser/api/ownershipVouchers/options.d.ts +5 -0
  87. package/dist/browser/api/ownershipVouchers/options.js +4 -0
  88. package/dist/browser/api/ownershipVouchers/options.js.map +1 -0
  89. package/dist/browser/api/platformUpdates/index.d.ts +3 -0
  90. package/dist/browser/api/platformUpdates/index.js +4 -0
  91. package/dist/browser/api/platformUpdates/index.js.map +1 -0
  92. package/dist/browser/api/platformUpdates/operations.d.ts +14 -0
  93. package/dist/browser/api/platformUpdates/operations.js +65 -0
  94. package/dist/browser/api/platformUpdates/operations.js.map +1 -0
  95. package/dist/browser/api/platformUpdates/options.d.ts +8 -0
  96. package/dist/browser/api/platformUpdates/options.js +4 -0
  97. package/dist/browser/api/platformUpdates/options.js.map +1 -0
  98. package/dist/browser/api/publishers/index.d.ts +3 -0
  99. package/dist/browser/api/publishers/index.js +4 -0
  100. package/dist/browser/api/publishers/index.js.map +1 -0
  101. package/dist/browser/api/publishers/operations.d.ts +14 -0
  102. package/dist/browser/api/publishers/operations.js +67 -0
  103. package/dist/browser/api/publishers/operations.js.map +1 -0
  104. package/dist/browser/api/publishers/options.d.ts +8 -0
  105. package/dist/browser/api/publishers/options.js +4 -0
  106. package/dist/browser/api/publishers/options.js.map +1 -0
  107. package/dist/browser/api/securitySettings/operations.js +11 -7
  108. package/dist/browser/api/securitySettings/operations.js.map +1 -1
  109. package/dist/browser/api/skus/operations.js +7 -3
  110. package/dist/browser/api/skus/operations.js.map +1 -1
  111. package/dist/browser/api/updateContents/index.d.ts +3 -0
  112. package/dist/browser/api/updateContents/index.js +4 -0
  113. package/dist/browser/api/updateContents/index.js.map +1 -0
  114. package/dist/browser/api/updateContents/operations.d.ts +14 -0
  115. package/dist/browser/api/updateContents/operations.js +65 -0
  116. package/dist/browser/api/updateContents/operations.js.map +1 -0
  117. package/dist/browser/api/updateContents/options.d.ts +8 -0
  118. package/dist/browser/api/updateContents/options.js +4 -0
  119. package/dist/browser/api/updateContents/options.js.map +1 -0
  120. package/dist/browser/api/updateRuns/operations.js +10 -6
  121. package/dist/browser/api/updateRuns/operations.js.map +1 -1
  122. package/dist/browser/api/updateSummaries/operations.js +10 -6
  123. package/dist/browser/api/updateSummaries/operations.js.map +1 -1
  124. package/dist/browser/api/updateSummariesOperationGroup/index.d.ts +3 -0
  125. package/dist/browser/api/updateSummariesOperationGroup/index.js +4 -0
  126. package/dist/browser/api/updateSummariesOperationGroup/index.js.map +1 -0
  127. package/dist/browser/api/updateSummariesOperationGroup/operations.d.ts +14 -0
  128. package/dist/browser/api/updateSummariesOperationGroup/operations.js +71 -0
  129. package/dist/browser/api/updateSummariesOperationGroup/operations.js.map +1 -0
  130. package/dist/browser/api/updateSummariesOperationGroup/options.d.ts +12 -0
  131. package/dist/browser/api/updateSummariesOperationGroup/options.js +4 -0
  132. package/dist/browser/api/updateSummariesOperationGroup/options.js.map +1 -0
  133. package/dist/browser/api/updates/index.d.ts +2 -2
  134. package/dist/browser/api/updates/index.js +1 -1
  135. package/dist/browser/api/updates/index.js.map +1 -1
  136. package/dist/browser/api/updates/operations.d.ts +5 -1
  137. package/dist/browser/api/updates/operations.js +43 -8
  138. package/dist/browser/api/updates/operations.js.map +1 -1
  139. package/dist/browser/api/updates/options.d.ts +5 -0
  140. package/dist/browser/api/updates/options.js.map +1 -1
  141. package/dist/browser/api/validatedSolutionRecipes/operations.js +7 -3
  142. package/dist/browser/api/validatedSolutionRecipes/operations.js.map +1 -1
  143. package/dist/browser/azureStackHCIClient.d.ts +33 -0
  144. package/dist/browser/azureStackHCIClient.js +44 -0
  145. package/dist/browser/azureStackHCIClient.js.map +1 -1
  146. package/dist/browser/classic/clusterJobs/index.d.ts +32 -0
  147. package/dist/browser/classic/clusterJobs/index.js +34 -0
  148. package/dist/browser/classic/clusterJobs/index.js.map +1 -0
  149. package/dist/browser/classic/clusters/index.d.ts +8 -2
  150. package/dist/browser/classic/clusters/index.js +10 -1
  151. package/dist/browser/classic/clusters/index.js.map +1 -1
  152. package/dist/browser/classic/devicePools/index.d.ts +52 -0
  153. package/dist/browser/classic/devicePools/index.js +62 -0
  154. package/dist/browser/classic/devicePools/index.js.map +1 -0
  155. package/dist/browser/classic/edgeMachineJobs/index.d.ts +32 -0
  156. package/dist/browser/classic/edgeMachineJobs/index.js +34 -0
  157. package/dist/browser/classic/edgeMachineJobs/index.js.map +1 -0
  158. package/dist/browser/classic/edgeMachines/index.d.ts +40 -0
  159. package/dist/browser/classic/edgeMachines/index.js +44 -0
  160. package/dist/browser/classic/edgeMachines/index.js.map +1 -0
  161. package/dist/browser/classic/index.d.ts +11 -0
  162. package/dist/browser/classic/index.js.map +1 -1
  163. package/dist/browser/classic/kubernetesVersions/index.d.ts +11 -0
  164. package/dist/browser/classic/kubernetesVersions/index.js +14 -0
  165. package/dist/browser/classic/kubernetesVersions/index.js.map +1 -0
  166. package/dist/browser/classic/osImages/index.d.ts +13 -0
  167. package/dist/browser/classic/osImages/index.js +15 -0
  168. package/dist/browser/classic/osImages/index.js.map +1 -0
  169. package/dist/browser/classic/ownershipVouchers/index.d.ts +10 -0
  170. package/dist/browser/classic/ownershipVouchers/index.js +14 -0
  171. package/dist/browser/classic/ownershipVouchers/index.js.map +1 -0
  172. package/dist/browser/classic/platformUpdates/index.d.ts +13 -0
  173. package/dist/browser/classic/platformUpdates/index.js +15 -0
  174. package/dist/browser/classic/platformUpdates/index.js.map +1 -0
  175. package/dist/browser/classic/publishers/index.d.ts +13 -0
  176. package/dist/browser/classic/publishers/index.js +15 -0
  177. package/dist/browser/classic/publishers/index.js.map +1 -0
  178. package/dist/browser/classic/updateContents/index.d.ts +13 -0
  179. package/dist/browser/classic/updateContents/index.js +15 -0
  180. package/dist/browser/classic/updateContents/index.js.map +1 -0
  181. package/dist/browser/classic/updateSummariesOperationGroup/index.d.ts +22 -0
  182. package/dist/browser/classic/updateSummariesOperationGroup/index.js +32 -0
  183. package/dist/browser/classic/updateSummariesOperationGroup/index.js.map +1 -0
  184. package/dist/browser/classic/updates/index.d.ts +7 -1
  185. package/dist/browser/classic/updates/index.js +10 -1
  186. package/dist/browser/classic/updates/index.js.map +1 -1
  187. package/dist/browser/index.d.ts +16 -5
  188. package/dist/browser/index.js +1 -1
  189. package/dist/browser/index.js.map +1 -1
  190. package/dist/browser/models/index.d.ts +2 -2
  191. package/dist/browser/models/index.js +1 -1
  192. package/dist/browser/models/index.js.map +1 -1
  193. package/dist/browser/models/models.d.ts +1572 -99
  194. package/dist/browser/models/models.js +1884 -202
  195. package/dist/browser/models/models.js.map +1 -1
  196. package/dist/browser/restorePollerHelpers.js +39 -6
  197. package/dist/browser/restorePollerHelpers.js.map +1 -1
  198. package/dist/commonjs/api/arcSettings/index.js +1 -0
  199. package/dist/commonjs/api/arcSettings/index.js.map +1 -1
  200. package/dist/commonjs/api/arcSettings/operations.js +20 -15
  201. package/dist/commonjs/api/arcSettings/operations.js.map +3 -3
  202. package/dist/commonjs/api/arcSettings/options.js +1 -0
  203. package/dist/commonjs/api/arcSettings/options.js.map +1 -1
  204. package/dist/commonjs/api/azureStackHCIContext.js +2 -1
  205. package/dist/commonjs/api/azureStackHCIContext.js.map +2 -2
  206. package/dist/commonjs/api/clusterJobs/index.d.ts +3 -0
  207. package/dist/commonjs/api/clusterJobs/index.js +34 -0
  208. package/dist/commonjs/api/clusterJobs/index.js.map +7 -0
  209. package/dist/commonjs/api/clusterJobs/operations.d.ts +28 -0
  210. package/dist/commonjs/api/clusterJobs/operations.js +199 -0
  211. package/dist/commonjs/api/clusterJobs/operations.js.map +7 -0
  212. package/dist/commonjs/api/clusterJobs/options.d.ts +18 -0
  213. package/dist/commonjs/api/clusterJobs/options.js +16 -0
  214. package/dist/commonjs/api/clusterJobs/options.js.map +7 -0
  215. package/dist/commonjs/api/clusters/index.d.ts +2 -2
  216. package/dist/commonjs/api/clusters/index.js +3 -0
  217. package/dist/commonjs/api/clusters/index.js.map +3 -3
  218. package/dist/commonjs/api/clusters/operations.d.ts +6 -2
  219. package/dist/commonjs/api/clusters/operations.js +74 -21
  220. package/dist/commonjs/api/clusters/operations.js.map +3 -3
  221. package/dist/commonjs/api/clusters/options.d.ts +5 -0
  222. package/dist/commonjs/api/clusters/options.js +1 -0
  223. package/dist/commonjs/api/clusters/options.js.map +2 -2
  224. package/dist/commonjs/api/deploymentSettings/index.js +1 -0
  225. package/dist/commonjs/api/deploymentSettings/index.js.map +1 -1
  226. package/dist/commonjs/api/deploymentSettings/operations.js +12 -7
  227. package/dist/commonjs/api/deploymentSettings/operations.js.map +3 -3
  228. package/dist/commonjs/api/deploymentSettings/options.js +1 -0
  229. package/dist/commonjs/api/deploymentSettings/options.js.map +1 -1
  230. package/dist/commonjs/api/devicePools/index.d.ts +3 -0
  231. package/dist/commonjs/api/devicePools/index.js +42 -0
  232. package/dist/commonjs/api/devicePools/index.js.map +7 -0
  233. package/dist/commonjs/api/devicePools/operations.d.ts +44 -0
  234. package/dist/commonjs/api/devicePools/operations.js +369 -0
  235. package/dist/commonjs/api/devicePools/operations.js.map +7 -0
  236. package/dist/commonjs/api/devicePools/options.d.ts +36 -0
  237. package/dist/commonjs/api/devicePools/options.js +16 -0
  238. package/dist/commonjs/api/devicePools/options.js.map +7 -0
  239. package/dist/commonjs/api/edgeDeviceJobs/index.js +1 -0
  240. package/dist/commonjs/api/edgeDeviceJobs/index.js.map +1 -1
  241. package/dist/commonjs/api/edgeDeviceJobs/operations.js +12 -7
  242. package/dist/commonjs/api/edgeDeviceJobs/operations.js.map +3 -3
  243. package/dist/commonjs/api/edgeDeviceJobs/options.js +1 -0
  244. package/dist/commonjs/api/edgeDeviceJobs/options.js.map +1 -1
  245. package/dist/commonjs/api/edgeDevices/index.js +1 -0
  246. package/dist/commonjs/api/edgeDevices/index.js.map +1 -1
  247. package/dist/commonjs/api/edgeDevices/operations.js +14 -9
  248. package/dist/commonjs/api/edgeDevices/operations.js.map +3 -3
  249. package/dist/commonjs/api/edgeDevices/options.js +1 -0
  250. package/dist/commonjs/api/edgeDevices/options.js.map +1 -1
  251. package/dist/commonjs/api/edgeMachineJobs/index.d.ts +3 -0
  252. package/dist/commonjs/api/edgeMachineJobs/index.js +34 -0
  253. package/dist/commonjs/api/edgeMachineJobs/index.js.map +7 -0
  254. package/dist/commonjs/api/edgeMachineJobs/operations.d.ts +28 -0
  255. package/dist/commonjs/api/edgeMachineJobs/operations.js +199 -0
  256. package/dist/commonjs/api/edgeMachineJobs/operations.js.map +7 -0
  257. package/dist/commonjs/api/edgeMachineJobs/options.d.ts +18 -0
  258. package/dist/commonjs/api/edgeMachineJobs/options.js +16 -0
  259. package/dist/commonjs/api/edgeMachineJobs/options.js.map +7 -0
  260. package/dist/commonjs/api/edgeMachines/index.d.ts +3 -0
  261. package/dist/commonjs/api/edgeMachines/index.js +38 -0
  262. package/dist/commonjs/api/edgeMachines/index.js.map +7 -0
  263. package/dist/commonjs/api/edgeMachines/operations.d.ts +36 -0
  264. package/dist/commonjs/api/edgeMachines/operations.js +283 -0
  265. package/dist/commonjs/api/edgeMachines/operations.js.map +7 -0
  266. package/dist/commonjs/api/edgeMachines/options.d.ts +26 -0
  267. package/dist/commonjs/api/edgeMachines/options.js +16 -0
  268. package/dist/commonjs/api/edgeMachines/options.js.map +7 -0
  269. package/dist/commonjs/api/extensions/index.js +1 -0
  270. package/dist/commonjs/api/extensions/index.js.map +1 -1
  271. package/dist/commonjs/api/extensions/operations.js +16 -11
  272. package/dist/commonjs/api/extensions/operations.js.map +3 -3
  273. package/dist/commonjs/api/extensions/options.js +1 -0
  274. package/dist/commonjs/api/extensions/options.js.map +1 -1
  275. package/dist/commonjs/api/index.js +1 -0
  276. package/dist/commonjs/api/index.js.map +1 -1
  277. package/dist/commonjs/api/kubernetesVersions/index.d.ts +3 -0
  278. package/dist/commonjs/api/kubernetesVersions/index.js +28 -0
  279. package/dist/commonjs/api/kubernetesVersions/index.js.map +7 -0
  280. package/dist/commonjs/api/kubernetesVersions/operations.d.ts +10 -0
  281. package/dist/commonjs/api/kubernetesVersions/operations.js +78 -0
  282. package/dist/commonjs/api/kubernetesVersions/operations.js.map +7 -0
  283. package/dist/commonjs/api/kubernetesVersions/options.d.ts +5 -0
  284. package/dist/commonjs/api/kubernetesVersions/options.js +16 -0
  285. package/dist/commonjs/api/kubernetesVersions/options.js.map +7 -0
  286. package/dist/commonjs/api/offers/index.js +1 -0
  287. package/dist/commonjs/api/offers/index.js.map +1 -1
  288. package/dist/commonjs/api/offers/operations.js +14 -5
  289. package/dist/commonjs/api/offers/operations.js.map +3 -3
  290. package/dist/commonjs/api/offers/options.js +1 -0
  291. package/dist/commonjs/api/offers/options.js.map +1 -1
  292. package/dist/commonjs/api/operations/index.js +1 -0
  293. package/dist/commonjs/api/operations/index.js.map +1 -1
  294. package/dist/commonjs/api/operations/operations.js +7 -2
  295. package/dist/commonjs/api/operations/operations.js.map +3 -3
  296. package/dist/commonjs/api/operations/options.js +1 -0
  297. package/dist/commonjs/api/operations/options.js.map +1 -1
  298. package/dist/commonjs/api/osImages/index.d.ts +3 -0
  299. package/dist/commonjs/api/osImages/index.js +30 -0
  300. package/dist/commonjs/api/osImages/index.js.map +7 -0
  301. package/dist/commonjs/api/osImages/operations.d.ts +14 -0
  302. package/dist/commonjs/api/osImages/operations.js +111 -0
  303. package/dist/commonjs/api/osImages/operations.js.map +7 -0
  304. package/dist/commonjs/api/osImages/options.d.ts +8 -0
  305. package/dist/commonjs/api/osImages/options.js +16 -0
  306. package/dist/commonjs/api/osImages/options.js.map +7 -0
  307. package/dist/commonjs/api/ownershipVouchers/index.d.ts +3 -0
  308. package/dist/commonjs/api/ownershipVouchers/index.js +28 -0
  309. package/dist/commonjs/api/ownershipVouchers/index.js.map +7 -0
  310. package/dist/commonjs/api/ownershipVouchers/operations.d.ts +9 -0
  311. package/dist/commonjs/api/ownershipVouchers/operations.js +73 -0
  312. package/dist/commonjs/api/ownershipVouchers/operations.js.map +7 -0
  313. package/dist/commonjs/api/ownershipVouchers/options.d.ts +5 -0
  314. package/dist/commonjs/api/ownershipVouchers/options.js +16 -0
  315. package/dist/commonjs/api/ownershipVouchers/options.js.map +7 -0
  316. package/dist/commonjs/api/platformUpdates/index.d.ts +3 -0
  317. package/dist/commonjs/api/platformUpdates/index.js +30 -0
  318. package/dist/commonjs/api/platformUpdates/index.js.map +7 -0
  319. package/dist/commonjs/api/platformUpdates/operations.d.ts +14 -0
  320. package/dist/commonjs/api/platformUpdates/operations.js +111 -0
  321. package/dist/commonjs/api/platformUpdates/operations.js.map +7 -0
  322. package/dist/commonjs/api/platformUpdates/options.d.ts +8 -0
  323. package/dist/commonjs/api/platformUpdates/options.js +16 -0
  324. package/dist/commonjs/api/platformUpdates/options.js.map +7 -0
  325. package/dist/commonjs/api/publishers/index.d.ts +3 -0
  326. package/dist/commonjs/api/publishers/index.js +30 -0
  327. package/dist/commonjs/api/publishers/index.js.map +7 -0
  328. package/dist/commonjs/api/publishers/operations.d.ts +14 -0
  329. package/dist/commonjs/api/publishers/operations.js +113 -0
  330. package/dist/commonjs/api/publishers/operations.js.map +7 -0
  331. package/dist/commonjs/api/publishers/options.d.ts +8 -0
  332. package/dist/commonjs/api/publishers/options.js +16 -0
  333. package/dist/commonjs/api/publishers/options.js.map +7 -0
  334. package/dist/commonjs/api/securitySettings/index.js +1 -0
  335. package/dist/commonjs/api/securitySettings/index.js.map +1 -1
  336. package/dist/commonjs/api/securitySettings/operations.js +12 -7
  337. package/dist/commonjs/api/securitySettings/operations.js.map +3 -3
  338. package/dist/commonjs/api/securitySettings/options.js +1 -0
  339. package/dist/commonjs/api/securitySettings/options.js.map +1 -1
  340. package/dist/commonjs/api/skus/index.js +1 -0
  341. package/dist/commonjs/api/skus/index.js.map +1 -1
  342. package/dist/commonjs/api/skus/operations.js +8 -3
  343. package/dist/commonjs/api/skus/operations.js.map +3 -3
  344. package/dist/commonjs/api/skus/options.js +1 -0
  345. package/dist/commonjs/api/skus/options.js.map +1 -1
  346. package/dist/commonjs/api/updateContents/index.d.ts +3 -0
  347. package/dist/commonjs/api/updateContents/index.js +30 -0
  348. package/dist/commonjs/api/updateContents/index.js.map +7 -0
  349. package/dist/commonjs/api/updateContents/operations.d.ts +14 -0
  350. package/dist/commonjs/api/updateContents/operations.js +111 -0
  351. package/dist/commonjs/api/updateContents/operations.js.map +7 -0
  352. package/dist/commonjs/api/updateContents/options.d.ts +8 -0
  353. package/dist/commonjs/api/updateContents/options.js +16 -0
  354. package/dist/commonjs/api/updateContents/options.js.map +7 -0
  355. package/dist/commonjs/api/updateRuns/index.js +1 -0
  356. package/dist/commonjs/api/updateRuns/index.js.map +1 -1
  357. package/dist/commonjs/api/updateRuns/operations.js +11 -6
  358. package/dist/commonjs/api/updateRuns/operations.js.map +3 -3
  359. package/dist/commonjs/api/updateRuns/options.js +1 -0
  360. package/dist/commonjs/api/updateRuns/options.js.map +1 -1
  361. package/dist/commonjs/api/updateSummaries/index.js +1 -0
  362. package/dist/commonjs/api/updateSummaries/index.js.map +1 -1
  363. package/dist/commonjs/api/updateSummaries/operations.js +11 -6
  364. package/dist/commonjs/api/updateSummaries/operations.js.map +3 -3
  365. package/dist/commonjs/api/updateSummaries/options.js +1 -0
  366. package/dist/commonjs/api/updateSummaries/options.js.map +1 -1
  367. package/dist/commonjs/api/updateSummariesOperationGroup/index.d.ts +3 -0
  368. package/dist/commonjs/api/updateSummariesOperationGroup/index.js +30 -0
  369. package/dist/commonjs/api/updateSummariesOperationGroup/index.js.map +7 -0
  370. package/dist/commonjs/api/updateSummariesOperationGroup/operations.d.ts +14 -0
  371. package/dist/commonjs/api/updateSummariesOperationGroup/operations.js +111 -0
  372. package/dist/commonjs/api/updateSummariesOperationGroup/operations.js.map +7 -0
  373. package/dist/commonjs/api/updateSummariesOperationGroup/options.d.ts +12 -0
  374. package/dist/commonjs/api/updateSummariesOperationGroup/options.js +16 -0
  375. package/dist/commonjs/api/updateSummariesOperationGroup/options.js.map +7 -0
  376. package/dist/commonjs/api/updates/index.d.ts +2 -2
  377. package/dist/commonjs/api/updates/index.js +3 -0
  378. package/dist/commonjs/api/updates/index.js.map +3 -3
  379. package/dist/commonjs/api/updates/operations.d.ts +5 -1
  380. package/dist/commonjs/api/updates/operations.js +53 -8
  381. package/dist/commonjs/api/updates/operations.js.map +3 -3
  382. package/dist/commonjs/api/updates/options.d.ts +5 -0
  383. package/dist/commonjs/api/updates/options.js +1 -0
  384. package/dist/commonjs/api/updates/options.js.map +2 -2
  385. package/dist/commonjs/api/validatedSolutionRecipes/index.js +1 -0
  386. package/dist/commonjs/api/validatedSolutionRecipes/index.js.map +1 -1
  387. package/dist/commonjs/api/validatedSolutionRecipes/operations.js +8 -3
  388. package/dist/commonjs/api/validatedSolutionRecipes/operations.js.map +3 -3
  389. package/dist/commonjs/api/validatedSolutionRecipes/options.js +1 -0
  390. package/dist/commonjs/api/validatedSolutionRecipes/options.js.map +1 -1
  391. package/dist/commonjs/azureStackHCIClient.d.ts +33 -0
  392. package/dist/commonjs/azureStackHCIClient.js +45 -0
  393. package/dist/commonjs/azureStackHCIClient.js.map +3 -3
  394. package/dist/commonjs/classic/arcSettings/index.js +1 -0
  395. package/dist/commonjs/classic/arcSettings/index.js.map +1 -1
  396. package/dist/commonjs/classic/clusterJobs/index.d.ts +32 -0
  397. package/dist/commonjs/classic/clusterJobs/index.js +72 -0
  398. package/dist/commonjs/classic/clusterJobs/index.js.map +7 -0
  399. package/dist/commonjs/classic/clusters/index.d.ts +8 -2
  400. package/dist/commonjs/classic/clusters/index.js +16 -0
  401. package/dist/commonjs/classic/clusters/index.js.map +3 -3
  402. package/dist/commonjs/classic/deploymentSettings/index.js +1 -0
  403. package/dist/commonjs/classic/deploymentSettings/index.js.map +1 -1
  404. package/dist/commonjs/classic/devicePools/index.d.ts +52 -0
  405. package/dist/commonjs/classic/devicePools/index.js +86 -0
  406. package/dist/commonjs/classic/devicePools/index.js.map +7 -0
  407. package/dist/commonjs/classic/edgeDeviceJobs/index.js +1 -0
  408. package/dist/commonjs/classic/edgeDeviceJobs/index.js.map +1 -1
  409. package/dist/commonjs/classic/edgeDevices/index.js +1 -0
  410. package/dist/commonjs/classic/edgeDevices/index.js.map +1 -1
  411. package/dist/commonjs/classic/edgeMachineJobs/index.d.ts +32 -0
  412. package/dist/commonjs/classic/edgeMachineJobs/index.js +72 -0
  413. package/dist/commonjs/classic/edgeMachineJobs/index.js.map +7 -0
  414. package/dist/commonjs/classic/edgeMachines/index.d.ts +40 -0
  415. package/dist/commonjs/classic/edgeMachines/index.js +68 -0
  416. package/dist/commonjs/classic/edgeMachines/index.js.map +7 -0
  417. package/dist/commonjs/classic/extensions/index.js +1 -0
  418. package/dist/commonjs/classic/extensions/index.js.map +1 -1
  419. package/dist/commonjs/classic/index.d.ts +11 -0
  420. package/dist/commonjs/classic/index.js +1 -0
  421. package/dist/commonjs/classic/index.js.map +2 -2
  422. package/dist/commonjs/classic/kubernetesVersions/index.d.ts +11 -0
  423. package/dist/commonjs/classic/kubernetesVersions/index.js +38 -0
  424. package/dist/commonjs/classic/kubernetesVersions/index.js.map +7 -0
  425. package/dist/commonjs/classic/offers/index.js +1 -0
  426. package/dist/commonjs/classic/offers/index.js.map +1 -1
  427. package/dist/commonjs/classic/operations/index.js +1 -0
  428. package/dist/commonjs/classic/operations/index.js.map +1 -1
  429. package/dist/commonjs/classic/osImages/index.d.ts +13 -0
  430. package/dist/commonjs/classic/osImages/index.js +39 -0
  431. package/dist/commonjs/classic/osImages/index.js.map +7 -0
  432. package/dist/commonjs/classic/ownershipVouchers/index.d.ts +10 -0
  433. package/dist/commonjs/classic/ownershipVouchers/index.js +38 -0
  434. package/dist/commonjs/classic/ownershipVouchers/index.js.map +7 -0
  435. package/dist/commonjs/classic/platformUpdates/index.d.ts +13 -0
  436. package/dist/commonjs/classic/platformUpdates/index.js +39 -0
  437. package/dist/commonjs/classic/platformUpdates/index.js.map +7 -0
  438. package/dist/commonjs/classic/publishers/index.d.ts +13 -0
  439. package/dist/commonjs/classic/publishers/index.js +39 -0
  440. package/dist/commonjs/classic/publishers/index.js.map +7 -0
  441. package/dist/commonjs/classic/securitySettings/index.js +1 -0
  442. package/dist/commonjs/classic/securitySettings/index.js.map +1 -1
  443. package/dist/commonjs/classic/skus/index.js +1 -0
  444. package/dist/commonjs/classic/skus/index.js.map +1 -1
  445. package/dist/commonjs/classic/updateContents/index.d.ts +13 -0
  446. package/dist/commonjs/classic/updateContents/index.js +39 -0
  447. package/dist/commonjs/classic/updateContents/index.js.map +7 -0
  448. package/dist/commonjs/classic/updateRuns/index.js +1 -0
  449. package/dist/commonjs/classic/updateRuns/index.js.map +1 -1
  450. package/dist/commonjs/classic/updateSummaries/index.js +1 -0
  451. package/dist/commonjs/classic/updateSummaries/index.js.map +1 -1
  452. package/dist/commonjs/classic/updateSummariesOperationGroup/index.d.ts +22 -0
  453. package/dist/commonjs/classic/updateSummariesOperationGroup/index.js +56 -0
  454. package/dist/commonjs/classic/updateSummariesOperationGroup/index.js.map +7 -0
  455. package/dist/commonjs/classic/updates/index.d.ts +7 -1
  456. package/dist/commonjs/classic/updates/index.js +10 -0
  457. package/dist/commonjs/classic/updates/index.js.map +3 -3
  458. package/dist/commonjs/classic/validatedSolutionRecipes/index.js +1 -0
  459. package/dist/commonjs/classic/validatedSolutionRecipes/index.js.map +1 -1
  460. package/dist/commonjs/index.d.ts +16 -5
  461. package/dist/commonjs/index.js +43 -0
  462. package/dist/commonjs/index.js.map +3 -3
  463. package/dist/commonjs/logger.js +1 -0
  464. package/dist/commonjs/logger.js.map +1 -1
  465. package/dist/commonjs/models/index.d.ts +2 -2
  466. package/dist/commonjs/models/index.js +43 -0
  467. package/dist/commonjs/models/index.js.map +3 -3
  468. package/dist/commonjs/models/models.d.ts +1572 -99
  469. package/dist/commonjs/models/models.js +1980 -226
  470. package/dist/commonjs/models/models.js.map +4 -4
  471. package/dist/commonjs/restorePollerHelpers.js +70 -36
  472. package/dist/commonjs/restorePollerHelpers.js.map +4 -4
  473. package/dist/commonjs/static-helpers/cloudSettingHelpers.js +1 -0
  474. package/dist/commonjs/static-helpers/cloudSettingHelpers.js.map +1 -1
  475. package/dist/commonjs/static-helpers/pagingHelpers.js +1 -0
  476. package/dist/commonjs/static-helpers/pagingHelpers.js.map +1 -1
  477. package/dist/commonjs/static-helpers/pollingHelpers.js +1 -0
  478. package/dist/commonjs/static-helpers/pollingHelpers.js.map +1 -1
  479. package/dist/commonjs/static-helpers/serialization/check-prop-undefined.js +1 -0
  480. package/dist/commonjs/static-helpers/serialization/check-prop-undefined.js.map +1 -1
  481. package/dist/commonjs/static-helpers/simplePollerHelpers.js +1 -0
  482. package/dist/commonjs/static-helpers/simplePollerHelpers.js.map +1 -1
  483. package/dist/commonjs/static-helpers/urlTemplate.js +1 -0
  484. package/dist/commonjs/static-helpers/urlTemplate.js.map +1 -1
  485. package/dist/commonjs/tsdoc-metadata.json +1 -1
  486. package/dist/esm/api/arcSettings/index.js +4 -24
  487. package/dist/esm/api/arcSettings/index.js.map +1 -7
  488. package/dist/esm/api/arcSettings/operations.js +282 -391
  489. package/dist/esm/api/arcSettings/operations.js.map +1 -7
  490. package/dist/esm/api/arcSettings/options.js +4 -0
  491. package/dist/esm/api/arcSettings/options.js.map +1 -7
  492. package/dist/esm/api/azureStackHCIContext.js +20 -17
  493. package/dist/esm/api/azureStackHCIContext.js.map +1 -7
  494. package/dist/esm/api/clusterJobs/index.d.ts +3 -0
  495. package/dist/esm/api/clusterJobs/index.js +4 -0
  496. package/dist/esm/api/clusterJobs/index.js.map +1 -0
  497. package/dist/esm/api/clusterJobs/operations.d.ts +28 -0
  498. package/dist/esm/api/clusterJobs/operations.js +140 -0
  499. package/dist/esm/api/clusterJobs/operations.js.map +1 -0
  500. package/dist/esm/api/clusterJobs/options.d.ts +18 -0
  501. package/dist/esm/api/clusterJobs/options.js +4 -0
  502. package/dist/esm/api/clusterJobs/options.js.map +1 -0
  503. package/dist/esm/api/clusters/index.d.ts +2 -2
  504. package/dist/esm/api/clusters/index.js +4 -28
  505. package/dist/esm/api/clusters/index.js.map +1 -7
  506. package/dist/esm/api/clusters/operations.d.ts +6 -2
  507. package/dist/esm/api/clusters/operations.js +415 -491
  508. package/dist/esm/api/clusters/operations.js.map +1 -7
  509. package/dist/esm/api/clusters/options.d.ts +5 -0
  510. package/dist/esm/api/clusters/options.js +4 -0
  511. package/dist/esm/api/clusters/options.js.map +1 -7
  512. package/dist/esm/api/deploymentSettings/index.js +4 -7
  513. package/dist/esm/api/deploymentSettings/index.js.map +1 -7
  514. package/dist/esm/api/deploymentSettings/operations.js +121 -159
  515. package/dist/esm/api/deploymentSettings/operations.js.map +1 -7
  516. package/dist/esm/api/deploymentSettings/options.js +4 -0
  517. package/dist/esm/api/deploymentSettings/options.js.map +1 -7
  518. package/dist/esm/api/devicePools/index.d.ts +3 -0
  519. package/dist/esm/api/devicePools/index.js +4 -0
  520. package/dist/esm/api/devicePools/index.js.map +1 -0
  521. package/dist/esm/api/devicePools/operations.d.ts +44 -0
  522. package/dist/esm/api/devicePools/operations.js +268 -0
  523. package/dist/esm/api/devicePools/operations.js.map +1 -0
  524. package/dist/esm/api/devicePools/options.d.ts +36 -0
  525. package/dist/esm/api/devicePools/options.js +4 -0
  526. package/dist/esm/api/devicePools/options.js.map +1 -0
  527. package/dist/esm/api/edgeDeviceJobs/index.js +4 -7
  528. package/dist/esm/api/edgeDeviceJobs/index.js.map +1 -7
  529. package/dist/esm/api/edgeDeviceJobs/operations.js +117 -142
  530. package/dist/esm/api/edgeDeviceJobs/operations.js.map +1 -7
  531. package/dist/esm/api/edgeDeviceJobs/options.js +4 -0
  532. package/dist/esm/api/edgeDeviceJobs/options.js.map +1 -7
  533. package/dist/esm/api/edgeDevices/index.js +4 -8
  534. package/dist/esm/api/edgeDevices/index.js.map +1 -7
  535. package/dist/esm/api/edgeDevices/operations.js +143 -176
  536. package/dist/esm/api/edgeDevices/operations.js.map +1 -7
  537. package/dist/esm/api/edgeDevices/options.js +4 -0
  538. package/dist/esm/api/edgeDevices/options.js.map +1 -7
  539. package/dist/esm/api/edgeMachineJobs/index.d.ts +3 -0
  540. package/dist/esm/api/edgeMachineJobs/index.js +4 -0
  541. package/dist/esm/api/edgeMachineJobs/index.js.map +1 -0
  542. package/dist/esm/api/edgeMachineJobs/operations.d.ts +28 -0
  543. package/dist/esm/api/edgeMachineJobs/operations.js +140 -0
  544. package/dist/esm/api/edgeMachineJobs/operations.js.map +1 -0
  545. package/dist/esm/api/edgeMachineJobs/options.d.ts +18 -0
  546. package/dist/esm/api/edgeMachineJobs/options.js +4 -0
  547. package/dist/esm/api/edgeMachineJobs/options.js.map +1 -0
  548. package/dist/esm/api/edgeMachines/index.d.ts +3 -0
  549. package/dist/esm/api/edgeMachines/index.js +4 -0
  550. package/dist/esm/api/edgeMachines/index.js.map +1 -0
  551. package/dist/esm/api/edgeMachines/operations.d.ts +36 -0
  552. package/dist/esm/api/edgeMachines/operations.js +200 -0
  553. package/dist/esm/api/edgeMachines/operations.js.map +1 -0
  554. package/dist/esm/api/edgeMachines/options.d.ts +26 -0
  555. package/dist/esm/api/edgeMachines/options.js +4 -0
  556. package/dist/esm/api/edgeMachines/options.js.map +1 -0
  557. package/dist/esm/api/extensions/index.js +4 -9
  558. package/dist/esm/api/extensions/index.js.map +1 -7
  559. package/dist/esm/api/extensions/operations.js +205 -275
  560. package/dist/esm/api/extensions/operations.js.map +1 -7
  561. package/dist/esm/api/extensions/options.js +4 -0
  562. package/dist/esm/api/extensions/options.js.map +1 -7
  563. package/dist/esm/api/index.js +4 -4
  564. package/dist/esm/api/index.js.map +1 -7
  565. package/dist/esm/api/kubernetesVersions/index.d.ts +3 -0
  566. package/dist/esm/api/kubernetesVersions/index.js +4 -0
  567. package/dist/esm/api/kubernetesVersions/index.js.map +1 -0
  568. package/dist/esm/api/kubernetesVersions/operations.d.ts +10 -0
  569. package/dist/esm/api/kubernetesVersions/operations.js +41 -0
  570. package/dist/esm/api/kubernetesVersions/operations.js.map +1 -0
  571. package/dist/esm/api/kubernetesVersions/options.d.ts +5 -0
  572. package/dist/esm/api/kubernetesVersions/options.js +4 -0
  573. package/dist/esm/api/kubernetesVersions/options.js.map +1 -0
  574. package/dist/esm/api/offers/index.js +4 -6
  575. package/dist/esm/api/offers/index.js.map +1 -7
  576. package/dist/esm/api/offers/operations.js +89 -121
  577. package/dist/esm/api/offers/operations.js.map +1 -7
  578. package/dist/esm/api/offers/options.js +4 -0
  579. package/dist/esm/api/offers/options.js.map +1 -7
  580. package/dist/esm/api/operations/index.js +4 -4
  581. package/dist/esm/api/operations/index.js.map +1 -7
  582. package/dist/esm/api/operations/operations.js +29 -39
  583. package/dist/esm/api/operations/operations.js.map +1 -7
  584. package/dist/esm/api/operations/options.js +4 -0
  585. package/dist/esm/api/operations/options.js.map +1 -7
  586. package/dist/esm/api/osImages/index.d.ts +3 -0
  587. package/dist/esm/api/osImages/index.js +4 -0
  588. package/dist/esm/api/osImages/index.js.map +1 -0
  589. package/dist/esm/api/osImages/operations.d.ts +14 -0
  590. package/dist/esm/api/osImages/operations.js +65 -0
  591. package/dist/esm/api/osImages/operations.js.map +1 -0
  592. package/dist/esm/api/osImages/options.d.ts +8 -0
  593. package/dist/esm/api/osImages/options.js +4 -0
  594. package/dist/esm/api/osImages/options.js.map +1 -0
  595. package/dist/esm/api/ownershipVouchers/index.d.ts +3 -0
  596. package/dist/esm/api/ownershipVouchers/index.js +4 -0
  597. package/dist/esm/api/ownershipVouchers/index.js.map +1 -0
  598. package/dist/esm/api/ownershipVouchers/operations.d.ts +9 -0
  599. package/dist/esm/api/ownershipVouchers/operations.js +36 -0
  600. package/dist/esm/api/ownershipVouchers/operations.js.map +1 -0
  601. package/dist/esm/api/ownershipVouchers/options.d.ts +5 -0
  602. package/dist/esm/api/ownershipVouchers/options.js +4 -0
  603. package/dist/esm/api/ownershipVouchers/options.js.map +1 -0
  604. package/dist/esm/api/platformUpdates/index.d.ts +3 -0
  605. package/dist/esm/api/platformUpdates/index.js +4 -0
  606. package/dist/esm/api/platformUpdates/index.js.map +1 -0
  607. package/dist/esm/api/platformUpdates/operations.d.ts +14 -0
  608. package/dist/esm/api/platformUpdates/operations.js +65 -0
  609. package/dist/esm/api/platformUpdates/operations.js.map +1 -0
  610. package/dist/esm/api/platformUpdates/options.d.ts +8 -0
  611. package/dist/esm/api/platformUpdates/options.js +4 -0
  612. package/dist/esm/api/platformUpdates/options.js.map +1 -0
  613. package/dist/esm/api/publishers/index.d.ts +3 -0
  614. package/dist/esm/api/publishers/index.js +4 -0
  615. package/dist/esm/api/publishers/index.js.map +1 -0
  616. package/dist/esm/api/publishers/operations.d.ts +14 -0
  617. package/dist/esm/api/publishers/operations.js +67 -0
  618. package/dist/esm/api/publishers/operations.js.map +1 -0
  619. package/dist/esm/api/publishers/options.d.ts +8 -0
  620. package/dist/esm/api/publishers/options.js +4 -0
  621. package/dist/esm/api/publishers/options.js.map +1 -0
  622. package/dist/esm/api/securitySettings/index.js +4 -7
  623. package/dist/esm/api/securitySettings/index.js.map +1 -7
  624. package/dist/esm/api/securitySettings/operations.js +121 -159
  625. package/dist/esm/api/securitySettings/operations.js.map +1 -7
  626. package/dist/esm/api/securitySettings/options.js +4 -0
  627. package/dist/esm/api/securitySettings/options.js.map +1 -7
  628. package/dist/esm/api/skus/index.js +4 -5
  629. package/dist/esm/api/skus/index.js.map +1 -7
  630. package/dist/esm/api/skus/operations.js +63 -88
  631. package/dist/esm/api/skus/operations.js.map +1 -7
  632. package/dist/esm/api/skus/options.js +4 -0
  633. package/dist/esm/api/skus/options.js.map +1 -7
  634. package/dist/esm/api/updateContents/index.d.ts +3 -0
  635. package/dist/esm/api/updateContents/index.js +4 -0
  636. package/dist/esm/api/updateContents/index.js.map +1 -0
  637. package/dist/esm/api/updateContents/operations.d.ts +14 -0
  638. package/dist/esm/api/updateContents/operations.js +65 -0
  639. package/dist/esm/api/updateContents/operations.js.map +1 -0
  640. package/dist/esm/api/updateContents/options.d.ts +8 -0
  641. package/dist/esm/api/updateContents/options.js +4 -0
  642. package/dist/esm/api/updateContents/options.js.map +1 -0
  643. package/dist/esm/api/updateRuns/index.js +4 -7
  644. package/dist/esm/api/updateRuns/index.js.map +1 -7
  645. package/dist/esm/api/updateRuns/operations.js +120 -160
  646. package/dist/esm/api/updateRuns/operations.js.map +1 -7
  647. package/dist/esm/api/updateRuns/options.js +4 -0
  648. package/dist/esm/api/updateRuns/options.js.map +1 -7
  649. package/dist/esm/api/updateSummaries/index.js +4 -7
  650. package/dist/esm/api/updateSummaries/index.js.map +1 -7
  651. package/dist/esm/api/updateSummaries/operations.js +113 -144
  652. package/dist/esm/api/updateSummaries/operations.js.map +1 -7
  653. package/dist/esm/api/updateSummaries/options.js +4 -0
  654. package/dist/esm/api/updateSummaries/options.js.map +1 -7
  655. package/dist/esm/api/updateSummariesOperationGroup/index.d.ts +3 -0
  656. package/dist/esm/api/updateSummariesOperationGroup/index.js +4 -0
  657. package/dist/esm/api/updateSummariesOperationGroup/index.js.map +1 -0
  658. package/dist/esm/api/updateSummariesOperationGroup/operations.d.ts +14 -0
  659. package/dist/esm/api/updateSummariesOperationGroup/operations.js +71 -0
  660. package/dist/esm/api/updateSummariesOperationGroup/operations.js.map +1 -0
  661. package/dist/esm/api/updateSummariesOperationGroup/options.d.ts +12 -0
  662. package/dist/esm/api/updateSummariesOperationGroup/options.js +4 -0
  663. package/dist/esm/api/updateSummariesOperationGroup/options.js.map +1 -0
  664. package/dist/esm/api/updates/index.d.ts +2 -2
  665. package/dist/esm/api/updates/index.js +4 -8
  666. package/dist/esm/api/updates/index.js.map +1 -7
  667. package/dist/esm/api/updates/operations.d.ts +5 -1
  668. package/dist/esm/api/updates/operations.js +188 -195
  669. package/dist/esm/api/updates/operations.js.map +1 -7
  670. package/dist/esm/api/updates/options.d.ts +5 -0
  671. package/dist/esm/api/updates/options.js +4 -0
  672. package/dist/esm/api/updates/options.js.map +1 -7
  673. package/dist/esm/api/validatedSolutionRecipes/index.js +4 -5
  674. package/dist/esm/api/validatedSolutionRecipes/index.js.map +1 -7
  675. package/dist/esm/api/validatedSolutionRecipes/operations.js +58 -75
  676. package/dist/esm/api/validatedSolutionRecipes/operations.js.map +1 -7
  677. package/dist/esm/api/validatedSolutionRecipes/options.js +4 -0
  678. package/dist/esm/api/validatedSolutionRecipes/options.js.map +1 -7
  679. package/dist/esm/azureStackHCIClient.d.ts +33 -0
  680. package/dist/esm/azureStackHCIClient.js +112 -65
  681. package/dist/esm/azureStackHCIClient.js.map +1 -7
  682. package/dist/esm/classic/arcSettings/index.js +52 -108
  683. package/dist/esm/classic/arcSettings/index.js.map +1 -7
  684. package/dist/esm/classic/clusterJobs/index.d.ts +32 -0
  685. package/dist/esm/classic/clusterJobs/index.js +34 -0
  686. package/dist/esm/classic/clusterJobs/index.js.map +1 -0
  687. package/dist/esm/classic/clusters/index.d.ts +8 -2
  688. package/dist/esm/classic/clusters/index.js +87 -151
  689. package/dist/esm/classic/clusters/index.js.map +1 -7
  690. package/dist/esm/classic/deploymentSettings/index.js +30 -68
  691. package/dist/esm/classic/deploymentSettings/index.js.map +1 -7
  692. package/dist/esm/classic/devicePools/index.d.ts +52 -0
  693. package/dist/esm/classic/devicePools/index.js +62 -0
  694. package/dist/esm/classic/devicePools/index.js.map +1 -0
  695. package/dist/esm/classic/edgeDeviceJobs/index.js +30 -49
  696. package/dist/esm/classic/edgeDeviceJobs/index.js.map +1 -7
  697. package/dist/esm/classic/edgeDevices/index.js +38 -38
  698. package/dist/esm/classic/edgeDevices/index.js.map +1 -7
  699. package/dist/esm/classic/edgeMachineJobs/index.d.ts +32 -0
  700. package/dist/esm/classic/edgeMachineJobs/index.js +34 -0
  701. package/dist/esm/classic/edgeMachineJobs/index.js.map +1 -0
  702. package/dist/esm/classic/edgeMachines/index.d.ts +40 -0
  703. package/dist/esm/classic/edgeMachines/index.js +44 -0
  704. package/dist/esm/classic/edgeMachines/index.js.map +1 -0
  705. package/dist/esm/classic/extensions/index.js +48 -141
  706. package/dist/esm/classic/extensions/index.js.map +1 -7
  707. package/dist/esm/classic/index.d.ts +11 -0
  708. package/dist/esm/classic/index.js +4 -0
  709. package/dist/esm/classic/index.js.map +1 -7
  710. package/dist/esm/classic/kubernetesVersions/index.d.ts +11 -0
  711. package/dist/esm/classic/kubernetesVersions/index.js +14 -0
  712. package/dist/esm/classic/kubernetesVersions/index.js.map +1 -0
  713. package/dist/esm/classic/offers/index.js +12 -12
  714. package/dist/esm/classic/offers/index.js.map +1 -7
  715. package/dist/esm/classic/operations/index.js +10 -10
  716. package/dist/esm/classic/operations/index.js.map +1 -7
  717. package/dist/esm/classic/osImages/index.d.ts +13 -0
  718. package/dist/esm/classic/osImages/index.js +15 -0
  719. package/dist/esm/classic/osImages/index.js.map +1 -0
  720. package/dist/esm/classic/ownershipVouchers/index.d.ts +10 -0
  721. package/dist/esm/classic/ownershipVouchers/index.js +14 -0
  722. package/dist/esm/classic/ownershipVouchers/index.js.map +1 -0
  723. package/dist/esm/classic/platformUpdates/index.d.ts +13 -0
  724. package/dist/esm/classic/platformUpdates/index.js +15 -0
  725. package/dist/esm/classic/platformUpdates/index.js.map +1 -0
  726. package/dist/esm/classic/publishers/index.d.ts +13 -0
  727. package/dist/esm/classic/publishers/index.js +15 -0
  728. package/dist/esm/classic/publishers/index.js.map +1 -0
  729. package/dist/esm/classic/securitySettings/index.js +30 -62
  730. package/dist/esm/classic/securitySettings/index.js.map +1 -7
  731. package/dist/esm/classic/skus/index.js +11 -11
  732. package/dist/esm/classic/skus/index.js.map +1 -7
  733. package/dist/esm/classic/updateContents/index.d.ts +13 -0
  734. package/dist/esm/classic/updateContents/index.js +15 -0
  735. package/dist/esm/classic/updateContents/index.js.map +1 -0
  736. package/dist/esm/classic/updateRuns/index.js +21 -43
  737. package/dist/esm/classic/updateRuns/index.js.map +1 -7
  738. package/dist/esm/classic/updateSummaries/index.js +21 -21
  739. package/dist/esm/classic/updateSummaries/index.js.map +1 -7
  740. package/dist/esm/classic/updateSummariesOperationGroup/index.d.ts +22 -0
  741. package/dist/esm/classic/updateSummariesOperationGroup/index.js +32 -0
  742. package/dist/esm/classic/updateSummariesOperationGroup/index.js.map +1 -0
  743. package/dist/esm/classic/updates/index.d.ts +7 -1
  744. package/dist/esm/classic/updates/index.js +40 -31
  745. package/dist/esm/classic/updates/index.js.map +1 -7
  746. package/dist/esm/classic/validatedSolutionRecipes/index.js +12 -15
  747. package/dist/esm/classic/validatedSolutionRecipes/index.js.map +1 -7
  748. package/dist/esm/index.d.ts +16 -5
  749. package/dist/esm/index.js +7 -113
  750. package/dist/esm/index.js.map +1 -7
  751. package/dist/esm/logger.js +4 -4
  752. package/dist/esm/logger.js.map +1 -7
  753. package/dist/esm/models/index.d.ts +2 -2
  754. package/dist/esm/models/index.js +4 -108
  755. package/dist/esm/models/index.js.map +1 -7
  756. package/dist/esm/models/models.d.ts +1572 -99
  757. package/dist/esm/models/models.js +5969 -3830
  758. package/dist/esm/models/models.js.map +1 -7
  759. package/dist/esm/restorePollerHelpers.js +171 -161
  760. package/dist/esm/restorePollerHelpers.js.map +1 -7
  761. package/dist/esm/static-helpers/cloudSettingHelpers.js +37 -26
  762. package/dist/esm/static-helpers/cloudSettingHelpers.js.map +1 -7
  763. package/dist/esm/static-helpers/pagingHelpers.js +122 -98
  764. package/dist/esm/static-helpers/pagingHelpers.js.map +1 -7
  765. package/dist/esm/static-helpers/pollingHelpers.js +86 -68
  766. package/dist/esm/static-helpers/pollingHelpers.js.map +1 -7
  767. package/dist/esm/static-helpers/serialization/check-prop-undefined.js +15 -9
  768. package/dist/esm/static-helpers/serialization/check-prop-undefined.js.map +1 -7
  769. package/dist/esm/static-helpers/simplePollerHelpers.js +43 -42
  770. package/dist/esm/static-helpers/simplePollerHelpers.js.map +1 -7
  771. package/dist/esm/static-helpers/urlTemplate.js +169 -142
  772. package/dist/esm/static-helpers/urlTemplate.js.map +1 -7
  773. package/dist/react-native/api/arcSettings/operations.js +19 -15
  774. package/dist/react-native/api/arcSettings/operations.js.map +1 -1
  775. package/dist/react-native/api/azureStackHCIContext.js +1 -1
  776. package/dist/react-native/api/azureStackHCIContext.js.map +1 -1
  777. package/dist/react-native/api/clusterJobs/index.d.ts +3 -0
  778. package/dist/react-native/api/clusterJobs/index.js +4 -0
  779. package/dist/react-native/api/clusterJobs/index.js.map +1 -0
  780. package/dist/react-native/api/clusterJobs/operations.d.ts +28 -0
  781. package/dist/react-native/api/clusterJobs/operations.js +140 -0
  782. package/dist/react-native/api/clusterJobs/operations.js.map +1 -0
  783. package/dist/react-native/api/clusterJobs/options.d.ts +18 -0
  784. package/dist/react-native/api/clusterJobs/options.js +4 -0
  785. package/dist/react-native/api/clusterJobs/options.js.map +1 -0
  786. package/dist/react-native/api/clusters/index.d.ts +2 -2
  787. package/dist/react-native/api/clusters/index.js +1 -1
  788. package/dist/react-native/api/clusters/index.js.map +1 -1
  789. package/dist/react-native/api/clusters/operations.d.ts +6 -2
  790. package/dist/react-native/api/clusters/operations.js +65 -22
  791. package/dist/react-native/api/clusters/operations.js.map +1 -1
  792. package/dist/react-native/api/clusters/options.d.ts +5 -0
  793. package/dist/react-native/api/clusters/options.js.map +1 -1
  794. package/dist/react-native/api/deploymentSettings/operations.js +11 -7
  795. package/dist/react-native/api/deploymentSettings/operations.js.map +1 -1
  796. package/dist/react-native/api/devicePools/index.d.ts +3 -0
  797. package/dist/react-native/api/devicePools/index.js +4 -0
  798. package/dist/react-native/api/devicePools/index.js.map +1 -0
  799. package/dist/react-native/api/devicePools/operations.d.ts +44 -0
  800. package/dist/react-native/api/devicePools/operations.js +268 -0
  801. package/dist/react-native/api/devicePools/operations.js.map +1 -0
  802. package/dist/react-native/api/devicePools/options.d.ts +36 -0
  803. package/dist/react-native/api/devicePools/options.js +4 -0
  804. package/dist/react-native/api/devicePools/options.js.map +1 -0
  805. package/dist/react-native/api/edgeDeviceJobs/operations.js +11 -7
  806. package/dist/react-native/api/edgeDeviceJobs/operations.js.map +1 -1
  807. package/dist/react-native/api/edgeDevices/operations.js +13 -9
  808. package/dist/react-native/api/edgeDevices/operations.js.map +1 -1
  809. package/dist/react-native/api/edgeMachineJobs/index.d.ts +3 -0
  810. package/dist/react-native/api/edgeMachineJobs/index.js +4 -0
  811. package/dist/react-native/api/edgeMachineJobs/index.js.map +1 -0
  812. package/dist/react-native/api/edgeMachineJobs/operations.d.ts +28 -0
  813. package/dist/react-native/api/edgeMachineJobs/operations.js +140 -0
  814. package/dist/react-native/api/edgeMachineJobs/operations.js.map +1 -0
  815. package/dist/react-native/api/edgeMachineJobs/options.d.ts +18 -0
  816. package/dist/react-native/api/edgeMachineJobs/options.js +4 -0
  817. package/dist/react-native/api/edgeMachineJobs/options.js.map +1 -0
  818. package/dist/react-native/api/edgeMachines/index.d.ts +3 -0
  819. package/dist/react-native/api/edgeMachines/index.js +4 -0
  820. package/dist/react-native/api/edgeMachines/index.js.map +1 -0
  821. package/dist/react-native/api/edgeMachines/operations.d.ts +36 -0
  822. package/dist/react-native/api/edgeMachines/operations.js +200 -0
  823. package/dist/react-native/api/edgeMachines/operations.js.map +1 -0
  824. package/dist/react-native/api/edgeMachines/options.d.ts +26 -0
  825. package/dist/react-native/api/edgeMachines/options.js +4 -0
  826. package/dist/react-native/api/edgeMachines/options.js.map +1 -0
  827. package/dist/react-native/api/extensions/operations.js +15 -11
  828. package/dist/react-native/api/extensions/operations.js.map +1 -1
  829. package/dist/react-native/api/kubernetesVersions/index.d.ts +3 -0
  830. package/dist/react-native/api/kubernetesVersions/index.js +4 -0
  831. package/dist/react-native/api/kubernetesVersions/index.js.map +1 -0
  832. package/dist/react-native/api/kubernetesVersions/operations.d.ts +10 -0
  833. package/dist/react-native/api/kubernetesVersions/operations.js +41 -0
  834. package/dist/react-native/api/kubernetesVersions/operations.js.map +1 -0
  835. package/dist/react-native/api/kubernetesVersions/options.d.ts +5 -0
  836. package/dist/react-native/api/kubernetesVersions/options.js +4 -0
  837. package/dist/react-native/api/kubernetesVersions/options.js.map +1 -0
  838. package/dist/react-native/api/offers/operations.js +13 -5
  839. package/dist/react-native/api/offers/operations.js.map +1 -1
  840. package/dist/react-native/api/operations/operations.js +7 -3
  841. package/dist/react-native/api/operations/operations.js.map +1 -1
  842. package/dist/react-native/api/osImages/index.d.ts +3 -0
  843. package/dist/react-native/api/osImages/index.js +4 -0
  844. package/dist/react-native/api/osImages/index.js.map +1 -0
  845. package/dist/react-native/api/osImages/operations.d.ts +14 -0
  846. package/dist/react-native/api/osImages/operations.js +65 -0
  847. package/dist/react-native/api/osImages/operations.js.map +1 -0
  848. package/dist/react-native/api/osImages/options.d.ts +8 -0
  849. package/dist/react-native/api/osImages/options.js +4 -0
  850. package/dist/react-native/api/osImages/options.js.map +1 -0
  851. package/dist/react-native/api/ownershipVouchers/index.d.ts +3 -0
  852. package/dist/react-native/api/ownershipVouchers/index.js +4 -0
  853. package/dist/react-native/api/ownershipVouchers/index.js.map +1 -0
  854. package/dist/react-native/api/ownershipVouchers/operations.d.ts +9 -0
  855. package/dist/react-native/api/ownershipVouchers/operations.js +36 -0
  856. package/dist/react-native/api/ownershipVouchers/operations.js.map +1 -0
  857. package/dist/react-native/api/ownershipVouchers/options.d.ts +5 -0
  858. package/dist/react-native/api/ownershipVouchers/options.js +4 -0
  859. package/dist/react-native/api/ownershipVouchers/options.js.map +1 -0
  860. package/dist/react-native/api/platformUpdates/index.d.ts +3 -0
  861. package/dist/react-native/api/platformUpdates/index.js +4 -0
  862. package/dist/react-native/api/platformUpdates/index.js.map +1 -0
  863. package/dist/react-native/api/platformUpdates/operations.d.ts +14 -0
  864. package/dist/react-native/api/platformUpdates/operations.js +65 -0
  865. package/dist/react-native/api/platformUpdates/operations.js.map +1 -0
  866. package/dist/react-native/api/platformUpdates/options.d.ts +8 -0
  867. package/dist/react-native/api/platformUpdates/options.js +4 -0
  868. package/dist/react-native/api/platformUpdates/options.js.map +1 -0
  869. package/dist/react-native/api/publishers/index.d.ts +3 -0
  870. package/dist/react-native/api/publishers/index.js +4 -0
  871. package/dist/react-native/api/publishers/index.js.map +1 -0
  872. package/dist/react-native/api/publishers/operations.d.ts +14 -0
  873. package/dist/react-native/api/publishers/operations.js +67 -0
  874. package/dist/react-native/api/publishers/operations.js.map +1 -0
  875. package/dist/react-native/api/publishers/options.d.ts +8 -0
  876. package/dist/react-native/api/publishers/options.js +4 -0
  877. package/dist/react-native/api/publishers/options.js.map +1 -0
  878. package/dist/react-native/api/securitySettings/operations.js +11 -7
  879. package/dist/react-native/api/securitySettings/operations.js.map +1 -1
  880. package/dist/react-native/api/skus/operations.js +7 -3
  881. package/dist/react-native/api/skus/operations.js.map +1 -1
  882. package/dist/react-native/api/updateContents/index.d.ts +3 -0
  883. package/dist/react-native/api/updateContents/index.js +4 -0
  884. package/dist/react-native/api/updateContents/index.js.map +1 -0
  885. package/dist/react-native/api/updateContents/operations.d.ts +14 -0
  886. package/dist/react-native/api/updateContents/operations.js +65 -0
  887. package/dist/react-native/api/updateContents/operations.js.map +1 -0
  888. package/dist/react-native/api/updateContents/options.d.ts +8 -0
  889. package/dist/react-native/api/updateContents/options.js +4 -0
  890. package/dist/react-native/api/updateContents/options.js.map +1 -0
  891. package/dist/react-native/api/updateRuns/operations.js +10 -6
  892. package/dist/react-native/api/updateRuns/operations.js.map +1 -1
  893. package/dist/react-native/api/updateSummaries/operations.js +10 -6
  894. package/dist/react-native/api/updateSummaries/operations.js.map +1 -1
  895. package/dist/react-native/api/updateSummariesOperationGroup/index.d.ts +3 -0
  896. package/dist/react-native/api/updateSummariesOperationGroup/index.js +4 -0
  897. package/dist/react-native/api/updateSummariesOperationGroup/index.js.map +1 -0
  898. package/dist/react-native/api/updateSummariesOperationGroup/operations.d.ts +14 -0
  899. package/dist/react-native/api/updateSummariesOperationGroup/operations.js +71 -0
  900. package/dist/react-native/api/updateSummariesOperationGroup/operations.js.map +1 -0
  901. package/dist/react-native/api/updateSummariesOperationGroup/options.d.ts +12 -0
  902. package/dist/react-native/api/updateSummariesOperationGroup/options.js +4 -0
  903. package/dist/react-native/api/updateSummariesOperationGroup/options.js.map +1 -0
  904. package/dist/react-native/api/updates/index.d.ts +2 -2
  905. package/dist/react-native/api/updates/index.js +1 -1
  906. package/dist/react-native/api/updates/index.js.map +1 -1
  907. package/dist/react-native/api/updates/operations.d.ts +5 -1
  908. package/dist/react-native/api/updates/operations.js +43 -8
  909. package/dist/react-native/api/updates/operations.js.map +1 -1
  910. package/dist/react-native/api/updates/options.d.ts +5 -0
  911. package/dist/react-native/api/updates/options.js.map +1 -1
  912. package/dist/react-native/api/validatedSolutionRecipes/operations.js +7 -3
  913. package/dist/react-native/api/validatedSolutionRecipes/operations.js.map +1 -1
  914. package/dist/react-native/azureStackHCIClient.d.ts +33 -0
  915. package/dist/react-native/azureStackHCIClient.js +44 -0
  916. package/dist/react-native/azureStackHCIClient.js.map +1 -1
  917. package/dist/react-native/classic/clusterJobs/index.d.ts +32 -0
  918. package/dist/react-native/classic/clusterJobs/index.js +34 -0
  919. package/dist/react-native/classic/clusterJobs/index.js.map +1 -0
  920. package/dist/react-native/classic/clusters/index.d.ts +8 -2
  921. package/dist/react-native/classic/clusters/index.js +10 -1
  922. package/dist/react-native/classic/clusters/index.js.map +1 -1
  923. package/dist/react-native/classic/devicePools/index.d.ts +52 -0
  924. package/dist/react-native/classic/devicePools/index.js +62 -0
  925. package/dist/react-native/classic/devicePools/index.js.map +1 -0
  926. package/dist/react-native/classic/edgeMachineJobs/index.d.ts +32 -0
  927. package/dist/react-native/classic/edgeMachineJobs/index.js +34 -0
  928. package/dist/react-native/classic/edgeMachineJobs/index.js.map +1 -0
  929. package/dist/react-native/classic/edgeMachines/index.d.ts +40 -0
  930. package/dist/react-native/classic/edgeMachines/index.js +44 -0
  931. package/dist/react-native/classic/edgeMachines/index.js.map +1 -0
  932. package/dist/react-native/classic/index.d.ts +11 -0
  933. package/dist/react-native/classic/index.js.map +1 -1
  934. package/dist/react-native/classic/kubernetesVersions/index.d.ts +11 -0
  935. package/dist/react-native/classic/kubernetesVersions/index.js +14 -0
  936. package/dist/react-native/classic/kubernetesVersions/index.js.map +1 -0
  937. package/dist/react-native/classic/osImages/index.d.ts +13 -0
  938. package/dist/react-native/classic/osImages/index.js +15 -0
  939. package/dist/react-native/classic/osImages/index.js.map +1 -0
  940. package/dist/react-native/classic/ownershipVouchers/index.d.ts +10 -0
  941. package/dist/react-native/classic/ownershipVouchers/index.js +14 -0
  942. package/dist/react-native/classic/ownershipVouchers/index.js.map +1 -0
  943. package/dist/react-native/classic/platformUpdates/index.d.ts +13 -0
  944. package/dist/react-native/classic/platformUpdates/index.js +15 -0
  945. package/dist/react-native/classic/platformUpdates/index.js.map +1 -0
  946. package/dist/react-native/classic/publishers/index.d.ts +13 -0
  947. package/dist/react-native/classic/publishers/index.js +15 -0
  948. package/dist/react-native/classic/publishers/index.js.map +1 -0
  949. package/dist/react-native/classic/updateContents/index.d.ts +13 -0
  950. package/dist/react-native/classic/updateContents/index.js +15 -0
  951. package/dist/react-native/classic/updateContents/index.js.map +1 -0
  952. package/dist/react-native/classic/updateSummariesOperationGroup/index.d.ts +22 -0
  953. package/dist/react-native/classic/updateSummariesOperationGroup/index.js +32 -0
  954. package/dist/react-native/classic/updateSummariesOperationGroup/index.js.map +1 -0
  955. package/dist/react-native/classic/updates/index.d.ts +7 -1
  956. package/dist/react-native/classic/updates/index.js +10 -1
  957. package/dist/react-native/classic/updates/index.js.map +1 -1
  958. package/dist/react-native/index.d.ts +16 -5
  959. package/dist/react-native/index.js +1 -1
  960. package/dist/react-native/index.js.map +1 -1
  961. package/dist/react-native/models/index.d.ts +2 -2
  962. package/dist/react-native/models/index.js +1 -1
  963. package/dist/react-native/models/index.js.map +1 -1
  964. package/dist/react-native/models/models.d.ts +1572 -99
  965. package/dist/react-native/models/models.js +1884 -202
  966. package/dist/react-native/models/models.js.map +1 -1
  967. package/dist/react-native/restorePollerHelpers.js +39 -6
  968. package/dist/react-native/restorePollerHelpers.js.map +1 -1
  969. package/package.json +203 -5
@@ -1 +1 @@
1
- {"version":3,"file":"models.js","sourceRoot":"","sources":["../../../src/models/models.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { areAllPropsUndefined } from \"../static-helpers/serialization/check-prop-undefined.js\";\n\n/**\n * This file contains only generated model types and their (de)serializers.\n * Disable the following rules for internal models with '_' prefix and deserializers which require 'any' for raw JSON input.\n */\n/* eslint-disable @typescript-eslint/naming-convention */\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n/** A list of REST API operations supported by an Azure Resource Provider. It contains an URL link to get the next set of results. */\nexport interface _OperationListResult {\n /** The Operation items on this page */\n value: Operation[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _operationListResultDeserializer(item: any): _OperationListResult {\n return {\n value: operationArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function operationArrayDeserializer(result: Array<Operation>): any[] {\n return result.map((item) => {\n return operationDeserializer(item);\n });\n}\n\n/** Details of a REST API operation, returned from the Resource Provider Operations API */\nexport interface Operation {\n /** The name of the operation, as per Resource-Based Access Control (RBAC). Examples: \"Microsoft.Compute/virtualMachines/write\", \"Microsoft.Compute/virtualMachines/capture/action\" */\n readonly name?: string;\n /** Whether the operation applies to data-plane. This is \"true\" for data-plane operations and \"false\" for Azure Resource Manager/control-plane operations. */\n readonly isDataAction?: boolean;\n /** Localized display information for this particular operation. */\n display?: OperationDisplay;\n /** The intended executor of the operation; as in Resource Based Access Control (RBAC) and audit logs UX. Default value is \"user,system\" */\n readonly origin?: Origin;\n /** Extensible enum. Indicates the action type. \"Internal\" refers to actions that are for internal only APIs. */\n readonly actionType?: ActionType;\n}\n\nexport function operationDeserializer(item: any): Operation {\n return {\n name: item[\"name\"],\n isDataAction: item[\"isDataAction\"],\n display: !item[\"display\"] ? item[\"display\"] : operationDisplayDeserializer(item[\"display\"]),\n origin: item[\"origin\"],\n actionType: item[\"actionType\"],\n };\n}\n\n/** Localized display information for an operation. */\nexport interface OperationDisplay {\n /** The localized friendly form of the resource provider name, e.g. \"Microsoft Monitoring Insights\" or \"Microsoft Compute\". */\n readonly provider?: string;\n /** The localized friendly name of the resource type related to this operation. E.g. \"Virtual Machines\" or \"Job Schedule Collections\". */\n readonly resource?: string;\n /** The concise, localized friendly name for the operation; suitable for dropdowns. E.g. \"Create or Update Virtual Machine\", \"Restart Virtual Machine\". */\n readonly operation?: string;\n /** The short, localized friendly description of the operation; suitable for tool tips and detailed views. */\n readonly description?: string;\n}\n\nexport function operationDisplayDeserializer(item: any): OperationDisplay {\n return {\n provider: item[\"provider\"],\n resource: item[\"resource\"],\n operation: item[\"operation\"],\n description: item[\"description\"],\n };\n}\n\n/** The intended executor of the operation; as in Resource Based Access Control (RBAC) and audit logs UX. Default value is \"user,system\" */\nexport enum KnownOrigin {\n /** Indicates the operation is initiated by a user. */\n User = \"user\",\n /** Indicates the operation is initiated by a system. */\n System = \"system\",\n /** Indicates the operation is initiated by a user or system. */\n UserSystem = \"user,system\",\n}\n\n/**\n * The intended executor of the operation; as in Resource Based Access Control (RBAC) and audit logs UX. Default value is \"user,system\" \\\n * {@link KnownOrigin} can be used interchangeably with Origin,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **user**: Indicates the operation is initiated by a user. \\\n * **system**: Indicates the operation is initiated by a system. \\\n * **user,system**: Indicates the operation is initiated by a user or system.\n */\nexport type Origin = string;\n\n/** Extensible enum. Indicates the action type. \"Internal\" refers to actions that are for internal only APIs. */\nexport enum KnownActionType {\n /** Actions are for internal-only APIs. */\n Internal = \"Internal\",\n}\n\n/**\n * Extensible enum. Indicates the action type. \"Internal\" refers to actions that are for internal only APIs. \\\n * {@link KnownActionType} can be used interchangeably with ActionType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Internal**: Actions are for internal-only APIs.\n */\nexport type ActionType = string;\n\n/** Common error response for all Azure Resource Manager APIs to return error details for failed operations. */\nexport interface ErrorResponse {\n /** The error object. */\n error?: ErrorDetail;\n}\n\nexport function errorResponseDeserializer(item: any): ErrorResponse {\n return {\n error: !item[\"error\"] ? item[\"error\"] : errorDetailDeserializer(item[\"error\"]),\n };\n}\n\n/** The error detail. */\nexport interface ErrorDetail {\n /** The error code. */\n readonly code?: string;\n /** The error message. */\n readonly message?: string;\n /** The error target. */\n readonly target?: string;\n /** The error details. */\n readonly details?: ErrorDetail[];\n /** The error additional info. */\n readonly additionalInfo?: ErrorAdditionalInfo[];\n}\n\nexport function errorDetailDeserializer(item: any): ErrorDetail {\n return {\n code: item[\"code\"],\n message: item[\"message\"],\n target: item[\"target\"],\n details: !item[\"details\"] ? item[\"details\"] : errorDetailArrayDeserializer(item[\"details\"]),\n additionalInfo: !item[\"additionalInfo\"]\n ? item[\"additionalInfo\"]\n : errorAdditionalInfoArrayDeserializer(item[\"additionalInfo\"]),\n };\n}\n\nexport function errorDetailArrayDeserializer(result: Array<ErrorDetail>): any[] {\n return result.map((item) => {\n return errorDetailDeserializer(item);\n });\n}\n\nexport function errorAdditionalInfoArrayDeserializer(result: Array<ErrorAdditionalInfo>): any[] {\n return result.map((item) => {\n return errorAdditionalInfoDeserializer(item);\n });\n}\n\n/** The resource management error additional info. */\nexport interface ErrorAdditionalInfo {\n /** The additional info type. */\n readonly type?: string;\n /** The additional info. */\n readonly info?: any;\n}\n\nexport function errorAdditionalInfoDeserializer(item: any): ErrorAdditionalInfo {\n return {\n type: item[\"type\"],\n info: item[\"info\"],\n };\n}\n\n/** ArcSetting details. */\nexport interface ArcSetting extends ProxyResource {\n /** Provisioning state of the ArcSetting proxy resource. */\n readonly provisioningState?: ProvisioningState;\n /** The resource group that hosts the Arc agents, ie. Hybrid Compute Machine resources. */\n arcInstanceResourceGroup?: string;\n /** App id of arc AAD identity. */\n arcApplicationClientId?: string;\n /** Tenant id of arc AAD identity. */\n arcApplicationTenantId?: string;\n /** Object id of arc AAD service principal. */\n arcServicePrincipalObjectId?: string;\n /** Object id of arc AAD identity. */\n arcApplicationObjectId?: string;\n /** Aggregate state of Arc agent across the nodes in this HCI cluster. */\n readonly aggregateState?: ArcSettingAggregateState;\n /** State of Arc agent in each of the nodes. */\n readonly perNodeDetails?: PerNodeState[];\n /** contains connectivity related configuration for ARC resources */\n connectivityProperties?: ArcConnectivityProperties;\n /** Properties for each of the default extensions category */\n readonly defaultExtensions?: DefaultExtensionDetails[];\n}\n\nexport function arcSettingSerializer(item: ArcSetting): any {\n return {\n properties: areAllPropsUndefined(item, [\n \"arcInstanceResourceGroup\",\n \"arcApplicationClientId\",\n \"arcApplicationTenantId\",\n \"arcServicePrincipalObjectId\",\n \"arcApplicationObjectId\",\n \"connectivityProperties\",\n ])\n ? undefined\n : _arcSettingPropertiesSerializer(item),\n };\n}\n\nexport function arcSettingDeserializer(item: any): ArcSetting {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _arcSettingPropertiesDeserializer(item[\"properties\"])),\n };\n}\n\n/** ArcSetting properties. */\nexport interface ArcSettingProperties {\n /** Provisioning state of the ArcSetting proxy resource. */\n readonly provisioningState?: ProvisioningState;\n /** The resource group that hosts the Arc agents, ie. Hybrid Compute Machine resources. */\n arcInstanceResourceGroup?: string;\n /** App id of arc AAD identity. */\n arcApplicationClientId?: string;\n /** Tenant id of arc AAD identity. */\n arcApplicationTenantId?: string;\n /** Object id of arc AAD service principal. */\n arcServicePrincipalObjectId?: string;\n /** Object id of arc AAD identity. */\n arcApplicationObjectId?: string;\n /** Aggregate state of Arc agent across the nodes in this HCI cluster. */\n readonly aggregateState?: ArcSettingAggregateState;\n /** State of Arc agent in each of the nodes. */\n readonly perNodeDetails?: PerNodeState[];\n /** contains connectivity related configuration for ARC resources */\n connectivityProperties?: ArcConnectivityProperties;\n /** Properties for each of the default extensions category */\n readonly defaultExtensions?: DefaultExtensionDetails[];\n}\n\nexport function arcSettingPropertiesSerializer(item: ArcSettingProperties): any {\n return {\n arcInstanceResourceGroup: item[\"arcInstanceResourceGroup\"],\n arcApplicationClientId: item[\"arcApplicationClientId\"],\n arcApplicationTenantId: item[\"arcApplicationTenantId\"],\n arcServicePrincipalObjectId: item[\"arcServicePrincipalObjectId\"],\n arcApplicationObjectId: item[\"arcApplicationObjectId\"],\n connectivityProperties: !item[\"connectivityProperties\"]\n ? item[\"connectivityProperties\"]\n : arcConnectivityPropertiesSerializer(item[\"connectivityProperties\"]),\n };\n}\n\nexport function arcSettingPropertiesDeserializer(item: any): ArcSettingProperties {\n return {\n provisioningState: item[\"provisioningState\"],\n arcInstanceResourceGroup: item[\"arcInstanceResourceGroup\"],\n arcApplicationClientId: item[\"arcApplicationClientId\"],\n arcApplicationTenantId: item[\"arcApplicationTenantId\"],\n arcServicePrincipalObjectId: item[\"arcServicePrincipalObjectId\"],\n arcApplicationObjectId: item[\"arcApplicationObjectId\"],\n aggregateState: item[\"aggregateState\"],\n perNodeDetails: !item[\"perNodeDetails\"]\n ? item[\"perNodeDetails\"]\n : perNodeStateArrayDeserializer(item[\"perNodeDetails\"]),\n connectivityProperties: !item[\"connectivityProperties\"]\n ? item[\"connectivityProperties\"]\n : arcConnectivityPropertiesDeserializer(item[\"connectivityProperties\"]),\n defaultExtensions: !item[\"defaultExtensions\"]\n ? item[\"defaultExtensions\"]\n : defaultExtensionDetailsArrayDeserializer(item[\"defaultExtensions\"]),\n };\n}\n\n/** Provisioning state of the ArcSetting proxy resource. */\nexport enum KnownProvisioningState {\n /** The provisioning state is not specified. */\n NotSpecified = \"NotSpecified\",\n /** An error occurred during provisioning. */\n Error = \"Error\",\n /** Provisioning completed successfully. */\n Succeeded = \"Succeeded\",\n /** Provisioning failed. */\n Failed = \"Failed\",\n /** Provisioning was canceled. */\n Canceled = \"Canceled\",\n /** The resource is connected. */\n Connected = \"Connected\",\n /** The resource is disconnected. */\n Disconnected = \"Disconnected\",\n /** The resource has been deleted. */\n Deleted = \"Deleted\",\n /** The resource is being created. */\n Creating = \"Creating\",\n /** The resource is being updated. */\n Updating = \"Updating\",\n /** The resource is being deleted. */\n Deleting = \"Deleting\",\n /** The resource is being moved. */\n Moving = \"Moving\",\n /** Provisioning partially succeeded. */\n PartiallySucceeded = \"PartiallySucceeded\",\n /** The resource is partially connected. */\n PartiallyConnected = \"PartiallyConnected\",\n /** Provisioning is in progress. */\n InProgress = \"InProgress\",\n /** Provisioning request has been accepted. */\n Accepted = \"Accepted\",\n /** The resource is currently provisioning. */\n Provisioning = \"Provisioning\",\n /** The resource is being disabled. */\n DisableInProgress = \"DisableInProgress\",\n}\n\n/**\n * Provisioning state of the ArcSetting proxy resource. \\\n * {@link KnownProvisioningState} can be used interchangeably with ProvisioningState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **NotSpecified**: The provisioning state is not specified. \\\n * **Error**: An error occurred during provisioning. \\\n * **Succeeded**: Provisioning completed successfully. \\\n * **Failed**: Provisioning failed. \\\n * **Canceled**: Provisioning was canceled. \\\n * **Connected**: The resource is connected. \\\n * **Disconnected**: The resource is disconnected. \\\n * **Deleted**: The resource has been deleted. \\\n * **Creating**: The resource is being created. \\\n * **Updating**: The resource is being updated. \\\n * **Deleting**: The resource is being deleted. \\\n * **Moving**: The resource is being moved. \\\n * **PartiallySucceeded**: Provisioning partially succeeded. \\\n * **PartiallyConnected**: The resource is partially connected. \\\n * **InProgress**: Provisioning is in progress. \\\n * **Accepted**: Provisioning request has been accepted. \\\n * **Provisioning**: The resource is currently provisioning. \\\n * **DisableInProgress**: The resource is being disabled.\n */\nexport type ProvisioningState = string;\n\n/** Aggregate state of Arc agent across the nodes in this HCI cluster. */\nexport enum KnownArcSettingAggregateState {\n /** The aggregate state is not specified. */\n NotSpecified = \"NotSpecified\",\n /** An error occurred in the aggregate state. */\n Error = \"Error\",\n /** The operation successfully completed across all nodes. */\n Succeeded = \"Succeeded\",\n /** The operation was canceled across the nodes. */\n Canceled = \"Canceled\",\n /** The operation failed on all or most nodes. */\n Failed = \"Failed\",\n /** All nodes are connected. */\n Connected = \"Connected\",\n /** All nodes are disconnected. */\n Disconnected = \"Disconnected\",\n /** The Arc agent has been deleted from all nodes. */\n Deleted = \"Deleted\",\n /** The Arc agent is being created across the nodes. */\n Creating = \"Creating\",\n /** The Arc agent is being updated across the nodes. */\n Updating = \"Updating\",\n /** The Arc agent is being deleted across the nodes. */\n Deleting = \"Deleting\",\n /** The Arc agent is being moved across the nodes. */\n Moving = \"Moving\",\n /** The operation succeeded on some nodes. */\n PartiallySucceeded = \"PartiallySucceeded\",\n /** Some nodes are connected, others are not. */\n PartiallyConnected = \"PartiallyConnected\",\n /** The operation is currently in progress across the nodes. */\n InProgress = \"InProgress\",\n /** The operation has been accepted and is pending execution. */\n Accepted = \"Accepted\",\n /** The Arc agent is being provisioned across the nodes. */\n Provisioning = \"Provisioning\",\n /** The Arc agent is being disabled across the nodes. */\n DisableInProgress = \"DisableInProgress\",\n}\n\n/**\n * Aggregate state of Arc agent across the nodes in this HCI cluster. \\\n * {@link KnownArcSettingAggregateState} can be used interchangeably with ArcSettingAggregateState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **NotSpecified**: The aggregate state is not specified. \\\n * **Error**: An error occurred in the aggregate state. \\\n * **Succeeded**: The operation successfully completed across all nodes. \\\n * **Canceled**: The operation was canceled across the nodes. \\\n * **Failed**: The operation failed on all or most nodes. \\\n * **Connected**: All nodes are connected. \\\n * **Disconnected**: All nodes are disconnected. \\\n * **Deleted**: The Arc agent has been deleted from all nodes. \\\n * **Creating**: The Arc agent is being created across the nodes. \\\n * **Updating**: The Arc agent is being updated across the nodes. \\\n * **Deleting**: The Arc agent is being deleted across the nodes. \\\n * **Moving**: The Arc agent is being moved across the nodes. \\\n * **PartiallySucceeded**: The operation succeeded on some nodes. \\\n * **PartiallyConnected**: Some nodes are connected, others are not. \\\n * **InProgress**: The operation is currently in progress across the nodes. \\\n * **Accepted**: The operation has been accepted and is pending execution. \\\n * **Provisioning**: The Arc agent is being provisioned across the nodes. \\\n * **DisableInProgress**: The Arc agent is being disabled across the nodes.\n */\nexport type ArcSettingAggregateState = string;\n\nexport function perNodeStateArrayDeserializer(result: Array<PerNodeState>): any[] {\n return result.map((item) => {\n return perNodeStateDeserializer(item);\n });\n}\n\n/** Status of Arc agent for a particular node in HCI Cluster. */\nexport interface PerNodeState {\n /** Name of the Node in HCI Cluster */\n readonly name?: string;\n /** Fully qualified resource ID for the Arc agent of this node. */\n readonly arcInstance?: string;\n /** The service principal id of the arc for server node */\n readonly arcNodeServicePrincipalObjectId?: string;\n /** State of the Arc agent in this node. Indicates the current lifecycle status of the agent, such as whether it's being provisioned, connected, updated, or has encountered an error. */\n readonly state?: NodeArcState;\n}\n\nexport function perNodeStateDeserializer(item: any): PerNodeState {\n return {\n name: item[\"name\"],\n arcInstance: item[\"arcInstance\"],\n arcNodeServicePrincipalObjectId: item[\"arcNodeServicePrincipalObjectId\"],\n state: item[\"state\"],\n };\n}\n\n/** State of the Arc agent in this node. Indicates the current lifecycle status of the agent, such as whether it's being provisioned, connected, updated, or has encountered an error. */\nexport enum KnownNodeArcState {\n /** The state is not specified. */\n NotSpecified = \"NotSpecified\",\n /** An error occurred during the agent's lifecycle. */\n Error = \"Error\",\n /** The operation completed successfully. */\n Succeeded = \"Succeeded\",\n /** The operation was canceled before completion. */\n Canceled = \"Canceled\",\n /** The operation failed. */\n Failed = \"Failed\",\n /** The Arc agent is connected on this node. */\n Connected = \"Connected\",\n /** The Arc agent is disconnected on this node. */\n Disconnected = \"Disconnected\",\n /** The Arc agent has been deleted from this node. */\n Deleted = \"Deleted\",\n /** The Arc agent is being created on this node. */\n Creating = \"Creating\",\n /** The Arc agent is being updated on this node. */\n Updating = \"Updating\",\n /** The Arc agent is being deleted from this node. */\n Deleting = \"Deleting\",\n /** The Arc agent is being moved on this node. */\n Moving = \"Moving\",\n /** The operation partially succeeded. */\n PartiallySucceeded = \"PartiallySucceeded\",\n /** The Arc agent is partially connected on this node. */\n PartiallyConnected = \"PartiallyConnected\",\n /** The operation is currently in progress. */\n InProgress = \"InProgress\",\n /** The operation has been accepted and is pending execution. */\n Accepted = \"Accepted\",\n /** The Arc agent is currently being provisioned on this node. */\n Provisioning = \"Provisioning\",\n /** The Arc agent is in the process of being disabled on this node. */\n DisableInProgress = \"DisableInProgress\",\n}\n\n/**\n * State of the Arc agent in this node. Indicates the current lifecycle status of the agent, such as whether it's being provisioned, connected, updated, or has encountered an error. \\\n * {@link KnownNodeArcState} can be used interchangeably with NodeArcState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **NotSpecified**: The state is not specified. \\\n * **Error**: An error occurred during the agent's lifecycle. \\\n * **Succeeded**: The operation completed successfully. \\\n * **Canceled**: The operation was canceled before completion. \\\n * **Failed**: The operation failed. \\\n * **Connected**: The Arc agent is connected on this node. \\\n * **Disconnected**: The Arc agent is disconnected on this node. \\\n * **Deleted**: The Arc agent has been deleted from this node. \\\n * **Creating**: The Arc agent is being created on this node. \\\n * **Updating**: The Arc agent is being updated on this node. \\\n * **Deleting**: The Arc agent is being deleted from this node. \\\n * **Moving**: The Arc agent is being moved on this node. \\\n * **PartiallySucceeded**: The operation partially succeeded. \\\n * **PartiallyConnected**: The Arc agent is partially connected on this node. \\\n * **InProgress**: The operation is currently in progress. \\\n * **Accepted**: The operation has been accepted and is pending execution. \\\n * **Provisioning**: The Arc agent is currently being provisioned on this node. \\\n * **DisableInProgress**: The Arc agent is in the process of being disabled on this node.\n */\nexport type NodeArcState = string;\n\n/** Connectivity related configuration required by arc server. */\nexport interface ArcConnectivityProperties {\n /** True indicates ARC connectivity is enabled */\n enabled?: boolean;\n /** Service configurations associated with the connectivity resource. They are only processed by the server if 'enabled' property is set to 'true'. */\n serviceConfigurations?: ServiceConfiguration[];\n}\n\nexport function arcConnectivityPropertiesSerializer(item: ArcConnectivityProperties): any {\n return {\n enabled: item[\"enabled\"],\n serviceConfigurations: !item[\"serviceConfigurations\"]\n ? item[\"serviceConfigurations\"]\n : serviceConfigurationArraySerializer(item[\"serviceConfigurations\"]),\n };\n}\n\nexport function arcConnectivityPropertiesDeserializer(item: any): ArcConnectivityProperties {\n return {\n enabled: item[\"enabled\"],\n serviceConfigurations: !item[\"serviceConfigurations\"]\n ? item[\"serviceConfigurations\"]\n : serviceConfigurationArrayDeserializer(item[\"serviceConfigurations\"]),\n };\n}\n\nexport function serviceConfigurationArraySerializer(result: Array<ServiceConfiguration>): any[] {\n return result.map((item) => {\n return serviceConfigurationSerializer(item);\n });\n}\n\nexport function serviceConfigurationArrayDeserializer(result: Array<ServiceConfiguration>): any[] {\n return result.map((item) => {\n return serviceConfigurationDeserializer(item);\n });\n}\n\n/** Service configuration details */\nexport interface ServiceConfiguration {\n /** Specifies the name of the service associated with the update or operation. This helps identify which system component or tool is involved. */\n serviceName: ServiceName;\n /** The port on which service is enabled. */\n port: number;\n}\n\nexport function serviceConfigurationSerializer(item: ServiceConfiguration): any {\n return { serviceName: item[\"serviceName\"], port: item[\"port\"] };\n}\n\nexport function serviceConfigurationDeserializer(item: any): ServiceConfiguration {\n return {\n serviceName: item[\"serviceName\"],\n port: item[\"port\"],\n };\n}\n\n/** Specifies the name of the service associated with the update or operation. This helps identify which system component or tool is involved. */\nexport enum KnownServiceName {\n /** Windows Admin Center (WAC) is the service associated with this operation. */\n WAC = \"WAC\",\n}\n\n/**\n * Specifies the name of the service associated with the update or operation. This helps identify which system component or tool is involved. \\\n * {@link KnownServiceName} can be used interchangeably with ServiceName,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **WAC**: Windows Admin Center (WAC) is the service associated with this operation.\n */\nexport type ServiceName = string;\n\nexport function defaultExtensionDetailsArrayDeserializer(\n result: Array<DefaultExtensionDetails>,\n): any[] {\n return result.map((item) => {\n return defaultExtensionDetailsDeserializer(item);\n });\n}\n\n/** Properties for a particular default extension category. */\nexport interface DefaultExtensionDetails {\n /** Default extension category */\n readonly category?: string;\n /** Consent time for extension category */\n readonly consentTime?: Date;\n}\n\nexport function defaultExtensionDetailsDeserializer(item: any): DefaultExtensionDetails {\n return {\n category: item[\"category\"],\n consentTime: !item[\"consentTime\"] ? item[\"consentTime\"] : new Date(item[\"consentTime\"]),\n };\n}\n\n/** The resource model definition for a Azure Resource Manager proxy resource. It will not have tags and a location */\nexport interface ProxyResource extends Resource {}\n\nexport function proxyResourceSerializer(item: ProxyResource): any {\n return item;\n}\n\nexport function proxyResourceDeserializer(item: any): ProxyResource {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n };\n}\n\n/** Common fields that are returned in the response for all Azure Resource Manager resources */\nexport interface Resource {\n /** Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} */\n readonly id?: string;\n /** The name of the resource */\n readonly name?: string;\n /** The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or \"Microsoft.Storage/storageAccounts\" */\n readonly type?: string;\n /** Azure Resource Manager metadata containing createdBy and modifiedBy information. */\n readonly systemData?: SystemData;\n}\n\nexport function resourceSerializer(item: Resource): any {\n return item;\n}\n\nexport function resourceDeserializer(item: any): Resource {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n };\n}\n\n/** Metadata pertaining to creation and last modification of the resource. */\nexport interface SystemData {\n /** The identity that created the resource. */\n createdBy?: string;\n /** The type of identity that created the resource. */\n createdByType?: CreatedByType;\n /** The timestamp of resource creation (UTC). */\n createdAt?: Date;\n /** The identity that last modified the resource. */\n lastModifiedBy?: string;\n /** The type of identity that last modified the resource. */\n lastModifiedByType?: CreatedByType;\n /** The timestamp of resource last modification (UTC) */\n lastModifiedAt?: Date;\n}\n\nexport function systemDataDeserializer(item: any): SystemData {\n return {\n createdBy: item[\"createdBy\"],\n createdByType: item[\"createdByType\"],\n createdAt: !item[\"createdAt\"] ? item[\"createdAt\"] : new Date(item[\"createdAt\"]),\n lastModifiedBy: item[\"lastModifiedBy\"],\n lastModifiedByType: item[\"lastModifiedByType\"],\n lastModifiedAt: !item[\"lastModifiedAt\"]\n ? item[\"lastModifiedAt\"]\n : new Date(item[\"lastModifiedAt\"]),\n };\n}\n\n/** The kind of entity that created the resource. */\nexport enum KnownCreatedByType {\n /** The entity was created by a user. */\n User = \"User\",\n /** The entity was created by an application. */\n Application = \"Application\",\n /** The entity was created by a managed identity. */\n ManagedIdentity = \"ManagedIdentity\",\n /** The entity was created by a key. */\n Key = \"Key\",\n}\n\n/**\n * The kind of entity that created the resource. \\\n * {@link KnownCreatedByType} can be used interchangeably with CreatedByType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **User**: The entity was created by a user. \\\n * **Application**: The entity was created by an application. \\\n * **ManagedIdentity**: The entity was created by a managed identity. \\\n * **Key**: The entity was created by a key.\n */\nexport type CreatedByType = string;\n\n/** ArcSetting details to update. */\nexport interface ArcSettingsPatch {\n /** Resource tags. */\n tags?: Record<string, string>;\n /** contains connectivity related configuration for ARC resources */\n connectivityProperties?: ArcConnectivityProperties;\n}\n\nexport function arcSettingsPatchSerializer(item: ArcSettingsPatch): any {\n return {\n tags: item[\"tags\"],\n properties: areAllPropsUndefined(item, [\"connectivityProperties\"])\n ? undefined\n : _arcSettingsPatchPropertiesSerializer(item),\n };\n}\n\n/** ArcSettings properties. */\nexport interface ArcSettingsPatchProperties {\n /** contains connectivity related configuration for ARC resources */\n connectivityProperties?: ArcConnectivityProperties;\n}\n\nexport function arcSettingsPatchPropertiesSerializer(item: ArcSettingsPatchProperties): any {\n return {\n connectivityProperties: !item[\"connectivityProperties\"]\n ? item[\"connectivityProperties\"]\n : arcConnectivityPropertiesSerializer(item[\"connectivityProperties\"]),\n };\n}\n\n/** List of ArcSetting proxy resources for the HCI cluster. */\nexport interface _ArcSettingList {\n /** The ArcSetting items on this page */\n value: ArcSetting[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _arcSettingListDeserializer(item: any): _ArcSettingList {\n return {\n value: arcSettingArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function arcSettingArraySerializer(result: Array<ArcSetting>): any[] {\n return result.map((item) => {\n return arcSettingSerializer(item);\n });\n}\n\nexport function arcSettingArrayDeserializer(result: Array<ArcSetting>): any[] {\n return result.map((item) => {\n return arcSettingDeserializer(item);\n });\n}\n\n/** model interface PasswordCredential */\nexport interface PasswordCredential {\n secretText?: string;\n keyId?: string;\n startDateTime?: Date;\n endDateTime?: Date;\n}\n\nexport function passwordCredentialDeserializer(item: any): PasswordCredential {\n return {\n secretText: item[\"secretText\"],\n keyId: item[\"keyId\"],\n startDateTime: !item[\"startDateTime\"] ? item[\"startDateTime\"] : new Date(item[\"startDateTime\"]),\n endDateTime: !item[\"endDateTime\"] ? item[\"endDateTime\"] : new Date(item[\"endDateTime\"]),\n };\n}\n\n/** ArcIdentity details. */\nexport interface ArcIdentityResponse {\n arcApplicationClientId?: string;\n arcApplicationTenantId?: string;\n arcServicePrincipalObjectId?: string;\n arcApplicationObjectId?: string;\n}\n\nexport function arcIdentityResponseDeserializer(item: any): ArcIdentityResponse {\n return {\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _arcIdentityResponsePropertiesDeserializer(item[\"properties\"])),\n };\n}\n\n/** model interface ArcIdentityResponseProperties */\nexport interface ArcIdentityResponseProperties {\n arcApplicationClientId?: string;\n arcApplicationTenantId?: string;\n arcServicePrincipalObjectId?: string;\n arcApplicationObjectId?: string;\n}\n\nexport function arcIdentityResponsePropertiesDeserializer(\n item: any,\n): ArcIdentityResponseProperties {\n return {\n arcApplicationClientId: item[\"arcApplicationClientId\"],\n arcApplicationTenantId: item[\"arcApplicationTenantId\"],\n arcServicePrincipalObjectId: item[\"arcServicePrincipalObjectId\"],\n arcApplicationObjectId: item[\"arcApplicationObjectId\"],\n };\n}\n\n/** Request for reconciling Arc Settings. */\nexport interface ReconcileArcSettingsRequest {\n /** List of Arc Nodes in the cluster */\n properties?: ReconcileArcSettingsRequestProperties;\n}\n\nexport function reconcileArcSettingsRequestSerializer(item: ReconcileArcSettingsRequest): any {\n return {\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : reconcileArcSettingsRequestPropertiesSerializer(item[\"properties\"]),\n };\n}\n\n/** List of Arc Nodes in the cluster */\nexport interface ReconcileArcSettingsRequestProperties {\n clusterNodes?: string[];\n}\n\nexport function reconcileArcSettingsRequestPropertiesSerializer(\n item: ReconcileArcSettingsRequestProperties,\n): any {\n return {\n clusterNodes: !item[\"clusterNodes\"]\n ? item[\"clusterNodes\"]\n : item[\"clusterNodes\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** Offer details. */\nexport interface Offer extends ProxyResource {\n /** Provisioning State */\n readonly provisioningState?: string;\n /** Identifier of the Publisher for the offer */\n publisherId?: string;\n /** JSON serialized catalog content of the offer */\n content?: string;\n /** The API version of the catalog service used to serve the catalog content */\n contentVersion?: string;\n /** Array of SKU mappings */\n skuMappings?: SkuMappings[];\n}\n\nexport function offerDeserializer(item: any): Offer {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _offerPropertiesDeserializer(item[\"properties\"])),\n };\n}\n\n/** Publisher properties. */\nexport interface OfferProperties {\n /** Provisioning State */\n readonly provisioningState?: string;\n /** Identifier of the Publisher for the offer */\n publisherId?: string;\n /** JSON serialized catalog content of the offer */\n content?: string;\n /** The API version of the catalog service used to serve the catalog content */\n contentVersion?: string;\n /** Array of SKU mappings */\n skuMappings?: SkuMappings[];\n}\n\nexport function offerPropertiesDeserializer(item: any): OfferProperties {\n return {\n provisioningState: item[\"provisioningState\"],\n publisherId: item[\"publisherId\"],\n content: item[\"content\"],\n contentVersion: item[\"contentVersion\"],\n skuMappings: !item[\"skuMappings\"]\n ? item[\"skuMappings\"]\n : skuMappingsArrayDeserializer(item[\"skuMappings\"]),\n };\n}\n\nexport function skuMappingsArrayDeserializer(result: Array<SkuMappings>): any[] {\n return result.map((item) => {\n return skuMappingsDeserializer(item);\n });\n}\n\n/** SKU Mapping details. */\nexport interface SkuMappings {\n /** Identifier of the CatalogPlan for the sku */\n catalogPlanId?: string;\n /** Identifier for the sku */\n marketplaceSkuId?: string;\n /** Array of SKU versions available */\n marketplaceSkuVersions?: string[];\n}\n\nexport function skuMappingsDeserializer(item: any): SkuMappings {\n return {\n catalogPlanId: item[\"catalogPlanId\"],\n marketplaceSkuId: item[\"marketplaceSkuId\"],\n marketplaceSkuVersions: !item[\"marketplaceSkuVersions\"]\n ? item[\"marketplaceSkuVersions\"]\n : item[\"marketplaceSkuVersions\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** List of Offer proxy resources for the HCI cluster. */\nexport interface _OfferList {\n /** The Offer items on this page */\n value: Offer[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _offerListDeserializer(item: any): _OfferList {\n return {\n value: offerArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function offerArrayDeserializer(result: Array<Offer>): any[] {\n return result.map((item) => {\n return offerDeserializer(item);\n });\n}\n\n/** Cluster details. */\nexport interface Cluster extends TrackedResource {\n /** Provisioning state. Indicates the current lifecycle status of the resource, including creation, update, deletion, connectivity, and error states. */\n readonly provisioningState?: ProvisioningState;\n /** Status of the cluster agent. Indicates the current connectivity, validation, and deployment state of the agent within the cluster. */\n readonly status?: Status;\n /** Overall connectivity status for the cluster resource. Indicates whether the cluster is connected to Azure, partially connected, or has not recently communicated. */\n readonly connectivityStatus?: ConnectivityStatus;\n /** Unique, immutable resource id. */\n readonly cloudId?: string;\n /** Endpoint configured for management from the Azure portal. */\n cloudManagementEndpoint?: string;\n /** App id of cluster AAD identity. */\n aadClientId?: string;\n /** Tenant id of cluster AAD identity. */\n aadTenantId?: string;\n /** Object id of cluster AAD identity. */\n aadApplicationObjectId?: string;\n /** Id of cluster identity service principal. */\n aadServicePrincipalObjectId?: string;\n /** Software Assurance properties of the cluster. */\n softwareAssuranceProperties?: SoftwareAssuranceProperties;\n /** Is Management Cluster, when true indicates that the cluster is used for managing other clusters */\n readonly isManagementCluster?: boolean;\n /** Log Collection properties of the cluster. */\n logCollectionProperties?: LogCollectionProperties;\n /** RemoteSupport properties of the cluster. */\n remoteSupportProperties?: RemoteSupportProperties;\n /** Desired properties of the cluster. */\n desiredProperties?: ClusterDesiredProperties;\n /** Properties reported by cluster agent. */\n readonly reportedProperties?: ClusterReportedProperties;\n /** Attestation configurations for isolated VM (e.g. TVM, CVM) of the cluster. */\n readonly isolatedVmAttestationConfiguration?: IsolatedVmAttestationConfiguration;\n /** Number of days remaining in the trial period. */\n readonly trialDaysRemaining?: number;\n /** Type of billing applied to the resource. */\n readonly billingModel?: string;\n /** First cluster sync timestamp. */\n readonly registrationTimestamp?: Date;\n /** Most recent cluster sync timestamp. */\n readonly lastSyncTimestamp?: Date;\n /** Most recent billing meter timestamp. */\n readonly lastBillingTimestamp?: Date;\n /** Region specific DataPath Endpoint of the cluster. */\n readonly serviceEndpoint?: string;\n /** Object id of RP Service Principal */\n readonly resourceProviderObjectId?: string;\n /** List of secret locations. */\n secretsLocations?: SecretsLocationDetails[];\n /** Supported Storage Type for HCI Cluster */\n readonly clusterPattern?: ClusterPattern;\n /** Local Availability Zone information for HCI cluster */\n localAvailabilityZones?: LocalAvailabilityZones[];\n /** Identity Provider for the cluster */\n readonly identityProvider?: IdentityProvider;\n /** The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity. */\n readonly principalId?: string;\n /** The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity. */\n readonly tenantId?: string;\n /** The type of managed identity assigned to this resource. */\n typeIdentityType?: ManagedServiceIdentityType;\n /** The identities assigned to this resource by the user. */\n userAssignedIdentities?: Record<string, UserAssignedIdentity>;\n}\n\nexport function clusterSerializer(item: Cluster): any {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n properties: areAllPropsUndefined(item, [\n \"cloudManagementEndpoint\",\n \"aadClientId\",\n \"aadTenantId\",\n \"aadApplicationObjectId\",\n \"aadServicePrincipalObjectId\",\n \"softwareAssuranceProperties\",\n \"logCollectionProperties\",\n \"remoteSupportProperties\",\n \"desiredProperties\",\n \"secretsLocations\",\n \"localAvailabilityZones\",\n ])\n ? undefined\n : _clusterPropertiesSerializer(item),\n identity: areAllPropsUndefined(item, [\"type\", \"userAssignedIdentities\"])\n ? undefined\n : _clusterIdentitySerializer(item),\n };\n}\n\nexport function clusterDeserializer(item: any): Cluster {\n return {\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _clusterPropertiesDeserializer(item[\"properties\"])),\n ...(!item[\"identity\"] ? item[\"identity\"] : _clusterIdentityDeserializer(item[\"identity\"])),\n };\n}\n\n/** Cluster properties. */\nexport interface ClusterProperties {\n /** Provisioning state. Indicates the current lifecycle status of the resource, including creation, update, deletion, connectivity, and error states. */\n readonly provisioningState?: ProvisioningState;\n /** Status of the cluster agent. Indicates the current connectivity, validation, and deployment state of the agent within the cluster. */\n readonly status?: Status;\n /** Overall connectivity status for the cluster resource. Indicates whether the cluster is connected to Azure, partially connected, or has not recently communicated. */\n readonly connectivityStatus?: ConnectivityStatus;\n /** Unique, immutable resource id. */\n readonly cloudId?: string;\n /** Endpoint configured for management from the Azure portal. */\n cloudManagementEndpoint?: string;\n /** App id of cluster AAD identity. */\n aadClientId?: string;\n /** Tenant id of cluster AAD identity. */\n aadTenantId?: string;\n /** Object id of cluster AAD identity. */\n aadApplicationObjectId?: string;\n /** Id of cluster identity service principal. */\n aadServicePrincipalObjectId?: string;\n /** Software Assurance properties of the cluster. */\n softwareAssuranceProperties?: SoftwareAssuranceProperties;\n /** Is Management Cluster, when true indicates that the cluster is used for managing other clusters */\n readonly isManagementCluster?: boolean;\n /** Log Collection properties of the cluster. */\n logCollectionProperties?: LogCollectionProperties;\n /** RemoteSupport properties of the cluster. */\n remoteSupportProperties?: RemoteSupportProperties;\n /** Desired properties of the cluster. */\n desiredProperties?: ClusterDesiredProperties;\n /** Properties reported by cluster agent. */\n readonly reportedProperties?: ClusterReportedProperties;\n /** Attestation configurations for isolated VM (e.g. TVM, CVM) of the cluster. */\n readonly isolatedVmAttestationConfiguration?: IsolatedVmAttestationConfiguration;\n /** Number of days remaining in the trial period. */\n readonly trialDaysRemaining?: number;\n /** Type of billing applied to the resource. */\n readonly billingModel?: string;\n /** First cluster sync timestamp. */\n readonly registrationTimestamp?: Date;\n /** Most recent cluster sync timestamp. */\n readonly lastSyncTimestamp?: Date;\n /** Most recent billing meter timestamp. */\n readonly lastBillingTimestamp?: Date;\n /** Region specific DataPath Endpoint of the cluster. */\n readonly serviceEndpoint?: string;\n /** Object id of RP Service Principal */\n readonly resourceProviderObjectId?: string;\n /** List of secret locations. */\n secretsLocations?: SecretsLocationDetails[];\n /** Supported Storage Type for HCI Cluster */\n readonly clusterPattern?: ClusterPattern;\n /** Local Availability Zone information for HCI cluster */\n localAvailabilityZones?: LocalAvailabilityZones[];\n /** Identity Provider for the cluster */\n readonly identityProvider?: IdentityProvider;\n}\n\nexport function clusterPropertiesSerializer(item: ClusterProperties): any {\n return {\n cloudManagementEndpoint: item[\"cloudManagementEndpoint\"],\n aadClientId: item[\"aadClientId\"],\n aadTenantId: item[\"aadTenantId\"],\n aadApplicationObjectId: item[\"aadApplicationObjectId\"],\n aadServicePrincipalObjectId: item[\"aadServicePrincipalObjectId\"],\n softwareAssuranceProperties: !item[\"softwareAssuranceProperties\"]\n ? item[\"softwareAssuranceProperties\"]\n : softwareAssurancePropertiesSerializer(item[\"softwareAssuranceProperties\"]),\n logCollectionProperties: !item[\"logCollectionProperties\"]\n ? item[\"logCollectionProperties\"]\n : logCollectionPropertiesSerializer(item[\"logCollectionProperties\"]),\n remoteSupportProperties: !item[\"remoteSupportProperties\"]\n ? item[\"remoteSupportProperties\"]\n : remoteSupportPropertiesSerializer(item[\"remoteSupportProperties\"]),\n desiredProperties: !item[\"desiredProperties\"]\n ? item[\"desiredProperties\"]\n : clusterDesiredPropertiesSerializer(item[\"desiredProperties\"]),\n secretsLocations: !item[\"secretsLocations\"]\n ? item[\"secretsLocations\"]\n : secretsLocationDetailsArraySerializer(item[\"secretsLocations\"]),\n localAvailabilityZones: !item[\"localAvailabilityZones\"]\n ? item[\"localAvailabilityZones\"]\n : localAvailabilityZonesArraySerializer(item[\"localAvailabilityZones\"]),\n };\n}\n\nexport function clusterPropertiesDeserializer(item: any): ClusterProperties {\n return {\n provisioningState: item[\"provisioningState\"],\n status: item[\"status\"],\n connectivityStatus: item[\"connectivityStatus\"],\n cloudId: item[\"cloudId\"],\n cloudManagementEndpoint: item[\"cloudManagementEndpoint\"],\n aadClientId: item[\"aadClientId\"],\n aadTenantId: item[\"aadTenantId\"],\n aadApplicationObjectId: item[\"aadApplicationObjectId\"],\n aadServicePrincipalObjectId: item[\"aadServicePrincipalObjectId\"],\n softwareAssuranceProperties: !item[\"softwareAssuranceProperties\"]\n ? item[\"softwareAssuranceProperties\"]\n : softwareAssurancePropertiesDeserializer(item[\"softwareAssuranceProperties\"]),\n isManagementCluster: item[\"isManagementCluster\"],\n logCollectionProperties: !item[\"logCollectionProperties\"]\n ? item[\"logCollectionProperties\"]\n : logCollectionPropertiesDeserializer(item[\"logCollectionProperties\"]),\n remoteSupportProperties: !item[\"remoteSupportProperties\"]\n ? item[\"remoteSupportProperties\"]\n : remoteSupportPropertiesDeserializer(item[\"remoteSupportProperties\"]),\n desiredProperties: !item[\"desiredProperties\"]\n ? item[\"desiredProperties\"]\n : clusterDesiredPropertiesDeserializer(item[\"desiredProperties\"]),\n reportedProperties: !item[\"reportedProperties\"]\n ? item[\"reportedProperties\"]\n : clusterReportedPropertiesDeserializer(item[\"reportedProperties\"]),\n isolatedVmAttestationConfiguration: !item[\"isolatedVmAttestationConfiguration\"]\n ? item[\"isolatedVmAttestationConfiguration\"]\n : isolatedVmAttestationConfigurationDeserializer(item[\"isolatedVmAttestationConfiguration\"]),\n trialDaysRemaining: item[\"trialDaysRemaining\"],\n billingModel: item[\"billingModel\"],\n registrationTimestamp: !item[\"registrationTimestamp\"]\n ? item[\"registrationTimestamp\"]\n : new Date(item[\"registrationTimestamp\"]),\n lastSyncTimestamp: !item[\"lastSyncTimestamp\"]\n ? item[\"lastSyncTimestamp\"]\n : new Date(item[\"lastSyncTimestamp\"]),\n lastBillingTimestamp: !item[\"lastBillingTimestamp\"]\n ? item[\"lastBillingTimestamp\"]\n : new Date(item[\"lastBillingTimestamp\"]),\n serviceEndpoint: item[\"serviceEndpoint\"],\n resourceProviderObjectId: item[\"resourceProviderObjectId\"],\n secretsLocations: !item[\"secretsLocations\"]\n ? item[\"secretsLocations\"]\n : secretsLocationDetailsArrayDeserializer(item[\"secretsLocations\"]),\n clusterPattern: item[\"clusterPattern\"],\n localAvailabilityZones: !item[\"localAvailabilityZones\"]\n ? item[\"localAvailabilityZones\"]\n : localAvailabilityZonesArrayDeserializer(item[\"localAvailabilityZones\"]),\n identityProvider: item[\"identityProvider\"],\n };\n}\n\n/** Status of the cluster agent. Indicates the current connectivity, validation, and deployment state of the agent within the cluster. */\nexport enum KnownStatus {\n /** The cluster agent has not yet registered with Azure. */\n NotYetRegistered = \"NotYetRegistered\",\n /** The cluster agent has connected to Azure recently. */\n ConnectedRecently = \"ConnectedRecently\",\n /** The cluster agent has not connected to Azure recently. */\n NotConnectedRecently = \"NotConnectedRecently\",\n /** The cluster agent is currently disconnected from Azure. */\n Disconnected = \"Disconnected\",\n /** An error occurred in the cluster agent's operation. */\n Error = \"Error\",\n /** The status of the cluster agent is not specified. */\n NotSpecified = \"NotSpecified\",\n /** Validation of the cluster agent is currently in progress. */\n ValidationInProgress = \"ValidationInProgress\",\n /** Validation of the cluster agent completed successfully. */\n ValidationSuccess = \"ValidationSuccess\",\n /** Validation of the cluster agent failed. */\n ValidationFailed = \"ValidationFailed\",\n /** Deployment of the cluster agent is currently in progress. */\n DeploymentInProgress = \"DeploymentInProgress\",\n /** Deployment of the cluster agent failed. */\n DeploymentFailed = \"DeploymentFailed\",\n /** Deployment of the cluster agent completed successfully. */\n DeploymentSuccess = \"DeploymentSuccess\",\n}\n\n/**\n * Status of the cluster agent. Indicates the current connectivity, validation, and deployment state of the agent within the cluster. \\\n * {@link KnownStatus} can be used interchangeably with Status,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **NotYetRegistered**: The cluster agent has not yet registered with Azure. \\\n * **ConnectedRecently**: The cluster agent has connected to Azure recently. \\\n * **NotConnectedRecently**: The cluster agent has not connected to Azure recently. \\\n * **Disconnected**: The cluster agent is currently disconnected from Azure. \\\n * **Error**: An error occurred in the cluster agent's operation. \\\n * **NotSpecified**: The status of the cluster agent is not specified. \\\n * **ValidationInProgress**: Validation of the cluster agent is currently in progress. \\\n * **ValidationSuccess**: Validation of the cluster agent completed successfully. \\\n * **ValidationFailed**: Validation of the cluster agent failed. \\\n * **DeploymentInProgress**: Deployment of the cluster agent is currently in progress. \\\n * **DeploymentFailed**: Deployment of the cluster agent failed. \\\n * **DeploymentSuccess**: Deployment of the cluster agent completed successfully.\n */\nexport type Status = string;\n\n/** Overall connectivity status for the cluster resource. Indicates whether the cluster is connected to Azure, partially connected, or has not recently communicated. */\nexport enum KnownConnectivityStatus {\n /** The cluster has not yet registered with Azure. */\n NotYetRegistered = \"NotYetRegistered\",\n /** The cluster is fully connected to Azure. */\n Connected = \"Connected\",\n /** The cluster has not connected to Azure recently. */\n NotConnectedRecently = \"NotConnectedRecently\",\n /** Some components of the cluster are connected, while others are not. */\n PartiallyConnected = \"PartiallyConnected\",\n /** The cluster is not connected to Azure. */\n Disconnected = \"Disconnected\",\n /** The connectivity status is not specified. */\n NotSpecified = \"NotSpecified\",\n}\n\n/**\n * Overall connectivity status for the cluster resource. Indicates whether the cluster is connected to Azure, partially connected, or has not recently communicated. \\\n * {@link KnownConnectivityStatus} can be used interchangeably with ConnectivityStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **NotYetRegistered**: The cluster has not yet registered with Azure. \\\n * **Connected**: The cluster is fully connected to Azure. \\\n * **NotConnectedRecently**: The cluster has not connected to Azure recently. \\\n * **PartiallyConnected**: Some components of the cluster are connected, while others are not. \\\n * **Disconnected**: The cluster is not connected to Azure. \\\n * **NotSpecified**: The connectivity status is not specified.\n */\nexport type ConnectivityStatus = string;\n\n/** Software Assurance properties of the cluster. */\nexport interface SoftwareAssuranceProperties {\n /** Status of the Software Assurance for the cluster. */\n readonly softwareAssuranceStatus?: SoftwareAssuranceStatus;\n /** Customer Intent for Software Assurance Benefit. */\n softwareAssuranceIntent?: SoftwareAssuranceIntent;\n /** TimeStamp denoting the latest SA benefit applicability is validated. */\n readonly lastUpdated?: Date;\n}\n\nexport function softwareAssurancePropertiesSerializer(item: SoftwareAssuranceProperties): any {\n return { softwareAssuranceIntent: item[\"softwareAssuranceIntent\"] };\n}\n\nexport function softwareAssurancePropertiesDeserializer(item: any): SoftwareAssuranceProperties {\n return {\n softwareAssuranceStatus: item[\"softwareAssuranceStatus\"],\n softwareAssuranceIntent: item[\"softwareAssuranceIntent\"],\n lastUpdated: !item[\"lastUpdated\"] ? item[\"lastUpdated\"] : new Date(item[\"lastUpdated\"]),\n };\n}\n\n/** Status of the Software Assurance for the cluster. */\nexport enum KnownSoftwareAssuranceStatus {\n /** Software Assurance is enabled for the cluster. */\n Enabled = \"Enabled\",\n /** Software Assurance is disabled for the cluster. */\n Disabled = \"Disabled\",\n}\n\n/**\n * Status of the Software Assurance for the cluster. \\\n * {@link KnownSoftwareAssuranceStatus} can be used interchangeably with SoftwareAssuranceStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Enabled**: Software Assurance is enabled for the cluster. \\\n * **Disabled**: Software Assurance is disabled for the cluster.\n */\nexport type SoftwareAssuranceStatus = string;\n\n/** Customer Intent for Software Assurance Benefit. */\nexport enum KnownSoftwareAssuranceIntent {\n /** Customer intends to enable the Software Assurance benefit. */\n Enable = \"Enable\",\n /** Customer intends to disable the Software Assurance benefit. */\n Disable = \"Disable\",\n}\n\n/**\n * Customer Intent for Software Assurance Benefit. \\\n * {@link KnownSoftwareAssuranceIntent} can be used interchangeably with SoftwareAssuranceIntent,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Enable**: Customer intends to enable the Software Assurance benefit. \\\n * **Disable**: Customer intends to disable the Software Assurance benefit.\n */\nexport type SoftwareAssuranceIntent = string;\n\n/** Log Collection properties of the cluster. */\nexport interface LogCollectionProperties {\n /** From DateTimeStamp from when logs need to be connected */\n readonly fromDate?: Date;\n /** To DateTimeStamp till when logs need to be connected */\n readonly toDate?: Date;\n /** Recent DateTimeStamp where logs are successfully generated */\n readonly lastLogGenerated?: Date;\n readonly logCollectionSessionDetails?: LogCollectionSession[];\n}\n\nexport function logCollectionPropertiesSerializer(item: LogCollectionProperties): any {\n return item;\n}\n\nexport function logCollectionPropertiesDeserializer(item: any): LogCollectionProperties {\n return {\n fromDate: !item[\"fromDate\"] ? item[\"fromDate\"] : new Date(item[\"fromDate\"]),\n toDate: !item[\"toDate\"] ? item[\"toDate\"] : new Date(item[\"toDate\"]),\n lastLogGenerated: !item[\"lastLogGenerated\"]\n ? item[\"lastLogGenerated\"]\n : new Date(item[\"lastLogGenerated\"]),\n logCollectionSessionDetails: !item[\"logCollectionSessionDetails\"]\n ? item[\"logCollectionSessionDetails\"]\n : logCollectionSessionArrayDeserializer(item[\"logCollectionSessionDetails\"]),\n };\n}\n\nexport function logCollectionSessionArrayDeserializer(result: Array<LogCollectionSession>): any[] {\n return result.map((item) => {\n return logCollectionSessionDeserializer(item);\n });\n}\n\n/** Log Collection Session details of the cluster. */\nexport interface LogCollectionSession {\n /** Start Time of the logs when it was collected */\n readonly logStartTime?: Date;\n /** End Time of the logs when it was collected */\n readonly logEndTime?: Date;\n /** Duration of logs collected */\n readonly timeCollected?: Date;\n /** Size of the logs collected */\n readonly logSize?: number;\n /** LogCollection status */\n readonly logCollectionStatus?: LogCollectionStatus;\n /** CorrelationId of the log collection */\n readonly correlationId?: string;\n /** Specifies the type of log collection job. Determines whether the logs are collected immediately on demand or as part of a scheduled operation. */\n readonly logCollectionJobType?: LogCollectionJobType;\n /** End Time of the logs when it was collected */\n readonly endTimeCollected?: Date;\n /** Log Collection Error details of the cluster. */\n readonly logCollectionError?: LogCollectionError;\n}\n\nexport function logCollectionSessionDeserializer(item: any): LogCollectionSession {\n return {\n logStartTime: !item[\"logStartTime\"] ? item[\"logStartTime\"] : new Date(item[\"logStartTime\"]),\n logEndTime: !item[\"logEndTime\"] ? item[\"logEndTime\"] : new Date(item[\"logEndTime\"]),\n timeCollected: !item[\"timeCollected\"] ? item[\"timeCollected\"] : new Date(item[\"timeCollected\"]),\n logSize: item[\"logSize\"],\n logCollectionStatus: item[\"logCollectionStatus\"],\n correlationId: item[\"correlationId\"],\n logCollectionJobType: item[\"logCollectionJobType\"],\n endTimeCollected: !item[\"endTimeCollected\"]\n ? item[\"endTimeCollected\"]\n : new Date(item[\"endTimeCollected\"]),\n logCollectionError: !item[\"logCollectionError\"]\n ? item[\"logCollectionError\"]\n : logCollectionErrorDeserializer(item[\"logCollectionError\"]),\n };\n}\n\n/** LogCollection status */\nexport enum KnownLogCollectionStatus {\n /** No log collection has been initiated. */\n None = \"None\",\n /** Log collection is currently in progress. */\n InProgress = \"InProgress\",\n /** Log collection has failed. */\n Failed = \"Failed\",\n /** Log collection completed successfully. */\n Succeeded = \"Succeeded\",\n}\n\n/**\n * LogCollection status \\\n * {@link KnownLogCollectionStatus} can be used interchangeably with LogCollectionStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **None**: No log collection has been initiated. \\\n * **InProgress**: Log collection is currently in progress. \\\n * **Failed**: Log collection has failed. \\\n * **Succeeded**: Log collection completed successfully.\n */\nexport type LogCollectionStatus = string;\n\n/** Specifies the type of log collection job. Determines whether the logs are collected immediately on demand or as part of a scheduled operation. */\nexport enum KnownLogCollectionJobType {\n /** Log collection is triggered manually and executed immediately. */\n OnDemand = \"OnDemand\",\n /** Log collection is scheduled to run at a predefined time or interval. */\n Scheduled = \"Scheduled\",\n}\n\n/**\n * Specifies the type of log collection job. Determines whether the logs are collected immediately on demand or as part of a scheduled operation. \\\n * {@link KnownLogCollectionJobType} can be used interchangeably with LogCollectionJobType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **OnDemand**: Log collection is triggered manually and executed immediately. \\\n * **Scheduled**: Log collection is scheduled to run at a predefined time or interval.\n */\nexport type LogCollectionJobType = string;\n\n/** Log Collection Error details of the cluster. */\nexport interface LogCollectionError {\n /** Error Code of the log collection */\n readonly errorCode?: string;\n /** Error Message of the log collection */\n readonly errorMessage?: string;\n}\n\nexport function logCollectionErrorDeserializer(item: any): LogCollectionError {\n return {\n errorCode: item[\"errorCode\"],\n errorMessage: item[\"errorMessage\"],\n };\n}\n\n/** Remote Support properties of the cluster. */\nexport interface RemoteSupportProperties {\n /** Remote Support Access Level */\n readonly accessLevel?: AccessLevel;\n /** Expiration DateTimeStamp when Remote Support Access will be expired */\n readonly expirationTimeStamp?: Date;\n /** Remote Support Type for cluster */\n readonly remoteSupportType?: RemoteSupportType;\n readonly remoteSupportNodeSettings?: RemoteSupportNodeSettings[];\n readonly remoteSupportSessionDetails?: PerNodeRemoteSupportSession[];\n}\n\nexport function remoteSupportPropertiesSerializer(item: RemoteSupportProperties): any {\n return item;\n}\n\nexport function remoteSupportPropertiesDeserializer(item: any): RemoteSupportProperties {\n return {\n accessLevel: item[\"accessLevel\"],\n expirationTimeStamp: !item[\"expirationTimeStamp\"]\n ? item[\"expirationTimeStamp\"]\n : new Date(item[\"expirationTimeStamp\"]),\n remoteSupportType: item[\"remoteSupportType\"],\n remoteSupportNodeSettings: !item[\"remoteSupportNodeSettings\"]\n ? item[\"remoteSupportNodeSettings\"]\n : remoteSupportNodeSettingsArrayDeserializer(item[\"remoteSupportNodeSettings\"]),\n remoteSupportSessionDetails: !item[\"remoteSupportSessionDetails\"]\n ? item[\"remoteSupportSessionDetails\"]\n : perNodeRemoteSupportSessionArrayDeserializer(item[\"remoteSupportSessionDetails\"]),\n };\n}\n\n/** Remote Support Access Level */\nexport enum KnownAccessLevel {\n /** Allows remote diagnostics operations only. */\n Diagnostics = \"Diagnostics\",\n /** Allows both remote diagnostics and repair operations. */\n DiagnosticsAndRepair = \"DiagnosticsAndRepair\",\n}\n\n/**\n * Remote Support Access Level \\\n * {@link KnownAccessLevel} can be used interchangeably with AccessLevel,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Diagnostics**: Allows remote diagnostics operations only. \\\n * **DiagnosticsAndRepair**: Allows both remote diagnostics and repair operations.\n */\nexport type AccessLevel = string;\n\n/** Remote Support Type for cluster */\nexport enum KnownRemoteSupportType {\n /** Enable remote support for the cluster. */\n Enable = \"Enable\",\n /** Revoke previously enabled remote support for the cluster. */\n Revoke = \"Revoke\",\n}\n\n/**\n * Remote Support Type for cluster \\\n * {@link KnownRemoteSupportType} can be used interchangeably with RemoteSupportType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Enable**: Enable remote support for the cluster. \\\n * **Revoke**: Revoke previously enabled remote support for the cluster.\n */\nexport type RemoteSupportType = string;\n\nexport function remoteSupportNodeSettingsArrayDeserializer(\n result: Array<RemoteSupportNodeSettings>,\n): any[] {\n return result.map((item) => {\n return remoteSupportNodeSettingsDeserializer(item);\n });\n}\n\n/** Remote Support Node Settings of the cluster. */\nexport interface RemoteSupportNodeSettings {\n /** Arc ResourceId of the Node */\n readonly arcResourceId?: string;\n /** Remote Support Access Connection State on the Node */\n readonly state?: string;\n /** Remote Support Enablement Request Created TimeStamp on the Node */\n readonly createdAt?: Date;\n /** Remote Support Enablement Request Updated TimeStamp on the Node */\n readonly updatedAt?: Date;\n /** Remote Support Access Connection Status on the Node */\n readonly connectionStatus?: string;\n /** Remote Support Access Connection Error Message on the Node */\n readonly connectionErrorMessage?: string;\n /** Remote Support Transcript location on the node */\n readonly transcriptLocation?: string;\n}\n\nexport function remoteSupportNodeSettingsDeserializer(item: any): RemoteSupportNodeSettings {\n return {\n arcResourceId: item[\"arcResourceId\"],\n state: item[\"state\"],\n createdAt: !item[\"createdAt\"] ? item[\"createdAt\"] : new Date(item[\"createdAt\"]),\n updatedAt: !item[\"updatedAt\"] ? item[\"updatedAt\"] : new Date(item[\"updatedAt\"]),\n connectionStatus: item[\"connectionStatus\"],\n connectionErrorMessage: item[\"connectionErrorMessage\"],\n transcriptLocation: item[\"transcriptLocation\"],\n };\n}\n\nexport function perNodeRemoteSupportSessionArrayDeserializer(\n result: Array<PerNodeRemoteSupportSession>,\n): any[] {\n return result.map((item) => {\n return perNodeRemoteSupportSessionDeserializer(item);\n });\n}\n\n/** Remote Support Node Session Details on the Node. */\nexport interface PerNodeRemoteSupportSession {\n /** Remote Support Session StartTime on the Node */\n readonly sessionStartTime?: Date;\n /** Remote Support Session EndTime on the Node */\n readonly sessionEndTime?: Date;\n /** Name of the node */\n readonly nodeName?: string;\n /** Duration of Remote Support Enablement */\n readonly duration?: number;\n /** Remote Support Access Level */\n readonly accessLevel?: AccessLevel;\n}\n\nexport function perNodeRemoteSupportSessionDeserializer(item: any): PerNodeRemoteSupportSession {\n return {\n sessionStartTime: !item[\"sessionStartTime\"]\n ? item[\"sessionStartTime\"]\n : new Date(item[\"sessionStartTime\"]),\n sessionEndTime: !item[\"sessionEndTime\"]\n ? item[\"sessionEndTime\"]\n : new Date(item[\"sessionEndTime\"]),\n nodeName: item[\"nodeName\"],\n duration: item[\"duration\"],\n accessLevel: item[\"accessLevel\"],\n };\n}\n\n/** Desired properties of the cluster. */\nexport interface ClusterDesiredProperties {\n /** Desired state of Windows Server Subscription. */\n windowsServerSubscription?: WindowsServerSubscription;\n /** Desired level of diagnostic data emitted by the cluster. */\n diagnosticLevel?: DiagnosticLevel;\n}\n\nexport function clusterDesiredPropertiesSerializer(item: ClusterDesiredProperties): any {\n return {\n windowsServerSubscription: item[\"windowsServerSubscription\"],\n diagnosticLevel: item[\"diagnosticLevel\"],\n };\n}\n\nexport function clusterDesiredPropertiesDeserializer(item: any): ClusterDesiredProperties {\n return {\n windowsServerSubscription: item[\"windowsServerSubscription\"],\n diagnosticLevel: item[\"diagnosticLevel\"],\n };\n}\n\n/** Desired state of Windows Server Subscription. */\nexport enum KnownWindowsServerSubscription {\n /** Windows Server Subscription is disabled. */\n Disabled = \"Disabled\",\n /** Windows Server Subscription is enabled. */\n Enabled = \"Enabled\",\n}\n\n/**\n * Desired state of Windows Server Subscription. \\\n * {@link KnownWindowsServerSubscription} can be used interchangeably with WindowsServerSubscription,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Disabled**: Windows Server Subscription is disabled. \\\n * **Enabled**: Windows Server Subscription is enabled.\n */\nexport type WindowsServerSubscription = string;\n\n/** Desired level of diagnostic data emitted by the cluster. */\nexport enum KnownDiagnosticLevel {\n /** No diagnostic data will be emitted. */\n Off = \"Off\",\n /** Basic diagnostic data will be emitted, including essential health metrics. */\n Basic = \"Basic\",\n /** Enhanced diagnostic data will be emitted, including detailed performance and usage metrics. */\n Enhanced = \"Enhanced\",\n}\n\n/**\n * Desired level of diagnostic data emitted by the cluster. \\\n * {@link KnownDiagnosticLevel} can be used interchangeably with DiagnosticLevel,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Off**: No diagnostic data will be emitted. \\\n * **Basic**: Basic diagnostic data will be emitted, including essential health metrics. \\\n * **Enhanced**: Enhanced diagnostic data will be emitted, including detailed performance and usage metrics.\n */\nexport type DiagnosticLevel = string;\n\n/** Properties reported by cluster agent. */\nexport interface ClusterReportedProperties {\n /** Name of the on-prem cluster connected to this resource. */\n readonly clusterName?: string;\n /** Unique id generated by the on-prem cluster. */\n readonly clusterId?: string;\n /** Version of the cluster software. */\n readonly clusterVersion?: string;\n /** List of nodes reported by the cluster. */\n readonly nodes?: ClusterNode[];\n /** Last time the cluster reported the data. */\n readonly lastUpdated?: Date;\n /** Specifies the expiration timestamp of the cluster's Managed Service Identity (MSI). The value is expressed in Coordinated Universal Time (UTC). */\n readonly msiExpirationTimeStamp?: Date;\n /** IMDS attestation status of the cluster. */\n readonly imdsAttestation?: ImdsAttestation;\n /** Level of diagnostic data emitted by the cluster. */\n diagnosticLevel?: DiagnosticLevel;\n /** Capabilities supported by the cluster. */\n readonly supportedCapabilities?: string[];\n /** Specifies the type of hardware vendor for all nodes in the cluster. Indicates whether the nodes are provided by Microsoft or a third-party vendor. */\n readonly clusterType?: ClusterNodeType;\n /** The manufacturer of all the nodes of the cluster. */\n readonly manufacturer?: string;\n /** OEM activation status of the cluster. */\n readonly oemActivation?: OemActivation;\n /** Hardware class of the cluster. */\n readonly hardwareClass?: HardwareClass;\n}\n\nexport function clusterReportedPropertiesDeserializer(item: any): ClusterReportedProperties {\n return {\n clusterName: item[\"clusterName\"],\n clusterId: item[\"clusterId\"],\n clusterVersion: item[\"clusterVersion\"],\n nodes: !item[\"nodes\"] ? item[\"nodes\"] : clusterNodeArrayDeserializer(item[\"nodes\"]),\n lastUpdated: !item[\"lastUpdated\"] ? item[\"lastUpdated\"] : new Date(item[\"lastUpdated\"]),\n msiExpirationTimeStamp: !item[\"msiExpirationTimeStamp\"]\n ? item[\"msiExpirationTimeStamp\"]\n : new Date(item[\"msiExpirationTimeStamp\"]),\n imdsAttestation: item[\"imdsAttestation\"],\n diagnosticLevel: item[\"diagnosticLevel\"],\n supportedCapabilities: !item[\"supportedCapabilities\"]\n ? item[\"supportedCapabilities\"]\n : item[\"supportedCapabilities\"].map((p: any) => {\n return p;\n }),\n clusterType: item[\"clusterType\"],\n manufacturer: item[\"manufacturer\"],\n oemActivation: item[\"oemActivation\"],\n hardwareClass: item[\"hardwareClass\"],\n };\n}\n\nexport function clusterNodeArrayDeserializer(result: Array<ClusterNode>): any[] {\n return result.map((item) => {\n return clusterNodeDeserializer(item);\n });\n}\n\n/** Cluster node details. */\nexport interface ClusterNode {\n /** Name of the cluster node. */\n readonly name?: string;\n /** Id of the node in the cluster. */\n readonly id?: number;\n /** State of Windows Server Subscription. */\n readonly windowsServerSubscription?: WindowsServerSubscription;\n /** Type of the cluster node hardware. */\n readonly nodeType?: ClusterNodeType;\n /** Edge Hardware Center Resource Id */\n readonly ehcResourceId?: string;\n /** Manufacturer of the cluster node hardware. */\n readonly manufacturer?: string;\n /** Model name of the cluster node hardware. */\n readonly model?: string;\n /** Operating system running on the cluster node. */\n readonly osName?: string;\n /** Version of the operating system running on the cluster node. */\n readonly osVersion?: string;\n /** Display version of the operating system running on the cluster node. */\n readonly osDisplayVersion?: string;\n /** Immutable id of the cluster node. */\n readonly serialNumber?: string;\n /** Number of physical cores on the cluster node. */\n readonly coreCount?: number;\n /** Total available memory on the cluster node (in GiB). */\n readonly memoryInGiB?: number;\n /** Most recent licensing timestamp. */\n readonly lastLicensingTimestamp?: Date;\n /** OEM activation status of the node. */\n readonly oemActivation?: OemActivation;\n}\n\nexport function clusterNodeDeserializer(item: any): ClusterNode {\n return {\n name: item[\"name\"],\n id: item[\"id\"],\n windowsServerSubscription: item[\"windowsServerSubscription\"],\n nodeType: item[\"nodeType\"],\n ehcResourceId: item[\"ehcResourceId\"],\n manufacturer: item[\"manufacturer\"],\n model: item[\"model\"],\n osName: item[\"osName\"],\n osVersion: item[\"osVersion\"],\n osDisplayVersion: item[\"osDisplayVersion\"],\n serialNumber: item[\"serialNumber\"],\n coreCount: item[\"coreCount\"],\n memoryInGiB: item[\"memoryInGiB\"],\n lastLicensingTimestamp: !item[\"lastLicensingTimestamp\"]\n ? item[\"lastLicensingTimestamp\"]\n : new Date(item[\"lastLicensingTimestamp\"]),\n oemActivation: item[\"oemActivation\"],\n };\n}\n\n/** Specifies the type of hardware vendor for all nodes in the cluster. Indicates whether the nodes are provided by Microsoft or a third-party vendor. */\nexport enum KnownClusterNodeType {\n /** All nodes in the cluster are provided and managed by Microsoft. */\n FirstParty = \"FirstParty\",\n /** All nodes in the cluster are provided and managed by a third-party vendor. */\n ThirdParty = \"ThirdParty\",\n}\n\n/**\n * Specifies the type of hardware vendor for all nodes in the cluster. Indicates whether the nodes are provided by Microsoft or a third-party vendor. \\\n * {@link KnownClusterNodeType} can be used interchangeably with ClusterNodeType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **FirstParty**: All nodes in the cluster are provided and managed by Microsoft. \\\n * **ThirdParty**: All nodes in the cluster are provided and managed by a third-party vendor.\n */\nexport type ClusterNodeType = string;\n\n/** OEM activation status of the cluster. */\nexport enum KnownOemActivation {\n /** OEM activation is disabled for the cluster. */\n Disabled = \"Disabled\",\n /** OEM activation is enabled for the cluster. */\n Enabled = \"Enabled\",\n}\n\n/**\n * OEM activation status of the cluster. \\\n * {@link KnownOemActivation} can be used interchangeably with OemActivation,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Disabled**: OEM activation is disabled for the cluster. \\\n * **Enabled**: OEM activation is enabled for the cluster.\n */\nexport type OemActivation = string;\n\n/** IMDS attestation status of the cluster. */\nexport enum KnownImdsAttestation {\n /** IMDS attestation is disabled for the cluster. */\n Disabled = \"Disabled\",\n /** IMDS attestation is enabled for the cluster. */\n Enabled = \"Enabled\",\n}\n\n/**\n * IMDS attestation status of the cluster. \\\n * {@link KnownImdsAttestation} can be used interchangeably with ImdsAttestation,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Disabled**: IMDS attestation is disabled for the cluster. \\\n * **Enabled**: IMDS attestation is enabled for the cluster.\n */\nexport type ImdsAttestation = string;\n\n/** Hardware class of the cluster. */\nexport enum KnownHardwareClass {\n /** The hardware class is small. */\n Small = \"Small\",\n /** The hardware class is medium. This corresponds to the default */\n Medium = \"Medium\",\n /** The hardware class is large. */\n Large = \"Large\",\n}\n\n/**\n * Hardware class of the cluster. \\\n * {@link KnownHardwareClass} can be used interchangeably with HardwareClass,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Small**: The hardware class is small. \\\n * **Medium**: The hardware class is medium. This corresponds to the default \\\n * **Large**: The hardware class is large.\n */\nexport type HardwareClass = string;\n\n/** Attestation configurations for isolated VM (e.g. TVM, CVM) of the cluster. */\nexport interface IsolatedVmAttestationConfiguration {\n /** Fully qualified Azure resource id of the Microsoft Azure attestation resource associated with this cluster. */\n readonly attestationResourceId?: string;\n /** Region specific endpoint for relying party service. */\n readonly relyingPartyServiceEndpoint?: string;\n /** Region specific endpoint for Microsoft Azure Attestation service for the cluster */\n readonly attestationServiceEndpoint?: string;\n}\n\nexport function isolatedVmAttestationConfigurationDeserializer(\n item: any,\n): IsolatedVmAttestationConfiguration {\n return {\n attestationResourceId: item[\"attestationResourceId\"],\n relyingPartyServiceEndpoint: item[\"relyingPartyServiceEndpoint\"],\n attestationServiceEndpoint: item[\"attestationServiceEndpoint\"],\n };\n}\n\nexport function secretsLocationDetailsArraySerializer(\n result: Array<SecretsLocationDetails>,\n): any[] {\n return result.map((item) => {\n return secretsLocationDetailsSerializer(item);\n });\n}\n\nexport function secretsLocationDetailsArrayDeserializer(\n result: Array<SecretsLocationDetails>,\n): any[] {\n return result.map((item) => {\n return secretsLocationDetailsDeserializer(item);\n });\n}\n\n/** Secrets location details */\nexport interface SecretsLocationDetails {\n /** Type of secrets to store */\n secretsType: SecretsType;\n /** secrets location */\n secretsLocation: string;\n}\n\nexport function secretsLocationDetailsSerializer(item: SecretsLocationDetails): any {\n return { secretsType: item[\"secretsType\"], secretsLocation: item[\"secretsLocation\"] };\n}\n\nexport function secretsLocationDetailsDeserializer(item: any): SecretsLocationDetails {\n return {\n secretsType: item[\"secretsType\"],\n secretsLocation: item[\"secretsLocation\"],\n };\n}\n\n/** Type of secrets to store */\nexport enum KnownSecretsType {\n /** Backup secrets type */\n BackupSecrets = \"BackupSecrets\",\n}\n\n/**\n * Type of secrets to store \\\n * {@link KnownSecretsType} can be used interchangeably with SecretsType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **BackupSecrets**: Backup secrets type\n */\nexport type SecretsType = string;\n\n/** Supported Storage Pattern for HCI Cluster */\nexport enum KnownClusterPattern {\n /** Standard cluster. */\n Standard = \"Standard\",\n /** RackAware cluster. */\n RackAware = \"RackAware\",\n}\n\n/**\n * Supported Storage Pattern for HCI Cluster \\\n * {@link KnownClusterPattern} can be used interchangeably with ClusterPattern,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Standard**: Standard cluster. \\\n * **RackAware**: RackAware cluster.\n */\nexport type ClusterPattern = string;\n\nexport function localAvailabilityZonesArraySerializer(\n result: Array<LocalAvailabilityZones>,\n): any[] {\n return result.map((item) => {\n return localAvailabilityZonesSerializer(item);\n });\n}\n\nexport function localAvailabilityZonesArrayDeserializer(\n result: Array<LocalAvailabilityZones>,\n): any[] {\n return result.map((item) => {\n return localAvailabilityZonesDeserializer(item);\n });\n}\n\n/** Local Availability Zone information for HCI cluster */\nexport interface LocalAvailabilityZones {\n /** Local Availability Zone name for HCI cluster */\n localAvailabilityZoneName?: string;\n /** Nodes belonging to a particular zone */\n nodes?: string[];\n}\n\nexport function localAvailabilityZonesSerializer(item: LocalAvailabilityZones): any {\n return {\n localAvailabilityZoneName: item[\"localAvailabilityZoneName\"],\n nodes: !item[\"nodes\"]\n ? item[\"nodes\"]\n : item[\"nodes\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function localAvailabilityZonesDeserializer(item: any): LocalAvailabilityZones {\n return {\n localAvailabilityZoneName: item[\"localAvailabilityZoneName\"],\n nodes: !item[\"nodes\"]\n ? item[\"nodes\"]\n : item[\"nodes\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** Identity Provider for the cluster */\nexport enum KnownIdentityProvider {\n /** Uses Active Directory as the identity provider, enabling domain-based authentication and centralized identity management. This is the default option. */\n ActiveDirectory = \"ActiveDirectory\",\n /** Uses a local identity system integrated with Azure Key Vault for authentication. Suitable for AD-less environments where Active Directory is not available or required. */\n LocalIdentity = \"LocalIdentity\",\n}\n\n/**\n * Identity Provider for the cluster \\\n * {@link KnownIdentityProvider} can be used interchangeably with IdentityProvider,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **ActiveDirectory**: Uses Active Directory as the identity provider, enabling domain-based authentication and centralized identity management. This is the default option. \\\n * **LocalIdentity**: Uses a local identity system integrated with Azure Key Vault for authentication. Suitable for AD-less environments where Active Directory is not available or required.\n */\nexport type IdentityProvider = string;\n\n/** Managed service identity (system assigned and/or user assigned identities) */\nexport interface ManagedServiceIdentity {\n /** The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity. */\n readonly principalId?: string;\n /** The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity. */\n readonly tenantId?: string;\n /** The type of managed identity assigned to this resource. */\n type: ManagedServiceIdentityType;\n /** The identities assigned to this resource by the user. */\n userAssignedIdentities?: Record<string, UserAssignedIdentity>;\n}\n\nexport function managedServiceIdentitySerializer(item: ManagedServiceIdentity): any {\n return { type: item[\"type\"], userAssignedIdentities: item[\"userAssignedIdentities\"] };\n}\n\nexport function managedServiceIdentityDeserializer(item: any): ManagedServiceIdentity {\n return {\n principalId: item[\"principalId\"],\n tenantId: item[\"tenantId\"],\n type: item[\"type\"],\n userAssignedIdentities: !item[\"userAssignedIdentities\"]\n ? item[\"userAssignedIdentities\"]\n : Object.fromEntries(\n Object.entries(item[\"userAssignedIdentities\"]).map(([k, p]: [string, any]) => [\n k,\n !p ? p : userAssignedIdentityDeserializer(p),\n ]),\n ),\n };\n}\n\n/** Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). */\nexport enum KnownManagedServiceIdentityType {\n /** No managed identity. */\n None = \"None\",\n /** System assigned managed identity. */\n SystemAssigned = \"SystemAssigned\",\n /** User assigned managed identity. */\n UserAssigned = \"UserAssigned\",\n /** System and user assigned managed identity. */\n SystemAssignedUserAssigned = \"SystemAssigned,UserAssigned\",\n}\n\n/**\n * Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). \\\n * {@link KnownManagedServiceIdentityType} can be used interchangeably with ManagedServiceIdentityType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **None**: No managed identity. \\\n * **SystemAssigned**: System assigned managed identity. \\\n * **UserAssigned**: User assigned managed identity. \\\n * **SystemAssigned,UserAssigned**: System and user assigned managed identity.\n */\nexport type ManagedServiceIdentityType = string;\n\n/** User assigned identity properties */\nexport interface UserAssignedIdentity {\n /** The principal ID of the assigned identity. */\n readonly principalId?: string;\n /** The client ID of the assigned identity. */\n readonly clientId?: string;\n}\n\nexport function userAssignedIdentitySerializer(item: UserAssignedIdentity): any {\n return item;\n}\n\nexport function userAssignedIdentityDeserializer(item: any): UserAssignedIdentity {\n return {\n principalId: item[\"principalId\"],\n clientId: item[\"clientId\"],\n };\n}\n\n/** The resource model definition for an Azure Resource Manager tracked top level resource which has 'tags' and a 'location' */\nexport interface TrackedResource extends Resource {\n /** Resource tags. */\n tags?: Record<string, string>;\n /** The geo-location where the resource lives */\n location: string;\n}\n\nexport function trackedResourceSerializer(item: TrackedResource): any {\n return { tags: item[\"tags\"], location: item[\"location\"] };\n}\n\nexport function trackedResourceDeserializer(item: any): TrackedResource {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n location: item[\"location\"],\n };\n}\n\n/** Cluster details to update. */\nexport interface ClusterPatch {\n /** Resource tags. */\n tags?: Record<string, string>;\n /** The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity. */\n readonly principalId?: string;\n /** The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity. */\n readonly tenantId?: string;\n /** The type of managed identity assigned to this resource. */\n type?: ManagedServiceIdentityType;\n /** The identities assigned to this resource by the user. */\n userAssignedIdentities?: Record<string, UserAssignedIdentity>;\n /** Endpoint configured for management from the Azure portal */\n cloudManagementEndpoint?: string;\n /** App id of cluster AAD identity. */\n aadClientId?: string;\n /** Tenant id of cluster AAD identity. */\n aadTenantId?: string;\n /** Desired properties of the cluster. */\n desiredProperties?: ClusterDesiredProperties;\n}\n\nexport function clusterPatchSerializer(item: ClusterPatch): any {\n return {\n tags: item[\"tags\"],\n identity: areAllPropsUndefined(item, [\"type\", \"userAssignedIdentities\"])\n ? undefined\n : _clusterPatchIdentitySerializer(item),\n properties: areAllPropsUndefined(item, [\n \"cloudManagementEndpoint\",\n \"aadClientId\",\n \"aadTenantId\",\n \"desiredProperties\",\n ])\n ? undefined\n : _clusterPatchPropertiesSerializer(item),\n };\n}\n\n/** Cluster properties. */\nexport interface ClusterPatchProperties {\n /** Endpoint configured for management from the Azure portal */\n cloudManagementEndpoint?: string;\n /** App id of cluster AAD identity. */\n aadClientId?: string;\n /** Tenant id of cluster AAD identity. */\n aadTenantId?: string;\n /** Desired properties of the cluster. */\n desiredProperties?: ClusterDesiredProperties;\n}\n\nexport function clusterPatchPropertiesSerializer(item: ClusterPatchProperties): any {\n return {\n cloudManagementEndpoint: item[\"cloudManagementEndpoint\"],\n aadClientId: item[\"aadClientId\"],\n aadTenantId: item[\"aadTenantId\"],\n desiredProperties: !item[\"desiredProperties\"]\n ? item[\"desiredProperties\"]\n : clusterDesiredPropertiesSerializer(item[\"desiredProperties\"]),\n };\n}\n\n/** List of clusters. */\nexport interface _ClusterList {\n /** The Cluster items on this page */\n value: Cluster[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _clusterListDeserializer(item: any): _ClusterList {\n return {\n value: clusterArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function clusterArraySerializer(result: Array<Cluster>): any[] {\n return result.map((item) => {\n return clusterSerializer(item);\n });\n}\n\nexport function clusterArrayDeserializer(result: Array<Cluster>): any[] {\n return result.map((item) => {\n return clusterDeserializer(item);\n });\n}\n\n/** Update secrets locations change Request. */\nexport interface SecretsLocationsChangeRequest {\n /** List of secret locations */\n properties?: SecretsLocationDetails[];\n}\n\nexport function secretsLocationsChangeRequestSerializer(item: SecretsLocationsChangeRequest): any {\n return {\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : secretsLocationDetailsArraySerializer(item[\"properties\"]),\n };\n}\n\n/** model interface UploadCertificateRequest */\nexport interface UploadCertificateRequest {\n properties?: RawCertificateData;\n}\n\nexport function uploadCertificateRequestSerializer(item: UploadCertificateRequest): any {\n return {\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : rawCertificateDataSerializer(item[\"properties\"]),\n };\n}\n\n/** model interface RawCertificateData */\nexport interface RawCertificateData {\n certificates?: string[];\n}\n\nexport function rawCertificateDataSerializer(item: RawCertificateData): any {\n return {\n certificates: !item[\"certificates\"]\n ? item[\"certificates\"]\n : item[\"certificates\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** Cluster Identity details. */\nexport interface ClusterIdentityResponse {\n aadClientId?: string;\n aadTenantId?: string;\n aadServicePrincipalObjectId?: string;\n aadApplicationObjectId?: string;\n}\n\nexport function clusterIdentityResponseDeserializer(item: any): ClusterIdentityResponse {\n return {\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _clusterIdentityResponsePropertiesDeserializer(item[\"properties\"])),\n };\n}\n\n/** model interface ClusterIdentityResponseProperties */\nexport interface ClusterIdentityResponseProperties {\n aadClientId?: string;\n aadTenantId?: string;\n aadServicePrincipalObjectId?: string;\n aadApplicationObjectId?: string;\n}\n\nexport function clusterIdentityResponsePropertiesDeserializer(\n item: any,\n): ClusterIdentityResponseProperties {\n return {\n aadClientId: item[\"aadClientId\"],\n aadTenantId: item[\"aadTenantId\"],\n aadServicePrincipalObjectId: item[\"aadServicePrincipalObjectId\"],\n aadApplicationObjectId: item[\"aadApplicationObjectId\"],\n };\n}\n\n/** model interface SoftwareAssuranceChangeRequest */\nexport interface SoftwareAssuranceChangeRequest {\n properties?: SoftwareAssuranceChangeRequestProperties;\n}\n\nexport function softwareAssuranceChangeRequestSerializer(\n item: SoftwareAssuranceChangeRequest,\n): any {\n return {\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : softwareAssuranceChangeRequestPropertiesSerializer(item[\"properties\"]),\n };\n}\n\n/** model interface SoftwareAssuranceChangeRequestProperties */\nexport interface SoftwareAssuranceChangeRequestProperties {\n /** Customer Intent for Software Assurance Benefit. This indicates whether the customer wishes to opt in or out of the Software Assurance program, which provides licensing and support benefits. */\n softwareAssuranceIntent?: SoftwareAssuranceIntent;\n}\n\nexport function softwareAssuranceChangeRequestPropertiesSerializer(\n item: SoftwareAssuranceChangeRequestProperties,\n): any {\n return { softwareAssuranceIntent: item[\"softwareAssuranceIntent\"] };\n}\n\n/** Log Collection Request */\nexport interface LogCollectionRequest {\n /** Properties for Log Collection Request */\n properties?: LogCollectionRequestProperties;\n}\n\nexport function logCollectionRequestSerializer(item: LogCollectionRequest): any {\n return {\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : logCollectionRequestPropertiesSerializer(item[\"properties\"]),\n };\n}\n\n/** Properties for Log Collection Request */\nexport interface LogCollectionRequestProperties {\n /** From DateTimeStamp from when logs need to be connected */\n fromDate: Date;\n /** To DateTimeStamp till when logs need to be connected */\n toDate: Date;\n}\n\nexport function logCollectionRequestPropertiesSerializer(\n item: LogCollectionRequestProperties,\n): any {\n return { fromDate: item[\"fromDate\"].toISOString(), toDate: item[\"toDate\"].toISOString() };\n}\n\n/** Remote Support Request */\nexport interface RemoteSupportRequest {\n /** Properties for Remote Support Request */\n properties?: RemoteSupportRequestProperties;\n}\n\nexport function remoteSupportRequestSerializer(item: RemoteSupportRequest): any {\n return {\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : remoteSupportRequestPropertiesSerializer(item[\"properties\"]),\n };\n}\n\n/** Properties for Remote Support Request */\nexport interface RemoteSupportRequestProperties {\n /** Remote Support Access Level */\n readonly accessLevel?: AccessLevel;\n /** Expiration DateTimeStamp when Remote Support Access will be expired */\n expirationTimeStamp?: Date;\n /** Remote Support Type for cluster */\n remoteSupportType?: RemoteSupportType;\n}\n\nexport function remoteSupportRequestPropertiesSerializer(\n item: RemoteSupportRequestProperties,\n): any {\n return {\n expirationTimeStamp: !item[\"expirationTimeStamp\"]\n ? item[\"expirationTimeStamp\"]\n : item[\"expirationTimeStamp\"].toISOString(),\n remoteSupportType: item[\"remoteSupportType\"],\n };\n}\n\n/** Edge device resource */\nexport interface DeploymentSetting extends ProxyResource {\n /** DeploymentSetting provisioning state */\n readonly provisioningState?: ProvisioningState;\n /** Azure resource ids of Arc machines to be part of cluster. */\n arcNodeResourceIds?: string[];\n /** The deployment mode for cluster deployment. */\n deploymentMode?: DeploymentMode;\n /** The intended operation for a cluster. */\n operationType?: OperationType;\n /** Scale units will contains list of deployment data */\n deploymentConfiguration?: DeploymentConfiguration;\n /** Deployment Status reported from cluster. */\n readonly reportedProperties?: EceReportedProperties;\n}\n\nexport function deploymentSettingSerializer(item: DeploymentSetting): any {\n return {\n properties: areAllPropsUndefined(item, [\n \"arcNodeResourceIds\",\n \"deploymentMode\",\n \"operationType\",\n \"deploymentConfiguration\",\n ])\n ? undefined\n : _deploymentSettingPropertiesSerializer(item),\n };\n}\n\nexport function deploymentSettingDeserializer(item: any): DeploymentSetting {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _deploymentSettingPropertiesDeserializer(item[\"properties\"])),\n };\n}\n\n/** DeploymentSetting properties */\nexport interface DeploymentSettingsProperties {\n /** DeploymentSetting provisioning state */\n readonly provisioningState?: ProvisioningState;\n /** Azure resource ids of Arc machines to be part of cluster. */\n arcNodeResourceIds: string[];\n /** The deployment mode for cluster deployment. */\n deploymentMode: DeploymentMode;\n /** The intended operation for a cluster. */\n operationType?: OperationType;\n /** Scale units will contains list of deployment data */\n deploymentConfiguration: DeploymentConfiguration;\n /** Deployment Status reported from cluster. */\n readonly reportedProperties?: EceReportedProperties;\n}\n\nexport function deploymentSettingsPropertiesSerializer(item: DeploymentSettingsProperties): any {\n return {\n arcNodeResourceIds: item[\"arcNodeResourceIds\"].map((p: any) => {\n return p;\n }),\n deploymentMode: item[\"deploymentMode\"],\n operationType: item[\"operationType\"],\n deploymentConfiguration: deploymentConfigurationSerializer(item[\"deploymentConfiguration\"]),\n };\n}\n\nexport function deploymentSettingsPropertiesDeserializer(item: any): DeploymentSettingsProperties {\n return {\n provisioningState: item[\"provisioningState\"],\n arcNodeResourceIds: item[\"arcNodeResourceIds\"].map((p: any) => {\n return p;\n }),\n deploymentMode: item[\"deploymentMode\"],\n operationType: item[\"operationType\"],\n deploymentConfiguration: deploymentConfigurationDeserializer(item[\"deploymentConfiguration\"]),\n reportedProperties: !item[\"reportedProperties\"]\n ? item[\"reportedProperties\"]\n : eceReportedPropertiesDeserializer(item[\"reportedProperties\"]),\n };\n}\n\n/** Deployment mode to trigger job. */\nexport enum KnownDeploymentMode {\n /** Validate ECE action deployment for a cluster. */\n Validate = \"Validate\",\n /** Deploy ECE action deployment for a cluster. */\n Deploy = \"Deploy\",\n}\n\n/**\n * Deployment mode to trigger job. \\\n * {@link KnownDeploymentMode} can be used interchangeably with DeploymentMode,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Validate**: Validate ECE action deployment for a cluster. \\\n * **Deploy**: Deploy ECE action deployment for a cluster.\n */\nexport type DeploymentMode = string;\n\n/** The intended operation for a cluster. */\nexport enum KnownOperationType {\n /** Cluster provisioning operation. */\n ClusterProvisioning = \"ClusterProvisioning\",\n /** Cluster upgrade operation. */\n ClusterUpgrade = \"ClusterUpgrade\",\n}\n\n/**\n * The intended operation for a cluster. \\\n * {@link KnownOperationType} can be used interchangeably with OperationType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **ClusterProvisioning**: Cluster provisioning operation. \\\n * **ClusterUpgrade**: Cluster upgrade operation.\n */\nexport type OperationType = string;\n\n/** Deployment Configuration */\nexport interface DeploymentConfiguration {\n /** deployment template version */\n version?: string;\n /** Scale units will contains list of deployment data */\n scaleUnits: ScaleUnits[];\n}\n\nexport function deploymentConfigurationSerializer(item: DeploymentConfiguration): any {\n return { version: item[\"version\"], scaleUnits: scaleUnitsArraySerializer(item[\"scaleUnits\"]) };\n}\n\nexport function deploymentConfigurationDeserializer(item: any): DeploymentConfiguration {\n return {\n version: item[\"version\"],\n scaleUnits: scaleUnitsArrayDeserializer(item[\"scaleUnits\"]),\n };\n}\n\nexport function scaleUnitsArraySerializer(result: Array<ScaleUnits>): any[] {\n return result.map((item) => {\n return scaleUnitsSerializer(item);\n });\n}\n\nexport function scaleUnitsArrayDeserializer(result: Array<ScaleUnits>): any[] {\n return result.map((item) => {\n return scaleUnitsDeserializer(item);\n });\n}\n\n/** Scale units will contains list of deployment data */\nexport interface ScaleUnits {\n /** Deployment Data to deploy AzureStackHCI Cluster. */\n deploymentData: DeploymentData;\n /** Solution builder extension (SBE) partner properties */\n sbePartnerInfo?: SbePartnerInfo;\n}\n\nexport function scaleUnitsSerializer(item: ScaleUnits): any {\n return {\n deploymentData: deploymentDataSerializer(item[\"deploymentData\"]),\n sbePartnerInfo: !item[\"sbePartnerInfo\"]\n ? item[\"sbePartnerInfo\"]\n : sbePartnerInfoSerializer(item[\"sbePartnerInfo\"]),\n };\n}\n\nexport function scaleUnitsDeserializer(item: any): ScaleUnits {\n return {\n deploymentData: deploymentDataDeserializer(item[\"deploymentData\"]),\n sbePartnerInfo: !item[\"sbePartnerInfo\"]\n ? item[\"sbePartnerInfo\"]\n : sbePartnerInfoDeserializer(item[\"sbePartnerInfo\"]),\n };\n}\n\n/** The Deployment data of AzureStackHCI Cluster. */\nexport interface DeploymentData {\n /** SecuritySettings to deploy AzureStackHCI Cluster. */\n securitySettings?: DeploymentSecuritySettings;\n /** Observability config to deploy AzureStackHCI Cluster. */\n observability?: Observability;\n /** Observability config to deploy AzureStackHCI Cluster. */\n cluster?: DeploymentCluster;\n /** Identity Provider for the cluster */\n identityProvider?: IdentityProvider;\n /** Storage config to deploy AzureStackHCI Cluster. */\n storage?: Storage;\n /** naming prefix to deploy cluster. */\n namingPrefix?: string;\n /** FQDN to deploy cluster */\n domainFqdn?: string;\n /** InfrastructureNetwork config to deploy AzureStackHCI Cluster. */\n infrastructureNetwork?: InfrastructureNetwork[];\n /** list of physical nodes config to deploy AzureStackHCI Cluster. */\n physicalNodes?: PhysicalNodes[];\n /** HostNetwork config to deploy AzureStackHCI Cluster. */\n hostNetwork?: DeploymentSettingHostNetwork;\n /** SDN Integration config to deploy AzureStackHCI Cluster. */\n sdnIntegration?: SdnIntegration;\n /** Is Management Cluster, when true indicates that the cluster is used for managing other clusters */\n isManagementCluster?: boolean;\n /** The path to the Active Directory Organizational Unit container object prepared for the deployment. */\n adouPath?: string;\n /** Azure key vault endpoint. This property is deprecated from 2023-12-01-preview. Please use secrets property instead. */\n secretsLocation?: string;\n /** secrets used for cloud deployment. */\n secrets?: EceDeploymentSecrets[];\n /** OptionalServices config to deploy AzureStackHCI Cluster. */\n optionalServices?: OptionalServices;\n /** Local Availability Zone information for HCI cluster */\n localAvailabilityZones?: LocalAvailabilityZones[];\n /** Assembly Package details for Validated Solution Recipe for AzureStackHCI Cluster */\n assemblyInfo?: AssemblyInfo;\n}\n\nexport function deploymentDataSerializer(item: DeploymentData): any {\n return {\n securitySettings: !item[\"securitySettings\"]\n ? item[\"securitySettings\"]\n : deploymentSecuritySettingsSerializer(item[\"securitySettings\"]),\n observability: !item[\"observability\"]\n ? item[\"observability\"]\n : observabilitySerializer(item[\"observability\"]),\n cluster: !item[\"cluster\"] ? item[\"cluster\"] : deploymentClusterSerializer(item[\"cluster\"]),\n identityProvider: item[\"identityProvider\"],\n storage: !item[\"storage\"] ? item[\"storage\"] : storageSerializer(item[\"storage\"]),\n namingPrefix: item[\"namingPrefix\"],\n domainFqdn: item[\"domainFqdn\"],\n infrastructureNetwork: !item[\"infrastructureNetwork\"]\n ? item[\"infrastructureNetwork\"]\n : infrastructureNetworkArraySerializer(item[\"infrastructureNetwork\"]),\n physicalNodes: !item[\"physicalNodes\"]\n ? item[\"physicalNodes\"]\n : physicalNodesArraySerializer(item[\"physicalNodes\"]),\n hostNetwork: !item[\"hostNetwork\"]\n ? item[\"hostNetwork\"]\n : deploymentSettingHostNetworkSerializer(item[\"hostNetwork\"]),\n sdnIntegration: !item[\"sdnIntegration\"]\n ? item[\"sdnIntegration\"]\n : sdnIntegrationSerializer(item[\"sdnIntegration\"]),\n isManagementCluster: item[\"isManagementCluster\"],\n adouPath: item[\"adouPath\"],\n secretsLocation: item[\"secretsLocation\"],\n secrets: !item[\"secrets\"]\n ? item[\"secrets\"]\n : eceDeploymentSecretsArraySerializer(item[\"secrets\"]),\n optionalServices: !item[\"optionalServices\"]\n ? item[\"optionalServices\"]\n : optionalServicesSerializer(item[\"optionalServices\"]),\n localAvailabilityZones: !item[\"localAvailabilityZones\"]\n ? item[\"localAvailabilityZones\"]\n : localAvailabilityZonesArraySerializer(item[\"localAvailabilityZones\"]),\n assemblyInfo: !item[\"assemblyInfo\"]\n ? item[\"assemblyInfo\"]\n : assemblyInfoSerializer(item[\"assemblyInfo\"]),\n };\n}\n\nexport function deploymentDataDeserializer(item: any): DeploymentData {\n return {\n securitySettings: !item[\"securitySettings\"]\n ? item[\"securitySettings\"]\n : deploymentSecuritySettingsDeserializer(item[\"securitySettings\"]),\n observability: !item[\"observability\"]\n ? item[\"observability\"]\n : observabilityDeserializer(item[\"observability\"]),\n cluster: !item[\"cluster\"] ? item[\"cluster\"] : deploymentClusterDeserializer(item[\"cluster\"]),\n identityProvider: item[\"identityProvider\"],\n storage: !item[\"storage\"] ? item[\"storage\"] : storageDeserializer(item[\"storage\"]),\n namingPrefix: item[\"namingPrefix\"],\n domainFqdn: item[\"domainFqdn\"],\n infrastructureNetwork: !item[\"infrastructureNetwork\"]\n ? item[\"infrastructureNetwork\"]\n : infrastructureNetworkArrayDeserializer(item[\"infrastructureNetwork\"]),\n physicalNodes: !item[\"physicalNodes\"]\n ? item[\"physicalNodes\"]\n : physicalNodesArrayDeserializer(item[\"physicalNodes\"]),\n hostNetwork: !item[\"hostNetwork\"]\n ? item[\"hostNetwork\"]\n : deploymentSettingHostNetworkDeserializer(item[\"hostNetwork\"]),\n sdnIntegration: !item[\"sdnIntegration\"]\n ? item[\"sdnIntegration\"]\n : sdnIntegrationDeserializer(item[\"sdnIntegration\"]),\n isManagementCluster: item[\"isManagementCluster\"],\n adouPath: item[\"adouPath\"],\n secretsLocation: item[\"secretsLocation\"],\n secrets: !item[\"secrets\"]\n ? item[\"secrets\"]\n : eceDeploymentSecretsArrayDeserializer(item[\"secrets\"]),\n optionalServices: !item[\"optionalServices\"]\n ? item[\"optionalServices\"]\n : optionalServicesDeserializer(item[\"optionalServices\"]),\n localAvailabilityZones: !item[\"localAvailabilityZones\"]\n ? item[\"localAvailabilityZones\"]\n : localAvailabilityZonesArrayDeserializer(item[\"localAvailabilityZones\"]),\n assemblyInfo: !item[\"assemblyInfo\"]\n ? item[\"assemblyInfo\"]\n : assemblyInfoDeserializer(item[\"assemblyInfo\"]),\n };\n}\n\n/** The SecuritySettings of AzureStackHCI Cluster. */\nexport interface DeploymentSecuritySettings {\n /** By default, Hypervisor-protected Code Integrity is enabled on your Azure HCI cluster. */\n hvciProtection?: boolean;\n /** By default, Secure Boot is enabled on your Azure HCI cluster. This setting is hardware dependent. */\n drtmProtection?: boolean;\n /** When set to true, the security baseline is re-applied regularly. */\n driftControlEnforced?: boolean;\n /** When set to true, Credential Guard is enabled. */\n credentialGuardEnforced?: boolean;\n /** When set to true, the SMB default instance requires sign in for the client and server services. */\n smbSigningEnforced?: boolean;\n /** When set to true, cluster east-west traffic is encrypted. */\n smbClusterEncryption?: boolean;\n /** When set to true, all the side channel mitigations are enabled */\n sideChannelMitigationEnforced?: boolean;\n /** When set to true, BitLocker XTS_AES 256-bit encryption is enabled for all data-at-rest on the OS volume of your Azure Stack HCI cluster. This setting is TPM-hardware dependent. */\n bitlockerBootVolume?: boolean;\n /** When set to true, BitLocker XTS-AES 256-bit encryption is enabled for all data-at-rest on your Azure Stack HCI cluster shared volumes. */\n bitlockerDataVolumes?: boolean;\n /** WDAC is enabled by default and limits the applications and the code that you can run on your Azure Stack HCI cluster. */\n wdacEnforced?: boolean;\n}\n\nexport function deploymentSecuritySettingsSerializer(item: DeploymentSecuritySettings): any {\n return {\n hvciProtection: item[\"hvciProtection\"],\n drtmProtection: item[\"drtmProtection\"],\n driftControlEnforced: item[\"driftControlEnforced\"],\n credentialGuardEnforced: item[\"credentialGuardEnforced\"],\n smbSigningEnforced: item[\"smbSigningEnforced\"],\n smbClusterEncryption: item[\"smbClusterEncryption\"],\n sideChannelMitigationEnforced: item[\"sideChannelMitigationEnforced\"],\n bitlockerBootVolume: item[\"bitlockerBootVolume\"],\n bitlockerDataVolumes: item[\"bitlockerDataVolumes\"],\n wdacEnforced: item[\"wdacEnforced\"],\n };\n}\n\nexport function deploymentSecuritySettingsDeserializer(item: any): DeploymentSecuritySettings {\n return {\n hvciProtection: item[\"hvciProtection\"],\n drtmProtection: item[\"drtmProtection\"],\n driftControlEnforced: item[\"driftControlEnforced\"],\n credentialGuardEnforced: item[\"credentialGuardEnforced\"],\n smbSigningEnforced: item[\"smbSigningEnforced\"],\n smbClusterEncryption: item[\"smbClusterEncryption\"],\n sideChannelMitigationEnforced: item[\"sideChannelMitigationEnforced\"],\n bitlockerBootVolume: item[\"bitlockerBootVolume\"],\n bitlockerDataVolumes: item[\"bitlockerDataVolumes\"],\n wdacEnforced: item[\"wdacEnforced\"],\n };\n}\n\n/** The Observability of AzureStackHCI Cluster. */\nexport interface Observability {\n /** Enables telemetry data to be sent to Microsoft */\n streamingDataClient?: boolean;\n /** Location of your cluster. The log and diagnostic data is sent to the appropriate diagnostics servers depending upon where your cluster resides. Setting this to false results in all data sent to Microsoft to be stored outside of the EU. */\n euLocation?: boolean;\n /** When set to true, collects log data to facilitate quicker issue resolution. */\n episodicDataUpload?: boolean;\n}\n\nexport function observabilitySerializer(item: Observability): any {\n return {\n streamingDataClient: item[\"streamingDataClient\"],\n euLocation: item[\"euLocation\"],\n episodicDataUpload: item[\"episodicDataUpload\"],\n };\n}\n\nexport function observabilityDeserializer(item: any): Observability {\n return {\n streamingDataClient: item[\"streamingDataClient\"],\n euLocation: item[\"euLocation\"],\n episodicDataUpload: item[\"episodicDataUpload\"],\n };\n}\n\n/** AzureStackHCI Cluster deployment properties. */\nexport interface DeploymentCluster {\n /** The cluster name provided when preparing Active Directory. */\n name?: string;\n /** Use a cloud witness if you have internet access and if you use an Azure Storage account to provide a vote on cluster quorum. A cloud witness uses Azure Blob Storage to read or write a blob file and then uses it to arbitrate in split-brain resolution. Only allowed values are 'Cloud', 'FileShare'. */\n witnessType?: string;\n /** Specify the fileshare path for the local witness for your Azure Stack HCI cluster. */\n witnessPath?: string;\n /** Specify the Azure Storage account name for cloud witness for your Azure Stack HCI cluster. */\n cloudAccountName?: string;\n /** For Azure blob service endpoint type, select either Default or Custom domain. If you selected **Custom domain, enter the domain for the blob service in this format core.windows.net. */\n azureServiceEndpoint?: string;\n /** Hardware class of the cluster. */\n readonly hardwareClass?: HardwareClass;\n /** Cluster Pattern supported. */\n clusterPattern?: ClusterPattern;\n}\n\nexport function deploymentClusterSerializer(item: DeploymentCluster): any {\n return {\n name: item[\"name\"],\n witnessType: item[\"witnessType\"],\n witnessPath: item[\"witnessPath\"],\n cloudAccountName: item[\"cloudAccountName\"],\n azureServiceEndpoint: item[\"azureServiceEndpoint\"],\n clusterPattern: item[\"clusterPattern\"],\n };\n}\n\nexport function deploymentClusterDeserializer(item: any): DeploymentCluster {\n return {\n name: item[\"name\"],\n witnessType: item[\"witnessType\"],\n witnessPath: item[\"witnessPath\"],\n cloudAccountName: item[\"cloudAccountName\"],\n azureServiceEndpoint: item[\"azureServiceEndpoint\"],\n hardwareClass: item[\"hardwareClass\"],\n clusterPattern: item[\"clusterPattern\"],\n };\n}\n\n/** The Storage config of AzureStackHCI Cluster. */\nexport interface Storage {\n /** By default, this mode is set to Express and your storage is configured as per best practices based on the number of nodes in the cluster. Allowed values are 'Express','InfraOnly', 'KeepStorage' */\n configurationMode?: string;\n}\n\nexport function storageSerializer(item: Storage): any {\n return { configurationMode: item[\"configurationMode\"] };\n}\n\nexport function storageDeserializer(item: any): Storage {\n return {\n configurationMode: item[\"configurationMode\"],\n };\n}\n\nexport function infrastructureNetworkArraySerializer(result: Array<InfrastructureNetwork>): any[] {\n return result.map((item) => {\n return infrastructureNetworkSerializer(item);\n });\n}\n\nexport function infrastructureNetworkArrayDeserializer(\n result: Array<InfrastructureNetwork>,\n): any[] {\n return result.map((item) => {\n return infrastructureNetworkDeserializer(item);\n });\n}\n\n/** The InfrastructureNetwork of a AzureStackHCI Cluster. */\nexport interface InfrastructureNetwork {\n /** Subnet mask that matches the provided IP address space. */\n subnetMask?: string;\n /** Default gateway that should be used for the provided IP address space. */\n gateway?: string;\n /** Range of IP addresses from which addresses are allocated for nodes within a subnet. */\n ipPools?: IpPools[];\n /** Specifies how DNS servers are configured for the infrastructure network. Allowed values are 'UseDnsServer' to use the provided DNS servers, and 'UseForwarder' to use DNS forwarders. */\n dnsServerConfig?: DnsServerConfig;\n /** Details of the DNS Zones to be configured. */\n dnsZones?: DnsZones[];\n /** IPv4 address of the DNS servers in your environment. */\n dnsServers?: string[];\n /** Allows customers to use DHCP for Hosts and Cluster IPs. If not declared, the deployment will default to static IPs. When true, GW and DNS servers are not required */\n useDhcp?: boolean;\n}\n\nexport function infrastructureNetworkSerializer(item: InfrastructureNetwork): any {\n return {\n subnetMask: item[\"subnetMask\"],\n gateway: item[\"gateway\"],\n ipPools: !item[\"ipPools\"] ? item[\"ipPools\"] : ipPoolsArraySerializer(item[\"ipPools\"]),\n dnsServerConfig: item[\"dnsServerConfig\"],\n dnsZones: !item[\"dnsZones\"] ? item[\"dnsZones\"] : dnsZonesArraySerializer(item[\"dnsZones\"]),\n dnsServers: !item[\"dnsServers\"]\n ? item[\"dnsServers\"]\n : item[\"dnsServers\"].map((p: any) => {\n return p;\n }),\n useDhcp: item[\"useDhcp\"],\n };\n}\n\nexport function infrastructureNetworkDeserializer(item: any): InfrastructureNetwork {\n return {\n subnetMask: item[\"subnetMask\"],\n gateway: item[\"gateway\"],\n ipPools: !item[\"ipPools\"] ? item[\"ipPools\"] : ipPoolsArrayDeserializer(item[\"ipPools\"]),\n dnsServerConfig: item[\"dnsServerConfig\"],\n dnsZones: !item[\"dnsZones\"] ? item[\"dnsZones\"] : dnsZonesArrayDeserializer(item[\"dnsZones\"]),\n dnsServers: !item[\"dnsServers\"]\n ? item[\"dnsServers\"]\n : item[\"dnsServers\"].map((p: any) => {\n return p;\n }),\n useDhcp: item[\"useDhcp\"],\n };\n}\n\nexport function ipPoolsArraySerializer(result: Array<IpPools>): any[] {\n return result.map((item) => {\n return ipPoolsSerializer(item);\n });\n}\n\nexport function ipPoolsArrayDeserializer(result: Array<IpPools>): any[] {\n return result.map((item) => {\n return ipPoolsDeserializer(item);\n });\n}\n\n/** The dnsServers of a device. */\nexport interface IpPools {\n /** Starting IP address for the management network. A minimum of six free, contiguous IPv4 addresses (excluding your host IPs) are needed for infrastructure services such as clustering. */\n startingAddress?: string;\n /** Ending IP address for the management network. A minimum of six free, contiguous IPv4 addresses (excluding your host IPs) are needed for infrastructure services such as clustering. */\n endingAddress?: string;\n}\n\nexport function ipPoolsSerializer(item: IpPools): any {\n return { startingAddress: item[\"startingAddress\"], endingAddress: item[\"endingAddress\"] };\n}\n\nexport function ipPoolsDeserializer(item: any): IpPools {\n return {\n startingAddress: item[\"startingAddress\"],\n endingAddress: item[\"endingAddress\"],\n };\n}\n\n/** Specifies how DNS servers are configured for the infrastructure network. Allowed values are 'UseDnsServer' to use the provided DNS servers, and 'UseForwarder' to use DNS forwarders. */\nexport enum KnownDnsServerConfig {\n /** Use the provided DNS servers for the infrastructure network. */\n UseDnsServer = \"UseDnsServer\",\n /** Use DNS forwarders for the infrastructure network. */\n UseForwarder = \"UseForwarder\",\n}\n\n/**\n * Specifies how DNS servers are configured for the infrastructure network. Allowed values are 'UseDnsServer' to use the provided DNS servers, and 'UseForwarder' to use DNS forwarders. \\\n * {@link KnownDnsServerConfig} can be used interchangeably with DnsServerConfig,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **UseDnsServer**: Use the provided DNS servers for the infrastructure network. \\\n * **UseForwarder**: Use DNS forwarders for the infrastructure network.\n */\nexport type DnsServerConfig = string;\n\nexport function dnsZonesArraySerializer(result: Array<DnsZones>): any[] {\n return result.map((item) => {\n return dnsZonesSerializer(item);\n });\n}\n\nexport function dnsZonesArrayDeserializer(result: Array<DnsZones>): any[] {\n return result.map((item) => {\n return dnsZonesDeserializer(item);\n });\n}\n\n/** Details of the DNS Zones to be configured. */\nexport interface DnsZones {\n /** Name of the DNS Zone to be configured. */\n dnsZoneName?: string;\n /** Forwarder details of the DNS Zone to be configured. */\n dnsForwarder?: string[];\n}\n\nexport function dnsZonesSerializer(item: DnsZones): any {\n return {\n dnsZoneName: item[\"dnsZoneName\"],\n dnsForwarder: !item[\"dnsForwarder\"]\n ? item[\"dnsForwarder\"]\n : item[\"dnsForwarder\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function dnsZonesDeserializer(item: any): DnsZones {\n return {\n dnsZoneName: item[\"dnsZoneName\"],\n dnsForwarder: !item[\"dnsForwarder\"]\n ? item[\"dnsForwarder\"]\n : item[\"dnsForwarder\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function physicalNodesArraySerializer(result: Array<PhysicalNodes>): any[] {\n return result.map((item) => {\n return physicalNodesSerializer(item);\n });\n}\n\nexport function physicalNodesArrayDeserializer(result: Array<PhysicalNodes>): any[] {\n return result.map((item) => {\n return physicalNodesDeserializer(item);\n });\n}\n\n/** The PhysicalNodes of a cluster. */\nexport interface PhysicalNodes {\n /** NETBIOS name of each physical server on your Azure Stack HCI cluster. */\n name?: string;\n /** The IPv4 address assigned to each physical server on your Azure Stack HCI cluster. */\n ipv4Address?: string;\n}\n\nexport function physicalNodesSerializer(item: PhysicalNodes): any {\n return { name: item[\"name\"], ipv4Address: item[\"ipv4Address\"] };\n}\n\nexport function physicalNodesDeserializer(item: any): PhysicalNodes {\n return {\n name: item[\"name\"],\n ipv4Address: item[\"ipv4Address\"],\n };\n}\n\n/** The HostNetwork of a cluster. */\nexport interface DeploymentSettingHostNetwork {\n /** The network intents assigned to the network reference pattern used for the deployment. Each intent will define its own name, traffic type, adapter names, and overrides as recommended by your OEM. */\n intents?: DeploymentSettingIntents[];\n /** List of StorageNetworks config to deploy AzureStackHCI Cluster. */\n storageNetworks?: DeploymentSettingStorageNetworks[];\n /** Defines how the storage adapters between nodes are connected either switch or switch less.. */\n storageConnectivitySwitchless?: boolean;\n /** Optional parameter required only for 3 Nodes Switchless deployments. This allows users to specify IPs and Mask for Storage NICs when Network ATC is not assigning the IPs for storage automatically. */\n enableStorageAutoIp?: boolean;\n}\n\nexport function deploymentSettingHostNetworkSerializer(item: DeploymentSettingHostNetwork): any {\n return {\n intents: !item[\"intents\"]\n ? item[\"intents\"]\n : deploymentSettingIntentsArraySerializer(item[\"intents\"]),\n storageNetworks: !item[\"storageNetworks\"]\n ? item[\"storageNetworks\"]\n : deploymentSettingStorageNetworksArraySerializer(item[\"storageNetworks\"]),\n storageConnectivitySwitchless: item[\"storageConnectivitySwitchless\"],\n enableStorageAutoIp: item[\"enableStorageAutoIp\"],\n };\n}\n\nexport function deploymentSettingHostNetworkDeserializer(item: any): DeploymentSettingHostNetwork {\n return {\n intents: !item[\"intents\"]\n ? item[\"intents\"]\n : deploymentSettingIntentsArrayDeserializer(item[\"intents\"]),\n storageNetworks: !item[\"storageNetworks\"]\n ? item[\"storageNetworks\"]\n : deploymentSettingStorageNetworksArrayDeserializer(item[\"storageNetworks\"]),\n storageConnectivitySwitchless: item[\"storageConnectivitySwitchless\"],\n enableStorageAutoIp: item[\"enableStorageAutoIp\"],\n };\n}\n\nexport function deploymentSettingIntentsArraySerializer(\n result: Array<DeploymentSettingIntents>,\n): any[] {\n return result.map((item) => {\n return deploymentSettingIntentsSerializer(item);\n });\n}\n\nexport function deploymentSettingIntentsArrayDeserializer(\n result: Array<DeploymentSettingIntents>,\n): any[] {\n return result.map((item) => {\n return deploymentSettingIntentsDeserializer(item);\n });\n}\n\n/** The Intents of a cluster. */\nexport interface DeploymentSettingIntents {\n /** Name of the network intent you wish to create. */\n name?: string;\n /** List of network traffic types. Only allowed values are 'Compute', 'Storage', 'Management'. */\n trafficType?: string[];\n /** Array of network interfaces used for the network intent. */\n adapter?: string[];\n /** This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation. */\n overrideVirtualSwitchConfiguration?: boolean;\n /** Set virtualSwitch ConfigurationOverrides for cluster. */\n virtualSwitchConfigurationOverrides?: DeploymentSettingVirtualSwitchConfigurationOverrides;\n /** This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation. */\n overrideQosPolicy?: boolean;\n /** Set QoS PolicyOverrides for cluster. */\n qosPolicyOverrides?: QosPolicyOverrides;\n /** This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation. */\n overrideAdapterProperty?: boolean;\n /** Set Adapter PropertyOverrides for cluster. */\n adapterPropertyOverrides?: DeploymentSettingAdapterPropertyOverrides;\n}\n\nexport function deploymentSettingIntentsSerializer(item: DeploymentSettingIntents): any {\n return {\n name: item[\"name\"],\n trafficType: !item[\"trafficType\"]\n ? item[\"trafficType\"]\n : item[\"trafficType\"].map((p: any) => {\n return p;\n }),\n adapter: !item[\"adapter\"]\n ? item[\"adapter\"]\n : item[\"adapter\"].map((p: any) => {\n return p;\n }),\n overrideVirtualSwitchConfiguration: item[\"overrideVirtualSwitchConfiguration\"],\n virtualSwitchConfigurationOverrides: !item[\"virtualSwitchConfigurationOverrides\"]\n ? item[\"virtualSwitchConfigurationOverrides\"]\n : deploymentSettingVirtualSwitchConfigurationOverridesSerializer(\n item[\"virtualSwitchConfigurationOverrides\"],\n ),\n overrideQosPolicy: item[\"overrideQosPolicy\"],\n qosPolicyOverrides: !item[\"qosPolicyOverrides\"]\n ? item[\"qosPolicyOverrides\"]\n : qosPolicyOverridesSerializer(item[\"qosPolicyOverrides\"]),\n overrideAdapterProperty: item[\"overrideAdapterProperty\"],\n adapterPropertyOverrides: !item[\"adapterPropertyOverrides\"]\n ? item[\"adapterPropertyOverrides\"]\n : deploymentSettingAdapterPropertyOverridesSerializer(item[\"adapterPropertyOverrides\"]),\n };\n}\n\nexport function deploymentSettingIntentsDeserializer(item: any): DeploymentSettingIntents {\n return {\n name: item[\"name\"],\n trafficType: !item[\"trafficType\"]\n ? item[\"trafficType\"]\n : item[\"trafficType\"].map((p: any) => {\n return p;\n }),\n adapter: !item[\"adapter\"]\n ? item[\"adapter\"]\n : item[\"adapter\"].map((p: any) => {\n return p;\n }),\n overrideVirtualSwitchConfiguration: item[\"overrideVirtualSwitchConfiguration\"],\n virtualSwitchConfigurationOverrides: !item[\"virtualSwitchConfigurationOverrides\"]\n ? item[\"virtualSwitchConfigurationOverrides\"]\n : deploymentSettingVirtualSwitchConfigurationOverridesDeserializer(\n item[\"virtualSwitchConfigurationOverrides\"],\n ),\n overrideQosPolicy: item[\"overrideQosPolicy\"],\n qosPolicyOverrides: !item[\"qosPolicyOverrides\"]\n ? item[\"qosPolicyOverrides\"]\n : qosPolicyOverridesDeserializer(item[\"qosPolicyOverrides\"]),\n overrideAdapterProperty: item[\"overrideAdapterProperty\"],\n adapterPropertyOverrides: !item[\"adapterPropertyOverrides\"]\n ? item[\"adapterPropertyOverrides\"]\n : deploymentSettingAdapterPropertyOverridesDeserializer(item[\"adapterPropertyOverrides\"]),\n };\n}\n\n/** The VirtualSwitchConfigurationOverrides of a cluster. */\nexport interface DeploymentSettingVirtualSwitchConfigurationOverrides {\n /** Enable IoV for Virtual Switch */\n enableIov?: string;\n /** Load Balancing Algorithm for Virtual Switch */\n loadBalancingAlgorithm?: string;\n}\n\nexport function deploymentSettingVirtualSwitchConfigurationOverridesSerializer(\n item: DeploymentSettingVirtualSwitchConfigurationOverrides,\n): any {\n return { enableIov: item[\"enableIov\"], loadBalancingAlgorithm: item[\"loadBalancingAlgorithm\"] };\n}\n\nexport function deploymentSettingVirtualSwitchConfigurationOverridesDeserializer(\n item: any,\n): DeploymentSettingVirtualSwitchConfigurationOverrides {\n return {\n enableIov: item[\"enableIov\"],\n loadBalancingAlgorithm: item[\"loadBalancingAlgorithm\"],\n };\n}\n\n/** The QoSPolicyOverrides of a cluster. */\nexport interface QosPolicyOverrides {\n /** This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation. */\n priorityValue8021ActionCluster?: string;\n /** This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation. */\n priorityValue8021ActionSMB?: string;\n /** This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation. */\n bandwidthPercentageSMB?: string;\n}\n\nexport function qosPolicyOverridesSerializer(item: QosPolicyOverrides): any {\n return {\n priorityValue8021Action_Cluster: item[\"priorityValue8021ActionCluster\"],\n priorityValue8021Action_SMB: item[\"priorityValue8021ActionSMB\"],\n bandwidthPercentage_SMB: item[\"bandwidthPercentageSMB\"],\n };\n}\n\nexport function qosPolicyOverridesDeserializer(item: any): QosPolicyOverrides {\n return {\n priorityValue8021ActionCluster: item[\"priorityValue8021Action_Cluster\"],\n priorityValue8021ActionSMB: item[\"priorityValue8021Action_SMB\"],\n bandwidthPercentageSMB: item[\"bandwidthPercentage_SMB\"],\n };\n}\n\n/** The AdapterPropertyOverrides of a cluster. */\nexport interface DeploymentSettingAdapterPropertyOverrides {\n /** This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation. */\n jumboPacket?: string;\n /** This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation. */\n networkDirect?: string;\n /** This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation. Expected values are 'iWARP', 'RoCEv2', 'RoCE' */\n networkDirectTechnology?: string;\n}\n\nexport function deploymentSettingAdapterPropertyOverridesSerializer(\n item: DeploymentSettingAdapterPropertyOverrides,\n): any {\n return {\n jumboPacket: item[\"jumboPacket\"],\n networkDirect: item[\"networkDirect\"],\n networkDirectTechnology: item[\"networkDirectTechnology\"],\n };\n}\n\nexport function deploymentSettingAdapterPropertyOverridesDeserializer(\n item: any,\n): DeploymentSettingAdapterPropertyOverrides {\n return {\n jumboPacket: item[\"jumboPacket\"],\n networkDirect: item[\"networkDirect\"],\n networkDirectTechnology: item[\"networkDirectTechnology\"],\n };\n}\n\nexport function deploymentSettingStorageNetworksArraySerializer(\n result: Array<DeploymentSettingStorageNetworks>,\n): any[] {\n return result.map((item) => {\n return deploymentSettingStorageNetworksSerializer(item);\n });\n}\n\nexport function deploymentSettingStorageNetworksArrayDeserializer(\n result: Array<DeploymentSettingStorageNetworks>,\n): any[] {\n return result.map((item) => {\n return deploymentSettingStorageNetworksDeserializer(item);\n });\n}\n\n/** The StorageNetworks of a cluster. */\nexport interface DeploymentSettingStorageNetworks {\n /** Name of the storage network. */\n name?: string;\n /** Name of the storage network adapter. */\n networkAdapterName?: string;\n /** ID specified for the VLAN storage network. This setting is applied to the network interfaces that route the storage and VM migration traffic. */\n vlanId?: string;\n /** List of Storage adapter physical nodes config to deploy AzureStackHCI Cluster. */\n storageAdapterIPInfo?: DeploymentSettingStorageAdapterIPInfo[];\n}\n\nexport function deploymentSettingStorageNetworksSerializer(\n item: DeploymentSettingStorageNetworks,\n): any {\n return {\n name: item[\"name\"],\n networkAdapterName: item[\"networkAdapterName\"],\n vlanId: item[\"vlanId\"],\n storageAdapterIPInfo: !item[\"storageAdapterIPInfo\"]\n ? item[\"storageAdapterIPInfo\"]\n : deploymentSettingStorageAdapterIPInfoArraySerializer(item[\"storageAdapterIPInfo\"]),\n };\n}\n\nexport function deploymentSettingStorageNetworksDeserializer(\n item: any,\n): DeploymentSettingStorageNetworks {\n return {\n name: item[\"name\"],\n networkAdapterName: item[\"networkAdapterName\"],\n vlanId: item[\"vlanId\"],\n storageAdapterIPInfo: !item[\"storageAdapterIPInfo\"]\n ? item[\"storageAdapterIPInfo\"]\n : deploymentSettingStorageAdapterIPInfoArrayDeserializer(item[\"storageAdapterIPInfo\"]),\n };\n}\n\nexport function deploymentSettingStorageAdapterIPInfoArraySerializer(\n result: Array<DeploymentSettingStorageAdapterIPInfo>,\n): any[] {\n return result.map((item) => {\n return deploymentSettingStorageAdapterIPInfoSerializer(item);\n });\n}\n\nexport function deploymentSettingStorageAdapterIPInfoArrayDeserializer(\n result: Array<DeploymentSettingStorageAdapterIPInfo>,\n): any[] {\n return result.map((item) => {\n return deploymentSettingStorageAdapterIPInfoDeserializer(item);\n });\n}\n\n/** The StorageAdapter physical nodes of a cluster. */\nexport interface DeploymentSettingStorageAdapterIPInfo {\n /** storage adapter physical node name. */\n physicalNode?: string;\n /** The IPv4 address assigned to each storage adapter physical node on your Azure Stack HCI cluster. */\n ipv4Address?: string;\n /** The SubnetMask address assigned to each storage adapter physical node on your Azure Stack HCI cluster. */\n subnetMask?: string;\n}\n\nexport function deploymentSettingStorageAdapterIPInfoSerializer(\n item: DeploymentSettingStorageAdapterIPInfo,\n): any {\n return {\n physicalNode: item[\"physicalNode\"],\n ipv4Address: item[\"ipv4Address\"],\n subnetMask: item[\"subnetMask\"],\n };\n}\n\nexport function deploymentSettingStorageAdapterIPInfoDeserializer(\n item: any,\n): DeploymentSettingStorageAdapterIPInfo {\n return {\n physicalNode: item[\"physicalNode\"],\n ipv4Address: item[\"ipv4Address\"],\n subnetMask: item[\"subnetMask\"],\n };\n}\n\n/** SDN Integration config to deploy AzureStackHCI Cluster. */\nexport interface SdnIntegration {\n /** network controller config for SDN Integration to deploy AzureStackHCI Cluster. */\n networkController?: NetworkController;\n}\n\nexport function sdnIntegrationSerializer(item: SdnIntegration): any {\n return {\n networkController: !item[\"networkController\"]\n ? item[\"networkController\"]\n : networkControllerSerializer(item[\"networkController\"]),\n };\n}\n\nexport function sdnIntegrationDeserializer(item: any): SdnIntegration {\n return {\n networkController: !item[\"networkController\"]\n ? item[\"networkController\"]\n : networkControllerDeserializer(item[\"networkController\"]),\n };\n}\n\n/** network controller config for SDN Integration to deploy AzureStackHCI Cluster. */\nexport interface NetworkController {\n /** macAddressPoolStart of network controller used for SDN Integration. */\n macAddressPoolStart?: string;\n /** macAddressPoolStop of network controller used for SDN Integration. */\n macAddressPoolStop?: string;\n /** NetworkVirtualizationEnabled of network controller used for SDN Integration. */\n networkVirtualizationEnabled?: boolean;\n}\n\nexport function networkControllerSerializer(item: NetworkController): any {\n return {\n macAddressPoolStart: item[\"macAddressPoolStart\"],\n macAddressPoolStop: item[\"macAddressPoolStop\"],\n networkVirtualizationEnabled: item[\"networkVirtualizationEnabled\"],\n };\n}\n\nexport function networkControllerDeserializer(item: any): NetworkController {\n return {\n macAddressPoolStart: item[\"macAddressPoolStart\"],\n macAddressPoolStop: item[\"macAddressPoolStop\"],\n networkVirtualizationEnabled: item[\"networkVirtualizationEnabled\"],\n };\n}\n\nexport function eceDeploymentSecretsArraySerializer(result: Array<EceDeploymentSecrets>): any[] {\n return result.map((item) => {\n return eceDeploymentSecretsSerializer(item);\n });\n}\n\nexport function eceDeploymentSecretsArrayDeserializer(result: Array<EceDeploymentSecrets>): any[] {\n return result.map((item) => {\n return eceDeploymentSecretsDeserializer(item);\n });\n}\n\n/** Protected parameters list stored in keyvault. */\nexport interface EceDeploymentSecrets {\n /** Secret name stored in keyvault. */\n secretName?: string;\n /** Secret name expected for Enterprise Cloud Engine (ECE) deployment. */\n eceSecretName?: EceSecrets;\n /** Secret URI stored in keyvault. */\n secretLocation?: string;\n}\n\nexport function eceDeploymentSecretsSerializer(item: EceDeploymentSecrets): any {\n return {\n secretName: item[\"secretName\"],\n eceSecretName: item[\"eceSecretName\"],\n secretLocation: item[\"secretLocation\"],\n };\n}\n\nexport function eceDeploymentSecretsDeserializer(item: any): EceDeploymentSecrets {\n return {\n secretName: item[\"secretName\"],\n eceSecretName: item[\"eceSecretName\"],\n secretLocation: item[\"secretLocation\"],\n };\n}\n\n/** Secret names allowed for Enterprise Cloud Engine (ECE) deployment. */\nexport enum KnownEceSecrets {\n /** AzureStackLCMUserCredential used for LCM operations for AzureStackHCI cluster. */\n AzureStackLCMUserCredential = \"AzureStackLCMUserCredential\",\n /** DefaultARBApplication used to manage Azure Arc resource bridge (ARB) for AzureStackHCI cluster. */\n DefaultARBApplication = \"DefaultARBApplication\",\n /** LocalAdminCredential used for admin operations for AzureStackHCI cluster. */\n LocalAdminCredential = \"LocalAdminCredential\",\n /** WitnessStorageKey used for setting up a cloud witness for AzureStackHCI cluster. */\n WitnessStorageKey = \"WitnessStorageKey\",\n}\n\n/**\n * Secret names allowed for Enterprise Cloud Engine (ECE) deployment. \\\n * {@link KnownEceSecrets} can be used interchangeably with EceSecrets,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **AzureStackLCMUserCredential**: AzureStackLCMUserCredential used for LCM operations for AzureStackHCI cluster. \\\n * **DefaultARBApplication**: DefaultARBApplication used to manage Azure Arc resource bridge (ARB) for AzureStackHCI cluster. \\\n * **LocalAdminCredential**: LocalAdminCredential used for admin operations for AzureStackHCI cluster. \\\n * **WitnessStorageKey**: WitnessStorageKey used for setting up a cloud witness for AzureStackHCI cluster.\n */\nexport type EceSecrets = string;\n\n/** The OptionalServices of AzureStackHCI Cluster. */\nexport interface OptionalServices {\n /** The name of custom location. */\n customLocation?: string;\n}\n\nexport function optionalServicesSerializer(item: OptionalServices): any {\n return { customLocation: item[\"customLocation\"] };\n}\n\nexport function optionalServicesDeserializer(item: any): OptionalServices {\n return {\n customLocation: item[\"customLocation\"],\n };\n}\n\n/** Assembly Package details for Validated Solution Recipe for AzureStackHCI Cluster */\nexport interface AssemblyInfo {\n /** Assembly Package version for Validated Solution Recipe for AzureStackHCI Cluster */\n readonly packageVersion?: string;\n /** Payload properties for Validated Solution Recipe for AzureStackHCI Cluster */\n readonly payload?: AssemblyInfoPayload[];\n}\n\nexport function assemblyInfoSerializer(item: AssemblyInfo): any {\n return item;\n}\n\nexport function assemblyInfoDeserializer(item: any): AssemblyInfo {\n return {\n packageVersion: item[\"packageVersion\"],\n payload: !item[\"payload\"]\n ? item[\"payload\"]\n : assemblyInfoPayloadArrayDeserializer(item[\"payload\"]),\n };\n}\n\nexport function assemblyInfoPayloadArrayDeserializer(result: Array<AssemblyInfoPayload>): any[] {\n return result.map((item) => {\n return assemblyInfoPayloadDeserializer(item);\n });\n}\n\n/** Payload properties for Validated Solution Recipe for AzureStackHCI Cluster */\nexport interface AssemblyInfoPayload {\n /** assembly identifier for Validated Solution Recipe for AzureStackHCI Cluster */\n readonly identifier?: string;\n /** Hash of assembly package for Validated Solution Recipe for AzureStackHCI Cluster */\n readonly hash?: string;\n /** File name of assembly package for Validated Solution Recipe for AzureStackHCI Cluster */\n readonly fileName?: string;\n /** Url of assembly package for Validated Solution Recipe for AzureStackHCI Cluster */\n readonly url?: string;\n}\n\nexport function assemblyInfoPayloadDeserializer(item: any): AssemblyInfoPayload {\n return {\n identifier: item[\"identifier\"],\n hash: item[\"hash\"],\n fileName: item[\"fileName\"],\n url: item[\"url\"],\n };\n}\n\n/** The solution builder extension (SBE) partner deployment info for cluster. */\nexport interface SbePartnerInfo {\n /** SBE package and manifest information for the solution Builder Extension staged for AzureStackHCI cluster deployment. */\n sbeDeploymentInfo?: SbeDeploymentInfo;\n /** List of SBE partner properties for AzureStackHCI cluster deployment. */\n partnerProperties?: SbePartnerProperties[];\n /** SBE credentials list for AzureStackHCI cluster deployment. */\n credentialList?: SbeCredentials[];\n}\n\nexport function sbePartnerInfoSerializer(item: SbePartnerInfo): any {\n return {\n sbeDeploymentInfo: !item[\"sbeDeploymentInfo\"]\n ? item[\"sbeDeploymentInfo\"]\n : sbeDeploymentInfoSerializer(item[\"sbeDeploymentInfo\"]),\n partnerProperties: !item[\"partnerProperties\"]\n ? item[\"partnerProperties\"]\n : sbePartnerPropertiesArraySerializer(item[\"partnerProperties\"]),\n credentialList: !item[\"credentialList\"]\n ? item[\"credentialList\"]\n : sbeCredentialsArraySerializer(item[\"credentialList\"]),\n };\n}\n\nexport function sbePartnerInfoDeserializer(item: any): SbePartnerInfo {\n return {\n sbeDeploymentInfo: !item[\"sbeDeploymentInfo\"]\n ? item[\"sbeDeploymentInfo\"]\n : sbeDeploymentInfoDeserializer(item[\"sbeDeploymentInfo\"]),\n partnerProperties: !item[\"partnerProperties\"]\n ? item[\"partnerProperties\"]\n : sbePartnerPropertiesArrayDeserializer(item[\"partnerProperties\"]),\n credentialList: !item[\"credentialList\"]\n ? item[\"credentialList\"]\n : sbeCredentialsArrayDeserializer(item[\"credentialList\"]),\n };\n}\n\n/** Solution builder extension (SBE) package and manifest information for the solution builder extension staged for AzureStackHCI cluster deployment. */\nexport interface SbeDeploymentInfo {\n /** SBE package version. */\n version?: string;\n /** SBE family name. */\n family?: string;\n /** SBE manifest publisher. */\n publisher?: string;\n /** SBE Manifest Source. */\n sbeManifestSource?: string;\n /** SBE Manifest Creation Date. */\n sbeManifestCreationDate?: Date;\n}\n\nexport function sbeDeploymentInfoSerializer(item: SbeDeploymentInfo): any {\n return {\n version: item[\"version\"],\n family: item[\"family\"],\n publisher: item[\"publisher\"],\n sbeManifestSource: item[\"sbeManifestSource\"],\n sbeManifestCreationDate: !item[\"sbeManifestCreationDate\"]\n ? item[\"sbeManifestCreationDate\"]\n : item[\"sbeManifestCreationDate\"].toISOString(),\n };\n}\n\nexport function sbeDeploymentInfoDeserializer(item: any): SbeDeploymentInfo {\n return {\n version: item[\"version\"],\n family: item[\"family\"],\n publisher: item[\"publisher\"],\n sbeManifestSource: item[\"sbeManifestSource\"],\n sbeManifestCreationDate: !item[\"sbeManifestCreationDate\"]\n ? item[\"sbeManifestCreationDate\"]\n : new Date(item[\"sbeManifestCreationDate\"]),\n };\n}\n\nexport function sbePartnerPropertiesArraySerializer(result: Array<SbePartnerProperties>): any[] {\n return result.map((item) => {\n return sbePartnerPropertiesSerializer(item);\n });\n}\n\nexport function sbePartnerPropertiesArrayDeserializer(result: Array<SbePartnerProperties>): any[] {\n return result.map((item) => {\n return sbePartnerPropertiesDeserializer(item);\n });\n}\n\n/** Solution builder extension (SBE) partner properties object. */\nexport interface SbePartnerProperties {\n /** SBE partner property name. */\n name?: string;\n /** SBE partner property value. */\n value?: string;\n}\n\nexport function sbePartnerPropertiesSerializer(item: SbePartnerProperties): any {\n return { name: item[\"name\"], value: item[\"value\"] };\n}\n\nexport function sbePartnerPropertiesDeserializer(item: any): SbePartnerProperties {\n return {\n name: item[\"name\"],\n value: item[\"value\"],\n };\n}\n\nexport function sbeCredentialsArraySerializer(result: Array<SbeCredentials>): any[] {\n return result.map((item) => {\n return sbeCredentialsSerializer(item);\n });\n}\n\nexport function sbeCredentialsArrayDeserializer(result: Array<SbeCredentials>): any[] {\n return result.map((item) => {\n return sbeCredentialsDeserializer(item);\n });\n}\n\n/** secrets used for solution builder extension (SBE) partner extensibility. */\nexport interface SbeCredentials {\n /** secret name stored in keyvault. */\n secretName?: string;\n /** secret name expected for Enterprise Cloud Engine (ECE). */\n eceSecretName?: string;\n /** secret URI stored in keyvault. */\n secretLocation?: string;\n}\n\nexport function sbeCredentialsSerializer(item: SbeCredentials): any {\n return {\n secretName: item[\"secretName\"],\n eceSecretName: item[\"eceSecretName\"],\n secretLocation: item[\"secretLocation\"],\n };\n}\n\nexport function sbeCredentialsDeserializer(item: any): SbeCredentials {\n return {\n secretName: item[\"secretName\"],\n eceSecretName: item[\"eceSecretName\"],\n secretLocation: item[\"secretLocation\"],\n };\n}\n\n/** The DeploymentStatus of AzureStackHCI Cluster. */\nexport interface EceReportedProperties {\n /** validation status of AzureStackHCI Cluster Deployment. */\n readonly validationStatus?: EceActionStatus;\n /** Deployment status of AzureStackHCI Cluster Deployment. */\n readonly deploymentStatus?: EceActionStatus;\n}\n\nexport function eceReportedPropertiesDeserializer(item: any): EceReportedProperties {\n return {\n validationStatus: !item[\"validationStatus\"]\n ? item[\"validationStatus\"]\n : eceActionStatusDeserializer(item[\"validationStatus\"]),\n deploymentStatus: !item[\"deploymentStatus\"]\n ? item[\"deploymentStatus\"]\n : eceActionStatusDeserializer(item[\"deploymentStatus\"]),\n };\n}\n\n/** The ECE action plan deployment status for AzureStackHCI Cluster. */\nexport interface EceActionStatus {\n /** Status of ECE action AzureStackHCI Cluster Deployment. */\n readonly status?: string;\n /** List of steps of AzureStackHCI Cluster Deployment. */\n readonly steps?: DeploymentStep[];\n}\n\nexport function eceActionStatusDeserializer(item: any): EceActionStatus {\n return {\n status: item[\"status\"],\n steps: !item[\"steps\"] ? item[\"steps\"] : deploymentStepArrayDeserializer(item[\"steps\"]),\n };\n}\n\nexport function deploymentStepArrayDeserializer(result: Array<DeploymentStep>): any[] {\n return result.map((item) => {\n return deploymentStepDeserializer(item);\n });\n}\n\n/** The Step of AzureStackHCI Cluster. */\nexport interface DeploymentStep {\n /** Name of step. */\n readonly name?: string;\n /** Description of step. */\n readonly description?: string;\n /** FullStepIndex of step. */\n readonly fullStepIndex?: string;\n /** Start time of step. */\n readonly startTimeUtc?: string;\n /** End time of step. */\n readonly endTimeUtc?: string;\n /** Status of step. Allowed values are 'Error', 'Success', 'InProgress' */\n readonly status?: string;\n /** List of nested steps of AzureStackHCI Cluster Deployment. */\n readonly steps?: DeploymentStep[];\n /** List of exceptions in AzureStackHCI Cluster Deployment. */\n readonly exception?: string[];\n}\n\nexport function deploymentStepDeserializer(item: any): DeploymentStep {\n return {\n name: item[\"name\"],\n description: item[\"description\"],\n fullStepIndex: item[\"fullStepIndex\"],\n startTimeUtc: item[\"startTimeUtc\"],\n endTimeUtc: item[\"endTimeUtc\"],\n status: item[\"status\"],\n steps: !item[\"steps\"] ? item[\"steps\"] : deploymentStepArrayDeserializer(item[\"steps\"]),\n exception: !item[\"exception\"]\n ? item[\"exception\"]\n : item[\"exception\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** The response of a DeploymentSetting list operation. */\nexport interface _DeploymentSettingListResult {\n /** The DeploymentSetting items on this page */\n value: DeploymentSetting[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _deploymentSettingListResultDeserializer(item: any): _DeploymentSettingListResult {\n return {\n value: deploymentSettingArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function deploymentSettingArraySerializer(result: Array<DeploymentSetting>): any[] {\n return result.map((item) => {\n return deploymentSettingSerializer(item);\n });\n}\n\nexport function deploymentSettingArrayDeserializer(result: Array<DeploymentSetting>): any[] {\n return result.map((item) => {\n return deploymentSettingDeserializer(item);\n });\n}\n\n/** EdgeDevice Jobs resource */\nexport interface EdgeDeviceJob extends ExtensionResource {\n /** Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value. */\n /** The discriminator possible values: HCI */\n kind: EdgeDeviceKind;\n}\n\nexport function edgeDeviceJobSerializer(item: EdgeDeviceJob): any {\n return { kind: item[\"kind\"] };\n}\n\nexport function edgeDeviceJobDeserializer(item: any): EdgeDeviceJob {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n kind: item[\"kind\"],\n };\n}\n\n/** Alias for EdgeDeviceJobUnion */\nexport type EdgeDeviceJobUnion = HciEdgeDeviceJob | EdgeDeviceJob;\n\nexport function edgeDeviceJobUnionSerializer(item: EdgeDeviceJobUnion): any {\n switch (item.kind) {\n case \"HCI\":\n return hciEdgeDeviceJobSerializer(item as HciEdgeDeviceJob);\n\n default:\n return edgeDeviceJobSerializer(item);\n }\n}\n\nexport function edgeDeviceJobUnionDeserializer(item: any): EdgeDeviceJobUnion {\n switch (item[\"kind\"]) {\n case \"HCI\":\n return hciEdgeDeviceJobDeserializer(item as HciEdgeDeviceJob);\n\n default:\n return edgeDeviceJobDeserializer(item);\n }\n}\n\n/** Edge device kind. */\nexport enum KnownEdgeDeviceKind {\n /** Arc-enabled edge device with HCI OS. */\n HCI = \"HCI\",\n}\n\n/**\n * Edge device kind. \\\n * {@link KnownEdgeDeviceKind} can be used interchangeably with EdgeDeviceKind,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **HCI**: Arc-enabled edge device with HCI OS.\n */\nexport type EdgeDeviceKind = string;\n\n/** Edge device job for Azure Stack HCI solution. */\nexport interface HciEdgeDeviceJob extends EdgeDeviceJob {\n /** HCI Edge device job properties */\n properties: HciEdgeDeviceJobPropertiesUnion;\n /** Edge Solution type to support polymorphic resource. */\n kind: \"HCI\";\n}\n\nexport function hciEdgeDeviceJobSerializer(item: HciEdgeDeviceJob): any {\n return {\n kind: item[\"kind\"],\n properties: hciEdgeDeviceJobPropertiesUnionSerializer(item[\"properties\"]),\n };\n}\n\nexport function hciEdgeDeviceJobDeserializer(item: any): HciEdgeDeviceJob {\n return {\n kind: item[\"kind\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: hciEdgeDeviceJobPropertiesUnionDeserializer(item[\"properties\"]),\n };\n}\n\n/** HCI Edge device job properties */\nexport interface HciEdgeDeviceJobProperties {\n /** Deployment mode to trigger job. */\n deploymentMode?: DeploymentMode;\n /** Job provisioning state */\n readonly provisioningState?: ProvisioningState;\n /** Unique, immutable job id. */\n readonly jobId?: string;\n /** The UTC date and time at which the job started. */\n readonly startTimeUtc?: Date;\n /** The UTC date and time at which the job completed. */\n readonly endTimeUtc?: Date;\n /** Status of Edge device job. */\n readonly status?: JobStatus;\n /** Job Type to support polymorphic resource. */\n /** The discriminator possible values: CollectLog, RemoteSupport */\n jobType: HciEdgeDeviceJobType;\n}\n\nexport function hciEdgeDeviceJobPropertiesSerializer(item: HciEdgeDeviceJobProperties): any {\n return { deploymentMode: item[\"deploymentMode\"], jobType: item[\"jobType\"] };\n}\n\nexport function hciEdgeDeviceJobPropertiesDeserializer(item: any): HciEdgeDeviceJobProperties {\n return {\n deploymentMode: item[\"deploymentMode\"],\n provisioningState: item[\"provisioningState\"],\n jobId: item[\"jobId\"],\n startTimeUtc: !item[\"startTimeUtc\"] ? item[\"startTimeUtc\"] : new Date(item[\"startTimeUtc\"]),\n endTimeUtc: !item[\"endTimeUtc\"] ? item[\"endTimeUtc\"] : new Date(item[\"endTimeUtc\"]),\n status: item[\"status\"],\n jobType: item[\"jobType\"],\n };\n}\n\n/** Alias for HciEdgeDeviceJobPropertiesUnion */\nexport type HciEdgeDeviceJobPropertiesUnion =\n | HciCollectLogJobProperties\n | HciRemoteSupportJobProperties\n | HciEdgeDeviceJobProperties;\n\nexport function hciEdgeDeviceJobPropertiesUnionSerializer(\n item: HciEdgeDeviceJobPropertiesUnion,\n): any {\n switch (item.jobType) {\n case \"CollectLog\":\n return hciCollectLogJobPropertiesSerializer(item as HciCollectLogJobProperties);\n\n case \"RemoteSupport\":\n return hciRemoteSupportJobPropertiesSerializer(item as HciRemoteSupportJobProperties);\n\n default:\n return hciEdgeDeviceJobPropertiesSerializer(item);\n }\n}\n\nexport function hciEdgeDeviceJobPropertiesUnionDeserializer(\n item: any,\n): HciEdgeDeviceJobPropertiesUnion {\n switch (item[\"jobType\"]) {\n case \"CollectLog\":\n return hciCollectLogJobPropertiesDeserializer(item as HciCollectLogJobProperties);\n\n case \"RemoteSupport\":\n return hciRemoteSupportJobPropertiesDeserializer(item as HciRemoteSupportJobProperties);\n\n default:\n return hciEdgeDeviceJobPropertiesDeserializer(item);\n }\n}\n\n/** Represents the various statuses a job can have throughout its lifecycle. */\nexport enum KnownJobStatus {\n /** The job status has not been specified. */\n NotSpecified = \"NotSpecified\",\n /** The job is currently undergoing validation. */\n ValidationInProgress = \"ValidationInProgress\",\n /** The job has successfully passed validation. */\n ValidationSuccess = \"ValidationSuccess\",\n /** The job has failed validation. */\n ValidationFailed = \"ValidationFailed\",\n /** The job's deployment is currently in progress. */\n DeploymentInProgress = \"DeploymentInProgress\",\n /** The job's deployment has failed. */\n DeploymentFailed = \"DeploymentFailed\",\n /** The job has been successfully deployed. */\n DeploymentSuccess = \"DeploymentSuccess\",\n /** The job has succeeded. */\n Succeeded = \"Succeeded\",\n /** The job has failed. */\n Failed = \"Failed\",\n /** The job has been canceled. */\n Canceled = \"Canceled\",\n /** The job is paused. */\n Paused = \"Paused\",\n /** The job is scheduled to run. */\n Scheduled = \"Scheduled\",\n}\n\n/**\n * Represents the various statuses a job can have throughout its lifecycle. \\\n * {@link KnownJobStatus} can be used interchangeably with JobStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **NotSpecified**: The job status has not been specified. \\\n * **ValidationInProgress**: The job is currently undergoing validation. \\\n * **ValidationSuccess**: The job has successfully passed validation. \\\n * **ValidationFailed**: The job has failed validation. \\\n * **DeploymentInProgress**: The job's deployment is currently in progress. \\\n * **DeploymentFailed**: The job's deployment has failed. \\\n * **DeploymentSuccess**: The job has been successfully deployed. \\\n * **Succeeded**: The job has succeeded. \\\n * **Failed**: The job has failed. \\\n * **Canceled**: The job has been canceled. \\\n * **Paused**: The job is paused. \\\n * **Scheduled**: The job is scheduled to run.\n */\nexport type JobStatus = string;\n\n/** Job Type supported. */\nexport enum KnownHciEdgeDeviceJobType {\n /** Job to collect logs from the device. */\n CollectLog = \"CollectLog\",\n /** Job to provide remote support to the device. */\n RemoteSupport = \"RemoteSupport\",\n}\n\n/**\n * Job Type supported. \\\n * {@link KnownHciEdgeDeviceJobType} can be used interchangeably with HciEdgeDeviceJobType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **CollectLog**: Job to collect logs from the device. \\\n * **RemoteSupport**: Job to provide remote support to the device.\n */\nexport type HciEdgeDeviceJobType = string;\n\n/** Represents the properties of an HCI Collect Log job. */\nexport interface HciCollectLogJobProperties extends HciEdgeDeviceJobProperties {\n /** From date for log collection. */\n fromDate: Date;\n /** To date for log collection. */\n toDate: Date;\n /** To date for log collection. */\n readonly lastLogGenerated?: Date;\n /** log collection job reported properties. */\n readonly reportedProperties?: LogCollectionReportedProperties;\n /** Job Type to support polymorphic resource. */\n jobType: \"CollectLog\";\n}\n\nexport function hciCollectLogJobPropertiesSerializer(item: HciCollectLogJobProperties): any {\n return {\n deploymentMode: item[\"deploymentMode\"],\n jobType: item[\"jobType\"],\n fromDate: item[\"fromDate\"].toISOString(),\n toDate: item[\"toDate\"].toISOString(),\n };\n}\n\nexport function hciCollectLogJobPropertiesDeserializer(item: any): HciCollectLogJobProperties {\n return {\n deploymentMode: item[\"deploymentMode\"],\n provisioningState: item[\"provisioningState\"],\n jobId: item[\"jobId\"],\n startTimeUtc: !item[\"startTimeUtc\"] ? item[\"startTimeUtc\"] : new Date(item[\"startTimeUtc\"]),\n endTimeUtc: !item[\"endTimeUtc\"] ? item[\"endTimeUtc\"] : new Date(item[\"endTimeUtc\"]),\n status: item[\"status\"],\n jobType: item[\"jobType\"],\n fromDate: new Date(item[\"fromDate\"]),\n toDate: new Date(item[\"toDate\"]),\n lastLogGenerated: !item[\"lastLogGenerated\"]\n ? item[\"lastLogGenerated\"]\n : new Date(item[\"lastLogGenerated\"]),\n reportedProperties: !item[\"reportedProperties\"]\n ? item[\"reportedProperties\"]\n : logCollectionReportedPropertiesDeserializer(item[\"reportedProperties\"]),\n };\n}\n\n/** Represents the reported properties of a log collection job. */\nexport interface LogCollectionReportedProperties {\n /** The percentage of the job that is complete. */\n readonly percentComplete?: number;\n /** Validation status of job. */\n readonly validationStatus?: EceActionStatus;\n /** Deployment status of job. */\n readonly deploymentStatus?: EceActionStatus;\n /** Details of the log collection session. */\n readonly logCollectionSessionDetails?: LogCollectionJobSession[];\n}\n\nexport function logCollectionReportedPropertiesDeserializer(\n item: any,\n): LogCollectionReportedProperties {\n return {\n percentComplete: item[\"percentComplete\"],\n validationStatus: !item[\"validationStatus\"]\n ? item[\"validationStatus\"]\n : eceActionStatusDeserializer(item[\"validationStatus\"]),\n deploymentStatus: !item[\"deploymentStatus\"]\n ? item[\"deploymentStatus\"]\n : eceActionStatusDeserializer(item[\"deploymentStatus\"]),\n logCollectionSessionDetails: !item[\"logCollectionSessionDetails\"]\n ? item[\"logCollectionSessionDetails\"]\n : logCollectionJobSessionArrayDeserializer(item[\"logCollectionSessionDetails\"]),\n };\n}\n\nexport function logCollectionJobSessionArrayDeserializer(\n result: Array<LogCollectionJobSession>,\n): any[] {\n return result.map((item) => {\n return logCollectionJobSessionDeserializer(item);\n });\n}\n\n/** Represents a session for collecting logs from an edge device. */\nexport interface LogCollectionJobSession {\n /** The timestamp when log collection started, in ISO 8601 format. */\n readonly startTime?: string;\n /** The timestamp when log collection ended, in ISO 8601 format. */\n readonly endTime?: string;\n /** The total time logs were collected for, in ISO 8601 duration format. */\n readonly timeCollected?: string;\n /** The size of the collected logs in bytes. */\n readonly logSize?: number;\n /** The status of the log collection session. */\n readonly status?: DeviceLogCollectionStatus;\n /** A unique identifier for correlating this log collection session with other operations or sessions. */\n readonly correlationId?: string;\n}\n\nexport function logCollectionJobSessionDeserializer(item: any): LogCollectionJobSession {\n return {\n startTime: item[\"startTime\"],\n endTime: item[\"endTime\"],\n timeCollected: item[\"timeCollected\"],\n logSize: item[\"logSize\"],\n status: item[\"status\"],\n correlationId: item[\"correlationId\"],\n };\n}\n\n/** Represents the status of a log collection operation. */\nexport enum KnownDeviceLogCollectionStatus {\n /** Log collection operation has not been initiated. */\n NotStarted = \"NotStarted\",\n /** Indicates that the log collection operation is currently running. */\n Running = \"Running\",\n /** Indicates that the log collection operation has failed. */\n Failed = \"Failed\",\n /** Indicates that the log collection operation has completed successfully. */\n Succeeded = \"Succeeded\",\n /** Indicates that the log collection operation has completed successfully. */\n Canceled = \"Canceled\",\n}\n\n/**\n * Represents the status of a log collection operation. \\\n * {@link KnownDeviceLogCollectionStatus} can be used interchangeably with DeviceLogCollectionStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **NotStarted**: Log collection operation has not been initiated. \\\n * **Running**: Indicates that the log collection operation is currently running. \\\n * **Failed**: Indicates that the log collection operation has failed. \\\n * **Succeeded**: Indicates that the log collection operation has completed successfully. \\\n * **Canceled**: Indicates that the log collection operation has completed successfully.\n */\nexport type DeviceLogCollectionStatus = string;\n\n/** Represents the properties of a remote support job for HCI. */\nexport interface HciRemoteSupportJobProperties extends HciEdgeDeviceJobProperties {\n /** Remote support access level. */\n accessLevel: RemoteSupportAccessLevel;\n /** Remote support expiration timestamp. */\n expirationTimestamp: Date;\n /** Remote support type. */\n type: RemoteSupportType;\n /** log collection job reported properties. */\n readonly reportedProperties?: RemoteSupportJobReportedProperties;\n /** Job Type to support polymorphic resource. */\n jobType: \"RemoteSupport\";\n}\n\nexport function hciRemoteSupportJobPropertiesSerializer(item: HciRemoteSupportJobProperties): any {\n return {\n deploymentMode: item[\"deploymentMode\"],\n jobType: item[\"jobType\"],\n accessLevel: item[\"accessLevel\"],\n expirationTimestamp: item[\"expirationTimestamp\"].toISOString(),\n type: item[\"type\"],\n };\n}\n\nexport function hciRemoteSupportJobPropertiesDeserializer(\n item: any,\n): HciRemoteSupportJobProperties {\n return {\n deploymentMode: item[\"deploymentMode\"],\n provisioningState: item[\"provisioningState\"],\n jobId: item[\"jobId\"],\n startTimeUtc: !item[\"startTimeUtc\"] ? item[\"startTimeUtc\"] : new Date(item[\"startTimeUtc\"]),\n endTimeUtc: !item[\"endTimeUtc\"] ? item[\"endTimeUtc\"] : new Date(item[\"endTimeUtc\"]),\n status: item[\"status\"],\n jobType: item[\"jobType\"],\n accessLevel: item[\"accessLevel\"],\n expirationTimestamp: new Date(item[\"expirationTimestamp\"]),\n type: item[\"type\"],\n reportedProperties: !item[\"reportedProperties\"]\n ? item[\"reportedProperties\"]\n : remoteSupportJobReportedPropertiesDeserializer(item[\"reportedProperties\"]),\n };\n}\n\n/** Defines the level of remote support access granted. */\nexport enum KnownRemoteSupportAccessLevel {\n /** No remote support access is granted. */\n None = \"None\",\n /** Access is limited to diagnostics information only. */\n Diagnostics = \"Diagnostics\",\n /** Access includes diagnostics information and the ability to perform repairs. */\n DiagnosticsAndRepair = \"DiagnosticsAndRepair\",\n}\n\n/**\n * Defines the level of remote support access granted. \\\n * {@link KnownRemoteSupportAccessLevel} can be used interchangeably with RemoteSupportAccessLevel,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **None**: No remote support access is granted. \\\n * **Diagnostics**: Access is limited to diagnostics information only. \\\n * **DiagnosticsAndRepair**: Access includes diagnostics information and the ability to perform repairs.\n */\nexport type RemoteSupportAccessLevel = string;\n\n/** Represents the reported properties of a remote support job. */\nexport interface RemoteSupportJobReportedProperties {\n /** The percentage of the job that is complete. */\n readonly percentComplete?: number;\n /** Validation status of job. */\n readonly validationStatus?: EceActionStatus;\n /** Deployment status of job. */\n readonly deploymentStatus?: EceActionStatus;\n /** Optional settings for configuring the node for remote support. */\n readonly nodeSettings?: RemoteSupportJobNodeSettings;\n /** Details of the remote support session. */\n readonly sessionDetails?: RemoteSupportSession[];\n}\n\nexport function remoteSupportJobReportedPropertiesDeserializer(\n item: any,\n): RemoteSupportJobReportedProperties {\n return {\n percentComplete: item[\"percentComplete\"],\n validationStatus: !item[\"validationStatus\"]\n ? item[\"validationStatus\"]\n : eceActionStatusDeserializer(item[\"validationStatus\"]),\n deploymentStatus: !item[\"deploymentStatus\"]\n ? item[\"deploymentStatus\"]\n : eceActionStatusDeserializer(item[\"deploymentStatus\"]),\n nodeSettings: !item[\"nodeSettings\"]\n ? item[\"nodeSettings\"]\n : remoteSupportJobNodeSettingsDeserializer(item[\"nodeSettings\"]),\n sessionDetails: !item[\"sessionDetails\"]\n ? item[\"sessionDetails\"]\n : remoteSupportSessionArrayDeserializer(item[\"sessionDetails\"]),\n };\n}\n\n/** Represents the settings of a remote support node. */\nexport interface RemoteSupportJobNodeSettings {\n /** The state of the remote support node. */\n readonly state?: string;\n /** The timestamp when the node settings were created, in UTC. */\n readonly createdAt?: Date;\n /** The timestamp when the node settings were last updated, in UTC. */\n readonly updatedAt?: Date;\n /** The current connection status of the remote support session. */\n readonly connectionStatus?: string;\n /** The error message, if any, from the last connection attempt. */\n readonly connectionErrorMessage?: string;\n}\n\nexport function remoteSupportJobNodeSettingsDeserializer(item: any): RemoteSupportJobNodeSettings {\n return {\n state: item[\"state\"],\n createdAt: !item[\"createdAt\"] ? item[\"createdAt\"] : new Date(item[\"createdAt\"]),\n updatedAt: !item[\"updatedAt\"] ? item[\"updatedAt\"] : new Date(item[\"updatedAt\"]),\n connectionStatus: item[\"connectionStatus\"],\n connectionErrorMessage: item[\"connectionErrorMessage\"],\n };\n}\n\nexport function remoteSupportSessionArrayDeserializer(result: Array<RemoteSupportSession>): any[] {\n return result.map((item) => {\n return remoteSupportSessionDeserializer(item);\n });\n}\n\n/** Represents a remote support session. */\nexport interface RemoteSupportSession {\n /** Unique session Id. */\n readonly sessionId?: string;\n /** The start time of the remote support session, in UTC. */\n readonly sessionStartTime?: Date;\n /** The end time of the remote support session, in UTC. */\n readonly sessionEndTime?: Date;\n /** The level of access granted during the remote support session. */\n readonly accessLevel?: RemoteSupportAccessLevel;\n /** The location where the session transcript is stored. */\n readonly transcriptLocation?: string;\n}\n\nexport function remoteSupportSessionDeserializer(item: any): RemoteSupportSession {\n return {\n sessionId: item[\"sessionId\"],\n sessionStartTime: !item[\"sessionStartTime\"]\n ? item[\"sessionStartTime\"]\n : new Date(item[\"sessionStartTime\"]),\n sessionEndTime: !item[\"sessionEndTime\"]\n ? item[\"sessionEndTime\"]\n : new Date(item[\"sessionEndTime\"]),\n accessLevel: item[\"accessLevel\"],\n transcriptLocation: item[\"transcriptLocation\"],\n };\n}\n\n/** The base extension resource. */\nexport interface ExtensionResource extends Resource {}\n\nexport function extensionResourceSerializer(item: ExtensionResource): any {\n return item;\n}\n\nexport function extensionResourceDeserializer(item: any): ExtensionResource {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n };\n}\n\n/** The response of a EdgeDeviceJob list operation. */\nexport interface _EdgeDeviceJobListResult {\n /** The EdgeDeviceJob items on this page */\n value: EdgeDeviceJobUnion[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _edgeDeviceJobListResultDeserializer(item: any): _EdgeDeviceJobListResult {\n return {\n value: edgeDeviceJobUnionArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function edgeDeviceJobUnionArraySerializer(result: Array<EdgeDeviceJobUnion>): any[] {\n return result.map((item) => {\n return edgeDeviceJobUnionSerializer(item);\n });\n}\n\nexport function edgeDeviceJobUnionArrayDeserializer(result: Array<EdgeDeviceJobUnion>): any[] {\n return result.map((item) => {\n return edgeDeviceJobUnionDeserializer(item);\n });\n}\n\n/** Edge device resource. */\nexport interface EdgeDevice extends ExtensionResource {\n /** Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value. */\n /** The discriminator possible values: HCI */\n kind: DeviceKind;\n}\n\nexport function edgeDeviceSerializer(item: EdgeDevice): any {\n return { kind: item[\"kind\"] };\n}\n\nexport function edgeDeviceDeserializer(item: any): EdgeDevice {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n kind: item[\"kind\"],\n };\n}\n\n/** Alias for EdgeDeviceUnion */\nexport type EdgeDeviceUnion = HciEdgeDevice | EdgeDevice;\n\nexport function edgeDeviceUnionSerializer(item: EdgeDeviceUnion): any {\n switch (item.kind) {\n case \"HCI\":\n return hciEdgeDeviceSerializer(item as HciEdgeDevice);\n\n default:\n return edgeDeviceSerializer(item);\n }\n}\n\nexport function edgeDeviceUnionDeserializer(item: any): EdgeDeviceUnion {\n switch (item[\"kind\"]) {\n case \"HCI\":\n return hciEdgeDeviceDeserializer(item as HciEdgeDevice);\n\n default:\n return edgeDeviceDeserializer(item);\n }\n}\n\n/** Edge device kind. */\nexport enum KnownDeviceKind {\n /** Arc-enabled edge device with HCI OS. */\n HCI = \"HCI\",\n}\n\n/**\n * Edge device kind. \\\n * {@link KnownDeviceKind} can be used interchangeably with DeviceKind,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **HCI**: Arc-enabled edge device with HCI OS.\n */\nexport type DeviceKind = string;\n\n/** Arc-enabled edge device with HCI OS. */\nexport interface HciEdgeDevice extends EdgeDevice {\n /** properties for Arc-enabled edge device with HCI OS. */\n properties?: HciEdgeDeviceProperties;\n /** Device kind to support polymorphic resource. */\n kind: \"HCI\";\n}\n\nexport function hciEdgeDeviceSerializer(item: HciEdgeDevice): any {\n return {\n kind: item[\"kind\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : hciEdgeDevicePropertiesSerializer(item[\"properties\"]),\n };\n}\n\nexport function hciEdgeDeviceDeserializer(item: any): HciEdgeDevice {\n return {\n kind: item[\"kind\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : hciEdgeDevicePropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/** properties for Arc-enabled edge device with HCI OS. */\nexport interface HciEdgeDeviceProperties extends EdgeDeviceProperties {\n /** The instance view of all current configurations on HCI device. */\n readonly reportedProperties?: HciReportedProperties;\n}\n\nexport function hciEdgeDevicePropertiesSerializer(item: HciEdgeDeviceProperties): any {\n return {\n deviceConfiguration: !item[\"deviceConfiguration\"]\n ? item[\"deviceConfiguration\"]\n : deviceConfigurationSerializer(item[\"deviceConfiguration\"]),\n };\n}\n\nexport function hciEdgeDevicePropertiesDeserializer(item: any): HciEdgeDeviceProperties {\n return {\n deviceConfiguration: !item[\"deviceConfiguration\"]\n ? item[\"deviceConfiguration\"]\n : deviceConfigurationDeserializer(item[\"deviceConfiguration\"]),\n provisioningState: item[\"provisioningState\"],\n reportedProperties: !item[\"reportedProperties\"]\n ? item[\"reportedProperties\"]\n : hciReportedPropertiesDeserializer(item[\"reportedProperties\"]),\n };\n}\n\n/** The device Configuration for HCI device. */\nexport interface HciReportedProperties extends ReportedProperties {\n /** HCI device network information. */\n readonly networkProfile?: HciNetworkProfile;\n /** HCI device OS specific information. */\n readonly osProfile?: HciOsProfile;\n /** Solution builder extension (SBE) deployment package information. */\n readonly sbeDeploymentPackageInfo?: SbeDeploymentPackageInfo;\n /** Hci device storage specific information. */\n readonly storageProfile?: HciStorageProfile;\n /** Hci device hardware specific information. */\n readonly hardwareProfile?: HciHardwareProfile;\n}\n\nexport function hciReportedPropertiesDeserializer(item: any): HciReportedProperties {\n return {\n deviceState: item[\"deviceState\"],\n extensionProfile: !item[\"extensionProfile\"]\n ? item[\"extensionProfile\"]\n : extensionProfileDeserializer(item[\"extensionProfile\"]),\n networkProfile: !item[\"networkProfile\"]\n ? item[\"networkProfile\"]\n : hciNetworkProfileDeserializer(item[\"networkProfile\"]),\n osProfile: !item[\"osProfile\"] ? item[\"osProfile\"] : hciOsProfileDeserializer(item[\"osProfile\"]),\n sbeDeploymentPackageInfo: !item[\"sbeDeploymentPackageInfo\"]\n ? item[\"sbeDeploymentPackageInfo\"]\n : sbeDeploymentPackageInfoDeserializer(item[\"sbeDeploymentPackageInfo\"]),\n storageProfile: !item[\"storageProfile\"]\n ? item[\"storageProfile\"]\n : hciStorageProfileDeserializer(item[\"storageProfile\"]),\n hardwareProfile: !item[\"hardwareProfile\"]\n ? item[\"hardwareProfile\"]\n : hciHardwareProfileDeserializer(item[\"hardwareProfile\"]),\n };\n}\n\n/** The network profile of a device. */\nexport interface HciNetworkProfile {\n /** List of NIC Details of device. */\n readonly nicDetails?: HciNicDetail[];\n /** List of switch details for edge device. */\n readonly switchDetails?: SwitchDetail[];\n /** HostNetwork config to deploy AzureStackHCI Cluster. */\n readonly hostNetwork?: HciEdgeDeviceHostNetwork;\n}\n\nexport function hciNetworkProfileDeserializer(item: any): HciNetworkProfile {\n return {\n nicDetails: !item[\"nicDetails\"]\n ? item[\"nicDetails\"]\n : hciNicDetailArrayDeserializer(item[\"nicDetails\"]),\n switchDetails: !item[\"switchDetails\"]\n ? item[\"switchDetails\"]\n : switchDetailArrayDeserializer(item[\"switchDetails\"]),\n hostNetwork: !item[\"hostNetwork\"]\n ? item[\"hostNetwork\"]\n : hciEdgeDeviceHostNetworkDeserializer(item[\"hostNetwork\"]),\n };\n}\n\nexport function hciNicDetailArrayDeserializer(result: Array<HciNicDetail>): any[] {\n return result.map((item) => {\n return hciNicDetailDeserializer(item);\n });\n}\n\n/** The NIC Detail of a device. */\nexport interface HciNicDetail {\n /** Adapter Name of NIC */\n readonly adapterName?: string;\n /** Interface Description of NIC */\n readonly interfaceDescription?: string;\n /** Component Id of NIC */\n readonly componentId?: string;\n /** Driver Version of NIC */\n readonly driverVersion?: string;\n /** Subnet Mask of NIC */\n readonly ip4Address?: string;\n /** Subnet Mask of NIC */\n readonly subnetMask?: string;\n /** Default Gateway of NIC */\n readonly defaultGateway?: string;\n /** DNS Servers for NIC */\n readonly dnsServers?: string[];\n /** Default Isolation of Management NIC */\n readonly defaultIsolationId?: string;\n /** MAC address information of NIC. */\n readonly macAddress?: string;\n /** The slot attached to the NIC. */\n readonly slot?: string;\n /** The switch attached to the NIC, if any. */\n readonly switchName?: string;\n /** The type of NIC, physical, virtual, management. */\n readonly nicType?: string;\n /** The VLAN ID of the physical NIC. */\n readonly vlanId?: string;\n /** The status of NIC, up, disconnected. */\n readonly nicStatus?: string;\n /** Describes the RDMA capability of the network adapter. */\n readonly rdmaCapability?: RdmaCapability;\n}\n\nexport function hciNicDetailDeserializer(item: any): HciNicDetail {\n return {\n adapterName: item[\"adapterName\"],\n interfaceDescription: item[\"interfaceDescription\"],\n componentId: item[\"componentId\"],\n driverVersion: item[\"driverVersion\"],\n ip4Address: item[\"ip4Address\"],\n subnetMask: item[\"subnetMask\"],\n defaultGateway: item[\"defaultGateway\"],\n dnsServers: !item[\"dnsServers\"]\n ? item[\"dnsServers\"]\n : item[\"dnsServers\"].map((p: any) => {\n return p;\n }),\n defaultIsolationId: item[\"defaultIsolationId\"],\n macAddress: item[\"macAddress\"],\n slot: item[\"slot\"],\n switchName: item[\"switchName\"],\n nicType: item[\"nicType\"],\n vlanId: item[\"vlanId\"],\n nicStatus: item[\"nicStatus\"],\n rdmaCapability: item[\"rdmaCapability\"],\n };\n}\n\n/** Describes the RDMA capability of the network adapter. */\nexport enum KnownRdmaCapability {\n /** Network Adapter on the device is RDMA Capable */\n Enabled = \"Enabled\",\n /** Network Adapter on the device is RDMA Capable */\n Disabled = \"Disabled\",\n}\n\n/**\n * Describes the RDMA capability of the network adapter. \\\n * {@link KnownRdmaCapability} can be used interchangeably with RdmaCapability,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Enabled**: Network Adapter on the device is RDMA Capable \\\n * **Disabled**: Network Adapter on the device is RDMA Capable\n */\nexport type RdmaCapability = string;\n\nexport function switchDetailArrayDeserializer(result: Array<SwitchDetail>): any[] {\n return result.map((item) => {\n return switchDetailDeserializer(item);\n });\n}\n\n/** List of switch details for edge device. */\nexport interface SwitchDetail {\n /** The name of the switch. */\n readonly switchName?: string;\n /** The type of the switch. e.g. external, internal. */\n readonly switchType?: string;\n /** This represents extensions installed on virtualSwitch. */\n readonly extensions?: SwitchExtension[];\n}\n\nexport function switchDetailDeserializer(item: any): SwitchDetail {\n return {\n switchName: item[\"switchName\"],\n switchType: item[\"switchType\"],\n extensions: !item[\"extensions\"]\n ? item[\"extensions\"]\n : switchExtensionArrayDeserializer(item[\"extensions\"]),\n };\n}\n\nexport function switchExtensionArrayDeserializer(result: Array<SwitchExtension>): any[] {\n return result.map((item) => {\n return switchExtensionDeserializer(item);\n });\n}\n\n/** This represents extensions installed on virtualSwitch. */\nexport interface SwitchExtension {\n /** Unique identifier for virtualSwitch. */\n readonly switchId?: string;\n /** This will show extension name for virtualSwitch. */\n readonly extensionName?: string;\n /** This represents whether extension is enabled on virtualSwitch. */\n readonly extensionEnabled?: boolean;\n}\n\nexport function switchExtensionDeserializer(item: any): SwitchExtension {\n return {\n switchId: item[\"switchId\"],\n extensionName: item[\"extensionName\"],\n extensionEnabled: item[\"extensionEnabled\"],\n };\n}\n\n/** The HostNetwork of a cluster. */\nexport interface HciEdgeDeviceHostNetwork {\n /** The network intents assigned to the network reference pattern used for the deployment. Each intent will define its own name, traffic type, adapter names, and overrides as recommended by your OEM. */\n readonly intents?: HciEdgeDeviceIntents[];\n /** List of StorageNetworks config to deploy AzureStackHCI Cluster. */\n readonly storageNetworks?: HciEdgeDeviceStorageNetworks[];\n /** Defines how the storage adapters between nodes are connected either switch or switch less. */\n readonly storageConnectivitySwitchless?: boolean;\n /** Optional parameter required only for 3 Nodes Switchless deployments. This allows users to specify IPs and Mask for Storage NICs when Network ATC is not assigning the IPs for storage automatically. */\n readonly enableStorageAutoIp?: boolean;\n}\n\nexport function hciEdgeDeviceHostNetworkDeserializer(item: any): HciEdgeDeviceHostNetwork {\n return {\n intents: !item[\"intents\"]\n ? item[\"intents\"]\n : hciEdgeDeviceIntentsArrayDeserializer(item[\"intents\"]),\n storageNetworks: !item[\"storageNetworks\"]\n ? item[\"storageNetworks\"]\n : hciEdgeDeviceStorageNetworksArrayDeserializer(item[\"storageNetworks\"]),\n storageConnectivitySwitchless: item[\"storageConnectivitySwitchless\"],\n enableStorageAutoIp: item[\"enableStorageAutoIp\"],\n };\n}\n\nexport function hciEdgeDeviceIntentsArrayDeserializer(result: Array<HciEdgeDeviceIntents>): any[] {\n return result.map((item) => {\n return hciEdgeDeviceIntentsDeserializer(item);\n });\n}\n\n/** The Intents of a cluster. */\nexport interface HciEdgeDeviceIntents {\n /** Scope for host network intent. */\n readonly scope?: number;\n /** IntentType for host network intent. */\n readonly intentType?: number;\n /** IsComputeIntentSet for host network intent. */\n readonly isComputeIntentSet?: boolean;\n /** IsStorageIntentSet for host network intent. */\n readonly isStorageIntentSet?: boolean;\n /** IntentType for host network intent. */\n readonly isOnlyStorage?: boolean;\n /** IsManagementIntentSet for host network intent. */\n readonly isManagementIntentSet?: boolean;\n /** IsStretchIntentSet for host network intent. */\n readonly isStretchIntentSet?: boolean;\n /** IsOnlyStretch for host network intent. */\n readonly isOnlyStretch?: boolean;\n /** IsNetworkIntentType for host network intent. */\n readonly isNetworkIntentType?: boolean;\n /** Name of the network intent you wish to create. */\n readonly intentName?: string;\n /** Array of adapters used for the network intent. */\n readonly intentAdapters?: string[];\n /** This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation. */\n readonly overrideVirtualSwitchConfiguration?: boolean;\n /** Set virtualSwitch ConfigurationOverrides for cluster. */\n readonly virtualSwitchConfigurationOverrides?: HciEdgeDeviceVirtualSwitchConfigurationOverrides;\n /** This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation. */\n readonly overrideQosPolicy?: boolean;\n /** Set QoS PolicyOverrides for cluster. */\n readonly qosPolicyOverrides?: QosPolicyOverrides;\n /** This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation. */\n readonly overrideAdapterProperty?: boolean;\n /** Set Adapter PropertyOverrides for cluster. */\n readonly adapterPropertyOverrides?: HciEdgeDeviceAdapterPropertyOverrides;\n}\n\nexport function hciEdgeDeviceIntentsDeserializer(item: any): HciEdgeDeviceIntents {\n return {\n scope: item[\"scope\"],\n intentType: item[\"intentType\"],\n isComputeIntentSet: item[\"isComputeIntentSet\"],\n isStorageIntentSet: item[\"isStorageIntentSet\"],\n isOnlyStorage: item[\"isOnlyStorage\"],\n isManagementIntentSet: item[\"isManagementIntentSet\"],\n isStretchIntentSet: item[\"isStretchIntentSet\"],\n isOnlyStretch: item[\"isOnlyStretch\"],\n isNetworkIntentType: item[\"isNetworkIntentType\"],\n intentName: item[\"intentName\"],\n intentAdapters: !item[\"intentAdapters\"]\n ? item[\"intentAdapters\"]\n : item[\"intentAdapters\"].map((p: any) => {\n return p;\n }),\n overrideVirtualSwitchConfiguration: item[\"overrideVirtualSwitchConfiguration\"],\n virtualSwitchConfigurationOverrides: !item[\"virtualSwitchConfigurationOverrides\"]\n ? item[\"virtualSwitchConfigurationOverrides\"]\n : hciEdgeDeviceVirtualSwitchConfigurationOverridesDeserializer(\n item[\"virtualSwitchConfigurationOverrides\"],\n ),\n overrideQosPolicy: item[\"overrideQosPolicy\"],\n qosPolicyOverrides: !item[\"qosPolicyOverrides\"]\n ? item[\"qosPolicyOverrides\"]\n : qosPolicyOverridesDeserializer(item[\"qosPolicyOverrides\"]),\n overrideAdapterProperty: item[\"overrideAdapterProperty\"],\n adapterPropertyOverrides: !item[\"adapterPropertyOverrides\"]\n ? item[\"adapterPropertyOverrides\"]\n : hciEdgeDeviceAdapterPropertyOverridesDeserializer(item[\"adapterPropertyOverrides\"]),\n };\n}\n\n/** The VirtualSwitchConfigurationOverrides of a cluster. */\nexport interface HciEdgeDeviceVirtualSwitchConfigurationOverrides {\n /** Enable IoV for Virtual Switch */\n readonly enableIov?: string;\n /** Load Balancing Algorithm for Virtual Switch */\n readonly loadBalancingAlgorithm?: string;\n}\n\nexport function hciEdgeDeviceVirtualSwitchConfigurationOverridesDeserializer(\n item: any,\n): HciEdgeDeviceVirtualSwitchConfigurationOverrides {\n return {\n enableIov: item[\"enableIov\"],\n loadBalancingAlgorithm: item[\"loadBalancingAlgorithm\"],\n };\n}\n\n/** The AdapterPropertyOverrides of a cluster. */\nexport interface HciEdgeDeviceAdapterPropertyOverrides {\n /** This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation. */\n readonly jumboPacket?: string;\n /** This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation. */\n readonly networkDirect?: string;\n /** This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation. Expected values are 'iWARP', 'RoCEv2', 'RoCE' */\n readonly networkDirectTechnology?: string;\n}\n\nexport function hciEdgeDeviceAdapterPropertyOverridesDeserializer(\n item: any,\n): HciEdgeDeviceAdapterPropertyOverrides {\n return {\n jumboPacket: item[\"jumboPacket\"],\n networkDirect: item[\"networkDirect\"],\n networkDirectTechnology: item[\"networkDirectTechnology\"],\n };\n}\n\nexport function hciEdgeDeviceStorageNetworksArrayDeserializer(\n result: Array<HciEdgeDeviceStorageNetworks>,\n): any[] {\n return result.map((item) => {\n return hciEdgeDeviceStorageNetworksDeserializer(item);\n });\n}\n\n/** The StorageNetworks of a cluster. */\nexport interface HciEdgeDeviceStorageNetworks {\n /** Name of the storage network. */\n readonly name?: string;\n /** Name of the storage network adapter. */\n readonly networkAdapterName?: string;\n /** ID specified for the VLAN storage network. This setting is applied to the network interfaces that route the storage and VM migration traffic. */\n readonly storageVlanId?: string;\n /** List of Storage adapter physical nodes config to deploy AzureStackHCI Cluster. */\n readonly storageAdapterIPInfo?: HciEdgeDeviceStorageAdapterIPInfo[];\n}\n\nexport function hciEdgeDeviceStorageNetworksDeserializer(item: any): HciEdgeDeviceStorageNetworks {\n return {\n name: item[\"name\"],\n networkAdapterName: item[\"networkAdapterName\"],\n storageVlanId: item[\"storageVlanId\"],\n storageAdapterIPInfo: !item[\"storageAdapterIPInfo\"]\n ? item[\"storageAdapterIPInfo\"]\n : hciEdgeDeviceStorageAdapterIPInfoArrayDeserializer(item[\"storageAdapterIPInfo\"]),\n };\n}\n\nexport function hciEdgeDeviceStorageAdapterIPInfoArrayDeserializer(\n result: Array<HciEdgeDeviceStorageAdapterIPInfo>,\n): any[] {\n return result.map((item) => {\n return hciEdgeDeviceStorageAdapterIPInfoDeserializer(item);\n });\n}\n\n/** The StorageAdapter physical nodes of a cluster. */\nexport interface HciEdgeDeviceStorageAdapterIPInfo {\n /** storage adapter physical node name. */\n readonly physicalNode?: string;\n /** The IPv4 address assigned to each storage adapter physical node on your Azure Stack HCI cluster. */\n readonly ipv4Address?: string;\n /** The SubnetMask address assigned to each storage adapter physical node on your Azure Stack HCI cluster. */\n readonly subnetMask?: string;\n}\n\nexport function hciEdgeDeviceStorageAdapterIPInfoDeserializer(\n item: any,\n): HciEdgeDeviceStorageAdapterIPInfo {\n return {\n physicalNode: item[\"physicalNode\"],\n ipv4Address: item[\"ipv4Address\"],\n subnetMask: item[\"subnetMask\"],\n };\n}\n\n/** OS configurations for HCI device. */\nexport interface HciOsProfile {\n /** The boot type of the device. e.g. UEFI, Legacy etc */\n readonly bootType?: string;\n /** Version of assembly present on device */\n readonly assemblyVersion?: string;\n}\n\nexport function hciOsProfileDeserializer(item: any): HciOsProfile {\n return {\n bootType: item[\"bootType\"],\n assemblyVersion: item[\"assemblyVersion\"],\n };\n}\n\n/** Solution builder extension (SBE) deployment package information. */\nexport interface SbeDeploymentPackageInfo {\n /** SBE deployment validation code. */\n readonly code?: string;\n /** A detailed message that explains the SBE package validation result. */\n readonly message?: string;\n /** This represents discovered update results for matching updates and store it as SBE manifest. */\n readonly sbeManifest?: string;\n}\n\nexport function sbeDeploymentPackageInfoDeserializer(item: any): SbeDeploymentPackageInfo {\n return {\n code: item[\"code\"],\n message: item[\"message\"],\n sbeManifest: item[\"sbeManifest\"],\n };\n}\n\n/** Storage configurations for HCI device. */\nexport interface HciStorageProfile {\n /** Number of storage disks in the device with $CanPool as true. */\n readonly poolableDisksCount?: number;\n}\n\nexport function hciStorageProfileDeserializer(item: any): HciStorageProfile {\n return {\n poolableDisksCount: item[\"poolableDisksCount\"],\n };\n}\n\n/** Hardware configurations for HCI device. */\nexport interface HciHardwareProfile {\n /** Process type of the device */\n readonly processorType?: string;\n}\n\nexport function hciHardwareProfileDeserializer(item: any): HciHardwareProfile {\n return {\n processorType: item[\"processorType\"],\n };\n}\n\n/** Reported properties pushed from edge device. */\nexport interface ReportedProperties {\n /** edge device state. */\n readonly deviceState?: DeviceState;\n /** Extensions details for edge device. */\n readonly extensionProfile?: ExtensionProfile;\n}\n\nexport function reportedPropertiesDeserializer(item: any): ReportedProperties {\n return {\n deviceState: item[\"deviceState\"],\n extensionProfile: !item[\"extensionProfile\"]\n ? item[\"extensionProfile\"]\n : extensionProfileDeserializer(item[\"extensionProfile\"]),\n };\n}\n\n/** The edge device state. */\nexport enum KnownDeviceState {\n /** The edge device state is not specified. */\n NotSpecified = \"NotSpecified\",\n /** The edge device state is in connected state. */\n Connected = \"Connected\",\n /** The edge device state is in disconnected state. */\n Disconnected = \"Disconnected\",\n /** The edge device state is in repairing state. */\n Repairing = \"Repairing\",\n /** The edge device state is in draining state. */\n Draining = \"Draining\",\n /** The edge device state is in maintenance state. */\n InMaintenance = \"InMaintenance\",\n /** The edge device state is in resuming state. */\n Resuming = \"Resuming\",\n /** The edge device state is in processing state. */\n Processing = \"Processing\",\n}\n\n/**\n * The edge device state. \\\n * {@link KnownDeviceState} can be used interchangeably with DeviceState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **NotSpecified**: The edge device state is not specified. \\\n * **Connected**: The edge device state is in connected state. \\\n * **Disconnected**: The edge device state is in disconnected state. \\\n * **Repairing**: The edge device state is in repairing state. \\\n * **Draining**: The edge device state is in draining state. \\\n * **InMaintenance**: The edge device state is in maintenance state. \\\n * **Resuming**: The edge device state is in resuming state. \\\n * **Processing**: The edge device state is in processing state.\n */\nexport type DeviceState = string;\n\n/** Extensions details for edge device. */\nexport interface ExtensionProfile {\n /** List of Arc extensions installed on edge device. */\n readonly extensions?: HciEdgeDeviceArcExtension[];\n}\n\nexport function extensionProfileDeserializer(item: any): ExtensionProfile {\n return {\n extensions: !item[\"extensions\"]\n ? item[\"extensions\"]\n : hciEdgeDeviceArcExtensionArrayDeserializer(item[\"extensions\"]),\n };\n}\n\nexport function hciEdgeDeviceArcExtensionArrayDeserializer(\n result: Array<HciEdgeDeviceArcExtension>,\n): any[] {\n return result.map((item) => {\n return hciEdgeDeviceArcExtensionDeserializer(item);\n });\n}\n\n/** Arc extension installed on edge device. */\nexport interface HciEdgeDeviceArcExtension {\n /** Arc extension name installed on edge device. */\n readonly extensionName?: string;\n /** Arc extension state from arc machine extension. */\n readonly state?: ArcExtensionState;\n /** Error details while installing Arc extension. */\n readonly errorDetails?: HciValidationFailureDetail[];\n /** Arc Extension Azure resource id. */\n readonly extensionResourceId?: string;\n /** Extension version installed. */\n readonly typeHandlerVersion?: string;\n /** Indicates whether the extension is managed by the user or by Azure. */\n readonly managedBy?: ExtensionManagedBy;\n}\n\nexport function hciEdgeDeviceArcExtensionDeserializer(item: any): HciEdgeDeviceArcExtension {\n return {\n extensionName: item[\"extensionName\"],\n state: item[\"state\"],\n errorDetails: !item[\"errorDetails\"]\n ? item[\"errorDetails\"]\n : hciValidationFailureDetailArrayDeserializer(item[\"errorDetails\"]),\n extensionResourceId: item[\"extensionResourceId\"],\n typeHandlerVersion: item[\"typeHandlerVersion\"],\n managedBy: item[\"managedBy\"],\n };\n}\n\n/** Arc extension installation state. */\nexport enum KnownArcExtensionState {\n /** Arc extension state is not specified. */\n NotSpecified = \"NotSpecified\",\n /** Arc extension state is Succeeded. */\n Succeeded = \"Succeeded\",\n /** Arc extension state is Failed. */\n Failed = \"Failed\",\n /** Arc extension state is Canceled. */\n Canceled = \"Canceled\",\n /** Arc extension state is Accepted when extension installation triggered. */\n Accepted = \"Accepted\",\n /** Arc extension is in Creating State. */\n Creating = \"Creating\",\n /** Arc extension is in Updating State. */\n Updating = \"Updating\",\n /** Arc extension is in Moving State. */\n Moving = \"Moving\",\n /** Arc extension is in Deleting State. */\n Deleting = \"Deleting\",\n /** Arc extension is in Deleted State. */\n Deleted = \"Deleted\",\n}\n\n/**\n * Arc extension installation state. \\\n * {@link KnownArcExtensionState} can be used interchangeably with ArcExtensionState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **NotSpecified**: Arc extension state is not specified. \\\n * **Succeeded**: Arc extension state is Succeeded. \\\n * **Failed**: Arc extension state is Failed. \\\n * **Canceled**: Arc extension state is Canceled. \\\n * **Accepted**: Arc extension state is Accepted when extension installation triggered. \\\n * **Creating**: Arc extension is in Creating State. \\\n * **Updating**: Arc extension is in Updating State. \\\n * **Moving**: Arc extension is in Moving State. \\\n * **Deleting**: Arc extension is in Deleting State. \\\n * **Deleted**: Arc extension is in Deleted State.\n */\nexport type ArcExtensionState = string;\n\nexport function hciValidationFailureDetailArrayDeserializer(\n result: Array<HciValidationFailureDetail>,\n): any[] {\n return result.map((item) => {\n return hciValidationFailureDetailDeserializer(item);\n });\n}\n\n/** details of validation failure */\nexport interface HciValidationFailureDetail {\n /** Exception details while installing extension. */\n readonly exception?: string;\n}\n\nexport function hciValidationFailureDetailDeserializer(item: any): HciValidationFailureDetail {\n return {\n exception: item[\"exception\"],\n };\n}\n\n/** Indicates whether the extension is managed by the user or by Azure. */\nexport enum KnownExtensionManagedBy {\n /** The extension is managed by the user. */\n User = \"User\",\n /** The extension is managed by Azure. */\n Azure = \"Azure\",\n}\n\n/**\n * Indicates whether the extension is managed by the user or by Azure. \\\n * {@link KnownExtensionManagedBy} can be used interchangeably with ExtensionManagedBy,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **User**: The extension is managed by the user. \\\n * **Azure**: The extension is managed by Azure.\n */\nexport type ExtensionManagedBy = string;\n\n/** Edge Device properties */\nexport interface EdgeDeviceProperties {\n /** Device Configuration */\n deviceConfiguration?: DeviceConfiguration;\n /** Provisioning state of edgeDevice resource */\n readonly provisioningState?: ProvisioningState;\n}\n\nexport function edgeDevicePropertiesSerializer(item: EdgeDeviceProperties): any {\n return {\n deviceConfiguration: !item[\"deviceConfiguration\"]\n ? item[\"deviceConfiguration\"]\n : deviceConfigurationSerializer(item[\"deviceConfiguration\"]),\n };\n}\n\nexport function edgeDevicePropertiesDeserializer(item: any): EdgeDeviceProperties {\n return {\n deviceConfiguration: !item[\"deviceConfiguration\"]\n ? item[\"deviceConfiguration\"]\n : deviceConfigurationDeserializer(item[\"deviceConfiguration\"]),\n provisioningState: item[\"provisioningState\"],\n };\n}\n\n/** The device Configuration for edge device. */\nexport interface DeviceConfiguration {\n /** NIC Details of device */\n nicDetails?: NicDetail[];\n /** Device metadata details. */\n deviceMetadata?: string;\n}\n\nexport function deviceConfigurationSerializer(item: DeviceConfiguration): any {\n return {\n nicDetails: !item[\"nicDetails\"]\n ? item[\"nicDetails\"]\n : nicDetailArraySerializer(item[\"nicDetails\"]),\n deviceMetadata: item[\"deviceMetadata\"],\n };\n}\n\nexport function deviceConfigurationDeserializer(item: any): DeviceConfiguration {\n return {\n nicDetails: !item[\"nicDetails\"]\n ? item[\"nicDetails\"]\n : nicDetailArrayDeserializer(item[\"nicDetails\"]),\n deviceMetadata: item[\"deviceMetadata\"],\n };\n}\n\nexport function nicDetailArraySerializer(result: Array<NicDetail>): any[] {\n return result.map((item) => {\n return nicDetailSerializer(item);\n });\n}\n\nexport function nicDetailArrayDeserializer(result: Array<NicDetail>): any[] {\n return result.map((item) => {\n return nicDetailDeserializer(item);\n });\n}\n\n/** The NIC Detail of a device. */\nexport interface NicDetail {\n /** Adapter Name of NIC */\n adapterName?: string;\n /** Interface Description of NIC */\n interfaceDescription?: string;\n /** Component Id of NIC */\n componentId?: string;\n /** Driver Version of NIC */\n driverVersion?: string;\n /** Subnet Mask of NIC */\n ip4Address?: string;\n /** Subnet Mask of NIC */\n subnetMask?: string;\n /** Default Gateway of NIC */\n defaultGateway?: string;\n /** DNS Servers for NIC */\n dnsServers?: string[];\n /** Default Isolation of Management NIC */\n defaultIsolationId?: string;\n}\n\nexport function nicDetailSerializer(item: NicDetail): any {\n return {\n adapterName: item[\"adapterName\"],\n interfaceDescription: item[\"interfaceDescription\"],\n componentId: item[\"componentId\"],\n driverVersion: item[\"driverVersion\"],\n ip4Address: item[\"ip4Address\"],\n subnetMask: item[\"subnetMask\"],\n defaultGateway: item[\"defaultGateway\"],\n dnsServers: !item[\"dnsServers\"]\n ? item[\"dnsServers\"]\n : item[\"dnsServers\"].map((p: any) => {\n return p;\n }),\n defaultIsolationId: item[\"defaultIsolationId\"],\n };\n}\n\nexport function nicDetailDeserializer(item: any): NicDetail {\n return {\n adapterName: item[\"adapterName\"],\n interfaceDescription: item[\"interfaceDescription\"],\n componentId: item[\"componentId\"],\n driverVersion: item[\"driverVersion\"],\n ip4Address: item[\"ip4Address\"],\n subnetMask: item[\"subnetMask\"],\n defaultGateway: item[\"defaultGateway\"],\n dnsServers: !item[\"dnsServers\"]\n ? item[\"dnsServers\"]\n : item[\"dnsServers\"].map((p: any) => {\n return p;\n }),\n defaultIsolationId: item[\"defaultIsolationId\"],\n };\n}\n\n/** The response of a EdgeDevice list operation. */\nexport interface _EdgeDeviceListResult {\n /** The EdgeDevice items on this page */\n value: EdgeDeviceUnion[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _edgeDeviceListResultDeserializer(item: any): _EdgeDeviceListResult {\n return {\n value: edgeDeviceUnionArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function edgeDeviceUnionArraySerializer(result: Array<EdgeDeviceUnion>): any[] {\n return result.map((item) => {\n return edgeDeviceUnionSerializer(item);\n });\n}\n\nexport function edgeDeviceUnionArrayDeserializer(result: Array<EdgeDeviceUnion>): any[] {\n return result.map((item) => {\n return edgeDeviceUnionDeserializer(item);\n });\n}\n\n/** The validate request for Edge Device. */\nexport interface ValidateRequest {\n /** Node Ids against which, current node has to be validated. */\n edgeDeviceIds: string[];\n /** Additional info required for validation. */\n additionalInfo?: string;\n}\n\nexport function validateRequestSerializer(item: ValidateRequest): any {\n return {\n edgeDeviceIds: item[\"edgeDeviceIds\"].map((p: any) => {\n return p;\n }),\n additionalInfo: item[\"additionalInfo\"],\n };\n}\n\n/** An Accepted response with an Operation-Location header. */\nexport interface ValidateResponse {\n /** edge device validation status */\n readonly status?: string;\n}\n\nexport function validateResponseDeserializer(item: any): ValidateResponse {\n return {\n status: item[\"status\"],\n };\n}\n\n/** Details of a particular extension in HCI Cluster. */\nexport interface Extension extends ProxyResource {\n /** Provisioning state of the Extension proxy resource. Indicates the current lifecycle status of the resource, such as whether it's being created, updated, deleted, or has encountered an error. */\n readonly provisioningState?: ProvisioningState;\n /** Parameters specific to this extension type. */\n extensionParameters?: ExtensionParameters;\n /** Aggregate state of Arc Extensions across the nodes in this HCI cluster. This reflects the overall status of the extension deployment and operation across all nodes. */\n readonly aggregateState?: ExtensionAggregateState;\n /** State of Arc Extension in each of the nodes. */\n readonly perNodeExtensionDetails?: PerNodeExtensionState[];\n /** Indicates if the extension is managed by Azure or the user. This determines who controls the deployment and lifecycle of the extension. */\n readonly managedBy?: ExtensionManagedBy;\n}\n\nexport function extensionSerializer(item: Extension): any {\n return {\n properties: areAllPropsUndefined(item, [\"extensionParameters\"])\n ? undefined\n : _extensionPropertiesSerializer(item),\n };\n}\n\nexport function extensionDeserializer(item: any): Extension {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _extensionPropertiesDeserializer(item[\"properties\"])),\n };\n}\n\n/** Status of Arc Extension for a particular node in HCI Cluster. */\nexport interface ExtensionProperties {\n /** Provisioning state of the Extension proxy resource. Indicates the current lifecycle status of the resource, such as whether it's being created, updated, deleted, or has encountered an error. */\n readonly provisioningState?: ProvisioningState;\n /** Aggregate state of Arc Extensions across the nodes in this HCI cluster. This reflects the overall status of the extension deployment and operation across all nodes. */\n readonly aggregateState?: ExtensionAggregateState;\n /** State of Arc Extension in each of the nodes. */\n readonly perNodeExtensionDetails?: PerNodeExtensionState[];\n /** Indicates if the extension is managed by Azure or the user. This determines who controls the deployment and lifecycle of the extension. */\n readonly managedBy?: ExtensionManagedBy;\n /** How the extension handler should be forced to update even if the extension configuration has not changed. */\n forceUpdateTag?: string;\n /** The name of the extension handler publisher. */\n publisher?: string;\n /** Specifies the type of the extension; an example is \"CustomScriptExtension\". */\n type?: string;\n /** Specifies the version of the script handler. Latest version would be used if not specified. */\n typeHandlerVersion?: string;\n /** Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. */\n autoUpgradeMinorVersion?: boolean;\n /** Json formatted public settings for the extension. */\n settings?: any;\n /** Protected settings (may contain secrets). */\n protectedSettings?: any;\n /** Indicates whether the extension should be automatically upgraded by the platform if there is a newer version available. */\n enableAutomaticUpgrade?: boolean;\n}\n\nexport function extensionPropertiesSerializer(item: ExtensionProperties): any {\n return {\n extensionParameters: areAllPropsUndefined(item, [\n \"forceUpdateTag\",\n \"publisher\",\n \"type\",\n \"typeHandlerVersion\",\n \"autoUpgradeMinorVersion\",\n \"settings\",\n \"protectedSettings\",\n \"enableAutomaticUpgrade\",\n ])\n ? undefined\n : _extensionPropertiesExtensionParametersSerializer(item),\n };\n}\n\nexport function extensionPropertiesDeserializer(item: any): ExtensionProperties {\n return {\n provisioningState: item[\"provisioningState\"],\n ...(!item[\"extensionParameters\"]\n ? item[\"extensionParameters\"]\n : _extensionPropertiesExtensionParametersDeserializer(item[\"extensionParameters\"])),\n aggregateState: item[\"aggregateState\"],\n perNodeExtensionDetails: !item[\"perNodeExtensionDetails\"]\n ? item[\"perNodeExtensionDetails\"]\n : perNodeExtensionStateArrayDeserializer(item[\"perNodeExtensionDetails\"]),\n managedBy: item[\"managedBy\"],\n };\n}\n\n/** Describes the properties of a Machine Extension. This object mirrors the definition in HybridCompute. */\nexport interface ExtensionParameters {\n /** How the extension handler should be forced to update even if the extension configuration has not changed. */\n forceUpdateTag?: string;\n /** The name of the extension handler publisher. */\n publisher?: string;\n /** Specifies the type of the extension; an example is \"CustomScriptExtension\". */\n type?: string;\n /** Specifies the version of the script handler. Latest version would be used if not specified. */\n typeHandlerVersion?: string;\n /** Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. */\n autoUpgradeMinorVersion?: boolean;\n /** Json formatted public settings for the extension. */\n settings?: any;\n /** Protected settings (may contain secrets). */\n protectedSettings?: any;\n /** Indicates whether the extension should be automatically upgraded by the platform if there is a newer version available. */\n enableAutomaticUpgrade?: boolean;\n}\n\nexport function extensionParametersSerializer(item: ExtensionParameters): any {\n return {\n forceUpdateTag: item[\"forceUpdateTag\"],\n publisher: item[\"publisher\"],\n type: item[\"type\"],\n typeHandlerVersion: item[\"typeHandlerVersion\"],\n autoUpgradeMinorVersion: item[\"autoUpgradeMinorVersion\"],\n settings: item[\"settings\"],\n protectedSettings: item[\"protectedSettings\"],\n enableAutomaticUpgrade: item[\"enableAutomaticUpgrade\"],\n };\n}\n\nexport function extensionParametersDeserializer(item: any): ExtensionParameters {\n return {\n forceUpdateTag: item[\"forceUpdateTag\"],\n publisher: item[\"publisher\"],\n type: item[\"type\"],\n typeHandlerVersion: item[\"typeHandlerVersion\"],\n autoUpgradeMinorVersion: item[\"autoUpgradeMinorVersion\"],\n settings: item[\"settings\"],\n protectedSettings: item[\"protectedSettings\"],\n enableAutomaticUpgrade: item[\"enableAutomaticUpgrade\"],\n };\n}\n\n/** Aggregate state of Arc Extensions across the nodes in this HCI cluster. This reflects the overall status of the extension deployment and operation across all nodes. */\nexport enum KnownExtensionAggregateState {\n /** The aggregate state is not specified. */\n NotSpecified = \"NotSpecified\",\n /** An error occurred in the aggregate state. */\n Error = \"Error\",\n /** The operation succeeded across all nodes. */\n Succeeded = \"Succeeded\",\n /** The operation was canceled across the nodes. */\n Canceled = \"Canceled\",\n /** The operation failed on all or most nodes. */\n Failed = \"Failed\",\n /** All nodes are connected. */\n Connected = \"Connected\",\n /** All nodes are disconnected. */\n Disconnected = \"Disconnected\",\n /** The extension has been deleted from all nodes. */\n Deleted = \"Deleted\",\n /** The extension is being created across the nodes. */\n Creating = \"Creating\",\n /** The extension is being updated across the nodes. */\n Updating = \"Updating\",\n /** The extension is being deleted across the nodes. */\n Deleting = \"Deleting\",\n /** The extension is being moved across the nodes. */\n Moving = \"Moving\",\n /** The operation succeeded on some nodes. */\n PartiallySucceeded = \"PartiallySucceeded\",\n /** Some nodes are connected, others are not. */\n PartiallyConnected = \"PartiallyConnected\",\n /** The operation is currently in progress across the nodes. */\n InProgress = \"InProgress\",\n /** The operation has been accepted and is pending execution. */\n Accepted = \"Accepted\",\n /** The extension is currently being provisioned across the nodes. */\n Provisioning = \"Provisioning\",\n /** Extension upgrade failed, but rollback succeeded across the nodes. */\n UpgradeFailedRollbackSucceeded = \"UpgradeFailedRollbackSucceeded\",\n}\n\n/**\n * Aggregate state of Arc Extensions across the nodes in this HCI cluster. This reflects the overall status of the extension deployment and operation across all nodes. \\\n * {@link KnownExtensionAggregateState} can be used interchangeably with ExtensionAggregateState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **NotSpecified**: The aggregate state is not specified. \\\n * **Error**: An error occurred in the aggregate state. \\\n * **Succeeded**: The operation succeeded across all nodes. \\\n * **Canceled**: The operation was canceled across the nodes. \\\n * **Failed**: The operation failed on all or most nodes. \\\n * **Connected**: All nodes are connected. \\\n * **Disconnected**: All nodes are disconnected. \\\n * **Deleted**: The extension has been deleted from all nodes. \\\n * **Creating**: The extension is being created across the nodes. \\\n * **Updating**: The extension is being updated across the nodes. \\\n * **Deleting**: The extension is being deleted across the nodes. \\\n * **Moving**: The extension is being moved across the nodes. \\\n * **PartiallySucceeded**: The operation succeeded on some nodes. \\\n * **PartiallyConnected**: Some nodes are connected, others are not. \\\n * **InProgress**: The operation is currently in progress across the nodes. \\\n * **Accepted**: The operation has been accepted and is pending execution. \\\n * **Provisioning**: The extension is currently being provisioned across the nodes. \\\n * **UpgradeFailedRollbackSucceeded**: Extension upgrade failed, but rollback succeeded across the nodes.\n */\nexport type ExtensionAggregateState = string;\n\nexport function perNodeExtensionStateArrayDeserializer(\n result: Array<PerNodeExtensionState>,\n): any[] {\n return result.map((item) => {\n return perNodeExtensionStateDeserializer(item);\n });\n}\n\n/** Status of Arc Extension for a particular node in HCI Cluster. */\nexport interface PerNodeExtensionState {\n /** Name of the node in HCI Cluster. */\n readonly name?: string;\n /** Fully qualified resource ID for the particular Arc Extension on this node. */\n readonly extension?: string;\n /** Specifies the version of the script handler. */\n readonly typeHandlerVersion?: string;\n /** State of Arc Extension in this node. Reflects the current lifecycle status of the extension on the individual node, such as whether it's being created, updated, deleted, or has encountered an error. */\n readonly state?: NodeExtensionState;\n /** The extension instance view. */\n readonly instanceView?: ExtensionInstanceView;\n}\n\nexport function perNodeExtensionStateDeserializer(item: any): PerNodeExtensionState {\n return {\n name: item[\"name\"],\n extension: item[\"extension\"],\n typeHandlerVersion: item[\"typeHandlerVersion\"],\n state: item[\"state\"],\n instanceView: !item[\"instanceView\"]\n ? item[\"instanceView\"]\n : extensionInstanceViewDeserializer(item[\"instanceView\"]),\n };\n}\n\n/** State of Arc Extension in this node. Reflects the current lifecycle status of the extension on the individual node, such as whether it's being created, updated, deleted, or has encountered an error. */\nexport enum KnownNodeExtensionState {\n /** The state is not specified. */\n NotSpecified = \"NotSpecified\",\n /** An error occurred during the extension lifecycle. */\n Error = \"Error\",\n /** The extension operation completed successfully. */\n Succeeded = \"Succeeded\",\n /** The extension operation was canceled. */\n Canceled = \"Canceled\",\n /** The extension operation failed. */\n Failed = \"Failed\",\n /** The extension is connected on the node. */\n Connected = \"Connected\",\n /** The extension is disconnected on the node. */\n Disconnected = \"Disconnected\",\n /** The extension has been deleted from the node. */\n Deleted = \"Deleted\",\n /** The extension is being created on the node. */\n Creating = \"Creating\",\n /** The extension is being updated on the node. */\n Updating = \"Updating\",\n /** The extension is being deleted from the node. */\n Deleting = \"Deleting\",\n /** The extension is being moved on the node. */\n Moving = \"Moving\",\n /** The extension operation partially succeeded. */\n PartiallySucceeded = \"PartiallySucceeded\",\n /** The extension is partially connected on the node. */\n PartiallyConnected = \"PartiallyConnected\",\n /** The extension operation is currently in progress. */\n InProgress = \"InProgress\",\n /** The extension operation has been accepted and is pending execution. */\n Accepted = \"Accepted\",\n /** The extension is currently being provisioned on the node. */\n Provisioning = \"Provisioning\",\n}\n\n/**\n * State of Arc Extension in this node. Reflects the current lifecycle status of the extension on the individual node, such as whether it's being created, updated, deleted, or has encountered an error. \\\n * {@link KnownNodeExtensionState} can be used interchangeably with NodeExtensionState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **NotSpecified**: The state is not specified. \\\n * **Error**: An error occurred during the extension lifecycle. \\\n * **Succeeded**: The extension operation completed successfully. \\\n * **Canceled**: The extension operation was canceled. \\\n * **Failed**: The extension operation failed. \\\n * **Connected**: The extension is connected on the node. \\\n * **Disconnected**: The extension is disconnected on the node. \\\n * **Deleted**: The extension has been deleted from the node. \\\n * **Creating**: The extension is being created on the node. \\\n * **Updating**: The extension is being updated on the node. \\\n * **Deleting**: The extension is being deleted from the node. \\\n * **Moving**: The extension is being moved on the node. \\\n * **PartiallySucceeded**: The extension operation partially succeeded. \\\n * **PartiallyConnected**: The extension is partially connected on the node. \\\n * **InProgress**: The extension operation is currently in progress. \\\n * **Accepted**: The extension operation has been accepted and is pending execution. \\\n * **Provisioning**: The extension is currently being provisioned on the node.\n */\nexport type NodeExtensionState = string;\n\n/** Describes the Extension Instance View. */\nexport interface ExtensionInstanceView {\n /** The extension name. */\n name?: string;\n /** Specifies the type of the extension; an example is \"MicrosoftMonitoringAgent\". */\n type?: string;\n /** Specifies the version of the script handler. */\n typeHandlerVersion?: string;\n /** Instance view status. */\n status?: ExtensionInstanceViewStatus;\n}\n\nexport function extensionInstanceViewDeserializer(item: any): ExtensionInstanceView {\n return {\n name: item[\"name\"],\n type: item[\"type\"],\n typeHandlerVersion: item[\"typeHandlerVersion\"],\n status: !item[\"status\"]\n ? item[\"status\"]\n : extensionInstanceViewStatusDeserializer(item[\"status\"]),\n };\n}\n\n/** Instance view status. */\nexport interface ExtensionInstanceViewStatus {\n /** The status code. */\n code?: string;\n /** The level code. Indicates the severity or importance of the status message. */\n level?: StatusLevelTypes;\n /** The short localizable label for the status. */\n displayStatus?: string;\n /** The detailed status message, including for alerts and error messages. */\n message?: string;\n /** The time of the status. */\n time?: Date;\n}\n\nexport function extensionInstanceViewStatusDeserializer(item: any): ExtensionInstanceViewStatus {\n return {\n code: item[\"code\"],\n level: item[\"level\"],\n displayStatus: item[\"displayStatus\"],\n message: item[\"message\"],\n time: !item[\"time\"] ? item[\"time\"] : new Date(item[\"time\"]),\n };\n}\n\n/** The level code. Indicates the severity or importance of the status message. */\nexport enum KnownStatusLevelTypes {\n /** Informational message indicating normal operation. */\n Info = \"Info\",\n /** Warning message indicating a potential issue or non-critical problem. */\n Warning = \"Warning\",\n /** Error message indicating a failure or critical issue. */\n Error = \"Error\",\n}\n\n/**\n * The level code. Indicates the severity or importance of the status message. \\\n * {@link KnownStatusLevelTypes} can be used interchangeably with StatusLevelTypes,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Info**: Informational message indicating normal operation. \\\n * **Warning**: Warning message indicating a potential issue or non-critical problem. \\\n * **Error**: Error message indicating a failure or critical issue.\n */\nexport type StatusLevelTypes = string;\n\n/** Extension Details to update */\nexport interface ExtensionPatch {\n /** Describes the properties of a Machine Extension that can be updated. */\n extensionParameters?: ExtensionPatchParameters;\n}\n\nexport function extensionPatchSerializer(item: ExtensionPatch): any {\n return {\n properties: areAllPropsUndefined(item, [\"extensionParameters\"])\n ? undefined\n : _extensionPatchPropertiesSerializer(item),\n };\n}\n\n/** Describes Machine Extension Properties that can be updated. */\nexport interface ExtensionPatchProperties {\n /** Describes the properties of a Machine Extension that can be updated. */\n extensionParameters?: ExtensionPatchParameters;\n}\n\nexport function extensionPatchPropertiesSerializer(item: ExtensionPatchProperties): any {\n return {\n extensionParameters: !item[\"extensionParameters\"]\n ? item[\"extensionParameters\"]\n : extensionPatchParametersSerializer(item[\"extensionParameters\"]),\n };\n}\n\n/** Describes the properties of a Machine Extension that can be updated. */\nexport interface ExtensionPatchParameters {\n /** Specifies the version of the script handler. Latest version would be used if not specified. */\n typeHandlerVersion?: string;\n /** Indicates whether the extension should be automatically upgraded by the platform if there is a newer version available. */\n enableAutomaticUpgrade?: boolean;\n /** Json formatted public settings for the extension. */\n settings?: any;\n /** Protected settings (may contain secrets). */\n protectedSettings?: any;\n}\n\nexport function extensionPatchParametersSerializer(item: ExtensionPatchParameters): any {\n return {\n typeHandlerVersion: item[\"typeHandlerVersion\"],\n enableAutomaticUpgrade: item[\"enableAutomaticUpgrade\"],\n settings: item[\"settings\"],\n protectedSettings: item[\"protectedSettings\"],\n };\n}\n\n/** List of Extensions in HCI cluster. */\nexport interface _ExtensionList {\n /** The Extension items on this page */\n value: Extension[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _extensionListDeserializer(item: any): _ExtensionList {\n return {\n value: extensionArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function extensionArraySerializer(result: Array<Extension>): any[] {\n return result.map((item) => {\n return extensionSerializer(item);\n });\n}\n\nexport function extensionArrayDeserializer(result: Array<Extension>): any[] {\n return result.map((item) => {\n return extensionDeserializer(item);\n });\n}\n\n/** Describes the parameters for Extension upgrade. */\nexport interface ExtensionUpgradeParameters {\n /** Extension Upgrade Target Version. */\n targetVersion?: string;\n}\n\nexport function extensionUpgradeParametersSerializer(item: ExtensionUpgradeParameters): any {\n return { targetVersion: item[\"targetVersion\"] };\n}\n\n/** Security settings proxy resource */\nexport interface SecuritySetting extends ProxyResource {\n /** Secured Core Compliance Assignment */\n securedCoreComplianceAssignment?: ComplianceAssignmentType;\n /** WDAC Compliance Assignment */\n wdacComplianceAssignment?: ComplianceAssignmentType;\n /** SMB encryption for intra-cluster traffic Compliance Assignment */\n smbEncryptionForIntraClusterTrafficComplianceAssignment?: ComplianceAssignmentType;\n /** Security Compliance Status */\n readonly securityComplianceStatus?: SecurityComplianceStatus;\n /** The status of the last operation. */\n readonly provisioningState?: ProvisioningState;\n}\n\nexport function securitySettingSerializer(item: SecuritySetting): any {\n return {\n properties: areAllPropsUndefined(item, [\n \"securedCoreComplianceAssignment\",\n \"wdacComplianceAssignment\",\n \"smbEncryptionForIntraClusterTrafficComplianceAssignment\",\n ])\n ? undefined\n : _securitySettingPropertiesSerializer(item),\n };\n}\n\nexport function securitySettingDeserializer(item: any): SecuritySetting {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _securitySettingPropertiesDeserializer(item[\"properties\"])),\n };\n}\n\n/** Security properties of the resource */\nexport interface SecurityProperties {\n /** Secured Core Compliance Assignment */\n securedCoreComplianceAssignment?: ComplianceAssignmentType;\n /** WDAC Compliance Assignment */\n wdacComplianceAssignment?: ComplianceAssignmentType;\n /** SMB encryption for intra-cluster traffic Compliance Assignment */\n smbEncryptionForIntraClusterTrafficComplianceAssignment?: ComplianceAssignmentType;\n /** Security Compliance Status */\n readonly securityComplianceStatus?: SecurityComplianceStatus;\n /** The status of the last operation. */\n readonly provisioningState?: ProvisioningState;\n}\n\nexport function securityPropertiesSerializer(item: SecurityProperties): any {\n return {\n securedCoreComplianceAssignment: item[\"securedCoreComplianceAssignment\"],\n wdacComplianceAssignment: item[\"wdacComplianceAssignment\"],\n smbEncryptionForIntraClusterTrafficComplianceAssignment:\n item[\"smbEncryptionForIntraClusterTrafficComplianceAssignment\"],\n };\n}\n\nexport function securityPropertiesDeserializer(item: any): SecurityProperties {\n return {\n securedCoreComplianceAssignment: item[\"securedCoreComplianceAssignment\"],\n wdacComplianceAssignment: item[\"wdacComplianceAssignment\"],\n smbEncryptionForIntraClusterTrafficComplianceAssignment:\n item[\"smbEncryptionForIntraClusterTrafficComplianceAssignment\"],\n securityComplianceStatus: !item[\"securityComplianceStatus\"]\n ? item[\"securityComplianceStatus\"]\n : securityComplianceStatusDeserializer(item[\"securityComplianceStatus\"]),\n provisioningState: item[\"provisioningState\"],\n };\n}\n\n/** Represents the compliance assignment type of a resource. */\nexport enum KnownComplianceAssignmentType {\n /** Report on the state of the machine, but don't make changes. */\n Audit = \"Audit\",\n /** Applied to the machine. If it drifts, the local service inside the machine makes a correction at the next evaluation. */\n ApplyAndAutoCorrect = \"ApplyAndAutoCorrect\",\n}\n\n/**\n * Represents the compliance assignment type of a resource. \\\n * {@link KnownComplianceAssignmentType} can be used interchangeably with ComplianceAssignmentType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Audit**: Report on the state of the machine, but don't make changes. \\\n * **ApplyAndAutoCorrect**: Applied to the machine. If it drifts, the local service inside the machine makes a correction at the next evaluation.\n */\nexport type ComplianceAssignmentType = string;\n\n/** Security compliance properties of the resource */\nexport interface SecurityComplianceStatus {\n /** Indicates whether HCI hosts meets secured-core server requirements. */\n readonly securedCoreCompliance?: ComplianceStatus;\n /** Indicates whether HCI hosts have enforced consistent Windows Defender Application Control. */\n readonly wdacCompliance?: ComplianceStatus;\n /** Indicates whether data at-rest encryption is enabled on Azure Stack HCI clustered volumes. */\n readonly dataAtRestEncrypted?: ComplianceStatus;\n /** Indicates whether HCI cluster has data in-transit protection. */\n readonly dataInTransitProtected?: ComplianceStatus;\n /** Time in UTC when compliance status was last updated. */\n readonly lastUpdated?: Date;\n}\n\nexport function securityComplianceStatusDeserializer(item: any): SecurityComplianceStatus {\n return {\n securedCoreCompliance: item[\"securedCoreCompliance\"],\n wdacCompliance: item[\"wdacCompliance\"],\n dataAtRestEncrypted: item[\"dataAtRestEncrypted\"],\n dataInTransitProtected: item[\"dataInTransitProtected\"],\n lastUpdated: !item[\"lastUpdated\"] ? item[\"lastUpdated\"] : new Date(item[\"lastUpdated\"]),\n };\n}\n\n/** Represents the compliance status of a resource. */\nexport enum KnownComplianceStatus {\n /** The resource is compliant */\n Compliant = \"Compliant\",\n /** The resource is non-compliant */\n NonCompliant = \"NonCompliant\",\n /** The resource compliance status is pending */\n Pending = \"Pending\",\n}\n\n/**\n * Represents the compliance status of a resource. \\\n * {@link KnownComplianceStatus} can be used interchangeably with ComplianceStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Compliant**: The resource is compliant \\\n * **NonCompliant**: The resource is non-compliant \\\n * **Pending**: The resource compliance status is pending\n */\nexport type ComplianceStatus = string;\n\n/** The response of a SecuritySetting list operation. */\nexport interface _SecuritySettingListResult {\n /** The SecuritySetting items on this page */\n value: SecuritySetting[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _securitySettingListResultDeserializer(item: any): _SecuritySettingListResult {\n return {\n value: securitySettingArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function securitySettingArraySerializer(result: Array<SecuritySetting>): any[] {\n return result.map((item) => {\n return securitySettingSerializer(item);\n });\n}\n\nexport function securitySettingArrayDeserializer(result: Array<SecuritySetting>): any[] {\n return result.map((item) => {\n return securitySettingDeserializer(item);\n });\n}\n\n/** Sku details. */\nexport interface Sku extends ProxyResource {\n /** Provisioning State */\n readonly provisioningState?: string;\n /** Identifier of the Publisher for the offer */\n publisherId?: string;\n /** Identifier of the Offer for the sku */\n offerId?: string;\n /** JSON serialized catalog content of the sku offer */\n content?: string;\n /** The API version of the catalog service used to serve the catalog content */\n contentVersion?: string;\n /** Array of SKU mappings */\n skuMappings?: SkuMappings[];\n}\n\nexport function skuDeserializer(item: any): Sku {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n ...(!item[\"properties\"] ? item[\"properties\"] : _skuPropertiesDeserializer(item[\"properties\"])),\n };\n}\n\n/** SKU properties. */\nexport interface SkuProperties {\n /** Provisioning State */\n readonly provisioningState?: string;\n /** Identifier of the Publisher for the offer */\n publisherId?: string;\n /** Identifier of the Offer for the sku */\n offerId?: string;\n /** JSON serialized catalog content of the sku offer */\n content?: string;\n /** The API version of the catalog service used to serve the catalog content */\n contentVersion?: string;\n /** Array of SKU mappings */\n skuMappings?: SkuMappings[];\n}\n\nexport function skuPropertiesDeserializer(item: any): SkuProperties {\n return {\n provisioningState: item[\"provisioningState\"],\n publisherId: item[\"publisherId\"],\n offerId: item[\"offerId\"],\n content: item[\"content\"],\n contentVersion: item[\"contentVersion\"],\n skuMappings: !item[\"skuMappings\"]\n ? item[\"skuMappings\"]\n : skuMappingsArrayDeserializer(item[\"skuMappings\"]),\n };\n}\n\n/** List of SKU proxy resources for the HCI cluster. */\nexport interface _SkuList {\n /** The Sku items on this page */\n value: Sku[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _skuListDeserializer(item: any): _SkuList {\n return {\n value: skuArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function skuArrayDeserializer(result: Array<Sku>): any[] {\n return result.map((item) => {\n return skuDeserializer(item);\n });\n}\n\n/** Details of an Update run */\nexport interface UpdateRun extends ProxyResource {\n /** The geo-location where the resource lives */\n location?: string;\n /** Provisioning state of the UpdateRuns proxy resource. Indicates the current lifecycle status of the update operation, such as whether it has been accepted, is in progress, or has completed. */\n readonly provisioningState?: ProvisioningState;\n /** Timestamp of the update run was started. */\n timeStarted?: Date;\n /** Timestamp of the most recently completed step in the update run. */\n lastUpdatedTime?: Date;\n /** Duration of the update run. */\n duration?: string;\n /** Represents the current state of the update run. Indicates whether the update is in progress, has completed successfully, failed, or is in an unknown state. */\n state?: UpdateRunPropertiesState;\n /** Progress representation of the update run steps. */\n progress?: Step;\n}\n\nexport function updateRunSerializer(item: UpdateRun): any {\n return {\n properties: areAllPropsUndefined(item, [\n \"timeStarted\",\n \"lastUpdatedTime\",\n \"duration\",\n \"state\",\n \"progress\",\n ])\n ? undefined\n : _updateRunPropertiesSerializer(item),\n location: item[\"location\"],\n };\n}\n\nexport function updateRunDeserializer(item: any): UpdateRun {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _updateRunPropertiesDeserializer(item[\"properties\"])),\n location: item[\"location\"],\n };\n}\n\n/** Details of an Update run */\nexport interface UpdateRunProperties {\n /** Provisioning state of the UpdateRuns proxy resource. Indicates the current lifecycle status of the update operation, such as whether it has been accepted, is in progress, or has completed. */\n readonly provisioningState?: ProvisioningState;\n /** Timestamp of the update run was started. */\n timeStarted?: Date;\n /** Timestamp of the most recently completed step in the update run. */\n lastUpdatedTime?: Date;\n /** Duration of the update run. */\n duration?: string;\n /** Represents the current state of the update run. Indicates whether the update is in progress, has completed successfully, failed, or is in an unknown state. */\n state?: UpdateRunPropertiesState;\n /** Name of the step. */\n name?: string;\n /** More detailed description of the step. */\n description?: string;\n /** Error message, specified if the step is in a failed state. */\n errorMessage?: string;\n /** Status of the step, bubbled up from the ECE action plan for installation attempts. Values are: 'Success', 'Error', 'InProgress', and 'Unknown status'. */\n status?: string;\n /** When the step started, or empty if it has not started executing. */\n startTimeUtc?: Date;\n /** When the step reached a terminal state. */\n endTimeUtc?: Date;\n /** Completion time of this step or the last completed sub-step. */\n lastUpdatedTimeUtc?: Date;\n /** Expected execution time of a given step. This is optionally authored in the update action plan and can be empty. */\n expectedExecutionTime?: string;\n /** Recursive model for child steps of this step. */\n steps?: Step[];\n}\n\nexport function updateRunPropertiesSerializer(item: UpdateRunProperties): any {\n return {\n timeStarted: !item[\"timeStarted\"] ? item[\"timeStarted\"] : item[\"timeStarted\"].toISOString(),\n lastUpdatedTime: !item[\"lastUpdatedTime\"]\n ? item[\"lastUpdatedTime\"]\n : item[\"lastUpdatedTime\"].toISOString(),\n duration: item[\"duration\"],\n state: item[\"state\"],\n progress: areAllPropsUndefined(item, [\n \"name\",\n \"description\",\n \"errorMessage\",\n \"status\",\n \"startTimeUtc\",\n \"endTimeUtc\",\n \"lastUpdatedTimeUtc\",\n \"expectedExecutionTime\",\n \"steps\",\n ])\n ? undefined\n : _updateRunPropertiesProgressSerializer(item),\n };\n}\n\nexport function updateRunPropertiesDeserializer(item: any): UpdateRunProperties {\n return {\n provisioningState: item[\"provisioningState\"],\n timeStarted: !item[\"timeStarted\"] ? item[\"timeStarted\"] : new Date(item[\"timeStarted\"]),\n lastUpdatedTime: !item[\"lastUpdatedTime\"]\n ? item[\"lastUpdatedTime\"]\n : new Date(item[\"lastUpdatedTime\"]),\n duration: item[\"duration\"],\n state: item[\"state\"],\n ...(!item[\"progress\"]\n ? item[\"progress\"]\n : _updateRunPropertiesProgressDeserializer(item[\"progress\"])),\n };\n}\n\n/** Represents the current state of the update run. Indicates whether the update is in progress, has completed successfully, failed, or is in an unknown state. */\nexport enum KnownUpdateRunPropertiesState {\n /** The state of the update run is not known. */\n Unknown = \"Unknown\",\n /** The update run completed successfully. */\n Succeeded = \"Succeeded\",\n /** The update run is currently in progress. */\n InProgress = \"InProgress\",\n /** The update run failed to complete successfully. */\n Failed = \"Failed\",\n}\n\n/**\n * Represents the current state of the update run. Indicates whether the update is in progress, has completed successfully, failed, or is in an unknown state. \\\n * {@link KnownUpdateRunPropertiesState} can be used interchangeably with UpdateRunPropertiesState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Unknown**: The state of the update run is not known. \\\n * **Succeeded**: The update run completed successfully. \\\n * **InProgress**: The update run is currently in progress. \\\n * **Failed**: The update run failed to complete successfully.\n */\nexport type UpdateRunPropertiesState = string;\n\n/** Progress representation of the update run steps. */\nexport interface Step {\n /** Name of the step. */\n name?: string;\n /** More detailed description of the step. */\n description?: string;\n /** Error message, specified if the step is in a failed state. */\n errorMessage?: string;\n /** Status of the step, bubbled up from the ECE action plan for installation attempts. Values are: 'Success', 'Error', 'InProgress', and 'Unknown status'. */\n status?: string;\n /** When the step started, or empty if it has not started executing. */\n startTimeUtc?: Date;\n /** When the step reached a terminal state. */\n endTimeUtc?: Date;\n /** Completion time of this step or the last completed sub-step. */\n lastUpdatedTimeUtc?: Date;\n /** Expected execution time of a given step. This is optionally authored in the update action plan and can be empty. */\n expectedExecutionTime?: string;\n /** Recursive model for child steps of this step. */\n steps?: Step[];\n}\n\nexport function stepSerializer(item: Step): any {\n return {\n name: item[\"name\"],\n description: item[\"description\"],\n errorMessage: item[\"errorMessage\"],\n status: item[\"status\"],\n startTimeUtc: !item[\"startTimeUtc\"] ? item[\"startTimeUtc\"] : item[\"startTimeUtc\"].toISOString(),\n endTimeUtc: !item[\"endTimeUtc\"] ? item[\"endTimeUtc\"] : item[\"endTimeUtc\"].toISOString(),\n lastUpdatedTimeUtc: !item[\"lastUpdatedTimeUtc\"]\n ? item[\"lastUpdatedTimeUtc\"]\n : item[\"lastUpdatedTimeUtc\"].toISOString(),\n expectedExecutionTime: item[\"expectedExecutionTime\"],\n steps: !item[\"steps\"] ? item[\"steps\"] : stepArraySerializer(item[\"steps\"]),\n };\n}\n\nexport function stepDeserializer(item: any): Step {\n return {\n name: item[\"name\"],\n description: item[\"description\"],\n errorMessage: item[\"errorMessage\"],\n status: item[\"status\"],\n startTimeUtc: !item[\"startTimeUtc\"] ? item[\"startTimeUtc\"] : new Date(item[\"startTimeUtc\"]),\n endTimeUtc: !item[\"endTimeUtc\"] ? item[\"endTimeUtc\"] : new Date(item[\"endTimeUtc\"]),\n lastUpdatedTimeUtc: !item[\"lastUpdatedTimeUtc\"]\n ? item[\"lastUpdatedTimeUtc\"]\n : new Date(item[\"lastUpdatedTimeUtc\"]),\n expectedExecutionTime: item[\"expectedExecutionTime\"],\n steps: !item[\"steps\"] ? item[\"steps\"] : stepArrayDeserializer(item[\"steps\"]),\n };\n}\n\nexport function stepArraySerializer(result: Array<Step>): any[] {\n return result.map((item) => {\n return stepSerializer(item);\n });\n}\n\nexport function stepArrayDeserializer(result: Array<Step>): any[] {\n return result.map((item) => {\n return stepDeserializer(item);\n });\n}\n\n/** List of Update runs */\nexport interface _UpdateRunList {\n /** The UpdateRun items on this page */\n value: UpdateRun[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _updateRunListDeserializer(item: any): _UpdateRunList {\n return {\n value: updateRunArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function updateRunArraySerializer(result: Array<UpdateRun>): any[] {\n return result.map((item) => {\n return updateRunSerializer(item);\n });\n}\n\nexport function updateRunArrayDeserializer(result: Array<UpdateRun>): any[] {\n return result.map((item) => {\n return updateRunDeserializer(item);\n });\n}\n\n/** Update details */\nexport interface Update extends ProxyResource {\n /** The geo-location where the resource lives */\n location?: string;\n /** Provisioning state of the Updates proxy resource. Indicates the current lifecycle status of the update operation, such as whether it has been accepted, is in progress, or has completed. */\n readonly provisioningState?: ProvisioningState;\n /** Date that the update was installed. */\n installedDate?: Date;\n /** Description of the update. */\n description?: string;\n /** Minimum Sbe Version of the update. */\n minSbeVersionRequired?: string;\n /** Represents the current state of the update as it relates to this stamp. This includes phases such as preparation, installation, scanning, and error handling, providing insight into the update's progress and any issues encountered. */\n state?: State;\n /** If update State is HasPrerequisite, this property contains an array of objects describing prerequisite updates before installing this update. Otherwise, it is empty. */\n prerequisites?: UpdatePrerequisite[];\n /** An array of component versions for a Solution Bundle update, and an empty array otherwise. */\n componentVersions?: PackageVersionInfo[];\n /** Indicates whether a reboot is required after the update or operation. Helps determine if a system restart is necessary to complete the process. */\n rebootRequired?: RebootRequirement;\n /** Overall health state for update-specific health checks. */\n healthState?: HealthState;\n /** An array of PrecheckResult objects. */\n healthCheckResult?: PrecheckResult[];\n /** Last time the package-specific checks were run. */\n healthCheckDate?: Date;\n /** Path where the update package is available. */\n packagePath?: string;\n /** Size of the package. This value is a combination of the size from update metadata and size of the payload that results from the live scan operation for OS update content. */\n packageSizeInMb?: number;\n /** Display name of the Update */\n displayName?: string;\n /** Version of the update. */\n version?: string;\n /** Publisher of the update package. */\n publisher?: string;\n /** Link to release notes for the update. */\n releaseLink?: string;\n /** Indicates how the update content is made available for download. This determines whether the update is sourced locally, from an online repository, or requires user notification. */\n availabilityType?: AvailabilityType;\n /** Customer-visible type of the update. */\n packageType?: string;\n /** Extensible KV pairs serialized as a string. This is currently used to report the stamp OEM family and hardware model information when an update is flagged as Invalid for the stamp based on OEM type. */\n additionalProperties?: string;\n /** Additional information regarding the state of the update. See definition of UpdateStateProperties type below for more details on this property. */\n updateStateProperties?: UpdateStateProperties;\n}\n\nexport function updateSerializer(item: Update): any {\n return {\n properties: areAllPropsUndefined(item, [\n \"installedDate\",\n \"description\",\n \"minSbeVersionRequired\",\n \"state\",\n \"prerequisites\",\n \"componentVersions\",\n \"rebootRequired\",\n \"healthState\",\n \"healthCheckResult\",\n \"healthCheckDate\",\n \"packagePath\",\n \"packageSizeInMb\",\n \"displayName\",\n \"version\",\n \"publisher\",\n \"releaseLink\",\n \"availabilityType\",\n \"packageType\",\n \"additionalProperties\",\n \"updateStateProperties\",\n ])\n ? undefined\n : _updatePropertiesSerializer(item),\n location: item[\"location\"],\n };\n}\n\nexport function updateDeserializer(item: any): Update {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _updatePropertiesDeserializer(item[\"properties\"])),\n location: item[\"location\"],\n };\n}\n\n/** Details of a singular Update in HCI Cluster */\nexport interface UpdateProperties {\n /** Provisioning state of the Updates proxy resource. Indicates the current lifecycle status of the update operation, such as whether it has been accepted, is in progress, or has completed. */\n readonly provisioningState?: ProvisioningState;\n /** Date that the update was installed. */\n installedDate?: Date;\n /** Description of the update. */\n description?: string;\n /** Minimum Sbe Version of the update. */\n minSbeVersionRequired?: string;\n /** Represents the current state of the update as it relates to this stamp. This includes phases such as preparation, installation, scanning, and error handling, providing insight into the update's progress and any issues encountered. */\n state?: State;\n /** If update State is HasPrerequisite, this property contains an array of objects describing prerequisite updates before installing this update. Otherwise, it is empty. */\n prerequisites?: UpdatePrerequisite[];\n /** An array of component versions for a Solution Bundle update, and an empty array otherwise. */\n componentVersions?: PackageVersionInfo[];\n /** Indicates whether a reboot is required after the update or operation. Helps determine if a system restart is necessary to complete the process. */\n rebootRequired?: RebootRequirement;\n /** Overall health state for update-specific health checks. */\n healthState?: HealthState;\n /** An array of PrecheckResult objects. */\n healthCheckResult?: PrecheckResult[];\n /** Last time the package-specific checks were run. */\n healthCheckDate?: Date;\n /** Path where the update package is available. */\n packagePath?: string;\n /** Size of the package. This value is a combination of the size from update metadata and size of the payload that results from the live scan operation for OS update content. */\n packageSizeInMb?: number;\n /** Display name of the Update */\n displayName?: string;\n /** Version of the update. */\n version?: string;\n /** Publisher of the update package. */\n publisher?: string;\n /** Link to release notes for the update. */\n releaseLink?: string;\n /** Indicates how the update content is made available for download. This determines whether the update is sourced locally, from an online repository, or requires user notification. */\n availabilityType?: AvailabilityType;\n /** Customer-visible type of the update. */\n packageType?: string;\n /** Extensible KV pairs serialized as a string. This is currently used to report the stamp OEM family and hardware model information when an update is flagged as Invalid for the stamp based on OEM type. */\n additionalProperties?: string;\n /** Progress percentage of ongoing operation. Currently this property is only valid when the update is in the Downloading state, where it maps to how much of the update content has been downloaded. */\n progressPercentage?: number;\n /** Brief message with instructions for updates of AvailabilityType Notify. */\n notifyMessage?: string;\n}\n\nexport function updatePropertiesSerializer(item: UpdateProperties): any {\n return {\n installedDate: !item[\"installedDate\"]\n ? item[\"installedDate\"]\n : item[\"installedDate\"].toISOString(),\n description: item[\"description\"],\n minSbeVersionRequired: item[\"minSbeVersionRequired\"],\n state: item[\"state\"],\n prerequisites: !item[\"prerequisites\"]\n ? item[\"prerequisites\"]\n : updatePrerequisiteArraySerializer(item[\"prerequisites\"]),\n componentVersions: !item[\"componentVersions\"]\n ? item[\"componentVersions\"]\n : packageVersionInfoArraySerializer(item[\"componentVersions\"]),\n rebootRequired: item[\"rebootRequired\"],\n healthState: item[\"healthState\"],\n healthCheckResult: !item[\"healthCheckResult\"]\n ? item[\"healthCheckResult\"]\n : precheckResultArraySerializer(item[\"healthCheckResult\"]),\n healthCheckDate: !item[\"healthCheckDate\"]\n ? item[\"healthCheckDate\"]\n : item[\"healthCheckDate\"].toISOString(),\n packagePath: item[\"packagePath\"],\n packageSizeInMb: item[\"packageSizeInMb\"],\n displayName: item[\"displayName\"],\n version: item[\"version\"],\n publisher: item[\"publisher\"],\n releaseLink: item[\"releaseLink\"],\n availabilityType: item[\"availabilityType\"],\n packageType: item[\"packageType\"],\n additionalProperties: item[\"additionalProperties\"],\n updateStateProperties: areAllPropsUndefined(item, [\"progressPercentage\", \"notifyMessage\"])\n ? undefined\n : _updatePropertiesUpdateStatePropertiesSerializer(item),\n };\n}\n\nexport function updatePropertiesDeserializer(item: any): UpdateProperties {\n return {\n provisioningState: item[\"provisioningState\"],\n installedDate: !item[\"installedDate\"] ? item[\"installedDate\"] : new Date(item[\"installedDate\"]),\n description: item[\"description\"],\n minSbeVersionRequired: item[\"minSbeVersionRequired\"],\n state: item[\"state\"],\n prerequisites: !item[\"prerequisites\"]\n ? item[\"prerequisites\"]\n : updatePrerequisiteArrayDeserializer(item[\"prerequisites\"]),\n componentVersions: !item[\"componentVersions\"]\n ? item[\"componentVersions\"]\n : packageVersionInfoArrayDeserializer(item[\"componentVersions\"]),\n rebootRequired: item[\"rebootRequired\"],\n healthState: item[\"healthState\"],\n healthCheckResult: !item[\"healthCheckResult\"]\n ? item[\"healthCheckResult\"]\n : precheckResultArrayDeserializer(item[\"healthCheckResult\"]),\n healthCheckDate: !item[\"healthCheckDate\"]\n ? item[\"healthCheckDate\"]\n : new Date(item[\"healthCheckDate\"]),\n packagePath: item[\"packagePath\"],\n packageSizeInMb: item[\"packageSizeInMb\"],\n displayName: item[\"displayName\"],\n version: item[\"version\"],\n publisher: item[\"publisher\"],\n releaseLink: item[\"releaseLink\"],\n availabilityType: item[\"availabilityType\"],\n packageType: item[\"packageType\"],\n additionalProperties: item[\"additionalProperties\"],\n ...(!item[\"updateStateProperties\"]\n ? item[\"updateStateProperties\"]\n : _updatePropertiesUpdateStatePropertiesDeserializer(item[\"updateStateProperties\"])),\n };\n}\n\n/** Represents the current state of the update as it relates to this stamp. This includes phases such as preparation, installation, scanning, and error handling, providing insight into the update's progress and any issues encountered. */\nexport enum KnownState {\n /** The update has prerequisites that must be fulfilled before it can proceed. */\n HasPrerequisite = \"HasPrerequisite\",\n /** The update is obsolete and no longer applicable. */\n Obsolete = \"Obsolete\",\n /** The update is ready to be installed. */\n Ready = \"Ready\",\n /** The update cannot be applied because another update is currently in progress. */\n NotApplicableBecauseAnotherUpdateIsInProgress = \"NotApplicableBecauseAnotherUpdateIsInProgress\",\n /** The update is currently in the preparation phase. */\n Preparing = \"Preparing\",\n /** The update is currently being installed. */\n Installing = \"Installing\",\n /** The update has been successfully installed. */\n Installed = \"Installed\",\n /** The update preparation phase failed. */\n PreparationFailed = \"PreparationFailed\",\n /** The update installation failed. */\n InstallationFailed = \"InstallationFailed\",\n /** The update is invalid and cannot be applied. */\n Invalid = \"Invalid\",\n /** The update has been recalled and should not be applied. */\n Recalled = \"Recalled\",\n /** The update is currently being downloaded. */\n Downloading = \"Downloading\",\n /** The update download failed. */\n DownloadFailed = \"DownloadFailed\",\n /** A health check is being performed before applying the update. */\n HealthChecking = \"HealthChecking\",\n /** The health check failed, preventing the update from proceeding. */\n HealthCheckFailed = \"HealthCheckFailed\",\n /** The update is ready to be installed after successful preparation and checks. */\n ReadyToInstall = \"ReadyToInstall\",\n /** The system is scanning for updates. */\n ScanInProgress = \"ScanInProgress\",\n /** The scan for updates failed. */\n ScanFailed = \"ScanFailed\",\n /** Additional content is required to proceed with the update. */\n AdditionalContentRequired = \"AdditionalContentRequired\",\n}\n\n/**\n * Represents the current state of the update as it relates to this stamp. This includes phases such as preparation, installation, scanning, and error handling, providing insight into the update's progress and any issues encountered. \\\n * {@link KnownState} can be used interchangeably with State,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **HasPrerequisite**: The update has prerequisites that must be fulfilled before it can proceed. \\\n * **Obsolete**: The update is obsolete and no longer applicable. \\\n * **Ready**: The update is ready to be installed. \\\n * **NotApplicableBecauseAnotherUpdateIsInProgress**: The update cannot be applied because another update is currently in progress. \\\n * **Preparing**: The update is currently in the preparation phase. \\\n * **Installing**: The update is currently being installed. \\\n * **Installed**: The update has been successfully installed. \\\n * **PreparationFailed**: The update preparation phase failed. \\\n * **InstallationFailed**: The update installation failed. \\\n * **Invalid**: The update is invalid and cannot be applied. \\\n * **Recalled**: The update has been recalled and should not be applied. \\\n * **Downloading**: The update is currently being downloaded. \\\n * **DownloadFailed**: The update download failed. \\\n * **HealthChecking**: A health check is being performed before applying the update. \\\n * **HealthCheckFailed**: The health check failed, preventing the update from proceeding. \\\n * **ReadyToInstall**: The update is ready to be installed after successful preparation and checks. \\\n * **ScanInProgress**: The system is scanning for updates. \\\n * **ScanFailed**: The scan for updates failed. \\\n * **AdditionalContentRequired**: Additional content is required to proceed with the update.\n */\nexport type State = string;\n\nexport function updatePrerequisiteArraySerializer(result: Array<UpdatePrerequisite>): any[] {\n return result.map((item) => {\n return updatePrerequisiteSerializer(item);\n });\n}\n\nexport function updatePrerequisiteArrayDeserializer(result: Array<UpdatePrerequisite>): any[] {\n return result.map((item) => {\n return updatePrerequisiteDeserializer(item);\n });\n}\n\n/** If update State is HasPrerequisite, this property contains an array of objects describing prerequisite updates before installing this update. Otherwise, it is empty. */\nexport interface UpdatePrerequisite {\n /** Updatable component type. */\n updateType?: string;\n /** Version of the prerequisite. */\n version?: string;\n /** Friendly name of the prerequisite. */\n packageName?: string;\n}\n\nexport function updatePrerequisiteSerializer(item: UpdatePrerequisite): any {\n return {\n updateType: item[\"updateType\"],\n version: item[\"version\"],\n packageName: item[\"packageName\"],\n };\n}\n\nexport function updatePrerequisiteDeserializer(item: any): UpdatePrerequisite {\n return {\n updateType: item[\"updateType\"],\n version: item[\"version\"],\n packageName: item[\"packageName\"],\n };\n}\n\nexport function packageVersionInfoArraySerializer(result: Array<PackageVersionInfo>): any[] {\n return result.map((item) => {\n return packageVersionInfoSerializer(item);\n });\n}\n\nexport function packageVersionInfoArrayDeserializer(result: Array<PackageVersionInfo>): any[] {\n return result.map((item) => {\n return packageVersionInfoDeserializer(item);\n });\n}\n\n/** Current version of each updatable component. */\nexport interface PackageVersionInfo {\n /** Package type */\n packageType?: string;\n /** Package version */\n version?: string;\n /** Last time this component was updated. */\n lastUpdated?: Date;\n}\n\nexport function packageVersionInfoSerializer(item: PackageVersionInfo): any {\n return {\n packageType: item[\"packageType\"],\n version: item[\"version\"],\n lastUpdated: !item[\"lastUpdated\"] ? item[\"lastUpdated\"] : item[\"lastUpdated\"].toISOString(),\n };\n}\n\nexport function packageVersionInfoDeserializer(item: any): PackageVersionInfo {\n return {\n packageType: item[\"packageType\"],\n version: item[\"version\"],\n lastUpdated: !item[\"lastUpdated\"] ? item[\"lastUpdated\"] : new Date(item[\"lastUpdated\"]),\n };\n}\n\n/** Indicates whether a reboot is required after the update or operation. Helps determine if a system restart is necessary to complete the process. */\nexport enum KnownRebootRequirement {\n /** It is not known whether a reboot is required. */\n Unknown = \"Unknown\",\n /** A reboot is required to complete the operation. */\n True = \"True\",\n /** No reboot is required after the operation. */\n False = \"False\",\n}\n\n/**\n * Indicates whether a reboot is required after the update or operation. Helps determine if a system restart is necessary to complete the process. \\\n * {@link KnownRebootRequirement} can be used interchangeably with RebootRequirement,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Unknown**: It is not known whether a reboot is required. \\\n * **True**: A reboot is required to complete the operation. \\\n * **False**: No reboot is required after the operation.\n */\nexport type RebootRequirement = string;\n\n/** Overall health state for update-specific health checks. Indicates whether the system is functioning correctly, has warnings or errors, or is undergoing a health evaluation. */\nexport enum KnownHealthState {\n /** The health state is not known or cannot be determined. */\n Unknown = \"Unknown\",\n /** The health check completed successfully and the system is healthy. */\n Success = \"Success\",\n /** The health check failed, indicating a critical issue. */\n Failure = \"Failure\",\n /** The health check detected a non-critical issue that may require attention. */\n Warning = \"Warning\",\n /** An error occurred during the health check process. */\n Error = \"Error\",\n /** The health check is currently in progress. */\n InProgress = \"InProgress\",\n}\n\n/**\n * Overall health state for update-specific health checks. Indicates whether the system is functioning correctly, has warnings or errors, or is undergoing a health evaluation. \\\n * {@link KnownHealthState} can be used interchangeably with HealthState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Unknown**: The health state is not known or cannot be determined. \\\n * **Success**: The health check completed successfully and the system is healthy. \\\n * **Failure**: The health check failed, indicating a critical issue. \\\n * **Warning**: The health check detected a non-critical issue that may require attention. \\\n * **Error**: An error occurred during the health check process. \\\n * **InProgress**: The health check is currently in progress.\n */\nexport type HealthState = string;\n\nexport function precheckResultArraySerializer(result: Array<PrecheckResult>): any[] {\n return result.map((item) => {\n return precheckResultSerializer(item);\n });\n}\n\nexport function precheckResultArrayDeserializer(result: Array<PrecheckResult>): any[] {\n return result.map((item) => {\n return precheckResultDeserializer(item);\n });\n}\n\n/** model interface PrecheckResult */\nexport interface PrecheckResult {\n /** Name of the individual test/rule/alert that was executed. Unique, not exposed to the customer. */\n name?: string;\n /** The health check DisplayName localized of the individual test executed. */\n displayName?: string;\n /** Key-value pairs that allow grouping/filtering individual tests. */\n tags?: PrecheckResultTags;\n /** Key-value pairs that allow grouping/filtering individual tests. */\n healthCheckTags?: any;\n /** User-facing name; one or more sentences indicating the direct issue. */\n title?: string;\n /** Represents the current status of the check being performed. Indicates whether the check has completed successfully, failed, or is still in progress. */\n status?: Status;\n /** Indicates the importance or impact level of the result. Determines whether the result is informational, a warning, or a critical issue that may block updates. */\n severity?: Severity;\n /** Detailed overview of the issue and what impact the issue has on the stamp. */\n description?: string;\n /** Set of steps that can be taken to resolve the issue found. */\n remediation?: string;\n /** The unique identifier for the affected resource (such as a node or drive). */\n targetResourceID?: string;\n /** The name of the affected resource. */\n targetResourceName?: string;\n /** The type of resource being referred to (well-known set of nouns in infrastructure, aligning with Monitoring). */\n targetResourceType?: string;\n /** The time in which the HealthCheck was called. */\n timestamp?: Date;\n /** Property bag of key value pairs for additional information. */\n additionalData?: string;\n /** The name of the services called for the HealthCheck (I.E. Test-AzureStack, Test-Cluster). */\n healthCheckSource?: string;\n}\n\nexport function precheckResultSerializer(item: PrecheckResult): any {\n return {\n name: item[\"name\"],\n displayName: item[\"displayName\"],\n tags: !item[\"tags\"] ? item[\"tags\"] : precheckResultTagsSerializer(item[\"tags\"]),\n healthCheckTags: item[\"healthCheckTags\"],\n title: item[\"title\"],\n status: item[\"status\"],\n severity: item[\"severity\"],\n description: item[\"description\"],\n remediation: item[\"remediation\"],\n targetResourceID: item[\"targetResourceID\"],\n targetResourceName: item[\"targetResourceName\"],\n targetResourceType: item[\"targetResourceType\"],\n timestamp: !item[\"timestamp\"] ? item[\"timestamp\"] : item[\"timestamp\"].toISOString(),\n additionalData: item[\"additionalData\"],\n healthCheckSource: item[\"healthCheckSource\"],\n };\n}\n\nexport function precheckResultDeserializer(item: any): PrecheckResult {\n return {\n name: item[\"name\"],\n displayName: item[\"displayName\"],\n tags: !item[\"tags\"] ? item[\"tags\"] : precheckResultTagsDeserializer(item[\"tags\"]),\n healthCheckTags: item[\"healthCheckTags\"],\n title: item[\"title\"],\n status: item[\"status\"],\n severity: item[\"severity\"],\n description: item[\"description\"],\n remediation: item[\"remediation\"],\n targetResourceID: item[\"targetResourceID\"],\n targetResourceName: item[\"targetResourceName\"],\n targetResourceType: item[\"targetResourceType\"],\n timestamp: !item[\"timestamp\"] ? item[\"timestamp\"] : new Date(item[\"timestamp\"]),\n additionalData: item[\"additionalData\"],\n healthCheckSource: item[\"healthCheckSource\"],\n };\n}\n\n/** Key-value pairs that allow grouping/filtering individual tests. */\nexport interface PrecheckResultTags {\n /** Key that allow grouping/filtering individual tests. */\n key?: string;\n /** Value of the key that allow grouping/filtering individual tests. */\n value?: string;\n}\n\nexport function precheckResultTagsSerializer(item: PrecheckResultTags): any {\n return { key: item[\"key\"], value: item[\"value\"] };\n}\n\nexport function precheckResultTagsDeserializer(item: any): PrecheckResultTags {\n return {\n key: item[\"key\"],\n value: item[\"value\"],\n };\n}\n\n/** Indicates the importance or impact level of the result. Determines whether the result is informational, a warning, or a critical issue that may block updates. */\nexport enum KnownSeverity {\n /** A critical issue that blocks updates and requires immediate attention. */\n Critical = \"Critical\",\n /** A warning that may indicate a potential issue but does not block updates. */\n Warning = \"Warning\",\n /** General information that does not indicate any issue. */\n Informational = \"Informational\",\n /** The result is hidden and not shown in the output. */\n Hidden = \"Hidden\",\n}\n\n/**\n * Indicates the importance or impact level of the result. Determines whether the result is informational, a warning, or a critical issue that may block updates. \\\n * {@link KnownSeverity} can be used interchangeably with Severity,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Critical**: A critical issue that blocks updates and requires immediate attention. \\\n * **Warning**: A warning that may indicate a potential issue but does not block updates. \\\n * **Informational**: General information that does not indicate any issue. \\\n * **Hidden**: The result is hidden and not shown in the output.\n */\nexport type Severity = string;\n\n/** Indicates how the update content is made available for download. This determines whether the update is sourced locally, from an online repository, or requires user notification. */\nexport enum KnownAvailabilityType {\n /** The update content is available locally within the environment. */\n Local = \"Local\",\n /** The update content is available from an online source. */\n Online = \"Online\",\n /** The system will notify the user when update content becomes available. */\n Notify = \"Notify\",\n}\n\n/**\n * Indicates how the update content is made available for download. This determines whether the update is sourced locally, from an online repository, or requires user notification. \\\n * {@link KnownAvailabilityType} can be used interchangeably with AvailabilityType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Local**: The update content is available locally within the environment. \\\n * **Online**: The update content is available from an online source. \\\n * **Notify**: The system will notify the user when update content becomes available.\n */\nexport type AvailabilityType = string;\n\n/** Additional information regarding the state of the update. See definition of UpdateStateProperties type below for more details on this property. */\nexport interface UpdateStateProperties {\n /** Progress percentage of ongoing operation. Currently this property is only valid when the update is in the Downloading state, where it maps to how much of the update content has been downloaded. */\n progressPercentage?: number;\n /** Brief message with instructions for updates of AvailabilityType Notify. */\n notifyMessage?: string;\n}\n\nexport function updateStatePropertiesSerializer(item: UpdateStateProperties): any {\n return { progressPercentage: item[\"progressPercentage\"], notifyMessage: item[\"notifyMessage\"] };\n}\n\nexport function updateStatePropertiesDeserializer(item: any): UpdateStateProperties {\n return {\n progressPercentage: item[\"progressPercentage\"],\n notifyMessage: item[\"notifyMessage\"],\n };\n}\n\n/** List of Updates */\nexport interface _UpdateList {\n /** The Update items on this page */\n value: Update[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _updateListDeserializer(item: any): _UpdateList {\n return {\n value: updateArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function updateArraySerializer(result: Array<Update>): any[] {\n return result.map((item) => {\n return updateSerializer(item);\n });\n}\n\nexport function updateArrayDeserializer(result: Array<Update>): any[] {\n return result.map((item) => {\n return updateDeserializer(item);\n });\n}\n\n/** Represents a validated solution recipe resource. */\nexport interface ValidatedSolutionRecipe extends ProxyResource {\n /** The resource-specific properties for this resource. */\n properties?: ValidatedSolutionRecipeProperties;\n}\n\nexport function validatedSolutionRecipeDeserializer(item: any): ValidatedSolutionRecipe {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : validatedSolutionRecipePropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/** Represents properties of a validated solution recipe resource. */\nexport interface ValidatedSolutionRecipeProperties {\n /** Represents contents of a validated solution recipe. */\n recipeContent: ValidatedSolutionRecipeContent;\n /** Represents the signature of the recipe, to be used for ensuring its integrity. */\n signature?: string;\n}\n\nexport function validatedSolutionRecipePropertiesDeserializer(\n item: any,\n): ValidatedSolutionRecipeProperties {\n return {\n recipeContent: validatedSolutionRecipeContentDeserializer(item[\"recipeContent\"]),\n signature: item[\"signature\"],\n };\n}\n\n/** Represents contents of a validated solution recipe resource. */\nexport interface ValidatedSolutionRecipeContent {\n /** Represents information about a validated solution recipe. */\n info: ValidatedSolutionRecipeInfo;\n /** Represents capabilities available in a validated solution recipe. */\n capabilities?: ValidatedSolutionRecipeCapabilities;\n /** Represents components available in a validated solution recipe. */\n components: ValidatedSolutionRecipeComponent[];\n}\n\nexport function validatedSolutionRecipeContentDeserializer(\n item: any,\n): ValidatedSolutionRecipeContent {\n return {\n info: validatedSolutionRecipeInfoDeserializer(item[\"info\"]),\n capabilities: !item[\"capabilities\"]\n ? item[\"capabilities\"]\n : validatedSolutionRecipeCapabilitiesDeserializer(item[\"capabilities\"]),\n components: validatedSolutionRecipeComponentArrayDeserializer(item[\"components\"]),\n };\n}\n\n/** Represents information about a validated solution recipe. */\nexport interface ValidatedSolutionRecipeInfo {\n /** Represents the solution type for which this validated solution recipe is applicable. */\n solutionType: string;\n /** Represents the version for which this validated solution recipe is applicable. */\n version: string;\n}\n\nexport function validatedSolutionRecipeInfoDeserializer(item: any): ValidatedSolutionRecipeInfo {\n return {\n solutionType: item[\"solutionType\"],\n version: item[\"version\"],\n };\n}\n\n/** Represents capabilities available in a validated solution recipe. */\nexport interface ValidatedSolutionRecipeCapabilities {\n /** Represents the cluster capabilities. */\n clusterCapabilities: ValidatedSolutionRecipeCapability[];\n /** Represents the node capabilities. */\n nodeCapabilities: ValidatedSolutionRecipeCapability[];\n}\n\nexport function validatedSolutionRecipeCapabilitiesDeserializer(\n item: any,\n): ValidatedSolutionRecipeCapabilities {\n return {\n clusterCapabilities: validatedSolutionRecipeCapabilityArrayDeserializer(\n item[\"clusterCapabilities\"],\n ),\n nodeCapabilities: validatedSolutionRecipeCapabilityArrayDeserializer(item[\"nodeCapabilities\"]),\n };\n}\n\nexport function validatedSolutionRecipeCapabilityArrayDeserializer(\n result: Array<ValidatedSolutionRecipeCapability>,\n): any[] {\n return result.map((item) => {\n return validatedSolutionRecipeCapabilityDeserializer(item);\n });\n}\n\n/** Represents capability available in a validated solution recipe. */\nexport interface ValidatedSolutionRecipeCapability {\n /** Represents the capability name. */\n capabilityName: string;\n}\n\nexport function validatedSolutionRecipeCapabilityDeserializer(\n item: any,\n): ValidatedSolutionRecipeCapability {\n return {\n capabilityName: item[\"capabilityName\"],\n };\n}\n\nexport function validatedSolutionRecipeComponentArrayDeserializer(\n result: Array<ValidatedSolutionRecipeComponent>,\n): any[] {\n return result.map((item) => {\n return validatedSolutionRecipeComponentDeserializer(item);\n });\n}\n\n/** Represents component available in a validated solution recipe. */\nexport interface ValidatedSolutionRecipeComponent {\n /** Represents the component's name. */\n name: string;\n /** Represents the component's type. */\n type: string;\n /** Represents the component's required version. */\n requiredVersion?: string;\n /** Represents the component's install order. */\n installOrder?: number;\n /** Represents the component's tags. */\n tags: string[];\n /** Represents the component's payloads. */\n payloads?: ValidatedSolutionRecipeComponentPayload[];\n /** Represents the component's metadata. */\n metadata?: ValidatedSolutionRecipeComponentMetadata;\n}\n\nexport function validatedSolutionRecipeComponentDeserializer(\n item: any,\n): ValidatedSolutionRecipeComponent {\n return {\n name: item[\"name\"],\n type: item[\"type\"],\n requiredVersion: item[\"requiredVersion\"],\n installOrder: item[\"installOrder\"],\n tags: item[\"tags\"].map((p: any) => {\n return p;\n }),\n payloads: !item[\"payloads\"]\n ? item[\"payloads\"]\n : validatedSolutionRecipeComponentPayloadArrayDeserializer(item[\"payloads\"]),\n metadata: !item[\"metadata\"]\n ? item[\"metadata\"]\n : validatedSolutionRecipeComponentMetadataDeserializer(item[\"metadata\"]),\n };\n}\n\nexport function validatedSolutionRecipeComponentPayloadArrayDeserializer(\n result: Array<ValidatedSolutionRecipeComponentPayload>,\n): any[] {\n return result.map((item) => {\n return validatedSolutionRecipeComponentPayloadDeserializer(item);\n });\n}\n\n/** Represents payloads associated with a component available in a validated solution recipe. */\nexport interface ValidatedSolutionRecipeComponentPayload {\n /** Represents the unique identifier of the payload used to query the URL. */\n identifier: string;\n /** Represents the cryptographic hash of the payload, ensuring data integrity. */\n hash: string;\n /** Represents the name of the file associated with the payload. */\n fileName: string;\n /** Represents the URL from which the payload can be downloaded. */\n url: string;\n}\n\nexport function validatedSolutionRecipeComponentPayloadDeserializer(\n item: any,\n): ValidatedSolutionRecipeComponentPayload {\n return {\n identifier: item[\"identifier\"],\n hash: item[\"hash\"],\n fileName: item[\"fileName\"],\n url: item[\"url\"],\n };\n}\n\n/** Represents metadata associated with a component available in a validated solution recipe. */\nexport interface ValidatedSolutionRecipeComponentMetadata {\n /** Represents the type of extension. */\n extensionType?: string;\n /** Represents the publisher of the extension. */\n publisher?: string;\n /** Indicates whether automatic upgrades of the extension are enabled. */\n enableAutomaticUpgrade?: boolean;\n /** Indicates whether the LCM (Lifecycle Management) update of the extension is enabled. */\n lcmUpdate?: boolean;\n /** Specifies the catalog to which the extension belongs. */\n catalog?: string;\n /** Specifies the ring to which the extension belongs, internally used by component. */\n ring?: string;\n /** Specifies the release train to which given component belongs. */\n releaseTrain?: string;\n /** Specifies the link associated with the extension. */\n link?: string;\n /** Specifies the name of the extension. */\n name?: string;\n /** Specifies the expected hash of the extension. */\n expectedHash?: string;\n /** Specifies the preview source of the extension. */\n previewSource?: string;\n}\n\nexport function validatedSolutionRecipeComponentMetadataDeserializer(\n item: any,\n): ValidatedSolutionRecipeComponentMetadata {\n return {\n extensionType: item[\"extensionType\"],\n publisher: item[\"publisher\"],\n enableAutomaticUpgrade: item[\"enableAutomaticUpgrade\"],\n lcmUpdate: item[\"lcmUpdate\"],\n catalog: item[\"catalog\"],\n ring: item[\"ring\"],\n releaseTrain: item[\"releaseTrain\"],\n link: item[\"link\"],\n name: item[\"name\"],\n expectedHash: item[\"expectedHash\"],\n previewSource: item[\"previewSource\"],\n };\n}\n\n/** The response of a ValidatedSolutionRecipe list operation. */\nexport interface _ValidatedSolutionRecipeListResult {\n /** The ValidatedSolutionRecipe items on this page */\n value: ValidatedSolutionRecipe[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _validatedSolutionRecipeListResultDeserializer(\n item: any,\n): _ValidatedSolutionRecipeListResult {\n return {\n value: validatedSolutionRecipeArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function validatedSolutionRecipeArrayDeserializer(\n result: Array<ValidatedSolutionRecipe>,\n): any[] {\n return result.map((item) => {\n return validatedSolutionRecipeDeserializer(item);\n });\n}\n\n/** Get the update summaries for the cluster */\nexport interface UpdateSummaries extends ProxyResource {\n /** The geo-location where the resource lives */\n location?: string;\n /** Provisioning state of the UpdateSummaries proxy resource. Indicates the current lifecycle status of the update summary operation, such as whether it has been accepted, is in progress, or has completed. */\n readonly provisioningState?: ProvisioningState;\n /** OEM family name. */\n oemFamily?: string;\n /** Current OEM Version. */\n currentOemVersion?: string;\n /** Name of the hardware model. */\n hardwareModel?: string;\n /** Current version of each updatable component. */\n packageVersions?: PackageVersionInfo[];\n /** Current Solution Bundle version of the stamp. */\n currentVersion?: string;\n /** Current Sbe version of the stamp. */\n currentSbeVersion?: string;\n /** Last time an update installation completed successfully. */\n lastUpdated?: Date;\n /** Last time the update service successfully checked for updates */\n lastChecked?: Date;\n /** Overall health state for update-specific health checks. */\n healthState?: HealthState;\n /** An array of pre-check result objects. */\n healthCheckResult?: PrecheckResult[];\n /** Last time the package-specific checks were run. */\n healthCheckDate?: Date;\n /** Overall update state of the stamp. Indicates the current status of update deployment across the stamp, including preparation, application, and any issues encountered. */\n state?: UpdateSummariesPropertiesState;\n}\n\nexport function updateSummariesSerializer(item: UpdateSummaries): any {\n return {\n properties: areAllPropsUndefined(item, [\n \"oemFamily\",\n \"currentOemVersion\",\n \"hardwareModel\",\n \"packageVersions\",\n \"currentVersion\",\n \"currentSbeVersion\",\n \"lastUpdated\",\n \"lastChecked\",\n \"healthState\",\n \"healthCheckResult\",\n \"healthCheckDate\",\n \"state\",\n ])\n ? undefined\n : _updateSummariesPropertiesSerializer(item),\n location: item[\"location\"],\n };\n}\n\nexport function updateSummariesDeserializer(item: any): UpdateSummaries {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _updateSummariesPropertiesDeserializer(item[\"properties\"])),\n location: item[\"location\"],\n };\n}\n\n/** Properties of Update summaries */\nexport interface UpdateSummariesProperties {\n /** Provisioning state of the UpdateSummaries proxy resource. Indicates the current lifecycle status of the update summary operation, such as whether it has been accepted, is in progress, or has completed. */\n readonly provisioningState?: ProvisioningState;\n /** OEM family name. */\n oemFamily?: string;\n /** Current OEM Version. */\n currentOemVersion?: string;\n /** Name of the hardware model. */\n hardwareModel?: string;\n /** Current version of each updatable component. */\n packageVersions?: PackageVersionInfo[];\n /** Current Solution Bundle version of the stamp. */\n currentVersion?: string;\n /** Current Sbe version of the stamp. */\n currentSbeVersion?: string;\n /** Last time an update installation completed successfully. */\n lastUpdated?: Date;\n /** Last time the update service successfully checked for updates */\n lastChecked?: Date;\n /** Overall health state for update-specific health checks. */\n healthState?: HealthState;\n /** An array of pre-check result objects. */\n healthCheckResult?: PrecheckResult[];\n /** Last time the package-specific checks were run. */\n healthCheckDate?: Date;\n /** Overall update state of the stamp. Indicates the current status of update deployment across the stamp, including preparation, application, and any issues encountered. */\n state?: UpdateSummariesPropertiesState;\n}\n\nexport function updateSummariesPropertiesSerializer(item: UpdateSummariesProperties): any {\n return {\n oemFamily: item[\"oemFamily\"],\n currentOemVersion: item[\"currentOemVersion\"],\n hardwareModel: item[\"hardwareModel\"],\n packageVersions: !item[\"packageVersions\"]\n ? item[\"packageVersions\"]\n : packageVersionInfoArraySerializer(item[\"packageVersions\"]),\n currentVersion: item[\"currentVersion\"],\n currentSbeVersion: item[\"currentSbeVersion\"],\n lastUpdated: !item[\"lastUpdated\"] ? item[\"lastUpdated\"] : item[\"lastUpdated\"].toISOString(),\n lastChecked: !item[\"lastChecked\"] ? item[\"lastChecked\"] : item[\"lastChecked\"].toISOString(),\n healthState: item[\"healthState\"],\n healthCheckResult: !item[\"healthCheckResult\"]\n ? item[\"healthCheckResult\"]\n : precheckResultArraySerializer(item[\"healthCheckResult\"]),\n healthCheckDate: !item[\"healthCheckDate\"]\n ? item[\"healthCheckDate\"]\n : item[\"healthCheckDate\"].toISOString(),\n state: item[\"state\"],\n };\n}\n\nexport function updateSummariesPropertiesDeserializer(item: any): UpdateSummariesProperties {\n return {\n provisioningState: item[\"provisioningState\"],\n oemFamily: item[\"oemFamily\"],\n currentOemVersion: item[\"currentOemVersion\"],\n hardwareModel: item[\"hardwareModel\"],\n packageVersions: !item[\"packageVersions\"]\n ? item[\"packageVersions\"]\n : packageVersionInfoArrayDeserializer(item[\"packageVersions\"]),\n currentVersion: item[\"currentVersion\"],\n currentSbeVersion: item[\"currentSbeVersion\"],\n lastUpdated: !item[\"lastUpdated\"] ? item[\"lastUpdated\"] : new Date(item[\"lastUpdated\"]),\n lastChecked: !item[\"lastChecked\"] ? item[\"lastChecked\"] : new Date(item[\"lastChecked\"]),\n healthState: item[\"healthState\"],\n healthCheckResult: !item[\"healthCheckResult\"]\n ? item[\"healthCheckResult\"]\n : precheckResultArrayDeserializer(item[\"healthCheckResult\"]),\n healthCheckDate: !item[\"healthCheckDate\"]\n ? item[\"healthCheckDate\"]\n : new Date(item[\"healthCheckDate\"]),\n state: item[\"state\"],\n };\n}\n\n/** Overall update state of the stamp. Indicates the current status of update deployment across the stamp, including preparation, application, and any issues encountered. */\nexport enum KnownUpdateSummariesPropertiesState {\n /** The update state is not known. */\n Unknown = \"Unknown\",\n /** Updates have been successfully applied to the stamp. */\n AppliedSuccessfully = \"AppliedSuccessfully\",\n /** Updates are available but have not yet been applied. */\n UpdateAvailable = \"UpdateAvailable\",\n /** Updates are currently being applied to the stamp. */\n UpdateInProgress = \"UpdateInProgress\",\n /** The update process failed. */\n UpdateFailed = \"UpdateFailed\",\n /** The update process requires user intervention or has encountered issues needing attention. */\n NeedsAttention = \"NeedsAttention\",\n /** Preparation for the update is currently in progress. */\n PreparationInProgress = \"PreparationInProgress\",\n /** Preparation for the update failed. */\n PreparationFailed = \"PreparationFailed\",\n}\n\n/**\n * Overall update state of the stamp. Indicates the current status of update deployment across the stamp, including preparation, application, and any issues encountered. \\\n * {@link KnownUpdateSummariesPropertiesState} can be used interchangeably with UpdateSummariesPropertiesState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Unknown**: The update state is not known. \\\n * **AppliedSuccessfully**: Updates have been successfully applied to the stamp. \\\n * **UpdateAvailable**: Updates are available but have not yet been applied. \\\n * **UpdateInProgress**: Updates are currently being applied to the stamp. \\\n * **UpdateFailed**: The update process failed. \\\n * **NeedsAttention**: The update process requires user intervention or has encountered issues needing attention. \\\n * **PreparationInProgress**: Preparation for the update is currently in progress. \\\n * **PreparationFailed**: Preparation for the update failed.\n */\nexport type UpdateSummariesPropertiesState = string;\n\n/** List of Update Summaries */\nexport interface _UpdateSummariesList {\n /** The UpdateSummaries items on this page */\n value: UpdateSummaries[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _updateSummariesListDeserializer(item: any): _UpdateSummariesList {\n return {\n value: updateSummariesArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function updateSummariesArraySerializer(result: Array<UpdateSummaries>): any[] {\n return result.map((item) => {\n return updateSummariesSerializer(item);\n });\n}\n\nexport function updateSummariesArrayDeserializer(result: Array<UpdateSummaries>): any[] {\n return result.map((item) => {\n return updateSummariesDeserializer(item);\n });\n}\n\n/** The available API versions. */\nexport enum KnownVersions {\n /** The 2026-02-01 API version. */\n V20260201 = \"2026-02-01\",\n}\n\nexport function _arcSettingPropertiesSerializer(item: ArcSetting): any {\n return {\n arcInstanceResourceGroup: item[\"arcInstanceResourceGroup\"],\n arcApplicationClientId: item[\"arcApplicationClientId\"],\n arcApplicationTenantId: item[\"arcApplicationTenantId\"],\n arcServicePrincipalObjectId: item[\"arcServicePrincipalObjectId\"],\n arcApplicationObjectId: item[\"arcApplicationObjectId\"],\n connectivityProperties: !item[\"connectivityProperties\"]\n ? item[\"connectivityProperties\"]\n : arcConnectivityPropertiesSerializer(item[\"connectivityProperties\"]),\n };\n}\n\nexport function _arcSettingPropertiesDeserializer(item: any) {\n return {\n provisioningState: item[\"provisioningState\"],\n arcInstanceResourceGroup: item[\"arcInstanceResourceGroup\"],\n arcApplicationClientId: item[\"arcApplicationClientId\"],\n arcApplicationTenantId: item[\"arcApplicationTenantId\"],\n arcServicePrincipalObjectId: item[\"arcServicePrincipalObjectId\"],\n arcApplicationObjectId: item[\"arcApplicationObjectId\"],\n aggregateState: item[\"aggregateState\"],\n perNodeDetails: !item[\"perNodeDetails\"]\n ? item[\"perNodeDetails\"]\n : perNodeStateArrayDeserializer(item[\"perNodeDetails\"]),\n connectivityProperties: !item[\"connectivityProperties\"]\n ? item[\"connectivityProperties\"]\n : arcConnectivityPropertiesDeserializer(item[\"connectivityProperties\"]),\n defaultExtensions: !item[\"defaultExtensions\"]\n ? item[\"defaultExtensions\"]\n : defaultExtensionDetailsArrayDeserializer(item[\"defaultExtensions\"]),\n };\n}\n\nexport function _arcSettingsPatchPropertiesSerializer(item: ArcSettingsPatch): any {\n return {\n connectivityProperties: !item[\"connectivityProperties\"]\n ? item[\"connectivityProperties\"]\n : arcConnectivityPropertiesSerializer(item[\"connectivityProperties\"]),\n };\n}\n\nexport function _arcIdentityResponsePropertiesDeserializer(item: any) {\n return {\n arcApplicationClientId: item[\"arcApplicationClientId\"],\n arcApplicationTenantId: item[\"arcApplicationTenantId\"],\n arcServicePrincipalObjectId: item[\"arcServicePrincipalObjectId\"],\n arcApplicationObjectId: item[\"arcApplicationObjectId\"],\n };\n}\n\nexport function _offerPropertiesDeserializer(item: any) {\n return {\n provisioningState: item[\"provisioningState\"],\n publisherId: item[\"publisherId\"],\n content: item[\"content\"],\n contentVersion: item[\"contentVersion\"],\n skuMappings: !item[\"skuMappings\"]\n ? item[\"skuMappings\"]\n : skuMappingsArrayDeserializer(item[\"skuMappings\"]),\n };\n}\n\nexport function _clusterPropertiesSerializer(item: Cluster): any {\n return {\n cloudManagementEndpoint: item[\"cloudManagementEndpoint\"],\n aadClientId: item[\"aadClientId\"],\n aadTenantId: item[\"aadTenantId\"],\n aadApplicationObjectId: item[\"aadApplicationObjectId\"],\n aadServicePrincipalObjectId: item[\"aadServicePrincipalObjectId\"],\n softwareAssuranceProperties: !item[\"softwareAssuranceProperties\"]\n ? item[\"softwareAssuranceProperties\"]\n : softwareAssurancePropertiesSerializer(item[\"softwareAssuranceProperties\"]),\n logCollectionProperties: !item[\"logCollectionProperties\"]\n ? item[\"logCollectionProperties\"]\n : logCollectionPropertiesSerializer(item[\"logCollectionProperties\"]),\n remoteSupportProperties: !item[\"remoteSupportProperties\"]\n ? item[\"remoteSupportProperties\"]\n : remoteSupportPropertiesSerializer(item[\"remoteSupportProperties\"]),\n desiredProperties: !item[\"desiredProperties\"]\n ? item[\"desiredProperties\"]\n : clusterDesiredPropertiesSerializer(item[\"desiredProperties\"]),\n secretsLocations: !item[\"secretsLocations\"]\n ? item[\"secretsLocations\"]\n : secretsLocationDetailsArraySerializer(item[\"secretsLocations\"]),\n localAvailabilityZones: !item[\"localAvailabilityZones\"]\n ? item[\"localAvailabilityZones\"]\n : localAvailabilityZonesArraySerializer(item[\"localAvailabilityZones\"]),\n };\n}\n\nexport function _clusterPropertiesDeserializer(item: any) {\n return {\n provisioningState: item[\"provisioningState\"],\n status: item[\"status\"],\n connectivityStatus: item[\"connectivityStatus\"],\n cloudId: item[\"cloudId\"],\n cloudManagementEndpoint: item[\"cloudManagementEndpoint\"],\n aadClientId: item[\"aadClientId\"],\n aadTenantId: item[\"aadTenantId\"],\n aadApplicationObjectId: item[\"aadApplicationObjectId\"],\n aadServicePrincipalObjectId: item[\"aadServicePrincipalObjectId\"],\n softwareAssuranceProperties: !item[\"softwareAssuranceProperties\"]\n ? item[\"softwareAssuranceProperties\"]\n : softwareAssurancePropertiesDeserializer(item[\"softwareAssuranceProperties\"]),\n isManagementCluster: item[\"isManagementCluster\"],\n logCollectionProperties: !item[\"logCollectionProperties\"]\n ? item[\"logCollectionProperties\"]\n : logCollectionPropertiesDeserializer(item[\"logCollectionProperties\"]),\n remoteSupportProperties: !item[\"remoteSupportProperties\"]\n ? item[\"remoteSupportProperties\"]\n : remoteSupportPropertiesDeserializer(item[\"remoteSupportProperties\"]),\n desiredProperties: !item[\"desiredProperties\"]\n ? item[\"desiredProperties\"]\n : clusterDesiredPropertiesDeserializer(item[\"desiredProperties\"]),\n reportedProperties: !item[\"reportedProperties\"]\n ? item[\"reportedProperties\"]\n : clusterReportedPropertiesDeserializer(item[\"reportedProperties\"]),\n isolatedVmAttestationConfiguration: !item[\"isolatedVmAttestationConfiguration\"]\n ? item[\"isolatedVmAttestationConfiguration\"]\n : isolatedVmAttestationConfigurationDeserializer(item[\"isolatedVmAttestationConfiguration\"]),\n trialDaysRemaining: item[\"trialDaysRemaining\"],\n billingModel: item[\"billingModel\"],\n registrationTimestamp: !item[\"registrationTimestamp\"]\n ? item[\"registrationTimestamp\"]\n : new Date(item[\"registrationTimestamp\"]),\n lastSyncTimestamp: !item[\"lastSyncTimestamp\"]\n ? item[\"lastSyncTimestamp\"]\n : new Date(item[\"lastSyncTimestamp\"]),\n lastBillingTimestamp: !item[\"lastBillingTimestamp\"]\n ? item[\"lastBillingTimestamp\"]\n : new Date(item[\"lastBillingTimestamp\"]),\n serviceEndpoint: item[\"serviceEndpoint\"],\n resourceProviderObjectId: item[\"resourceProviderObjectId\"],\n secretsLocations: !item[\"secretsLocations\"]\n ? item[\"secretsLocations\"]\n : secretsLocationDetailsArrayDeserializer(item[\"secretsLocations\"]),\n clusterPattern: item[\"clusterPattern\"],\n localAvailabilityZones: !item[\"localAvailabilityZones\"]\n ? item[\"localAvailabilityZones\"]\n : localAvailabilityZonesArrayDeserializer(item[\"localAvailabilityZones\"]),\n identityProvider: item[\"identityProvider\"],\n };\n}\n\nexport function _clusterIdentitySerializer(item: Cluster): any {\n return { type: item[\"typeIdentityType\"], userAssignedIdentities: item[\"userAssignedIdentities\"] };\n}\n\nexport function _clusterIdentityDeserializer(item: any) {\n return {\n principalId: item[\"principalId\"],\n tenantId: item[\"tenantId\"],\n typeIdentityType: item[\"type\"],\n userAssignedIdentities: !item[\"userAssignedIdentities\"]\n ? item[\"userAssignedIdentities\"]\n : Object.fromEntries(\n Object.entries(item[\"userAssignedIdentities\"]).map(([k, p]: [string, any]) => [\n k,\n !p ? p : userAssignedIdentityDeserializer(p),\n ]),\n ),\n };\n}\n\nexport function _clusterPatchIdentitySerializer(item: ClusterPatch): any {\n return { type: item[\"type\"], userAssignedIdentities: item[\"userAssignedIdentities\"] };\n}\n\nexport function _clusterPatchIdentityDeserializer(item: any) {\n return {\n principalId: item[\"principalId\"],\n tenantId: item[\"tenantId\"],\n type: item[\"type\"],\n userAssignedIdentities: !item[\"userAssignedIdentities\"]\n ? item[\"userAssignedIdentities\"]\n : Object.fromEntries(\n Object.entries(item[\"userAssignedIdentities\"]).map(([k, p]: [string, any]) => [\n k,\n !p ? p : userAssignedIdentityDeserializer(p),\n ]),\n ),\n };\n}\n\nexport function _clusterPatchPropertiesSerializer(item: ClusterPatch): any {\n return {\n cloudManagementEndpoint: item[\"cloudManagementEndpoint\"],\n aadClientId: item[\"aadClientId\"],\n aadTenantId: item[\"aadTenantId\"],\n desiredProperties: !item[\"desiredProperties\"]\n ? item[\"desiredProperties\"]\n : clusterDesiredPropertiesSerializer(item[\"desiredProperties\"]),\n };\n}\n\nexport function _clusterIdentityResponsePropertiesDeserializer(item: any) {\n return {\n aadClientId: item[\"aadClientId\"],\n aadTenantId: item[\"aadTenantId\"],\n aadServicePrincipalObjectId: item[\"aadServicePrincipalObjectId\"],\n aadApplicationObjectId: item[\"aadApplicationObjectId\"],\n };\n}\n\nexport function _deploymentSettingPropertiesSerializer(item: DeploymentSetting): any {\n return {\n arcNodeResourceIds: !item[\"arcNodeResourceIds\"]\n ? item[\"arcNodeResourceIds\"]\n : item[\"arcNodeResourceIds\"].map((p: any) => {\n return p;\n }),\n deploymentMode: item[\"deploymentMode\"],\n operationType: item[\"operationType\"],\n deploymentConfiguration: !item[\"deploymentConfiguration\"]\n ? item[\"deploymentConfiguration\"]\n : deploymentConfigurationSerializer(item[\"deploymentConfiguration\"]),\n };\n}\n\nexport function _deploymentSettingPropertiesDeserializer(item: any) {\n return {\n provisioningState: item[\"provisioningState\"],\n arcNodeResourceIds: !item[\"arcNodeResourceIds\"]\n ? item[\"arcNodeResourceIds\"]\n : item[\"arcNodeResourceIds\"].map((p: any) => {\n return p;\n }),\n deploymentMode: item[\"deploymentMode\"],\n operationType: item[\"operationType\"],\n deploymentConfiguration: !item[\"deploymentConfiguration\"]\n ? item[\"deploymentConfiguration\"]\n : deploymentConfigurationDeserializer(item[\"deploymentConfiguration\"]),\n reportedProperties: !item[\"reportedProperties\"]\n ? item[\"reportedProperties\"]\n : eceReportedPropertiesDeserializer(item[\"reportedProperties\"]),\n };\n}\n\nexport function _extensionPropertiesExtensionParametersSerializer(item: ExtensionProperties): any {\n return {\n forceUpdateTag: item[\"forceUpdateTag\"],\n publisher: item[\"publisher\"],\n type: item[\"type\"],\n typeHandlerVersion: item[\"typeHandlerVersion\"],\n autoUpgradeMinorVersion: item[\"autoUpgradeMinorVersion\"],\n settings: item[\"settings\"],\n protectedSettings: item[\"protectedSettings\"],\n enableAutomaticUpgrade: item[\"enableAutomaticUpgrade\"],\n };\n}\n\nexport function _extensionPropertiesExtensionParametersDeserializer(item: any) {\n return {\n forceUpdateTag: item[\"forceUpdateTag\"],\n publisher: item[\"publisher\"],\n type: item[\"type\"],\n typeHandlerVersion: item[\"typeHandlerVersion\"],\n autoUpgradeMinorVersion: item[\"autoUpgradeMinorVersion\"],\n settings: item[\"settings\"],\n protectedSettings: item[\"protectedSettings\"],\n enableAutomaticUpgrade: item[\"enableAutomaticUpgrade\"],\n };\n}\n\nexport function _extensionPropertiesSerializer(item: Extension): any {\n return {\n extensionParameters: !item[\"extensionParameters\"]\n ? item[\"extensionParameters\"]\n : extensionParametersSerializer(item[\"extensionParameters\"]),\n };\n}\n\nexport function _extensionPropertiesDeserializer(item: any) {\n return {\n provisioningState: item[\"provisioningState\"],\n extensionParameters: !item[\"extensionParameters\"]\n ? item[\"extensionParameters\"]\n : extensionParametersDeserializer(item[\"extensionParameters\"]),\n aggregateState: item[\"aggregateState\"],\n perNodeExtensionDetails: !item[\"perNodeExtensionDetails\"]\n ? item[\"perNodeExtensionDetails\"]\n : perNodeExtensionStateArrayDeserializer(item[\"perNodeExtensionDetails\"]),\n managedBy: item[\"managedBy\"],\n };\n}\n\nexport function _extensionPatchPropertiesSerializer(item: ExtensionPatch): any {\n return {\n extensionParameters: !item[\"extensionParameters\"]\n ? item[\"extensionParameters\"]\n : extensionPatchParametersSerializer(item[\"extensionParameters\"]),\n };\n}\n\nexport function _securitySettingPropertiesSerializer(item: SecuritySetting): any {\n return {\n securedCoreComplianceAssignment: item[\"securedCoreComplianceAssignment\"],\n wdacComplianceAssignment: item[\"wdacComplianceAssignment\"],\n smbEncryptionForIntraClusterTrafficComplianceAssignment:\n item[\"smbEncryptionForIntraClusterTrafficComplianceAssignment\"],\n };\n}\n\nexport function _securitySettingPropertiesDeserializer(item: any) {\n return {\n securedCoreComplianceAssignment: item[\"securedCoreComplianceAssignment\"],\n wdacComplianceAssignment: item[\"wdacComplianceAssignment\"],\n smbEncryptionForIntraClusterTrafficComplianceAssignment:\n item[\"smbEncryptionForIntraClusterTrafficComplianceAssignment\"],\n securityComplianceStatus: !item[\"securityComplianceStatus\"]\n ? item[\"securityComplianceStatus\"]\n : securityComplianceStatusDeserializer(item[\"securityComplianceStatus\"]),\n provisioningState: item[\"provisioningState\"],\n };\n}\n\nexport function _skuPropertiesDeserializer(item: any) {\n return {\n provisioningState: item[\"provisioningState\"],\n publisherId: item[\"publisherId\"],\n offerId: item[\"offerId\"],\n content: item[\"content\"],\n contentVersion: item[\"contentVersion\"],\n skuMappings: !item[\"skuMappings\"]\n ? item[\"skuMappings\"]\n : skuMappingsArrayDeserializer(item[\"skuMappings\"]),\n };\n}\n\nexport function _updateRunPropertiesProgressSerializer(item: UpdateRunProperties): any {\n return {\n name: item[\"name\"],\n description: item[\"description\"],\n errorMessage: item[\"errorMessage\"],\n status: item[\"status\"],\n startTimeUtc: !item[\"startTimeUtc\"] ? item[\"startTimeUtc\"] : item[\"startTimeUtc\"].toISOString(),\n endTimeUtc: !item[\"endTimeUtc\"] ? item[\"endTimeUtc\"] : item[\"endTimeUtc\"].toISOString(),\n lastUpdatedTimeUtc: !item[\"lastUpdatedTimeUtc\"]\n ? item[\"lastUpdatedTimeUtc\"]\n : item[\"lastUpdatedTimeUtc\"].toISOString(),\n expectedExecutionTime: item[\"expectedExecutionTime\"],\n steps: !item[\"steps\"] ? item[\"steps\"] : stepArraySerializer(item[\"steps\"]),\n };\n}\n\nexport function _updateRunPropertiesProgressDeserializer(item: any) {\n return {\n name: item[\"name\"],\n description: item[\"description\"],\n errorMessage: item[\"errorMessage\"],\n status: item[\"status\"],\n startTimeUtc: !item[\"startTimeUtc\"] ? item[\"startTimeUtc\"] : new Date(item[\"startTimeUtc\"]),\n endTimeUtc: !item[\"endTimeUtc\"] ? item[\"endTimeUtc\"] : new Date(item[\"endTimeUtc\"]),\n lastUpdatedTimeUtc: !item[\"lastUpdatedTimeUtc\"]\n ? item[\"lastUpdatedTimeUtc\"]\n : new Date(item[\"lastUpdatedTimeUtc\"]),\n expectedExecutionTime: item[\"expectedExecutionTime\"],\n steps: !item[\"steps\"] ? item[\"steps\"] : stepArrayDeserializer(item[\"steps\"]),\n };\n}\n\nexport function _updateRunPropertiesSerializer(item: UpdateRun): any {\n return {\n timeStarted: !item[\"timeStarted\"] ? item[\"timeStarted\"] : item[\"timeStarted\"].toISOString(),\n lastUpdatedTime: !item[\"lastUpdatedTime\"]\n ? item[\"lastUpdatedTime\"]\n : item[\"lastUpdatedTime\"].toISOString(),\n duration: item[\"duration\"],\n state: item[\"state\"],\n progress: !item[\"progress\"] ? item[\"progress\"] : stepSerializer(item[\"progress\"]),\n };\n}\n\nexport function _updateRunPropertiesDeserializer(item: any) {\n return {\n provisioningState: item[\"provisioningState\"],\n timeStarted: !item[\"timeStarted\"] ? item[\"timeStarted\"] : new Date(item[\"timeStarted\"]),\n lastUpdatedTime: !item[\"lastUpdatedTime\"]\n ? item[\"lastUpdatedTime\"]\n : new Date(item[\"lastUpdatedTime\"]),\n duration: item[\"duration\"],\n state: item[\"state\"],\n progress: !item[\"progress\"] ? item[\"progress\"] : stepDeserializer(item[\"progress\"]),\n };\n}\n\nexport function _updatePropertiesUpdateStatePropertiesSerializer(item: UpdateProperties): any {\n return { progressPercentage: item[\"progressPercentage\"], notifyMessage: item[\"notifyMessage\"] };\n}\n\nexport function _updatePropertiesUpdateStatePropertiesDeserializer(item: any) {\n return {\n progressPercentage: item[\"progressPercentage\"],\n notifyMessage: item[\"notifyMessage\"],\n };\n}\n\nexport function _updatePropertiesSerializer(item: Update): any {\n return {\n installedDate: !item[\"installedDate\"]\n ? item[\"installedDate\"]\n : item[\"installedDate\"].toISOString(),\n description: item[\"description\"],\n minSbeVersionRequired: item[\"minSbeVersionRequired\"],\n state: item[\"state\"],\n prerequisites: !item[\"prerequisites\"]\n ? item[\"prerequisites\"]\n : updatePrerequisiteArraySerializer(item[\"prerequisites\"]),\n componentVersions: !item[\"componentVersions\"]\n ? item[\"componentVersions\"]\n : packageVersionInfoArraySerializer(item[\"componentVersions\"]),\n rebootRequired: item[\"rebootRequired\"],\n healthState: item[\"healthState\"],\n healthCheckResult: !item[\"healthCheckResult\"]\n ? item[\"healthCheckResult\"]\n : precheckResultArraySerializer(item[\"healthCheckResult\"]),\n healthCheckDate: !item[\"healthCheckDate\"]\n ? item[\"healthCheckDate\"]\n : item[\"healthCheckDate\"].toISOString(),\n packagePath: item[\"packagePath\"],\n packageSizeInMb: item[\"packageSizeInMb\"],\n displayName: item[\"displayName\"],\n version: item[\"version\"],\n publisher: item[\"publisher\"],\n releaseLink: item[\"releaseLink\"],\n availabilityType: item[\"availabilityType\"],\n packageType: item[\"packageType\"],\n additionalProperties: item[\"additionalProperties\"],\n updateStateProperties: !item[\"updateStateProperties\"]\n ? item[\"updateStateProperties\"]\n : updateStatePropertiesSerializer(item[\"updateStateProperties\"]),\n };\n}\n\nexport function _updatePropertiesDeserializer(item: any) {\n return {\n provisioningState: item[\"provisioningState\"],\n installedDate: !item[\"installedDate\"] ? item[\"installedDate\"] : new Date(item[\"installedDate\"]),\n description: item[\"description\"],\n minSbeVersionRequired: item[\"minSbeVersionRequired\"],\n state: item[\"state\"],\n prerequisites: !item[\"prerequisites\"]\n ? item[\"prerequisites\"]\n : updatePrerequisiteArrayDeserializer(item[\"prerequisites\"]),\n componentVersions: !item[\"componentVersions\"]\n ? item[\"componentVersions\"]\n : packageVersionInfoArrayDeserializer(item[\"componentVersions\"]),\n rebootRequired: item[\"rebootRequired\"],\n healthState: item[\"healthState\"],\n healthCheckResult: !item[\"healthCheckResult\"]\n ? item[\"healthCheckResult\"]\n : precheckResultArrayDeserializer(item[\"healthCheckResult\"]),\n healthCheckDate: !item[\"healthCheckDate\"]\n ? item[\"healthCheckDate\"]\n : new Date(item[\"healthCheckDate\"]),\n packagePath: item[\"packagePath\"],\n packageSizeInMb: item[\"packageSizeInMb\"],\n displayName: item[\"displayName\"],\n version: item[\"version\"],\n publisher: item[\"publisher\"],\n releaseLink: item[\"releaseLink\"],\n availabilityType: item[\"availabilityType\"],\n packageType: item[\"packageType\"],\n additionalProperties: item[\"additionalProperties\"],\n updateStateProperties: !item[\"updateStateProperties\"]\n ? item[\"updateStateProperties\"]\n : updateStatePropertiesDeserializer(item[\"updateStateProperties\"]),\n };\n}\n\nexport function _updateSummariesPropertiesSerializer(item: UpdateSummaries): any {\n return {\n oemFamily: item[\"oemFamily\"],\n currentOemVersion: item[\"currentOemVersion\"],\n hardwareModel: item[\"hardwareModel\"],\n packageVersions: !item[\"packageVersions\"]\n ? item[\"packageVersions\"]\n : packageVersionInfoArraySerializer(item[\"packageVersions\"]),\n currentVersion: item[\"currentVersion\"],\n currentSbeVersion: item[\"currentSbeVersion\"],\n lastUpdated: !item[\"lastUpdated\"] ? item[\"lastUpdated\"] : item[\"lastUpdated\"].toISOString(),\n lastChecked: !item[\"lastChecked\"] ? item[\"lastChecked\"] : item[\"lastChecked\"].toISOString(),\n healthState: item[\"healthState\"],\n healthCheckResult: !item[\"healthCheckResult\"]\n ? item[\"healthCheckResult\"]\n : precheckResultArraySerializer(item[\"healthCheckResult\"]),\n healthCheckDate: !item[\"healthCheckDate\"]\n ? item[\"healthCheckDate\"]\n : item[\"healthCheckDate\"].toISOString(),\n state: item[\"state\"],\n };\n}\n\nexport function _updateSummariesPropertiesDeserializer(item: any) {\n return {\n provisioningState: item[\"provisioningState\"],\n oemFamily: item[\"oemFamily\"],\n currentOemVersion: item[\"currentOemVersion\"],\n hardwareModel: item[\"hardwareModel\"],\n packageVersions: !item[\"packageVersions\"]\n ? item[\"packageVersions\"]\n : packageVersionInfoArrayDeserializer(item[\"packageVersions\"]),\n currentVersion: item[\"currentVersion\"],\n currentSbeVersion: item[\"currentSbeVersion\"],\n lastUpdated: !item[\"lastUpdated\"] ? item[\"lastUpdated\"] : new Date(item[\"lastUpdated\"]),\n lastChecked: !item[\"lastChecked\"] ? item[\"lastChecked\"] : new Date(item[\"lastChecked\"]),\n healthState: item[\"healthState\"],\n healthCheckResult: !item[\"healthCheckResult\"]\n ? item[\"healthCheckResult\"]\n : precheckResultArrayDeserializer(item[\"healthCheckResult\"]),\n healthCheckDate: !item[\"healthCheckDate\"]\n ? item[\"healthCheckDate\"]\n : new Date(item[\"healthCheckDate\"]),\n state: item[\"state\"],\n };\n}\n"]}
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../../../src/models/models.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,oBAAoB,EAAE,MAAM,yDAAyD,CAAC;AAgB/F,MAAM,UAAU,wCAAwC,CAAC,IAAS;IAChE,OAAO;QACL,KAAK,EAAE,kCAAkC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxD,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;KAC3B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kCAAkC,CAAC,MAAgC;IACjF,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,6BAA6B,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;AACL,CAAC;AAQD,MAAM,UAAU,6BAA6B,CAAC,IAAS;IACrD,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC;QACd,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;YAC7B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC9C,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;YAC7B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,uCAAuC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KAChE,CAAC;AACJ,CAAC;AAQD,MAAM,UAAU,uCAAuC,CAAC,IAAS;IAC/D,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;KACzB,CAAC;AACJ,CAAC;AAKD,MAAM,UAAU,uBAAuB,CAAC,KAAoB;IAC1D,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,IAAS;IACjD,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC;QACd,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;YAC7B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KAC/C,CAAC;AACJ,CAAC;AAcD,MAAM,UAAU,kBAAkB,CAAC,KAAe;IAChD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,IAAS;IAC5C,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC;QACd,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;YAC7B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KAC/C,CAAC;AACJ,CAAC;AAkBD,MAAM,UAAU,sBAAsB,CAAC,IAAS;IAC9C,OAAO;QACL,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;QAC5B,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC;QACpC,SAAS,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC/E,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACtC,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,CAAC;QAC9C,cAAc,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC;YACrC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC;YACxB,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;KACrC,CAAC;AACJ,CAAC;AAED,oDAAoD;AACpD,MAAM,CAAN,IAAY,kBASX;AATD,WAAY,kBAAkB;IAC5B,wCAAwC;IACxC,mCAAa,CAAA;IACb,gDAAgD;IAChD,iDAA2B,CAAA;IAC3B,oDAAoD;IACpD,yDAAmC,CAAA;IACnC,uCAAuC;IACvC,iCAAW,CAAA;AACb,CAAC,EATW,kBAAkB,KAAlB,kBAAkB,QAS7B;AAoBD,MAAM,UAAU,yBAAyB,CAAC,IAAS;IACjD,OAAO;QACL,KAAK,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KAC/E,CAAC;AACJ,CAAC;AAgBD,MAAM,UAAU,uBAAuB,CAAC,IAAS;IAC/C,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;QACxB,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC;QACtB,OAAO,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,4BAA4B,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3F,cAAc,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC;YACrC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC;YACxB,CAAC,CAAC,oCAAoC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;KACjE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,MAA0B;IACrE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,uBAAuB,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,oCAAoC,CAAC,MAAkC;IACrF,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,+BAA+B,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;AACL,CAAC;AAUD,MAAM,UAAU,+BAA+B,CAAC,IAAS;IACvD,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;KACnB,CAAC;AACJ,CAAC;AAQD,MAAM,UAAU,0BAA0B,CAAC,IAAS;IAClD,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC;QACd,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;YAC7B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC9C,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;YAC7B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,oCAAoC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KAC7D,CAAC;AACJ,CAAC;AAQD,MAAM,UAAU,oCAAoC,CAAC,IAAS;IAC5D,OAAO;QACL,qBAAqB,EAAE,sCAAsC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;KAC7F,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sCAAsC,CACpD,MAAoC;IAEpC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,iCAAiC,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AACL,CAAC;AAYD,MAAM,UAAU,iCAAiC,CAAC,IAAS;IACzD,OAAO;QACL,8BAA8B,EAAE,IAAI,CAAC,gCAAgC,CAAC;QACtE,eAAe,EAAE,IAAI,CAAC,iBAAiB,CAAC;QACxC,gBAAgB,EAAE,gCAAgC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;KAC7E,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAC,MAA8B;IAC7E,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,2BAA2B,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC;AAcD,MAAM,UAAU,2BAA2B,CAAC,IAAS;IACnD,OAAO;QACL,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;QAC9B,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,yBAAyB,EAAE,IAAI,CAAC,2BAA2B,CAAC;QAC5D,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,CAAC;KAC7C,CAAC;AACJ,CAAC;AAUD,MAAM,UAAU,qCAAqC,CAAC,IAAS;IAC7D,OAAO;QACL,KAAK,EAAE,+BAA+B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrD,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;KAC3B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,MAA6B;IAC3E,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,0BAA0B,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;AACL,CAAC;AAQD,MAAM,UAAU,mBAAmB,CAAC,IAAS;IAC3C,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC;QACd,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;YAC7B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC9C,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;YAC7B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,6BAA6B,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KACtD,CAAC;AACJ,CAAC;AAcD,MAAM,UAAU,6BAA6B,CAAC,IAAS;IACrD,OAAO;QACL,8BAA8B,EAAE,IAAI,CAAC,gCAAgC,CAAC;QACtE,oBAAoB,EAAE,IAAI,CAAC,sBAAsB,CAAC;QAClD,mBAAmB,EAAE,IAAI,CAAC,qBAAqB,CAAC;QAChD,oBAAoB,EAAE,IAAI,CAAC,sBAAsB,CAAC;KACnD,CAAC;AACJ,CAAC;AAUD,MAAM,UAAU,8BAA8B,CAAC,IAAS;IACtD,OAAO;QACL,KAAK,EAAE,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9C,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;KAC3B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,MAAsB;IAC7D,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;AACL,CAAC;AAQD,MAAM,UAAU,yBAAyB,CAAC,IAAS;IACjD,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC;QACd,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;YAC7B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC9C,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;YAC7B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,mCAAmC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KAC5D,CAAC;AACJ,CAAC;AAQD,MAAM,UAAU,mCAAmC,CAAC,IAAS;IAC3D,OAAO;QACL,cAAc,EAAE,+BAA+B,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;KACxE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,MAA6B;IAC3E,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,0BAA0B,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;AACL,CAAC;AAoBD,MAAM,UAAU,0BAA0B,CAAC,IAAS;IAClD,OAAO;QACL,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC;QAChB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC;QACpC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;QAC9B,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,CAAC;QAC9C,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;QACpB,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;KAC3B,CAAC;AACJ,CAAC;AAUD,MAAM,UAAU,oCAAoC,CAAC,IAAS;IAC5D,OAAO;QACL,KAAK,EAAE,8BAA8B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpD,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;KAC3B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,MAA4B;IACzE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,yBAAyB,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;AACL,CAAC;AAUD,MAAM,UAAU,gCAAgC,CAAC,IAAS;IACxD,OAAO;QACL,KAAK,EAAE,0BAA0B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChD,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;KAC3B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,MAAwB;IACjE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,qBAAqB,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;AACL,CAAC;AAgBD,MAAM,UAAU,qBAAqB,CAAC,IAAS;IAC7C,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC;QAClC,OAAO,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,4BAA4B,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3F,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC;QACtB,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;KAC/B,CAAC;AACJ,CAAC;AAcD,MAAM,UAAU,4BAA4B,CAAC,IAAS;IACpD,OAAO;QACL,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;QAC1B,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;QAC1B,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;QAC5B,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;KACjC,CAAC;AACJ,CAAC;AAED,2IAA2I;AAC3I,MAAM,CAAN,IAAY,WAOX;AAPD,WAAY,WAAW;IACrB,sDAAsD;IACtD,4BAAa,CAAA;IACb,wDAAwD;IACxD,gCAAiB,CAAA;IACjB,gEAAgE;IAChE,yCAA0B,CAAA;AAC5B,CAAC,EAPW,WAAW,KAAX,WAAW,QAOtB;AAaD,gHAAgH;AAChH,MAAM,CAAN,IAAY,eAGX;AAHD,WAAY,eAAe;IACzB,0CAA0C;IAC1C,wCAAqB,CAAA;AACvB,CAAC,EAHW,eAAe,KAAf,eAAe,QAG1B;AAmCD,MAAM,UAAU,oBAAoB,CAAC,IAAgB;IACnD,OAAO;QACL,UAAU,EAAE,oBAAoB,CAAC,IAAI,EAAE;YACrC,0BAA0B;YAC1B,wBAAwB;YACxB,wBAAwB;YACxB,6BAA6B;YAC7B,wBAAwB;YACxB,wBAAwB;SACzB,CAAC;YACA,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,+BAA+B,CAAC,IAAI,CAAC;KAC1C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,IAAS;IAC9C,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC;QACd,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;YAC7B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC9C,GAAG,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACrB,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,iCAAiC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;KAC3D,CAAC;AACJ,CAAC;AA0BD,MAAM,UAAU,8BAA8B,CAAC,IAA0B;IACvE,OAAO;QACL,wBAAwB,EAAE,IAAI,CAAC,0BAA0B,CAAC;QAC1D,sBAAsB,EAAE,IAAI,CAAC,wBAAwB,CAAC;QACtD,sBAAsB,EAAE,IAAI,CAAC,wBAAwB,CAAC;QACtD,2BAA2B,EAAE,IAAI,CAAC,6BAA6B,CAAC;QAChE,sBAAsB,EAAE,IAAI,CAAC,wBAAwB,CAAC;QACtD,sBAAsB,EAAE,CAAC,IAAI,CAAC,wBAAwB,CAAC;YACrD,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC;YAChC,CAAC,CAAC,mCAAmC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;KACxE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAC,IAAS;IACxD,OAAO;QACL,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,CAAC;QAC5C,wBAAwB,EAAE,IAAI,CAAC,0BAA0B,CAAC;QAC1D,sBAAsB,EAAE,IAAI,CAAC,wBAAwB,CAAC;QACtD,sBAAsB,EAAE,IAAI,CAAC,wBAAwB,CAAC;QACtD,2BAA2B,EAAE,IAAI,CAAC,6BAA6B,CAAC;QAChE,sBAAsB,EAAE,IAAI,CAAC,wBAAwB,CAAC;QACtD,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACtC,cAAc,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC;YACrC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC;YACxB,CAAC,CAAC,6BAA6B,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACzD,sBAAsB,EAAE,CAAC,IAAI,CAAC,wBAAwB,CAAC;YACrD,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC;YAChC,CAAC,CAAC,qCAAqC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACzE,iBAAiB,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3C,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3B,CAAC,CAAC,wCAAwC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;KACxE,CAAC;AACJ,CAAC;AAED,2DAA2D;AAC3D,MAAM,CAAN,IAAY,sBAqCX;AArCD,WAAY,sBAAsB;IAChC,+CAA+C;IAC/C,uDAA6B,CAAA;IAC7B,6CAA6C;IAC7C,yCAAe,CAAA;IACf,2CAA2C;IAC3C,iDAAuB,CAAA;IACvB,2BAA2B;IAC3B,2CAAiB,CAAA;IACjB,iCAAiC;IACjC,+CAAqB,CAAA;IACrB,iCAAiC;IACjC,iDAAuB,CAAA;IACvB,oCAAoC;IACpC,uDAA6B,CAAA;IAC7B,qCAAqC;IACrC,6CAAmB,CAAA;IACnB,qCAAqC;IACrC,+CAAqB,CAAA;IACrB,qCAAqC;IACrC,+CAAqB,CAAA;IACrB,qCAAqC;IACrC,+CAAqB,CAAA;IACrB,mCAAmC;IACnC,2CAAiB,CAAA;IACjB,wCAAwC;IACxC,mEAAyC,CAAA;IACzC,2CAA2C;IAC3C,mEAAyC,CAAA;IACzC,mCAAmC;IACnC,mDAAyB,CAAA;IACzB,8CAA8C;IAC9C,+CAAqB,CAAA;IACrB,8CAA8C;IAC9C,uDAA6B,CAAA;IAC7B,sCAAsC;IACtC,iEAAuC,CAAA;AACzC,CAAC,EArCW,sBAAsB,KAAtB,sBAAsB,QAqCjC;AA4BD,yEAAyE;AACzE,MAAM,CAAN,IAAY,6BAqCX;AArCD,WAAY,6BAA6B;IACvC,4CAA4C;IAC5C,8DAA6B,CAAA;IAC7B,gDAAgD;IAChD,gDAAe,CAAA;IACf,6DAA6D;IAC7D,wDAAuB,CAAA;IACvB,mDAAmD;IACnD,sDAAqB,CAAA;IACrB,iDAAiD;IACjD,kDAAiB,CAAA;IACjB,+BAA+B;IAC/B,wDAAuB,CAAA;IACvB,kCAAkC;IAClC,8DAA6B,CAAA;IAC7B,qDAAqD;IACrD,oDAAmB,CAAA;IACnB,uDAAuD;IACvD,sDAAqB,CAAA;IACrB,uDAAuD;IACvD,sDAAqB,CAAA;IACrB,uDAAuD;IACvD,sDAAqB,CAAA;IACrB,qDAAqD;IACrD,kDAAiB,CAAA;IACjB,6CAA6C;IAC7C,0EAAyC,CAAA;IACzC,gDAAgD;IAChD,0EAAyC,CAAA;IACzC,+DAA+D;IAC/D,0DAAyB,CAAA;IACzB,gEAAgE;IAChE,sDAAqB,CAAA;IACrB,2DAA2D;IAC3D,8DAA6B,CAAA;IAC7B,wDAAwD;IACxD,wEAAuC,CAAA;AACzC,CAAC,EArCW,6BAA6B,KAA7B,6BAA6B,QAqCxC;AA4BD,MAAM,UAAU,6BAA6B,CAAC,MAA2B;IACvE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,wBAAwB,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;AACL,CAAC;AAcD,MAAM,UAAU,wBAAwB,CAAC,IAAS;IAChD,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,+BAA+B,EAAE,IAAI,CAAC,iCAAiC,CAAC;QACxE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;KACrB,CAAC;AACJ,CAAC;AAED,yLAAyL;AACzL,MAAM,CAAN,IAAY,iBAqCX;AArCD,WAAY,iBAAiB;IAC3B,kCAAkC;IAClC,kDAA6B,CAAA;IAC7B,sDAAsD;IACtD,oCAAe,CAAA;IACf,4CAA4C;IAC5C,4CAAuB,CAAA;IACvB,oDAAoD;IACpD,0CAAqB,CAAA;IACrB,4BAA4B;IAC5B,sCAAiB,CAAA;IACjB,+CAA+C;IAC/C,4CAAuB,CAAA;IACvB,kDAAkD;IAClD,kDAA6B,CAAA;IAC7B,qDAAqD;IACrD,wCAAmB,CAAA;IACnB,mDAAmD;IACnD,0CAAqB,CAAA;IACrB,mDAAmD;IACnD,0CAAqB,CAAA;IACrB,qDAAqD;IACrD,0CAAqB,CAAA;IACrB,iDAAiD;IACjD,sCAAiB,CAAA;IACjB,yCAAyC;IACzC,8DAAyC,CAAA;IACzC,yDAAyD;IACzD,8DAAyC,CAAA;IACzC,8CAA8C;IAC9C,8CAAyB,CAAA;IACzB,gEAAgE;IAChE,0CAAqB,CAAA;IACrB,iEAAiE;IACjE,kDAA6B,CAAA;IAC7B,sEAAsE;IACtE,4DAAuC,CAAA;AACzC,CAAC,EArCW,iBAAiB,KAAjB,iBAAiB,QAqC5B;AAoCD,MAAM,UAAU,mCAAmC,CAAC,IAA+B;IACjF,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;QACxB,qBAAqB,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC;YACnD,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC;YAC/B,CAAC,CAAC,mCAAmC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;KACvE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qCAAqC,CAAC,IAAS;IAC7D,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;QACxB,qBAAqB,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC;YACnD,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC;YAC/B,CAAC,CAAC,qCAAqC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;KACzE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mCAAmC,CAAC,MAAmC;IACrF,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,8BAA8B,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,qCAAqC,CAAC,MAAmC;IACvF,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,gCAAgC,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;AACL,CAAC;AAUD,MAAM,UAAU,8BAA8B,CAAC,IAA0B;IACvE,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAC,IAAS;IACxD,OAAO;QACL,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;KACnB,CAAC;AACJ,CAAC;AAED,iJAAiJ;AACjJ,MAAM,CAAN,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IAC1B,gFAAgF;IAChF,+BAAW,CAAA;AACb,CAAC,EAHW,gBAAgB,KAAhB,gBAAgB,QAG3B;AAWD,MAAM,UAAU,wCAAwC,CACtD,MAAsC;IAEtC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,mCAAmC,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;AACL,CAAC;AAUD,MAAM,UAAU,mCAAmC,CAAC,IAAS;IAC3D,OAAO;QACL,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;QAC1B,WAAW,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;KACxF,CAAC;AACJ,CAAC;AAUD,MAAM,UAAU,0BAA0B,CAAC,IAAsB;IAC/D,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,UAAU,EAAE,oBAAoB,CAAC,IAAI,EAAE,CAAC,wBAAwB,CAAC,CAAC;YAChE,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,qCAAqC,CAAC,IAAI,CAAC;KAChD,CAAC;AACJ,CAAC;AAQD,MAAM,UAAU,oCAAoC,CAAC,IAAgC;IACnF,OAAO;QACL,sBAAsB,EAAE,CAAC,IAAI,CAAC,wBAAwB,CAAC;YACrD,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC;YAChC,CAAC,CAAC,mCAAmC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;KACxE,CAAC;AACJ,CAAC;AAUD,MAAM,UAAU,2BAA2B,CAAC,IAAS;IACnD,OAAO;QACL,KAAK,EAAE,2BAA2B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjD,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;KAC3B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,MAAyB;IACjE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,oBAAoB,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,MAAyB;IACnE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,sBAAsB,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;AACL,CAAC;AAUD,MAAM,UAAU,8BAA8B,CAAC,IAAS;IACtD,OAAO;QACL,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;QAC9B,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;QACpB,aAAa,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC/F,WAAW,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;KACxF,CAAC;AACJ,CAAC;AAUD,MAAM,UAAU,+BAA+B,CAAC,IAAS;IACvD,OAAO;QACL,GAAG,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACrB,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,0CAA0C,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;KACpE,CAAC;AACJ,CAAC;AAUD,MAAM,UAAU,yCAAyC,CACvD,IAAS;IAET,OAAO;QACL,sBAAsB,EAAE,IAAI,CAAC,wBAAwB,CAAC;QACtD,sBAAsB,EAAE,IAAI,CAAC,wBAAwB,CAAC;QACtD,2BAA2B,EAAE,IAAI,CAAC,6BAA6B,CAAC;QAChE,sBAAsB,EAAE,IAAI,CAAC,wBAAwB,CAAC;KACvD,CAAC;AACJ,CAAC;AAQD,MAAM,UAAU,qCAAqC,CAAC,IAAiC;IACrF,OAAO;QACL,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;YAC7B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,+CAA+C,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KACxE,CAAC;AACJ,CAAC;AAOD,MAAM,UAAU,+CAA+C,CAC7D,IAA2C;IAE3C,OAAO;QACL,YAAY,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC;YACjC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;YACtB,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;gBAClC,OAAO,CAAC,CAAC;YACX,CAAC,CAAC;KACP,CAAC;AACJ,CAAC;AAgBD,MAAM,UAAU,iBAAiB,CAAC,IAAS;IACzC,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC;QACd,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;YAC7B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC9C,GAAG,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACrB,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,4BAA4B,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;KACtD,CAAC;AACJ,CAAC;AAgBD,MAAM,UAAU,2BAA2B,CAAC,IAAS;IACnD,OAAO;QACL,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,CAAC;QAC5C,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;QACxB,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACtC,WAAW,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC;YAC/B,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC;YACrB,CAAC,CAAC,4BAA4B,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;KACtD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,MAA0B;IACrE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,uBAAuB,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;AACL,CAAC;AAYD,MAAM,UAAU,uBAAuB,CAAC,IAAS;IAC/C,OAAO;QACL,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC;QACpC,gBAAgB,EAAE,IAAI,CAAC,kBAAkB,CAAC;QAC1C,sBAAsB,EAAE,CAAC,IAAI,CAAC,wBAAwB,CAAC;YACrD,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC;YAChC,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;gBAC5C,OAAO,CAAC,CAAC;YACX,CAAC,CAAC;KACP,CAAC;AACJ,CAAC;AAUD,MAAM,UAAU,sBAAsB,CAAC,IAAS;IAC9C,OAAO;QACL,KAAK,EAAE,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5C,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;KAC3B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,MAAoB;IACzD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC;AAgFD,MAAM,UAAU,iBAAiB,CAAC,IAAa;IAC7C,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;QAC1B,UAAU,EAAE,oBAAoB,CAAC,IAAI,EAAE;YACrC,yBAAyB;YACzB,aAAa;YACb,aAAa;YACb,wBAAwB;YACxB,6BAA6B;YAC7B,6BAA6B;YAC7B,yBAAyB;YACzB,yBAAyB;YACzB,mBAAmB;YACnB,kBAAkB;YAClB,wBAAwB;SACzB,CAAC;YACA,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,4BAA4B,CAAC,IAAI,CAAC;QACtC,QAAQ,EAAE,oBAAoB,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;YACtE,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,0BAA0B,CAAC,IAAI,CAAC;QACpC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;KACnB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAS;IAC3C,OAAO;QACL,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC;YACjB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;YACd,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAgB,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3F,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;QAC1B,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC;QACd,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;YAC7B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC9C,GAAG,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACrB,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,8BAA8B,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;QACvD,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,4BAA4B,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QAC1F,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;KACnB,CAAC;AACJ,CAAC;AAsED,MAAM,UAAU,2BAA2B,CAAC,IAAuB;IACjE,OAAO;QACL,uBAAuB,EAAE,IAAI,CAAC,yBAAyB,CAAC;QACxD,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,sBAAsB,EAAE,IAAI,CAAC,wBAAwB,CAAC;QACtD,2BAA2B,EAAE,IAAI,CAAC,6BAA6B,CAAC;QAChE,2BAA2B,EAAE,CAAC,IAAI,CAAC,6BAA6B,CAAC;YAC/D,CAAC,CAAC,IAAI,CAAC,6BAA6B,CAAC;YACrC,CAAC,CAAC,qCAAqC,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAC9E,uBAAuB,EAAE,CAAC,IAAI,CAAC,yBAAyB,CAAC;YACvD,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC;YACjC,CAAC,CAAC,iCAAiC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACtE,uBAAuB,EAAE,CAAC,IAAI,CAAC,yBAAyB,CAAC;YACvD,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC;YACjC,CAAC,CAAC,iCAAiC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACtE,iBAAiB,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3C,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3B,CAAC,CAAC,kCAAkC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACjE,gBAAgB,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC;YAC1B,CAAC,CAAC,qCAAqC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACnE,sBAAsB,EAAE,CAAC,IAAI,CAAC,wBAAwB,CAAC;YACrD,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC;YAChC,CAAC,CAAC,qCAAqC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;KAC1E,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,IAAS;IACrD,OAAO;QACL,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,CAAC;QAC5C,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC;QACtB,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,CAAC;QAC9C,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;QACxB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,uBAAuB,EAAE,IAAI,CAAC,yBAAyB,CAAC;QACxD,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,sBAAsB,EAAE,IAAI,CAAC,wBAAwB,CAAC;QACtD,2BAA2B,EAAE,IAAI,CAAC,6BAA6B,CAAC;QAChE,2BAA2B,EAAE,CAAC,IAAI,CAAC,6BAA6B,CAAC;YAC/D,CAAC,CAAC,IAAI,CAAC,6BAA6B,CAAC;YACrC,CAAC,CAAC,uCAAuC,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAChF,mBAAmB,EAAE,IAAI,CAAC,qBAAqB,CAAC;QAChD,uBAAuB,EAAE,CAAC,IAAI,CAAC,yBAAyB,CAAC;YACvD,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC;YACjC,CAAC,CAAC,mCAAmC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACxE,uBAAuB,EAAE,CAAC,IAAI,CAAC,yBAAyB,CAAC;YACvD,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC;YACjC,CAAC,CAAC,mCAAmC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACxE,iBAAiB,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3C,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3B,CAAC,CAAC,oCAAoC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACnE,kBAAkB,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC;YAC7C,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC;YAC5B,CAAC,CAAC,qCAAqC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACrE,kCAAkC,EAAE,CAAC,IAAI,CAAC,oCAAoC,CAAC;YAC7E,CAAC,CAAC,IAAI,CAAC,oCAAoC,CAAC;YAC5C,CAAC,CAAC,8CAA8C,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;QAC9F,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,CAAC;QAC9C,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC;QAClC,iBAAiB,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3C,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3B,CAAC,CAAC,oCAAoC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACnE,qBAAqB,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC;YACnD,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC;YAC/B,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAC3C,iBAAiB,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3C,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3B,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACvC,oBAAoB,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC;YACjD,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC;YAC9B,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAC1C,eAAe,EAAE,IAAI,CAAC,iBAAiB,CAAC;QACxC,wBAAwB,EAAE,IAAI,CAAC,0BAA0B,CAAC;QAC1D,gBAAgB,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC;YAC1B,CAAC,CAAC,uCAAuC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACrE,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACtC,wBAAwB,EAAE,CAAC,IAAI,CAAC,0BAA0B,CAAC;YACzD,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC;YAClC,CAAC,CAAC,oCAAoC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAC1E,aAAa,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC;YACnC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC;YACvB,CAAC,CAAC,gCAAgC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC3D,sBAAsB,EAAE,CAAC,IAAI,CAAC,wBAAwB,CAAC;YACrD,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC;YAChC,CAAC,CAAC,uCAAuC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAC3E,gBAAgB,EAAE,IAAI,CAAC,kBAAkB,CAAC;QAC1C,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;KACjC,CAAC;AACJ,CAAC;AAED,yIAAyI;AACzI,MAAM,CAAN,IAAY,WAyBX;AAzBD,WAAY,WAAW;IACrB,2DAA2D;IAC3D,oDAAqC,CAAA;IACrC,yDAAyD;IACzD,sDAAuC,CAAA;IACvC,6DAA6D;IAC7D,4DAA6C,CAAA;IAC7C,8DAA8D;IAC9D,4CAA6B,CAAA;IAC7B,0DAA0D;IAC1D,8BAAe,CAAA;IACf,wDAAwD;IACxD,4CAA6B,CAAA;IAC7B,gEAAgE;IAChE,4DAA6C,CAAA;IAC7C,8DAA8D;IAC9D,sDAAuC,CAAA;IACvC,8CAA8C;IAC9C,oDAAqC,CAAA;IACrC,gEAAgE;IAChE,4DAA6C,CAAA;IAC7C,8CAA8C;IAC9C,oDAAqC,CAAA;IACrC,8DAA8D;IAC9D,sDAAuC,CAAA;AACzC,CAAC,EAzBW,WAAW,KAAX,WAAW,QAyBtB;AAsBD,wKAAwK;AACxK,MAAM,CAAN,IAAY,uBAaX;AAbD,WAAY,uBAAuB;IACjC,qDAAqD;IACrD,gEAAqC,CAAA;IACrC,+CAA+C;IAC/C,kDAAuB,CAAA;IACvB,uDAAuD;IACvD,wEAA6C,CAAA;IAC7C,0EAA0E;IAC1E,oEAAyC,CAAA;IACzC,6CAA6C;IAC7C,wDAA6B,CAAA;IAC7B,gDAAgD;IAChD,wDAA6B,CAAA;AAC/B,CAAC,EAbW,uBAAuB,KAAvB,uBAAuB,QAalC;AA0BD,MAAM,UAAU,qCAAqC,CAAC,IAAiC;IACrF,OAAO,EAAE,uBAAuB,EAAE,IAAI,CAAC,yBAAyB,CAAC,EAAE,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,uCAAuC,CAAC,IAAS;IAC/D,OAAO;QACL,uBAAuB,EAAE,IAAI,CAAC,yBAAyB,CAAC;QACxD,uBAAuB,EAAE,IAAI,CAAC,yBAAyB,CAAC;QACxD,WAAW,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;KACxF,CAAC;AACJ,CAAC;AAED,wDAAwD;AACxD,MAAM,CAAN,IAAY,4BAKX;AALD,WAAY,4BAA4B;IACtC,qDAAqD;IACrD,mDAAmB,CAAA;IACnB,sDAAsD;IACtD,qDAAqB,CAAA;AACvB,CAAC,EALW,4BAA4B,KAA5B,4BAA4B,QAKvC;AAYD,sDAAsD;AACtD,MAAM,CAAN,IAAY,4BAKX;AALD,WAAY,4BAA4B;IACtC,iEAAiE;IACjE,iDAAiB,CAAA;IACjB,kEAAkE;IAClE,mDAAmB,CAAA;AACrB,CAAC,EALW,4BAA4B,KAA5B,4BAA4B,QAKvC;AAuBD,MAAM,UAAU,iCAAiC,CAAC,KAA8B;IAC9E,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,mCAAmC,CAAC,IAAS;IAC3D,OAAO;QACL,QAAQ,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC3E,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACnE,gBAAgB,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC;YAC1B,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACtC,2BAA2B,EAAE,CAAC,IAAI,CAAC,6BAA6B,CAAC;YAC/D,CAAC,CAAC,IAAI,CAAC,6BAA6B,CAAC;YACrC,CAAC,CAAC,qCAAqC,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;KAC/E,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qCAAqC,CAAC,MAAmC;IACvF,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,gCAAgC,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;AACL,CAAC;AAwBD,MAAM,UAAU,gCAAgC,CAAC,IAAS;IACxD,OAAO;QACL,YAAY,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC3F,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACnF,aAAa,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC/F,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;QACxB,mBAAmB,EAAE,IAAI,CAAC,qBAAqB,CAAC;QAChD,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC;QACpC,oBAAoB,EAAE,IAAI,CAAC,sBAAsB,CAAC;QAClD,gBAAgB,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC;YAC1B,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACtC,kBAAkB,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC;YAC7C,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC;YAC5B,CAAC,CAAC,8BAA8B,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;KAC/D,CAAC;AACJ,CAAC;AAED,2BAA2B;AAC3B,MAAM,CAAN,IAAY,wBASX;AATD,WAAY,wBAAwB;IAClC,4CAA4C;IAC5C,yCAAa,CAAA;IACb,+CAA+C;IAC/C,qDAAyB,CAAA;IACzB,iCAAiC;IACjC,6CAAiB,CAAA;IACjB,6CAA6C;IAC7C,mDAAuB,CAAA;AACzB,CAAC,EATW,wBAAwB,KAAxB,wBAAwB,QASnC;AAcD,qJAAqJ;AACrJ,MAAM,CAAN,IAAY,yBAKX;AALD,WAAY,yBAAyB;IACnC,qEAAqE;IACrE,kDAAqB,CAAA;IACrB,2EAA2E;IAC3E,oDAAuB,CAAA;AACzB,CAAC,EALW,yBAAyB,KAAzB,yBAAyB,QAKpC;AAoBD,MAAM,UAAU,8BAA8B,CAAC,IAAS;IACtD,OAAO;QACL,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;QAC5B,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC;KACnC,CAAC;AACJ,CAAC;AAgBD,MAAM,UAAU,iCAAiC,CAAC,KAA8B;IAC9E,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,mCAAmC,CAAC,IAAS;IAC3D,OAAO;QACL,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,mBAAmB,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC;YAC/C,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC;YAC7B,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACzC,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,CAAC;QAC5C,yBAAyB,EAAE,CAAC,IAAI,CAAC,2BAA2B,CAAC;YAC3D,CAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC;YACnC,CAAC,CAAC,0CAA0C,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QACjF,2BAA2B,EAAE,CAAC,IAAI,CAAC,6BAA6B,CAAC;YAC/D,CAAC,CAAC,IAAI,CAAC,6BAA6B,CAAC;YACrC,CAAC,CAAC,4CAA4C,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QACrF,8BAA8B,EAAE,IAAI,CAAC,gCAAgC,CAAC;KACvE,CAAC;AACJ,CAAC;AAED,kCAAkC;AAClC,MAAM,CAAN,IAAY,gBAKX;AALD,WAAY,gBAAgB;IAC1B,iDAAiD;IACjD,+CAA2B,CAAA;IAC3B,4DAA4D;IAC5D,iEAA6C,CAAA;AAC/C,CAAC,EALW,gBAAgB,KAAhB,gBAAgB,QAK3B;AAYD,sCAAsC;AACtC,MAAM,CAAN,IAAY,sBAKX;AALD,WAAY,sBAAsB;IAChC,6CAA6C;IAC7C,2CAAiB,CAAA;IACjB,gEAAgE;IAChE,2CAAiB,CAAA;AACnB,CAAC,EALW,sBAAsB,KAAtB,sBAAsB,QAKjC;AAYD,MAAM,UAAU,0CAA0C,CACxD,MAAwC;IAExC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,qCAAqC,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;AACL,CAAC;AAoBD,MAAM,UAAU,qCAAqC,CAAC,IAAS;IAC7D,OAAO;QACL,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC;QACpC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;QACpB,SAAS,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC/E,SAAS,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC/E,gBAAgB,EAAE,IAAI,CAAC,kBAAkB,CAAC;QAC1C,sBAAsB,EAAE,IAAI,CAAC,wBAAwB,CAAC;QACtD,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,CAAC;KAC/C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,4CAA4C,CAC1D,MAA0C;IAE1C,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,uCAAuC,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;AACL,CAAC;AAkBD,MAAM,UAAU,uCAAuC,CAAC,IAAS;IAC/D,OAAO;QACL,gBAAgB,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC;YAC1B,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACtC,cAAc,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC;YACrC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC;YACxB,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACpC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;QAC1B,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;QAC1B,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,CAAC;KAC/C,CAAC;AACJ,CAAC;AAED,wCAAwC;AACxC,MAAM,CAAN,IAAY,mCAWX;AAXD,WAAY,mCAAmC;IAC7C,mCAAmC;IACnC,oDAAa,CAAA;IACb,iDAAiD;IACjD,0EAAmC,CAAA;IACnC,yCAAyC;IACzC,4EAAqC,CAAA;IACrC,iDAAiD;IACjD,8DAAuB,CAAA;IACvB,iCAAiC;IACjC,wDAAiB,CAAA;AACnB,CAAC,EAXW,mCAAmC,KAAnC,mCAAmC,QAW9C;AAuBD,MAAM,UAAU,kCAAkC,CAAC,IAA8B;IAC/E,OAAO;QACL,yBAAyB,EAAE,IAAI,CAAC,2BAA2B,CAAC;QAC5D,eAAe,EAAE,IAAI,CAAC,iBAAiB,CAAC;KACzC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oCAAoC,CAAC,IAAS;IAC5D,OAAO;QACL,yBAAyB,EAAE,IAAI,CAAC,2BAA2B,CAAC;QAC5D,eAAe,EAAE,IAAI,CAAC,iBAAiB,CAAC;KACzC,CAAC;AACJ,CAAC;AAED,oDAAoD;AACpD,MAAM,CAAN,IAAY,8BAKX;AALD,WAAY,8BAA8B;IACxC,+CAA+C;IAC/C,uDAAqB,CAAA;IACrB,8CAA8C;IAC9C,qDAAmB,CAAA;AACrB,CAAC,EALW,8BAA8B,KAA9B,8BAA8B,QAKzC;AAYD,+DAA+D;AAC/D,MAAM,CAAN,IAAY,oBAOX;AAPD,WAAY,oBAAoB;IAC9B,0CAA0C;IAC1C,mCAAW,CAAA;IACX,iFAAiF;IACjF,uCAAe,CAAA;IACf,kGAAkG;IAClG,6CAAqB,CAAA;AACvB,CAAC,EAPW,oBAAoB,KAApB,oBAAoB,QAO/B;AA2CD,MAAM,UAAU,qCAAqC,CAAC,IAAS;IAC7D,OAAO;QACL,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;QAC5B,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACtC,KAAK,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,4BAA4B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnF,WAAW,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACvF,sBAAsB,EAAE,CAAC,IAAI,CAAC,wBAAwB,CAAC;YACrD,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC;YAChC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAC5C,eAAe,EAAE,IAAI,CAAC,iBAAiB,CAAC;QACxC,eAAe,EAAE,IAAI,CAAC,iBAAiB,CAAC;QACxC,qBAAqB,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC;YACnD,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC;YAC/B,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;gBAC3C,OAAO,CAAC,CAAC;YACX,CAAC,CAAC;QACN,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC;QAClC,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC;QACpC,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC;KACrC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,MAA0B;IACrE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,uBAAuB,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;AACL,CAAC;AAoCD,MAAM,UAAU,uBAAuB,CAAC,IAAS;IAC/C,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC;QACd,yBAAyB,EAAE,IAAI,CAAC,2BAA2B,CAAC;QAC5D,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;QAC1B,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC;QACpC,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC;QAClC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;QACpB,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC;QACtB,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;QAC5B,gBAAgB,EAAE,IAAI,CAAC,kBAAkB,CAAC;QAC1C,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC;QAClC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;QAC5B,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,sBAAsB,EAAE,CAAC,IAAI,CAAC,wBAAwB,CAAC;YACrD,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC;YAChC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAC5C,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC;KACrC,CAAC;AACJ,CAAC;AAED,yJAAyJ;AACzJ,MAAM,CAAN,IAAY,oBAKX;AALD,WAAY,oBAAoB;IAC9B,sEAAsE;IACtE,iDAAyB,CAAA;IACzB,iFAAiF;IACjF,iDAAyB,CAAA;AAC3B,CAAC,EALW,oBAAoB,KAApB,oBAAoB,QAK/B;AAYD,4CAA4C;AAC5C,MAAM,CAAN,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC5B,kDAAkD;IAClD,2CAAqB,CAAA;IACrB,iDAAiD;IACjD,yCAAmB,CAAA;AACrB,CAAC,EALW,kBAAkB,KAAlB,kBAAkB,QAK7B;AAYD,8CAA8C;AAC9C,MAAM,CAAN,IAAY,oBAKX;AALD,WAAY,oBAAoB;IAC9B,oDAAoD;IACpD,6CAAqB,CAAA;IACrB,mDAAmD;IACnD,2CAAmB,CAAA;AACrB,CAAC,EALW,oBAAoB,KAApB,oBAAoB,QAK/B;AAYD,qCAAqC;AACrC,MAAM,CAAN,IAAY,kBAOX;AAPD,WAAY,kBAAkB;IAC5B,mCAAmC;IACnC,qCAAe,CAAA;IACf,oEAAoE;IACpE,uCAAiB,CAAA;IACjB,mCAAmC;IACnC,qCAAe,CAAA;AACjB,CAAC,EAPW,kBAAkB,KAAlB,kBAAkB,QAO7B;AAuBD,MAAM,UAAU,8CAA8C,CAC5D,IAAS;IAET,OAAO;QACL,qBAAqB,EAAE,IAAI,CAAC,uBAAuB,CAAC;QACpD,2BAA2B,EAAE,IAAI,CAAC,6BAA6B,CAAC;QAChE,0BAA0B,EAAE,IAAI,CAAC,4BAA4B,CAAC;KAC/D,CAAC;AACJ,CAAC;AAQD,MAAM,UAAU,oCAAoC,CAAC,IAAS;IAC5D,OAAO;QACL,gBAAgB,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC;YAC1B,CAAC,CAAC,4BAA4B,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;KAC3D,CAAC;AACJ,CAAC;AAYD,MAAM,UAAU,4BAA4B,CAAC,IAAS;IACpD,OAAO;QACL,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC;QAClC,mBAAmB,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC;YAC/C,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC;YAC7B,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;gBACzC,OAAO,CAAC,CAAC;YACX,CAAC,CAAC;QACN,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,CAAC;KAC/C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qCAAqC,CACnD,MAAqC;IAErC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,gCAAgC,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,uCAAuC,CACrD,MAAqC;IAErC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,kCAAkC,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;AACL,CAAC;AAUD,MAAM,UAAU,gCAAgC,CAAC,IAA4B;IAC3E,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC;AACxF,CAAC;AAED,MAAM,UAAU,kCAAkC,CAAC,IAAS;IAC1D,OAAO;QACL,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,eAAe,EAAE,IAAI,CAAC,iBAAiB,CAAC;KACzC,CAAC;AACJ,CAAC;AAED,+BAA+B;AAC/B,MAAM,CAAN,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IAC1B,0BAA0B;IAC1B,mDAA+B,CAAA;AACjC,CAAC,EAHW,gBAAgB,KAAhB,gBAAgB,QAG3B;AAWD,gDAAgD;AAChD,MAAM,CAAN,IAAY,mBAKX;AALD,WAAY,mBAAmB;IAC7B,wBAAwB;IACxB,4CAAqB,CAAA;IACrB,yBAAyB;IACzB,8CAAuB,CAAA;AACzB,CAAC,EALW,mBAAmB,KAAnB,mBAAmB,QAK9B;AAsBD,MAAM,UAAU,oCAAoC,CAAC,IAAS;IAC5D,OAAO;QACL,oBAAoB,EAAE,IAAI,CAAC,sBAAsB,CAAC;QAClD,oBAAoB,EAAE,IAAI,CAAC,sBAAsB,CAAC;QAClD,2BAA2B,EAAE,IAAI,CAAC,6BAA6B,CAAC;KACjE,CAAC;AACJ,CAAC;AAED,2LAA2L;AAC3L,MAAM,CAAN,IAAY,yBAKX;AALD,WAAY,yBAAyB;IACnC,gFAAgF;IAChF,8CAAiB,CAAA;IACjB,iFAAiF;IACjF,gDAAmB,CAAA;AACrB,CAAC,EALW,yBAAyB,KAAzB,yBAAyB,QAKpC;AAYD,gGAAgG;AAChG,MAAM,CAAN,IAAY,yBAOX;AAPD,WAAY,yBAAyB;IACnC,8EAA8E;IAC9E,gDAAmB,CAAA;IACnB,yFAAyF;IACzF,kEAAqC,CAAA;IACrC,iFAAiF;IACjF,kDAAqB,CAAA;AACvB,CAAC,EAPW,yBAAyB,KAAzB,yBAAyB,QAOpC;AAmBD,MAAM,UAAU,gCAAgC,CAAC,IAAS;IACxD,OAAO;QACL,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;QAC5B,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC;QACpC,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC;QACpC,oBAAoB,EAAE,IAAI,CAAC,sBAAsB,CAAC;KACnD,CAAC;AACJ,CAAC;AAED,yHAAyH;AACzH,MAAM,CAAN,IAAY,yBAKX;AALD,WAAY,yBAAyB;IACnC,iDAAiD;IACjD,8CAAiB,CAAA;IACjB,kDAAkD;IAClD,gDAAmB,CAAA;AACrB,CAAC,EALW,yBAAyB,KAAzB,yBAAyB,QAKpC;AAYD,MAAM,UAAU,qCAAqC,CACnD,MAAqC;IAErC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,gCAAgC,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,uCAAuC,CACrD,MAAqC;IAErC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,kCAAkC,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;AACL,CAAC;AAUD,MAAM,UAAU,gCAAgC,CAAC,IAA4B;IAC3E,OAAO;QACL,yBAAyB,EAAE,IAAI,CAAC,2BAA2B,CAAC;QAC5D,KAAK,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;YACnB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;YACf,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;gBAC3B,OAAO,CAAC,CAAC;YACX,CAAC,CAAC;KACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kCAAkC,CAAC,IAAS;IAC1D,OAAO;QACL,yBAAyB,EAAE,IAAI,CAAC,2BAA2B,CAAC;QAC5D,KAAK,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;YACnB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;YACf,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;gBAC3B,OAAO,CAAC,CAAC;YACX,CAAC,CAAC;KACP,CAAC;AACJ,CAAC;AAED,wCAAwC;AACxC,MAAM,CAAN,IAAY,qBAKX;AALD,WAAY,qBAAqB;IAC/B,4JAA4J;IAC5J,4DAAmC,CAAA;IACnC,8KAA8K;IAC9K,wDAA+B,CAAA;AACjC,CAAC,EALW,qBAAqB,KAArB,qBAAqB,QAKhC;AAYD,8CAA8C;AAC9C,MAAM,CAAN,IAAY,gBAOX;AAPD,WAAY,gBAAgB;IAC1B,gDAAgD;IAChD,+BAAW,CAAA;IACX,+CAA+C;IAC/C,+BAAW,CAAA;IACX,oEAAoE;IACpE,qCAAiB,CAAA;AACnB,CAAC,EAPW,gBAAgB,KAAhB,gBAAgB,QAO3B;AAyBD,MAAM,UAAU,gCAAgC,CAAC,IAA4B;IAC3E,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,sBAAsB,EAAE,IAAI,CAAC,wBAAwB,CAAC,EAAE,CAAC;AACxF,CAAC;AAED,MAAM,UAAU,kCAAkC,CAAC,IAAS;IAC1D,OAAO;QACL,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;QAC1B,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,sBAAsB,EAAE,CAAC,IAAI,CAAC,wBAAwB,CAAC;YACrD,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC;YAChC,CAAC,CAAC,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAgB,EAAE,EAAE,CAAC;gBAC5E,CAAC;gBACD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC;aAC7C,CAAC,CACH;KACN,CAAC;AACJ,CAAC;AAED,uGAAuG;AACvG,MAAM,CAAN,IAAY,+BASX;AATD,WAAY,+BAA+B;IACzC,2BAA2B;IAC3B,gDAAa,CAAA;IACb,wCAAwC;IACxC,oEAAiC,CAAA;IACjC,sCAAsC;IACtC,gEAA6B,CAAA;IAC7B,iDAAiD;IACjD,6FAA0D,CAAA;AAC5D,CAAC,EATW,+BAA+B,KAA/B,+BAA+B,QAS1C;AAsBD,MAAM,UAAU,8BAA8B,CAAC,KAA2B;IACxE,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAC,IAAS;IACxD,OAAO;QACL,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;KAC3B,CAAC;AACJ,CAAC;AAYD,MAAM,UAAU,yBAAyB,CAAC,IAAS;IACjD,OAAO;QACL,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;QAC5B,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC;QACpC,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC;KACrC,CAAC;AACJ,CAAC;AAED,sIAAsI;AACtI,MAAM,CAAN,IAAY,cAOX;AAPD,WAAY,cAAc;IACxB,iOAAiO;IACjO,qCAAmB,CAAA;IACnB,oIAAoI;IACpI,uCAAqB,CAAA;IACrB,qMAAqM;IACrM,qCAAmB,CAAA;AACrB,CAAC,EAPW,cAAc,KAAd,cAAc,QAOzB;AAqBD,MAAM,UAAU,yBAAyB,CAAC,IAAqB;IAC7D,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,IAAS;IACnD,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC;QACd,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;YAC7B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC9C,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC;YACjB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;YACd,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAgB,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3F,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;KAC3B,CAAC;AACJ,CAAC;AAwBD,MAAM,UAAU,sBAAsB,CAAC,IAAkB;IACvD,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,QAAQ,EAAE,oBAAoB,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;YACtE,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,+BAA+B,CAAC,IAAI,CAAC;QACzC,UAAU,EAAE,oBAAoB,CAAC,IAAI,EAAE;YACrC,yBAAyB;YACzB,aAAa;YACb,aAAa;YACb,mBAAmB;SACpB,CAAC;YACA,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,iCAAiC,CAAC,IAAI,CAAC;KAC5C,CAAC;AACJ,CAAC;AAcD,MAAM,UAAU,gCAAgC,CAAC,IAA4B;IAC3E,OAAO;QACL,uBAAuB,EAAE,IAAI,CAAC,yBAAyB,CAAC;QACxD,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,iBAAiB,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3C,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3B,CAAC,CAAC,kCAAkC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;KAClE,CAAC;AACJ,CAAC;AAUD,MAAM,UAAU,wBAAwB,CAAC,IAAS;IAChD,OAAO;QACL,KAAK,EAAE,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9C,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;KAC3B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,MAAsB;IAC3D,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,MAAsB;IAC7D,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;AACL,CAAC;AAQD,MAAM,UAAU,uCAAuC,CAAC,IAAmC;IACzF,OAAO;QACL,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;YAC7B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,qCAAqC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KAC9D,CAAC;AACJ,CAAC;AAOD,MAAM,UAAU,kCAAkC,CAAC,IAA8B;IAC/E,OAAO;QACL,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;YAC7B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,4BAA4B,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KACrD,CAAC;AACJ,CAAC;AAOD,MAAM,UAAU,4BAA4B,CAAC,IAAwB;IACnE,OAAO;QACL,YAAY,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC;YACjC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;YACtB,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;gBAClC,OAAO,CAAC,CAAC;YACX,CAAC,CAAC;KACP,CAAC;AACJ,CAAC;AAUD,MAAM,UAAU,mCAAmC,CAAC,IAAS;IAC3D,OAAO;QACL,GAAG,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACrB,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,8CAA8C,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;KACxE,CAAC;AACJ,CAAC;AAUD,MAAM,UAAU,6CAA6C,CAC3D,IAAS;IAET,OAAO;QACL,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,2BAA2B,EAAE,IAAI,CAAC,6BAA6B,CAAC;QAChE,sBAAsB,EAAE,IAAI,CAAC,wBAAwB,CAAC;KACvD,CAAC;AACJ,CAAC;AAOD,MAAM,UAAU,wCAAwC,CACtD,IAAoC;IAEpC,OAAO;QACL,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;YAC7B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,kDAAkD,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KAC3E,CAAC;AACJ,CAAC;AAQD,MAAM,UAAU,kDAAkD,CAChE,IAA8C;IAE9C,OAAO,EAAE,uBAAuB,EAAE,IAAI,CAAC,yBAAyB,CAAC,EAAE,CAAC;AACtE,CAAC;AAOD,MAAM,UAAU,2BAA2B,CAAC,IAAuB;IACjE,OAAO;QACL,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;YAC7B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,qCAAqC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KAC9D,CAAC;AACJ,CAAC;AAQD,MAAM,UAAU,qCAAqC,CAAC,IAAiC;IACrF,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;AAC5C,CAAC;AAQD,MAAM,UAAU,8BAA8B,CAAC,IAA0B;IACvE,OAAO;QACL,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;YAC7B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,wCAAwC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KACjE,CAAC;AACJ,CAAC;AAUD,MAAM,UAAU,wCAAwC,CACtD,IAAoC;IAEpC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;AAC5F,CAAC;AAQD,MAAM,UAAU,8BAA8B,CAAC,IAA0B;IACvE,OAAO;QACL,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;YAC7B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,wCAAwC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KACjE,CAAC;AACJ,CAAC;AAYD,MAAM,UAAU,wCAAwC,CACtD,IAAoC;IAEpC,OAAO;QACL,mBAAmB,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC;YAC/C,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC;YAC7B,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,WAAW,EAAE;QAC7C,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,CAAC;KAC7C,CAAC;AACJ,CAAC;AAkBD,MAAM,UAAU,2BAA2B,CAAC,IAAuB;IACjE,OAAO;QACL,UAAU,EAAE,oBAAoB,CAAC,IAAI,EAAE;YACrC,oBAAoB;YACpB,gBAAgB;YAChB,eAAe;YACf,yBAAyB;SAC1B,CAAC;YACA,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,sCAAsC,CAAC,IAAI,CAAC;KACjD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,IAAS;IACrD,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC;QACd,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;YAC7B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC9C,GAAG,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACrB,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,wCAAwC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;KAClE,CAAC;AACJ,CAAC;AAkBD,MAAM,UAAU,sCAAsC,CAAC,IAAkC;IACvF,OAAO;QACL,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;YAC5D,OAAO,CAAC,CAAC;QACX,CAAC,CAAC;QACF,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACtC,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC;QACpC,uBAAuB,EAAE,iCAAiC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;KAC5F,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wCAAwC,CAAC,IAAS;IAChE,OAAO;QACL,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,CAAC;QAC5C,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;YAC5D,OAAO,CAAC,CAAC;QACX,CAAC,CAAC;QACF,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACtC,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC;QACpC,uBAAuB,EAAE,mCAAmC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QAC7F,kBAAkB,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC;YAC7C,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC;YAC5B,CAAC,CAAC,iCAAiC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;KAClE,CAAC;AACJ,CAAC;AAED,sCAAsC;AACtC,MAAM,CAAN,IAAY,mBAKX;AALD,WAAY,mBAAmB;IAC7B,oDAAoD;IACpD,4CAAqB,CAAA;IACrB,kDAAkD;IAClD,wCAAiB,CAAA;AACnB,CAAC,EALW,mBAAmB,KAAnB,mBAAmB,QAK9B;AAYD,4CAA4C;AAC5C,MAAM,CAAN,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC5B,sCAAsC;IACtC,iEAA2C,CAAA;IAC3C,iCAAiC;IACjC,uDAAiC,CAAA;AACnC,CAAC,EALW,kBAAkB,KAAlB,kBAAkB,QAK7B;AAoBD,MAAM,UAAU,iCAAiC,CAAC,IAA6B;IAC7E,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,yBAAyB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;AACjG,CAAC;AAED,MAAM,UAAU,mCAAmC,CAAC,IAAS;IAC3D,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;QACxB,UAAU,EAAE,2BAA2B,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KAC5D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,MAAyB;IACjE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,oBAAoB,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,MAAyB;IACnE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,sBAAsB,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;AACL,CAAC;AAUD,MAAM,UAAU,oBAAoB,CAAC,IAAgB;IACnD,OAAO;QACL,cAAc,EAAE,wBAAwB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAChE,cAAc,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC;YACrC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC;YACxB,CAAC,CAAC,wBAAwB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;KACrD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,IAAS;IAC9C,OAAO;QACL,cAAc,EAAE,0BAA0B,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAClE,cAAc,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC;YACrC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC;YACxB,CAAC,CAAC,0BAA0B,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;KACvD,CAAC;AACJ,CAAC;AA0CD,MAAM,UAAU,wBAAwB,CAAC,IAAoB;IAC3D,OAAO;QACL,gBAAgB,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC;YAC1B,CAAC,CAAC,oCAAoC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAClE,aAAa,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC;YACnC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC;YACvB,CAAC,CAAC,uBAAuB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAClD,OAAO,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,2BAA2B,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1F,gBAAgB,EAAE,IAAI,CAAC,kBAAkB,CAAC;QAC1C,OAAO,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChF,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC;QAClC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;QAC9B,qBAAqB,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC;YACnD,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC;YAC/B,CAAC,CAAC,oCAAoC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACvE,aAAa,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC;YACnC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC;YACvB,CAAC,CAAC,4BAA4B,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACvD,WAAW,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC;YAC/B,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC;YACrB,CAAC,CAAC,sCAAsC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC/D,cAAc,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC;YACrC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC;YACxB,CAAC,CAAC,wBAAwB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACpD,mBAAmB,EAAE,IAAI,CAAC,qBAAqB,CAAC;QAChD,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;QAC1B,eAAe,EAAE,IAAI,CAAC,iBAAiB,CAAC;QACxC,OAAO,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC;YACvB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;YACjB,CAAC,CAAC,mCAAmC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxD,gBAAgB,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC;YAC1B,CAAC,CAAC,0BAA0B,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACxD,sBAAsB,EAAE,CAAC,IAAI,CAAC,wBAAwB,CAAC;YACrD,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC;YAChC,CAAC,CAAC,qCAAqC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACzE,YAAY,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC;YACjC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;YACtB,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;KACjD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,IAAS;IAClD,OAAO;QACL,gBAAgB,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC;YAC1B,CAAC,CAAC,sCAAsC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACpE,aAAa,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC;YACnC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC;YACvB,CAAC,CAAC,yBAAyB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACpD,OAAO,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,6BAA6B,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5F,gBAAgB,EAAE,IAAI,CAAC,kBAAkB,CAAC;QAC1C,OAAO,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAClF,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC;QAClC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;QAC9B,qBAAqB,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC;YACnD,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC;YAC/B,CAAC,CAAC,sCAAsC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACzE,aAAa,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC;YACnC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC;YACvB,CAAC,CAAC,8BAA8B,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACzD,WAAW,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC;YAC/B,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC;YACrB,CAAC,CAAC,wCAAwC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACjE,cAAc,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC;YACrC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC;YACxB,CAAC,CAAC,0BAA0B,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACtD,mBAAmB,EAAE,IAAI,CAAC,qBAAqB,CAAC;QAChD,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;QAC1B,eAAe,EAAE,IAAI,CAAC,iBAAiB,CAAC;QACxC,OAAO,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC;YACvB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;YACjB,CAAC,CAAC,qCAAqC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1D,gBAAgB,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC;YAC1B,CAAC,CAAC,4BAA4B,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC1D,sBAAsB,EAAE,CAAC,IAAI,CAAC,wBAAwB,CAAC;YACrD,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC;YAChC,CAAC,CAAC,uCAAuC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAC3E,YAAY,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC;YACjC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;YACtB,CAAC,CAAC,wBAAwB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;KACnD,CAAC;AACJ,CAAC;AA0BD,MAAM,UAAU,oCAAoC,CAAC,IAAgC;IACnF,OAAO;QACL,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACtC,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACtC,oBAAoB,EAAE,IAAI,CAAC,sBAAsB,CAAC;QAClD,uBAAuB,EAAE,IAAI,CAAC,yBAAyB,CAAC;QACxD,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,CAAC;QAC9C,oBAAoB,EAAE,IAAI,CAAC,sBAAsB,CAAC;QAClD,6BAA6B,EAAE,IAAI,CAAC,+BAA+B,CAAC;QACpE,mBAAmB,EAAE,IAAI,CAAC,qBAAqB,CAAC;QAChD,oBAAoB,EAAE,IAAI,CAAC,sBAAsB,CAAC;QAClD,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC;KACnC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sCAAsC,CAAC,IAAS;IAC9D,OAAO;QACL,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACtC,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACtC,oBAAoB,EAAE,IAAI,CAAC,sBAAsB,CAAC;QAClD,uBAAuB,EAAE,IAAI,CAAC,yBAAyB,CAAC;QACxD,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,CAAC;QAC9C,oBAAoB,EAAE,IAAI,CAAC,sBAAsB,CAAC;QAClD,6BAA6B,EAAE,IAAI,CAAC,+BAA+B,CAAC;QACpE,mBAAmB,EAAE,IAAI,CAAC,qBAAqB,CAAC;QAChD,oBAAoB,EAAE,IAAI,CAAC,sBAAsB,CAAC;QAClD,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC;KACnC,CAAC;AACJ,CAAC;AAYD,MAAM,UAAU,uBAAuB,CAAC,IAAmB;IACzD,OAAO;QACL,mBAAmB,EAAE,IAAI,CAAC,qBAAqB,CAAC;QAChD,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;QAC9B,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,CAAC;KAC/C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,IAAS;IACjD,OAAO;QACL,mBAAmB,EAAE,IAAI,CAAC,qBAAqB,CAAC;QAChD,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;QAC9B,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,CAAC;KAC/C,CAAC;AACJ,CAAC;AAoBD,MAAM,UAAU,2BAA2B,CAAC,IAAuB;IACjE,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,gBAAgB,EAAE,IAAI,CAAC,kBAAkB,CAAC;QAC1C,oBAAoB,EAAE,IAAI,CAAC,sBAAsB,CAAC;QAClD,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;KACvC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,IAAS;IACrD,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,gBAAgB,EAAE,IAAI,CAAC,kBAAkB,CAAC;QAC1C,oBAAoB,EAAE,IAAI,CAAC,sBAAsB,CAAC;QAClD,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC;QACpC,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;KACvC,CAAC;AACJ,CAAC;AAcD,MAAM,UAAU,iBAAiB,CAAC,IAAa;IAC7C,OAAO;QACL,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,CAAC;QAC5C,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC1E,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAS;IAC3C,OAAO;QACL,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,CAAC;QAC5C,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,4BAA4B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3E,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,4BAA4B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC5E,CAAC;AACJ,CAAC;AAUD,MAAM,UAAU,0BAA0B,CAAC,IAAsB;IAC/D,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE,qBAAqB,EAAE,IAAI,CAAC,uBAAuB,CAAC,EAAE,CAAC;AAClG,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,IAAS;IACpD,OAAO;QACL,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;QAC9B,qBAAqB,EAAE,IAAI,CAAC,uBAAuB,CAAC;KACrD,CAAC;AACJ,CAAC;AAED,gDAAgD;AAChD,MAAM,CAAN,IAAY,eAKX;AALD,WAAY,eAAe;IACzB,+BAA+B;IAC/B,kCAAe,CAAA;IACf,0CAA0C;IAC1C,sDAAmC,CAAA;AACrC,CAAC,EALW,eAAe,KAAf,eAAe,QAK1B;AAYD,8CAA8C;AAC9C,MAAM,CAAN,IAAY,0BAOX;AAPD,WAAY,0BAA0B;IACpC,2BAA2B;IAC3B,wCAAU,CAAA;IACV,mCAAmC;IACnC,uCAAS,CAAA;IACT,mCAAmC;IACnC,uCAAS,CAAA;AACX,CAAC,EAPW,0BAA0B,KAA1B,0BAA0B,QAOrC;AAqBD,MAAM,UAAU,0BAA0B,CAAC,IAAsB;IAC/D,OAAO,EAAE,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;AAC1F,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,IAAS;IACpD,OAAO;QACL,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC;QACpC,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;KACvC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oCAAoC,CAAC,MAAoC;IACvF,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,+BAA+B,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,sCAAsC,CACpD,MAAoC;IAEpC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,iCAAiC,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AACL,CAAC;AAoBD,MAAM,UAAU,+BAA+B,CAAC,IAA2B;IACzE,OAAO;QACL,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;QAC9B,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;QACxB,OAAO,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACrF,eAAe,EAAE,IAAI,CAAC,iBAAiB,CAAC;QACxC,QAAQ,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1F,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;YAC7B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;gBAChC,OAAO,CAAC,CAAC;YACX,CAAC,CAAC;QACN,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;KACzB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iCAAiC,CAAC,IAAS;IACzD,OAAO;QACL,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;QAC9B,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;QACxB,OAAO,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvF,eAAe,EAAE,IAAI,CAAC,iBAAiB,CAAC;QACxC,QAAQ,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,yBAAyB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5F,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;YAC7B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;gBAChC,OAAO,CAAC,CAAC;YACX,CAAC,CAAC;QACN,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;KACzB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,MAAsB;IAC3D,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,MAAsB;IAC7D,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;AACL,CAAC;AAUD,MAAM,UAAU,iBAAiB,CAAC,IAAa;IAC7C,OAAO,EAAE,eAAe,EAAE,IAAI,CAAC,iBAAiB,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;AAC5F,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAS;IAC3C,OAAO;QACL,eAAe,EAAE,IAAI,CAAC,iBAAiB,CAAC;QACxC,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC;KACrC,CAAC;AACJ,CAAC;AAED,4LAA4L;AAC5L,MAAM,CAAN,IAAY,oBAKX;AALD,WAAY,oBAAoB;IAC9B,mEAAmE;IACnE,qDAA6B,CAAA;IAC7B,yDAAyD;IACzD,qDAA6B,CAAA;AAC/B,CAAC,EALW,oBAAoB,KAApB,oBAAoB,QAK/B;AAYD,MAAM,UAAU,uBAAuB,CAAC,MAAuB;IAC7D,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,MAAuB;IAC/D,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,oBAAoB,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC;AAUD,MAAM,UAAU,kBAAkB,CAAC,IAAc;IAC/C,OAAO;QACL,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,YAAY,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC;YACjC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;YACtB,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;gBAClC,OAAO,CAAC,CAAC;YACX,CAAC,CAAC;KACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,IAAS;IAC5C,OAAO;QACL,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,YAAY,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC;YACjC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;YACtB,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;gBAClC,OAAO,CAAC,CAAC;YACX,CAAC,CAAC;KACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,MAA4B;IACvE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,uBAAuB,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,MAA4B;IACzE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,yBAAyB,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;AACL,CAAC;AAUD,MAAM,UAAU,uBAAuB,CAAC,IAAmB;IACzD,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,IAAS;IACjD,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;KACjC,CAAC;AACJ,CAAC;AAgBD,MAAM,UAAU,sCAAsC,CAAC,IAAkC;IACvF,OAAO;QACL,OAAO,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC;YACvB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;YACjB,CAAC,CAAC,uCAAuC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5D,eAAe,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACvC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACzB,CAAC,CAAC,+CAA+C,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC5E,WAAW,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC;YAC/B,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC;YACrB,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC9C,6BAA6B,EAAE,IAAI,CAAC,+BAA+B,CAAC;QACpE,mBAAmB,EAAE,IAAI,CAAC,qBAAqB,CAAC;KACjD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wCAAwC,CAAC,IAAS;IAChE,OAAO;QACL,OAAO,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC;YACvB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;YACjB,CAAC,CAAC,yCAAyC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC9D,eAAe,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACvC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACzB,CAAC,CAAC,iDAAiD,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC9E,WAAW,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC;YAC/B,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC;YACrB,CAAC,CAAC,uBAAuB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAChD,6BAA6B,EAAE,IAAI,CAAC,+BAA+B,CAAC;QACpE,mBAAmB,EAAE,IAAI,CAAC,qBAAqB,CAAC;KACjD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,uCAAuC,CACrD,MAAuC;IAEvC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,kCAAkC,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,yCAAyC,CACvD,MAAuC;IAEvC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,oCAAoC,CAAC,IAAI,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;AACL,CAAC;AAwBD,MAAM,UAAU,kCAAkC,CAAC,IAA8B;IAC/E,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,WAAW,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC;YAC/B,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC;YACrB,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;gBACjC,OAAO,CAAC,CAAC;YACX,CAAC,CAAC;QACN,OAAO,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC;YACvB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;YACjB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;gBAC7B,OAAO,CAAC,CAAC;YACX,CAAC,CAAC;QACN,kCAAkC,EAAE,IAAI,CAAC,oCAAoC,CAAC;QAC9E,mCAAmC,EAAE,CAAC,IAAI,CAAC,qCAAqC,CAAC;YAC/E,CAAC,CAAC,IAAI,CAAC,qCAAqC,CAAC;YAC7C,CAAC,CAAC,8DAA8D,CAC5D,IAAI,CAAC,qCAAqC,CAAC,CAC5C;QACL,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,CAAC;QAC5C,kBAAkB,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC;YAC7C,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC;YAC5B,CAAC,CAAC,4BAA4B,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAC5D,uBAAuB,EAAE,IAAI,CAAC,yBAAyB,CAAC;QACxD,wBAAwB,EAAE,CAAC,IAAI,CAAC,0BAA0B,CAAC;YACzD,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC;YAClC,CAAC,CAAC,mDAAmD,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;KAC1F,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oCAAoC,CAAC,IAAS;IAC5D,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,WAAW,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC;YAC/B,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC;YACrB,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;gBACjC,OAAO,CAAC,CAAC;YACX,CAAC,CAAC;QACN,OAAO,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC;YACvB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;YACjB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;gBAC7B,OAAO,CAAC,CAAC;YACX,CAAC,CAAC;QACN,kCAAkC,EAAE,IAAI,CAAC,oCAAoC,CAAC;QAC9E,mCAAmC,EAAE,CAAC,IAAI,CAAC,qCAAqC,CAAC;YAC/E,CAAC,CAAC,IAAI,CAAC,qCAAqC,CAAC;YAC7C,CAAC,CAAC,gEAAgE,CAC9D,IAAI,CAAC,qCAAqC,CAAC,CAC5C;QACL,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,CAAC;QAC5C,kBAAkB,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC;YAC7C,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC;YAC5B,CAAC,CAAC,8BAA8B,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAC9D,uBAAuB,EAAE,IAAI,CAAC,yBAAyB,CAAC;QACxD,wBAAwB,EAAE,CAAC,IAAI,CAAC,0BAA0B,CAAC;YACzD,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC;YAClC,CAAC,CAAC,qDAAqD,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;KAC5F,CAAC;AACJ,CAAC;AAUD,MAAM,UAAU,8DAA8D,CAC5E,IAA0D;IAE1D,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,sBAAsB,EAAE,IAAI,CAAC,wBAAwB,CAAC,EAAE,CAAC;AAClG,CAAC;AAED,MAAM,UAAU,gEAAgE,CAC9E,IAAS;IAET,OAAO;QACL,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;QAC5B,sBAAsB,EAAE,IAAI,CAAC,wBAAwB,CAAC;KACvD,CAAC;AACJ,CAAC;AAYD,MAAM,UAAU,4BAA4B,CAAC,IAAwB;IACnE,OAAO;QACL,+BAA+B,EAAE,IAAI,CAAC,gCAAgC,CAAC;QACvE,2BAA2B,EAAE,IAAI,CAAC,4BAA4B,CAAC;QAC/D,uBAAuB,EAAE,IAAI,CAAC,wBAAwB,CAAC;KACxD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,IAAS;IACtD,OAAO;QACL,8BAA8B,EAAE,IAAI,CAAC,iCAAiC,CAAC;QACvE,0BAA0B,EAAE,IAAI,CAAC,6BAA6B,CAAC;QAC/D,sBAAsB,EAAE,IAAI,CAAC,yBAAyB,CAAC;KACxD,CAAC;AACJ,CAAC;AAYD,MAAM,UAAU,mDAAmD,CACjE,IAA+C;IAE/C,OAAO;QACL,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC;QACpC,uBAAuB,EAAE,IAAI,CAAC,yBAAyB,CAAC;KACzD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qDAAqD,CACnE,IAAS;IAET,OAAO;QACL,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC;QACpC,uBAAuB,EAAE,IAAI,CAAC,yBAAyB,CAAC;KACzD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,+CAA+C,CAC7D,MAA+C;IAE/C,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,0CAA0C,CAAC,IAAI,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,iDAAiD,CAC/D,MAA+C;IAE/C,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,4CAA4C,CAAC,IAAI,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;AACL,CAAC;AAcD,MAAM,UAAU,0CAA0C,CACxD,IAAsC;IAEtC,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,CAAC;QAC9C,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC;QACtB,oBAAoB,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC;YACjD,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC;YAC9B,CAAC,CAAC,oDAAoD,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;KACvF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,4CAA4C,CAC1D,IAAS;IAET,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,CAAC;QAC9C,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC;QACtB,oBAAoB,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC;YACjD,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC;YAC9B,CAAC,CAAC,sDAAsD,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;KACzF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oDAAoD,CAClE,MAAoD;IAEpD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,+CAA+C,CAAC,IAAI,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,sDAAsD,CACpE,MAAoD;IAEpD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,iDAAiD,CAAC,IAAI,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;AACL,CAAC;AAYD,MAAM,UAAU,+CAA+C,CAC7D,IAA2C;IAE3C,OAAO;QACL,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC;QAClC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;KAC/B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iDAAiD,CAC/D,IAAS;IAET,OAAO;QACL,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC;QAClC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;KAC/B,CAAC;AACJ,CAAC;AAQD,MAAM,UAAU,qBAAqB,CAAC,IAAiB;IACrD,OAAO;QACL,oBAAoB,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC;YACjD,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC;YAC9B,CAAC,CAAC,iCAAiC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;KACpE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,IAAS;IAC/C,OAAO;QACL,oBAAoB,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC;YACjD,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC;YAC9B,CAAC,CAAC,mCAAmC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;KACtE,CAAC;AACJ,CAAC;AAUD,MAAM,UAAU,iCAAiC,CAAC,IAA6B;IAC7E,OAAO;QACL,iBAAiB,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3C,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3B,CAAC,CAAC,8BAA8B,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC7D,eAAe,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACvC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACzB,CAAC,CAAC,iCAAiC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;KAC/D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mCAAmC,CAAC,IAAS;IAC3D,OAAO;QACL,iBAAiB,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3C,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3B,CAAC,CAAC,gCAAgC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC/D,eAAe,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACvC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACzB,CAAC,CAAC,mCAAmC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;KACjE,CAAC;AACJ,CAAC;AAcD,MAAM,UAAU,8BAA8B,CAAC,IAA0B;IACvE,OAAO;QACL,8BAA8B,EAAE,IAAI,CAAC,gCAAgC,CAAC;QACtE,0BAA0B,EAAE,IAAI,CAAC,4BAA4B,CAAC;QAC9D,sBAAsB,EAAE,IAAI,CAAC,wBAAwB,CAAC;QACtD,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;KACjC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAC,IAAS;IACxD,OAAO;QACL,8BAA8B,EAAE,IAAI,CAAC,gCAAgC,CAAC;QACtE,0BAA0B,EAAE,IAAI,CAAC,4BAA4B,CAAC;QAC9D,sBAAsB,EAAE,IAAI,CAAC,wBAAwB,CAAC;QACtD,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;KACjC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iCAAiC,CAAC,MAAiC;IACjF,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,4BAA4B,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,mCAAmC,CAAC,MAAiC;IACnF,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,8BAA8B,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACL,CAAC;AAcD,MAAM,UAAU,4BAA4B,CAAC,IAAwB;IACnE,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,CAAC;QAC9C,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC;QACtB,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC;KACrC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,IAAS;IACtD,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,CAAC;QAC9C,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC;QACtB,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC;KACrC,CAAC;AACJ,CAAC;AAQD,MAAM,UAAU,wBAAwB,CAAC,IAAoB;IAC3D,OAAO;QACL,iBAAiB,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3C,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3B,CAAC,CAAC,2BAA2B,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;KAC3D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,IAAS;IAClD,OAAO;QACL,iBAAiB,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3C,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3B,CAAC,CAAC,6BAA6B,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;KAC7D,CAAC;AACJ,CAAC;AAYD,MAAM,UAAU,2BAA2B,CAAC,IAAuB;IACjE,OAAO;QACL,mBAAmB,EAAE,IAAI,CAAC,qBAAqB,CAAC;QAChD,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,CAAC;QAC9C,4BAA4B,EAAE,IAAI,CAAC,8BAA8B,CAAC;KACnE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,IAAS;IACrD,OAAO;QACL,mBAAmB,EAAE,IAAI,CAAC,qBAAqB,CAAC;QAChD,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,CAAC;QAC9C,4BAA4B,EAAE,IAAI,CAAC,8BAA8B,CAAC;KACnE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mCAAmC,CAAC,MAAmC;IACrF,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,8BAA8B,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,qCAAqC,CAAC,MAAmC;IACvF,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,gCAAgC,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;AACL,CAAC;AAYD,MAAM,UAAU,8BAA8B,CAAC,IAA0B;IACvE,OAAO;QACL,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;QAC9B,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC;QACpC,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;KACvC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAC,IAAS;IACxD,OAAO;QACL,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;QAC9B,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC;QACpC,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;KACvC,CAAC;AACJ,CAAC;AAED,yEAAyE;AACzE,MAAM,CAAN,IAAY,eASX;AATD,WAAY,eAAe;IACzB,qFAAqF;IACrF,8EAA2D,CAAA;IAC3D,sGAAsG;IACtG,kEAA+C,CAAA;IAC/C,gFAAgF;IAChF,gEAA6C,CAAA;IAC7C,uFAAuF;IACvF,0DAAuC,CAAA;AACzC,CAAC,EATW,eAAe,KAAf,eAAe,QAS1B;AAoBD,MAAM,UAAU,0BAA0B,CAAC,IAAsB;IAC/D,OAAO,EAAE,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,IAAS;IACpD,OAAO;QACL,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;KACvC,CAAC;AACJ,CAAC;AAUD,MAAM,UAAU,sBAAsB,CAAC,KAAmB;IACxD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,IAAS;IAChD,OAAO;QACL,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACtC,OAAO,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC;YACvB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;YACjB,CAAC,CAAC,oCAAoC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;KAC1D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oCAAoC,CAAC,MAAkC;IACrF,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,+BAA+B,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;AACL,CAAC;AAcD,MAAM,UAAU,+BAA+B,CAAC,IAAS;IACvD,OAAO;QACL,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;QAC9B,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;QAC1B,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC;KACjB,CAAC;AACJ,CAAC;AAYD,MAAM,UAAU,wBAAwB,CAAC,IAAoB;IAC3D,OAAO;QACL,iBAAiB,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3C,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3B,CAAC,CAAC,2BAA2B,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC1D,iBAAiB,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3C,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3B,CAAC,CAAC,mCAAmC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAClE,cAAc,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC;YACrC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC;YACxB,CAAC,CAAC,6BAA6B,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;KAC1D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,IAAS;IAClD,OAAO;QACL,iBAAiB,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3C,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3B,CAAC,CAAC,6BAA6B,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC5D,iBAAiB,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3C,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3B,CAAC,CAAC,qCAAqC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACpE,cAAc,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC;YACrC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC;YACxB,CAAC,CAAC,+BAA+B,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;KAC5D,CAAC;AACJ,CAAC;AAgBD,MAAM,UAAU,2BAA2B,CAAC,IAAuB;IACjE,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;QACxB,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC;QACtB,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;QAC5B,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,CAAC;QAC5C,uBAAuB,EAAE,CAAC,IAAI,CAAC,yBAAyB,CAAC;YACvD,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC;YACjC,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,WAAW,EAAE;KAClD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,IAAS;IACrD,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;QACxB,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC;QACtB,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;QAC5B,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,CAAC;QAC5C,uBAAuB,EAAE,CAAC,IAAI,CAAC,yBAAyB,CAAC;YACvD,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC;YACjC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;KAC9C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mCAAmC,CAAC,MAAmC;IACrF,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,8BAA8B,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,qCAAqC,CAAC,MAAmC;IACvF,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,gCAAgC,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;AACL,CAAC;AAUD,MAAM,UAAU,8BAA8B,CAAC,IAA0B;IACvE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAC,IAAS;IACxD,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;KACrB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,MAA6B;IACzE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,wBAAwB,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,MAA6B;IAC3E,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,0BAA0B,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;AACL,CAAC;AAYD,MAAM,UAAU,wBAAwB,CAAC,IAAoB;IAC3D,OAAO;QACL,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;QAC9B,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC;QACpC,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;KACvC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,IAAS;IAClD,OAAO;QACL,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;QAC9B,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC;QACpC,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;KACvC,CAAC;AACJ,CAAC;AAUD,MAAM,UAAU,iCAAiC,CAAC,IAAS;IACzD,OAAO;QACL,gBAAgB,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC;YAC1B,CAAC,CAAC,2BAA2B,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACzD,gBAAgB,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC;YAC1B,CAAC,CAAC,2BAA2B,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;KAC1D,CAAC;AACJ,CAAC;AAUD,MAAM,UAAU,2BAA2B,CAAC,IAAS;IACnD,OAAO;QACL,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC;QACtB,KAAK,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,+BAA+B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACvF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,MAA6B;IAC3E,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,0BAA0B,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;AACL,CAAC;AAsBD,MAAM,UAAU,0BAA0B,CAAC,IAAS;IAClD,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC;QACpC,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC;QAClC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;QAC9B,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC;QACtB,KAAK,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,+BAA+B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtF,SAAS,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC;YAC3B,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;YACnB,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;gBAC/B,OAAO,CAAC,CAAC;YACX,CAAC,CAAC;KACP,CAAC;AACJ,CAAC;AAUD,MAAM,UAAU,wCAAwC,CAAC,IAAS;IAChE,OAAO;QACL,KAAK,EAAE,kCAAkC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxD,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;KAC3B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAC,MAAgC;IAC/E,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,2BAA2B,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,kCAAkC,CAAC,MAAgC;IACjF,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,6BAA6B,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;AACL,CAAC;AASD,MAAM,UAAU,uBAAuB,CAAC,IAAmB;IACzD,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,IAAS;IACjD,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC;QACd,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;YAC7B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC9C,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;KACnB,CAAC;AACJ,CAAC;AAKD,MAAM,UAAU,4BAA4B,CAAC,IAAwB;IACnE,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,KAAK;YACR,OAAO,0BAA0B,CAAC,IAAwB,CAAC,CAAC;QAE9D;YACE,OAAO,uBAAuB,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,IAAS;IACtD,QAAQ,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACrB,KAAK,KAAK;YACR,OAAO,4BAA4B,CAAC,IAAwB,CAAC,CAAC;QAEhE;YACE,OAAO,yBAAyB,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;AACH,CAAC;AAED,wBAAwB;AACxB,MAAM,CAAN,IAAY,mBAGX;AAHD,WAAY,mBAAmB;IAC7B,2CAA2C;IAC3C,kCAAW,CAAA;AACb,CAAC,EAHW,mBAAmB,KAAnB,mBAAmB,QAG9B;AAmBD,MAAM,UAAU,0BAA0B,CAAC,IAAsB;IAC/D,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,UAAU,EAAE,yCAAyC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KAC1E,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,IAAS;IACpD,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC;QACd,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;YAC7B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC9C,UAAU,EAAE,2CAA2C,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KAC5E,CAAC;AACJ,CAAC;AAqBD,MAAM,UAAU,oCAAoC,CAAC,IAAgC;IACnF,OAAO,EAAE,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;AAC9E,CAAC;AAED,MAAM,UAAU,sCAAsC,CAAC,IAAS;IAC9D,OAAO;QACL,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACtC,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,CAAC;QAC5C,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;QACpB,YAAY,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC3F,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACnF,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC;QACtB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;KACzB,CAAC;AACJ,CAAC;AAQD,MAAM,UAAU,yCAAyC,CACvD,IAAqC;IAErC,QAAQ,IAAI,CAAC,OAAO,EAAE,CAAC;QACrB,KAAK,YAAY;YACf,OAAO,oCAAoC,CAAC,IAAkC,CAAC,CAAC;QAElF,KAAK,eAAe;YAClB,OAAO,uCAAuC,CAAC,IAAqC,CAAC,CAAC;QAExF;YACE,OAAO,oCAAoC,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,2CAA2C,CACzD,IAAS;IAET,QAAQ,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACxB,KAAK,YAAY;YACf,OAAO,sCAAsC,CAAC,IAAkC,CAAC,CAAC;QAEpF,KAAK,eAAe;YAClB,OAAO,yCAAyC,CAAC,IAAqC,CAAC,CAAC;QAE1F;YACE,OAAO,sCAAsC,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,MAAM,CAAN,IAAY,cAyBX;AAzBD,WAAY,cAAc;IACxB,6CAA6C;IAC7C,+CAA6B,CAAA;IAC7B,kDAAkD;IAClD,+DAA6C,CAAA;IAC7C,kDAAkD;IAClD,yDAAuC,CAAA;IACvC,qCAAqC;IACrC,uDAAqC,CAAA;IACrC,qDAAqD;IACrD,+DAA6C,CAAA;IAC7C,uCAAuC;IACvC,uDAAqC,CAAA;IACrC,8CAA8C;IAC9C,yDAAuC,CAAA;IACvC,6BAA6B;IAC7B,yCAAuB,CAAA;IACvB,0BAA0B;IAC1B,mCAAiB,CAAA;IACjB,iCAAiC;IACjC,uCAAqB,CAAA;IACrB,yBAAyB;IACzB,mCAAiB,CAAA;IACjB,mCAAmC;IACnC,yCAAuB,CAAA;AACzB,CAAC,EAzBW,cAAc,KAAd,cAAc,QAyBzB;AAsBD,0BAA0B;AAC1B,MAAM,CAAN,IAAY,yBAKX;AALD,WAAY,yBAAyB;IACnC,2CAA2C;IAC3C,sDAAyB,CAAA;IACzB,mDAAmD;IACnD,4DAA+B,CAAA;AACjC,CAAC,EALW,yBAAyB,KAAzB,yBAAyB,QAKpC;AA0BD,MAAM,UAAU,oCAAoC,CAAC,IAAgC;IACnF,OAAO;QACL,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACtC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;QACxB,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE;QACxC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE;KACrC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sCAAsC,CAAC,IAAS;IAC9D,OAAO;QACL,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACtC,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,CAAC;QAC5C,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;QACpB,YAAY,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC3F,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACnF,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC;QACtB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;QACxB,QAAQ,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACpC,MAAM,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChC,gBAAgB,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC;YAC1B,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACtC,kBAAkB,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC;YAC7C,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC;YAC5B,CAAC,CAAC,2CAA2C,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;KAC5E,CAAC;AACJ,CAAC;AAcD,MAAM,UAAU,2CAA2C,CACzD,IAAS;IAET,OAAO;QACL,eAAe,EAAE,IAAI,CAAC,iBAAiB,CAAC;QACxC,gBAAgB,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC;YAC1B,CAAC,CAAC,2BAA2B,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACzD,gBAAgB,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC;YAC1B,CAAC,CAAC,2BAA2B,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACzD,2BAA2B,EAAE,CAAC,IAAI,CAAC,6BAA6B,CAAC;YAC/D,CAAC,CAAC,IAAI,CAAC,6BAA6B,CAAC;YACrC,CAAC,CAAC,wCAAwC,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;KAClF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wCAAwC,CACtD,MAAsC;IAEtC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,mCAAmC,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;AACL,CAAC;AAkBD,MAAM,UAAU,mCAAmC,CAAC,IAAS;IAC3D,OAAO;QACL,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;QAC5B,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;QACxB,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC;QACpC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;QACxB,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC;QACtB,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC;KACrC,CAAC;AACJ,CAAC;AAED,2DAA2D;AAC3D,MAAM,CAAN,IAAY,8BAWX;AAXD,WAAY,8BAA8B;IACxC,uDAAuD;IACvD,2DAAyB,CAAA;IACzB,wEAAwE;IACxE,qDAAmB,CAAA;IACnB,8DAA8D;IAC9D,mDAAiB,CAAA;IACjB,8EAA8E;IAC9E,yDAAuB,CAAA;IACvB,8EAA8E;IAC9E,uDAAqB,CAAA;AACvB,CAAC,EAXW,8BAA8B,KAA9B,8BAA8B,QAWzC;AA6BD,MAAM,UAAU,uCAAuC,CAAC,IAAmC;IACzF,OAAO;QACL,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACtC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;QACxB,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,mBAAmB,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC,WAAW,EAAE;QAC9D,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;KACnB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yCAAyC,CACvD,IAAS;IAET,OAAO;QACL,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACtC,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,CAAC;QAC5C,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;QACpB,YAAY,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC3F,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACnF,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC;QACtB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;QACxB,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,mBAAmB,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAC1D,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,kBAAkB,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC;YAC7C,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC;YAC5B,CAAC,CAAC,8CAA8C,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;KAC/E,CAAC;AACJ,CAAC;AAED,0DAA0D;AAC1D,MAAM,CAAN,IAAY,6BAOX;AAPD,WAAY,6BAA6B;IACvC,2CAA2C;IAC3C,8CAAa,CAAA;IACb,yDAAyD;IACzD,4DAA2B,CAAA;IAC3B,kFAAkF;IAClF,8EAA6C,CAAA;AAC/C,CAAC,EAPW,6BAA6B,KAA7B,6BAA6B,QAOxC;AA2BD,MAAM,UAAU,8CAA8C,CAC5D,IAAS;IAET,OAAO;QACL,eAAe,EAAE,IAAI,CAAC,iBAAiB,CAAC;QACxC,gBAAgB,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC;YAC1B,CAAC,CAAC,2BAA2B,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACzD,gBAAgB,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC;YAC1B,CAAC,CAAC,2BAA2B,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACzD,YAAY,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC;YACjC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;YACtB,CAAC,CAAC,wCAAwC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAClE,cAAc,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC;YACrC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC;YACxB,CAAC,CAAC,qCAAqC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;KAClE,CAAC;AACJ,CAAC;AAgBD,MAAM,UAAU,wCAAwC,CAAC,IAAS;IAChE,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;QACpB,SAAS,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC/E,SAAS,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC/E,gBAAgB,EAAE,IAAI,CAAC,kBAAkB,CAAC;QAC1C,sBAAsB,EAAE,IAAI,CAAC,wBAAwB,CAAC;KACvD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qCAAqC,CAAC,MAAmC;IACvF,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,gCAAgC,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;AACL,CAAC;AAgBD,MAAM,UAAU,gCAAgC,CAAC,IAAS;IACxD,OAAO;QACL,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;QAC5B,gBAAgB,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC;YAC1B,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACtC,cAAc,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC;YACrC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC;YACxB,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACpC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,CAAC;KAC/C,CAAC;AACJ,CAAC;AAKD,MAAM,UAAU,2BAA2B,CAAC,KAAwB;IAClE,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,IAAS;IACrD,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC;QACd,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;YAC7B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KAC/C,CAAC;AACJ,CAAC;AAUD,MAAM,UAAU,oCAAoC,CAAC,IAAS;IAC5D,OAAO;QACL,KAAK,EAAE,mCAAmC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzD,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;KAC3B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iCAAiC,CAAC,MAAiC;IACjF,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,4BAA4B,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,mCAAmC,CAAC,MAAiC;IACnF,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,8BAA8B,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACL,CAAC;AASD,MAAM,UAAU,oBAAoB,CAAC,IAAgB;IACnD,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,IAAS;IAC9C,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC;QACd,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;YAC7B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC9C,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;KACnB,CAAC;AACJ,CAAC;AAKD,MAAM,UAAU,yBAAyB,CAAC,IAAqB;IAC7D,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,KAAK;YACR,OAAO,uBAAuB,CAAC,IAAqB,CAAC,CAAC;QAExD;YACE,OAAO,oBAAoB,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,IAAS;IACnD,QAAQ,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACrB,KAAK,KAAK;YACR,OAAO,yBAAyB,CAAC,IAAqB,CAAC,CAAC;QAE1D;YACE,OAAO,sBAAsB,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;AACH,CAAC;AAED,wBAAwB;AACxB,MAAM,CAAN,IAAY,eAGX;AAHD,WAAY,eAAe;IACzB,2CAA2C;IAC3C,8BAAW,CAAA;AACb,CAAC,EAHW,eAAe,KAAf,eAAe,QAG1B;AAmBD,MAAM,UAAU,uBAAuB,CAAC,IAAmB;IACzD,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;YAC7B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,iCAAiC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KAC1D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,IAAS;IACjD,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC;QACd,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;YAC7B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC9C,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;YAC7B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,mCAAmC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KAC5D,CAAC;AACJ,CAAC;AAQD,MAAM,UAAU,iCAAiC,CAAC,IAA6B;IAC7E,OAAO;QACL,mBAAmB,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC;YAC/C,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC;YAC7B,CAAC,CAAC,6BAA6B,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;KAC/D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mCAAmC,CAAC,IAAS;IAC3D,OAAO;QACL,mBAAmB,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC;YAC/C,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC;YAC7B,CAAC,CAAC,+BAA+B,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAChE,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,CAAC;QAC5C,kBAAkB,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC;YAC7C,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC;YAC5B,CAAC,CAAC,iCAAiC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;KAClE,CAAC;AACJ,CAAC;AAgBD,MAAM,UAAU,iCAAiC,CAAC,IAAS;IACzD,OAAO;QACL,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,gBAAgB,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC;YAC1B,CAAC,CAAC,4BAA4B,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC1D,iBAAiB,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3C,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3B,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACvC,qBAAqB,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC;YACnD,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC;YAC/B,CAAC,CAAC,iCAAiC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACpE,cAAc,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC;YACrC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC;YACxB,CAAC,CAAC,6BAA6B,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACzD,SAAS,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC/F,wBAAwB,EAAE,CAAC,IAAI,CAAC,0BAA0B,CAAC;YACzD,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC;YAClC,CAAC,CAAC,oCAAoC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAC1E,cAAc,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC;YACrC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC;YACxB,CAAC,CAAC,6BAA6B,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACzD,eAAe,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACvC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACzB,CAAC,CAAC,8BAA8B,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;KAC5D,CAAC;AACJ,CAAC;AAcD,MAAM,UAAU,6BAA6B,CAAC,IAAS;IACrD,OAAO;QACL,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;YAC7B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,6BAA6B,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACrD,aAAa,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC;YACnC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC;YACvB,CAAC,CAAC,6BAA6B,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACxD,WAAW,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC;YAC/B,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC;YACrB,CAAC,CAAC,oCAAoC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC7D,aAAa,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC;YACnC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC;YACvB,CAAC,CAAC,yBAAyB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;KACrD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,MAA2B;IACvE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,wBAAwB,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;AACL,CAAC;AAsCD,MAAM,UAAU,wBAAwB,CAAC,IAAS;IAChD,OAAO;QACL,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,oBAAoB,EAAE,IAAI,CAAC,sBAAsB,CAAC;QAClD,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC;QACpC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;QAC9B,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;QAC9B,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACtC,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;YAC7B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;gBAChC,OAAO,CAAC,CAAC;YACX,CAAC,CAAC;QACN,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,CAAC;QAC9C,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;QAC9B,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;QAC9B,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;QACxB,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC;QACtB,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;QAC5B,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;KACvC,CAAC;AACJ,CAAC;AAED,4DAA4D;AAC5D,MAAM,CAAN,IAAY,mBAKX;AALD,WAAY,mBAAmB;IAC7B,oDAAoD;IACpD,0CAAmB,CAAA;IACnB,oDAAoD;IACpD,4CAAqB,CAAA;AACvB,CAAC,EALW,mBAAmB,KAAnB,mBAAmB,QAK9B;AAYD,MAAM,UAAU,6BAA6B,CAAC,MAA2B;IACvE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,wBAAwB,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;AACL,CAAC;AAYD,MAAM,UAAU,wBAAwB,CAAC,IAAS;IAChD,OAAO;QACL,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;QAC9B,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;QAC9B,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;YAC7B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,gCAAgC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KACzD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAC,MAA8B;IAC7E,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,2BAA2B,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC;AAYD,MAAM,UAAU,2BAA2B,CAAC,IAAS;IACnD,OAAO;QACL,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;QAC1B,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC;QACpC,gBAAgB,EAAE,IAAI,CAAC,kBAAkB,CAAC;KAC3C,CAAC;AACJ,CAAC;AAcD,MAAM,UAAU,oCAAoC,CAAC,IAAS;IAC5D,OAAO;QACL,OAAO,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC;YACvB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;YACjB,CAAC,CAAC,qCAAqC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1D,eAAe,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACvC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACzB,CAAC,CAAC,6CAA6C,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC1E,6BAA6B,EAAE,IAAI,CAAC,+BAA+B,CAAC;QACpE,mBAAmB,EAAE,IAAI,CAAC,qBAAqB,CAAC;KACjD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qCAAqC,CAAC,MAAmC;IACvF,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,gCAAgC,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;AACL,CAAC;AAwCD,MAAM,UAAU,gCAAgC,CAAC,IAAS;IACxD,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;QACpB,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;QAC9B,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,CAAC;QAC9C,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,CAAC;QAC9C,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC;QACpC,qBAAqB,EAAE,IAAI,CAAC,uBAAuB,CAAC;QACpD,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,CAAC;QAC9C,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC;QACpC,mBAAmB,EAAE,IAAI,CAAC,qBAAqB,CAAC;QAChD,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;QAC9B,cAAc,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC;YACrC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC;YACxB,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;gBACpC,OAAO,CAAC,CAAC;YACX,CAAC,CAAC;QACN,kCAAkC,EAAE,IAAI,CAAC,oCAAoC,CAAC;QAC9E,mCAAmC,EAAE,CAAC,IAAI,CAAC,qCAAqC,CAAC;YAC/E,CAAC,CAAC,IAAI,CAAC,qCAAqC,CAAC;YAC7C,CAAC,CAAC,4DAA4D,CAC1D,IAAI,CAAC,qCAAqC,CAAC,CAC5C;QACL,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,CAAC;QAC5C,kBAAkB,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC;YAC7C,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC;YAC5B,CAAC,CAAC,8BAA8B,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAC9D,uBAAuB,EAAE,IAAI,CAAC,yBAAyB,CAAC;QACxD,wBAAwB,EAAE,CAAC,IAAI,CAAC,0BAA0B,CAAC;YACzD,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC;YAClC,CAAC,CAAC,iDAAiD,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;KACxF,CAAC;AACJ,CAAC;AAUD,MAAM,UAAU,4DAA4D,CAC1E,IAAS;IAET,OAAO;QACL,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;QAC5B,sBAAsB,EAAE,IAAI,CAAC,wBAAwB,CAAC;KACvD,CAAC;AACJ,CAAC;AAYD,MAAM,UAAU,iDAAiD,CAC/D,IAAS;IAET,OAAO;QACL,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC;QACpC,uBAAuB,EAAE,IAAI,CAAC,yBAAyB,CAAC;KACzD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,6CAA6C,CAC3D,MAA2C;IAE3C,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,wCAAwC,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;AACL,CAAC;AAcD,MAAM,UAAU,wCAAwC,CAAC,IAAS;IAChE,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,CAAC;QAC9C,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC;QACpC,oBAAoB,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC;YACjD,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC;YAC9B,CAAC,CAAC,kDAAkD,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;KACrF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kDAAkD,CAChE,MAAgD;IAEhD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,6CAA6C,CAAC,IAAI,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;AACL,CAAC;AAYD,MAAM,UAAU,6CAA6C,CAC3D,IAAS;IAET,OAAO;QACL,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC;QAClC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;KAC/B,CAAC;AACJ,CAAC;AAUD,MAAM,UAAU,wBAAwB,CAAC,IAAS;IAChD,OAAO;QACL,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;QAC1B,eAAe,EAAE,IAAI,CAAC,iBAAiB,CAAC;KACzC,CAAC;AACJ,CAAC;AAYD,MAAM,UAAU,oCAAoC,CAAC,IAAS;IAC5D,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;QACxB,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;KACjC,CAAC;AACJ,CAAC;AAUD,MAAM,UAAU,6BAA6B,CAAC,IAAS;IACrD,OAAO;QACL,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,CAAC;QAC9C,KAAK,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,gCAAgC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACxF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAC,MAA8B;IAC7E,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,2BAA2B,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC;AAYD,MAAM,UAAU,2BAA2B,CAAC,IAAS;IACnD,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC;QACd,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;KACnB,CAAC;AACJ,CAAC;AAQD,MAAM,UAAU,8BAA8B,CAAC,IAAS;IACtD,OAAO;QACL,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC;KACrC,CAAC;AACJ,CAAC;AAcD,MAAM,UAAU,8BAA8B,CAAC,IAAS;IACtD,OAAO;QACL,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,gBAAgB,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC;YAC1B,CAAC,CAAC,4BAA4B,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC1D,iBAAiB,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3C,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3B,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACvC,qBAAqB,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC;YACnD,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC;YAC/B,CAAC,CAAC,iCAAiC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;KACrE,CAAC;AACJ,CAAC;AAED,6BAA6B;AAC7B,MAAM,CAAN,IAAY,gBAiBX;AAjBD,WAAY,gBAAgB;IAC1B,8CAA8C;IAC9C,iDAA6B,CAAA;IAC7B,mDAAmD;IACnD,2CAAuB,CAAA;IACvB,sDAAsD;IACtD,iDAA6B,CAAA;IAC7B,mDAAmD;IACnD,2CAAuB,CAAA;IACvB,kDAAkD;IAClD,yCAAqB,CAAA;IACrB,qDAAqD;IACrD,mDAA+B,CAAA;IAC/B,kDAAkD;IAClD,yCAAqB,CAAA;IACrB,oDAAoD;IACpD,6CAAyB,CAAA;AAC3B,CAAC,EAjBW,gBAAgB,KAAhB,gBAAgB,QAiB3B;AAwBD,MAAM,UAAU,4BAA4B,CAAC,IAAS;IACpD,OAAO;QACL,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;YAC7B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,0CAA0C,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KACnE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0CAA0C,CACxD,MAAwC;IAExC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,qCAAqC,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;AACL,CAAC;AAkBD,MAAM,UAAU,qCAAqC,CAAC,IAAS;IAC7D,OAAO;QACL,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC;QACpC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;QACpB,YAAY,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC;YACjC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;YACtB,CAAC,CAAC,2CAA2C,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACrE,mBAAmB,EAAE,IAAI,CAAC,qBAAqB,CAAC;QAChD,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,CAAC;QAC9C,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;KAC7B,CAAC;AACJ,CAAC;AAED,wCAAwC;AACxC,MAAM,CAAN,IAAY,sBAqBX;AArBD,WAAY,sBAAsB;IAChC,4CAA4C;IAC5C,uDAA6B,CAAA;IAC7B,wCAAwC;IACxC,iDAAuB,CAAA;IACvB,qCAAqC;IACrC,2CAAiB,CAAA;IACjB,uCAAuC;IACvC,+CAAqB,CAAA;IACrB,6EAA6E;IAC7E,+CAAqB,CAAA;IACrB,0CAA0C;IAC1C,+CAAqB,CAAA;IACrB,0CAA0C;IAC1C,+CAAqB,CAAA;IACrB,wCAAwC;IACxC,2CAAiB,CAAA;IACjB,0CAA0C;IAC1C,+CAAqB,CAAA;IACrB,yCAAyC;IACzC,6CAAmB,CAAA;AACrB,CAAC,EArBW,sBAAsB,KAAtB,sBAAsB,QAqBjC;AAoBD,MAAM,UAAU,2CAA2C,CACzD,MAAyC;IAEzC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,sCAAsC,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;AACL,CAAC;AAQD,MAAM,UAAU,sCAAsC,CAAC,IAAS;IAC9D,OAAO;QACL,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;KAC7B,CAAC;AACJ,CAAC;AAED,0EAA0E;AAC1E,MAAM,CAAN,IAAY,uBAKX;AALD,WAAY,uBAAuB;IACjC,4CAA4C;IAC5C,wCAAa,CAAA;IACb,yCAAyC;IACzC,0CAAe,CAAA;AACjB,CAAC,EALW,uBAAuB,KAAvB,uBAAuB,QAKlC;AAoBD,MAAM,UAAU,iCAAiC,CAAC,IAAS;IACzD,OAAO;QACL,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;QAC9B,aAAa,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC;YACnC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC;YACvB,CAAC,CAAC,iCAAiC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;KAC7D,CAAC;AACJ,CAAC;AAED,yDAAyD;AACzD,MAAM,CAAN,IAAY,eAOX;AAPD,WAAY,eAAe;IACzB,mGAAmG;IACnG,sCAAmB,CAAA;IACnB,sGAAsG;IACtG,sCAAmB,CAAA;IACnB,0GAA0G;IAC1G,wCAAqB,CAAA;AACvB,CAAC,EAPW,eAAe,KAAf,eAAe,QAO1B;AAaD,MAAM,UAAU,iCAAiC,CAAC,MAA+B;IAC/E,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,4BAA4B,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;AACL,CAAC;AAUD,MAAM,UAAU,4BAA4B,CAAC,IAAS;IACpD,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;KACzB,CAAC;AACJ,CAAC;AAUD,MAAM,UAAU,8BAA8B,CAAC,IAA0B;IACvE,OAAO;QACL,mBAAmB,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC;YAC/C,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC;YAC7B,CAAC,CAAC,6BAA6B,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;KAC/D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAC,IAAS;IACxD,OAAO;QACL,mBAAmB,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC;YAC/C,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC;YAC7B,CAAC,CAAC,+BAA+B,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAChE,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,CAAC;KAC7C,CAAC;AACJ,CAAC;AAUD,MAAM,UAAU,6BAA6B,CAAC,IAAyB;IACrE,OAAO;QACL,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;YAC7B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,wBAAwB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAChD,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;KACvC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,IAAS;IACvD,OAAO;QACL,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;YAC7B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,0BAA0B,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAClD,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;KACvC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,MAAwB;IAC/D,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,MAAwB;IACjE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,qBAAqB,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;AACL,CAAC;AAwBD,MAAM,UAAU,mBAAmB,CAAC,IAAe;IACjD,OAAO;QACL,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,oBAAoB,EAAE,IAAI,CAAC,sBAAsB,CAAC;QAClD,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC;QACpC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;QAC9B,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;QAC9B,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACtC,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;YAC7B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;gBAChC,OAAO,CAAC,CAAC;YACX,CAAC,CAAC;QACN,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,CAAC;KAC/C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAS;IAC7C,OAAO;QACL,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,oBAAoB,EAAE,IAAI,CAAC,sBAAsB,CAAC;QAClD,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC;QACpC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;QAC9B,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;QAC9B,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACtC,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;YAC7B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;gBAChC,OAAO,CAAC,CAAC;YACX,CAAC,CAAC;QACN,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,CAAC;KAC/C,CAAC;AACJ,CAAC;AAUD,MAAM,UAAU,iCAAiC,CAAC,IAAS;IACzD,OAAO;QACL,KAAK,EAAE,gCAAgC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtD,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;KAC3B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,MAA8B;IAC3E,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,yBAAyB,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAC,MAA8B;IAC7E,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,2BAA2B,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC;AAUD,MAAM,UAAU,yBAAyB,CAAC,IAAqB;IAC7D,OAAO;QACL,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;YAClD,OAAO,CAAC,CAAC;QACX,CAAC,CAAC;QACF,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;KACvC,CAAC;AACJ,CAAC;AAQD,MAAM,UAAU,4BAA4B,CAAC,IAAS;IACpD,OAAO;QACL,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC;KACvB,CAAC;AACJ,CAAC;AAgBD,MAAM,UAAU,mBAAmB,CAAC,IAAe;IACjD,OAAO;QACL,UAAU,EAAE,oBAAoB,CAAC,IAAI,EAAE,CAAC,qBAAqB,CAAC,CAAC;YAC7D,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,8BAA8B,CAAC,IAAI,CAAC;KACzC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAS;IAC7C,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC;QACd,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;YAC7B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC9C,GAAG,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACrB,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,gCAAgC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;KAC1D,CAAC;AACJ,CAAC;AA8BD,MAAM,UAAU,6BAA6B,CAAC,IAAyB;IACrE,OAAO;QACL,mBAAmB,EAAE,oBAAoB,CAAC,IAAI,EAAE;YAC9C,gBAAgB;YAChB,WAAW;YACX,MAAM;YACN,oBAAoB;YACpB,yBAAyB;YACzB,UAAU;YACV,mBAAmB;YACnB,wBAAwB;SACzB,CAAC;YACA,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,iDAAiD,CAAC,IAAI,CAAC;KAC5D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,IAAS;IACvD,OAAO;QACL,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,CAAC;QAC5C,GAAG,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC;YAC9B,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC;YAC7B,CAAC,CAAC,mDAAmD,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;QACrF,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACtC,uBAAuB,EAAE,CAAC,IAAI,CAAC,yBAAyB,CAAC;YACvD,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC;YACjC,CAAC,CAAC,sCAAsC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QAC3E,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;KAC7B,CAAC;AACJ,CAAC;AAsBD,MAAM,UAAU,6BAA6B,CAAC,IAAyB;IACrE,OAAO;QACL,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACtC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;QAC5B,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,CAAC;QAC9C,uBAAuB,EAAE,IAAI,CAAC,yBAAyB,CAAC;QACxD,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;QAC1B,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,CAAC;QAC5C,sBAAsB,EAAE,IAAI,CAAC,wBAAwB,CAAC;KACvD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,IAAS;IACvD,OAAO;QACL,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACtC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;QAC5B,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,CAAC;QAC9C,uBAAuB,EAAE,IAAI,CAAC,yBAAyB,CAAC;QACxD,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;QAC1B,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,CAAC;QAC5C,sBAAsB,EAAE,IAAI,CAAC,wBAAwB,CAAC;KACvD,CAAC;AACJ,CAAC;AAED,2KAA2K;AAC3K,MAAM,CAAN,IAAY,4BAqCX;AArCD,WAAY,4BAA4B;IACtC,4CAA4C;IAC5C,6DAA6B,CAAA;IAC7B,gDAAgD;IAChD,+CAAe,CAAA;IACf,gDAAgD;IAChD,uDAAuB,CAAA;IACvB,mDAAmD;IACnD,qDAAqB,CAAA;IACrB,iDAAiD;IACjD,iDAAiB,CAAA;IACjB,+BAA+B;IAC/B,uDAAuB,CAAA;IACvB,kCAAkC;IAClC,6DAA6B,CAAA;IAC7B,qDAAqD;IACrD,mDAAmB,CAAA;IACnB,uDAAuD;IACvD,qDAAqB,CAAA;IACrB,uDAAuD;IACvD,qDAAqB,CAAA;IACrB,uDAAuD;IACvD,qDAAqB,CAAA;IACrB,qDAAqD;IACrD,iDAAiB,CAAA;IACjB,6CAA6C;IAC7C,yEAAyC,CAAA;IACzC,gDAAgD;IAChD,yEAAyC,CAAA;IACzC,+DAA+D;IAC/D,yDAAyB,CAAA;IACzB,gEAAgE;IAChE,qDAAqB,CAAA;IACrB,qEAAqE;IACrE,6DAA6B,CAAA;IAC7B,yEAAyE;IACzE,iGAAiE,CAAA;AACnE,CAAC,EArCW,4BAA4B,KAA5B,4BAA4B,QAqCvC;AA4BD,MAAM,UAAU,sCAAsC,CACpD,MAAoC;IAEpC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,iCAAiC,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AACL,CAAC;AAgBD,MAAM,UAAU,iCAAiC,CAAC,IAAS;IACzD,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;QAC5B,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,CAAC;QAC9C,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;QACpB,YAAY,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC;YACjC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;YACtB,CAAC,CAAC,iCAAiC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;KAC5D,CAAC;AACJ,CAAC;AAED,6MAA6M;AAC7M,MAAM,CAAN,IAAY,uBAmCX;AAnCD,WAAY,uBAAuB;IACjC,kCAAkC;IAClC,wDAA6B,CAAA;IAC7B,wDAAwD;IACxD,0CAAe,CAAA;IACf,sDAAsD;IACtD,kDAAuB,CAAA;IACvB,4CAA4C;IAC5C,gDAAqB,CAAA;IACrB,sCAAsC;IACtC,4CAAiB,CAAA;IACjB,8CAA8C;IAC9C,kDAAuB,CAAA;IACvB,iDAAiD;IACjD,wDAA6B,CAAA;IAC7B,oDAAoD;IACpD,8CAAmB,CAAA;IACnB,kDAAkD;IAClD,gDAAqB,CAAA;IACrB,kDAAkD;IAClD,gDAAqB,CAAA;IACrB,oDAAoD;IACpD,gDAAqB,CAAA;IACrB,gDAAgD;IAChD,4CAAiB,CAAA;IACjB,mDAAmD;IACnD,oEAAyC,CAAA;IACzC,wDAAwD;IACxD,oEAAyC,CAAA;IACzC,wDAAwD;IACxD,oDAAyB,CAAA;IACzB,0EAA0E;IAC1E,gDAAqB,CAAA;IACrB,gEAAgE;IAChE,wDAA6B,CAAA;AAC/B,CAAC,EAnCW,uBAAuB,KAAvB,uBAAuB,QAmClC;AAuCD,MAAM,UAAU,iCAAiC,CAAC,IAAS;IACzD,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,CAAC;QAC9C,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC;YACrB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;YAChB,CAAC,CAAC,uCAAuC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KAC5D,CAAC;AACJ,CAAC;AAgBD,MAAM,UAAU,uCAAuC,CAAC,IAAS;IAC/D,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;QACpB,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC;QACpC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;QACxB,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KAC5D,CAAC;AACJ,CAAC;AAED,kFAAkF;AAClF,MAAM,CAAN,IAAY,qBAOX;AAPD,WAAY,qBAAqB;IAC/B,yDAAyD;IACzD,sCAAa,CAAA;IACb,4EAA4E;IAC5E,4CAAmB,CAAA;IACnB,4DAA4D;IAC5D,wCAAe,CAAA;AACjB,CAAC,EAPW,qBAAqB,KAArB,qBAAqB,QAOhC;AAmBD,MAAM,UAAU,wBAAwB,CAAC,IAAoB;IAC3D,OAAO;QACL,UAAU,EAAE,oBAAoB,CAAC,IAAI,EAAE,CAAC,qBAAqB,CAAC,CAAC;YAC7D,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,mCAAmC,CAAC,IAAI,CAAC;KAC9C,CAAC;AACJ,CAAC;AAQD,MAAM,UAAU,kCAAkC,CAAC,IAA8B;IAC/E,OAAO;QACL,mBAAmB,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC;YAC/C,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC;YAC7B,CAAC,CAAC,kCAAkC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;KACpE,CAAC;AACJ,CAAC;AAcD,MAAM,UAAU,kCAAkC,CAAC,IAA8B;IAC/E,OAAO;QACL,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,CAAC;QAC9C,sBAAsB,EAAE,IAAI,CAAC,wBAAwB,CAAC;QACtD,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;QAC1B,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,CAAC;KAC7C,CAAC;AACJ,CAAC;AAUD,MAAM,UAAU,0BAA0B,CAAC,IAAS;IAClD,OAAO;QACL,KAAK,EAAE,0BAA0B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChD,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;KAC3B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,MAAwB;IAC/D,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,MAAwB;IACjE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,qBAAqB,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;AACL,CAAC;AAQD,MAAM,UAAU,oCAAoC,CAAC,IAAgC;IACnF,OAAO,EAAE,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;AAClD,CAAC;AAQD,MAAM,UAAU,qBAAqB,CAAC,IAAS;IAC7C,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC;QACd,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;YAC7B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC9C,GAAG,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACrB,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,gCAAgC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;KAC1D,CAAC;AACJ,CAAC;AAQD,MAAM,UAAU,+BAA+B,CAAC,IAAS;IACvD,OAAO;QACL,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,CAAC;KAC7C,CAAC;AACJ,CAAC;AAUD,MAAM,UAAU,0BAA0B,CAAC,IAAS;IAClD,OAAO;QACL,KAAK,EAAE,0BAA0B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChD,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;KAC3B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,MAAwB;IACjE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,qBAAqB,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;AACL,CAAC;AAgBD,MAAM,UAAU,yBAAyB,CAAC,IAAqB;IAC7D,OAAO;QACL,UAAU,EAAE,oBAAoB,CAAC,IAAI,EAAE;YACrC,iCAAiC;YACjC,0BAA0B;YAC1B,yDAAyD;SAC1D,CAAC;YACA,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,oCAAoC,CAAC,IAAI,CAAC;KAC/C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,IAAS;IACnD,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC;QACd,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;YAC7B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC9C,GAAG,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACrB,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,sCAAsC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;KAChE,CAAC;AACJ,CAAC;AAgBD,MAAM,UAAU,4BAA4B,CAAC,IAAwB;IACnE,OAAO;QACL,+BAA+B,EAAE,IAAI,CAAC,iCAAiC,CAAC;QACxE,wBAAwB,EAAE,IAAI,CAAC,0BAA0B,CAAC;QAC1D,uDAAuD,EACrD,IAAI,CAAC,yDAAyD,CAAC;KAClE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,IAAS;IACtD,OAAO;QACL,+BAA+B,EAAE,IAAI,CAAC,iCAAiC,CAAC;QACxE,wBAAwB,EAAE,IAAI,CAAC,0BAA0B,CAAC;QAC1D,uDAAuD,EACrD,IAAI,CAAC,yDAAyD,CAAC;QACjE,wBAAwB,EAAE,CAAC,IAAI,CAAC,0BAA0B,CAAC;YACzD,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC;YAClC,CAAC,CAAC,oCAAoC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAC1E,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,CAAC;KAC7C,CAAC;AACJ,CAAC;AAED,+DAA+D;AAC/D,MAAM,CAAN,IAAY,6BAKX;AALD,WAAY,6BAA6B;IACvC,kEAAkE;IAClE,gDAAe,CAAA;IACf,4HAA4H;IAC5H,4EAA2C,CAAA;AAC7C,CAAC,EALW,6BAA6B,KAA7B,6BAA6B,QAKxC;AA0BD,MAAM,UAAU,oCAAoC,CAAC,IAAS;IAC5D,OAAO;QACL,qBAAqB,EAAE,IAAI,CAAC,uBAAuB,CAAC;QACpD,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACtC,mBAAmB,EAAE,IAAI,CAAC,qBAAqB,CAAC;QAChD,sBAAsB,EAAE,IAAI,CAAC,wBAAwB,CAAC;QACtD,WAAW,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;KACxF,CAAC;AACJ,CAAC;AAED,sDAAsD;AACtD,MAAM,CAAN,IAAY,qBAOX;AAPD,WAAY,qBAAqB;IAC/B,gCAAgC;IAChC,gDAAuB,CAAA;IACvB,oCAAoC;IACpC,sDAA6B,CAAA;IAC7B,gDAAgD;IAChD,4CAAmB,CAAA;AACrB,CAAC,EAPW,qBAAqB,KAArB,qBAAqB,QAOhC;AAqBD,MAAM,UAAU,sCAAsC,CAAC,IAAS;IAC9D,OAAO;QACL,KAAK,EAAE,gCAAgC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtD,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;KAC3B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,MAA8B;IAC3E,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,yBAAyB,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAC,MAA8B;IAC7E,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,2BAA2B,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC;AAkBD,MAAM,UAAU,eAAe,CAAC,IAAS;IACvC,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC;QACd,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;YAC7B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC9C,GAAG,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;KAC/F,CAAC;AACJ,CAAC;AAkBD,MAAM,UAAU,yBAAyB,CAAC,IAAS;IACjD,OAAO;QACL,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,CAAC;QAC5C,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;QACxB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;QACxB,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACtC,WAAW,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC;YAC/B,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC;YACrB,CAAC,CAAC,4BAA4B,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;KACtD,CAAC;AACJ,CAAC;AAUD,MAAM,UAAU,oBAAoB,CAAC,IAAS;IAC5C,OAAO;QACL,KAAK,EAAE,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1C,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;KAC3B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAAkB;IACrD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;AACL,CAAC;AAoBD,MAAM,UAAU,mBAAmB,CAAC,IAAe;IACjD,OAAO;QACL,UAAU,EAAE,oBAAoB,CAAC,IAAI,EAAE;YACrC,aAAa;YACb,iBAAiB;YACjB,UAAU;YACV,OAAO;YACP,UAAU;SACX,CAAC;YACA,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,8BAA8B,CAAC,IAAI,CAAC;QACxC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;KAC3B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAS;IAC7C,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC;QACd,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;YAC7B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC9C,GAAG,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACrB,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,gCAAgC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;QACzD,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;KAC3B,CAAC;AACJ,CAAC;AAkCD,MAAM,UAAU,6BAA6B,CAAC,IAAyB;IACrE,OAAO;QACL,WAAW,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE;QAC3F,eAAe,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACvC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACzB,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,WAAW,EAAE;QACzC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;QAC1B,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;QACpB,QAAQ,EAAE,oBAAoB,CAAC,IAAI,EAAE;YACnC,MAAM;YACN,aAAa;YACb,cAAc;YACd,QAAQ;YACR,cAAc;YACd,YAAY;YACZ,oBAAoB;YACpB,uBAAuB;YACvB,OAAO;SACR,CAAC;YACA,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,sCAAsC,CAAC,IAAI,CAAC;KACjD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,IAAS;IACvD,OAAO;QACL,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,CAAC;QAC5C,WAAW,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACvF,eAAe,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACvC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACzB,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACrC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;QAC1B,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;QACpB,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;YACnB,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;YAClB,CAAC,CAAC,wCAAwC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;KAChE,CAAC;AACJ,CAAC;AAED,kKAAkK;AAClK,MAAM,CAAN,IAAY,6BASX;AATD,WAAY,6BAA6B;IACvC,gDAAgD;IAChD,oDAAmB,CAAA;IACnB,6CAA6C;IAC7C,wDAAuB,CAAA;IACvB,+CAA+C;IAC/C,0DAAyB,CAAA;IACzB,sDAAsD;IACtD,kDAAiB,CAAA;AACnB,CAAC,EATW,6BAA6B,KAA7B,6BAA6B,QASxC;AAoCD,MAAM,UAAU,cAAc,CAAC,IAAU;IACvC,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC;QAClC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC;QACtB,YAAY,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE;QAC/F,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE;QACvF,kBAAkB,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC;YAC7C,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC;YAC5B,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,WAAW,EAAE;QAC5C,qBAAqB,EAAE,IAAI,CAAC,uBAAuB,CAAC;QACpD,KAAK,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KAC3E,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAS;IACxC,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC;QAClC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC;QACtB,YAAY,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC3F,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACnF,kBAAkB,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC;YAC7C,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC;YAC5B,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACxC,qBAAqB,EAAE,IAAI,CAAC,uBAAuB,CAAC;QACpD,KAAK,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KAC7E,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAAmB;IACrD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,MAAmB;IACvD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;AACL,CAAC;AAUD,MAAM,UAAU,0BAA0B,CAAC,IAAS;IAClD,OAAO;QACL,KAAK,EAAE,0BAA0B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChD,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;KAC3B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,MAAwB;IAC/D,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,MAAwB;IACjE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,qBAAqB,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;AACL,CAAC;AAkDD,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,OAAO;QACL,UAAU,EAAE,oBAAoB,CAAC,IAAI,EAAE;YACrC,eAAe;YACf,aAAa;YACb,uBAAuB;YACvB,OAAO;YACP,eAAe;YACf,mBAAmB;YACnB,gBAAgB;YAChB,aAAa;YACb,mBAAmB;YACnB,iBAAiB;YACjB,aAAa;YACb,iBAAiB;YACjB,aAAa;YACb,SAAS;YACT,WAAW;YACX,aAAa;YACb,kBAAkB;YAClB,aAAa;YACb,sBAAsB;YACtB,uBAAuB;SACxB,CAAC;YACA,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,2BAA2B,CAAC,IAAI,CAAC;QACrC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;KAC3B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAS;IAC1C,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC;QACd,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;YAC7B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC9C,GAAG,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACrB,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,6BAA6B,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;QACtD,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;KAC3B,CAAC;AACJ,CAAC;AAkDD,MAAM,UAAU,0BAA0B,CAAC,IAAsB;IAC/D,OAAO;QACL,aAAa,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC;YACnC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC;YACvB,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,WAAW,EAAE;QACvC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,qBAAqB,EAAE,IAAI,CAAC,uBAAuB,CAAC;QACpD,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;QACpB,aAAa,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC;YACnC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC;YACvB,CAAC,CAAC,iCAAiC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC5D,iBAAiB,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3C,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3B,CAAC,CAAC,iCAAiC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAChE,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACtC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,iBAAiB,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3C,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3B,CAAC,CAAC,6BAA6B,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC5D,eAAe,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACvC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACzB,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,WAAW,EAAE;QACzC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,eAAe,EAAE,IAAI,CAAC,iBAAiB,CAAC;QACxC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;QACxB,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;QAC5B,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,gBAAgB,EAAE,IAAI,CAAC,kBAAkB,CAAC;QAC1C,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,oBAAoB,EAAE,IAAI,CAAC,sBAAsB,CAAC;QAClD,qBAAqB,EAAE,oBAAoB,CAAC,IAAI,EAAE,CAAC,oBAAoB,EAAE,eAAe,CAAC,CAAC;YACxF,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,gDAAgD,CAAC,IAAI,CAAC;KAC3D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,IAAS;IACpD,OAAO;QACL,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,CAAC;QAC5C,aAAa,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC/F,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,qBAAqB,EAAE,IAAI,CAAC,uBAAuB,CAAC;QACpD,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;QACpB,aAAa,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC;YACnC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC;YACvB,CAAC,CAAC,mCAAmC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC9D,iBAAiB,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3C,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3B,CAAC,CAAC,mCAAmC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAClE,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACtC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,iBAAiB,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3C,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3B,CAAC,CAAC,+BAA+B,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC9D,eAAe,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACvC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACzB,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACrC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,eAAe,EAAE,IAAI,CAAC,iBAAiB,CAAC;QACxC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;QACxB,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;QAC5B,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,gBAAgB,EAAE,IAAI,CAAC,kBAAkB,CAAC;QAC1C,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,oBAAoB,EAAE,IAAI,CAAC,sBAAsB,CAAC;QAClD,GAAG,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC;YAChC,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC;YAC/B,CAAC,CAAC,kDAAkD,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC;KACvF,CAAC;AACJ,CAAC;AAED,6OAA6O;AAC7O,MAAM,CAAN,IAAY,UA2CX;AA3CD,WAAY,UAAU;IACpB,iFAAiF;IACjF,iDAAmC,CAAA;IACnC,uDAAuD;IACvD,mCAAqB,CAAA;IACrB,2CAA2C;IAC3C,6BAAe,CAAA;IACf,oFAAoF;IACpF,6GAA+F,CAAA;IAC/F,wDAAwD;IACxD,qCAAuB,CAAA;IACvB,+CAA+C;IAC/C,uCAAyB,CAAA;IACzB,kDAAkD;IAClD,qCAAuB,CAAA;IACvB,2CAA2C;IAC3C,qDAAuC,CAAA;IACvC,sCAAsC;IACtC,uDAAyC,CAAA;IACzC,mDAAmD;IACnD,iCAAmB,CAAA;IACnB,8DAA8D;IAC9D,mCAAqB,CAAA;IACrB,gDAAgD;IAChD,yCAA2B,CAAA;IAC3B,kCAAkC;IAClC,+CAAiC,CAAA;IACjC,oEAAoE;IACpE,+CAAiC,CAAA;IACjC,sEAAsE;IACtE,qDAAuC,CAAA;IACvC,mFAAmF;IACnF,+CAAiC,CAAA;IACjC,0CAA0C;IAC1C,+CAAiC,CAAA;IACjC,mCAAmC;IACnC,uCAAyB,CAAA;IACzB,iEAAiE;IACjE,qEAAuD,CAAA;IACvD,2DAA2D;IAC3D,uDAAyC,CAAA;IACzC,kEAAkE;IAClE,2DAA6C,CAAA;AAC/C,CAAC,EA3CW,UAAU,KAAV,UAAU,QA2CrB;AA+BD,MAAM,UAAU,iCAAiC,CAAC,MAAiC;IACjF,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,4BAA4B,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,mCAAmC,CAAC,MAAiC;IACnF,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,8BAA8B,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACL,CAAC;AAYD,MAAM,UAAU,4BAA4B,CAAC,IAAwB;IACnE,OAAO;QACL,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;QAC9B,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;QACxB,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;KACjC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,IAAS;IACtD,OAAO;QACL,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;QAC9B,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;QACxB,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;KACjC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iCAAiC,CAAC,MAAiC;IACjF,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,4BAA4B,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,mCAAmC,CAAC,MAAiC;IACnF,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,8BAA8B,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACL,CAAC;AAYD,MAAM,UAAU,4BAA4B,CAAC,IAAwB;IACnE,OAAO;QACL,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;QACxB,WAAW,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE;KAC5F,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,IAAS;IACtD,OAAO;QACL,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;QACxB,WAAW,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;KACxF,CAAC;AACJ,CAAC;AAED,sJAAsJ;AACtJ,MAAM,CAAN,IAAY,sBAOX;AAPD,WAAY,sBAAsB;IAChC,oDAAoD;IACpD,6CAAmB,CAAA;IACnB,sDAAsD;IACtD,uCAAa,CAAA;IACb,iDAAiD;IACjD,yCAAe,CAAA;AACjB,CAAC,EAPW,sBAAsB,KAAtB,sBAAsB,QAOjC;AAaD,mLAAmL;AACnL,MAAM,CAAN,IAAY,gBAaX;AAbD,WAAY,gBAAgB;IAC1B,6DAA6D;IAC7D,uCAAmB,CAAA;IACnB,yEAAyE;IACzE,uCAAmB,CAAA;IACnB,4DAA4D;IAC5D,uCAAmB,CAAA;IACnB,iFAAiF;IACjF,uCAAmB,CAAA;IACnB,yDAAyD;IACzD,mCAAe,CAAA;IACf,iDAAiD;IACjD,6CAAyB,CAAA;AAC3B,CAAC,EAbW,gBAAgB,KAAhB,gBAAgB,QAa3B;AAgBD,MAAM,UAAU,6BAA6B,CAAC,MAA6B;IACzE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,wBAAwB,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,MAA6B;IAC3E,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,0BAA0B,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;AACL,CAAC;AAoCD,MAAM,UAAU,wBAAwB,CAAC,IAAoB;IAC3D,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,4BAA4B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/E,eAAe,EAAE,IAAI,CAAC,iBAAiB,CAAC;QACxC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;QACpB,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC;QACtB,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;QAC1B,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,gBAAgB,EAAE,IAAI,CAAC,kBAAkB,CAAC;QAC1C,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,CAAC;QAC9C,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,CAAC;QAC9C,SAAS,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE;QACnF,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACtC,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,CAAC;KAC7C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,IAAS;IAClD,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,8BAA8B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjF,eAAe,EAAE,IAAI,CAAC,iBAAiB,CAAC;QACxC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;QACpB,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC;QACtB,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;QAC1B,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,gBAAgB,EAAE,IAAI,CAAC,kBAAkB,CAAC;QAC1C,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,CAAC;QAC9C,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,CAAC;QAC9C,SAAS,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC/E,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACtC,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,CAAC;KAC7C,CAAC;AACJ,CAAC;AAUD,MAAM,UAAU,4BAA4B,CAAC,IAAwB;IACnE,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,IAAS;IACtD,OAAO;QACL,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC;QAChB,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;KACrB,CAAC;AACJ,CAAC;AAED,qKAAqK;AACrK,MAAM,CAAN,IAAY,aASX;AATD,WAAY,aAAa;IACvB,6EAA6E;IAC7E,sCAAqB,CAAA;IACrB,gFAAgF;IAChF,oCAAmB,CAAA;IACnB,4DAA4D;IAC5D,gDAA+B,CAAA;IAC/B,wDAAwD;IACxD,kCAAiB,CAAA;AACnB,CAAC,EATW,aAAa,KAAb,aAAa,QASxB;AAcD,wLAAwL;AACxL,MAAM,CAAN,IAAY,qBAOX;AAPD,WAAY,qBAAqB;IAC/B,sEAAsE;IACtE,wCAAe,CAAA;IACf,6DAA6D;IAC7D,0CAAiB,CAAA;IACjB,6EAA6E;IAC7E,0CAAiB,CAAA;AACnB,CAAC,EAPW,qBAAqB,KAArB,qBAAqB,QAOhC;AAqBD,MAAM,UAAU,+BAA+B,CAAC,IAA2B;IACzE,OAAO,EAAE,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;AAClG,CAAC;AAED,MAAM,UAAU,iCAAiC,CAAC,IAAS;IACzD,OAAO;QACL,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,CAAC;QAC9C,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC;KACrC,CAAC;AACJ,CAAC;AAUD,MAAM,UAAU,uBAAuB,CAAC,IAAS;IAC/C,OAAO;QACL,KAAK,EAAE,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7C,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;KAC3B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,MAAqB;IACzD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,MAAqB;IAC3D,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;AACL,CAAC;AAQD,MAAM,UAAU,6BAA6B,CAAC,IAAyB;IACrE,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;AAC5C,CAAC;AAQD,MAAM,UAAU,mCAAmC,CAAC,IAAS;IAC3D,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC;QACd,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;YAC7B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC9C,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;YAC7B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,6CAA6C,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KACtE,CAAC;AACJ,CAAC;AAUD,MAAM,UAAU,6CAA6C,CAC3D,IAAS;IAET,OAAO;QACL,aAAa,EAAE,0CAA0C,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAChF,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;KAC7B,CAAC;AACJ,CAAC;AAYD,MAAM,UAAU,0CAA0C,CACxD,IAAS;IAET,OAAO;QACL,IAAI,EAAE,uCAAuC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3D,YAAY,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC;YACjC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;YACtB,CAAC,CAAC,+CAA+C,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACzE,UAAU,EAAE,iDAAiD,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KAClF,CAAC;AACJ,CAAC;AAUD,MAAM,UAAU,uCAAuC,CAAC,IAAS;IAC/D,OAAO;QACL,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC;QAClC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;KACzB,CAAC;AACJ,CAAC;AAUD,MAAM,UAAU,+CAA+C,CAC7D,IAAS;IAET,OAAO;QACL,mBAAmB,EAAE,kDAAkD,CACrE,IAAI,CAAC,qBAAqB,CAAC,CAC5B;QACD,gBAAgB,EAAE,kDAAkD,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;KAC/F,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kDAAkD,CAChE,MAAgD;IAEhD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,6CAA6C,CAAC,IAAI,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;AACL,CAAC;AAQD,MAAM,UAAU,6CAA6C,CAC3D,IAAS;IAET,OAAO;QACL,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;KACvC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iDAAiD,CAC/D,MAA+C;IAE/C,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,4CAA4C,CAAC,IAAI,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;AACL,CAAC;AAoBD,MAAM,UAAU,4CAA4C,CAC1D,IAAS;IAET,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,eAAe,EAAE,IAAI,CAAC,iBAAiB,CAAC;QACxC,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC;QAClC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;YAChC,OAAO,CAAC,CAAC;QACX,CAAC,CAAC;QACF,QAAQ,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC;YACzB,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;YAClB,CAAC,CAAC,wDAAwD,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9E,QAAQ,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC;YACzB,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;YAClB,CAAC,CAAC,oDAAoD,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KAC3E,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wDAAwD,CACtE,MAAsD;IAEtD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,mDAAmD,CAAC,IAAI,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;AACL,CAAC;AAcD,MAAM,UAAU,mDAAmD,CACjE,IAAS;IAET,OAAO;QACL,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;QAC9B,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;QAC1B,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC;KACjB,CAAC;AACJ,CAAC;AA4BD,MAAM,UAAU,oDAAoD,CAClE,IAAS;IAET,OAAO;QACL,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC;QACpC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;QAC5B,sBAAsB,EAAE,IAAI,CAAC,wBAAwB,CAAC;QACtD,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;QAC5B,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;QACxB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC;QAClC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC;QAClC,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC;KACrC,CAAC;AACJ,CAAC;AAUD,MAAM,UAAU,8CAA8C,CAC5D,IAAS;IAET,OAAO;QACL,KAAK,EAAE,wCAAwC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9D,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;KAC3B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wCAAwC,CACtD,MAAsC;IAEtC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,mCAAmC,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;AACL,CAAC;AAUD,MAAM,UAAU,qBAAqB,CAAC,IAAiB;IACrD,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;QAC1B,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;YAC7B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,+BAA+B,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACvD,QAAQ,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC;YACzB,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;YAClB,CAAC,CAAC,gCAAgC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KACvD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,IAAS;IAC/C,OAAO;QACL,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC;YACjB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;YACd,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAgB,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3F,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;QAC1B,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC;QACd,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;YAC7B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC9C,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;YAC7B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,iCAAiC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACzD,QAAQ,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC;YACzB,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;YAClB,CAAC,CAAC,kCAAkC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KACzD,CAAC;AACJ,CAAC;AAsCD,MAAM,UAAU,+BAA+B,CAAC,IAA2B;IACzE,OAAO;QACL,eAAe,EAAE,IAAI,CAAC,iBAAiB,CAAC;QACxC,yBAAyB,EAAE,IAAI,CAAC,2BAA2B,CAAC;QAC5D,oBAAoB,EAAE,IAAI,CAAC,sBAAsB,CAAC;QAClD,oBAAoB,EAAE,IAAI,CAAC,sBAAsB,CAAC;QAClD,WAAW,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC;YAC/B,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC;YACrB,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC9C,uBAAuB,EAAE,CAAC,IAAI,CAAC,yBAAyB,CAAC;YACvD,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC;YACjC,CAAC,CAAC,iCAAiC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACtE,mBAAmB,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC;YAC/C,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC;YAC7B,CAAC,CAAC,6BAA6B,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;KAC/D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iCAAiC,CAAC,IAAS;IACzD,OAAO;QACL,eAAe,EAAE,IAAI,CAAC,iBAAiB,CAAC;QACxC,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,CAAC;QAC5C,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;QACxB,yBAAyB,EAAE,IAAI,CAAC,2BAA2B,CAAC;QAC5D,oBAAoB,EAAE,IAAI,CAAC,sBAAsB,CAAC;QAClD,oBAAoB,EAAE,IAAI,CAAC,sBAAsB,CAAC;QAClD,WAAW,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC;YAC/B,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC;YACrB,CAAC,CAAC,uBAAuB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAChD,uBAAuB,EAAE,CAAC,IAAI,CAAC,yBAAyB,CAAC;YACvD,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC;YACjC,CAAC,CAAC,mCAAmC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACxE,mBAAmB,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC;YAC/C,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC;YAC7B,CAAC,CAAC,+BAA+B,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAChE,oBAAoB,EAAE,IAAI,CAAC,sBAAsB,CAAC;QAClD,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC;QAClC,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,CAAC;QAC9C,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;QAC5B,kBAAkB,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC;YAC7C,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC;YAC5B,CAAC,CAAC,yCAAyC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACzE,gBAAgB,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC;YAC1B,CAAC,CAAC,gCAAgC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC9D,iBAAiB,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3C,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3B,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;KACxC,CAAC;AACJ,CAAC;AAED,yBAAyB;AACzB,MAAM,CAAN,IAAY,oBAKX;AALD,WAAY,oBAAoB;IAC9B,kEAAkE;IAClE,6CAAqB,CAAA;IACrB,iGAAiG;IACjG,+CAAuB,CAAA;AACzB,CAAC,EALW,oBAAoB,KAApB,oBAAoB,QAK/B;AAoBD,MAAM,UAAU,qBAAqB,CAAC,IAAiB;IACrD,OAAO;QACL,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACtC,mBAAmB,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC;YAC/C,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC;YAC7B,CAAC,CAAC,mCAAmC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;KACrE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,IAAS;IAC/C,OAAO;QACL,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACtC,mBAAmB,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC;YAC/C,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC;YAC7B,CAAC,CAAC,qCAAqC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;KACvE,CAAC;AACJ,CAAC;AAgBD,MAAM,UAAU,mCAAmC,CAAC,IAA+B;IACjF,OAAO;QACL,OAAO,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,8BAA8B,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC7F,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;QAC1B,QAAQ,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC;YACzB,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;YAClB,CAAC,CAAC,+BAA+B,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACrD,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,2BAA2B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9E,OAAO,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,8BAA8B,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;KAC9F,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qCAAqC,CAAC,IAAS;IAC7D,OAAO;QACL,OAAO,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,gCAAgC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/F,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;QAC1B,QAAQ,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC;YACzB,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;YAClB,CAAC,CAAC,iCAAiC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvD,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,6BAA6B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChF,OAAO,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,gCAAgC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;KAChG,CAAC;AACJ,CAAC;AAQD,MAAM,UAAU,8BAA8B,CAAC,IAA0B;IACvE,OAAO;QACL,eAAe,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACvC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACzB,CAAC,CAAC,6BAA6B,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;KAC3D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAC,IAAS;IACxD,OAAO;QACL,eAAe,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACvC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACzB,CAAC,CAAC,+BAA+B,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;KAC7D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,MAA6B;IACzE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,wBAAwB,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,MAA6B;IAC3E,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,0BAA0B,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;AACL,CAAC;AAwBD,MAAM,UAAU,wBAAwB,CAAC,IAAoB;IAC3D,OAAO;QACL,gBAAgB,EAAE,IAAI,CAAC,kBAAkB,CAAC;QAC1C,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;QAC5B,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;QAC9B,cAAc,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC;YACrC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC;YACxB,CAAC,CAAC,wBAAwB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACpD,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;QACxB,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;QAC9B,eAAe,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACvC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACzB,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;gBACrC,OAAO,CAAC,CAAC;YACX,CAAC,CAAC;QACN,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC;KACvB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,IAAS;IAClD,OAAO;QACL,gBAAgB,EAAE,IAAI,CAAC,kBAAkB,CAAC;QAC1C,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;QAC5B,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;QAC9B,cAAc,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC;YACrC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC;YACxB,CAAC,CAAC,0BAA0B,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACtD,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;QACxB,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;QAC9B,eAAe,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACvC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACzB,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;gBACrC,OAAO,CAAC,CAAC;YACX,CAAC,CAAC;QACN,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC;KACvB,CAAC;AACJ,CAAC;AAED,0BAA0B;AAC1B,MAAM,CAAN,IAAY,qBAKX;AALD,WAAY,qBAAqB;IAC/B,8BAA8B;IAC9B,gDAAuB,CAAA;IACvB,2BAA2B;IAC3B,0CAAiB,CAAA;AACnB,CAAC,EALW,qBAAqB,KAArB,qBAAqB,QAKhC;AAoBD,MAAM,UAAU,wBAAwB,CAAC,IAAoB;IAC3D,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,IAAS;IAClD,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;QACxB,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;KACrB,CAAC;AACJ,CAAC;AAYD,MAAM,UAAU,+BAA+B,CAAC,IAA2B;IACzE,OAAO;QACL,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC;QACpC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;YAC7B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;gBAChC,OAAO,CAAC,CAAC;YACX,CAAC,CAAC;KACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iCAAiC,CAAC,IAAS;IACzD,OAAO;QACL,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC;QACpC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;YAC7B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;gBAChC,OAAO,CAAC,CAAC;YACX,CAAC,CAAC;KACP,CAAC;AACJ,CAAC;AAYD,MAAM,UAAU,2BAA2B,CAAC,IAAuB;IACjE,OAAO;QACL,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,CAAC;QAC5C,mBAAmB,EAAE,IAAI,CAAC,qBAAqB,CAAC;QAChD,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;KAC3B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,IAAS;IACrD,OAAO;QACL,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,CAAC;QAC5C,mBAAmB,EAAE,IAAI,CAAC,qBAAqB,CAAC;QAChD,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;KAC3B,CAAC;AACJ,CAAC;AAQD,MAAM,UAAU,8BAA8B,CAAC,IAA0B;IACvE,OAAO,EAAE,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAC,IAAS;IACxD,OAAO;QACL,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC;KACrC,CAAC;AACJ,CAAC;AAYD,MAAM,UAAU,iCAAiC,CAAC,IAA6B;IAC7E,OAAO,EAAE,gBAAgB,EAAE,IAAI,CAAC,kBAAkB,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;AAC5F,CAAC;AAED,MAAM,UAAU,mCAAmC,CAAC,IAAS;IAC3D,OAAO;QACL,gBAAgB,EAAE,IAAI,CAAC,kBAAkB,CAAC;QAC1C,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC;QAClC,iBAAiB,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3C,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3B,CAAC,CAAC,6CAA6C,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;KAC7E,CAAC;AACJ,CAAC;AAED,uCAAuC;AACvC,MAAM,CAAN,IAAY,iBAGX;AAHD,WAAY,iBAAiB;IAC3B,qCAAqC;IACrC,0DAAqC,CAAA;AACvC,CAAC,EAHW,iBAAiB,KAAjB,iBAAiB,QAG5B;AA+BD,MAAM,UAAU,6CAA6C,CAC3D,IAAS;IAET,OAAO;QACL,gBAAgB,EAAE,IAAI,CAAC,kBAAkB,CAAC;QAC1C,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC;QAClC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC;QACd,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC;QAClC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;QAC5B,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;QACxB,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACtC,KAAK,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KAC/E,CAAC;AACJ,CAAC;AAED,2CAA2C;AAC3C,MAAM,CAAN,IAAY,qCAKX;AALD,WAAY,qCAAqC;IAC/C,kCAAkC;IAClC,wDAAe,CAAA;IACf,oCAAoC;IACpC,4DAAmB,CAAA;AACrB,CAAC,EALW,qCAAqC,KAArC,qCAAqC,QAKhD;AAoBD,MAAM,UAAU,6BAA6B,CAAC,IAAyB;IACrE,OAAO;QACL,SAAS,EAAE,4BAA4B,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1D,WAAW,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC;YAC/B,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC;YACrB,CAAC,CAAC,0BAA0B,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;KACpD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,IAAS;IACvD,OAAO;QACL,SAAS,EAAE,8BAA8B,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC5D,WAAW,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC;YAC/B,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC;YACrB,CAAC,CAAC,4BAA4B,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;KACtD,CAAC;AACJ,CAAC;AAsBD,MAAM,UAAU,4BAA4B,CAAC,IAAwB;IACnE,OAAO;QACL,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC;QACtB,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC;QACtB,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;QAC5B,eAAe,EAAE,IAAI,CAAC,iBAAiB,CAAC;QACxC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;QAC9B,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;QAC5B,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;QAC5B,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC;KACrC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,IAAS;IACtD,OAAO;QACL,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC;QACtB,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC;QACtB,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;QAC5B,eAAe,EAAE,IAAI,CAAC,iBAAiB,CAAC;QACxC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;QAC9B,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;QAC5B,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;QAC5B,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC;KACrC,CAAC;AACJ,CAAC;AAED,kCAAkC;AAClC,MAAM,CAAN,IAAY,oBAOX;AAPD,WAAY,oBAAoB;IAC9B,gCAAgC;IAChC,+CAAuB,CAAA;IACvB,0BAA0B;IAC1B,yCAAiB,CAAA;IACjB,2BAA2B;IAC3B,2CAAmB,CAAA;AACrB,CAAC,EAPW,oBAAoB,KAApB,oBAAoB,QAO/B;AAaD,MAAM,UAAU,0BAA0B,CAAC,MAA0B;IACnE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,qBAAqB,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,MAA0B;IACrE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,uBAAuB,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;AACL,CAAC;AAcD,MAAM,UAAU,qBAAqB,CAAC,IAAiB;IACrD,OAAO;QACL,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;QAC1B,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;QAC9B,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACtC,SAAS,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC;YAC3B,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;YACnB,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;gBAC/B,OAAO,CAAC,CAAC;YACX,CAAC,CAAC;KACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,IAAS;IAC/C,OAAO;QACL,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;QAC1B,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;QAC9B,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACtC,SAAS,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC;YAC3B,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;YACnB,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;gBAC/B,OAAO,CAAC,CAAC;YACX,CAAC,CAAC;KACP,CAAC;AACJ,CAAC;AAED,8CAA8C;AAC9C,MAAM,CAAN,IAAY,eAKX;AALD,WAAY,eAAe;IACzB,qCAAqC;IACrC,wCAAqB,CAAA;IACrB,0CAA0C;IAC1C,0CAAuB,CAAA;AACzB,CAAC,EALW,eAAe,KAAf,eAAe,QAK1B;AAYD,eAAe;AACf,MAAM,CAAN,IAAY,qBAmBX;AAnBD,WAAY,qBAAqB;IAC/B,gDAAgD;IAChD,4CAAmB,CAAA;IACnB,iEAAiE;IACjE,oDAA2B,CAAA;IAC3B,2GAA2G;IAC3G,kDAAyB,CAAA;IACzB,wEAAwE;IACxE,wDAA+B,CAAA;IAC/B,mFAAmF;IACnF,8CAAqB,CAAA;IACrB,wDAAwD;IACxD,8CAAqB,CAAA;IACrB,2EAA2E;IAC3E,gDAAuB,CAAA;IACvB,wFAAwF;IACxF,0CAAiB,CAAA;IACjB,4BAA4B;IAC5B,gDAAuB,CAAA;AACzB,CAAC,EAnBW,qBAAqB,KAArB,qBAAqB,QAmBhC;AAmBD,4DAA4D;AAC5D,MAAM,CAAN,IAAY,kCAOX;AAPD,WAAY,kCAAkC;IAC5C,wEAAwE;IACxE,mEAA6B,CAAA;IAC7B,4CAA4C;IAC5C,mEAA6B,CAAA;IAC7B,yCAAyC;IACzC,6DAAuB,CAAA;AACzB,CAAC,EAPW,kCAAkC,KAAlC,kCAAkC,QAO7C;AA+BD,MAAM,UAAU,yCAAyC,CACvD,IAAS;IAET,OAAO;QACL,WAAW,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACvF,cAAc,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC;YACrC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC;YACxB,CAAC,CAAC,qCAAqC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACjE,SAAS,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC5F,eAAe,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACvC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACzB,CAAC,CAAC,2BAA2B,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACxD,cAAc,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC;YACrC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC;YACxB,CAAC,CAAC,0BAA0B,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACtD,wBAAwB,EAAE,CAAC,IAAI,CAAC,0BAA0B,CAAC;YACzD,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC;YAClC,CAAC,CAAC,oCAAoC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAC1E,gBAAgB,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC;YAC1B,CAAC,CAAC,4BAA4B,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;KAC3D,CAAC;AACJ,CAAC;AAUD,MAAM,UAAU,qCAAqC,CAAC,IAAS;IAC7D,OAAO;QACL,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;YAC7B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,qCAAqC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC7D,aAAa,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC;YACnC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC;YACvB,CAAC,CAAC,6BAA6B,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;KACzD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qCAAqC,CAAC,MAAmC;IACvF,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,gCAAgC,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;AACL,CAAC;AAsCD,MAAM,UAAU,gCAAgC,CAAC,IAAS;IACxD,OAAO;QACL,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,oBAAoB,EAAE,IAAI,CAAC,sBAAsB,CAAC;QAClD,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC;QACpC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;QAC9B,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;QAC9B,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACtC,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;YAC7B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;gBAChC,OAAO,CAAC,CAAC;YACX,CAAC,CAAC;QACN,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,CAAC;QAC9C,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;QAC9B,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;QAC9B,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;QACxB,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC;QACtB,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;QAC5B,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;KACvC,CAAC;AACJ,CAAC;AAsBD,MAAM,UAAU,qBAAqB,CAAC,IAAS;IAC7C,OAAO;QACL,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;QAC1B,eAAe,EAAE,IAAI,CAAC,iBAAiB,CAAC;QACxC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC;QACtB,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;QACpB,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;QAC5B,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,gBAAgB,EAAE,IAAI,CAAC,kBAAkB,CAAC;QAC1C,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC;KACnC,CAAC;AACJ,CAAC;AAoBD,MAAM,UAAU,2BAA2B,CAAC,IAAS;IACnD,OAAO;QACL,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;QAC1B,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;QAC9B,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,CAAC;QAC9C,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;QACpB,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC;QAClC,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC;QAClC,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC;KACrC,CAAC;AACJ,CAAC;AAQD,MAAM,UAAU,0BAA0B,CAAC,IAAS;IAClD,OAAO;QACL,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,CAAC;KAC/C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAC,MAA8B;IAC7E,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,2BAA2B,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC;AAoBD,MAAM,UAAU,2BAA2B,CAAC,IAAS;IACnD,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC;QACd,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;QAC9B,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC;QACtB,KAAK,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KAC/E,CAAC;AACJ,CAAC;AAUD,MAAM,UAAU,0BAA0B,CAAC,IAAsB;IAC/D,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,QAAQ,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC;YACzB,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;YAClB,CAAC,CAAC,gCAAgC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KACvD,CAAC;AACJ,CAAC;AAUD,MAAM,UAAU,kCAAkC,CAAC,IAAS;IAC1D,OAAO;QACL,KAAK,EAAE,4BAA4B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAClD,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;KAC3B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,MAA0B;IACnE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,qBAAqB,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,MAA0B;IACrE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,uBAAuB,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;AACL,CAAC;AAQD,MAAM,UAAU,wBAAwB,CAAC,IAAoB;IAC3D,OAAO;QACL,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;YAC7B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,uCAAuC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KAChE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,IAAS;IAClD,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC;QACd,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;YAC7B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC9C,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;YAC7B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,yCAAyC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KAClE,CAAC;AACJ,CAAC;AAuBD,MAAM,UAAU,kCAAkC,CAAC,IAA8B;IAC/E,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;AAC9E,CAAC;AAED,MAAM,UAAU,oCAAoC,CAAC,IAAS;IAC5D,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;QACxB,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACtC,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,CAAC;QAC5C,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;QACpB,YAAY,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC3F,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACnF,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC;QACtB,KAAK,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KAC/E,CAAC;AACJ,CAAC;AAUD,MAAM,UAAU,uCAAuC,CAAC,IAAmC;IACzF,QAAQ,IAAI,CAAC,OAAO,EAAE,CAAC;QACrB,KAAK,eAAe;YAClB,OAAO,+CAA+C,CACpD,IAA6C,CAC9C,CAAC;QAEJ,KAAK,aAAa;YAChB,OAAO,kCAAkC,CAAC,IAAgC,CAAC,CAAC;QAE9E,KAAK,YAAY;YACf,OAAO,iCAAiC,CAAC,IAA+B,CAAC,CAAC;QAE5E,KAAK,YAAY;YACf,OAAO,4CAA4C,CACjD,IAA0C,CAC3C,CAAC;QAEJ;YACE,OAAO,kCAAkC,CAAC,IAAI,CAAC,CAAC;IACpD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,yCAAyC,CACvD,IAAS;IAET,QAAQ,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACxB,KAAK,eAAe;YAClB,OAAO,iDAAiD,CACtD,IAA6C,CAC9C,CAAC;QAEJ,KAAK,aAAa;YAChB,OAAO,oCAAoC,CAAC,IAAgC,CAAC,CAAC;QAEhF,KAAK,YAAY;YACf,OAAO,mCAAmC,CAAC,IAA+B,CAAC,CAAC;QAE9E,KAAK,YAAY;YACf,OAAO,8CAA8C,CACnD,IAA0C,CAC3C,CAAC;QAEJ;YACE,OAAO,oCAAoC,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;AACH,CAAC;AAED,0BAA0B;AAC1B,MAAM,CAAN,IAAY,uBASX;AATD,WAAY,uBAAuB;IACjC,2CAA2C;IAC3C,oDAAyB,CAAA;IACzB,mDAAmD;IACnD,0DAA+B,CAAA;IAC/B,uDAAuD;IACvD,sDAA2B,CAAA;IAC3B,mDAAmD;IACnD,oDAAyB,CAAA;AAC3B,CAAC,EATW,uBAAuB,KAAvB,uBAAuB,QASlC;AA4BD,MAAM,UAAU,+CAA+C,CAC7D,IAA2C;IAE3C,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;QACxB,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACtC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,mBAAmB,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC,WAAW,EAAE;QAC9D,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;KACnB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iDAAiD,CAC/D,IAAS;IAET,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;QACxB,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACtC,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,CAAC;QAC5C,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;QACpB,YAAY,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC3F,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACnF,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC;QACtB,KAAK,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9E,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,mBAAmB,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAC1D,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,kBAAkB,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC;YAC7C,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC;YAC5B,CAAC,CAAC,yDAAyD,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;KAC1F,CAAC;AACJ,CAAC;AAgBD,MAAM,UAAU,yDAAyD,CACvE,IAAS;IAET,OAAO;QACL,eAAe,EAAE,IAAI,CAAC,iBAAiB,CAAC;QACxC,gBAAgB,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC;YAC1B,CAAC,CAAC,2BAA2B,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACzD,gBAAgB,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC;YAC1B,CAAC,CAAC,2BAA2B,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACzD,YAAY,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC;YACjC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;YACtB,CAAC,CAAC,gDAAgD,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC1E,cAAc,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC;YACrC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC;YACxB,CAAC,CAAC,qCAAqC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;KAClE,CAAC;AACJ,CAAC;AAgBD,MAAM,UAAU,gDAAgD,CAC9D,IAAS;IAET,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;QACpB,SAAS,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC/E,SAAS,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC/E,gBAAgB,EAAE,IAAI,CAAC,kBAAkB,CAAC;QAC1C,sBAAsB,EAAE,IAAI,CAAC,wBAAwB,CAAC;KACvD,CAAC;AACJ,CAAC;AAYD,MAAM,UAAU,kCAAkC,CAAC,IAA8B;IAC/E,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;QACxB,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACtC,mBAAmB,EAAE,6BAA6B,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAC/E,kBAAkB,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC;YAC7C,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC;YAC5B,CAAC,CAAC,uCAAuC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;KACxE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oCAAoC,CAAC,IAAS;IAC5D,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;QACxB,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACtC,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,CAAC;QAC5C,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;QACpB,YAAY,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC3F,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACnF,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC;QACtB,KAAK,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9E,mBAAmB,EAAE,+BAA+B,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACjF,kBAAkB,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC;YAC7C,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC;YAC5B,CAAC,CAAC,yCAAyC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;KAC1E,CAAC;AACJ,CAAC;AAkBD,MAAM,UAAU,6BAA6B,CAAC,IAAyB;IACrE,OAAO;QACL,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC;QACtB,SAAS,EAAE,4BAA4B,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1D,WAAW,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC;YAC/B,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC;YACrB,CAAC,CAAC,0BAA0B,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACnD,uBAAuB,EAAE,CAAC,IAAI,CAAC,yBAAyB,CAAC;YACvD,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC;YACjC,CAAC,CAAC,iCAAiC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACtE,mBAAmB,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC;YAC/C,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC;YAC7B,CAAC,CAAC,mCAAmC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACpE,mBAAmB,EAAE,IAAI,CAAC,qBAAqB,CAAC;KACjD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,IAAS;IACvD,OAAO;QACL,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC;QACtB,SAAS,EAAE,8BAA8B,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC5D,WAAW,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC;YAC/B,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC;YACrB,CAAC,CAAC,4BAA4B,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACrD,uBAAuB,EAAE,CAAC,IAAI,CAAC,yBAAyB,CAAC;YACvD,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC;YACjC,CAAC,CAAC,mCAAmC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACxE,mBAAmB,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC;YAC/C,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC;YAC7B,CAAC,CAAC,qCAAqC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACtE,mBAAmB,EAAE,IAAI,CAAC,qBAAqB,CAAC;KACjD,CAAC;AACJ,CAAC;AAED,yDAAyD;AACzD,MAAM,CAAN,IAAY,uBAKX;AALD,WAAY,uBAAuB;IACjC,qBAAqB;IACrB,oDAAyB,CAAA;IACzB,cAAc;IACd,sCAAW,CAAA;AACb,CAAC,EALW,uBAAuB,KAAvB,uBAAuB,QAKlC;AA0BD,MAAM,UAAU,iCAAiC,CAAC,IAA6B;IAC7E,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;QAC9B,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;QAC1B,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;QAC1B,mBAAmB,EAAE,IAAI,CAAC,qBAAqB,CAAC;KACjD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mCAAmC,CAAC,IAAS;IAC3D,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;QAC9B,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;QAC1B,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;QAC1B,mBAAmB,EAAE,IAAI,CAAC,qBAAqB,CAAC;KACjD,CAAC;AACJ,CAAC;AAED,gCAAgC;AAChC,MAAM,CAAN,IAAY,2BAGX;AAHD,WAAY,2BAA2B;IACrC,8BAA8B;IAC9B,4EAA6C,CAAA;AAC/C,CAAC,EAHW,2BAA2B,KAA3B,2BAA2B,QAGtC;AAqBD,MAAM,UAAU,uCAAuC,CAAC,KAAoC;IAC1F,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,yCAAyC,CACvD,IAAS;IAET,OAAO;QACL,eAAe,EAAE,IAAI,CAAC,iBAAiB,CAAC;QACxC,gBAAgB,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC;YAC1B,CAAC,CAAC,2BAA2B,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACzD,gBAAgB,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC;YAC1B,CAAC,CAAC,2BAA2B,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;KAC1D,CAAC;AACJ,CAAC;AAYD,MAAM,UAAU,iCAAiC,CAAC,IAA6B;IAC7E,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;QACxB,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACtC,eAAe,EAAE,yBAAyB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACnE,kBAAkB,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC;YAC7C,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC;YAC5B,CAAC,CAAC,uCAAuC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;KACxE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mCAAmC,CAAC,IAAS;IAC3D,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;QACxB,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACtC,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,CAAC;QAC5C,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;QACpB,YAAY,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC3F,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACnF,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC;QACtB,KAAK,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9E,eAAe,EAAE,2BAA2B,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACrE,kBAAkB,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC;YAC7C,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC;YAC5B,CAAC,CAAC,yCAAyC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;KAC1E,CAAC;AACJ,CAAC;AAUD,MAAM,UAAU,yBAAyB,CAAC,IAAqB;IAC7D,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,2BAA2B,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;AAC/F,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,IAAS;IACnD,OAAO;QACL,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC;QACtB,SAAS,EAAE,6BAA6B,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;KAC5D,CAAC;AACJ,CAAC;AAoBD,MAAM,UAAU,2BAA2B,CAAC,IAAuB;IACjE,OAAO;QACL,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC;QACtB,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC;QACtB,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;QAC5B,eAAe,EAAE,IAAI,CAAC,iBAAiB,CAAC;QACxC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;QAC9B,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;QAC5B,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;KAC7B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,IAAS;IACrD,OAAO;QACL,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC;QACtB,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC;QACtB,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;QAC5B,eAAe,EAAE,IAAI,CAAC,iBAAiB,CAAC;QACxC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;QAC9B,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;QAC5B,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;KAC7B,CAAC;AACJ,CAAC;AAgBD,MAAM,UAAU,4CAA4C,CAC1D,IAAwC;IAExC,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;QACxB,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACtC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE;QACxC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE;KACrC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,8CAA8C,CAC5D,IAAS;IAET,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;QACxB,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACtC,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,CAAC;QAC5C,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;QACpB,YAAY,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC3F,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACnF,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC;QACtB,KAAK,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9E,QAAQ,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACpC,MAAM,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChC,gBAAgB,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC;YAC1B,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACtC,kBAAkB,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC;YAC7C,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC;YAC5B,CAAC,CAAC,sDAAsD,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;KACvF,CAAC;AACJ,CAAC;AAcD,MAAM,UAAU,sDAAsD,CACpE,IAAS;IAET,OAAO;QACL,eAAe,EAAE,IAAI,CAAC,iBAAiB,CAAC;QACxC,gBAAgB,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC;YAC1B,CAAC,CAAC,2BAA2B,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACzD,gBAAgB,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC;YAC1B,CAAC,CAAC,2BAA2B,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACzD,2BAA2B,EAAE,CAAC,IAAI,CAAC,6BAA6B,CAAC;YAC/D,CAAC,CAAC,IAAI,CAAC,6BAA6B,CAAC;YACrC,CAAC,CAAC,wCAAwC,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;KAClF,CAAC;AACJ,CAAC;AAUD,MAAM,UAAU,qCAAqC,CAAC,IAAS;IAC7D,OAAO;QACL,KAAK,EAAE,+BAA+B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrD,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;KAC3B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,MAA6B;IACzE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,wBAAwB,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,MAA6B;IAC3E,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,0BAA0B,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;AACL,CAAC;AAQD,MAAM,UAAU,0CAA0C,CACxD,IAAsC;IAEtC,OAAO;QACL,uBAAuB,EAAE,sCAAsC,CAC7D,IAAI,CAAC,yBAAyB,CAAC,CAChC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sCAAsC,CACpD,MAAsC;IAEtC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,iCAAiC,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,wCAAwC,CACtD,MAAsC;IAEtC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,mCAAmC,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;AACL,CAAC;AAQD,MAAM,UAAU,6CAA6C,CAC3D,IAAS;IAET,OAAO;QACL,iCAAiC,EAAE,kDAAkD,CACnF,IAAI,CAAC,mCAAmC,CAAC,CAC1C;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kDAAkD,CAChE,MAAgD;IAEhD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,6CAA6C,CAAC,IAAI,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;AACL,CAAC;AAQD,MAAM,UAAU,oBAAoB,CAAC,IAAgB;IACnD,OAAO;QACL,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;YAC7B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,mCAAmC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KAC5D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,IAAS;IAC9C,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC;QACd,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;YAC7B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC9C,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;YAC7B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,qCAAqC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KAC9D,CAAC;AACJ,CAAC;AAuBD,MAAM,UAAU,8BAA8B,CAAC,IAA0B;IACvE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;AAC9E,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAC,IAAS;IACxD,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;QACxB,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACtC,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,CAAC;QAC5C,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;QACpB,YAAY,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC3F,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACnF,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC;QACtB,kBAAkB,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC;YAC7C,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC;YAC5B,CAAC,CAAC,iCAAiC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;KAClE,CAAC;AACJ,CAAC;AAQD,MAAM,UAAU,mCAAmC,CAAC,IAA+B;IACjF,QAAQ,IAAI,CAAC,OAAO,EAAE,CAAC;QACrB,KAAK,yBAAyB;YAC5B,OAAO,iDAAiD,CACtD,IAA+C,CAChD,CAAC;QAEJ,KAAK,cAAc;YACjB,OAAO,sCAAsC,CAAC,IAAoC,CAAC,CAAC;QAEtF;YACE,OAAO,8BAA8B,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,qCAAqC,CAAC,IAAS;IAC7D,QAAQ,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACxB,KAAK,yBAAyB;YAC5B,OAAO,mDAAmD,CACxD,IAA+C,CAChD,CAAC;QAEJ,KAAK,cAAc;YACjB,OAAO,wCAAwC,CAAC,IAAoC,CAAC,CAAC;QAExF;YACE,OAAO,gCAAgC,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;AACH,CAAC;AAED,iCAAiC;AACjC,MAAM,CAAN,IAAY,eAKX;AALD,WAAY,eAAe;IACzB,0CAA0C;IAC1C,gDAA6B,CAAA;IAC7B,sFAAsF;IACtF,sEAAmD,CAAA;AACrD,CAAC,EALW,eAAe,KAAf,eAAe,QAK1B;AAsBD,MAAM,UAAU,iCAAiC,CAAC,IAAS;IACzD,OAAO;QACL,eAAe,EAAE,IAAI,CAAC,iBAAiB,CAAC;QACxC,gBAAgB,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC;YAC1B,CAAC,CAAC,2BAA2B,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACzD,gBAAgB,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC;YAC1B,CAAC,CAAC,2BAA2B,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;KAC1D,CAAC;AACJ,CAAC;AAYD,MAAM,UAAU,iDAAiD,CAC/D,IAA6C;IAE7C,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;QACxB,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACtC,oBAAoB,EAAE,IAAI,CAAC,sBAAsB,CAAC;QAClD,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;KAC7B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mDAAmD,CACjE,IAAS;IAET,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;QACxB,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACtC,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,CAAC;QAC5C,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;QACpB,YAAY,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC3F,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACnF,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC;QACtB,kBAAkB,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC;YAC7C,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC;YAC5B,CAAC,CAAC,iCAAiC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACjE,oBAAoB,EAAE,IAAI,CAAC,sBAAsB,CAAC;QAClD,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;KAC7B,CAAC;AACJ,CAAC;AAUD,MAAM,UAAU,sCAAsC,CAAC,IAAkC;IACvF,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;QACxB,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACtC,oBAAoB,EAAE,IAAI,CAAC,sBAAsB,CAAC;KACnD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wCAAwC,CAAC,IAAS;IAChE,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;QACxB,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACtC,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,CAAC;QAC5C,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;QACpB,YAAY,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC3F,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACnF,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC;QACtB,kBAAkB,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC;YAC7C,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC;YAC5B,CAAC,CAAC,iCAAiC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACjE,oBAAoB,EAAE,IAAI,CAAC,sBAAsB,CAAC;KACnD,CAAC;AACJ,CAAC;AAUD,MAAM,UAAU,iCAAiC,CAAC,IAAS;IACzD,OAAO;QACL,KAAK,EAAE,2BAA2B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjD,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;KAC3B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,MAAyB;IACjE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,oBAAoB,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,MAAyB;IACnE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,sBAAsB,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;AACL,CAAC;AAUD,MAAM,UAAU,oBAAoB,CAAC,IAAgB;IACnD,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;QAC1B,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;YAC7B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,8BAA8B,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACtD,QAAQ,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC;YACzB,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;YAClB,CAAC,CAAC,gCAAgC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KACvD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,IAAS;IAC9C,OAAO;QACL,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC;YACjB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;YACd,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAgB,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3F,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;QAC1B,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC;QACd,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;YAC7B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC9C,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;YAC7B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,gCAAgC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACxD,QAAQ,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC;YACzB,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;YAClB,CAAC,CAAC,kCAAkC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KACzD,CAAC;AACJ,CAAC;AAoBD,MAAM,UAAU,8BAA8B,CAAC,IAA0B;IACvE,OAAO;QACL,OAAO,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,2BAA2B,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1F,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,CAAC;QAC9C,oBAAoB,EAAE,IAAI,CAAC,sBAAsB,CAAC;KACnD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAC,IAAS;IACxD,OAAO;QACL,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,CAAC;QAC5C,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;QACxB,OAAO,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,6BAA6B,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5F,wBAAwB,EAAE,IAAI,CAAC,0BAA0B,CAAC;QAC1D,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,CAAC;QAC9C,oBAAoB,EAAE,IAAI,CAAC,sBAAsB,CAAC;QAClD,gBAAgB,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC;YAC1B,CAAC,CAAC,gCAAgC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;KAC/D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,MAA2B;IACrE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,sBAAsB,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,MAA2B;IACvE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,wBAAwB,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;AACL,CAAC;AAUD,MAAM,UAAU,sBAAsB,CAAC,IAAkB;IACvD,OAAO,EAAE,gBAAgB,EAAE,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,IAAS;IAChD,OAAO;QACL,gBAAgB,EAAE,IAAI,CAAC,kBAAkB,CAAC;QAC1C,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;KAC7B,CAAC;AACJ,CAAC;AAUD,MAAM,UAAU,yBAAyB,CAAC,IAAqB;IAC7D,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,QAAQ,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC;YACzB,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;YAClB,CAAC,CAAC,gCAAgC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KACvD,CAAC;AACJ,CAAC;AAUD,MAAM,UAAU,iCAAiC,CAAC,IAAS;IACzD,OAAO;QACL,KAAK,EAAE,2BAA2B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjD,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;KAC3B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,MAAyB;IACjE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,oBAAoB,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,MAAyB;IACnE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,sBAAsB,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;AACL,CAAC;AAUD,MAAM,UAAU,4BAA4B,CAAC,IAAwB;IACnE,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;YACtC,OAAO,CAAC,CAAC;QACX,CAAC,CAAC;QACF,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;KAC7B,CAAC;AACJ,CAAC;AAQD,MAAM,UAAU,8BAA8B,CAAC,IAA0B;IACvE,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;YACtC,OAAO,CAAC,CAAC;QACX,CAAC,CAAC;KACH,CAAC;AACJ,CAAC;AAkCD,MAAM,UAAU,yBAAyB,CAAC,IAAqB;IAC7D,OAAO;QACL,UAAU,EAAE,oBAAoB,CAAC,IAAI,EAAE;YACrC,WAAW;YACX,mBAAmB;YACnB,eAAe;YACf,iBAAiB;YACjB,gBAAgB;YAChB,mBAAmB;YACnB,aAAa;YACb,aAAa;YACb,aAAa;YACb,mBAAmB;YACnB,iBAAiB;YACjB,OAAO;SACR,CAAC;YACA,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,oCAAoC,CAAC,IAAI,CAAC;QAC9C,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;KAC3B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,IAAS;IACnD,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC;QACd,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;YAC7B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC9C,GAAG,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACrB,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACpB,CAAC,CAAC,sCAAsC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;QAC/D,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;KAC3B,CAAC;AACJ,CAAC;AAgCD,MAAM,UAAU,mCAAmC,CAAC,IAA+B;IACjF,OAAO;QACL,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;QAC5B,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,CAAC;QAC5C,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC;QACpC,eAAe,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACvC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACzB,CAAC,CAAC,iCAAiC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC9D,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACtC,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,CAAC;QAC5C,WAAW,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE;QAC3F,WAAW,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE;QAC3F,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,iBAAiB,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3C,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3B,CAAC,CAAC,6BAA6B,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC5D,eAAe,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACvC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACzB,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,WAAW,EAAE;QACzC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;KACrB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qCAAqC,CAAC,IAAS;IAC7D,OAAO;QACL,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,CAAC;QAC5C,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;QAC5B,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,CAAC;QAC5C,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC;QACpC,eAAe,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACvC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACzB,CAAC,CAAC,mCAAmC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAChE,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACtC,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,CAAC;QAC5C,WAAW,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACvF,WAAW,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACvF,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,iBAAiB,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3C,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3B,CAAC,CAAC,+BAA+B,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC9D,eAAe,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACvC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACzB,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACrC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;KACrB,CAAC;AACJ,CAAC;AAED,6KAA6K;AAC7K,MAAM,CAAN,IAAY,mCAiBX;AAjBD,WAAY,mCAAmC;IAC7C,qCAAqC;IACrC,0DAAmB,CAAA;IACnB,2DAA2D;IAC3D,kFAA2C,CAAA;IAC3C,2DAA2D;IAC3D,0EAAmC,CAAA;IACnC,wDAAwD;IACxD,4EAAqC,CAAA;IACrC,iCAAiC;IACjC,oEAA6B,CAAA;IAC7B,iGAAiG;IACjG,wEAAiC,CAAA;IACjC,2DAA2D;IAC3D,sFAA+C,CAAA;IAC/C,yCAAyC;IACzC,8EAAuC,CAAA;AACzC,CAAC,EAjBW,mCAAmC,KAAnC,mCAAmC,QAiB9C;AA0BD,MAAM,UAAU,gCAAgC,CAAC,IAAS;IACxD,OAAO;QACL,KAAK,EAAE,gCAAgC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtD,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;KAC3B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,MAA8B;IAC3E,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,yBAAyB,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAC,MAA8B;IAC7E,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,OAAO,2BAA2B,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,kCAAkC;AAClC,MAAM,CAAN,IAAY,aAKX;AALD,WAAY,aAAa;IACvB,kCAAkC;IAClC,yCAAwB,CAAA;IACxB,0CAA0C;IAC1C,wDAAuC,CAAA;AACzC,CAAC,EALW,aAAa,KAAb,aAAa,QAKxB;AAED,MAAM,UAAU,+BAA+B,CAAC,IAAgB;IAC9D,OAAO;QACL,wBAAwB,EAAE,IAAI,CAAC,0BAA0B,CAAC;QAC1D,sBAAsB,EAAE,IAAI,CAAC,wBAAwB,CAAC;QACtD,sBAAsB,EAAE,IAAI,CAAC,wBAAwB,CAAC;QACtD,2BAA2B,EAAE,IAAI,CAAC,6BAA6B,CAAC;QAChE,sBAAsB,EAAE,IAAI,CAAC,wBAAwB,CAAC;QACtD,sBAAsB,EAAE,CAAC,IAAI,CAAC,wBAAwB,CAAC;YACrD,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC;YAChC,CAAC,CAAC,mCAAmC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;KACxE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iCAAiC,CAAC,IAAS;IACzD,OAAO;QACL,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,CAAC;QAC5C,wBAAwB,EAAE,IAAI,CAAC,0BAA0B,CAAC;QAC1D,sBAAsB,EAAE,IAAI,CAAC,wBAAwB,CAAC;QACtD,sBAAsB,EAAE,IAAI,CAAC,wBAAwB,CAAC;QACtD,2BAA2B,EAAE,IAAI,CAAC,6BAA6B,CAAC;QAChE,sBAAsB,EAAE,IAAI,CAAC,wBAAwB,CAAC;QACtD,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACtC,cAAc,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC;YACrC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC;YACxB,CAAC,CAAC,6BAA6B,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACzD,sBAAsB,EAAE,CAAC,IAAI,CAAC,wBAAwB,CAAC;YACrD,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC;YAChC,CAAC,CAAC,qCAAqC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACzE,iBAAiB,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3C,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3B,CAAC,CAAC,wCAAwC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;KACxE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qCAAqC,CAAC,IAAsB;IAC1E,OAAO;QACL,sBAAsB,EAAE,CAAC,IAAI,CAAC,wBAAwB,CAAC;YACrD,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC;YAChC,CAAC,CAAC,mCAAmC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;KACxE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0CAA0C,CAAC,IAAS;IAClE,OAAO;QACL,sBAAsB,EAAE,IAAI,CAAC,wBAAwB,CAAC;QACtD,sBAAsB,EAAE,IAAI,CAAC,wBAAwB,CAAC;QACtD,2BAA2B,EAAE,IAAI,CAAC,6BAA6B,CAAC;QAChE,sBAAsB,EAAE,IAAI,CAAC,wBAAwB,CAAC;KACvD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,IAAS;IACpD,OAAO;QACL,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,CAAC;QAC5C,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;QACxB,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACtC,WAAW,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC;YAC/B,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC;YACrB,CAAC,CAAC,4BAA4B,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;KACtD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,IAAa;IACxD,OAAO;QACL,uBAAuB,EAAE,IAAI,CAAC,yBAAyB,CAAC;QACxD,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,sBAAsB,EAAE,IAAI,CAAC,wBAAwB,CAAC;QACtD,2BAA2B,EAAE,IAAI,CAAC,6BAA6B,CAAC;QAChE,2BAA2B,EAAE,CAAC,IAAI,CAAC,6BAA6B,CAAC;YAC/D,CAAC,CAAC,IAAI,CAAC,6BAA6B,CAAC;YACrC,CAAC,CAAC,qCAAqC,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAC9E,uBAAuB,EAAE,CAAC,IAAI,CAAC,yBAAyB,CAAC;YACvD,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC;YACjC,CAAC,CAAC,iCAAiC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACtE,uBAAuB,EAAE,CAAC,IAAI,CAAC,yBAAyB,CAAC;YACvD,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC;YACjC,CAAC,CAAC,iCAAiC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACtE,iBAAiB,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3C,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3B,CAAC,CAAC,kCAAkC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACjE,gBAAgB,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC;YAC1B,CAAC,CAAC,qCAAqC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACnE,sBAAsB,EAAE,CAAC,IAAI,CAAC,wBAAwB,CAAC;YACrD,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC;YAChC,CAAC,CAAC,qCAAqC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;KAC1E,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,IAAS;IACtD,OAAO;QACL,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,CAAC;QAC5C,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC;QACtB,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,CAAC;QAC9C,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;QACxB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,uBAAuB,EAAE,IAAI,CAAC,yBAAyB,CAAC;QACxD,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,sBAAsB,EAAE,IAAI,CAAC,wBAAwB,CAAC;QACtD,2BAA2B,EAAE,IAAI,CAAC,6BAA6B,CAAC;QAChE,2BAA2B,EAAE,CAAC,IAAI,CAAC,6BAA6B,CAAC;YAC/D,CAAC,CAAC,IAAI,CAAC,6BAA6B,CAAC;YACrC,CAAC,CAAC,uCAAuC,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAChF,mBAAmB,EAAE,IAAI,CAAC,qBAAqB,CAAC;QAChD,uBAAuB,EAAE,CAAC,IAAI,CAAC,yBAAyB,CAAC;YACvD,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC;YACjC,CAAC,CAAC,mCAAmC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACxE,uBAAuB,EAAE,CAAC,IAAI,CAAC,yBAAyB,CAAC;YACvD,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC;YACjC,CAAC,CAAC,mCAAmC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACxE,iBAAiB,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3C,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3B,CAAC,CAAC,oCAAoC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACnE,kBAAkB,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC;YAC7C,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC;YAC5B,CAAC,CAAC,qCAAqC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACrE,kCAAkC,EAAE,CAAC,IAAI,CAAC,oCAAoC,CAAC;YAC7E,CAAC,CAAC,IAAI,CAAC,oCAAoC,CAAC;YAC5C,CAAC,CAAC,8CAA8C,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;QAC9F,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,CAAC;QAC9C,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC;QAClC,iBAAiB,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3C,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3B,CAAC,CAAC,oCAAoC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACnE,qBAAqB,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC;YACnD,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC;YAC/B,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAC3C,iBAAiB,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3C,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3B,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACvC,oBAAoB,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC;YACjD,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC;YAC9B,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAC1C,eAAe,EAAE,IAAI,CAAC,iBAAiB,CAAC;QACxC,wBAAwB,EAAE,IAAI,CAAC,0BAA0B,CAAC;QAC1D,gBAAgB,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC;YAC1B,CAAC,CAAC,uCAAuC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACrE,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACtC,wBAAwB,EAAE,CAAC,IAAI,CAAC,0BAA0B,CAAC;YACzD,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC;YAClC,CAAC,CAAC,oCAAoC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAC1E,aAAa,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC;YACnC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC;YACvB,CAAC,CAAC,gCAAgC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC3D,sBAAsB,EAAE,CAAC,IAAI,CAAC,wBAAwB,CAAC;YACrD,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC;YAChC,CAAC,CAAC,uCAAuC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAC3E,gBAAgB,EAAE,IAAI,CAAC,kBAAkB,CAAC;QAC1C,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;KACjC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,IAAa;IACtD,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,kBAAkB,CAAC,EAAE,sBAAsB,EAAE,IAAI,CAAC,wBAAwB,CAAC,EAAE,CAAC;AACpG,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,IAAS;IACpD,OAAO;QACL,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;QAC1B,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC;QAC9B,sBAAsB,EAAE,CAAC,IAAI,CAAC,wBAAwB,CAAC;YACrD,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC;YAChC,CAAC,CAAC,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAgB,EAAE,EAAE,CAAC;gBAC5E,CAAC;gBACD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC;aAC7C,CAAC,CACH;KACN,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,IAAkB;IAChE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,sBAAsB,EAAE,IAAI,CAAC,wBAAwB,CAAC,EAAE,CAAC;AACxF,CAAC;AAED,MAAM,UAAU,iCAAiC,CAAC,IAAS;IACzD,OAAO;QACL,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;QAC1B,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,sBAAsB,EAAE,CAAC,IAAI,CAAC,wBAAwB,CAAC;YACrD,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC;YAChC,CAAC,CAAC,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAgB,EAAE,EAAE,CAAC;gBAC5E,CAAC;gBACD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC;aAC7C,CAAC,CACH;KACN,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iCAAiC,CAAC,IAAkB;IAClE,OAAO;QACL,uBAAuB,EAAE,IAAI,CAAC,yBAAyB,CAAC;QACxD,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,iBAAiB,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3C,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3B,CAAC,CAAC,kCAAkC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;KAClE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,8CAA8C,CAAC,IAAS;IACtE,OAAO;QACL,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,2BAA2B,EAAE,IAAI,CAAC,6BAA6B,CAAC;QAChE,sBAAsB,EAAE,IAAI,CAAC,wBAAwB,CAAC;KACvD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sCAAsC,CAAC,IAAuB;IAC5E,OAAO;QACL,kBAAkB,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC;YAC7C,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC;YAC5B,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;gBACxC,OAAO,CAAC,CAAC;YACX,CAAC,CAAC;QACN,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACtC,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC;QACpC,uBAAuB,EAAE,CAAC,IAAI,CAAC,yBAAyB,CAAC;YACvD,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC;YACjC,CAAC,CAAC,iCAAiC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;KACvE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wCAAwC,CAAC,IAAS;IAChE,OAAO;QACL,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,CAAC;QAC5C,kBAAkB,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC;YAC7C,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC;YAC5B,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;gBACxC,OAAO,CAAC,CAAC;YACX,CAAC,CAAC;QACN,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACtC,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC;QACpC,uBAAuB,EAAE,CAAC,IAAI,CAAC,yBAAyB,CAAC;YACvD,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC;YACjC,CAAC,CAAC,mCAAmC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACxE,kBAAkB,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC;YAC7C,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC;YAC5B,CAAC,CAAC,iCAAiC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;KAClE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iDAAiD,CAAC,IAAyB;IACzF,OAAO;QACL,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACtC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;QAC5B,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,CAAC;QAC9C,uBAAuB,EAAE,IAAI,CAAC,yBAAyB,CAAC;QACxD,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;QAC1B,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,CAAC;QAC5C,sBAAsB,EAAE,IAAI,CAAC,wBAAwB,CAAC;KACvD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mDAAmD,CAAC,IAAS;IAC3E,OAAO;QACL,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACtC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;QAC5B,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,CAAC;QAC9C,uBAAuB,EAAE,IAAI,CAAC,yBAAyB,CAAC;QACxD,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;QAC1B,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,CAAC;QAC5C,sBAAsB,EAAE,IAAI,CAAC,wBAAwB,CAAC;KACvD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,IAAe;IAC5D,OAAO;QACL,mBAAmB,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC;YAC/C,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC;YAC7B,CAAC,CAAC,6BAA6B,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;KAC/D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAC,IAAS;IACxD,OAAO;QACL,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,CAAC;QAC5C,mBAAmB,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC;YAC/C,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC;YAC7B,CAAC,CAAC,+BAA+B,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAChE,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACtC,uBAAuB,EAAE,CAAC,IAAI,CAAC,yBAAyB,CAAC;YACvD,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC;YACjC,CAAC,CAAC,sCAAsC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QAC3E,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;KAC7B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mCAAmC,CAAC,IAAoB;IACtE,OAAO;QACL,mBAAmB,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC;YAC/C,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC;YAC7B,CAAC,CAAC,kCAAkC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;KACpE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAC,IAAS;IACxD,OAAO;QACL,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,CAAC;KAC7C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oCAAoC,CAAC,IAAqB;IACxE,OAAO;QACL,+BAA+B,EAAE,IAAI,CAAC,iCAAiC,CAAC;QACxE,wBAAwB,EAAE,IAAI,CAAC,0BAA0B,CAAC;QAC1D,uDAAuD,EACrD,IAAI,CAAC,yDAAyD,CAAC;KAClE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sCAAsC,CAAC,IAAS;IAC9D,OAAO;QACL,+BAA+B,EAAE,IAAI,CAAC,iCAAiC,CAAC;QACxE,wBAAwB,EAAE,IAAI,CAAC,0BAA0B,CAAC;QAC1D,uDAAuD,EACrD,IAAI,CAAC,yDAAyD,CAAC;QACjE,wBAAwB,EAAE,CAAC,IAAI,CAAC,0BAA0B,CAAC;YACzD,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC;YAClC,CAAC,CAAC,oCAAoC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAC1E,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,CAAC;KAC7C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,IAAS;IAClD,OAAO;QACL,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,CAAC;QAC5C,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;QACxB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;QACxB,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACtC,WAAW,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC;YAC/B,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC;YACrB,CAAC,CAAC,4BAA4B,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;KACtD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sCAAsC,CAAC,IAAyB;IAC9E,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC;QAClC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC;QACtB,YAAY,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE;QAC/F,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE;QACvF,kBAAkB,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC;YAC7C,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC;YAC5B,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,WAAW,EAAE;QAC5C,qBAAqB,EAAE,IAAI,CAAC,uBAAuB,CAAC;QACpD,KAAK,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KAC3E,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wCAAwC,CAAC,IAAS;IAChE,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;QAClB,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC;QAClC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC;QACtB,YAAY,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC3F,UAAU,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACnF,kBAAkB,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC;YAC7C,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC;YAC5B,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACxC,qBAAqB,EAAE,IAAI,CAAC,uBAAuB,CAAC;QACpD,KAAK,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KAC7E,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,IAAe;IAC5D,OAAO;QACL,WAAW,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE;QAC3F,eAAe,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACvC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACzB,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,WAAW,EAAE;QACzC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;QAC1B,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;QACpB,QAAQ,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KAClF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAC,IAAS;IACxD,OAAO;QACL,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,CAAC;QAC5C,WAAW,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACvF,eAAe,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACvC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACzB,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACrC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;QAC1B,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;QACpB,QAAQ,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KACpF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gDAAgD,CAAC,IAAsB;IACrF,OAAO,EAAE,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;AAClG,CAAC;AAED,MAAM,UAAU,kDAAkD,CAAC,IAAS;IAC1E,OAAO;QACL,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,CAAC;QAC9C,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC;KACrC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,IAAY;IACtD,OAAO;QACL,aAAa,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC;YACnC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC;YACvB,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,WAAW,EAAE;QACvC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,qBAAqB,EAAE,IAAI,CAAC,uBAAuB,CAAC;QACpD,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;QACpB,aAAa,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC;YACnC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC;YACvB,CAAC,CAAC,iCAAiC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC5D,iBAAiB,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3C,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3B,CAAC,CAAC,iCAAiC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAChE,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACtC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,iBAAiB,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3C,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3B,CAAC,CAAC,6BAA6B,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC5D,eAAe,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACvC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACzB,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,WAAW,EAAE;QACzC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,eAAe,EAAE,IAAI,CAAC,iBAAiB,CAAC;QACxC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;QACxB,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;QAC5B,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,gBAAgB,EAAE,IAAI,CAAC,kBAAkB,CAAC;QAC1C,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,oBAAoB,EAAE,IAAI,CAAC,sBAAsB,CAAC;QAClD,qBAAqB,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC;YACnD,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC;YAC/B,CAAC,CAAC,+BAA+B,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;KACnE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,IAAS;IACrD,OAAO;QACL,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,CAAC;QAC5C,aAAa,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC/F,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,qBAAqB,EAAE,IAAI,CAAC,uBAAuB,CAAC;QACpD,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;QACpB,aAAa,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC;YACnC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC;YACvB,CAAC,CAAC,mCAAmC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC9D,iBAAiB,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3C,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3B,CAAC,CAAC,mCAAmC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAClE,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACtC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,iBAAiB,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3C,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3B,CAAC,CAAC,+BAA+B,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC9D,eAAe,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACvC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACzB,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACrC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,eAAe,EAAE,IAAI,CAAC,iBAAiB,CAAC;QACxC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;QACxB,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;QAC5B,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,gBAAgB,EAAE,IAAI,CAAC,kBAAkB,CAAC;QAC1C,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,oBAAoB,EAAE,IAAI,CAAC,sBAAsB,CAAC;QAClD,qBAAqB,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC;YACnD,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC;YAC/B,CAAC,CAAC,iCAAiC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;KACrE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oCAAoC,CAAC,IAAqB;IACxE,OAAO;QACL,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;QAC5B,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,CAAC;QAC5C,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC;QACpC,eAAe,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACvC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACzB,CAAC,CAAC,iCAAiC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC9D,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACtC,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,CAAC;QAC5C,WAAW,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE;QAC3F,WAAW,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE;QAC3F,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,iBAAiB,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3C,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3B,CAAC,CAAC,6BAA6B,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC5D,eAAe,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACvC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACzB,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,WAAW,EAAE;QACzC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;KACrB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sCAAsC,CAAC,IAAS;IAC9D,OAAO;QACL,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,CAAC;QAC5C,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;QAC5B,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,CAAC;QAC5C,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC;QACpC,eAAe,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACvC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACzB,CAAC,CAAC,mCAAmC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAChE,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC;QACtC,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,CAAC;QAC5C,WAAW,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACvF,WAAW,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACvF,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,iBAAiB,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3C,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC3B,CAAC,CAAC,+BAA+B,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC9D,eAAe,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACvC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACzB,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACrC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;KACrB,CAAC;AACJ,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { areAllPropsUndefined } from \"../static-helpers/serialization/check-prop-undefined.js\";\n\n/**\n * This file contains only generated model types and their (de)serializers.\n * Disable the following rules for internal models with '_' prefix and deserializers which require 'any' for raw JSON input.\n */\n/* eslint-disable @typescript-eslint/naming-convention */\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n/** The response of a KubernetesVersion list operation. */\nexport interface _KubernetesVersionListResult {\n /** The KubernetesVersion items on this page */\n value: KubernetesVersion[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _kubernetesVersionListResultDeserializer(item: any): _KubernetesVersionListResult {\n return {\n value: kubernetesVersionArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function kubernetesVersionArrayDeserializer(result: Array<KubernetesVersion>): any[] {\n return result.map((item) => {\n return kubernetesVersionDeserializer(item);\n });\n}\n\n/** Represents a kubernetes version resource. */\nexport interface KubernetesVersion extends ProxyResource {\n /** The resource-specific properties for this resource. */\n properties?: KubernetesVersionProperties;\n}\n\nexport function kubernetesVersionDeserializer(item: any): KubernetesVersion {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : kubernetesVersionPropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/** Represents properties of a kubernetes version. */\nexport interface KubernetesVersionProperties {\n /** Represents kubernetes version. */\n version: string;\n}\n\nexport function kubernetesVersionPropertiesDeserializer(item: any): KubernetesVersionProperties {\n return {\n version: item[\"version\"],\n };\n}\n\n/** The resource model definition for a Azure Resource Manager proxy resource. It will not have tags and a location */\nexport interface ProxyResource extends Resource {}\n\nexport function proxyResourceSerializer(_item: ProxyResource): any {\n return {};\n}\n\nexport function proxyResourceDeserializer(item: any): ProxyResource {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n };\n}\n\n/** Common fields that are returned in the response for all Azure Resource Manager resources */\nexport interface Resource {\n /** Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} */\n readonly id?: string;\n /** The name of the resource */\n readonly name?: string;\n /** The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or \"Microsoft.Storage/storageAccounts\" */\n readonly type?: string;\n /** Azure Resource Manager metadata containing createdBy and modifiedBy information. */\n readonly systemData?: SystemData;\n}\n\nexport function resourceSerializer(_item: Resource): any {\n return {};\n}\n\nexport function resourceDeserializer(item: any): Resource {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n };\n}\n\n/** Metadata pertaining to creation and last modification of the resource. */\nexport interface SystemData {\n /** The identity that created the resource. */\n createdBy?: string;\n /** The type of identity that created the resource. */\n createdByType?: CreatedByType;\n /** The timestamp of resource creation (UTC). */\n createdAt?: Date;\n /** The identity that last modified the resource. */\n lastModifiedBy?: string;\n /** The type of identity that last modified the resource. */\n lastModifiedByType?: CreatedByType;\n /** The timestamp of resource last modification (UTC) */\n lastModifiedAt?: Date;\n}\n\nexport function systemDataDeserializer(item: any): SystemData {\n return {\n createdBy: item[\"createdBy\"],\n createdByType: item[\"createdByType\"],\n createdAt: !item[\"createdAt\"] ? item[\"createdAt\"] : new Date(item[\"createdAt\"]),\n lastModifiedBy: item[\"lastModifiedBy\"],\n lastModifiedByType: item[\"lastModifiedByType\"],\n lastModifiedAt: !item[\"lastModifiedAt\"]\n ? item[\"lastModifiedAt\"]\n : new Date(item[\"lastModifiedAt\"]),\n };\n}\n\n/** The kind of entity that created the resource. */\nexport enum KnownCreatedByType {\n /** The entity was created by a user. */\n User = \"User\",\n /** The entity was created by an application. */\n Application = \"Application\",\n /** The entity was created by a managed identity. */\n ManagedIdentity = \"ManagedIdentity\",\n /** The entity was created by a key. */\n Key = \"Key\",\n}\n\n/**\n * The kind of entity that created the resource. \\\n * {@link KnownCreatedByType} can be used interchangeably with CreatedByType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **User**: The entity was created by a user. \\\n * **Application**: The entity was created by an application. \\\n * **ManagedIdentity**: The entity was created by a managed identity. \\\n * **Key**: The entity was created by a key.\n */\nexport type CreatedByType = string;\n\n/** Common error response for all Azure Resource Manager APIs to return error details for failed operations. */\nexport interface ErrorResponse {\n /** The error object. */\n error?: ErrorDetail;\n}\n\nexport function errorResponseDeserializer(item: any): ErrorResponse {\n return {\n error: !item[\"error\"] ? item[\"error\"] : errorDetailDeserializer(item[\"error\"]),\n };\n}\n\n/** The error detail. */\nexport interface ErrorDetail {\n /** The error code. */\n readonly code?: string;\n /** The error message. */\n readonly message?: string;\n /** The error target. */\n readonly target?: string;\n /** The error details. */\n readonly details?: ErrorDetail[];\n /** The error additional info. */\n readonly additionalInfo?: ErrorAdditionalInfo[];\n}\n\nexport function errorDetailDeserializer(item: any): ErrorDetail {\n return {\n code: item[\"code\"],\n message: item[\"message\"],\n target: item[\"target\"],\n details: !item[\"details\"] ? item[\"details\"] : errorDetailArrayDeserializer(item[\"details\"]),\n additionalInfo: !item[\"additionalInfo\"]\n ? item[\"additionalInfo\"]\n : errorAdditionalInfoArrayDeserializer(item[\"additionalInfo\"]),\n };\n}\n\nexport function errorDetailArrayDeserializer(result: Array<ErrorDetail>): any[] {\n return result.map((item) => {\n return errorDetailDeserializer(item);\n });\n}\n\nexport function errorAdditionalInfoArrayDeserializer(result: Array<ErrorAdditionalInfo>): any[] {\n return result.map((item) => {\n return errorAdditionalInfoDeserializer(item);\n });\n}\n\n/** The resource management error additional info. */\nexport interface ErrorAdditionalInfo {\n /** The additional info type. */\n readonly type?: string;\n /** The additional info. */\n readonly info?: any;\n}\n\nexport function errorAdditionalInfoDeserializer(item: any): ErrorAdditionalInfo {\n return {\n type: item[\"type\"],\n info: item[\"info\"],\n };\n}\n\n/** Represents a platform update resource. */\nexport interface PlatformUpdate extends ProxyResource {\n /** The resource-specific properties for this resource. */\n properties?: PlatformUpdateProperties;\n}\n\nexport function platformUpdateDeserializer(item: any): PlatformUpdate {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : platformUpdatePropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/** Represents properties of a platform update resource. */\nexport interface PlatformUpdateProperties {\n /** Represents applicable platform updates. */\n platformUpdateDetails: PlatformUpdateDetails[];\n}\n\nexport function platformUpdatePropertiesDeserializer(item: any): PlatformUpdateProperties {\n return {\n platformUpdateDetails: platformUpdateDetailsArrayDeserializer(item[\"platformUpdateDetails\"]),\n };\n}\n\nexport function platformUpdateDetailsArrayDeserializer(\n result: Array<PlatformUpdateDetails>,\n): any[] {\n return result.map((item) => {\n return platformUpdateDetailsDeserializer(item);\n });\n}\n\n/** Represents details of a specific platform update. */\nexport interface PlatformUpdateDetails {\n /** Represents validated solution recipe version of a platform update. */\n validatedSolutionRecipeVersion?: string;\n /** Represents version of a platform update. */\n platformVersion?: string;\n /** Represents the platform payloads of a platform update. */\n platformPayloads: PlatformPayload[];\n}\n\nexport function platformUpdateDetailsDeserializer(item: any): PlatformUpdateDetails {\n return {\n validatedSolutionRecipeVersion: item[\"validatedSolutionRecipeVersion\"],\n platformVersion: item[\"platformVersion\"],\n platformPayloads: platformPayloadArrayDeserializer(item[\"platformPayloads\"]),\n };\n}\n\nexport function platformPayloadArrayDeserializer(result: Array<PlatformPayload>): any[] {\n return result.map((item) => {\n return platformPayloadDeserializer(item);\n });\n}\n\n/** Represents details of a specific platform update payload. */\nexport interface PlatformPayload {\n /** Represents url of a platform update payload. */\n payloadUrl?: string;\n /** Represents hash of a platform update payload. */\n payloadHash?: string;\n /** Represents size in bytes of a platform update payload. */\n payloadPackageSizeInBytes?: string;\n /** Represents identifier of a platform update payload. */\n payloadIdentifier?: string;\n}\n\nexport function platformPayloadDeserializer(item: any): PlatformPayload {\n return {\n payloadUrl: item[\"payloadUrl\"],\n payloadHash: item[\"payloadHash\"],\n payloadPackageSizeInBytes: item[\"payloadPackageSizeInBytes\"],\n payloadIdentifier: item[\"payloadIdentifier\"],\n };\n}\n\n/** The response of a PlatformUpdate list operation. */\nexport interface _PlatformUpdateListResult {\n /** The PlatformUpdate items on this page */\n value: PlatformUpdate[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _platformUpdateListResultDeserializer(item: any): _PlatformUpdateListResult {\n return {\n value: platformUpdateArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function platformUpdateArrayDeserializer(result: Array<PlatformUpdate>): any[] {\n return result.map((item) => {\n return platformUpdateDeserializer(item);\n });\n}\n\n/** Represents a os image resource. */\nexport interface OsImage extends ProxyResource {\n /** The resource-specific properties for this resource. */\n properties?: OsImageProperties;\n}\n\nexport function osImageDeserializer(item: any): OsImage {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : osImagePropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/** Represents properties of a os image resource. */\nexport interface OsImageProperties {\n /** Represents validated solution recipe version of a os image. */\n validatedSolutionRecipeVersion?: string;\n /** Represents composed image version of a os image. */\n composedImageVersion?: string;\n /** Represents composed image iso download url of a os image. */\n composedImageIsoUrl?: string;\n /** Represents composed image iso hash of a os image. */\n composedImageIsoHash?: string;\n}\n\nexport function osImagePropertiesDeserializer(item: any): OsImageProperties {\n return {\n validatedSolutionRecipeVersion: item[\"validatedSolutionRecipeVersion\"],\n composedImageVersion: item[\"composedImageVersion\"],\n composedImageIsoUrl: item[\"composedImageIsoUrl\"],\n composedImageIsoHash: item[\"composedImageIsoHash\"],\n };\n}\n\n/** The response of a OsImage list operation. */\nexport interface _OsImageListResult {\n /** The OsImage items on this page */\n value: OsImage[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _osImageListResultDeserializer(item: any): _OsImageListResult {\n return {\n value: osImageArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function osImageArrayDeserializer(result: Array<OsImage>): any[] {\n return result.map((item) => {\n return osImageDeserializer(item);\n });\n}\n\n/** Represents a update content. */\nexport interface UpdateContent extends ProxyResource {\n /** The resource-specific properties for this resource. */\n properties?: UpdateContentProperties;\n}\n\nexport function updateContentDeserializer(item: any): UpdateContent {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : updateContentPropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/** Represents properties of a update content resource. */\nexport interface UpdateContentProperties {\n /** Represents the payloads of a update content resource. */\n updatePayloads: ContentPayload[];\n}\n\nexport function updateContentPropertiesDeserializer(item: any): UpdateContentProperties {\n return {\n updatePayloads: contentPayloadArrayDeserializer(item[\"updatePayloads\"]),\n };\n}\n\nexport function contentPayloadArrayDeserializer(result: Array<ContentPayload>): any[] {\n return result.map((item) => {\n return contentPayloadDeserializer(item);\n });\n}\n\n/** Represents details of a specific update content payload. */\nexport interface ContentPayload {\n /** Represents url of a update payload. */\n url?: string;\n /** Represents hash of a update payload. */\n hash?: string;\n /** Represents hash algorithm of a update payload. */\n hashAlgorithm?: string;\n /** Represents identifier of a update payload. */\n identifier?: string;\n /** Represents size in bytes of a update payload. */\n packageSizeInBytes?: string;\n /** Represents the group of a update payload. */\n group?: string;\n /** Represents the file name of a update payload. */\n fileName?: string;\n}\n\nexport function contentPayloadDeserializer(item: any): ContentPayload {\n return {\n url: item[\"url\"],\n hash: item[\"hash\"],\n hashAlgorithm: item[\"hashAlgorithm\"],\n identifier: item[\"identifier\"],\n packageSizeInBytes: item[\"packageSizeInBytes\"],\n group: item[\"group\"],\n fileName: item[\"fileName\"],\n };\n}\n\n/** The response of a UpdateContent list operation. */\nexport interface _UpdateContentListResult {\n /** The UpdateContent items on this page */\n value: UpdateContent[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _updateContentListResultDeserializer(item: any): _UpdateContentListResult {\n return {\n value: updateContentArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function updateContentArrayDeserializer(result: Array<UpdateContent>): any[] {\n return result.map((item) => {\n return updateContentDeserializer(item);\n });\n}\n\n/** A list of REST API operations supported by an Azure Resource Provider. It contains an URL link to get the next set of results. */\nexport interface _OperationListResult {\n /** The Operation items on this page */\n value: Operation[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _operationListResultDeserializer(item: any): _OperationListResult {\n return {\n value: operationArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function operationArrayDeserializer(result: Array<Operation>): any[] {\n return result.map((item) => {\n return operationDeserializer(item);\n });\n}\n\n/** Details of a REST API operation, returned from the Resource Provider Operations API */\nexport interface Operation {\n /** The name of the operation, as per Resource-Based Access Control (RBAC). Examples: \"Microsoft.Compute/virtualMachines/write\", \"Microsoft.Compute/virtualMachines/capture/action\" */\n readonly name?: string;\n /** Whether the operation applies to data-plane. This is \"true\" for data-plane operations and \"false\" for Azure Resource Manager/control-plane operations. */\n readonly isDataAction?: boolean;\n /** Localized display information for this particular operation. */\n display?: OperationDisplay;\n /** The intended executor of the operation; as in Resource Based Access Control (RBAC) and audit logs UX. Default value is \"user,system\" */\n readonly origin?: Origin;\n /** Extensible enum. Indicates the action type. \"Internal\" refers to actions that are for internal only APIs. */\n readonly actionType?: ActionType;\n}\n\nexport function operationDeserializer(item: any): Operation {\n return {\n name: item[\"name\"],\n isDataAction: item[\"isDataAction\"],\n display: !item[\"display\"] ? item[\"display\"] : operationDisplayDeserializer(item[\"display\"]),\n origin: item[\"origin\"],\n actionType: item[\"actionType\"],\n };\n}\n\n/** Localized display information for an operation. */\nexport interface OperationDisplay {\n /** The localized friendly form of the resource provider name, e.g. \"Microsoft Monitoring Insights\" or \"Microsoft Compute\". */\n readonly provider?: string;\n /** The localized friendly name of the resource type related to this operation. E.g. \"Virtual Machines\" or \"Job Schedule Collections\". */\n readonly resource?: string;\n /** The concise, localized friendly name for the operation; suitable for dropdowns. E.g. \"Create or Update Virtual Machine\", \"Restart Virtual Machine\". */\n readonly operation?: string;\n /** The short, localized friendly description of the operation; suitable for tool tips and detailed views. */\n readonly description?: string;\n}\n\nexport function operationDisplayDeserializer(item: any): OperationDisplay {\n return {\n provider: item[\"provider\"],\n resource: item[\"resource\"],\n operation: item[\"operation\"],\n description: item[\"description\"],\n };\n}\n\n/** The intended executor of the operation; as in Resource Based Access Control (RBAC) and audit logs UX. Default value is \"user,system\" */\nexport enum KnownOrigin {\n /** Indicates the operation is initiated by a user. */\n User = \"user\",\n /** Indicates the operation is initiated by a system. */\n System = \"system\",\n /** Indicates the operation is initiated by a user or system. */\n UserSystem = \"user,system\",\n}\n\n/**\n * The intended executor of the operation; as in Resource Based Access Control (RBAC) and audit logs UX. Default value is \"user,system\" \\\n * {@link KnownOrigin} can be used interchangeably with Origin,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **user**: Indicates the operation is initiated by a user. \\\n * **system**: Indicates the operation is initiated by a system. \\\n * **user,system**: Indicates the operation is initiated by a user or system.\n */\nexport type Origin = string;\n\n/** Extensible enum. Indicates the action type. \"Internal\" refers to actions that are for internal only APIs. */\nexport enum KnownActionType {\n /** Actions are for internal-only APIs. */\n Internal = \"Internal\",\n}\n\n/**\n * Extensible enum. Indicates the action type. \"Internal\" refers to actions that are for internal only APIs. \\\n * {@link KnownActionType} can be used interchangeably with ActionType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Internal**: Actions are for internal-only APIs.\n */\nexport type ActionType = string;\n\n/** ArcSetting details. */\nexport interface ArcSetting extends ProxyResource {\n /** Provisioning state of the ArcSetting proxy resource. */\n readonly provisioningState?: ProvisioningState;\n /** The resource group that hosts the Arc agents, ie. Hybrid Compute Machine resources. */\n arcInstanceResourceGroup?: string;\n /** App id of arc AAD identity. */\n arcApplicationClientId?: string;\n /** Tenant id of arc AAD identity. */\n arcApplicationTenantId?: string;\n /** Object id of arc AAD service principal. */\n arcServicePrincipalObjectId?: string;\n /** Object id of arc AAD identity. */\n arcApplicationObjectId?: string;\n /** Aggregate state of Arc agent across the nodes in this HCI cluster. */\n readonly aggregateState?: ArcSettingAggregateState;\n /** State of Arc agent in each of the nodes. */\n readonly perNodeDetails?: PerNodeState[];\n /** contains connectivity related configuration for ARC resources */\n connectivityProperties?: ArcConnectivityProperties;\n /** Properties for each of the default extensions category */\n readonly defaultExtensions?: DefaultExtensionDetails[];\n}\n\nexport function arcSettingSerializer(item: ArcSetting): any {\n return {\n properties: areAllPropsUndefined(item, [\n \"arcInstanceResourceGroup\",\n \"arcApplicationClientId\",\n \"arcApplicationTenantId\",\n \"arcServicePrincipalObjectId\",\n \"arcApplicationObjectId\",\n \"connectivityProperties\",\n ])\n ? undefined\n : _arcSettingPropertiesSerializer(item),\n };\n}\n\nexport function arcSettingDeserializer(item: any): ArcSetting {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _arcSettingPropertiesDeserializer(item[\"properties\"])),\n };\n}\n\n/** ArcSetting properties. */\nexport interface ArcSettingProperties {\n /** Provisioning state of the ArcSetting proxy resource. */\n readonly provisioningState?: ProvisioningState;\n /** The resource group that hosts the Arc agents, ie. Hybrid Compute Machine resources. */\n arcInstanceResourceGroup?: string;\n /** App id of arc AAD identity. */\n arcApplicationClientId?: string;\n /** Tenant id of arc AAD identity. */\n arcApplicationTenantId?: string;\n /** Object id of arc AAD service principal. */\n arcServicePrincipalObjectId?: string;\n /** Object id of arc AAD identity. */\n arcApplicationObjectId?: string;\n /** Aggregate state of Arc agent across the nodes in this HCI cluster. */\n readonly aggregateState?: ArcSettingAggregateState;\n /** State of Arc agent in each of the nodes. */\n readonly perNodeDetails?: PerNodeState[];\n /** contains connectivity related configuration for ARC resources */\n connectivityProperties?: ArcConnectivityProperties;\n /** Properties for each of the default extensions category */\n readonly defaultExtensions?: DefaultExtensionDetails[];\n}\n\nexport function arcSettingPropertiesSerializer(item: ArcSettingProperties): any {\n return {\n arcInstanceResourceGroup: item[\"arcInstanceResourceGroup\"],\n arcApplicationClientId: item[\"arcApplicationClientId\"],\n arcApplicationTenantId: item[\"arcApplicationTenantId\"],\n arcServicePrincipalObjectId: item[\"arcServicePrincipalObjectId\"],\n arcApplicationObjectId: item[\"arcApplicationObjectId\"],\n connectivityProperties: !item[\"connectivityProperties\"]\n ? item[\"connectivityProperties\"]\n : arcConnectivityPropertiesSerializer(item[\"connectivityProperties\"]),\n };\n}\n\nexport function arcSettingPropertiesDeserializer(item: any): ArcSettingProperties {\n return {\n provisioningState: item[\"provisioningState\"],\n arcInstanceResourceGroup: item[\"arcInstanceResourceGroup\"],\n arcApplicationClientId: item[\"arcApplicationClientId\"],\n arcApplicationTenantId: item[\"arcApplicationTenantId\"],\n arcServicePrincipalObjectId: item[\"arcServicePrincipalObjectId\"],\n arcApplicationObjectId: item[\"arcApplicationObjectId\"],\n aggregateState: item[\"aggregateState\"],\n perNodeDetails: !item[\"perNodeDetails\"]\n ? item[\"perNodeDetails\"]\n : perNodeStateArrayDeserializer(item[\"perNodeDetails\"]),\n connectivityProperties: !item[\"connectivityProperties\"]\n ? item[\"connectivityProperties\"]\n : arcConnectivityPropertiesDeserializer(item[\"connectivityProperties\"]),\n defaultExtensions: !item[\"defaultExtensions\"]\n ? item[\"defaultExtensions\"]\n : defaultExtensionDetailsArrayDeserializer(item[\"defaultExtensions\"]),\n };\n}\n\n/** Provisioning state of the ArcSetting proxy resource. */\nexport enum KnownProvisioningState {\n /** The provisioning state is not specified. */\n NotSpecified = \"NotSpecified\",\n /** An error occurred during provisioning. */\n Error = \"Error\",\n /** Provisioning completed successfully. */\n Succeeded = \"Succeeded\",\n /** Provisioning failed. */\n Failed = \"Failed\",\n /** Provisioning was canceled. */\n Canceled = \"Canceled\",\n /** The resource is connected. */\n Connected = \"Connected\",\n /** The resource is disconnected. */\n Disconnected = \"Disconnected\",\n /** The resource has been deleted. */\n Deleted = \"Deleted\",\n /** The resource is being created. */\n Creating = \"Creating\",\n /** The resource is being updated. */\n Updating = \"Updating\",\n /** The resource is being deleted. */\n Deleting = \"Deleting\",\n /** The resource is being moved. */\n Moving = \"Moving\",\n /** Provisioning partially succeeded. */\n PartiallySucceeded = \"PartiallySucceeded\",\n /** The resource is partially connected. */\n PartiallyConnected = \"PartiallyConnected\",\n /** Provisioning is in progress. */\n InProgress = \"InProgress\",\n /** Provisioning request has been accepted. */\n Accepted = \"Accepted\",\n /** The resource is currently provisioning. */\n Provisioning = \"Provisioning\",\n /** The resource is being disabled. */\n DisableInProgress = \"DisableInProgress\",\n}\n\n/**\n * Provisioning state of the ArcSetting proxy resource. \\\n * {@link KnownProvisioningState} can be used interchangeably with ProvisioningState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **NotSpecified**: The provisioning state is not specified. \\\n * **Error**: An error occurred during provisioning. \\\n * **Succeeded**: Provisioning completed successfully. \\\n * **Failed**: Provisioning failed. \\\n * **Canceled**: Provisioning was canceled. \\\n * **Connected**: The resource is connected. \\\n * **Disconnected**: The resource is disconnected. \\\n * **Deleted**: The resource has been deleted. \\\n * **Creating**: The resource is being created. \\\n * **Updating**: The resource is being updated. \\\n * **Deleting**: The resource is being deleted. \\\n * **Moving**: The resource is being moved. \\\n * **PartiallySucceeded**: Provisioning partially succeeded. \\\n * **PartiallyConnected**: The resource is partially connected. \\\n * **InProgress**: Provisioning is in progress. \\\n * **Accepted**: Provisioning request has been accepted. \\\n * **Provisioning**: The resource is currently provisioning. \\\n * **DisableInProgress**: The resource is being disabled.\n */\nexport type ProvisioningState = string;\n\n/** Aggregate state of Arc agent across the nodes in this HCI cluster. */\nexport enum KnownArcSettingAggregateState {\n /** The aggregate state is not specified. */\n NotSpecified = \"NotSpecified\",\n /** An error occurred in the aggregate state. */\n Error = \"Error\",\n /** The operation successfully completed across all nodes. */\n Succeeded = \"Succeeded\",\n /** The operation was canceled across the nodes. */\n Canceled = \"Canceled\",\n /** The operation failed on all or most nodes. */\n Failed = \"Failed\",\n /** All nodes are connected. */\n Connected = \"Connected\",\n /** All nodes are disconnected. */\n Disconnected = \"Disconnected\",\n /** The Arc agent has been deleted from all nodes. */\n Deleted = \"Deleted\",\n /** The Arc agent is being created across the nodes. */\n Creating = \"Creating\",\n /** The Arc agent is being updated across the nodes. */\n Updating = \"Updating\",\n /** The Arc agent is being deleted across the nodes. */\n Deleting = \"Deleting\",\n /** The Arc agent is being moved across the nodes. */\n Moving = \"Moving\",\n /** The operation succeeded on some nodes. */\n PartiallySucceeded = \"PartiallySucceeded\",\n /** Some nodes are connected, others are not. */\n PartiallyConnected = \"PartiallyConnected\",\n /** The operation is currently in progress across the nodes. */\n InProgress = \"InProgress\",\n /** The operation has been accepted and is pending execution. */\n Accepted = \"Accepted\",\n /** The Arc agent is being provisioned across the nodes. */\n Provisioning = \"Provisioning\",\n /** The Arc agent is being disabled across the nodes. */\n DisableInProgress = \"DisableInProgress\",\n}\n\n/**\n * Aggregate state of Arc agent across the nodes in this HCI cluster. \\\n * {@link KnownArcSettingAggregateState} can be used interchangeably with ArcSettingAggregateState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **NotSpecified**: The aggregate state is not specified. \\\n * **Error**: An error occurred in the aggregate state. \\\n * **Succeeded**: The operation successfully completed across all nodes. \\\n * **Canceled**: The operation was canceled across the nodes. \\\n * **Failed**: The operation failed on all or most nodes. \\\n * **Connected**: All nodes are connected. \\\n * **Disconnected**: All nodes are disconnected. \\\n * **Deleted**: The Arc agent has been deleted from all nodes. \\\n * **Creating**: The Arc agent is being created across the nodes. \\\n * **Updating**: The Arc agent is being updated across the nodes. \\\n * **Deleting**: The Arc agent is being deleted across the nodes. \\\n * **Moving**: The Arc agent is being moved across the nodes. \\\n * **PartiallySucceeded**: The operation succeeded on some nodes. \\\n * **PartiallyConnected**: Some nodes are connected, others are not. \\\n * **InProgress**: The operation is currently in progress across the nodes. \\\n * **Accepted**: The operation has been accepted and is pending execution. \\\n * **Provisioning**: The Arc agent is being provisioned across the nodes. \\\n * **DisableInProgress**: The Arc agent is being disabled across the nodes.\n */\nexport type ArcSettingAggregateState = string;\n\nexport function perNodeStateArrayDeserializer(result: Array<PerNodeState>): any[] {\n return result.map((item) => {\n return perNodeStateDeserializer(item);\n });\n}\n\n/** Status of Arc agent for a particular node in HCI Cluster. */\nexport interface PerNodeState {\n /** Name of the Node in HCI Cluster */\n readonly name?: string;\n /** Fully qualified resource ID for the Arc agent of this node. */\n readonly arcInstance?: string;\n /** The service principal id of the arc for server node */\n readonly arcNodeServicePrincipalObjectId?: string;\n /** State of the Arc agent in this node. Indicates the current lifecycle status of the agent, such as whether it's being provisioned, connected, updated, or has encountered an error. */\n readonly state?: NodeArcState;\n}\n\nexport function perNodeStateDeserializer(item: any): PerNodeState {\n return {\n name: item[\"name\"],\n arcInstance: item[\"arcInstance\"],\n arcNodeServicePrincipalObjectId: item[\"arcNodeServicePrincipalObjectId\"],\n state: item[\"state\"],\n };\n}\n\n/** State of the Arc agent in this node. Indicates the current lifecycle status of the agent, such as whether it's being provisioned, connected, updated, or has encountered an error. */\nexport enum KnownNodeArcState {\n /** The state is not specified. */\n NotSpecified = \"NotSpecified\",\n /** An error occurred during the agent's lifecycle. */\n Error = \"Error\",\n /** The operation completed successfully. */\n Succeeded = \"Succeeded\",\n /** The operation was canceled before completion. */\n Canceled = \"Canceled\",\n /** The operation failed. */\n Failed = \"Failed\",\n /** The Arc agent is connected on this node. */\n Connected = \"Connected\",\n /** The Arc agent is disconnected on this node. */\n Disconnected = \"Disconnected\",\n /** The Arc agent has been deleted from this node. */\n Deleted = \"Deleted\",\n /** The Arc agent is being created on this node. */\n Creating = \"Creating\",\n /** The Arc agent is being updated on this node. */\n Updating = \"Updating\",\n /** The Arc agent is being deleted from this node. */\n Deleting = \"Deleting\",\n /** The Arc agent is being moved on this node. */\n Moving = \"Moving\",\n /** The operation partially succeeded. */\n PartiallySucceeded = \"PartiallySucceeded\",\n /** The Arc agent is partially connected on this node. */\n PartiallyConnected = \"PartiallyConnected\",\n /** The operation is currently in progress. */\n InProgress = \"InProgress\",\n /** The operation has been accepted and is pending execution. */\n Accepted = \"Accepted\",\n /** The Arc agent is currently being provisioned on this node. */\n Provisioning = \"Provisioning\",\n /** The Arc agent is in the process of being disabled on this node. */\n DisableInProgress = \"DisableInProgress\",\n}\n\n/**\n * State of the Arc agent in this node. Indicates the current lifecycle status of the agent, such as whether it's being provisioned, connected, updated, or has encountered an error. \\\n * {@link KnownNodeArcState} can be used interchangeably with NodeArcState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **NotSpecified**: The state is not specified. \\\n * **Error**: An error occurred during the agent's lifecycle. \\\n * **Succeeded**: The operation completed successfully. \\\n * **Canceled**: The operation was canceled before completion. \\\n * **Failed**: The operation failed. \\\n * **Connected**: The Arc agent is connected on this node. \\\n * **Disconnected**: The Arc agent is disconnected on this node. \\\n * **Deleted**: The Arc agent has been deleted from this node. \\\n * **Creating**: The Arc agent is being created on this node. \\\n * **Updating**: The Arc agent is being updated on this node. \\\n * **Deleting**: The Arc agent is being deleted from this node. \\\n * **Moving**: The Arc agent is being moved on this node. \\\n * **PartiallySucceeded**: The operation partially succeeded. \\\n * **PartiallyConnected**: The Arc agent is partially connected on this node. \\\n * **InProgress**: The operation is currently in progress. \\\n * **Accepted**: The operation has been accepted and is pending execution. \\\n * **Provisioning**: The Arc agent is currently being provisioned on this node. \\\n * **DisableInProgress**: The Arc agent is in the process of being disabled on this node.\n */\nexport type NodeArcState = string;\n\n/** Connectivity related configuration required by arc server. */\nexport interface ArcConnectivityProperties {\n /** True indicates ARC connectivity is enabled */\n enabled?: boolean;\n /** Service configurations associated with the connectivity resource. They are only processed by the server if 'enabled' property is set to 'true'. */\n serviceConfigurations?: ServiceConfiguration[];\n}\n\nexport function arcConnectivityPropertiesSerializer(item: ArcConnectivityProperties): any {\n return {\n enabled: item[\"enabled\"],\n serviceConfigurations: !item[\"serviceConfigurations\"]\n ? item[\"serviceConfigurations\"]\n : serviceConfigurationArraySerializer(item[\"serviceConfigurations\"]),\n };\n}\n\nexport function arcConnectivityPropertiesDeserializer(item: any): ArcConnectivityProperties {\n return {\n enabled: item[\"enabled\"],\n serviceConfigurations: !item[\"serviceConfigurations\"]\n ? item[\"serviceConfigurations\"]\n : serviceConfigurationArrayDeserializer(item[\"serviceConfigurations\"]),\n };\n}\n\nexport function serviceConfigurationArraySerializer(result: Array<ServiceConfiguration>): any[] {\n return result.map((item) => {\n return serviceConfigurationSerializer(item);\n });\n}\n\nexport function serviceConfigurationArrayDeserializer(result: Array<ServiceConfiguration>): any[] {\n return result.map((item) => {\n return serviceConfigurationDeserializer(item);\n });\n}\n\n/** Service configuration details */\nexport interface ServiceConfiguration {\n /** Specifies the name of the service associated with the update or operation. This helps identify which system component or tool is involved. */\n serviceName: ServiceName;\n /** The port on which service is enabled. */\n port: number;\n}\n\nexport function serviceConfigurationSerializer(item: ServiceConfiguration): any {\n return { serviceName: item[\"serviceName\"], port: item[\"port\"] };\n}\n\nexport function serviceConfigurationDeserializer(item: any): ServiceConfiguration {\n return {\n serviceName: item[\"serviceName\"],\n port: item[\"port\"],\n };\n}\n\n/** Specifies the name of the service associated with the update or operation. This helps identify which system component or tool is involved. */\nexport enum KnownServiceName {\n /** Windows Admin Center (WAC) is the service associated with this operation. */\n WAC = \"WAC\",\n}\n\n/**\n * Specifies the name of the service associated with the update or operation. This helps identify which system component or tool is involved. \\\n * {@link KnownServiceName} can be used interchangeably with ServiceName,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **WAC**: Windows Admin Center (WAC) is the service associated with this operation.\n */\nexport type ServiceName = string;\n\nexport function defaultExtensionDetailsArrayDeserializer(\n result: Array<DefaultExtensionDetails>,\n): any[] {\n return result.map((item) => {\n return defaultExtensionDetailsDeserializer(item);\n });\n}\n\n/** Properties for a particular default extension category. */\nexport interface DefaultExtensionDetails {\n /** Default extension category */\n readonly category?: string;\n /** Consent time for extension category */\n readonly consentTime?: Date;\n}\n\nexport function defaultExtensionDetailsDeserializer(item: any): DefaultExtensionDetails {\n return {\n category: item[\"category\"],\n consentTime: !item[\"consentTime\"] ? item[\"consentTime\"] : new Date(item[\"consentTime\"]),\n };\n}\n\n/** ArcSetting details to update. */\nexport interface ArcSettingsPatch {\n /** Resource tags. */\n tags?: Record<string, string>;\n /** contains connectivity related configuration for ARC resources */\n connectivityProperties?: ArcConnectivityProperties;\n}\n\nexport function arcSettingsPatchSerializer(item: ArcSettingsPatch): any {\n return {\n tags: item[\"tags\"],\n properties: areAllPropsUndefined(item, [\"connectivityProperties\"])\n ? undefined\n : _arcSettingsPatchPropertiesSerializer(item),\n };\n}\n\n/** ArcSettings properties. */\nexport interface ArcSettingsPatchProperties {\n /** contains connectivity related configuration for ARC resources */\n connectivityProperties?: ArcConnectivityProperties;\n}\n\nexport function arcSettingsPatchPropertiesSerializer(item: ArcSettingsPatchProperties): any {\n return {\n connectivityProperties: !item[\"connectivityProperties\"]\n ? item[\"connectivityProperties\"]\n : arcConnectivityPropertiesSerializer(item[\"connectivityProperties\"]),\n };\n}\n\n/** List of ArcSetting proxy resources for the HCI cluster. */\nexport interface _ArcSettingList {\n /** The ArcSetting items on this page */\n value: ArcSetting[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _arcSettingListDeserializer(item: any): _ArcSettingList {\n return {\n value: arcSettingArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function arcSettingArraySerializer(result: Array<ArcSetting>): any[] {\n return result.map((item) => {\n return arcSettingSerializer(item);\n });\n}\n\nexport function arcSettingArrayDeserializer(result: Array<ArcSetting>): any[] {\n return result.map((item) => {\n return arcSettingDeserializer(item);\n });\n}\n\n/** model interface PasswordCredential */\nexport interface PasswordCredential {\n secretText?: string;\n keyId?: string;\n startDateTime?: Date;\n endDateTime?: Date;\n}\n\nexport function passwordCredentialDeserializer(item: any): PasswordCredential {\n return {\n secretText: item[\"secretText\"],\n keyId: item[\"keyId\"],\n startDateTime: !item[\"startDateTime\"] ? item[\"startDateTime\"] : new Date(item[\"startDateTime\"]),\n endDateTime: !item[\"endDateTime\"] ? item[\"endDateTime\"] : new Date(item[\"endDateTime\"]),\n };\n}\n\n/** ArcIdentity details. */\nexport interface ArcIdentityResponse {\n arcApplicationClientId?: string;\n arcApplicationTenantId?: string;\n arcServicePrincipalObjectId?: string;\n arcApplicationObjectId?: string;\n}\n\nexport function arcIdentityResponseDeserializer(item: any): ArcIdentityResponse {\n return {\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _arcIdentityResponsePropertiesDeserializer(item[\"properties\"])),\n };\n}\n\n/** model interface ArcIdentityResponseProperties */\nexport interface ArcIdentityResponseProperties {\n arcApplicationClientId?: string;\n arcApplicationTenantId?: string;\n arcServicePrincipalObjectId?: string;\n arcApplicationObjectId?: string;\n}\n\nexport function arcIdentityResponsePropertiesDeserializer(\n item: any,\n): ArcIdentityResponseProperties {\n return {\n arcApplicationClientId: item[\"arcApplicationClientId\"],\n arcApplicationTenantId: item[\"arcApplicationTenantId\"],\n arcServicePrincipalObjectId: item[\"arcServicePrincipalObjectId\"],\n arcApplicationObjectId: item[\"arcApplicationObjectId\"],\n };\n}\n\n/** Request for reconciling Arc Settings. */\nexport interface ReconcileArcSettingsRequest {\n /** List of Arc Nodes in the cluster */\n properties?: ReconcileArcSettingsRequestProperties;\n}\n\nexport function reconcileArcSettingsRequestSerializer(item: ReconcileArcSettingsRequest): any {\n return {\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : reconcileArcSettingsRequestPropertiesSerializer(item[\"properties\"]),\n };\n}\n\n/** List of Arc Nodes in the cluster */\nexport interface ReconcileArcSettingsRequestProperties {\n clusterNodes?: string[];\n}\n\nexport function reconcileArcSettingsRequestPropertiesSerializer(\n item: ReconcileArcSettingsRequestProperties,\n): any {\n return {\n clusterNodes: !item[\"clusterNodes\"]\n ? item[\"clusterNodes\"]\n : item[\"clusterNodes\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** Offer details. */\nexport interface Offer extends ProxyResource {\n /** Provisioning State */\n readonly provisioningState?: string;\n /** Identifier of the Publisher for the offer */\n publisherId?: string;\n /** JSON serialized catalog content of the offer */\n content?: string;\n /** The API version of the catalog service used to serve the catalog content */\n contentVersion?: string;\n /** Array of SKU mappings */\n skuMappings?: SkuMappings[];\n}\n\nexport function offerDeserializer(item: any): Offer {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _offerPropertiesDeserializer(item[\"properties\"])),\n };\n}\n\n/** Publisher properties. */\nexport interface OfferProperties {\n /** Provisioning State */\n readonly provisioningState?: string;\n /** Identifier of the Publisher for the offer */\n publisherId?: string;\n /** JSON serialized catalog content of the offer */\n content?: string;\n /** The API version of the catalog service used to serve the catalog content */\n contentVersion?: string;\n /** Array of SKU mappings */\n skuMappings?: SkuMappings[];\n}\n\nexport function offerPropertiesDeserializer(item: any): OfferProperties {\n return {\n provisioningState: item[\"provisioningState\"],\n publisherId: item[\"publisherId\"],\n content: item[\"content\"],\n contentVersion: item[\"contentVersion\"],\n skuMappings: !item[\"skuMappings\"]\n ? item[\"skuMappings\"]\n : skuMappingsArrayDeserializer(item[\"skuMappings\"]),\n };\n}\n\nexport function skuMappingsArrayDeserializer(result: Array<SkuMappings>): any[] {\n return result.map((item) => {\n return skuMappingsDeserializer(item);\n });\n}\n\n/** SKU Mapping details. */\nexport interface SkuMappings {\n /** Identifier of the CatalogPlan for the sku */\n catalogPlanId?: string;\n /** Identifier for the sku */\n marketplaceSkuId?: string;\n /** Array of SKU versions available */\n marketplaceSkuVersions?: string[];\n}\n\nexport function skuMappingsDeserializer(item: any): SkuMappings {\n return {\n catalogPlanId: item[\"catalogPlanId\"],\n marketplaceSkuId: item[\"marketplaceSkuId\"],\n marketplaceSkuVersions: !item[\"marketplaceSkuVersions\"]\n ? item[\"marketplaceSkuVersions\"]\n : item[\"marketplaceSkuVersions\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** List of Offer proxy resources for the HCI cluster. */\nexport interface _OfferList {\n /** The Offer items on this page */\n value: Offer[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _offerListDeserializer(item: any): _OfferList {\n return {\n value: offerArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function offerArrayDeserializer(result: Array<Offer>): any[] {\n return result.map((item) => {\n return offerDeserializer(item);\n });\n}\n\n/** Cluster details. */\nexport interface Cluster extends TrackedResource {\n /** This property identifies the purpose of the Cluster deployment. For example, a valid value is AzureLocal */\n kind?: string;\n /** Provisioning state. Indicates the current lifecycle status of the resource, including creation, update, deletion, connectivity, and error states. */\n readonly provisioningState?: ProvisioningState;\n /** Status of the cluster agent. Indicates the current connectivity, validation, and deployment state of the agent within the cluster. */\n readonly status?: Status;\n /** Overall connectivity status for the cluster resource. Indicates whether the cluster is connected to Azure, partially connected, or has not recently communicated. */\n readonly connectivityStatus?: ConnectivityStatus;\n /** Unique, immutable resource id. */\n readonly cloudId?: string;\n /** The ring to which this cluster belongs to. */\n readonly ring?: string;\n /** Endpoint configured for management from the Azure portal. */\n cloudManagementEndpoint?: string;\n /** App id of cluster AAD identity. */\n aadClientId?: string;\n /** Tenant id of cluster AAD identity. */\n aadTenantId?: string;\n /** Object id of cluster AAD identity. */\n aadApplicationObjectId?: string;\n /** Id of cluster identity service principal. */\n aadServicePrincipalObjectId?: string;\n /** Software Assurance properties of the cluster. */\n softwareAssuranceProperties?: SoftwareAssuranceProperties;\n /** Is Management Cluster, when true indicates that the cluster is used for managing other clusters */\n readonly isManagementCluster?: boolean;\n /** Log Collection properties of the cluster. */\n logCollectionProperties?: LogCollectionProperties;\n /** RemoteSupport properties of the cluster. */\n remoteSupportProperties?: RemoteSupportProperties;\n /** Desired properties of the cluster. */\n desiredProperties?: ClusterDesiredProperties;\n /** Properties reported by cluster agent. */\n readonly reportedProperties?: ClusterReportedProperties;\n /** Attestation configurations for isolated VM (e.g. TVM, CVM) of the cluster. */\n readonly isolatedVmAttestationConfiguration?: IsolatedVmAttestationConfiguration;\n /** Number of days remaining in the trial period. */\n readonly trialDaysRemaining?: number;\n /** Type of billing applied to the resource. */\n readonly billingModel?: string;\n /** Billing properties of the cluster, including upcoming billing model details. */\n readonly billingProperties?: ClusterBillingProperties;\n /** First cluster sync timestamp. */\n readonly registrationTimestamp?: Date;\n /** Most recent cluster sync timestamp. */\n readonly lastSyncTimestamp?: Date;\n /** Most recent billing meter timestamp. */\n readonly lastBillingTimestamp?: Date;\n /** Region specific DataPath Endpoint of the cluster. */\n readonly serviceEndpoint?: string;\n /** Object id of RP Service Principal */\n readonly resourceProviderObjectId?: string;\n /** List of secret locations. */\n secretsLocations?: SecretsLocationDetails[];\n /** Supported Storage Type for HCI Cluster */\n readonly clusterPattern?: ClusterPattern;\n /** Represents the Confidential Virtual Machine (CVM) support intent and current status for the cluster resource. */\n readonly confidentialVmProperties?: ConfidentialVmProperties;\n /** Software Defined Networking Properties of the cluster */\n readonly sdnProperties?: ClusterSdnProperties;\n /** Local Availability Zone information for HCI cluster */\n localAvailabilityZones?: LocalAvailabilityZones[];\n /** Identity Provider for the cluster */\n readonly identityProvider?: IdentityProvider;\n /** Storage type of the cluster. Indicates whether the cluster uses S2D, SAN, or a combination. */\n readonly storageType?: StorageType;\n /** The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity. */\n readonly principalId?: string;\n /** The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity. */\n readonly tenantId?: string;\n /** The type of managed identity assigned to this resource. */\n typeIdentityType?: ManagedServiceIdentityType;\n /** The identities assigned to this resource by the user. */\n userAssignedIdentities?: Record<string, UserAssignedIdentity>;\n}\n\nexport function clusterSerializer(item: Cluster): any {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n properties: areAllPropsUndefined(item, [\n \"cloudManagementEndpoint\",\n \"aadClientId\",\n \"aadTenantId\",\n \"aadApplicationObjectId\",\n \"aadServicePrincipalObjectId\",\n \"softwareAssuranceProperties\",\n \"logCollectionProperties\",\n \"remoteSupportProperties\",\n \"desiredProperties\",\n \"secretsLocations\",\n \"localAvailabilityZones\",\n ])\n ? undefined\n : _clusterPropertiesSerializer(item),\n identity: areAllPropsUndefined(item, [\"type\", \"userAssignedIdentities\"])\n ? undefined\n : _clusterIdentitySerializer(item),\n kind: item[\"kind\"],\n };\n}\n\nexport function clusterDeserializer(item: any): Cluster {\n return {\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _clusterPropertiesDeserializer(item[\"properties\"])),\n ...(!item[\"identity\"] ? item[\"identity\"] : _clusterIdentityDeserializer(item[\"identity\"])),\n kind: item[\"kind\"],\n };\n}\n\n/** Cluster properties. */\nexport interface ClusterProperties {\n /** Provisioning state. Indicates the current lifecycle status of the resource, including creation, update, deletion, connectivity, and error states. */\n readonly provisioningState?: ProvisioningState;\n /** Status of the cluster agent. Indicates the current connectivity, validation, and deployment state of the agent within the cluster. */\n readonly status?: Status;\n /** Overall connectivity status for the cluster resource. Indicates whether the cluster is connected to Azure, partially connected, or has not recently communicated. */\n readonly connectivityStatus?: ConnectivityStatus;\n /** Unique, immutable resource id. */\n readonly cloudId?: string;\n /** The ring to which this cluster belongs to. */\n readonly ring?: string;\n /** Endpoint configured for management from the Azure portal. */\n cloudManagementEndpoint?: string;\n /** App id of cluster AAD identity. */\n aadClientId?: string;\n /** Tenant id of cluster AAD identity. */\n aadTenantId?: string;\n /** Object id of cluster AAD identity. */\n aadApplicationObjectId?: string;\n /** Id of cluster identity service principal. */\n aadServicePrincipalObjectId?: string;\n /** Software Assurance properties of the cluster. */\n softwareAssuranceProperties?: SoftwareAssuranceProperties;\n /** Is Management Cluster, when true indicates that the cluster is used for managing other clusters */\n readonly isManagementCluster?: boolean;\n /** Log Collection properties of the cluster. */\n logCollectionProperties?: LogCollectionProperties;\n /** RemoteSupport properties of the cluster. */\n remoteSupportProperties?: RemoteSupportProperties;\n /** Desired properties of the cluster. */\n desiredProperties?: ClusterDesiredProperties;\n /** Properties reported by cluster agent. */\n readonly reportedProperties?: ClusterReportedProperties;\n /** Attestation configurations for isolated VM (e.g. TVM, CVM) of the cluster. */\n readonly isolatedVmAttestationConfiguration?: IsolatedVmAttestationConfiguration;\n /** Number of days remaining in the trial period. */\n readonly trialDaysRemaining?: number;\n /** Type of billing applied to the resource. */\n readonly billingModel?: string;\n /** Billing properties of the cluster, including upcoming billing model details. */\n readonly billingProperties?: ClusterBillingProperties;\n /** First cluster sync timestamp. */\n readonly registrationTimestamp?: Date;\n /** Most recent cluster sync timestamp. */\n readonly lastSyncTimestamp?: Date;\n /** Most recent billing meter timestamp. */\n readonly lastBillingTimestamp?: Date;\n /** Region specific DataPath Endpoint of the cluster. */\n readonly serviceEndpoint?: string;\n /** Object id of RP Service Principal */\n readonly resourceProviderObjectId?: string;\n /** List of secret locations. */\n secretsLocations?: SecretsLocationDetails[];\n /** Supported Storage Type for HCI Cluster */\n readonly clusterPattern?: ClusterPattern;\n /** Represents the Confidential Virtual Machine (CVM) support intent and current status for the cluster resource. */\n readonly confidentialVmProperties?: ConfidentialVmProperties;\n /** Software Defined Networking Properties of the cluster */\n readonly sdnProperties?: ClusterSdnProperties;\n /** Local Availability Zone information for HCI cluster */\n localAvailabilityZones?: LocalAvailabilityZones[];\n /** Identity Provider for the cluster */\n readonly identityProvider?: IdentityProvider;\n /** Storage type of the cluster. Indicates whether the cluster uses S2D, SAN, or a combination. */\n readonly storageType?: StorageType;\n}\n\nexport function clusterPropertiesSerializer(item: ClusterProperties): any {\n return {\n cloudManagementEndpoint: item[\"cloudManagementEndpoint\"],\n aadClientId: item[\"aadClientId\"],\n aadTenantId: item[\"aadTenantId\"],\n aadApplicationObjectId: item[\"aadApplicationObjectId\"],\n aadServicePrincipalObjectId: item[\"aadServicePrincipalObjectId\"],\n softwareAssuranceProperties: !item[\"softwareAssuranceProperties\"]\n ? item[\"softwareAssuranceProperties\"]\n : softwareAssurancePropertiesSerializer(item[\"softwareAssuranceProperties\"]),\n logCollectionProperties: !item[\"logCollectionProperties\"]\n ? item[\"logCollectionProperties\"]\n : logCollectionPropertiesSerializer(item[\"logCollectionProperties\"]),\n remoteSupportProperties: !item[\"remoteSupportProperties\"]\n ? item[\"remoteSupportProperties\"]\n : remoteSupportPropertiesSerializer(item[\"remoteSupportProperties\"]),\n desiredProperties: !item[\"desiredProperties\"]\n ? item[\"desiredProperties\"]\n : clusterDesiredPropertiesSerializer(item[\"desiredProperties\"]),\n secretsLocations: !item[\"secretsLocations\"]\n ? item[\"secretsLocations\"]\n : secretsLocationDetailsArraySerializer(item[\"secretsLocations\"]),\n localAvailabilityZones: !item[\"localAvailabilityZones\"]\n ? item[\"localAvailabilityZones\"]\n : localAvailabilityZonesArraySerializer(item[\"localAvailabilityZones\"]),\n };\n}\n\nexport function clusterPropertiesDeserializer(item: any): ClusterProperties {\n return {\n provisioningState: item[\"provisioningState\"],\n status: item[\"status\"],\n connectivityStatus: item[\"connectivityStatus\"],\n cloudId: item[\"cloudId\"],\n ring: item[\"ring\"],\n cloudManagementEndpoint: item[\"cloudManagementEndpoint\"],\n aadClientId: item[\"aadClientId\"],\n aadTenantId: item[\"aadTenantId\"],\n aadApplicationObjectId: item[\"aadApplicationObjectId\"],\n aadServicePrincipalObjectId: item[\"aadServicePrincipalObjectId\"],\n softwareAssuranceProperties: !item[\"softwareAssuranceProperties\"]\n ? item[\"softwareAssuranceProperties\"]\n : softwareAssurancePropertiesDeserializer(item[\"softwareAssuranceProperties\"]),\n isManagementCluster: item[\"isManagementCluster\"],\n logCollectionProperties: !item[\"logCollectionProperties\"]\n ? item[\"logCollectionProperties\"]\n : logCollectionPropertiesDeserializer(item[\"logCollectionProperties\"]),\n remoteSupportProperties: !item[\"remoteSupportProperties\"]\n ? item[\"remoteSupportProperties\"]\n : remoteSupportPropertiesDeserializer(item[\"remoteSupportProperties\"]),\n desiredProperties: !item[\"desiredProperties\"]\n ? item[\"desiredProperties\"]\n : clusterDesiredPropertiesDeserializer(item[\"desiredProperties\"]),\n reportedProperties: !item[\"reportedProperties\"]\n ? item[\"reportedProperties\"]\n : clusterReportedPropertiesDeserializer(item[\"reportedProperties\"]),\n isolatedVmAttestationConfiguration: !item[\"isolatedVmAttestationConfiguration\"]\n ? item[\"isolatedVmAttestationConfiguration\"]\n : isolatedVmAttestationConfigurationDeserializer(item[\"isolatedVmAttestationConfiguration\"]),\n trialDaysRemaining: item[\"trialDaysRemaining\"],\n billingModel: item[\"billingModel\"],\n billingProperties: !item[\"billingProperties\"]\n ? item[\"billingProperties\"]\n : clusterBillingPropertiesDeserializer(item[\"billingProperties\"]),\n registrationTimestamp: !item[\"registrationTimestamp\"]\n ? item[\"registrationTimestamp\"]\n : new Date(item[\"registrationTimestamp\"]),\n lastSyncTimestamp: !item[\"lastSyncTimestamp\"]\n ? item[\"lastSyncTimestamp\"]\n : new Date(item[\"lastSyncTimestamp\"]),\n lastBillingTimestamp: !item[\"lastBillingTimestamp\"]\n ? item[\"lastBillingTimestamp\"]\n : new Date(item[\"lastBillingTimestamp\"]),\n serviceEndpoint: item[\"serviceEndpoint\"],\n resourceProviderObjectId: item[\"resourceProviderObjectId\"],\n secretsLocations: !item[\"secretsLocations\"]\n ? item[\"secretsLocations\"]\n : secretsLocationDetailsArrayDeserializer(item[\"secretsLocations\"]),\n clusterPattern: item[\"clusterPattern\"],\n confidentialVmProperties: !item[\"confidentialVmProperties\"]\n ? item[\"confidentialVmProperties\"]\n : confidentialVmPropertiesDeserializer(item[\"confidentialVmProperties\"]),\n sdnProperties: !item[\"sdnProperties\"]\n ? item[\"sdnProperties\"]\n : clusterSdnPropertiesDeserializer(item[\"sdnProperties\"]),\n localAvailabilityZones: !item[\"localAvailabilityZones\"]\n ? item[\"localAvailabilityZones\"]\n : localAvailabilityZonesArrayDeserializer(item[\"localAvailabilityZones\"]),\n identityProvider: item[\"identityProvider\"],\n storageType: item[\"storageType\"],\n };\n}\n\n/** Status of the cluster agent. Indicates the current connectivity, validation, and deployment state of the agent within the cluster. */\nexport enum KnownStatus {\n /** The cluster agent has not yet registered with Azure. */\n NotYetRegistered = \"NotYetRegistered\",\n /** The cluster agent has connected to Azure recently. */\n ConnectedRecently = \"ConnectedRecently\",\n /** The cluster agent has not connected to Azure recently. */\n NotConnectedRecently = \"NotConnectedRecently\",\n /** The cluster agent is currently disconnected from Azure. */\n Disconnected = \"Disconnected\",\n /** An error occurred in the cluster agent's operation. */\n Error = \"Error\",\n /** The status of the cluster agent is not specified. */\n NotSpecified = \"NotSpecified\",\n /** Validation of the cluster agent is currently in progress. */\n ValidationInProgress = \"ValidationInProgress\",\n /** Validation of the cluster agent completed successfully. */\n ValidationSuccess = \"ValidationSuccess\",\n /** Validation of the cluster agent failed. */\n ValidationFailed = \"ValidationFailed\",\n /** Deployment of the cluster agent is currently in progress. */\n DeploymentInProgress = \"DeploymentInProgress\",\n /** Deployment of the cluster agent failed. */\n DeploymentFailed = \"DeploymentFailed\",\n /** Deployment of the cluster agent completed successfully. */\n DeploymentSuccess = \"DeploymentSuccess\",\n}\n\n/**\n * Status of the cluster agent. Indicates the current connectivity, validation, and deployment state of the agent within the cluster. \\\n * {@link KnownStatus} can be used interchangeably with Status,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **NotYetRegistered**: The cluster agent has not yet registered with Azure. \\\n * **ConnectedRecently**: The cluster agent has connected to Azure recently. \\\n * **NotConnectedRecently**: The cluster agent has not connected to Azure recently. \\\n * **Disconnected**: The cluster agent is currently disconnected from Azure. \\\n * **Error**: An error occurred in the cluster agent's operation. \\\n * **NotSpecified**: The status of the cluster agent is not specified. \\\n * **ValidationInProgress**: Validation of the cluster agent is currently in progress. \\\n * **ValidationSuccess**: Validation of the cluster agent completed successfully. \\\n * **ValidationFailed**: Validation of the cluster agent failed. \\\n * **DeploymentInProgress**: Deployment of the cluster agent is currently in progress. \\\n * **DeploymentFailed**: Deployment of the cluster agent failed. \\\n * **DeploymentSuccess**: Deployment of the cluster agent completed successfully.\n */\nexport type Status = string;\n\n/** Overall connectivity status for the cluster resource. Indicates whether the cluster is connected to Azure, partially connected, or has not recently communicated. */\nexport enum KnownConnectivityStatus {\n /** The cluster has not yet registered with Azure. */\n NotYetRegistered = \"NotYetRegistered\",\n /** The cluster is fully connected to Azure. */\n Connected = \"Connected\",\n /** The cluster has not connected to Azure recently. */\n NotConnectedRecently = \"NotConnectedRecently\",\n /** Some components of the cluster are connected, while others are not. */\n PartiallyConnected = \"PartiallyConnected\",\n /** The cluster is not connected to Azure. */\n Disconnected = \"Disconnected\",\n /** The connectivity status is not specified. */\n NotSpecified = \"NotSpecified\",\n}\n\n/**\n * Overall connectivity status for the cluster resource. Indicates whether the cluster is connected to Azure, partially connected, or has not recently communicated. \\\n * {@link KnownConnectivityStatus} can be used interchangeably with ConnectivityStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **NotYetRegistered**: The cluster has not yet registered with Azure. \\\n * **Connected**: The cluster is fully connected to Azure. \\\n * **NotConnectedRecently**: The cluster has not connected to Azure recently. \\\n * **PartiallyConnected**: Some components of the cluster are connected, while others are not. \\\n * **Disconnected**: The cluster is not connected to Azure. \\\n * **NotSpecified**: The connectivity status is not specified.\n */\nexport type ConnectivityStatus = string;\n\n/** Software Assurance properties of the cluster. */\nexport interface SoftwareAssuranceProperties {\n /** Status of the Software Assurance for the cluster. */\n readonly softwareAssuranceStatus?: SoftwareAssuranceStatus;\n /** Customer Intent for Software Assurance Benefit. */\n softwareAssuranceIntent?: SoftwareAssuranceIntent;\n /** TimeStamp denoting the latest SA benefit applicability is validated. */\n readonly lastUpdated?: Date;\n}\n\nexport function softwareAssurancePropertiesSerializer(item: SoftwareAssuranceProperties): any {\n return { softwareAssuranceIntent: item[\"softwareAssuranceIntent\"] };\n}\n\nexport function softwareAssurancePropertiesDeserializer(item: any): SoftwareAssuranceProperties {\n return {\n softwareAssuranceStatus: item[\"softwareAssuranceStatus\"],\n softwareAssuranceIntent: item[\"softwareAssuranceIntent\"],\n lastUpdated: !item[\"lastUpdated\"] ? item[\"lastUpdated\"] : new Date(item[\"lastUpdated\"]),\n };\n}\n\n/** Status of the Software Assurance for the cluster. */\nexport enum KnownSoftwareAssuranceStatus {\n /** Software Assurance is enabled for the cluster. */\n Enabled = \"Enabled\",\n /** Software Assurance is disabled for the cluster. */\n Disabled = \"Disabled\",\n}\n\n/**\n * Status of the Software Assurance for the cluster. \\\n * {@link KnownSoftwareAssuranceStatus} can be used interchangeably with SoftwareAssuranceStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Enabled**: Software Assurance is enabled for the cluster. \\\n * **Disabled**: Software Assurance is disabled for the cluster.\n */\nexport type SoftwareAssuranceStatus = string;\n\n/** Customer Intent for Software Assurance Benefit. */\nexport enum KnownSoftwareAssuranceIntent {\n /** Customer intends to enable the Software Assurance benefit. */\n Enable = \"Enable\",\n /** Customer intends to disable the Software Assurance benefit. */\n Disable = \"Disable\",\n}\n\n/**\n * Customer Intent for Software Assurance Benefit. \\\n * {@link KnownSoftwareAssuranceIntent} can be used interchangeably with SoftwareAssuranceIntent,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Enable**: Customer intends to enable the Software Assurance benefit. \\\n * **Disable**: Customer intends to disable the Software Assurance benefit.\n */\nexport type SoftwareAssuranceIntent = string;\n\n/** Log Collection properties of the cluster. */\nexport interface LogCollectionProperties {\n /** From DateTimeStamp from when logs need to be connected */\n readonly fromDate?: Date;\n /** To DateTimeStamp till when logs need to be connected */\n readonly toDate?: Date;\n /** Recent DateTimeStamp where logs are successfully generated */\n readonly lastLogGenerated?: Date;\n readonly logCollectionSessionDetails?: LogCollectionSession[];\n}\n\nexport function logCollectionPropertiesSerializer(_item: LogCollectionProperties): any {\n return {};\n}\n\nexport function logCollectionPropertiesDeserializer(item: any): LogCollectionProperties {\n return {\n fromDate: !item[\"fromDate\"] ? item[\"fromDate\"] : new Date(item[\"fromDate\"]),\n toDate: !item[\"toDate\"] ? item[\"toDate\"] : new Date(item[\"toDate\"]),\n lastLogGenerated: !item[\"lastLogGenerated\"]\n ? item[\"lastLogGenerated\"]\n : new Date(item[\"lastLogGenerated\"]),\n logCollectionSessionDetails: !item[\"logCollectionSessionDetails\"]\n ? item[\"logCollectionSessionDetails\"]\n : logCollectionSessionArrayDeserializer(item[\"logCollectionSessionDetails\"]),\n };\n}\n\nexport function logCollectionSessionArrayDeserializer(result: Array<LogCollectionSession>): any[] {\n return result.map((item) => {\n return logCollectionSessionDeserializer(item);\n });\n}\n\n/** Log Collection Session details of the cluster. */\nexport interface LogCollectionSession {\n /** Start Time of the logs when it was collected */\n readonly logStartTime?: Date;\n /** End Time of the logs when it was collected */\n readonly logEndTime?: Date;\n /** Duration of logs collected */\n readonly timeCollected?: Date;\n /** Size of the logs collected */\n readonly logSize?: number;\n /** LogCollection status */\n readonly logCollectionStatus?: LogCollectionStatus;\n /** CorrelationId of the log collection */\n readonly correlationId?: string;\n /** Specifies the type of log collection job. Determines whether the logs are collected immediately on demand or as part of a scheduled operation. */\n readonly logCollectionJobType?: LogCollectionJobType;\n /** End Time of the logs when it was collected */\n readonly endTimeCollected?: Date;\n /** Log Collection Error details of the cluster. */\n readonly logCollectionError?: LogCollectionError;\n}\n\nexport function logCollectionSessionDeserializer(item: any): LogCollectionSession {\n return {\n logStartTime: !item[\"logStartTime\"] ? item[\"logStartTime\"] : new Date(item[\"logStartTime\"]),\n logEndTime: !item[\"logEndTime\"] ? item[\"logEndTime\"] : new Date(item[\"logEndTime\"]),\n timeCollected: !item[\"timeCollected\"] ? item[\"timeCollected\"] : new Date(item[\"timeCollected\"]),\n logSize: item[\"logSize\"],\n logCollectionStatus: item[\"logCollectionStatus\"],\n correlationId: item[\"correlationId\"],\n logCollectionJobType: item[\"logCollectionJobType\"],\n endTimeCollected: !item[\"endTimeCollected\"]\n ? item[\"endTimeCollected\"]\n : new Date(item[\"endTimeCollected\"]),\n logCollectionError: !item[\"logCollectionError\"]\n ? item[\"logCollectionError\"]\n : logCollectionErrorDeserializer(item[\"logCollectionError\"]),\n };\n}\n\n/** LogCollection status */\nexport enum KnownLogCollectionStatus {\n /** No log collection has been initiated. */\n None = \"None\",\n /** Log collection is currently in progress. */\n InProgress = \"InProgress\",\n /** Log collection has failed. */\n Failed = \"Failed\",\n /** Log collection completed successfully. */\n Succeeded = \"Succeeded\",\n}\n\n/**\n * LogCollection status \\\n * {@link KnownLogCollectionStatus} can be used interchangeably with LogCollectionStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **None**: No log collection has been initiated. \\\n * **InProgress**: Log collection is currently in progress. \\\n * **Failed**: Log collection has failed. \\\n * **Succeeded**: Log collection completed successfully.\n */\nexport type LogCollectionStatus = string;\n\n/** Specifies the type of log collection job. Determines whether the logs are collected immediately on demand or as part of a scheduled operation. */\nexport enum KnownLogCollectionJobType {\n /** Log collection is triggered manually and executed immediately. */\n OnDemand = \"OnDemand\",\n /** Log collection is scheduled to run at a predefined time or interval. */\n Scheduled = \"Scheduled\",\n}\n\n/**\n * Specifies the type of log collection job. Determines whether the logs are collected immediately on demand or as part of a scheduled operation. \\\n * {@link KnownLogCollectionJobType} can be used interchangeably with LogCollectionJobType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **OnDemand**: Log collection is triggered manually and executed immediately. \\\n * **Scheduled**: Log collection is scheduled to run at a predefined time or interval.\n */\nexport type LogCollectionJobType = string;\n\n/** Log Collection Error details of the cluster. */\nexport interface LogCollectionError {\n /** Error Code of the log collection */\n readonly errorCode?: string;\n /** Error Message of the log collection */\n readonly errorMessage?: string;\n}\n\nexport function logCollectionErrorDeserializer(item: any): LogCollectionError {\n return {\n errorCode: item[\"errorCode\"],\n errorMessage: item[\"errorMessage\"],\n };\n}\n\n/** Remote Support properties of the cluster. */\nexport interface RemoteSupportProperties {\n /** Remote Support Access Level */\n readonly accessLevel?: AccessLevel;\n /** Expiration DateTimeStamp when Remote Support Access will be expired */\n readonly expirationTimeStamp?: Date;\n /** Remote Support Type for cluster */\n readonly remoteSupportType?: RemoteSupportType;\n readonly remoteSupportNodeSettings?: RemoteSupportNodeSettings[];\n readonly remoteSupportSessionDetails?: PerNodeRemoteSupportSession[];\n /** Remote Support Provisioning State */\n readonly remoteSupportProvisioningState?: RemoteSupportProvisioningState;\n}\n\nexport function remoteSupportPropertiesSerializer(_item: RemoteSupportProperties): any {\n return {};\n}\n\nexport function remoteSupportPropertiesDeserializer(item: any): RemoteSupportProperties {\n return {\n accessLevel: item[\"accessLevel\"],\n expirationTimeStamp: !item[\"expirationTimeStamp\"]\n ? item[\"expirationTimeStamp\"]\n : new Date(item[\"expirationTimeStamp\"]),\n remoteSupportType: item[\"remoteSupportType\"],\n remoteSupportNodeSettings: !item[\"remoteSupportNodeSettings\"]\n ? item[\"remoteSupportNodeSettings\"]\n : remoteSupportNodeSettingsArrayDeserializer(item[\"remoteSupportNodeSettings\"]),\n remoteSupportSessionDetails: !item[\"remoteSupportSessionDetails\"]\n ? item[\"remoteSupportSessionDetails\"]\n : perNodeRemoteSupportSessionArrayDeserializer(item[\"remoteSupportSessionDetails\"]),\n remoteSupportProvisioningState: item[\"remoteSupportProvisioningState\"],\n };\n}\n\n/** Remote Support Access Level */\nexport enum KnownAccessLevel {\n /** Allows remote diagnostics operations only. */\n Diagnostics = \"Diagnostics\",\n /** Allows both remote diagnostics and repair operations. */\n DiagnosticsAndRepair = \"DiagnosticsAndRepair\",\n}\n\n/**\n * Remote Support Access Level \\\n * {@link KnownAccessLevel} can be used interchangeably with AccessLevel,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Diagnostics**: Allows remote diagnostics operations only. \\\n * **DiagnosticsAndRepair**: Allows both remote diagnostics and repair operations.\n */\nexport type AccessLevel = string;\n\n/** Remote Support Type for cluster */\nexport enum KnownRemoteSupportType {\n /** Enable remote support for the cluster. */\n Enable = \"Enable\",\n /** Revoke previously enabled remote support for the cluster. */\n Revoke = \"Revoke\",\n}\n\n/**\n * Remote Support Type for cluster \\\n * {@link KnownRemoteSupportType} can be used interchangeably with RemoteSupportType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Enable**: Enable remote support for the cluster. \\\n * **Revoke**: Revoke previously enabled remote support for the cluster.\n */\nexport type RemoteSupportType = string;\n\nexport function remoteSupportNodeSettingsArrayDeserializer(\n result: Array<RemoteSupportNodeSettings>,\n): any[] {\n return result.map((item) => {\n return remoteSupportNodeSettingsDeserializer(item);\n });\n}\n\n/** Remote Support Node Settings of the cluster. */\nexport interface RemoteSupportNodeSettings {\n /** Arc ResourceId of the Node */\n readonly arcResourceId?: string;\n /** Remote Support Access Connection State on the Node */\n readonly state?: string;\n /** Remote Support Enablement Request Created TimeStamp on the Node */\n readonly createdAt?: Date;\n /** Remote Support Enablement Request Updated TimeStamp on the Node */\n readonly updatedAt?: Date;\n /** Remote Support Access Connection Status on the Node */\n readonly connectionStatus?: string;\n /** Remote Support Access Connection Error Message on the Node */\n readonly connectionErrorMessage?: string;\n /** Remote Support Transcript location on the node */\n readonly transcriptLocation?: string;\n}\n\nexport function remoteSupportNodeSettingsDeserializer(item: any): RemoteSupportNodeSettings {\n return {\n arcResourceId: item[\"arcResourceId\"],\n state: item[\"state\"],\n createdAt: !item[\"createdAt\"] ? item[\"createdAt\"] : new Date(item[\"createdAt\"]),\n updatedAt: !item[\"updatedAt\"] ? item[\"updatedAt\"] : new Date(item[\"updatedAt\"]),\n connectionStatus: item[\"connectionStatus\"],\n connectionErrorMessage: item[\"connectionErrorMessage\"],\n transcriptLocation: item[\"transcriptLocation\"],\n };\n}\n\nexport function perNodeRemoteSupportSessionArrayDeserializer(\n result: Array<PerNodeRemoteSupportSession>,\n): any[] {\n return result.map((item) => {\n return perNodeRemoteSupportSessionDeserializer(item);\n });\n}\n\n/** Remote Support Node Session Details on the Node. */\nexport interface PerNodeRemoteSupportSession {\n /** Remote Support Session StartTime on the Node */\n readonly sessionStartTime?: Date;\n /** Remote Support Session EndTime on the Node */\n readonly sessionEndTime?: Date;\n /** Name of the node */\n readonly nodeName?: string;\n /** Duration of Remote Support Enablement */\n readonly duration?: number;\n /** Remote Support Access Level */\n readonly accessLevel?: AccessLevel;\n /** The location where the session transcript is stored. */\n readonly transcriptLocation?: string;\n}\n\nexport function perNodeRemoteSupportSessionDeserializer(item: any): PerNodeRemoteSupportSession {\n return {\n sessionStartTime: !item[\"sessionStartTime\"]\n ? item[\"sessionStartTime\"]\n : new Date(item[\"sessionStartTime\"]),\n sessionEndTime: !item[\"sessionEndTime\"]\n ? item[\"sessionEndTime\"]\n : new Date(item[\"sessionEndTime\"]),\n nodeName: item[\"nodeName\"],\n duration: item[\"duration\"],\n accessLevel: item[\"accessLevel\"],\n transcriptLocation: item[\"transcriptLocation\"],\n };\n}\n\n/** Remote Support Provisioning State */\nexport enum KnownRemoteSupportProvisioningState {\n /** No operation is in progress. */\n None = \"None\",\n /** A Grant (Enable) operation is in progress. */\n GrantInProgress = \"GrantInProgress\",\n /** A Revoke operation is in progress. */\n RevokeInProgress = \"RevokeInProgress\",\n /** The last operation completed successfully. */\n Succeeded = \"Succeeded\",\n /** The last operation failed. */\n Failed = \"Failed\",\n}\n\n/**\n * Remote Support Provisioning State \\\n * {@link KnownRemoteSupportProvisioningState} can be used interchangeably with RemoteSupportProvisioningState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **None**: No operation is in progress. \\\n * **GrantInProgress**: A Grant (Enable) operation is in progress. \\\n * **RevokeInProgress**: A Revoke operation is in progress. \\\n * **Succeeded**: The last operation completed successfully. \\\n * **Failed**: The last operation failed.\n */\nexport type RemoteSupportProvisioningState = string;\n\n/** Desired properties of the cluster. */\nexport interface ClusterDesiredProperties {\n /** Desired state of Windows Server Subscription. */\n windowsServerSubscription?: WindowsServerSubscription;\n /** Desired level of diagnostic data emitted by the cluster. */\n diagnosticLevel?: DiagnosticLevel;\n}\n\nexport function clusterDesiredPropertiesSerializer(item: ClusterDesiredProperties): any {\n return {\n windowsServerSubscription: item[\"windowsServerSubscription\"],\n diagnosticLevel: item[\"diagnosticLevel\"],\n };\n}\n\nexport function clusterDesiredPropertiesDeserializer(item: any): ClusterDesiredProperties {\n return {\n windowsServerSubscription: item[\"windowsServerSubscription\"],\n diagnosticLevel: item[\"diagnosticLevel\"],\n };\n}\n\n/** Desired state of Windows Server Subscription. */\nexport enum KnownWindowsServerSubscription {\n /** Windows Server Subscription is disabled. */\n Disabled = \"Disabled\",\n /** Windows Server Subscription is enabled. */\n Enabled = \"Enabled\",\n}\n\n/**\n * Desired state of Windows Server Subscription. \\\n * {@link KnownWindowsServerSubscription} can be used interchangeably with WindowsServerSubscription,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Disabled**: Windows Server Subscription is disabled. \\\n * **Enabled**: Windows Server Subscription is enabled.\n */\nexport type WindowsServerSubscription = string;\n\n/** Desired level of diagnostic data emitted by the cluster. */\nexport enum KnownDiagnosticLevel {\n /** No diagnostic data will be emitted. */\n Off = \"Off\",\n /** Basic diagnostic data will be emitted, including essential health metrics. */\n Basic = \"Basic\",\n /** Enhanced diagnostic data will be emitted, including detailed performance and usage metrics. */\n Enhanced = \"Enhanced\",\n}\n\n/**\n * Desired level of diagnostic data emitted by the cluster. \\\n * {@link KnownDiagnosticLevel} can be used interchangeably with DiagnosticLevel,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Off**: No diagnostic data will be emitted. \\\n * **Basic**: Basic diagnostic data will be emitted, including essential health metrics. \\\n * **Enhanced**: Enhanced diagnostic data will be emitted, including detailed performance and usage metrics.\n */\nexport type DiagnosticLevel = string;\n\n/** Properties reported by cluster agent. */\nexport interface ClusterReportedProperties {\n /** Name of the on-prem cluster connected to this resource. */\n readonly clusterName?: string;\n /** Unique id generated by the on-prem cluster. */\n readonly clusterId?: string;\n /** Version of the cluster software. */\n readonly clusterVersion?: string;\n /** List of nodes reported by the cluster. */\n readonly nodes?: ClusterNode[];\n /** Last time the cluster reported the data. */\n readonly lastUpdated?: Date;\n /** Specifies the expiration timestamp of the cluster's Managed Service Identity (MSI). The value is expressed in Coordinated Universal Time (UTC). */\n readonly msiExpirationTimeStamp?: Date;\n /** IMDS attestation status of the cluster. */\n readonly imdsAttestation?: ImdsAttestation;\n /** Level of diagnostic data emitted by the cluster. */\n diagnosticLevel?: DiagnosticLevel;\n /** Capabilities supported by the cluster. */\n readonly supportedCapabilities?: string[];\n /** Specifies the type of hardware vendor for all nodes in the cluster. Indicates whether the nodes are provided by Microsoft or a third-party vendor. */\n readonly clusterType?: ClusterNodeType;\n /** The manufacturer of all the nodes of the cluster. */\n readonly manufacturer?: string;\n /** OEM activation status of the cluster. */\n readonly oemActivation?: OemActivation;\n /** Hardware class of the cluster. */\n readonly hardwareClass?: HardwareClass;\n}\n\nexport function clusterReportedPropertiesDeserializer(item: any): ClusterReportedProperties {\n return {\n clusterName: item[\"clusterName\"],\n clusterId: item[\"clusterId\"],\n clusterVersion: item[\"clusterVersion\"],\n nodes: !item[\"nodes\"] ? item[\"nodes\"] : clusterNodeArrayDeserializer(item[\"nodes\"]),\n lastUpdated: !item[\"lastUpdated\"] ? item[\"lastUpdated\"] : new Date(item[\"lastUpdated\"]),\n msiExpirationTimeStamp: !item[\"msiExpirationTimeStamp\"]\n ? item[\"msiExpirationTimeStamp\"]\n : new Date(item[\"msiExpirationTimeStamp\"]),\n imdsAttestation: item[\"imdsAttestation\"],\n diagnosticLevel: item[\"diagnosticLevel\"],\n supportedCapabilities: !item[\"supportedCapabilities\"]\n ? item[\"supportedCapabilities\"]\n : item[\"supportedCapabilities\"].map((p: any) => {\n return p;\n }),\n clusterType: item[\"clusterType\"],\n manufacturer: item[\"manufacturer\"],\n oemActivation: item[\"oemActivation\"],\n hardwareClass: item[\"hardwareClass\"],\n };\n}\n\nexport function clusterNodeArrayDeserializer(result: Array<ClusterNode>): any[] {\n return result.map((item) => {\n return clusterNodeDeserializer(item);\n });\n}\n\n/** Cluster node details. */\nexport interface ClusterNode {\n /** Name of the cluster node. */\n readonly name?: string;\n /** Id of the node in the cluster. */\n readonly id?: number;\n /** State of Windows Server Subscription. */\n readonly windowsServerSubscription?: WindowsServerSubscription;\n /** Type of the cluster node hardware. */\n readonly nodeType?: ClusterNodeType;\n /** Edge Hardware Center Resource Id */\n readonly ehcResourceId?: string;\n /** Manufacturer of the cluster node hardware. */\n readonly manufacturer?: string;\n /** Model name of the cluster node hardware. */\n readonly model?: string;\n /** Operating system running on the cluster node. */\n readonly osName?: string;\n /** Version of the operating system running on the cluster node. */\n readonly osVersion?: string;\n /** Display version of the operating system running on the cluster node. */\n readonly osDisplayVersion?: string;\n /** Immutable id of the cluster node. */\n readonly serialNumber?: string;\n /** Number of physical cores on the cluster node. */\n readonly coreCount?: number;\n /** Total available memory on the cluster node (in GiB). */\n readonly memoryInGiB?: number;\n /** Most recent licensing timestamp. */\n readonly lastLicensingTimestamp?: Date;\n /** OEM activation status of the node. */\n readonly oemActivation?: OemActivation;\n}\n\nexport function clusterNodeDeserializer(item: any): ClusterNode {\n return {\n name: item[\"name\"],\n id: item[\"id\"],\n windowsServerSubscription: item[\"windowsServerSubscription\"],\n nodeType: item[\"nodeType\"],\n ehcResourceId: item[\"ehcResourceId\"],\n manufacturer: item[\"manufacturer\"],\n model: item[\"model\"],\n osName: item[\"osName\"],\n osVersion: item[\"osVersion\"],\n osDisplayVersion: item[\"osDisplayVersion\"],\n serialNumber: item[\"serialNumber\"],\n coreCount: item[\"coreCount\"],\n memoryInGiB: item[\"memoryInGiB\"],\n lastLicensingTimestamp: !item[\"lastLicensingTimestamp\"]\n ? item[\"lastLicensingTimestamp\"]\n : new Date(item[\"lastLicensingTimestamp\"]),\n oemActivation: item[\"oemActivation\"],\n };\n}\n\n/** Specifies the type of hardware vendor for all nodes in the cluster. Indicates whether the nodes are provided by Microsoft or a third-party vendor. */\nexport enum KnownClusterNodeType {\n /** All nodes in the cluster are provided and managed by Microsoft. */\n FirstParty = \"FirstParty\",\n /** All nodes in the cluster are provided and managed by a third-party vendor. */\n ThirdParty = \"ThirdParty\",\n}\n\n/**\n * Specifies the type of hardware vendor for all nodes in the cluster. Indicates whether the nodes are provided by Microsoft or a third-party vendor. \\\n * {@link KnownClusterNodeType} can be used interchangeably with ClusterNodeType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **FirstParty**: All nodes in the cluster are provided and managed by Microsoft. \\\n * **ThirdParty**: All nodes in the cluster are provided and managed by a third-party vendor.\n */\nexport type ClusterNodeType = string;\n\n/** OEM activation status of the cluster. */\nexport enum KnownOemActivation {\n /** OEM activation is disabled for the cluster. */\n Disabled = \"Disabled\",\n /** OEM activation is enabled for the cluster. */\n Enabled = \"Enabled\",\n}\n\n/**\n * OEM activation status of the cluster. \\\n * {@link KnownOemActivation} can be used interchangeably with OemActivation,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Disabled**: OEM activation is disabled for the cluster. \\\n * **Enabled**: OEM activation is enabled for the cluster.\n */\nexport type OemActivation = string;\n\n/** IMDS attestation status of the cluster. */\nexport enum KnownImdsAttestation {\n /** IMDS attestation is disabled for the cluster. */\n Disabled = \"Disabled\",\n /** IMDS attestation is enabled for the cluster. */\n Enabled = \"Enabled\",\n}\n\n/**\n * IMDS attestation status of the cluster. \\\n * {@link KnownImdsAttestation} can be used interchangeably with ImdsAttestation,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Disabled**: IMDS attestation is disabled for the cluster. \\\n * **Enabled**: IMDS attestation is enabled for the cluster.\n */\nexport type ImdsAttestation = string;\n\n/** Hardware class of the cluster. */\nexport enum KnownHardwareClass {\n /** The hardware class is small. */\n Small = \"Small\",\n /** The hardware class is medium. This corresponds to the default */\n Medium = \"Medium\",\n /** The hardware class is large. */\n Large = \"Large\",\n}\n\n/**\n * Hardware class of the cluster. \\\n * {@link KnownHardwareClass} can be used interchangeably with HardwareClass,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Small**: The hardware class is small. \\\n * **Medium**: The hardware class is medium. This corresponds to the default \\\n * **Large**: The hardware class is large.\n */\nexport type HardwareClass = string;\n\n/** Attestation configurations for isolated VM (e.g. TVM, CVM) of the cluster. */\nexport interface IsolatedVmAttestationConfiguration {\n /** Fully qualified Azure resource id of the Microsoft Azure attestation resource associated with this cluster. */\n readonly attestationResourceId?: string;\n /** Region specific endpoint for relying party service. */\n readonly relyingPartyServiceEndpoint?: string;\n /** Region specific endpoint for Microsoft Azure Attestation service for the cluster */\n readonly attestationServiceEndpoint?: string;\n}\n\nexport function isolatedVmAttestationConfigurationDeserializer(\n item: any,\n): IsolatedVmAttestationConfiguration {\n return {\n attestationResourceId: item[\"attestationResourceId\"],\n relyingPartyServiceEndpoint: item[\"relyingPartyServiceEndpoint\"],\n attestationServiceEndpoint: item[\"attestationServiceEndpoint\"],\n };\n}\n\n/** Billing properties of the cluster. */\nexport interface ClusterBillingProperties {\n /** The next billing model to be applied to the cluster. */\n nextBillingModel?: NextBillingModel;\n}\n\nexport function clusterBillingPropertiesDeserializer(item: any): ClusterBillingProperties {\n return {\n nextBillingModel: !item[\"nextBillingModel\"]\n ? item[\"nextBillingModel\"]\n : nextBillingModelDeserializer(item[\"nextBillingModel\"]),\n };\n}\n\n/** Details of the next billing model for the cluster. */\nexport interface NextBillingModel {\n /** Type of billing model. */\n billingModel?: string;\n /** Capabilities enabled under this billing model. */\n capabilitiesEnabled?: string[];\n /** Number of days remaining in the trial period. */\n trialDaysRemaining?: number;\n}\n\nexport function nextBillingModelDeserializer(item: any): NextBillingModel {\n return {\n billingModel: item[\"billingModel\"],\n capabilitiesEnabled: !item[\"capabilitiesEnabled\"]\n ? item[\"capabilitiesEnabled\"]\n : item[\"capabilitiesEnabled\"].map((p: any) => {\n return p;\n }),\n trialDaysRemaining: item[\"trialDaysRemaining\"],\n };\n}\n\nexport function secretsLocationDetailsArraySerializer(\n result: Array<SecretsLocationDetails>,\n): any[] {\n return result.map((item) => {\n return secretsLocationDetailsSerializer(item);\n });\n}\n\nexport function secretsLocationDetailsArrayDeserializer(\n result: Array<SecretsLocationDetails>,\n): any[] {\n return result.map((item) => {\n return secretsLocationDetailsDeserializer(item);\n });\n}\n\n/** Secrets location details */\nexport interface SecretsLocationDetails {\n /** Type of secrets to store */\n secretsType: SecretsType;\n /** secrets location */\n secretsLocation: string;\n}\n\nexport function secretsLocationDetailsSerializer(item: SecretsLocationDetails): any {\n return { secretsType: item[\"secretsType\"], secretsLocation: item[\"secretsLocation\"] };\n}\n\nexport function secretsLocationDetailsDeserializer(item: any): SecretsLocationDetails {\n return {\n secretsType: item[\"secretsType\"],\n secretsLocation: item[\"secretsLocation\"],\n };\n}\n\n/** Type of secrets to store */\nexport enum KnownSecretsType {\n /** Backup secrets type */\n BackupSecrets = \"BackupSecrets\",\n}\n\n/**\n * Type of secrets to store \\\n * {@link KnownSecretsType} can be used interchangeably with SecretsType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **BackupSecrets**: Backup secrets type\n */\nexport type SecretsType = string;\n\n/** Supported Storage Pattern for HCI Cluster */\nexport enum KnownClusterPattern {\n /** Standard cluster. */\n Standard = \"Standard\",\n /** RackAware cluster. */\n RackAware = \"RackAware\",\n}\n\n/**\n * Supported Storage Pattern for HCI Cluster \\\n * {@link KnownClusterPattern} can be used interchangeably with ClusterPattern,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Standard**: Standard cluster. \\\n * **RackAware**: RackAware cluster.\n */\nexport type ClusterPattern = string;\n\n/** Represents the Confidential Virtual Machine (CVM) support intent and current status for the cluster resource. */\nexport interface ConfidentialVmProperties {\n /** Captures the customer's intent to enable or disable CVM support on the cluster, either during initial deployment (Day-0) or at a later stage (Day-N). */\n readonly confidentialVmIntent?: ConfidentialVmIntent;\n /** Captures the current status of CVM support on the cluster. */\n readonly confidentialVmStatus?: ConfidentialVmStatus;\n /** Additional context about CVM support on the cluster, such as reasons for partial enablement or hardware constraints. */\n readonly confidentialVmStatusSummary?: string;\n}\n\nexport function confidentialVmPropertiesDeserializer(item: any): ConfidentialVmProperties {\n return {\n confidentialVmIntent: item[\"confidentialVmIntent\"],\n confidentialVmStatus: item[\"confidentialVmStatus\"],\n confidentialVmStatusSummary: item[\"confidentialVmStatusSummary\"],\n };\n}\n\n/** Captures the customer's intent to enable or disable Confidential Virtual Machine (CVM) support on the cluster, either during initial deployment (Day-0) or at a later stage (Day-N). */\nexport enum KnownConfidentialVmIntent {\n /** Indicates that the customer intends to enable CVM support on the cluster. */\n Enable = \"Enable\",\n /** Indicates that the customer intends to disable CVM support on the cluster. */\n Disable = \"Disable\",\n}\n\n/**\n * Captures the customer's intent to enable or disable Confidential Virtual Machine (CVM) support on the cluster, either during initial deployment (Day-0) or at a later stage (Day-N). \\\n * {@link KnownConfidentialVmIntent} can be used interchangeably with ConfidentialVmIntent,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Enable**: Indicates that the customer intends to enable CVM support on the cluster. \\\n * **Disable**: Indicates that the customer intends to disable CVM support on the cluster.\n */\nexport type ConfidentialVmIntent = string;\n\n/** Captures the current status of Confidential Virtual Machine (CVM) support on the cluster. */\nexport enum KnownConfidentialVmStatus {\n /** CVM support is fully enabled on the cluster. All nodes are CVM capable. */\n Enabled = \"Enabled\",\n /** CVM support is partially enabled. At least one node in the cluster is CVM capable. */\n PartiallyEnabled = \"PartiallyEnabled\",\n /** CVM support is disabled. None of the nodes in the cluster are CVM capable. */\n Disabled = \"Disabled\",\n}\n\n/**\n * Captures the current status of Confidential Virtual Machine (CVM) support on the cluster. \\\n * {@link KnownConfidentialVmStatus} can be used interchangeably with ConfidentialVmStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Enabled**: CVM support is fully enabled on the cluster. All nodes are CVM capable. \\\n * **PartiallyEnabled**: CVM support is partially enabled. At least one node in the cluster is CVM capable. \\\n * **Disabled**: CVM support is disabled. None of the nodes in the cluster are CVM capable.\n */\nexport type ConfidentialVmStatus = string;\n\n/** Represents the Software Defined Networking (SDN) configuration state of the Azure Stack HCI cluster. */\nexport interface ClusterSdnProperties extends SdnProperties {\n /** Indicates whether Software Defined Networking (SDN) integration should be enabled or disabled for this deployment. */\n readonly sdnIntegrationIntent?: SdnIntegrationIntent;\n}\n\nexport function clusterSdnPropertiesDeserializer(item: any): ClusterSdnProperties {\n return {\n sdnStatus: item[\"sdnStatus\"],\n sdnDomainName: item[\"sdnDomainName\"],\n sdnApiAddress: item[\"sdnApiAddress\"],\n sdnIntegrationIntent: item[\"sdnIntegrationIntent\"],\n };\n}\n\n/** Indicates whether Software Defined Networking (SDN) integration should be enabled or disabled for this deployment. */\nexport enum KnownSdnIntegrationIntent {\n /** Enable SDN integration for the deployment. */\n Enable = \"Enable\",\n /** Disable SDN integration for the deployment. */\n Disable = \"Disable\",\n}\n\n/**\n * Indicates whether Software Defined Networking (SDN) integration should be enabled or disabled for this deployment. \\\n * {@link KnownSdnIntegrationIntent} can be used interchangeably with SdnIntegrationIntent,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Enable**: Enable SDN integration for the deployment. \\\n * **Disable**: Disable SDN integration for the deployment.\n */\nexport type SdnIntegrationIntent = string;\n\nexport function localAvailabilityZonesArraySerializer(\n result: Array<LocalAvailabilityZones>,\n): any[] {\n return result.map((item) => {\n return localAvailabilityZonesSerializer(item);\n });\n}\n\nexport function localAvailabilityZonesArrayDeserializer(\n result: Array<LocalAvailabilityZones>,\n): any[] {\n return result.map((item) => {\n return localAvailabilityZonesDeserializer(item);\n });\n}\n\n/** Local Availability Zone information for HCI cluster */\nexport interface LocalAvailabilityZones {\n /** Local Availability Zone name for HCI cluster */\n localAvailabilityZoneName?: string;\n /** Nodes belonging to a particular zone */\n nodes?: string[];\n}\n\nexport function localAvailabilityZonesSerializer(item: LocalAvailabilityZones): any {\n return {\n localAvailabilityZoneName: item[\"localAvailabilityZoneName\"],\n nodes: !item[\"nodes\"]\n ? item[\"nodes\"]\n : item[\"nodes\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function localAvailabilityZonesDeserializer(item: any): LocalAvailabilityZones {\n return {\n localAvailabilityZoneName: item[\"localAvailabilityZoneName\"],\n nodes: !item[\"nodes\"]\n ? item[\"nodes\"]\n : item[\"nodes\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** Identity Provider for the cluster */\nexport enum KnownIdentityProvider {\n /** Uses Active Directory as the identity provider, enabling domain-based authentication and centralized identity management. This is the default option. */\n ActiveDirectory = \"ActiveDirectory\",\n /** Uses a local identity system integrated with Azure Key Vault for authentication. Suitable for AD-less environments where Active Directory is not available or required. */\n LocalIdentity = \"LocalIdentity\",\n}\n\n/**\n * Identity Provider for the cluster \\\n * {@link KnownIdentityProvider} can be used interchangeably with IdentityProvider,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **ActiveDirectory**: Uses Active Directory as the identity provider, enabling domain-based authentication and centralized identity management. This is the default option. \\\n * **LocalIdentity**: Uses a local identity system integrated with Azure Key Vault for authentication. Suitable for AD-less environments where Active Directory is not available or required.\n */\nexport type IdentityProvider = string;\n\n/** Storage type supported for HCI Cluster. */\nexport enum KnownStorageType {\n /** Storage Spaces Direct (S2D) storage type. */\n S2D = \"S2D\",\n /** Storage Area Network (SAN) storage type. */\n SAN = \"SAN\",\n /** Combined SAN and Storage Spaces Direct (SANS2D) storage type. */\n Sans2D = \"SANS2D\",\n}\n\n/**\n * Storage type supported for HCI Cluster. \\\n * {@link KnownStorageType} can be used interchangeably with StorageType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **S2D**: Storage Spaces Direct (S2D) storage type. \\\n * **SAN**: Storage Area Network (SAN) storage type. \\\n * **SANS2D**: Combined SAN and Storage Spaces Direct (SANS2D) storage type.\n */\nexport type StorageType = string;\n\n/** Managed service identity (system assigned and/or user assigned identities) */\nexport interface ManagedServiceIdentity {\n /** The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity. */\n readonly principalId?: string;\n /** The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity. */\n readonly tenantId?: string;\n /** The type of managed identity assigned to this resource. */\n type: ManagedServiceIdentityType;\n /** The identities assigned to this resource by the user. */\n userAssignedIdentities?: Record<string, UserAssignedIdentity>;\n}\n\nexport function managedServiceIdentitySerializer(item: ManagedServiceIdentity): any {\n return { type: item[\"type\"], userAssignedIdentities: item[\"userAssignedIdentities\"] };\n}\n\nexport function managedServiceIdentityDeserializer(item: any): ManagedServiceIdentity {\n return {\n principalId: item[\"principalId\"],\n tenantId: item[\"tenantId\"],\n type: item[\"type\"],\n userAssignedIdentities: !item[\"userAssignedIdentities\"]\n ? item[\"userAssignedIdentities\"]\n : Object.fromEntries(\n Object.entries(item[\"userAssignedIdentities\"]).map(([k, p]: [string, any]) => [\n k,\n !p ? p : userAssignedIdentityDeserializer(p),\n ]),\n ),\n };\n}\n\n/** Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). */\nexport enum KnownManagedServiceIdentityType {\n /** No managed identity. */\n None = \"None\",\n /** System assigned managed identity. */\n SystemAssigned = \"SystemAssigned\",\n /** User assigned managed identity. */\n UserAssigned = \"UserAssigned\",\n /** System and user assigned managed identity. */\n SystemAssignedUserAssigned = \"SystemAssigned,UserAssigned\",\n}\n\n/**\n * Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). \\\n * {@link KnownManagedServiceIdentityType} can be used interchangeably with ManagedServiceIdentityType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **None**: No managed identity. \\\n * **SystemAssigned**: System assigned managed identity. \\\n * **UserAssigned**: User assigned managed identity. \\\n * **SystemAssigned,UserAssigned**: System and user assigned managed identity.\n */\nexport type ManagedServiceIdentityType = string;\n\n/** User assigned identity properties */\nexport interface UserAssignedIdentity {\n /** The principal ID of the assigned identity. */\n readonly principalId?: string;\n /** The client ID of the assigned identity. */\n readonly clientId?: string;\n}\n\nexport function userAssignedIdentitySerializer(_item: UserAssignedIdentity): any {\n return {};\n}\n\nexport function userAssignedIdentityDeserializer(item: any): UserAssignedIdentity {\n return {\n principalId: item[\"principalId\"],\n clientId: item[\"clientId\"],\n };\n}\n\n/** Represents the Software Defined Networking (SDN) configuration state. */\nexport interface SdnProperties {\n /** Indicates the current Software Defined Networking (SDN) status of the resource, which may be an individual device or a cluster. */\n readonly sdnStatus?: SdnStatus;\n /** The fully qualified domain name (FQDN) associated with the SDN deployment. This value is propagated from the Device Management Extension to the cluster resource. It is typically in the format `<sdnPrefix>-nc.<domain>` when SDN is enabled. May be null or absent in unsupported or disabled states. */\n readonly sdnDomainName?: string;\n /** Represents the API address for the SDN deployment. */\n readonly sdnApiAddress?: string;\n}\n\nexport function sdnPropertiesDeserializer(item: any): SdnProperties {\n return {\n sdnStatus: item[\"sdnStatus\"],\n sdnDomainName: item[\"sdnDomainName\"],\n sdnApiAddress: item[\"sdnApiAddress\"],\n };\n}\n\n/** Indicates the current Software Defined Networking (SDN) status of the resource, which may be an individual device or a cluster. */\nexport enum KnownSdnStatus {\n /** The SDN status could not be determined due to a failure in querying the SDN API service. This may occur if the query script fails or if the system is in an inconsistent state. The domain name will be null in this case. */\n Unknown = \"Unknown\",\n /** SDN is not enabled on the resource. The domain name will be null. This is the default state when SDN has not been configured. */\n Disabled = \"Disabled\",\n /** SDN is successfully enabled on the resource. The domain name will be populated in the format `<sdnPrefix>-nc.<domain>`. Customers may need to manage DNS settings to ensure proper resolution. */\n Enabled = \"Enabled\",\n}\n\n/**\n * Indicates the current Software Defined Networking (SDN) status of the resource, which may be an individual device or a cluster. \\\n * {@link KnownSdnStatus} can be used interchangeably with SdnStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Unknown**: The SDN status could not be determined due to a failure in querying the SDN API service. This may occur if the query script fails or if the system is in an inconsistent state. The domain name will be null in this case. \\\n * **Disabled**: SDN is not enabled on the resource. The domain name will be null. This is the default state when SDN has not been configured. \\\n * **Enabled**: SDN is successfully enabled on the resource. The domain name will be populated in the format `<sdnPrefix>-nc.<domain>`. Customers may need to manage DNS settings to ensure proper resolution.\n */\nexport type SdnStatus = string;\n\n/** The resource model definition for an Azure Resource Manager tracked top level resource which has 'tags' and a 'location' */\nexport interface TrackedResource extends Resource {\n /** Resource tags. */\n tags?: Record<string, string>;\n /** The geo-location where the resource lives */\n location: string;\n}\n\nexport function trackedResourceSerializer(item: TrackedResource): any {\n return { tags: item[\"tags\"], location: item[\"location\"] };\n}\n\nexport function trackedResourceDeserializer(item: any): TrackedResource {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n location: item[\"location\"],\n };\n}\n\n/** Cluster details to update. */\nexport interface ClusterPatch {\n /** Resource tags. */\n tags?: Record<string, string>;\n /** The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity. */\n readonly principalId?: string;\n /** The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity. */\n readonly tenantId?: string;\n /** The type of managed identity assigned to this resource. */\n type?: ManagedServiceIdentityType;\n /** The identities assigned to this resource by the user. */\n userAssignedIdentities?: Record<string, UserAssignedIdentity>;\n /** Endpoint configured for management from the Azure portal */\n cloudManagementEndpoint?: string;\n /** App id of cluster AAD identity. */\n aadClientId?: string;\n /** Tenant id of cluster AAD identity. */\n aadTenantId?: string;\n /** Desired properties of the cluster. */\n desiredProperties?: ClusterDesiredProperties;\n}\n\nexport function clusterPatchSerializer(item: ClusterPatch): any {\n return {\n tags: item[\"tags\"],\n identity: areAllPropsUndefined(item, [\"type\", \"userAssignedIdentities\"])\n ? undefined\n : _clusterPatchIdentitySerializer(item),\n properties: areAllPropsUndefined(item, [\n \"cloudManagementEndpoint\",\n \"aadClientId\",\n \"aadTenantId\",\n \"desiredProperties\",\n ])\n ? undefined\n : _clusterPatchPropertiesSerializer(item),\n };\n}\n\n/** Cluster properties. */\nexport interface ClusterPatchProperties {\n /** Endpoint configured for management from the Azure portal */\n cloudManagementEndpoint?: string;\n /** App id of cluster AAD identity. */\n aadClientId?: string;\n /** Tenant id of cluster AAD identity. */\n aadTenantId?: string;\n /** Desired properties of the cluster. */\n desiredProperties?: ClusterDesiredProperties;\n}\n\nexport function clusterPatchPropertiesSerializer(item: ClusterPatchProperties): any {\n return {\n cloudManagementEndpoint: item[\"cloudManagementEndpoint\"],\n aadClientId: item[\"aadClientId\"],\n aadTenantId: item[\"aadTenantId\"],\n desiredProperties: !item[\"desiredProperties\"]\n ? item[\"desiredProperties\"]\n : clusterDesiredPropertiesSerializer(item[\"desiredProperties\"]),\n };\n}\n\n/** List of clusters. */\nexport interface _ClusterList {\n /** The Cluster items on this page */\n value: Cluster[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _clusterListDeserializer(item: any): _ClusterList {\n return {\n value: clusterArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function clusterArraySerializer(result: Array<Cluster>): any[] {\n return result.map((item) => {\n return clusterSerializer(item);\n });\n}\n\nexport function clusterArrayDeserializer(result: Array<Cluster>): any[] {\n return result.map((item) => {\n return clusterDeserializer(item);\n });\n}\n\n/** Update secrets locations change Request. */\nexport interface SecretsLocationsChangeRequest {\n /** List of secret locations */\n properties?: SecretsLocationDetails[];\n}\n\nexport function secretsLocationsChangeRequestSerializer(item: SecretsLocationsChangeRequest): any {\n return {\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : secretsLocationDetailsArraySerializer(item[\"properties\"]),\n };\n}\n\n/** model interface UploadCertificateRequest */\nexport interface UploadCertificateRequest {\n properties?: RawCertificateData;\n}\n\nexport function uploadCertificateRequestSerializer(item: UploadCertificateRequest): any {\n return {\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : rawCertificateDataSerializer(item[\"properties\"]),\n };\n}\n\n/** model interface RawCertificateData */\nexport interface RawCertificateData {\n certificates?: string[];\n}\n\nexport function rawCertificateDataSerializer(item: RawCertificateData): any {\n return {\n certificates: !item[\"certificates\"]\n ? item[\"certificates\"]\n : item[\"certificates\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** Cluster Identity details. */\nexport interface ClusterIdentityResponse {\n aadClientId?: string;\n aadTenantId?: string;\n aadServicePrincipalObjectId?: string;\n aadApplicationObjectId?: string;\n}\n\nexport function clusterIdentityResponseDeserializer(item: any): ClusterIdentityResponse {\n return {\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _clusterIdentityResponsePropertiesDeserializer(item[\"properties\"])),\n };\n}\n\n/** model interface ClusterIdentityResponseProperties */\nexport interface ClusterIdentityResponseProperties {\n aadClientId?: string;\n aadTenantId?: string;\n aadServicePrincipalObjectId?: string;\n aadApplicationObjectId?: string;\n}\n\nexport function clusterIdentityResponsePropertiesDeserializer(\n item: any,\n): ClusterIdentityResponseProperties {\n return {\n aadClientId: item[\"aadClientId\"],\n aadTenantId: item[\"aadTenantId\"],\n aadServicePrincipalObjectId: item[\"aadServicePrincipalObjectId\"],\n aadApplicationObjectId: item[\"aadApplicationObjectId\"],\n };\n}\n\n/** model interface SoftwareAssuranceChangeRequest */\nexport interface SoftwareAssuranceChangeRequest {\n properties?: SoftwareAssuranceChangeRequestProperties;\n}\n\nexport function softwareAssuranceChangeRequestSerializer(\n item: SoftwareAssuranceChangeRequest,\n): any {\n return {\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : softwareAssuranceChangeRequestPropertiesSerializer(item[\"properties\"]),\n };\n}\n\n/** model interface SoftwareAssuranceChangeRequestProperties */\nexport interface SoftwareAssuranceChangeRequestProperties {\n /** Customer Intent for Software Assurance Benefit. This indicates whether the customer wishes to opt in or out of the Software Assurance program, which provides licensing and support benefits. */\n softwareAssuranceIntent?: SoftwareAssuranceIntent;\n}\n\nexport function softwareAssuranceChangeRequestPropertiesSerializer(\n item: SoftwareAssuranceChangeRequestProperties,\n): any {\n return { softwareAssuranceIntent: item[\"softwareAssuranceIntent\"] };\n}\n\n/** model interface ChangeRingRequest */\nexport interface ChangeRingRequest {\n properties?: ChangeRingRequestProperties;\n}\n\nexport function changeRingRequestSerializer(item: ChangeRingRequest): any {\n return {\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : changeRingRequestPropertiesSerializer(item[\"properties\"]),\n };\n}\n\n/** model interface ChangeRingRequestProperties */\nexport interface ChangeRingRequestProperties {\n /** The target ring for the cluster. */\n targetRing?: string;\n}\n\nexport function changeRingRequestPropertiesSerializer(item: ChangeRingRequestProperties): any {\n return { targetRing: item[\"targetRing\"] };\n}\n\n/** Log Collection Request */\nexport interface LogCollectionRequest {\n /** Properties for Log Collection Request */\n properties?: LogCollectionRequestProperties;\n}\n\nexport function logCollectionRequestSerializer(item: LogCollectionRequest): any {\n return {\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : logCollectionRequestPropertiesSerializer(item[\"properties\"]),\n };\n}\n\n/** Properties for Log Collection Request */\nexport interface LogCollectionRequestProperties {\n /** From DateTimeStamp from when logs need to be connected */\n fromDate: Date;\n /** To DateTimeStamp till when logs need to be connected */\n toDate: Date;\n}\n\nexport function logCollectionRequestPropertiesSerializer(\n item: LogCollectionRequestProperties,\n): any {\n return { fromDate: item[\"fromDate\"].toISOString(), toDate: item[\"toDate\"].toISOString() };\n}\n\n/** Remote Support Request */\nexport interface RemoteSupportRequest {\n /** Properties for Remote Support Request */\n properties?: RemoteSupportRequestProperties;\n}\n\nexport function remoteSupportRequestSerializer(item: RemoteSupportRequest): any {\n return {\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : remoteSupportRequestPropertiesSerializer(item[\"properties\"]),\n };\n}\n\n/** Properties for Remote Support Request */\nexport interface RemoteSupportRequestProperties {\n /** Remote Support Access Level */\n readonly accessLevel?: AccessLevel;\n /** Expiration DateTimeStamp when Remote Support Access will be expired */\n expirationTimeStamp?: Date;\n /** Remote Support Type for cluster */\n remoteSupportType?: RemoteSupportType;\n}\n\nexport function remoteSupportRequestPropertiesSerializer(\n item: RemoteSupportRequestProperties,\n): any {\n return {\n expirationTimeStamp: !item[\"expirationTimeStamp\"]\n ? item[\"expirationTimeStamp\"]\n : item[\"expirationTimeStamp\"].toISOString(),\n remoteSupportType: item[\"remoteSupportType\"],\n };\n}\n\n/** Edge device resource */\nexport interface DeploymentSetting extends ProxyResource {\n /** DeploymentSetting provisioning state */\n readonly provisioningState?: ProvisioningState;\n /** Azure resource ids of Arc machines to be part of cluster. */\n arcNodeResourceIds?: string[];\n /** The deployment mode for cluster deployment. */\n deploymentMode?: DeploymentMode;\n /** The intended operation for a cluster. */\n operationType?: OperationType;\n /** Scale units will contains list of deployment data */\n deploymentConfiguration?: DeploymentConfiguration;\n /** Deployment Status reported from cluster. */\n readonly reportedProperties?: EceReportedProperties;\n}\n\nexport function deploymentSettingSerializer(item: DeploymentSetting): any {\n return {\n properties: areAllPropsUndefined(item, [\n \"arcNodeResourceIds\",\n \"deploymentMode\",\n \"operationType\",\n \"deploymentConfiguration\",\n ])\n ? undefined\n : _deploymentSettingPropertiesSerializer(item),\n };\n}\n\nexport function deploymentSettingDeserializer(item: any): DeploymentSetting {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _deploymentSettingPropertiesDeserializer(item[\"properties\"])),\n };\n}\n\n/** DeploymentSetting properties */\nexport interface DeploymentSettingsProperties {\n /** DeploymentSetting provisioning state */\n readonly provisioningState?: ProvisioningState;\n /** Azure resource ids of Arc machines to be part of cluster. */\n arcNodeResourceIds: string[];\n /** The deployment mode for cluster deployment. */\n deploymentMode: DeploymentMode;\n /** The intended operation for a cluster. */\n operationType?: OperationType;\n /** Scale units will contains list of deployment data */\n deploymentConfiguration: DeploymentConfiguration;\n /** Deployment Status reported from cluster. */\n readonly reportedProperties?: EceReportedProperties;\n}\n\nexport function deploymentSettingsPropertiesSerializer(item: DeploymentSettingsProperties): any {\n return {\n arcNodeResourceIds: item[\"arcNodeResourceIds\"].map((p: any) => {\n return p;\n }),\n deploymentMode: item[\"deploymentMode\"],\n operationType: item[\"operationType\"],\n deploymentConfiguration: deploymentConfigurationSerializer(item[\"deploymentConfiguration\"]),\n };\n}\n\nexport function deploymentSettingsPropertiesDeserializer(item: any): DeploymentSettingsProperties {\n return {\n provisioningState: item[\"provisioningState\"],\n arcNodeResourceIds: item[\"arcNodeResourceIds\"].map((p: any) => {\n return p;\n }),\n deploymentMode: item[\"deploymentMode\"],\n operationType: item[\"operationType\"],\n deploymentConfiguration: deploymentConfigurationDeserializer(item[\"deploymentConfiguration\"]),\n reportedProperties: !item[\"reportedProperties\"]\n ? item[\"reportedProperties\"]\n : eceReportedPropertiesDeserializer(item[\"reportedProperties\"]),\n };\n}\n\n/** Deployment mode to trigger job. */\nexport enum KnownDeploymentMode {\n /** Validate ECE action deployment for a cluster. */\n Validate = \"Validate\",\n /** Deploy ECE action deployment for a cluster. */\n Deploy = \"Deploy\",\n}\n\n/**\n * Deployment mode to trigger job. \\\n * {@link KnownDeploymentMode} can be used interchangeably with DeploymentMode,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Validate**: Validate ECE action deployment for a cluster. \\\n * **Deploy**: Deploy ECE action deployment for a cluster.\n */\nexport type DeploymentMode = string;\n\n/** The intended operation for a cluster. */\nexport enum KnownOperationType {\n /** Cluster provisioning operation. */\n ClusterProvisioning = \"ClusterProvisioning\",\n /** Cluster upgrade operation. */\n ClusterUpgrade = \"ClusterUpgrade\",\n}\n\n/**\n * The intended operation for a cluster. \\\n * {@link KnownOperationType} can be used interchangeably with OperationType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **ClusterProvisioning**: Cluster provisioning operation. \\\n * **ClusterUpgrade**: Cluster upgrade operation.\n */\nexport type OperationType = string;\n\n/** Deployment Configuration */\nexport interface DeploymentConfiguration {\n /** deployment template version */\n version?: string;\n /** Scale units will contains list of deployment data */\n scaleUnits: ScaleUnits[];\n}\n\nexport function deploymentConfigurationSerializer(item: DeploymentConfiguration): any {\n return { version: item[\"version\"], scaleUnits: scaleUnitsArraySerializer(item[\"scaleUnits\"]) };\n}\n\nexport function deploymentConfigurationDeserializer(item: any): DeploymentConfiguration {\n return {\n version: item[\"version\"],\n scaleUnits: scaleUnitsArrayDeserializer(item[\"scaleUnits\"]),\n };\n}\n\nexport function scaleUnitsArraySerializer(result: Array<ScaleUnits>): any[] {\n return result.map((item) => {\n return scaleUnitsSerializer(item);\n });\n}\n\nexport function scaleUnitsArrayDeserializer(result: Array<ScaleUnits>): any[] {\n return result.map((item) => {\n return scaleUnitsDeserializer(item);\n });\n}\n\n/** Scale units will contains list of deployment data */\nexport interface ScaleUnits {\n /** Deployment Data to deploy AzureStackHCI Cluster. */\n deploymentData: DeploymentData;\n /** Solution builder extension (SBE) partner properties */\n sbePartnerInfo?: SbePartnerInfo;\n}\n\nexport function scaleUnitsSerializer(item: ScaleUnits): any {\n return {\n deploymentData: deploymentDataSerializer(item[\"deploymentData\"]),\n sbePartnerInfo: !item[\"sbePartnerInfo\"]\n ? item[\"sbePartnerInfo\"]\n : sbePartnerInfoSerializer(item[\"sbePartnerInfo\"]),\n };\n}\n\nexport function scaleUnitsDeserializer(item: any): ScaleUnits {\n return {\n deploymentData: deploymentDataDeserializer(item[\"deploymentData\"]),\n sbePartnerInfo: !item[\"sbePartnerInfo\"]\n ? item[\"sbePartnerInfo\"]\n : sbePartnerInfoDeserializer(item[\"sbePartnerInfo\"]),\n };\n}\n\n/** The Deployment data of AzureStackHCI Cluster. */\nexport interface DeploymentData {\n /** SecuritySettings to deploy AzureStackHCI Cluster. */\n securitySettings?: DeploymentSecuritySettings;\n /** Observability config to deploy AzureStackHCI Cluster. */\n observability?: Observability;\n /** Observability config to deploy AzureStackHCI Cluster. */\n cluster?: DeploymentCluster;\n /** Identity Provider for the cluster */\n identityProvider?: IdentityProvider;\n /** Storage config to deploy AzureStackHCI Cluster. */\n storage?: Storage;\n /** naming prefix to deploy cluster. */\n namingPrefix?: string;\n /** FQDN to deploy cluster */\n domainFqdn?: string;\n /** InfrastructureNetwork config to deploy AzureStackHCI Cluster. */\n infrastructureNetwork?: InfrastructureNetwork[];\n /** list of physical nodes config to deploy AzureStackHCI Cluster. */\n physicalNodes?: PhysicalNodes[];\n /** HostNetwork config to deploy AzureStackHCI Cluster. */\n hostNetwork?: DeploymentSettingHostNetwork;\n /** SDN Integration config to deploy AzureStackHCI Cluster. */\n sdnIntegration?: SdnIntegration;\n /** Is Management Cluster, when true indicates that the cluster is used for managing other clusters */\n isManagementCluster?: boolean;\n /** The path to the Active Directory Organizational Unit container object prepared for the deployment. */\n adouPath?: string;\n /** Azure key vault endpoint. This property is deprecated from 2023-12-01-preview. Please use secrets property instead. */\n secretsLocation?: string;\n /** secrets used for cloud deployment. */\n secrets?: EceDeploymentSecrets[];\n /** OptionalServices config to deploy AzureStackHCI Cluster. */\n optionalServices?: OptionalServices;\n /** Local Availability Zone information for HCI cluster */\n localAvailabilityZones?: LocalAvailabilityZones[];\n /** Assembly Package details for Validated Solution Recipe for AzureStackHCI Cluster */\n assemblyInfo?: AssemblyInfo;\n}\n\nexport function deploymentDataSerializer(item: DeploymentData): any {\n return {\n securitySettings: !item[\"securitySettings\"]\n ? item[\"securitySettings\"]\n : deploymentSecuritySettingsSerializer(item[\"securitySettings\"]),\n observability: !item[\"observability\"]\n ? item[\"observability\"]\n : observabilitySerializer(item[\"observability\"]),\n cluster: !item[\"cluster\"] ? item[\"cluster\"] : deploymentClusterSerializer(item[\"cluster\"]),\n identityProvider: item[\"identityProvider\"],\n storage: !item[\"storage\"] ? item[\"storage\"] : storageSerializer(item[\"storage\"]),\n namingPrefix: item[\"namingPrefix\"],\n domainFqdn: item[\"domainFqdn\"],\n infrastructureNetwork: !item[\"infrastructureNetwork\"]\n ? item[\"infrastructureNetwork\"]\n : infrastructureNetworkArraySerializer(item[\"infrastructureNetwork\"]),\n physicalNodes: !item[\"physicalNodes\"]\n ? item[\"physicalNodes\"]\n : physicalNodesArraySerializer(item[\"physicalNodes\"]),\n hostNetwork: !item[\"hostNetwork\"]\n ? item[\"hostNetwork\"]\n : deploymentSettingHostNetworkSerializer(item[\"hostNetwork\"]),\n sdnIntegration: !item[\"sdnIntegration\"]\n ? item[\"sdnIntegration\"]\n : sdnIntegrationSerializer(item[\"sdnIntegration\"]),\n isManagementCluster: item[\"isManagementCluster\"],\n adouPath: item[\"adouPath\"],\n secretsLocation: item[\"secretsLocation\"],\n secrets: !item[\"secrets\"]\n ? item[\"secrets\"]\n : eceDeploymentSecretsArraySerializer(item[\"secrets\"]),\n optionalServices: !item[\"optionalServices\"]\n ? item[\"optionalServices\"]\n : optionalServicesSerializer(item[\"optionalServices\"]),\n localAvailabilityZones: !item[\"localAvailabilityZones\"]\n ? item[\"localAvailabilityZones\"]\n : localAvailabilityZonesArraySerializer(item[\"localAvailabilityZones\"]),\n assemblyInfo: !item[\"assemblyInfo\"]\n ? item[\"assemblyInfo\"]\n : assemblyInfoSerializer(item[\"assemblyInfo\"]),\n };\n}\n\nexport function deploymentDataDeserializer(item: any): DeploymentData {\n return {\n securitySettings: !item[\"securitySettings\"]\n ? item[\"securitySettings\"]\n : deploymentSecuritySettingsDeserializer(item[\"securitySettings\"]),\n observability: !item[\"observability\"]\n ? item[\"observability\"]\n : observabilityDeserializer(item[\"observability\"]),\n cluster: !item[\"cluster\"] ? item[\"cluster\"] : deploymentClusterDeserializer(item[\"cluster\"]),\n identityProvider: item[\"identityProvider\"],\n storage: !item[\"storage\"] ? item[\"storage\"] : storageDeserializer(item[\"storage\"]),\n namingPrefix: item[\"namingPrefix\"],\n domainFqdn: item[\"domainFqdn\"],\n infrastructureNetwork: !item[\"infrastructureNetwork\"]\n ? item[\"infrastructureNetwork\"]\n : infrastructureNetworkArrayDeserializer(item[\"infrastructureNetwork\"]),\n physicalNodes: !item[\"physicalNodes\"]\n ? item[\"physicalNodes\"]\n : physicalNodesArrayDeserializer(item[\"physicalNodes\"]),\n hostNetwork: !item[\"hostNetwork\"]\n ? item[\"hostNetwork\"]\n : deploymentSettingHostNetworkDeserializer(item[\"hostNetwork\"]),\n sdnIntegration: !item[\"sdnIntegration\"]\n ? item[\"sdnIntegration\"]\n : sdnIntegrationDeserializer(item[\"sdnIntegration\"]),\n isManagementCluster: item[\"isManagementCluster\"],\n adouPath: item[\"adouPath\"],\n secretsLocation: item[\"secretsLocation\"],\n secrets: !item[\"secrets\"]\n ? item[\"secrets\"]\n : eceDeploymentSecretsArrayDeserializer(item[\"secrets\"]),\n optionalServices: !item[\"optionalServices\"]\n ? item[\"optionalServices\"]\n : optionalServicesDeserializer(item[\"optionalServices\"]),\n localAvailabilityZones: !item[\"localAvailabilityZones\"]\n ? item[\"localAvailabilityZones\"]\n : localAvailabilityZonesArrayDeserializer(item[\"localAvailabilityZones\"]),\n assemblyInfo: !item[\"assemblyInfo\"]\n ? item[\"assemblyInfo\"]\n : assemblyInfoDeserializer(item[\"assemblyInfo\"]),\n };\n}\n\n/** The SecuritySettings of AzureStackHCI Cluster. */\nexport interface DeploymentSecuritySettings {\n /** By default, Hypervisor-protected Code Integrity is enabled on your Azure HCI cluster. */\n hvciProtection?: boolean;\n /** By default, Secure Boot is enabled on your Azure HCI cluster. This setting is hardware dependent. */\n drtmProtection?: boolean;\n /** When set to true, the security baseline is re-applied regularly. */\n driftControlEnforced?: boolean;\n /** When set to true, Credential Guard is enabled. */\n credentialGuardEnforced?: boolean;\n /** When set to true, the SMB default instance requires sign in for the client and server services. */\n smbSigningEnforced?: boolean;\n /** When set to true, cluster east-west traffic is encrypted. */\n smbClusterEncryption?: boolean;\n /** When set to true, all the side channel mitigations are enabled */\n sideChannelMitigationEnforced?: boolean;\n /** When set to true, BitLocker XTS_AES 256-bit encryption is enabled for all data-at-rest on the OS volume of your Azure Stack HCI cluster. This setting is TPM-hardware dependent. */\n bitlockerBootVolume?: boolean;\n /** When set to true, BitLocker XTS-AES 256-bit encryption is enabled for all data-at-rest on your Azure Stack HCI cluster shared volumes. */\n bitlockerDataVolumes?: boolean;\n /** WDAC is enabled by default and limits the applications and the code that you can run on your Azure Stack HCI cluster. */\n wdacEnforced?: boolean;\n}\n\nexport function deploymentSecuritySettingsSerializer(item: DeploymentSecuritySettings): any {\n return {\n hvciProtection: item[\"hvciProtection\"],\n drtmProtection: item[\"drtmProtection\"],\n driftControlEnforced: item[\"driftControlEnforced\"],\n credentialGuardEnforced: item[\"credentialGuardEnforced\"],\n smbSigningEnforced: item[\"smbSigningEnforced\"],\n smbClusterEncryption: item[\"smbClusterEncryption\"],\n sideChannelMitigationEnforced: item[\"sideChannelMitigationEnforced\"],\n bitlockerBootVolume: item[\"bitlockerBootVolume\"],\n bitlockerDataVolumes: item[\"bitlockerDataVolumes\"],\n wdacEnforced: item[\"wdacEnforced\"],\n };\n}\n\nexport function deploymentSecuritySettingsDeserializer(item: any): DeploymentSecuritySettings {\n return {\n hvciProtection: item[\"hvciProtection\"],\n drtmProtection: item[\"drtmProtection\"],\n driftControlEnforced: item[\"driftControlEnforced\"],\n credentialGuardEnforced: item[\"credentialGuardEnforced\"],\n smbSigningEnforced: item[\"smbSigningEnforced\"],\n smbClusterEncryption: item[\"smbClusterEncryption\"],\n sideChannelMitigationEnforced: item[\"sideChannelMitigationEnforced\"],\n bitlockerBootVolume: item[\"bitlockerBootVolume\"],\n bitlockerDataVolumes: item[\"bitlockerDataVolumes\"],\n wdacEnforced: item[\"wdacEnforced\"],\n };\n}\n\n/** The Observability of AzureStackHCI Cluster. */\nexport interface Observability {\n /** Enables telemetry data to be sent to Microsoft */\n streamingDataClient?: boolean;\n /** Location of your cluster. The log and diagnostic data is sent to the appropriate diagnostics servers depending upon where your cluster resides. Setting this to false results in all data sent to Microsoft to be stored outside of the EU. */\n euLocation?: boolean;\n /** When set to true, collects log data to facilitate quicker issue resolution. */\n episodicDataUpload?: boolean;\n}\n\nexport function observabilitySerializer(item: Observability): any {\n return {\n streamingDataClient: item[\"streamingDataClient\"],\n euLocation: item[\"euLocation\"],\n episodicDataUpload: item[\"episodicDataUpload\"],\n };\n}\n\nexport function observabilityDeserializer(item: any): Observability {\n return {\n streamingDataClient: item[\"streamingDataClient\"],\n euLocation: item[\"euLocation\"],\n episodicDataUpload: item[\"episodicDataUpload\"],\n };\n}\n\n/** AzureStackHCI Cluster deployment properties. */\nexport interface DeploymentCluster {\n /** The cluster name provided when preparing Active Directory. */\n name?: string;\n /** Use a cloud witness if you have internet access and if you use an Azure Storage account to provide a vote on cluster quorum. A cloud witness uses Azure Blob Storage to read or write a blob file and then uses it to arbitrate in split-brain resolution. Only allowed values are 'Cloud', 'FileShare'. */\n witnessType?: string;\n /** Specify the fileshare path for the local witness for your Azure Stack HCI cluster. */\n witnessPath?: string;\n /** Specify the Azure Storage account name for cloud witness for your Azure Stack HCI cluster. */\n cloudAccountName?: string;\n /** For Azure blob service endpoint type, select either Default or Custom domain. If you selected **Custom domain, enter the domain for the blob service in this format core.windows.net. */\n azureServiceEndpoint?: string;\n /** Hardware class of the cluster. */\n readonly hardwareClass?: HardwareClass;\n /** Cluster Pattern supported. */\n clusterPattern?: ClusterPattern;\n}\n\nexport function deploymentClusterSerializer(item: DeploymentCluster): any {\n return {\n name: item[\"name\"],\n witnessType: item[\"witnessType\"],\n witnessPath: item[\"witnessPath\"],\n cloudAccountName: item[\"cloudAccountName\"],\n azureServiceEndpoint: item[\"azureServiceEndpoint\"],\n clusterPattern: item[\"clusterPattern\"],\n };\n}\n\nexport function deploymentClusterDeserializer(item: any): DeploymentCluster {\n return {\n name: item[\"name\"],\n witnessType: item[\"witnessType\"],\n witnessPath: item[\"witnessPath\"],\n cloudAccountName: item[\"cloudAccountName\"],\n azureServiceEndpoint: item[\"azureServiceEndpoint\"],\n hardwareClass: item[\"hardwareClass\"],\n clusterPattern: item[\"clusterPattern\"],\n };\n}\n\n/** The Storage config of AzureStackHCI Cluster. */\nexport interface Storage {\n /** By default, this mode is set to Express and your storage is configured as per best practices based on the number of nodes in the cluster. Allowed values are 'Express','InfraOnly', 'KeepStorage' */\n configurationMode?: string;\n /** Storage type for the HCI Cluster. Allowed values are 'S2D', 'SAN', 'SANS2D'. */\n storageType?: StorageType;\n /** S2D (Storage Spaces Direct) configuration. Applicable when StorageType is 'S2D' or 'SANS2D'. */\n s2D?: StorageS2DConfig;\n /** SAN (Storage Area Network) configuration. Applicable when StorageType is 'SAN' or 'SANS2D'. */\n san?: StorageSanConfig;\n}\n\nexport function storageSerializer(item: Storage): any {\n return {\n configurationMode: item[\"configurationMode\"],\n storageType: item[\"storageType\"],\n s2d: !item[\"s2D\"] ? item[\"s2D\"] : storageS2DConfigSerializer(item[\"s2D\"]),\n san: !item[\"san\"] ? item[\"san\"] : storageSanConfigSerializer(item[\"san\"]),\n };\n}\n\nexport function storageDeserializer(item: any): Storage {\n return {\n configurationMode: item[\"configurationMode\"],\n storageType: item[\"storageType\"],\n s2D: !item[\"s2d\"] ? item[\"s2d\"] : storageS2DConfigDeserializer(item[\"s2d\"]),\n san: !item[\"san\"] ? item[\"san\"] : storageSanConfigDeserializer(item[\"san\"]),\n };\n}\n\n/** The S2D (Storage Spaces Direct) configuration for AzureStackHCI Cluster storage. */\nexport interface StorageS2DConfig {\n /** Volume provisioning type. Allowed values are 'Fixed', 'ThinProvisioned'. */\n volumeType?: VolumeType;\n /** Overprovisioning ratio for S2D storage. Allowed values are '0', '1', '2'. */\n overprovisioningRatio?: OverprovisioningRatio;\n}\n\nexport function storageS2DConfigSerializer(item: StorageS2DConfig): any {\n return { volumeType: item[\"volumeType\"], overprovisioningRatio: item[\"overprovisioningRatio\"] };\n}\n\nexport function storageS2DConfigDeserializer(item: any): StorageS2DConfig {\n return {\n volumeType: item[\"volumeType\"],\n overprovisioningRatio: item[\"overprovisioningRatio\"],\n };\n}\n\n/** Volume provisioning type for S2D storage. */\nexport enum KnownVolumeType {\n /** Fixed provisioning type. */\n Fixed = \"Fixed\",\n /** Thin provisioned provisioning type. */\n ThinProvisioned = \"ThinProvisioned\",\n}\n\n/**\n * Volume provisioning type for S2D storage. \\\n * {@link KnownVolumeType} can be used interchangeably with VolumeType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Fixed**: Fixed provisioning type. \\\n * **ThinProvisioned**: Thin provisioned provisioning type.\n */\nexport type VolumeType = string;\n\n/** Overprovisioning ratio for S2D storage. */\nexport enum KnownOverprovisioningRatio {\n /** No overprovisioning. */\n Zero = \"0\",\n /** Overprovisioning ratio of 1. */\n One = \"1\",\n /** Overprovisioning ratio of 2. */\n Two = \"2\",\n}\n\n/**\n * Overprovisioning ratio for S2D storage. \\\n * {@link KnownOverprovisioningRatio} can be used interchangeably with OverprovisioningRatio,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **0**: No overprovisioning. \\\n * **1**: Overprovisioning ratio of 1. \\\n * **2**: Overprovisioning ratio of 2.\n */\nexport type OverprovisioningRatio = string;\n\n/** The SAN (Storage Area Network) configuration for AzureStackHCI Cluster storage. */\nexport interface StorageSanConfig {\n /** Infrastructure volume LUN ID (e.g. PURE1234567890ABCDEF). */\n infraVolLunId?: string;\n /** Infrastructure performance LUN ID. */\n infraPerfLunId?: string;\n}\n\nexport function storageSanConfigSerializer(item: StorageSanConfig): any {\n return { infraVolLunId: item[\"infraVolLunId\"], infraPerfLunId: item[\"infraPerfLunId\"] };\n}\n\nexport function storageSanConfigDeserializer(item: any): StorageSanConfig {\n return {\n infraVolLunId: item[\"infraVolLunId\"],\n infraPerfLunId: item[\"infraPerfLunId\"],\n };\n}\n\nexport function infrastructureNetworkArraySerializer(result: Array<InfrastructureNetwork>): any[] {\n return result.map((item) => {\n return infrastructureNetworkSerializer(item);\n });\n}\n\nexport function infrastructureNetworkArrayDeserializer(\n result: Array<InfrastructureNetwork>,\n): any[] {\n return result.map((item) => {\n return infrastructureNetworkDeserializer(item);\n });\n}\n\n/** The InfrastructureNetwork of a AzureStackHCI Cluster. */\nexport interface InfrastructureNetwork {\n /** Subnet mask that matches the provided IP address space. */\n subnetMask?: string;\n /** Default gateway that should be used for the provided IP address space. */\n gateway?: string;\n /** Range of IP addresses from which addresses are allocated for nodes within a subnet. */\n ipPools?: IpPools[];\n /** Specifies how DNS servers are configured for the infrastructure network. Allowed values are 'UseDnsServer' to use the provided DNS servers, and 'UseForwarder' to use DNS forwarders. */\n dnsServerConfig?: DnsServerConfig;\n /** Details of the DNS Zones to be configured. */\n dnsZones?: DnsZones[];\n /** IPv4 address of the DNS servers in your environment. */\n dnsServers?: string[];\n /** Allows customers to use DHCP for Hosts and Cluster IPs. If not declared, the deployment will default to static IPs. When true, GW and DNS servers are not required */\n useDhcp?: boolean;\n}\n\nexport function infrastructureNetworkSerializer(item: InfrastructureNetwork): any {\n return {\n subnetMask: item[\"subnetMask\"],\n gateway: item[\"gateway\"],\n ipPools: !item[\"ipPools\"] ? item[\"ipPools\"] : ipPoolsArraySerializer(item[\"ipPools\"]),\n dnsServerConfig: item[\"dnsServerConfig\"],\n dnsZones: !item[\"dnsZones\"] ? item[\"dnsZones\"] : dnsZonesArraySerializer(item[\"dnsZones\"]),\n dnsServers: !item[\"dnsServers\"]\n ? item[\"dnsServers\"]\n : item[\"dnsServers\"].map((p: any) => {\n return p;\n }),\n useDhcp: item[\"useDhcp\"],\n };\n}\n\nexport function infrastructureNetworkDeserializer(item: any): InfrastructureNetwork {\n return {\n subnetMask: item[\"subnetMask\"],\n gateway: item[\"gateway\"],\n ipPools: !item[\"ipPools\"] ? item[\"ipPools\"] : ipPoolsArrayDeserializer(item[\"ipPools\"]),\n dnsServerConfig: item[\"dnsServerConfig\"],\n dnsZones: !item[\"dnsZones\"] ? item[\"dnsZones\"] : dnsZonesArrayDeserializer(item[\"dnsZones\"]),\n dnsServers: !item[\"dnsServers\"]\n ? item[\"dnsServers\"]\n : item[\"dnsServers\"].map((p: any) => {\n return p;\n }),\n useDhcp: item[\"useDhcp\"],\n };\n}\n\nexport function ipPoolsArraySerializer(result: Array<IpPools>): any[] {\n return result.map((item) => {\n return ipPoolsSerializer(item);\n });\n}\n\nexport function ipPoolsArrayDeserializer(result: Array<IpPools>): any[] {\n return result.map((item) => {\n return ipPoolsDeserializer(item);\n });\n}\n\n/** The dnsServers of a device. */\nexport interface IpPools {\n /** Starting IP address for the management network. A minimum of six free, contiguous IPv4 addresses (excluding your host IPs) are needed for infrastructure services such as clustering. */\n startingAddress?: string;\n /** Ending IP address for the management network. A minimum of six free, contiguous IPv4 addresses (excluding your host IPs) are needed for infrastructure services such as clustering. */\n endingAddress?: string;\n}\n\nexport function ipPoolsSerializer(item: IpPools): any {\n return { startingAddress: item[\"startingAddress\"], endingAddress: item[\"endingAddress\"] };\n}\n\nexport function ipPoolsDeserializer(item: any): IpPools {\n return {\n startingAddress: item[\"startingAddress\"],\n endingAddress: item[\"endingAddress\"],\n };\n}\n\n/** Specifies how DNS servers are configured for the infrastructure network. Allowed values are 'UseDnsServer' to use the provided DNS servers, and 'UseForwarder' to use DNS forwarders. */\nexport enum KnownDnsServerConfig {\n /** Use the provided DNS servers for the infrastructure network. */\n UseDnsServer = \"UseDnsServer\",\n /** Use DNS forwarders for the infrastructure network. */\n UseForwarder = \"UseForwarder\",\n}\n\n/**\n * Specifies how DNS servers are configured for the infrastructure network. Allowed values are 'UseDnsServer' to use the provided DNS servers, and 'UseForwarder' to use DNS forwarders. \\\n * {@link KnownDnsServerConfig} can be used interchangeably with DnsServerConfig,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **UseDnsServer**: Use the provided DNS servers for the infrastructure network. \\\n * **UseForwarder**: Use DNS forwarders for the infrastructure network.\n */\nexport type DnsServerConfig = string;\n\nexport function dnsZonesArraySerializer(result: Array<DnsZones>): any[] {\n return result.map((item) => {\n return dnsZonesSerializer(item);\n });\n}\n\nexport function dnsZonesArrayDeserializer(result: Array<DnsZones>): any[] {\n return result.map((item) => {\n return dnsZonesDeserializer(item);\n });\n}\n\n/** Details of the DNS Zones to be configured. */\nexport interface DnsZones {\n /** Name of the DNS Zone to be configured. */\n dnsZoneName?: string;\n /** Forwarder details of the DNS Zone to be configured. */\n dnsForwarder?: string[];\n}\n\nexport function dnsZonesSerializer(item: DnsZones): any {\n return {\n dnsZoneName: item[\"dnsZoneName\"],\n dnsForwarder: !item[\"dnsForwarder\"]\n ? item[\"dnsForwarder\"]\n : item[\"dnsForwarder\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function dnsZonesDeserializer(item: any): DnsZones {\n return {\n dnsZoneName: item[\"dnsZoneName\"],\n dnsForwarder: !item[\"dnsForwarder\"]\n ? item[\"dnsForwarder\"]\n : item[\"dnsForwarder\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function physicalNodesArraySerializer(result: Array<PhysicalNodes>): any[] {\n return result.map((item) => {\n return physicalNodesSerializer(item);\n });\n}\n\nexport function physicalNodesArrayDeserializer(result: Array<PhysicalNodes>): any[] {\n return result.map((item) => {\n return physicalNodesDeserializer(item);\n });\n}\n\n/** The PhysicalNodes of a cluster. */\nexport interface PhysicalNodes {\n /** NETBIOS name of each physical server on your Azure Stack HCI cluster. */\n name?: string;\n /** The IPv4 address assigned to each physical server on your Azure Stack HCI cluster. */\n ipv4Address?: string;\n}\n\nexport function physicalNodesSerializer(item: PhysicalNodes): any {\n return { name: item[\"name\"], ipv4Address: item[\"ipv4Address\"] };\n}\n\nexport function physicalNodesDeserializer(item: any): PhysicalNodes {\n return {\n name: item[\"name\"],\n ipv4Address: item[\"ipv4Address\"],\n };\n}\n\n/** The HostNetwork of a cluster. */\nexport interface DeploymentSettingHostNetwork {\n /** The network intents assigned to the network reference pattern used for the deployment. Each intent will define its own name, traffic type, adapter names, and overrides as recommended by your OEM. */\n intents?: DeploymentSettingIntents[];\n /** List of StorageNetworks config to deploy AzureStackHCI Cluster. */\n storageNetworks?: DeploymentSettingStorageNetworks[];\n /** SAN network configuration for the host network. Applicable when StorageType is 'SAN' or 'SANS2D'. */\n sanNetworks?: SanNetworks;\n /** Defines how the storage adapters between nodes are connected either switch or switch less.. */\n storageConnectivitySwitchless?: boolean;\n /** Optional parameter required only for 3 Nodes Switchless deployments. This allows users to specify IPs and Mask for Storage NICs when Network ATC is not assigning the IPs for storage automatically. */\n enableStorageAutoIp?: boolean;\n}\n\nexport function deploymentSettingHostNetworkSerializer(item: DeploymentSettingHostNetwork): any {\n return {\n intents: !item[\"intents\"]\n ? item[\"intents\"]\n : deploymentSettingIntentsArraySerializer(item[\"intents\"]),\n storageNetworks: !item[\"storageNetworks\"]\n ? item[\"storageNetworks\"]\n : deploymentSettingStorageNetworksArraySerializer(item[\"storageNetworks\"]),\n sanNetworks: !item[\"sanNetworks\"]\n ? item[\"sanNetworks\"]\n : sanNetworksSerializer(item[\"sanNetworks\"]),\n storageConnectivitySwitchless: item[\"storageConnectivitySwitchless\"],\n enableStorageAutoIp: item[\"enableStorageAutoIp\"],\n };\n}\n\nexport function deploymentSettingHostNetworkDeserializer(item: any): DeploymentSettingHostNetwork {\n return {\n intents: !item[\"intents\"]\n ? item[\"intents\"]\n : deploymentSettingIntentsArrayDeserializer(item[\"intents\"]),\n storageNetworks: !item[\"storageNetworks\"]\n ? item[\"storageNetworks\"]\n : deploymentSettingStorageNetworksArrayDeserializer(item[\"storageNetworks\"]),\n sanNetworks: !item[\"sanNetworks\"]\n ? item[\"sanNetworks\"]\n : sanNetworksDeserializer(item[\"sanNetworks\"]),\n storageConnectivitySwitchless: item[\"storageConnectivitySwitchless\"],\n enableStorageAutoIp: item[\"enableStorageAutoIp\"],\n };\n}\n\nexport function deploymentSettingIntentsArraySerializer(\n result: Array<DeploymentSettingIntents>,\n): any[] {\n return result.map((item) => {\n return deploymentSettingIntentsSerializer(item);\n });\n}\n\nexport function deploymentSettingIntentsArrayDeserializer(\n result: Array<DeploymentSettingIntents>,\n): any[] {\n return result.map((item) => {\n return deploymentSettingIntentsDeserializer(item);\n });\n}\n\n/** The Intents of a cluster. */\nexport interface DeploymentSettingIntents {\n /** Name of the network intent you wish to create. */\n name?: string;\n /** List of network traffic types. Only allowed values are 'Compute', 'Storage', 'Management'. */\n trafficType?: string[];\n /** Array of network interfaces used for the network intent. */\n adapter?: string[];\n /** This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation. */\n overrideVirtualSwitchConfiguration?: boolean;\n /** Set virtualSwitch ConfigurationOverrides for cluster. */\n virtualSwitchConfigurationOverrides?: DeploymentSettingVirtualSwitchConfigurationOverrides;\n /** This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation. */\n overrideQosPolicy?: boolean;\n /** Set QoS PolicyOverrides for cluster. */\n qosPolicyOverrides?: QosPolicyOverrides;\n /** This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation. */\n overrideAdapterProperty?: boolean;\n /** Set Adapter PropertyOverrides for cluster. */\n adapterPropertyOverrides?: DeploymentSettingAdapterPropertyOverrides;\n}\n\nexport function deploymentSettingIntentsSerializer(item: DeploymentSettingIntents): any {\n return {\n name: item[\"name\"],\n trafficType: !item[\"trafficType\"]\n ? item[\"trafficType\"]\n : item[\"trafficType\"].map((p: any) => {\n return p;\n }),\n adapter: !item[\"adapter\"]\n ? item[\"adapter\"]\n : item[\"adapter\"].map((p: any) => {\n return p;\n }),\n overrideVirtualSwitchConfiguration: item[\"overrideVirtualSwitchConfiguration\"],\n virtualSwitchConfigurationOverrides: !item[\"virtualSwitchConfigurationOverrides\"]\n ? item[\"virtualSwitchConfigurationOverrides\"]\n : deploymentSettingVirtualSwitchConfigurationOverridesSerializer(\n item[\"virtualSwitchConfigurationOverrides\"],\n ),\n overrideQosPolicy: item[\"overrideQosPolicy\"],\n qosPolicyOverrides: !item[\"qosPolicyOverrides\"]\n ? item[\"qosPolicyOverrides\"]\n : qosPolicyOverridesSerializer(item[\"qosPolicyOverrides\"]),\n overrideAdapterProperty: item[\"overrideAdapterProperty\"],\n adapterPropertyOverrides: !item[\"adapterPropertyOverrides\"]\n ? item[\"adapterPropertyOverrides\"]\n : deploymentSettingAdapterPropertyOverridesSerializer(item[\"adapterPropertyOverrides\"]),\n };\n}\n\nexport function deploymentSettingIntentsDeserializer(item: any): DeploymentSettingIntents {\n return {\n name: item[\"name\"],\n trafficType: !item[\"trafficType\"]\n ? item[\"trafficType\"]\n : item[\"trafficType\"].map((p: any) => {\n return p;\n }),\n adapter: !item[\"adapter\"]\n ? item[\"adapter\"]\n : item[\"adapter\"].map((p: any) => {\n return p;\n }),\n overrideVirtualSwitchConfiguration: item[\"overrideVirtualSwitchConfiguration\"],\n virtualSwitchConfigurationOverrides: !item[\"virtualSwitchConfigurationOverrides\"]\n ? item[\"virtualSwitchConfigurationOverrides\"]\n : deploymentSettingVirtualSwitchConfigurationOverridesDeserializer(\n item[\"virtualSwitchConfigurationOverrides\"],\n ),\n overrideQosPolicy: item[\"overrideQosPolicy\"],\n qosPolicyOverrides: !item[\"qosPolicyOverrides\"]\n ? item[\"qosPolicyOverrides\"]\n : qosPolicyOverridesDeserializer(item[\"qosPolicyOverrides\"]),\n overrideAdapterProperty: item[\"overrideAdapterProperty\"],\n adapterPropertyOverrides: !item[\"adapterPropertyOverrides\"]\n ? item[\"adapterPropertyOverrides\"]\n : deploymentSettingAdapterPropertyOverridesDeserializer(item[\"adapterPropertyOverrides\"]),\n };\n}\n\n/** The VirtualSwitchConfigurationOverrides of a cluster. */\nexport interface DeploymentSettingVirtualSwitchConfigurationOverrides {\n /** Enable IoV for Virtual Switch */\n enableIov?: string;\n /** Load Balancing Algorithm for Virtual Switch */\n loadBalancingAlgorithm?: string;\n}\n\nexport function deploymentSettingVirtualSwitchConfigurationOverridesSerializer(\n item: DeploymentSettingVirtualSwitchConfigurationOverrides,\n): any {\n return { enableIov: item[\"enableIov\"], loadBalancingAlgorithm: item[\"loadBalancingAlgorithm\"] };\n}\n\nexport function deploymentSettingVirtualSwitchConfigurationOverridesDeserializer(\n item: any,\n): DeploymentSettingVirtualSwitchConfigurationOverrides {\n return {\n enableIov: item[\"enableIov\"],\n loadBalancingAlgorithm: item[\"loadBalancingAlgorithm\"],\n };\n}\n\n/** The QoSPolicyOverrides of a cluster. */\nexport interface QosPolicyOverrides {\n /** This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation. */\n priorityValue8021ActionCluster?: string;\n /** This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation. */\n priorityValue8021ActionSMB?: string;\n /** This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation. */\n bandwidthPercentageSMB?: string;\n}\n\nexport function qosPolicyOverridesSerializer(item: QosPolicyOverrides): any {\n return {\n priorityValue8021Action_Cluster: item[\"priorityValue8021ActionCluster\"],\n priorityValue8021Action_SMB: item[\"priorityValue8021ActionSMB\"],\n bandwidthPercentage_SMB: item[\"bandwidthPercentageSMB\"],\n };\n}\n\nexport function qosPolicyOverridesDeserializer(item: any): QosPolicyOverrides {\n return {\n priorityValue8021ActionCluster: item[\"priorityValue8021Action_Cluster\"],\n priorityValue8021ActionSMB: item[\"priorityValue8021Action_SMB\"],\n bandwidthPercentageSMB: item[\"bandwidthPercentage_SMB\"],\n };\n}\n\n/** The AdapterPropertyOverrides of a cluster. */\nexport interface DeploymentSettingAdapterPropertyOverrides {\n /** This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation. */\n jumboPacket?: string;\n /** This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation. */\n networkDirect?: string;\n /** This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation. Expected values are 'iWARP', 'RoCEv2', 'RoCE' */\n networkDirectTechnology?: string;\n}\n\nexport function deploymentSettingAdapterPropertyOverridesSerializer(\n item: DeploymentSettingAdapterPropertyOverrides,\n): any {\n return {\n jumboPacket: item[\"jumboPacket\"],\n networkDirect: item[\"networkDirect\"],\n networkDirectTechnology: item[\"networkDirectTechnology\"],\n };\n}\n\nexport function deploymentSettingAdapterPropertyOverridesDeserializer(\n item: any,\n): DeploymentSettingAdapterPropertyOverrides {\n return {\n jumboPacket: item[\"jumboPacket\"],\n networkDirect: item[\"networkDirect\"],\n networkDirectTechnology: item[\"networkDirectTechnology\"],\n };\n}\n\nexport function deploymentSettingStorageNetworksArraySerializer(\n result: Array<DeploymentSettingStorageNetworks>,\n): any[] {\n return result.map((item) => {\n return deploymentSettingStorageNetworksSerializer(item);\n });\n}\n\nexport function deploymentSettingStorageNetworksArrayDeserializer(\n result: Array<DeploymentSettingStorageNetworks>,\n): any[] {\n return result.map((item) => {\n return deploymentSettingStorageNetworksDeserializer(item);\n });\n}\n\n/** The StorageNetworks of a cluster. */\nexport interface DeploymentSettingStorageNetworks {\n /** Name of the storage network. */\n name?: string;\n /** Name of the storage network adapter. */\n networkAdapterName?: string;\n /** ID specified for the VLAN storage network. This setting is applied to the network interfaces that route the storage and VM migration traffic. */\n vlanId?: string;\n /** List of Storage adapter physical nodes config to deploy AzureStackHCI Cluster. */\n storageAdapterIPInfo?: DeploymentSettingStorageAdapterIPInfo[];\n}\n\nexport function deploymentSettingStorageNetworksSerializer(\n item: DeploymentSettingStorageNetworks,\n): any {\n return {\n name: item[\"name\"],\n networkAdapterName: item[\"networkAdapterName\"],\n vlanId: item[\"vlanId\"],\n storageAdapterIPInfo: !item[\"storageAdapterIPInfo\"]\n ? item[\"storageAdapterIPInfo\"]\n : deploymentSettingStorageAdapterIPInfoArraySerializer(item[\"storageAdapterIPInfo\"]),\n };\n}\n\nexport function deploymentSettingStorageNetworksDeserializer(\n item: any,\n): DeploymentSettingStorageNetworks {\n return {\n name: item[\"name\"],\n networkAdapterName: item[\"networkAdapterName\"],\n vlanId: item[\"vlanId\"],\n storageAdapterIPInfo: !item[\"storageAdapterIPInfo\"]\n ? item[\"storageAdapterIPInfo\"]\n : deploymentSettingStorageAdapterIPInfoArrayDeserializer(item[\"storageAdapterIPInfo\"]),\n };\n}\n\nexport function deploymentSettingStorageAdapterIPInfoArraySerializer(\n result: Array<DeploymentSettingStorageAdapterIPInfo>,\n): any[] {\n return result.map((item) => {\n return deploymentSettingStorageAdapterIPInfoSerializer(item);\n });\n}\n\nexport function deploymentSettingStorageAdapterIPInfoArrayDeserializer(\n result: Array<DeploymentSettingStorageAdapterIPInfo>,\n): any[] {\n return result.map((item) => {\n return deploymentSettingStorageAdapterIPInfoDeserializer(item);\n });\n}\n\n/** The StorageAdapter physical nodes of a cluster. */\nexport interface DeploymentSettingStorageAdapterIPInfo {\n /** storage adapter physical node name. */\n physicalNode?: string;\n /** The IPv4 address assigned to each storage adapter physical node on your Azure Stack HCI cluster. */\n ipv4Address?: string;\n /** The SubnetMask address assigned to each storage adapter physical node on your Azure Stack HCI cluster. */\n subnetMask?: string;\n}\n\nexport function deploymentSettingStorageAdapterIPInfoSerializer(\n item: DeploymentSettingStorageAdapterIPInfo,\n): any {\n return {\n physicalNode: item[\"physicalNode\"],\n ipv4Address: item[\"ipv4Address\"],\n subnetMask: item[\"subnetMask\"],\n };\n}\n\nexport function deploymentSettingStorageAdapterIPInfoDeserializer(\n item: any,\n): DeploymentSettingStorageAdapterIPInfo {\n return {\n physicalNode: item[\"physicalNode\"],\n ipv4Address: item[\"ipv4Address\"],\n subnetMask: item[\"subnetMask\"],\n };\n}\n\n/** SAN network configuration for host network of AzureStackHCI Cluster. */\nexport interface SanNetworks {\n /** Cluster (CSV/LiveMig) network configuration for SAN deployments. */\n clusterNetworkConfig?: SanClusterNetworkConfig;\n}\n\nexport function sanNetworksSerializer(item: SanNetworks): any {\n return {\n clusterNetworkConfig: !item[\"clusterNetworkConfig\"]\n ? item[\"clusterNetworkConfig\"]\n : sanClusterNetworkConfigSerializer(item[\"clusterNetworkConfig\"]),\n };\n}\n\nexport function sanNetworksDeserializer(item: any): SanNetworks {\n return {\n clusterNetworkConfig: !item[\"clusterNetworkConfig\"]\n ? item[\"clusterNetworkConfig\"]\n : sanClusterNetworkConfigDeserializer(item[\"clusterNetworkConfig\"]),\n };\n}\n\n/** Cluster network configuration for SAN deployments (CSV/LiveMig traffic). */\nexport interface SanClusterNetworkConfig {\n /** QoS and adapter overrides for the cluster network. */\n adapterProperties?: SanAdapterProperties;\n /** Per-adapter IP configuration for the cluster network. */\n adapterIPConfig?: SanAdapterIPConfig[];\n}\n\nexport function sanClusterNetworkConfigSerializer(item: SanClusterNetworkConfig): any {\n return {\n adapterProperties: !item[\"adapterProperties\"]\n ? item[\"adapterProperties\"]\n : sanAdapterPropertiesSerializer(item[\"adapterProperties\"]),\n adapterIPConfig: !item[\"adapterIPConfig\"]\n ? item[\"adapterIPConfig\"]\n : sanAdapterIPConfigArraySerializer(item[\"adapterIPConfig\"]),\n };\n}\n\nexport function sanClusterNetworkConfigDeserializer(item: any): SanClusterNetworkConfig {\n return {\n adapterProperties: !item[\"adapterProperties\"]\n ? item[\"adapterProperties\"]\n : sanAdapterPropertiesDeserializer(item[\"adapterProperties\"]),\n adapterIPConfig: !item[\"adapterIPConfig\"]\n ? item[\"adapterIPConfig\"]\n : sanAdapterIPConfigArrayDeserializer(item[\"adapterIPConfig\"]),\n };\n}\n\n/** QoS and adapter property overrides for SAN cluster network traffic. */\nexport interface SanAdapterProperties {\n /** 802.1p priority value for cluster traffic. */\n priorityValue8021ActionCluster?: number;\n /** 802.1p priority value for SMB traffic. */\n priorityValue8021ActionSmb?: number;\n /** SMB bandwidth percentage (1-97). */\n bandwidthPercentageSmb?: number;\n /** Jumbo frame size in bytes. */\n jumboPacket?: number;\n}\n\nexport function sanAdapterPropertiesSerializer(item: SanAdapterProperties): any {\n return {\n priorityValue8021ActionCluster: item[\"priorityValue8021ActionCluster\"],\n priorityValue8021ActionSmb: item[\"priorityValue8021ActionSmb\"],\n bandwidthPercentageSmb: item[\"bandwidthPercentageSmb\"],\n jumboPacket: item[\"jumboPacket\"],\n };\n}\n\nexport function sanAdapterPropertiesDeserializer(item: any): SanAdapterProperties {\n return {\n priorityValue8021ActionCluster: item[\"priorityValue8021ActionCluster\"],\n priorityValue8021ActionSmb: item[\"priorityValue8021ActionSmb\"],\n bandwidthPercentageSmb: item[\"bandwidthPercentageSmb\"],\n jumboPacket: item[\"jumboPacket\"],\n };\n}\n\nexport function sanAdapterIPConfigArraySerializer(result: Array<SanAdapterIPConfig>): any[] {\n return result.map((item) => {\n return sanAdapterIPConfigSerializer(item);\n });\n}\n\nexport function sanAdapterIPConfigArrayDeserializer(result: Array<SanAdapterIPConfig>): any[] {\n return result.map((item) => {\n return sanAdapterIPConfigDeserializer(item);\n });\n}\n\n/** Per-adapter IP configuration for SAN cluster network. */\nexport interface SanAdapterIPConfig {\n /** Logical name of the adapter IP configuration (e.g., clusterNetwork-A). */\n name?: string;\n /** Physical NIC name (e.g., ethernet 3). */\n networkAdapterName?: string;\n /** VLAN ID (0-4095). Value of 0 or omitted means untagged. */\n vlanId?: number;\n /** Subnet address prefix in CIDR notation (e.g., 10.10.30.0/24). */\n addressPrefix?: string;\n}\n\nexport function sanAdapterIPConfigSerializer(item: SanAdapterIPConfig): any {\n return {\n name: item[\"name\"],\n networkAdapterName: item[\"networkAdapterName\"],\n vlanId: item[\"vlanId\"],\n addressPrefix: item[\"addressPrefix\"],\n };\n}\n\nexport function sanAdapterIPConfigDeserializer(item: any): SanAdapterIPConfig {\n return {\n name: item[\"name\"],\n networkAdapterName: item[\"networkAdapterName\"],\n vlanId: item[\"vlanId\"],\n addressPrefix: item[\"addressPrefix\"],\n };\n}\n\n/** SDN Integration config to deploy AzureStackHCI Cluster. */\nexport interface SdnIntegration {\n /** network controller config for SDN Integration to deploy AzureStackHCI Cluster. */\n networkController?: NetworkController;\n}\n\nexport function sdnIntegrationSerializer(item: SdnIntegration): any {\n return {\n networkController: !item[\"networkController\"]\n ? item[\"networkController\"]\n : networkControllerSerializer(item[\"networkController\"]),\n };\n}\n\nexport function sdnIntegrationDeserializer(item: any): SdnIntegration {\n return {\n networkController: !item[\"networkController\"]\n ? item[\"networkController\"]\n : networkControllerDeserializer(item[\"networkController\"]),\n };\n}\n\n/** network controller config for SDN Integration to deploy AzureStackHCI Cluster. */\nexport interface NetworkController {\n /** macAddressPoolStart of network controller used for SDN Integration. */\n macAddressPoolStart?: string;\n /** macAddressPoolStop of network controller used for SDN Integration. */\n macAddressPoolStop?: string;\n /** NetworkVirtualizationEnabled of network controller used for SDN Integration. */\n networkVirtualizationEnabled?: boolean;\n}\n\nexport function networkControllerSerializer(item: NetworkController): any {\n return {\n macAddressPoolStart: item[\"macAddressPoolStart\"],\n macAddressPoolStop: item[\"macAddressPoolStop\"],\n networkVirtualizationEnabled: item[\"networkVirtualizationEnabled\"],\n };\n}\n\nexport function networkControllerDeserializer(item: any): NetworkController {\n return {\n macAddressPoolStart: item[\"macAddressPoolStart\"],\n macAddressPoolStop: item[\"macAddressPoolStop\"],\n networkVirtualizationEnabled: item[\"networkVirtualizationEnabled\"],\n };\n}\n\nexport function eceDeploymentSecretsArraySerializer(result: Array<EceDeploymentSecrets>): any[] {\n return result.map((item) => {\n return eceDeploymentSecretsSerializer(item);\n });\n}\n\nexport function eceDeploymentSecretsArrayDeserializer(result: Array<EceDeploymentSecrets>): any[] {\n return result.map((item) => {\n return eceDeploymentSecretsDeserializer(item);\n });\n}\n\n/** Protected parameters list stored in keyvault. */\nexport interface EceDeploymentSecrets {\n /** Secret name stored in keyvault. */\n secretName?: string;\n /** Secret name expected for Enterprise Cloud Engine (ECE) deployment. */\n eceSecretName?: EceSecrets;\n /** Secret URI stored in keyvault. */\n secretLocation?: string;\n}\n\nexport function eceDeploymentSecretsSerializer(item: EceDeploymentSecrets): any {\n return {\n secretName: item[\"secretName\"],\n eceSecretName: item[\"eceSecretName\"],\n secretLocation: item[\"secretLocation\"],\n };\n}\n\nexport function eceDeploymentSecretsDeserializer(item: any): EceDeploymentSecrets {\n return {\n secretName: item[\"secretName\"],\n eceSecretName: item[\"eceSecretName\"],\n secretLocation: item[\"secretLocation\"],\n };\n}\n\n/** Secret names allowed for Enterprise Cloud Engine (ECE) deployment. */\nexport enum KnownEceSecrets {\n /** AzureStackLCMUserCredential used for LCM operations for AzureStackHCI cluster. */\n AzureStackLCMUserCredential = \"AzureStackLCMUserCredential\",\n /** DefaultARBApplication used to manage Azure Arc resource bridge (ARB) for AzureStackHCI cluster. */\n DefaultARBApplication = \"DefaultARBApplication\",\n /** LocalAdminCredential used for admin operations for AzureStackHCI cluster. */\n LocalAdminCredential = \"LocalAdminCredential\",\n /** WitnessStorageKey used for setting up a cloud witness for AzureStackHCI cluster. */\n WitnessStorageKey = \"WitnessStorageKey\",\n}\n\n/**\n * Secret names allowed for Enterprise Cloud Engine (ECE) deployment. \\\n * {@link KnownEceSecrets} can be used interchangeably with EceSecrets,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **AzureStackLCMUserCredential**: AzureStackLCMUserCredential used for LCM operations for AzureStackHCI cluster. \\\n * **DefaultARBApplication**: DefaultARBApplication used to manage Azure Arc resource bridge (ARB) for AzureStackHCI cluster. \\\n * **LocalAdminCredential**: LocalAdminCredential used for admin operations for AzureStackHCI cluster. \\\n * **WitnessStorageKey**: WitnessStorageKey used for setting up a cloud witness for AzureStackHCI cluster.\n */\nexport type EceSecrets = string;\n\n/** The OptionalServices of AzureStackHCI Cluster. */\nexport interface OptionalServices {\n /** The name of custom location. */\n customLocation?: string;\n}\n\nexport function optionalServicesSerializer(item: OptionalServices): any {\n return { customLocation: item[\"customLocation\"] };\n}\n\nexport function optionalServicesDeserializer(item: any): OptionalServices {\n return {\n customLocation: item[\"customLocation\"],\n };\n}\n\n/** Assembly Package details for Validated Solution Recipe for AzureStackHCI Cluster */\nexport interface AssemblyInfo {\n /** Assembly Package version for Validated Solution Recipe for AzureStackHCI Cluster */\n readonly packageVersion?: string;\n /** Payload properties for Validated Solution Recipe for AzureStackHCI Cluster */\n readonly payload?: AssemblyInfoPayload[];\n}\n\nexport function assemblyInfoSerializer(_item: AssemblyInfo): any {\n return {};\n}\n\nexport function assemblyInfoDeserializer(item: any): AssemblyInfo {\n return {\n packageVersion: item[\"packageVersion\"],\n payload: !item[\"payload\"]\n ? item[\"payload\"]\n : assemblyInfoPayloadArrayDeserializer(item[\"payload\"]),\n };\n}\n\nexport function assemblyInfoPayloadArrayDeserializer(result: Array<AssemblyInfoPayload>): any[] {\n return result.map((item) => {\n return assemblyInfoPayloadDeserializer(item);\n });\n}\n\n/** Payload properties for Validated Solution Recipe for AzureStackHCI Cluster */\nexport interface AssemblyInfoPayload {\n /** assembly identifier for Validated Solution Recipe for AzureStackHCI Cluster */\n readonly identifier?: string;\n /** Hash of assembly package for Validated Solution Recipe for AzureStackHCI Cluster */\n readonly hash?: string;\n /** File name of assembly package for Validated Solution Recipe for AzureStackHCI Cluster */\n readonly fileName?: string;\n /** Url of assembly package for Validated Solution Recipe for AzureStackHCI Cluster */\n readonly url?: string;\n}\n\nexport function assemblyInfoPayloadDeserializer(item: any): AssemblyInfoPayload {\n return {\n identifier: item[\"identifier\"],\n hash: item[\"hash\"],\n fileName: item[\"fileName\"],\n url: item[\"url\"],\n };\n}\n\n/** The solution builder extension (SBE) partner deployment info for cluster. */\nexport interface SbePartnerInfo {\n /** SBE package and manifest information for the solution Builder Extension staged for AzureStackHCI cluster deployment. */\n sbeDeploymentInfo?: SbeDeploymentInfo;\n /** List of SBE partner properties for AzureStackHCI cluster deployment. */\n partnerProperties?: SbePartnerProperties[];\n /** SBE credentials list for AzureStackHCI cluster deployment. */\n credentialList?: SbeCredentials[];\n}\n\nexport function sbePartnerInfoSerializer(item: SbePartnerInfo): any {\n return {\n sbeDeploymentInfo: !item[\"sbeDeploymentInfo\"]\n ? item[\"sbeDeploymentInfo\"]\n : sbeDeploymentInfoSerializer(item[\"sbeDeploymentInfo\"]),\n partnerProperties: !item[\"partnerProperties\"]\n ? item[\"partnerProperties\"]\n : sbePartnerPropertiesArraySerializer(item[\"partnerProperties\"]),\n credentialList: !item[\"credentialList\"]\n ? item[\"credentialList\"]\n : sbeCredentialsArraySerializer(item[\"credentialList\"]),\n };\n}\n\nexport function sbePartnerInfoDeserializer(item: any): SbePartnerInfo {\n return {\n sbeDeploymentInfo: !item[\"sbeDeploymentInfo\"]\n ? item[\"sbeDeploymentInfo\"]\n : sbeDeploymentInfoDeserializer(item[\"sbeDeploymentInfo\"]),\n partnerProperties: !item[\"partnerProperties\"]\n ? item[\"partnerProperties\"]\n : sbePartnerPropertiesArrayDeserializer(item[\"partnerProperties\"]),\n credentialList: !item[\"credentialList\"]\n ? item[\"credentialList\"]\n : sbeCredentialsArrayDeserializer(item[\"credentialList\"]),\n };\n}\n\n/** Solution builder extension (SBE) package and manifest information for the solution builder extension staged for AzureStackHCI cluster deployment. */\nexport interface SbeDeploymentInfo {\n /** SBE package version. */\n version?: string;\n /** SBE family name. */\n family?: string;\n /** SBE manifest publisher. */\n publisher?: string;\n /** SBE Manifest Source. */\n sbeManifestSource?: string;\n /** SBE Manifest Creation Date. */\n sbeManifestCreationDate?: Date;\n}\n\nexport function sbeDeploymentInfoSerializer(item: SbeDeploymentInfo): any {\n return {\n version: item[\"version\"],\n family: item[\"family\"],\n publisher: item[\"publisher\"],\n sbeManifestSource: item[\"sbeManifestSource\"],\n sbeManifestCreationDate: !item[\"sbeManifestCreationDate\"]\n ? item[\"sbeManifestCreationDate\"]\n : item[\"sbeManifestCreationDate\"].toISOString(),\n };\n}\n\nexport function sbeDeploymentInfoDeserializer(item: any): SbeDeploymentInfo {\n return {\n version: item[\"version\"],\n family: item[\"family\"],\n publisher: item[\"publisher\"],\n sbeManifestSource: item[\"sbeManifestSource\"],\n sbeManifestCreationDate: !item[\"sbeManifestCreationDate\"]\n ? item[\"sbeManifestCreationDate\"]\n : new Date(item[\"sbeManifestCreationDate\"]),\n };\n}\n\nexport function sbePartnerPropertiesArraySerializer(result: Array<SbePartnerProperties>): any[] {\n return result.map((item) => {\n return sbePartnerPropertiesSerializer(item);\n });\n}\n\nexport function sbePartnerPropertiesArrayDeserializer(result: Array<SbePartnerProperties>): any[] {\n return result.map((item) => {\n return sbePartnerPropertiesDeserializer(item);\n });\n}\n\n/** Solution builder extension (SBE) partner properties object. */\nexport interface SbePartnerProperties {\n /** SBE partner property name. */\n name?: string;\n /** SBE partner property value. */\n value?: string;\n}\n\nexport function sbePartnerPropertiesSerializer(item: SbePartnerProperties): any {\n return { name: item[\"name\"], value: item[\"value\"] };\n}\n\nexport function sbePartnerPropertiesDeserializer(item: any): SbePartnerProperties {\n return {\n name: item[\"name\"],\n value: item[\"value\"],\n };\n}\n\nexport function sbeCredentialsArraySerializer(result: Array<SbeCredentials>): any[] {\n return result.map((item) => {\n return sbeCredentialsSerializer(item);\n });\n}\n\nexport function sbeCredentialsArrayDeserializer(result: Array<SbeCredentials>): any[] {\n return result.map((item) => {\n return sbeCredentialsDeserializer(item);\n });\n}\n\n/** secrets used for solution builder extension (SBE) partner extensibility. */\nexport interface SbeCredentials {\n /** secret name stored in keyvault. */\n secretName?: string;\n /** secret name expected for Enterprise Cloud Engine (ECE). */\n eceSecretName?: string;\n /** secret URI stored in keyvault. */\n secretLocation?: string;\n}\n\nexport function sbeCredentialsSerializer(item: SbeCredentials): any {\n return {\n secretName: item[\"secretName\"],\n eceSecretName: item[\"eceSecretName\"],\n secretLocation: item[\"secretLocation\"],\n };\n}\n\nexport function sbeCredentialsDeserializer(item: any): SbeCredentials {\n return {\n secretName: item[\"secretName\"],\n eceSecretName: item[\"eceSecretName\"],\n secretLocation: item[\"secretLocation\"],\n };\n}\n\n/** The DeploymentStatus of AzureStackHCI Cluster. */\nexport interface EceReportedProperties {\n /** validation status of AzureStackHCI Cluster Deployment. */\n readonly validationStatus?: EceActionStatus;\n /** Deployment status of AzureStackHCI Cluster Deployment. */\n readonly deploymentStatus?: EceActionStatus;\n}\n\nexport function eceReportedPropertiesDeserializer(item: any): EceReportedProperties {\n return {\n validationStatus: !item[\"validationStatus\"]\n ? item[\"validationStatus\"]\n : eceActionStatusDeserializer(item[\"validationStatus\"]),\n deploymentStatus: !item[\"deploymentStatus\"]\n ? item[\"deploymentStatus\"]\n : eceActionStatusDeserializer(item[\"deploymentStatus\"]),\n };\n}\n\n/** The ECE action plan deployment status for AzureStackHCI Cluster. */\nexport interface EceActionStatus {\n /** Status of ECE action AzureStackHCI Cluster Deployment. */\n readonly status?: string;\n /** List of steps of AzureStackHCI Cluster Deployment. */\n readonly steps?: DeploymentStep[];\n}\n\nexport function eceActionStatusDeserializer(item: any): EceActionStatus {\n return {\n status: item[\"status\"],\n steps: !item[\"steps\"] ? item[\"steps\"] : deploymentStepArrayDeserializer(item[\"steps\"]),\n };\n}\n\nexport function deploymentStepArrayDeserializer(result: Array<DeploymentStep>): any[] {\n return result.map((item) => {\n return deploymentStepDeserializer(item);\n });\n}\n\n/** The Step of AzureStackHCI Cluster. */\nexport interface DeploymentStep {\n /** Name of step. */\n readonly name?: string;\n /** Description of step. */\n readonly description?: string;\n /** FullStepIndex of step. */\n readonly fullStepIndex?: string;\n /** Start time of step. */\n readonly startTimeUtc?: string;\n /** End time of step. */\n readonly endTimeUtc?: string;\n /** Status of step. Allowed values are 'Error', 'Success', 'InProgress' */\n readonly status?: string;\n /** List of nested steps of AzureStackHCI Cluster Deployment. */\n readonly steps?: DeploymentStep[];\n /** List of exceptions in AzureStackHCI Cluster Deployment. */\n readonly exception?: string[];\n}\n\nexport function deploymentStepDeserializer(item: any): DeploymentStep {\n return {\n name: item[\"name\"],\n description: item[\"description\"],\n fullStepIndex: item[\"fullStepIndex\"],\n startTimeUtc: item[\"startTimeUtc\"],\n endTimeUtc: item[\"endTimeUtc\"],\n status: item[\"status\"],\n steps: !item[\"steps\"] ? item[\"steps\"] : deploymentStepArrayDeserializer(item[\"steps\"]),\n exception: !item[\"exception\"]\n ? item[\"exception\"]\n : item[\"exception\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** The response of a DeploymentSetting list operation. */\nexport interface _DeploymentSettingListResult {\n /** The DeploymentSetting items on this page */\n value: DeploymentSetting[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _deploymentSettingListResultDeserializer(item: any): _DeploymentSettingListResult {\n return {\n value: deploymentSettingArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function deploymentSettingArraySerializer(result: Array<DeploymentSetting>): any[] {\n return result.map((item) => {\n return deploymentSettingSerializer(item);\n });\n}\n\nexport function deploymentSettingArrayDeserializer(result: Array<DeploymentSetting>): any[] {\n return result.map((item) => {\n return deploymentSettingDeserializer(item);\n });\n}\n\n/** EdgeDevice Jobs resource */\nexport interface EdgeDeviceJob extends ExtensionResource {\n /** Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value. */\n /** The discriminator possible values: HCI */\n kind: EdgeDeviceKind;\n}\n\nexport function edgeDeviceJobSerializer(item: EdgeDeviceJob): any {\n return { kind: item[\"kind\"] };\n}\n\nexport function edgeDeviceJobDeserializer(item: any): EdgeDeviceJob {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n kind: item[\"kind\"],\n };\n}\n\n/** Alias for EdgeDeviceJobUnion */\nexport type EdgeDeviceJobUnion = HciEdgeDeviceJob | EdgeDeviceJob;\n\nexport function edgeDeviceJobUnionSerializer(item: EdgeDeviceJobUnion): any {\n switch (item.kind) {\n case \"HCI\":\n return hciEdgeDeviceJobSerializer(item as HciEdgeDeviceJob);\n\n default:\n return edgeDeviceJobSerializer(item);\n }\n}\n\nexport function edgeDeviceJobUnionDeserializer(item: any): EdgeDeviceJobUnion {\n switch (item[\"kind\"]) {\n case \"HCI\":\n return hciEdgeDeviceJobDeserializer(item as HciEdgeDeviceJob);\n\n default:\n return edgeDeviceJobDeserializer(item);\n }\n}\n\n/** Edge device kind. */\nexport enum KnownEdgeDeviceKind {\n /** Arc-enabled edge device with HCI OS. */\n HCI = \"HCI\",\n}\n\n/**\n * Edge device kind. \\\n * {@link KnownEdgeDeviceKind} can be used interchangeably with EdgeDeviceKind,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **HCI**: Arc-enabled edge device with HCI OS.\n */\nexport type EdgeDeviceKind = string;\n\n/** Edge device job for Azure Stack HCI solution. */\nexport interface HciEdgeDeviceJob extends EdgeDeviceJob {\n /** HCI Edge device job properties */\n properties: HciEdgeDeviceJobPropertiesUnion;\n /** Edge Solution type to support polymorphic resource. */\n kind: \"HCI\";\n}\n\nexport function hciEdgeDeviceJobSerializer(item: HciEdgeDeviceJob): any {\n return {\n kind: item[\"kind\"],\n properties: hciEdgeDeviceJobPropertiesUnionSerializer(item[\"properties\"]),\n };\n}\n\nexport function hciEdgeDeviceJobDeserializer(item: any): HciEdgeDeviceJob {\n return {\n kind: item[\"kind\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: hciEdgeDeviceJobPropertiesUnionDeserializer(item[\"properties\"]),\n };\n}\n\n/** HCI Edge device job properties */\nexport interface HciEdgeDeviceJobProperties {\n /** Deployment mode to trigger job. */\n deploymentMode?: DeploymentMode;\n /** Job provisioning state */\n readonly provisioningState?: ProvisioningState;\n /** Unique, immutable job id. */\n readonly jobId?: string;\n /** The UTC date and time at which the job started. */\n readonly startTimeUtc?: Date;\n /** The UTC date and time at which the job completed. */\n readonly endTimeUtc?: Date;\n /** Status of Edge device job. */\n readonly status?: JobStatus;\n /** Job Type to support polymorphic resource. */\n /** The discriminator possible values: CollectLog, RemoteSupport */\n jobType: HciEdgeDeviceJobType;\n}\n\nexport function hciEdgeDeviceJobPropertiesSerializer(item: HciEdgeDeviceJobProperties): any {\n return { deploymentMode: item[\"deploymentMode\"], jobType: item[\"jobType\"] };\n}\n\nexport function hciEdgeDeviceJobPropertiesDeserializer(item: any): HciEdgeDeviceJobProperties {\n return {\n deploymentMode: item[\"deploymentMode\"],\n provisioningState: item[\"provisioningState\"],\n jobId: item[\"jobId\"],\n startTimeUtc: !item[\"startTimeUtc\"] ? item[\"startTimeUtc\"] : new Date(item[\"startTimeUtc\"]),\n endTimeUtc: !item[\"endTimeUtc\"] ? item[\"endTimeUtc\"] : new Date(item[\"endTimeUtc\"]),\n status: item[\"status\"],\n jobType: item[\"jobType\"],\n };\n}\n\n/** Alias for HciEdgeDeviceJobPropertiesUnion */\nexport type HciEdgeDeviceJobPropertiesUnion =\n | HciCollectLogJobProperties\n | HciRemoteSupportJobProperties\n | HciEdgeDeviceJobProperties;\n\nexport function hciEdgeDeviceJobPropertiesUnionSerializer(\n item: HciEdgeDeviceJobPropertiesUnion,\n): any {\n switch (item.jobType) {\n case \"CollectLog\":\n return hciCollectLogJobPropertiesSerializer(item as HciCollectLogJobProperties);\n\n case \"RemoteSupport\":\n return hciRemoteSupportJobPropertiesSerializer(item as HciRemoteSupportJobProperties);\n\n default:\n return hciEdgeDeviceJobPropertiesSerializer(item);\n }\n}\n\nexport function hciEdgeDeviceJobPropertiesUnionDeserializer(\n item: any,\n): HciEdgeDeviceJobPropertiesUnion {\n switch (item[\"jobType\"]) {\n case \"CollectLog\":\n return hciCollectLogJobPropertiesDeserializer(item as HciCollectLogJobProperties);\n\n case \"RemoteSupport\":\n return hciRemoteSupportJobPropertiesDeserializer(item as HciRemoteSupportJobProperties);\n\n default:\n return hciEdgeDeviceJobPropertiesDeserializer(item);\n }\n}\n\n/** Represents the various statuses a job can have throughout its lifecycle. */\nexport enum KnownJobStatus {\n /** The job status has not been specified. */\n NotSpecified = \"NotSpecified\",\n /** The job is currently undergoing validation. */\n ValidationInProgress = \"ValidationInProgress\",\n /** The job has successfully passed validation. */\n ValidationSuccess = \"ValidationSuccess\",\n /** The job has failed validation. */\n ValidationFailed = \"ValidationFailed\",\n /** The job's deployment is currently in progress. */\n DeploymentInProgress = \"DeploymentInProgress\",\n /** The job's deployment has failed. */\n DeploymentFailed = \"DeploymentFailed\",\n /** The job has been successfully deployed. */\n DeploymentSuccess = \"DeploymentSuccess\",\n /** The job has succeeded. */\n Succeeded = \"Succeeded\",\n /** The job has failed. */\n Failed = \"Failed\",\n /** The job has been canceled. */\n Canceled = \"Canceled\",\n /** The job is paused. */\n Paused = \"Paused\",\n /** The job is scheduled to run. */\n Scheduled = \"Scheduled\",\n}\n\n/**\n * Represents the various statuses a job can have throughout its lifecycle. \\\n * {@link KnownJobStatus} can be used interchangeably with JobStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **NotSpecified**: The job status has not been specified. \\\n * **ValidationInProgress**: The job is currently undergoing validation. \\\n * **ValidationSuccess**: The job has successfully passed validation. \\\n * **ValidationFailed**: The job has failed validation. \\\n * **DeploymentInProgress**: The job's deployment is currently in progress. \\\n * **DeploymentFailed**: The job's deployment has failed. \\\n * **DeploymentSuccess**: The job has been successfully deployed. \\\n * **Succeeded**: The job has succeeded. \\\n * **Failed**: The job has failed. \\\n * **Canceled**: The job has been canceled. \\\n * **Paused**: The job is paused. \\\n * **Scheduled**: The job is scheduled to run.\n */\nexport type JobStatus = string;\n\n/** Job Type supported. */\nexport enum KnownHciEdgeDeviceJobType {\n /** Job to collect logs from the device. */\n CollectLog = \"CollectLog\",\n /** Job to provide remote support to the device. */\n RemoteSupport = \"RemoteSupport\",\n}\n\n/**\n * Job Type supported. \\\n * {@link KnownHciEdgeDeviceJobType} can be used interchangeably with HciEdgeDeviceJobType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **CollectLog**: Job to collect logs from the device. \\\n * **RemoteSupport**: Job to provide remote support to the device.\n */\nexport type HciEdgeDeviceJobType = string;\n\n/** Represents the properties of an HCI Collect Log job. */\nexport interface HciCollectLogJobProperties extends HciEdgeDeviceJobProperties {\n /** From date for log collection. */\n fromDate: Date;\n /** To date for log collection. */\n toDate: Date;\n /** To date for log collection. */\n readonly lastLogGenerated?: Date;\n /** log collection job reported properties. */\n readonly reportedProperties?: LogCollectionReportedProperties;\n /** Job Type to support polymorphic resource. */\n jobType: \"CollectLog\";\n}\n\nexport function hciCollectLogJobPropertiesSerializer(item: HciCollectLogJobProperties): any {\n return {\n deploymentMode: item[\"deploymentMode\"],\n jobType: item[\"jobType\"],\n fromDate: item[\"fromDate\"].toISOString(),\n toDate: item[\"toDate\"].toISOString(),\n };\n}\n\nexport function hciCollectLogJobPropertiesDeserializer(item: any): HciCollectLogJobProperties {\n return {\n deploymentMode: item[\"deploymentMode\"],\n provisioningState: item[\"provisioningState\"],\n jobId: item[\"jobId\"],\n startTimeUtc: !item[\"startTimeUtc\"] ? item[\"startTimeUtc\"] : new Date(item[\"startTimeUtc\"]),\n endTimeUtc: !item[\"endTimeUtc\"] ? item[\"endTimeUtc\"] : new Date(item[\"endTimeUtc\"]),\n status: item[\"status\"],\n jobType: item[\"jobType\"],\n fromDate: new Date(item[\"fromDate\"]),\n toDate: new Date(item[\"toDate\"]),\n lastLogGenerated: !item[\"lastLogGenerated\"]\n ? item[\"lastLogGenerated\"]\n : new Date(item[\"lastLogGenerated\"]),\n reportedProperties: !item[\"reportedProperties\"]\n ? item[\"reportedProperties\"]\n : logCollectionReportedPropertiesDeserializer(item[\"reportedProperties\"]),\n };\n}\n\n/** Represents the reported properties of a log collection job. */\nexport interface LogCollectionReportedProperties {\n /** The percentage of the job that is complete. */\n readonly percentComplete?: number;\n /** Validation status of job. */\n readonly validationStatus?: EceActionStatus;\n /** Deployment status of job. */\n readonly deploymentStatus?: EceActionStatus;\n /** Details of the log collection session. */\n readonly logCollectionSessionDetails?: LogCollectionJobSession[];\n}\n\nexport function logCollectionReportedPropertiesDeserializer(\n item: any,\n): LogCollectionReportedProperties {\n return {\n percentComplete: item[\"percentComplete\"],\n validationStatus: !item[\"validationStatus\"]\n ? item[\"validationStatus\"]\n : eceActionStatusDeserializer(item[\"validationStatus\"]),\n deploymentStatus: !item[\"deploymentStatus\"]\n ? item[\"deploymentStatus\"]\n : eceActionStatusDeserializer(item[\"deploymentStatus\"]),\n logCollectionSessionDetails: !item[\"logCollectionSessionDetails\"]\n ? item[\"logCollectionSessionDetails\"]\n : logCollectionJobSessionArrayDeserializer(item[\"logCollectionSessionDetails\"]),\n };\n}\n\nexport function logCollectionJobSessionArrayDeserializer(\n result: Array<LogCollectionJobSession>,\n): any[] {\n return result.map((item) => {\n return logCollectionJobSessionDeserializer(item);\n });\n}\n\n/** Represents a session for collecting logs from an edge device. */\nexport interface LogCollectionJobSession {\n /** The timestamp when log collection started, in ISO 8601 format. */\n readonly startTime?: string;\n /** The timestamp when log collection ended, in ISO 8601 format. */\n readonly endTime?: string;\n /** The total time logs were collected for, in ISO 8601 duration format. */\n readonly timeCollected?: string;\n /** The size of the collected logs in bytes. */\n readonly logSize?: number;\n /** The status of the log collection session. */\n readonly status?: DeviceLogCollectionStatus;\n /** A unique identifier for correlating this log collection session with other operations or sessions. */\n readonly correlationId?: string;\n}\n\nexport function logCollectionJobSessionDeserializer(item: any): LogCollectionJobSession {\n return {\n startTime: item[\"startTime\"],\n endTime: item[\"endTime\"],\n timeCollected: item[\"timeCollected\"],\n logSize: item[\"logSize\"],\n status: item[\"status\"],\n correlationId: item[\"correlationId\"],\n };\n}\n\n/** Represents the status of a log collection operation. */\nexport enum KnownDeviceLogCollectionStatus {\n /** Log collection operation has not been initiated. */\n NotStarted = \"NotStarted\",\n /** Indicates that the log collection operation is currently running. */\n Running = \"Running\",\n /** Indicates that the log collection operation has failed. */\n Failed = \"Failed\",\n /** Indicates that the log collection operation has completed successfully. */\n Succeeded = \"Succeeded\",\n /** Indicates that the log collection operation has completed successfully. */\n Canceled = \"Canceled\",\n}\n\n/**\n * Represents the status of a log collection operation. \\\n * {@link KnownDeviceLogCollectionStatus} can be used interchangeably with DeviceLogCollectionStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **NotStarted**: Log collection operation has not been initiated. \\\n * **Running**: Indicates that the log collection operation is currently running. \\\n * **Failed**: Indicates that the log collection operation has failed. \\\n * **Succeeded**: Indicates that the log collection operation has completed successfully. \\\n * **Canceled**: Indicates that the log collection operation has completed successfully.\n */\nexport type DeviceLogCollectionStatus = string;\n\n/** Represents the properties of a remote support job for HCI. */\nexport interface HciRemoteSupportJobProperties extends HciEdgeDeviceJobProperties {\n /** Remote support access level. */\n accessLevel: RemoteSupportAccessLevel;\n /** Remote support expiration timestamp. */\n expirationTimestamp: Date;\n /** Remote support type. */\n type: RemoteSupportType;\n /** log collection job reported properties. */\n readonly reportedProperties?: RemoteSupportJobReportedProperties;\n /** Job Type to support polymorphic resource. */\n jobType: \"RemoteSupport\";\n}\n\nexport function hciRemoteSupportJobPropertiesSerializer(item: HciRemoteSupportJobProperties): any {\n return {\n deploymentMode: item[\"deploymentMode\"],\n jobType: item[\"jobType\"],\n accessLevel: item[\"accessLevel\"],\n expirationTimestamp: item[\"expirationTimestamp\"].toISOString(),\n type: item[\"type\"],\n };\n}\n\nexport function hciRemoteSupportJobPropertiesDeserializer(\n item: any,\n): HciRemoteSupportJobProperties {\n return {\n deploymentMode: item[\"deploymentMode\"],\n provisioningState: item[\"provisioningState\"],\n jobId: item[\"jobId\"],\n startTimeUtc: !item[\"startTimeUtc\"] ? item[\"startTimeUtc\"] : new Date(item[\"startTimeUtc\"]),\n endTimeUtc: !item[\"endTimeUtc\"] ? item[\"endTimeUtc\"] : new Date(item[\"endTimeUtc\"]),\n status: item[\"status\"],\n jobType: item[\"jobType\"],\n accessLevel: item[\"accessLevel\"],\n expirationTimestamp: new Date(item[\"expirationTimestamp\"]),\n type: item[\"type\"],\n reportedProperties: !item[\"reportedProperties\"]\n ? item[\"reportedProperties\"]\n : remoteSupportJobReportedPropertiesDeserializer(item[\"reportedProperties\"]),\n };\n}\n\n/** Defines the level of remote support access granted. */\nexport enum KnownRemoteSupportAccessLevel {\n /** No remote support access is granted. */\n None = \"None\",\n /** Access is limited to diagnostics information only. */\n Diagnostics = \"Diagnostics\",\n /** Access includes diagnostics information and the ability to perform repairs. */\n DiagnosticsAndRepair = \"DiagnosticsAndRepair\",\n}\n\n/**\n * Defines the level of remote support access granted. \\\n * {@link KnownRemoteSupportAccessLevel} can be used interchangeably with RemoteSupportAccessLevel,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **None**: No remote support access is granted. \\\n * **Diagnostics**: Access is limited to diagnostics information only. \\\n * **DiagnosticsAndRepair**: Access includes diagnostics information and the ability to perform repairs.\n */\nexport type RemoteSupportAccessLevel = string;\n\n/** Represents the reported properties of a remote support job. */\nexport interface RemoteSupportJobReportedProperties {\n /** The percentage of the job that is complete. */\n readonly percentComplete?: number;\n /** Validation status of job. */\n readonly validationStatus?: EceActionStatus;\n /** Deployment status of job. */\n readonly deploymentStatus?: EceActionStatus;\n /** Optional settings for configuring the node for remote support. */\n readonly nodeSettings?: RemoteSupportJobNodeSettings;\n /** Details of the remote support session. */\n readonly sessionDetails?: RemoteSupportSession[];\n}\n\nexport function remoteSupportJobReportedPropertiesDeserializer(\n item: any,\n): RemoteSupportJobReportedProperties {\n return {\n percentComplete: item[\"percentComplete\"],\n validationStatus: !item[\"validationStatus\"]\n ? item[\"validationStatus\"]\n : eceActionStatusDeserializer(item[\"validationStatus\"]),\n deploymentStatus: !item[\"deploymentStatus\"]\n ? item[\"deploymentStatus\"]\n : eceActionStatusDeserializer(item[\"deploymentStatus\"]),\n nodeSettings: !item[\"nodeSettings\"]\n ? item[\"nodeSettings\"]\n : remoteSupportJobNodeSettingsDeserializer(item[\"nodeSettings\"]),\n sessionDetails: !item[\"sessionDetails\"]\n ? item[\"sessionDetails\"]\n : remoteSupportSessionArrayDeserializer(item[\"sessionDetails\"]),\n };\n}\n\n/** Represents the settings of a remote support node. */\nexport interface RemoteSupportJobNodeSettings {\n /** The state of the remote support node. */\n readonly state?: string;\n /** The timestamp when the node settings were created, in UTC. */\n readonly createdAt?: Date;\n /** The timestamp when the node settings were last updated, in UTC. */\n readonly updatedAt?: Date;\n /** The current connection status of the remote support session. */\n readonly connectionStatus?: string;\n /** The error message, if any, from the last connection attempt. */\n readonly connectionErrorMessage?: string;\n}\n\nexport function remoteSupportJobNodeSettingsDeserializer(item: any): RemoteSupportJobNodeSettings {\n return {\n state: item[\"state\"],\n createdAt: !item[\"createdAt\"] ? item[\"createdAt\"] : new Date(item[\"createdAt\"]),\n updatedAt: !item[\"updatedAt\"] ? item[\"updatedAt\"] : new Date(item[\"updatedAt\"]),\n connectionStatus: item[\"connectionStatus\"],\n connectionErrorMessage: item[\"connectionErrorMessage\"],\n };\n}\n\nexport function remoteSupportSessionArrayDeserializer(result: Array<RemoteSupportSession>): any[] {\n return result.map((item) => {\n return remoteSupportSessionDeserializer(item);\n });\n}\n\n/** Represents a remote support session. */\nexport interface RemoteSupportSession {\n /** Unique session Id. */\n readonly sessionId?: string;\n /** The start time of the remote support session, in UTC. */\n readonly sessionStartTime?: Date;\n /** The end time of the remote support session, in UTC. */\n readonly sessionEndTime?: Date;\n /** The level of access granted during the remote support session. */\n readonly accessLevel?: RemoteSupportAccessLevel;\n /** The location where the session transcript is stored. */\n readonly transcriptLocation?: string;\n}\n\nexport function remoteSupportSessionDeserializer(item: any): RemoteSupportSession {\n return {\n sessionId: item[\"sessionId\"],\n sessionStartTime: !item[\"sessionStartTime\"]\n ? item[\"sessionStartTime\"]\n : new Date(item[\"sessionStartTime\"]),\n sessionEndTime: !item[\"sessionEndTime\"]\n ? item[\"sessionEndTime\"]\n : new Date(item[\"sessionEndTime\"]),\n accessLevel: item[\"accessLevel\"],\n transcriptLocation: item[\"transcriptLocation\"],\n };\n}\n\n/** The base extension resource. */\nexport interface ExtensionResource extends Resource {}\n\nexport function extensionResourceSerializer(_item: ExtensionResource): any {\n return {};\n}\n\nexport function extensionResourceDeserializer(item: any): ExtensionResource {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n };\n}\n\n/** The response of a EdgeDeviceJob list operation. */\nexport interface _EdgeDeviceJobListResult {\n /** The EdgeDeviceJob items on this page */\n value: EdgeDeviceJobUnion[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _edgeDeviceJobListResultDeserializer(item: any): _EdgeDeviceJobListResult {\n return {\n value: edgeDeviceJobUnionArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function edgeDeviceJobUnionArraySerializer(result: Array<EdgeDeviceJobUnion>): any[] {\n return result.map((item) => {\n return edgeDeviceJobUnionSerializer(item);\n });\n}\n\nexport function edgeDeviceJobUnionArrayDeserializer(result: Array<EdgeDeviceJobUnion>): any[] {\n return result.map((item) => {\n return edgeDeviceJobUnionDeserializer(item);\n });\n}\n\n/** Edge device resource. */\nexport interface EdgeDevice extends ExtensionResource {\n /** Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value. */\n /** The discriminator possible values: HCI */\n kind: DeviceKind;\n}\n\nexport function edgeDeviceSerializer(item: EdgeDevice): any {\n return { kind: item[\"kind\"] };\n}\n\nexport function edgeDeviceDeserializer(item: any): EdgeDevice {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n kind: item[\"kind\"],\n };\n}\n\n/** Alias for EdgeDeviceUnion */\nexport type EdgeDeviceUnion = HciEdgeDevice | EdgeDevice;\n\nexport function edgeDeviceUnionSerializer(item: EdgeDeviceUnion): any {\n switch (item.kind) {\n case \"HCI\":\n return hciEdgeDeviceSerializer(item as HciEdgeDevice);\n\n default:\n return edgeDeviceSerializer(item);\n }\n}\n\nexport function edgeDeviceUnionDeserializer(item: any): EdgeDeviceUnion {\n switch (item[\"kind\"]) {\n case \"HCI\":\n return hciEdgeDeviceDeserializer(item as HciEdgeDevice);\n\n default:\n return edgeDeviceDeserializer(item);\n }\n}\n\n/** Edge device kind. */\nexport enum KnownDeviceKind {\n /** Arc-enabled edge device with HCI OS. */\n HCI = \"HCI\",\n}\n\n/**\n * Edge device kind. \\\n * {@link KnownDeviceKind} can be used interchangeably with DeviceKind,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **HCI**: Arc-enabled edge device with HCI OS.\n */\nexport type DeviceKind = string;\n\n/** Arc-enabled edge device with HCI OS. */\nexport interface HciEdgeDevice extends EdgeDevice {\n /** properties for Arc-enabled edge device with HCI OS. */\n properties?: HciEdgeDeviceProperties;\n /** Device kind to support polymorphic resource. */\n kind: \"HCI\";\n}\n\nexport function hciEdgeDeviceSerializer(item: HciEdgeDevice): any {\n return {\n kind: item[\"kind\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : hciEdgeDevicePropertiesSerializer(item[\"properties\"]),\n };\n}\n\nexport function hciEdgeDeviceDeserializer(item: any): HciEdgeDevice {\n return {\n kind: item[\"kind\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : hciEdgeDevicePropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/** properties for Arc-enabled edge device with HCI OS. */\nexport interface HciEdgeDeviceProperties extends EdgeDeviceProperties {\n /** The instance view of all current configurations on HCI device. */\n readonly reportedProperties?: HciReportedProperties;\n}\n\nexport function hciEdgeDevicePropertiesSerializer(item: HciEdgeDeviceProperties): any {\n return {\n deviceConfiguration: !item[\"deviceConfiguration\"]\n ? item[\"deviceConfiguration\"]\n : deviceConfigurationSerializer(item[\"deviceConfiguration\"]),\n };\n}\n\nexport function hciEdgeDevicePropertiesDeserializer(item: any): HciEdgeDeviceProperties {\n return {\n deviceConfiguration: !item[\"deviceConfiguration\"]\n ? item[\"deviceConfiguration\"]\n : deviceConfigurationDeserializer(item[\"deviceConfiguration\"]),\n provisioningState: item[\"provisioningState\"],\n reportedProperties: !item[\"reportedProperties\"]\n ? item[\"reportedProperties\"]\n : hciReportedPropertiesDeserializer(item[\"reportedProperties\"]),\n };\n}\n\n/** The device Configuration for HCI device. */\nexport interface HciReportedProperties extends ReportedProperties {\n /** HCI device network information. */\n readonly networkProfile?: HciNetworkProfile;\n /** HCI device OS specific information. */\n readonly osProfile?: HciOsProfile;\n /** Solution builder extension (SBE) deployment package information. */\n readonly sbeDeploymentPackageInfo?: SbeDeploymentPackageInfo;\n /** Hci device storage specific information. */\n readonly storageProfile?: HciStorageProfile;\n /** Hci device hardware specific information. */\n readonly hardwareProfile?: HciHardwareProfile;\n}\n\nexport function hciReportedPropertiesDeserializer(item: any): HciReportedProperties {\n return {\n deviceState: item[\"deviceState\"],\n extensionProfile: !item[\"extensionProfile\"]\n ? item[\"extensionProfile\"]\n : extensionProfileDeserializer(item[\"extensionProfile\"]),\n lastSyncTimestamp: !item[\"lastSyncTimestamp\"]\n ? item[\"lastSyncTimestamp\"]\n : new Date(item[\"lastSyncTimestamp\"]),\n confidentialVmProfile: !item[\"confidentialVmProfile\"]\n ? item[\"confidentialVmProfile\"]\n : confidentialVmProfileDeserializer(item[\"confidentialVmProfile\"]),\n networkProfile: !item[\"networkProfile\"]\n ? item[\"networkProfile\"]\n : hciNetworkProfileDeserializer(item[\"networkProfile\"]),\n osProfile: !item[\"osProfile\"] ? item[\"osProfile\"] : hciOsProfileDeserializer(item[\"osProfile\"]),\n sbeDeploymentPackageInfo: !item[\"sbeDeploymentPackageInfo\"]\n ? item[\"sbeDeploymentPackageInfo\"]\n : sbeDeploymentPackageInfoDeserializer(item[\"sbeDeploymentPackageInfo\"]),\n storageProfile: !item[\"storageProfile\"]\n ? item[\"storageProfile\"]\n : hciStorageProfileDeserializer(item[\"storageProfile\"]),\n hardwareProfile: !item[\"hardwareProfile\"]\n ? item[\"hardwareProfile\"]\n : hciHardwareProfileDeserializer(item[\"hardwareProfile\"]),\n };\n}\n\n/** The network profile of a device. */\nexport interface HciNetworkProfile {\n /** List of NIC Details of device. */\n readonly nicDetails?: HciNicDetail[];\n /** List of switch details for edge device. */\n readonly switchDetails?: SwitchDetail[];\n /** HostNetwork config to deploy AzureStackHCI Cluster. */\n readonly hostNetwork?: HciEdgeDeviceHostNetwork;\n /** oftware Defined Networking Properties of the cluster */\n readonly sdnProperties?: SdnProperties;\n}\n\nexport function hciNetworkProfileDeserializer(item: any): HciNetworkProfile {\n return {\n nicDetails: !item[\"nicDetails\"]\n ? item[\"nicDetails\"]\n : hciNicDetailArrayDeserializer(item[\"nicDetails\"]),\n switchDetails: !item[\"switchDetails\"]\n ? item[\"switchDetails\"]\n : switchDetailArrayDeserializer(item[\"switchDetails\"]),\n hostNetwork: !item[\"hostNetwork\"]\n ? item[\"hostNetwork\"]\n : hciEdgeDeviceHostNetworkDeserializer(item[\"hostNetwork\"]),\n sdnProperties: !item[\"sdnProperties\"]\n ? item[\"sdnProperties\"]\n : sdnPropertiesDeserializer(item[\"sdnProperties\"]),\n };\n}\n\nexport function hciNicDetailArrayDeserializer(result: Array<HciNicDetail>): any[] {\n return result.map((item) => {\n return hciNicDetailDeserializer(item);\n });\n}\n\n/** The NIC Detail of a device. */\nexport interface HciNicDetail {\n /** Adapter Name of NIC */\n readonly adapterName?: string;\n /** Interface Description of NIC */\n readonly interfaceDescription?: string;\n /** Component Id of NIC */\n readonly componentId?: string;\n /** Driver Version of NIC */\n readonly driverVersion?: string;\n /** Subnet Mask of NIC */\n readonly ip4Address?: string;\n /** Subnet Mask of NIC */\n readonly subnetMask?: string;\n /** Default Gateway of NIC */\n readonly defaultGateway?: string;\n /** DNS Servers for NIC */\n readonly dnsServers?: string[];\n /** Default Isolation of Management NIC */\n readonly defaultIsolationId?: string;\n /** MAC address information of NIC. */\n readonly macAddress?: string;\n /** The slot attached to the NIC. */\n readonly slot?: string;\n /** The switch attached to the NIC, if any. */\n readonly switchName?: string;\n /** The type of NIC, physical, virtual, management. */\n readonly nicType?: string;\n /** The VLAN ID of the physical NIC. */\n readonly vlanId?: string;\n /** The status of NIC, up, disconnected. */\n readonly nicStatus?: string;\n /** Describes the RDMA capability of the network adapter. */\n readonly rdmaCapability?: RdmaCapability;\n}\n\nexport function hciNicDetailDeserializer(item: any): HciNicDetail {\n return {\n adapterName: item[\"adapterName\"],\n interfaceDescription: item[\"interfaceDescription\"],\n componentId: item[\"componentId\"],\n driverVersion: item[\"driverVersion\"],\n ip4Address: item[\"ip4Address\"],\n subnetMask: item[\"subnetMask\"],\n defaultGateway: item[\"defaultGateway\"],\n dnsServers: !item[\"dnsServers\"]\n ? item[\"dnsServers\"]\n : item[\"dnsServers\"].map((p: any) => {\n return p;\n }),\n defaultIsolationId: item[\"defaultIsolationId\"],\n macAddress: item[\"macAddress\"],\n slot: item[\"slot\"],\n switchName: item[\"switchName\"],\n nicType: item[\"nicType\"],\n vlanId: item[\"vlanId\"],\n nicStatus: item[\"nicStatus\"],\n rdmaCapability: item[\"rdmaCapability\"],\n };\n}\n\n/** Describes the RDMA capability of the network adapter. */\nexport enum KnownRdmaCapability {\n /** Network Adapter on the device is RDMA Capable */\n Enabled = \"Enabled\",\n /** Network Adapter on the device is RDMA Capable */\n Disabled = \"Disabled\",\n}\n\n/**\n * Describes the RDMA capability of the network adapter. \\\n * {@link KnownRdmaCapability} can be used interchangeably with RdmaCapability,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Enabled**: Network Adapter on the device is RDMA Capable \\\n * **Disabled**: Network Adapter on the device is RDMA Capable\n */\nexport type RdmaCapability = string;\n\nexport function switchDetailArrayDeserializer(result: Array<SwitchDetail>): any[] {\n return result.map((item) => {\n return switchDetailDeserializer(item);\n });\n}\n\n/** List of switch details for edge device. */\nexport interface SwitchDetail {\n /** The name of the switch. */\n readonly switchName?: string;\n /** The type of the switch. e.g. external, internal. */\n readonly switchType?: string;\n /** This represents extensions installed on virtualSwitch. */\n readonly extensions?: SwitchExtension[];\n}\n\nexport function switchDetailDeserializer(item: any): SwitchDetail {\n return {\n switchName: item[\"switchName\"],\n switchType: item[\"switchType\"],\n extensions: !item[\"extensions\"]\n ? item[\"extensions\"]\n : switchExtensionArrayDeserializer(item[\"extensions\"]),\n };\n}\n\nexport function switchExtensionArrayDeserializer(result: Array<SwitchExtension>): any[] {\n return result.map((item) => {\n return switchExtensionDeserializer(item);\n });\n}\n\n/** This represents extensions installed on virtualSwitch. */\nexport interface SwitchExtension {\n /** Unique identifier for virtualSwitch. */\n readonly switchId?: string;\n /** This will show extension name for virtualSwitch. */\n readonly extensionName?: string;\n /** This represents whether extension is enabled on virtualSwitch. */\n readonly extensionEnabled?: boolean;\n}\n\nexport function switchExtensionDeserializer(item: any): SwitchExtension {\n return {\n switchId: item[\"switchId\"],\n extensionName: item[\"extensionName\"],\n extensionEnabled: item[\"extensionEnabled\"],\n };\n}\n\n/** The HostNetwork of a cluster. */\nexport interface HciEdgeDeviceHostNetwork {\n /** The network intents assigned to the network reference pattern used for the deployment. Each intent will define its own name, traffic type, adapter names, and overrides as recommended by your OEM. */\n readonly intents?: HciEdgeDeviceIntents[];\n /** List of StorageNetworks config to deploy AzureStackHCI Cluster. */\n readonly storageNetworks?: HciEdgeDeviceStorageNetworks[];\n /** Defines how the storage adapters between nodes are connected either switch or switch less. */\n readonly storageConnectivitySwitchless?: boolean;\n /** Optional parameter required only for 3 Nodes Switchless deployments. This allows users to specify IPs and Mask for Storage NICs when Network ATC is not assigning the IPs for storage automatically. */\n readonly enableStorageAutoIp?: boolean;\n}\n\nexport function hciEdgeDeviceHostNetworkDeserializer(item: any): HciEdgeDeviceHostNetwork {\n return {\n intents: !item[\"intents\"]\n ? item[\"intents\"]\n : hciEdgeDeviceIntentsArrayDeserializer(item[\"intents\"]),\n storageNetworks: !item[\"storageNetworks\"]\n ? item[\"storageNetworks\"]\n : hciEdgeDeviceStorageNetworksArrayDeserializer(item[\"storageNetworks\"]),\n storageConnectivitySwitchless: item[\"storageConnectivitySwitchless\"],\n enableStorageAutoIp: item[\"enableStorageAutoIp\"],\n };\n}\n\nexport function hciEdgeDeviceIntentsArrayDeserializer(result: Array<HciEdgeDeviceIntents>): any[] {\n return result.map((item) => {\n return hciEdgeDeviceIntentsDeserializer(item);\n });\n}\n\n/** The Intents of a cluster. */\nexport interface HciEdgeDeviceIntents {\n /** Scope for host network intent. */\n readonly scope?: number;\n /** IntentType for host network intent. */\n readonly intentType?: number;\n /** IsComputeIntentSet for host network intent. */\n readonly isComputeIntentSet?: boolean;\n /** IsStorageIntentSet for host network intent. */\n readonly isStorageIntentSet?: boolean;\n /** IntentType for host network intent. */\n readonly isOnlyStorage?: boolean;\n /** IsManagementIntentSet for host network intent. */\n readonly isManagementIntentSet?: boolean;\n /** IsStretchIntentSet for host network intent. */\n readonly isStretchIntentSet?: boolean;\n /** IsOnlyStretch for host network intent. */\n readonly isOnlyStretch?: boolean;\n /** IsNetworkIntentType for host network intent. */\n readonly isNetworkIntentType?: boolean;\n /** Name of the network intent you wish to create. */\n readonly intentName?: string;\n /** Array of adapters used for the network intent. */\n readonly intentAdapters?: string[];\n /** This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation. */\n readonly overrideVirtualSwitchConfiguration?: boolean;\n /** Set virtualSwitch ConfigurationOverrides for cluster. */\n readonly virtualSwitchConfigurationOverrides?: HciEdgeDeviceVirtualSwitchConfigurationOverrides;\n /** This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation. */\n readonly overrideQosPolicy?: boolean;\n /** Set QoS PolicyOverrides for cluster. */\n readonly qosPolicyOverrides?: QosPolicyOverrides;\n /** This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation. */\n readonly overrideAdapterProperty?: boolean;\n /** Set Adapter PropertyOverrides for cluster. */\n readonly adapterPropertyOverrides?: HciEdgeDeviceAdapterPropertyOverrides;\n}\n\nexport function hciEdgeDeviceIntentsDeserializer(item: any): HciEdgeDeviceIntents {\n return {\n scope: item[\"scope\"],\n intentType: item[\"intentType\"],\n isComputeIntentSet: item[\"isComputeIntentSet\"],\n isStorageIntentSet: item[\"isStorageIntentSet\"],\n isOnlyStorage: item[\"isOnlyStorage\"],\n isManagementIntentSet: item[\"isManagementIntentSet\"],\n isStretchIntentSet: item[\"isStretchIntentSet\"],\n isOnlyStretch: item[\"isOnlyStretch\"],\n isNetworkIntentType: item[\"isNetworkIntentType\"],\n intentName: item[\"intentName\"],\n intentAdapters: !item[\"intentAdapters\"]\n ? item[\"intentAdapters\"]\n : item[\"intentAdapters\"].map((p: any) => {\n return p;\n }),\n overrideVirtualSwitchConfiguration: item[\"overrideVirtualSwitchConfiguration\"],\n virtualSwitchConfigurationOverrides: !item[\"virtualSwitchConfigurationOverrides\"]\n ? item[\"virtualSwitchConfigurationOverrides\"]\n : hciEdgeDeviceVirtualSwitchConfigurationOverridesDeserializer(\n item[\"virtualSwitchConfigurationOverrides\"],\n ),\n overrideQosPolicy: item[\"overrideQosPolicy\"],\n qosPolicyOverrides: !item[\"qosPolicyOverrides\"]\n ? item[\"qosPolicyOverrides\"]\n : qosPolicyOverridesDeserializer(item[\"qosPolicyOverrides\"]),\n overrideAdapterProperty: item[\"overrideAdapterProperty\"],\n adapterPropertyOverrides: !item[\"adapterPropertyOverrides\"]\n ? item[\"adapterPropertyOverrides\"]\n : hciEdgeDeviceAdapterPropertyOverridesDeserializer(item[\"adapterPropertyOverrides\"]),\n };\n}\n\n/** The VirtualSwitchConfigurationOverrides of a cluster. */\nexport interface HciEdgeDeviceVirtualSwitchConfigurationOverrides {\n /** Enable IoV for Virtual Switch */\n readonly enableIov?: string;\n /** Load Balancing Algorithm for Virtual Switch */\n readonly loadBalancingAlgorithm?: string;\n}\n\nexport function hciEdgeDeviceVirtualSwitchConfigurationOverridesDeserializer(\n item: any,\n): HciEdgeDeviceVirtualSwitchConfigurationOverrides {\n return {\n enableIov: item[\"enableIov\"],\n loadBalancingAlgorithm: item[\"loadBalancingAlgorithm\"],\n };\n}\n\n/** The AdapterPropertyOverrides of a cluster. */\nexport interface HciEdgeDeviceAdapterPropertyOverrides {\n /** This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation. */\n readonly jumboPacket?: string;\n /** This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation. */\n readonly networkDirect?: string;\n /** This parameter should only be modified based on your OEM guidance. Do not modify this parameter without OEM validation. Expected values are 'iWARP', 'RoCEv2', 'RoCE' */\n readonly networkDirectTechnology?: string;\n}\n\nexport function hciEdgeDeviceAdapterPropertyOverridesDeserializer(\n item: any,\n): HciEdgeDeviceAdapterPropertyOverrides {\n return {\n jumboPacket: item[\"jumboPacket\"],\n networkDirect: item[\"networkDirect\"],\n networkDirectTechnology: item[\"networkDirectTechnology\"],\n };\n}\n\nexport function hciEdgeDeviceStorageNetworksArrayDeserializer(\n result: Array<HciEdgeDeviceStorageNetworks>,\n): any[] {\n return result.map((item) => {\n return hciEdgeDeviceStorageNetworksDeserializer(item);\n });\n}\n\n/** The StorageNetworks of a cluster. */\nexport interface HciEdgeDeviceStorageNetworks {\n /** Name of the storage network. */\n readonly name?: string;\n /** Name of the storage network adapter. */\n readonly networkAdapterName?: string;\n /** ID specified for the VLAN storage network. This setting is applied to the network interfaces that route the storage and VM migration traffic. */\n readonly storageVlanId?: string;\n /** List of Storage adapter physical nodes config to deploy AzureStackHCI Cluster. */\n readonly storageAdapterIPInfo?: HciEdgeDeviceStorageAdapterIPInfo[];\n}\n\nexport function hciEdgeDeviceStorageNetworksDeserializer(item: any): HciEdgeDeviceStorageNetworks {\n return {\n name: item[\"name\"],\n networkAdapterName: item[\"networkAdapterName\"],\n storageVlanId: item[\"storageVlanId\"],\n storageAdapterIPInfo: !item[\"storageAdapterIPInfo\"]\n ? item[\"storageAdapterIPInfo\"]\n : hciEdgeDeviceStorageAdapterIPInfoArrayDeserializer(item[\"storageAdapterIPInfo\"]),\n };\n}\n\nexport function hciEdgeDeviceStorageAdapterIPInfoArrayDeserializer(\n result: Array<HciEdgeDeviceStorageAdapterIPInfo>,\n): any[] {\n return result.map((item) => {\n return hciEdgeDeviceStorageAdapterIPInfoDeserializer(item);\n });\n}\n\n/** The StorageAdapter physical nodes of a cluster. */\nexport interface HciEdgeDeviceStorageAdapterIPInfo {\n /** storage adapter physical node name. */\n readonly physicalNode?: string;\n /** The IPv4 address assigned to each storage adapter physical node on your Azure Stack HCI cluster. */\n readonly ipv4Address?: string;\n /** The SubnetMask address assigned to each storage adapter physical node on your Azure Stack HCI cluster. */\n readonly subnetMask?: string;\n}\n\nexport function hciEdgeDeviceStorageAdapterIPInfoDeserializer(\n item: any,\n): HciEdgeDeviceStorageAdapterIPInfo {\n return {\n physicalNode: item[\"physicalNode\"],\n ipv4Address: item[\"ipv4Address\"],\n subnetMask: item[\"subnetMask\"],\n };\n}\n\n/** OS configurations for HCI device. */\nexport interface HciOsProfile {\n /** The boot type of the device. e.g. UEFI, Legacy etc */\n readonly bootType?: string;\n /** Version of assembly present on device */\n readonly assemblyVersion?: string;\n}\n\nexport function hciOsProfileDeserializer(item: any): HciOsProfile {\n return {\n bootType: item[\"bootType\"],\n assemblyVersion: item[\"assemblyVersion\"],\n };\n}\n\n/** Solution builder extension (SBE) deployment package information. */\nexport interface SbeDeploymentPackageInfo {\n /** SBE deployment validation code. */\n readonly code?: string;\n /** A detailed message that explains the SBE package validation result. */\n readonly message?: string;\n /** This represents discovered update results for matching updates and store it as SBE manifest. */\n readonly sbeManifest?: string;\n}\n\nexport function sbeDeploymentPackageInfoDeserializer(item: any): SbeDeploymentPackageInfo {\n return {\n code: item[\"code\"],\n message: item[\"message\"],\n sbeManifest: item[\"sbeManifest\"],\n };\n}\n\n/** Storage configurations for HCI device. */\nexport interface HciStorageProfile {\n /** Number of storage disks in the device with $CanPool as true. */\n readonly poolableDisksCount?: number;\n /** List of storage disks on the device. */\n readonly disks?: EdgeDeviceDisks[];\n}\n\nexport function hciStorageProfileDeserializer(item: any): HciStorageProfile {\n return {\n poolableDisksCount: item[\"poolableDisksCount\"],\n disks: !item[\"disks\"] ? item[\"disks\"] : edgeDeviceDisksArrayDeserializer(item[\"disks\"]),\n };\n}\n\nexport function edgeDeviceDisksArrayDeserializer(result: Array<EdgeDeviceDisks>): any[] {\n return result.map((item) => {\n return edgeDeviceDisksDeserializer(item);\n });\n}\n\n/** Represents a storage disk on the device. */\nexport interface EdgeDeviceDisks {\n /** The unique identifier of the disk. */\n readonly id: string;\n /** The size of the disk in bytes. */\n readonly sizeInBytes?: string;\n /** The type of the disk. For example, S2D or SAN. */\n readonly type?: string;\n}\n\nexport function edgeDeviceDisksDeserializer(item: any): EdgeDeviceDisks {\n return {\n id: item[\"id\"],\n sizeInBytes: item[\"sizeInBytes\"],\n type: item[\"type\"],\n };\n}\n\n/** Hardware configurations for HCI device. */\nexport interface HciHardwareProfile {\n /** Process type of the device */\n readonly processorType?: string;\n}\n\nexport function hciHardwareProfileDeserializer(item: any): HciHardwareProfile {\n return {\n processorType: item[\"processorType\"],\n };\n}\n\n/** Reported properties pushed from edge device. */\nexport interface ReportedProperties {\n /** edge device state. */\n readonly deviceState?: DeviceState;\n /** Extensions details for edge device. */\n readonly extensionProfile?: ExtensionProfile;\n /** Most recent edge device sync timestamp in UTC. */\n readonly lastSyncTimestamp?: Date;\n /** CVM support details for edge device. */\n readonly confidentialVmProfile?: ConfidentialVmProfile;\n}\n\nexport function reportedPropertiesDeserializer(item: any): ReportedProperties {\n return {\n deviceState: item[\"deviceState\"],\n extensionProfile: !item[\"extensionProfile\"]\n ? item[\"extensionProfile\"]\n : extensionProfileDeserializer(item[\"extensionProfile\"]),\n lastSyncTimestamp: !item[\"lastSyncTimestamp\"]\n ? item[\"lastSyncTimestamp\"]\n : new Date(item[\"lastSyncTimestamp\"]),\n confidentialVmProfile: !item[\"confidentialVmProfile\"]\n ? item[\"confidentialVmProfile\"]\n : confidentialVmProfileDeserializer(item[\"confidentialVmProfile\"]),\n };\n}\n\n/** The edge device state. */\nexport enum KnownDeviceState {\n /** The edge device state is not specified. */\n NotSpecified = \"NotSpecified\",\n /** The edge device state is in connected state. */\n Connected = \"Connected\",\n /** The edge device state is in disconnected state. */\n Disconnected = \"Disconnected\",\n /** The edge device state is in repairing state. */\n Repairing = \"Repairing\",\n /** The edge device state is in draining state. */\n Draining = \"Draining\",\n /** The edge device state is in maintenance state. */\n InMaintenance = \"InMaintenance\",\n /** The edge device state is in resuming state. */\n Resuming = \"Resuming\",\n /** The edge device state is in processing state. */\n Processing = \"Processing\",\n}\n\n/**\n * The edge device state. \\\n * {@link KnownDeviceState} can be used interchangeably with DeviceState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **NotSpecified**: The edge device state is not specified. \\\n * **Connected**: The edge device state is in connected state. \\\n * **Disconnected**: The edge device state is in disconnected state. \\\n * **Repairing**: The edge device state is in repairing state. \\\n * **Draining**: The edge device state is in draining state. \\\n * **InMaintenance**: The edge device state is in maintenance state. \\\n * **Resuming**: The edge device state is in resuming state. \\\n * **Processing**: The edge device state is in processing state.\n */\nexport type DeviceState = string;\n\n/** Extensions details for edge device. */\nexport interface ExtensionProfile {\n /** List of Arc extensions installed on edge device. */\n readonly extensions?: HciEdgeDeviceArcExtension[];\n}\n\nexport function extensionProfileDeserializer(item: any): ExtensionProfile {\n return {\n extensions: !item[\"extensions\"]\n ? item[\"extensions\"]\n : hciEdgeDeviceArcExtensionArrayDeserializer(item[\"extensions\"]),\n };\n}\n\nexport function hciEdgeDeviceArcExtensionArrayDeserializer(\n result: Array<HciEdgeDeviceArcExtension>,\n): any[] {\n return result.map((item) => {\n return hciEdgeDeviceArcExtensionDeserializer(item);\n });\n}\n\n/** Arc extension installed on edge device. */\nexport interface HciEdgeDeviceArcExtension {\n /** Arc extension name installed on edge device. */\n readonly extensionName?: string;\n /** Arc extension state from arc machine extension. */\n readonly state?: ArcExtensionState;\n /** Error details while installing Arc extension. */\n readonly errorDetails?: HciValidationFailureDetail[];\n /** Arc Extension Azure resource id. */\n readonly extensionResourceId?: string;\n /** Extension version installed. */\n readonly typeHandlerVersion?: string;\n /** Indicates whether the extension is managed by the user or by Azure. */\n readonly managedBy?: ExtensionManagedBy;\n}\n\nexport function hciEdgeDeviceArcExtensionDeserializer(item: any): HciEdgeDeviceArcExtension {\n return {\n extensionName: item[\"extensionName\"],\n state: item[\"state\"],\n errorDetails: !item[\"errorDetails\"]\n ? item[\"errorDetails\"]\n : hciValidationFailureDetailArrayDeserializer(item[\"errorDetails\"]),\n extensionResourceId: item[\"extensionResourceId\"],\n typeHandlerVersion: item[\"typeHandlerVersion\"],\n managedBy: item[\"managedBy\"],\n };\n}\n\n/** Arc extension installation state. */\nexport enum KnownArcExtensionState {\n /** Arc extension state is not specified. */\n NotSpecified = \"NotSpecified\",\n /** Arc extension state is Succeeded. */\n Succeeded = \"Succeeded\",\n /** Arc extension state is Failed. */\n Failed = \"Failed\",\n /** Arc extension state is Canceled. */\n Canceled = \"Canceled\",\n /** Arc extension state is Accepted when extension installation triggered. */\n Accepted = \"Accepted\",\n /** Arc extension is in Creating State. */\n Creating = \"Creating\",\n /** Arc extension is in Updating State. */\n Updating = \"Updating\",\n /** Arc extension is in Moving State. */\n Moving = \"Moving\",\n /** Arc extension is in Deleting State. */\n Deleting = \"Deleting\",\n /** Arc extension is in Deleted State. */\n Deleted = \"Deleted\",\n}\n\n/**\n * Arc extension installation state. \\\n * {@link KnownArcExtensionState} can be used interchangeably with ArcExtensionState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **NotSpecified**: Arc extension state is not specified. \\\n * **Succeeded**: Arc extension state is Succeeded. \\\n * **Failed**: Arc extension state is Failed. \\\n * **Canceled**: Arc extension state is Canceled. \\\n * **Accepted**: Arc extension state is Accepted when extension installation triggered. \\\n * **Creating**: Arc extension is in Creating State. \\\n * **Updating**: Arc extension is in Updating State. \\\n * **Moving**: Arc extension is in Moving State. \\\n * **Deleting**: Arc extension is in Deleting State. \\\n * **Deleted**: Arc extension is in Deleted State.\n */\nexport type ArcExtensionState = string;\n\nexport function hciValidationFailureDetailArrayDeserializer(\n result: Array<HciValidationFailureDetail>,\n): any[] {\n return result.map((item) => {\n return hciValidationFailureDetailDeserializer(item);\n });\n}\n\n/** details of validation failure */\nexport interface HciValidationFailureDetail {\n /** Exception details while installing extension. */\n readonly exception?: string;\n}\n\nexport function hciValidationFailureDetailDeserializer(item: any): HciValidationFailureDetail {\n return {\n exception: item[\"exception\"],\n };\n}\n\n/** Indicates whether the extension is managed by the user or by Azure. */\nexport enum KnownExtensionManagedBy {\n /** The extension is managed by the user. */\n User = \"User\",\n /** The extension is managed by Azure. */\n Azure = \"Azure\",\n}\n\n/**\n * Indicates whether the extension is managed by the user or by Azure. \\\n * {@link KnownExtensionManagedBy} can be used interchangeably with ExtensionManagedBy,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **User**: The extension is managed by the user. \\\n * **Azure**: The extension is managed by Azure.\n */\nexport type ExtensionManagedBy = string;\n\n/** Represents the Confidential Virtual Machine (CVM) configuration status for an edge device. It includes the current IGVM support state and detailed component-level status information. */\nexport interface ConfidentialVmProfile {\n /** Indicates whether Independent Guest Virtual Machine (IGVM) support is available on the device. This will be 'Enabled' if the device supports CVMs, 'Disabled' if not, and 'Unknown' if the status cannot be determined. */\n readonly igvmStatus?: IgvmStatus;\n /** Provides detailed status entries for IGVM-related components, including deployment status, compatibility checks, and error diagnostics. */\n statusDetails?: IgvmStatusDetail[];\n}\n\nexport function confidentialVmProfileDeserializer(item: any): ConfidentialVmProfile {\n return {\n igvmStatus: item[\"igvmStatus\"],\n statusDetails: !item[\"statusDetails\"]\n ? item[\"statusDetails\"]\n : igvmStatusDetailArrayDeserializer(item[\"statusDetails\"]),\n };\n}\n\n/** Represents the IGVM support status for the device. */\nexport enum KnownIgvmStatus {\n /** The IGVM status could not be determined due to a query failure or inconsistent system state. */\n Unknown = \"Unknown\",\n /** IGVM support is enabled, indicating that confidential VM features are available on this device. */\n Enabled = \"Enabled\",\n /** IGVM status is disabled, indicating that confidential VM features are not supported on this device. */\n Disabled = \"Disabled\",\n}\n\n/**\n * Represents the IGVM support status for the device. \\\n * {@link KnownIgvmStatus} can be used interchangeably with IgvmStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Unknown**: The IGVM status could not be determined due to a query failure or inconsistent system state. \\\n * **Enabled**: IGVM support is enabled, indicating that confidential VM features are available on this device. \\\n * **Disabled**: IGVM status is disabled, indicating that confidential VM features are not supported on this device.\n */\nexport type IgvmStatus = string;\n\nexport function igvmStatusDetailArrayDeserializer(result: Array<IgvmStatusDetail>): any[] {\n return result.map((item) => {\n return igvmStatusDetailDeserializer(item);\n });\n}\n\n/** Provides component-level status information related to IGVM enablement on the device. */\nexport interface IgvmStatusDetail {\n /** A machine-readable status code indicating the result or condition of a specific IGVM-related check or operation. */\n readonly code?: string;\n /** A human-readable message providing context or explanation for the associated status code. */\n readonly message?: string;\n}\n\nexport function igvmStatusDetailDeserializer(item: any): IgvmStatusDetail {\n return {\n code: item[\"code\"],\n message: item[\"message\"],\n };\n}\n\n/** Edge Device properties */\nexport interface EdgeDeviceProperties {\n /** Device Configuration */\n deviceConfiguration?: DeviceConfiguration;\n /** Provisioning state of edgeDevice resource */\n readonly provisioningState?: ProvisioningState;\n}\n\nexport function edgeDevicePropertiesSerializer(item: EdgeDeviceProperties): any {\n return {\n deviceConfiguration: !item[\"deviceConfiguration\"]\n ? item[\"deviceConfiguration\"]\n : deviceConfigurationSerializer(item[\"deviceConfiguration\"]),\n };\n}\n\nexport function edgeDevicePropertiesDeserializer(item: any): EdgeDeviceProperties {\n return {\n deviceConfiguration: !item[\"deviceConfiguration\"]\n ? item[\"deviceConfiguration\"]\n : deviceConfigurationDeserializer(item[\"deviceConfiguration\"]),\n provisioningState: item[\"provisioningState\"],\n };\n}\n\n/** The device Configuration for edge device. */\nexport interface DeviceConfiguration {\n /** NIC Details of device */\n nicDetails?: NicDetail[];\n /** Device metadata details. */\n deviceMetadata?: string;\n}\n\nexport function deviceConfigurationSerializer(item: DeviceConfiguration): any {\n return {\n nicDetails: !item[\"nicDetails\"]\n ? item[\"nicDetails\"]\n : nicDetailArraySerializer(item[\"nicDetails\"]),\n deviceMetadata: item[\"deviceMetadata\"],\n };\n}\n\nexport function deviceConfigurationDeserializer(item: any): DeviceConfiguration {\n return {\n nicDetails: !item[\"nicDetails\"]\n ? item[\"nicDetails\"]\n : nicDetailArrayDeserializer(item[\"nicDetails\"]),\n deviceMetadata: item[\"deviceMetadata\"],\n };\n}\n\nexport function nicDetailArraySerializer(result: Array<NicDetail>): any[] {\n return result.map((item) => {\n return nicDetailSerializer(item);\n });\n}\n\nexport function nicDetailArrayDeserializer(result: Array<NicDetail>): any[] {\n return result.map((item) => {\n return nicDetailDeserializer(item);\n });\n}\n\n/** The NIC Detail of a device. */\nexport interface NicDetail {\n /** Adapter Name of NIC */\n adapterName?: string;\n /** Interface Description of NIC */\n interfaceDescription?: string;\n /** Component Id of NIC */\n componentId?: string;\n /** Driver Version of NIC */\n driverVersion?: string;\n /** Subnet Mask of NIC */\n ip4Address?: string;\n /** Subnet Mask of NIC */\n subnetMask?: string;\n /** Default Gateway of NIC */\n defaultGateway?: string;\n /** DNS Servers for NIC */\n dnsServers?: string[];\n /** Default Isolation of Management NIC */\n defaultIsolationId?: string;\n}\n\nexport function nicDetailSerializer(item: NicDetail): any {\n return {\n adapterName: item[\"adapterName\"],\n interfaceDescription: item[\"interfaceDescription\"],\n componentId: item[\"componentId\"],\n driverVersion: item[\"driverVersion\"],\n ip4Address: item[\"ip4Address\"],\n subnetMask: item[\"subnetMask\"],\n defaultGateway: item[\"defaultGateway\"],\n dnsServers: !item[\"dnsServers\"]\n ? item[\"dnsServers\"]\n : item[\"dnsServers\"].map((p: any) => {\n return p;\n }),\n defaultIsolationId: item[\"defaultIsolationId\"],\n };\n}\n\nexport function nicDetailDeserializer(item: any): NicDetail {\n return {\n adapterName: item[\"adapterName\"],\n interfaceDescription: item[\"interfaceDescription\"],\n componentId: item[\"componentId\"],\n driverVersion: item[\"driverVersion\"],\n ip4Address: item[\"ip4Address\"],\n subnetMask: item[\"subnetMask\"],\n defaultGateway: item[\"defaultGateway\"],\n dnsServers: !item[\"dnsServers\"]\n ? item[\"dnsServers\"]\n : item[\"dnsServers\"].map((p: any) => {\n return p;\n }),\n defaultIsolationId: item[\"defaultIsolationId\"],\n };\n}\n\n/** The response of a EdgeDevice list operation. */\nexport interface _EdgeDeviceListResult {\n /** The EdgeDevice items on this page */\n value: EdgeDeviceUnion[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _edgeDeviceListResultDeserializer(item: any): _EdgeDeviceListResult {\n return {\n value: edgeDeviceUnionArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function edgeDeviceUnionArraySerializer(result: Array<EdgeDeviceUnion>): any[] {\n return result.map((item) => {\n return edgeDeviceUnionSerializer(item);\n });\n}\n\nexport function edgeDeviceUnionArrayDeserializer(result: Array<EdgeDeviceUnion>): any[] {\n return result.map((item) => {\n return edgeDeviceUnionDeserializer(item);\n });\n}\n\n/** The validate request for Edge Device. */\nexport interface ValidateRequest {\n /** Node Ids against which, current node has to be validated. */\n edgeDeviceIds: string[];\n /** Additional info required for validation. */\n additionalInfo?: string;\n}\n\nexport function validateRequestSerializer(item: ValidateRequest): any {\n return {\n edgeDeviceIds: item[\"edgeDeviceIds\"].map((p: any) => {\n return p;\n }),\n additionalInfo: item[\"additionalInfo\"],\n };\n}\n\n/** An Accepted response with an Operation-Location header. */\nexport interface ValidateResponse {\n /** edge device validation status */\n readonly status?: string;\n}\n\nexport function validateResponseDeserializer(item: any): ValidateResponse {\n return {\n status: item[\"status\"],\n };\n}\n\n/** Details of a particular extension in HCI Cluster. */\nexport interface Extension extends ProxyResource {\n /** Provisioning state of the Extension proxy resource. Indicates the current lifecycle status of the resource, such as whether it's being created, updated, deleted, or has encountered an error. */\n readonly provisioningState?: ProvisioningState;\n /** Parameters specific to this extension type. */\n extensionParameters?: ExtensionParameters;\n /** Aggregate state of Arc Extensions across the nodes in this HCI cluster. This reflects the overall status of the extension deployment and operation across all nodes. */\n readonly aggregateState?: ExtensionAggregateState;\n /** State of Arc Extension in each of the nodes. */\n readonly perNodeExtensionDetails?: PerNodeExtensionState[];\n /** Indicates if the extension is managed by Azure or the user. This determines who controls the deployment and lifecycle of the extension. */\n readonly managedBy?: ExtensionManagedBy;\n}\n\nexport function extensionSerializer(item: Extension): any {\n return {\n properties: areAllPropsUndefined(item, [\"extensionParameters\"])\n ? undefined\n : _extensionPropertiesSerializer(item),\n };\n}\n\nexport function extensionDeserializer(item: any): Extension {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _extensionPropertiesDeserializer(item[\"properties\"])),\n };\n}\n\n/** Status of Arc Extension for a particular node in HCI Cluster. */\nexport interface ExtensionProperties {\n /** Provisioning state of the Extension proxy resource. Indicates the current lifecycle status of the resource, such as whether it's being created, updated, deleted, or has encountered an error. */\n readonly provisioningState?: ProvisioningState;\n /** Aggregate state of Arc Extensions across the nodes in this HCI cluster. This reflects the overall status of the extension deployment and operation across all nodes. */\n readonly aggregateState?: ExtensionAggregateState;\n /** State of Arc Extension in each of the nodes. */\n readonly perNodeExtensionDetails?: PerNodeExtensionState[];\n /** Indicates if the extension is managed by Azure or the user. This determines who controls the deployment and lifecycle of the extension. */\n readonly managedBy?: ExtensionManagedBy;\n /** How the extension handler should be forced to update even if the extension configuration has not changed. */\n forceUpdateTag?: string;\n /** The name of the extension handler publisher. */\n publisher?: string;\n /** Specifies the type of the extension; an example is \"CustomScriptExtension\". */\n type?: string;\n /** Specifies the version of the script handler. Latest version would be used if not specified. */\n typeHandlerVersion?: string;\n /** Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. */\n autoUpgradeMinorVersion?: boolean;\n /** Json formatted public settings for the extension. */\n settings?: any;\n /** Protected settings (may contain secrets). */\n protectedSettings?: any;\n /** Indicates whether the extension should be automatically upgraded by the platform if there is a newer version available. */\n enableAutomaticUpgrade?: boolean;\n}\n\nexport function extensionPropertiesSerializer(item: ExtensionProperties): any {\n return {\n extensionParameters: areAllPropsUndefined(item, [\n \"forceUpdateTag\",\n \"publisher\",\n \"type\",\n \"typeHandlerVersion\",\n \"autoUpgradeMinorVersion\",\n \"settings\",\n \"protectedSettings\",\n \"enableAutomaticUpgrade\",\n ])\n ? undefined\n : _extensionPropertiesExtensionParametersSerializer(item),\n };\n}\n\nexport function extensionPropertiesDeserializer(item: any): ExtensionProperties {\n return {\n provisioningState: item[\"provisioningState\"],\n ...(!item[\"extensionParameters\"]\n ? item[\"extensionParameters\"]\n : _extensionPropertiesExtensionParametersDeserializer(item[\"extensionParameters\"])),\n aggregateState: item[\"aggregateState\"],\n perNodeExtensionDetails: !item[\"perNodeExtensionDetails\"]\n ? item[\"perNodeExtensionDetails\"]\n : perNodeExtensionStateArrayDeserializer(item[\"perNodeExtensionDetails\"]),\n managedBy: item[\"managedBy\"],\n };\n}\n\n/** Describes the properties of a Machine Extension. This object mirrors the definition in HybridCompute. */\nexport interface ExtensionParameters {\n /** How the extension handler should be forced to update even if the extension configuration has not changed. */\n forceUpdateTag?: string;\n /** The name of the extension handler publisher. */\n publisher?: string;\n /** Specifies the type of the extension; an example is \"CustomScriptExtension\". */\n type?: string;\n /** Specifies the version of the script handler. Latest version would be used if not specified. */\n typeHandlerVersion?: string;\n /** Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true. */\n autoUpgradeMinorVersion?: boolean;\n /** Json formatted public settings for the extension. */\n settings?: any;\n /** Protected settings (may contain secrets). */\n protectedSettings?: any;\n /** Indicates whether the extension should be automatically upgraded by the platform if there is a newer version available. */\n enableAutomaticUpgrade?: boolean;\n}\n\nexport function extensionParametersSerializer(item: ExtensionParameters): any {\n return {\n forceUpdateTag: item[\"forceUpdateTag\"],\n publisher: item[\"publisher\"],\n type: item[\"type\"],\n typeHandlerVersion: item[\"typeHandlerVersion\"],\n autoUpgradeMinorVersion: item[\"autoUpgradeMinorVersion\"],\n settings: item[\"settings\"],\n protectedSettings: item[\"protectedSettings\"],\n enableAutomaticUpgrade: item[\"enableAutomaticUpgrade\"],\n };\n}\n\nexport function extensionParametersDeserializer(item: any): ExtensionParameters {\n return {\n forceUpdateTag: item[\"forceUpdateTag\"],\n publisher: item[\"publisher\"],\n type: item[\"type\"],\n typeHandlerVersion: item[\"typeHandlerVersion\"],\n autoUpgradeMinorVersion: item[\"autoUpgradeMinorVersion\"],\n settings: item[\"settings\"],\n protectedSettings: item[\"protectedSettings\"],\n enableAutomaticUpgrade: item[\"enableAutomaticUpgrade\"],\n };\n}\n\n/** Aggregate state of Arc Extensions across the nodes in this HCI cluster. This reflects the overall status of the extension deployment and operation across all nodes. */\nexport enum KnownExtensionAggregateState {\n /** The aggregate state is not specified. */\n NotSpecified = \"NotSpecified\",\n /** An error occurred in the aggregate state. */\n Error = \"Error\",\n /** The operation succeeded across all nodes. */\n Succeeded = \"Succeeded\",\n /** The operation was canceled across the nodes. */\n Canceled = \"Canceled\",\n /** The operation failed on all or most nodes. */\n Failed = \"Failed\",\n /** All nodes are connected. */\n Connected = \"Connected\",\n /** All nodes are disconnected. */\n Disconnected = \"Disconnected\",\n /** The extension has been deleted from all nodes. */\n Deleted = \"Deleted\",\n /** The extension is being created across the nodes. */\n Creating = \"Creating\",\n /** The extension is being updated across the nodes. */\n Updating = \"Updating\",\n /** The extension is being deleted across the nodes. */\n Deleting = \"Deleting\",\n /** The extension is being moved across the nodes. */\n Moving = \"Moving\",\n /** The operation succeeded on some nodes. */\n PartiallySucceeded = \"PartiallySucceeded\",\n /** Some nodes are connected, others are not. */\n PartiallyConnected = \"PartiallyConnected\",\n /** The operation is currently in progress across the nodes. */\n InProgress = \"InProgress\",\n /** The operation has been accepted and is pending execution. */\n Accepted = \"Accepted\",\n /** The extension is currently being provisioned across the nodes. */\n Provisioning = \"Provisioning\",\n /** Extension upgrade failed, but rollback succeeded across the nodes. */\n UpgradeFailedRollbackSucceeded = \"UpgradeFailedRollbackSucceeded\",\n}\n\n/**\n * Aggregate state of Arc Extensions across the nodes in this HCI cluster. This reflects the overall status of the extension deployment and operation across all nodes. \\\n * {@link KnownExtensionAggregateState} can be used interchangeably with ExtensionAggregateState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **NotSpecified**: The aggregate state is not specified. \\\n * **Error**: An error occurred in the aggregate state. \\\n * **Succeeded**: The operation succeeded across all nodes. \\\n * **Canceled**: The operation was canceled across the nodes. \\\n * **Failed**: The operation failed on all or most nodes. \\\n * **Connected**: All nodes are connected. \\\n * **Disconnected**: All nodes are disconnected. \\\n * **Deleted**: The extension has been deleted from all nodes. \\\n * **Creating**: The extension is being created across the nodes. \\\n * **Updating**: The extension is being updated across the nodes. \\\n * **Deleting**: The extension is being deleted across the nodes. \\\n * **Moving**: The extension is being moved across the nodes. \\\n * **PartiallySucceeded**: The operation succeeded on some nodes. \\\n * **PartiallyConnected**: Some nodes are connected, others are not. \\\n * **InProgress**: The operation is currently in progress across the nodes. \\\n * **Accepted**: The operation has been accepted and is pending execution. \\\n * **Provisioning**: The extension is currently being provisioned across the nodes. \\\n * **UpgradeFailedRollbackSucceeded**: Extension upgrade failed, but rollback succeeded across the nodes.\n */\nexport type ExtensionAggregateState = string;\n\nexport function perNodeExtensionStateArrayDeserializer(\n result: Array<PerNodeExtensionState>,\n): any[] {\n return result.map((item) => {\n return perNodeExtensionStateDeserializer(item);\n });\n}\n\n/** Status of Arc Extension for a particular node in HCI Cluster. */\nexport interface PerNodeExtensionState {\n /** Name of the node in HCI Cluster. */\n readonly name?: string;\n /** Fully qualified resource ID for the particular Arc Extension on this node. */\n readonly extension?: string;\n /** Specifies the version of the script handler. */\n readonly typeHandlerVersion?: string;\n /** State of Arc Extension in this node. Reflects the current lifecycle status of the extension on the individual node, such as whether it's being created, updated, deleted, or has encountered an error. */\n readonly state?: NodeExtensionState;\n /** The extension instance view. */\n readonly instanceView?: ExtensionInstanceView;\n}\n\nexport function perNodeExtensionStateDeserializer(item: any): PerNodeExtensionState {\n return {\n name: item[\"name\"],\n extension: item[\"extension\"],\n typeHandlerVersion: item[\"typeHandlerVersion\"],\n state: item[\"state\"],\n instanceView: !item[\"instanceView\"]\n ? item[\"instanceView\"]\n : extensionInstanceViewDeserializer(item[\"instanceView\"]),\n };\n}\n\n/** State of Arc Extension in this node. Reflects the current lifecycle status of the extension on the individual node, such as whether it's being created, updated, deleted, or has encountered an error. */\nexport enum KnownNodeExtensionState {\n /** The state is not specified. */\n NotSpecified = \"NotSpecified\",\n /** An error occurred during the extension lifecycle. */\n Error = \"Error\",\n /** The extension operation completed successfully. */\n Succeeded = \"Succeeded\",\n /** The extension operation was canceled. */\n Canceled = \"Canceled\",\n /** The extension operation failed. */\n Failed = \"Failed\",\n /** The extension is connected on the node. */\n Connected = \"Connected\",\n /** The extension is disconnected on the node. */\n Disconnected = \"Disconnected\",\n /** The extension has been deleted from the node. */\n Deleted = \"Deleted\",\n /** The extension is being created on the node. */\n Creating = \"Creating\",\n /** The extension is being updated on the node. */\n Updating = \"Updating\",\n /** The extension is being deleted from the node. */\n Deleting = \"Deleting\",\n /** The extension is being moved on the node. */\n Moving = \"Moving\",\n /** The extension operation partially succeeded. */\n PartiallySucceeded = \"PartiallySucceeded\",\n /** The extension is partially connected on the node. */\n PartiallyConnected = \"PartiallyConnected\",\n /** The extension operation is currently in progress. */\n InProgress = \"InProgress\",\n /** The extension operation has been accepted and is pending execution. */\n Accepted = \"Accepted\",\n /** The extension is currently being provisioned on the node. */\n Provisioning = \"Provisioning\",\n}\n\n/**\n * State of Arc Extension in this node. Reflects the current lifecycle status of the extension on the individual node, such as whether it's being created, updated, deleted, or has encountered an error. \\\n * {@link KnownNodeExtensionState} can be used interchangeably with NodeExtensionState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **NotSpecified**: The state is not specified. \\\n * **Error**: An error occurred during the extension lifecycle. \\\n * **Succeeded**: The extension operation completed successfully. \\\n * **Canceled**: The extension operation was canceled. \\\n * **Failed**: The extension operation failed. \\\n * **Connected**: The extension is connected on the node. \\\n * **Disconnected**: The extension is disconnected on the node. \\\n * **Deleted**: The extension has been deleted from the node. \\\n * **Creating**: The extension is being created on the node. \\\n * **Updating**: The extension is being updated on the node. \\\n * **Deleting**: The extension is being deleted from the node. \\\n * **Moving**: The extension is being moved on the node. \\\n * **PartiallySucceeded**: The extension operation partially succeeded. \\\n * **PartiallyConnected**: The extension is partially connected on the node. \\\n * **InProgress**: The extension operation is currently in progress. \\\n * **Accepted**: The extension operation has been accepted and is pending execution. \\\n * **Provisioning**: The extension is currently being provisioned on the node.\n */\nexport type NodeExtensionState = string;\n\n/** Describes the Extension Instance View. */\nexport interface ExtensionInstanceView {\n /** The extension name. */\n name?: string;\n /** Specifies the type of the extension; an example is \"MicrosoftMonitoringAgent\". */\n type?: string;\n /** Specifies the version of the script handler. */\n typeHandlerVersion?: string;\n /** Instance view status. */\n status?: ExtensionInstanceViewStatus;\n}\n\nexport function extensionInstanceViewDeserializer(item: any): ExtensionInstanceView {\n return {\n name: item[\"name\"],\n type: item[\"type\"],\n typeHandlerVersion: item[\"typeHandlerVersion\"],\n status: !item[\"status\"]\n ? item[\"status\"]\n : extensionInstanceViewStatusDeserializer(item[\"status\"]),\n };\n}\n\n/** Instance view status. */\nexport interface ExtensionInstanceViewStatus {\n /** The status code. */\n code?: string;\n /** The level code. Indicates the severity or importance of the status message. */\n level?: StatusLevelTypes;\n /** The short localizable label for the status. */\n displayStatus?: string;\n /** The detailed status message, including for alerts and error messages. */\n message?: string;\n /** The time of the status. */\n time?: Date;\n}\n\nexport function extensionInstanceViewStatusDeserializer(item: any): ExtensionInstanceViewStatus {\n return {\n code: item[\"code\"],\n level: item[\"level\"],\n displayStatus: item[\"displayStatus\"],\n message: item[\"message\"],\n time: !item[\"time\"] ? item[\"time\"] : new Date(item[\"time\"]),\n };\n}\n\n/** The level code. Indicates the severity or importance of the status message. */\nexport enum KnownStatusLevelTypes {\n /** Informational message indicating normal operation. */\n Info = \"Info\",\n /** Warning message indicating a potential issue or non-critical problem. */\n Warning = \"Warning\",\n /** Error message indicating a failure or critical issue. */\n Error = \"Error\",\n}\n\n/**\n * The level code. Indicates the severity or importance of the status message. \\\n * {@link KnownStatusLevelTypes} can be used interchangeably with StatusLevelTypes,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Info**: Informational message indicating normal operation. \\\n * **Warning**: Warning message indicating a potential issue or non-critical problem. \\\n * **Error**: Error message indicating a failure or critical issue.\n */\nexport type StatusLevelTypes = string;\n\n/** Extension Details to update */\nexport interface ExtensionPatch {\n /** Describes the properties of a Machine Extension that can be updated. */\n extensionParameters?: ExtensionPatchParameters;\n}\n\nexport function extensionPatchSerializer(item: ExtensionPatch): any {\n return {\n properties: areAllPropsUndefined(item, [\"extensionParameters\"])\n ? undefined\n : _extensionPatchPropertiesSerializer(item),\n };\n}\n\n/** Describes Machine Extension Properties that can be updated. */\nexport interface ExtensionPatchProperties {\n /** Describes the properties of a Machine Extension that can be updated. */\n extensionParameters?: ExtensionPatchParameters;\n}\n\nexport function extensionPatchPropertiesSerializer(item: ExtensionPatchProperties): any {\n return {\n extensionParameters: !item[\"extensionParameters\"]\n ? item[\"extensionParameters\"]\n : extensionPatchParametersSerializer(item[\"extensionParameters\"]),\n };\n}\n\n/** Describes the properties of a Machine Extension that can be updated. */\nexport interface ExtensionPatchParameters {\n /** Specifies the version of the script handler. Latest version would be used if not specified. */\n typeHandlerVersion?: string;\n /** Indicates whether the extension should be automatically upgraded by the platform if there is a newer version available. */\n enableAutomaticUpgrade?: boolean;\n /** Json formatted public settings for the extension. */\n settings?: any;\n /** Protected settings (may contain secrets). */\n protectedSettings?: any;\n}\n\nexport function extensionPatchParametersSerializer(item: ExtensionPatchParameters): any {\n return {\n typeHandlerVersion: item[\"typeHandlerVersion\"],\n enableAutomaticUpgrade: item[\"enableAutomaticUpgrade\"],\n settings: item[\"settings\"],\n protectedSettings: item[\"protectedSettings\"],\n };\n}\n\n/** List of Extensions in HCI cluster. */\nexport interface _ExtensionList {\n /** The Extension items on this page */\n value: Extension[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _extensionListDeserializer(item: any): _ExtensionList {\n return {\n value: extensionArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function extensionArraySerializer(result: Array<Extension>): any[] {\n return result.map((item) => {\n return extensionSerializer(item);\n });\n}\n\nexport function extensionArrayDeserializer(result: Array<Extension>): any[] {\n return result.map((item) => {\n return extensionDeserializer(item);\n });\n}\n\n/** Describes the parameters for Extension upgrade. */\nexport interface ExtensionUpgradeParameters {\n /** Extension Upgrade Target Version. */\n targetVersion?: string;\n}\n\nexport function extensionUpgradeParametersSerializer(item: ExtensionUpgradeParameters): any {\n return { targetVersion: item[\"targetVersion\"] };\n}\n\n/** Publisher details. */\nexport interface Publisher extends ProxyResource {\n /** Provisioning State */\n readonly provisioningState?: string;\n}\n\nexport function publisherDeserializer(item: any): Publisher {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _publisherPropertiesDeserializer(item[\"properties\"])),\n };\n}\n\n/** Publisher properties. */\nexport interface PublisherProperties {\n /** Provisioning State */\n readonly provisioningState?: string;\n}\n\nexport function publisherPropertiesDeserializer(item: any): PublisherProperties {\n return {\n provisioningState: item[\"provisioningState\"],\n };\n}\n\n/** List of Publisher proxy resources for the HCI cluster. */\nexport interface _PublisherList {\n /** The Publisher items on this page */\n value: Publisher[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _publisherListDeserializer(item: any): _PublisherList {\n return {\n value: publisherArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function publisherArrayDeserializer(result: Array<Publisher>): any[] {\n return result.map((item) => {\n return publisherDeserializer(item);\n });\n}\n\n/** Security settings proxy resource */\nexport interface SecuritySetting extends ProxyResource {\n /** Secured Core Compliance Assignment */\n securedCoreComplianceAssignment?: ComplianceAssignmentType;\n /** WDAC Compliance Assignment */\n wdacComplianceAssignment?: ComplianceAssignmentType;\n /** SMB encryption for intra-cluster traffic Compliance Assignment */\n smbEncryptionForIntraClusterTrafficComplianceAssignment?: ComplianceAssignmentType;\n /** Security Compliance Status */\n readonly securityComplianceStatus?: SecurityComplianceStatus;\n /** The status of the last operation. */\n readonly provisioningState?: ProvisioningState;\n}\n\nexport function securitySettingSerializer(item: SecuritySetting): any {\n return {\n properties: areAllPropsUndefined(item, [\n \"securedCoreComplianceAssignment\",\n \"wdacComplianceAssignment\",\n \"smbEncryptionForIntraClusterTrafficComplianceAssignment\",\n ])\n ? undefined\n : _securitySettingPropertiesSerializer(item),\n };\n}\n\nexport function securitySettingDeserializer(item: any): SecuritySetting {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _securitySettingPropertiesDeserializer(item[\"properties\"])),\n };\n}\n\n/** Security properties of the resource */\nexport interface SecurityProperties {\n /** Secured Core Compliance Assignment */\n securedCoreComplianceAssignment?: ComplianceAssignmentType;\n /** WDAC Compliance Assignment */\n wdacComplianceAssignment?: ComplianceAssignmentType;\n /** SMB encryption for intra-cluster traffic Compliance Assignment */\n smbEncryptionForIntraClusterTrafficComplianceAssignment?: ComplianceAssignmentType;\n /** Security Compliance Status */\n readonly securityComplianceStatus?: SecurityComplianceStatus;\n /** The status of the last operation. */\n readonly provisioningState?: ProvisioningState;\n}\n\nexport function securityPropertiesSerializer(item: SecurityProperties): any {\n return {\n securedCoreComplianceAssignment: item[\"securedCoreComplianceAssignment\"],\n wdacComplianceAssignment: item[\"wdacComplianceAssignment\"],\n smbEncryptionForIntraClusterTrafficComplianceAssignment:\n item[\"smbEncryptionForIntraClusterTrafficComplianceAssignment\"],\n };\n}\n\nexport function securityPropertiesDeserializer(item: any): SecurityProperties {\n return {\n securedCoreComplianceAssignment: item[\"securedCoreComplianceAssignment\"],\n wdacComplianceAssignment: item[\"wdacComplianceAssignment\"],\n smbEncryptionForIntraClusterTrafficComplianceAssignment:\n item[\"smbEncryptionForIntraClusterTrafficComplianceAssignment\"],\n securityComplianceStatus: !item[\"securityComplianceStatus\"]\n ? item[\"securityComplianceStatus\"]\n : securityComplianceStatusDeserializer(item[\"securityComplianceStatus\"]),\n provisioningState: item[\"provisioningState\"],\n };\n}\n\n/** Represents the compliance assignment type of a resource. */\nexport enum KnownComplianceAssignmentType {\n /** Report on the state of the machine, but don't make changes. */\n Audit = \"Audit\",\n /** Applied to the machine. If it drifts, the local service inside the machine makes a correction at the next evaluation. */\n ApplyAndAutoCorrect = \"ApplyAndAutoCorrect\",\n}\n\n/**\n * Represents the compliance assignment type of a resource. \\\n * {@link KnownComplianceAssignmentType} can be used interchangeably with ComplianceAssignmentType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Audit**: Report on the state of the machine, but don't make changes. \\\n * **ApplyAndAutoCorrect**: Applied to the machine. If it drifts, the local service inside the machine makes a correction at the next evaluation.\n */\nexport type ComplianceAssignmentType = string;\n\n/** Security compliance properties of the resource */\nexport interface SecurityComplianceStatus {\n /** Indicates whether HCI hosts meets secured-core server requirements. */\n readonly securedCoreCompliance?: ComplianceStatus;\n /** Indicates whether HCI hosts have enforced consistent Windows Defender Application Control. */\n readonly wdacCompliance?: ComplianceStatus;\n /** Indicates whether data at-rest encryption is enabled on Azure Stack HCI clustered volumes. */\n readonly dataAtRestEncrypted?: ComplianceStatus;\n /** Indicates whether HCI cluster has data in-transit protection. */\n readonly dataInTransitProtected?: ComplianceStatus;\n /** Time in UTC when compliance status was last updated. */\n readonly lastUpdated?: Date;\n}\n\nexport function securityComplianceStatusDeserializer(item: any): SecurityComplianceStatus {\n return {\n securedCoreCompliance: item[\"securedCoreCompliance\"],\n wdacCompliance: item[\"wdacCompliance\"],\n dataAtRestEncrypted: item[\"dataAtRestEncrypted\"],\n dataInTransitProtected: item[\"dataInTransitProtected\"],\n lastUpdated: !item[\"lastUpdated\"] ? item[\"lastUpdated\"] : new Date(item[\"lastUpdated\"]),\n };\n}\n\n/** Represents the compliance status of a resource. */\nexport enum KnownComplianceStatus {\n /** The resource is compliant */\n Compliant = \"Compliant\",\n /** The resource is non-compliant */\n NonCompliant = \"NonCompliant\",\n /** The resource compliance status is pending */\n Pending = \"Pending\",\n}\n\n/**\n * Represents the compliance status of a resource. \\\n * {@link KnownComplianceStatus} can be used interchangeably with ComplianceStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Compliant**: The resource is compliant \\\n * **NonCompliant**: The resource is non-compliant \\\n * **Pending**: The resource compliance status is pending\n */\nexport type ComplianceStatus = string;\n\n/** The response of a SecuritySetting list operation. */\nexport interface _SecuritySettingListResult {\n /** The SecuritySetting items on this page */\n value: SecuritySetting[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _securitySettingListResultDeserializer(item: any): _SecuritySettingListResult {\n return {\n value: securitySettingArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function securitySettingArraySerializer(result: Array<SecuritySetting>): any[] {\n return result.map((item) => {\n return securitySettingSerializer(item);\n });\n}\n\nexport function securitySettingArrayDeserializer(result: Array<SecuritySetting>): any[] {\n return result.map((item) => {\n return securitySettingDeserializer(item);\n });\n}\n\n/** Sku details. */\nexport interface Sku extends ProxyResource {\n /** Provisioning State */\n readonly provisioningState?: string;\n /** Identifier of the Publisher for the offer */\n publisherId?: string;\n /** Identifier of the Offer for the sku */\n offerId?: string;\n /** JSON serialized catalog content of the sku offer */\n content?: string;\n /** The API version of the catalog service used to serve the catalog content */\n contentVersion?: string;\n /** Array of SKU mappings */\n skuMappings?: SkuMappings[];\n}\n\nexport function skuDeserializer(item: any): Sku {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n ...(!item[\"properties\"] ? item[\"properties\"] : _skuPropertiesDeserializer(item[\"properties\"])),\n };\n}\n\n/** SKU properties. */\nexport interface SkuProperties {\n /** Provisioning State */\n readonly provisioningState?: string;\n /** Identifier of the Publisher for the offer */\n publisherId?: string;\n /** Identifier of the Offer for the sku */\n offerId?: string;\n /** JSON serialized catalog content of the sku offer */\n content?: string;\n /** The API version of the catalog service used to serve the catalog content */\n contentVersion?: string;\n /** Array of SKU mappings */\n skuMappings?: SkuMappings[];\n}\n\nexport function skuPropertiesDeserializer(item: any): SkuProperties {\n return {\n provisioningState: item[\"provisioningState\"],\n publisherId: item[\"publisherId\"],\n offerId: item[\"offerId\"],\n content: item[\"content\"],\n contentVersion: item[\"contentVersion\"],\n skuMappings: !item[\"skuMappings\"]\n ? item[\"skuMappings\"]\n : skuMappingsArrayDeserializer(item[\"skuMappings\"]),\n };\n}\n\n/** List of SKU proxy resources for the HCI cluster. */\nexport interface _SkuList {\n /** The Sku items on this page */\n value: Sku[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _skuListDeserializer(item: any): _SkuList {\n return {\n value: skuArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function skuArrayDeserializer(result: Array<Sku>): any[] {\n return result.map((item) => {\n return skuDeserializer(item);\n });\n}\n\n/** Details of an Update run */\nexport interface UpdateRun extends ProxyResource {\n /** The geo-location where the resource lives */\n location?: string;\n /** Provisioning state of the UpdateRuns proxy resource. Indicates the current lifecycle status of the update operation, such as whether it has been accepted, is in progress, or has completed. */\n readonly provisioningState?: ProvisioningState;\n /** Timestamp of the update run was started. */\n timeStarted?: Date;\n /** Timestamp of the most recently completed step in the update run. */\n lastUpdatedTime?: Date;\n /** Duration of the update run. */\n duration?: string;\n /** Represents the current state of the update run. Indicates whether the update is in progress, has completed successfully, failed, or is in an unknown state. */\n state?: UpdateRunPropertiesState;\n /** Progress representation of the update run steps. */\n progress?: Step;\n}\n\nexport function updateRunSerializer(item: UpdateRun): any {\n return {\n properties: areAllPropsUndefined(item, [\n \"timeStarted\",\n \"lastUpdatedTime\",\n \"duration\",\n \"state\",\n \"progress\",\n ])\n ? undefined\n : _updateRunPropertiesSerializer(item),\n location: item[\"location\"],\n };\n}\n\nexport function updateRunDeserializer(item: any): UpdateRun {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _updateRunPropertiesDeserializer(item[\"properties\"])),\n location: item[\"location\"],\n };\n}\n\n/** Details of an Update run */\nexport interface UpdateRunProperties {\n /** Provisioning state of the UpdateRuns proxy resource. Indicates the current lifecycle status of the update operation, such as whether it has been accepted, is in progress, or has completed. */\n readonly provisioningState?: ProvisioningState;\n /** Timestamp of the update run was started. */\n timeStarted?: Date;\n /** Timestamp of the most recently completed step in the update run. */\n lastUpdatedTime?: Date;\n /** Duration of the update run. */\n duration?: string;\n /** Represents the current state of the update run. Indicates whether the update is in progress, has completed successfully, failed, or is in an unknown state. */\n state?: UpdateRunPropertiesState;\n /** Name of the step. */\n name?: string;\n /** More detailed description of the step. */\n description?: string;\n /** Error message, specified if the step is in a failed state. */\n errorMessage?: string;\n /** Status of the step, bubbled up from the ECE action plan for installation attempts. Values are: 'Success', 'Error', 'InProgress', and 'Unknown status'. */\n status?: string;\n /** When the step started, or empty if it has not started executing. */\n startTimeUtc?: Date;\n /** When the step reached a terminal state. */\n endTimeUtc?: Date;\n /** Completion time of this step or the last completed sub-step. */\n lastUpdatedTimeUtc?: Date;\n /** Expected execution time of a given step. This is optionally authored in the update action plan and can be empty. */\n expectedExecutionTime?: string;\n /** Recursive model for child steps of this step. */\n steps?: Step[];\n}\n\nexport function updateRunPropertiesSerializer(item: UpdateRunProperties): any {\n return {\n timeStarted: !item[\"timeStarted\"] ? item[\"timeStarted\"] : item[\"timeStarted\"].toISOString(),\n lastUpdatedTime: !item[\"lastUpdatedTime\"]\n ? item[\"lastUpdatedTime\"]\n : item[\"lastUpdatedTime\"].toISOString(),\n duration: item[\"duration\"],\n state: item[\"state\"],\n progress: areAllPropsUndefined(item, [\n \"name\",\n \"description\",\n \"errorMessage\",\n \"status\",\n \"startTimeUtc\",\n \"endTimeUtc\",\n \"lastUpdatedTimeUtc\",\n \"expectedExecutionTime\",\n \"steps\",\n ])\n ? undefined\n : _updateRunPropertiesProgressSerializer(item),\n };\n}\n\nexport function updateRunPropertiesDeserializer(item: any): UpdateRunProperties {\n return {\n provisioningState: item[\"provisioningState\"],\n timeStarted: !item[\"timeStarted\"] ? item[\"timeStarted\"] : new Date(item[\"timeStarted\"]),\n lastUpdatedTime: !item[\"lastUpdatedTime\"]\n ? item[\"lastUpdatedTime\"]\n : new Date(item[\"lastUpdatedTime\"]),\n duration: item[\"duration\"],\n state: item[\"state\"],\n ...(!item[\"progress\"]\n ? item[\"progress\"]\n : _updateRunPropertiesProgressDeserializer(item[\"progress\"])),\n };\n}\n\n/** Represents the current state of the update run. Indicates whether the update is in progress, has completed successfully, failed, or is in an unknown state. */\nexport enum KnownUpdateRunPropertiesState {\n /** The state of the update run is not known. */\n Unknown = \"Unknown\",\n /** The update run completed successfully. */\n Succeeded = \"Succeeded\",\n /** The update run is currently in progress. */\n InProgress = \"InProgress\",\n /** The update run failed to complete successfully. */\n Failed = \"Failed\",\n}\n\n/**\n * Represents the current state of the update run. Indicates whether the update is in progress, has completed successfully, failed, or is in an unknown state. \\\n * {@link KnownUpdateRunPropertiesState} can be used interchangeably with UpdateRunPropertiesState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Unknown**: The state of the update run is not known. \\\n * **Succeeded**: The update run completed successfully. \\\n * **InProgress**: The update run is currently in progress. \\\n * **Failed**: The update run failed to complete successfully.\n */\nexport type UpdateRunPropertiesState = string;\n\n/** Progress representation of the update run steps. */\nexport interface Step {\n /** Name of the step. */\n name?: string;\n /** More detailed description of the step. */\n description?: string;\n /** Error message, specified if the step is in a failed state. */\n errorMessage?: string;\n /** Status of the step, bubbled up from the ECE action plan for installation attempts. Values are: 'Success', 'Error', 'InProgress', and 'Unknown status'. */\n status?: string;\n /** When the step started, or empty if it has not started executing. */\n startTimeUtc?: Date;\n /** When the step reached a terminal state. */\n endTimeUtc?: Date;\n /** Completion time of this step or the last completed sub-step. */\n lastUpdatedTimeUtc?: Date;\n /** Expected execution time of a given step. This is optionally authored in the update action plan and can be empty. */\n expectedExecutionTime?: string;\n /** Recursive model for child steps of this step. */\n steps?: Step[];\n}\n\nexport function stepSerializer(item: Step): any {\n return {\n name: item[\"name\"],\n description: item[\"description\"],\n errorMessage: item[\"errorMessage\"],\n status: item[\"status\"],\n startTimeUtc: !item[\"startTimeUtc\"] ? item[\"startTimeUtc\"] : item[\"startTimeUtc\"].toISOString(),\n endTimeUtc: !item[\"endTimeUtc\"] ? item[\"endTimeUtc\"] : item[\"endTimeUtc\"].toISOString(),\n lastUpdatedTimeUtc: !item[\"lastUpdatedTimeUtc\"]\n ? item[\"lastUpdatedTimeUtc\"]\n : item[\"lastUpdatedTimeUtc\"].toISOString(),\n expectedExecutionTime: item[\"expectedExecutionTime\"],\n steps: !item[\"steps\"] ? item[\"steps\"] : stepArraySerializer(item[\"steps\"]),\n };\n}\n\nexport function stepDeserializer(item: any): Step {\n return {\n name: item[\"name\"],\n description: item[\"description\"],\n errorMessage: item[\"errorMessage\"],\n status: item[\"status\"],\n startTimeUtc: !item[\"startTimeUtc\"] ? item[\"startTimeUtc\"] : new Date(item[\"startTimeUtc\"]),\n endTimeUtc: !item[\"endTimeUtc\"] ? item[\"endTimeUtc\"] : new Date(item[\"endTimeUtc\"]),\n lastUpdatedTimeUtc: !item[\"lastUpdatedTimeUtc\"]\n ? item[\"lastUpdatedTimeUtc\"]\n : new Date(item[\"lastUpdatedTimeUtc\"]),\n expectedExecutionTime: item[\"expectedExecutionTime\"],\n steps: !item[\"steps\"] ? item[\"steps\"] : stepArrayDeserializer(item[\"steps\"]),\n };\n}\n\nexport function stepArraySerializer(result: Array<Step>): any[] {\n return result.map((item) => {\n return stepSerializer(item);\n });\n}\n\nexport function stepArrayDeserializer(result: Array<Step>): any[] {\n return result.map((item) => {\n return stepDeserializer(item);\n });\n}\n\n/** List of Update runs */\nexport interface _UpdateRunList {\n /** The UpdateRun items on this page */\n value: UpdateRun[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _updateRunListDeserializer(item: any): _UpdateRunList {\n return {\n value: updateRunArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function updateRunArraySerializer(result: Array<UpdateRun>): any[] {\n return result.map((item) => {\n return updateRunSerializer(item);\n });\n}\n\nexport function updateRunArrayDeserializer(result: Array<UpdateRun>): any[] {\n return result.map((item) => {\n return updateRunDeserializer(item);\n });\n}\n\n/** Update details */\nexport interface Update extends ProxyResource {\n /** The geo-location where the resource lives */\n location?: string;\n /** Provisioning state of the Updates proxy resource. Indicates the current lifecycle status of the update operation, such as whether it has been accepted, is in progress, or has completed. */\n readonly provisioningState?: ProvisioningState;\n /** Date that the update was installed. */\n installedDate?: Date;\n /** Description of the update. */\n description?: string;\n /** Minimum Sbe Version of the update. */\n minSbeVersionRequired?: string;\n /** Represents the current state of the update as it relates to this stamp. This includes phases such as preparation, installation, scanning, and error handling, providing insight into the update's progress and any issues encountered. */\n state?: State;\n /** If update State is HasPrerequisite, this property contains an array of objects describing prerequisite updates before installing this update. Otherwise, it is empty. */\n prerequisites?: UpdatePrerequisite[];\n /** An array of component versions for a Solution Bundle update, and an empty array otherwise. */\n componentVersions?: PackageVersionInfo[];\n /** Indicates whether a reboot is required after the update or operation. Helps determine if a system restart is necessary to complete the process. */\n rebootRequired?: RebootRequirement;\n /** Overall health state for update-specific health checks. */\n healthState?: HealthState;\n /** An array of PrecheckResult objects. */\n healthCheckResult?: PrecheckResult[];\n /** Last time the package-specific checks were run. */\n healthCheckDate?: Date;\n /** Path where the update package is available. */\n packagePath?: string;\n /** Size of the package. This value is a combination of the size from update metadata and size of the payload that results from the live scan operation for OS update content. */\n packageSizeInMb?: number;\n /** Display name of the Update */\n displayName?: string;\n /** Version of the update. */\n version?: string;\n /** Publisher of the update package. */\n publisher?: string;\n /** Link to release notes for the update. */\n releaseLink?: string;\n /** Indicates how the update content is made available for download. This determines whether the update is sourced locally, from an online repository, or requires user notification. */\n availabilityType?: AvailabilityType;\n /** Customer-visible type of the update. */\n packageType?: string;\n /** Extensible KV pairs serialized as a string. This is currently used to report the stamp OEM family and hardware model information when an update is flagged as Invalid for the stamp based on OEM type. */\n additionalProperties?: string;\n /** Additional information regarding the state of the update. See definition of UpdateStateProperties type below for more details on this property. */\n updateStateProperties?: UpdateStateProperties;\n}\n\nexport function updateSerializer(item: Update): any {\n return {\n properties: areAllPropsUndefined(item, [\n \"installedDate\",\n \"description\",\n \"minSbeVersionRequired\",\n \"state\",\n \"prerequisites\",\n \"componentVersions\",\n \"rebootRequired\",\n \"healthState\",\n \"healthCheckResult\",\n \"healthCheckDate\",\n \"packagePath\",\n \"packageSizeInMb\",\n \"displayName\",\n \"version\",\n \"publisher\",\n \"releaseLink\",\n \"availabilityType\",\n \"packageType\",\n \"additionalProperties\",\n \"updateStateProperties\",\n ])\n ? undefined\n : _updatePropertiesSerializer(item),\n location: item[\"location\"],\n };\n}\n\nexport function updateDeserializer(item: any): Update {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _updatePropertiesDeserializer(item[\"properties\"])),\n location: item[\"location\"],\n };\n}\n\n/** Details of a singular Update in HCI Cluster */\nexport interface UpdateProperties {\n /** Provisioning state of the Updates proxy resource. Indicates the current lifecycle status of the update operation, such as whether it has been accepted, is in progress, or has completed. */\n readonly provisioningState?: ProvisioningState;\n /** Date that the update was installed. */\n installedDate?: Date;\n /** Description of the update. */\n description?: string;\n /** Minimum Sbe Version of the update. */\n minSbeVersionRequired?: string;\n /** Represents the current state of the update as it relates to this stamp. This includes phases such as preparation, installation, scanning, and error handling, providing insight into the update's progress and any issues encountered. */\n state?: State;\n /** If update State is HasPrerequisite, this property contains an array of objects describing prerequisite updates before installing this update. Otherwise, it is empty. */\n prerequisites?: UpdatePrerequisite[];\n /** An array of component versions for a Solution Bundle update, and an empty array otherwise. */\n componentVersions?: PackageVersionInfo[];\n /** Indicates whether a reboot is required after the update or operation. Helps determine if a system restart is necessary to complete the process. */\n rebootRequired?: RebootRequirement;\n /** Overall health state for update-specific health checks. */\n healthState?: HealthState;\n /** An array of PrecheckResult objects. */\n healthCheckResult?: PrecheckResult[];\n /** Last time the package-specific checks were run. */\n healthCheckDate?: Date;\n /** Path where the update package is available. */\n packagePath?: string;\n /** Size of the package. This value is a combination of the size from update metadata and size of the payload that results from the live scan operation for OS update content. */\n packageSizeInMb?: number;\n /** Display name of the Update */\n displayName?: string;\n /** Version of the update. */\n version?: string;\n /** Publisher of the update package. */\n publisher?: string;\n /** Link to release notes for the update. */\n releaseLink?: string;\n /** Indicates how the update content is made available for download. This determines whether the update is sourced locally, from an online repository, or requires user notification. */\n availabilityType?: AvailabilityType;\n /** Customer-visible type of the update. */\n packageType?: string;\n /** Extensible KV pairs serialized as a string. This is currently used to report the stamp OEM family and hardware model information when an update is flagged as Invalid for the stamp based on OEM type. */\n additionalProperties?: string;\n /** Progress percentage of ongoing operation. Currently this property is only valid when the update is in the Downloading state, where it maps to how much of the update content has been downloaded. */\n progressPercentage?: number;\n /** Brief message with instructions for updates of AvailabilityType Notify. */\n notifyMessage?: string;\n}\n\nexport function updatePropertiesSerializer(item: UpdateProperties): any {\n return {\n installedDate: !item[\"installedDate\"]\n ? item[\"installedDate\"]\n : item[\"installedDate\"].toISOString(),\n description: item[\"description\"],\n minSbeVersionRequired: item[\"minSbeVersionRequired\"],\n state: item[\"state\"],\n prerequisites: !item[\"prerequisites\"]\n ? item[\"prerequisites\"]\n : updatePrerequisiteArraySerializer(item[\"prerequisites\"]),\n componentVersions: !item[\"componentVersions\"]\n ? item[\"componentVersions\"]\n : packageVersionInfoArraySerializer(item[\"componentVersions\"]),\n rebootRequired: item[\"rebootRequired\"],\n healthState: item[\"healthState\"],\n healthCheckResult: !item[\"healthCheckResult\"]\n ? item[\"healthCheckResult\"]\n : precheckResultArraySerializer(item[\"healthCheckResult\"]),\n healthCheckDate: !item[\"healthCheckDate\"]\n ? item[\"healthCheckDate\"]\n : item[\"healthCheckDate\"].toISOString(),\n packagePath: item[\"packagePath\"],\n packageSizeInMb: item[\"packageSizeInMb\"],\n displayName: item[\"displayName\"],\n version: item[\"version\"],\n publisher: item[\"publisher\"],\n releaseLink: item[\"releaseLink\"],\n availabilityType: item[\"availabilityType\"],\n packageType: item[\"packageType\"],\n additionalProperties: item[\"additionalProperties\"],\n updateStateProperties: areAllPropsUndefined(item, [\"progressPercentage\", \"notifyMessage\"])\n ? undefined\n : _updatePropertiesUpdateStatePropertiesSerializer(item),\n };\n}\n\nexport function updatePropertiesDeserializer(item: any): UpdateProperties {\n return {\n provisioningState: item[\"provisioningState\"],\n installedDate: !item[\"installedDate\"] ? item[\"installedDate\"] : new Date(item[\"installedDate\"]),\n description: item[\"description\"],\n minSbeVersionRequired: item[\"minSbeVersionRequired\"],\n state: item[\"state\"],\n prerequisites: !item[\"prerequisites\"]\n ? item[\"prerequisites\"]\n : updatePrerequisiteArrayDeserializer(item[\"prerequisites\"]),\n componentVersions: !item[\"componentVersions\"]\n ? item[\"componentVersions\"]\n : packageVersionInfoArrayDeserializer(item[\"componentVersions\"]),\n rebootRequired: item[\"rebootRequired\"],\n healthState: item[\"healthState\"],\n healthCheckResult: !item[\"healthCheckResult\"]\n ? item[\"healthCheckResult\"]\n : precheckResultArrayDeserializer(item[\"healthCheckResult\"]),\n healthCheckDate: !item[\"healthCheckDate\"]\n ? item[\"healthCheckDate\"]\n : new Date(item[\"healthCheckDate\"]),\n packagePath: item[\"packagePath\"],\n packageSizeInMb: item[\"packageSizeInMb\"],\n displayName: item[\"displayName\"],\n version: item[\"version\"],\n publisher: item[\"publisher\"],\n releaseLink: item[\"releaseLink\"],\n availabilityType: item[\"availabilityType\"],\n packageType: item[\"packageType\"],\n additionalProperties: item[\"additionalProperties\"],\n ...(!item[\"updateStateProperties\"]\n ? item[\"updateStateProperties\"]\n : _updatePropertiesUpdateStatePropertiesDeserializer(item[\"updateStateProperties\"])),\n };\n}\n\n/** Represents the current state of the update as it relates to this stamp. This includes phases such as preparation, installation, scanning, and error handling, providing insight into the update's progress and any issues encountered. */\nexport enum KnownState {\n /** The update has prerequisites that must be fulfilled before it can proceed. */\n HasPrerequisite = \"HasPrerequisite\",\n /** The update is obsolete and no longer applicable. */\n Obsolete = \"Obsolete\",\n /** The update is ready to be installed. */\n Ready = \"Ready\",\n /** The update cannot be applied because another update is currently in progress. */\n NotApplicableBecauseAnotherUpdateIsInProgress = \"NotApplicableBecauseAnotherUpdateIsInProgress\",\n /** The update is currently in the preparation phase. */\n Preparing = \"Preparing\",\n /** The update is currently being installed. */\n Installing = \"Installing\",\n /** The update has been successfully installed. */\n Installed = \"Installed\",\n /** The update preparation phase failed. */\n PreparationFailed = \"PreparationFailed\",\n /** The update installation failed. */\n InstallationFailed = \"InstallationFailed\",\n /** The update is invalid and cannot be applied. */\n Invalid = \"Invalid\",\n /** The update has been recalled and should not be applied. */\n Recalled = \"Recalled\",\n /** The update is currently being downloaded. */\n Downloading = \"Downloading\",\n /** The update download failed. */\n DownloadFailed = \"DownloadFailed\",\n /** A health check is being performed before applying the update. */\n HealthChecking = \"HealthChecking\",\n /** The health check failed, preventing the update from proceeding. */\n HealthCheckFailed = \"HealthCheckFailed\",\n /** The update is ready to be installed after successful preparation and checks. */\n ReadyToInstall = \"ReadyToInstall\",\n /** The system is scanning for updates. */\n ScanInProgress = \"ScanInProgress\",\n /** The scan for updates failed. */\n ScanFailed = \"ScanFailed\",\n /** Additional content is required to proceed with the update. */\n AdditionalContentRequired = \"AdditionalContentRequired\",\n /** The health check has expired and needs to be redone. */\n HealthCheckExpired = \"HealthCheckExpired\",\n /** The update is pending OEM validation before it can proceed. */\n PendingOEMValidation = \"PendingOEMValidation\",\n}\n\n/**\n * Represents the current state of the update as it relates to this stamp. This includes phases such as preparation, installation, scanning, and error handling, providing insight into the update's progress and any issues encountered. \\\n * {@link KnownState} can be used interchangeably with State,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **HasPrerequisite**: The update has prerequisites that must be fulfilled before it can proceed. \\\n * **Obsolete**: The update is obsolete and no longer applicable. \\\n * **Ready**: The update is ready to be installed. \\\n * **NotApplicableBecauseAnotherUpdateIsInProgress**: The update cannot be applied because another update is currently in progress. \\\n * **Preparing**: The update is currently in the preparation phase. \\\n * **Installing**: The update is currently being installed. \\\n * **Installed**: The update has been successfully installed. \\\n * **PreparationFailed**: The update preparation phase failed. \\\n * **InstallationFailed**: The update installation failed. \\\n * **Invalid**: The update is invalid and cannot be applied. \\\n * **Recalled**: The update has been recalled and should not be applied. \\\n * **Downloading**: The update is currently being downloaded. \\\n * **DownloadFailed**: The update download failed. \\\n * **HealthChecking**: A health check is being performed before applying the update. \\\n * **HealthCheckFailed**: The health check failed, preventing the update from proceeding. \\\n * **ReadyToInstall**: The update is ready to be installed after successful preparation and checks. \\\n * **ScanInProgress**: The system is scanning for updates. \\\n * **ScanFailed**: The scan for updates failed. \\\n * **AdditionalContentRequired**: Additional content is required to proceed with the update. \\\n * **HealthCheckExpired**: The health check has expired and needs to be redone. \\\n * **PendingOEMValidation**: The update is pending OEM validation before it can proceed.\n */\nexport type State = string;\n\nexport function updatePrerequisiteArraySerializer(result: Array<UpdatePrerequisite>): any[] {\n return result.map((item) => {\n return updatePrerequisiteSerializer(item);\n });\n}\n\nexport function updatePrerequisiteArrayDeserializer(result: Array<UpdatePrerequisite>): any[] {\n return result.map((item) => {\n return updatePrerequisiteDeserializer(item);\n });\n}\n\n/** If update State is HasPrerequisite, this property contains an array of objects describing prerequisite updates before installing this update. Otherwise, it is empty. */\nexport interface UpdatePrerequisite {\n /** Updatable component type. */\n updateType?: string;\n /** Version of the prerequisite. */\n version?: string;\n /** Friendly name of the prerequisite. */\n packageName?: string;\n}\n\nexport function updatePrerequisiteSerializer(item: UpdatePrerequisite): any {\n return {\n updateType: item[\"updateType\"],\n version: item[\"version\"],\n packageName: item[\"packageName\"],\n };\n}\n\nexport function updatePrerequisiteDeserializer(item: any): UpdatePrerequisite {\n return {\n updateType: item[\"updateType\"],\n version: item[\"version\"],\n packageName: item[\"packageName\"],\n };\n}\n\nexport function packageVersionInfoArraySerializer(result: Array<PackageVersionInfo>): any[] {\n return result.map((item) => {\n return packageVersionInfoSerializer(item);\n });\n}\n\nexport function packageVersionInfoArrayDeserializer(result: Array<PackageVersionInfo>): any[] {\n return result.map((item) => {\n return packageVersionInfoDeserializer(item);\n });\n}\n\n/** Current version of each updatable component. */\nexport interface PackageVersionInfo {\n /** Package type */\n packageType?: string;\n /** Package version */\n version?: string;\n /** Last time this component was updated. */\n lastUpdated?: Date;\n}\n\nexport function packageVersionInfoSerializer(item: PackageVersionInfo): any {\n return {\n packageType: item[\"packageType\"],\n version: item[\"version\"],\n lastUpdated: !item[\"lastUpdated\"] ? item[\"lastUpdated\"] : item[\"lastUpdated\"].toISOString(),\n };\n}\n\nexport function packageVersionInfoDeserializer(item: any): PackageVersionInfo {\n return {\n packageType: item[\"packageType\"],\n version: item[\"version\"],\n lastUpdated: !item[\"lastUpdated\"] ? item[\"lastUpdated\"] : new Date(item[\"lastUpdated\"]),\n };\n}\n\n/** Indicates whether a reboot is required after the update or operation. Helps determine if a system restart is necessary to complete the process. */\nexport enum KnownRebootRequirement {\n /** It is not known whether a reboot is required. */\n Unknown = \"Unknown\",\n /** A reboot is required to complete the operation. */\n True = \"True\",\n /** No reboot is required after the operation. */\n False = \"False\",\n}\n\n/**\n * Indicates whether a reboot is required after the update or operation. Helps determine if a system restart is necessary to complete the process. \\\n * {@link KnownRebootRequirement} can be used interchangeably with RebootRequirement,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Unknown**: It is not known whether a reboot is required. \\\n * **True**: A reboot is required to complete the operation. \\\n * **False**: No reboot is required after the operation.\n */\nexport type RebootRequirement = string;\n\n/** Overall health state for update-specific health checks. Indicates whether the system is functioning correctly, has warnings or errors, or is undergoing a health evaluation. */\nexport enum KnownHealthState {\n /** The health state is not known or cannot be determined. */\n Unknown = \"Unknown\",\n /** The health check completed successfully and the system is healthy. */\n Success = \"Success\",\n /** The health check failed, indicating a critical issue. */\n Failure = \"Failure\",\n /** The health check detected a non-critical issue that may require attention. */\n Warning = \"Warning\",\n /** An error occurred during the health check process. */\n Error = \"Error\",\n /** The health check is currently in progress. */\n InProgress = \"InProgress\",\n}\n\n/**\n * Overall health state for update-specific health checks. Indicates whether the system is functioning correctly, has warnings or errors, or is undergoing a health evaluation. \\\n * {@link KnownHealthState} can be used interchangeably with HealthState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Unknown**: The health state is not known or cannot be determined. \\\n * **Success**: The health check completed successfully and the system is healthy. \\\n * **Failure**: The health check failed, indicating a critical issue. \\\n * **Warning**: The health check detected a non-critical issue that may require attention. \\\n * **Error**: An error occurred during the health check process. \\\n * **InProgress**: The health check is currently in progress.\n */\nexport type HealthState = string;\n\nexport function precheckResultArraySerializer(result: Array<PrecheckResult>): any[] {\n return result.map((item) => {\n return precheckResultSerializer(item);\n });\n}\n\nexport function precheckResultArrayDeserializer(result: Array<PrecheckResult>): any[] {\n return result.map((item) => {\n return precheckResultDeserializer(item);\n });\n}\n\n/** model interface PrecheckResult */\nexport interface PrecheckResult {\n /** Name of the individual test/rule/alert that was executed. Unique, not exposed to the customer. */\n name?: string;\n /** The health check DisplayName localized of the individual test executed. */\n displayName?: string;\n /** Key-value pairs that allow grouping/filtering individual tests. */\n tags?: PrecheckResultTags;\n /** Key-value pairs that allow grouping/filtering individual tests. */\n healthCheckTags?: any;\n /** User-facing name; one or more sentences indicating the direct issue. */\n title?: string;\n /** Represents the current status of the check being performed. Indicates whether the check has completed successfully, failed, or is still in progress. */\n status?: Status;\n /** Indicates the importance or impact level of the result. Determines whether the result is informational, a warning, or a critical issue that may block updates. */\n severity?: Severity;\n /** Detailed overview of the issue and what impact the issue has on the stamp. */\n description?: string;\n /** Set of steps that can be taken to resolve the issue found. */\n remediation?: string;\n /** The unique identifier for the affected resource (such as a node or drive). */\n targetResourceID?: string;\n /** The name of the affected resource. */\n targetResourceName?: string;\n /** The type of resource being referred to (well-known set of nouns in infrastructure, aligning with Monitoring). */\n targetResourceType?: string;\n /** The time in which the HealthCheck was called. */\n timestamp?: Date;\n /** Property bag of key value pairs for additional information. */\n additionalData?: string;\n /** The name of the services called for the HealthCheck (I.E. Test-AzureStack, Test-Cluster). */\n healthCheckSource?: string;\n}\n\nexport function precheckResultSerializer(item: PrecheckResult): any {\n return {\n name: item[\"name\"],\n displayName: item[\"displayName\"],\n tags: !item[\"tags\"] ? item[\"tags\"] : precheckResultTagsSerializer(item[\"tags\"]),\n healthCheckTags: item[\"healthCheckTags\"],\n title: item[\"title\"],\n status: item[\"status\"],\n severity: item[\"severity\"],\n description: item[\"description\"],\n remediation: item[\"remediation\"],\n targetResourceID: item[\"targetResourceID\"],\n targetResourceName: item[\"targetResourceName\"],\n targetResourceType: item[\"targetResourceType\"],\n timestamp: !item[\"timestamp\"] ? item[\"timestamp\"] : item[\"timestamp\"].toISOString(),\n additionalData: item[\"additionalData\"],\n healthCheckSource: item[\"healthCheckSource\"],\n };\n}\n\nexport function precheckResultDeserializer(item: any): PrecheckResult {\n return {\n name: item[\"name\"],\n displayName: item[\"displayName\"],\n tags: !item[\"tags\"] ? item[\"tags\"] : precheckResultTagsDeserializer(item[\"tags\"]),\n healthCheckTags: item[\"healthCheckTags\"],\n title: item[\"title\"],\n status: item[\"status\"],\n severity: item[\"severity\"],\n description: item[\"description\"],\n remediation: item[\"remediation\"],\n targetResourceID: item[\"targetResourceID\"],\n targetResourceName: item[\"targetResourceName\"],\n targetResourceType: item[\"targetResourceType\"],\n timestamp: !item[\"timestamp\"] ? item[\"timestamp\"] : new Date(item[\"timestamp\"]),\n additionalData: item[\"additionalData\"],\n healthCheckSource: item[\"healthCheckSource\"],\n };\n}\n\n/** Key-value pairs that allow grouping/filtering individual tests. */\nexport interface PrecheckResultTags {\n /** Key that allow grouping/filtering individual tests. */\n key?: string;\n /** Value of the key that allow grouping/filtering individual tests. */\n value?: string;\n}\n\nexport function precheckResultTagsSerializer(item: PrecheckResultTags): any {\n return { key: item[\"key\"], value: item[\"value\"] };\n}\n\nexport function precheckResultTagsDeserializer(item: any): PrecheckResultTags {\n return {\n key: item[\"key\"],\n value: item[\"value\"],\n };\n}\n\n/** Indicates the importance or impact level of the result. Determines whether the result is informational, a warning, or a critical issue that may block updates. */\nexport enum KnownSeverity {\n /** A critical issue that blocks updates and requires immediate attention. */\n Critical = \"Critical\",\n /** A warning that may indicate a potential issue but does not block updates. */\n Warning = \"Warning\",\n /** General information that does not indicate any issue. */\n Informational = \"Informational\",\n /** The result is hidden and not shown in the output. */\n Hidden = \"Hidden\",\n}\n\n/**\n * Indicates the importance or impact level of the result. Determines whether the result is informational, a warning, or a critical issue that may block updates. \\\n * {@link KnownSeverity} can be used interchangeably with Severity,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Critical**: A critical issue that blocks updates and requires immediate attention. \\\n * **Warning**: A warning that may indicate a potential issue but does not block updates. \\\n * **Informational**: General information that does not indicate any issue. \\\n * **Hidden**: The result is hidden and not shown in the output.\n */\nexport type Severity = string;\n\n/** Indicates how the update content is made available for download. This determines whether the update is sourced locally, from an online repository, or requires user notification. */\nexport enum KnownAvailabilityType {\n /** The update content is available locally within the environment. */\n Local = \"Local\",\n /** The update content is available from an online source. */\n Online = \"Online\",\n /** The system will notify the user when update content becomes available. */\n Notify = \"Notify\",\n}\n\n/**\n * Indicates how the update content is made available for download. This determines whether the update is sourced locally, from an online repository, or requires user notification. \\\n * {@link KnownAvailabilityType} can be used interchangeably with AvailabilityType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Local**: The update content is available locally within the environment. \\\n * **Online**: The update content is available from an online source. \\\n * **Notify**: The system will notify the user when update content becomes available.\n */\nexport type AvailabilityType = string;\n\n/** Additional information regarding the state of the update. See definition of UpdateStateProperties type below for more details on this property. */\nexport interface UpdateStateProperties {\n /** Progress percentage of ongoing operation. Currently this property is only valid when the update is in the Downloading state, where it maps to how much of the update content has been downloaded. */\n progressPercentage?: number;\n /** Brief message with instructions for updates of AvailabilityType Notify. */\n notifyMessage?: string;\n}\n\nexport function updateStatePropertiesSerializer(item: UpdateStateProperties): any {\n return { progressPercentage: item[\"progressPercentage\"], notifyMessage: item[\"notifyMessage\"] };\n}\n\nexport function updateStatePropertiesDeserializer(item: any): UpdateStateProperties {\n return {\n progressPercentage: item[\"progressPercentage\"],\n notifyMessage: item[\"notifyMessage\"],\n };\n}\n\n/** List of Updates */\nexport interface _UpdateList {\n /** The Update items on this page */\n value: Update[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _updateListDeserializer(item: any): _UpdateList {\n return {\n value: updateArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function updateArraySerializer(result: Array<Update>): any[] {\n return result.map((item) => {\n return updateSerializer(item);\n });\n}\n\nexport function updateArrayDeserializer(result: Array<Update>): any[] {\n return result.map((item) => {\n return updateDeserializer(item);\n });\n}\n\n/** Request body for the check updates action on update summaries. */\nexport interface CheckUpdatesRequest {\n /** Name of update */\n updateName?: string;\n}\n\nexport function checkUpdatesRequestSerializer(item: CheckUpdatesRequest): any {\n return { updateName: item[\"updateName\"] };\n}\n\n/** Represents a validated solution recipe resource. */\nexport interface ValidatedSolutionRecipe extends ProxyResource {\n /** The resource-specific properties for this resource. */\n properties?: ValidatedSolutionRecipeProperties;\n}\n\nexport function validatedSolutionRecipeDeserializer(item: any): ValidatedSolutionRecipe {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : validatedSolutionRecipePropertiesDeserializer(item[\"properties\"]),\n };\n}\n\n/** Represents properties of a validated solution recipe resource. */\nexport interface ValidatedSolutionRecipeProperties {\n /** Represents contents of a validated solution recipe. */\n recipeContent: ValidatedSolutionRecipeContent;\n /** Represents the signature of the recipe, to be used for ensuring its integrity. */\n signature?: string;\n}\n\nexport function validatedSolutionRecipePropertiesDeserializer(\n item: any,\n): ValidatedSolutionRecipeProperties {\n return {\n recipeContent: validatedSolutionRecipeContentDeserializer(item[\"recipeContent\"]),\n signature: item[\"signature\"],\n };\n}\n\n/** Represents contents of a validated solution recipe resource. */\nexport interface ValidatedSolutionRecipeContent {\n /** Represents information about a validated solution recipe. */\n info: ValidatedSolutionRecipeInfo;\n /** Represents capabilities available in a validated solution recipe. */\n capabilities?: ValidatedSolutionRecipeCapabilities;\n /** Represents components available in a validated solution recipe. */\n components: ValidatedSolutionRecipeComponent[];\n}\n\nexport function validatedSolutionRecipeContentDeserializer(\n item: any,\n): ValidatedSolutionRecipeContent {\n return {\n info: validatedSolutionRecipeInfoDeserializer(item[\"info\"]),\n capabilities: !item[\"capabilities\"]\n ? item[\"capabilities\"]\n : validatedSolutionRecipeCapabilitiesDeserializer(item[\"capabilities\"]),\n components: validatedSolutionRecipeComponentArrayDeserializer(item[\"components\"]),\n };\n}\n\n/** Represents information about a validated solution recipe. */\nexport interface ValidatedSolutionRecipeInfo {\n /** Represents the solution type for which this validated solution recipe is applicable. */\n solutionType: string;\n /** Represents the version for which this validated solution recipe is applicable. */\n version: string;\n}\n\nexport function validatedSolutionRecipeInfoDeserializer(item: any): ValidatedSolutionRecipeInfo {\n return {\n solutionType: item[\"solutionType\"],\n version: item[\"version\"],\n };\n}\n\n/** Represents capabilities available in a validated solution recipe. */\nexport interface ValidatedSolutionRecipeCapabilities {\n /** Represents the cluster capabilities. */\n clusterCapabilities: ValidatedSolutionRecipeCapability[];\n /** Represents the node capabilities. */\n nodeCapabilities: ValidatedSolutionRecipeCapability[];\n}\n\nexport function validatedSolutionRecipeCapabilitiesDeserializer(\n item: any,\n): ValidatedSolutionRecipeCapabilities {\n return {\n clusterCapabilities: validatedSolutionRecipeCapabilityArrayDeserializer(\n item[\"clusterCapabilities\"],\n ),\n nodeCapabilities: validatedSolutionRecipeCapabilityArrayDeserializer(item[\"nodeCapabilities\"]),\n };\n}\n\nexport function validatedSolutionRecipeCapabilityArrayDeserializer(\n result: Array<ValidatedSolutionRecipeCapability>,\n): any[] {\n return result.map((item) => {\n return validatedSolutionRecipeCapabilityDeserializer(item);\n });\n}\n\n/** Represents capability available in a validated solution recipe. */\nexport interface ValidatedSolutionRecipeCapability {\n /** Represents the capability name. */\n capabilityName: string;\n}\n\nexport function validatedSolutionRecipeCapabilityDeserializer(\n item: any,\n): ValidatedSolutionRecipeCapability {\n return {\n capabilityName: item[\"capabilityName\"],\n };\n}\n\nexport function validatedSolutionRecipeComponentArrayDeserializer(\n result: Array<ValidatedSolutionRecipeComponent>,\n): any[] {\n return result.map((item) => {\n return validatedSolutionRecipeComponentDeserializer(item);\n });\n}\n\n/** Represents component available in a validated solution recipe. */\nexport interface ValidatedSolutionRecipeComponent {\n /** Represents the component's name. */\n name: string;\n /** Represents the component's type. */\n type: string;\n /** Represents the component's required version. */\n requiredVersion?: string;\n /** Represents the component's install order. */\n installOrder?: number;\n /** Represents the component's tags. */\n tags: string[];\n /** Represents the component's payloads. */\n payloads?: ValidatedSolutionRecipeComponentPayload[];\n /** Represents the component's metadata. */\n metadata?: ValidatedSolutionRecipeComponentMetadata;\n}\n\nexport function validatedSolutionRecipeComponentDeserializer(\n item: any,\n): ValidatedSolutionRecipeComponent {\n return {\n name: item[\"name\"],\n type: item[\"type\"],\n requiredVersion: item[\"requiredVersion\"],\n installOrder: item[\"installOrder\"],\n tags: item[\"tags\"].map((p: any) => {\n return p;\n }),\n payloads: !item[\"payloads\"]\n ? item[\"payloads\"]\n : validatedSolutionRecipeComponentPayloadArrayDeserializer(item[\"payloads\"]),\n metadata: !item[\"metadata\"]\n ? item[\"metadata\"]\n : validatedSolutionRecipeComponentMetadataDeserializer(item[\"metadata\"]),\n };\n}\n\nexport function validatedSolutionRecipeComponentPayloadArrayDeserializer(\n result: Array<ValidatedSolutionRecipeComponentPayload>,\n): any[] {\n return result.map((item) => {\n return validatedSolutionRecipeComponentPayloadDeserializer(item);\n });\n}\n\n/** Represents payloads associated with a component available in a validated solution recipe. */\nexport interface ValidatedSolutionRecipeComponentPayload {\n /** Represents the unique identifier of the payload used to query the URL. */\n identifier: string;\n /** Represents the cryptographic hash of the payload, ensuring data integrity. */\n hash: string;\n /** Represents the name of the file associated with the payload. */\n fileName: string;\n /** Represents the URL from which the payload can be downloaded. */\n url: string;\n}\n\nexport function validatedSolutionRecipeComponentPayloadDeserializer(\n item: any,\n): ValidatedSolutionRecipeComponentPayload {\n return {\n identifier: item[\"identifier\"],\n hash: item[\"hash\"],\n fileName: item[\"fileName\"],\n url: item[\"url\"],\n };\n}\n\n/** Represents metadata associated with a component available in a validated solution recipe. */\nexport interface ValidatedSolutionRecipeComponentMetadata {\n /** Represents the type of extension. */\n extensionType?: string;\n /** Represents the publisher of the extension. */\n publisher?: string;\n /** Indicates whether automatic upgrades of the extension are enabled. */\n enableAutomaticUpgrade?: boolean;\n /** Indicates whether the LCM (Lifecycle Management) update of the extension is enabled. */\n lcmUpdate?: boolean;\n /** Specifies the catalog to which the extension belongs. */\n catalog?: string;\n /** Specifies the ring to which the extension belongs, internally used by component. */\n ring?: string;\n /** Specifies the release train to which given component belongs. */\n releaseTrain?: string;\n /** Specifies the link associated with the extension. */\n link?: string;\n /** Specifies the name of the extension. */\n name?: string;\n /** Specifies the expected hash of the extension. */\n expectedHash?: string;\n /** Specifies the preview source of the extension. */\n previewSource?: string;\n}\n\nexport function validatedSolutionRecipeComponentMetadataDeserializer(\n item: any,\n): ValidatedSolutionRecipeComponentMetadata {\n return {\n extensionType: item[\"extensionType\"],\n publisher: item[\"publisher\"],\n enableAutomaticUpgrade: item[\"enableAutomaticUpgrade\"],\n lcmUpdate: item[\"lcmUpdate\"],\n catalog: item[\"catalog\"],\n ring: item[\"ring\"],\n releaseTrain: item[\"releaseTrain\"],\n link: item[\"link\"],\n name: item[\"name\"],\n expectedHash: item[\"expectedHash\"],\n previewSource: item[\"previewSource\"],\n };\n}\n\n/** The response of a ValidatedSolutionRecipe list operation. */\nexport interface _ValidatedSolutionRecipeListResult {\n /** The ValidatedSolutionRecipe items on this page */\n value: ValidatedSolutionRecipe[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _validatedSolutionRecipeListResultDeserializer(\n item: any,\n): _ValidatedSolutionRecipeListResult {\n return {\n value: validatedSolutionRecipeArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function validatedSolutionRecipeArrayDeserializer(\n result: Array<ValidatedSolutionRecipe>,\n): any[] {\n return result.map((item) => {\n return validatedSolutionRecipeDeserializer(item);\n });\n}\n\n/** EdgeMachine details. */\nexport interface EdgeMachine extends TrackedResource {\n /** The resource-specific properties for this resource. */\n properties?: EdgeMachineProperties;\n /** The managed service identities assigned to this resource. */\n identity?: ManagedServiceIdentity;\n}\n\nexport function edgeMachineSerializer(item: EdgeMachine): any {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : edgeMachinePropertiesSerializer(item[\"properties\"]),\n identity: !item[\"identity\"]\n ? item[\"identity\"]\n : managedServiceIdentitySerializer(item[\"identity\"]),\n };\n}\n\nexport function edgeMachineDeserializer(item: any): EdgeMachine {\n return {\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : edgeMachinePropertiesDeserializer(item[\"properties\"]),\n identity: !item[\"identity\"]\n ? item[\"identity\"]\n : managedServiceIdentityDeserializer(item[\"identity\"]),\n };\n}\n\n/** Properties for edge machine. */\nexport interface EdgeMachineProperties {\n /** Edge Machine type. */\n edgeMachineKind?: EdgeMachineKind;\n /** The provisioning state of a resource. */\n readonly provisioningState?: ProvisioningState;\n /** Unique, immutable resource id. */\n readonly cloudId?: string;\n /** Optional property to create arc machine in custom resource group. */\n arcMachineResourceGroupId?: string;\n /** Arc machine instance resource id. */\n arcMachineResourceId?: string;\n /** Link to Arc Gateway ARM resource Id */\n arcGatewayResourceId?: string;\n /** Service fetches common configuration from site. */\n siteDetails?: SiteDetails;\n /** Ownership voucher details for provisioned machine. */\n ownershipVoucherDetails?: OwnershipVoucherDetails;\n /** Details for device provisioning. */\n provisioningDetails?: ProvisioningDetails;\n /** A machine can only be assigned to single device pool */\n readonly devicePoolResourceId?: string;\n /** OS configuration status details */\n readonly machineState?: EdgeMachineState;\n /** machine connectivity status */\n readonly connectivityStatus?: EdgeMachineConnectivityStatus;\n /** Tracks the ID of the consuming resource, setting the machine as in-use. */\n readonly claimedBy?: string;\n /** Reported properties for edge machine. */\n readonly reportedProperties?: EdgeMachineReportedProperties;\n /** operation status details for edge machine. */\n readonly operationDetails?: OperationDetail[];\n /** Last time data updated to service. */\n readonly lastSyncTimestamp?: Date;\n}\n\nexport function edgeMachinePropertiesSerializer(item: EdgeMachineProperties): any {\n return {\n edgeMachineKind: item[\"edgeMachineKind\"],\n arcMachineResourceGroupId: item[\"arcMachineResourceGroupId\"],\n arcMachineResourceId: item[\"arcMachineResourceId\"],\n arcGatewayResourceId: item[\"arcGatewayResourceId\"],\n siteDetails: !item[\"siteDetails\"]\n ? item[\"siteDetails\"]\n : siteDetailsSerializer(item[\"siteDetails\"]),\n ownershipVoucherDetails: !item[\"ownershipVoucherDetails\"]\n ? item[\"ownershipVoucherDetails\"]\n : ownershipVoucherDetailsSerializer(item[\"ownershipVoucherDetails\"]),\n provisioningDetails: !item[\"provisioningDetails\"]\n ? item[\"provisioningDetails\"]\n : provisioningDetailsSerializer(item[\"provisioningDetails\"]),\n };\n}\n\nexport function edgeMachinePropertiesDeserializer(item: any): EdgeMachineProperties {\n return {\n edgeMachineKind: item[\"edgeMachineKind\"],\n provisioningState: item[\"provisioningState\"],\n cloudId: item[\"cloudId\"],\n arcMachineResourceGroupId: item[\"arcMachineResourceGroupId\"],\n arcMachineResourceId: item[\"arcMachineResourceId\"],\n arcGatewayResourceId: item[\"arcGatewayResourceId\"],\n siteDetails: !item[\"siteDetails\"]\n ? item[\"siteDetails\"]\n : siteDetailsDeserializer(item[\"siteDetails\"]),\n ownershipVoucherDetails: !item[\"ownershipVoucherDetails\"]\n ? item[\"ownershipVoucherDetails\"]\n : ownershipVoucherDetailsDeserializer(item[\"ownershipVoucherDetails\"]),\n provisioningDetails: !item[\"provisioningDetails\"]\n ? item[\"provisioningDetails\"]\n : provisioningDetailsDeserializer(item[\"provisioningDetails\"]),\n devicePoolResourceId: item[\"devicePoolResourceId\"],\n machineState: item[\"machineState\"],\n connectivityStatus: item[\"connectivityStatus\"],\n claimedBy: item[\"claimedBy\"],\n reportedProperties: !item[\"reportedProperties\"]\n ? item[\"reportedProperties\"]\n : edgeMachineReportedPropertiesDeserializer(item[\"reportedProperties\"]),\n operationDetails: !item[\"operationDetails\"]\n ? item[\"operationDetails\"]\n : operationDetailArrayDeserializer(item[\"operationDetails\"]),\n lastSyncTimestamp: !item[\"lastSyncTimestamp\"]\n ? item[\"lastSyncTimestamp\"]\n : new Date(item[\"lastSyncTimestamp\"]),\n };\n}\n\n/** Edge Machine Kind. */\nexport enum KnownEdgeMachineKind {\n /** EdgeMachine resource created using Zero-touch provisioning. */\n Standard = \"Standard\",\n /** EdgeMachine resource created for brownfield HCI customers without zero touch provisioning. */\n Dedicated = \"Dedicated\",\n}\n\n/**\n * Edge Machine Kind. \\\n * {@link KnownEdgeMachineKind} can be used interchangeably with EdgeMachineKind,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Standard**: EdgeMachine resource created using Zero-touch provisioning. \\\n * **Dedicated**: EdgeMachine resource created for brownfield HCI customers without zero touch provisioning.\n */\nexport type EdgeMachineKind = string;\n\n/** Site Details consists of common configurations. */\nexport interface SiteDetails {\n /** Site resource Id to be set during Edge Machine resource creation. */\n siteResourceId: string;\n /** Edge Device configuration received from site common configuration. */\n deviceConfiguration?: TargetDeviceConfiguration;\n}\n\nexport function siteDetailsSerializer(item: SiteDetails): any {\n return {\n siteResourceId: item[\"siteResourceId\"],\n deviceConfiguration: !item[\"deviceConfiguration\"]\n ? item[\"deviceConfiguration\"]\n : targetDeviceConfigurationSerializer(item[\"deviceConfiguration\"]),\n };\n}\n\nexport function siteDetailsDeserializer(item: any): SiteDetails {\n return {\n siteResourceId: item[\"siteResourceId\"],\n deviceConfiguration: !item[\"deviceConfiguration\"]\n ? item[\"deviceConfiguration\"]\n : targetDeviceConfigurationDeserializer(item[\"deviceConfiguration\"]),\n };\n}\n\n/** Device configuration. */\nexport interface TargetDeviceConfiguration {\n /** Network configuration. */\n network?: NetworkConfiguration;\n /** Hostname of the device. */\n hostName?: string;\n /** Web proxy configuration. */\n webProxy?: WebProxyConfiguration;\n /** Time configuration. */\n time?: TimeConfiguration;\n /** Storage configuration. */\n storage?: StorageConfiguration;\n}\n\nexport function targetDeviceConfigurationSerializer(item: TargetDeviceConfiguration): any {\n return {\n network: !item[\"network\"] ? item[\"network\"] : networkConfigurationSerializer(item[\"network\"]),\n hostName: item[\"hostName\"],\n webProxy: !item[\"webProxy\"]\n ? item[\"webProxy\"]\n : webProxyConfigurationSerializer(item[\"webProxy\"]),\n time: !item[\"time\"] ? item[\"time\"] : timeConfigurationSerializer(item[\"time\"]),\n storage: !item[\"storage\"] ? item[\"storage\"] : storageConfigurationSerializer(item[\"storage\"]),\n };\n}\n\nexport function targetDeviceConfigurationDeserializer(item: any): TargetDeviceConfiguration {\n return {\n network: !item[\"network\"] ? item[\"network\"] : networkConfigurationDeserializer(item[\"network\"]),\n hostName: item[\"hostName\"],\n webProxy: !item[\"webProxy\"]\n ? item[\"webProxy\"]\n : webProxyConfigurationDeserializer(item[\"webProxy\"]),\n time: !item[\"time\"] ? item[\"time\"] : timeConfigurationDeserializer(item[\"time\"]),\n storage: !item[\"storage\"] ? item[\"storage\"] : storageConfigurationDeserializer(item[\"storage\"]),\n };\n}\n\n/** Network configuration. */\nexport interface NetworkConfiguration {\n /** List of network adapters. */\n networkAdapters?: NetworkAdapter[];\n}\n\nexport function networkConfigurationSerializer(item: NetworkConfiguration): any {\n return {\n networkAdapters: !item[\"networkAdapters\"]\n ? item[\"networkAdapters\"]\n : networkAdapterArraySerializer(item[\"networkAdapters\"]),\n };\n}\n\nexport function networkConfigurationDeserializer(item: any): NetworkConfiguration {\n return {\n networkAdapters: !item[\"networkAdapters\"]\n ? item[\"networkAdapters\"]\n : networkAdapterArrayDeserializer(item[\"networkAdapters\"]),\n };\n}\n\nexport function networkAdapterArraySerializer(result: Array<NetworkAdapter>): any[] {\n return result.map((item) => {\n return networkAdapterSerializer(item);\n });\n}\n\nexport function networkAdapterArrayDeserializer(result: Array<NetworkAdapter>): any[] {\n return result.map((item) => {\n return networkAdapterDeserializer(item);\n });\n}\n\n/** Network adapter configuration. */\nexport interface NetworkAdapter {\n /** Type of IP assignment. */\n ipAssignmentType: IpAssignmentType;\n /** IP address. */\n ipAddress?: string;\n /** Adapter Name. */\n adapterName?: string;\n /** MAC address. */\n macAddress?: string;\n /** IP address range. */\n ipAddressRange?: IpAddressRange;\n /** Gateway id. */\n gateway?: string;\n /** Subnet mask. */\n subnetMask?: string;\n /** Array of DNS addresses. */\n dnsAddressArray?: string[];\n /** VLAN ID for the network setup. */\n vlanId?: string;\n}\n\nexport function networkAdapterSerializer(item: NetworkAdapter): any {\n return {\n ipAssignmentType: item[\"ipAssignmentType\"],\n ipAddress: item[\"ipAddress\"],\n adapterName: item[\"adapterName\"],\n macAddress: item[\"macAddress\"],\n ipAddressRange: !item[\"ipAddressRange\"]\n ? item[\"ipAddressRange\"]\n : ipAddressRangeSerializer(item[\"ipAddressRange\"]),\n gateway: item[\"gateway\"],\n subnetMask: item[\"subnetMask\"],\n dnsAddressArray: !item[\"dnsAddressArray\"]\n ? item[\"dnsAddressArray\"]\n : item[\"dnsAddressArray\"].map((p: any) => {\n return p;\n }),\n vlanId: item[\"vlanId\"],\n };\n}\n\nexport function networkAdapterDeserializer(item: any): NetworkAdapter {\n return {\n ipAssignmentType: item[\"ipAssignmentType\"],\n ipAddress: item[\"ipAddress\"],\n adapterName: item[\"adapterName\"],\n macAddress: item[\"macAddress\"],\n ipAddressRange: !item[\"ipAddressRange\"]\n ? item[\"ipAddressRange\"]\n : ipAddressRangeDeserializer(item[\"ipAddressRange\"]),\n gateway: item[\"gateway\"],\n subnetMask: item[\"subnetMask\"],\n dnsAddressArray: !item[\"dnsAddressArray\"]\n ? item[\"dnsAddressArray\"]\n : item[\"dnsAddressArray\"].map((p: any) => {\n return p;\n }),\n vlanId: item[\"vlanId\"],\n };\n}\n\n/** IP assignment types */\nexport enum KnownIpAssignmentType {\n /** Automatic IP assignment */\n Automatic = \"Automatic\",\n /** Manual IP assignment */\n Manual = \"Manual\",\n}\n\n/**\n * IP assignment types \\\n * {@link KnownIpAssignmentType} can be used interchangeably with IpAssignmentType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Automatic**: Automatic IP assignment \\\n * **Manual**: Manual IP assignment\n */\nexport type IpAssignmentType = string;\n\n/** IP address range configuration. */\nexport interface IpAddressRange {\n /** Start IP address. */\n startIp: string;\n /** End IP address. */\n endIp: string;\n}\n\nexport function ipAddressRangeSerializer(item: IpAddressRange): any {\n return { startIp: item[\"startIp\"], endIp: item[\"endIp\"] };\n}\n\nexport function ipAddressRangeDeserializer(item: any): IpAddressRange {\n return {\n startIp: item[\"startIp\"],\n endIp: item[\"endIp\"],\n };\n}\n\n/** Web proxy configuration. */\nexport interface WebProxyConfiguration {\n /** Connection URI of the web proxy. */\n connectionUri?: string;\n /** Port of the web proxy. */\n port?: string;\n /** Bypass list for the web proxy. */\n bypassList?: string[];\n}\n\nexport function webProxyConfigurationSerializer(item: WebProxyConfiguration): any {\n return {\n connectionUri: item[\"connectionUri\"],\n port: item[\"port\"],\n bypassList: !item[\"bypassList\"]\n ? item[\"bypassList\"]\n : item[\"bypassList\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function webProxyConfigurationDeserializer(item: any): WebProxyConfiguration {\n return {\n connectionUri: item[\"connectionUri\"],\n port: item[\"port\"],\n bypassList: !item[\"bypassList\"]\n ? item[\"bypassList\"]\n : item[\"bypassList\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** Time configuration. */\nexport interface TimeConfiguration {\n /** Primary NTP server. */\n primaryTimeServer?: string;\n /** Secondary NTP server. */\n secondaryTimeServer?: string;\n /** Time zone. */\n timeZone?: string;\n}\n\nexport function timeConfigurationSerializer(item: TimeConfiguration): any {\n return {\n primaryTimeServer: item[\"primaryTimeServer\"],\n secondaryTimeServer: item[\"secondaryTimeServer\"],\n timeZone: item[\"timeZone\"],\n };\n}\n\nexport function timeConfigurationDeserializer(item: any): TimeConfiguration {\n return {\n primaryTimeServer: item[\"primaryTimeServer\"],\n secondaryTimeServer: item[\"secondaryTimeServer\"],\n timeZone: item[\"timeZone\"],\n };\n}\n\n/** Storage configuration. */\nexport interface StorageConfiguration {\n /** Partition size. */\n partitionSize?: string;\n}\n\nexport function storageConfigurationSerializer(item: StorageConfiguration): any {\n return { partitionSize: item[\"partitionSize\"] };\n}\n\nexport function storageConfigurationDeserializer(item: any): StorageConfiguration {\n return {\n partitionSize: item[\"partitionSize\"],\n };\n}\n\n/** Details for ownership voucher. */\nexport interface OwnershipVoucherDetails {\n /** Ownership voucher in base64 encoded format */\n ownershipVoucher: string;\n /** Owner key type */\n ownerKeyType: OwnerKeyType;\n /** Ownership Voucher Validation Details */\n readonly validationDetails?: OwnershipVoucherValidationDetails;\n}\n\nexport function ownershipVoucherDetailsSerializer(item: OwnershipVoucherDetails): any {\n return { ownershipVoucher: item[\"ownershipVoucher\"], ownerKeyType: item[\"ownerKeyType\"] };\n}\n\nexport function ownershipVoucherDetailsDeserializer(item: any): OwnershipVoucherDetails {\n return {\n ownershipVoucher: item[\"ownershipVoucher\"],\n ownerKeyType: item[\"ownerKeyType\"],\n validationDetails: !item[\"validationDetails\"]\n ? item[\"validationDetails\"]\n : ownershipVoucherValidationDetailsDeserializer(item[\"validationDetails\"]),\n };\n}\n\n/** Type of owner key in the voucher */\nexport enum KnownOwnerKeyType {\n /** Owner is Microsoft managed key */\n MicrosoftManaged = \"MicrosoftManaged\",\n}\n\n/**\n * Type of owner key in the voucher \\\n * {@link KnownOwnerKeyType} can be used interchangeably with OwnerKeyType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **MicrosoftManaged**: Owner is Microsoft managed key\n */\nexport type OwnerKeyType = string;\n\n/** Ownership Voucher Validation Details */\nexport interface OwnershipVoucherValidationDetails {\n /** The ownership voucher validation status. */\n validationStatus?: OwnershipVoucherValidationStatus;\n /** Serial number of the device. */\n serialNumber?: string;\n /** FDO guid of the Ownership Voucher. */\n id?: string;\n /** Name of the manufacturer. */\n manufacturer?: string;\n /** Name of the model. */\n modelName?: string;\n /** Version of the Ownership Voucher format */\n version?: string;\n /** Azure Machine Id of the Ownership voucher */\n azureMachineId?: string;\n /** Error details if the validation failed. */\n error?: ErrorDetail;\n}\n\nexport function ownershipVoucherValidationDetailsDeserializer(\n item: any,\n): OwnershipVoucherValidationDetails {\n return {\n validationStatus: item[\"validationStatus\"],\n serialNumber: item[\"serialNumber\"],\n id: item[\"id\"],\n manufacturer: item[\"manufacturer\"],\n modelName: item[\"modelName\"],\n version: item[\"version\"],\n azureMachineId: item[\"azureMachineId\"],\n error: !item[\"error\"] ? item[\"error\"] : errorDetailDeserializer(item[\"error\"]),\n };\n}\n\n/** Ownership Voucher validation Status. */\nexport enum KnownOwnershipVoucherValidationStatus {\n /** Voucher evaluated as valid. */\n Valid = \"Valid\",\n /** Voucher evaluated as invalid. */\n Invalid = \"Invalid\",\n}\n\n/**\n * Ownership Voucher validation Status. \\\n * {@link KnownOwnershipVoucherValidationStatus} can be used interchangeably with OwnershipVoucherValidationStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Valid**: Voucher evaluated as valid. \\\n * **Invalid**: Voucher evaluated as invalid.\n */\nexport type OwnershipVoucherValidationStatus = string;\n\n/** Details for device provisioning. */\nexport interface ProvisioningDetails {\n /** Operating system profile. */\n osProfile: OsProvisionProfile;\n /** User configuration. */\n userDetails?: UserDetails[];\n}\n\nexport function provisioningDetailsSerializer(item: ProvisioningDetails): any {\n return {\n osProfile: osProvisionProfileSerializer(item[\"osProfile\"]),\n userDetails: !item[\"userDetails\"]\n ? item[\"userDetails\"]\n : userDetailsArraySerializer(item[\"userDetails\"]),\n };\n}\n\nexport function provisioningDetailsDeserializer(item: any): ProvisioningDetails {\n return {\n osProfile: osProvisionProfileDeserializer(item[\"osProfile\"]),\n userDetails: !item[\"userDetails\"]\n ? item[\"userDetails\"]\n : userDetailsArrayDeserializer(item[\"userDetails\"]),\n };\n}\n\n/** Operating system profile. */\nexport interface OsProvisionProfile {\n /** Name of the operating system. */\n osName?: string;\n /** Type of the operating system. */\n osType?: string;\n /** Version of the operating system. */\n osVersion?: string;\n /** Location of the operating system image. */\n osImageLocation?: string;\n /** Validated Solution Recipe version to be used for the job */\n vsrVersion?: string;\n /** Hash of the OS package downloaded */\n imageHash?: string;\n /** GPG Public Key used for package verification */\n gpgPubKey?: string;\n /** Operation sub type of OS Provisioning */\n operationType?: OSOperationType;\n}\n\nexport function osProvisionProfileSerializer(item: OsProvisionProfile): any {\n return {\n osName: item[\"osName\"],\n osType: item[\"osType\"],\n osVersion: item[\"osVersion\"],\n osImageLocation: item[\"osImageLocation\"],\n vsrVersion: item[\"vsrVersion\"],\n imageHash: item[\"imageHash\"],\n gpgPubKey: item[\"gpgPubKey\"],\n operationType: item[\"operationType\"],\n };\n}\n\nexport function osProvisionProfileDeserializer(item: any): OsProvisionProfile {\n return {\n osName: item[\"osName\"],\n osType: item[\"osType\"],\n osVersion: item[\"osVersion\"],\n osImageLocation: item[\"osImageLocation\"],\n vsrVersion: item[\"vsrVersion\"],\n imageHash: item[\"imageHash\"],\n gpgPubKey: item[\"gpgPubKey\"],\n operationType: item[\"operationType\"],\n };\n}\n\n/** OS Provision Operation type */\nexport enum KnownOSOperationType {\n /** OS Provisioning operation */\n Provision = \"Provision\",\n /** OS Update operation */\n Update = \"Update\",\n /** OS ReImage operation */\n ReImage = \"ReImage\",\n}\n\n/**\n * OS Provision Operation type \\\n * {@link KnownOSOperationType} can be used interchangeably with OSOperationType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Provision**: OS Provisioning operation \\\n * **Update**: OS Update operation \\\n * **ReImage**: OS ReImage operation\n */\nexport type OSOperationType = string;\n\nexport function userDetailsArraySerializer(result: Array<UserDetails>): any[] {\n return result.map((item) => {\n return userDetailsSerializer(item);\n });\n}\n\nexport function userDetailsArrayDeserializer(result: Array<UserDetails>): any[] {\n return result.map((item) => {\n return userDetailsDeserializer(item);\n });\n}\n\n/** User configuration. */\nexport interface UserDetails {\n /** Name of the user. */\n userName: string;\n /** Type of the secret used for authentication. */\n secretType: SecretType;\n /** Location of the secret used for authentication. */\n secretLocation?: string;\n /** SSH Public Key for the user. */\n sshPubKey?: string[];\n}\n\nexport function userDetailsSerializer(item: UserDetails): any {\n return {\n userName: item[\"userName\"],\n secretType: item[\"secretType\"],\n secretLocation: item[\"secretLocation\"],\n sshPubKey: !item[\"sshPubKey\"]\n ? item[\"sshPubKey\"]\n : item[\"sshPubKey\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function userDetailsDeserializer(item: any): UserDetails {\n return {\n userName: item[\"userName\"],\n secretType: item[\"secretType\"],\n secretLocation: item[\"secretLocation\"],\n sshPubKey: !item[\"sshPubKey\"]\n ? item[\"sshPubKey\"]\n : item[\"sshPubKey\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** Type of secret used for authentication. */\nexport enum KnownSecretType {\n /** Key Vault based authentication */\n KeyVault = \"KeyVault\",\n /** SSH Public Key based authentication */\n SshPubKey = \"SshPubKey\",\n}\n\n/**\n * Type of secret used for authentication. \\\n * {@link KnownSecretType} can be used interchangeably with SecretType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **KeyVault**: Key Vault based authentication \\\n * **SshPubKey**: SSH Public Key based authentication\n */\nexport type SecretType = string;\n\n/** OS State */\nexport enum KnownEdgeMachineState {\n /** Created when EdgeMachine resource created */\n Created = \"Created\",\n /** EdgeMachine state during device discovery and registration */\n Registering = \"Registering\",\n /** EdgeMachine state when machine configured with restricted OS and not provisioned to deploy workloads */\n Unpurposed = \"Unpurposed\",\n /** EdgeMachine state when transitioning from initial OS to target OS */\n Transitioning = \"Transitioning\",\n /** EdgeMachine state when machine configured with target OS to deploy workloads */\n Purposed = \"Purposed\",\n /** EdgeMachine state when OS updates are in-progress */\n Updating = \"Updating\",\n /** EdgeMachine state when transitioning from target OS to restricted OS */\n Resetting = \"Resetting\",\n /** EdgeMachine failed state and only option to recover is to re-provisioning machine */\n Failed = \"Failed\",\n /** Preparing EdgeMachine */\n Preparing = \"Preparing\",\n}\n\n/**\n * OS State \\\n * {@link KnownEdgeMachineState} can be used interchangeably with EdgeMachineState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Created**: Created when EdgeMachine resource created \\\n * **Registering**: EdgeMachine state during device discovery and registration \\\n * **Unpurposed**: EdgeMachine state when machine configured with restricted OS and not provisioned to deploy workloads \\\n * **Transitioning**: EdgeMachine state when transitioning from initial OS to target OS \\\n * **Purposed**: EdgeMachine state when machine configured with target OS to deploy workloads \\\n * **Updating**: EdgeMachine state when OS updates are in-progress \\\n * **Resetting**: EdgeMachine state when transitioning from target OS to restricted OS \\\n * **Failed**: EdgeMachine failed state and only option to recover is to re-provisioning machine \\\n * **Preparing**: Preparing EdgeMachine\n */\nexport type EdgeMachineState = string;\n\n/** Overall connectivity status for the machine resource. */\nexport enum KnownEdgeMachineConnectivityStatus {\n /** The connectivity status of the machine resource is not specified. */\n NotSpecified = \"NotSpecified\",\n /** The machine resource is disconnected. */\n Disconnected = \"Disconnected\",\n /** The machine resource is connected. */\n Connected = \"Connected\",\n}\n\n/**\n * Overall connectivity status for the machine resource. \\\n * {@link KnownEdgeMachineConnectivityStatus} can be used interchangeably with EdgeMachineConnectivityStatus,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **NotSpecified**: The connectivity status of the machine resource is not specified. \\\n * **Disconnected**: The machine resource is disconnected. \\\n * **Connected**: The machine resource is connected.\n */\nexport type EdgeMachineConnectivityStatus = string;\n\n/** Reported properties for edge machine. */\nexport interface EdgeMachineReportedProperties {\n /** Last time data reported. */\n readonly lastUpdated?: Date;\n /** Network details for edge machine. */\n readonly networkProfile?: EdgeMachineNetworkProfile;\n /** OS Properties for edge machine. */\n readonly osProfile?: OsProfile;\n /** Hardware related information for edge machine. */\n readonly hardwareProfile?: HardwareProfile;\n /** Storage related information for edge machine. */\n readonly storageProfile?: StorageProfile;\n /** Solution builder extension (SBE) deployment package information. */\n readonly sbeDeploymentPackageInfo?: SbeDeploymentPackageInfo;\n /** Extension details for edge machine. */\n readonly extensionProfile?: ExtensionProfile;\n}\n\nexport function edgeMachineReportedPropertiesDeserializer(\n item: any,\n): EdgeMachineReportedProperties {\n return {\n lastUpdated: !item[\"lastUpdated\"] ? item[\"lastUpdated\"] : new Date(item[\"lastUpdated\"]),\n networkProfile: !item[\"networkProfile\"]\n ? item[\"networkProfile\"]\n : edgeMachineNetworkProfileDeserializer(item[\"networkProfile\"]),\n osProfile: !item[\"osProfile\"] ? item[\"osProfile\"] : osProfileDeserializer(item[\"osProfile\"]),\n hardwareProfile: !item[\"hardwareProfile\"]\n ? item[\"hardwareProfile\"]\n : hardwareProfileDeserializer(item[\"hardwareProfile\"]),\n storageProfile: !item[\"storageProfile\"]\n ? item[\"storageProfile\"]\n : storageProfileDeserializer(item[\"storageProfile\"]),\n sbeDeploymentPackageInfo: !item[\"sbeDeploymentPackageInfo\"]\n ? item[\"sbeDeploymentPackageInfo\"]\n : sbeDeploymentPackageInfoDeserializer(item[\"sbeDeploymentPackageInfo\"]),\n extensionProfile: !item[\"extensionProfile\"]\n ? item[\"extensionProfile\"]\n : extensionProfileDeserializer(item[\"extensionProfile\"]),\n };\n}\n\n/** NetworkProfile of edge machine. */\nexport interface EdgeMachineNetworkProfile {\n /** List of Network Interface Card (NIC) Details of edge machine. */\n readonly nicDetails?: EdgeMachineNicDetail[];\n /** List of switch Details of edge machine. */\n readonly switchDetails?: SwitchDetail[];\n}\n\nexport function edgeMachineNetworkProfileDeserializer(item: any): EdgeMachineNetworkProfile {\n return {\n nicDetails: !item[\"nicDetails\"]\n ? item[\"nicDetails\"]\n : edgeMachineNicDetailArrayDeserializer(item[\"nicDetails\"]),\n switchDetails: !item[\"switchDetails\"]\n ? item[\"switchDetails\"]\n : switchDetailArrayDeserializer(item[\"switchDetails\"]),\n };\n}\n\nexport function edgeMachineNicDetailArrayDeserializer(result: Array<EdgeMachineNicDetail>): any[] {\n return result.map((item) => {\n return edgeMachineNicDetailDeserializer(item);\n });\n}\n\n/** Network Interface Card (NIC) Details of edge machine. */\nexport interface EdgeMachineNicDetail {\n /** Adapter Name of NIC */\n readonly adapterName?: string;\n /** Interface Description of NIC */\n readonly interfaceDescription?: string;\n /** Component Id of NIC */\n readonly componentId?: string;\n /** Driver Version of NIC */\n readonly driverVersion?: string;\n /** Subnet Mask of NIC */\n readonly ip4Address?: string;\n /** Subnet Mask of NIC */\n readonly subnetMask?: string;\n /** Default Gateway of NIC */\n readonly defaultGateway?: string;\n /** DNS Servers for NIC */\n readonly dnsServers?: string[];\n /** Default Isolation of Management NIC */\n readonly defaultIsolationId?: string;\n /** MAC address information of NIC. */\n readonly macAddress?: string;\n /** The slot attached to the NIC. */\n readonly slot?: string;\n /** The switch attached to the NIC, if any. */\n readonly switchName?: string;\n /** The type of NIC, physical, virtual, management. */\n readonly nicType?: string;\n /** The VLAN ID of the physical NIC. */\n readonly vlanId?: string;\n /** The status of NIC, up, disconnected. */\n readonly nicStatus?: string;\n /** Describes the RDMA capability of the network adapter. */\n readonly rdmaCapability?: RdmaCapability;\n}\n\nexport function edgeMachineNicDetailDeserializer(item: any): EdgeMachineNicDetail {\n return {\n adapterName: item[\"adapterName\"],\n interfaceDescription: item[\"interfaceDescription\"],\n componentId: item[\"componentId\"],\n driverVersion: item[\"driverVersion\"],\n ip4Address: item[\"ip4Address\"],\n subnetMask: item[\"subnetMask\"],\n defaultGateway: item[\"defaultGateway\"],\n dnsServers: !item[\"dnsServers\"]\n ? item[\"dnsServers\"]\n : item[\"dnsServers\"].map((p: any) => {\n return p;\n }),\n defaultIsolationId: item[\"defaultIsolationId\"],\n macAddress: item[\"macAddress\"],\n slot: item[\"slot\"],\n switchName: item[\"switchName\"],\n nicType: item[\"nicType\"],\n vlanId: item[\"vlanId\"],\n nicStatus: item[\"nicStatus\"],\n rdmaCapability: item[\"rdmaCapability\"],\n };\n}\n\n/** OS configurations for HCI device. */\nexport interface OsProfile {\n /** The boot type of the device. e.g. UEFI, Legacy etc */\n readonly bootType?: string;\n /** Version of assembly present on device */\n readonly assemblyVersion?: string;\n /** OS type (“windows\", “linux”) */\n readonly osType?: string;\n /** OS SKU (e.g., “ Microsoft Azure Linux ROE“, “Azure Stack HCI\", \"Microsoft Azure Linux 3.0\") */\n readonly osSku?: string;\n /** OS Version */\n readonly osVersion?: string;\n /** OS Build Number */\n readonly buildNumber?: string;\n /** OS Base Image Version */\n readonly baseImageVersion?: string;\n /** OS Image Version */\n readonly imageVersion?: string;\n}\n\nexport function osProfileDeserializer(item: any): OsProfile {\n return {\n bootType: item[\"bootType\"],\n assemblyVersion: item[\"assemblyVersion\"],\n osType: item[\"osType\"],\n osSku: item[\"osSku\"],\n osVersion: item[\"osVersion\"],\n buildNumber: item[\"buildNumber\"],\n baseImageVersion: item[\"baseImageVersion\"],\n imageVersion: item[\"imageVersion\"],\n };\n}\n\n/** Hardware profile for the machine */\nexport interface HardwareProfile {\n /** Number of cpu cores in the machine */\n readonly cpuCores?: number;\n /** Number of cpu sockets in the machine */\n readonly cpuSockets?: number;\n /** Memory capacity of the machine */\n readonly memoryCapacityInGb?: number;\n /** Model info of the machine */\n readonly model?: string;\n /** manufacturer info of the machine */\n readonly manufacturer?: string;\n /** Serial number of the machine */\n readonly serialNumber?: string;\n /** Process type of the machine */\n readonly processorType?: string;\n}\n\nexport function hardwareProfileDeserializer(item: any): HardwareProfile {\n return {\n cpuCores: item[\"cpuCores\"],\n cpuSockets: item[\"cpuSockets\"],\n memoryCapacityInGb: item[\"memoryCapacityInGb\"],\n model: item[\"model\"],\n manufacturer: item[\"manufacturer\"],\n serialNumber: item[\"serialNumber\"],\n processorType: item[\"processorType\"],\n };\n}\n\n/** StorageProfile of edge machine. */\nexport interface StorageProfile {\n /** Number of storage disks in the device with $CanPool as true. */\n readonly poolableDisksCount?: number;\n}\n\nexport function storageProfileDeserializer(item: any): StorageProfile {\n return {\n poolableDisksCount: item[\"poolableDisksCount\"],\n };\n}\n\nexport function operationDetailArrayDeserializer(result: Array<OperationDetail>): any[] {\n return result.map((item) => {\n return operationDetailDeserializer(item);\n });\n}\n\n/** operation detail. */\nexport interface OperationDetail {\n /** operation name. */\n readonly name?: string;\n /** operation id. */\n readonly id?: string;\n /** operation type. */\n readonly type?: string;\n /** operation resource id. */\n readonly resourceId?: string;\n /** operation description. */\n readonly description?: string;\n /** operation status. */\n readonly status?: string;\n /** error details. */\n readonly error?: ErrorDetail;\n}\n\nexport function operationDetailDeserializer(item: any): OperationDetail {\n return {\n name: item[\"name\"],\n id: item[\"id\"],\n type: item[\"type\"],\n resourceId: item[\"resourceId\"],\n description: item[\"description\"],\n status: item[\"status\"],\n error: !item[\"error\"] ? item[\"error\"] : errorDetailDeserializer(item[\"error\"]),\n };\n}\n\n/** Model for patching edge machine. */\nexport interface EdgeMachinePatch {\n /** Resource tags. */\n tags?: Record<string, string>;\n /** The managed service identities assigned to this resource. */\n identity?: ManagedServiceIdentity;\n}\n\nexport function edgeMachinePatchSerializer(item: EdgeMachinePatch): any {\n return {\n tags: item[\"tags\"],\n identity: !item[\"identity\"]\n ? item[\"identity\"]\n : managedServiceIdentitySerializer(item[\"identity\"]),\n };\n}\n\n/** The response of a EdgeMachine list operation. */\nexport interface _EdgeMachineListResult {\n /** The EdgeMachine items on this page */\n value: EdgeMachine[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _edgeMachineListResultDeserializer(item: any): _EdgeMachineListResult {\n return {\n value: edgeMachineArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function edgeMachineArraySerializer(result: Array<EdgeMachine>): any[] {\n return result.map((item) => {\n return edgeMachineSerializer(item);\n });\n}\n\nexport function edgeMachineArrayDeserializer(result: Array<EdgeMachine>): any[] {\n return result.map((item) => {\n return edgeMachineDeserializer(item);\n });\n}\n\n/** Cluster Jobs resource */\nexport interface EdgeMachineJob extends ProxyResource {\n /** The resource-specific properties for this resource. */\n properties?: EdgeMachineJobPropertiesUnion;\n}\n\nexport function edgeMachineJobSerializer(item: EdgeMachineJob): any {\n return {\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : edgeMachineJobPropertiesUnionSerializer(item[\"properties\"]),\n };\n}\n\nexport function edgeMachineJobDeserializer(item: any): EdgeMachineJob {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : edgeMachineJobPropertiesUnionDeserializer(item[\"properties\"]),\n };\n}\n\n/** EdgeMachine Job properties */\nexport interface EdgeMachineJobProperties {\n /** Job Type to support polymorphic resource. */\n /** The discriminator possible values: RemoteSupport, ProvisionOs, DownloadOs, CollectLog */\n jobType: EdgeMachineJobType;\n /** Deployment mode to trigger job. */\n deploymentMode?: DeploymentMode;\n /** Job provisioning state */\n readonly provisioningState?: ProvisioningState;\n /** Unique, immutable job id. */\n readonly jobId?: string;\n /** The UTC date and time at which the job started. */\n readonly startTimeUtc?: Date;\n /** The UTC date and time at which the job completed. */\n readonly endTimeUtc?: Date;\n /** Status of Edge device job. */\n readonly status?: JobStatus;\n /** error details. */\n readonly error?: ErrorDetail;\n}\n\nexport function edgeMachineJobPropertiesSerializer(item: EdgeMachineJobProperties): any {\n return { jobType: item[\"jobType\"], deploymentMode: item[\"deploymentMode\"] };\n}\n\nexport function edgeMachineJobPropertiesDeserializer(item: any): EdgeMachineJobProperties {\n return {\n jobType: item[\"jobType\"],\n deploymentMode: item[\"deploymentMode\"],\n provisioningState: item[\"provisioningState\"],\n jobId: item[\"jobId\"],\n startTimeUtc: !item[\"startTimeUtc\"] ? item[\"startTimeUtc\"] : new Date(item[\"startTimeUtc\"]),\n endTimeUtc: !item[\"endTimeUtc\"] ? item[\"endTimeUtc\"] : new Date(item[\"endTimeUtc\"]),\n status: item[\"status\"],\n error: !item[\"error\"] ? item[\"error\"] : errorDetailDeserializer(item[\"error\"]),\n };\n}\n\n/** Alias for EdgeMachineJobPropertiesUnion */\nexport type EdgeMachineJobPropertiesUnion =\n | EdgeMachineRemoteSupportJobProperties\n | ProvisionOsJobProperties\n | DownloadOsJobProperties\n | EdgeMachineCollectLogJobProperties\n | EdgeMachineJobProperties;\n\nexport function edgeMachineJobPropertiesUnionSerializer(item: EdgeMachineJobPropertiesUnion): any {\n switch (item.jobType) {\n case \"RemoteSupport\":\n return edgeMachineRemoteSupportJobPropertiesSerializer(\n item as EdgeMachineRemoteSupportJobProperties,\n );\n\n case \"ProvisionOs\":\n return provisionOsJobPropertiesSerializer(item as ProvisionOsJobProperties);\n\n case \"DownloadOs\":\n return downloadOsJobPropertiesSerializer(item as DownloadOsJobProperties);\n\n case \"CollectLog\":\n return edgeMachineCollectLogJobPropertiesSerializer(\n item as EdgeMachineCollectLogJobProperties,\n );\n\n default:\n return edgeMachineJobPropertiesSerializer(item);\n }\n}\n\nexport function edgeMachineJobPropertiesUnionDeserializer(\n item: any,\n): EdgeMachineJobPropertiesUnion {\n switch (item[\"jobType\"]) {\n case \"RemoteSupport\":\n return edgeMachineRemoteSupportJobPropertiesDeserializer(\n item as EdgeMachineRemoteSupportJobProperties,\n );\n\n case \"ProvisionOs\":\n return provisionOsJobPropertiesDeserializer(item as ProvisionOsJobProperties);\n\n case \"DownloadOs\":\n return downloadOsJobPropertiesDeserializer(item as DownloadOsJobProperties);\n\n case \"CollectLog\":\n return edgeMachineCollectLogJobPropertiesDeserializer(\n item as EdgeMachineCollectLogJobProperties,\n );\n\n default:\n return edgeMachineJobPropertiesDeserializer(item);\n }\n}\n\n/** Job Type supported. */\nexport enum KnownEdgeMachineJobType {\n /** Job to collect logs from the device. */\n CollectLog = \"CollectLog\",\n /** Job to provide remote support to the device. */\n RemoteSupport = \"RemoteSupport\",\n /** Job to provision operating system in the device. */\n ProvisionOs = \"ProvisionOs\",\n /** Job to download OS packages on to the device */\n DownloadOs = \"DownloadOs\",\n}\n\n/**\n * Job Type supported. \\\n * {@link KnownEdgeMachineJobType} can be used interchangeably with EdgeMachineJobType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **CollectLog**: Job to collect logs from the device. \\\n * **RemoteSupport**: Job to provide remote support to the device. \\\n * **ProvisionOs**: Job to provision operating system in the device. \\\n * **DownloadOs**: Job to download OS packages on to the device\n */\nexport type EdgeMachineJobType = string;\n\n/** Properties for adding a server in the cluster. */\nexport interface EdgeMachineRemoteSupportJobProperties extends EdgeMachineJobProperties {\n /** Job Type to support polymorphic resource. */\n jobType: \"RemoteSupport\";\n /** Remote support access level. */\n accessLevel: RemoteSupportAccessLevel;\n /** Remote support expiration timestamp. */\n expirationTimestamp: Date;\n /** Remote support type. */\n type: RemoteSupportType;\n /** log collection job reported properties. */\n readonly reportedProperties?: EdgeMachineRemoteSupportJobReportedProperties;\n}\n\nexport function edgeMachineRemoteSupportJobPropertiesSerializer(\n item: EdgeMachineRemoteSupportJobProperties,\n): any {\n return {\n jobType: item[\"jobType\"],\n deploymentMode: item[\"deploymentMode\"],\n accessLevel: item[\"accessLevel\"],\n expirationTimestamp: item[\"expirationTimestamp\"].toISOString(),\n type: item[\"type\"],\n };\n}\n\nexport function edgeMachineRemoteSupportJobPropertiesDeserializer(\n item: any,\n): EdgeMachineRemoteSupportJobProperties {\n return {\n jobType: item[\"jobType\"],\n deploymentMode: item[\"deploymentMode\"],\n provisioningState: item[\"provisioningState\"],\n jobId: item[\"jobId\"],\n startTimeUtc: !item[\"startTimeUtc\"] ? item[\"startTimeUtc\"] : new Date(item[\"startTimeUtc\"]),\n endTimeUtc: !item[\"endTimeUtc\"] ? item[\"endTimeUtc\"] : new Date(item[\"endTimeUtc\"]),\n status: item[\"status\"],\n error: !item[\"error\"] ? item[\"error\"] : errorDetailDeserializer(item[\"error\"]),\n accessLevel: item[\"accessLevel\"],\n expirationTimestamp: new Date(item[\"expirationTimestamp\"]),\n type: item[\"type\"],\n reportedProperties: !item[\"reportedProperties\"]\n ? item[\"reportedProperties\"]\n : edgeMachineRemoteSupportJobReportedPropertiesDeserializer(item[\"reportedProperties\"]),\n };\n}\n\n/** Represents the reported properties of a remote support job. */\nexport interface EdgeMachineRemoteSupportJobReportedProperties {\n /** The percentage of the job that is complete. */\n readonly percentComplete?: number;\n /** Validation status of job. */\n readonly validationStatus?: EceActionStatus;\n /** Deployment status of job. */\n readonly deploymentStatus?: EceActionStatus;\n /** Optional settings for configuring the node for remote support. */\n readonly nodeSettings?: EdgeMachineRemoteSupportNodeSettings;\n /** Details of the remote support session. */\n readonly sessionDetails?: RemoteSupportSession[];\n}\n\nexport function edgeMachineRemoteSupportJobReportedPropertiesDeserializer(\n item: any,\n): EdgeMachineRemoteSupportJobReportedProperties {\n return {\n percentComplete: item[\"percentComplete\"],\n validationStatus: !item[\"validationStatus\"]\n ? item[\"validationStatus\"]\n : eceActionStatusDeserializer(item[\"validationStatus\"]),\n deploymentStatus: !item[\"deploymentStatus\"]\n ? item[\"deploymentStatus\"]\n : eceActionStatusDeserializer(item[\"deploymentStatus\"]),\n nodeSettings: !item[\"nodeSettings\"]\n ? item[\"nodeSettings\"]\n : edgeMachineRemoteSupportNodeSettingsDeserializer(item[\"nodeSettings\"]),\n sessionDetails: !item[\"sessionDetails\"]\n ? item[\"sessionDetails\"]\n : remoteSupportSessionArrayDeserializer(item[\"sessionDetails\"]),\n };\n}\n\n/** Represents the settings of a remote support node. */\nexport interface EdgeMachineRemoteSupportNodeSettings {\n /** The state of the remote support node. */\n readonly state?: string;\n /** The timestamp when the node settings were created, in UTC. */\n readonly createdAt?: Date;\n /** The timestamp when the node settings were last updated, in UTC. */\n readonly updatedAt?: Date;\n /** The current connection status of the remote support session. */\n readonly connectionStatus?: string;\n /** The error message, if any, from the last connection attempt. */\n readonly connectionErrorMessage?: string;\n}\n\nexport function edgeMachineRemoteSupportNodeSettingsDeserializer(\n item: any,\n): EdgeMachineRemoteSupportNodeSettings {\n return {\n state: item[\"state\"],\n createdAt: !item[\"createdAt\"] ? item[\"createdAt\"] : new Date(item[\"createdAt\"]),\n updatedAt: !item[\"updatedAt\"] ? item[\"updatedAt\"] : new Date(item[\"updatedAt\"]),\n connectionStatus: item[\"connectionStatus\"],\n connectionErrorMessage: item[\"connectionErrorMessage\"],\n };\n}\n\n/** Represents the properties of an Azure Linux restricted operating environment Provision Os job. */\nexport interface ProvisionOsJobProperties extends EdgeMachineJobProperties {\n /** Job Type to support polymorphic resource. */\n jobType: \"ProvisionOs\";\n /** Os Provisioning request. */\n provisioningRequest: ProvisioningRequest;\n /** Reported Properties for Provision Os job */\n reportedProperties?: ProvisionOsReportedProperties;\n}\n\nexport function provisionOsJobPropertiesSerializer(item: ProvisionOsJobProperties): any {\n return {\n jobType: item[\"jobType\"],\n deploymentMode: item[\"deploymentMode\"],\n provisioningRequest: provisioningRequestSerializer(item[\"provisioningRequest\"]),\n reportedProperties: !item[\"reportedProperties\"]\n ? item[\"reportedProperties\"]\n : provisionOsReportedPropertiesSerializer(item[\"reportedProperties\"]),\n };\n}\n\nexport function provisionOsJobPropertiesDeserializer(item: any): ProvisionOsJobProperties {\n return {\n jobType: item[\"jobType\"],\n deploymentMode: item[\"deploymentMode\"],\n provisioningState: item[\"provisioningState\"],\n jobId: item[\"jobId\"],\n startTimeUtc: !item[\"startTimeUtc\"] ? item[\"startTimeUtc\"] : new Date(item[\"startTimeUtc\"]),\n endTimeUtc: !item[\"endTimeUtc\"] ? item[\"endTimeUtc\"] : new Date(item[\"endTimeUtc\"]),\n status: item[\"status\"],\n error: !item[\"error\"] ? item[\"error\"] : errorDetailDeserializer(item[\"error\"]),\n provisioningRequest: provisioningRequestDeserializer(item[\"provisioningRequest\"]),\n reportedProperties: !item[\"reportedProperties\"]\n ? item[\"reportedProperties\"]\n : provisionOsReportedPropertiesDeserializer(item[\"reportedProperties\"]),\n };\n}\n\n/** Represents a provisioning request. */\nexport interface ProvisioningRequest {\n /** Target operating system to support polymorphic resource. */\n target: ProvisioningOsType;\n /** Operating system profile. */\n osProfile: OsProvisionProfile;\n /** User configuration. */\n userDetails?: UserDetails[];\n /** Onboarding configuration. */\n onboardingConfiguration?: OnboardingConfiguration;\n /** Device configuration. */\n deviceConfiguration?: TargetDeviceConfiguration;\n /** Base64 encoded custom configuration for CAPI to use */\n customConfiguration?: string;\n}\n\nexport function provisioningRequestSerializer(item: ProvisioningRequest): any {\n return {\n target: item[\"target\"],\n osProfile: osProvisionProfileSerializer(item[\"osProfile\"]),\n userDetails: !item[\"userDetails\"]\n ? item[\"userDetails\"]\n : userDetailsArraySerializer(item[\"userDetails\"]),\n onboardingConfiguration: !item[\"onboardingConfiguration\"]\n ? item[\"onboardingConfiguration\"]\n : onboardingConfigurationSerializer(item[\"onboardingConfiguration\"]),\n deviceConfiguration: !item[\"deviceConfiguration\"]\n ? item[\"deviceConfiguration\"]\n : targetDeviceConfigurationSerializer(item[\"deviceConfiguration\"]),\n customConfiguration: item[\"customConfiguration\"],\n };\n}\n\nexport function provisioningRequestDeserializer(item: any): ProvisioningRequest {\n return {\n target: item[\"target\"],\n osProfile: osProvisionProfileDeserializer(item[\"osProfile\"]),\n userDetails: !item[\"userDetails\"]\n ? item[\"userDetails\"]\n : userDetailsArrayDeserializer(item[\"userDetails\"]),\n onboardingConfiguration: !item[\"onboardingConfiguration\"]\n ? item[\"onboardingConfiguration\"]\n : onboardingConfigurationDeserializer(item[\"onboardingConfiguration\"]),\n deviceConfiguration: !item[\"deviceConfiguration\"]\n ? item[\"deviceConfiguration\"]\n : targetDeviceConfigurationDeserializer(item[\"deviceConfiguration\"]),\n customConfiguration: item[\"customConfiguration\"],\n };\n}\n\n/** Represents the provisioning operating system type. */\nexport enum KnownProvisioningOsType {\n /** AzureLinux OS. */\n AzureLinux = \"AzureLinux\",\n /** HCI OS. */\n HCI = \"HCI\",\n}\n\n/**\n * Represents the provisioning operating system type. \\\n * {@link KnownProvisioningOsType} can be used interchangeably with ProvisioningOsType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **AzureLinux**: AzureLinux OS. \\\n * **HCI**: HCI OS.\n */\nexport type ProvisioningOsType = string;\n\n/** Onboarding configuration. */\nexport interface OnboardingConfiguration {\n /** Type of the onboarding resource to support polymorphic resource. */\n type?: OnboardingResourceType;\n /** Resource ID. */\n resourceId?: string;\n /** Location of the resource. */\n location?: string;\n /** Tenant ID of the resource. */\n tenantId?: string;\n /** Azure Arc virtual machine ID. */\n arcVirtualMachineId?: string;\n}\n\nexport function onboardingConfigurationSerializer(item: OnboardingConfiguration): any {\n return {\n type: item[\"type\"],\n resourceId: item[\"resourceId\"],\n location: item[\"location\"],\n tenantId: item[\"tenantId\"],\n arcVirtualMachineId: item[\"arcVirtualMachineId\"],\n };\n}\n\nexport function onboardingConfigurationDeserializer(item: any): OnboardingConfiguration {\n return {\n type: item[\"type\"],\n resourceId: item[\"resourceId\"],\n location: item[\"location\"],\n tenantId: item[\"tenantId\"],\n arcVirtualMachineId: item[\"arcVirtualMachineId\"],\n };\n}\n\n/** Onboarding resource type. */\nexport enum KnownOnboardingResourceType {\n /** Hybrid Compute Machine. */\n HybridComputeMachine = \"HybridComputeMachine\",\n}\n\n/**\n * Onboarding resource type. \\\n * {@link KnownOnboardingResourceType} can be used interchangeably with OnboardingResourceType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **HybridComputeMachine**: Hybrid Compute Machine.\n */\nexport type OnboardingResourceType = string;\n\n/** Reported Properties for Provision Os job */\nexport interface ProvisionOsReportedProperties {\n /** The percentage of the job that is complete. */\n readonly percentComplete?: number;\n /** Validation status of job. */\n readonly validationStatus?: EceActionStatus;\n /** Deployment status of job. */\n readonly deploymentStatus?: EceActionStatus;\n}\n\nexport function provisionOsReportedPropertiesSerializer(_item: ProvisionOsReportedProperties): any {\n return {};\n}\n\nexport function provisionOsReportedPropertiesDeserializer(\n item: any,\n): ProvisionOsReportedProperties {\n return {\n percentComplete: item[\"percentComplete\"],\n validationStatus: !item[\"validationStatus\"]\n ? item[\"validationStatus\"]\n : eceActionStatusDeserializer(item[\"validationStatus\"]),\n deploymentStatus: !item[\"deploymentStatus\"]\n ? item[\"deploymentStatus\"]\n : eceActionStatusDeserializer(item[\"deploymentStatus\"]),\n };\n}\n\n/** Represents the properties of Download Os job. */\nexport interface DownloadOsJobProperties extends EdgeMachineJobProperties {\n /** Job Type to support polymorphic resource. */\n jobType: \"DownloadOs\";\n /** Download OS request. */\n downloadRequest: DownloadRequest;\n /** Reported Properties for Download Os job */\n reportedProperties?: ProvisionOsReportedProperties;\n}\n\nexport function downloadOsJobPropertiesSerializer(item: DownloadOsJobProperties): any {\n return {\n jobType: item[\"jobType\"],\n deploymentMode: item[\"deploymentMode\"],\n downloadRequest: downloadRequestSerializer(item[\"downloadRequest\"]),\n reportedProperties: !item[\"reportedProperties\"]\n ? item[\"reportedProperties\"]\n : provisionOsReportedPropertiesSerializer(item[\"reportedProperties\"]),\n };\n}\n\nexport function downloadOsJobPropertiesDeserializer(item: any): DownloadOsJobProperties {\n return {\n jobType: item[\"jobType\"],\n deploymentMode: item[\"deploymentMode\"],\n provisioningState: item[\"provisioningState\"],\n jobId: item[\"jobId\"],\n startTimeUtc: !item[\"startTimeUtc\"] ? item[\"startTimeUtc\"] : new Date(item[\"startTimeUtc\"]),\n endTimeUtc: !item[\"endTimeUtc\"] ? item[\"endTimeUtc\"] : new Date(item[\"endTimeUtc\"]),\n status: item[\"status\"],\n error: !item[\"error\"] ? item[\"error\"] : errorDetailDeserializer(item[\"error\"]),\n downloadRequest: downloadRequestDeserializer(item[\"downloadRequest\"]),\n reportedProperties: !item[\"reportedProperties\"]\n ? item[\"reportedProperties\"]\n : provisionOsReportedPropertiesDeserializer(item[\"reportedProperties\"]),\n };\n}\n\n/** Download Request properties */\nexport interface DownloadRequest {\n /** Target operating system to support polymorphic resource. */\n target: ProvisioningOsType;\n /** Operating system profile. */\n osProfile: DownloadOsProfile;\n}\n\nexport function downloadRequestSerializer(item: DownloadRequest): any {\n return { target: item[\"target\"], osProfile: downloadOsProfileSerializer(item[\"osProfile\"]) };\n}\n\nexport function downloadRequestDeserializer(item: any): DownloadRequest {\n return {\n target: item[\"target\"],\n osProfile: downloadOsProfileDeserializer(item[\"osProfile\"]),\n };\n}\n\n/** Operating system profile. */\nexport interface DownloadOsProfile {\n /** Name of the operating system. */\n osName?: string;\n /** Type of the operating system. */\n osType?: string;\n /** Version of the operating system. */\n osVersion?: string;\n /** Location of the operating system image. */\n osImageLocation?: string;\n /** Validated Solution Recipe version to be used for the job */\n vsrVersion?: string;\n /** Hash of the OS package downloaded */\n imageHash?: string;\n /** GPG Public Key used for package verification */\n gpgPubKey?: string;\n}\n\nexport function downloadOsProfileSerializer(item: DownloadOsProfile): any {\n return {\n osName: item[\"osName\"],\n osType: item[\"osType\"],\n osVersion: item[\"osVersion\"],\n osImageLocation: item[\"osImageLocation\"],\n vsrVersion: item[\"vsrVersion\"],\n imageHash: item[\"imageHash\"],\n gpgPubKey: item[\"gpgPubKey\"],\n };\n}\n\nexport function downloadOsProfileDeserializer(item: any): DownloadOsProfile {\n return {\n osName: item[\"osName\"],\n osType: item[\"osType\"],\n osVersion: item[\"osVersion\"],\n osImageLocation: item[\"osImageLocation\"],\n vsrVersion: item[\"vsrVersion\"],\n imageHash: item[\"imageHash\"],\n gpgPubKey: item[\"gpgPubKey\"],\n };\n}\n\n/** Properties for pausing a server in the cluster. */\nexport interface EdgeMachineCollectLogJobProperties extends EdgeMachineJobProperties {\n /** ClusterJob Type to support polymorphic resource. */\n jobType: \"CollectLog\";\n /** From date for log collection. */\n fromDate: Date;\n /** To date for log collection. */\n toDate: Date;\n /** To date for log collection. */\n readonly lastLogGenerated?: Date;\n /** log collection job reported properties. */\n readonly reportedProperties?: EdgeMachineCollectLogJobReportedProperties;\n}\n\nexport function edgeMachineCollectLogJobPropertiesSerializer(\n item: EdgeMachineCollectLogJobProperties,\n): any {\n return {\n jobType: item[\"jobType\"],\n deploymentMode: item[\"deploymentMode\"],\n fromDate: item[\"fromDate\"].toISOString(),\n toDate: item[\"toDate\"].toISOString(),\n };\n}\n\nexport function edgeMachineCollectLogJobPropertiesDeserializer(\n item: any,\n): EdgeMachineCollectLogJobProperties {\n return {\n jobType: item[\"jobType\"],\n deploymentMode: item[\"deploymentMode\"],\n provisioningState: item[\"provisioningState\"],\n jobId: item[\"jobId\"],\n startTimeUtc: !item[\"startTimeUtc\"] ? item[\"startTimeUtc\"] : new Date(item[\"startTimeUtc\"]),\n endTimeUtc: !item[\"endTimeUtc\"] ? item[\"endTimeUtc\"] : new Date(item[\"endTimeUtc\"]),\n status: item[\"status\"],\n error: !item[\"error\"] ? item[\"error\"] : errorDetailDeserializer(item[\"error\"]),\n fromDate: new Date(item[\"fromDate\"]),\n toDate: new Date(item[\"toDate\"]),\n lastLogGenerated: !item[\"lastLogGenerated\"]\n ? item[\"lastLogGenerated\"]\n : new Date(item[\"lastLogGenerated\"]),\n reportedProperties: !item[\"reportedProperties\"]\n ? item[\"reportedProperties\"]\n : edgeMachineCollectLogJobReportedPropertiesDeserializer(item[\"reportedProperties\"]),\n };\n}\n\n/** Represents the reported properties of a log collection job. */\nexport interface EdgeMachineCollectLogJobReportedProperties {\n /** The percentage of the job that is complete. */\n readonly percentComplete?: number;\n /** Validation status of job. */\n readonly validationStatus?: EceActionStatus;\n /** Deployment status of job. */\n readonly deploymentStatus?: EceActionStatus;\n /** Details of the log collection session. */\n readonly logCollectionSessionDetails?: LogCollectionJobSession[];\n}\n\nexport function edgeMachineCollectLogJobReportedPropertiesDeserializer(\n item: any,\n): EdgeMachineCollectLogJobReportedProperties {\n return {\n percentComplete: item[\"percentComplete\"],\n validationStatus: !item[\"validationStatus\"]\n ? item[\"validationStatus\"]\n : eceActionStatusDeserializer(item[\"validationStatus\"]),\n deploymentStatus: !item[\"deploymentStatus\"]\n ? item[\"deploymentStatus\"]\n : eceActionStatusDeserializer(item[\"deploymentStatus\"]),\n logCollectionSessionDetails: !item[\"logCollectionSessionDetails\"]\n ? item[\"logCollectionSessionDetails\"]\n : logCollectionJobSessionArrayDeserializer(item[\"logCollectionSessionDetails\"]),\n };\n}\n\n/** The response of a EdgeMachineJob list operation. */\nexport interface _EdgeMachineJobListResult {\n /** The EdgeMachineJob items on this page */\n value: EdgeMachineJob[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _edgeMachineJobListResultDeserializer(item: any): _EdgeMachineJobListResult {\n return {\n value: edgeMachineJobArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function edgeMachineJobArraySerializer(result: Array<EdgeMachineJob>): any[] {\n return result.map((item) => {\n return edgeMachineJobSerializer(item);\n });\n}\n\nexport function edgeMachineJobArrayDeserializer(result: Array<EdgeMachineJob>): any[] {\n return result.map((item) => {\n return edgeMachineJobDeserializer(item);\n });\n}\n\n/** Validate Ownership Voucher Request */\nexport interface ValidateOwnershipVouchersRequest {\n /** Ownership Voucher Details. */\n ownershipVoucherDetails: OwnershipVoucherDetails[];\n}\n\nexport function validateOwnershipVouchersRequestSerializer(\n item: ValidateOwnershipVouchersRequest,\n): any {\n return {\n ownershipVoucherDetails: ownershipVoucherDetailsArraySerializer(\n item[\"ownershipVoucherDetails\"],\n ),\n };\n}\n\nexport function ownershipVoucherDetailsArraySerializer(\n result: Array<OwnershipVoucherDetails>,\n): any[] {\n return result.map((item) => {\n return ownershipVoucherDetailsSerializer(item);\n });\n}\n\nexport function ownershipVoucherDetailsArrayDeserializer(\n result: Array<OwnershipVoucherDetails>,\n): any[] {\n return result.map((item) => {\n return ownershipVoucherDetailsDeserializer(item);\n });\n}\n\n/** Validate Ownership Voucher Response */\nexport interface ValidateOwnershipVouchersResponse {\n /** Ownership Voucher Validation Details. */\n ownershipVoucherValidationDetails: OwnershipVoucherValidationDetails[];\n}\n\nexport function validateOwnershipVouchersResponseDeserializer(\n item: any,\n): ValidateOwnershipVouchersResponse {\n return {\n ownershipVoucherValidationDetails: ownershipVoucherValidationDetailsArrayDeserializer(\n item[\"ownershipVoucherValidationDetails\"],\n ),\n };\n}\n\nexport function ownershipVoucherValidationDetailsArrayDeserializer(\n result: Array<OwnershipVoucherValidationDetails>,\n): any[] {\n return result.map((item) => {\n return ownershipVoucherValidationDetailsDeserializer(item);\n });\n}\n\n/** Cluster Jobs resource */\nexport interface ClusterJob extends ProxyResource {\n /** The resource-specific properties for this resource. */\n properties?: ClusterJobPropertiesUnion;\n}\n\nexport function clusterJobSerializer(item: ClusterJob): any {\n return {\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : clusterJobPropertiesUnionSerializer(item[\"properties\"]),\n };\n}\n\nexport function clusterJobDeserializer(item: any): ClusterJob {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : clusterJobPropertiesUnionDeserializer(item[\"properties\"]),\n };\n}\n\n/** Cluster Job properties */\nexport interface ClusterJobProperties {\n /** Job Type to support polymorphic resource. */\n /** The discriminator possible values: ConfigureSdnIntegration, ConfigureCVM */\n jobType: HciJobType;\n /** Deployment mode to trigger job. */\n deploymentMode?: DeploymentMode;\n /** Job provisioning state */\n readonly provisioningState?: ProvisioningState;\n /** Unique, immutable job id. */\n readonly jobId?: string;\n /** The UTC date and time at which the job started. */\n readonly startTimeUtc?: Date;\n /** The UTC date and time at which the job completed. */\n readonly endTimeUtc?: Date;\n /** Status of Cluster job. */\n readonly status?: JobStatus;\n /** Reported properties for job */\n readonly reportedProperties?: JobReportedProperties;\n}\n\nexport function clusterJobPropertiesSerializer(item: ClusterJobProperties): any {\n return { jobType: item[\"jobType\"], deploymentMode: item[\"deploymentMode\"] };\n}\n\nexport function clusterJobPropertiesDeserializer(item: any): ClusterJobProperties {\n return {\n jobType: item[\"jobType\"],\n deploymentMode: item[\"deploymentMode\"],\n provisioningState: item[\"provisioningState\"],\n jobId: item[\"jobId\"],\n startTimeUtc: !item[\"startTimeUtc\"] ? item[\"startTimeUtc\"] : new Date(item[\"startTimeUtc\"]),\n endTimeUtc: !item[\"endTimeUtc\"] ? item[\"endTimeUtc\"] : new Date(item[\"endTimeUtc\"]),\n status: item[\"status\"],\n reportedProperties: !item[\"reportedProperties\"]\n ? item[\"reportedProperties\"]\n : jobReportedPropertiesDeserializer(item[\"reportedProperties\"]),\n };\n}\n\n/** Alias for ClusterJobPropertiesUnion */\nexport type ClusterJobPropertiesUnion =\n | HciConfigureSdnIntegrationJobProperties\n | HciConfigureCvmJobProperties\n | ClusterJobProperties;\n\nexport function clusterJobPropertiesUnionSerializer(item: ClusterJobPropertiesUnion): any {\n switch (item.jobType) {\n case \"ConfigureSdnIntegration\":\n return hciConfigureSdnIntegrationJobPropertiesSerializer(\n item as HciConfigureSdnIntegrationJobProperties,\n );\n\n case \"ConfigureCVM\":\n return hciConfigureCvmJobPropertiesSerializer(item as HciConfigureCvmJobProperties);\n\n default:\n return clusterJobPropertiesSerializer(item);\n }\n}\n\nexport function clusterJobPropertiesUnionDeserializer(item: any): ClusterJobPropertiesUnion {\n switch (item[\"jobType\"]) {\n case \"ConfigureSdnIntegration\":\n return hciConfigureSdnIntegrationJobPropertiesDeserializer(\n item as HciConfigureSdnIntegrationJobProperties,\n );\n\n case \"ConfigureCVM\":\n return hciConfigureCvmJobPropertiesDeserializer(item as HciConfigureCvmJobProperties);\n\n default:\n return clusterJobPropertiesDeserializer(item);\n }\n}\n\n/** ClusterJob Type supported. */\nexport enum KnownHciJobType {\n /** Job to CVM intent for the cluster. */\n ConfigureCVM = \"ConfigureCVM\",\n /** Job to configure SDN (Software Defined Networking) integration for the cluster. */\n ConfigureSdnIntegration = \"ConfigureSdnIntegration\",\n}\n\n/**\n * ClusterJob Type supported. \\\n * {@link KnownHciJobType} can be used interchangeably with HciJobType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **ConfigureCVM**: Job to CVM intent for the cluster. \\\n * **ConfigureSdnIntegration**: Job to configure SDN (Software Defined Networking) integration for the cluster.\n */\nexport type HciJobType = string;\n\n/** Reported Properties for job triggered from cloud. */\nexport interface JobReportedProperties {\n /** The percentage of the job that is complete. */\n readonly percentComplete?: number;\n /** Validation status of job. */\n readonly validationStatus?: EceActionStatus;\n /** Deployment status of job. */\n readonly deploymentStatus?: EceActionStatus;\n}\n\nexport function jobReportedPropertiesDeserializer(item: any): JobReportedProperties {\n return {\n percentComplete: item[\"percentComplete\"],\n validationStatus: !item[\"validationStatus\"]\n ? item[\"validationStatus\"]\n : eceActionStatusDeserializer(item[\"validationStatus\"]),\n deploymentStatus: !item[\"deploymentStatus\"]\n ? item[\"deploymentStatus\"]\n : eceActionStatusDeserializer(item[\"deploymentStatus\"]),\n };\n}\n\n/** Properties for configuring SDN integration intent for the cluster. */\nexport interface HciConfigureSdnIntegrationJobProperties extends ClusterJobProperties {\n /** ClusterJob Type to support polymorphic resource. */\n jobType: \"ConfigureSdnIntegration\";\n /** Defines the customer's intent for configuring SDN integration */\n sdnIntegrationIntent: SdnIntegrationIntent;\n /** A string identifier used to construct the Network Controller (NC) REST resource name. This prefix helps group and distinguish SDN-managed network components and must follow specific formatting rules. */\n sdnPrefix?: string;\n}\n\nexport function hciConfigureSdnIntegrationJobPropertiesSerializer(\n item: HciConfigureSdnIntegrationJobProperties,\n): any {\n return {\n jobType: item[\"jobType\"],\n deploymentMode: item[\"deploymentMode\"],\n sdnIntegrationIntent: item[\"sdnIntegrationIntent\"],\n sdnPrefix: item[\"sdnPrefix\"],\n };\n}\n\nexport function hciConfigureSdnIntegrationJobPropertiesDeserializer(\n item: any,\n): HciConfigureSdnIntegrationJobProperties {\n return {\n jobType: item[\"jobType\"],\n deploymentMode: item[\"deploymentMode\"],\n provisioningState: item[\"provisioningState\"],\n jobId: item[\"jobId\"],\n startTimeUtc: !item[\"startTimeUtc\"] ? item[\"startTimeUtc\"] : new Date(item[\"startTimeUtc\"]),\n endTimeUtc: !item[\"endTimeUtc\"] ? item[\"endTimeUtc\"] : new Date(item[\"endTimeUtc\"]),\n status: item[\"status\"],\n reportedProperties: !item[\"reportedProperties\"]\n ? item[\"reportedProperties\"]\n : jobReportedPropertiesDeserializer(item[\"reportedProperties\"]),\n sdnIntegrationIntent: item[\"sdnIntegrationIntent\"],\n sdnPrefix: item[\"sdnPrefix\"],\n };\n}\n\n/** Defines the customer's intent for updating confidential VM properties */\nexport interface HciConfigureCvmJobProperties extends ClusterJobProperties {\n /** ClusterJob Type to support polymorphic resource. */\n jobType: \"ConfigureCVM\";\n /** Defines the customer's intent for updating confidential VM properties */\n confidentialVmIntent: ConfidentialVmIntent;\n}\n\nexport function hciConfigureCvmJobPropertiesSerializer(item: HciConfigureCvmJobProperties): any {\n return {\n jobType: item[\"jobType\"],\n deploymentMode: item[\"deploymentMode\"],\n confidentialVmIntent: item[\"confidentialVmIntent\"],\n };\n}\n\nexport function hciConfigureCvmJobPropertiesDeserializer(item: any): HciConfigureCvmJobProperties {\n return {\n jobType: item[\"jobType\"],\n deploymentMode: item[\"deploymentMode\"],\n provisioningState: item[\"provisioningState\"],\n jobId: item[\"jobId\"],\n startTimeUtc: !item[\"startTimeUtc\"] ? item[\"startTimeUtc\"] : new Date(item[\"startTimeUtc\"]),\n endTimeUtc: !item[\"endTimeUtc\"] ? item[\"endTimeUtc\"] : new Date(item[\"endTimeUtc\"]),\n status: item[\"status\"],\n reportedProperties: !item[\"reportedProperties\"]\n ? item[\"reportedProperties\"]\n : jobReportedPropertiesDeserializer(item[\"reportedProperties\"]),\n confidentialVmIntent: item[\"confidentialVmIntent\"],\n };\n}\n\n/** List of Cluster Job resources for the HCI cluster. */\nexport interface _ClusterJobListResult {\n /** The ClusterJob items on this page */\n value: ClusterJob[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _clusterJobListResultDeserializer(item: any): _ClusterJobListResult {\n return {\n value: clusterJobArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function clusterJobArraySerializer(result: Array<ClusterJob>): any[] {\n return result.map((item) => {\n return clusterJobSerializer(item);\n });\n}\n\nexport function clusterJobArrayDeserializer(result: Array<ClusterJob>): any[] {\n return result.map((item) => {\n return clusterJobDeserializer(item);\n });\n}\n\n/** DevicePool details. */\nexport interface DevicePool extends TrackedResource {\n /** The resource-specific properties for this resource. */\n properties?: DevicePoolProperties;\n /** The managed service identities assigned to this resource. */\n identity?: ManagedServiceIdentity;\n}\n\nexport function devicePoolSerializer(item: DevicePool): any {\n return {\n tags: item[\"tags\"],\n location: item[\"location\"],\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : devicePoolPropertiesSerializer(item[\"properties\"]),\n identity: !item[\"identity\"]\n ? item[\"identity\"]\n : managedServiceIdentitySerializer(item[\"identity\"]),\n };\n}\n\nexport function devicePoolDeserializer(item: any): DevicePool {\n return {\n tags: !item[\"tags\"]\n ? item[\"tags\"]\n : Object.fromEntries(Object.entries(item[\"tags\"]).map(([k, p]: [string, any]) => [k, p])),\n location: item[\"location\"],\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n properties: !item[\"properties\"]\n ? item[\"properties\"]\n : devicePoolPropertiesDeserializer(item[\"properties\"]),\n identity: !item[\"identity\"]\n ? item[\"identity\"]\n : managedServiceIdentityDeserializer(item[\"identity\"]),\n };\n}\n\n/** Properties for device pool. */\nexport interface DevicePoolProperties {\n /** The provisioning state of a resource. */\n readonly provisioningState?: ProvisioningState;\n /** Unique, immutable resource id. */\n readonly cloudId?: string;\n /** List of machines in device pool. */\n devices?: DeviceDetail[];\n /** Custom Location Resource Id for the pool */\n readonly customLocationResourceId?: string;\n /** Custom Location Name for the pool, default: <DevicePoolName>-CL */\n customLocationName?: string;\n /** Managed resource group name for the pool */\n managedResourceGroup?: string;\n /** operation status details for device pool. */\n readonly operationDetails?: OperationDetail[];\n}\n\nexport function devicePoolPropertiesSerializer(item: DevicePoolProperties): any {\n return {\n devices: !item[\"devices\"] ? item[\"devices\"] : deviceDetailArraySerializer(item[\"devices\"]),\n customLocationName: item[\"customLocationName\"],\n managedResourceGroup: item[\"managedResourceGroup\"],\n };\n}\n\nexport function devicePoolPropertiesDeserializer(item: any): DevicePoolProperties {\n return {\n provisioningState: item[\"provisioningState\"],\n cloudId: item[\"cloudId\"],\n devices: !item[\"devices\"] ? item[\"devices\"] : deviceDetailArrayDeserializer(item[\"devices\"]),\n customLocationResourceId: item[\"customLocationResourceId\"],\n customLocationName: item[\"customLocationName\"],\n managedResourceGroup: item[\"managedResourceGroup\"],\n operationDetails: !item[\"operationDetails\"]\n ? item[\"operationDetails\"]\n : operationDetailArrayDeserializer(item[\"operationDetails\"]),\n };\n}\n\nexport function deviceDetailArraySerializer(result: Array<DeviceDetail>): any[] {\n return result.map((item) => {\n return deviceDetailSerializer(item);\n });\n}\n\nexport function deviceDetailArrayDeserializer(result: Array<DeviceDetail>): any[] {\n return result.map((item) => {\n return deviceDetailDeserializer(item);\n });\n}\n\n/** Device details. */\nexport interface DeviceDetail {\n /** Resource Id of the device. */\n deviceResourceId?: string;\n /** Resource Id of group device belongs to. */\n readonly claimedBy?: string;\n}\n\nexport function deviceDetailSerializer(item: DeviceDetail): any {\n return { deviceResourceId: item[\"deviceResourceId\"] };\n}\n\nexport function deviceDetailDeserializer(item: any): DeviceDetail {\n return {\n deviceResourceId: item[\"deviceResourceId\"],\n claimedBy: item[\"claimedBy\"],\n };\n}\n\n/** Properties for patching Device Pool. */\nexport interface DevicePoolPatch {\n /** Resource tags. */\n tags?: Record<string, string>;\n /** The managed service identities assigned to this resource. */\n identity?: ManagedServiceIdentity;\n}\n\nexport function devicePoolPatchSerializer(item: DevicePoolPatch): any {\n return {\n tags: item[\"tags\"],\n identity: !item[\"identity\"]\n ? item[\"identity\"]\n : managedServiceIdentitySerializer(item[\"identity\"]),\n };\n}\n\n/** The response of a DevicePool list operation. */\nexport interface _DevicePoolListResult {\n /** The DevicePool items on this page */\n value: DevicePool[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _devicePoolListResultDeserializer(item: any): _DevicePoolListResult {\n return {\n value: devicePoolArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function devicePoolArraySerializer(result: Array<DevicePool>): any[] {\n return result.map((item) => {\n return devicePoolSerializer(item);\n });\n}\n\nexport function devicePoolArrayDeserializer(result: Array<DevicePool>): any[] {\n return result.map((item) => {\n return devicePoolDeserializer(item);\n });\n}\n\n/** Request for claiming devices of the pool. */\nexport interface ClaimDeviceRequest {\n /** List of resource ids of the devices to be modified */\n devices: string[];\n /** Resource Id of group device belongs to. */\n claimedBy?: string;\n}\n\nexport function claimDeviceRequestSerializer(item: ClaimDeviceRequest): any {\n return {\n devices: item[\"devices\"].map((p: any) => {\n return p;\n }),\n claimedBy: item[\"claimedBy\"],\n };\n}\n\n/** Request for releasing devices of the pool. */\nexport interface ReleaseDeviceRequest {\n /** List of resource ids of the devices to be modified */\n devices: string[];\n}\n\nexport function releaseDeviceRequestSerializer(item: ReleaseDeviceRequest): any {\n return {\n devices: item[\"devices\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** Get the update summaries for the cluster */\nexport interface UpdateSummaries extends ProxyResource {\n /** The geo-location where the resource lives */\n location?: string;\n /** Provisioning state of the UpdateSummaries proxy resource. Indicates the current lifecycle status of the update summary operation, such as whether it has been accepted, is in progress, or has completed. */\n readonly provisioningState?: ProvisioningState;\n /** OEM family name. */\n oemFamily?: string;\n /** Current OEM Version. */\n currentOemVersion?: string;\n /** Name of the hardware model. */\n hardwareModel?: string;\n /** Current version of each updatable component. */\n packageVersions?: PackageVersionInfo[];\n /** Current Solution Bundle version of the stamp. */\n currentVersion?: string;\n /** Current Sbe version of the stamp. */\n currentSbeVersion?: string;\n /** Last time an update installation completed successfully. */\n lastUpdated?: Date;\n /** Last time the update service successfully checked for updates */\n lastChecked?: Date;\n /** Overall health state for update-specific health checks. */\n healthState?: HealthState;\n /** An array of pre-check result objects. */\n healthCheckResult?: PrecheckResult[];\n /** Last time the package-specific checks were run. */\n healthCheckDate?: Date;\n /** Overall update state of the stamp. Indicates the current status of update deployment across the stamp, including preparation, application, and any issues encountered. */\n state?: UpdateSummariesPropertiesState;\n}\n\nexport function updateSummariesSerializer(item: UpdateSummaries): any {\n return {\n properties: areAllPropsUndefined(item, [\n \"oemFamily\",\n \"currentOemVersion\",\n \"hardwareModel\",\n \"packageVersions\",\n \"currentVersion\",\n \"currentSbeVersion\",\n \"lastUpdated\",\n \"lastChecked\",\n \"healthState\",\n \"healthCheckResult\",\n \"healthCheckDate\",\n \"state\",\n ])\n ? undefined\n : _updateSummariesPropertiesSerializer(item),\n location: item[\"location\"],\n };\n}\n\nexport function updateSummariesDeserializer(item: any): UpdateSummaries {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n type: item[\"type\"],\n systemData: !item[\"systemData\"]\n ? item[\"systemData\"]\n : systemDataDeserializer(item[\"systemData\"]),\n ...(!item[\"properties\"]\n ? item[\"properties\"]\n : _updateSummariesPropertiesDeserializer(item[\"properties\"])),\n location: item[\"location\"],\n };\n}\n\n/** Properties of Update summaries */\nexport interface UpdateSummariesProperties {\n /** Provisioning state of the UpdateSummaries proxy resource. Indicates the current lifecycle status of the update summary operation, such as whether it has been accepted, is in progress, or has completed. */\n readonly provisioningState?: ProvisioningState;\n /** OEM family name. */\n oemFamily?: string;\n /** Current OEM Version. */\n currentOemVersion?: string;\n /** Name of the hardware model. */\n hardwareModel?: string;\n /** Current version of each updatable component. */\n packageVersions?: PackageVersionInfo[];\n /** Current Solution Bundle version of the stamp. */\n currentVersion?: string;\n /** Current Sbe version of the stamp. */\n currentSbeVersion?: string;\n /** Last time an update installation completed successfully. */\n lastUpdated?: Date;\n /** Last time the update service successfully checked for updates */\n lastChecked?: Date;\n /** Overall health state for update-specific health checks. */\n healthState?: HealthState;\n /** An array of pre-check result objects. */\n healthCheckResult?: PrecheckResult[];\n /** Last time the package-specific checks were run. */\n healthCheckDate?: Date;\n /** Overall update state of the stamp. Indicates the current status of update deployment across the stamp, including preparation, application, and any issues encountered. */\n state?: UpdateSummariesPropertiesState;\n}\n\nexport function updateSummariesPropertiesSerializer(item: UpdateSummariesProperties): any {\n return {\n oemFamily: item[\"oemFamily\"],\n currentOemVersion: item[\"currentOemVersion\"],\n hardwareModel: item[\"hardwareModel\"],\n packageVersions: !item[\"packageVersions\"]\n ? item[\"packageVersions\"]\n : packageVersionInfoArraySerializer(item[\"packageVersions\"]),\n currentVersion: item[\"currentVersion\"],\n currentSbeVersion: item[\"currentSbeVersion\"],\n lastUpdated: !item[\"lastUpdated\"] ? item[\"lastUpdated\"] : item[\"lastUpdated\"].toISOString(),\n lastChecked: !item[\"lastChecked\"] ? item[\"lastChecked\"] : item[\"lastChecked\"].toISOString(),\n healthState: item[\"healthState\"],\n healthCheckResult: !item[\"healthCheckResult\"]\n ? item[\"healthCheckResult\"]\n : precheckResultArraySerializer(item[\"healthCheckResult\"]),\n healthCheckDate: !item[\"healthCheckDate\"]\n ? item[\"healthCheckDate\"]\n : item[\"healthCheckDate\"].toISOString(),\n state: item[\"state\"],\n };\n}\n\nexport function updateSummariesPropertiesDeserializer(item: any): UpdateSummariesProperties {\n return {\n provisioningState: item[\"provisioningState\"],\n oemFamily: item[\"oemFamily\"],\n currentOemVersion: item[\"currentOemVersion\"],\n hardwareModel: item[\"hardwareModel\"],\n packageVersions: !item[\"packageVersions\"]\n ? item[\"packageVersions\"]\n : packageVersionInfoArrayDeserializer(item[\"packageVersions\"]),\n currentVersion: item[\"currentVersion\"],\n currentSbeVersion: item[\"currentSbeVersion\"],\n lastUpdated: !item[\"lastUpdated\"] ? item[\"lastUpdated\"] : new Date(item[\"lastUpdated\"]),\n lastChecked: !item[\"lastChecked\"] ? item[\"lastChecked\"] : new Date(item[\"lastChecked\"]),\n healthState: item[\"healthState\"],\n healthCheckResult: !item[\"healthCheckResult\"]\n ? item[\"healthCheckResult\"]\n : precheckResultArrayDeserializer(item[\"healthCheckResult\"]),\n healthCheckDate: !item[\"healthCheckDate\"]\n ? item[\"healthCheckDate\"]\n : new Date(item[\"healthCheckDate\"]),\n state: item[\"state\"],\n };\n}\n\n/** Overall update state of the stamp. Indicates the current status of update deployment across the stamp, including preparation, application, and any issues encountered. */\nexport enum KnownUpdateSummariesPropertiesState {\n /** The update state is not known. */\n Unknown = \"Unknown\",\n /** Updates have been successfully applied to the stamp. */\n AppliedSuccessfully = \"AppliedSuccessfully\",\n /** Updates are available but have not yet been applied. */\n UpdateAvailable = \"UpdateAvailable\",\n /** Updates are currently being applied to the stamp. */\n UpdateInProgress = \"UpdateInProgress\",\n /** The update process failed. */\n UpdateFailed = \"UpdateFailed\",\n /** The update process requires user intervention or has encountered issues needing attention. */\n NeedsAttention = \"NeedsAttention\",\n /** Preparation for the update is currently in progress. */\n PreparationInProgress = \"PreparationInProgress\",\n /** Preparation for the update failed. */\n PreparationFailed = \"PreparationFailed\",\n}\n\n/**\n * Overall update state of the stamp. Indicates the current status of update deployment across the stamp, including preparation, application, and any issues encountered. \\\n * {@link KnownUpdateSummariesPropertiesState} can be used interchangeably with UpdateSummariesPropertiesState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **Unknown**: The update state is not known. \\\n * **AppliedSuccessfully**: Updates have been successfully applied to the stamp. \\\n * **UpdateAvailable**: Updates are available but have not yet been applied. \\\n * **UpdateInProgress**: Updates are currently being applied to the stamp. \\\n * **UpdateFailed**: The update process failed. \\\n * **NeedsAttention**: The update process requires user intervention or has encountered issues needing attention. \\\n * **PreparationInProgress**: Preparation for the update is currently in progress. \\\n * **PreparationFailed**: Preparation for the update failed.\n */\nexport type UpdateSummariesPropertiesState = string;\n\n/** List of Update Summaries */\nexport interface _UpdateSummariesList {\n /** The UpdateSummaries items on this page */\n value: UpdateSummaries[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _updateSummariesListDeserializer(item: any): _UpdateSummariesList {\n return {\n value: updateSummariesArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function updateSummariesArraySerializer(result: Array<UpdateSummaries>): any[] {\n return result.map((item) => {\n return updateSummariesSerializer(item);\n });\n}\n\nexport function updateSummariesArrayDeserializer(result: Array<UpdateSummaries>): any[] {\n return result.map((item) => {\n return updateSummariesDeserializer(item);\n });\n}\n\n/** The available API versions. */\nexport enum KnownVersions {\n /** The 2026-02-01 API version. */\n V20260201 = \"2026-02-01\",\n /** The 2026-04-01-preview API version. */\n V20260401Preview = \"2026-04-01-preview\",\n}\n\nexport function _arcSettingPropertiesSerializer(item: ArcSetting): any {\n return {\n arcInstanceResourceGroup: item[\"arcInstanceResourceGroup\"],\n arcApplicationClientId: item[\"arcApplicationClientId\"],\n arcApplicationTenantId: item[\"arcApplicationTenantId\"],\n arcServicePrincipalObjectId: item[\"arcServicePrincipalObjectId\"],\n arcApplicationObjectId: item[\"arcApplicationObjectId\"],\n connectivityProperties: !item[\"connectivityProperties\"]\n ? item[\"connectivityProperties\"]\n : arcConnectivityPropertiesSerializer(item[\"connectivityProperties\"]),\n };\n}\n\nexport function _arcSettingPropertiesDeserializer(item: any) {\n return {\n provisioningState: item[\"provisioningState\"],\n arcInstanceResourceGroup: item[\"arcInstanceResourceGroup\"],\n arcApplicationClientId: item[\"arcApplicationClientId\"],\n arcApplicationTenantId: item[\"arcApplicationTenantId\"],\n arcServicePrincipalObjectId: item[\"arcServicePrincipalObjectId\"],\n arcApplicationObjectId: item[\"arcApplicationObjectId\"],\n aggregateState: item[\"aggregateState\"],\n perNodeDetails: !item[\"perNodeDetails\"]\n ? item[\"perNodeDetails\"]\n : perNodeStateArrayDeserializer(item[\"perNodeDetails\"]),\n connectivityProperties: !item[\"connectivityProperties\"]\n ? item[\"connectivityProperties\"]\n : arcConnectivityPropertiesDeserializer(item[\"connectivityProperties\"]),\n defaultExtensions: !item[\"defaultExtensions\"]\n ? item[\"defaultExtensions\"]\n : defaultExtensionDetailsArrayDeserializer(item[\"defaultExtensions\"]),\n };\n}\n\nexport function _arcSettingsPatchPropertiesSerializer(item: ArcSettingsPatch): any {\n return {\n connectivityProperties: !item[\"connectivityProperties\"]\n ? item[\"connectivityProperties\"]\n : arcConnectivityPropertiesSerializer(item[\"connectivityProperties\"]),\n };\n}\n\nexport function _arcIdentityResponsePropertiesDeserializer(item: any) {\n return {\n arcApplicationClientId: item[\"arcApplicationClientId\"],\n arcApplicationTenantId: item[\"arcApplicationTenantId\"],\n arcServicePrincipalObjectId: item[\"arcServicePrincipalObjectId\"],\n arcApplicationObjectId: item[\"arcApplicationObjectId\"],\n };\n}\n\nexport function _offerPropertiesDeserializer(item: any) {\n return {\n provisioningState: item[\"provisioningState\"],\n publisherId: item[\"publisherId\"],\n content: item[\"content\"],\n contentVersion: item[\"contentVersion\"],\n skuMappings: !item[\"skuMappings\"]\n ? item[\"skuMappings\"]\n : skuMappingsArrayDeserializer(item[\"skuMappings\"]),\n };\n}\n\nexport function _clusterPropertiesSerializer(item: Cluster): any {\n return {\n cloudManagementEndpoint: item[\"cloudManagementEndpoint\"],\n aadClientId: item[\"aadClientId\"],\n aadTenantId: item[\"aadTenantId\"],\n aadApplicationObjectId: item[\"aadApplicationObjectId\"],\n aadServicePrincipalObjectId: item[\"aadServicePrincipalObjectId\"],\n softwareAssuranceProperties: !item[\"softwareAssuranceProperties\"]\n ? item[\"softwareAssuranceProperties\"]\n : softwareAssurancePropertiesSerializer(item[\"softwareAssuranceProperties\"]),\n logCollectionProperties: !item[\"logCollectionProperties\"]\n ? item[\"logCollectionProperties\"]\n : logCollectionPropertiesSerializer(item[\"logCollectionProperties\"]),\n remoteSupportProperties: !item[\"remoteSupportProperties\"]\n ? item[\"remoteSupportProperties\"]\n : remoteSupportPropertiesSerializer(item[\"remoteSupportProperties\"]),\n desiredProperties: !item[\"desiredProperties\"]\n ? item[\"desiredProperties\"]\n : clusterDesiredPropertiesSerializer(item[\"desiredProperties\"]),\n secretsLocations: !item[\"secretsLocations\"]\n ? item[\"secretsLocations\"]\n : secretsLocationDetailsArraySerializer(item[\"secretsLocations\"]),\n localAvailabilityZones: !item[\"localAvailabilityZones\"]\n ? item[\"localAvailabilityZones\"]\n : localAvailabilityZonesArraySerializer(item[\"localAvailabilityZones\"]),\n };\n}\n\nexport function _clusterPropertiesDeserializer(item: any) {\n return {\n provisioningState: item[\"provisioningState\"],\n status: item[\"status\"],\n connectivityStatus: item[\"connectivityStatus\"],\n cloudId: item[\"cloudId\"],\n ring: item[\"ring\"],\n cloudManagementEndpoint: item[\"cloudManagementEndpoint\"],\n aadClientId: item[\"aadClientId\"],\n aadTenantId: item[\"aadTenantId\"],\n aadApplicationObjectId: item[\"aadApplicationObjectId\"],\n aadServicePrincipalObjectId: item[\"aadServicePrincipalObjectId\"],\n softwareAssuranceProperties: !item[\"softwareAssuranceProperties\"]\n ? item[\"softwareAssuranceProperties\"]\n : softwareAssurancePropertiesDeserializer(item[\"softwareAssuranceProperties\"]),\n isManagementCluster: item[\"isManagementCluster\"],\n logCollectionProperties: !item[\"logCollectionProperties\"]\n ? item[\"logCollectionProperties\"]\n : logCollectionPropertiesDeserializer(item[\"logCollectionProperties\"]),\n remoteSupportProperties: !item[\"remoteSupportProperties\"]\n ? item[\"remoteSupportProperties\"]\n : remoteSupportPropertiesDeserializer(item[\"remoteSupportProperties\"]),\n desiredProperties: !item[\"desiredProperties\"]\n ? item[\"desiredProperties\"]\n : clusterDesiredPropertiesDeserializer(item[\"desiredProperties\"]),\n reportedProperties: !item[\"reportedProperties\"]\n ? item[\"reportedProperties\"]\n : clusterReportedPropertiesDeserializer(item[\"reportedProperties\"]),\n isolatedVmAttestationConfiguration: !item[\"isolatedVmAttestationConfiguration\"]\n ? item[\"isolatedVmAttestationConfiguration\"]\n : isolatedVmAttestationConfigurationDeserializer(item[\"isolatedVmAttestationConfiguration\"]),\n trialDaysRemaining: item[\"trialDaysRemaining\"],\n billingModel: item[\"billingModel\"],\n billingProperties: !item[\"billingProperties\"]\n ? item[\"billingProperties\"]\n : clusterBillingPropertiesDeserializer(item[\"billingProperties\"]),\n registrationTimestamp: !item[\"registrationTimestamp\"]\n ? item[\"registrationTimestamp\"]\n : new Date(item[\"registrationTimestamp\"]),\n lastSyncTimestamp: !item[\"lastSyncTimestamp\"]\n ? item[\"lastSyncTimestamp\"]\n : new Date(item[\"lastSyncTimestamp\"]),\n lastBillingTimestamp: !item[\"lastBillingTimestamp\"]\n ? item[\"lastBillingTimestamp\"]\n : new Date(item[\"lastBillingTimestamp\"]),\n serviceEndpoint: item[\"serviceEndpoint\"],\n resourceProviderObjectId: item[\"resourceProviderObjectId\"],\n secretsLocations: !item[\"secretsLocations\"]\n ? item[\"secretsLocations\"]\n : secretsLocationDetailsArrayDeserializer(item[\"secretsLocations\"]),\n clusterPattern: item[\"clusterPattern\"],\n confidentialVmProperties: !item[\"confidentialVmProperties\"]\n ? item[\"confidentialVmProperties\"]\n : confidentialVmPropertiesDeserializer(item[\"confidentialVmProperties\"]),\n sdnProperties: !item[\"sdnProperties\"]\n ? item[\"sdnProperties\"]\n : clusterSdnPropertiesDeserializer(item[\"sdnProperties\"]),\n localAvailabilityZones: !item[\"localAvailabilityZones\"]\n ? item[\"localAvailabilityZones\"]\n : localAvailabilityZonesArrayDeserializer(item[\"localAvailabilityZones\"]),\n identityProvider: item[\"identityProvider\"],\n storageType: item[\"storageType\"],\n };\n}\n\nexport function _clusterIdentitySerializer(item: Cluster): any {\n return { type: item[\"typeIdentityType\"], userAssignedIdentities: item[\"userAssignedIdentities\"] };\n}\n\nexport function _clusterIdentityDeserializer(item: any) {\n return {\n principalId: item[\"principalId\"],\n tenantId: item[\"tenantId\"],\n typeIdentityType: item[\"type\"],\n userAssignedIdentities: !item[\"userAssignedIdentities\"]\n ? item[\"userAssignedIdentities\"]\n : Object.fromEntries(\n Object.entries(item[\"userAssignedIdentities\"]).map(([k, p]: [string, any]) => [\n k,\n !p ? p : userAssignedIdentityDeserializer(p),\n ]),\n ),\n };\n}\n\nexport function _clusterPatchIdentitySerializer(item: ClusterPatch): any {\n return { type: item[\"type\"], userAssignedIdentities: item[\"userAssignedIdentities\"] };\n}\n\nexport function _clusterPatchIdentityDeserializer(item: any) {\n return {\n principalId: item[\"principalId\"],\n tenantId: item[\"tenantId\"],\n type: item[\"type\"],\n userAssignedIdentities: !item[\"userAssignedIdentities\"]\n ? item[\"userAssignedIdentities\"]\n : Object.fromEntries(\n Object.entries(item[\"userAssignedIdentities\"]).map(([k, p]: [string, any]) => [\n k,\n !p ? p : userAssignedIdentityDeserializer(p),\n ]),\n ),\n };\n}\n\nexport function _clusterPatchPropertiesSerializer(item: ClusterPatch): any {\n return {\n cloudManagementEndpoint: item[\"cloudManagementEndpoint\"],\n aadClientId: item[\"aadClientId\"],\n aadTenantId: item[\"aadTenantId\"],\n desiredProperties: !item[\"desiredProperties\"]\n ? item[\"desiredProperties\"]\n : clusterDesiredPropertiesSerializer(item[\"desiredProperties\"]),\n };\n}\n\nexport function _clusterIdentityResponsePropertiesDeserializer(item: any) {\n return {\n aadClientId: item[\"aadClientId\"],\n aadTenantId: item[\"aadTenantId\"],\n aadServicePrincipalObjectId: item[\"aadServicePrincipalObjectId\"],\n aadApplicationObjectId: item[\"aadApplicationObjectId\"],\n };\n}\n\nexport function _deploymentSettingPropertiesSerializer(item: DeploymentSetting): any {\n return {\n arcNodeResourceIds: !item[\"arcNodeResourceIds\"]\n ? item[\"arcNodeResourceIds\"]\n : item[\"arcNodeResourceIds\"].map((p: any) => {\n return p;\n }),\n deploymentMode: item[\"deploymentMode\"],\n operationType: item[\"operationType\"],\n deploymentConfiguration: !item[\"deploymentConfiguration\"]\n ? item[\"deploymentConfiguration\"]\n : deploymentConfigurationSerializer(item[\"deploymentConfiguration\"]),\n };\n}\n\nexport function _deploymentSettingPropertiesDeserializer(item: any) {\n return {\n provisioningState: item[\"provisioningState\"],\n arcNodeResourceIds: !item[\"arcNodeResourceIds\"]\n ? item[\"arcNodeResourceIds\"]\n : item[\"arcNodeResourceIds\"].map((p: any) => {\n return p;\n }),\n deploymentMode: item[\"deploymentMode\"],\n operationType: item[\"operationType\"],\n deploymentConfiguration: !item[\"deploymentConfiguration\"]\n ? item[\"deploymentConfiguration\"]\n : deploymentConfigurationDeserializer(item[\"deploymentConfiguration\"]),\n reportedProperties: !item[\"reportedProperties\"]\n ? item[\"reportedProperties\"]\n : eceReportedPropertiesDeserializer(item[\"reportedProperties\"]),\n };\n}\n\nexport function _extensionPropertiesExtensionParametersSerializer(item: ExtensionProperties): any {\n return {\n forceUpdateTag: item[\"forceUpdateTag\"],\n publisher: item[\"publisher\"],\n type: item[\"type\"],\n typeHandlerVersion: item[\"typeHandlerVersion\"],\n autoUpgradeMinorVersion: item[\"autoUpgradeMinorVersion\"],\n settings: item[\"settings\"],\n protectedSettings: item[\"protectedSettings\"],\n enableAutomaticUpgrade: item[\"enableAutomaticUpgrade\"],\n };\n}\n\nexport function _extensionPropertiesExtensionParametersDeserializer(item: any) {\n return {\n forceUpdateTag: item[\"forceUpdateTag\"],\n publisher: item[\"publisher\"],\n type: item[\"type\"],\n typeHandlerVersion: item[\"typeHandlerVersion\"],\n autoUpgradeMinorVersion: item[\"autoUpgradeMinorVersion\"],\n settings: item[\"settings\"],\n protectedSettings: item[\"protectedSettings\"],\n enableAutomaticUpgrade: item[\"enableAutomaticUpgrade\"],\n };\n}\n\nexport function _extensionPropertiesSerializer(item: Extension): any {\n return {\n extensionParameters: !item[\"extensionParameters\"]\n ? item[\"extensionParameters\"]\n : extensionParametersSerializer(item[\"extensionParameters\"]),\n };\n}\n\nexport function _extensionPropertiesDeserializer(item: any) {\n return {\n provisioningState: item[\"provisioningState\"],\n extensionParameters: !item[\"extensionParameters\"]\n ? item[\"extensionParameters\"]\n : extensionParametersDeserializer(item[\"extensionParameters\"]),\n aggregateState: item[\"aggregateState\"],\n perNodeExtensionDetails: !item[\"perNodeExtensionDetails\"]\n ? item[\"perNodeExtensionDetails\"]\n : perNodeExtensionStateArrayDeserializer(item[\"perNodeExtensionDetails\"]),\n managedBy: item[\"managedBy\"],\n };\n}\n\nexport function _extensionPatchPropertiesSerializer(item: ExtensionPatch): any {\n return {\n extensionParameters: !item[\"extensionParameters\"]\n ? item[\"extensionParameters\"]\n : extensionPatchParametersSerializer(item[\"extensionParameters\"]),\n };\n}\n\nexport function _publisherPropertiesDeserializer(item: any) {\n return {\n provisioningState: item[\"provisioningState\"],\n };\n}\n\nexport function _securitySettingPropertiesSerializer(item: SecuritySetting): any {\n return {\n securedCoreComplianceAssignment: item[\"securedCoreComplianceAssignment\"],\n wdacComplianceAssignment: item[\"wdacComplianceAssignment\"],\n smbEncryptionForIntraClusterTrafficComplianceAssignment:\n item[\"smbEncryptionForIntraClusterTrafficComplianceAssignment\"],\n };\n}\n\nexport function _securitySettingPropertiesDeserializer(item: any) {\n return {\n securedCoreComplianceAssignment: item[\"securedCoreComplianceAssignment\"],\n wdacComplianceAssignment: item[\"wdacComplianceAssignment\"],\n smbEncryptionForIntraClusterTrafficComplianceAssignment:\n item[\"smbEncryptionForIntraClusterTrafficComplianceAssignment\"],\n securityComplianceStatus: !item[\"securityComplianceStatus\"]\n ? item[\"securityComplianceStatus\"]\n : securityComplianceStatusDeserializer(item[\"securityComplianceStatus\"]),\n provisioningState: item[\"provisioningState\"],\n };\n}\n\nexport function _skuPropertiesDeserializer(item: any) {\n return {\n provisioningState: item[\"provisioningState\"],\n publisherId: item[\"publisherId\"],\n offerId: item[\"offerId\"],\n content: item[\"content\"],\n contentVersion: item[\"contentVersion\"],\n skuMappings: !item[\"skuMappings\"]\n ? item[\"skuMappings\"]\n : skuMappingsArrayDeserializer(item[\"skuMappings\"]),\n };\n}\n\nexport function _updateRunPropertiesProgressSerializer(item: UpdateRunProperties): any {\n return {\n name: item[\"name\"],\n description: item[\"description\"],\n errorMessage: item[\"errorMessage\"],\n status: item[\"status\"],\n startTimeUtc: !item[\"startTimeUtc\"] ? item[\"startTimeUtc\"] : item[\"startTimeUtc\"].toISOString(),\n endTimeUtc: !item[\"endTimeUtc\"] ? item[\"endTimeUtc\"] : item[\"endTimeUtc\"].toISOString(),\n lastUpdatedTimeUtc: !item[\"lastUpdatedTimeUtc\"]\n ? item[\"lastUpdatedTimeUtc\"]\n : item[\"lastUpdatedTimeUtc\"].toISOString(),\n expectedExecutionTime: item[\"expectedExecutionTime\"],\n steps: !item[\"steps\"] ? item[\"steps\"] : stepArraySerializer(item[\"steps\"]),\n };\n}\n\nexport function _updateRunPropertiesProgressDeserializer(item: any) {\n return {\n name: item[\"name\"],\n description: item[\"description\"],\n errorMessage: item[\"errorMessage\"],\n status: item[\"status\"],\n startTimeUtc: !item[\"startTimeUtc\"] ? item[\"startTimeUtc\"] : new Date(item[\"startTimeUtc\"]),\n endTimeUtc: !item[\"endTimeUtc\"] ? item[\"endTimeUtc\"] : new Date(item[\"endTimeUtc\"]),\n lastUpdatedTimeUtc: !item[\"lastUpdatedTimeUtc\"]\n ? item[\"lastUpdatedTimeUtc\"]\n : new Date(item[\"lastUpdatedTimeUtc\"]),\n expectedExecutionTime: item[\"expectedExecutionTime\"],\n steps: !item[\"steps\"] ? item[\"steps\"] : stepArrayDeserializer(item[\"steps\"]),\n };\n}\n\nexport function _updateRunPropertiesSerializer(item: UpdateRun): any {\n return {\n timeStarted: !item[\"timeStarted\"] ? item[\"timeStarted\"] : item[\"timeStarted\"].toISOString(),\n lastUpdatedTime: !item[\"lastUpdatedTime\"]\n ? item[\"lastUpdatedTime\"]\n : item[\"lastUpdatedTime\"].toISOString(),\n duration: item[\"duration\"],\n state: item[\"state\"],\n progress: !item[\"progress\"] ? item[\"progress\"] : stepSerializer(item[\"progress\"]),\n };\n}\n\nexport function _updateRunPropertiesDeserializer(item: any) {\n return {\n provisioningState: item[\"provisioningState\"],\n timeStarted: !item[\"timeStarted\"] ? item[\"timeStarted\"] : new Date(item[\"timeStarted\"]),\n lastUpdatedTime: !item[\"lastUpdatedTime\"]\n ? item[\"lastUpdatedTime\"]\n : new Date(item[\"lastUpdatedTime\"]),\n duration: item[\"duration\"],\n state: item[\"state\"],\n progress: !item[\"progress\"] ? item[\"progress\"] : stepDeserializer(item[\"progress\"]),\n };\n}\n\nexport function _updatePropertiesUpdateStatePropertiesSerializer(item: UpdateProperties): any {\n return { progressPercentage: item[\"progressPercentage\"], notifyMessage: item[\"notifyMessage\"] };\n}\n\nexport function _updatePropertiesUpdateStatePropertiesDeserializer(item: any) {\n return {\n progressPercentage: item[\"progressPercentage\"],\n notifyMessage: item[\"notifyMessage\"],\n };\n}\n\nexport function _updatePropertiesSerializer(item: Update): any {\n return {\n installedDate: !item[\"installedDate\"]\n ? item[\"installedDate\"]\n : item[\"installedDate\"].toISOString(),\n description: item[\"description\"],\n minSbeVersionRequired: item[\"minSbeVersionRequired\"],\n state: item[\"state\"],\n prerequisites: !item[\"prerequisites\"]\n ? item[\"prerequisites\"]\n : updatePrerequisiteArraySerializer(item[\"prerequisites\"]),\n componentVersions: !item[\"componentVersions\"]\n ? item[\"componentVersions\"]\n : packageVersionInfoArraySerializer(item[\"componentVersions\"]),\n rebootRequired: item[\"rebootRequired\"],\n healthState: item[\"healthState\"],\n healthCheckResult: !item[\"healthCheckResult\"]\n ? item[\"healthCheckResult\"]\n : precheckResultArraySerializer(item[\"healthCheckResult\"]),\n healthCheckDate: !item[\"healthCheckDate\"]\n ? item[\"healthCheckDate\"]\n : item[\"healthCheckDate\"].toISOString(),\n packagePath: item[\"packagePath\"],\n packageSizeInMb: item[\"packageSizeInMb\"],\n displayName: item[\"displayName\"],\n version: item[\"version\"],\n publisher: item[\"publisher\"],\n releaseLink: item[\"releaseLink\"],\n availabilityType: item[\"availabilityType\"],\n packageType: item[\"packageType\"],\n additionalProperties: item[\"additionalProperties\"],\n updateStateProperties: !item[\"updateStateProperties\"]\n ? item[\"updateStateProperties\"]\n : updateStatePropertiesSerializer(item[\"updateStateProperties\"]),\n };\n}\n\nexport function _updatePropertiesDeserializer(item: any) {\n return {\n provisioningState: item[\"provisioningState\"],\n installedDate: !item[\"installedDate\"] ? item[\"installedDate\"] : new Date(item[\"installedDate\"]),\n description: item[\"description\"],\n minSbeVersionRequired: item[\"minSbeVersionRequired\"],\n state: item[\"state\"],\n prerequisites: !item[\"prerequisites\"]\n ? item[\"prerequisites\"]\n : updatePrerequisiteArrayDeserializer(item[\"prerequisites\"]),\n componentVersions: !item[\"componentVersions\"]\n ? item[\"componentVersions\"]\n : packageVersionInfoArrayDeserializer(item[\"componentVersions\"]),\n rebootRequired: item[\"rebootRequired\"],\n healthState: item[\"healthState\"],\n healthCheckResult: !item[\"healthCheckResult\"]\n ? item[\"healthCheckResult\"]\n : precheckResultArrayDeserializer(item[\"healthCheckResult\"]),\n healthCheckDate: !item[\"healthCheckDate\"]\n ? item[\"healthCheckDate\"]\n : new Date(item[\"healthCheckDate\"]),\n packagePath: item[\"packagePath\"],\n packageSizeInMb: item[\"packageSizeInMb\"],\n displayName: item[\"displayName\"],\n version: item[\"version\"],\n publisher: item[\"publisher\"],\n releaseLink: item[\"releaseLink\"],\n availabilityType: item[\"availabilityType\"],\n packageType: item[\"packageType\"],\n additionalProperties: item[\"additionalProperties\"],\n updateStateProperties: !item[\"updateStateProperties\"]\n ? item[\"updateStateProperties\"]\n : updateStatePropertiesDeserializer(item[\"updateStateProperties\"]),\n };\n}\n\nexport function _updateSummariesPropertiesSerializer(item: UpdateSummaries): any {\n return {\n oemFamily: item[\"oemFamily\"],\n currentOemVersion: item[\"currentOemVersion\"],\n hardwareModel: item[\"hardwareModel\"],\n packageVersions: !item[\"packageVersions\"]\n ? item[\"packageVersions\"]\n : packageVersionInfoArraySerializer(item[\"packageVersions\"]),\n currentVersion: item[\"currentVersion\"],\n currentSbeVersion: item[\"currentSbeVersion\"],\n lastUpdated: !item[\"lastUpdated\"] ? item[\"lastUpdated\"] : item[\"lastUpdated\"].toISOString(),\n lastChecked: !item[\"lastChecked\"] ? item[\"lastChecked\"] : item[\"lastChecked\"].toISOString(),\n healthState: item[\"healthState\"],\n healthCheckResult: !item[\"healthCheckResult\"]\n ? item[\"healthCheckResult\"]\n : precheckResultArraySerializer(item[\"healthCheckResult\"]),\n healthCheckDate: !item[\"healthCheckDate\"]\n ? item[\"healthCheckDate\"]\n : item[\"healthCheckDate\"].toISOString(),\n state: item[\"state\"],\n };\n}\n\nexport function _updateSummariesPropertiesDeserializer(item: any) {\n return {\n provisioningState: item[\"provisioningState\"],\n oemFamily: item[\"oemFamily\"],\n currentOemVersion: item[\"currentOemVersion\"],\n hardwareModel: item[\"hardwareModel\"],\n packageVersions: !item[\"packageVersions\"]\n ? item[\"packageVersions\"]\n : packageVersionInfoArrayDeserializer(item[\"packageVersions\"]),\n currentVersion: item[\"currentVersion\"],\n currentSbeVersion: item[\"currentSbeVersion\"],\n lastUpdated: !item[\"lastUpdated\"] ? item[\"lastUpdated\"] : new Date(item[\"lastUpdated\"]),\n lastChecked: !item[\"lastChecked\"] ? item[\"lastChecked\"] : new Date(item[\"lastChecked\"]),\n healthState: item[\"healthState\"],\n healthCheckResult: !item[\"healthCheckResult\"]\n ? item[\"healthCheckResult\"]\n : precheckResultArrayDeserializer(item[\"healthCheckResult\"]),\n healthCheckDate: !item[\"healthCheckDate\"]\n ? item[\"healthCheckDate\"]\n : new Date(item[\"healthCheckDate\"]),\n state: item[\"state\"],\n };\n}\n"]}