@azure/arm-recoveryservices-siterecovery 5.3.0-alpha.20250618.1 → 5.3.0-alpha.20250718.2

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 (283) hide show
  1. package/dist/browser/lroImpl.js +7 -3
  2. package/dist/browser/lroImpl.js.map +1 -1
  3. package/dist/browser/models/mappers.js +2903 -1357
  4. package/dist/browser/models/mappers.js.map +1 -1
  5. package/dist/browser/operations/clusterRecoveryPointOperations.js +1 -0
  6. package/dist/browser/operations/clusterRecoveryPointOperations.js.map +1 -1
  7. package/dist/browser/operations/clusterRecoveryPoints.js +23 -40
  8. package/dist/browser/operations/clusterRecoveryPoints.js.map +1 -1
  9. package/dist/browser/operations/migrationRecoveryPoints.js +23 -40
  10. package/dist/browser/operations/migrationRecoveryPoints.js.map +1 -1
  11. package/dist/browser/operations/operations.js +23 -40
  12. package/dist/browser/operations/operations.js.map +1 -1
  13. package/dist/browser/operations/recoveryPoints.js +23 -40
  14. package/dist/browser/operations/recoveryPoints.js.map +1 -1
  15. package/dist/browser/operations/replicationAlertSettings.js +23 -40
  16. package/dist/browser/operations/replicationAlertSettings.js.map +1 -1
  17. package/dist/browser/operations/replicationAppliances.js +23 -40
  18. package/dist/browser/operations/replicationAppliances.js.map +1 -1
  19. package/dist/browser/operations/replicationEligibilityResultsOperations.js +1 -0
  20. package/dist/browser/operations/replicationEligibilityResultsOperations.js.map +1 -1
  21. package/dist/browser/operations/replicationEvents.js +23 -40
  22. package/dist/browser/operations/replicationEvents.js.map +1 -1
  23. package/dist/browser/operations/replicationFabrics.js +111 -88
  24. package/dist/browser/operations/replicationFabrics.js.map +1 -1
  25. package/dist/browser/operations/replicationJobs.js +67 -64
  26. package/dist/browser/operations/replicationJobs.js.map +1 -1
  27. package/dist/browser/operations/replicationLogicalNetworks.js +23 -40
  28. package/dist/browser/operations/replicationLogicalNetworks.js.map +1 -1
  29. package/dist/browser/operations/replicationMigrationItems.js +144 -133
  30. package/dist/browser/operations/replicationMigrationItems.js.map +1 -1
  31. package/dist/browser/operations/replicationNetworkMappings.js +78 -97
  32. package/dist/browser/operations/replicationNetworkMappings.js.map +1 -1
  33. package/dist/browser/operations/replicationNetworks.js +45 -79
  34. package/dist/browser/operations/replicationNetworks.js.map +1 -1
  35. package/dist/browser/operations/replicationPolicies.js +56 -58
  36. package/dist/browser/operations/replicationPolicies.js.map +1 -1
  37. package/dist/browser/operations/replicationProtectableItems.js +23 -40
  38. package/dist/browser/operations/replicationProtectableItems.js.map +1 -1
  39. package/dist/browser/operations/replicationProtectedItems.js +254 -193
  40. package/dist/browser/operations/replicationProtectedItems.js.map +1 -1
  41. package/dist/browser/operations/replicationProtectionClusters.js +133 -127
  42. package/dist/browser/operations/replicationProtectionClusters.js.map +1 -1
  43. package/dist/browser/operations/replicationProtectionContainerMappings.js +89 -103
  44. package/dist/browser/operations/replicationProtectionContainerMappings.js.map +1 -1
  45. package/dist/browser/operations/replicationProtectionContainers.js +100 -109
  46. package/dist/browser/operations/replicationProtectionContainers.js.map +1 -1
  47. package/dist/browser/operations/replicationProtectionIntents.js +23 -40
  48. package/dist/browser/operations/replicationProtectionIntents.js.map +1 -1
  49. package/dist/browser/operations/replicationRecoveryPlans.js +133 -100
  50. package/dist/browser/operations/replicationRecoveryPlans.js.map +1 -1
  51. package/dist/browser/operations/replicationRecoveryServicesProviders.js +89 -103
  52. package/dist/browser/operations/replicationRecoveryServicesProviders.js.map +1 -1
  53. package/dist/browser/operations/replicationStorageClassificationMappings.js +67 -91
  54. package/dist/browser/operations/replicationStorageClassificationMappings.js.map +1 -1
  55. package/dist/browser/operations/replicationStorageClassifications.js +45 -79
  56. package/dist/browser/operations/replicationStorageClassifications.js.map +1 -1
  57. package/dist/browser/operations/replicationVaultHealth.js +12 -6
  58. package/dist/browser/operations/replicationVaultHealth.js.map +1 -1
  59. package/dist/browser/operations/replicationVaultSetting.js +34 -46
  60. package/dist/browser/operations/replicationVaultSetting.js.map +1 -1
  61. package/dist/browser/operations/replicationvCenters.js +78 -97
  62. package/dist/browser/operations/replicationvCenters.js.map +1 -1
  63. package/dist/browser/operations/supportedOperatingSystemsOperations.js +1 -0
  64. package/dist/browser/operations/supportedOperatingSystemsOperations.js.map +1 -1
  65. package/dist/browser/operations/targetComputeSizes.js +23 -40
  66. package/dist/browser/operations/targetComputeSizes.js.map +1 -1
  67. package/dist/browser/pagingHelper.js +2 -4
  68. package/dist/browser/pagingHelper.js.map +1 -1
  69. package/dist/browser/siteRecoveryManagementClient.js +44 -5
  70. package/dist/browser/siteRecoveryManagementClient.js.map +1 -1
  71. package/dist/commonjs/lroImpl.js +7 -3
  72. package/dist/commonjs/lroImpl.js.map +1 -1
  73. package/dist/commonjs/models/mappers.js +2903 -1357
  74. package/dist/commonjs/models/mappers.js.map +1 -1
  75. package/dist/commonjs/operations/clusterRecoveryPointOperations.js +1 -0
  76. package/dist/commonjs/operations/clusterRecoveryPointOperations.js.map +1 -1
  77. package/dist/commonjs/operations/clusterRecoveryPoints.js +23 -39
  78. package/dist/commonjs/operations/clusterRecoveryPoints.js.map +1 -1
  79. package/dist/commonjs/operations/migrationRecoveryPoints.js +23 -39
  80. package/dist/commonjs/operations/migrationRecoveryPoints.js.map +1 -1
  81. package/dist/commonjs/operations/operations.js +23 -39
  82. package/dist/commonjs/operations/operations.js.map +1 -1
  83. package/dist/commonjs/operations/recoveryPoints.js +23 -39
  84. package/dist/commonjs/operations/recoveryPoints.js.map +1 -1
  85. package/dist/commonjs/operations/replicationAlertSettings.js +23 -39
  86. package/dist/commonjs/operations/replicationAlertSettings.js.map +1 -1
  87. package/dist/commonjs/operations/replicationAppliances.js +23 -39
  88. package/dist/commonjs/operations/replicationAppliances.js.map +1 -1
  89. package/dist/commonjs/operations/replicationEligibilityResultsOperations.js +1 -0
  90. package/dist/commonjs/operations/replicationEligibilityResultsOperations.js.map +1 -1
  91. package/dist/commonjs/operations/replicationEvents.js +23 -39
  92. package/dist/commonjs/operations/replicationEvents.js.map +1 -1
  93. package/dist/commonjs/operations/replicationFabrics.js +111 -87
  94. package/dist/commonjs/operations/replicationFabrics.js.map +1 -1
  95. package/dist/commonjs/operations/replicationJobs.js +67 -63
  96. package/dist/commonjs/operations/replicationJobs.js.map +1 -1
  97. package/dist/commonjs/operations/replicationLogicalNetworks.js +23 -39
  98. package/dist/commonjs/operations/replicationLogicalNetworks.js.map +1 -1
  99. package/dist/commonjs/operations/replicationMigrationItems.js +144 -132
  100. package/dist/commonjs/operations/replicationMigrationItems.js.map +1 -1
  101. package/dist/commonjs/operations/replicationNetworkMappings.js +78 -96
  102. package/dist/commonjs/operations/replicationNetworkMappings.js.map +1 -1
  103. package/dist/commonjs/operations/replicationNetworks.js +45 -78
  104. package/dist/commonjs/operations/replicationNetworks.js.map +1 -1
  105. package/dist/commonjs/operations/replicationPolicies.js +56 -57
  106. package/dist/commonjs/operations/replicationPolicies.js.map +1 -1
  107. package/dist/commonjs/operations/replicationProtectableItems.js +23 -39
  108. package/dist/commonjs/operations/replicationProtectableItems.js.map +1 -1
  109. package/dist/commonjs/operations/replicationProtectedItems.js +254 -192
  110. package/dist/commonjs/operations/replicationProtectedItems.js.map +1 -1
  111. package/dist/commonjs/operations/replicationProtectionClusters.js +133 -126
  112. package/dist/commonjs/operations/replicationProtectionClusters.js.map +1 -1
  113. package/dist/commonjs/operations/replicationProtectionContainerMappings.js +89 -102
  114. package/dist/commonjs/operations/replicationProtectionContainerMappings.js.map +1 -1
  115. package/dist/commonjs/operations/replicationProtectionContainers.js +100 -108
  116. package/dist/commonjs/operations/replicationProtectionContainers.js.map +1 -1
  117. package/dist/commonjs/operations/replicationProtectionIntents.js +23 -39
  118. package/dist/commonjs/operations/replicationProtectionIntents.js.map +1 -1
  119. package/dist/commonjs/operations/replicationRecoveryPlans.js +133 -99
  120. package/dist/commonjs/operations/replicationRecoveryPlans.js.map +1 -1
  121. package/dist/commonjs/operations/replicationRecoveryServicesProviders.js +89 -102
  122. package/dist/commonjs/operations/replicationRecoveryServicesProviders.js.map +1 -1
  123. package/dist/commonjs/operations/replicationStorageClassificationMappings.js +67 -90
  124. package/dist/commonjs/operations/replicationStorageClassificationMappings.js.map +1 -1
  125. package/dist/commonjs/operations/replicationStorageClassifications.js +45 -78
  126. package/dist/commonjs/operations/replicationStorageClassifications.js.map +1 -1
  127. package/dist/commonjs/operations/replicationVaultHealth.js +12 -6
  128. package/dist/commonjs/operations/replicationVaultHealth.js.map +1 -1
  129. package/dist/commonjs/operations/replicationVaultSetting.js +34 -45
  130. package/dist/commonjs/operations/replicationVaultSetting.js.map +1 -1
  131. package/dist/commonjs/operations/replicationvCenters.js +78 -96
  132. package/dist/commonjs/operations/replicationvCenters.js.map +1 -1
  133. package/dist/commonjs/operations/supportedOperatingSystemsOperations.js +1 -0
  134. package/dist/commonjs/operations/supportedOperatingSystemsOperations.js.map +1 -1
  135. package/dist/commonjs/operations/targetComputeSizes.js +23 -39
  136. package/dist/commonjs/operations/targetComputeSizes.js.map +1 -1
  137. package/dist/commonjs/pagingHelper.js +2 -4
  138. package/dist/commonjs/pagingHelper.js.map +1 -1
  139. package/dist/commonjs/siteRecoveryManagementClient.js +44 -5
  140. package/dist/commonjs/siteRecoveryManagementClient.js.map +1 -1
  141. package/dist/commonjs/tsdoc-metadata.json +11 -11
  142. package/dist/esm/lroImpl.js +7 -3
  143. package/dist/esm/lroImpl.js.map +1 -1
  144. package/dist/esm/models/mappers.js +2903 -1357
  145. package/dist/esm/models/mappers.js.map +1 -1
  146. package/dist/esm/operations/clusterRecoveryPointOperations.js +1 -0
  147. package/dist/esm/operations/clusterRecoveryPointOperations.js.map +1 -1
  148. package/dist/esm/operations/clusterRecoveryPoints.js +23 -40
  149. package/dist/esm/operations/clusterRecoveryPoints.js.map +1 -1
  150. package/dist/esm/operations/migrationRecoveryPoints.js +23 -40
  151. package/dist/esm/operations/migrationRecoveryPoints.js.map +1 -1
  152. package/dist/esm/operations/operations.js +23 -40
  153. package/dist/esm/operations/operations.js.map +1 -1
  154. package/dist/esm/operations/recoveryPoints.js +23 -40
  155. package/dist/esm/operations/recoveryPoints.js.map +1 -1
  156. package/dist/esm/operations/replicationAlertSettings.js +23 -40
  157. package/dist/esm/operations/replicationAlertSettings.js.map +1 -1
  158. package/dist/esm/operations/replicationAppliances.js +23 -40
  159. package/dist/esm/operations/replicationAppliances.js.map +1 -1
  160. package/dist/esm/operations/replicationEligibilityResultsOperations.js +1 -0
  161. package/dist/esm/operations/replicationEligibilityResultsOperations.js.map +1 -1
  162. package/dist/esm/operations/replicationEvents.js +23 -40
  163. package/dist/esm/operations/replicationEvents.js.map +1 -1
  164. package/dist/esm/operations/replicationFabrics.js +111 -88
  165. package/dist/esm/operations/replicationFabrics.js.map +1 -1
  166. package/dist/esm/operations/replicationJobs.js +67 -64
  167. package/dist/esm/operations/replicationJobs.js.map +1 -1
  168. package/dist/esm/operations/replicationLogicalNetworks.js +23 -40
  169. package/dist/esm/operations/replicationLogicalNetworks.js.map +1 -1
  170. package/dist/esm/operations/replicationMigrationItems.js +144 -133
  171. package/dist/esm/operations/replicationMigrationItems.js.map +1 -1
  172. package/dist/esm/operations/replicationNetworkMappings.js +78 -97
  173. package/dist/esm/operations/replicationNetworkMappings.js.map +1 -1
  174. package/dist/esm/operations/replicationNetworks.js +45 -79
  175. package/dist/esm/operations/replicationNetworks.js.map +1 -1
  176. package/dist/esm/operations/replicationPolicies.js +56 -58
  177. package/dist/esm/operations/replicationPolicies.js.map +1 -1
  178. package/dist/esm/operations/replicationProtectableItems.js +23 -40
  179. package/dist/esm/operations/replicationProtectableItems.js.map +1 -1
  180. package/dist/esm/operations/replicationProtectedItems.js +254 -193
  181. package/dist/esm/operations/replicationProtectedItems.js.map +1 -1
  182. package/dist/esm/operations/replicationProtectionClusters.js +133 -127
  183. package/dist/esm/operations/replicationProtectionClusters.js.map +1 -1
  184. package/dist/esm/operations/replicationProtectionContainerMappings.js +89 -103
  185. package/dist/esm/operations/replicationProtectionContainerMappings.js.map +1 -1
  186. package/dist/esm/operations/replicationProtectionContainers.js +100 -109
  187. package/dist/esm/operations/replicationProtectionContainers.js.map +1 -1
  188. package/dist/esm/operations/replicationProtectionIntents.js +23 -40
  189. package/dist/esm/operations/replicationProtectionIntents.js.map +1 -1
  190. package/dist/esm/operations/replicationRecoveryPlans.js +133 -100
  191. package/dist/esm/operations/replicationRecoveryPlans.js.map +1 -1
  192. package/dist/esm/operations/replicationRecoveryServicesProviders.js +89 -103
  193. package/dist/esm/operations/replicationRecoveryServicesProviders.js.map +1 -1
  194. package/dist/esm/operations/replicationStorageClassificationMappings.js +67 -91
  195. package/dist/esm/operations/replicationStorageClassificationMappings.js.map +1 -1
  196. package/dist/esm/operations/replicationStorageClassifications.js +45 -79
  197. package/dist/esm/operations/replicationStorageClassifications.js.map +1 -1
  198. package/dist/esm/operations/replicationVaultHealth.js +12 -6
  199. package/dist/esm/operations/replicationVaultHealth.js.map +1 -1
  200. package/dist/esm/operations/replicationVaultSetting.js +34 -46
  201. package/dist/esm/operations/replicationVaultSetting.js.map +1 -1
  202. package/dist/esm/operations/replicationvCenters.js +78 -97
  203. package/dist/esm/operations/replicationvCenters.js.map +1 -1
  204. package/dist/esm/operations/supportedOperatingSystemsOperations.js +1 -0
  205. package/dist/esm/operations/supportedOperatingSystemsOperations.js.map +1 -1
  206. package/dist/esm/operations/targetComputeSizes.js +23 -40
  207. package/dist/esm/operations/targetComputeSizes.js.map +1 -1
  208. package/dist/esm/pagingHelper.js +2 -4
  209. package/dist/esm/pagingHelper.js.map +1 -1
  210. package/dist/esm/siteRecoveryManagementClient.js +44 -5
  211. package/dist/esm/siteRecoveryManagementClient.js.map +1 -1
  212. package/dist/react-native/lroImpl.js +7 -3
  213. package/dist/react-native/lroImpl.js.map +1 -1
  214. package/dist/react-native/models/mappers.js +2903 -1357
  215. package/dist/react-native/models/mappers.js.map +1 -1
  216. package/dist/react-native/operations/clusterRecoveryPointOperations.js +1 -0
  217. package/dist/react-native/operations/clusterRecoveryPointOperations.js.map +1 -1
  218. package/dist/react-native/operations/clusterRecoveryPoints.js +23 -40
  219. package/dist/react-native/operations/clusterRecoveryPoints.js.map +1 -1
  220. package/dist/react-native/operations/migrationRecoveryPoints.js +23 -40
  221. package/dist/react-native/operations/migrationRecoveryPoints.js.map +1 -1
  222. package/dist/react-native/operations/operations.js +23 -40
  223. package/dist/react-native/operations/operations.js.map +1 -1
  224. package/dist/react-native/operations/recoveryPoints.js +23 -40
  225. package/dist/react-native/operations/recoveryPoints.js.map +1 -1
  226. package/dist/react-native/operations/replicationAlertSettings.js +23 -40
  227. package/dist/react-native/operations/replicationAlertSettings.js.map +1 -1
  228. package/dist/react-native/operations/replicationAppliances.js +23 -40
  229. package/dist/react-native/operations/replicationAppliances.js.map +1 -1
  230. package/dist/react-native/operations/replicationEligibilityResultsOperations.js +1 -0
  231. package/dist/react-native/operations/replicationEligibilityResultsOperations.js.map +1 -1
  232. package/dist/react-native/operations/replicationEvents.js +23 -40
  233. package/dist/react-native/operations/replicationEvents.js.map +1 -1
  234. package/dist/react-native/operations/replicationFabrics.js +111 -88
  235. package/dist/react-native/operations/replicationFabrics.js.map +1 -1
  236. package/dist/react-native/operations/replicationJobs.js +67 -64
  237. package/dist/react-native/operations/replicationJobs.js.map +1 -1
  238. package/dist/react-native/operations/replicationLogicalNetworks.js +23 -40
  239. package/dist/react-native/operations/replicationLogicalNetworks.js.map +1 -1
  240. package/dist/react-native/operations/replicationMigrationItems.js +144 -133
  241. package/dist/react-native/operations/replicationMigrationItems.js.map +1 -1
  242. package/dist/react-native/operations/replicationNetworkMappings.js +78 -97
  243. package/dist/react-native/operations/replicationNetworkMappings.js.map +1 -1
  244. package/dist/react-native/operations/replicationNetworks.js +45 -79
  245. package/dist/react-native/operations/replicationNetworks.js.map +1 -1
  246. package/dist/react-native/operations/replicationPolicies.js +56 -58
  247. package/dist/react-native/operations/replicationPolicies.js.map +1 -1
  248. package/dist/react-native/operations/replicationProtectableItems.js +23 -40
  249. package/dist/react-native/operations/replicationProtectableItems.js.map +1 -1
  250. package/dist/react-native/operations/replicationProtectedItems.js +254 -193
  251. package/dist/react-native/operations/replicationProtectedItems.js.map +1 -1
  252. package/dist/react-native/operations/replicationProtectionClusters.js +133 -127
  253. package/dist/react-native/operations/replicationProtectionClusters.js.map +1 -1
  254. package/dist/react-native/operations/replicationProtectionContainerMappings.js +89 -103
  255. package/dist/react-native/operations/replicationProtectionContainerMappings.js.map +1 -1
  256. package/dist/react-native/operations/replicationProtectionContainers.js +100 -109
  257. package/dist/react-native/operations/replicationProtectionContainers.js.map +1 -1
  258. package/dist/react-native/operations/replicationProtectionIntents.js +23 -40
  259. package/dist/react-native/operations/replicationProtectionIntents.js.map +1 -1
  260. package/dist/react-native/operations/replicationRecoveryPlans.js +133 -100
  261. package/dist/react-native/operations/replicationRecoveryPlans.js.map +1 -1
  262. package/dist/react-native/operations/replicationRecoveryServicesProviders.js +89 -103
  263. package/dist/react-native/operations/replicationRecoveryServicesProviders.js.map +1 -1
  264. package/dist/react-native/operations/replicationStorageClassificationMappings.js +67 -91
  265. package/dist/react-native/operations/replicationStorageClassificationMappings.js.map +1 -1
  266. package/dist/react-native/operations/replicationStorageClassifications.js +45 -79
  267. package/dist/react-native/operations/replicationStorageClassifications.js.map +1 -1
  268. package/dist/react-native/operations/replicationVaultHealth.js +12 -6
  269. package/dist/react-native/operations/replicationVaultHealth.js.map +1 -1
  270. package/dist/react-native/operations/replicationVaultSetting.js +34 -46
  271. package/dist/react-native/operations/replicationVaultSetting.js.map +1 -1
  272. package/dist/react-native/operations/replicationvCenters.js +78 -97
  273. package/dist/react-native/operations/replicationvCenters.js.map +1 -1
  274. package/dist/react-native/operations/supportedOperatingSystemsOperations.js +1 -0
  275. package/dist/react-native/operations/supportedOperatingSystemsOperations.js.map +1 -1
  276. package/dist/react-native/operations/targetComputeSizes.js +23 -40
  277. package/dist/react-native/operations/targetComputeSizes.js.map +1 -1
  278. package/dist/react-native/pagingHelper.js +2 -4
  279. package/dist/react-native/pagingHelper.js.map +1 -1
  280. package/dist/react-native/siteRecoveryManagementClient.js +44 -5
  281. package/dist/react-native/siteRecoveryManagementClient.js.map +1 -1
  282. package/package.json +2 -2
  283. /package/review/{arm-recoveryservices-siterecovery.api.md → arm-recoveryservices-siterecovery-node.api.md} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"replicationProtectionClusters.js","sourceRoot":"","sources":["../../../src/operations/replicationProtectionClusters.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;;AAGH,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D,OAAO,KAAK,UAAU,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAChD,OAAO,KAAK,UAAU,MAAM,yBAAyB,CAAC;AAEtD,OAAO,EAGL,gBAAgB,GACjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAqC9C,4CAA4C;AAC5C,iEAAiE;AACjE,MAAM,OAAO,iCAAiC;IAK5C;;;OAGG;IACH,YAAY,MAAoC;QAC9C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;;;;;;;;OAQG;IACI,qCAAqC,CAC1C,iBAAyB,EACzB,YAAoB,EACpB,UAAkB,EAClB,uBAA+B,EAC/B,OAA0F;QAE1F,MAAM,IAAI,GAAG,IAAI,CAAC,8CAA8C,CAC9D,iBAAiB,EACjB,YAAY,EACZ,UAAU,EACV,uBAAuB,EACvB,OAAO,CACR,CAAC;QACF,OAAO;YACL,IAAI;gBACF,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;YACrB,CAAC;YACD,CAAC,MAAM,CAAC,aAAa,CAAC;gBACpB,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,EAAE,CAAC,QAAuB,EAAE,EAAE;gBAClC,IAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,WAAW,EAAE,CAAC;oBAC1B,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;gBACrE,CAAC;gBACD,OAAO,IAAI,CAAC,+CAA+C,CACzD,iBAAiB,EACjB,YAAY,EACZ,UAAU,EACV,uBAAuB,EACvB,OAAO,EACP,QAAQ,CACT,CAAC;YACJ,CAAC;SACF,CAAC;IACJ,CAAC;IAEc,+CAA+C,CAC5D,iBAAyB,EACzB,YAAoB,EACpB,UAAkB,EAClB,uBAA+B,EAC/B,OAA0F,EAC1F,QAAuB;;YAEvB,IAAI,MAAkF,CAAC;YACvF,IAAI,iBAAiB,GAAG,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,iBAAiB,CAAC;YACpD,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACvB,MAAM,GAAG,cAAM,IAAI,CAAC,sCAAsC,CACxD,iBAAiB,EACjB,YAAY,EACZ,UAAU,EACV,uBAAuB,EACvB,OAAO,CACR,CAAA,CAAC;gBACF,IAAI,IAAI,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;gBAC9B,iBAAiB,GAAG,MAAM,CAAC,QAAQ,CAAC;gBACpC,oBAAoB,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;gBAC9C,oBAAM,IAAI,CAAA,CAAC;YACb,CAAC;YACD,OAAO,iBAAiB,EAAE,CAAC;gBACzB,MAAM,GAAG,cAAM,IAAI,CAAC,0CAA0C,CAC5D,iBAAiB,EACjB,YAAY,EACZ,UAAU,EACV,uBAAuB,EACvB,iBAAiB,EACjB,OAAO,CACR,CAAA,CAAC;gBACF,iBAAiB,GAAG,MAAM,CAAC,QAAQ,CAAC;gBACpC,IAAI,IAAI,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;gBAC9B,oBAAoB,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;gBAC9C,oBAAM,IAAI,CAAA,CAAC;YACb,CAAC;QACH,CAAC;KAAA;IAEc,8CAA8C,CAC3D,iBAAyB,EACzB,YAAoB,EACpB,UAAkB,EAClB,uBAA+B,EAC/B,OAA0F;;;;gBAE1F,KAAyB,eAAA,KAAA,cAAA,IAAI,CAAC,+CAA+C,CAC3E,iBAAiB,EACjB,YAAY,EACZ,UAAU,EACV,uBAAuB,EACvB,OAAO,CACR,CAAA,IAAA,+DAAE,CAAC;oBANqB,cAMxB;oBANwB,WAMxB;oBANU,MAAM,IAAI,KAAA,CAAA;oBAOnB,cAAA,KAAK,CAAC,CAAC,iBAAA,cAAA,IAAI,CAAA,CAAA,CAAA,CAAC;gBACd,CAAC;;;;;;;;;QACH,CAAC;KAAA;IAED;;;;;;OAMG;IACI,IAAI,CACT,iBAAyB,EACzB,YAAoB,EACpB,OAAyD;QAEzD,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,iBAAiB,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;QAC1E,OAAO;YACL,IAAI;gBACF,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;YACrB,CAAC;YACD,CAAC,MAAM,CAAC,aAAa,CAAC;gBACpB,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,EAAE,CAAC,QAAuB,EAAE,EAAE;gBAClC,IAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,WAAW,EAAE,CAAC;oBAC1B,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;gBACrE,CAAC;gBACD,OAAO,IAAI,CAAC,cAAc,CACxB,iBAAiB,EACjB,YAAY,EACZ,OAAO,EACP,QAAQ,CACT,CAAC;YACJ,CAAC;SACF,CAAC;IACJ,CAAC;IAEc,cAAc,CAC3B,iBAAyB,EACzB,YAAoB,EACpB,OAAyD,EACzD,QAAuB;;YAEvB,IAAI,MAAiD,CAAC;YACtD,IAAI,iBAAiB,GAAG,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,iBAAiB,CAAC;YACpD,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACvB,MAAM,GAAG,cAAM,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,YAAY,EAAE,OAAO,CAAC,CAAA,CAAC;gBACpE,IAAI,IAAI,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;gBAC9B,iBAAiB,GAAG,MAAM,CAAC,QAAQ,CAAC;gBACpC,oBAAoB,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;gBAC9C,oBAAM,IAAI,CAAA,CAAC;YACb,CAAC;YACD,OAAO,iBAAiB,EAAE,CAAC;gBACzB,MAAM,GAAG,cAAM,IAAI,CAAC,SAAS,CAC3B,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EACjB,OAAO,CACR,CAAA,CAAC;gBACF,iBAAiB,GAAG,MAAM,CAAC,QAAQ,CAAC;gBACpC,IAAI,IAAI,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;gBAC9B,oBAAoB,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;gBAC9C,oBAAM,IAAI,CAAA,CAAC;YACb,CAAC;QACH,CAAC;KAAA;IAEc,aAAa,CAC1B,iBAAyB,EACzB,YAAoB,EACpB,OAAyD;;;;gBAEzD,KAAyB,eAAA,KAAA,cAAA,IAAI,CAAC,cAAc,CAC1C,iBAAiB,EACjB,YAAY,EACZ,OAAO,CACR,CAAA,IAAA,+DAAE,CAAC;oBAJqB,cAIxB;oBAJwB,WAIxB;oBAJU,MAAM,IAAI,KAAA,CAAA;oBAKnB,cAAA,KAAK,CAAC,CAAC,iBAAA,cAAA,IAAI,CAAA,CAAA,CAAA,CAAC;gBACd,CAAC;;;;;;;;;QACH,CAAC;KAAA;IAED;;;;;;;;OAQG;IACK,sCAAsC,CAC5C,iBAAyB,EACzB,YAAoB,EACpB,UAAkB,EAClB,uBAA+B,EAC/B,OAA0F;QAE1F,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CACrC;YACE,iBAAiB;YACjB,YAAY;YACZ,UAAU;YACV,uBAAuB;YACvB,OAAO;SACR,EACD,kDAAkD,CACnD,CAAC;IACJ,CAAC;IAED;;;;;;;;;OASG;IACH,GAAG,CACD,iBAAyB,EACzB,YAAoB,EACpB,UAAkB,EAClB,uBAA+B,EAC/B,gCAAwC,EACxC,OAAwD;QAExD,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CACrC;YACE,iBAAiB;YACjB,YAAY;YACZ,UAAU;YACV,uBAAuB;YACvB,gCAAgC;YAChC,OAAO;SACR,EACD,gBAAgB,CACjB,CAAC;IACJ,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,WAAW,CACf,iBAAyB,EACzB,YAAoB,EACpB,UAAkB,EAClB,uBAA+B,EAC/B,gCAAwC,EACxC,4BAA0D,EAC1D,OAA2D;QAO3D,MAAM,mBAAmB,GAAG,KAAK,EAC/B,IAAmC,EACnC,IAA8B,EACwB,EAAE;YACxD,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACtD,CAAC,CAAC;QACF,MAAM,eAAe,GAAG,KAAK,EAC3B,IAAmC,EACnC,IAA8B,EAC9B,EAAE;;YACF,IAAI,kBAAkB,GACpB,SAAS,CAAC;YACZ,MAAM,gBAAgB,GAAG,MAAA,IAAI,CAAC,OAAO,0CAAE,UAAU,CAAC;YAClD,MAAM,QAAQ,GAAmC,CAC/C,WAA6C,EAC7C,YAAqB,EACrB,EAAE;gBACF,kBAAkB,GAAG,WAAW,CAAC;gBACjC,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAG,WAAW,EAAE,YAAY,CAAC,CAAC;YAChD,CAAC,CAAC;YACF,MAAM,WAAW,mCACZ,IAAI,KACP,OAAO,kCACF,IAAI,CAAC,OAAO,KACf,UAAU,EAAE,QAAQ,MAEvB,CAAC;YACF,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YAClE,OAAO;gBACL,YAAY;gBACZ,WAAW,EAAE;oBACX,UAAU,EAAE,kBAAmB,CAAC,MAAM;oBACtC,IAAI,EAAE,kBAAmB,CAAC,UAAU;oBACpC,OAAO,EAAE,kBAAmB,CAAC,OAAO,CAAC,MAAM,EAAE;iBAC9C;aACF,CAAC;QACJ,CAAC,CAAC;QAEF,MAAM,GAAG,GAAG,aAAa,CAAC;YACxB,eAAe;YACf,IAAI,EAAE;gBACJ,iBAAiB;gBACjB,YAAY;gBACZ,UAAU;gBACV,uBAAuB;gBACvB,gCAAgC;gBAChC,4BAA4B;gBAC5B,OAAO;aACR;YACD,IAAI,EAAE,mBAAmB;SAC1B,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAGnC,GAAG,EAAE;YACL,WAAW,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU;YAChC,YAAY,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,kBAAkB;SAC1C,CAAC,CAAC;QACH,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,kBAAkB,CACtB,iBAAyB,EACzB,YAAoB,EACpB,UAAkB,EAClB,uBAA+B,EAC/B,gCAAwC,EACxC,4BAA0D,EAC1D,OAA2D;QAE3D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CACnC,iBAAiB,EACjB,YAAY,EACZ,UAAU,EACV,uBAAuB,EACvB,gCAAgC,EAChC,4BAA4B,EAC5B,OAAO,CACR,CAAC;QACF,OAAO,MAAM,CAAC,aAAa,EAAE,CAAC;IAChC,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,UAAU,CACd,iBAAyB,EACzB,YAAoB,EACpB,UAAkB,EAClB,uBAA+B,EAC/B,gCAAwC,EACxC,OAA0D;QAO1D,MAAM,mBAAmB,GAAG,KAAK,EAC/B,IAAmC,EACnC,IAA8B,EACuB,EAAE;YACvD,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACtD,CAAC,CAAC;QACF,MAAM,eAAe,GAAG,KAAK,EAC3B,IAAmC,EACnC,IAA8B,EAC9B,EAAE;;YACF,IAAI,kBAAkB,GACpB,SAAS,CAAC;YACZ,MAAM,gBAAgB,GAAG,MAAA,IAAI,CAAC,OAAO,0CAAE,UAAU,CAAC;YAClD,MAAM,QAAQ,GAAmC,CAC/C,WAA6C,EAC7C,YAAqB,EACrB,EAAE;gBACF,kBAAkB,GAAG,WAAW,CAAC;gBACjC,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAG,WAAW,EAAE,YAAY,CAAC,CAAC;YAChD,CAAC,CAAC;YACF,MAAM,WAAW,mCACZ,IAAI,KACP,OAAO,kCACF,IAAI,CAAC,OAAO,KACf,UAAU,EAAE,QAAQ,MAEvB,CAAC;YACF,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YAClE,OAAO;gBACL,YAAY;gBACZ,WAAW,EAAE;oBACX,UAAU,EAAE,kBAAmB,CAAC,MAAM;oBACtC,IAAI,EAAE,kBAAmB,CAAC,UAAU;oBACpC,OAAO,EAAE,kBAAmB,CAAC,OAAO,CAAC,MAAM,EAAE;iBAC9C;aACF,CAAC;QACJ,CAAC,CAAC;QAEF,MAAM,GAAG,GAAG,aAAa,CAAC;YACxB,eAAe;YACf,IAAI,EAAE;gBACJ,iBAAiB;gBACjB,YAAY;gBACZ,UAAU;gBACV,uBAAuB;gBACvB,gCAAgC;gBAChC,OAAO;aACR;YACD,IAAI,EAAE,kBAAkB;SACzB,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAGnC,GAAG,EAAE;YACL,WAAW,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU;YAChC,YAAY,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,kBAAkB;YACzC,sBAAsB,EAAE,UAAU;SACnC,CAAC,CAAC;QACH,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,iBAAiB,CACrB,iBAAyB,EACzB,YAAoB,EACpB,UAAkB,EAClB,uBAA+B,EAC/B,gCAAwC,EACxC,OAA0D;QAE1D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAClC,iBAAiB,EACjB,YAAY,EACZ,UAAU,EACV,uBAAuB,EACvB,gCAAgC,EAChC,OAAO,CACR,CAAC;QACF,OAAO,MAAM,CAAC,aAAa,EAAE,CAAC;IAChC,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,uBAAuB,CAC3B,iBAAyB,EACzB,YAAoB,EACpB,UAAkB,EAClB,uBAA+B,EAC/B,gCAAwC,EACxC,8BAA8D,EAC9D,OAAuE;QAOvE,MAAM,mBAAmB,GAAG,KAAK,EAC/B,IAAmC,EACnC,IAA8B,EACoC,EAAE;YACpE,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACtD,CAAC,CAAC;QACF,MAAM,eAAe,GAAG,KAAK,EAC3B,IAAmC,EACnC,IAA8B,EAC9B,EAAE;;YACF,IAAI,kBAAkB,GACpB,SAAS,CAAC;YACZ,MAAM,gBAAgB,GAAG,MAAA,IAAI,CAAC,OAAO,0CAAE,UAAU,CAAC;YAClD,MAAM,QAAQ,GAAmC,CAC/C,WAA6C,EAC7C,YAAqB,EACrB,EAAE;gBACF,kBAAkB,GAAG,WAAW,CAAC;gBACjC,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAG,WAAW,EAAE,YAAY,CAAC,CAAC;YAChD,CAAC,CAAC;YACF,MAAM,WAAW,mCACZ,IAAI,KACP,OAAO,kCACF,IAAI,CAAC,OAAO,KACf,UAAU,EAAE,QAAQ,MAEvB,CAAC;YACF,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YAClE,OAAO;gBACL,YAAY;gBACZ,WAAW,EAAE;oBACX,UAAU,EAAE,kBAAmB,CAAC,MAAM;oBACtC,IAAI,EAAE,kBAAmB,CAAC,UAAU;oBACpC,OAAO,EAAE,kBAAmB,CAAC,OAAO,CAAC,MAAM,EAAE;iBAC9C;aACF,CAAC;QACJ,CAAC,CAAC;QAEF,MAAM,GAAG,GAAG,aAAa,CAAC;YACxB,eAAe;YACf,IAAI,EAAE;gBACJ,iBAAiB;gBACjB,YAAY;gBACZ,UAAU;gBACV,uBAAuB;gBACvB,gCAAgC;gBAChC,8BAA8B;gBAC9B,OAAO;aACR;YACD,IAAI,EAAE,+BAA+B;SACtC,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAGnC,GAAG,EAAE;YACL,WAAW,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU;YAChC,YAAY,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,kBAAkB;YACzC,sBAAsB,EAAE,UAAU;SACnC,CAAC,CAAC;QACH,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,8BAA8B,CAClC,iBAAyB,EACzB,YAAoB,EACpB,UAAkB,EAClB,uBAA+B,EAC/B,gCAAwC,EACxC,8BAA8D,EAC9D,OAAuE;QAEvE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAC/C,iBAAiB,EACjB,YAAY,EACZ,UAAU,EACV,uBAAuB,EACvB,gCAAgC,EAChC,8BAA8B,EAC9B,OAAO,CACR,CAAC;QACF,OAAO,MAAM,CAAC,aAAa,EAAE,CAAC;IAChC,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,mBAAmB,CACvB,iBAAyB,EACzB,YAAoB,EACpB,UAAkB,EAClB,uBAA+B,EAC/B,gCAAwC,EACxC,OAAmE;QAOnE,MAAM,mBAAmB,GAAG,KAAK,EAC/B,IAAmC,EACnC,IAA8B,EACgC,EAAE;YAChE,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACtD,CAAC,CAAC;QACF,MAAM,eAAe,GAAG,KAAK,EAC3B,IAAmC,EACnC,IAA8B,EAC9B,EAAE;;YACF,IAAI,kBAAkB,GACpB,SAAS,CAAC;YACZ,MAAM,gBAAgB,GAAG,MAAA,IAAI,CAAC,OAAO,0CAAE,UAAU,CAAC;YAClD,MAAM,QAAQ,GAAmC,CAC/C,WAA6C,EAC7C,YAAqB,EACrB,EAAE;gBACF,kBAAkB,GAAG,WAAW,CAAC;gBACjC,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAG,WAAW,EAAE,YAAY,CAAC,CAAC;YAChD,CAAC,CAAC;YACF,MAAM,WAAW,mCACZ,IAAI,KACP,OAAO,kCACF,IAAI,CAAC,OAAO,KACf,UAAU,EAAE,QAAQ,MAEvB,CAAC;YACF,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YAClE,OAAO;gBACL,YAAY;gBACZ,WAAW,EAAE;oBACX,UAAU,EAAE,kBAAmB,CAAC,MAAM;oBACtC,IAAI,EAAE,kBAAmB,CAAC,UAAU;oBACpC,OAAO,EAAE,kBAAmB,CAAC,OAAO,CAAC,MAAM,EAAE;iBAC9C;aACF,CAAC;QACJ,CAAC,CAAC;QAEF,MAAM,GAAG,GAAG,aAAa,CAAC;YACxB,eAAe;YACf,IAAI,EAAE;gBACJ,iBAAiB;gBACjB,YAAY;gBACZ,UAAU;gBACV,uBAAuB;gBACvB,gCAAgC;gBAChC,OAAO;aACR;YACD,IAAI,EAAE,2BAA2B;SAClC,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAGnC,GAAG,EAAE;YACL,WAAW,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU;YAChC,YAAY,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,kBAAkB;YACzC,sBAAsB,EAAE,UAAU;SACnC,CAAC,CAAC;QACH,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,0BAA0B,CAC9B,iBAAyB,EACzB,YAAoB,EACpB,UAAkB,EAClB,uBAA+B,EAC/B,gCAAwC,EACxC,OAAmE;QAEnE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAC3C,iBAAiB,EACjB,YAAY,EACZ,UAAU,EACV,uBAAuB,EACvB,gCAAgC,EAChC,OAAO,CACR,CAAC;QACF,OAAO,MAAM,CAAC,aAAa,EAAE,CAAC;IAChC,CAAC;IAED;;;;;;;;;;OAUG;IACH,mBAAmB,CACjB,iBAAyB,EACzB,YAAoB,EACpB,UAAkB,EAClB,uBAA+B,EAC/B,gCAAwC,EACxC,KAAa,EACb,OAAwE;QAExE,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CACrC;YACE,iBAAiB;YACjB,YAAY;YACZ,UAAU;YACV,uBAAuB;YACvB,gCAAgC;YAChC,KAAK;YACL,OAAO;SACR,EACD,gCAAgC,CACjC,CAAC;IACJ,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,sBAAsB,CAC1B,iBAAyB,EACzB,YAAoB,EACpB,UAAkB,EAClB,uBAA+B,EAC/B,gCAAwC,EACxC,OAAsE;QAOtE,MAAM,mBAAmB,GAAG,KAAK,EAC/B,IAAmC,EACnC,IAA8B,EACmC,EAAE;YACnE,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACtD,CAAC,CAAC;QACF,MAAM,eAAe,GAAG,KAAK,EAC3B,IAAmC,EACnC,IAA8B,EAC9B,EAAE;;YACF,IAAI,kBAAkB,GACpB,SAAS,CAAC;YACZ,MAAM,gBAAgB,GAAG,MAAA,IAAI,CAAC,OAAO,0CAAE,UAAU,CAAC;YAClD,MAAM,QAAQ,GAAmC,CAC/C,WAA6C,EAC7C,YAAqB,EACrB,EAAE;gBACF,kBAAkB,GAAG,WAAW,CAAC;gBACjC,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAG,WAAW,EAAE,YAAY,CAAC,CAAC;YAChD,CAAC,CAAC;YACF,MAAM,WAAW,mCACZ,IAAI,KACP,OAAO,kCACF,IAAI,CAAC,OAAO,KACf,UAAU,EAAE,QAAQ,MAEvB,CAAC;YACF,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YAClE,OAAO;gBACL,YAAY;gBACZ,WAAW,EAAE;oBACX,UAAU,EAAE,kBAAmB,CAAC,MAAM;oBACtC,IAAI,EAAE,kBAAmB,CAAC,UAAU;oBACpC,OAAO,EAAE,kBAAmB,CAAC,OAAO,CAAC,MAAM,EAAE;iBAC9C;aACF,CAAC;QACJ,CAAC,CAAC;QAEF,MAAM,GAAG,GAAG,aAAa,CAAC;YACxB,eAAe;YACf,IAAI,EAAE;gBACJ,iBAAiB;gBACjB,YAAY;gBACZ,UAAU;gBACV,uBAAuB;gBACvB,gCAAgC;gBAChC,OAAO;aACR;YACD,IAAI,EAAE,8BAA8B;SACrC,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAGnC,GAAG,EAAE;YACL,WAAW,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU;YAChC,YAAY,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,kBAAkB;YACzC,sBAAsB,EAAE,UAAU;SACnC,CAAC,CAAC;QACH,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,6BAA6B,CACjC,iBAAyB,EACzB,YAAoB,EACpB,UAAkB,EAClB,uBAA+B,EAC/B,gCAAwC,EACxC,OAAsE;QAEtE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAC9C,iBAAiB,EACjB,YAAY,EACZ,UAAU,EACV,uBAAuB,EACvB,gCAAgC,EAChC,OAAO,CACR,CAAC;QACF,OAAO,MAAM,CAAC,aAAa,EAAE,CAAC;IAChC,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,iBAAiB,CACrB,iBAAyB,EACzB,YAAoB,EACpB,UAAkB,EAClB,uBAA+B,EAC/B,gCAAwC,EACxC,aAAuC,EACvC,OAAiE;QAOjE,MAAM,mBAAmB,GAAG,KAAK,EAC/B,IAAmC,EACnC,IAA8B,EAC8B,EAAE;YAC9D,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACtD,CAAC,CAAC;QACF,MAAM,eAAe,GAAG,KAAK,EAC3B,IAAmC,EACnC,IAA8B,EAC9B,EAAE;;YACF,IAAI,kBAAkB,GACpB,SAAS,CAAC;YACZ,MAAM,gBAAgB,GAAG,MAAA,IAAI,CAAC,OAAO,0CAAE,UAAU,CAAC;YAClD,MAAM,QAAQ,GAAmC,CAC/C,WAA6C,EAC7C,YAAqB,EACrB,EAAE;gBACF,kBAAkB,GAAG,WAAW,CAAC;gBACjC,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAG,WAAW,EAAE,YAAY,CAAC,CAAC;YAChD,CAAC,CAAC;YACF,MAAM,WAAW,mCACZ,IAAI,KACP,OAAO,kCACF,IAAI,CAAC,OAAO,KACf,UAAU,EAAE,QAAQ,MAEvB,CAAC;YACF,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YAClE,OAAO;gBACL,YAAY;gBACZ,WAAW,EAAE;oBACX,UAAU,EAAE,kBAAmB,CAAC,MAAM;oBACtC,IAAI,EAAE,kBAAmB,CAAC,UAAU;oBACpC,OAAO,EAAE,kBAAmB,CAAC,OAAO,CAAC,MAAM,EAAE;iBAC9C;aACF,CAAC;QACJ,CAAC,CAAC;QAEF,MAAM,GAAG,GAAG,aAAa,CAAC;YACxB,eAAe;YACf,IAAI,EAAE;gBACJ,iBAAiB;gBACjB,YAAY;gBACZ,UAAU;gBACV,uBAAuB;gBACvB,gCAAgC;gBAChC,aAAa;gBACb,OAAO;aACR;YACD,IAAI,EAAE,yBAAyB;SAChC,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAGnC,GAAG,EAAE;YACL,WAAW,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU;YAChC,YAAY,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,kBAAkB;YACzC,sBAAsB,EAAE,UAAU;SACnC,CAAC,CAAC;QACH,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,wBAAwB,CAC5B,iBAAyB,EACzB,YAAoB,EACpB,UAAkB,EAClB,uBAA+B,EAC/B,gCAAwC,EACxC,aAAuC,EACvC,OAAiE;QAEjE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CACzC,iBAAiB,EACjB,YAAY,EACZ,UAAU,EACV,uBAAuB,EACvB,gCAAgC,EAChC,aAAa,EACb,OAAO,CACR,CAAC;QACF,OAAO,MAAM,CAAC,aAAa,EAAE,CAAC;IAChC,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,wBAAwB,CAC5B,iBAAyB,EACzB,YAAoB,EACpB,UAAkB,EAClB,uBAA+B,EAC/B,gCAAwC,EACxC,YAA6C,EAC7C,OAAwE;QAOxE,MAAM,mBAAmB,GAAG,KAAK,EAC/B,IAAmC,EACnC,IAA8B,EACqC,EAAE;YACrE,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACtD,CAAC,CAAC;QACF,MAAM,eAAe,GAAG,KAAK,EAC3B,IAAmC,EACnC,IAA8B,EAC9B,EAAE;;YACF,IAAI,kBAAkB,GACpB,SAAS,CAAC;YACZ,MAAM,gBAAgB,GAAG,MAAA,IAAI,CAAC,OAAO,0CAAE,UAAU,CAAC;YAClD,MAAM,QAAQ,GAAmC,CAC/C,WAA6C,EAC7C,YAAqB,EACrB,EAAE;gBACF,kBAAkB,GAAG,WAAW,CAAC;gBACjC,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAG,WAAW,EAAE,YAAY,CAAC,CAAC;YAChD,CAAC,CAAC;YACF,MAAM,WAAW,mCACZ,IAAI,KACP,OAAO,kCACF,IAAI,CAAC,OAAO,KACf,UAAU,EAAE,QAAQ,MAEvB,CAAC;YACF,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YAClE,OAAO;gBACL,YAAY;gBACZ,WAAW,EAAE;oBACX,UAAU,EAAE,kBAAmB,CAAC,MAAM;oBACtC,IAAI,EAAE,kBAAmB,CAAC,UAAU;oBACpC,OAAO,EAAE,kBAAmB,CAAC,OAAO,CAAC,MAAM,EAAE;iBAC9C;aACF,CAAC;QACJ,CAAC,CAAC;QAEF,MAAM,GAAG,GAAG,aAAa,CAAC;YACxB,eAAe;YACf,IAAI,EAAE;gBACJ,iBAAiB;gBACjB,YAAY;gBACZ,UAAU;gBACV,uBAAuB;gBACvB,gCAAgC;gBAChC,YAAY;gBACZ,OAAO;aACR;YACD,IAAI,EAAE,gCAAgC;SACvC,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAGnC,GAAG,EAAE;YACL,WAAW,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU;YAChC,YAAY,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,kBAAkB;YACzC,sBAAsB,EAAE,UAAU;SACnC,CAAC,CAAC;QACH,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,+BAA+B,CACnC,iBAAyB,EACzB,YAAoB,EACpB,UAAkB,EAClB,uBAA+B,EAC/B,gCAAwC,EACxC,YAA6C,EAC7C,OAAwE;QAExE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAChD,iBAAiB,EACjB,YAAY,EACZ,UAAU,EACV,uBAAuB,EACvB,gCAAgC,EAChC,YAAY,EACZ,OAAO,CACR,CAAC;QACF,OAAO,MAAM,CAAC,aAAa,EAAE,CAAC;IAChC,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,sBAAsB,CAC1B,iBAAyB,EACzB,YAAoB,EACpB,UAAkB,EAClB,uBAA+B,EAC/B,gCAAwC,EACxC,aAA4C,EAC5C,OAAsE;QAOtE,MAAM,mBAAmB,GAAG,KAAK,EAC/B,IAAmC,EACnC,IAA8B,EACmC,EAAE;YACnE,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACtD,CAAC,CAAC;QACF,MAAM,eAAe,GAAG,KAAK,EAC3B,IAAmC,EACnC,IAA8B,EAC9B,EAAE;;YACF,IAAI,kBAAkB,GACpB,SAAS,CAAC;YACZ,MAAM,gBAAgB,GAAG,MAAA,IAAI,CAAC,OAAO,0CAAE,UAAU,CAAC;YAClD,MAAM,QAAQ,GAAmC,CAC/C,WAA6C,EAC7C,YAAqB,EACrB,EAAE;gBACF,kBAAkB,GAAG,WAAW,CAAC;gBACjC,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAG,WAAW,EAAE,YAAY,CAAC,CAAC;YAChD,CAAC,CAAC;YACF,MAAM,WAAW,mCACZ,IAAI,KACP,OAAO,kCACF,IAAI,CAAC,OAAO,KACf,UAAU,EAAE,QAAQ,MAEvB,CAAC;YACF,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YAClE,OAAO;gBACL,YAAY;gBACZ,WAAW,EAAE;oBACX,UAAU,EAAE,kBAAmB,CAAC,MAAM;oBACtC,IAAI,EAAE,kBAAmB,CAAC,UAAU;oBACpC,OAAO,EAAE,kBAAmB,CAAC,OAAO,CAAC,MAAM,EAAE;iBAC9C;aACF,CAAC;QACJ,CAAC,CAAC;QAEF,MAAM,GAAG,GAAG,aAAa,CAAC;YACxB,eAAe;YACf,IAAI,EAAE;gBACJ,iBAAiB;gBACjB,YAAY;gBACZ,UAAU;gBACV,uBAAuB;gBACvB,gCAAgC;gBAChC,aAAa;gBACb,OAAO;aACR;YACD,IAAI,EAAE,8BAA8B;SACrC,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAGnC,GAAG,EAAE;YACL,WAAW,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU;YAChC,YAAY,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,kBAAkB;YACzC,sBAAsB,EAAE,UAAU;SACnC,CAAC,CAAC;QACH,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,6BAA6B,CACjC,iBAAyB,EACzB,YAAoB,EACpB,UAAkB,EAClB,uBAA+B,EAC/B,gCAAwC,EACxC,aAA4C,EAC5C,OAAsE;QAEtE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAC9C,iBAAiB,EACjB,YAAY,EACZ,UAAU,EACV,uBAAuB,EACvB,gCAAgC,EAChC,aAAa,EACb,OAAO,CACR,CAAC;QACF,OAAO,MAAM,CAAC,aAAa,EAAE,CAAC;IAChC,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CACX,iBAAyB,EACzB,YAAoB,EACpB,OAAyD;QAEzD,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CACrC,EAAE,iBAAiB,EAAE,YAAY,EAAE,OAAO,EAAE,EAC5C,iBAAiB,CAClB,CAAC;IACJ,CAAC;IAED;;;;;;;;;;OAUG;IACK,0CAA0C,CAChD,iBAAyB,EACzB,YAAoB,EACpB,UAAkB,EAClB,uBAA+B,EAC/B,QAAgB,EAChB,OAA8F;QAE9F,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CACrC;YACE,iBAAiB;YACjB,YAAY;YACZ,UAAU;YACV,uBAAuB;YACvB,QAAQ;YACR,OAAO;SACR,EACD,sDAAsD,CACvD,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACK,SAAS,CACf,iBAAyB,EACzB,YAAoB,EACpB,QAAgB,EAChB,OAA6D;QAE7D,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CACrC,EAAE,iBAAiB,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,EACtD,qBAAqB,CACtB,CAAC;IACJ,CAAC;CACF;AACD,2BAA2B;AAC3B,MAAM,UAAU,GAAG,UAAU,CAAC,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;AAE3E,MAAM,kDAAkD,GACtD;IACE,IAAI,EAAE,uPAAuP;IAC7P,UAAU,EAAE,KAAK;IACjB,SAAS,EAAE;QACT,GAAG,EAAE;YACH,UAAU,EAAE,OAAO,CAAC,sCAAsC;SAC3D;QACD,OAAO,EAAE;YACP,UAAU,EAAE,OAAO,CAAC,aAAa;SAClC;KACF;IACD,eAAe,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;IACxC,aAAa,EAAE;QACb,UAAU,CAAC,KAAK;QAChB,UAAU,CAAC,iBAAiB;QAC5B,UAAU,CAAC,cAAc;QACzB,UAAU,CAAC,aAAa;QACxB,UAAU,CAAC,WAAW;QACtB,UAAU,CAAC,wBAAwB;KACpC;IACD,gBAAgB,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;IACrC,UAAU;CACX,CAAC;AACJ,MAAM,gBAAgB,GAA6B;IACjD,IAAI,EAAE,0RAA0R;IAChS,UAAU,EAAE,KAAK;IACjB,SAAS,EAAE;QACT,GAAG,EAAE;YACH,UAAU,EAAE,OAAO,CAAC,4BAA4B;SACjD;QACD,OAAO,EAAE;YACP,UAAU,EAAE,OAAO,CAAC,aAAa;SAClC;KACF;IACD,eAAe,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;IACxC,aAAa,EAAE;QACb,UAAU,CAAC,KAAK;QAChB,UAAU,CAAC,iBAAiB;QAC5B,UAAU,CAAC,cAAc;QACzB,UAAU,CAAC,aAAa;QACxB,UAAU,CAAC,WAAW;QACtB,UAAU,CAAC,wBAAwB;QACnC,UAAU,CAAC,gCAAgC;KAC5C;IACD,gBAAgB,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;IACrC,UAAU;CACX,CAAC;AACF,MAAM,mBAAmB,GAA6B;IACpD,IAAI,EAAE,0RAA0R;IAChS,UAAU,EAAE,KAAK;IACjB,SAAS,EAAE;QACT,GAAG,EAAE;YACH,UAAU,EAAE,OAAO,CAAC,4BAA4B;SACjD;QACD,GAAG,EAAE;YACH,UAAU,EAAE,OAAO,CAAC,4BAA4B;SACjD;QACD,GAAG,EAAE;YACH,UAAU,EAAE,OAAO,CAAC,4BAA4B;SACjD;QACD,GAAG,EAAE;YACH,UAAU,EAAE,OAAO,CAAC,4BAA4B;SACjD;QACD,OAAO,EAAE;YACP,UAAU,EAAE,OAAO,CAAC,aAAa;SAClC;KACF;IACD,WAAW,EAAE,UAAU,CAAC,4BAA4B;IACpD,eAAe,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;IACxC,aAAa,EAAE;QACb,UAAU,CAAC,KAAK;QAChB,UAAU,CAAC,iBAAiB;QAC5B,UAAU,CAAC,cAAc;QACzB,UAAU,CAAC,YAAY;QACvB,UAAU,CAAC,WAAW;QACtB,UAAU,CAAC,wBAAwB;QACnC,UAAU,CAAC,gCAAgC;KAC5C;IACD,gBAAgB,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,WAAW,CAAC;IAC7D,SAAS,EAAE,MAAM;IACjB,UAAU;CACX,CAAC;AACF,MAAM,kBAAkB,GAA6B;IACnD,IAAI,EAAE,0RAA0R;IAChS,UAAU,EAAE,QAAQ;IACpB,SAAS,EAAE;QACT,GAAG,EAAE;YACH,aAAa,EAAE,OAAO,CAAC,yCAAyC;SACjE;QACD,GAAG,EAAE;YACH,aAAa,EAAE,OAAO,CAAC,yCAAyC;SACjE;QACD,GAAG,EAAE;YACH,aAAa,EAAE,OAAO,CAAC,yCAAyC;SACjE;QACD,GAAG,EAAE;YACH,aAAa,EAAE,OAAO,CAAC,yCAAyC;SACjE;QACD,OAAO,EAAE;YACP,UAAU,EAAE,OAAO,CAAC,aAAa;SAClC;KACF;IACD,eAAe,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;IACxC,aAAa,EAAE;QACb,UAAU,CAAC,KAAK;QAChB,UAAU,CAAC,iBAAiB;QAC5B,UAAU,CAAC,cAAc;QACzB,UAAU,CAAC,YAAY;QACvB,UAAU,CAAC,WAAW;QACtB,UAAU,CAAC,wBAAwB;QACnC,UAAU,CAAC,gCAAgC;KAC5C;IACD,gBAAgB,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;IACrC,UAAU;CACX,CAAC;AACF,MAAM,+BAA+B,GAA6B;IAChE,IAAI,EAAE,6SAA6S;IACnT,UAAU,EAAE,MAAM;IAClB,SAAS,EAAE;QACT,GAAG,EAAE;YACH,UAAU,EAAE,OAAO,CAAC,4BAA4B;SACjD;QACD,GAAG,EAAE;YACH,UAAU,EAAE,OAAO,CAAC,4BAA4B;SACjD;QACD,GAAG,EAAE;YACH,UAAU,EAAE,OAAO,CAAC,4BAA4B;SACjD;QACD,GAAG,EAAE;YACH,UAAU,EAAE,OAAO,CAAC,4BAA4B;SACjD;QACD,OAAO,EAAE;YACP,UAAU,EAAE,OAAO,CAAC,aAAa;SAClC;KACF;IACD,WAAW,EAAE,UAAU,CAAC,8BAA8B;IACtD,eAAe,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;IACxC,aAAa,EAAE;QACb,UAAU,CAAC,KAAK;QAChB,UAAU,CAAC,iBAAiB;QAC5B,UAAU,CAAC,cAAc;QACzB,UAAU,CAAC,aAAa;QACxB,UAAU,CAAC,WAAW;QACtB,UAAU,CAAC,wBAAwB;QACnC,UAAU,CAAC,gCAAgC;KAC5C;IACD,gBAAgB,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,WAAW,CAAC;IAC7D,SAAS,EAAE,MAAM;IACjB,UAAU;CACX,CAAC;AACF,MAAM,2BAA2B,GAA6B;IAC5D,IAAI,EAAE,ySAAyS;IAC/S,UAAU,EAAE,MAAM;IAClB,SAAS,EAAE;QACT,GAAG,EAAE;YACH,UAAU,EAAE,OAAO,CAAC,4BAA4B;SACjD;QACD,GAAG,EAAE;YACH,UAAU,EAAE,OAAO,CAAC,4BAA4B;SACjD;QACD,GAAG,EAAE;YACH,UAAU,EAAE,OAAO,CAAC,4BAA4B;SACjD;QACD,GAAG,EAAE;YACH,UAAU,EAAE,OAAO,CAAC,4BAA4B;SACjD;QACD,OAAO,EAAE;YACP,UAAU,EAAE,OAAO,CAAC,aAAa;SAClC;KACF;IACD,eAAe,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;IACxC,aAAa,EAAE;QACb,UAAU,CAAC,KAAK;QAChB,UAAU,CAAC,iBAAiB;QAC5B,UAAU,CAAC,cAAc;QACzB,UAAU,CAAC,aAAa;QACxB,UAAU,CAAC,WAAW;QACtB,UAAU,CAAC,wBAAwB;QACnC,UAAU,CAAC,gCAAgC;KAC5C;IACD,gBAAgB,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;IACrC,UAAU;CACX,CAAC;AACF,MAAM,gCAAgC,GAA6B;IACjE,IAAI,EAAE,mTAAmT;IACzT,UAAU,EAAE,KAAK;IACjB,SAAS,EAAE;QACT,GAAG,EAAE;YACH,UAAU,EAAE,OAAO,CAAC,4BAA4B;SACjD;QACD,OAAO,EAAE;YACP,UAAU,EAAE,OAAO,CAAC,aAAa;SAClC;KACF;IACD,eAAe,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;IACxC,aAAa,EAAE;QACb,UAAU,CAAC,KAAK;QAChB,UAAU,CAAC,iBAAiB;QAC5B,UAAU,CAAC,cAAc;QACzB,UAAU,CAAC,aAAa;QACxB,UAAU,CAAC,WAAW;QACtB,UAAU,CAAC,wBAAwB;QACnC,UAAU,CAAC,gCAAgC;QAC3C,UAAU,CAAC,KAAK;KACjB;IACD,gBAAgB,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;IACrC,UAAU;CACX,CAAC;AACF,MAAM,8BAA8B,GAA6B;IAC/D,IAAI,EAAE,4SAA4S;IAClT,UAAU,EAAE,MAAM;IAClB,SAAS,EAAE;QACT,GAAG,EAAE;YACH,UAAU,EAAE,OAAO,CAAC,4BAA4B;SACjD;QACD,GAAG,EAAE;YACH,UAAU,EAAE,OAAO,CAAC,4BAA4B;SACjD;QACD,GAAG,EAAE;YACH,UAAU,EAAE,OAAO,CAAC,4BAA4B;SACjD;QACD,GAAG,EAAE;YACH,UAAU,EAAE,OAAO,CAAC,4BAA4B;SACjD;QACD,OAAO,EAAE;YACP,UAAU,EAAE,OAAO,CAAC,aAAa;SAClC;KACF;IACD,eAAe,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;IACxC,aAAa,EAAE;QACb,UAAU,CAAC,KAAK;QAChB,UAAU,CAAC,iBAAiB;QAC5B,UAAU,CAAC,cAAc;QACzB,UAAU,CAAC,aAAa;QACxB,UAAU,CAAC,WAAW;QACtB,UAAU,CAAC,wBAAwB;QACnC,UAAU,CAAC,gCAAgC;KAC5C;IACD,gBAAgB,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;IACrC,UAAU;CACX,CAAC;AACF,MAAM,yBAAyB,GAA6B;IAC1D,IAAI,EAAE,uSAAuS;IAC7S,UAAU,EAAE,MAAM;IAClB,SAAS,EAAE;QACT,GAAG,EAAE;YACH,UAAU,EAAE,OAAO,CAAC,4BAA4B;SACjD;QACD,GAAG,EAAE;YACH,UAAU,EAAE,OAAO,CAAC,4BAA4B;SACjD;QACD,GAAG,EAAE;YACH,UAAU,EAAE,OAAO,CAAC,4BAA4B;SACjD;QACD,GAAG,EAAE;YACH,UAAU,EAAE,OAAO,CAAC,4BAA4B;SACjD;QACD,OAAO,EAAE;YACP,UAAU,EAAE,OAAO,CAAC,aAAa;SAClC;KACF;IACD,WAAW,EAAE,UAAU,CAAC,cAAc;IACtC,eAAe,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;IACxC,aAAa,EAAE;QACb,UAAU,CAAC,KAAK;QAChB,UAAU,CAAC,iBAAiB;QAC5B,UAAU,CAAC,cAAc;QACzB,UAAU,CAAC,aAAa;QACxB,UAAU,CAAC,WAAW;QACtB,UAAU,CAAC,wBAAwB;QACnC,UAAU,CAAC,gCAAgC;KAC5C;IACD,gBAAgB,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,WAAW,CAAC;IAC7D,SAAS,EAAE,MAAM;IACjB,UAAU;CACX,CAAC;AACF,MAAM,gCAAgC,GAA6B;IACjE,IAAI,EAAE,8SAA8S;IACpT,UAAU,EAAE,MAAM;IAClB,SAAS,EAAE;QACT,GAAG,EAAE;YACH,UAAU,EAAE,OAAO,CAAC,4BAA4B;SACjD;QACD,GAAG,EAAE;YACH,UAAU,EAAE,OAAO,CAAC,4BAA4B;SACjD;QACD,GAAG,EAAE;YACH,UAAU,EAAE,OAAO,CAAC,4BAA4B;SACjD;QACD,GAAG,EAAE;YACH,UAAU,EAAE,OAAO,CAAC,4BAA4B;SACjD;QACD,OAAO,EAAE;YACP,UAAU,EAAE,OAAO,CAAC,aAAa;SAClC;KACF;IACD,WAAW,EAAE,UAAU,CAAC,aAAa;IACrC,eAAe,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;IACxC,aAAa,EAAE;QACb,UAAU,CAAC,KAAK;QAChB,UAAU,CAAC,iBAAiB;QAC5B,UAAU,CAAC,cAAc;QACzB,UAAU,CAAC,aAAa;QACxB,UAAU,CAAC,WAAW;QACtB,UAAU,CAAC,wBAAwB;QACnC,UAAU,CAAC,gCAAgC;KAC5C;IACD,gBAAgB,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,WAAW,CAAC;IAC7D,SAAS,EAAE,MAAM;IACjB,UAAU;CACX,CAAC;AACF,MAAM,8BAA8B,GAA6B;IAC/D,IAAI,EAAE,4SAA4S;IAClT,UAAU,EAAE,MAAM;IAClB,SAAS,EAAE;QACT,GAAG,EAAE;YACH,UAAU,EAAE,OAAO,CAAC,4BAA4B;SACjD;QACD,GAAG,EAAE;YACH,UAAU,EAAE,OAAO,CAAC,4BAA4B;SACjD;QACD,GAAG,EAAE;YACH,UAAU,EAAE,OAAO,CAAC,4BAA4B;SACjD;QACD,GAAG,EAAE;YACH,UAAU,EAAE,OAAO,CAAC,4BAA4B;SACjD;QACD,OAAO,EAAE;YACP,UAAU,EAAE,OAAO,CAAC,aAAa;SAClC;KACF;IACD,WAAW,EAAE,UAAU,CAAC,cAAc;IACtC,eAAe,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;IACxC,aAAa,EAAE;QACb,UAAU,CAAC,KAAK;QAChB,UAAU,CAAC,iBAAiB;QAC5B,UAAU,CAAC,cAAc;QACzB,UAAU,CAAC,aAAa;QACxB,UAAU,CAAC,WAAW;QACtB,UAAU,CAAC,wBAAwB;QACnC,UAAU,CAAC,gCAAgC;KAC5C;IACD,gBAAgB,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,WAAW,CAAC;IAC7D,SAAS,EAAE,MAAM;IACjB,UAAU;CACX,CAAC;AACF,MAAM,iBAAiB,GAA6B;IAClD,IAAI,EAAE,6JAA6J;IACnK,UAAU,EAAE,KAAK;IACjB,SAAS,EAAE;QACT,GAAG,EAAE;YACH,UAAU,EAAE,OAAO,CAAC,sCAAsC;SAC3D;QACD,OAAO,EAAE;YACP,UAAU,EAAE,OAAO,CAAC,aAAa;SAClC;KACF;IACD,eAAe,EAAE;QACf,UAAU,CAAC,UAAU;QACrB,UAAU,CAAC,MAAM;QACjB,UAAU,CAAC,SAAS;KACrB;IACD,aAAa,EAAE;QACb,UAAU,CAAC,KAAK;QAChB,UAAU,CAAC,iBAAiB;QAC5B,UAAU,CAAC,cAAc;QACzB,UAAU,CAAC,aAAa;KACzB;IACD,gBAAgB,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;IACrC,UAAU;CACX,CAAC;AACF,MAAM,sDAAsD,GAC1D;IACE,IAAI,EAAE,YAAY;IAClB,UAAU,EAAE,KAAK;IACjB,SAAS,EAAE;QACT,GAAG,EAAE;YACH,UAAU,EAAE,OAAO,CAAC,sCAAsC;SAC3D;QACD,OAAO,EAAE;YACP,UAAU,EAAE,OAAO,CAAC,aAAa;SAClC;KACF;IACD,aAAa,EAAE;QACb,UAAU,CAAC,KAAK;QAChB,UAAU,CAAC,iBAAiB;QAC5B,UAAU,CAAC,cAAc;QACzB,UAAU,CAAC,QAAQ;QACnB,UAAU,CAAC,aAAa;QACxB,UAAU,CAAC,WAAW;QACtB,UAAU,CAAC,wBAAwB;KACpC;IACD,gBAAgB,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;IACrC,UAAU;CACX,CAAC;AACJ,MAAM,qBAAqB,GAA6B;IACtD,IAAI,EAAE,YAAY;IAClB,UAAU,EAAE,KAAK;IACjB,SAAS,EAAE;QACT,GAAG,EAAE;YACH,UAAU,EAAE,OAAO,CAAC,sCAAsC;SAC3D;QACD,OAAO,EAAE;YACP,UAAU,EAAE,OAAO,CAAC,aAAa;SAClC;KACF;IACD,aAAa,EAAE;QACb,UAAU,CAAC,KAAK;QAChB,UAAU,CAAC,iBAAiB;QAC5B,UAAU,CAAC,cAAc;QACzB,UAAU,CAAC,QAAQ;QACnB,UAAU,CAAC,aAAa;KACzB;IACD,gBAAgB,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;IACrC,UAAU;CACX,CAAC","sourcesContent":["/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { PagedAsyncIterableIterator, PageSettings } from \"@azure/core-paging\";\nimport { setContinuationToken } from \"../pagingHelper.js\";\nimport { ReplicationProtectionClusters } from \"../operationsInterfaces/index.js\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers.js\";\nimport * as Parameters from \"../models/parameters.js\";\nimport { SiteRecoveryManagementClient } from \"../siteRecoveryManagementClient.js\";\nimport {\n SimplePollerLike,\n OperationState,\n createHttpPoller,\n} from \"@azure/core-lro\";\nimport { createLroSpec } from \"../lroImpl.js\";\nimport {\n ReplicationProtectionCluster,\n ReplicationProtectionClustersListByReplicationProtectionContainersNextOptionalParams,\n ReplicationProtectionClustersListByReplicationProtectionContainersOptionalParams,\n ReplicationProtectionClustersListByReplicationProtectionContainersResponse,\n ReplicationProtectionClustersListNextOptionalParams,\n ReplicationProtectionClustersListOptionalParams,\n ReplicationProtectionClustersListResponse,\n ReplicationProtectionClustersGetOptionalParams,\n ReplicationProtectionClustersGetResponse,\n ReplicationProtectionClustersCreateOptionalParams,\n ReplicationProtectionClustersCreateResponse,\n ReplicationProtectionClustersPurgeOptionalParams,\n ReplicationProtectionClustersPurgeResponse,\n ApplyClusterRecoveryPointInput,\n ReplicationProtectionClustersApplyRecoveryPointOptionalParams,\n ReplicationProtectionClustersApplyRecoveryPointResponse,\n ReplicationProtectionClustersFailoverCommitOptionalParams,\n ReplicationProtectionClustersFailoverCommitResponse,\n ReplicationProtectionClustersGetOperationResultsOptionalParams,\n ReplicationProtectionClustersGetOperationResultsResponse,\n ReplicationProtectionClustersRepairReplicationOptionalParams,\n ReplicationProtectionClustersRepairReplicationResponse,\n ClusterTestFailoverInput,\n ReplicationProtectionClustersTestFailoverOptionalParams,\n ReplicationProtectionClustersTestFailoverResponse,\n ClusterTestFailoverCleanupInput,\n ReplicationProtectionClustersTestFailoverCleanupOptionalParams,\n ReplicationProtectionClustersTestFailoverCleanupResponse,\n ClusterUnplannedFailoverInput,\n ReplicationProtectionClustersUnplannedFailoverOptionalParams,\n ReplicationProtectionClustersUnplannedFailoverResponse,\n ReplicationProtectionClustersListByReplicationProtectionContainersNextResponse,\n ReplicationProtectionClustersListNextResponse,\n} from \"../models/index.js\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing ReplicationProtectionClusters operations. */\nexport class ReplicationProtectionClustersImpl\n implements ReplicationProtectionClusters\n{\n private readonly client: SiteRecoveryManagementClient;\n\n /**\n * Initialize a new instance of the class ReplicationProtectionClusters class.\n * @param client Reference to the service client\n */\n constructor(client: SiteRecoveryManagementClient) {\n this.client = client;\n }\n\n /**\n * Gets the list of ASR replication protected clusters in the protection container.\n * @param resourceGroupName The name of the resource group where the recovery services vault is\n * present.\n * @param resourceName The name of the recovery services vault.\n * @param fabricName Fabric name.\n * @param protectionContainerName Protection container name.\n * @param options The options parameters.\n */\n public listByReplicationProtectionContainers(\n resourceGroupName: string,\n resourceName: string,\n fabricName: string,\n protectionContainerName: string,\n options?: ReplicationProtectionClustersListByReplicationProtectionContainersOptionalParams,\n ): PagedAsyncIterableIterator<ReplicationProtectionCluster> {\n const iter = this.listByReplicationProtectionContainersPagingAll(\n resourceGroupName,\n resourceName,\n fabricName,\n protectionContainerName,\n options,\n );\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: (settings?: PageSettings) => {\n if (settings?.maxPageSize) {\n throw new Error(\"maxPageSize is not supported by this operation.\");\n }\n return this.listByReplicationProtectionContainersPagingPage(\n resourceGroupName,\n resourceName,\n fabricName,\n protectionContainerName,\n options,\n settings,\n );\n },\n };\n }\n\n private async *listByReplicationProtectionContainersPagingPage(\n resourceGroupName: string,\n resourceName: string,\n fabricName: string,\n protectionContainerName: string,\n options?: ReplicationProtectionClustersListByReplicationProtectionContainersOptionalParams,\n settings?: PageSettings,\n ): AsyncIterableIterator<ReplicationProtectionCluster[]> {\n let result: ReplicationProtectionClustersListByReplicationProtectionContainersResponse;\n let continuationToken = settings?.continuationToken;\n if (!continuationToken) {\n result = await this._listByReplicationProtectionContainers(\n resourceGroupName,\n resourceName,\n fabricName,\n protectionContainerName,\n options,\n );\n let page = result.value || [];\n continuationToken = result.nextLink;\n setContinuationToken(page, continuationToken);\n yield page;\n }\n while (continuationToken) {\n result = await this._listByReplicationProtectionContainersNext(\n resourceGroupName,\n resourceName,\n fabricName,\n protectionContainerName,\n continuationToken,\n options,\n );\n continuationToken = result.nextLink;\n let page = result.value || [];\n setContinuationToken(page, continuationToken);\n yield page;\n }\n }\n\n private async *listByReplicationProtectionContainersPagingAll(\n resourceGroupName: string,\n resourceName: string,\n fabricName: string,\n protectionContainerName: string,\n options?: ReplicationProtectionClustersListByReplicationProtectionContainersOptionalParams,\n ): AsyncIterableIterator<ReplicationProtectionCluster> {\n for await (const page of this.listByReplicationProtectionContainersPagingPage(\n resourceGroupName,\n resourceName,\n fabricName,\n protectionContainerName,\n options,\n )) {\n yield* page;\n }\n }\n\n /**\n * Gets the list of ASR replication protected clusters in the vault.\n * @param resourceGroupName The name of the resource group where the recovery services vault is\n * present.\n * @param resourceName The name of the recovery services vault.\n * @param options The options parameters.\n */\n public list(\n resourceGroupName: string,\n resourceName: string,\n options?: ReplicationProtectionClustersListOptionalParams,\n ): PagedAsyncIterableIterator<ReplicationProtectionCluster> {\n const iter = this.listPagingAll(resourceGroupName, resourceName, options);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: (settings?: PageSettings) => {\n if (settings?.maxPageSize) {\n throw new Error(\"maxPageSize is not supported by this operation.\");\n }\n return this.listPagingPage(\n resourceGroupName,\n resourceName,\n options,\n settings,\n );\n },\n };\n }\n\n private async *listPagingPage(\n resourceGroupName: string,\n resourceName: string,\n options?: ReplicationProtectionClustersListOptionalParams,\n settings?: PageSettings,\n ): AsyncIterableIterator<ReplicationProtectionCluster[]> {\n let result: ReplicationProtectionClustersListResponse;\n let continuationToken = settings?.continuationToken;\n if (!continuationToken) {\n result = await this._list(resourceGroupName, resourceName, options);\n let page = result.value || [];\n continuationToken = result.nextLink;\n setContinuationToken(page, continuationToken);\n yield page;\n }\n while (continuationToken) {\n result = await this._listNext(\n resourceGroupName,\n resourceName,\n continuationToken,\n options,\n );\n continuationToken = result.nextLink;\n let page = result.value || [];\n setContinuationToken(page, continuationToken);\n yield page;\n }\n }\n\n private async *listPagingAll(\n resourceGroupName: string,\n resourceName: string,\n options?: ReplicationProtectionClustersListOptionalParams,\n ): AsyncIterableIterator<ReplicationProtectionCluster> {\n for await (const page of this.listPagingPage(\n resourceGroupName,\n resourceName,\n options,\n )) {\n yield* page;\n }\n }\n\n /**\n * Gets the list of ASR replication protected clusters in the protection container.\n * @param resourceGroupName The name of the resource group where the recovery services vault is\n * present.\n * @param resourceName The name of the recovery services vault.\n * @param fabricName Fabric name.\n * @param protectionContainerName Protection container name.\n * @param options The options parameters.\n */\n private _listByReplicationProtectionContainers(\n resourceGroupName: string,\n resourceName: string,\n fabricName: string,\n protectionContainerName: string,\n options?: ReplicationProtectionClustersListByReplicationProtectionContainersOptionalParams,\n ): Promise<ReplicationProtectionClustersListByReplicationProtectionContainersResponse> {\n return this.client.sendOperationRequest(\n {\n resourceGroupName,\n resourceName,\n fabricName,\n protectionContainerName,\n options,\n },\n listByReplicationProtectionContainersOperationSpec,\n );\n }\n\n /**\n * Gets the details of an ASR replication protection cluster.\n * @param resourceGroupName The name of the resource group where the recovery services vault is\n * present.\n * @param resourceName The name of the recovery services vault.\n * @param fabricName Fabric name.\n * @param protectionContainerName Protection container name.\n * @param replicationProtectionClusterName Replication protection cluster name.\n * @param options The options parameters.\n */\n get(\n resourceGroupName: string,\n resourceName: string,\n fabricName: string,\n protectionContainerName: string,\n replicationProtectionClusterName: string,\n options?: ReplicationProtectionClustersGetOptionalParams,\n ): Promise<ReplicationProtectionClustersGetResponse> {\n return this.client.sendOperationRequest(\n {\n resourceGroupName,\n resourceName,\n fabricName,\n protectionContainerName,\n replicationProtectionClusterName,\n options,\n },\n getOperationSpec,\n );\n }\n\n /**\n * The operation to create an ASR replication protection cluster item.\n * @param resourceGroupName The name of the resource group where the recovery services vault is\n * present.\n * @param resourceName The name of the recovery services vault.\n * @param fabricName Fabric name.\n * @param protectionContainerName Protection container name.\n * @param replicationProtectionClusterName Replication protection cluster name.\n * @param replicationProtectionCluster Create replication protection cluster Input.\n * @param options The options parameters.\n */\n async beginCreate(\n resourceGroupName: string,\n resourceName: string,\n fabricName: string,\n protectionContainerName: string,\n replicationProtectionClusterName: string,\n replicationProtectionCluster: ReplicationProtectionCluster,\n options?: ReplicationProtectionClustersCreateOptionalParams,\n ): Promise<\n SimplePollerLike<\n OperationState<ReplicationProtectionClustersCreateResponse>,\n ReplicationProtectionClustersCreateResponse\n >\n > {\n const directSendOperation = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec,\n ): Promise<ReplicationProtectionClustersCreateResponse> => {\n return this.client.sendOperationRequest(args, spec);\n };\n const sendOperationFn = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec,\n ) => {\n let currentRawResponse: coreClient.FullOperationResponse | undefined =\n undefined;\n const providedCallback = args.options?.onResponse;\n const callback: coreClient.RawResponseCallback = (\n rawResponse: coreClient.FullOperationResponse,\n flatResponse: unknown,\n ) => {\n currentRawResponse = rawResponse;\n providedCallback?.(rawResponse, flatResponse);\n };\n const updatedArgs = {\n ...args,\n options: {\n ...args.options,\n onResponse: callback,\n },\n };\n const flatResponse = await directSendOperation(updatedArgs, spec);\n return {\n flatResponse,\n rawResponse: {\n statusCode: currentRawResponse!.status,\n body: currentRawResponse!.parsedBody,\n headers: currentRawResponse!.headers.toJSON(),\n },\n };\n };\n\n const lro = createLroSpec({\n sendOperationFn,\n args: {\n resourceGroupName,\n resourceName,\n fabricName,\n protectionContainerName,\n replicationProtectionClusterName,\n replicationProtectionCluster,\n options,\n },\n spec: createOperationSpec,\n });\n const poller = await createHttpPoller<\n ReplicationProtectionClustersCreateResponse,\n OperationState<ReplicationProtectionClustersCreateResponse>\n >(lro, {\n restoreFrom: options?.resumeFrom,\n intervalInMs: options?.updateIntervalInMs,\n });\n await poller.poll();\n return poller;\n }\n\n /**\n * The operation to create an ASR replication protection cluster item.\n * @param resourceGroupName The name of the resource group where the recovery services vault is\n * present.\n * @param resourceName The name of the recovery services vault.\n * @param fabricName Fabric name.\n * @param protectionContainerName Protection container name.\n * @param replicationProtectionClusterName Replication protection cluster name.\n * @param replicationProtectionCluster Create replication protection cluster Input.\n * @param options The options parameters.\n */\n async beginCreateAndWait(\n resourceGroupName: string,\n resourceName: string,\n fabricName: string,\n protectionContainerName: string,\n replicationProtectionClusterName: string,\n replicationProtectionCluster: ReplicationProtectionCluster,\n options?: ReplicationProtectionClustersCreateOptionalParams,\n ): Promise<ReplicationProtectionClustersCreateResponse> {\n const poller = await this.beginCreate(\n resourceGroupName,\n resourceName,\n fabricName,\n protectionContainerName,\n replicationProtectionClusterName,\n replicationProtectionCluster,\n options,\n );\n return poller.pollUntilDone();\n }\n\n /**\n * The operation to purge the replication protection cluster. This operation will force delete the\n * replication protection cluster. Use the remove operation on replication protection cluster to\n * perform a clean disable replication protection cluster.\n * @param resourceGroupName The name of the resource group where the recovery services vault is\n * present.\n * @param resourceName The name of the recovery services vault.\n * @param fabricName Fabric name.\n * @param protectionContainerName Protection container name.\n * @param replicationProtectionClusterName Replication protection cluster name.\n * @param options The options parameters.\n */\n async beginPurge(\n resourceGroupName: string,\n resourceName: string,\n fabricName: string,\n protectionContainerName: string,\n replicationProtectionClusterName: string,\n options?: ReplicationProtectionClustersPurgeOptionalParams,\n ): Promise<\n SimplePollerLike<\n OperationState<ReplicationProtectionClustersPurgeResponse>,\n ReplicationProtectionClustersPurgeResponse\n >\n > {\n const directSendOperation = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec,\n ): Promise<ReplicationProtectionClustersPurgeResponse> => {\n return this.client.sendOperationRequest(args, spec);\n };\n const sendOperationFn = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec,\n ) => {\n let currentRawResponse: coreClient.FullOperationResponse | undefined =\n undefined;\n const providedCallback = args.options?.onResponse;\n const callback: coreClient.RawResponseCallback = (\n rawResponse: coreClient.FullOperationResponse,\n flatResponse: unknown,\n ) => {\n currentRawResponse = rawResponse;\n providedCallback?.(rawResponse, flatResponse);\n };\n const updatedArgs = {\n ...args,\n options: {\n ...args.options,\n onResponse: callback,\n },\n };\n const flatResponse = await directSendOperation(updatedArgs, spec);\n return {\n flatResponse,\n rawResponse: {\n statusCode: currentRawResponse!.status,\n body: currentRawResponse!.parsedBody,\n headers: currentRawResponse!.headers.toJSON(),\n },\n };\n };\n\n const lro = createLroSpec({\n sendOperationFn,\n args: {\n resourceGroupName,\n resourceName,\n fabricName,\n protectionContainerName,\n replicationProtectionClusterName,\n options,\n },\n spec: purgeOperationSpec,\n });\n const poller = await createHttpPoller<\n ReplicationProtectionClustersPurgeResponse,\n OperationState<ReplicationProtectionClustersPurgeResponse>\n >(lro, {\n restoreFrom: options?.resumeFrom,\n intervalInMs: options?.updateIntervalInMs,\n resourceLocationConfig: \"location\",\n });\n await poller.poll();\n return poller;\n }\n\n /**\n * The operation to purge the replication protection cluster. This operation will force delete the\n * replication protection cluster. Use the remove operation on replication protection cluster to\n * perform a clean disable replication protection cluster.\n * @param resourceGroupName The name of the resource group where the recovery services vault is\n * present.\n * @param resourceName The name of the recovery services vault.\n * @param fabricName Fabric name.\n * @param protectionContainerName Protection container name.\n * @param replicationProtectionClusterName Replication protection cluster name.\n * @param options The options parameters.\n */\n async beginPurgeAndWait(\n resourceGroupName: string,\n resourceName: string,\n fabricName: string,\n protectionContainerName: string,\n replicationProtectionClusterName: string,\n options?: ReplicationProtectionClustersPurgeOptionalParams,\n ): Promise<ReplicationProtectionClustersPurgeResponse> {\n const poller = await this.beginPurge(\n resourceGroupName,\n resourceName,\n fabricName,\n protectionContainerName,\n replicationProtectionClusterName,\n options,\n );\n return poller.pollUntilDone();\n }\n\n /**\n * Operation to apply a new cluster recovery point on the Protection cluster.\n * @param resourceGroupName The name of the resource group where the recovery services vault is\n * present.\n * @param resourceName The name of the recovery services vault.\n * @param fabricName Fabric name.\n * @param protectionContainerName Protection container name.\n * @param replicationProtectionClusterName Replication protection cluster name.\n * @param applyClusterRecoveryPointInput Apply recovery point input.\n * @param options The options parameters.\n */\n async beginApplyRecoveryPoint(\n resourceGroupName: string,\n resourceName: string,\n fabricName: string,\n protectionContainerName: string,\n replicationProtectionClusterName: string,\n applyClusterRecoveryPointInput: ApplyClusterRecoveryPointInput,\n options?: ReplicationProtectionClustersApplyRecoveryPointOptionalParams,\n ): Promise<\n SimplePollerLike<\n OperationState<ReplicationProtectionClustersApplyRecoveryPointResponse>,\n ReplicationProtectionClustersApplyRecoveryPointResponse\n >\n > {\n const directSendOperation = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec,\n ): Promise<ReplicationProtectionClustersApplyRecoveryPointResponse> => {\n return this.client.sendOperationRequest(args, spec);\n };\n const sendOperationFn = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec,\n ) => {\n let currentRawResponse: coreClient.FullOperationResponse | undefined =\n undefined;\n const providedCallback = args.options?.onResponse;\n const callback: coreClient.RawResponseCallback = (\n rawResponse: coreClient.FullOperationResponse,\n flatResponse: unknown,\n ) => {\n currentRawResponse = rawResponse;\n providedCallback?.(rawResponse, flatResponse);\n };\n const updatedArgs = {\n ...args,\n options: {\n ...args.options,\n onResponse: callback,\n },\n };\n const flatResponse = await directSendOperation(updatedArgs, spec);\n return {\n flatResponse,\n rawResponse: {\n statusCode: currentRawResponse!.status,\n body: currentRawResponse!.parsedBody,\n headers: currentRawResponse!.headers.toJSON(),\n },\n };\n };\n\n const lro = createLroSpec({\n sendOperationFn,\n args: {\n resourceGroupName,\n resourceName,\n fabricName,\n protectionContainerName,\n replicationProtectionClusterName,\n applyClusterRecoveryPointInput,\n options,\n },\n spec: applyRecoveryPointOperationSpec,\n });\n const poller = await createHttpPoller<\n ReplicationProtectionClustersApplyRecoveryPointResponse,\n OperationState<ReplicationProtectionClustersApplyRecoveryPointResponse>\n >(lro, {\n restoreFrom: options?.resumeFrom,\n intervalInMs: options?.updateIntervalInMs,\n resourceLocationConfig: \"location\",\n });\n await poller.poll();\n return poller;\n }\n\n /**\n * Operation to apply a new cluster recovery point on the Protection cluster.\n * @param resourceGroupName The name of the resource group where the recovery services vault is\n * present.\n * @param resourceName The name of the recovery services vault.\n * @param fabricName Fabric name.\n * @param protectionContainerName Protection container name.\n * @param replicationProtectionClusterName Replication protection cluster name.\n * @param applyClusterRecoveryPointInput Apply recovery point input.\n * @param options The options parameters.\n */\n async beginApplyRecoveryPointAndWait(\n resourceGroupName: string,\n resourceName: string,\n fabricName: string,\n protectionContainerName: string,\n replicationProtectionClusterName: string,\n applyClusterRecoveryPointInput: ApplyClusterRecoveryPointInput,\n options?: ReplicationProtectionClustersApplyRecoveryPointOptionalParams,\n ): Promise<ReplicationProtectionClustersApplyRecoveryPointResponse> {\n const poller = await this.beginApplyRecoveryPoint(\n resourceGroupName,\n resourceName,\n fabricName,\n protectionContainerName,\n replicationProtectionClusterName,\n applyClusterRecoveryPointInput,\n options,\n );\n return poller.pollUntilDone();\n }\n\n /**\n * Operation to initiate commit failover of the replication protection cluster.\n * @param resourceGroupName The name of the resource group where the recovery services vault is\n * present.\n * @param resourceName The name of the recovery services vault.\n * @param fabricName Fabric name.\n * @param protectionContainerName Protection container name.\n * @param replicationProtectionClusterName Replication protection cluster name.\n * @param options The options parameters.\n */\n async beginFailoverCommit(\n resourceGroupName: string,\n resourceName: string,\n fabricName: string,\n protectionContainerName: string,\n replicationProtectionClusterName: string,\n options?: ReplicationProtectionClustersFailoverCommitOptionalParams,\n ): Promise<\n SimplePollerLike<\n OperationState<ReplicationProtectionClustersFailoverCommitResponse>,\n ReplicationProtectionClustersFailoverCommitResponse\n >\n > {\n const directSendOperation = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec,\n ): Promise<ReplicationProtectionClustersFailoverCommitResponse> => {\n return this.client.sendOperationRequest(args, spec);\n };\n const sendOperationFn = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec,\n ) => {\n let currentRawResponse: coreClient.FullOperationResponse | undefined =\n undefined;\n const providedCallback = args.options?.onResponse;\n const callback: coreClient.RawResponseCallback = (\n rawResponse: coreClient.FullOperationResponse,\n flatResponse: unknown,\n ) => {\n currentRawResponse = rawResponse;\n providedCallback?.(rawResponse, flatResponse);\n };\n const updatedArgs = {\n ...args,\n options: {\n ...args.options,\n onResponse: callback,\n },\n };\n const flatResponse = await directSendOperation(updatedArgs, spec);\n return {\n flatResponse,\n rawResponse: {\n statusCode: currentRawResponse!.status,\n body: currentRawResponse!.parsedBody,\n headers: currentRawResponse!.headers.toJSON(),\n },\n };\n };\n\n const lro = createLroSpec({\n sendOperationFn,\n args: {\n resourceGroupName,\n resourceName,\n fabricName,\n protectionContainerName,\n replicationProtectionClusterName,\n options,\n },\n spec: failoverCommitOperationSpec,\n });\n const poller = await createHttpPoller<\n ReplicationProtectionClustersFailoverCommitResponse,\n OperationState<ReplicationProtectionClustersFailoverCommitResponse>\n >(lro, {\n restoreFrom: options?.resumeFrom,\n intervalInMs: options?.updateIntervalInMs,\n resourceLocationConfig: \"location\",\n });\n await poller.poll();\n return poller;\n }\n\n /**\n * Operation to initiate commit failover of the replication protection cluster.\n * @param resourceGroupName The name of the resource group where the recovery services vault is\n * present.\n * @param resourceName The name of the recovery services vault.\n * @param fabricName Fabric name.\n * @param protectionContainerName Protection container name.\n * @param replicationProtectionClusterName Replication protection cluster name.\n * @param options The options parameters.\n */\n async beginFailoverCommitAndWait(\n resourceGroupName: string,\n resourceName: string,\n fabricName: string,\n protectionContainerName: string,\n replicationProtectionClusterName: string,\n options?: ReplicationProtectionClustersFailoverCommitOptionalParams,\n ): Promise<ReplicationProtectionClustersFailoverCommitResponse> {\n const poller = await this.beginFailoverCommit(\n resourceGroupName,\n resourceName,\n fabricName,\n protectionContainerName,\n replicationProtectionClusterName,\n options,\n );\n return poller.pollUntilDone();\n }\n\n /**\n * Track the results of an asynchronous operation on the replication protection cluster.\n * @param resourceGroupName The name of the resource group where the recovery services vault is\n * present.\n * @param resourceName The name of the recovery services vault.\n * @param fabricName Fabric name.\n * @param protectionContainerName Protection container name.\n * @param replicationProtectionClusterName Replication protection cluster name.\n * @param jobId job id to track.\n * @param options The options parameters.\n */\n getOperationResults(\n resourceGroupName: string,\n resourceName: string,\n fabricName: string,\n protectionContainerName: string,\n replicationProtectionClusterName: string,\n jobId: string,\n options?: ReplicationProtectionClustersGetOperationResultsOptionalParams,\n ): Promise<ReplicationProtectionClustersGetOperationResultsResponse> {\n return this.client.sendOperationRequest(\n {\n resourceGroupName,\n resourceName,\n fabricName,\n protectionContainerName,\n replicationProtectionClusterName,\n jobId,\n options,\n },\n getOperationResultsOperationSpec,\n );\n }\n\n /**\n * The operation to repair replication protection cluster.\n * @param resourceGroupName The name of the resource group where the recovery services vault is\n * present.\n * @param resourceName The name of the recovery services vault.\n * @param fabricName Fabric name.\n * @param protectionContainerName Protection container name.\n * @param replicationProtectionClusterName Replication protection cluster name.\n * @param options The options parameters.\n */\n async beginRepairReplication(\n resourceGroupName: string,\n resourceName: string,\n fabricName: string,\n protectionContainerName: string,\n replicationProtectionClusterName: string,\n options?: ReplicationProtectionClustersRepairReplicationOptionalParams,\n ): Promise<\n SimplePollerLike<\n OperationState<ReplicationProtectionClustersRepairReplicationResponse>,\n ReplicationProtectionClustersRepairReplicationResponse\n >\n > {\n const directSendOperation = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec,\n ): Promise<ReplicationProtectionClustersRepairReplicationResponse> => {\n return this.client.sendOperationRequest(args, spec);\n };\n const sendOperationFn = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec,\n ) => {\n let currentRawResponse: coreClient.FullOperationResponse | undefined =\n undefined;\n const providedCallback = args.options?.onResponse;\n const callback: coreClient.RawResponseCallback = (\n rawResponse: coreClient.FullOperationResponse,\n flatResponse: unknown,\n ) => {\n currentRawResponse = rawResponse;\n providedCallback?.(rawResponse, flatResponse);\n };\n const updatedArgs = {\n ...args,\n options: {\n ...args.options,\n onResponse: callback,\n },\n };\n const flatResponse = await directSendOperation(updatedArgs, spec);\n return {\n flatResponse,\n rawResponse: {\n statusCode: currentRawResponse!.status,\n body: currentRawResponse!.parsedBody,\n headers: currentRawResponse!.headers.toJSON(),\n },\n };\n };\n\n const lro = createLroSpec({\n sendOperationFn,\n args: {\n resourceGroupName,\n resourceName,\n fabricName,\n protectionContainerName,\n replicationProtectionClusterName,\n options,\n },\n spec: repairReplicationOperationSpec,\n });\n const poller = await createHttpPoller<\n ReplicationProtectionClustersRepairReplicationResponse,\n OperationState<ReplicationProtectionClustersRepairReplicationResponse>\n >(lro, {\n restoreFrom: options?.resumeFrom,\n intervalInMs: options?.updateIntervalInMs,\n resourceLocationConfig: \"location\",\n });\n await poller.poll();\n return poller;\n }\n\n /**\n * The operation to repair replication protection cluster.\n * @param resourceGroupName The name of the resource group where the recovery services vault is\n * present.\n * @param resourceName The name of the recovery services vault.\n * @param fabricName Fabric name.\n * @param protectionContainerName Protection container name.\n * @param replicationProtectionClusterName Replication protection cluster name.\n * @param options The options parameters.\n */\n async beginRepairReplicationAndWait(\n resourceGroupName: string,\n resourceName: string,\n fabricName: string,\n protectionContainerName: string,\n replicationProtectionClusterName: string,\n options?: ReplicationProtectionClustersRepairReplicationOptionalParams,\n ): Promise<ReplicationProtectionClustersRepairReplicationResponse> {\n const poller = await this.beginRepairReplication(\n resourceGroupName,\n resourceName,\n fabricName,\n protectionContainerName,\n replicationProtectionClusterName,\n options,\n );\n return poller.pollUntilDone();\n }\n\n /**\n * Operation to initiate a failover of the replication protection cluster.\n * @param resourceGroupName The name of the resource group where the recovery services vault is\n * present.\n * @param resourceName The name of the recovery services vault.\n * @param fabricName Fabric name.\n * @param protectionContainerName Protection container name.\n * @param replicationProtectionClusterName Replication protection cluster name.\n * @param failoverInput Cluster test failover input body.\n * @param options The options parameters.\n */\n async beginTestFailover(\n resourceGroupName: string,\n resourceName: string,\n fabricName: string,\n protectionContainerName: string,\n replicationProtectionClusterName: string,\n failoverInput: ClusterTestFailoverInput,\n options?: ReplicationProtectionClustersTestFailoverOptionalParams,\n ): Promise<\n SimplePollerLike<\n OperationState<ReplicationProtectionClustersTestFailoverResponse>,\n ReplicationProtectionClustersTestFailoverResponse\n >\n > {\n const directSendOperation = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec,\n ): Promise<ReplicationProtectionClustersTestFailoverResponse> => {\n return this.client.sendOperationRequest(args, spec);\n };\n const sendOperationFn = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec,\n ) => {\n let currentRawResponse: coreClient.FullOperationResponse | undefined =\n undefined;\n const providedCallback = args.options?.onResponse;\n const callback: coreClient.RawResponseCallback = (\n rawResponse: coreClient.FullOperationResponse,\n flatResponse: unknown,\n ) => {\n currentRawResponse = rawResponse;\n providedCallback?.(rawResponse, flatResponse);\n };\n const updatedArgs = {\n ...args,\n options: {\n ...args.options,\n onResponse: callback,\n },\n };\n const flatResponse = await directSendOperation(updatedArgs, spec);\n return {\n flatResponse,\n rawResponse: {\n statusCode: currentRawResponse!.status,\n body: currentRawResponse!.parsedBody,\n headers: currentRawResponse!.headers.toJSON(),\n },\n };\n };\n\n const lro = createLroSpec({\n sendOperationFn,\n args: {\n resourceGroupName,\n resourceName,\n fabricName,\n protectionContainerName,\n replicationProtectionClusterName,\n failoverInput,\n options,\n },\n spec: testFailoverOperationSpec,\n });\n const poller = await createHttpPoller<\n ReplicationProtectionClustersTestFailoverResponse,\n OperationState<ReplicationProtectionClustersTestFailoverResponse>\n >(lro, {\n restoreFrom: options?.resumeFrom,\n intervalInMs: options?.updateIntervalInMs,\n resourceLocationConfig: \"location\",\n });\n await poller.poll();\n return poller;\n }\n\n /**\n * Operation to initiate a failover of the replication protection cluster.\n * @param resourceGroupName The name of the resource group where the recovery services vault is\n * present.\n * @param resourceName The name of the recovery services vault.\n * @param fabricName Fabric name.\n * @param protectionContainerName Protection container name.\n * @param replicationProtectionClusterName Replication protection cluster name.\n * @param failoverInput Cluster test failover input body.\n * @param options The options parameters.\n */\n async beginTestFailoverAndWait(\n resourceGroupName: string,\n resourceName: string,\n fabricName: string,\n protectionContainerName: string,\n replicationProtectionClusterName: string,\n failoverInput: ClusterTestFailoverInput,\n options?: ReplicationProtectionClustersTestFailoverOptionalParams,\n ): Promise<ReplicationProtectionClustersTestFailoverResponse> {\n const poller = await this.beginTestFailover(\n resourceGroupName,\n resourceName,\n fabricName,\n protectionContainerName,\n replicationProtectionClusterName,\n failoverInput,\n options,\n );\n return poller.pollUntilDone();\n }\n\n /**\n * Operation to clean up the test failover of a replication protected cluster.\n * @param resourceGroupName The name of the resource group where the recovery services vault is\n * present.\n * @param resourceName The name of the recovery services vault.\n * @param fabricName Fabric name.\n * @param protectionContainerName Protection container name.\n * @param replicationProtectionClusterName Replication protection cluster name.\n * @param cleanupInput Test failover cleanup input.\n * @param options The options parameters.\n */\n async beginTestFailoverCleanup(\n resourceGroupName: string,\n resourceName: string,\n fabricName: string,\n protectionContainerName: string,\n replicationProtectionClusterName: string,\n cleanupInput: ClusterTestFailoverCleanupInput,\n options?: ReplicationProtectionClustersTestFailoverCleanupOptionalParams,\n ): Promise<\n SimplePollerLike<\n OperationState<ReplicationProtectionClustersTestFailoverCleanupResponse>,\n ReplicationProtectionClustersTestFailoverCleanupResponse\n >\n > {\n const directSendOperation = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec,\n ): Promise<ReplicationProtectionClustersTestFailoverCleanupResponse> => {\n return this.client.sendOperationRequest(args, spec);\n };\n const sendOperationFn = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec,\n ) => {\n let currentRawResponse: coreClient.FullOperationResponse | undefined =\n undefined;\n const providedCallback = args.options?.onResponse;\n const callback: coreClient.RawResponseCallback = (\n rawResponse: coreClient.FullOperationResponse,\n flatResponse: unknown,\n ) => {\n currentRawResponse = rawResponse;\n providedCallback?.(rawResponse, flatResponse);\n };\n const updatedArgs = {\n ...args,\n options: {\n ...args.options,\n onResponse: callback,\n },\n };\n const flatResponse = await directSendOperation(updatedArgs, spec);\n return {\n flatResponse,\n rawResponse: {\n statusCode: currentRawResponse!.status,\n body: currentRawResponse!.parsedBody,\n headers: currentRawResponse!.headers.toJSON(),\n },\n };\n };\n\n const lro = createLroSpec({\n sendOperationFn,\n args: {\n resourceGroupName,\n resourceName,\n fabricName,\n protectionContainerName,\n replicationProtectionClusterName,\n cleanupInput,\n options,\n },\n spec: testFailoverCleanupOperationSpec,\n });\n const poller = await createHttpPoller<\n ReplicationProtectionClustersTestFailoverCleanupResponse,\n OperationState<ReplicationProtectionClustersTestFailoverCleanupResponse>\n >(lro, {\n restoreFrom: options?.resumeFrom,\n intervalInMs: options?.updateIntervalInMs,\n resourceLocationConfig: \"location\",\n });\n await poller.poll();\n return poller;\n }\n\n /**\n * Operation to clean up the test failover of a replication protected cluster.\n * @param resourceGroupName The name of the resource group where the recovery services vault is\n * present.\n * @param resourceName The name of the recovery services vault.\n * @param fabricName Fabric name.\n * @param protectionContainerName Protection container name.\n * @param replicationProtectionClusterName Replication protection cluster name.\n * @param cleanupInput Test failover cleanup input.\n * @param options The options parameters.\n */\n async beginTestFailoverCleanupAndWait(\n resourceGroupName: string,\n resourceName: string,\n fabricName: string,\n protectionContainerName: string,\n replicationProtectionClusterName: string,\n cleanupInput: ClusterTestFailoverCleanupInput,\n options?: ReplicationProtectionClustersTestFailoverCleanupOptionalParams,\n ): Promise<ReplicationProtectionClustersTestFailoverCleanupResponse> {\n const poller = await this.beginTestFailoverCleanup(\n resourceGroupName,\n resourceName,\n fabricName,\n protectionContainerName,\n replicationProtectionClusterName,\n cleanupInput,\n options,\n );\n return poller.pollUntilDone();\n }\n\n /**\n * Operation to initiate a failover of the replication protection cluster.\n * @param resourceGroupName The name of the resource group where the recovery services vault is\n * present.\n * @param resourceName The name of the recovery services vault.\n * @param fabricName Fabric name.\n * @param protectionContainerName Protection container name.\n * @param replicationProtectionClusterName Replication protection cluster name.\n * @param failoverInput Failover input.\n * @param options The options parameters.\n */\n async beginUnplannedFailover(\n resourceGroupName: string,\n resourceName: string,\n fabricName: string,\n protectionContainerName: string,\n replicationProtectionClusterName: string,\n failoverInput: ClusterUnplannedFailoverInput,\n options?: ReplicationProtectionClustersUnplannedFailoverOptionalParams,\n ): Promise<\n SimplePollerLike<\n OperationState<ReplicationProtectionClustersUnplannedFailoverResponse>,\n ReplicationProtectionClustersUnplannedFailoverResponse\n >\n > {\n const directSendOperation = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec,\n ): Promise<ReplicationProtectionClustersUnplannedFailoverResponse> => {\n return this.client.sendOperationRequest(args, spec);\n };\n const sendOperationFn = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec,\n ) => {\n let currentRawResponse: coreClient.FullOperationResponse | undefined =\n undefined;\n const providedCallback = args.options?.onResponse;\n const callback: coreClient.RawResponseCallback = (\n rawResponse: coreClient.FullOperationResponse,\n flatResponse: unknown,\n ) => {\n currentRawResponse = rawResponse;\n providedCallback?.(rawResponse, flatResponse);\n };\n const updatedArgs = {\n ...args,\n options: {\n ...args.options,\n onResponse: callback,\n },\n };\n const flatResponse = await directSendOperation(updatedArgs, spec);\n return {\n flatResponse,\n rawResponse: {\n statusCode: currentRawResponse!.status,\n body: currentRawResponse!.parsedBody,\n headers: currentRawResponse!.headers.toJSON(),\n },\n };\n };\n\n const lro = createLroSpec({\n sendOperationFn,\n args: {\n resourceGroupName,\n resourceName,\n fabricName,\n protectionContainerName,\n replicationProtectionClusterName,\n failoverInput,\n options,\n },\n spec: unplannedFailoverOperationSpec,\n });\n const poller = await createHttpPoller<\n ReplicationProtectionClustersUnplannedFailoverResponse,\n OperationState<ReplicationProtectionClustersUnplannedFailoverResponse>\n >(lro, {\n restoreFrom: options?.resumeFrom,\n intervalInMs: options?.updateIntervalInMs,\n resourceLocationConfig: \"location\",\n });\n await poller.poll();\n return poller;\n }\n\n /**\n * Operation to initiate a failover of the replication protection cluster.\n * @param resourceGroupName The name of the resource group where the recovery services vault is\n * present.\n * @param resourceName The name of the recovery services vault.\n * @param fabricName Fabric name.\n * @param protectionContainerName Protection container name.\n * @param replicationProtectionClusterName Replication protection cluster name.\n * @param failoverInput Failover input.\n * @param options The options parameters.\n */\n async beginUnplannedFailoverAndWait(\n resourceGroupName: string,\n resourceName: string,\n fabricName: string,\n protectionContainerName: string,\n replicationProtectionClusterName: string,\n failoverInput: ClusterUnplannedFailoverInput,\n options?: ReplicationProtectionClustersUnplannedFailoverOptionalParams,\n ): Promise<ReplicationProtectionClustersUnplannedFailoverResponse> {\n const poller = await this.beginUnplannedFailover(\n resourceGroupName,\n resourceName,\n fabricName,\n protectionContainerName,\n replicationProtectionClusterName,\n failoverInput,\n options,\n );\n return poller.pollUntilDone();\n }\n\n /**\n * Gets the list of ASR replication protected clusters in the vault.\n * @param resourceGroupName The name of the resource group where the recovery services vault is\n * present.\n * @param resourceName The name of the recovery services vault.\n * @param options The options parameters.\n */\n private _list(\n resourceGroupName: string,\n resourceName: string,\n options?: ReplicationProtectionClustersListOptionalParams,\n ): Promise<ReplicationProtectionClustersListResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, resourceName, options },\n listOperationSpec,\n );\n }\n\n /**\n * ListByReplicationProtectionContainersNext\n * @param resourceGroupName The name of the resource group where the recovery services vault is\n * present.\n * @param resourceName The name of the recovery services vault.\n * @param fabricName Fabric name.\n * @param protectionContainerName Protection container name.\n * @param nextLink The nextLink from the previous successful call to the\n * ListByReplicationProtectionContainers method.\n * @param options The options parameters.\n */\n private _listByReplicationProtectionContainersNext(\n resourceGroupName: string,\n resourceName: string,\n fabricName: string,\n protectionContainerName: string,\n nextLink: string,\n options?: ReplicationProtectionClustersListByReplicationProtectionContainersNextOptionalParams,\n ): Promise<ReplicationProtectionClustersListByReplicationProtectionContainersNextResponse> {\n return this.client.sendOperationRequest(\n {\n resourceGroupName,\n resourceName,\n fabricName,\n protectionContainerName,\n nextLink,\n options,\n },\n listByReplicationProtectionContainersNextOperationSpec,\n );\n }\n\n /**\n * ListNext\n * @param resourceGroupName The name of the resource group where the recovery services vault is\n * present.\n * @param resourceName The name of the recovery services vault.\n * @param nextLink The nextLink from the previous successful call to the List method.\n * @param options The options parameters.\n */\n private _listNext(\n resourceGroupName: string,\n resourceName: string,\n nextLink: string,\n options?: ReplicationProtectionClustersListNextOptionalParams,\n ): Promise<ReplicationProtectionClustersListNextResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, resourceName, nextLink, options },\n listNextOperationSpec,\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst listByReplicationProtectionContainersOperationSpec: coreClient.OperationSpec =\n {\n path: \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionClusters\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ReplicationProtectionClusterCollection,\n },\n default: {\n bodyMapper: Mappers.ErrorResponse,\n },\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.resourceGroupName,\n Parameters.subscriptionId,\n Parameters.resourceName1,\n Parameters.fabricName1,\n Parameters.protectionContainerName1,\n ],\n headerParameters: [Parameters.accept],\n serializer,\n };\nconst getOperationSpec: coreClient.OperationSpec = {\n path: \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionClusters/{replicationProtectionClusterName}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ReplicationProtectionCluster,\n },\n default: {\n bodyMapper: Mappers.ErrorResponse,\n },\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.resourceGroupName,\n Parameters.subscriptionId,\n Parameters.resourceName1,\n Parameters.fabricName1,\n Parameters.protectionContainerName1,\n Parameters.replicationProtectionClusterName,\n ],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst createOperationSpec: coreClient.OperationSpec = {\n path: \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionClusters/{replicationProtectionClusterName}\",\n httpMethod: \"PUT\",\n responses: {\n 200: {\n bodyMapper: Mappers.ReplicationProtectionCluster,\n },\n 201: {\n bodyMapper: Mappers.ReplicationProtectionCluster,\n },\n 202: {\n bodyMapper: Mappers.ReplicationProtectionCluster,\n },\n 204: {\n bodyMapper: Mappers.ReplicationProtectionCluster,\n },\n default: {\n bodyMapper: Mappers.ErrorResponse,\n },\n },\n requestBody: Parameters.replicationProtectionCluster,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.resourceGroupName,\n Parameters.subscriptionId,\n Parameters.resourceName,\n Parameters.fabricName1,\n Parameters.protectionContainerName1,\n Parameters.replicationProtectionClusterName,\n ],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer,\n};\nconst purgeOperationSpec: coreClient.OperationSpec = {\n path: \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionClusters/{replicationProtectionClusterName}\",\n httpMethod: \"DELETE\",\n responses: {\n 200: {\n headersMapper: Mappers.ReplicationProtectionClustersPurgeHeaders,\n },\n 201: {\n headersMapper: Mappers.ReplicationProtectionClustersPurgeHeaders,\n },\n 202: {\n headersMapper: Mappers.ReplicationProtectionClustersPurgeHeaders,\n },\n 204: {\n headersMapper: Mappers.ReplicationProtectionClustersPurgeHeaders,\n },\n default: {\n bodyMapper: Mappers.ErrorResponse,\n },\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.resourceGroupName,\n Parameters.subscriptionId,\n Parameters.resourceName,\n Parameters.fabricName1,\n Parameters.protectionContainerName1,\n Parameters.replicationProtectionClusterName,\n ],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst applyRecoveryPointOperationSpec: coreClient.OperationSpec = {\n path: \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionClusters/{replicationProtectionClusterName}/applyRecoveryPoint\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: Mappers.ReplicationProtectionCluster,\n },\n 201: {\n bodyMapper: Mappers.ReplicationProtectionCluster,\n },\n 202: {\n bodyMapper: Mappers.ReplicationProtectionCluster,\n },\n 204: {\n bodyMapper: Mappers.ReplicationProtectionCluster,\n },\n default: {\n bodyMapper: Mappers.ErrorResponse,\n },\n },\n requestBody: Parameters.applyClusterRecoveryPointInput,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.resourceGroupName,\n Parameters.subscriptionId,\n Parameters.resourceName1,\n Parameters.fabricName1,\n Parameters.protectionContainerName1,\n Parameters.replicationProtectionClusterName,\n ],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer,\n};\nconst failoverCommitOperationSpec: coreClient.OperationSpec = {\n path: \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionClusters/{replicationProtectionClusterName}/failoverCommit\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: Mappers.ReplicationProtectionCluster,\n },\n 201: {\n bodyMapper: Mappers.ReplicationProtectionCluster,\n },\n 202: {\n bodyMapper: Mappers.ReplicationProtectionCluster,\n },\n 204: {\n bodyMapper: Mappers.ReplicationProtectionCluster,\n },\n default: {\n bodyMapper: Mappers.ErrorResponse,\n },\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.resourceGroupName,\n Parameters.subscriptionId,\n Parameters.resourceName1,\n Parameters.fabricName1,\n Parameters.protectionContainerName1,\n Parameters.replicationProtectionClusterName,\n ],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getOperationResultsOperationSpec: coreClient.OperationSpec = {\n path: \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionClusters/{replicationProtectionClusterName}/operationResults/{jobId}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ReplicationProtectionCluster,\n },\n default: {\n bodyMapper: Mappers.ErrorResponse,\n },\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.resourceGroupName,\n Parameters.subscriptionId,\n Parameters.resourceName1,\n Parameters.fabricName1,\n Parameters.protectionContainerName1,\n Parameters.replicationProtectionClusterName,\n Parameters.jobId,\n ],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst repairReplicationOperationSpec: coreClient.OperationSpec = {\n path: \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionClusters/{replicationProtectionClusterName}/repairReplication\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: Mappers.ReplicationProtectionCluster,\n },\n 201: {\n bodyMapper: Mappers.ReplicationProtectionCluster,\n },\n 202: {\n bodyMapper: Mappers.ReplicationProtectionCluster,\n },\n 204: {\n bodyMapper: Mappers.ReplicationProtectionCluster,\n },\n default: {\n bodyMapper: Mappers.ErrorResponse,\n },\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.resourceGroupName,\n Parameters.subscriptionId,\n Parameters.resourceName1,\n Parameters.fabricName1,\n Parameters.protectionContainerName1,\n Parameters.replicationProtectionClusterName,\n ],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst testFailoverOperationSpec: coreClient.OperationSpec = {\n path: \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionClusters/{replicationProtectionClusterName}/testFailover\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: Mappers.ReplicationProtectionCluster,\n },\n 201: {\n bodyMapper: Mappers.ReplicationProtectionCluster,\n },\n 202: {\n bodyMapper: Mappers.ReplicationProtectionCluster,\n },\n 204: {\n bodyMapper: Mappers.ReplicationProtectionCluster,\n },\n default: {\n bodyMapper: Mappers.ErrorResponse,\n },\n },\n requestBody: Parameters.failoverInput2,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.resourceGroupName,\n Parameters.subscriptionId,\n Parameters.resourceName1,\n Parameters.fabricName1,\n Parameters.protectionContainerName1,\n Parameters.replicationProtectionClusterName,\n ],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer,\n};\nconst testFailoverCleanupOperationSpec: coreClient.OperationSpec = {\n path: \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionClusters/{replicationProtectionClusterName}/testFailoverCleanup\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: Mappers.ReplicationProtectionCluster,\n },\n 201: {\n bodyMapper: Mappers.ReplicationProtectionCluster,\n },\n 202: {\n bodyMapper: Mappers.ReplicationProtectionCluster,\n },\n 204: {\n bodyMapper: Mappers.ReplicationProtectionCluster,\n },\n default: {\n bodyMapper: Mappers.ErrorResponse,\n },\n },\n requestBody: Parameters.cleanupInput1,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.resourceGroupName,\n Parameters.subscriptionId,\n Parameters.resourceName1,\n Parameters.fabricName1,\n Parameters.protectionContainerName1,\n Parameters.replicationProtectionClusterName,\n ],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer,\n};\nconst unplannedFailoverOperationSpec: coreClient.OperationSpec = {\n path: \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionClusters/{replicationProtectionClusterName}/unplannedFailover\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: Mappers.ReplicationProtectionCluster,\n },\n 201: {\n bodyMapper: Mappers.ReplicationProtectionCluster,\n },\n 202: {\n bodyMapper: Mappers.ReplicationProtectionCluster,\n },\n 204: {\n bodyMapper: Mappers.ReplicationProtectionCluster,\n },\n default: {\n bodyMapper: Mappers.ErrorResponse,\n },\n },\n requestBody: Parameters.failoverInput3,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.resourceGroupName,\n Parameters.subscriptionId,\n Parameters.resourceName1,\n Parameters.fabricName1,\n Parameters.protectionContainerName1,\n Parameters.replicationProtectionClusterName,\n ],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer,\n};\nconst listOperationSpec: coreClient.OperationSpec = {\n path: \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectionClusters\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ReplicationProtectionClusterCollection,\n },\n default: {\n bodyMapper: Mappers.ErrorResponse,\n },\n },\n queryParameters: [\n Parameters.apiVersion,\n Parameters.filter,\n Parameters.skipToken,\n ],\n urlParameters: [\n Parameters.$host,\n Parameters.resourceGroupName,\n Parameters.subscriptionId,\n Parameters.resourceName1,\n ],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst listByReplicationProtectionContainersNextOperationSpec: coreClient.OperationSpec =\n {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ReplicationProtectionClusterCollection,\n },\n default: {\n bodyMapper: Mappers.ErrorResponse,\n },\n },\n urlParameters: [\n Parameters.$host,\n Parameters.resourceGroupName,\n Parameters.subscriptionId,\n Parameters.nextLink,\n Parameters.resourceName1,\n Parameters.fabricName1,\n Parameters.protectionContainerName1,\n ],\n headerParameters: [Parameters.accept],\n serializer,\n };\nconst listNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ReplicationProtectionClusterCollection,\n },\n default: {\n bodyMapper: Mappers.ErrorResponse,\n },\n },\n urlParameters: [\n Parameters.$host,\n Parameters.resourceGroupName,\n Parameters.subscriptionId,\n Parameters.nextLink,\n Parameters.resourceName1,\n ],\n headerParameters: [Parameters.accept],\n serializer,\n};\n"]}
1
+ {"version":3,"file":"replicationProtectionClusters.js","sourceRoot":"","sources":["../../../src/operations/replicationProtectionClusters.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { PagedAsyncIterableIterator, PageSettings } from \"@azure/core-paging\";\nimport { setContinuationToken } from \"../pagingHelper.js\";\nimport { ReplicationProtectionClusters } from \"../operationsInterfaces/index.js\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers.js\";\nimport * as Parameters from \"../models/parameters.js\";\nimport { SiteRecoveryManagementClient } from \"../siteRecoveryManagementClient.js\";\nimport {\n SimplePollerLike,\n OperationState,\n createHttpPoller,\n} from \"@azure/core-lro\";\nimport { createLroSpec } from \"../lroImpl.js\";\nimport {\n ReplicationProtectionCluster,\n ReplicationProtectionClustersListByReplicationProtectionContainersNextOptionalParams,\n ReplicationProtectionClustersListByReplicationProtectionContainersOptionalParams,\n ReplicationProtectionClustersListByReplicationProtectionContainersResponse,\n ReplicationProtectionClustersListNextOptionalParams,\n ReplicationProtectionClustersListOptionalParams,\n ReplicationProtectionClustersListResponse,\n ReplicationProtectionClustersGetOptionalParams,\n ReplicationProtectionClustersGetResponse,\n ReplicationProtectionClustersCreateOptionalParams,\n ReplicationProtectionClustersCreateResponse,\n ReplicationProtectionClustersPurgeOptionalParams,\n ReplicationProtectionClustersPurgeResponse,\n ApplyClusterRecoveryPointInput,\n ReplicationProtectionClustersApplyRecoveryPointOptionalParams,\n ReplicationProtectionClustersApplyRecoveryPointResponse,\n ReplicationProtectionClustersFailoverCommitOptionalParams,\n ReplicationProtectionClustersFailoverCommitResponse,\n ReplicationProtectionClustersGetOperationResultsOptionalParams,\n ReplicationProtectionClustersGetOperationResultsResponse,\n ReplicationProtectionClustersRepairReplicationOptionalParams,\n ReplicationProtectionClustersRepairReplicationResponse,\n ClusterTestFailoverInput,\n ReplicationProtectionClustersTestFailoverOptionalParams,\n ReplicationProtectionClustersTestFailoverResponse,\n ClusterTestFailoverCleanupInput,\n ReplicationProtectionClustersTestFailoverCleanupOptionalParams,\n ReplicationProtectionClustersTestFailoverCleanupResponse,\n ClusterUnplannedFailoverInput,\n ReplicationProtectionClustersUnplannedFailoverOptionalParams,\n ReplicationProtectionClustersUnplannedFailoverResponse,\n ReplicationProtectionClustersListByReplicationProtectionContainersNextResponse,\n ReplicationProtectionClustersListNextResponse,\n} from \"../models/index.js\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing ReplicationProtectionClusters operations. */\nexport class ReplicationProtectionClustersImpl\n implements ReplicationProtectionClusters\n{\n private readonly client: SiteRecoveryManagementClient;\n\n /**\n * Initialize a new instance of the class ReplicationProtectionClusters class.\n * @param client Reference to the service client\n */\n constructor(client: SiteRecoveryManagementClient) {\n this.client = client;\n }\n\n /**\n * Gets the list of ASR replication protected clusters in the protection container.\n * @param resourceGroupName The name of the resource group where the recovery services vault is\n * present.\n * @param resourceName The name of the recovery services vault.\n * @param fabricName Fabric name.\n * @param protectionContainerName Protection container name.\n * @param options The options parameters.\n */\n public listByReplicationProtectionContainers(\n resourceGroupName: string,\n resourceName: string,\n fabricName: string,\n protectionContainerName: string,\n options?: ReplicationProtectionClustersListByReplicationProtectionContainersOptionalParams,\n ): PagedAsyncIterableIterator<ReplicationProtectionCluster> {\n const iter = this.listByReplicationProtectionContainersPagingAll(\n resourceGroupName,\n resourceName,\n fabricName,\n protectionContainerName,\n options,\n );\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: (settings?: PageSettings) => {\n if (settings?.maxPageSize) {\n throw new Error(\"maxPageSize is not supported by this operation.\");\n }\n return this.listByReplicationProtectionContainersPagingPage(\n resourceGroupName,\n resourceName,\n fabricName,\n protectionContainerName,\n options,\n settings,\n );\n },\n };\n }\n\n private async *listByReplicationProtectionContainersPagingPage(\n resourceGroupName: string,\n resourceName: string,\n fabricName: string,\n protectionContainerName: string,\n options?: ReplicationProtectionClustersListByReplicationProtectionContainersOptionalParams,\n settings?: PageSettings,\n ): AsyncIterableIterator<ReplicationProtectionCluster[]> {\n let result: ReplicationProtectionClustersListByReplicationProtectionContainersResponse;\n let continuationToken = settings?.continuationToken;\n if (!continuationToken) {\n result = await this._listByReplicationProtectionContainers(\n resourceGroupName,\n resourceName,\n fabricName,\n protectionContainerName,\n options,\n );\n let page = result.value || [];\n continuationToken = result.nextLink;\n setContinuationToken(page, continuationToken);\n yield page;\n }\n while (continuationToken) {\n result = await this._listByReplicationProtectionContainersNext(\n resourceGroupName,\n resourceName,\n fabricName,\n protectionContainerName,\n continuationToken,\n options,\n );\n continuationToken = result.nextLink;\n let page = result.value || [];\n setContinuationToken(page, continuationToken);\n yield page;\n }\n }\n\n private async *listByReplicationProtectionContainersPagingAll(\n resourceGroupName: string,\n resourceName: string,\n fabricName: string,\n protectionContainerName: string,\n options?: ReplicationProtectionClustersListByReplicationProtectionContainersOptionalParams,\n ): AsyncIterableIterator<ReplicationProtectionCluster> {\n for await (const page of this.listByReplicationProtectionContainersPagingPage(\n resourceGroupName,\n resourceName,\n fabricName,\n protectionContainerName,\n options,\n )) {\n yield* page;\n }\n }\n\n /**\n * Gets the list of ASR replication protected clusters in the vault.\n * @param resourceGroupName The name of the resource group where the recovery services vault is\n * present.\n * @param resourceName The name of the recovery services vault.\n * @param options The options parameters.\n */\n public list(\n resourceGroupName: string,\n resourceName: string,\n options?: ReplicationProtectionClustersListOptionalParams,\n ): PagedAsyncIterableIterator<ReplicationProtectionCluster> {\n const iter = this.listPagingAll(resourceGroupName, resourceName, options);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: (settings?: PageSettings) => {\n if (settings?.maxPageSize) {\n throw new Error(\"maxPageSize is not supported by this operation.\");\n }\n return this.listPagingPage(\n resourceGroupName,\n resourceName,\n options,\n settings,\n );\n },\n };\n }\n\n private async *listPagingPage(\n resourceGroupName: string,\n resourceName: string,\n options?: ReplicationProtectionClustersListOptionalParams,\n settings?: PageSettings,\n ): AsyncIterableIterator<ReplicationProtectionCluster[]> {\n let result: ReplicationProtectionClustersListResponse;\n let continuationToken = settings?.continuationToken;\n if (!continuationToken) {\n result = await this._list(resourceGroupName, resourceName, options);\n let page = result.value || [];\n continuationToken = result.nextLink;\n setContinuationToken(page, continuationToken);\n yield page;\n }\n while (continuationToken) {\n result = await this._listNext(\n resourceGroupName,\n resourceName,\n continuationToken,\n options,\n );\n continuationToken = result.nextLink;\n let page = result.value || [];\n setContinuationToken(page, continuationToken);\n yield page;\n }\n }\n\n private async *listPagingAll(\n resourceGroupName: string,\n resourceName: string,\n options?: ReplicationProtectionClustersListOptionalParams,\n ): AsyncIterableIterator<ReplicationProtectionCluster> {\n for await (const page of this.listPagingPage(\n resourceGroupName,\n resourceName,\n options,\n )) {\n yield* page;\n }\n }\n\n /**\n * Gets the list of ASR replication protected clusters in the protection container.\n * @param resourceGroupName The name of the resource group where the recovery services vault is\n * present.\n * @param resourceName The name of the recovery services vault.\n * @param fabricName Fabric name.\n * @param protectionContainerName Protection container name.\n * @param options The options parameters.\n */\n private _listByReplicationProtectionContainers(\n resourceGroupName: string,\n resourceName: string,\n fabricName: string,\n protectionContainerName: string,\n options?: ReplicationProtectionClustersListByReplicationProtectionContainersOptionalParams,\n ): Promise<ReplicationProtectionClustersListByReplicationProtectionContainersResponse> {\n return this.client.sendOperationRequest(\n {\n resourceGroupName,\n resourceName,\n fabricName,\n protectionContainerName,\n options,\n },\n listByReplicationProtectionContainersOperationSpec,\n );\n }\n\n /**\n * Gets the details of an ASR replication protection cluster.\n * @param resourceGroupName The name of the resource group where the recovery services vault is\n * present.\n * @param resourceName The name of the recovery services vault.\n * @param fabricName Fabric name.\n * @param protectionContainerName Protection container name.\n * @param replicationProtectionClusterName Replication protection cluster name.\n * @param options The options parameters.\n */\n get(\n resourceGroupName: string,\n resourceName: string,\n fabricName: string,\n protectionContainerName: string,\n replicationProtectionClusterName: string,\n options?: ReplicationProtectionClustersGetOptionalParams,\n ): Promise<ReplicationProtectionClustersGetResponse> {\n return this.client.sendOperationRequest(\n {\n resourceGroupName,\n resourceName,\n fabricName,\n protectionContainerName,\n replicationProtectionClusterName,\n options,\n },\n getOperationSpec,\n );\n }\n\n /**\n * The operation to create an ASR replication protection cluster item.\n * @param resourceGroupName The name of the resource group where the recovery services vault is\n * present.\n * @param resourceName The name of the recovery services vault.\n * @param fabricName Fabric name.\n * @param protectionContainerName Protection container name.\n * @param replicationProtectionClusterName Replication protection cluster name.\n * @param replicationProtectionCluster Create replication protection cluster Input.\n * @param options The options parameters.\n */\n async beginCreate(\n resourceGroupName: string,\n resourceName: string,\n fabricName: string,\n protectionContainerName: string,\n replicationProtectionClusterName: string,\n replicationProtectionCluster: ReplicationProtectionCluster,\n options?: ReplicationProtectionClustersCreateOptionalParams,\n ): Promise<\n SimplePollerLike<\n OperationState<ReplicationProtectionClustersCreateResponse>,\n ReplicationProtectionClustersCreateResponse\n >\n > {\n const directSendOperation = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec,\n ): Promise<ReplicationProtectionClustersCreateResponse> => {\n return this.client.sendOperationRequest(args, spec);\n };\n const sendOperationFn = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec,\n ) => {\n let currentRawResponse: coreClient.FullOperationResponse | undefined =\n undefined;\n const providedCallback = args.options?.onResponse;\n const callback: coreClient.RawResponseCallback = (\n rawResponse: coreClient.FullOperationResponse,\n flatResponse: unknown,\n ) => {\n currentRawResponse = rawResponse;\n providedCallback?.(rawResponse, flatResponse);\n };\n const updatedArgs = {\n ...args,\n options: {\n ...args.options,\n onResponse: callback,\n },\n };\n const flatResponse = await directSendOperation(updatedArgs, spec);\n return {\n flatResponse,\n rawResponse: {\n statusCode: currentRawResponse!.status,\n body: currentRawResponse!.parsedBody,\n headers: currentRawResponse!.headers.toJSON(),\n },\n };\n };\n\n const lro = createLroSpec({\n sendOperationFn,\n args: {\n resourceGroupName,\n resourceName,\n fabricName,\n protectionContainerName,\n replicationProtectionClusterName,\n replicationProtectionCluster,\n options,\n },\n spec: createOperationSpec,\n });\n const poller = await createHttpPoller<\n ReplicationProtectionClustersCreateResponse,\n OperationState<ReplicationProtectionClustersCreateResponse>\n >(lro, {\n restoreFrom: options?.resumeFrom,\n intervalInMs: options?.updateIntervalInMs,\n });\n await poller.poll();\n return poller;\n }\n\n /**\n * The operation to create an ASR replication protection cluster item.\n * @param resourceGroupName The name of the resource group where the recovery services vault is\n * present.\n * @param resourceName The name of the recovery services vault.\n * @param fabricName Fabric name.\n * @param protectionContainerName Protection container name.\n * @param replicationProtectionClusterName Replication protection cluster name.\n * @param replicationProtectionCluster Create replication protection cluster Input.\n * @param options The options parameters.\n */\n async beginCreateAndWait(\n resourceGroupName: string,\n resourceName: string,\n fabricName: string,\n protectionContainerName: string,\n replicationProtectionClusterName: string,\n replicationProtectionCluster: ReplicationProtectionCluster,\n options?: ReplicationProtectionClustersCreateOptionalParams,\n ): Promise<ReplicationProtectionClustersCreateResponse> {\n const poller = await this.beginCreate(\n resourceGroupName,\n resourceName,\n fabricName,\n protectionContainerName,\n replicationProtectionClusterName,\n replicationProtectionCluster,\n options,\n );\n return poller.pollUntilDone();\n }\n\n /**\n * The operation to purge the replication protection cluster. This operation will force delete the\n * replication protection cluster. Use the remove operation on replication protection cluster to\n * perform a clean disable replication protection cluster.\n * @param resourceGroupName The name of the resource group where the recovery services vault is\n * present.\n * @param resourceName The name of the recovery services vault.\n * @param fabricName Fabric name.\n * @param protectionContainerName Protection container name.\n * @param replicationProtectionClusterName Replication protection cluster name.\n * @param options The options parameters.\n */\n async beginPurge(\n resourceGroupName: string,\n resourceName: string,\n fabricName: string,\n protectionContainerName: string,\n replicationProtectionClusterName: string,\n options?: ReplicationProtectionClustersPurgeOptionalParams,\n ): Promise<\n SimplePollerLike<\n OperationState<ReplicationProtectionClustersPurgeResponse>,\n ReplicationProtectionClustersPurgeResponse\n >\n > {\n const directSendOperation = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec,\n ): Promise<ReplicationProtectionClustersPurgeResponse> => {\n return this.client.sendOperationRequest(args, spec);\n };\n const sendOperationFn = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec,\n ) => {\n let currentRawResponse: coreClient.FullOperationResponse | undefined =\n undefined;\n const providedCallback = args.options?.onResponse;\n const callback: coreClient.RawResponseCallback = (\n rawResponse: coreClient.FullOperationResponse,\n flatResponse: unknown,\n ) => {\n currentRawResponse = rawResponse;\n providedCallback?.(rawResponse, flatResponse);\n };\n const updatedArgs = {\n ...args,\n options: {\n ...args.options,\n onResponse: callback,\n },\n };\n const flatResponse = await directSendOperation(updatedArgs, spec);\n return {\n flatResponse,\n rawResponse: {\n statusCode: currentRawResponse!.status,\n body: currentRawResponse!.parsedBody,\n headers: currentRawResponse!.headers.toJSON(),\n },\n };\n };\n\n const lro = createLroSpec({\n sendOperationFn,\n args: {\n resourceGroupName,\n resourceName,\n fabricName,\n protectionContainerName,\n replicationProtectionClusterName,\n options,\n },\n spec: purgeOperationSpec,\n });\n const poller = await createHttpPoller<\n ReplicationProtectionClustersPurgeResponse,\n OperationState<ReplicationProtectionClustersPurgeResponse>\n >(lro, {\n restoreFrom: options?.resumeFrom,\n intervalInMs: options?.updateIntervalInMs,\n resourceLocationConfig: \"location\",\n });\n await poller.poll();\n return poller;\n }\n\n /**\n * The operation to purge the replication protection cluster. This operation will force delete the\n * replication protection cluster. Use the remove operation on replication protection cluster to\n * perform a clean disable replication protection cluster.\n * @param resourceGroupName The name of the resource group where the recovery services vault is\n * present.\n * @param resourceName The name of the recovery services vault.\n * @param fabricName Fabric name.\n * @param protectionContainerName Protection container name.\n * @param replicationProtectionClusterName Replication protection cluster name.\n * @param options The options parameters.\n */\n async beginPurgeAndWait(\n resourceGroupName: string,\n resourceName: string,\n fabricName: string,\n protectionContainerName: string,\n replicationProtectionClusterName: string,\n options?: ReplicationProtectionClustersPurgeOptionalParams,\n ): Promise<ReplicationProtectionClustersPurgeResponse> {\n const poller = await this.beginPurge(\n resourceGroupName,\n resourceName,\n fabricName,\n protectionContainerName,\n replicationProtectionClusterName,\n options,\n );\n return poller.pollUntilDone();\n }\n\n /**\n * Operation to apply a new cluster recovery point on the Protection cluster.\n * @param resourceGroupName The name of the resource group where the recovery services vault is\n * present.\n * @param resourceName The name of the recovery services vault.\n * @param fabricName Fabric name.\n * @param protectionContainerName Protection container name.\n * @param replicationProtectionClusterName Replication protection cluster name.\n * @param applyClusterRecoveryPointInput Apply recovery point input.\n * @param options The options parameters.\n */\n async beginApplyRecoveryPoint(\n resourceGroupName: string,\n resourceName: string,\n fabricName: string,\n protectionContainerName: string,\n replicationProtectionClusterName: string,\n applyClusterRecoveryPointInput: ApplyClusterRecoveryPointInput,\n options?: ReplicationProtectionClustersApplyRecoveryPointOptionalParams,\n ): Promise<\n SimplePollerLike<\n OperationState<ReplicationProtectionClustersApplyRecoveryPointResponse>,\n ReplicationProtectionClustersApplyRecoveryPointResponse\n >\n > {\n const directSendOperation = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec,\n ): Promise<ReplicationProtectionClustersApplyRecoveryPointResponse> => {\n return this.client.sendOperationRequest(args, spec);\n };\n const sendOperationFn = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec,\n ) => {\n let currentRawResponse: coreClient.FullOperationResponse | undefined =\n undefined;\n const providedCallback = args.options?.onResponse;\n const callback: coreClient.RawResponseCallback = (\n rawResponse: coreClient.FullOperationResponse,\n flatResponse: unknown,\n ) => {\n currentRawResponse = rawResponse;\n providedCallback?.(rawResponse, flatResponse);\n };\n const updatedArgs = {\n ...args,\n options: {\n ...args.options,\n onResponse: callback,\n },\n };\n const flatResponse = await directSendOperation(updatedArgs, spec);\n return {\n flatResponse,\n rawResponse: {\n statusCode: currentRawResponse!.status,\n body: currentRawResponse!.parsedBody,\n headers: currentRawResponse!.headers.toJSON(),\n },\n };\n };\n\n const lro = createLroSpec({\n sendOperationFn,\n args: {\n resourceGroupName,\n resourceName,\n fabricName,\n protectionContainerName,\n replicationProtectionClusterName,\n applyClusterRecoveryPointInput,\n options,\n },\n spec: applyRecoveryPointOperationSpec,\n });\n const poller = await createHttpPoller<\n ReplicationProtectionClustersApplyRecoveryPointResponse,\n OperationState<ReplicationProtectionClustersApplyRecoveryPointResponse>\n >(lro, {\n restoreFrom: options?.resumeFrom,\n intervalInMs: options?.updateIntervalInMs,\n resourceLocationConfig: \"location\",\n });\n await poller.poll();\n return poller;\n }\n\n /**\n * Operation to apply a new cluster recovery point on the Protection cluster.\n * @param resourceGroupName The name of the resource group where the recovery services vault is\n * present.\n * @param resourceName The name of the recovery services vault.\n * @param fabricName Fabric name.\n * @param protectionContainerName Protection container name.\n * @param replicationProtectionClusterName Replication protection cluster name.\n * @param applyClusterRecoveryPointInput Apply recovery point input.\n * @param options The options parameters.\n */\n async beginApplyRecoveryPointAndWait(\n resourceGroupName: string,\n resourceName: string,\n fabricName: string,\n protectionContainerName: string,\n replicationProtectionClusterName: string,\n applyClusterRecoveryPointInput: ApplyClusterRecoveryPointInput,\n options?: ReplicationProtectionClustersApplyRecoveryPointOptionalParams,\n ): Promise<ReplicationProtectionClustersApplyRecoveryPointResponse> {\n const poller = await this.beginApplyRecoveryPoint(\n resourceGroupName,\n resourceName,\n fabricName,\n protectionContainerName,\n replicationProtectionClusterName,\n applyClusterRecoveryPointInput,\n options,\n );\n return poller.pollUntilDone();\n }\n\n /**\n * Operation to initiate commit failover of the replication protection cluster.\n * @param resourceGroupName The name of the resource group where the recovery services vault is\n * present.\n * @param resourceName The name of the recovery services vault.\n * @param fabricName Fabric name.\n * @param protectionContainerName Protection container name.\n * @param replicationProtectionClusterName Replication protection cluster name.\n * @param options The options parameters.\n */\n async beginFailoverCommit(\n resourceGroupName: string,\n resourceName: string,\n fabricName: string,\n protectionContainerName: string,\n replicationProtectionClusterName: string,\n options?: ReplicationProtectionClustersFailoverCommitOptionalParams,\n ): Promise<\n SimplePollerLike<\n OperationState<ReplicationProtectionClustersFailoverCommitResponse>,\n ReplicationProtectionClustersFailoverCommitResponse\n >\n > {\n const directSendOperation = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec,\n ): Promise<ReplicationProtectionClustersFailoverCommitResponse> => {\n return this.client.sendOperationRequest(args, spec);\n };\n const sendOperationFn = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec,\n ) => {\n let currentRawResponse: coreClient.FullOperationResponse | undefined =\n undefined;\n const providedCallback = args.options?.onResponse;\n const callback: coreClient.RawResponseCallback = (\n rawResponse: coreClient.FullOperationResponse,\n flatResponse: unknown,\n ) => {\n currentRawResponse = rawResponse;\n providedCallback?.(rawResponse, flatResponse);\n };\n const updatedArgs = {\n ...args,\n options: {\n ...args.options,\n onResponse: callback,\n },\n };\n const flatResponse = await directSendOperation(updatedArgs, spec);\n return {\n flatResponse,\n rawResponse: {\n statusCode: currentRawResponse!.status,\n body: currentRawResponse!.parsedBody,\n headers: currentRawResponse!.headers.toJSON(),\n },\n };\n };\n\n const lro = createLroSpec({\n sendOperationFn,\n args: {\n resourceGroupName,\n resourceName,\n fabricName,\n protectionContainerName,\n replicationProtectionClusterName,\n options,\n },\n spec: failoverCommitOperationSpec,\n });\n const poller = await createHttpPoller<\n ReplicationProtectionClustersFailoverCommitResponse,\n OperationState<ReplicationProtectionClustersFailoverCommitResponse>\n >(lro, {\n restoreFrom: options?.resumeFrom,\n intervalInMs: options?.updateIntervalInMs,\n resourceLocationConfig: \"location\",\n });\n await poller.poll();\n return poller;\n }\n\n /**\n * Operation to initiate commit failover of the replication protection cluster.\n * @param resourceGroupName The name of the resource group where the recovery services vault is\n * present.\n * @param resourceName The name of the recovery services vault.\n * @param fabricName Fabric name.\n * @param protectionContainerName Protection container name.\n * @param replicationProtectionClusterName Replication protection cluster name.\n * @param options The options parameters.\n */\n async beginFailoverCommitAndWait(\n resourceGroupName: string,\n resourceName: string,\n fabricName: string,\n protectionContainerName: string,\n replicationProtectionClusterName: string,\n options?: ReplicationProtectionClustersFailoverCommitOptionalParams,\n ): Promise<ReplicationProtectionClustersFailoverCommitResponse> {\n const poller = await this.beginFailoverCommit(\n resourceGroupName,\n resourceName,\n fabricName,\n protectionContainerName,\n replicationProtectionClusterName,\n options,\n );\n return poller.pollUntilDone();\n }\n\n /**\n * Track the results of an asynchronous operation on the replication protection cluster.\n * @param resourceGroupName The name of the resource group where the recovery services vault is\n * present.\n * @param resourceName The name of the recovery services vault.\n * @param fabricName Fabric name.\n * @param protectionContainerName Protection container name.\n * @param replicationProtectionClusterName Replication protection cluster name.\n * @param jobId job id to track.\n * @param options The options parameters.\n */\n getOperationResults(\n resourceGroupName: string,\n resourceName: string,\n fabricName: string,\n protectionContainerName: string,\n replicationProtectionClusterName: string,\n jobId: string,\n options?: ReplicationProtectionClustersGetOperationResultsOptionalParams,\n ): Promise<ReplicationProtectionClustersGetOperationResultsResponse> {\n return this.client.sendOperationRequest(\n {\n resourceGroupName,\n resourceName,\n fabricName,\n protectionContainerName,\n replicationProtectionClusterName,\n jobId,\n options,\n },\n getOperationResultsOperationSpec,\n );\n }\n\n /**\n * The operation to repair replication protection cluster.\n * @param resourceGroupName The name of the resource group where the recovery services vault is\n * present.\n * @param resourceName The name of the recovery services vault.\n * @param fabricName Fabric name.\n * @param protectionContainerName Protection container name.\n * @param replicationProtectionClusterName Replication protection cluster name.\n * @param options The options parameters.\n */\n async beginRepairReplication(\n resourceGroupName: string,\n resourceName: string,\n fabricName: string,\n protectionContainerName: string,\n replicationProtectionClusterName: string,\n options?: ReplicationProtectionClustersRepairReplicationOptionalParams,\n ): Promise<\n SimplePollerLike<\n OperationState<ReplicationProtectionClustersRepairReplicationResponse>,\n ReplicationProtectionClustersRepairReplicationResponse\n >\n > {\n const directSendOperation = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec,\n ): Promise<ReplicationProtectionClustersRepairReplicationResponse> => {\n return this.client.sendOperationRequest(args, spec);\n };\n const sendOperationFn = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec,\n ) => {\n let currentRawResponse: coreClient.FullOperationResponse | undefined =\n undefined;\n const providedCallback = args.options?.onResponse;\n const callback: coreClient.RawResponseCallback = (\n rawResponse: coreClient.FullOperationResponse,\n flatResponse: unknown,\n ) => {\n currentRawResponse = rawResponse;\n providedCallback?.(rawResponse, flatResponse);\n };\n const updatedArgs = {\n ...args,\n options: {\n ...args.options,\n onResponse: callback,\n },\n };\n const flatResponse = await directSendOperation(updatedArgs, spec);\n return {\n flatResponse,\n rawResponse: {\n statusCode: currentRawResponse!.status,\n body: currentRawResponse!.parsedBody,\n headers: currentRawResponse!.headers.toJSON(),\n },\n };\n };\n\n const lro = createLroSpec({\n sendOperationFn,\n args: {\n resourceGroupName,\n resourceName,\n fabricName,\n protectionContainerName,\n replicationProtectionClusterName,\n options,\n },\n spec: repairReplicationOperationSpec,\n });\n const poller = await createHttpPoller<\n ReplicationProtectionClustersRepairReplicationResponse,\n OperationState<ReplicationProtectionClustersRepairReplicationResponse>\n >(lro, {\n restoreFrom: options?.resumeFrom,\n intervalInMs: options?.updateIntervalInMs,\n resourceLocationConfig: \"location\",\n });\n await poller.poll();\n return poller;\n }\n\n /**\n * The operation to repair replication protection cluster.\n * @param resourceGroupName The name of the resource group where the recovery services vault is\n * present.\n * @param resourceName The name of the recovery services vault.\n * @param fabricName Fabric name.\n * @param protectionContainerName Protection container name.\n * @param replicationProtectionClusterName Replication protection cluster name.\n * @param options The options parameters.\n */\n async beginRepairReplicationAndWait(\n resourceGroupName: string,\n resourceName: string,\n fabricName: string,\n protectionContainerName: string,\n replicationProtectionClusterName: string,\n options?: ReplicationProtectionClustersRepairReplicationOptionalParams,\n ): Promise<ReplicationProtectionClustersRepairReplicationResponse> {\n const poller = await this.beginRepairReplication(\n resourceGroupName,\n resourceName,\n fabricName,\n protectionContainerName,\n replicationProtectionClusterName,\n options,\n );\n return poller.pollUntilDone();\n }\n\n /**\n * Operation to initiate a failover of the replication protection cluster.\n * @param resourceGroupName The name of the resource group where the recovery services vault is\n * present.\n * @param resourceName The name of the recovery services vault.\n * @param fabricName Fabric name.\n * @param protectionContainerName Protection container name.\n * @param replicationProtectionClusterName Replication protection cluster name.\n * @param failoverInput Cluster test failover input body.\n * @param options The options parameters.\n */\n async beginTestFailover(\n resourceGroupName: string,\n resourceName: string,\n fabricName: string,\n protectionContainerName: string,\n replicationProtectionClusterName: string,\n failoverInput: ClusterTestFailoverInput,\n options?: ReplicationProtectionClustersTestFailoverOptionalParams,\n ): Promise<\n SimplePollerLike<\n OperationState<ReplicationProtectionClustersTestFailoverResponse>,\n ReplicationProtectionClustersTestFailoverResponse\n >\n > {\n const directSendOperation = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec,\n ): Promise<ReplicationProtectionClustersTestFailoverResponse> => {\n return this.client.sendOperationRequest(args, spec);\n };\n const sendOperationFn = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec,\n ) => {\n let currentRawResponse: coreClient.FullOperationResponse | undefined =\n undefined;\n const providedCallback = args.options?.onResponse;\n const callback: coreClient.RawResponseCallback = (\n rawResponse: coreClient.FullOperationResponse,\n flatResponse: unknown,\n ) => {\n currentRawResponse = rawResponse;\n providedCallback?.(rawResponse, flatResponse);\n };\n const updatedArgs = {\n ...args,\n options: {\n ...args.options,\n onResponse: callback,\n },\n };\n const flatResponse = await directSendOperation(updatedArgs, spec);\n return {\n flatResponse,\n rawResponse: {\n statusCode: currentRawResponse!.status,\n body: currentRawResponse!.parsedBody,\n headers: currentRawResponse!.headers.toJSON(),\n },\n };\n };\n\n const lro = createLroSpec({\n sendOperationFn,\n args: {\n resourceGroupName,\n resourceName,\n fabricName,\n protectionContainerName,\n replicationProtectionClusterName,\n failoverInput,\n options,\n },\n spec: testFailoverOperationSpec,\n });\n const poller = await createHttpPoller<\n ReplicationProtectionClustersTestFailoverResponse,\n OperationState<ReplicationProtectionClustersTestFailoverResponse>\n >(lro, {\n restoreFrom: options?.resumeFrom,\n intervalInMs: options?.updateIntervalInMs,\n resourceLocationConfig: \"location\",\n });\n await poller.poll();\n return poller;\n }\n\n /**\n * Operation to initiate a failover of the replication protection cluster.\n * @param resourceGroupName The name of the resource group where the recovery services vault is\n * present.\n * @param resourceName The name of the recovery services vault.\n * @param fabricName Fabric name.\n * @param protectionContainerName Protection container name.\n * @param replicationProtectionClusterName Replication protection cluster name.\n * @param failoverInput Cluster test failover input body.\n * @param options The options parameters.\n */\n async beginTestFailoverAndWait(\n resourceGroupName: string,\n resourceName: string,\n fabricName: string,\n protectionContainerName: string,\n replicationProtectionClusterName: string,\n failoverInput: ClusterTestFailoverInput,\n options?: ReplicationProtectionClustersTestFailoverOptionalParams,\n ): Promise<ReplicationProtectionClustersTestFailoverResponse> {\n const poller = await this.beginTestFailover(\n resourceGroupName,\n resourceName,\n fabricName,\n protectionContainerName,\n replicationProtectionClusterName,\n failoverInput,\n options,\n );\n return poller.pollUntilDone();\n }\n\n /**\n * Operation to clean up the test failover of a replication protected cluster.\n * @param resourceGroupName The name of the resource group where the recovery services vault is\n * present.\n * @param resourceName The name of the recovery services vault.\n * @param fabricName Fabric name.\n * @param protectionContainerName Protection container name.\n * @param replicationProtectionClusterName Replication protection cluster name.\n * @param cleanupInput Test failover cleanup input.\n * @param options The options parameters.\n */\n async beginTestFailoverCleanup(\n resourceGroupName: string,\n resourceName: string,\n fabricName: string,\n protectionContainerName: string,\n replicationProtectionClusterName: string,\n cleanupInput: ClusterTestFailoverCleanupInput,\n options?: ReplicationProtectionClustersTestFailoverCleanupOptionalParams,\n ): Promise<\n SimplePollerLike<\n OperationState<ReplicationProtectionClustersTestFailoverCleanupResponse>,\n ReplicationProtectionClustersTestFailoverCleanupResponse\n >\n > {\n const directSendOperation = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec,\n ): Promise<ReplicationProtectionClustersTestFailoverCleanupResponse> => {\n return this.client.sendOperationRequest(args, spec);\n };\n const sendOperationFn = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec,\n ) => {\n let currentRawResponse: coreClient.FullOperationResponse | undefined =\n undefined;\n const providedCallback = args.options?.onResponse;\n const callback: coreClient.RawResponseCallback = (\n rawResponse: coreClient.FullOperationResponse,\n flatResponse: unknown,\n ) => {\n currentRawResponse = rawResponse;\n providedCallback?.(rawResponse, flatResponse);\n };\n const updatedArgs = {\n ...args,\n options: {\n ...args.options,\n onResponse: callback,\n },\n };\n const flatResponse = await directSendOperation(updatedArgs, spec);\n return {\n flatResponse,\n rawResponse: {\n statusCode: currentRawResponse!.status,\n body: currentRawResponse!.parsedBody,\n headers: currentRawResponse!.headers.toJSON(),\n },\n };\n };\n\n const lro = createLroSpec({\n sendOperationFn,\n args: {\n resourceGroupName,\n resourceName,\n fabricName,\n protectionContainerName,\n replicationProtectionClusterName,\n cleanupInput,\n options,\n },\n spec: testFailoverCleanupOperationSpec,\n });\n const poller = await createHttpPoller<\n ReplicationProtectionClustersTestFailoverCleanupResponse,\n OperationState<ReplicationProtectionClustersTestFailoverCleanupResponse>\n >(lro, {\n restoreFrom: options?.resumeFrom,\n intervalInMs: options?.updateIntervalInMs,\n resourceLocationConfig: \"location\",\n });\n await poller.poll();\n return poller;\n }\n\n /**\n * Operation to clean up the test failover of a replication protected cluster.\n * @param resourceGroupName The name of the resource group where the recovery services vault is\n * present.\n * @param resourceName The name of the recovery services vault.\n * @param fabricName Fabric name.\n * @param protectionContainerName Protection container name.\n * @param replicationProtectionClusterName Replication protection cluster name.\n * @param cleanupInput Test failover cleanup input.\n * @param options The options parameters.\n */\n async beginTestFailoverCleanupAndWait(\n resourceGroupName: string,\n resourceName: string,\n fabricName: string,\n protectionContainerName: string,\n replicationProtectionClusterName: string,\n cleanupInput: ClusterTestFailoverCleanupInput,\n options?: ReplicationProtectionClustersTestFailoverCleanupOptionalParams,\n ): Promise<ReplicationProtectionClustersTestFailoverCleanupResponse> {\n const poller = await this.beginTestFailoverCleanup(\n resourceGroupName,\n resourceName,\n fabricName,\n protectionContainerName,\n replicationProtectionClusterName,\n cleanupInput,\n options,\n );\n return poller.pollUntilDone();\n }\n\n /**\n * Operation to initiate a failover of the replication protection cluster.\n * @param resourceGroupName The name of the resource group where the recovery services vault is\n * present.\n * @param resourceName The name of the recovery services vault.\n * @param fabricName Fabric name.\n * @param protectionContainerName Protection container name.\n * @param replicationProtectionClusterName Replication protection cluster name.\n * @param failoverInput Failover input.\n * @param options The options parameters.\n */\n async beginUnplannedFailover(\n resourceGroupName: string,\n resourceName: string,\n fabricName: string,\n protectionContainerName: string,\n replicationProtectionClusterName: string,\n failoverInput: ClusterUnplannedFailoverInput,\n options?: ReplicationProtectionClustersUnplannedFailoverOptionalParams,\n ): Promise<\n SimplePollerLike<\n OperationState<ReplicationProtectionClustersUnplannedFailoverResponse>,\n ReplicationProtectionClustersUnplannedFailoverResponse\n >\n > {\n const directSendOperation = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec,\n ): Promise<ReplicationProtectionClustersUnplannedFailoverResponse> => {\n return this.client.sendOperationRequest(args, spec);\n };\n const sendOperationFn = async (\n args: coreClient.OperationArguments,\n spec: coreClient.OperationSpec,\n ) => {\n let currentRawResponse: coreClient.FullOperationResponse | undefined =\n undefined;\n const providedCallback = args.options?.onResponse;\n const callback: coreClient.RawResponseCallback = (\n rawResponse: coreClient.FullOperationResponse,\n flatResponse: unknown,\n ) => {\n currentRawResponse = rawResponse;\n providedCallback?.(rawResponse, flatResponse);\n };\n const updatedArgs = {\n ...args,\n options: {\n ...args.options,\n onResponse: callback,\n },\n };\n const flatResponse = await directSendOperation(updatedArgs, spec);\n return {\n flatResponse,\n rawResponse: {\n statusCode: currentRawResponse!.status,\n body: currentRawResponse!.parsedBody,\n headers: currentRawResponse!.headers.toJSON(),\n },\n };\n };\n\n const lro = createLroSpec({\n sendOperationFn,\n args: {\n resourceGroupName,\n resourceName,\n fabricName,\n protectionContainerName,\n replicationProtectionClusterName,\n failoverInput,\n options,\n },\n spec: unplannedFailoverOperationSpec,\n });\n const poller = await createHttpPoller<\n ReplicationProtectionClustersUnplannedFailoverResponse,\n OperationState<ReplicationProtectionClustersUnplannedFailoverResponse>\n >(lro, {\n restoreFrom: options?.resumeFrom,\n intervalInMs: options?.updateIntervalInMs,\n resourceLocationConfig: \"location\",\n });\n await poller.poll();\n return poller;\n }\n\n /**\n * Operation to initiate a failover of the replication protection cluster.\n * @param resourceGroupName The name of the resource group where the recovery services vault is\n * present.\n * @param resourceName The name of the recovery services vault.\n * @param fabricName Fabric name.\n * @param protectionContainerName Protection container name.\n * @param replicationProtectionClusterName Replication protection cluster name.\n * @param failoverInput Failover input.\n * @param options The options parameters.\n */\n async beginUnplannedFailoverAndWait(\n resourceGroupName: string,\n resourceName: string,\n fabricName: string,\n protectionContainerName: string,\n replicationProtectionClusterName: string,\n failoverInput: ClusterUnplannedFailoverInput,\n options?: ReplicationProtectionClustersUnplannedFailoverOptionalParams,\n ): Promise<ReplicationProtectionClustersUnplannedFailoverResponse> {\n const poller = await this.beginUnplannedFailover(\n resourceGroupName,\n resourceName,\n fabricName,\n protectionContainerName,\n replicationProtectionClusterName,\n failoverInput,\n options,\n );\n return poller.pollUntilDone();\n }\n\n /**\n * Gets the list of ASR replication protected clusters in the vault.\n * @param resourceGroupName The name of the resource group where the recovery services vault is\n * present.\n * @param resourceName The name of the recovery services vault.\n * @param options The options parameters.\n */\n private _list(\n resourceGroupName: string,\n resourceName: string,\n options?: ReplicationProtectionClustersListOptionalParams,\n ): Promise<ReplicationProtectionClustersListResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, resourceName, options },\n listOperationSpec,\n );\n }\n\n /**\n * ListByReplicationProtectionContainersNext\n * @param resourceGroupName The name of the resource group where the recovery services vault is\n * present.\n * @param resourceName The name of the recovery services vault.\n * @param fabricName Fabric name.\n * @param protectionContainerName Protection container name.\n * @param nextLink The nextLink from the previous successful call to the\n * ListByReplicationProtectionContainers method.\n * @param options The options parameters.\n */\n private _listByReplicationProtectionContainersNext(\n resourceGroupName: string,\n resourceName: string,\n fabricName: string,\n protectionContainerName: string,\n nextLink: string,\n options?: ReplicationProtectionClustersListByReplicationProtectionContainersNextOptionalParams,\n ): Promise<ReplicationProtectionClustersListByReplicationProtectionContainersNextResponse> {\n return this.client.sendOperationRequest(\n {\n resourceGroupName,\n resourceName,\n fabricName,\n protectionContainerName,\n nextLink,\n options,\n },\n listByReplicationProtectionContainersNextOperationSpec,\n );\n }\n\n /**\n * ListNext\n * @param resourceGroupName The name of the resource group where the recovery services vault is\n * present.\n * @param resourceName The name of the recovery services vault.\n * @param nextLink The nextLink from the previous successful call to the List method.\n * @param options The options parameters.\n */\n private _listNext(\n resourceGroupName: string,\n resourceName: string,\n nextLink: string,\n options?: ReplicationProtectionClustersListNextOptionalParams,\n ): Promise<ReplicationProtectionClustersListNextResponse> {\n return this.client.sendOperationRequest(\n { resourceGroupName, resourceName, nextLink, options },\n listNextOperationSpec,\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst listByReplicationProtectionContainersOperationSpec: coreClient.OperationSpec =\n {\n path: \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionClusters\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ReplicationProtectionClusterCollection,\n },\n default: {\n bodyMapper: Mappers.ErrorResponse,\n },\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.resourceGroupName,\n Parameters.subscriptionId,\n Parameters.resourceName1,\n Parameters.fabricName1,\n Parameters.protectionContainerName1,\n ],\n headerParameters: [Parameters.accept],\n serializer,\n };\nconst getOperationSpec: coreClient.OperationSpec = {\n path: \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionClusters/{replicationProtectionClusterName}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ReplicationProtectionCluster,\n },\n default: {\n bodyMapper: Mappers.ErrorResponse,\n },\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.resourceGroupName,\n Parameters.subscriptionId,\n Parameters.resourceName1,\n Parameters.fabricName1,\n Parameters.protectionContainerName1,\n Parameters.replicationProtectionClusterName,\n ],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst createOperationSpec: coreClient.OperationSpec = {\n path: \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionClusters/{replicationProtectionClusterName}\",\n httpMethod: \"PUT\",\n responses: {\n 200: {\n bodyMapper: Mappers.ReplicationProtectionCluster,\n },\n 201: {\n bodyMapper: Mappers.ReplicationProtectionCluster,\n },\n 202: {\n bodyMapper: Mappers.ReplicationProtectionCluster,\n },\n 204: {\n bodyMapper: Mappers.ReplicationProtectionCluster,\n },\n default: {\n bodyMapper: Mappers.ErrorResponse,\n },\n },\n requestBody: Parameters.replicationProtectionCluster,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.resourceGroupName,\n Parameters.subscriptionId,\n Parameters.resourceName,\n Parameters.fabricName1,\n Parameters.protectionContainerName1,\n Parameters.replicationProtectionClusterName,\n ],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer,\n};\nconst purgeOperationSpec: coreClient.OperationSpec = {\n path: \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionClusters/{replicationProtectionClusterName}\",\n httpMethod: \"DELETE\",\n responses: {\n 200: {\n headersMapper: Mappers.ReplicationProtectionClustersPurgeHeaders,\n },\n 201: {\n headersMapper: Mappers.ReplicationProtectionClustersPurgeHeaders,\n },\n 202: {\n headersMapper: Mappers.ReplicationProtectionClustersPurgeHeaders,\n },\n 204: {\n headersMapper: Mappers.ReplicationProtectionClustersPurgeHeaders,\n },\n default: {\n bodyMapper: Mappers.ErrorResponse,\n },\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.resourceGroupName,\n Parameters.subscriptionId,\n Parameters.resourceName,\n Parameters.fabricName1,\n Parameters.protectionContainerName1,\n Parameters.replicationProtectionClusterName,\n ],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst applyRecoveryPointOperationSpec: coreClient.OperationSpec = {\n path: \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionClusters/{replicationProtectionClusterName}/applyRecoveryPoint\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: Mappers.ReplicationProtectionCluster,\n },\n 201: {\n bodyMapper: Mappers.ReplicationProtectionCluster,\n },\n 202: {\n bodyMapper: Mappers.ReplicationProtectionCluster,\n },\n 204: {\n bodyMapper: Mappers.ReplicationProtectionCluster,\n },\n default: {\n bodyMapper: Mappers.ErrorResponse,\n },\n },\n requestBody: Parameters.applyClusterRecoveryPointInput,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.resourceGroupName,\n Parameters.subscriptionId,\n Parameters.resourceName1,\n Parameters.fabricName1,\n Parameters.protectionContainerName1,\n Parameters.replicationProtectionClusterName,\n ],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer,\n};\nconst failoverCommitOperationSpec: coreClient.OperationSpec = {\n path: \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionClusters/{replicationProtectionClusterName}/failoverCommit\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: Mappers.ReplicationProtectionCluster,\n },\n 201: {\n bodyMapper: Mappers.ReplicationProtectionCluster,\n },\n 202: {\n bodyMapper: Mappers.ReplicationProtectionCluster,\n },\n 204: {\n bodyMapper: Mappers.ReplicationProtectionCluster,\n },\n default: {\n bodyMapper: Mappers.ErrorResponse,\n },\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.resourceGroupName,\n Parameters.subscriptionId,\n Parameters.resourceName1,\n Parameters.fabricName1,\n Parameters.protectionContainerName1,\n Parameters.replicationProtectionClusterName,\n ],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst getOperationResultsOperationSpec: coreClient.OperationSpec = {\n path: \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionClusters/{replicationProtectionClusterName}/operationResults/{jobId}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ReplicationProtectionCluster,\n },\n default: {\n bodyMapper: Mappers.ErrorResponse,\n },\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.resourceGroupName,\n Parameters.subscriptionId,\n Parameters.resourceName1,\n Parameters.fabricName1,\n Parameters.protectionContainerName1,\n Parameters.replicationProtectionClusterName,\n Parameters.jobId,\n ],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst repairReplicationOperationSpec: coreClient.OperationSpec = {\n path: \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionClusters/{replicationProtectionClusterName}/repairReplication\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: Mappers.ReplicationProtectionCluster,\n },\n 201: {\n bodyMapper: Mappers.ReplicationProtectionCluster,\n },\n 202: {\n bodyMapper: Mappers.ReplicationProtectionCluster,\n },\n 204: {\n bodyMapper: Mappers.ReplicationProtectionCluster,\n },\n default: {\n bodyMapper: Mappers.ErrorResponse,\n },\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.resourceGroupName,\n Parameters.subscriptionId,\n Parameters.resourceName1,\n Parameters.fabricName1,\n Parameters.protectionContainerName1,\n Parameters.replicationProtectionClusterName,\n ],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst testFailoverOperationSpec: coreClient.OperationSpec = {\n path: \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionClusters/{replicationProtectionClusterName}/testFailover\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: Mappers.ReplicationProtectionCluster,\n },\n 201: {\n bodyMapper: Mappers.ReplicationProtectionCluster,\n },\n 202: {\n bodyMapper: Mappers.ReplicationProtectionCluster,\n },\n 204: {\n bodyMapper: Mappers.ReplicationProtectionCluster,\n },\n default: {\n bodyMapper: Mappers.ErrorResponse,\n },\n },\n requestBody: Parameters.failoverInput2,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.resourceGroupName,\n Parameters.subscriptionId,\n Parameters.resourceName1,\n Parameters.fabricName1,\n Parameters.protectionContainerName1,\n Parameters.replicationProtectionClusterName,\n ],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer,\n};\nconst testFailoverCleanupOperationSpec: coreClient.OperationSpec = {\n path: \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionClusters/{replicationProtectionClusterName}/testFailoverCleanup\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: Mappers.ReplicationProtectionCluster,\n },\n 201: {\n bodyMapper: Mappers.ReplicationProtectionCluster,\n },\n 202: {\n bodyMapper: Mappers.ReplicationProtectionCluster,\n },\n 204: {\n bodyMapper: Mappers.ReplicationProtectionCluster,\n },\n default: {\n bodyMapper: Mappers.ErrorResponse,\n },\n },\n requestBody: Parameters.cleanupInput1,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.resourceGroupName,\n Parameters.subscriptionId,\n Parameters.resourceName1,\n Parameters.fabricName1,\n Parameters.protectionContainerName1,\n Parameters.replicationProtectionClusterName,\n ],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer,\n};\nconst unplannedFailoverOperationSpec: coreClient.OperationSpec = {\n path: \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionClusters/{replicationProtectionClusterName}/unplannedFailover\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: Mappers.ReplicationProtectionCluster,\n },\n 201: {\n bodyMapper: Mappers.ReplicationProtectionCluster,\n },\n 202: {\n bodyMapper: Mappers.ReplicationProtectionCluster,\n },\n 204: {\n bodyMapper: Mappers.ReplicationProtectionCluster,\n },\n default: {\n bodyMapper: Mappers.ErrorResponse,\n },\n },\n requestBody: Parameters.failoverInput3,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.$host,\n Parameters.resourceGroupName,\n Parameters.subscriptionId,\n Parameters.resourceName1,\n Parameters.fabricName1,\n Parameters.protectionContainerName1,\n Parameters.replicationProtectionClusterName,\n ],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer,\n};\nconst listOperationSpec: coreClient.OperationSpec = {\n path: \"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectionClusters\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ReplicationProtectionClusterCollection,\n },\n default: {\n bodyMapper: Mappers.ErrorResponse,\n },\n },\n queryParameters: [\n Parameters.apiVersion,\n Parameters.filter,\n Parameters.skipToken,\n ],\n urlParameters: [\n Parameters.$host,\n Parameters.resourceGroupName,\n Parameters.subscriptionId,\n Parameters.resourceName1,\n ],\n headerParameters: [Parameters.accept],\n serializer,\n};\nconst listByReplicationProtectionContainersNextOperationSpec: coreClient.OperationSpec =\n {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ReplicationProtectionClusterCollection,\n },\n default: {\n bodyMapper: Mappers.ErrorResponse,\n },\n },\n urlParameters: [\n Parameters.$host,\n Parameters.resourceGroupName,\n Parameters.subscriptionId,\n Parameters.nextLink,\n Parameters.resourceName1,\n Parameters.fabricName1,\n Parameters.protectionContainerName1,\n ],\n headerParameters: [Parameters.accept],\n serializer,\n };\nconst listNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ReplicationProtectionClusterCollection,\n },\n default: {\n bodyMapper: Mappers.ErrorResponse,\n },\n },\n urlParameters: [\n Parameters.$host,\n Parameters.resourceGroupName,\n Parameters.subscriptionId,\n Parameters.nextLink,\n Parameters.resourceName1,\n ],\n headerParameters: [Parameters.accept],\n serializer,\n};\n"]}